/* hero-contents */
.wrap_hidden {
  overflow:hidden;
  padding-bottom: 41px;
}
.hero-contents {
  display: flex;
  justify-content: center;
  width: 100%;
  height: 550px;
  background: url(../img/fv_bg.png)center top ;
  background-size: cover;
}
.hero-content {
  display: flex;
  justify-content: space-between;
  position: relative;
  width: 100%;
}
.hero-content:after {
  content: "";
  position: absolute;
  width: 665px;
  height: 463px;
  right: -128px;
  bottom: -55px;
  background: url(../img/fv_pic.png);
  background-size: cover;
  z-index: 1;
}
.heroContent-left {
  margin-top: 50px;
}
.hero-content .logo {
  max-width: 65px;
  width: 100%;
  margin-bottom: 30px;
}
.heroContent-left p {
  color: #FFF;
  font-size: 19px;
  font-weight: 500;
}
.heroContent-left .decorat {
  display: inline-block;
  margin-bottom: 13px;
  padding: 7px 5px;
  color: #FBDB59;
  font-size: 21px;
  border: solid 1px #FBDB59;
}
.heroContent-left .m_right {
  margin-right: 7px;
}
.heroContent-left .tb {
  display: none;
}
.hero-content .txt {
  max-width: 448px;
  width: 100%;
  margin-bottom: 18px;
}
.reflection-img {
  max-width: 230px;
  width: 100%;
  position: relative;
  overflow: hidden;
  border-radius: 50%;
  z-index: 1;
  will-change: transform;
}
.reflection-img {
  height: 230px;
}
.reflection-img .circle {
  display: none;
}
.heroContent-right {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  max-width: 510px;
  width: 100%;
  margin-top: 10px;
}
.heroContent-lists {
  display: flex;
  justify-content: space-between;
  width: 222px;
  margin: 18px 25px 0 0!important;
}
.heroContent-lists li {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 101px;
  height: 101px;
  background: #FFF;
  border-radius: 12px;
  box-shadow: 2px 2px 3px rgb(0 0 0 / 30%);
  color: #003365;
  font-size: 23px;
  font-weight: 900;
  line-height: 1.2;
  text-align: center;
}

/* intro */
.intro {
  padding: 50px 0 40px;
  position: relative;
  width: 100%;
  background: url(../img/intro_bg.png)center bottom no-repeat;
  background-size: cover;
}
.intro:after {
  content: "";
  position: absolute;
  width: 175px;
  height: 41px;
  left: 50%;
  transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  bottom: -40px;
  background: url(../img/intro_arrow.png);
  background-size: cover;
}
.intro h2 {
  position: relative;
  margin-bottom: 100px;
  font-size: 50px;
  font-weight: 900;
  line-height: 1.3;
  text-align: center;
}
.intro h2 .small {
  font-size: 25px;
}
.intro h2 .middle {
  font-size: 40px;
}
.inner h2 .middle.ls {
  letter-spacing: -1.6rem;
}
.intro h2:after {
  content: "";
  position: absolute;
  width: 299px;
  height: 102px;
  bottom: -105px;
  left: 50%;
  transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  background: url(../img/intro_heading.png);
  background-size: cover;
}
.intro-lists {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 658px;
  width: 100%;
  margin: 0 auto!important;
}
.intro-lists li {
  width: 48%;
}
.intro-lists li:nth-of-type(-n+2) {
  margin-bottom: 20px;
}

/* subsidy */
.subsidy {
  margin-top: 90px;
}
.subsidy .first h2 {
  position: relative;
  margin-bottom: 45px;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}
