@charset "UTF-8";
span {
  line-height: inherit;
  font-weight: inherit;
}

.contentWrap {
  padding: 0;
  background-color: #F3FBFF;
}
.contentWrap section {
  width: 100%;
}

.contentTitle {
  color: #004A9F;
  font-weight: 900;
  line-height: 1.4;
  font-size: min(6.5vw, 45px);
  margin-bottom: 1em;
}
@media (min-width: 1000px) {
  .contentTitle {
    font-size: min(3vw, 55px);
  }
}

/*PC2カラム・片側コンテンツ追従*/
.stickyColumn .inner {
  max-width: 760px;
  padding: 10.42% 4.8%;
  text-align: center;
  position: relative;
}
@media (min-width: 768px) {
  .stickyColumn .inner {
    padding-left: 0;
    padding-right: 0;
  }
}
@media (min-width: 1000px) {
  .stickyColumn .inner {
    padding-bottom: 0;
  }
}
@media (min-width: 1000px) {
  .stickyColumn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .stickyColumn > div {
    width: 50%;
  }
}

.sideSticky {
  position: relative;
  background-color: #00C1DF;
}
@media (min-width: 1000px) {
  .sideSticky {
    background-color: #F3FBFF;
    position: sticky;
    z-index: 1;
    top: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: hidden;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
    margin-bottom: 16px;
  }
  .sideSticky::after {
    z-index: -1;
    position: absolute;
    top: 0;
    right: 0;
    content: "";
    width: 100%;
    height: 100%;
    background-color: #00C1DF;
    border-top-right-radius: 20px;
  }
}
@media (min-width: 1000px) {
  .sideSticky .inner {
    padding-bottom: 10.42%;
  }
}

