@charset "UTF-8";
:root {
  --header-height: 112px;
}

@media screen and (max-width: 768px) {
  :root {
    --header-height: min(17.0666666667vw, 64px);
    --header-height: 17.0666666667vw;
  }
}
@media screen and (max-width: 768px) {
  .tit_kv {
    line-height: 1.9;
  }
}
.txt_lead {
  text-align: center;
  font-size: 18px;
  line-height: 2;
}
@media screen and (max-width: 1080px) {
  .txt_lead {
    font-size: min(1.7595307918vw, 18px);
  }
}
@media screen and (max-width: 768px) {
  .txt_lead {
    font-size: min(4.2666666667vw, 18px);
    text-align: left;
  }
}

main .en {
  color: #B90101;
  font-family: "inter", sans-serif;
  font-weight: 700;
}

.ul_anchor {
  margin-top: 34px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0 min(1em, 30px);
}
.ul_anchor li {
  width: 33.3333333333%;
}
.ul_anchor li a {
  width: 100%;
  padding: 1.2em 1.2em 1.4em;
  display: block;
  border: 2px solid #e1e1e1;
  border-radius: 4px;
  position: relative;
  line-height: 1;
}
.ul_anchor li a::after {
  content: "";
  display: block;
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  -webkit-mask: url(../img/common/icon_arrow_hori.svg);
          mask: url(../img/common/icon_arrow_hori.svg);
  background-color: #fff;
  -webkit-mask-size: 100%;
          mask-size: 100%;
  vertical-align: middle;
  position: absolute;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  background-color: #000;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 1em;
  margin: auto;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
@media screen and (max-width: 768px) {
  .ul_anchor li a::after {
    width: min(3.7333333333vw, 16px);
    height: min(3.7333333333vw, 16px);
  }
}
.ul_anchor li a .en {
  font-size: min(1.3685239492vw, 14px);
}
.ul_anchor li a .title {
  margin-top: 0.7em;
  font-size: min(1.7595307918vw, 18px);
  font-family: "ZenKakuGothicNew-Medium", serif;
}
@media screen and (min-width: 769px) {
  .ul_anchor li a:hover {
    border-color: #B90101;
    background: #B90101;
  }
  .ul_anchor li a:hover .en, .ul_anchor li a:hover .title {
    color: #fff;
  }
  .ul_anchor li a:hover::after {
    background-color: #fff;
  }
}
@media screen and (max-width: 1023px) {
  .ul_anchor {
    margin-top: 1em;
    gap: 1em 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .ul_anchor li {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .ul_anchor {
    margin-top: 1.8em;
    gap: 1em 0;
  }
  .ul_anchor li a {
    padding: 1.2em;
  }
  .ul_anchor li a::after {
    right: 1.1em;
  }
  .ul_anchor li a .en {
    font-size: min(3.2vw, 14px);
  }
  .ul_anchor li a .title {
    margin-top: 0.4em;
    font-size: min(4.2666666667vw, 18px);
  }
}

.tit_left span .box {
  padding: 0.45em 0.7em;
  font-size: min(1.5640273705vw, 16px);
  font-weight: 500;
  display: inline-block;
  line-height: 1;
  border: 1px solid #000;
  position: relative;
  left: 1em;
  top: -0.2em;
}
@media screen and (max-width: 768px) {
  .tit_left span .box {
    padding: 0.45em 0.5em;
    font-size: min(3.7333333333vw, 16px);
    left: 0.7em;
    top: -0.35em;
  }
}

.content {
  margin-top: 100px;
}
.content .inbox {
  margin-top: 20px;
  padding: 60px min(4.5454545455vw, 60px);
  background: #fff;
}
.content .title {
  font-size: 24px;
}
.content .text {
  margin-top: 20px;
  font-size: 18px;
  line-height: 2;
}
.content .image {
  width: min(86.0215053763vw, 880px);
  margin: 35px auto 0;
}
@media screen and (max-width: 1023px) {
  .content {
    margin-top: min(9.7751710655vw, 100px);
  }
  .content .title {
    font-size: min(2.3460410557vw, 24px);
  }
  .content .text {
    margin-top: 20px;
    font-size: min(1.7595307918vw, 18px);
    line-height: 2;
  }
  .content .image {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .content {
    margin-top: 3.7em;
  }
  .content .inbox {
    margin-top: 0.9em;
    padding: 2.3em 6%;
  }
  .content .title {
    font-size: min(5.3333333333vw, 24px);
    line-height: 1.8;
  }
  .content .text {
    margin-top: 0.8em;
    font-size: min(4.2666666667vw, 18px);
  }
  .content .title,
  .content .text {
    padding: 0 2%;
  }
  .content .image {
    margin-top: 1.4em;
  }
}

.txt_att {
  padding-left: 0.8em;
  color: #9E9E9E;
  position: relative;
  font-size: 14px;
}
.txt_att::before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}
.txt_att span {
  font-size: 12px;
}
@media screen and (max-width: 1023px) {
  .txt_att {
    font-size: min(1.3685239492vw, 14px);
  }
  .txt_att span {
    font-size: min(1.1730205279vw, 12px);
  }
}
@media screen and (max-width: 768px) {
  .txt_att {
    font-size: min(3.2vw, 14px);
  }
}

.ol_flow {
  margin-top: 60px;
  padding: 60px 0 0 min(3.0303030303vw, 40px);
  position: relative;
  border-top: 1px solid #e1e1e1;
}
.ol_flow::before {
  content: "";
  width: 1px;
  height: calc(100% - 60px);
  display: block;
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAAAXNSR0IArs4c6QAAABpJREFUGFdjnDdv3v+kpCRGBgYGBjABAygcAI3ZBAQVheorAAAAAElFTkSuQmCC) repeat;
  position: absolute;
  top: 70px;
  left: 3px;
}
.ol_flow > li:nth-child(2) {
  margin-top: 57px;
}
.ol_flow > li:nth-child(3), .ol_flow > li:nth-child(4) {
  margin-top: 50px;
}
.ol_flow > li .tit_flow span {
  display: block;
}
.ol_flow > li .tit_flow .en {
  position: relative;
  font-size: 16px;
}
.ol_flow > li .tit_flow .en::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  background: #B90101;
  border-radius: 50%;
  position: absolute;
  top: 10px;
  left: calc(min(3.0303030303vw, 40px) * -1);
}
.ol_flow > li .tit_flow .jp {
  font-size: 24px;
  font-family: "inter", "ZenKakuGothicNew-Bold", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.ol_flow > li .text {
  font-size: 16px;
}
@media screen and (max-width: 1023px) {
  .ol_flow {
    padding-left: min(3.9100684262vw, 40px);
  }
  .ol_flow > li:nth-child(2), .ol_flow > li:nth-child(3), .ol_flow > li:nth-child(4) {
    margin-top: min(4.8875855327vw, 50px);
  }
  .ol_flow > li .tit_flow .en {
    font-size: min(1.5640273705vw, 16px);
  }
  .ol_flow > li .tit_flow .en::before {
    left: calc(min(3.9100684262vw, 40px) * -1);
  }
  .ol_flow > li .tit_flow .jp {
    font-size: min(2.3460410557vw, 24px);
  }
  .ol_flow > li .text {
    font-size: min(1.5640273705vw, 16px);
  }
}
@media screen and (max-width: 768px) {
  .ol_flow {
    margin-top: 2em;
    padding: 1.9em 0 0 1.5em;
  }
  .ol_flow::before {
    height: calc(100% - 2.8em);
    top: 2.8em;
  }
  .ol_flow > li:nth-child(2) {
    margin-top: 1.3em;
  }
  .ol_flow > li:nth-child(3), .ol_flow > li:nth-child(4) {
    margin-top: 2em;
  }
  .ol_flow > li .tit_flow .en {
    font-size: min(3.7333333333vw, 16px);
  }
  .ol_flow > li .tit_flow .en::before {
    left: -1.75em;
  }
  .ol_flow > li .tit_flow .jp {
    margin-top: -0.3em;
    font-size: min(5.3333333333vw, 24px);
  }
  .ol_flow > li .text {
    margin-top: 0.6em;
    padding: 0;
    font-size: min(3.7333333333vw, 16px);
  }
  .ol_flow > li:first-child .text {
    font-size: min(4.2666666667vw, 16px);
  }
}
.ol_flow .flex_wrap {
  margin-top: 30px;
}
.ol_flow .flex_wrap .box_text {
  width: calc(100% - min(30.303030303vw, 400px));
}
.ol_flow .flex_wrap .box_img {
  width: min(30.303030303vw, 400px);
}
.ol_flow .flex_wrap .box .title {
  font-size: 18px;
}
.ol_flow .flex_wrap .box .dl_flow dt {
  margin-top: 15px;
}
.ol_flow .flex_wrap .box .dl_flow dd {
  margin-bottom: 25px;
}
.ol_flow .flex_wrap .box.image02 {
  margin-top: 30px;
}
.ol_flow .flex_wrap .dl_flow dt {
  font-size: 20px;
  font-family: "inter", "ZenKakuGothicNew-Bold", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #B90101;
}
.ol_flow .flex_wrap .dl_flow dt span {
  font-size: 15px;
  position: relative;
  top: -2px;
}
.ol_flow .flex_wrap.step01 {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 1023px) {
  .ol_flow .flex_wrap .box_text {
    width: 55.5555555556%;
  }
  .ol_flow .flex_wrap .box_img {
    width: 37.037037037%;
  }
  .ol_flow .flex_wrap .box .title {
    font-size: min(1.7595307918vw, 18px);
  }
  .ol_flow .flex_wrap .dl_flow dt {
    font-size: min(1.9550342131vw, 20px);
  }
  .ol_flow .flex_wrap .dl_flow dt span {
    font-size: min(1.4662756598vw, 15px);
  }
}
@media screen and (max-width: 768px) {
  .ol_flow .flex_wrap {
    margin-top: 1.4em;
  }
  .ol_flow .flex_wrap .box_text,
  .ol_flow .flex_wrap .box_img {
    width: 100%;
    display: contents;
  }
  .ol_flow .flex_wrap .box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .ol_flow .flex_wrap .box .title {
    padding: 0;
    font-size: min(4.2666666667vw, 18px);
  }
  .ol_flow .flex_wrap .box.text01 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .ol_flow .flex_wrap .box.image01 {
    margin: 0.2em 0 0.5em;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .ol_flow .flex_wrap .box.text02 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .ol_flow .flex_wrap .box.image02 {
    margin: 0.2em 0 0.5em;
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
  .ol_flow .flex_wrap .box .dl_flow dt {
    margin-top: 0.6em;
    font-size: min(4.8vw, 20px);
  }
  .ol_flow .flex_wrap .box .dl_flow dt span {
    font-size: min(3.7333333333vw, 15px);
  }
  .ol_flow .flex_wrap .box .dl_flow dd {
    margin: -0.2em 0 0.9em;
    font-size: min(3.7333333333vw, 16px);
  }
}
.ol_flow .ul_img {
  margin-top: 1.2em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0 12px;
}
.ol_flow .ul_img li {
  text-align: center;
}
.ol_flow .ul_img li .txt {
  margin-top: 0.8em;
}
@media screen and (max-width: 768px) {
  .ol_flow .ul_img {
    margin-top: 0.8em;
    gap: 0.8em 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .ol_flow .ul_img li {
    width: 100%;
  }
  .ol_flow .ul_img li .txt {
    margin-top: 0.4em;
    font-size: min(3.7333333333vw, 14px);
  }
}
.ol_flow .withimg {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.ol_flow .withimg .box_text {
  width: calc((100% - 24px) / 3 * 2);
}
.ol_flow .withimg .image {
  width: calc((100% - 24px) / 3);
}
.ol_flow .withimg .image .txt {
  margin-top: 0.8em;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .ol_flow .withimg .box_text,
  .ol_flow .withimg .image {
    width: 100%;
  }
  .ol_flow .withimg .image {
    margin-top: 1em;
  }
  .ol_flow .withimg .image .txt {
    margin-top: 0.4em;
    font-size: min(3.7333333333vw, 14px);
  }
}

.box_movie {
  margin: 60px auto 0;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.box_movie .movie {
  width: 47.2222222222%;
  text-align: center;
}
.box_movie .movie .txt {
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  .box_movie {
    margin: 2.6em auto 0;
    gap: 1em 0;
  }
  .box_movie .movie {
    width: 100%;
  }
  .box_movie .movie .txt {
    margin-top: 0.4em;
    font-size: min(3.7333333333vw, 14px);
  }
}
/*# sourceMappingURL=flow.css.map */