.subsidy .first h2 span {
  color: #5985B2;
  font-size: 25px;
}
.subsidy .first h2:before {
  content: "";
  position: absolute;
  width: 54px;
  height: 54px;
  left: 50%;
  top: -65px;
  transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  background: url(../img/subsidy_heading-icon.png);
  background-size: cover;
}
.subsidy p {
  font-size: 18px;
  text-align: center;
  line-height: 1.8;
}
.subsidy .txt_1st {
  margin-bottom: 40px;
}
.subsidy h3 img {
  max-width: 446px;
  width: 100%;
  margin: 0 auto 17px;
}
.subsidy .txt_2nd {
  margin-bottom: 17px;
}
.subsidy-itms {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 700px;
  width: 100%;
  margin: 0 auto 45px!important;
}
.subsidy-itms li {
  width: 49%;
}
.subsidy-lists {
  display: flex;
  justify-content: space-between;
  max-width: 743px;
  width: 100%;
  margin: 0 auto!important;
}
.subsidy-lists li {
  width: 18%;
}
.subsidy-lists li:nth-of-type(odd) {
  margin-top: 40px;
}
.subsidy-decorat {
  position: relative;
  margin-bottom: -45px;
  top: -44px;
  z-index: -1;
}
.subsidy .second {
  position: relative;
  padding: 45px 0 53px;
  background: #89bac3;
}
.subsidy .second:after {
  content: "";
  position: absolute;
  width: 175px;
  height: 40px;
  left: 50%;
  transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  bottom: -39px;
  background: url(../img/subsidy_arrow.png);
  background-size: cover;
}
.subsidy .second h2 {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  margin-bottom: 30px;
  color: #FFF;
  font-size: 25px;
  text-align: center;
}
.subsidy .second h2 .left:before {
  content: "";
  display: inline-block;
  width: 52px;
  height: 80px;
  margin-right: 15px;
  background: url(../img/subsidy_left.png);
  background-size: cover;
}
.subsidy .second h2 .right:after {
  content: "";
  display: inline-block;
  width: 52px;
  height: 80px;
  margin-left: 15px;
  background: url(../img/subsidy_right.png);
  background-size: cover;
}
.subsidy-bottom img {
  max-width: 700px;
  width: 100%;
  margin: 0 auto;
}

/* target */
.target {
  position: relative;
  margin-top: 125px;
}
.target:after {
  content: "";
  position: absolute;
  width: 175px;
  height: 41px;
  left: 50%;
  transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  bottom: -85px;
  background: url(../img/target_arrow.png);
  background-size: cover;
  z-index: 1;
}
.target h2 {
  position: relative;
  margin-bottom: 45px;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}
.target h2 span {
  color: #5985B2;
  font-size: 25px;
}
.target h2:before {
  content: "";
  position: absolute;
  width: 54px;
  height: 54px;
  left: 50%;
  top: -65px;
  transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  background: url(../img/target_heading-icon.png);
  background-size: cover;
}
.target .txt_intro {
  margin-bottom: 45px;
  font-size: 18px;
  line-height: 1.8;
  text-align: center;
}
.target h3 img {
  max-width: 446px;
  width: 100%;
  margin: 0 auto;
}
.target h3 .first {
  margin-bottom: 20px;
}
.target .txt_strong {
  margin-bottom: 45px;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
}
.target-lists dl {
  display: flex;
  max-width: 815px;
  margin: 0 auto;
}
.target-lists li:first-child {
  margin-bottom: 20px;
}
.target-lists li:last-child {
  margin-bottom: 95px;
}
.target-lists dt {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 190px;
  padding: 10px;
  background: #003365;
  color: #FFF;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
}
.target-lists dd {
  max-width: 626px;
  width: 100%;
  padding: 10px;
  border: solid 1px #003365;
}
.target h3 .second {
  margin-bottom: 35px;
}
.target-itms {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  max-width: 700px;
  width: 100%;
  margin: 0 auto 45px!important;
}
.target-itms li {
  width: 49%;
}
.target-itms li:first-child img {
  margin-bottom: 13px;
}
.target-itms li:first-child p {
  font-size: 12px;
}

/* schedule */
.schedule {
  position: relative;
  padding: 130px 0 80px;
  background: #f4f4f4;
}
.schedule:after {
  content: "";
  position: absolute;
  width: 175px;
  height: 41px;
  left: 50%;
  transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  bottom: -40px;
  background: url(../img/schedule_arrow.png);
  background-size: cover;
}
.schedule h2 {
  position: relative;
  margin-bottom: 40px;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}
