@charset "UTF-8";
.header {
  min-height: 75rem;
  height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: url("../../img/common/bg_main.jpg") no-repeat 50% 50%;
  background-size: cover;
  position: relative;
}

@media only screen and (max-width: 767px) {
  .header {
    height: auto;
    min-height: 0;
    padding-top: 6rem;
    padding-bottom: 4rem;
  }
}
.header:after {
  content: "";
  width: 100%;
  height: 10rem;
  background: url("../../img/entry/bg_main.svg");
  background-size: 100% 100%;
  position: absolute;
  left: 0;
  bottom: 0;
}

@media only screen and (max-width: 767px) {
  .header:after {
    height: 3rem;
  }
}
.header-catch {
  position: absolute;
  left: 50%;
  margin-left: -55rem;
  top: 5vw;
}

@media only screen and (max-width: 1024px) {
  .header-catch {
    margin-left: 0;
    left: 5rem;
  }
}
@media only screen and (max-width: 1024px) and (max-width: 767px) {
  .header-catch {
    position: static;
    margin-bottom: 0.5rem;
  }
}
.header-catch p {
  font-size: 2.4rem;
  display: flex;
  flex-direction: column;
}

@media only screen and (max-width: 767px) {
  .header-catch p {
    font-size: 1.8rem;
    align-items: center;
  }
}
.header-catch p mark {
  background: rgba(197, 46, 0, 0.9);
  padding: 0 1rem;
  color: #fff;
  margin-bottom: .5rem;
  margin-right: auto;
  font-weight: 700;
}