/*横スライド*/
.slideColumn {
  position: relative;
  z-index: 1;
}
.slideColumn::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: min(9vw, 52px);
  left: 0;
  width: 100%;
  height: calc(100% - min(9vw, 52px));
  background-color: #DFF4FF;
}
@media (min-width: 1000px) {
  .slideColumn::after {
    top: min(11.5vw, 160px);
    height: calc(100% - min(11.5vw, 160px));
  }
}
.slideColumn .inner {
  max-width: none;
  text-align: center;
  padding-top: 20px;
  padding-bottom: 40px;
}
@media (min-width: 1000px) {
  .slideColumn .inner {
    padding-top: min(9.5vw, 120px);
    padding-bottom: 90px;
  }
}
.slideColumn .contentTitle {
  margin-bottom: 0.5em;
}
.slideColumn .point {
  display: inline-block;
  letter-spacing: 0.05em;
  line-height: 1.2;
  color: #000000;
  font-size: min(3.5vw, 20px);
  margin-bottom: 1em;
  font-weight: 700;
  padding: 0.3em 0 0.3em 4.3em;
  background-image: url(../img/top/icon-point.svg);
  background-position: left top;
  background-repeat: no-repeat;
  background-size: 4em auto;
}
@media (min-width: 1000px) {
  .slideColumn .point {
    font-size: min(1.8vw, 24px);
  }
}
.slideColumn .btn {
  margin: 5px;
}
.slideColumn .btn a {
  background-color: #00B7EB;
  font-size: 16px;
  min-width: initial;
  padding: 13px 10vw;
  min-width: 10em;
}
.slideColumn .btn a::before {
  content: none;
}
@media (min-width: 768px) {
  .slideColumn .btn a {
    font-size: 20px;
    padding: 20px;
    width: 268px;
  }
}
.slideColumn .slideArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 4em;
  /*左右の矢印*/
  /*ページャードット*/
}
@media (max-width: 480px) {
  .slideColumn .slideArea {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
}
.slideColumn .slideArea .slick-slide {
  background-color: #ffffff;
  border-radius: 20px;
  margin: min(1vw, 14px);
}
.slideColumn .slideArea h3 {
  line-height: 1.25;
  font-weight: 700;
  font-size: min(3vw, 28px);
  padding: 0.5em;
  height: 3em;
}
@media (min-width: 1000px) {
  .slideColumn .slideArea h3 {
    font-size: min(1.5vw, 28px);
  }
}
@media (min-width: 768px) {
  .slideColumn .slideArea h3 {
    font-size: min(2vw, 28px);
  }
}
@media (max-width: 480px) {
  .slideColumn .slideArea h3 {
    font-size: min(5vw, 28px);
  }
}
.slideColumn .slideArea .slick-prev,
.slideColumn .slideArea .slick-next {
  z-index: 99;
  width: 16px;
  height: 27px;
}
@media (min-width: 768px) {
  .slideColumn .slideArea .slick-prev,
  .slideColumn .slideArea .slick-next {
    width: 32px;
    height: 54px;
  }
}
.slideColumn .slideArea .slick-prev::before,
.slideColumn .slideArea .slick-next::before {
  content: "";
}
.slideColumn .slideArea .slick-prev:hover,
.slideColumn .slideArea .slick-next:hover {
  opacity: 0.7;
}
.slideColumn .slideArea .slick-next {
  background-image: url(../img/top/slide-arrow_right.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
@media (min-width: 768px) {
  .slideColumn .slideArea .slick-next {
    right: max(-4vw, -55px);
  }
}
.slideColumn .slideArea .slick-prev {
  background-image: url(../img/top/slide-arrow_left.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
@media (min-width: 768px) {
  .slideColumn .slideArea .slick-prev {
    left: max(-4vw, -55px);
  }
}
.slideColumn .slideArea .slick-dots {
  bottom: -2.35em;
}
.slideColumn .slideArea .slick-dots li {
  margin: 0;
}
@media (min-width: 768px) {
  .slideColumn .slideArea .slick-dots li {
    margin: 0 5px;
  }
}
.slideColumn .slideArea .slick-dots li .slick-active button:before,
.slideColumn .slideArea .slick-dots li button:before {
  color: #00C1DF;
  font-size: 9px;
}
@media (min-width: 768px) {
  .slideColumn .slideArea .slick-dots li .slick-active button:before,
  .slideColumn .slideArea .slick-dots li button:before {
    font-size: 14px;
  }
}

/*
header
---------------------------*/
header .siteNameBox {
  display: none;
}

/*
#mainVisual
---------------------------*/
#mainVisual {
  position: relative;
  height: 100%;
  overflow: hidden;
}
@media (min-width: 1000px) {
  #mainVisual {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
#mainVisual #mv-ph {
  width: 100%;
  height: auto;
  background-image: url("../img/top/mv-bg.jpg");
  background-repeat: repeat-x;
  background-position: center 0;
  background-size: cover;
  position: relative;
  padding-top: min(26vw, 100px);
  padding-bottom: 10px;
}
@media (min-width: 1000px) {
  #mainVisual #mv-ph {
    width: 50%;
    padding-top: min(4vw, 110px);
    padding-bottom: min(2vw, 30px);
  }
}
#mainVisual #mv-ph h1 {
  text-align: center;
  margin: 0 auto 30px auto;
  width: min(75%, 550px);
}
#mainVisual #mv-ph h1 img {
  width: 100%;
  margin: auto;
}
#mainVisual #mv-ph figure {
  margin: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#mainVisual #mv-ph figure img {
  width: 45%;
}
#mainVisual #mv-ph figure .illust-atumon {
  max-width: 255px;
}
#mainVisual #mv-ph figure .illust-hokkaido {
  max-width: 368px;
}
#mainVisual #mv-intro {
  background-image: url(../img/top/illust-camome.svg);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-color: #C7E8FA;
  text-align: center;
  padding: 30px 5%;
}
@media (min-width: 1000px) {
  #mainVisual #mv-intro {
    width: 50%;
    padding: 88px 30px 30px 30px;
  }
}
#mainVisual #mv-intro h2 {
  background-image: url(../img/top/mv-intro-title.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  display: inline-block;
  color: #ffffff;
  font-weight: 900;
  line-height: 1.2;
  font-size: min(4vw, 32px);
  height: min(13vw, 130px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 1.25em;
  padding: 0 1em;
}
@media (min-width: 1000px) {
  #mainVisual #mv-intro h2 {
    font-size: min(2vw, 32px);
    height: min(7vw, 100px);
    max-width: 680px;
    margin: 0 auto 1em auto;
  }
}
#mainVisual #mv-intro ul {
  max-width: 590px;
  margin: auto;
}
#mainVisual #mv-intro li {
  background-image: url(../img/top/mv-intro01.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  height: min(25vw, 163px);
  padding: 0 2em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: min(5vw, 3em);
  position: relative;
}
@media (min-width: 1000px) {
  #mainVisual #mv-intro li {
    height: min(12.4vw, 163px);
  }
}
#mainVisual #mv-intro li p {
  text-align: center;
  color: #004A9F;
  font-weight: 700;
  font-size: min(4vw, 30px);
  line-height: 1.3;
  width: 100%;
}
@media (min-width: 1000px) {
  #mainVisual #mv-intro li p {
    font-size: min(2vw, 30px);
  }
}
#mainVisual #mv-intro li::after {
  position: absolute;
  bottom: max(-4vw, -40px);
  left: 0;
  right: 0;
  margin: auto;
  content: "";
  width: min(4vw, 45px);
  height: min(3vw, 30px);
  background-image: url(../img/top/arrow01.svg);
  background-repeat: no-repeat;
  background-size: 100%;
}
#mainVisual #mv-intro li:last-child {
  margin-bottom: 0;
}
#mainVisual #mv-intro li:last-child::after {
  content: none;
}
#mainVisual #mv-intro li.bg02 {
  position: relative;
  background-image: url(../img/top/mv-intro02.svg);
  height: min(46.2vw, 304px);
}
@media (min-width: 1000px) {
  #mainVisual #mv-intro li.bg02 {
    height: min(23vw, 304px);
  }
}
#mainVisual #mv-intro li.bg02 p.or {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: min(3em, 70px);
  height: min(3em, 70px);
  z-index: 1;
  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;
}
#mainVisual #mv-intro li.bg02 p.or span {
  color: #ffffff;
  font-weight: 500;
  font-size: min(3.5vw, 18px);
}
@media (min-width: 1000px) {
  #mainVisual #mv-intro li.bg02 p.or span {
    font-size: min(1.65vw, 22px);
  }
}
#mainVisual #mv-intro li.bg02 p.or span::after {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  background-color: #004A9F;
  border-radius: 100%;
}
#mainVisual #mv-intro li.bg03 {
  background-image: url(../img/top/mv-intro03.svg);
}
#mainVisual #mv-intro li.bg03 p {
  line-height: 1.2;
}
#mainVisual .bg-roop {
  -webkit-animation: bgroop 200s linear infinite;
  animation: bgroop 200s linear infinite;
  overflow: hidden;
}