.schedule h2 span {
  color: #5985B2;
  font-size: 25px;
}
.schedule h2:before {
  content: "";
  position: absolute;
  width: 54px;
  height: 54px;
  left: 50%;
  top: -65px;
  transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  background: url(../img/schedule_heading-icon.png);
  background-size: cover;
}
.schedule .txt_intro {
  margin-bottom: 27px;
  font-size: 18px;
  text-align: center;
  line-height: 1.8;
}
.schedule-itms {
  display: flex;
  justify-content: space-between;
  max-width: 700px;
  width: 100%;
  margin: 0 auto 17px!important;
}
.schedule-itms li {
  width: 49%;
}
.schedule-itms dt {
  height: 66px;
  line-height: 66px;
  background: #003365;
  color: #FFF;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
}
.schedule-itms dd {
  height: 525px;
  padding: 15px 15px 25px;
  background: #FFF;
  border: solid 1px #003365;
}
.schedule-itms dd .ttl {
  margin-bottom: 15px;
  color: #737373;
  font-weight: bold;
  text-align: center;
}
.schedule-itms dd .flex {
  display: flex;
  align-items: center;
  max-width: 249px;
  margin: 0 auto 3px;
  color: #231815;
  font-size: 20px;
  font-weight: 500;
}
.schedule-itms dd .flex span {
  width: 47px;
  height: 21px;
  margin-right: 12px;
  line-height: 21px;
  background: #e62a5f;
  color: #FFF;
  font-size: 13px;
  font-weight: 700;
  text-align: center;
}
.schedule-itms dd .txt {
  margin-bottom: 20px;
  text-align: center;
}
.schedule-itms .date.line {
  text-decoration: line-through;
}
.schedule .attention {
  display: flex;
  align-items: center;
  max-width: 700px;
  margin: 0 auto 50px;
  color: #d40f12;
  font-weight: bold;
}
.schedule .attention .box {
  width: 129px;
  height: 32px;
  margin-right: 5px;
  text-align: center;
  line-height: 32px;
  border: solid 1px #d40f12;
}
.schedule .attention .line {
  border-bottom: solid 1px #d40f12;
}
.schedule h3 img {
  max-width: 464px;
  width: 100%;
  margin: 0 auto 10px;
}
.schedule .txt_strong {
  line-height: 1.8;
  text-align: center;
}
.schedule .txt_strong span {
  font-size: 20px;
  font-weight: bold;
}

/* flow */
.flow {
  position: relative;
  margin-top: 140px;
  padding-bottom: 100px;
}
.flow:after {
  content: "";
  position: absolute;
  width: 175px;
  height: 41px;
  left: 50%;
  transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  bottom: -40px;
  background: url(../img/flow_arrow.png);
  background-size: cover;
  z-index: 1;
}
.flow h2 {
  position: relative;
  margin-bottom: 45px;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}
.flow h2 span {
  color: #5985B2;
  font-size: 25px;
}
.flow h2:before {
  content: "";
  position: absolute;
  width: 54px;
  height: 54px;
  left: 50%;
  top: -65px;
  transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  background: url(../img/flow_heading-icon.png);
  background-size: cover;
}
.flow .txt_intro {
  margin-bottom: 40px;
  font-size: 18px;
  text-align: center;
}
.flow-pic img {
  width: 100%;
  max-width: 886px;
  margin: 0 auto 70px;
  vertical-align: top;
}
.flow h3 img {
  max-width: 446px;
  width: 100%;
  margin: 0 auto 20px;
}
.flow .txt_bottom {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.8;
  text-align: center;
}

/* example */
.example {
  position: relative;
  padding: 140px 0 85px;
  background: #f2fbff;
}
.example:after {
  content: "";
  position: absolute;
  width: 175px;
  height: 41px;
  left: 50%;
  transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  bottom: -40px;
  background: url(../img/example_arrow.png);
  background-size: cover;
  z-index: 1;
}
.example h2 {
  position: relative;
  margin-bottom: 80px;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}