@media only screen and (max-width: 767px) {
  .header-catch p mark {
    margin: 0 auto 0.5rem;
  }
}
.header-wanted {
  background: url("../../img/entry/bg_wanted.svg") no-repeat;
  background-size: 100% 100%;
  width: 25rem;
  height: 5rem;
  color: #fff;
  font-size: 3rem;
  font-weight: 700;
  margin: 0 auto;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media only screen and (max-width: 767px) {
  .header-wanted {
    width: 20rem;
    height: 5rem;
    font-size: 2.4rem;
    margin-bottom: 1.5rem;
  }
}
.header-schedule {
  text-align: center;
  font-size: 2rem;
  line-height: 1.3;
  color: #fff;
  font-weight: 700;
  text-shadow: 1px 1px 5px #000;
  padding: 3rem 0 2rem;
}

@media only screen and (max-width: 767px) {
  .header-schedule {
    padding-top: 1.5rem;
    letter-spacing: 0;
    padding-bottom: 1rem;
  }
}
.header-schedule strong {
  font-size: 3.6rem;
}

@media only screen and (max-width: 767px) {
  .header-schedule strong {
    font-size: 3rem;
  }
}
.header-schedule span {
  font-size: 1.6rem;
  line-height: 1;
}

.header-schedule span b {
  font-size: 2.8rem;
}

.header-ttl {
  width: 40rem;
  height: 40rem;
  border-radius: 50%;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}

.header-ttl img {
  width: 27.5rem;
}

@media only screen and (max-width: 767px) {
  .header-ttl {
    width: 60vw;
    height: 60vw;
  }

  .header-ttl img {
    width: 40vw;
  }
}
.header-photo {
  width: 100%;
  height: 16.5rem;
  position: absolute;
  left: 0;
  bottom: -10rem;
  z-index: 2;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .header-photo {
    height: 8rem;
    bottom: -5rem;
  }
}
.header-photo ul {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.header-photo ul li {
  margin: 0 .5rem;
}
.header-photo ul li img {
  width: auto;
  max-width: none;
  height: 16.5rem;
}
@media only screen and (max-width: 767px) {
  .header-photo ul li img {
    height: 8rem;
  }
}

@media only screen and (max-width: 767px) {
  .header-letsgo {
    width: 100vw;
    height: 10rem;
    font-size: 1.8rem;
    margin-left: 0;
    position: static;
  }
}
.header-letsgo p {
  line-height: 1.2;
}

.header-letsgo strong {
  font-size: 6rem;
}

@media only screen and (max-width: 767px) {
  .header-letsgo strong {
    font-size: 4rem;
  }
}
.container .div-message {
  position: relative;
  z-index: 1;
  text-align: center;
  padding: 16rem 0 4rem;
  border-bottom: 1px solid #eb6100;
}

@media only screen and (max-width: 767px) {
  .container .div-message {
    padding: 10rem 0 4rem;
    letter-spacing: 0.1rem;
  }
}
.container .div-message-catch {
  text-align: center;
  padding-bottom: 2rem;
}

.container .div-message-catch p {
  font-size: 2.4rem;
  line-height: 1.4;
  font-weight: 700;
}

.container .div-message-catch p strong {
  font-size: 3.6rem;
}
@media only screen and (max-width: 767px) {
  .container .div-message-catch p strong {
    font-size: 3rem;
  }
}

.container .div-message-catch p strong mark {
  color: #eb6100;
  background: none;
}

.container .div-message > p {
  font-size: 1.8rem;
  line-height: 2;
  padding-bottom: 2.5em;
  position: relative;
  z-index: 2;
}

@media only screen and (max-width: 767px) {
  .container .div-message > p {
    font-size: 1.6rem;
    line-height: 2;
    padding: 0 2rem 1.5rem;
    text-align: left;
  }
}
.container .div-message .dl-message {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-bottom: 10rem;
}
@media only screen and (max-width: 767px) {
  .container .div-message .dl-message {
    padding: 2.5rem 1.5rem 0;
  }
}
.container .div-message .dl-message-question {
  padding-top: 5rem;
}
.container .div-message .dl-message-relife p {
  font-size: 1.8rem;
  line-height: 1;
  padding: 1.5rem 0;
}
.container .div-message .dl-message-relife p strong {
  font-size: 4rem;
}
.container .div-message .dl-message-relife p small {
  font-size: 1rem;
  letter-spacing: 0;
}
.container .div-message .dl-message-graph {
  display: flex;
  justify-content: center;
}
@media only screen and (max-width: 767px) {
  .container .div-message .dl-message-graph {
    flex-direction: column;
  }
}
.container .div-message .dl-message > div {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 10rem 1.5rem 0;
}
.container .div-message .dl-message > div dt {
  font-size: 2rem;
  background: #EC681F;
  color: #fff;
  padding: .1em 1.5em;
  margin-bottom: 1rem;
}
.container .div-message .dl-message > div dd figure {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0 1rem;
}
@media only screen and (max-width: 767px) {
  .container .div-message .dl-message > div dd figure {
    margin-bottom: 1.5rem;
  }
}
.container .div-message .dl-message > div dd figure img {
  max-width: 20rem;
}
.container .div-message .dl-message > div dd figure figcaption {
  background: rgba(0, 0, 0, 0.5);
  color: #fff;
  padding: .1em 1.5em;
  font-size: 1.4rem;
  margin: 1.5rem 0;
  letter-spacing: 0;
  border-radius: 5rem;
}

.section-comment {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 0 10rem 0;
}
@media only screen and (max-width: 767px) {
  .section-comment {
    padding-bottom: 4rem;
  }
}
.section-comment-ttl {
  font-size: 2rem;
  background: #EC681F;
  color: #fff;
  padding: .1em 1.5em;
  margin-bottom: 1rem;
}
.section-comment-quetion {
  display: flex;
  justify-content: center;
  padding-bottom: 5rem;
}
@media only screen and (max-width: 767px) {
  .section-comment-quetion {
    flex-direction: column;
  }
}
.section-comment-quetion figure {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0 1rem;
}
.section-comment-quetion figure img {
  max-width: 20rem;
}
.section-comment-quetion figure figcaption {
  background: rgba(0, 0, 0, 0.5);
  color: #fff;
  padding: .1em 1.5em;
  font-size: 1.4rem;
  margin: 1.5rem 0;
  letter-spacing: 0;
  border-radius: 5rem;
}
.section-comment dl {
  max-width: 100rem;
  margin: 0 auto;
  padding-top: 1rem;
}
.section-comment dl div {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin: .5rem;
  padding: 1.5rem;
  background: #eee;
  border-radius: 1rem;
}
@media only screen and (max-width: 767px) {
  .section-comment dl div {
    flex-direction: column;
    align-items: flex-start;
    margin: 1rem;
  }
}
.section-comment dl div dt {
  text-align: center;
  width: 10em;
  flex-shrink: 0;
  margin-right: 2rem;
  color: #666;
  letter-spacing: 0;
}
@media only screen and (max-width: 767px) {
  .section-comment dl div dt {
    width: 100%;
    text-align: left;
    margin: 0 0 .5rem;
  }
}

.aside-entry {
  padding: 5rem 1rem;
  background: url("../../img/entry/bg_form.jpg") 50% 50%;
  background-size: cover;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  position: relative;
  z-index: 1;
  margin-bottom: 1px;
}
@media only screen and (max-width: 767px) {
  .aside-entry {
    padding: 2.5rem;
  }
}
.aside-entry:after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: rgba(0, 0, 0, 0.7);
  z-index: -1;
}
.aside-entry-ttl {
  font-size: 3.2rem;
  color: #fff;
  letter-spacing: 0;
  padding-bottom: .5rem;
}
@media only screen and (max-width: 767px) {
  .aside-entry-ttl {
    font-size: 2.6rem;
    padding-bottom: 0;
  }
}
.aside-entry ul {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.aside-entry ul li {
  width: 100%;
  padding: .8rem;
}
@media only screen and (max-width: 767px) {
  .aside-entry ul li {
    padding: .5rem;
  }
}
.aside-entry ul li a {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 5rem;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  .aside-entry ul li a {
    font-size: 1.6rem;
  }
}
.aside-entry ul li a:hover {
  opacity: 0.75;
}
.aside-entry ul li:nth-of-type(1) a {
  max-width: 64rem;
  background: #EC681F;
  color: #fff;
  padding: .6em 2.5em;
}
@media only screen and (max-width: 767px) {
  .aside-entry ul li:nth-of-type(1) a {
    padding: .4em 0;
  }
}
.aside-entry ul li:nth-of-type(2) a {
  max-width: 40rem;
  color: #333;
  background: #fff;
  font-size: 1.6rem;
  padding: .8em 2em;
}
.aside-entry ul li:nth-of-type(2) a img {
  width: 1.2em;
}
@media only screen and (max-width: 767px) {
  .aside-entry ul li:nth-of-type(2) a {
    max-width: 22rem;
    font-size: 1.3rem;
    padding: .6em 0;
  }
}

.aside-fixbtn {
  position: fixed;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.85);
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 9999;
}
@media only screen and (max-width: 767px) {
  .aside-fixbtn {
    width: 100%;
    padding: 1rem;
  }
}
.aside-fixbtn-ttl {
  font-size: 1.6rem;
  color: #fff;
  letter-spacing: 0;
  padding-bottom: .5rem;
}
@media only screen and (max-width: 767px) {
  .aside-fixbtn-ttl {
    font-size: 1.2rem;
    padding-bottom: 0;
  }
}
.aside-fixbtn ul {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  .aside-fixbtn ul {
    flex-direction: row;
    width: 100%;
  }
}
.aside-fixbtn ul li {
  padding: .5rem;
}
@media only screen and (max-width: 767px) {
  .aside-fixbtn ul li {
    width: 100%;
  }
}
.aside-fixbtn ul li a {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 5rem;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0;
}
@media only screen and (max-width: 767px) {
  .aside-fixbtn ul li a {
    font-size: 1.4rem;
  }
}
.aside-fixbtn ul li a:hover {
  opacity: 0.75;
}
.aside-fixbtn ul li:nth-of-type(1) a {
  background: #EC681F;
  color: #fff;
  padding: .2em 2.5em;
}
@media only screen and (max-width: 767px) {
  .aside-fixbtn ul li:nth-of-type(1) a {
    padding: .4em 0;
  }
}
.aside-fixbtn ul li:nth-of-type(2) a {
  background: #fff;
  font-size: 1.6rem;
  padding: .2em 2em;
}
@media only screen and (max-width: 767px) {
  .aside-fixbtn ul li:nth-of-type(2) a {
    font-size: 1.4rem;
    padding: .4em 0;
  }
}

.container .div-message:before, .container .div-message:after {
  content: "";
  width: 100%;
  left: 0;
  bottom: 0;
  position: absolute;
}

.container .div-message:before {
  height: 39rem;
  background: url("../../img/common/bg_main.jpg") no-repeat;
  background-size: cover;
  opacity: 0.2;
  z-index: -2;
}

.container .div-message:after {
  height: 10rem;
  background-image: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, #fff 100%);
  position: absolute;
  bottom: 29rem;
  z-index: -1;
}

.container .div-history {
  background: url("../../img/common/bg_main.jpg") no-repeat;
  background-size: cover;
  padding: 10rem 2rem;
}

@media only screen and (max-width: 767px) {
  .container .div-history {
    padding: 5rem 2rem;
    letter-spacing: 0.1rem;
  }
}
.container .div-history > p {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-bottom: 5rem;
}

@media only screen and (max-width: 767px) {
  .container .div-history > p {
    padding-bottom: 2.5rem;
  }
}
.container .div-history > p mark {
  background: #eb6100;
  color: #fff;
  font-weight: 700;
  font-size: 3.2rem;
  margin-bottom: 1rem;
  padding: 0 1.5rem;
}

@media only screen and (max-width: 767px) {
  .container .div-history > p mark {
    font-size: 2rem;
    background: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .container .div-history > p mark span {
    background: #eb6100;
    font-weight: 700;
    margin-bottom: 1rem;
    padding: 0 1.5rem;
  }
}
.container .div-history-list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.container .div-history-list li {
  margin: 0 2rem;
}

@media only screen and (max-width: 767px) {
  .container .div-history-list li {
    margin: 0 0.5rem;
  }
}
.container .div-history-list li figure {
  width: 13rem;
  height: 13rem;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  overflow: hidden;
}

@media only screen and (max-width: 767px) {
  .container .div-history-list li figure {
    width: 8rem;
    height: 8rem;
  }
}
.container .section-key {
  padding: 0 0 10rem 0;
}

@media only screen and (max-width: 767px) {
  .container .section-key {
    padding: 0 0 4rem 0;
    letter-spacing: 0.1rem;
  }
}
.container .section-key-header {
  display: flex;
  justify-content: center;
  position: relative;
}

.container .section-key-header-ttl {
  background: #eb6100;
  color: #fff;
  font-size: 3rem;
  padding: 0 1rem;
}

@media only screen and (max-width: 767px) {
  .container .section-key-header-ttl {
    font-size: 2.4rem;
  }
}
.container .section-key-inner {
  max-width: 100rem;
  margin: -8rem auto 0;
  display: flex;
  align-items: center;
}

@media only screen and (max-width: 767px) {
  .container .section-key-inner {
    flex-direction: column;
    margin-top: 0;
  }
}
.container .section-key-inner-fig {
  max-width: 36rem;
  flex-shrink: 0;
  margin-right: 6rem;
}

@media only screen and (max-width: 767px) {
  .container .section-key-inner-fig {
    width: 24rem;
    margin: 1.5rem auto 2rem;
  }
}
.container .section-key-inner-txt {
  padding-top: 8rem;
  text-align: left;
}

@media only screen and (max-width: 767px) {
  .container .section-key-inner-txt {
    padding: 0 2rem 1.5rem;
  }
}
.container .section-key-inner-txt p {
  font-size: 1.6rem;
  padding-bottom: 1.6rem;
}

.container .section-key-inner-txt p strong {
  color: #eb6100;
  font-size: 2.4rem;
}

@media only screen and (max-width: 767px) {
  .container .section-key-inner-txt p strong {
    text-align: center;
    display: block;
    line-height: 1.3;
  }
}
.container .section-key-but {
  width: 36rem;
  height: 8.6rem;
  color: #fff;
  text-align: center;
  font-size: 2rem;
  line-height: 1.1;
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
  background: url("../../img/entry/bg_triangle_o.svg") no-repeat;
  background-size: 100% 100%;
  margin: 0 auto;
  padding-bottom: 1.5rem;
}

@media only screen and (max-width: 767px) {
  .container .section-key-but {
    font-size: 1.6rem;
  }
}
.container .section-key-check {
  text-align: center;
  padding-bottom: 7.5rem;
}

@media only screen and (max-width: 767px) {
  .container .section-key-check {
    padding: 0 1.5rem 2.5rem;
    text-align: left;
  }
}
.container .section-key-check-ttl {
  font-size: 3rem;
  color: #eb6100;
  padding: 4rem 0 2rem;
}

@media only screen and (max-width: 767px) {
  .container .section-key-check-ttl {
    text-align: center;
  }
}
.container .section-key-check figure {
  text-align: center;
  max-width: 63rem;
  margin: 0 auto 4rem;
}

.container .section-key-check > p {
  font-size: 1.6rem;
}

.container .section-key-check > p strong {
  color: #eb6100;
}

.container .section-key-promotion {
  background: url("../../img/common/bg_main.jpg");
  background-size: cover;
  padding: 5rem 0 10rem 0;
}

@media only screen and (max-width: 767px) {
  .container .section-key-promotion {
    padding-bottom: 3rem;
  }
}
.container .section-key-promotion-so {
  width: 36rem;
  height: 8.6rem;
  color: #eb6100;
  text-align: center;
  font-size: 2rem;
  line-height: 1.1;
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
  background: url("../../img/entry/bg_triangle_w.svg") no-repeat;
  background-size: 100% 100%;
  margin: 0 auto;
  padding-bottom: 1.5rem;
}

@media only screen and (max-width: 767px) {
  .container .section-key-promotion-so {
    font-size: 1.6rem;
  }
}
.container .section-key-promotion-catch {
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.container .section-key-promotion-catch p {
  display: flex;
  flex-direction: column;
  align-items: center;
}

@media only screen and (max-width: 767px) {
  .container .section-key-promotion-catch p {
    line-height: 1.3;
  }
}
.container .section-key-promotion-catch p mark {
  background: #fff;
  color: #eb6100;
  font-size: 3rem;
  padding: 0 1.5rem;
  margin-bottom: .8rem;
  font-weight: 700;
}

@media only screen and (max-width: 767px) {
  .container .section-key-promotion-catch p mark {
    font-size: 2.2rem;
    background: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .container .section-key-promotion-catch p mark span {
    background: #fff;
    color: #eb6100;
    padding: 0 1.5rem;
    margin-bottom: .8rem;
    font-weight: 700;
  }
}
.container .section-key-promotion dl {
  display: flex;
  justify-content: center;
}

@media only screen and (max-width: 767px) {
  .container .section-key-promotion dl {
    flex-direction: column;
    padding: 0 2rem;
  }
}
.container .section-key-promotion dl div {
  max-width: 36rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0 1rem;
  position: relative;
}

@media only screen and (max-width: 767px) {
  .container .section-key-promotion dl div {
    margin: 0 0 2rem;
  }
}
.container .section-key-promotion dl div dt {
  font-size: 2.2rem;
  padding: 0 1rem;
  height: 4rem;
  position: relative;
  margin: 0 auto -2rem;
  background: #eb6100;
  color: #fff;
  z-index: 3;
}

@media only screen and (max-width: 767px) {
  .container .section-key-promotion dl div dt {
    font-size: 2rem;
  }
}
.container .section-key-promotion dl div dt:before, .container .section-key-promotion dl div dt:after {
  content: "";
  border-style: solid;
  border-color: transparent;
  border-width: 4rem 1rem;
  position: absolute;
  top: 0;
}

.container .section-key-promotion dl div dt:before {
  border-right-color: #eb6100;
  border-bottom: #eb6100;
  left: -1.92rem;
}

.container .section-key-promotion dl div dt:after {
  border-left-color: #eb6100;
  border-top: #eb6100;
  right: -1.92rem;
}

.container .section-key-promotion dl div dd {
  position: relative;
}

.container .section-key-promotion dl div dd p {
  position: absolute;
  left: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.9);
  color: #fff;
  font-weight: 700;
  width: 100%;
  padding: .5rem;
  text-align: center;
  font-size: 1.6rem;
  letter-spacing: 0.1rem;
}

@media only screen and (max-width: 767px) {
  .container .section-key-promotion dl div dd p {
    font-size: 1.4rem;
  }
}
.container .section-approach {
  padding: 6rem 2rem 10rem;
  background: rgba(238, 238, 238, 0.5);
}

@media only screen and (max-width: 767px) {
  .container .section-approach {
    padding: 3rem 2rem;
    letter-spacing: 0.1rem;
  }
}
.container .section-approach-header {
  padding-bottom: 3rem;
}

@media only screen and (max-width: 767px) {
  .container .section-approach-header {
    margin: 0 auto;
    padding-bottom: 2rem;
  }
}
.container .section-approach-header-ttl {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.container .section-approach-header-ttl strong {
  background: #eb6100;
  color: #fff;
  font-size: 3rem;
  padding: 0 1.5rem;
  margin: 0 auto 1rem;
  font-weight: 700;
}

@media only screen and (max-width: 767px) {
  .container .section-approach-header-ttl strong {
    font-size: 2.4rem;
  }
}
.container .section-approach-inner > p {
  font-size: 1.6rem;
  margin-bottom: 2rem;
  text-align: center;
}

.container .section-approach-inner > p strong {
  font-size: 2.4rem;
  color: #eb6100;
}

@media only screen and (max-width: 767px) {
  .container .section-approach-inner > p strong {
    font-size: 2rem;
    display: block;
    line-height: 1.3;
  }
}
.container .section-approach-inner > p b {
  font-size: 2rem;
}

@media only screen and (max-width: 767px) {
  .container .section-approach-inner > p b {
    display: block;
    text-align: left;
    font-size: 1.6rem;
  }

  .container .section-approach-inner > p b br {
    display: none;
  }
}
.container .section-approach-inner-graph {
  max-width: 100rem;
  margin: 0 auto;
  background: rgba(238, 238, 238, 0.5);
  padding: 2.5rem;
  margin-bottom: 5rem;
  position: relative;
}

@media only screen and (max-width: 767px) {
  .container .section-approach-inner-graph {
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}
.container .section-approach-inner-graph figcaption {
  font-size: 1.9rem;
  text-align: center;
  font-weight: 700;
  padding-bottom: 1rem;
  display: block;
}

@media only screen and (max-width: 767px) {
  .container .section-approach-inner-graph figcaption {
    font-size: 1.6rem;
  }
}
.container .section-approach-inner-graph > p {
  color: #eb6100;
  font-size: 1.8rem;
  line-height: 1.3;
  letter-spacing: .1rem;
  text-align: center;
  font-weight: 700;
  position: absolute;
  right: -1rem;
  top: 0;
  transform: rotate(15deg);
  display: flex;
  align-items: center;
}

@media only screen and (max-width: 767px) {
  .container .section-approach-inner-graph > p {
    transform: rotate(0deg);
    position: static;
    margin: 0 auto 1rem;
    font-size: 1.4rem;
    text-align: center;
  }

  .container .section-approach-inner-graph > p br {
    display: none;
  }
}
.container .section-approach-inner-graph > p:before, .container .section-approach-inner-graph > p:after {
  content: "";
  width: .2rem;
  height: 8rem;
  background: #eb6100;
  margin: 0 1rem;
}

@media only screen and (max-width: 767px) {
  .container .section-approach-inner-graph > p:before, .container .section-approach-inner-graph > p:after {
    height: 3rem;
  }
}
.container .section-approach-inner-graph > p:before {
  transform: rotate(-25deg);
}

.container .section-approach-inner-graph > p:after {
  transform: rotate(25deg);
}

.container .section-approach-inner-activity {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.container .section-approach-inner-activity div {
  width: 23rem;
  margin: 0 1rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

@media only screen and (max-width: 1024px) {
  .container .section-approach-inner-activity div {
    margin: 0 0.5rem;
  }
}
@media only screen and (max-width: 1024px) and (max-width: 767px) {
  .container .section-approach-inner-activity div {
    width: 50%;
    margin: 0 0 4rem;
    padding: 0 0.8rem;
  }
}
.container .section-approach-inner-activity div dt {
  width: 100%;
  font-size: 1.6rem;
  line-height: 1.3;
  text-align: center;
  border-bottom: 0.3rem solid #eb6100;
  padding-bottom: 1rem;
  letter-spacing: 0;
  margin: auto 0 0;
}

@media only screen and (max-width: 767px) {
  .container .section-approach-inner-activity div dt {
    font-size: 1.4rem;
    height: 7rem;
    margin-top: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
  }
}
.container .section-approach-inner-activity div dt span {
  font-size: 1.3rem;
}

@media only screen and (max-width: 767px) {
  .container .section-approach-inner-activity div dt span {
    font-size: 1rem;
  }
}
.container .section-approach-inner-activity div dd {
  padding-top: 2rem;
  text-align: center;
  aspect-ratio: 5/6;
}

.container .section-approach-inner-activity div dd img {
  width: 20rem;
}

.container .section-approach-inner .attention {
  text-align: center;
  font-size: 1rem;
  letter-spacing: 0;
}

.container .section-price, .container .section-service, .container .section-schedule {
  padding: 10rem 2rem;
}

.stage_plan {
  background: #eee;
}
.stage_plan-btn a {
  font-weight: 700;
  max-width: 52rem;
  margin: 0 auto;
  background: #eb6100;
  color: #fff;
  border-radius: 5rem;
  font-size: 1.6rem;
  padding: 1em 3em;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  .stage_plan-btn a {
    max-width: 30rem;
    font-size: 1.4rem;
  }
}
.stage_plan-btn a:hover {
  background: #fff;
  color: #eb6100;
}

@media only screen and (max-width: 767px) {
  .container .section-price, .container .section-service, .container .section-schedule {
    padding: 5rem 2rem;
    letter-spacing: 0.1rem;
  }
}
.container .section-price-header, .container .section-service-header, .container .section-schedule-header {
  padding-bottom: 3rem;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
}

.container .section-price-header-ttl, .container .section-service-header-ttl, .container .section-schedule-header-ttl {
  font-size: 3.2rem;
  line-height: 1.3;
}

.container .section-price-header-en, .container .section-service-header-en, .container .section-schedule-header-en {
  font-size: 1.6rem;
  color: #eb6100;
}

@media only screen and (max-width: 767px) {
  .container .section-price-header-en, .container .section-service-header-en, .container .section-schedule-header-en {
    font-size: 1.3rem;
    line-height: 1;
  }
}
.container .section-price-inner > p, .container .section-service-inner > p, .container .section-schedule-inner > p {
  font-size: 1.6rem;
  text-align: center;
  padding-bottom: 1rem;
}

.container .section-service {
  background: rgba(238, 238, 238, 0.5);
}

.container .section-service-inner {
  max-width: 100rem;
  margin: 0 auto;
}

.container .section-service-inner dl {
  display: flex;
  justify-content: space-between;
  letter-spacing: 0;
}

@media only screen and (max-width: 767px) {
  .container .section-service-inner dl {
    flex-direction: column;
  }
}
.container .section-service-inner dl div {
  width: 25%;
  border-right: 1px solid #ccc;
  padding: 2rem;
}

@media only screen and (max-width: 767px) {
  .container .section-service-inner dl div {
    width: 100%;
    border: none;
    border-top: 1px solid #ccc;
  }
}
.container .section-service-inner dl div dt {
  font-size: 2rem;
  line-height: 1.3;
  text-align: left;
  padding-bottom: 2rem;
}

@media only screen and (max-width: 767px) {
  .container .section-service-inner dl div dt {
    text-align: center;
  }
}
.container .section-service-inner dl div dt small {
  display: block;
  margin-bottom: 0.5rem;
}

.container .section-service-inner dl div dd span {
  font-size: 1rem;
}

.container .section-service-inner dl div dd ul li {
  margin-bottom: .8rem;
  font-size: 1.2rem;
  padding-left: 1.2em;
  position: relative;
}

.container .section-service-inner dl div dd ul li:before {
  content: "■";
  position: absolute;
  left: 0;
  top: 0;
}

.container .section-service-inner dl div.type1 dt small {
  color: #b9abd3;
}

.container .section-service-inner dl div.type1 dd ul li:before {
  color: #b9abd3;
}

.container .section-service-inner dl div.type2 dt small {
  color: #e6a363;
}

.container .section-service-inner dl div.type2 dd ul li:before {
  color: #e6a363;
}

.container .section-service-inner dl div.type3 dt small {
  color: #88bcc7;
}

.container .section-service-inner dl div.type3 dd ul li:before {
  color: #88bcc7;
}

.container .section-service-inner dl div.type4 dt small {
  color: #aabc66;
}

.container .section-service-inner dl div.type4 dd ul li:before {
  color: #aabc66;
}

.container .section-price-inner {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.container .section-price-inner > p {
  width: 100%;
  padding-bottom: 4rem;
}

.container .section-price-inner .article-price {
  width: 39rem;
  margin: 0 5rem 5rem;
}

@media only screen and (max-width: 767px) {
  .container .section-price-inner .article-price {
    width: 90vw;
    margin: 0 auto 5rem;
  }
}
.container .section-price-inner .article-price-header {
  padding-bottom: 1rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.container .section-price-inner .article-price-header-ttl {
  background: #eb6100;
  color: #fff;
  font-size: 1.9rem;
  border-radius: 5rem;
  padding: 0 2.5rem;
  margin-bottom: 1rem;
}

.container .section-price-inner .article-price-header p {
  font-size: 1.6rem;
  text-align: center;
}

.container .section-price-inner .article-price-header p span {
  font-weight: 700;
  margin-right: 1rem;
}

.container .section-price-inner .dl-limit {
  font-size: 1.6rem;
  border-top: 1px solid #eee;
  margin-bottom: 2rem;
}

.container .section-price-inner .dl-limit.early {
  font-weight: 700;
}

.container .section-price-inner .dl-limit > dt {
  text-align: center;
  background: rgba(238, 238, 238, 0.4);
  padding: 1rem;
}

.container .section-price-inner .dl-limit > dd {
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee;
  padding: 1rem 0;
}

.container .section-price-inner .dl-limit > dd dl {
  display: flex;
  justify-content: space-between;
  letter-spacing: 0.1rem;
}

.container .section-price-inner .dl-limit > dd dl div {
  width: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.container .section-price-inner .dl-limit > dd dl div dt {
  font-size: 1.2rem;
  color: #666;
}

.container .section-price-inner .dl-limit > dd dl div dd span {
  font-size: 1.2rem;
}

.container .section-price-inner .dl-set {
  display: flex;
  flex-direction: column;
  align-items: center;
  letter-spacing: .1rem;
  margin-bottom: 2rem;
}

.container .section-price-inner .dl-set dt {
  line-height: 1;
  bottom: -.5em;
  color: #666;
  position: relative;
}

.container .section-price-inner .dl-set dd {
  background: rgba(238, 238, 238, 0.45);
  padding: 1.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: 100%;
  border-radius: 0.3rem;
}

.container .section-price-inner .dl-set dd ul {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin: 0 auto;
}

.container .section-price-inner .dl-set dd ul li {
  margin-right: 2rem;
  position: relative;
  padding-left: 1.2em;
}

.container .section-price-inner .dl-set dd ul li:before {
  content: "●";
  color: #888;
  position: absolute;
  left: 0;
  top: 0;
}

.container .section-price-inner .dl-set dd ul li span {
  font-size: 1.2rem;
}

.container .section-price-inner .dl-set dd > p span {
  font-size: 1.2rem;
}

.container .section-price-inner .dl-set dd > p b {
  font-size: 1.6rem;
  font-weight: 400;
}

.container .section-price-inner .aside-system {
  width: 100%;
  max-width: 80rem;
  margin: 0 auto;
  border: 0.3rem solid rgba(235, 97, 0, 0.6);
  padding: 4rem 2.5rem 2.5rem;
  position: relative;
  letter-spacing: 0.1rem;
}

.container .section-price-inner .aside-system-catch {
  width: 100%;
  position: absolute;
  left: 0;
  top: -1.2rem;
  display: flex;
  justify-content: center;
  align-items: center;
}

.container .section-price-inner .aside-system-catch strong {
  background: #fff;
  font-size: 2.4rem;
  line-height: 1;
  color: #eb6100;
  padding: 0 1.5rem;
  margin: 0 auto;
}

@media only screen and (max-width: 767px) {
  .container .section-price-inner .aside-system-catch strong {
    font-size: 1.8rem;
    line-height: 2.4rem;
  }
}
.container .section-price-inner .aside-system-header {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.container .section-price-inner .aside-system-header p {
  font-size: 1.6rem;
  color: #eb6100;
  font-weight: 700;
}

.container .section-price-inner .aside-system-header-ttl {
  background: #eb6100;
  color: #fff;
  font-size: 2.4rem;
  padding: 0 1.5rem;
  border-radius: 5rem;
  margin-bottom: 1.5rem;
}

@media only screen and (max-width: 767px) {
  .container .section-price-inner .aside-system-header-ttl {
    font-size: 2rem;
    line-height: 1.2;
    text-align: center;
    padding: 0.5rem 1.5rem;
  }
}
.container .section-price-inner .aside-system-fig {
  padding: 3rem 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  .container .section-price-inner .aside-system-fig {
    flex-direction: column;
    padding-bottom: 0;
  }
}
.container .section-price-inner .aside-system-fig ul li {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-weight: 700;
  margin-bottom: .5rem;
}
@media only screen and (max-width: 767px) {
  .container .section-price-inner .aside-system-fig ul li {
    margin-bottom: 0;
  }
}
.container .section-price-inner .aside-system-fig ul li:before {
  content: "";
  width: 2.4rem;
  height: 2.4rem;
  background: url("../../img/common/icon_check.svg") no-repeat;
  background-size: 2.4rem auto;
  flex-shrink: 0;
  margin-right: .8rem;
}
.container .section-price-inner .aside-system-fig figure {
  max-width: 35rem;
  margin-right: 1.5rem;
  flex-shrink: 0;
  position: relative;
}
.container .section-price-inner .aside-system-fig figure img {
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .container .section-price-inner .aside-system-fig figure {
    margin: 0 auto 1.5rem;
    max-width: 100%;
  }
}
.container .section-price-inner .aside-system-fig figure figcaption {
  background: rgba(255, 255, 255, 0.8);
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0;
  text-align: center;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  line-height: 1.2;
  padding: .3em .6em;
  color: #eb6100;
}
@media only screen and (max-width: 767px) {
  .container .section-price-inner .aside-system-fig figure figcaption {
    font-size: 1.5rem;
  }
}

@media only screen and (max-width: 767px) {
  .container .section-price-inner .aside-system-fig {
    width: 100%;
  }
}
.container .section-price-inner .aside-system p {
  font-size: 1.6rem;
  text-align: center;
}

.container .section-schedule-inner dl {
  display: flex;
  justify-content: center;
  letter-spacing: 0;
}

@media only screen and (max-width: 767px) {
  .container .section-schedule-inner dl {
    flex-direction: column;
    align-items: center;
  }
}
.container .section-schedule-inner dl div {
  width: 20rem;
  margin: 0 .5rem;
  border: 1px solid #eb6100;
  font-size: 1.5rem;
  line-height: 1.3;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

@media only screen and (max-width: 767px) {
  .container .section-schedule-inner dl div {
    width: 24rem;
    margin: 0 auto 1rem;
  }
}
.container .section-schedule-inner dl div dt {
  width: 100%;
  background: #eb6100;
  color: #fff;
  padding: 1rem;
}

.container .section-schedule-inner dl div dd {
  font-weight: 700;
  padding: 1.5rem 1rem;
  margin: auto 0;
}

.container .section-stage-inner p {
  font-size: 1.8rem;
  text-align: center;
  padding-bottom: 1.5rem;
}

@media only screen and (max-width: 767px) {
  .container .section-stage-inner p {
    font-size: 1.6rem;
    letter-spacing: .1rem;
    padding-bottom: 1rem;
  }
}
.container .section-stage-inner p small {
  font-size: 80%;
}

.container .section-stage-inner ul {
  max-width: 90rem;
  margin: 0 auto 2rem;
  display: flex;
  justify-content: center;
}

@media only screen and (max-width: 767px) {
  .container .section-stage-inner ul {
    flex-wrap: wrap;
    margin-bottom: 0;
  }
}
.container .section-stage-inner ul li {
  width: 22rem;
  padding: 1rem;
}

@media only screen and (max-width: 767px) {
  .container .section-stage-inner ul li {
    width: 50%;
    margin-bottom: 1.5rem;
  }
}
.container .section-stage-inner ul li figure {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  overflow: hidden;
}

.container .section-stage-inner ul li figcaption {
  font-size: 1.4rem;
  text-align: center;
  padding-top: 0rem;
  letter-spacing: 0.1rem;
}

.container .section-stage-inner ul li span {
  font-size: 60%;
  font-weight: 200;
  margin-bottom: -1rem;
}

@media only screen and (max-width: 767px) {
  .container .section-stage-inner ul li figure figcaption {
    letter-spacing: 0;
  }
}
@media only screen and (max-width: 767px) {
  .container .section-stage-inner ul li {
    width: 50%;
    padding: 0.5rem;
  }
}