/*背景ループアニメーション用*/
@-webkit-keyframes bgroop {
  from {
    background-position: 0 0;
  }
  to {
    background-position: -5000px 0;
  }
}
@keyframes bgroop {
  from {
    background-position: 0 0;
  }
  to {
    background-position: -5000px 0;
  }
}
/*
#news
---------------------------*/
#news {
  margin: auto;
  padding: 50px 0;
}
@media (min-width: 768px) {
  #news {
    padding: 100px 0;
  }
}
#news .newsInner {
  max-width: 1400px;
  width: 90%;
  margin: auto;
  background-color: #fff;
  border-radius: 20px;
  padding: min(5vw, 50px);
}
@media (min-width: 768px) {
  #news .newsInner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
#news h2 {
  color: #004A9F;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
  padding: 1em 0;
  width: 100%;
  text-align: center;
}
@media (min-width: 768px) {
  #news h2 {
    max-width: 180px;
    text-align: left;
  }
}
#news .newsList {
  padding: 1em 30px;
}
@media (min-width: 768px) {
  #news .newsList {
    border-left: 3px solid #C7E8FA;
    margin-left: 1em;
  }
}
#news .newsList li + li {
  padding-top: 1em;
  margin-top: 1em;
  border-top: 1px dashed #C7E8FA;
}
#news .newsList li a {
  color: #00B7EB;
}
@media (min-width: 1000px) {
  #news .newsList li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
#news .newsList .date {
  padding: 0 15px 10px 0;
}
@media (min-width: 768px) {
  #news .newsList .date {
    padding: 0 30px 0 0;
  }
}
#news .newsBtn {
  text-align: center;
  width: 100%;
  max-width: 169px;
  margin: 1em auto;
}
@media (min-width: 1000px) {
  #news .newsBtn {
    margin: auto;
  }
}
#news .newsBtn .btn {
  width: 100%;
}
#news .newsBtn .btn:before {
  content: unset;
}
#news .newsBtn .btn a {
  position: relative;
  background-color: #ffffff;
  border: 3px solid #063076;
  font-size: 16px;
  min-width: initial;
  color: #004A9F;
  padding: 13px 30px 13px 20px;
}
#news .newsBtn .btn a::after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 10px;
  margin: auto;
  content: "";
  background: url("../img/common/arrow06.svg");
  background-repeat: no-repeat;
  height: 8px;
  width: 20px;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