.example h2 span {
  color: #5985B2;
  font-size: 25px;
}
.example h2:before {
  content: "";
  position: absolute;
  width: 54px;
  height: 54px;
  left: 50%;
  top: -65px;
  transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  background: url(../img/example_heading-icon.png);
  background-size: cover;
}
.example-imts {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 700px;
  width: 100%;
  margin: 0 auto!important;
}
.example-imts li {
  position: relative;
  width: 48%;
  padding: 17px;
  background: #FFF;
  border-radius: 20px;
  box-shadow: 2px 2px 3px rgb(0 0 0 / 30%);
}
.example-imts li:nth-of-type(1):before {
  content: "";
  position: absolute;
  width: 88px;
  height: 61px;
  left: 3px;
  top: -43px;
  background: url(../img/example_1.png);
  background-size: cover;
}
.example-imts li:nth-of-type(2):before {
  content: "";
  position: absolute;
  width: 89px;
  height: 61px;
  left: 3px;
  top: -43px;
  background: url(../img/example_2.png);
  background-size: cover;
}
.example-imts li:nth-of-type(3):before {
  content: "";
  position: absolute;
  width: 89px;
  height: 61px;
  left: 3px;
  top: -43px;
  background: url(../img/example_3.png);
  background-size: cover;
}
.example-imts li:nth-of-type(4):before {
  content: "";
  position: absolute;
  width: 91px;
  height: 61px;
  left: 3px;
  top: -43px;
  background: url(../img/example_4.png);
  background-size: cover;
}
.example-imts li:nth-of-type(-n+2) {
  margin-bottom: 85px;
}
.example-imts .pic {
  margin: 0 auto 15px;
}
.example-imts h3 {
  margin-bottom: 15px;
  color: #003365;
  font-size: 16px;
  text-align: center;
}

/* service */
.service {
  margin: 140px auto 75px;
}
.service h2 {
  position: relative;
  margin-bottom: 45px;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}
.service h2 span {
  color: #5985B2;
  font-size: 25px;
}
.service h2:before {
  content: "";
  position: absolute;
  width: 54px;
  height: 54px;
  left: 50%;
  top: -65px;
  transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  background: url(../img/service_heading-icon.png);
  background-size: cover;
}
.service .txt_intro {
  margin-bottom: 40px;
  font-size: 18px;
  text-align: center;
  line-height: 1.8;
}
.service-itms {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 700px;
  width: 100%;
  margin: 0 auto!important;
}
.service-itms li {
  width: 32%;
}
.service-itms li:nth-of-type(-n+3) {
  margin-bottom: 15px;
}

/* consult */
.consult {
  padding: 10px 0 20px;
  background: #fff100;
}
.consult-itms {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 890px;
  width: 100%;
  margin: 0 auto;
}
.consult-itms h2 {
  margin-bottom: 10px;
  font-size: 40px;
}
.consult-itms h2 p {
  display: flex;
  align-items: center;
}
.consult-itms h2 .dot {
  font-size: 20px;
}
.consult-itms h2 img {
  max-width: 72px;
  width: 100%;
  margin-right: 8px;
}
.consult-itms .txt {
  margin-bottom: 20px;
  font-weight: bold;
}
.consultItms-lists {
  display: flex;
  justify-content: space-between;
  max-width: 338px;
  width: 100%;
}
.consultItms-lists li {
  width: 48%;
}
.consultItms-lists li img {
  box-shadow: 3px 3px 0 rgb(0 0 0 / 30%);
  border-radius: 7.6px;
  transition: .4s;
}
.consultItms-lists li img:hover {
  box-shadow: unset;
  -webkit-transform: translate(0, 3px);
  -moz-transform: translate(0, 3px);
  transform: translate(0, 3px);
}
.consultItms-pic img {
  max-width: 440px;
  width: 100%;
}
.consultItms-pic.sp {
  display: none;
}

/* about */
.about {
  margin: 125px auto 55px;
}
.about h2 {
  position: relative;
  margin-bottom: 45px;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}
