@charset "UTF-8";
a {
  text-decoration: none;
}

html {
  -webkit-text-size-adjust: 100%;
  overflow-x: hidden;
}

h1, h2, h3, h4, h5, dl, dt, dd, ul, ol, li {
  font-size: 100%;
  line-height: 1;
  margin: 0;
  padding: 0;
}

p {
  margin: 0;
  padding: 0;
}

ul, ol, li {
  list-style: none;
}

/* =======================================
 base style
======================================= */
body {
  background: #fff;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1;
  margin: auto;
  width: 100%;
}
@media only screen and (min-width: 769px) {
  body {
    font-size: 1.333vw;
  }
}
@media only screen and (min-width: 1200px) {
  body {
    font-size: 16px;
    min-width: 1200px;
  }
}
@media only screen and (max-width: 768px) {
  body {
    font-size: 3.467vw;
    overflow-x: hidden;
  }
}

img {
  width: 100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.main-wrapper {
  position: relative;
}

section {
  position: relative;
}
@media only screen and (min-width: 769px) {
  section {
    margin: auto;
    max-width: 125em;
  }
}

a:hover {
  opacity: 0.8;
}

.section-container {
  margin: auto;
  position: relative;
}
@media only screen and (min-width: 769px) {
  .section-container {
    width: 83.333vw;
    max-width: 1000px;
  }
}
@media only screen and (max-width: 768px) {
  .section-container {
    padding: 0 5.333%;
  }
}

@media only screen and (max-width: 768px) {
  .pc {
    display: none !important;
  }
}

@media only screen and (min-width: 769px) {
  .sp {
    display: none !important;
  }
}

.common__btn {
  position: absolute;
}
@media only screen and (min-width: 769px) {
  .common__btn {
    width: 56.313em;
    left: 3.75em;
  }
}
@media only screen and (max-width: 768px) {
  .common__btn {
    width: 102.8vw;
    left: 0vw;
  }
}
@media only screen and (min-width: 769px) {
  .common__btn--challenge {
    top: -4.25em;
  }
}
@media only screen and (max-width: 768px) {
  .common__btn--challenge {
    top: -13.067vw;
  }
}
@media only screen and (min-width: 769px) {
  .common__btn--group {
    top: 76.25em;
  }
}
@media only screen and (max-width: 768px) {
  .common__btn--group {
    top: 286vw;
  }
}

.fixed {
  background-color: #fff;
  position: fixed;
  width: 100%;
  z-index: 9;
  display: none;
}
@media only screen and (min-width: 769px) {
  .fixed {
    top: 0;
    background-color: rgba(60, 60, 60, 0.85);
  }
}
@media only screen and (max-width: 768px) {
  .fixed {
    right: 0;
    bottom: 0;
  }
}
@media only screen and (min-width: 769px) {
  .fixed__btn {
    display: flex;
    margin: auto;
    align-items: center;
    justify-content: center;
    gap: 1.25em;
    padding-left: 2.25em;
  }
}
@media only screen and (max-width: 768px) {
  .fixed__btn {
    position: fixed;
    right: 0;
    bottom: 0;
  }
}
@media only screen and (min-width: 769px) {
  .fixed__logo {
    position: relative;
    width: 9.5em;
    top: -0.375em;
  }
}
@media only screen and (min-width: 769px) {
  .fixed__link img {
    width: 41.375em;
  }
}
@media only screen and (max-width: 768px) {
  .fixed__link img {
    width: 37.867vw;
  }
}

@media only screen and (min-width: 769px) {
  .top {
    background: url("../img/pc_top_bg.jpg") no-repeat 50% 0%;
    background-size: 125em auto;
    height: 50.375em;
  }
}
@media only screen and (max-width: 768px) {
  .top {
    background: url("../img/sp_top_bg.jpg") no-repeat 50% 0;
    background-size: 100vw auto;
    height: 160vw;
  }
}
.top__logo {
  position: absolute;
}
@media only screen and (min-width: 769px) {
  .top__logo {
    top: 1.063em;
    right: 0;
    width: 11.875em;
  }
}
@media only screen and (max-width: 768px) {
  .top__logo {
    top: 6.4vw;
    left: 56.4vw;
    width: 38vw;
  }
}
.top__title {
  position: absolute;
}
@media only screen and (min-width: 769px) {
  .top__title {
    top: 1.75em;
    left: 2.563em;
    width: 61.563em;
  }
}
@media only screen and (max-width: 768px) {
  .top__title {
    top: 7.067vw;
    left: 1.6vw;
    width: 99.333vw;
  }
}
.top__point {
  position: absolute;
}
@media only screen and (min-width: 769px) {
  .top__point {
    top: 35.125em;
    left: 12.25em;
    width: 41.438em;
  }
}
@media only screen and (max-width: 768px) {
  .top__point {
    top: 105.733vw;
    left: 4vw;
    width: 55.2vw;
  }
}
.top__experience {
  position: absolute;
}
@media only screen and (min-width: 769px) {
  .top__experience {
    top: 30.625em;
    left: 40.25em;
    width: 17.688em;
  }
}
@media only screen and (max-width: 768px) {
  .top__experience {
    top: 105.333vw;
    right: -1.333vw;
    width: 46.8vw;
  }
}

@media only screen and (min-width: 769px) {
  .present {
    background: url("../img/pc_present_bg.jpg") no-repeat 50% 0%;
    background-size: 125em auto;
    height: 59.375em;
  }
}
@media only screen and (max-width: 768px) {
  .present {
    background: url("../img/sp_present_bg.jpg") no-repeat 50% 0;
    background-size: 100vw auto;
    height: 281.333vw;
  }
}
.present__title {
  position: absolute;
}
@media only screen and (min-width: 769px) {
  .present__title {
    top: 8.25em;
    left: 8.813em;
  }
}
@media only screen and (max-width: 768px) {
  .present__title {
    top: 76.933vw;
    left: 5.2vw;
  }
}
@media only screen and (min-width: 769px) {
  .present__title img {
    width: 52.125em;
  }
}
@media only screen and (max-width: 768px) {
  .present__title img {
    width: 91.333vw;
  }
}
.present__sub {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: absolute;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (min-width: 769px) {
  .present__sub {
    top: 20.625em;
  }
}
@media only screen and (max-width: 768px) {
  .present__sub {
    top: 116vw;
  }
}
.present__sub h1 {
  color: #000000;
  text-align: center;
  font-weight: 700;
}
@media only screen and (min-width: 769px) {
  .present__sub h1 {
    font-size: 1.5em;
    line-height: 1.583em;
  }
}
@media only screen and (max-width: 768px) {
  .present__sub h1 {
    font-size: 3.6vw;
    line-height: 6.667vw;
  }
}
.present__list {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  margin: auto;
}
@media only screen and (min-width: 769px) {
  .present__list {
    top: 27.75em;
    left: 10.25em;
    gap: 0.625em;
  }
}
@media only screen and (max-width: 768px) {
  .present__list {
    top: 135.467vw;
    left: 17.067vw;
    gap: 2.667vw;
  }
}
.present__list li {
  display: flex;
  align-items: center;
}
@media only screen and (min-width: 769px) {
  .present__list li {
    height: 5em;
  }
}
@media only screen and (max-width: 768px) {
  .present__list li {
    height: 19.333vw;
  }
}
@media only screen and (min-width: 769px) {
  .present__list li:nth-of-type(1) img {
    width: 35.5em;
  }
}
@media only screen and (max-width: 768px) {
  .present__list li:nth-of-type(1) img {
    width: 61.867vw;
  }
}
@media only screen and (min-width: 769px) {
  .present__list li:nth-of-type(2) img {
    width: 32.25em;
  }
}
@media only screen and (max-width: 768px) {
  .present__list li:nth-of-type(2) img {
    width: 54.267vw;
  }
}
@media only screen and (min-width: 769px) {
  .present__list li:nth-of-type(3) img {
    width: 44.063em;
  }
}
@media only screen and (max-width: 768px) {
  .present__list li:nth-of-type(3) img {
    width: 65.467vw;
  }
}

@media only screen and (min-width: 769px) {
  .challenge {
    background: url("../img/pc_challenge_bg.png") no-repeat 50% 0%, rgb(255, 241, 0);
    background-size: 125em auto;
    height: 118.75em;
  }
}
@media only screen and (max-width: 768px) {
  .challenge {
    background: url("../img/sp_challenge_bg.png") no-repeat 50% 0, rgb(255, 241, 0);
    background-size: 100vw auto;
    height: 417.333vw;
  }
}
.challenge__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: absolute;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (min-width: 769px) {
  .challenge__title {
    top: 5em;
    gap: 0.625em;
  }
}
@media only screen and (max-width: 768px) {
  .challenge__title {
    top: 8vw;
    gap: 1.333vw;
  }
}
.challenge__title h1 {
  color: #000000;
  text-align: center;
  font-weight: 700;
}
@media only screen and (min-width: 769px) {
  .challenge__title h1 {
    font-size: 2.188em;
  }
}
@media only screen and (max-width: 768px) {
  .challenge__title h1 {
    font-size: 4.4vw;
  }
}
@media only screen and (min-width: 769px) {
  .challenge__title h2 {
    width: 50.563em;
  }
}
@media only screen and (max-width: 768px) {
  .challenge__title h2 {
    width: 91.333vw;
  }
}
.challenge__slogan {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: absolute;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (min-width: 769px) {
  .challenge__slogan {
    width: 61.25em;
    top: 14.063em;
  }
}
@media only screen and (max-width: 768px) {
  .challenge__slogan {
    width: 93.467vw;
    top: 31.333vw;
  }
}
.challenge__list {
  position: relative;
  margin: auto;
}
@media only screen and (min-width: 769px) {
  .challenge__list {
    background: url("../img/pc_challenge_list_bg.png") no-repeat 50% 0%;
    background-size: 62.313em 42.5em;
    width: 62.313em;
    height: 42.5em;
    top: 28.063em;
  }
}
@media only screen and (max-width: 768px) {
  .challenge__list {
    background: url("../img/sp_challenge_list_bg.png") no-repeat 50% 0;
    background-size: 91.6vw 206vw;
    width: 91.6vw;
    height: 206vw;
    top: 78vw;
  }
}
.challenge__list li:nth-of-type(1) .challenge__list-title {
  position: absolute;
}
@media only screen and (min-width: 769px) {
  .challenge__list li:nth-of-type(1) .challenge__list-title {
    top: 7.813em;
    left: 9.125em;
  }
}
@media only screen and (max-width: 768px) {
  .challenge__list li:nth-of-type(1) .challenge__list-title {
    top: 8.267vw;
    left: 28vw;
  }
}
.challenge__list li:nth-of-type(1) .challenge__list-detail {
  position: absolute;
}
@media only screen and (min-width: 769px) {
  .challenge__list li:nth-of-type(1) .challenge__list-detail {
    top: 18.5em;
    left: 1.875em;
  }
}
@media only screen and (max-width: 768px) {
  .challenge__list li:nth-of-type(1) .challenge__list-detail {
    top: 39.333vw;
    left: 6.933vw;
  }
}
.challenge__list li:nth-of-type(1) .challenge__list-detail h3 {
  display: flex;
  align-items: center;
}
.challenge__list li:nth-of-type(1) .challenge__list-detail h3 img {
  position: relative;
}
@media only screen and (min-width: 769px) {
  .challenge__list li:nth-of-type(1) .challenge__list-detail h3 img {
    top: -0.25em;
    width: 3.75em;
    margin-left: 0.25em;
  }
}
@media only screen and (max-width: 768px) {
  .challenge__list li:nth-of-type(1) .challenge__list-detail h3 img {
    top: -0.8vw;
    width: 10.133vw;
    margin-left: 0.533vw;
  }
}
@media only screen and (min-width: 769px) {
  .challenge__list li:nth-of-type(1) .challenge__list-detail p {
    width: 17.125em;
  }
}
@media only screen and (max-width: 768px) {
  .challenge__list li:nth-of-type(1) .challenge__list-detail p {
    width: 47.733vw;
  }
}
.challenge__list li:nth-of-type(2) .challenge__list-title {
  position: absolute;
}
@media only screen and (min-width: 769px) {
  .challenge__list li:nth-of-type(2) .challenge__list-title {
    top: 11.875em;
    left: 25.375em;
  }
}
@media only screen and (max-width: 768px) {
  .challenge__list li:nth-of-type(2) .challenge__list-title {
    top: 127.733vw;
    left: 7.067vw;
  }
}
.challenge__list li:nth-of-type(2) .challenge__list-detail {
  position: absolute;
}
@media only screen and (min-width: 769px) {
  .challenge__list li:nth-of-type(2) .challenge__list-detail {
    top: 15.625em;
    left: 43.625em;
  }
}
@media only screen and (max-width: 768px) {
  .challenge__list li:nth-of-type(2) .challenge__list-detail {
    top: 100vw;
    left: 41.333vw;
  }
}
@media only screen and (min-width: 769px) {
  .challenge__list li:nth-of-type(2) .challenge__list-detail p {
    width: 12.625em;
    margin-top: 0.625em;
  }
}
@media only screen and (max-width: 768px) {
  .challenge__list li:nth-of-type(2) .challenge__list-detail p {
    width: 35.6vw;
    margin-top: 1.333vw;
  }
}
.challenge__list li:nth-of-type(3) .challenge__list-title {
  position: absolute;
}
@media only screen and (min-width: 769px) {
  .challenge__list li:nth-of-type(3) .challenge__list-title {
    top: 2em;
    left: 43.625em;
  }
}
@media only screen and (max-width: 768px) {
  .challenge__list li:nth-of-type(3) .challenge__list-title {
    top: 61.6vw;
    left: 54.4vw;
  }
}
.challenge__list li:nth-of-type(3) .challenge__list-detail {
  position: absolute;
}
@media only screen and (min-width: 769px) {
  .challenge__list li:nth-of-type(3) .challenge__list-detail {
    top: 29.625em;
    left: 20.188em;
  }
}
@media only screen and (max-width: 768px) {
  .challenge__list li:nth-of-type(3) .challenge__list-detail {
    top: 170.133vw;
    left: 5.6vw;
  }
}
@media only screen and (min-width: 769px) {
  .challenge__list li:nth-of-type(3) .challenge__list-detail p {
    width: 28.75em;
    margin-top: 0.625em;
  }
}
@media only screen and (max-width: 768px) {
  .challenge__list li:nth-of-type(3) .challenge__list-detail p {
    width: 80.267vw;
    margin-top: 1.333vw;
  }
}
.challenge__list-title h2 {
  color: #fff;
  font-weight: 700;
  text-align: center;
  line-height: 1.3;
}
@media only screen and (min-width: 769px) {
  .challenge__list-title h2 {
    font-size: 1.75em;
  }
}
@media only screen and (max-width: 768px) {
  .challenge__list-title h2 {
    font-size: 4.933vw;
  }
}
.challenge__list-title h2 small {
  font-weight: 500;
}
@media only screen and (min-width: 769px) {
  .challenge__list-title h2 small {
    font-size: 0.688em;
  }
}
@media only screen and (max-width: 768px) {
  .challenge__list-title h2 small {
    font-size: 3.6vw;
  }
}
.challenge__list-detail {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.challenge__list-detail h3 {
  color: #000000;
  font-weight: 700;
  text-align: center;
}
@media only screen and (min-width: 769px) {
  .challenge__list-detail h3 {
    line-height: 1.2;
    font-size: 1.375em;
  }
}
@media only screen and (max-width: 768px) {
  .challenge__list-detail h3 {
    line-height: 1.4;
    font-size: 3.733vw;
  }
}
.challenge__tag {
  position: absolute;
  color: #fff;
  text-align: center;
  font-weight: 700;
  transform: rotate(343deg);
  line-height: 1.3;
}
@media only screen and (min-width: 769px) {
  .challenge__tag {
    font-size: 2.25em;
    top: 33.944em;
    left: 1.833em;
  }
}
@media only screen and (max-width: 768px) {
  .challenge__tag {
    font-size: 5.067vw;
    top: 297.6vw;
    left: 38.933vw;
  }
}
.challenge__support {
  position: absolute;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (min-width: 769px) {
  .challenge__support {
    display: flex;
    flex-direction: column;
    align-items: center;
    top: 79.125em;
  }
}
@media only screen and (max-width: 768px) {
  .challenge__support {
    top: 314.667vw;
    left: 6.933vw;
  }
}
@media only screen and (min-width: 769px) {
  .challenge__support h2 {
    width: 28.375em;
  }
}
@media only screen and (max-width: 768px) {
  .challenge__support h2 {
    width: 77.333vw;
  }
}
@media only screen and (min-width: 769px) {
  .challenge__support-video {
    width: 42.25em;
    height: 23.75em;
    margin-top: 1.875em;
  }
}
@media only screen and (max-width: 768px) {
  .challenge__support-video {
    width: 90.133vw;
    height: 50.667vw;
    margin-top: 8vw;
  }
}

@media only screen and (min-width: 769px) {
  .group {
    background: url("../img/pc_group_bg.jpg") no-repeat 50% 0%;
    background-size: 125em auto;
    height: 91.25em;
  }
}
@media only screen and (max-width: 768px) {
  .group {
    background: url("../img/sp_group_bg.jpg") no-repeat 50% 0;
    background-size: 100vw auto;
    height: 321.333vw;
  }
}
.group__title {
  position: absolute;
}
@media only screen and (min-width: 769px) {
  .group__title {
    width: 51.125em;
    top: 6.063em;
    left: 0.5em;
  }
}
@media only screen and (max-width: 768px) {
  .group__title {
    width: 84.533vw;
    top: 12.133vw;
    left: 10.133vw;
  }
}
.group__tag {
  display: inline-block;
  position: absolute;
  color: #e60012;
  text-align: center;
  font-weight: 700;
  transform: rotate(10deg);
  line-height: 1.2;
}
@media only screen and (min-width: 769px) {
  .group__tag {
    font-size: 2.25em;
    width: 5.278em;
    top: 6.167em;
    left: 22.833em;
  }
}
@media only screen and (max-width: 768px) {
  .group__tag {
    width: 20vw;
    top: 40.4vw;
    left: 77.067vw;
    font-size: 3.733vw;
  }
}
.group__intro {
  position: absolute;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  color: #000000;
  text-align: center;
  font-weight: 500;
  line-height: 1.6;
}
@media only screen and (min-width: 769px) {
  .group__intro {
    font-size: 1.5em;
    top: 15.583em;
  }
}
@media only screen and (max-width: 768px) {
  .group__intro {
    top: 46.667vw;
    font-size: 3.6vw;
  }
}
.group__list {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: absolute;
}
@media only screen and (min-width: 769px) {
  .group__list {
    top: 41.438em;
    left: 10.375em;
    gap: 1.625em;
  }
}
@media only screen and (max-width: 768px) {
  .group__list {
    top: 118vw;
    left: 6.133vw;
  }
}
.group__list li {
  position: relative;
}
@media only screen and (max-width: 768px) {
  .group__list li {
    margin-top: 5.333vw;
  }
}
@media only screen and (max-width: 768px) {
  .group__list li:after {
    content: "";
    position: absolute;
    display: inline-block;
    left: 6.667vw;
    background-color: #fff;
    bottom: -4vw;
    width: 77.333vw;
    border-bottom: 0.267vw solid #ffffff;
  }
}
@media only screen and (max-width: 768px) {
  .group__list li:nth-of-type(1):after {
    bottom: -1.6vw;
  }
}
@media only screen and (min-width: 769px) {
  .group__list li:nth-of-type(1) img {
    width: 31.438em;
  }
}
@media only screen and (max-width: 768px) {
  .group__list li:nth-of-type(1) img {
    width: 76.533vw;
  }
}
@media only screen and (min-width: 769px) {
  .group__list li:nth-of-type(2) img {
    width: 40.063em;
  }
}
@media only screen and (max-width: 768px) {
  .group__list li:nth-of-type(2) img {
    width: 63.2vw;
  }
}
@media only screen and (min-width: 769px) {
  .group__list li:nth-of-type(3) img {
    width: 45.438em;
  }
}
@media only screen and (max-width: 768px) {
  .group__list li:nth-of-type(3) img {
    width: 72.133vw;
  }
}
@media only screen and (min-width: 769px) {
  .group__list li:nth-of-type(4) img {
    width: 36.688em;
  }
}
@media only screen and (max-width: 768px) {
  .group__list li:nth-of-type(4) img {
    width: 67.867vw;
  }
}
@media only screen and (min-width: 769px) {
  .group__list li:nth-of-type(5) img {
    width: 32.063em;
  }
}
@media only screen and (max-width: 768px) {
  .group__list li:nth-of-type(5) img {
    width: 54.4vw;
  }
}
.group__list-title {
  display: flex;
  align-items: flex-start;
  position: relative;
}
.group__list-title img {
  position: relative;
}
@media only screen and (min-width: 769px) {
  .group__list-title img {
    top: 0.875em;
    padding-bottom: 0.438em;
    border-bottom: 0.125em solid #ffffff;
  }
}
@media only screen and (max-width: 768px) {
  .group__list-title img {
    top: 2.667vw;
  }
}
.group__list-title::before {
  content: "";
  display: inline-block;
  background-image: url("../img/group_check.png");
  background-size: contain;
  background-repeat: no-repeat;
}
@media only screen and (min-width: 769px) {
  .group__list-title::before {
    width: 2.625em;
    height: 2.688em;
  }
}
@media only screen and (max-width: 768px) {
  .group__list-title::before {
    width: 6.4vw;
    height: 6.533vw;
  }
}
.group__job {
  position: absolute;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (min-width: 769px) {
  .group__job {
    top: 68.438em;
  }
}
@media only screen and (max-width: 768px) {
  .group__job {
    top: 242.933vw;
  }
}
.group__job h2 {
  color: #000000;
  font-weight: 700;
  text-align: center;
}
@media only screen and (min-width: 769px) {
  .group__job h2 {
    font-size: 1.75em;
  }
}
@media only screen and (max-width: 768px) {
  .group__job h2 {
    line-height: 2;
    font-size: 4.667vw;
  }
}
.group__job h2 span {
  position: relative;
  display: inline-block;
}
@media only screen and (min-width: 769px) {
  .group__job h2 span:after {
    position: absolute;
    content: "";
    display: inline-block;
    background-image: url("../img/group_wave.png");
    background-size: contain;
    background-repeat: no-repeat;
    left: 0;
    width: 28em;
    height: 0.286em;
    bottom: -0.5em;
  }
}
@media only screen and (max-width: 768px) {
  .group__job h2 span:nth-of-type(1):after {
    position: absolute;
    content: "";
    display: inline-block;
    background-image: url("../img/group_wave_sp01.png");
    background-size: contain;
    background-repeat: no-repeat;
    left: 0;
    width: 84vw;
    height: 1.067vw;
    bottom: -0.267vw;
  }
}
@media only screen and (max-width: 768px) {
  .group__job h2 span:nth-of-type(2):after {
    position: absolute;
    content: "";
    display: inline-block;
    background-image: url("../img/group_wave_sp02.png");
    background-size: contain;
    background-repeat: no-repeat;
    left: 0;
    width: 48vw;
    height: 1.067vw;
    bottom: -0.267vw;
  }
}
.group__job p {
  color: #000000;
  font-weight: 700;
  text-align: center;
}
@media only screen and (min-width: 769px) {
  .group__job p {
    font-size: 1.5em;
    margin-top: 1.667em;
  }
}
@media only screen and (max-width: 768px) {
  .group__job p {
    line-height: 1.8;
    font-size: 3.6vw;
    margin-top: 6.133vw;
  }
}

@media only screen and (min-width: 769px) {
  .feature {
    background: url("../img/pc_feature_bg.jpg") no-repeat 50% 0%;
    background-size: 125em auto;
    height: 127.5em;
  }
}
@media only screen and (max-width: 768px) {
  .feature {
    background: url("../img/sp_feature_bg.jpg") no-repeat 50% 0;
    background-size: 100vw auto;
    height: 590.667vw;
  }
}
.feature__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: absolute;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (min-width: 769px) {
  .feature__title {
    top: 6.875em;
  }
}
@media only screen and (max-width: 768px) {
  .feature__title {
    top: 13.333vw;
  }
}
.feature__title h1 {
  color: #fff;
  font-weight: 700;
  text-align: center;
}
@media only screen and (min-width: 769px) {
  .feature__title h1 {
    font-size: 2.75em;
  }
}
@media only screen and (max-width: 768px) {
  .feature__title h1 {
    line-height: 2;
    font-size: 5.867vw;
  }
}
.feature__title h2 {
  position: relative;
}
@media only screen and (max-width: 768px) {
  .feature__title h2 {
    left: -2.667vw;
  }
}
@media only screen and (min-width: 769px) {
  .feature__title h2 img {
    width: 54.063em;
    margin-top: 0.375em;
  }
}
@media only screen and (max-width: 768px) {
  .feature__title h2 img {
    width: 82.667vw;
    margin-top: 4vw;
  }
}
.feature__list {
  position: absolute;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (min-width: 769px) {
  .feature__list {
    top: 20em;
  }
}
@media only screen and (max-width: 768px) {
  .feature__list {
    top: 68vw;
    width: 89.333vw;
  }
}
.feature__list-inner {
  display: flex;
}
@media only screen and (min-width: 769px) {
  .feature__list-inner {
    gap: 2.5em;
    margin-top: 3.438em;
  }
}
@media only screen and (max-width: 768px) {
  .feature__list-inner {
    flex-direction: column;
    gap: 5.067vw;
    margin-top: 6.667vw;
  }
}
@media only screen and (min-width: 769px) {
  .feature__list-num--01 img {
    width: 2.313em;
  }
}
@media only screen and (max-width: 768px) {
  .feature__list-num--01 img {
    width: 6vw;
  }
}
@media only screen and (min-width: 769px) {
  .feature__list-num--02 img {
    width: 3.625em;
  }
}
@media only screen and (max-width: 768px) {
  .feature__list-num--02 img {
    width: 9.2vw;
  }
}
@media only screen and (min-width: 769px) {
  .feature__list-num--03 img {
    width: 3.125em;
  }
}
@media only screen and (max-width: 768px) {
  .feature__list-num--03 img {
    width: 7.733vw;
  }
}
@media only screen and (min-width: 769px) {
  .feature__list-num--04 img {
    width: 4em;
  }
}
@media only screen and (max-width: 768px) {
  .feature__list-num--04 img {
    width: 10.133vw;
  }
}
@media only screen and (max-width: 768px) {
  .feature__list-img {
    align-self: center;
  }
}
@media only screen and (min-width: 769px) {
  .feature__list-img img {
    width: 25.625em;
  }
}
@media only screen and (max-width: 768px) {
  .feature__list-img img {
    width: 56vw;
  }
}
.feature__list-main {
  display: flex;
  align-items: center;
}
@media only screen and (min-width: 769px) {
  .feature__list-main {
    gap: 0.875em;
  }
}
@media only screen and (max-width: 768px) {
  .feature__list-main {
    gap: 2.667vw;
  }
}
@media only screen and (min-width: 769px) {
  .feature__list-tag img {
    width: 8.25em;
  }
}
@media only screen and (max-width: 768px) {
  .feature__list-tag img {
    width: 21.333vw;
  }
}
.feature__list-tit {
  color: #fff;
  font-weight: 700;
  line-height: 1.6;
}
@media only screen and (min-width: 769px) {
  .feature__list-tit {
    font-size: 2.188em;
  }
}
@media only screen and (max-width: 768px) {
  .feature__list-tit {
    font-size: 5.6vw;
  }
}
@media only screen and (min-width: 769px) {
  .feature__list-det {
    margin-top: 0.625em;
    width: 34.375em;
  }
}
@media only screen and (max-width: 768px) {
  .feature__list-det {
    margin-top: 2.667vw;
    width: 89.333vw;
  }
}
.feature__list-det p {
  color: #fff;
  line-height: 1.8;
}
@media only screen and (min-width: 769px) {
  .feature__list-det p {
    font-size: 1.25em;
  }
}
@media only screen and (max-width: 768px) {
  .feature__list-det p {
    font-size: 3.6vw;
  }
}
.feature__list-det p b {
  text-decoration: underline;
}
@media only screen and (min-width: 769px) {
  .feature__list-det p b {
    text-underline-offset: 0.3rem;
  }
}
@media only screen and (max-width: 768px) {
  .feature__list-det p b {
    text-underline-offset: 0.6vw;
  }
}

@media only screen and (min-width: 769px) {
  .voice {
    background: url("../img/pc_voice_bg.jpg") no-repeat 50% 0%;
    background-size: 125em auto;
    height: 55.625em;
  }
}
@media only screen and (max-width: 768px) {
  .voice {
    background: url("../img/sp_voice_bg.jpg") no-repeat 50% 0;
    background-size: 100vw auto;
    height: 249.333vw;
  }
}
.voice__title {
  position: absolute;
}
@media only screen and (min-width: 769px) {
  .voice__title {
    top: 4.875em;
    left: 8.125em;
  }
}
@media only screen and (max-width: 768px) {
  .voice__title {
    top: 7.467vw;
    left: 13.333vw;
  }
}
.voice__title h1 {
  position: relative;
  display: inline-block;
  color: #000000;
  font-weight: 900;
}
@media only screen and (min-width: 769px) {
  .voice__title h1 {
    font-size: 3.75em;
  }
}
@media only screen and (max-width: 768px) {
  .voice__title h1 {
    line-height: 1.3;
    font-size: 8vw;
  }
}
@media only screen and (max-width: 768px) {
  .voice__title h1 span {
    display: inline-block;
    width: 33.333vw;
  }
}
.voice__title h1::after {
  content: "";
  display: inline-block;
  background-image: url("../img/voice_koe.png");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
}
@media only screen and (min-width: 769px) {
  .voice__title h1::after {
    width: 1.883em;
    height: 1.85em;
    top: -0.5em;
  }
}
@media only screen and (max-width: 768px) {
  .voice__title h1::after {
    width: 15.333vw;
    height: 15.067vw;
    top: 8.267vw;
  }
}
.voice__tag {
  position: absolute;
}
@media only screen and (min-width: 769px) {
  .voice__tag {
    background: url("../img/voive_tag_bg.png") no-repeat 50% 0%;
    background-size: 20.938em 7.125em;
    width: 20.938em;
    height: 7.125em;
    top: -2.5em;
    left: 3.125em;
  }
}
@media only screen and (max-width: 768px) {
  .voice__tag {
    background: url("../img/voive_tag_bg.png") no-repeat 50% 0%;
    background-size: 44.667vw 15.2vw;
    width: 44.667vw;
    height: 15.2vw;
    top: -7.333vw;
    left: 4vw;
  }
}
.voice__tag h2 {
  position: relative;
  color: #fff;
  font-weight: 900;
  transform: rotate(352deg);
}
@media only screen and (min-width: 769px) {
  .voice__tag h2 {
    font-size: 2.375em;
    top: 0.842em;
    left: 0.605em;
    letter-spacing: 0.132em;
  }
}
@media only screen and (max-width: 768px) {
  .voice__tag h2 {
    top: 3.733vw;
    left: 3.733vw;
    font-size: 5.067vw;
    letter-spacing: 0.4vw;
  }
}
.voice__list {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media only screen and (min-width: 769px) {
  .voice__list {
    position: absolute;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    top: 13.625em;
    gap: 4.063em;
  }
}
@media only screen and (max-width: 768px) {
  .voice__list {
    position: absolute;
    top: 32.8vw;
    left: 3.733vw;
    gap: 4vw;
  }
}
.voice__list-inner {
  position: relative;
  margin: auto;
  background-color: #fff;
}
@media only screen and (min-width: 769px) {
  .voice__list-inner {
    width: 56.25em;
  }
}
@media only screen and (max-width: 768px) {
  .voice__list-inner {
    width: 88vw;
  }
}
@media only screen and (min-width: 769px) {
  .voice__list-tit--01 img {
    position: absolute;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    width: 28em;
    top: -1.563em;
  }
}
@media only screen and (max-width: 768px) {
  .voice__list-tit--01 img {
    position: absolute;
    width: 42.267vw;
    top: 13.733vw;
    left: 4.933vw;
  }
}
@media only screen and (min-width: 769px) {
  .voice__list-tit--02 img {
    position: absolute;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    width: 36.5em;
    top: -1.563em;
  }
}
@media only screen and (max-width: 768px) {
  .voice__list-tit--02 img {
    position: absolute;
    width: 35.067vw;
    top: 10.667vw;
    left: 45.333vw;
  }
}
.voice__list-avatar {
  position: absolute;
}
@media only screen and (min-width: 769px) {
  .voice__list-avatar {
    top: 1.813em;
  }
}
@media only screen and (max-width: 768px) {
  .voice__list-avatar {
    top: 4.533vw;
  }
}
@media only screen and (min-width: 769px) {
  .voice__list-avatar img {
    width: 16.813em;
  }
}
@media only screen and (max-width: 768px) {
  .voice__list-avatar img {
    width: 39.2vw;
  }
}
.voice__list-avatar--01 {
  right: 0;
}
.voice__list-avatar--02 {
  left: 0;
}
@media only screen and (max-width: 768px) {
  .voice__list-det {
    padding: 38.667vw 4vw 7.333vw;
  }
}
@media only screen and (min-width: 769px) {
  .voice__list-det--01 {
    padding: 1.875em 19em 1.875em 3.438em;
  }
}
@media only screen and (min-width: 769px) {
  .voice__list-det--02 {
    padding: 1.875em 3.438em 1.875em 19em;
  }
}
.voice__list-det p {
  color: #000;
}
@media only screen and (min-width: 769px) {
  .voice__list-det p {
    line-height: 2;
    font-size: 1.125em;
  }
}
@media only screen and (max-width: 768px) {
  .voice__list-det p {
    line-height: 1.7;
    font-size: 3.6vw;
  }
}
.voice__list-det p b {
  text-decoration: underline;
}
@media only screen and (min-width: 769px) {
  .voice__list-det p b {
    text-underline-offset: 0.3rem;
  }
}
@media only screen and (max-width: 768px) {
  .voice__list-det p b {
    text-underline-offset: 0.6vw;
  }
}

@media only screen and (min-width: 769px) {
  .moment {
    background: url("../img/pc_moment_bg.jpg") no-repeat 50% 0%;
    background-size: 125em auto;
    height: 52.5em;
  }
}
@media only screen and (max-width: 768px) {
  .moment {
    background: url("../img/sp_moment_bg.jpg") no-repeat 50% 0;
    background-size: 100vw auto;
    height: 449.333vw;
  }
}
.moment__title {
  position: absolute;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (min-width: 769px) {
  .moment__title {
    width: 30.938em;
    top: 2.875em;
  }
}
@media only screen and (max-width: 768px) {
  .moment__title {
    width: 42.267vw;
    top: 10.133vw;
  }
}
@media only screen and (min-width: 769px) {
  .moment__title img {
    width: 30.938em;
  }
}
@media only screen and (max-width: 768px) {
  .moment__title img {
    width: 42.267vw;
  }
}
.moment__list {
  position: absolute;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  justify-content: center;
}
@media only screen and (min-width: 769px) {
  .moment__list {
    gap: 1.625em;
    width: 62.5em;
    top: 10.688em;
  }
}
@media only screen and (max-width: 768px) {
  .moment__list {
    flex-direction: column;
    width: 92vw;
    gap: 6.667vw;
    top: 32vw;
  }
}
@media only screen and (min-width: 769px) {
  .moment__list-inner {
    width: 19.75em;
  }
}
@media only screen and (max-width: 768px) {
  .moment__list-inner {
    width: 92vw;
  }
}
@media only screen and (min-width: 769px) {
  .moment__list-avatar img {
    width: 19.75em;
  }
}
@media only screen and (max-width: 768px) {
  .moment__list-avatar img {
    width: 92vw;
  }
}
.moment__list-det {
  background-color: #000;
  color: #fff;
  display: flex;
  flex-direction: column;
}
@media only screen and (min-width: 769px) {
  .moment__list-det {
    height: 25em;
    padding: 0 1.25em;
  }
}
@media only screen and (max-width: 768px) {
  .moment__list-det {
    padding: 0 6vw 10.667vw;
  }
}
@media only screen and (min-width: 769px) {
  .moment__list-tit {
    height: 7.5em;
  }
}
.moment__list-tit h2 {
  line-height: 1.4;
  font-weight: 500;
}
@media only screen and (min-width: 769px) {
  .moment__list-tit h2 {
    font-size: 1.5em;
    padding-top: 1.042em;
  }
}
@media only screen and (max-width: 768px) {
  .moment__list-tit h2 {
    font-size: 5.067vw;
    padding: 7.467vw 0 3.2vw;
  }
}
.moment p {
  color: #fff;
  line-height: 1.9;
}
@media only screen and (min-width: 769px) {
  .moment p {
    font-size: 1.125em;
    border-top: 0.111em solid #fff;
    padding: 1.444em 0;
  }
}
@media only screen and (max-width: 768px) {
  .moment p {
    font-size: 3.6vw;
    padding: 4.533vw 0;
    border-top: 0.267vw solid #fff;
  }
}
.moment a {
  color: #fff;
  display: inline-block;
  text-align: center;
  position: relative;
  align-self: center;
}
@media only screen and (min-width: 769px) {
  .moment a {
    font-size: 1.125em;
    border: 0.111em solid #fff;
    width: 15em;
    padding: 0.778em 0 1em;
  }
}
@media only screen and (max-width: 768px) {
  .moment a {
    font-size: 4.267vw;
    border: 0.133vw solid #fff;
    width: 64.8vw;
    padding: 3.6vw 0 3.867vw;
  }
}
.moment a:after {
  content: "";
  display: inline-block;
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
}
@media only screen and (min-width: 769px) {
  .moment a:after {
    background-image: url("../img/moment_arrow.png");
    width: 0.444em;
    height: 0.833em;
    top: 0.944em;
    right: 0.833em;
  }
}
@media only screen and (max-width: 768px) {
  .moment a:after {
    background-image: url("../img/moment_arrow_sp.png");
    width: 1.733vw;
    height: 3.2vw;
    top: 4vw;
    right: 3.2vw;
  }
}

.info {
  background-color: #edebda;
}
@media only screen and (min-width: 769px) {
  .info {
    padding: 5em 0;
  }
}
@media only screen and (max-width: 768px) {
  .info {
    padding: 16vw 0;
  }
}
.info .section-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0;
}
.info__title {
  text-align: center;
}
@media only screen and (min-width: 769px) {
  .info__title {
    margin-bottom: 2.5em;
  }
}
@media only screen and (max-width: 768px) {
  .info__title {
    margin-bottom: 10.667vw;
  }
}
.info__title h1 {
  color: #000;
}
@media only screen and (min-width: 769px) {
  .info__title h1 {
    line-height: 1.8;
    font-size: 2.5em;
  }
}
@media only screen and (max-width: 768px) {
  .info__title h1 {
    font-size: 6.667vw;
    line-height: 9.333vw;
  }
}
.info__title p {
  color: #000;
}
@media only screen and (min-width: 769px) {
  .info__title p {
    line-height: 2;
    font-size: 1.25em;
    padding-top: 0.8em;
  }
}
@media only screen and (max-width: 768px) {
  .info__title p {
    font-size: 4.133vw;
    padding-top: 2.667vw;
    line-height: 7.467vw;
  }
}
@media only screen and (min-width: 769px) {
  .info form {
    width: 62.5em;
  }
}
@media only screen and (max-width: 768px) {
  .info form {
    margin: auto;
    width: 92vw;
  }
}
.info tr {
  display: flex;
  align-items: center;
}
@media only screen and (min-width: 769px) {
  .info tr {
    padding: 1.25em 0;
  }
}
@media only screen and (max-width: 768px) {
  .info tr {
    flex-direction: column;
    align-items: flex-start;
    padding: 4vw 0;
  }
}
.info tr th {
  display: block;
  text-align: left;
}
@media only screen and (max-width: 768px) {
  .info tr th {
    margin-bottom: 2.667vw;
  }
}
.info tr th p {
  font-weight: 700;
  text-align: left;
}
@media only screen and (min-width: 769px) {
  .info tr th p {
    font-size: 1.125em;
    width: 9.444em;
    line-height: 1.778em;
    margin-right: 4.167em;
  }
}
@media only screen and (max-width: 768px) {
  .info tr th p {
    font-size: 4.267vw;
  }
}
.info tr th p span {
  font-weight: normal;
}
@media only screen and (min-width: 769px) {
  .info tr td {
    width: 47.75em;
  }
}
@media only screen and (max-width: 768px) {
  .info tr td {
    width: 92vw;
  }
}
.info tr td input, .info tr td textarea, .info tr td select {
  display: block;
  width: 100%;
}
@media only screen and (min-width: 769px) {
  .info tr td input, .info tr td textarea, .info tr td select {
    font-size: 1.125em;
    border-radius: 0.278em;
    line-height: 2.5em;
    border: 0.056em solid #cccccc;
  }
}
@media only screen and (max-width: 768px) {
  .info tr td input, .info tr td textarea, .info tr td select {
    font-size: 3.6vw;
    border-radius: 0.4vw;
    line-height: 16vw;
    border: 0.133vw solid #cccccc;
    -webkit-border: 0.133vw solid #cccccc;
  }
}
.info tr td input {
  padding: 0.1em 0.6em;
}
.info tr td select {
  padding: 0.1em 0.6em;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: #fff;
  color: #000;
}
@media only screen and (min-width: 769px) {
  .info tr td select {
    width: 16.25em;
    min-height: 2.813em;
    -webkit-width: 2.813em;
    -webkit-min-height: 2.813em;
  }
}
@media only screen and (max-width: 768px) {
  .info tr td select {
    min-height: 16vw;
    -webkit-min-height: 16vw;
  }
}
.info tr td textarea {
  font-family: inherit;
  line-height: 1.8;
  padding: 0.1em 0.6em;
}
@media only screen and (min-width: 769px) {
  .info tr td textarea {
    min-height: 9.375em;
  }
}
@media only screen and (max-width: 768px) {
  .info tr td textarea {
    min-height: 40vw;
  }
}
.info tr td .radio-btn01 {
  display: flex;
  align-self: center;
  flex-wrap: wrap;
}
@media only screen and (min-width: 769px) {
  .info tr td .radio-btn01 {
    padding-top: 0.375em;
    gap: 1.25em 0;
  }
}
@media only screen and (max-width: 768px) {
  .info tr td .radio-btn01 {
    gap: 5.333vw 0;
  }
}
@media only screen and (min-width: 769px) {
  .info tr td .radio {
    width: 15em;
  }
}
@media only screen and (max-width: 768px) {
  .info tr td .radio {
    width: 42.667vw;
  }
}
.info tr td .radio .radio-label {
  color: #000000;
}
@media only screen and (min-width: 769px) {
  .info tr td .radio .radio-label {
    font-size: 1.125em;
    letter-spacing: 0.125em;
  }
}
@media only screen and (max-width: 768px) {
  .info tr td .radio .radio-label {
    font-size: 3.6vw;
  }
}
.info tr td .radio input[type=radio] {
  position: absolute;
  opacity: 0;
}
.info tr td .radio input[type=radio] + .radio-label:before {
  content: "";
  background: #fff;
  border-radius: 100%;
  display: inline-block;
  width: 1.4em;
  height: 1.4em;
  position: relative;
  top: -0.2em;
  margin-right: 0.5em;
  vertical-align: top;
  cursor: pointer;
  text-align: center;
  transition: all 250ms ease;
  border: 1px solid #cccccc;
}
.info tr td .radio input[type=radio]:checked + .radio-label:before {
  background-color: #000;
  box-shadow: inset 0 0 0 4px #fff;
}
.info tr td .radio input[type=radio]:focus + .radio-label:before {
  outline: none;
  border-color: #cccccc;
}
@media only screen and (min-width: 769px) {
  .info tr td .radio_session {
    width: 21.875em;
  }
}
@media only screen and (max-width: 768px) {
  .info tr td .radio_session {
    width: 77.333vw;
  }
}
.info tr td .radio-btn01-session {
  flex-wrap: nowrap;
}
.info .required {
  display: inline-block;
  position: relative;
}
.info .required::after {
  content: "必須";
  background: #e60012;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 50%;
  transform: translate(0%, -50%);
  font-weight: normal;
}
@media only screen and (min-width: 769px) {
  .info .required::after {
    font-size: 0.875em;
    width: 3.143em;
    height: 1.571em;
    left: 10.714em;
  }
}
@media only screen and (max-width: 768px) {
  .info .required::after {
    font-size: 2.933vw;
    width: 8.533vw;
    height: 4.533vw;
    right: -12vw;
  }
}
.info .submit-area {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media only screen and (min-width: 769px) {
  .info .submit-area {
    margin-top: 1.25em;
    gap: 1em;
  }
}
@media only screen and (max-width: 768px) {
  .info .submit-area {
    flex-direction: column;
    margin-top: 2.667vw;
    gap: 4vw;
  }
}
.info .btn_confirmation {
  display: block;
  text-indent: -9999px;
  border: none;
  cursor: pointer;
}
@media only screen and (min-width: 769px) {
  .info .btn_confirmation {
    background: url("../img/form_btn.png") no-repeat center/100%;
    width: 37.5em;
    height: 5em;
  }
}
@media only screen and (max-width: 768px) {
  .info .btn_confirmation {
    background: url("../img/form_btn_sp.png") no-repeat center/100%;
    width: 80vw;
    height: 20vw;
  }
}
.info .btn_close {
  display: block;
  text-indent: -9999px;
  border: none;
  cursor: pointer;
}
@media only screen and (min-width: 769px) {
  .info .btn_close {
    background: url("../img/form_close.png") no-repeat center/100%;
    width: 21.875em;
    height: 5em;
    margin-top: 1.25em;
  }
}
@media only screen and (max-width: 768px) {
  .info .btn_close {
    background: url("../img/form_close_sp.png") no-repeat center/100%;
    width: 80vw;
    height: 20vw;
    margin-top: 2.667vw;
  }
}
.info tbody > tr:last-child {
  align-items: flex-start;
}

/*# sourceMappingURL=style.css.map */