#news .newsBtn .btn a:hover {
  background-color: #C7E8FA;
}
#news .newsBtn .btn a:hover::after {
  right: 0;
}

/*
#campaign
---------------------------*/
#campaign #campaign-intro {
  background-color: #004A9F;
  border-top-right-radius: 20px;
  text-align: center;
}
#campaign #campaign-intro .contentTitle {
  color: #ffffff;
}
@media (min-width: 768px) {
  #campaign #campaign-intro ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
#campaign #campaign-intro ul li {
  background-color: #ffffff;
  border: 8px solid #063076;
  border-radius: 20px;
  padding: 1.5em 1em;
  width: 100%;
  position: relative;
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  #campaign #campaign-intro ul li {
    padding: 3em 1em;
    margin-bottom: 30px;
  }
  #campaign #campaign-intro ul li.num02, #campaign #campaign-intro ul li.num03 {
    width: 48%;
  }
}
#campaign #campaign-intro ul li:before {
  position: absolute;
  z-index: 2;
  content: "";
  left: -20px;
  top: -20px;
  width: 50px;
  height: 50px;
}
@media (min-width: 1000px) {
  #campaign #campaign-intro ul li:before {
    left: min(-1.5vw, -30px);
    top: min(-1.5vw, -30px);
    width: min(5vw, 95px);
    height: min(5vw, 95px);
  }
}
#campaign #campaign-intro ul li.num01:before {
  background-image: url(../img/top/campaign-no01.svg);
  background-position: left top;
  background-repeat: no-repeat;
  background-size: cover;
}
#campaign #campaign-intro ul li.num02:before {
  background-image: url(../img/top/campaign-no02.svg);
  background-position: left top;
  background-repeat: no-repeat;
  background-size: cover;
}
#campaign #campaign-intro ul li p {
  letter-spacing: 0.05em;
  line-height: 1.75;
  font-weight: 900;
  font-size: min(5vw, 24px);
  color: #004A9F;
}
@media (min-width: 1000px) {
  #campaign #campaign-intro ul li p {
    font-size: min(1.6vw, 32px);
  }
}
#campaign #campaign-intro ul li p.text-sub {
  font-weight: 700;
  font-size: min(3.5vw, 14px);
  color: #000000;
  margin-top: 2em;
}
@media (min-width: 1000px) {
  #campaign #campaign-intro ul li p.text-sub {
    font-size: min(1vw, 16px);
  }
}
#campaign #campaign-intro ul li p a {
  color: #00B7EB;
  text-decoration: underline;
  font-weight: inherit;
}
#campaign #campaign-intro .or {
  position: absolute;
  right: 0;
  left: 0;
  top: -48px;
  margin: auto;
  width: 50px;
  height: 50px;
}
@media (min-width: 768px) {
  #campaign #campaign-intro .or {
    bottom: 0;
    top: 0;
    right: initial;
    left: max(-7vw, -65px);
    width: min(8vw, 80px);
    height: min(8vw, 80px);
  }
}
@media (min-width: 1000px) {
  #campaign #campaign-intro .or {
    width: min(6vw, 80px);
    height: min(6vw, 80px);
    left: max(-5vw, -65px);
  }
}
#campaign #campaign-intro .or span {
  position: relative;
  z-index: 1;
  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;
  margin: 0.2em auto;
  color: #ffffff;
  font-weight: 500;
  font-size: min(3.5vw, 15px);
  width: 100%;
  height: 100%;
}
@media (min-width: 768px) {
  #campaign #campaign-intro .or span {
    font-size: min(2vw, 22px);
  }
}
@media (min-width: 1000px) {
  #campaign #campaign-intro .or span {
    font-size: min(1.4vw, 22px);
  }
}
#campaign #campaign-intro .or span::after {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  background-color: #063076;
  border-radius: 100%;
}
#campaign #campaign-intro .coment {
  text-align: left;
  color: #ffffff;
}
#campaign #campaign-intro .coment h3 {
  font-weight: 900;
  letter-spacing: 0.05em;
  line-height: 1.5;
  font-size: min(4vw, 20px);
  margin-bottom: 1em;
}
@media (min-width: 1000px) {
  #campaign #campaign-intro .coment h3 {
    font-size: min(2vw, 24px);
  }
}
#campaign #campaign-intro .coment p {
  letter-spacing: 0.05em;
  line-height: 1.5;
  margin-bottom: 1em;
}
#campaign #campaign-intro .coment p > span {
  color: #FFF701;
}
#campaign #campaign-tokuten .contentTitle span {
  display: inline-block;
  color: #E73079;
  font-size: min(4.5vw, 36px);
  line-height: 1.1;
  position: relative;
  padding: 0 1.2em;
}
@media (min-width: 1000px) {
  #campaign #campaign-tokuten .contentTitle span {
    font-size: min(2.2vw, 36px);
  }
}
#campaign #campaign-tokuten .contentTitle span::before, #campaign #campaign-tokuten .contentTitle span::after {
  content: "";
  position: absolute;
  top: 50%;
  display: inline-block;
  width: min(5vw, 36px);
  height: 5px;
  background-color: #FFF701;
  -webkit-transform: rotate(60deg);
  transform: rotate(60deg);
}
#campaign #campaign-tokuten .contentTitle span::before {
  left: 0;
}
#campaign #campaign-tokuten .contentTitle span::after {
  right: 0;
  -webkit-transform: rotate(-60deg);
  transform: rotate(-60deg);
}
#campaign #campaign-tokuten .intro {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  z-index: 1;
}
@media (min-width: 768px) {
  #campaign #campaign-tokuten .intro {
    margin-bottom: -30px;
  }
}
#campaign #campaign-tokuten .intro p {
  font-size: min(3.5vw, 20px);
  text-align: left;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-weight: 700;
  color: #00C1DF;
  max-width: 20em;
  margin-bottom: 2em;
}
@media (min-width: 1000px) {
  #campaign #campaign-tokuten .intro p {
    font-size: min(1.4vw, 20px);
  }
}
#campaign #campaign-tokuten .intro img {
  width: min(30vw, 280px);
}
#campaign #campaign-tokuten .tokuten {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 767px) {
  #campaign #campaign-tokuten .tokuten {
    display: block;
  }
}
@media (min-width: 1000px) {
  #campaign #campaign-tokuten .tokuten {
    display: block;
  }
}
#campaign #campaign-tokuten .tokuten li {
  color: #000000;
  margin-bottom: 20px;
  background-color: #ffffff;
  border-radius: 20px;
  border: 8px solid #C7E8FA;
  text-align: left;
  padding: 30px 20px;
  padding-left: min(8vw, 160px);
  margin-bottom: 30px;
  position: relative;
  width: 49%;
}
@media (max-width: 767px) {
  #campaign #campaign-tokuten .tokuten li {
    width: 100%;
    padding-left: min(16vw, 160px);
  }
}
@media (min-width: 1000px) {
  #campaign #campaign-tokuten .tokuten li {
    width: 100%;
    margin-bottom: 30px;
    padding-left: min(11vw, 160px);
  }
}
#campaign #campaign-tokuten .tokuten li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  border-right: 3px solid #C7E8FA;
  width: min(6vw, 120px);
  height: 80%;
  background-image: url(../img/top/campaign-tokuten01.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: auto 4vw;
}
@media (max-width: 767px) {
  #campaign #campaign-tokuten .tokuten li::before {
    width: min(13vw, 120px);
    background-size: auto 7vw;
  }
}
@media (min-width: 1000px) {
  #campaign #campaign-tokuten .tokuten li::before {
    width: min(8vw, 120px);
  }
}
#campaign #campaign-tokuten .tokuten li#tokutenB::before {
  background-image: url(../img/top/campaign-tokuten02.svg);
}
#campaign #campaign-tokuten .tokuten li .route {
  font-weight: 700;
  font-size: min(3vw, 42px);
  line-height: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 767px) {
  #campaign #campaign-tokuten .tokuten li .route {
    font-size: min(6vw, 42px);
  }
}
#campaign #campaign-tokuten .tokuten li .route img {
  width: min(4vw, 47px);
  margin: 0 0.2em;
}
#campaign #campaign-tokuten .tokuten li .price {
  font-family: "Arial Narrow", Arial, sans-serif;
  font-weight: 900;
  color: #004A9F;
  letter-spacing: 0.05em;
  line-height: 1.2;
  font-size: min(1.8vw, 33px);
  display: inline-block;
  margin-top: 0.5em;
}
@media (max-width: 767px) {
  #campaign #campaign-tokuten .tokuten li .price {
    font-size: min(4vw, 33px);
  }
}
#campaign #campaign-tokuten .tokuten li .price > span {
  font-size: 180%;
  letter-spacing: -0.01em;
  padding: 0 0.1em;
}
#campaign #campaign-tokuten .tokuten li .atn {
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.55;
  margin-top: 1em;
  font-size: min(1.5vw, 18px);
}
@media (max-width: 767px) {
  #campaign #campaign-tokuten .tokuten li .atn {
    font-size: min(3vw, 18px);
  }
}
@media (min-width: 1000px) {
  #campaign #campaign-tokuten .tokuten li .atn {
    font-size: min(1.4vw, 18px);
  }
}
#campaign #campaign-tokuten .attention {
  border-radius: 20px;
  background-color: #ffffff;
  text-align: left;
  padding: 30px 20px;
}
#campaign #campaign-tokuten .attention dt {
  letter-spacing: 0.05em;
  color: #C31A2D;
  font-size: min(4.5vw, 20px);
  margin-bottom: 1em;
  font-weight: 900;
  padding-left: 1.3em;
  background-image: url(../img/top/icon-attention.svg);
  background-position: left top;
  background-repeat: no-repeat;
  background-size: 1em;
}
@media (min-width: 1000px) {
  #campaign #campaign-tokuten .attention dt {
    font-size: min(1.8vw, 24px);
  }
}
#campaign #campaign-tokuten .attention li {
  letter-spacing: 0.05em;
  line-height: 1.25;
  margin-bottom: 1em;
  font-weight: 700;
  text-indent: -1em;
  padding-left: 1em;
}