.about h2 span {
  color: #5985B2;
  font-size: 25px;
}
.about h2:before {
  content: "";
  position: absolute;
  width: 54px;
  height: 54px;
  left: 50%;
  top: -65px;
  transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  background: url(../img/about_heading-icon.png);
  background-size: cover;
}
.about .txt_intro {
  margin-bottom: 25px;
  text-align: center;
}
.about .txt_intro.last {
  margin-bottom: 45px;
}
.about h3 img {
  max-width: 446px;
  width: 100%;
  margin: 0 auto 35px;
}
.about-lists {
  display: flex;
  justify-content: space-between;
  max-width: 700px;
  width: 100%;
  margin: 0 auto!important;
}
.about-lists li {
  width: 18%;
  position: relative;
}

/* achievement */
.achievement {
  padding: 55px 0 65px;
  background: #f4f4f4;
}
.achievement h2 img {
  max-width: 446px;
  width: 100%;
  margin: 0 auto 65px;
}
.slide li {
  position: relative;
}
.slide li p {
  position: absolute;
  left: 10px;
  bottom: 10px;
}

/* question */
.question {
  margin: 65px auto 90px;
}
.question h2 img {
  max-width: 446px;
  width: 100%;
  margin: 0 auto 65px;
}
.question-itms {
  max-width: 700px;
  margin: 0 auto 40px;
}
.question-q {
  position: relative;
  margin-bottom: 15px;
  padding: 7px 15px;
  font-size: 18px;
  font-weight: 500;
  color: #676767;
  cursor: pointer;
  border-bottom: solid 1px #676767;
}
.question-q p,.question-a p {
  display: flex;
  align-items: flex-start;
}
.q-txt:before {
  content: "";
  display: inline-block;
  width: 23px;
  height: 17px;
  margin-right: 10px;
  background: url(../img/question_q.png);
  background-size: cover;
}
.question-a {
  font-weight: 500;
  color: #676767;
  padding: 0 45px 0 15px;
}
.a-txt:before {
  content: "";
  display: inline-block;
  width: 21px;
  height: 16px;
  margin-right: 10px;
  background: url(../img/question_a.png);
  background-size: cover;
}
.question-itms .line {
  position: absolute;
  width: 26px;
  height: 26px;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  background: #676767;
  border-radius: 50%;
}
.line::before,
.line::after {
 content: '';
 display: block;
 width: 17px;
 height: 5px;
 background: #FFF;
 position: absolute;
 right: 4.5px;
 top: 50%;
 transform: translateY(-50%);
 border-radius: 30px;
}
.line::after {
 background: #FFF;
 transform: translateY(-50%) rotate(90deg);
 transition: 0.5s;
}
.active::after {
 transform: translateY(-50%) rotate(0);
 transition: 0.5s;
}

/* contact */
.contact {
  padding: 70px 0 130px;
  background: #f4f4f4;
}
.contact h2 img {
  max-width: 446px;
  width: 100%;
  margin: 0 auto 70px;
}
.contact-mail img,.contact-line img {
  max-width: 600px;
  width: 100%;
  margin: 0 auto;
  box-shadow: 3px 3px 0 rgb(0 0 0 / 30%);
  border-radius: 15px;
  transition: .4s;
}
.contact-mail img {
  margin: 0 auto 20px;
}
.contact-mail img:hover,.contact-line img:hover {
  box-shadow: unset;
  -webkit-transform: translate(0, 3px);
  -moz-transform: translate(0, 3px);
  transform: translate(0, 3px);
  opacity: .7;
}
/* ----------
  1255px
  ---------- */
@media (max-width: 1255px) {
  /* hero-contents */
  .heroContent-left p {
    position: relative;
    z-index: 2;
  }
  .hero-content:after  {
    width: 52.99vw;
    height: 36.89vw;
    right: calc(-70 / 1200 * 100vw);
    bottom: calc(-55 / 1200 * 100vw);
  }
}

/* ----------
  1024px
  ---------- */
