*,
*::before,
*::after {
  box-sizing: border-box;
}

ul,
ol {
  list-style: none;
}

li, dd {
  list-style-type: none;
}

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, button, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  border: 0;
  font: inherit;
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
}

a {
  text-decoration: none;
  color: inherit;
  transition: all 0.3s ease 0s;
}

img {
  width: 100%;
  max-width: 100%;
  display: block;
  border: none;
}

input,
button,
textarea,
select {
  font: inherit;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  outline: none;
}

textarea {
  resize: vertical;
}

input[type=checkbox],
input[type=radio] {
  display: none;
}

a,
input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th, td {
  text-align: left;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}
q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

html {
  font-size: 10px;
}
@media (max-width: 767px) {
  html {
    font-size: 1.3037809648vw;
  }
}
@media screen and (min-width:768px) and (max-width:1920px) {
  html {
    font-size: 0.5208333333vw;
  }
}
@media (min-width: 1920px) {
  html {
    font-size: 10px;
  }
}

body {
  color: #000;
  background: #fff;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

body.scroll {
  overflow: hidden;
}

a:hover {
  opacity: 0.7;
}

.inner {
  width: 100%;
  max-width: 70.8228rem;
  margin: 0 auto;
}
@media screen and (min-width:768px) {
  .inner {
    max-width: 109rem;
  }
}

@media screen and (min-width:768px) {
  .only_sp {
    display: none;
  }
}

@media screen and (max-width:767px) {
  .only_pc {
    display: none;
  }
}

.keyvisual {
  position: relative;
}

.keyvisual-text {
  position: absolute;
  top: 43.8162%;
  left: 50%;
  transform: translateX(-50%);
  width: 63.771%;
}
@media screen and (min-width:768px) {
  .keyvisual-text {
    top: 47.459%;
    width: 41.3551%;
  }
}

.bg {
  padding-top: 7.44rem;
  padding-bottom: 3.4211rem;
  position: relative;
  overflow: hidden;
}
@media screen and (min-width:768px) {
  .bg {
    padding-top: 9.71rem;
    padding-bottom: 5.6rem;
  }
}

.bg::before {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  z-index: -1;
  top: 0;
  left: 0;
  background: url(../img/bg-sp1.png) no-repeat top center/cover;
}
@media screen and (min-width:768px) {
  .bg::before {
    background: url(../img/bg-pc1.svg) no-repeat top center/cover;
  }
}

.bg.open::before {
  height: 1038.399rem;
  background: url(../img/bg-sp2.png) no-repeat center 22.6791rem/cover;
}
@media screen and (min-width:768px) {
  .bg.open::before {
    height: 701.02rem;
    background: url(../img/bg-pc2.svg) no-repeat top center/cover;
  }
}

.category {
  width: 100%;
  max-width: 73.3576rem;
  margin: 0 auto;
}
@media screen and (min-width:768px) {
  .category {
    max-width: 119.341rem;
  }
}

.category-head {
  width: 100%;
  margin: 0 auto;
}
@media screen and (min-width:768px) {
  .category-head {
    max-width: 98.769rem;
  }
}

.category-click {
  margin-top: 6.6816rem;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 36.5024rem;
}
@media screen and (min-width:768px) {
  .category-click {
    margin-top: 6rem;
    max-width: 36.509rem;
  }
}

.category-text {
  text-align: center;
  font-size: 2.352rem;
  line-height: 1.4166;
  margin-top: 3.8337rem;
  position: relative;
}
@media screen and (min-width:768px) {
  .category-text {
    font-size: 1.8rem;
    line-height: 1;
    margin-top: 4.75rem;
  }
}

.category-list {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  margin: 4.355rem auto 0;
}
@media screen and (max-width:767px) {
  .category-list {
    justify-content: space-between;
    width: 100%;
    max-width: 43.3138rem;
  }
}
@media screen and (min-width:768px) {
  .category-list {
    margin: 5.217rem auto 0;
  }
}

.category-list li {
  width: 100%;
  max-width: 18.6884rem;
  aspect-ratio: 1/1;
  background: #b5b5b5;
  border-radius: 50%;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease 0s;
  cursor: pointer;
  position: relative;
}
@media screen and (min-width:768px) {
  .category-list li {
    max-width: 19.0699rem;
  }
}

.category-list li.active,
.category-list li:hover {
  background: #d2004b;
}

@media screen and (min-width:768px) {
  .category-list li + li {
    margin-left: 5.938rem;
  }
}

@media screen and (min-width:768px) {
  .category-list li:nth-child(6) {
    margin-left: 0;
  }
}

@media screen and (min-width:768px) {
  .category-list li:nth-child(n+6) {
    margin-top: 4.572rem;
  }
}

@media screen and (max-width:767px) {
  .category-list li:nth-child(n+3) {
    margin-top: 3.8337rem;
  }
}

.category-list li img {
  width: 100%;
  transition: opacity 0.3s ease 0s;
}

.category-list li:nth-child(2) img {
  max-width: 10.8679rem;
}

.category-list li:nth-child(3) img {
  max-width: 12.0788rem;
}

.category-list li:nth-child(4) img {
  max-width: 10.5918rem;
}

.category-list li:nth-child(5) img {
  max-width: 10.7077rem;
}

.category-list li:nth-child(6) img {
  max-width: 10.5048rem;
}

.category-list li:nth-child(7) img {
  max-width: 10.611rem;
}

.category-list li:nth-child(9) img {
  padding-bottom: 1.6rem;
}

.category-list li.active img {
  opacity: 0;
}

.category-list li::before {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  left: 0;
  opacity: 0;
  transition: opacity 0.3s ease 0s;
}

.category-list li.active::before {
  opacity: 1;
}

.category-list li:nth-child(1)::before {
  height: 13.8014rem;
  background: url(../img/clerical-red.png) no-repeat center center/contain;
  top: 2.4rem;
}
@media screen and (min-width:768px) {
  .category-list li:nth-child(1)::before {
    top: 2.6rem;
  }
}

.category-list li:nth-child(2)::before {
  height: 14.6367rem;
  background: url(../img/ict-red.png) no-repeat center center/contain;
  top: 2rem;
}
@media screen and (min-width:768px) {
  .category-list li:nth-child(2)::before {
    top: 2.2rem;
  }
}

.category-list li:nth-child(3)::before {
  height: 14.8424rem;
  background: url(../img/civil-engineering-red.png) no-repeat center center/contain;
  top: 1.9rem;
}
@media screen and (min-width:768px) {
  .category-list li:nth-child(3)::before {
    top: 2.1rem;
  }
}

.category-list li:nth-child(4)::before {
  height: 13.7976rem;
  background: url(../img/architecture-red.png) no-repeat center center/contain;
  top: 2.5rem;
}
@media screen and (min-width:768px) {
  .category-list li:nth-child(4)::before {
    top: 2.6rem;
  }
}

.category-list li:nth-child(5)::before {
  height: 14.6085rem;
  background: url(../img/machine-red.png) no-repeat center center/contain;
  top: 2rem;
}
@media screen and (min-width:768px) {
  .category-list li:nth-child(5)::before {
    top: 2.2rem;
  }
}

.category-list li:nth-child(6)::before {
  height: 14.1014rem;
  background: url(../img/electricity-red.png) no-repeat center center/contain;
  top: 2.3rem;
}
@media screen and (min-width:768px) {
  .category-list li:nth-child(6)::before {
    top: 2.5rem;
  }
}

.category-list li:nth-child(7)::before {
  height: 14.1014rem;
  background: url(../img/welfare-red.png) no-repeat center center/contain;
  top: 2.3rem;
}
@media screen and (min-width:768px) {
  .category-list li:nth-child(7)::before {
    top: 2.5rem;
  }
}

.category-list li:nth-child(8)::before {
  height: 15.5014rem;
  background: url(../img/child-welfare-red.png) no-repeat center center/contain;
  top: 1.6rem;
}
@media screen and (min-width:768px) {
  .category-list li:nth-child(8)::before {
    top: 1.7rem;
  }
}

.category-list li:nth-child(9)::before {
  height: 15.2014rem;
  background: url(../img/child-guidance-red.png) no-repeat center center/contain;
  top: 0.9rem;
}
@media screen and (min-width:768px) {
  .category-list li:nth-child(9)::before {
    top: 1.1rem;
  }
}

.category-list li:nth-child(10)::before {
  height: 15.5014rem;
  background: url(../img/child-psychology-red.png) no-repeat center center/contain;
  top: 1.6rem;
}
@media screen and (min-width:768px) {
  .category-list li:nth-child(10)::before {
    top: 1.8rem;
  }
}

.job {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 10;
  display: none;
  opacity: 0;
  transition: all 0.3s ease 0s;
  overflow: auto;
}

.job.show {
  display: block;
  opacity: 1;
}

.job-block {
  width: 100%;
  max-width: 68.8555rem;
  max-height: 90vh;
  overflow: auto;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: none;
  opacity: 0;
  transition: all 0.3s ease 0s;
  background: #fae5ed;
  padding: 7.279rem;
  border-radius: 2.7rem;
}
@media screen and (min-width:768px) {
  .job-block {
    max-width: 61.9951rem;
    padding: 6.5rem 7rem;
  }
}

.job-block.show {
  display: block;
  opacity: 1;
}

.job-head {
  width: 100%;
  margin: 0 auto;
}

.job-block:nth-child(1) .job-head,
.job-block:nth-child(8) .job-head,
.job-block:nth-child(9) .job-head,
.job-block:nth-child(10) .job-head {
  max-width: 33.287rem;
}
@media screen and (min-width:768px) {
  .job-block:nth-child(1) .job-head,
  .job-block:nth-child(8) .job-head,
  .job-block:nth-child(9) .job-head,
  .job-block:nth-child(10) .job-head {
    max-width: 30.011rem;
  }
}

.job-block:nth-child(2) .job-head,
.job-block:nth-child(3) .job-head,
.job-block:nth-child(4) .job-head,
.job-block:nth-child(5) .job-head,
.job-block:nth-child(6) .job-head,
.job-block:nth-child(7) .job-head {
  max-width: 21.302rem;
}
@media screen and (min-width:768px) {
  .job-block:nth-child(2) .job-head,
  .job-block:nth-child(3) .job-head,
  .job-block:nth-child(4) .job-head,
  .job-block:nth-child(5) .job-head,
  .job-block:nth-child(6) .job-head,
  .job-block:nth-child(7) .job-head {
    max-width: 19.2089rem;
  }
}

.job-text {
  font-size: 2.6007rem;
  line-height: 1.5885;
  margin-top: 3.92rem;
  text-align: justify;
}
@media screen and (min-width:768px) {
  .job-text {
    font-size: 2.341rem;
    line-height: 1.3;
    margin-top: 4rem;
  }
}

.job-items {
  margin-top: 4.7215rem;
}
@media screen and (min-width:768px) {
  .job-items {
    margin-top: 4rem;
  }
}

.job-item + .job-item {
  margin-top: 7.0822rem;
}
@media screen and (min-width:768px) {
  .job-item + .job-item {
    margin-top: 6rem;
  }
}

.job-item h3 {
  color: #d2004b;
  font-weight: 700;
  text-align: center;
  font-size: 2.8958rem;
  line-height: 1;
  position: relative;
}
@media screen and (min-width:768px) {
  .job-item h3 {
    font-size: 2.607rem;
  }
}

.job-item h3::before {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 0.103rem;
  left: 0;
  bottom: -0.7869rem;
  border-top: 0.103rem dotted #d2004b;
}
@media screen and (min-width:768px) {
  .job-item h3::before {
    border-top: 0.183rem dotted #d2004b;
    height: 0.183rem;
    bottom: -0.6rem;
  }
}

.job-item p {
  margin-top: 2.3607rem;
  font-size: 2.6007rem;
  line-height: 1.3;
  text-align: justify;
}
@media screen and (min-width:768px) {
  .job-item p {
    margin-top: 2.2rem;
    font-size: 2.341rem;
    margin-top: 2.2rem;
  }
}

.job-close {
  position: absolute;
  width: 5.7825rem;
  aspect-ratio: 1/1;
  top: 0;
  right: 0;
  background: url(../img/btn-close.png) no-repeat center center/contain;
  cursor: pointer;
}
@media screen and (min-width:768px) {
  .job-close {
    width: 5.2064rem;
  }
}

.section-text {
  font-size: 2.6479rem;
  line-height: 2.1062;
  text-align: center;
}
@media screen and (min-width:768px) {
  .section-text {
    font-size: 2.622rem;
    line-height: 2.027;
  }
}

.career {
  margin-top: 14.0465rem;
}
@media screen and (min-width:768px) {
  .career {
    margin-top: 21.34rem;
  }
}

.career-head {
  width: 100%;
  max-width: 58.9326rem;
  margin: 0 auto;
}
@media screen and (min-width:768px) {
  .career-head {
    max-width: 74.1708rem;
  }
}

.career-text {
  margin-top: 3.3444rem;
  position: relative;
}
@media screen and (min-width:768px) {
  .career-text {
    margin-top: 2.2rem;
  }
}

.career-story {
  margin-top: 12.807rem;
}
@media screen and (min-width:768px) {
  .career-story {
    margin-top: 12.69rem;
  }
}

.story-tab {
  display: flex;
  justify-content: space-between;
}

.story-tab-item {
  width: 32.721%;
  height: 5.6763rem;
  background: #d8d8d8;
  padding-top: 1.2112rem;
  transition: all 0.3s ease 0s;
  border-radius: 3rem 3rem 0 0;
  cursor: pointer;
}
@media screen and (min-width:768px) {
  .story-tab-item {
    height: 8.75984rem;
    padding-top: 1.868rem;
    border-radius: 3rem 3rem 0 0;
  }
}

.story-tab-item.active {
  background: #fae5ed;
}

.story-tab-text {
  width: 100%;
  margin: 0 auto;
  position: relative;
}

.story-tab-item:nth-child(1) .story-tab-text {
  max-width: 11.4357rem;
}
@media screen and (min-width:768px) {
  .story-tab-item:nth-child(1) .story-tab-text {
    max-width: 17.6489rem;
  }
}

.story-tab-item:nth-child(2) .story-tab-text {
  max-width: 12.1636rem;
}
@media screen and (min-width:768px) {
  .story-tab-item:nth-child(2) .story-tab-text {
    max-width: 18.7723rem;
  }
}

.story-tab-item:nth-child(3) .story-tab-text {
  max-width: 12.1426rem;
}
@media screen and (min-width:768px) {
  .story-tab-item:nth-child(3) .story-tab-text {
    max-width: 18.7399rem;
  }
}

.story-tab-text::before {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.story-tab-item:nth-child(1) .story-tab-text::before {
  background: url(../img/story01-gray.png) no-repeat center center/contain;
}

.story-tab-item:nth-child(2) .story-tab-text::before {
  background: url(../img/story02-gray.png) no-repeat center center/contain;
}

.story-tab-item:nth-child(3) .story-tab-text::before {
  background: url(../img/story03-gray.png) no-repeat center center/contain;
}

.story-tab-item.active .story-tab-text::before {
  visibility: hidden;
}

.story-content {
  padding: 3.02rem 0 6.2776rem;
  background: #fae5ed;
  border-radius: 0 0 1rem 1rem;
  display: none;
  opacity: 0;
  transition: all 0.3s ease 0s;
  position: relative;
}
@media screen and (min-width:768px) {
  .story-content {
    padding: 3.02rem 0 7.25rem;
  }
}

.story-content.active {
  display: block;
  opacity: 1;
}

.story-content.open {
  padding-bottom: 9.7rem;
}
@media screen and (max-width:767px) {
  .story-content.open {
    padding-bottom: 6.492rem;
  }
}

.story-category {
  width: 100%;
  max-width: 21.8774rem;
  margin: 0 auto;
}

.story-content:nth-child(3) .story-category {
  max-width: 35.5732rem;
}

.story-head {
  margin: 1.4rem auto 0;
  width: 100%;
}
@media screen and (min-width:768px) {
  .story-head {
    margin: 2.8rem auto 0;
  }
}

.story-content:nth-child(1) .story-head {
  max-width: 57.6066rem;
}
@media screen and (min-width:768px) {
  .story-content:nth-child(1) .story-head {
    max-width: 72.496rem;
  }
}

.story-content:nth-child(2) .story-head,
.story-content:nth-child(3) .story-head {
  max-width: 66.5846rem;
}
@media screen and (min-width:768px) {
  .story-content:nth-child(2) .story-head,
  .story-content:nth-child(3) .story-head {
    max-width: 83.8346rem;
  }
}

.story-top {
  margin: 4.1953rem auto 0;
  width: 100%;
}
@media screen and (min-width:768px) {
  .story-top {
    display: flex;
    margin: 6.9rem auto 0;
    max-width: 83.7046rem;
  }
}

.story-staff {
  width: 100%;
  position: relative;
}
@media screen and (max-width:767px) {
  .story-staff {
    padding-left: 5.9353rem;
    display: flex;
  }
}
@media screen and (min-width:768px) {
  .story-staff {
    max-width: 27.9334rem;
  }
}

.story-staff-job {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #d2004b;
  color: #fff;
  width: 12.2938rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
  position: absolute;
  top: -0.3855rem;
  left: 3.8362rem;
  font-weight: 700;
  font-size: 2.762rem;
}
@media screen and (min-width:768px) {
  .story-staff-job {
    width: 10.3105rem;
    font-size: 2.316rem;
    top: -0.4rem;
    left: -1.5rem;
  }
}

.story-content:nth-child(2) .story-staff-job {
  letter-spacing: 1.5rem;
  padding-left: 1.8rem;
}
@media screen and (min-width:768px) {
  .story-content:nth-child(2) .story-staff-job {
    letter-spacing: 1rem;
    padding-left: 1.2rem;
  }
}

@media screen and (max-width:767px) {
  .story-staff-img {
    width: 100%;
    max-width: 33.2491rem;
  }
}

@media screen and (max-width:767px) {
  .story-staff-img img {
    height: auto;
    clip-path: inset(0 0 10.9657rem 0);
  }
}

.story-staff-department {
  color: #d2004b;
  font-weight: 700;
  font-size: 2.9352rem;
  line-height: 1.1686;
}
@media screen and (max-width:767px) {
  .story-staff-department {
    margin-left: 2.164rem;
    align-self: flex-end;
    padding-bottom: 10.9657rem;
  }
}
@media screen and (min-width:768px) {
  .story-staff-department {
    font-size: 2.678rem;
    line-height: 1;
    margin-top: 1.6rem;
    text-align: center;
  }
}

@media screen and (min-width:768px) {
  .story-content:nth-child(2) .story-staff-department {
    font-size: 2.078rem;
    line-height: 1.5;
    margin-top: 1rem;
  }
}

.story-staff-department span {
  font-size: 2.4rem;
  display: block;
  line-height: 1;
  margin-top: 0.4rem;
}
@media screen and (min-width:768px) {
  .story-staff-department span {
    font-size: 2.2rem;
    margin-top: 0.8rem;
  }
}

@media screen and (min-width:768px) {
  .story-content:nth-child(2) .story-staff-department span {
    font-size: 1.9rem;
    margin-top: 0.2rem;
  }
}

@media screen and (min-width:768px) {
  .story-content:nth-child(3) .story-staff-department,
  .story-content:nth-child(3) .story-staff-department span {
    font-size: 2.1rem;
  }
}

@media screen and (max-width:767px) {
  .story-message {
    margin: -4.2251rem auto 0;
    width: 100%;
    max-width: 58.1872rem;
  }
}
@media screen and (min-width:768px) {
  .story-message {
    flex: 1;
    margin-left: 3rem;
    padding-top: 0.6rem;
  }
}

@media screen and (min-width:768px) {
  .story-content:nth-child(2) .story-message {
    margin-left: 2.4rem;
  }
}

.story-message h4 {
  font-size: 4.0428rem;
  font-weight: 700;
  color: #d2004b;
}
@media screen and (max-width:767px) {
  .story-message h4 {
    text-align: center;
    line-height: 1.2413;
  }
}
@media screen and (min-width:768px) {
  .story-message h4 {
    font-size: 2.918rem;
  }
}

@media screen and (min-width:768px) {
  .story-content:nth-child(2) .story-message h4 {
    font-size: 2.668rem;
  }
}

.story-message p {
  line-height: 2;
  font-size: 2.3102rem;
  text-align: justify;
  margin-top: 1.7705rem;
}
@media screen and (min-width:768px) {
  .story-message p {
    font-size: 1.758rem;
    line-height: 2.2515;
    margin-top: 0.4rem;
  }
}

@media screen and (min-width:768px) {
  .story-content:nth-child(2) .story-message p {
    font-size: 1.833rem;
    line-height: 2.1915;
  }
}

.story-btn {
  width: 100%;
  max-width: 49.2293rem;
  margin: 0 auto 0;
  cursor: pointer;
  transition: all 0.3s ease 0s;
}
@media screen and (max-width:767px) {
  .story-btn {
    margin-top: 10.958rem;
  }
}
@media screen and (min-width:768px) {
  .story-btn {
    max-width: 37.3085rem;
  }
}

.story-btn.open {
  opacity: 0;
  visibility: hidden;
}

@media screen and (min-width:768px) {
  .career-story .story-content:nth-child(1) .story-btn {
    margin-top: 8.3rem;
  }
}

@media screen and (min-width:768px) {
  .story-content:nth-child(2) .story-btn {
    margin-top: 4rem;
  }
}

@media screen and (min-width:768px) {
  .story-content:nth-child(3) .story-btn {
    margin-top: 6.5rem;
  }
}

.story-accordion {
  width: 100%;
  max-width: 57.4451rem;
  margin-left: auto;
  margin-right: auto;
  display: none;
  opacity: 0;
  transition: opacity 0.1s ease 0.1s;
}
@media screen and (max-width:767px) {
  .story-accordion {
    margin-top: -10.4224rem;
  }
}
@media screen and (min-width:768px) {
  .story-accordion {
    max-width: 93.3079rem;
    transition: opacity 0.3s ease 0.1s;
  }
}

.story-accordion.open {
  opacity: 1;
}

@media screen and (min-width:768px) {
  .career-story .story-content:nth-child(1) .story-accordion {
    margin-top: -2.3rem;
  }
}

@media screen and (min-width:768px) {
  .story-content:nth-child(2) .story-accordion {
    margin-top: -1.6rem;
  }
}

@media screen and (min-width:768px) {
  .story-content:nth-child(3) .story-accordion {
    margin-top: -3.7rem;
  }
}

.story-item h5 {
  color: #d2004b;
  font-weight: 700;
  font-size: 3.067rem;
  line-height: 1;
  position: relative;
}
@media screen and (max-width:767px) {
  .story-item h5 {
    text-align: center;
  }
}
@media screen and (min-width:768px) {
  .story-item h5 {
    font-size: 3.189rem;
  }
}

@media screen and (min-width:768px) {
  .story-item:nth-child(1) h5 {
    padding-left: 1.4rem;
  }
}

@media screen and (min-width:768px) {
  .story-item:nth-child(2) h5 {
    padding-left: 1.8rem;
  }
}

@media screen and (min-width:768px) {
  .story-item:nth-child(3) h5 {
    padding-left: 1rem;
  }
}

.story-item h5::before {
  position: absolute;
  display: block;
  content: "";
  width: 27.0206rem;
  height: 2.8045rem;
  background: url(../img/line-red-sp.png) no-repeat bottom center/100% auto;
  bottom: -3.4329rem;
}
@media screen and (max-width:767px) {
  .story-item h5::before {
    left: 50%;
    transform: translateX(-50%);
  }
}
@media screen and (min-width:768px) {
  .story-item h5::before {
    left: -0.78rem;
    bottom: -3.67rem;
    width: 26.8rem;
    height: 3.8833rem;
    background: url(../img/line-red-pc.png) no-repeat bottom center/100% auto;
  }
}

.story-item p {
  text-align: justify;
  font-size: 2.5102rem;
  line-height: 2;
  margin-top: 5.41rem;
}
@media screen and (max-width:767px) {
  .story-item p {
    width: 100%;
    max-width: 54.0163rem;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (min-width:768px) {
  .story-item p {
    font-size: 1.843rem;
    line-height: 2.1915;
    margin-top: 4.3rem;
  }
}

.story-item + .story-item {
  margin-top: 10.6822rem;
}
@media screen and (min-width:768px) {
  .story-item + .story-item {
    margin-top: 7.8rem;
  }
}

.story-img {
  width: 100%;
}
@media screen and (max-width:767px) {
  .story-img {
    margin-top: 7.8692rem;
  }
}
@media screen and (min-width:768px) {
  .story-img {
    margin: 0 auto 0;
    max-width: 92.6339rem;
  }
}

@media screen and (min-width:768px) {
  .story-content:nth-child(1) .story-img {
    margin-top: 4.2rem;
  }
}

@media screen and (min-width:768px) {
  .story-content:nth-child(2) .story-img {
    margin-top: 5.7rem;
  }
}

.information {
  margin-top: 12rem;
}

.information-text {
  color: #000078;
  text-align: center;
  line-height: 1.7499;
  font-size: 2.8781rem;
  font-weight: 700;
  position: relative;
}
@media screen and (min-width:768px) {
  .information-text {
    font-size: 2.835rem;
  }
}

.information-text::before {
  position: absolute;
  display: block;
  content: "";
  width: 3.4581rem;
  aspect-ratio: 17.5782/15.2232;
  bottom: -4.7215rem;
  left: 50%;
  transform: translateX(-50%);
  background: url(../img/triangle-blue.png) no-repeat center center/contain;
}
@media screen and (min-width:768px) {
  .information-text::before {
    width: 2.8302rem;
    aspect-ratio: 28.302/24.5101;
    bottom: -4.4rem;
  }
}

.information-link {
  width: 100%;
  max-width: 36.1359rem;
  margin: 7.5209rem auto 0;
}
@media screen and (min-width:768px) {
  .information-link {
    max-width: 29.5739rem;
    margin: 6.4rem auto 0;
  }
}

.exam {
  width: 100%;
  max-width: 49.1825rem;
  margin: 13.3926rem auto 0;
  background: #fff;
  border: 0.2518rem solid #000078;
  transition: all 0.3s ease 0s;
}
@media screen and (min-width:768px) {
  .exam {
    max-width: 80rem;
    margin: 11.7rem auto 0;
    border: 0.244rem solid #000078;
  }
}

.exam:hover {
  background: #000078;
}

.exam a {
  display: block;
  padding: 2.3393rem 0;
}
@media screen and (min-width:768px) {
  .exam a {
    padding: 1.9955rem 0;
  }
}

.exam a:hover {
  opacity: 1;
}

.exam-text {
  width: 100%;
  max-width: 39.3098rem;
  margin: 0 auto;
  position: relative;
}
@media screen and (min-width:768px) {
  .exam-text {
    max-width: 66.8675rem;
  }
}

.exam-text::before {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background: url(../img/exam-info-white-sp.png) no-repeat center center/contain;
  top: 0;
  left: 0;
  opacity: 0;
  transition: all 0.3s ease 0s;
}
@media screen and (min-width:768px) {
  .exam-text::before {
    background: url(../img/exam-info-white-pc.png) no-repeat center center/contain;
  }
}

.exam a:hover .exam-text::before {
  opacity: 1;
}

.banner {
  width: 100%;
  max-width: 57.9383rem;
  margin: 13.5743rem auto 0;
  position: relative;
}
@media screen and (min-width:768px) {
  .banner {
    display: flex;
    justify-content: space-between;
    max-width: 97.5rem;
    margin: 23.1rem auto 0;
  }
}

.banner-item {
  width: 100%;
}
@media screen and (min-width:768px) {
  .banner-item {
    max-width: 47.4171rem;
  }
}

@media screen and (max-width:767px) {
  .banner-item + .banner-item {
    margin-top: 5.2585rem;
  }
}

.copy {
  font-size: 2.164rem;
  text-align: center;
  line-height: 1;
  margin-top: 4.6447rem;
}
@media screen and (min-width:768px) {
  .copy {
    font-size: 1.772rem;
    margin-top: 3.8rem;
  }
}