/*
#facility
---------------------------*/
#facility {
  margin-bottom: 50px;
}
@media (min-width: 768px) {
  #facility {
    margin-bottom: 100px;
  }
}
#facility .slideArea figure img {
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  width: 100%;
}
#facility .slideArea .icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 2em;
}
#facility .slideArea .icon img {
  width: 40px;
}
#facility .slideArea .area {
  display: inline-block;
  color: #ffffff;
  padding: 0.3em;
  font-size: 85%;
  background-color: #00C1DF;
  margin-top: 2em;
}

/*
#flow
---------------------------*/
#flow .flowList {
  background-color: #ffffff;
  border-radius: 20px;
  padding: 1.5em;
  text-align: left;
}
@media (min-width: 768px) {
  #flow .flowList {
    padding: 3em;
  }
}
#flow .stepTitle {
  letter-spacing: 0.1em;
  font-weight: 900;
  border-bottom: 3px solid #FFF701;
  padding-bottom: 1em;
  margin-bottom: 1em;
  font-size: min(4vw, 24px);
  color: #000000;
}
@media (min-width: 1000px) {
  #flow .stepTitle {
    font-size: min(1.6vw, 32px);
  }
}
#flow .stepTitle span {
  color: #004A9F;
  font-family: "Arial Narrow", Arial, sans-serif;
  margin-right: 1em;
}
#flow .stepTitle span img {
  width: min(9vw, 108px);
}
@media (min-width: 1000px) {
  #flow .stepTitle span img {
    width: min(5vw, 108px);
  }
}
#flow .text-atn {
  color: #E73079;
  font-size: min(2.8vw, 20px);
  text-align: left;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-indent: -1em;
  padding-left: 1em;
}
@media (min-width: 1000px) {
  #flow .text-atn {
    font-size: min(1.4vw, 20px);
  }
}
#flow #flow-intro {
  background-color: #004A9F;
  border-top-right-radius: 20px;
  text-align: center;
}
#flow #flow-intro .sideSticky {
  background-color: #063076;
}
@media (min-width: 1000px) {
  #flow #flow-intro .sideSticky {
    background-color: #F3FBFF;
  }
}
#flow #flow-intro .sideSticky::after {
  background-color: #063076;
}
#flow #flow-intro .contentTitle {
  color: #ffffff;
}
#flow #flow-intro .coment {
  text-align: left;
  color: #ffffff;
  margin-top: 2em;
}
@media (min-width: 1000px) {
  #flow #flow-intro .coment {
    margin-top: 3.5em;
  }
}
#flow #flow-intro .coment p {
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5;
  font-size: min(2.8vw, 20px);
  margin-bottom: 1em;
}
@media (min-width: 1000px) {
  #flow #flow-intro .coment p {
    font-size: min(1.4vw, 20px);
  }
}
#flow #flow-intro .coment p a {
  position: relative;
  padding-left: 1.2em;
}
#flow #flow-intro .coment p a::before {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  width: 1em;
  height: 1em;
  background-image: url(../img/top/arrow02.svg);
  background-position: left center;
  background-repeat: no-repeat;
  background-size: auto 1em;
}
#flow #flow-detail {
  overflow: hidden;
}
#flow #flow-detail li {
  margin-bottom: 100px;
  position: relative;
  margin-top: -25px;
  padding-top: 25px;
}
#flow #flow-detail li::before {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -95px;
  margin: auto;
  content: "";
  width: 82px;
  height: 77px;
  background-image: url(../img/top/flow-arrow.svg);
  background-position: left center;
  background-repeat: no-repeat;
  background-size: cover;
}
@media (min-width: 768px) {
  #flow #flow-detail li {
    margin-bottom: 200px;
    margin-top: -60px;
    padding-top: 60px;
  }
  #flow #flow-detail li::before {
    bottom: -185px;
    width: 165px;
    height: 155px;
  }
}
#flow #flow-detail li:last-child {
  margin-bottom: 0;
}
#flow #flow-detail li:last-child::before {
  content: none;
}
#flow #flow-detail li > div {
  position: relative;
  background-color: #ffffff;
  border-radius: 20px;
  border: 8px solid #063076;
  padding: 2em 1.5em;
  text-align: left;
}
#flow #flow-detail li > div figure {
  position: absolute;
  top: -30px;
  right: -20px;
  width: min(28vw, 150px);
}
@media (min-width: 1000px) {
  #flow #flow-detail li > div figure {
    width: min(14vw, 240px);
    top: max(-6vw, -110px);
    right: -30px;
  }
}
#flow #flow-detail li > div figure img {
  width: 100%;
}
#flow #flow-detail li > div .stepTitle {
  text-align: left;
  padding-bottom: 0.4em;
  border-bottom: 5px solid #FFF701;
  font-size: min(5vw, 36px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1;
}
@media (min-width: 1000px) {
  #flow #flow-detail li > div .stepTitle {
    font-size: min(2.5vw, 36px);
  }
}
#flow #flow-detail li > div .stepTitle span {
  margin-right: 0.5em;
  letter-spacing: -0.02em;
  line-height: 1;
}
@media (min-width: 1000px) {
  #flow #flow-detail li > div .stepTitle span {
    font-size: min(1.6vw, 40px);
  }
}
#flow #flow-detail li > div .stepTitle span.num {
  font-size: min(6.5vw, 55px);
}
@media (min-width: 1000px) {
  #flow #flow-detail li > div .stepTitle span.num {
    font-size: min(4vw, 55px);
  }
}
#flow #flow-detail li > div .stepTitle span img {
  width: min(15vw, 138px);
}
@media (min-width: 1000px) {
  #flow #flow-detail li > div .stepTitle span img {
    width: min(9vw, 138px);
  }
}
#flow #flow-detail li > div p {
  letter-spacing: 0.05em;
  line-height: 1.5;
  color: #000000;
  font-size: min(2.8vw, 20px);
}
@media (min-width: 1000px) {
  #flow #flow-detail li > div p {
    font-size: min(1.4vw, 20px);
  }
}
#flow #flow-detail li > div p + p {
  margin-top: 1em;
}

/*
#program
---------------------------*/
#program .slideArea figure {
  width: 100%;
}
#program .slideArea figure img {
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;
  width: 100%;
}
#program .slideArea .icon {
  text-align: center;
  display: block;
  margin-top: 1em;
}
#program .slideArea .icon img {
  width: 70px;
  margin: auto;
}
#program .slideArea p {
  color: #004A9F;
  padding: 0 0.5em;
  font-size: 100%;
  line-height: 1.5;
  margin-bottom: 2em;
}
@media (min-width: 1000px) {
  #program .slideArea p {
    font-size: min(1vw, 16px);
  }
}
@media (min-width: 768px) {
  #program .slideArea p {
    font-size: min(1.5vw, 16px);
  }
}
#program .btn a {
  background-color: #004A9F;
}/*# sourceMappingURL=top.css.map */