@media (max-width: 1024px) {
  /* hero-contents */
  .hero-contents {
    height: auto;
  }
  .hero-content {
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  .hero-content:after {
    bottom: calc(-120 / 1024 * 100vw);
  }
  .heroContent-left {
    position: relative;
    top: -150px;
  }
  .hero-content .txt {
    max-width: 500px;
  }
  .heroContent-left,.reflection-img {
    order: 2;
  }
  .heroContent-right {
    order: 1;
  }

  /* consult */
  .consultItms-pic {
    flex: 2;
  }
}

/* ----------
  768px
  ---------- */
@media (max-width: 768px) {
  /* hero-contents */
  .hero-contents {
    width: 100%;
    background: url(../img/fv_bg_sp.png)center top;
    background-size: cover;
  }
  .heroContent-left {
    top: calc(-220 / 1024 * 100vw);
  }
  .heroContent-lists li:first-child {
    margin-right: 10px;
  }

  /* intro */
  .intro {
    padding: 20px 0 40px;
    padding-bottom: 30px;
    width: 100%;
    background: url(../img/intro_bg_sp.png)center bottom;
    background-size: cover;
  }
  .intro-lists li {
    width: 100%;
    max-width: 350px;
    margin: 0 auto;
  }
  .intro-lists li:nth-of-type(-n+3) {
    margin-bottom: 20px;
  }
  .intro h2 {
    font-size: 35px;
  }
  .intro h2 .middle {
    font-size: 25px;
  }
  .intro h2:after {
    width: 254px;
    height: 86px;
  }
  .intro:after {
    width: 130px;
    height: 30px;
    bottom: -29px;
  }

  /*subsidy */
  .subsidy {
    margin-top: 70px;
  }
  .subsidy .first h2,.target h2,.schedule h2,.flow h2,.service h2,.about h2 {
    margin-bottom: 25px;
    font-size: 30px;
  }
  .subsidy .first h2 span,.target h2 span,.schedule h2 span,.flow h2 span,.example h2 span,.service h2 span,.about h2 span {
    font-size: 20px;
  }
  .subsidy p {
    font-size: 16px;
  }
  .subsidy .txt_1st {
    margin-bottom: 25px;
  }
  .subsidy-itms {
    flex-direction: column;
    margin: 0 auto 25px!important;
  }
  .subsidy-itms li {
    width: 100%;
    max-width: 350px;
  }
  .subsidy-itms li:first-child {
    margin-bottom: 20px;
  }
  .subsidy-lists {
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 20px!important;
  }
  .subsidy-lists li,.subsidy-lists li:nth-of-type(odd) {
    width: 29%;
    margin: 4px;
  }
  .subsidy .second h2 {
    font-size: 20px;
  }
  .subsidy .second h2 .left:before,.subsidy .second h2 .right:after {
    width: 27px;
    height: 40px;
  }
  .subsidy-bottom img {
    max-width: 350px;
  }
  .subsidy .second:after {
    width: 130px;
    height: 30px;
    bottom: -29px;
  }

  /* target */
  .target {
    margin-top: 115px;
  }
  .target .txt_intro {
    font-size: 16px;
  }
  .target .txt_strong {
    margin-bottom: 25px;
    font-size: 18px;
  }
  .target-lists dl {
    flex-direction: column;
    max-width: 350px;
  }
  .target-lists dt {
    width: 100%;
  }
  .target-lists li:last-child {
    margin-bottom: 45px;
  }
  .target-itms {
    flex-direction: column;
    align-items: center;
  }
  .target-itms li {
    max-width: 350px;
    width: 100%;
  }
  .target-itms li:first-child {
    margin-bottom: 20px;
  }
  .target-itms li:first-child img {
    margin-bottom: 5px;
  }
  .target:after {
    width: 130px;
    height: 30px;
    bottom: -73px;
  }

  /* schedule */
  .schedule {
    padding: 115px 0 50px;
  }
  .schedule .txt_intro {
    font-size: 16px;
  }
  .schedule-itms {
    flex-direction: column;
    align-items: center;
  }
  .schedule-itms li {
    width: 100%;
    max-width: 350px;
  }
  .schedule-itms li:first-child {
    margin-bottom: 20px;
  }
  .schedule-itms dd {
    height: auto;
  }
  .schedule .attention {
    flex-direction: column;
    align-items: baseline;
    justify-content: center;
    max-width: 350px;
    margin: 0 auto 30px;
  }
  .schedule .attention .box {
    margin-bottom: 10px;
  }
  .schedule .txt_strong span {
    font-size: 18px;
  }
  .schedule:after {
    width: 130px;
    height: 30px;
    bottom: -29px;
  }

  /* flow */
  .flow {
    margin-top: 125px;
    padding-bottom: 45px;
  }
  .js-scrollable {
    overflow-x: auto;
    padding-bottom: 10px;
    margin-bottom: 30px;
    -webkit-overflow-scrolling: touch;
  }
  .flow-pic img {
    max-width: 100%;
    min-width: 886px;
    margin: 0 auto;
  }
  .flow .txt_intro {
    font-size: 16px;
  }
  .flow .txt_bottom {
    font-size: 18px;
  }
  .flow:after {
    width: 130px;
    height: 30px;
    bottom: -29px;
  }

  /* example */
  .example {
    padding: 125px 0 45px;
  }
  .example:after {
    width: 130px;
    height: 30px;
    bottom: -28px;
  }
  .example h2 {
    font-size: 30px;
  }
  .example-imts {
    justify-content: center;
    flex-direction: column;
    align-items: center;
  }
  .example-imts li {
    max-width: 350px;
    width: 100%;
  }
  .example-imts li:nth-of-type(-n+3) {
    margin-bottom: 70px;
  }

  /* service */
  .service {
    margin: 125px auto 45px;
  }
  .service .txt_intro {
    margin-bottom: 30px;
    font-size: 16px;
  }
  .service-itms li {
    width: 49%;
  }

  /* consult */
  .consult {
    padding: 45px 0;
  }
  .consult-itms {
    justify-content: center;
  }
  .consult-itms figcaption {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .consult-itms h2 {
    margin-bottom: 15px;
  }
  .consultItms-pic img {
    max-width: 350px;
    margin-bottom: 25px;
  }
  .consult-itms .txt {
    margin-bottom: 25px;
  }
  .consultItms-pic.sp {
    display: block;
  }
  .consultItms-pic.pc {
    display: none;
  }

  /* about */
  .about {
    margin: 90px auto 40px;
  }
  .about .txt_intro {
    text-align: left;
  }
  .about .txt_intro {
    margin-bottom: 20px;
  }
  .about-lists {
    flex-wrap: wrap;
    justify-content: center;
  }
  .about-lists li {
    width: 29%;
    margin: 0 4px;
  }
  .about-lists li:nth-of-type(-n+3) {
    margin-bottom: 8px;
  }
  .about .txt_intro.last {
    margin-bottom: 35px;
  }
  .about h3 img {
    margin: 0 auto 25px;
  }

  /* achievement */
  .achievement {
    padding: 40px 0 30px;
  }
  .achievement h2 img {
    margin: 0 auto 35px;
  }

  /* question */
  .question {
    margin: 40px auto;
  }
  .question-q {
    padding: 7px 45px 7px 15px;
  }
  .question h2 img {
    margin: 0 auto 30px;
  }

  /* contact */
  .contact {
    padding: 40px 0 60px;
  }
  .contact h2 img {
    margin: 0 auto 40px;
  }
}

/* ----------
  480px
  ---------- */
@media (max-width: 480px) {
  /* hero-contents */
  .heroContent-lists {
    max-width: 170px;
  }
  .heroContent-lists li {
    width: 80px;
    height: 80px;
    font-size: 20px;
  }
  .reflection-img {
    max-width: 38.54vw;
    border-radius: 50%;
    z-index: 1;
    will-change: transform;
  }
  .reflection-img {
    height: 38.54vw;
  }
  .heroContent-left .decorat {
    font-size: 17px;
  }
  .heroContent-left p {
    font-size: 16px;
  }
  .heroContent-left p br {
    display: none;
  }
  .heroContent-left .tb {
    display: inline-block;
  }

  /* consult */
  .consult-itms h2 {
    font-size: 28px;
  }
  .consult-itms h2 .dot {
    font-size: 14px;
  }
  .consult-itms h2 img {
    max-width: 50px;
  }
}
/* ----------
  380px
  ---------- */
@media (max-width: 380px) {
  /* hero-contents */
  .heroContent-left {
    top: calc(-78 / 480 * 100vw);
  }
}
