@charset "UTF-8";
/*
Theme Name:ascend_premium_child
Template:ascend_premium
*/
body, h1, h2, h3, h4, h5, h6, p, span, a, th, td, li, strong {
  font-family: "Noto Sans JP", "Yu Gothic", "游ゴシック", "YuGothic", "游ゴシック体", "Hiragino Sans", "ヒラギノ角ゴシック", sans-serif !important;
}

.montserrat {
  font-family: "Montserrat" !important;
}

body {
  opacity: 0;
  transition: opacity 0.2s;
}
body.loaded {
  opacity: 1;
}

.container {
  font-size: clamp(12px, 9.888px + 0.564vw, 18px);
}

.entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4, .entry-content h5, .entry-content h6 {
  font-size: inherit;
  margin: 0;
  line-height: 1;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  line-height: 1;
}

p, span {
  font-weight: 500;
  line-height: 1;
}

.entry-content p {
  margin: 0;
}

p:empty {
  display: none;
}

br {
  display: none !important;
}

.entry-content table tr:nth-child(even),
.modal-body table tr:nth-child(even) {
  background: none;
}

button {
  line-height: 1;
  padding: 0;
  box-shadow: none !important;
  text-shadow: none;
}

table tr:nth-child(even) {
  background: none !important;
}

ul, li, dl, dt, dd {
  line-height: 1;
  padding: 0;
  margin: 0;
}

.entry-content li {
  padding: 0;
  margin: 0;
}

figure {
  margin: 0;
}

img {
  width: 100%;
  max-width: none;
}

a {
  border: none !important;
}
a:hover {
  border: none !important;
}

.container.S_staff {
  width: 100%;
}

input {
  box-shadow: none !important;
}
input:hover {
  box-shadow: none !important;
}

#wrapper.container {
  overflow: clip;
}

#inner-wrap {
  position: relative;
  z-index: 1;
}
#inner-wrap .main {
  overflow: clip;
}

a.entry_button {
  font-size: clamp(12px, 9.888px + 0.564vw, 18px);
  width: 6em;
  background-color: #060F22;
  border: 1px solid #fff !important;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  aspect-ratio: 1;
}
@media screen and (min-width: 768px) {
  a.entry_button {
    width: 11.1em;
  }
}
a.entry_button.floating_button {
  position: fixed;
  right: 1em;
  bottom: 1em;
  z-index: 10;
}
@media screen and (min-width: 768px) {
  a.entry_button.floating_button {
    right: 2em;
    bottom: 2em;
  }
}
a.entry_button img {
  width: 2.35em;
  position: absolute;
  left: 50%;
  top: 0;
  translate: -53% -103%;
}
@media screen and (min-width: 768px) {
  a.entry_button img {
    width: 4.3em;
    translate: -53% -100%;
  }
}
a.entry_button span {
  color: #fff;
  font-size: 0.95em;
  font-family: "Montserrat" !important;
}
@media screen and (min-width: 768px) {
  a.entry_button span {
    font-size: 1.25em;
  }
}

a.common_button {
  text-align: center;
  color: #fff;
  font-size: 1.25em;
  font-weight: 500;
  letter-spacing: 0.1em;
  width: 18.1em;
  padding: 0.8em 0;
  border: 1px solid #fff !important;
  display: block;
  position: relative;
}
@media screen and (min-width: 768px) {
  a.common_button {
    font-size: 0.95em;
    width: 16.9em;
    padding: 1em 0;
  }
}
a.common_button::before {
  content: "";
  width: 4.7em;
  height: 1px;
  background-color: #fff;
  position: absolute;
  right: 0;
  top: 50%;
  translate: 50% -50%;
}
@media screen and (min-width: 768px) {
  a.common_button::before {
    width: 4.1em;
  }
}
a.common_button:hover::before {
  animation: OutIn-Line 700ms;
  transition: all 0.3s;
}

@keyframes OutIn-Line {
  0% {
    transform: scale3d(1, 1, 1);
    transform-origin: 100% 0;
  }
  50% {
    transform: scale3d(0, 1, 1);
    transform-origin: 100% 0;
  }
  50.1% {
    transform: scale3d(0, 1, 1);
    transform-origin: 0 0;
  }
  100% {
    transform: scale3d(1, 1, 1);
    transform-origin: 0 0;
  }
}
section {
  position: relative;
}

#kad-mobile-banner-sticky-wrapper {
  display: none;
}

#sticky-wrapper.sticky-wrapper {
  height: 0 !important;
}

.kad-header-menu-outer.headerclass, .mobile-headerclass {
  background: transparent;
}

#kad-mobile-banner #mobile-logo a {
  width: -moz-max-content;
  width: max-content;
}

.kad-header-menu-inner.container {
  width: 98%;
  padding: 0;
}

.energyflow_header {
  font-size: clamp(12px, 9.888px + 0.564vw, 18px);
  width: 100%;
  height: 5em;
  padding-left: 1em;
  background-color: #060F22;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: fixed;
  top: 0;
  z-index: 1010;
  transition: all 0.4s;
}
@media screen and (min-width: 768px) {
  .energyflow_header {
    height: 4.2em;
    padding: 0 min(2vw, 2em);
  }
}

.header_logo {
  height: 60%;
  position: relative;
  z-index: 1;
}
.header_logo a {
  height: 100%;
  display: block;
}
.header_logo a:hover {
  opacity: 0.7;
}
.header_logo a img {
  height: 100%;
}

button.header_menu--button {
  height: 100%;
  background: transparent;
  position: relative;
  transition: all 0.4s;
  z-index: 30;
  aspect-ratio: 1;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  button.header_menu--button {
    display: none;
  }
}
body.open_menu button.header_menu--button::before {
  opacity: 1;
}
button.header_menu--button div {
  width: 40%;
  height: 1px;
  background-color: #fff;
  position: absolute;
  left: 50%;
  top: 50%;
  transition: all 0.4s;
}
button.header_menu--button div:first-of-type {
  transform: translate(-50%, calc(-50% - 9px)) rotate(0deg) scaleX(1);
}
body.open_menu button.header_menu--button div:first-of-type {
  transform: translate(-50%, -50%) rotate(35deg) scaleX(1.2);
}
button.header_menu--button div:nth-of-type(2) {
  transform: translate(-50%, -50%) scaleX(1);
  transform-origin: left;
}
body.open_menu button.header_menu--button div:nth-of-type(2) {
  transform: translate(-50%, -50%) scaleX(0);
}
button.header_menu--button div:nth-of-type(3) {
  transform: translate(-50%, calc(-50% + 9px)) rotate(0deg);
  transform-origin: left;
}
body.open_menu button.header_menu--button div:nth-of-type(3) {
  transform: translate(-50%, -50%) rotate(-35deg) scaleX(1.2);
  transform-origin: center;
}

.header_menu--container {
  width: 100%;
  height: 100dvh;
  padding: 100px 0 2em;
  background-color: #060F22;
  opacity: 0;
  overflow-y: scroll;
  position: fixed;
  right: 0;
  top: 0;
  transition: all 0.5s;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .header_menu--container {
    width: -moz-max-content;
    width: max-content;
    height: auto;
    padding: 0;
    background: none;
    opacity: 1;
    overflow: inherit;
    pointer-events: auto;
    position: relative;
  }
}
.open_menu .header_menu--container {
  opacity: 1;
  pointer-events: auto;
}
.header_menu--container .entry_box {
  margin-bottom: 2.5em;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 1.4em;
}
@media screen and (min-width: 768px) {
  .header_menu--container .entry_box {
    display: none;
  }
}
.header_menu--container .entry_box > span {
  color: #fff;
  font-size: 2.35em;
  font-weight: 600;
  letter-spacing: 0.05em;
}
.header_menu--container small {
  text-align: center;
  color: #fff;
  font-size: 0.85em;
  line-height: 1;
  display: block;
}
@media screen and (min-width: 768px) {
  .header_menu--container small {
    display: none;
  }
}

nav.header_menu--nav {
  width: 80%;
  margin: 0 auto 2.2em;
}
@media screen and (min-width: 768px) {
  nav.header_menu--nav {
    width: -moz-max-content;
    width: max-content;
    margin: 0 0 0 auto;
    display: flex;
    align-items: center;
    gap: 0 2em;
  }
}
nav.header_menu--nav > a {
  color: #fff;
  font-size: 2.5em;
}
@media screen and (min-width: 768px) {
  nav.header_menu--nav > a {
    font-size: 1.7em;
  }
}
nav.header_menu--nav > a i {
  transition: all 0.4s;
}

ul.header_menu--ul {
  margin-bottom: 2em;
  border-top: 1px solid #D3D3D3;
}
@media screen and (min-width: 768px) {
  ul.header_menu--ul {
    margin: 0;
    border: none;
    display: flex;
    gap: 0 2em;
  }
}
ul.header_menu--ul > li {
  list-style: none;
  border-bottom: 1px solid #D3D3D3;
  overflow: hidden;
  position: relative;
}
@media screen and (min-width: 768px) {
  ul.header_menu--ul > li {
    border: none;
    overflow: inherit;
    position: inherit;
  }
}
ul.header_menu--ul > li > a {
  color: #fff;
  font-size: 1.25em;
  font-weight: 500;
  padding: 1.6em 0;
  display: block;
  position: relative;
  transition: all 0.3s;
}
@media screen and (min-width: 768px) {
  ul.header_menu--ul > li > a {
    font-size: 0.85em;
    padding: 0;
  }
}
@media screen and (min-width: 768px) {
  ul.header_menu--ul > li > a::before {
    content: "";
    width: 0.45em;
    height: 1em;
    background-color: #fff;
    position: absolute;
    left: 0;
    top: 50%;
    translate: 0 -50%;
    scale: 0;
    transform: skew(-20deg, 0deg);
    transition: all 0.3s;
  }
}
@media screen and (min-width: 768px) {
  ul.header_menu--ul > li:hover a {
    translate: 0.5em 0;
  }
}
@media screen and (min-width: 768px) {
  ul.header_menu--ul > li:hover a::before {
    translate: -0.9em -50%;
    scale: 1;
  }
}

h2.FP_common--h2 {
  font-size: 1.45em;
  letter-spacing: 0;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  h2.FP_common--h2 {
    font-size: 1.25em;
  }
}
h2.FP_common--h2 span {
  font-family: "Montserrat" !important;
  min-width: 0.25em;
  display: inline-block;
  transition: 1s ease-in-out;
  transform: translateY(2em);
}
h2.FP_common--h2 span.show {
  transform: translateY(0);
}

.FP_header {
  height: 100dvh;
  min-height: 45em;
  overflow: hidden;
  display: flex;
  align-items: center;
  position: relative;
}
@media screen and (min-width: 768px) {
  .FP_header {
    min-height: -moz-max-content;
    min-height: max-content;
  }
}
.FP_header h1 {
  position: absolute;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(0px 0px 99.9% 99.9%);
  overflow: hidden;
  height: 1px;
  width: 1px;
  padding: 0;
  border: 0;
}
.FP_header .img_box {
  position: relative;
  z-index: 1;
}
.FP_header .img_box::before, .FP_header .img_box::after {
  content: "";
  width: 100%;
  height: 100dvh;
  background-color: #060F22;
  position: absolute;
  left: 50%;
}
.FP_header .img_box::before {
  top: 1px;
  translate: -50% -100%;
}
.FP_header .img_box::after {
  bottom: 1px;
  translate: -50% 100%;
}
.FP_header .img_box .text_img img {
  width: 125%;
  left: 50%;
  position: relative;
  translate: -50% 0;
}
@media screen and (min-width: 768px) {
  .FP_header .img_box .text_img img {
    width: 100%;
  }
}
.FP_header .img_box .img {
  position: absolute;
  translate: -50% -50%;
  z-index: 1;
}
.FP_header .img_box .img.img01 {
  width: 15.5%;
  top: 14%;
  left: 13%;
}
@media screen and (min-width: 768px) {
  .FP_header .img_box .img.img01 {
    width: 5.6%;
    top: 19%;
    left: 21%;
  }
}
.FP_header .img_box .img.img02 {
  width: 9%;
  top: 14%;
  left: 44%;
}
@media screen and (min-width: 768px) {
  .FP_header .img_box .img.img02 {
    width: 4.1%;
    top: 18%;
    left: 46%;
  }
}
.FP_header .img_box .img.img03 {
  width: 13.5%;
  top: 9%;
  left: 78%;
}
@media screen and (min-width: 768px) {
  .FP_header .img_box .img.img03 {
    width: 6%;
    top: 18%;
    left: 70%;
  }
}
.FP_header .img_box .img.img04 {
  width: 10%;
  bottom: -14%;
  left: 13%;
}
@media screen and (min-width: 768px) {
  .FP_header .img_box .img.img04 {
    width: 4.6%;
    bottom: 18%;
    left: 17%;
  }
}
.FP_header .img_box .img.img05 {
  width: 12.5%;
  bottom: -2%;
  left: 84%;
}
@media screen and (min-width: 768px) {
  .FP_header .img_box .img.img05 {
    width: 6.8%;
    bottom: 8%;
    left: 77%;
  }
}
.FP_header .img_box .img.loaded img {
  animation: step-rotate 3500ms steps(1) infinite;
}

.FP_header--swiper {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
}
.FP_header--swiper ul.swiper-wrapper {
  transition: all 1s;
}
.FP_header--swiper ul.swiper-wrapper li.swiper-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

@keyframes step-rotate {
  0% {
    transform: rotate(10deg);
  }
  50% {
    transform: rotate(-10deg);
  }
  100% {
    transform: rotate(10deg);
  }
}
section.FP_section.section01 {
  padding: 6.2em 0;
  background-color: #C50000;
}
@media screen and (min-width: 768px) {
  section.FP_section.section01 {
    padding: 5.5em 0 5.1em;
  }
}
section.FP_section.section01 .section_container {
  width: 80%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.FP_section.section01 .section_container {
    width: 95%;
    max-width: 1040px;
  }
}
section.FP_section.section01 .section_container h2.FP_common--h2 {
  text-align: center;
  color: #fff;
  margin-bottom: 2.8em;
}
@media screen and (min-width: 768px) {
  section.FP_section.section01 .section_container h2.FP_common--h2 {
    margin-bottom: 4.4em;
  }
}
section.FP_section.section01 .section_container p.large_text {
  color: #fff;
  font-size: 2.1em;
  line-height: 1.6;
  letter-spacing: 0.05em;
  width: -moz-max-content;
  width: max-content;
  margin: 0 auto 2.4em;
  opacity: 0;
  translate: 0 30px;
  transition: all 0.4s;
}
@media screen and (min-width: 768px) {
  section.FP_section.section01 .section_container p.large_text {
    font-size: 1.9em;
    margin: 0 auto 1.4em;
  }
}
section.FP_section.section01 .section_container p.large_text.show {
  opacity: 1;
  translate: 0 0;
}
section.FP_section.section01 .section_container p.large_text br {
  display: block !important;
}
@media screen and (min-width: 768px) {
  section.FP_section.section01 .section_container p.large_text br {
    display: none !important;
  }
}

.FP_section01--contentsBox {
  position: relative;
}
@media screen and (min-width: 768px) {
  .FP_section01--contentsBox {
    display: grid;
    grid-template-columns: auto auto;
    justify-content: space-between;
    align-items: center;
    gap: 2.5em 0;
  }
}
.FP_section01--contentsBox .text_box {
  opacity: 0;
  translate: 0 30px;
  transition: all 0.4s;
}
.FP_section01--contentsBox .text_box.show {
  opacity: 1;
  translate: 0 0;
}
.FP_section01--contentsBox .text_box.box01 {
  margin-bottom: 5em;
}
@media screen and (min-width: 768px) {
  .FP_section01--contentsBox .text_box.box01 {
    margin: 0;
    order: 1;
  }
}
@media screen and (min-width: 768px) {
  .FP_section01--contentsBox .text_box.box02 {
    order: 4;
  }
}
.FP_section01--contentsBox .text_box.box02 a.common_button {
  margin-top: 2.6em;
}
@media screen and (min-width: 768px) {
  .FP_section01--contentsBox .text_box.box02 a.common_button {
    margin-top: 3.5em;
  }
}
.FP_section01--contentsBox .text_box p {
  color: #fff;
  font-size: 1.2em;
  line-height: 2.4;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .FP_section01--contentsBox .text_box p {
    font-size: 0.9em;
    line-height: 2.2;
  }
}
.FP_section01--contentsBox .text_box p:not(:last-of-type) {
  margin-bottom: 2.5em;
}
.FP_section01--contentsBox .text_box p br {
  display: block !important;
}
.FP_section01--contentsBox .img.img01 {
  width: 12.4em;
  opacity: 0;
  translate: 0 30px;
  transition: all 0.4s;
  position: absolute;
  right: 0;
  top: 1em;
}
@media screen and (min-width: 768px) {
  .FP_section01--contentsBox .img.img01 {
    width: 24em;
    position: relative;
    top: 0;
    order: 2;
  }
}
.FP_section01--contentsBox .img.img01.show {
  opacity: 1;
  translate: 0 0;
}
.FP_section01--contentsBox .img.img02 {
  margin-bottom: 4.8em;
  opacity: 0;
  translate: 0 30px;
  transition: all 0.4s;
}
@media screen and (min-width: 768px) {
  .FP_section01--contentsBox .img.img02 {
    width: 19.1em;
    margin-bottom: 6em;
    order: 3;
  }
}
.FP_section01--contentsBox .img.img02.show {
  opacity: 1;
  translate: 0 0;
}

section.FP_section.section02 {
  padding: 6.2em 0 8em;
  overflow: hidden;
  position: relative;
}
@media screen and (min-width: 768px) {
  section.FP_section.section02 {
    padding: 6em 0;
  }
}
section.FP_section.section02 .bg_img {
  width: 100%;
  height: 100%;
  opacity: 0;
  background-size: cover;
  background-position: 34% 50%;
  position: absolute;
  left: 0;
  top: 0;
  scale: 1.1;
  transition: all 1s;
}
section.FP_section.section02 .bg_img.show {
  opacity: 1;
  scale: 1;
}
section.FP_section.section02 .bg_img::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0.5;
  position: absolute;
  left: 0;
  top: 0;
}
section.FP_section.section02 .section_container {
  width: 80%;
  margin-inline: auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  section.FP_section.section02 .section_container {
    width: 95%;
    max-width: 1280px;
  }
}
section.FP_section.section02 .section_container h2.FP_common--h2 {
  text-align: center;
  color: #fff;
  margin-bottom: 2.8em;
}
@media screen and (min-width: 768px) {
  section.FP_section.section02 .section_container h2.FP_common--h2 {
    text-align: right;
    margin-bottom: 1.8em;
  }
}
section.FP_section.section02 .section_container p.large_text {
  color: #fff;
  font-size: 2.1em;
  line-height: 1.6;
  letter-spacing: 0.05em;
  writing-mode: vertical-rl;
  width: -moz-max-content;
  width: max-content;
  margin: 0 auto 2.4em;
  opacity: 0;
  translate: 0 30px;
  transition: all 0.4s;
}
@media screen and (min-width: 768px) {
  section.FP_section.section02 .section_container p.large_text {
    font-size: 1.9em;
    margin: 0 0 1.8em auto;
  }
}
section.FP_section.section02 .section_container p.large_text.show {
  opacity: 1;
  translate: 0 0;
}
section.FP_section.section02 .section_container p.large_text br {
  display: block !important;
}
@media screen and (min-width: 768px) {
  section.FP_section.section02 .section_container .text_box {
    width: -moz-max-content;
    width: max-content;
    margin: 0 0 0 auto;
  }
}
section.FP_section.section02 .section_container .text_box p {
  color: #fff;
  font-size: 1.2em;
  line-height: 2.4;
  letter-spacing: 0;
  margin-bottom: 4.5em;
}
@media screen and (min-width: 768px) {
  section.FP_section.section02 .section_container .text_box p {
    font-size: 0.9em;
    line-height: 2.2;
  }
}
section.FP_section.section02 .section_container .text_box p:not(:last-of-type) {
  margin-bottom: 2.5em;
}
section.FP_section.section02 .section_container .text_box p br {
  display: block !important;
}
section.FP_section.section02 .section_container .text_box p br.br_pc {
  display: none !important;
}
@media screen and (min-width: 768px) {
  section.FP_section.section02 .section_container .text_box p br.br_pc {
    display: block !important;
  }
}

section.FP_section.section03 {
  padding: 5.4em 0;
  position: relative;
}
@media screen and (min-width: 768px) {
  section.FP_section.section03 {
    padding: 6.7em 0;
  }
}
section.FP_section.section03 .section_container {
  width: 93%;
  margin-inline: auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  section.FP_section.section03 .section_container {
    width: 95%;
    max-width: 1240px;
    display: grid;
    grid-template-columns: auto auto;
    gap: 0 3em;
  }
}
section.FP_section.section03 .section_container .title_box {
  width: 97%;
  margin: 0 auto 4em;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (min-width: 768px) {
  section.FP_section.section03 .section_container .title_box {
    margin: 0;
    flex-direction: column-reverse;
    justify-content: start;
    gap: 2em 0;
  }
}
section.FP_section.section03 .section_container .title_box img {
  width: 6.7em;
}
@media screen and (min-width: 768px) {
  section.FP_section.section03 .section_container .title_box img {
    width: 10.3em;
  }
}
section.FP_section.section03 .section_container .title_box h2 {
  font-size: 6.2em;
  font-weight: 500;
  font-family: "Montserrat" !important;
}
@media screen and (min-width: 768px) {
  section.FP_section.section03 .section_container .title_box h2 {
    font-size: 10em;
    writing-mode: vertical-rl;
  }
}

ul.voice_ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5em;
}
@media screen and (min-width: 768px) {
  ul.voice_ul {
    grid-template-columns: 1fr 1fr 1fr;
    align-self: start;
    gap: 1.1em;
  }
}
ul.voice_ul li {
  list-style: none;
  position: relative;
  counter-increment: number;
}
ul.voice_ul li a {
  position: relative;
}
ul.voice_ul li a span.num {
  color: #C50000;
  font-size: 0.95em;
  font-family: "Montserrat" !important;
  font-weight: 500;
  writing-mode: vertical-rl;
  height: 7.5em;
  padding: 0 0.3em;
  background-color: #fff;
  display: flex;
  justify-content: center;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  ul.voice_ul li a span.num {
    font-size: 0.65em;
  }
}
ul.voice_ul li a .img {
  overflow: hidden;
}
ul.voice_ul li a .img img {
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 1/1.26;
  scale: 1;
  transition: all 0.4s;
}
ul.voice_ul li a:hover .img img {
  scale: 1.1;
}
ul.voice_ul li a p {
  color: #fff;
  width: 6.3em;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  aspect-ratio: 1;
  position: absolute;
  left: 0;
  bottom: 0;
}
@media screen and (min-width: 768px) {
  ul.voice_ul li a p {
    width: 4.2em;
  }
}
ul.voice_ul li a p.color_navy {
  background-color: #191A45;
}
ul.voice_ul li a p.color_orange {
  background-color: #EB4000;
}
ul.voice_ul li a p.color_red {
  background-color: #C50000;
}
ul.voice_ul li a p span.year {
  font-size: 0.95em;
}
@media screen and (min-width: 768px) {
  ul.voice_ul li a p span.year {
    font-size: 0.65em;
  }
}
ul.voice_ul li a p span.name {
  font-size: 1.2em;
}
@media screen and (min-width: 768px) {
  ul.voice_ul li a p span.name {
    font-size: 0.8em;
  }
}
ul.voice_ul li a p span.name span {
  font-size: 1.25em;
}
ul.voice_ul li a i {
  color: #C50000;
  font-size: 1.1em;
  position: absolute;
  right: 0;
  bottom: 0;
  background-color: #fff;
  width: 2.9em;
  aspect-ratio: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 768px) {
  ul.voice_ul li a i {
    font-size: 0.8em;
    width: 3.3em;
  }
}

section.FP_section.section04 {
  padding: 6.2em 0 2em;
  background-color: #EF9C49;
}
@media screen and (min-width: 768px) {
  section.FP_section.section04 {
    padding: 5.7em 0 8.6em;
  }
}
section.FP_section.section04 .section_container {
  width: 80%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.FP_section.section04 .section_container {
    width: 95%;
    max-width: 1080px;
  }
}
section.FP_section.section04 .section_container h2.FP_common--h2 {
  text-align: center;
  margin-bottom: 2.8em;
}
@media screen and (min-width: 768px) {
  section.FP_section.section04 .section_container h2.FP_common--h2 {
    margin-bottom: 2.4em;
  }
}
section.FP_section.section04 .section_container p.large_text {
  text-align: center;
  font-size: 2.1em;
  line-height: 1.6;
  letter-spacing: 0.05em;
  width: -moz-max-content;
  width: max-content;
  margin: 0 auto 2.4em;
  opacity: 0;
  translate: 0 30px;
  transition: all 0.4s;
  position: relative;
}
@media screen and (min-width: 768px) {
  section.FP_section.section04 .section_container p.large_text {
    font-size: 1.9em;
    margin: 0 auto 2em;
  }
}
section.FP_section.section04 .section_container p.large_text.show {
  opacity: 1;
  translate: 0 0;
}
section.FP_section.section04 .section_container p.large_text::before, section.FP_section.section04 .section_container p.large_text::after {
  position: absolute;
}
section.FP_section.section04 .section_container p.large_text::before {
  content: "「";
  left: -1.5em;
  top: -0.3em;
}
section.FP_section.section04 .section_container p.large_text::after {
  content: "」";
  right: -1.5em;
  bottom: -0.3em;
}
section.FP_section.section04 .section_container p.large_text br {
  display: block !important;
}
@media screen and (min-width: 768px) {
  section.FP_section.section04 .section_container p.large_text br {
    display: none !important;
  }
}

.FP_section04--contentsBox {
  position: relative;
}
@media screen and (min-width: 768px) {
  .FP_section04--contentsBox {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: end;
  }
}
.FP_section04--contentsBox .text_box {
  opacity: 0;
  translate: 0 30px;
  transition: all 0.4s;
}
.FP_section04--contentsBox .text_box.show {
  opacity: 1;
  translate: 0 0;
}
.FP_section04--contentsBox .text_box p {
  font-size: 1.2em;
  line-height: 2.4;
  letter-spacing: 0;
  margin-bottom: 2.5em;
}
@media screen and (min-width: 768px) {
  .FP_section04--contentsBox .text_box p {
    font-size: 0.9em;
    line-height: 2.2;
    margin-bottom: 3.2em;
  }
}
.FP_section04--contentsBox .text_box p br {
  display: block !important;
}
.FP_section04--contentsBox .text_box a.common_button {
  color: #060F22;
  border: 1px solid #060F22 !important;
}
.FP_section04--contentsBox .text_box a.common_button::before {
  background-color: #060F22;
}
.FP_section04--contentsBox .img {
  width: 93%;
  margin: 2em auto 0;
  opacity: 0;
  translate: 0 30px;
  transition: all 0.4s;
}
@media screen and (min-width: 768px) {
  .FP_section04--contentsBox .img {
    width: 25.1em;
    margin: 0;
  }
}
.FP_section04--contentsBox .img.show {
  opacity: 1;
  translate: 0 0;
}

.p_header {
  margin-top: 5em;
  display: grid;
  grid-template-columns: 75% 1fr;
}
@media screen and (min-width: 768px) {
  .p_header {
    margin-top: 4.2em;
  }
}
.p_header .img {
  height: 13.5em;
}
@media screen and (min-width: 768px) {
  .p_header .img {
    height: 24.8em;
  }
}
.p_header .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p_header .right_box {
  padding: 0 1em 2.5em 0;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: end;
  grid-column: 2/3;
  grid-row: 1/3;
}
@media screen and (min-width: 768px) {
  .p_header .right_box {
    padding: 0 0 3em 0;
    justify-content: left;
  }
}
.p_header .right_box::before, .p_header .right_box::after {
  content: "";
  width: calc(100% + 3em);
  height: 100%;
  clip-path: polygon(45% 0, 100% 0, 100% 100%, 0% 100%);
  position: absolute;
  right: 0;
  top: 0;
}
@media screen and (min-width: 768px) {
  .p_header .right_box::before, .p_header .right_box::after {
    width: calc(100% + 6em);
    clip-path: polygon(37% 0, 100% 0, 100% 100%, 0% 100%);
  }
}
.p_header .right_box::after {
  background-image: url(image/header_texture.jpg);
  background-size: cover;
  background-position: center;
  opacity: 0.3;
}
.p_header .right_box p {
  color: #fff;
  font-size: 1.5em;
  line-height: 1.4;
  letter-spacing: 0.1em;
  writing-mode: vertical-rl;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .p_header .right_box p {
    font-size: 1.65em;
  }
}
.p_header .right_box p br {
  display: block !important;
}

hgroup.p_header--hgroup {
  padding: 2.4em 0 0 1.5em;
  margin-bottom: 2em;
}
@media screen and (min-width: 768px) {
  hgroup.p_header--hgroup {
    padding: 4.5em 0 0 4.5em;
    margin-bottom: 4.5em;
  }
}
hgroup.p_header--hgroup h1 {
  font-size: 2.35em;
  letter-spacing: 0;
  margin-bottom: 0.3em;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  hgroup.p_header--hgroup h1 {
    font-size: 4.5em;
    margin-bottom: 0.2em;
  }
}
hgroup.p_header--hgroup h1 span {
  font-weight: bold;
  font-family: "Montserrat" !important;
  min-width: 0.25em;
  display: inline-block;
  transition: 1s ease-in-out;
  transform: translateY(2em);
}
hgroup.p_header--hgroup h1 span.show {
  transform: translateY(0);
}
hgroup.p_header--hgroup p {
  font-size: 1.25em;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  hgroup.p_header--hgroup p {
    font-size: 1em;
  }
}
hgroup.p_header--hgroup p span {
  min-width: 0.25em;
  display: inline-block;
  transition: 1s ease-in-out;
  transform: translateY(2em);
}
hgroup.p_header--hgroup p span.show {
  transform: translateY(0);
}

hgroup.p_section--hgroup p {
  font-size: 1em;
  padding-left: 1em;
  margin-bottom: 0.6em;
  position: relative;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  hgroup.p_section--hgroup p {
    font-size: 0.9em;
  }
}
hgroup.p_section--hgroup p::before {
  content: "";
  width: 0.45em;
  background-color: #C50000;
  aspect-ratio: 1/2;
  position: absolute;
  left: 0;
  top: 50%;
  transform: skew(-22deg, 0deg);
  translate: 0 -50%;
  transform-origin: left bottom;
}
hgroup.p_section--hgroup p span {
  font-family: "Montserrat" !important;
  font-weight: 600;
  min-width: 0.25em;
  display: inline-block;
  transition: 1s ease-in-out;
  transform: translateY(2em);
}
hgroup.p_section--hgroup p span.show {
  transform: translateY(0);
}
hgroup.p_section--hgroup h2 {
  font-size: 2.3em;
  padding-left: 0.4em;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  hgroup.p_section--hgroup h2 {
    font-size: 1.7em;
    padding-left: 0.5em;
  }
}
hgroup.p_section--hgroup h2 span {
  font-weight: bold;
  min-width: 0.25em;
  display: inline-block;
  transition: 1s ease-in-out;
  transform: translateY(2em);
}
hgroup.p_section--hgroup h2 span.show {
  transform: translateY(0);
}

.anchor {
  padding-top: 5em;
  margin-top: -5em;
  position: absolute;
}
@media screen and (min-width: 768px) {
  .anchor {
    padding-top: 3em;
    margin-top: -3em;
  }
}

.p_header.p_about-us .right_box::before {
  background-color: #C50000;
}

.p_about-us--container {
  width: 91%;
  padding: 3em 0;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p_about-us--container {
    width: 98%;
    max-width: 1280px;
  }
}
@media screen and (min-width: 1025px) {
  .p_about-us--container {
    padding: 5.4em 0;
    display: grid;
    grid-template-columns: 9em 1fr;
    gap: 0 4em;
  }
}

.p_about-us--navBox {
  max-width: 400px;
  padding-bottom: 2.5em;
  margin-inline: auto;
}
@media screen and (min-width: 1025px) {
  .p_about-us--navBox {
    grid-row: span 4;
  }
}
.p_about-us--navBox .nav_container {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 0 3em;
  align-items: end;
}
@media screen and (min-width: 1025px) {
  .p_about-us--navBox .nav_container {
    display: block;
    align-items: start;
    position: sticky;
    top: 5em;
  }
}
.p_about-us--navBox .nav_container .img {
  width: 90%;
}
@media screen and (min-width: 1025px) {
  .p_about-us--navBox .nav_container .img {
    width: 100%;
  }
}

@media screen and (min-width: 1025px) {
  nav.p_about-us--nav {
    margin-bottom: 2.2em;
  }
}

ul.p_about-us_nav--ul li {
  padding: 1em 0;
  border-bottom: 1px solid #BFBFBF;
  list-style: none;
}
@media screen and (min-width: 768px) {
  ul.p_about-us_nav--ul li {
    padding: 0.7em 0;
  }
}
ul.p_about-us_nav--ul li a {
  color: inherit;
  font-size: 1.2em;
  font-weight: 500;
  font-family: "Montserrat" !important;
  padding-left: 0;
  position: relative;
  transition: padding 0.3s;
}
@media screen and (min-width: 768px) {
  ul.p_about-us_nav--ul li a {
    font-size: 0.9em;
  }
}
@media screen and (min-width: 768px) {
  ul.p_about-us_nav--ul li a:hover {
    padding-left: 1em;
  }
}
@media screen and (min-width: 768px) {
  ul.p_about-us_nav--ul li a::before {
    content: "";
    width: 0.45em;
    background-color: #C50000;
    aspect-ratio: 1/2;
    position: absolute;
    left: 0;
    top: 50%;
    transform: skew(-22deg, 0deg);
    translate: 0 -50%;
    scale: 0;
    transition: scale 0.3s;
  }
}
@media screen and (min-width: 768px) {
  ul.p_about-us_nav--ul li a:hover::before {
    scale: 1;
  }
}

section.p_about-us--section .section_container {
  border-top: 1px solid #C50000;
  position: relative;
}
@media screen and (min-width: 768px) {
  section.p_about-us--section .section_container {
    display: grid;
    grid-template-columns: 15em 1fr;
  }
}

section.p_about-us--section.policy_section .section_container {
  padding: 3.4em 0 2.5em;
}
@media screen and (min-width: 768px) {
  section.p_about-us--section.policy_section .section_container {
    padding: 4.8em 0;
  }
}
section.p_about-us--section.policy_section .section_container hgroup.p_section--hgroup {
  margin-bottom: 3em;
}
section.p_about-us--section.policy_section .section_container .box {
  padding: 0 1em;
}
@media screen and (min-width: 768px) {
  section.p_about-us--section.policy_section .section_container .box {
    padding: 0;
    display: grid;
    grid-template-columns: auto auto;
    gap: 0 1.3em;
    align-items: end;
  }
}
section.p_about-us--section.policy_section .section_container .box p.large_text {
  font-size: 2.2em;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 1.2em;
}
@media screen and (min-width: 768px) {
  section.p_about-us--section.policy_section .section_container .box p.large_text {
    font-size: 3em;
    margin-bottom: 0.8em;
    grid-column: span 2;
  }
}
section.p_about-us--section.policy_section .section_container .box p.large_text br {
  display: block !important;
}
section.p_about-us--section.policy_section .section_container .box .text_box {
  margin-bottom: 3.5em;
}
@media screen and (min-width: 768px) {
  section.p_about-us--section.policy_section .section_container .box .text_box {
    margin: 0;
  }
}
section.p_about-us--section.policy_section .section_container .box .text_box p {
  font-size: 1.2em;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  section.p_about-us--section.policy_section .section_container .box .text_box p {
    font-size: 1em;
  }
}
section.p_about-us--section.policy_section .section_container .box .text_box p:not(:last-of-type) {
  margin-bottom: 2.4em;
}
section.p_about-us--section.policy_section .section_container .box .text_box p br {
  display: block !important;
}
section.p_about-us--section.policy_section .section_container .box .img {
  width: 79%;
  margin-inline: auto;
  opacity: 0;
  translate: 0 30px;
  transition: all 0.4s;
}
@media screen and (min-width: 768px) {
  section.p_about-us--section.policy_section .section_container .box .img {
    width: 100%;
  }
}
section.p_about-us--section.policy_section .section_container .box .img.show {
  opacity: 1;
  translate: 0 0;
}

section.p_about-us--section.message_section .section_container {
  padding: 3.4em 0 3em;
}
@media screen and (min-width: 768px) {
  section.p_about-us--section.message_section .section_container {
    padding: 4.8em 0;
  }
}
section.p_about-us--section.message_section .section_container hgroup.p_section--hgroup {
  margin-bottom: 3em;
}
section.p_about-us--section.message_section .section_container .box {
  padding: 0 1em;
}
@media screen and (min-width: 768px) {
  section.p_about-us--section.message_section .section_container .box {
    padding: 0;
  }
}
section.p_about-us--section.message_section .section_container .box p.large_text {
  font-size: 2.2em;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 1.2em;
}
@media screen and (min-width: 768px) {
  section.p_about-us--section.message_section .section_container .box p.large_text {
    font-size: 3em;
    margin-bottom: 0.8em;
  }
}
section.p_about-us--section.message_section .section_container .box p.large_text br {
  display: block !important;
}
section.p_about-us--section.message_section .section_container .box .text_box p {
  font-size: 1.2em;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  section.p_about-us--section.message_section .section_container .box .text_box p {
    font-size: 1em;
  }
}
section.p_about-us--section.message_section .section_container .box .text_box p:not(:last-of-type) {
  margin-bottom: 2.4em;
}
section.p_about-us--section.message_section .section_container .box .text_box p br {
  display: block !important;
}

section.p_about-us--section.company_section .section_container {
  padding: 3.4em 0 3em;
}
@media screen and (min-width: 768px) {
  section.p_about-us--section.company_section .section_container {
    padding: 4.8em 0;
  }
}
section.p_about-us--section.company_section .section_container hgroup.p_section--hgroup {
  margin-bottom: 4em;
}

dl.p_about-us_company--dl {
  border-top: 1px dashed #BFBFBF;
}
@media screen and (min-width: 768px) {
  dl.p_about-us_company--dl {
    display: grid;
    grid-template-columns: 12em 1fr;
  }
}
dl.p_about-us_company--dl > dt, dl.p_about-us_company--dl > dd {
  font-size: 1.15em;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  dl.p_about-us_company--dl > dt, dl.p_about-us_company--dl > dd {
    font-size: 1em;
  }
}
dl.p_about-us_company--dl > dt {
  font-weight: bold;
  padding: 1.5em 0 0.8em;
}
@media screen and (min-width: 768px) {
  dl.p_about-us_company--dl > dt {
    padding: 1.5em 0;
    border-bottom: 1px dashed #BFBFBF;
  }
}
dl.p_about-us_company--dl > dd {
  font-weight: 500;
  padding-bottom: 1.5em;
  border-bottom: 1px dashed #BFBFBF;
}
@media screen and (min-width: 768px) {
  dl.p_about-us_company--dl > dd {
    padding: 1.5em 0;
  }
}
dl.p_about-us_company--dl > dd br {
  display: block !important;
}

ul.p_about-us_company_dl--ul li {
  font-weight: 500;
  line-height: 1.6;
  list-style: none;
}
ul.p_about-us_company_dl--ul li p {
  line-height: 1.6;
}
ul.p_about-us_company_dl--ul li p.place {
  padding-left: 1.2em;
  position: relative;
}
ul.p_about-us_company_dl--ul li p.place::before {
  content: "■";
  position: absolute;
  left: 0;
  top: 0;
}
ul.p_about-us_company_dl--ul li p.info {
  padding-left: 1.2em;
}
ul.p_about-us_company_dl--ul li p.info a {
  color: inherit;
  font-weight: 500;
  margin-left: 0.8em;
}
ul.p_about-us_company_dl--ul li p.info a i {
  color: #C50000;
}
ul.p_about-us_company_dl--ul li p.info a span {
  text-decoration: underline;
}
ul.p_about-us_company_dl--ul li p.info br {
  display: block !important;
}
ul.p_about-us_company_dl--ul li > a {
  color: inherit;
  font-weight: 500;
  display: inline-block;
}
ul.p_about-us_company_dl--ul li > a span {
  text-decoration: underline;
}
ul.p_about-us_company_dl--ul li > a i {
  font-size: 0.8em;
  margin-left: 0.2em;
}
ul.p_about-us_company_dl--ul li:last-of-type > a {
  margin-top: 2em;
}

section.p_about-us--section.history_section .section_container {
  padding: 3.4em 0 3em;
  border-bottom: 1px solid #C50000;
}
@media screen and (min-width: 768px) {
  section.p_about-us--section.history_section .section_container {
    padding: 4.8em 0;
  }
}
section.p_about-us--section.history_section .section_container hgroup.p_section--hgroup {
  margin-bottom: 4em;
}

ul.p_about-us_history--ul {
  padding-left: 4em;
}
@media screen and (min-width: 768px) {
  ul.p_about-us_history--ul {
    padding: 0;
  }
}
ul.p_about-us_history--ul li {
  list-style: none;
  position: relative;
}
@media screen and (min-width: 768px) {
  ul.p_about-us_history--ul li {
    display: grid;
    grid-template-columns: 12em 1fr;
    align-items: start;
  }
}
ul.p_about-us_history--ul li:not(:last-of-type) {
  padding-bottom: 3.5em;
}
@media screen and (min-width: 768px) {
  ul.p_about-us_history--ul li:not(:last-of-type) {
    padding-bottom: 2.5em;
  }
}
ul.p_about-us_history--ul li:not(:last-of-type)::before, ul.p_about-us_history--ul li:not(:last-of-type):after {
  content: "";
  position: absolute;
  left: -2.5em;
  top: 0.5em;
  translate: -50% 0;
}
@media screen and (min-width: 768px) {
  ul.p_about-us_history--ul li:not(:last-of-type)::before, ul.p_about-us_history--ul li:not(:last-of-type):after {
    left: 0;
  }
}
ul.p_about-us_history--ul li:not(:last-of-type):before {
  width: 1px;
  height: 100%;
  background-color: #BFBFBF;
}
ul.p_about-us_history--ul li:not(:last-of-type):after {
  width: 1px;
  height: 100%;
  background-color: #C50000;
  translate: -25% 0;
  scale: 1 0;
  transform-origin: top;
  transition: scale 0.8s;
}
ul.p_about-us_history--ul li.show:not(:last-of-type):after {
  scale: 1 1;
}
ul.p_about-us_history--ul li p.year {
  color: #C50000;
  font-size: 1.25em;
  font-weight: bold;
  margin-bottom: 1.5em;
  opacity: 0;
  translate: 0 30px;
  position: relative;
  transition: all 0.4s;
}
@media screen and (min-width: 768px) {
  ul.p_about-us_history--ul li p.year {
    font-size: 1em;
    padding-left: 3.3em;
    margin: 0;
  }
}
ul.p_about-us_history--ul li p.year::before, ul.p_about-us_history--ul li p.year::after {
  content: "";
  background-color: #C50000;
  position: absolute;
  top: 50%;
  translate: 0 -50%;
}
ul.p_about-us_history--ul li p.year::before {
  width: 0.8em;
  border-radius: 50%;
  left: -2.4em;
  aspect-ratio: 1;
}
@media screen and (min-width: 768px) {
  ul.p_about-us_history--ul li p.year::before {
    left: 0;
    translate: -50% -50%;
  }
}
ul.p_about-us_history--ul li p.year::after {
  width: 1.5em;
  height: 1px;
  left: -2em;
}
@media screen and (min-width: 768px) {
  ul.p_about-us_history--ul li p.year::after {
    width: 2.5em;
    left: 0;
  }
}
ul.p_about-us_history--ul li.show p.year {
  opacity: 1;
  translate: 0 0;
}
ul.p_about-us_history--ul li p.text {
  font-size: 1.15em;
  line-height: 1.6;
  opacity: 0;
  translate: 0 30px;
  transition: all 0.4s 0.4s;
}
@media screen and (min-width: 768px) {
  ul.p_about-us_history--ul li p.text {
    font-size: 0.9em;
    margin-top: 2.5em;
    line-height: 1.8;
  }
}
ul.p_about-us_history--ul li p.text br {
  display: block !important;
}
ul.p_about-us_history--ul li.show p.text {
  opacity: 1;
  translate: 0 0;
}

.p_header.p_process .right_box::before {
  background-color: #060F22;
}

section.p_process--section .section_container {
  width: 91%;
  padding: 3.4em 0;
  margin-inline: auto;
  border-top: 1px solid #C50000;
}
@media screen and (min-width: 768px) {
  section.p_process--section .section_container {
    width: 98%;
    max-width: 1040px;
    padding: 4.8em 0;
  }
}

section.p_process--section.entry_section {
  padding-top: 4.2em;
}
@media screen and (min-width: 768px) {
  section.p_process--section.entry_section {
    padding-top: 5.4em;
  }
}
@media screen and (min-width: 768px) {
  section.p_process--section.entry_section .section_container {
    display: grid;
    grid-template-columns: 15em 1fr;
  }
}
section.p_process--section.entry_section .section_container hgroup.p_section--hgroup {
  margin-bottom: 3em;
}

ul.p_process_entry--ul {
  width: 20.9em;
  display: grid;
  gap: 1.7em 0;
}
@media screen and (min-width: 768px) {
  ul.p_process_entry--ul {
    width: 100%;
    grid-template-columns: 1fr 1fr;
    gap: 0 1.7em;
  }
}
ul.p_process_entry--ul li {
  list-style: none;
  position: relative;
  background-size: 100%;
  background-position: center;
  transition: all 0.4s;
}
ul.p_process_entry--ul li:hover {
  background-size: 120%;
}
ul.p_process_entry--ul li::before {
  content: "";
  width: 100%;
  height: 100%;
  opacity: 0.3;
  left: 0;
  top: 0;
  position: absolute;
}
ul.p_process_entry--ul li:first-of-type::before {
  background-color: #F08111;
}
ul.p_process_entry--ul li:nth-of-type(2)::before {
  background-color: #C50000;
}
ul.p_process_entry--ul li a {
  color: #fff;
  font-size: 1.35em;
  font-weight: 500;
  letter-spacing: 0.1em;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  aspect-ratio: 1.1/1;
}

@media screen and (min-width: 768px) {
  section.p_process--section.data_section .section_container {
    padding-bottom: 7em;
    display: grid;
    grid-template: auto 1fr/15em 1fr;
  }
}
section.p_process--section.data_section .section_container hgroup.p_section--hgroup {
  margin-bottom: 0.8em;
}
section.p_process--section.data_section .section_container > p.note {
  font-size: 1em;
  padding-left: 1em;
  margin-bottom: 3.5em;
}
@media screen and (min-width: 768px) {
  section.p_process--section.data_section .section_container > p.note {
    font-size: 0.8em;
  }
}

dl.p_process_data--dl {
  margin-bottom: 2.5em;
}
@media screen and (min-width: 768px) {
  dl.p_process_data--dl {
    margin-bottom: 3em;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 1.7em;
    grid-column: 2/3;
    grid-row: 1/3;
  }
}
dl.p_process_data--dl .graph_item {
  width: 73%;
  margin-bottom: 2.4em;
}
@media screen and (min-width: 768px) {
  dl.p_process_data--dl .graph_item {
    width: 100%;
    margin-bottom: 5em;
  }
}
dl.p_process_data--dl .graph_item.age_graph {
  margin-bottom: 6em;
}
@media screen and (min-width: 768px) {
  dl.p_process_data--dl .graph_item.age_graph {
    width: 121%;
    padding-left: 7.7em;
    margin: 0 0 5em;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
}
@media screen and (min-width: 768px) {
  dl.p_process_data--dl .graph_item.overtime_graph {
    width: 81%;
    margin: 0 0 5em auto;
  }
}
@media screen and (min-width: 768px) {
  dl.p_process_data--dl .graph_item.holiday_graph {
    margin-bottom: 1.8em;
  }
}
@media screen and (min-width: 768px) {
  dl.p_process_data--dl .graph_item.paid_graph {
    margin-bottom: 3.4em;
    display: grid;
    grid-row: span 2;
  }
}
@media screen and (min-width: 768px) {
  dl.p_process_data--dl .graph_item.number_graph {
    margin-bottom: 3.4em;
  }
}
dl.p_process_data--dl .graph_item.yearly_graph {
  margin-bottom: 4em;
}
@media screen and (min-width: 768px) {
  dl.p_process_data--dl .graph_item.yearly_graph {
    display: grid;
    grid-template-rows: 1fr auto;
  }
}
dl.p_process_data--dl .graph_item.line_graph {
  margin-bottom: 4em;
}
dl.p_process_data--dl .graph_item.found_graph {
  margin: 0;
}
dl.p_process_data--dl .graph_item.age_graph::before {
  content: "";
  width: 6.1em;
  height: 12.3em;
  margin-bottom: 2.2em;
  background-image: url(image/p_process_data_01SP.png);
  background-size: contain;
  background-repeat: no-repeat;
  display: block;
  opacity: 0;
  translate: 0 30px;
  transition: all 0.4s;
}
@media screen and (min-width: 768px) {
  dl.p_process_data--dl .graph_item.age_graph::before {
    width: 7.7em;
    height: 14.5em;
    background-image: url(image/p_process_data_01PC.png);
    margin: 0;
    position: absolute;
    left: -2.3em;
    bottom: 0;
  }
}
dl.p_process_data--dl .graph_item.age_graph.show::before {
  opacity: 1;
  translate: 0 0;
}
dl.p_process_data--dl .graph_item dt {
  font-size: 1.25em;
  font-weight: 500;
  margin-bottom: 1.2em;
}
@media screen and (min-width: 768px) {
  dl.p_process_data--dl .graph_item dt {
    font-size: 1.1em;
    margin-bottom: 1.5em;
  }
}
dl.p_process_data--dl .graph_item.age_graph dt {
  margin-bottom: 2em;
}
@media screen and (min-width: 768px) {
  dl.p_process_data--dl .graph_item.age_graph dt {
    margin: 0;
  }
}
dl.p_process_data--dl .graph_item.overtime_graph dt {
  margin-bottom: 2em;
}
@media screen and (min-width: 768px) {
  dl.p_process_data--dl .graph_item.overtime_graph dt {
    margin-bottom: 1em;
  }
}
dl.p_process_data--dl .graph_item dd {
  text-align: right;
  padding-bottom: 1em;
  border-bottom: 1px solid #C50000;
  position: relative;
}
@media screen and (min-width: 768px) {
  dl.p_process_data--dl .graph_item dd {
    padding-bottom: 0.6em;
  }
}
dl.p_process_data--dl .graph_item dd > span.number {
  color: #C50000;
  font-size: 2.85em;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  dl.p_process_data--dl .graph_item dd > span.number {
    font-size: 2.7em;
  }
}
dl.p_process_data--dl .graph_item dd > span.text {
  font-size: 1.35em;
  margin-left: 0.3em;
}
@media screen and (min-width: 768px) {
  dl.p_process_data--dl .graph_item dd > span.text {
    font-size: 1.2em;
  }
}
dl.p_process_data--dl .graph_item dd p.note {
  font-size: 0.9em;
  position: absolute;
  right: 0;
  bottom: 0;
  translate: 0 150%;
}
@media screen and (min-width: 768px) {
  dl.p_process_data--dl .graph_item dd p.note {
    font-size: 0.7em;
    translate: 0 175%;
  }
}
dl.p_process_data--dl .graph_item.age_graph dd {
  padding: 0;
}
dl.p_process_data--dl .graph_item.overtime_graph dd .img {
  width: 3.4em;
  margin: 0 auto 1em;
}
@media screen and (min-width: 768px) {
  dl.p_process_data--dl .graph_item.overtime_graph dd .img {
    width: 5em;
    translate: -15% 0;
  }
}
dl.p_process_data--dl .graph_item.overtime_graph dd span.number {
  min-width: 1.2em;
  display: inline-block;
}
dl.p_process_data--dl .graph_item.yearly_graph dd span.number {
  font-size: 4.5em;
}
@media screen and (min-width: 768px) {
  dl.p_process_data--dl .graph_item.yearly_graph dd span.number {
    font-size: 5em;
  }
}
dl.p_process_data--dl .graph_item.line_graph dd {
  padding: 0;
}
dl.p_process_data--dl .graph_item.found_graph dd span.number {
  font-size: 4.5em;
}
@media screen and (min-width: 768px) {
  dl.p_process_data--dl .graph_item.found_graph dd span.number {
    font-size: 5em;
  }
}

.bar_graph {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
}
.bar_graph .bar_item {
  height: 8.6em;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  position: relative;
}
@media screen and (min-width: 768px) {
  .bar_graph .bar_item {
    height: 5.8em;
  }
}
.bar_graph .bar_item .bar {
  width: 88%;
  min-height: 2.2em;
  height: 2.2em;
  padding: 0.6em 0 0;
  margin-inline: auto;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}
@media screen and (min-width: 768px) {
  .bar_graph .bar_item .bar {
    width: 71%;
    min-height: 1.5em;
    height: 1.5em;
    padding: 0.4em 0 0;
  }
}
.bar_graph .bar_item .bar.bar_30 {
  background-color: #EF9C49;
}
.bar_graph .bar_item .bar.bar_30-40 {
  background-color: #C50000;
}
.bar_graph .bar_item .bar.bar_40-50 {
  background-color: #060F22;
}
.bar_graph .bar_item .bar p {
  color: #fff;
}
.bar_graph .bar_item .bar p span.bar_number {
  font-size: 1.5em;
}
@media screen and (min-width: 768px) {
  .bar_graph .bar_item .bar p span.bar_number {
    font-size: 1.1em;
  }
}
.bar_graph .bar_item .bar p span.text {
  font-size: 1.15em;
}
@media screen and (min-width: 768px) {
  .bar_graph .bar_item .bar p span.text {
    font-size: 0.8em;
  }
}
.bar_graph .bar_item > p {
  text-align: center;
  font-size: 1.15em;
  width: -moz-max-content;
  width: max-content;
  position: absolute;
  left: 50%;
  bottom: 0;
  translate: -50% 200%;
}
@media screen and (min-width: 768px) {
  .bar_graph .bar_item > p {
    font-size: 0.8em;
    translate: -50% 175%;
  }
}

.circle_graph {
  display: flex;
  justify-content: center;
  position: relative;
}
.circle_graph::before {
  content: "";
  width: auto;
  height: 100%;
  background-color: #EDEDED;
  border-radius: 50%;
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  aspect-ratio: 1;
}
.circle_graph svg {
  width: 56%;
  height: 100%;
  position: relative;
  transform: rotate(-90deg);
  aspect-ratio: 1;
}
@media screen and (min-width: 768px) {
  .circle_graph svg {
    width: 48%;
  }
}
.circle_graph svg circle {
  fill: none;
  stroke-width: 12;
}
.circle_graph svg circle.base {
  stroke: #707070;
}
.circle_graph svg circle.line {
  stroke-dasharray: 0 9999;
  stroke: #E60C20;
}
.circle_graph p {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.circle_graph p span.number {
  color: #C50000;
  font-size: 3em;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .circle_graph p span.number {
    font-size: 2.7em;
  }
}
.circle_graph p span.text {
  font-size: 1.35em;
}
@media screen and (min-width: 768px) {
  .circle_graph p span.text {
    font-size: 1.2em;
  }
}

.line_graph dd {
  border-left: 1px solid #C50000;
}
.line_graph dd svg .graph_line {
  fill: none;
  stroke: #F09A3E;
  stroke-width: 4;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 1000;
  stroke-dashoffset: 1000;
}
.line_graph dd svg .point {
  fill: #F09A3E;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.line_graph dd ul {
  width: 100%;
  display: flex;
  justify-content: space-between;
  position: absolute;
  left: 0;
  bottom: 0;
  translate: 0 150%;
}
@media screen and (min-width: 768px) {
  .line_graph dd ul {
    width: 95%;
    left: 50%;
    translate: -50% 175%;
  }
}
.line_graph dd ul li {
  font-weight: 500;
  list-style: none;
}
@media screen and (min-width: 768px) {
  .line_graph dd ul li {
    font-size: 0.8em;
  }
}

.p_process_data--bottomBox {
  padding-top: 10em;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p_process_data--bottomBox {
    padding: 0;
    grid-column: 2/3;
  }
}
.p_process_data--bottomBox .img {
  width: 20.8em;
  opacity: 0;
  position: absolute;
  left: 0;
  top: 0;
  translate: 0 30px;
  transition: all 0.4s;
}
@media screen and (min-width: 768px) {
  .p_process_data--bottomBox .img {
    width: 42%;
    left: auto;
    right: 2.5em;
    top: -10.5em;
  }
}
.p_process_data--bottomBox.show .img {
  opacity: 1;
  translate: 0 0;
}
.p_process_data--bottomBox p {
  color: #fff;
  font-size: 6.5em;
  font-weight: bold;
  font-family: "Montserrat" !important;
  line-height: 0.9;
  -webkit-text-stroke: 1px #060F22;
  text-stroke: 1px #060F22;
  paint-order: stroke;
}
@media screen and (min-width: 768px) {
  .p_process_data--bottomBox p {
    font-size: 5.4em;
  }
}

section.p_process--section.flow_section {
  padding-bottom: 3.4em;
}
@media screen and (min-width: 768px) {
  section.p_process--section.flow_section {
    padding-bottom: 4.8em;
  }
}
section.p_process--section.flow_section .section_container {
  border-bottom: 1px solid #C50000;
}
@media screen and (min-width: 768px) {
  section.p_process--section.flow_section .section_container {
    display: grid;
    grid-template-columns: 12.8em 1fr;
  }
}
section.p_process--section.flow_section .section_container hgroup.p_section--hgroup {
  margin-bottom: 3.4em;
}

ul.p_process_flow--ul {
  width: 59%;
  margin-inline: auto;
  display: grid;
  grid-template-rows: repeat(4, 14.2em);
  gap: 0.5em 0;
}
@media screen and (min-width: 768px) {
  ul.p_process_flow--ul {
    width: 100%;
    height: 11.2em;
    grid-template: auto/repeat(3, 25.2%) 1fr;
    gap: 0 0.2em;
  }
}
ul.p_process_flow--ul li {
  text-align: center;
  list-style: none;
  position: relative;
  counter-increment: item;
}
ul.p_process_flow--ul li:not(:last-of-type) {
  background-color: #060F22;
  clip-path: polygon(0 0, 100% 0, 100% 75%, 50% 100%, 0 75%);
}
@media screen and (min-width: 768px) {
  ul.p_process_flow--ul li:not(:last-of-type) {
    clip-path: polygon(0 0, 75% 0, 100% 50%, 75% 100%, 0 100%);
  }
}
ul.p_process_flow--ul li:last-of-type {
  background-color: #C50000;
}
ul.p_process_flow--ul li::before {
  content: counter(item);
  font-size: 1.35em;
  font-weight: 500;
  font-family: "Montserrat" !important;
  width: 2em;
  background-color: #fff;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: 50%;
  top: 18%;
  translate: -50% 0;
  aspect-ratio: 1;
}
@media screen and (min-width: 768px) {
  ul.p_process_flow--ul li::before {
    font-size: 0.9em;
    left: 45%;
    top: 15%;
  }
}
ul.p_process_flow--ul li:last-of-type::before {
  color: #C50000;
}
@media screen and (min-width: 768px) {
  ul.p_process_flow--ul li:last-of-type::before {
    left: 50%;
  }
}
ul.p_process_flow--ul li span {
  color: #fff;
  font-size: 1.5em;
  font-weight: 500;
  position: absolute;
  left: 50%;
  top: 55%;
  translate: -50% 0;
}
@media screen and (min-width: 768px) {
  ul.p_process_flow--ul li span {
    font-size: 1em;
    left: 45%;
    top: 50%;
    translate: -50% -50%;
  }
}
ul.p_process_flow--ul li:last-of-type span {
  font-size: 2em;
}
@media screen and (min-width: 768px) {
  ul.p_process_flow--ul li:last-of-type span {
    font-size: 1.35em;
    left: 50%;
  }
}

.p_header.p_new-grads .right_box::before {
  background-color: #EF9C49;
}

section.p_new-grads--section .section_container {
  width: 91%;
  margin-inline: auto;
  border-top: 1px solid #C50000;
  position: relative;
}
@media screen and (min-width: 768px) {
  section.p_new-grads--section .section_container {
    width: 98%;
    max-width: 1040px;
    display: grid;
    grid-template-columns: 15em 1fr;
  }
}

section.p_new-grads--section.job_section {
  padding-top: 4.2em;
}
@media screen and (min-width: 768px) {
  section.p_new-grads--section.job_section {
    padding-top: 5.4em;
  }
}
section.p_new-grads--section.job_section .section_container {
  padding: 3.4em 0;
}
@media screen and (min-width: 768px) {
  section.p_new-grads--section.job_section .section_container {
    padding: 4.8em 0;
  }
}
section.p_new-grads--section.job_section .section_container hgroup.p_section--hgroup {
  margin-bottom: 4em;
}

ul.p_new-grads_job--ul {
  border-bottom: 1px dashed #BFBFBF;
}
ul.p_new-grads_job--ul li {
  padding: 1.7em 0;
  border-top: 1px dashed #BFBFBF;
  list-style: none;
  overflow: hidden;
  transition: all 0.4s;
}
ul.p_new-grads_job--ul li:hover {
  background-color: #FFF1E3;
}
ul.p_new-grads_job--ul li a {
  color: inherit;
}
@media screen and (min-width: 768px) {
  ul.p_new-grads_job--ul li a {
    display: grid;
    grid-template-columns: 16.7em 1fr;
    gap: 0 1.1em;
  }
}
ul.p_new-grads_job--ul li a .thumbnail {
  width: 61%;
  margin: 0 auto 1em;
}
@media screen and (min-width: 768px) {
  ul.p_new-grads_job--ul li a .thumbnail {
    width: 100%;
    margin: 0;
    grid-row: span 3;
  }
}
ul.p_new-grads_job--ul li a .thumbnail img {
  aspect-ratio: 1.35/1;
  -o-object-fit: cover;
     object-fit: cover;
}
ul.p_new-grads_job--ul li a h2 {
  font-size: 1.25em;
  font-weight: bold;
  line-height: 1.4;
  text-decoration: underline;
  margin-bottom: 1em;
  transition: all 0.4s;
}
@media screen and (min-width: 768px) {
  ul.p_new-grads_job--ul li a h2 {
    font-size: 1em;
    margin-bottom: 0.8em;
  }
}
ul.p_new-grads_job--ul li a .tag_box {
  margin-bottom: 1.7em;
  display: flex;
  gap: 0.8em;
}
@media screen and (min-width: 768px) {
  ul.p_new-grads_job--ul li a .tag_box {
    margin-bottom: 1em;
  }
}
ul.p_new-grads_job--ul li a .tag_box .tag {
  color: #fff;
  font-weight: bold;
  padding: 0.5em;
  background-color: #EF9C49;
}
@media screen and (min-width: 768px) {
  ul.p_new-grads_job--ul li a .tag_box .tag {
    font-size: 0.7em;
    padding: 0.4em 0.7em;
  }
}
ul.p_new-grads_job--ul li a .text_box {
  display: -webkit-box;
  -webkit-line-clamp: 6;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  ul.p_new-grads_job--ul li a .text_box {
    -webkit-line-clamp: 4;
  }
}
ul.p_new-grads_job--ul li a .text_box p {
  font-size: 1.2em;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  ul.p_new-grads_job--ul li a .text_box p {
    font-size: 0.8em;
  }
}
ul.p_new-grads_job--ul li:hover a h2 {
  opacity: 0.7;
}

section.p_new-grads--section.who_section .section_container {
  padding: 3.4em 0 2.5em;
}
@media screen and (min-width: 768px) {
  section.p_new-grads--section.who_section .section_container {
    padding: 4.8em 0 2.7em;
  }
}
section.p_new-grads--section.who_section .section_container hgroup.p_section--hgroup {
  margin-bottom: 4em;
}
@media screen and (min-width: 768px) {
  section.p_new-grads--section.who_section .section_container hgroup.p_section--hgroup {
    grid-row: span 2;
  }
}
section.p_new-grads--section.who_section .section_container p.text {
  font-size: 2.2em;
  font-weight: bold;
  line-height: 1.4;
  padding-left: 0.5em;
  margin-bottom: 1.6em;
}
@media screen and (min-width: 768px) {
  section.p_new-grads--section.who_section .section_container p.text {
    font-size: 3em;
    padding: 0;
    margin-bottom: 0.9em;
  }
}
section.p_new-grads--section.who_section .section_container p.text br {
  display: block !important;
}

.p_new-grads_who--box {
  width: 28.4em;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p_new-grads_who--box {
    width: auto;
    max-width: -moz-max-content;
    max-width: max-content;
    margin: 0;
    display: grid;
    grid-template-columns: auto auto auto;
  }
}
.p_new-grads_who--box .circle {
  width: 12.8em;
  border-radius: 50%;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 1;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p_new-grads_who--box .circle {
    width: 12em;
  }
}
.p_new-grads_who--box .circle.circle01 {
  margin-left: 1em;
  background-color: #060F22;
}
@media screen and (min-width: 768px) {
  .p_new-grads_who--box .circle.circle01 {
    margin: 6em 0 0;
  }
}
.p_new-grads_who--box .circle.circle02 {
  margin: -6.4em 0.1em 0 auto;
  background-color: #EF9C49;
}
@media screen and (min-width: 768px) {
  .p_new-grads_who--box .circle.circle02 {
    margin: 0 1.9em 0 1.4em;
  }
}
.p_new-grads_who--box .circle.circle03 {
  margin: -4em 0 0 3.3em;
  background-color: #C50000;
}
@media screen and (min-width: 768px) {
  .p_new-grads_who--box .circle.circle03 {
    margin: 6em 0 0;
  }
}
.p_new-grads_who--box .circle::before {
  content: "";
  width: 100%;
  height: 100%;
  background-image: url(image/header_texture.jpg);
  background-size: cover;
  background-position: center;
  opacity: 0.3;
  position: absolute;
  right: 0;
  top: 0;
}
.p_new-grads_who--box .circle p {
  text-align: center;
  color: #fff;
  font-size: 1.15em;
  font-weight: bold;
  line-height: 1.4;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p_new-grads_who--box .circle p {
    font-size: 0.85em;
    line-height: 2;
  }
}
.p_new-grads_who--box .circle p br {
  display: block !important;
}
@media screen and (min-width: 768px) {
  .p_new-grads_who--box .circle p br.br_sp {
    display: none !important;
  }
}
.p_new-grads_who--box .img {
  width: 20.3em;
  margin: -1em auto 0;
  position: relative;
  translate: 5% 0;
}
@media screen and (min-width: 768px) {
  .p_new-grads_who--box .img {
    width: 17.2em;
    margin: -7.2em auto 0;
    translate: -1% 0;
    grid-column: span 3;
  }
}

section.p_new-grads--section.parents_section {
  padding-bottom: 3.4em;
}
@media screen and (min-width: 768px) {
  section.p_new-grads--section.parents_section {
    padding-bottom: 4.8em;
  }
}
section.p_new-grads--section.parents_section .section_container {
  padding: 3.4em 0;
  border-bottom: 1px solid #C50000;
}
@media screen and (min-width: 768px) {
  section.p_new-grads--section.parents_section .section_container {
    padding: 4.8em 0;
  }
}
section.p_new-grads--section.parents_section .section_container hgroup.p_section--hgroup {
  margin-bottom: 3em;
}
section.p_new-grads--section.parents_section .section_container .text_box {
  width: 93%;
  margin-inline: auto;
}
section.p_new-grads--section.parents_section .section_container .text_box p {
  font-size: 1.2em;
  line-height: 2.4;
}
@media screen and (min-width: 768px) {
  section.p_new-grads--section.parents_section .section_container .text_box p {
    font-size: 1em;
    line-height: 2;
  }
}
section.p_new-grads--section.parents_section .section_container .text_box p:not(:last-of-type) {
  margin-bottom: 2.5em;
}
@media screen and (min-width: 768px) {
  section.p_new-grads--section.parents_section .section_container .text_box p:not(:last-of-type) {
    margin-bottom: 2em;
  }
}
section.p_new-grads--section.parents_section .section_container .text_box p br {
  display: block !important;
}
section.p_new-grads--section.parents_section .section_container .text_box p br.br_pc {
  display: none !important;
}
@media screen and (min-width: 768px) {
  section.p_new-grads--section.parents_section .section_container .text_box p br.br_pc {
    display: block !important;
  }
}

.p_header.p_career .right_box::before {
  background-color: #C50000;
}

.p_career--container {
  width: 91%;
  padding: 3em 0;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p_career--container {
    width: 98%;
    max-width: 1280px;
  }
}
@media screen and (min-width: 1025px) {
  .p_career--container {
    padding: 5.4em 0;
    display: grid;
    grid-template-columns: 9em 1fr;
    gap: 0 4em;
  }
}

.p_career--navBox {
  max-width: 400px;
  padding-bottom: 2.5em;
  margin-inline: auto;
}
@media screen and (min-width: 1025px) {
  .p_career--navBox {
    grid-row: span 4;
  }
}
.p_career--navBox .nav_container {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 0 3em;
  align-items: end;
}
@media screen and (min-width: 1025px) {
  .p_career--navBox .nav_container {
    display: block;
    align-items: start;
    position: sticky;
    top: 5em;
  }
}
.p_career--navBox .nav_container .img {
  width: 90%;
}
@media screen and (min-width: 1025px) {
  .p_career--navBox .nav_container .img {
    width: 100%;
  }
}

@media screen and (min-width: 1025px) {
  nav.p_career--nav {
    margin-bottom: 2.2em;
  }
}

ul.p_career_nav--ul li {
  padding: 1em 0;
  border-bottom: 1px solid #BFBFBF;
  list-style: none;
}
@media screen and (min-width: 768px) {
  ul.p_career_nav--ul li {
    padding: 0.7em 0;
  }
}
ul.p_career_nav--ul li a {
  color: inherit;
  font-size: 1.2em;
  font-weight: 500;
  padding-left: 0;
  position: relative;
  transition: padding 0.3s;
}
@media screen and (min-width: 768px) {
  ul.p_career_nav--ul li a {
    font-size: 0.9em;
  }
}
@media screen and (min-width: 768px) {
  ul.p_career_nav--ul li a:hover {
    padding-left: 1em;
  }
}
@media screen and (min-width: 768px) {
  ul.p_career_nav--ul li a::before {
    content: "";
    width: 0.45em;
    background-color: #C50000;
    aspect-ratio: 1/2;
    position: absolute;
    left: 0;
    top: 50%;
    transform: skew(-22deg, 0deg);
    translate: 0 -50%;
    scale: 0;
    transition: scale 0.3s;
  }
}
@media screen and (min-width: 768px) {
  ul.p_career_nav--ul li a:hover::before {
    scale: 1;
  }
}

section.p_career--section .section_container {
  border-top: 1px solid #C50000;
  position: relative;
}
@media screen and (min-width: 768px) {
  section.p_career--section .section_container {
    display: grid;
    grid-template-columns: 15em 1fr;
  }
}

section.p_career--section.full-time_section .section_container {
  padding: 3.4em 0;
}
@media screen and (min-width: 768px) {
  section.p_career--section.full-time_section .section_container {
    padding: 4.8em 0;
  }
}
section.p_career--section.full-time_section .section_container hgroup.p_section--hgroup {
  margin-bottom: 4em;
}

ul.p_new-grads_job--ul {
  border-bottom: 1px dashed #BFBFBF;
}
ul.p_new-grads_job--ul li {
  padding: 1.7em 0;
  border-top: 1px dashed #BFBFBF;
  list-style: none;
  overflow: hidden;
  transition: all 0.4s;
}
ul.p_new-grads_job--ul li:hover {
  background-color: #FFF1E3;
}
ul.p_new-grads_job--ul li a {
  color: inherit;
}
@media screen and (min-width: 768px) {
  ul.p_new-grads_job--ul li a {
    display: grid;
    grid-template-columns: 16.7em 1fr;
    gap: 0 1.1em;
  }
}
ul.p_new-grads_job--ul li a .thumbnail {
  width: 61%;
  margin: 0 auto 1em;
}
@media screen and (min-width: 768px) {
  ul.p_new-grads_job--ul li a .thumbnail {
    width: 100%;
    margin: 0;
    grid-row: span 3;
  }
}
ul.p_new-grads_job--ul li a .thumbnail img {
  aspect-ratio: 1.35/1;
  -o-object-fit: cover;
     object-fit: cover;
}
ul.p_new-grads_job--ul li a h2 {
  font-size: 1.25em;
  font-weight: bold;
  line-height: 1.4;
  text-decoration: underline;
  margin-bottom: 1em;
  transition: all 0.4s;
}
@media screen and (min-width: 768px) {
  ul.p_new-grads_job--ul li a h2 {
    font-size: 1em;
    margin-bottom: 0.8em;
  }
}
ul.p_new-grads_job--ul li a .tag_box {
  margin-bottom: 1.7em;
  display: flex;
  gap: 0.8em;
}
@media screen and (min-width: 768px) {
  ul.p_new-grads_job--ul li a .tag_box {
    margin-bottom: 1em;
  }
}
ul.p_new-grads_job--ul li a .tag_box .tag {
  color: #fff;
  font-weight: bold;
  padding: 0.5em;
  background-color: #EF9C49;
}
@media screen and (min-width: 768px) {
  ul.p_new-grads_job--ul li a .tag_box .tag {
    font-size: 0.7em;
    padding: 0.4em 0.7em;
  }
}
ul.p_new-grads_job--ul li a .text_box {
  display: -webkit-box;
  -webkit-line-clamp: 6;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  ul.p_new-grads_job--ul li a .text_box {
    -webkit-line-clamp: 4;
  }
}
ul.p_new-grads_job--ul li a .text_box p {
  font-size: 1.2em;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  ul.p_new-grads_job--ul li a .text_box p {
    font-size: 0.8em;
  }
}
ul.p_new-grads_job--ul li:hover a h2 {
  opacity: 0.7;
}

section.p_career--section.part-time_section .section_container {
  padding: 3.4em 0;
}
@media screen and (min-width: 768px) {
  section.p_career--section.part-time_section .section_container {
    padding: 4.8em 0;
  }
}
section.p_career--section.part-time_section .section_container hgroup.p_section--hgroup {
  margin-bottom: 4em;
}

section.p_career--section.contract_section .section_container {
  padding: 3.4em 0;
  border-bottom: 1px solid #C50000;
}
@media screen and (min-width: 768px) {
  section.p_career--section.contract_section .section_container {
    padding: 4.8em 0;
  }
}
section.p_career--section.contract_section .section_container hgroup.p_section--hgroup {
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  section.p_career--section.contract_section .section_container hgroup.p_section--hgroup {
    grid-row: span 2;
  }
}
section.p_career--section.contract_section .section_container .box p.text {
  font-size: 2.2em;
  font-weight: bold;
  line-height: 1.4;
  padding-left: 0.5em;
  margin-bottom: 1.3em;
}
@media screen and (min-width: 768px) {
  section.p_career--section.contract_section .section_container .box p.text {
    font-size: 3em;
    padding: 0;
    margin-bottom: 0.9em;
  }
}
section.p_career--section.contract_section .section_container .box p.text br {
  display: block !important;
}
section.p_career--section.contract_section .section_container .box a {
  width: 25em;
  margin: 0 auto 4em;
  display: block;
  transition: all 0.4s;
}
@media screen and (min-width: 768px) {
  section.p_career--section.contract_section .section_container .box a {
    width: 33.3em;
    margin: 0 0 2.8em;
  }
}
section.p_career--section.contract_section .section_container .box a:hover {
  opacity: 0.7;
}

#content.S_staff {
  width: 100%;
  padding-top: 0;
  padding-bottom: 0;
}

.p_header.S_staff .right_box::before {
  background-color: #060F22;
}

section.S_staff--section {
  padding: 2.5em 0 4.2em;
}
@media screen and (min-width: 768px) {
  section.S_staff--section {
    padding: 3.8em 0 4.8em;
  }
}
section.S_staff--section .section_container {
  width: 91%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.S_staff--section .section_container {
    width: 98%;
    max-width: 1040px;
    display: grid;
    grid-template-columns: 11.5em 1fr;
    gap: 1.7em 2.5em;
    align-items: start;
  }
}
section.S_staff--section .section_container .thumbnail {
  width: 61%;
  margin: 0 auto 1em;
}
@media screen and (min-width: 768px) {
  section.S_staff--section .section_container .thumbnail {
    width: 100%;
    margin: 0;
    grid-row: span 2;
  }
}
section.S_staff--section .section_container .thumbnail img {
  aspect-ratio: 1.35/1;
  -o-object-fit: cover;
     object-fit: cover;
}
section.S_staff--section .section_container h2 {
  font-size: 1.25em;
  font-weight: bold;
  line-height: 1.4;
  text-decoration: underline;
  margin-bottom: 0.8em;
}
@media screen and (min-width: 768px) {
  section.S_staff--section .section_container h2 {
    font-size: 1.55em;
    margin: 0;
  }
}
section.S_staff--section .section_container .tag_box {
  margin-bottom: 3em;
  display: flex;
  gap: 0.8em;
}
@media screen and (min-width: 768px) {
  section.S_staff--section .section_container .tag_box {
    margin: 0;
  }
}
section.S_staff--section .section_container .tag_box .tag {
  color: #fff;
  font-weight: bold;
  padding: 0.5em;
  background-color: #EF9C49;
}
@media screen and (min-width: 768px) {
  section.S_staff--section .section_container .tag_box .tag {
    font-size: 0.8em;
    padding: 0.4em 0.7em;
  }
}
section.S_staff--section .section_container .text_box {
  margin-bottom: 1.8em;
}
@media screen and (min-width: 768px) {
  section.S_staff--section .section_container .text_box {
    margin: 0;
    grid-column: span 2;
    display: grid;
    grid-template-columns: 1fr 8em;
    gap: 0 1em;
    align-items: end;
  }
}
section.S_staff--section .section_container .text_box p {
  color: #fff;
  font-size: 1.15em;
  line-height: 1.8;
  padding: 2em;
  margin-bottom: 3em;
  background-color: #060F22;
  border-radius: 20px;
  position: relative;
}
@media screen and (min-width: 768px) {
  section.S_staff--section .section_container .text_box p {
    font-size: 0.85em;
    padding: 1.2em 2em;
    margin: 0;
  }
}
section.S_staff--section .section_container .text_box p::before {
  content: "";
  width: 1.5em;
  height: 1.7em;
  background-color: #060F22;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  position: absolute;
  left: 50%;
  bottom: 0;
  translate: -50% 99%;
}
@media screen and (min-width: 768px) {
  section.S_staff--section .section_container .text_box p::before {
    width: 1em;
    height: 1.2em;
    left: auto;
    right: 0;
    bottom: 6em;
    translate: 99% 0;
    rotate: -90deg;
  }
}
section.S_staff--section .section_container .text_box .img {
  width: 9.5em;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.S_staff--section .section_container .text_box .img {
    width: 100%;
  }
}
section.S_staff--section .section_container a.common_button {
  color: inherit;
  margin-inline: auto;
  border-color: #060F22 !important;
  translate: -1em 0;
}
@media screen and (min-width: 768px) {
  section.S_staff--section .section_container a.common_button {
    grid-column: span 2;
  }
}
section.S_staff--section .section_container a.common_button::before {
  background-color: #060F22;
}

article.S_staff--article {
  margin-bottom: 4.2em;
}
@media screen and (min-width: 768px) {
  article.S_staff--article {
    margin-bottom: 3em;
    grid-column: span 2;
  }
}

dl.S_staff--dl {
  border-top: 1px solid #C50000;
}
dl.S_staff--dl > div {
  padding: 2em 0;
  border-bottom: 1px solid #C50000;
  display: grid;
  gap: 2em 0;
}
@media screen and (min-width: 768px) {
  dl.S_staff--dl > div {
    grid-template-columns: 12em 1fr;
    gap: 0;
  }
}
dl.S_staff--dl > div > dt {
  font-size: 1.2em;
  font-weight: bold;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  dl.S_staff--dl > div > dt {
    font-size: 0.85em;
  }
}
dl.S_staff--dl > div > dd > p {
  font-size: 1.2em;
  line-height: 1.6;
  max-width: -moz-max-content;
  max-width: max-content;
}
dl.S_staff--dl > div > dd > p:not(:last-of-type) {
  margin-bottom: 2em;
}
@media screen and (min-width: 768px) {
  dl.S_staff--dl > div > dd > p {
    font-size: 0.85em;
  }
}
dl.S_staff--dl > div > dd > p br {
  display: block !important;
}
dl.S_staff--dl > div > dd > a {
  display: inline-block;
}
dl.S_staff--dl > div > dd > a:hover {
  opacity: 0.7;
}
dl.S_staff--dl > div > dd > a p {
  color: #EF9C49;
  font-size: 1.2em;
  font-weight: bold;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  dl.S_staff--dl > div > dd > a p {
    font-size: 0.85em;
  }
}

@media screen and (min-width: 768px) {
  ul.S_staff_oneday--ul {
    display: grid;
    grid-template-columns: auto auto 1fr;
  }
}
ul.S_staff_oneday--ul li {
  list-style: none;
  display: grid;
  grid-template-columns: 7em 1fr;
  align-items: start;
  position: relative;
  gap: 1.8em 0;
}
@media screen and (min-width: 768px) {
  ul.S_staff_oneday--ul li {
    grid-template-columns: subgrid;
    grid-column: span 3;
    gap: 0 1.5em;
  }
}
ul.S_staff_oneday--ul li:not(:last-of-type) {
  padding-bottom: 4em;
}
@media screen and (min-width: 768px) {
  ul.S_staff_oneday--ul li:not(:last-of-type) {
    padding-bottom: 3em;
  }
}
ul.S_staff_oneday--ul li:not(:last-of-type)::before {
  content: "";
  width: 1px;
  height: calc(100% - 3.5em);
  background-color: #C50000;
  position: absolute;
  left: 0.6em;
  top: 2.7em;
}
@media screen and (min-width: 768px) {
  ul.S_staff_oneday--ul li:not(:last-of-type)::before {
    height: calc(100% - 2.8em);
    left: 0.4em;
    top: 2em;
  }
}
ul.S_staff_oneday--ul li p.time {
  font-size: 1.5em;
  font-weight: bold;
  font-family: "Montserrat" !important;
  line-height: 1.4;
  padding-left: 1.5em;
  position: relative;
  grid-row: span 2;
}
@media screen and (min-width: 768px) {
  ul.S_staff_oneday--ul li p.time {
    font-size: 1.1em;
    padding-left: 1.8em;
    grid-row: span 1;
  }
}
ul.S_staff_oneday--ul li p.time::before {
  content: "";
  width: 0.85em;
  background-color: #C50000;
  border-radius: 50%;
  aspect-ratio: 1;
  position: absolute;
  left: 0;
  top: 50%;
  translate: 0 -50%;
}
@media screen and (min-width: 768px) {
  ul.S_staff_oneday--ul li p.time::before {
    width: 0.75em;
  }
}
ul.S_staff_oneday--ul li p.text {
  font-size: 1.2em;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  ul.S_staff_oneday--ul li p.text {
    font-size: 0.9em;
    padding-right: 2em;
  }
}
ul.S_staff_oneday--ul li p br {
  display: block !important;
}

.p_header.p_voice .right_box::before {
  background-color: #EF9C49;
}

.p_voice--contents {
  padding: 1.7em 0 2.5em;
}
@media screen and (min-width: 768px) {
  .p_voice--contents {
    padding: 2.1em 0 4.8em;
  }
}
.p_voice--contents .contents_container p.text {
  text-align: center;
  font-size: 1.5em;
  font-weight: bold;
  line-height: 1.8;
  margin-bottom: 2.7em;
}
@media screen and (min-width: 768px) {
  .p_voice--contents .contents_container p.text {
    font-size: 1.1em;
    margin-top: -2.5em;
  }
}
.p_voice--contents .contents_container p.text br {
  display: block !important;
}
@media screen and (min-width: 768px) {
  .p_voice--contents .contents_container p.text br.br_sp {
    display: none !important;
  }
}

.p_voice--kumoBox {
  width: 92%;
  height: 5.6em;
  margin: 0 auto 2em;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p_voice--kumoBox {
    width: 98%;
    height: 6.1em;
    max-width: 1020px;
    margin: 0 auto;
  }
}
.p_voice--kumoBox .p_voice--kumo {
  position: absolute;
}
.p_voice--kumoBox .p_voice--kumo:first-of-type {
  width: 4.7em;
  left: 0;
  top: 0;
}
@media screen and (min-width: 768px) {
  .p_voice--kumoBox .p_voice--kumo:first-of-type {
    width: 3.6em;
  }
}
.p_voice--kumoBox .p_voice--kumo:nth-of-type(2) {
  width: 3.8em;
  left: 27%;
  bottom: 0;
}
@media screen and (min-width: 768px) {
  .p_voice--kumoBox .p_voice--kumo:nth-of-type(2) {
    width: 2.9em;
    left: 14%;
    bottom: 30%;
  }
}
.p_voice--kumoBox .p_voice--kumo:nth-of-type(3) {
  width: 4.2em;
  left: 58%;
  bottom: 25%;
}
@media screen and (min-width: 768px) {
  .p_voice--kumoBox .p_voice--kumo:nth-of-type(3) {
    width: 3.6em;
    left: 82%;
    bottom: 0;
  }
}
.p_voice--kumoBox .p_voice--kumo:nth-of-type(4) {
  width: 4.5em;
  right: 0;
  top: 0;
}
@media screen and (min-width: 768px) {
  .p_voice--kumoBox .p_voice--kumo:nth-of-type(4) {
    width: 3.9em;
  }
}
.p_voice--scroll {
  width: -moz-max-content;
  width: max-content;
  margin-bottom: 2.5em;
  display: flex;
  animation: scroll_image 30s linear infinite;
}
@media screen and (min-width: 768px) {
  .p_voice--scroll {
    margin-bottom: 9em;
  }
}
.p_voice--scroll img {
  display: block;
  width: auto;
  max-width: none;
  height: 13em;
}
@media screen and (min-width: 768px) {
  .p_voice--scroll img {
    height: 11em;
  }
}

@keyframes scroll_image {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-33.3333%);
  }
}
.p_voice--list {
  width: 93%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p_voice--list {
    width: 98%;
    max-width: 1000px;
  }
}

.p_header.S_voice .right_box::before {
  background-color: #EF9C49;
}

.S_voice--infoBox {
  padding: 2.5em 0 4em;
}
@media screen and (min-width: 768px) {
  .S_voice--infoBox {
    width: 98%;
    max-width: 1000px;
    padding: 3.9em 0;
    margin-inline: auto;
    display: grid;
    grid-template-columns: 17.8em 1fr;
    align-items: start;
    gap: 0 4em;
  }
}
.S_voice--infoBox .photo_box {
  width: 59%;
  margin: 0 auto 3em;
  position: relative;
}
@media screen and (min-width: 768px) {
  .S_voice--infoBox .photo_box {
    width: 100%;
    margin: 0;
    grid-row: span 2;
  }
}
.S_voice--infoBox .photo_box span.num {
  color: #C50000;
  font-size: 0.95em;
  font-family: "Montserrat" !important;
  font-weight: 500;
  writing-mode: vertical-rl;
  height: 7.5em;
  padding: 0 0.3em;
  background-color: #fff;
  display: flex;
  justify-content: center;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .S_voice--infoBox .photo_box span.num {
    font-size: 0.65em;
  }
}
.S_voice--infoBox .photo_box .img {
  overflow: hidden;
}
.S_voice--infoBox .photo_box .img img {
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 1/1.26;
}
.S_voice--infoBox .photo_box p {
  color: #fff;
  width: 6.3em;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  aspect-ratio: 1;
  position: absolute;
  left: 0;
  bottom: 0;
}
@media screen and (min-width: 768px) {
  .S_voice--infoBox .photo_box p {
    width: 4.2em;
  }
}
.S_voice--infoBox .photo_box p.color_navy {
  background-color: #191A45;
}
.S_voice--infoBox .photo_box p.color_orange {
  background-color: #EB4000;
}
.S_voice--infoBox .photo_box p.color_red {
  background-color: #C50000;
}
.S_voice--infoBox .photo_box p span.year {
  font-size: 0.95em;
}
@media screen and (min-width: 768px) {
  .S_voice--infoBox .photo_box p span.year {
    font-size: 0.65em;
  }
}
.S_voice--infoBox .photo_box p span.name {
  font-size: 1.2em;
}
@media screen and (min-width: 768px) {
  .S_voice--infoBox .photo_box p span.name {
    font-size: 0.8em;
  }
}
.S_voice--infoBox .photo_box p span.name span {
  font-size: 1.25em;
}
.S_voice--infoBox .message {
  font-size: 1.7em;
  line-height: 1.4;
  width: 13.8em;
  margin: 0 auto 0.5em;
}
@media screen and (min-width: 768px) {
  .S_voice--infoBox .message {
    width: 100%;
    font-size: 2.2em;
    margin: 0 0 0.8em;
  }
}
.S_voice--infoBox .comment_box {
  width: 28.4em;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .S_voice--infoBox .comment_box {
    width: 100%;
    display: grid;
    grid-template-columns: auto auto;
    align-items: center;
    gap: 0 2em;
  }
}
.S_voice--infoBox .comment_box .img {
  width: 8.2em;
  margin: 0 auto 3.3em;
}
@media screen and (min-width: 768px) {
  .S_voice--infoBox .comment_box .img {
    width: 7em;
    margin: 0;
  }
}
.S_voice--infoBox .comment_box .balloon {
  padding: 2em;
  background-color: #060F22;
  border-radius: 20px;
  opacity: 0;
  transform: translateY(40px) scale(0.8);
  position: relative;
}
@media screen and (min-width: 768px) {
  .S_voice--infoBox .comment_box .balloon {
    padding: 1.2em 1.8em 0.8em;
  }
}
.S_voice--infoBox .comment_box .balloon.show {
  animation: popup 0.6s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
.S_voice--infoBox .comment_box .balloon::before {
  content: "";
  width: 1.8em;
  height: 2.2em;
  background-color: #060F22;
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  position: absolute;
  left: 50%;
  top: 0;
  translate: -50% -99%;
}
@media screen and (min-width: 768px) {
  .S_voice--infoBox .comment_box .balloon::before {
    left: 0;
    top: 50%;
    translate: -99% -50%;
    rotate: -90deg;
  }
}
.S_voice--infoBox .comment_box .balloon h2 {
  color: #fff;
  font-size: 1.15em;
  font-weight: bold;
  line-height: 1;
  margin-bottom: 1.5em;
}
@media screen and (min-width: 768px) {
  .S_voice--infoBox .comment_box .balloon h2 {
    font-size: 0.9em;
    margin-bottom: 1.2em;
  }
}
.S_voice--infoBox .comment_box .balloon p {
  color: #fff;
  font-size: 1.15em;
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .S_voice--infoBox .comment_box .balloon p {
    font-size: 0.85em;
  }
}
.S_voice--infoBox .comment_box .balloon p.comment {
  margin-bottom: 1em;
}
@media screen and (min-width: 768px) {
  .S_voice--infoBox .comment_box .balloon p.comment {
    margin-bottom: 0.6em;
  }
}
.S_voice--infoBox .comment_box .balloon p.name {
  text-align: right;
}

@keyframes popup {
  0% {
    transform: translateY(40px) scale(0.8);
    opacity: 0;
  }
  100% {
    transform: translateY(0) scale(1);
  }
  80%, 100% {
    opacity: 1;
  }
}
.S_voice--faqBox {
  padding: 4.2em 0;
  background-color: #C50000;
  position: relative;
}
@media screen and (min-width: 768px) {
  .S_voice--faqBox {
    padding: 5.6em 0;
  }
}
@media screen and (min-width: 768px) {
  .S_voice--faqBox::before {
    content: "ENERGY FLOW";
    color: #C65555;
    font-size: 9.4em;
    font-weight: bold;
    font-family: "Montserrat" !important;
    line-height: 1.2;
    writing-mode: vertical-rl;
    position: absolute;
    left: 0;
    top: 0.3em;
  }
}

ul.S_voice--ul {
  width: 90%;
  margin: 0 auto 6em;
}
@media screen and (min-width: 768px) {
  ul.S_voice--ul {
    width: 60%;
    max-width: 570px;
    margin: 0 auto 5.5em;
  }
}
ul.S_voice--ul li {
  list-style: none;
}
ul.S_voice--ul li:not(:last-of-type) {
  margin-bottom: 4.2em;
}
@media screen and (min-width: 768px) {
  ul.S_voice--ul li:not(:last-of-type) {
    margin-bottom: 2.8em;
  }
}
ul.S_voice--ul li h2 {
  color: #fff;
  font-size: 1.35em;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 2em;
  display: flex;
  align-items: center;
  gap: 0 0.8em;
  position: relative;
}
@media screen and (min-width: 768px) {
  ul.S_voice--ul li h2 {
    font-size: 1.1em;
    margin-bottom: 1.6em;
  }
}
ul.S_voice--ul li h2::before {
  content: "";
  width: 0.4em;
  background-color: #fff;
  aspect-ratio: 1/2;
  transform: skew(-22deg, 0deg);
  transform-origin: left bottom;
  display: block;
}
@media screen and (min-width: 768px) {
  ul.S_voice--ul li h2::before {
    width: 0.35em;
  }
}
ul.S_voice--ul li p {
  font-size: 1.25em;
  line-height: 1.8;
  padding: 1.3em 2.6em;
  margin-left: 1.1em;
  background-color: #fff;
  border-radius: 0 50px 50px;
}
@media screen and (min-width: 768px) {
  ul.S_voice--ul li p {
    font-size: 0.85em;
    padding: 1.8em 3.2em;
    margin: 0;
    border-radius: 0 75px 75px;
  }
}
ul.S_voice--ul li p br {
  display: block !important;
}

.S_voice_privateBox {
  width: 80%;
  margin-inline: auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  .S_voice_privateBox {
    width: 98%;
    max-width: 1000px;
    display: grid;
    grid-template: auto 1fr/1fr 1.03fr;
    gap: 0 4em;
  }
}
.S_voice_privateBox hgroup {
  margin-bottom: 2em;
}
@media screen and (min-width: 768px) {
  .S_voice_privateBox hgroup {
    grid-row: 1/2;
    grid-column: 2/3;
  }
}
.S_voice_privateBox hgroup h2 {
  color: #fff;
  font-size: 2.8em;
  font-weight: bold;
  font-family: "Montserrat" !important;
  line-height: 1;
  margin-bottom: 0.3em;
}
@media screen and (min-width: 768px) {
  .S_voice_privateBox hgroup h2 {
    margin-bottom: 0.2em;
  }
}
.S_voice_privateBox hgroup p {
  color: #fff;
  font-size: 1.15em;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .S_voice_privateBox hgroup p {
    font-size: 1.1em;
  }
}
.S_voice_privateBox > .img {
  margin-bottom: 2em;
}
@media screen and (min-width: 768px) {
  .S_voice_privateBox > .img {
    margin: 0;
    grid-row: span 2;
    grid-column: 1/2;
  }
}
.S_voice_privateBox > .img img {
  aspect-ratio: 3/2;
  -o-object-fit: cover;
     object-fit: cover;
}
.S_voice_privateBox p {
  color: #fff;
  font-size: 1.25em;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .S_voice_privateBox p {
    font-size: 0.85em;
  }
}
.S_voice_privateBox p br {
  display: block !important;
}

.S_voice_private--swiper {
  padding-bottom: 3em;
}
@media screen and (min-width: 768px) {
  .S_voice_private--swiper {
    max-width: 100%;
    grid-row: span 2;
    grid-column: 1/2;
  }
}
.S_voice_private--swiper .swiper-wrapper .swiper-slide .img img {
  aspect-ratio: 3/2;
  -o-object-fit: cover;
     object-fit: cover;
}
.S_voice_private--swiper .swiper-pagination {
  top: auto;
  bottom: 1em;
}
.S_voice_private--swiper .swiper-pagination .swiper-pagination-bullet-active {
  background-color: #060F22;
}

.S_voice_anotherBox {
  padding: 4.2em 0;
  position: relative;
}
@media screen and (min-width: 768px) {
  .S_voice_anotherBox {
    width: 98%;
    max-width: 1240px;
    padding: 5.5em 0;
    margin-inline: auto;
  }
}
.S_voice_anotherBox h2 {
  text-align: center;
  font-size: 2.5em;
  font-weight: bold;
  font-family: "Montserrat" !important;
  line-height: 1;
  margin-bottom: 1em;
}
@media screen and (min-width: 768px) {
  .S_voice_anotherBox h2 {
    font-size: 2.8em;
  }
}
.S_voice_anotherBox > .img {
  width: 10.5em;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .S_voice_anotherBox > .img {
    position: absolute;
    left: 0;
    bottom: 5.5em;
  }
}

ul.S_voice_another--ul {
  width: 93%;
  margin: 0 auto 4.7em;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 0.5em;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  ul.S_voice_another--ul {
    width: 65%;
    max-width: 700px;
    margin: 0 auto;
    gap: 0 3.3em;
  }
}
ul.S_voice_another--ul li {
  list-style: none;
}
ul.S_voice_another--ul li a {
  position: relative;
}
ul.S_voice_another--ul li a span.num {
  color: #C50000;
  font-size: 0.95em;
  font-family: "Montserrat" !important;
  font-weight: 500;
  writing-mode: vertical-rl;
  height: 7.5em;
  padding: 0 0.3em;
  background-color: #fff;
  display: flex;
  justify-content: center;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  ul.S_voice_another--ul li a span.num {
    font-size: 0.65em;
  }
}
ul.S_voice_another--ul li a .img {
  overflow: hidden;
}
ul.S_voice_another--ul li a .img img {
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 1/1.26;
  scale: 1;
  transition: all 0.4s;
}
ul.S_voice_another--ul li a:hover .img img {
  scale: 1.1;
}
ul.S_voice_another--ul li a p {
  color: #fff;
  width: 6.3em;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  aspect-ratio: 1;
  position: absolute;
  left: 0;
  bottom: 0;
}
@media screen and (min-width: 768px) {
  ul.S_voice_another--ul li a p {
    width: 4.2em;
  }
}
ul.S_voice_another--ul li a p.color_navy {
  background-color: #191A45;
}
ul.S_voice_another--ul li a p.color_orange {
  background-color: #EB4000;
}
ul.S_voice_another--ul li a p.color_red {
  background-color: #C50000;
}
ul.S_voice_another--ul li a p span.year {
  font-size: 0.95em;
}
@media screen and (min-width: 768px) {
  ul.S_voice_another--ul li a p span.year {
    font-size: 0.65em;
  }
}
ul.S_voice_another--ul li a p span.name {
  font-size: 1.2em;
}
@media screen and (min-width: 768px) {
  ul.S_voice_another--ul li a p span.name {
    font-size: 0.8em;
  }
}
ul.S_voice_another--ul li a p span.name span {
  font-size: 1.25em;
}
ul.S_voice_another--ul li a i {
  color: #C50000;
  font-size: 1.1em;
  position: absolute;
  right: 0;
  bottom: 0;
  background-color: #fff;
  width: 2.9em;
  aspect-ratio: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 768px) {
  ul.S_voice_another--ul li a i {
    font-size: 0.8em;
    width: 3.3em;
  }
}

.p_header.p_faq .right_box::before {
  background-color: #C50000;
}

.p_faq--contents {
  padding: 2.7em 0 4.2em;
}
@media screen and (min-width: 768px) {
  .p_faq--contents {
    padding: 3.6em 0 4.8em;
  }
}
.p_faq--contents .contents_container .text_box {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 0.2em;
}
@media screen and (min-width: 768px) {
  .p_faq--contents .contents_container .text_box {
    gap: 0 1em;
  }
}
.p_faq--contents .contents_container .text_box p {
  color: #C50000;
  font-size: 1.5em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p_faq--contents .contents_container .text_box p {
    font-size: 1.9em;
    margin-top: 0.5em;
  }
}
.p_faq--contents .contents_container .text_box .img {
  width: 4.4em;
}
@media screen and (min-width: 768px) {
  .p_faq--contents .contents_container .text_box .img {
    width: 9.5em;
  }
}

ul.p_faq--ul {
  width: 94%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  ul.p_faq--ul {
    width: 98%;
    max-width: 900px;
  }
}

li.p_faq--li {
  list-style: none;
}
li.p_faq--li:not(:last-of-type) {
  margin-bottom: 1.3em;
}
@media screen and (min-width: 768px) {
  li.p_faq--li:not(:last-of-type) {
    margin-bottom: 1.7em;
  }
}

button.p_faq_question--button {
  text-align: left;
  color: #071225;
  font-size: 1.15em;
  font-weight: 700;
  line-height: 1.4;
  width: 100%;
  min-height: 3.6em;
  padding: 1em 3em 1em 4.6em;
  border: 1px solid #060F22;
  background-color: #fff;
  position: relative;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  button.p_faq_question--button {
    font-size: 1em;
    min-height: 5em;
    padding: 1em 3em 1em 7.2em;
  }
}
button.p_faq_question--button:hover {
  opacity: 0.7;
}
button.p_faq_question--button::before {
  content: "";
  background-color: #060F22;
  width: 3.6em;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
@media screen and (min-width: 768px) {
  button.p_faq_question--button::before {
    width: 5em;
  }
}
button.p_faq_question--button::after {
  content: "Q";
  color: #fff;
  font-size: 1.8em;
  font-weight: bold;
  font-family: "Montserrat" !important;
  position: absolute;
  left: 0.55em;
  top: 0.2em;
}
@media screen and (min-width: 768px) {
  button.p_faq_question--button::after {
    font-size: 2.2em;
    left: 0.7em;
    top: 0.3em;
  }
}
button.p_faq_question--button span.icon {
  width: 3.5em;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
}
@media screen and (min-width: 768px) {
  button.p_faq_question--button span.icon {
    width: 4em;
  }
}
button.p_faq_question--button span.icon::before, button.p_faq_question--button span.icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 43%;
  height: 1px;
  background: #e60012;
  transition: transform 0.4s;
}
@media screen and (min-width: 768px) {
  button.p_faq_question--button span.icon::before, button.p_faq_question--button span.icon::after {
    width: 34%;
    height: 2px;
  }
}
button.p_faq_question--button span.icon::before {
  transform: translate(-50%, -50%);
}
button.p_faq_question--button span.icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
button.p_faq_question--button[aria-expanded=true] .icon::after {
  transform: translate(-50%, -50%) rotate(0deg);
}

.p_faq--answerBox {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.5s ease, opacity 0.3s ease;
}
.p_faq--answerBox > div {
  overflow: hidden;
  position: relative;
}
.p_faq--answerBox > div p {
  font-size: 1.15em;
  line-height: 1.6;
  padding: 1.1em 0 1em 4.7em;
}
@media screen and (min-width: 768px) {
  .p_faq--answerBox > div p {
    font-size: 1em;
    line-height: 1.8;
    padding: 1.7em 1em 1em 7.3em;
  }
}
.p_faq--answerBox > div p::before {
  content: "A";
  color: #C50000;
  font-size: 1.8em;
  font-weight: bold;
  font-family: "Montserrat" !important;
  position: absolute;
  left: 0.65em;
  top: 0.25em;
}
@media screen and (min-width: 768px) {
  .p_faq--answerBox > div p::before {
    font-size: 2.2em;
    left: 0.8em;
    top: 0.4em;
  }
}
.p_faq--answerBox > div p br {
  display: block !important;
}
@media screen and (min-width: 768px) {
  .p_faq--answerBox > div p br.br_sp {
    display: none !important;
  }
}

.p_faq_question--button[aria-expanded=true] + .p_faq--answerBox {
  grid-template-rows: 1fr;
  opacity: 1;
}

.p_header.p_entry .right_box::before {
  background-color: #060F22;
}

.p_entry--contents {
  padding: 4.2em 0;
  background-color: #F6F6F6;
}
@media screen and (min-width: 768px) {
  .p_entry--contents {
    padding: 3.9em 0 4.8em;
    background: none;
  }
}
@media screen and (min-width: 768px) {
  .p_entry--contents .contents_container {
    width: 98%;
    max-width: 1040px;
    padding: 4.5em 0 5.5em;
    margin-inline: auto;
    background-color: #F6F6F6;
  }
}
.p_entry--contents .contents_container h2 {
  text-align: center;
  font-size: 1.5em;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 2.3em;
}
@media screen and (min-width: 768px) {
  .p_entry--contents .contents_container h2 {
    font-size: 1.1em;
    margin-bottom: 3.6em;
  }
}
.p_entry--contents .contents_container h2 br {
  display: block !important;
}
@media screen and (min-width: 768px) {
  .p_entry--contents .contents_container h2 br {
    display: none !important;
  }
}

dl.p_entry_job--dl {
  width: 86%;
  margin: 0 auto 4.2em;
  display: grid;
  gap: 2em 0;
}
@media screen and (min-width: 768px) {
  dl.p_entry_job--dl {
    width: 83%;
    margin: 0 auto 3.9em;
    gap: 0.5em 0;
  }
}
@media screen and (min-width: 768px) {
  dl.p_entry_job--dl div {
    display: flex;
  }
}
dl.p_entry_job--dl div dt, dl.p_entry_job--dl div dd {
  font-size: 1.35em;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  dl.p_entry_job--dl div dt, dl.p_entry_job--dl div dd {
    font-size: 0.9em;
  }
}
dl.p_entry_job--dl div dt {
  font-weight: bold;
  margin-bottom: 0.4em;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  dl.p_entry_job--dl div dt {
    margin: 0;
  }
}
dl.p_entry_job--dl div dd {
  font-weight: 500;
}

.p_entry--formBox {
  width: 86%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p_entry--formBox {
    width: 77%;
    min-width: 620px;
  }
}

dl.form_dl {
  margin-bottom: 5em;
}
@media screen and (min-width: 768px) {
  dl.form_dl {
    margin-bottom: 4em;
    display: grid;
    grid-template-columns: auto 32em;
    gap: 1.2em 1em;
  }
}
dl.form_dl dt, dl.form_dl dd {
  font-size: 1.35em;
}
@media screen and (min-width: 768px) {
  dl.form_dl dt, dl.form_dl dd {
    font-size: 1em;
  }
}
dl.form_dl dt {
  font-weight: bold;
  margin-bottom: 0.8em;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) {
  dl.form_dl dt {
    padding-top: 1.3em;
    margin: 0;
    align-items: start;
  }
}
dl.form_dl dt.must::after {
  content: "必須";
  color: #C50000;
  font-size: 0.6em;
  font-weight: 500;
  padding: 0.4em 0.5em;
  margin-left: 1em;
  background-color: #fff;
  border: 1px solid #EAC0C0;
  border-radius: 5px;
}
dl.form_dl dd:not(:last-of-type) {
  margin: 0 0 1.8em;
}
@media screen and (min-width: 768px) {
  dl.form_dl dd:not(:last-of-type) {
    margin: 0;
  }
}
dl.form_dl dd input[type=text], dl.form_dl dd input[type=email], dl.form_dl dd textarea {
  line-height: 1.4;
  padding: 0.7em;
  background-color: #FFF;
  border-radius: 5px;
}
@media screen and (min-width: 768px) {
  dl.form_dl dd input[type=text], dl.form_dl dd input[type=email], dl.form_dl dd textarea {
    padding: 1.2em;
  }
}
dl.form_dl dd span.wpcf7-checkbox {
  margin: 1.5em 0 2em;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5em 0;
}
@media screen and (min-width: 768px) {
  dl.form_dl dd span.wpcf7-checkbox {
    max-width: 400px;
  }
}
dl.form_dl dd span.wpcf7-list-item {
  margin: 0;
}

.p_entry--privacyBox {
  height: 23em;
  padding: 1.8em;
  margin-bottom: 3.4em;
  background-color: #fff;
  border-radius: 5px;
  overflow-y: scroll;
}
@media screen and (min-width: 768px) {
  .p_entry--privacyBox {
    height: 14em;
    margin-bottom: 3em;
  }
}
.p_entry--privacyBox h3 {
  font-size: 1.15em;
  font-weight: bold;
  margin-bottom: 2.5em;
}
@media screen and (min-width: 768px) {
  .p_entry--privacyBox h3 {
    font-size: 0.85em;
  }
}
.p_entry--privacyBox > p {
  font-size: 1.15em;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .p_entry--privacyBox > p {
    font-size: 0.85em;
  }
}
.p_entry--privacyBox > p br {
  display: block !important;
}

ul.p_entry_privacy--ul {
  margin: 2em 0;
}

li.p_entry_privacy--li {
  font-size: 1.15em;
  font-weight: 500;
  line-height: 1.6;
  list-style: none;
  padding-left: 1.2em;
  position: relative;
}
@media screen and (min-width: 768px) {
  li.p_entry_privacy--li {
    font-size: 0.85em;
  }
}
li.p_entry_privacy--li::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}
li.p_entry_privacy--li > ul {
  padding-left: 1em;
}
li.p_entry_privacy--li > ul > li {
  font-weight: 500;
  line-height: 1.6;
  list-style: none;
}
li.p_entry_privacy--li > ul > li > ul {
  padding-left: 1em;
}
li.p_entry_privacy--li > ul > li > ul > li {
  font-weight: 500;
  line-height: 1.6;
  list-style: none;
  padding-left: 1.2em;
  position: relative;
}
li.p_entry_privacy--li > ul > li > ul > li::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}

.form_button--box {
  width: -moz-max-content;
  width: max-content;
  margin-inline: auto;
}
.form_button--box button.entry_button {
  font-size: 1.5em;
  width: 5.5em;
  background-color: #C50000;
  border-radius: 50%;
  position: relative;
  aspect-ratio: 1;
}
@media screen and (min-width: 768px) {
  .form_button--box button.entry_button {
    font-size: 0.95em;
    width: 7em;
  }
}
.form_button--box button.entry_button:hover {
  opacity: 0.7;
}
.form_button--box button.entry_button input {
  line-height: 1;
  width: 100%;
  height: 100%;
  padding: 0;
  background: none;
  border-radius: 50%;
  display: block;
}
.form_button--box button.entry_button span.wpcf7-spinner {
  margin: 0;
  position: absolute;
  left: 50%;
  top: 0;
  translate: -50% -150%;
}

.p_privacy--header {
  width: 91%;
  padding: 3.8em 0;
  margin: 5em auto 0;
  border-bottom: 1px solid #C50000;
}
@media screen and (min-width: 768px) {
  .p_privacy--header {
    width: 98%;
    max-width: 1040px;
    padding: 4.5em 0 2.7em;
    margin-top: 4.2em;
  }
}
.p_privacy--header hgroup {
  text-align: center;
}
.p_privacy--header hgroup h1 {
  font-size: 2.35em;
  font-weight: bold;
  font-family: "Montserrat" !important;
  letter-spacing: 0;
  margin-bottom: 0.3em;
}
@media screen and (min-width: 768px) {
  .p_privacy--header hgroup h1 {
    font-size: 4.45em;
  }
}
.p_privacy--header hgroup p {
  font-size: 1.25em;
}
@media screen and (min-width: 768px) {
  .p_privacy--header hgroup p {
    font-size: 1em;
  }
}

.p_privacy--contents {
  padding: 3.4em 0 3.8em;
}
@media screen and (min-width: 768px) {
  .p_privacy--contents {
    padding: 2.8em 0 4.8em;
  }
}
.p_privacy--contents .contents_container {
  width: 91%;
  padding-bottom: 3.8em;
  margin-inline: auto;
  border-bottom: 1px solid #C50000;
}
@media screen and (min-width: 768px) {
  .p_privacy--contents .contents_container {
    width: 98%;
    max-width: 1040px;
    padding-bottom: 2.8em;
  }
}
.p_privacy--contents .contents_container h3 {
  font-size: 1.25em;
  font-weight: bold;
  margin-bottom: 2.5em;
}
@media screen and (min-width: 768px) {
  .p_privacy--contents .contents_container h3 {
    font-size: 0.95em;
    margin-bottom: 2em;
  }
}
.p_privacy--contents .contents_container > p {
  font-size: 1.25em;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .p_privacy--contents .contents_container > p {
    font-size: 0.95em;
  }
}
.p_privacy--contents .contents_container > p br {
  display: block !important;
}

ul.p_privacy_privacy--ul {
  margin: 3em 0;
}
@media screen and (min-width: 768px) {
  ul.p_privacy_privacy--ul {
    margin: 2em 0;
  }
}

li.p_privacy_privacy--li {
  font-size: 1.25em;
  font-weight: 500;
  line-height: 1.6;
  list-style: none;
  padding-left: 1.2em;
  position: relative;
}
@media screen and (min-width: 768px) {
  li.p_privacy_privacy--li {
    font-size: 0.95em;
  }
}
li.p_privacy_privacy--li::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}
li.p_privacy_privacy--li > ul {
  padding: 0;
  margin-top: 2em;
  display: grid;
  gap: 2em 0;
}
li.p_privacy_privacy--li > ul > li {
  font-weight: 500;
  line-height: 1.6;
  list-style: none;
}
li.p_privacy_privacy--li > ul > li > ul {
  padding: 0;
}
li.p_privacy_privacy--li > ul > li > ul > li {
  font-weight: 500;
  line-height: 1.6;
  list-style: none;
  padding-left: 1.2em;
  position: relative;
}
li.p_privacy_privacy--li > ul > li > ul > li::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}

.p_site-map--header {
  width: 91%;
  padding: 3.8em 0;
  margin: 5em auto 0;
  border-bottom: 1px solid #C50000;
}
@media screen and (min-width: 768px) {
  .p_site-map--header {
    width: 98%;
    max-width: 1040px;
    padding: 4.5em 0 2.7em;
    margin-top: 4.2em;
  }
}
.p_site-map--header hgroup {
  text-align: center;
}
.p_site-map--header hgroup h1 {
  font-size: 2.35em;
  font-weight: bold;
  font-family: "Montserrat" !important;
  letter-spacing: 0;
  margin-bottom: 0.3em;
}
@media screen and (min-width: 768px) {
  .p_site-map--header hgroup h1 {
    font-size: 4.45em;
  }
}
.p_site-map--header hgroup p {
  font-size: 1.25em;
}
@media screen and (min-width: 768px) {
  .p_site-map--header hgroup p {
    font-size: 1em;
  }
}

.p_site-map--contents {
  padding: 0 0 4.2em;
}
@media screen and (min-width: 768px) {
  .p_site-map--contents {
    padding: 0 0 4.8em;
  }
}
.p_site-map--contents .contents_container {
  width: 91%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p_site-map--contents .contents_container {
    width: 98%;
    max-width: 1040px;
  }
}

nav.p_site-map--nav ul li {
  padding: 1.8em 0;
  border-bottom: 1px solid #C50000;
  list-style: none;
}
@media screen and (min-width: 768px) {
  nav.p_site-map--nav ul li {
    padding: 1.9em 0;
  }
}
nav.p_site-map--nav ul li a {
  color: inherit;
  font-size: 1.25em;
  font-weight: 500;
  display: block;
  max-width: -moz-max-content;
  max-width: max-content;
}
@media screen and (min-width: 768px) {
  nav.p_site-map--nav ul li a {
    font-size: 1.1em;
  }
}
nav.p_site-map--nav ul li a:hover {
  opacity: 0.7;
}

#topcontrol .to_the_top {
  display: none;
}

footer#containerfooter {
  padding: 0;
}
footer#containerfooter .container {
  width: 100%;
  padding: 0;
}

.energyflow_footer {
  padding-bottom: 2em;
  position: relative;
}
.energyflow_footer .text_container {
  padding: 4em 0;
  background-size: cover;
  background-position: center;
  position: relative;
}
@media screen and (min-width: 768px) {
  .energyflow_footer .text_container {
    padding: 8.7em 0;
  }
}
.energyflow_footer .text_container::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0.5;
  position: absolute;
  left: 0;
  top: 0;
}
.energyflow_footer .text_container p {
  text-align: center;
  color: #fff;
  font-size: 1.4em;
  line-height: 1.7;
  position: relative;
}
@media screen and (min-width: 768px) {
  .energyflow_footer .text_container p {
    font-size: 1.45em;
    line-height: 1.9;
  }
}
.energyflow_footer .text_container p br {
  display: block !important;
}
@media screen and (min-width: 768px) {
  .energyflow_footer .text_container p br.br_sp {
    display: none !important;
  }
}
.energyflow_footer small {
  text-align: center;
  font-size: 0.85em;
  line-height: 1;
  display: block;
}
@media screen and (min-width: 768px) {
  .energyflow_footer small {
    font-size: 0.7em;
  }
}

.footer_container {
  padding: 5em 0 6em;
}
@media screen and (min-width: 768px) {
  .footer_container {
    padding: 4.5em 0 4em;
  }
}
.footer_container .button_box {
  width: 85%;
  margin: 0 auto 5.4em;
  display: grid;
  gap: 1.7em 0;
}
@media screen and (min-width: 768px) {
  .footer_container .button_box {
    width: 95%;
    max-width: 1110px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 1.7em;
  }
}
.footer_container .button_box a {
  text-align: center;
  color: #fff !important;
  font-size: 1.25em;
  font-weight: 500;
  font-family: "Montserrat" !important;
  line-height: 1;
  letter-spacing: 0.1em;
  padding: 1.8em 0;
  background-color: #060F22;
}
@media screen and (min-width: 768px) {
  .footer_container .button_box a {
    font-size: 1.1em;
    padding: 2.55em 0;
  }
}
.footer_container .button_box a:hover {
  opacity: 0.7;
}
.footer_container .info_box {
  text-align: center;
  margin-bottom: 4em;
}
@media screen and (min-width: 768px) {
  .footer_container .info_box {
    text-align: left;
    width: 95%;
    max-width: 1110px;
    margin: 0 auto 3.5em;
  }
}
.footer_container .info_box p.name {
  width: 22em;
  margin: 0 auto 3em;
}
@media screen and (min-width: 768px) {
  .footer_container .info_box p.name {
    width: 16em;
    margin: 0 0 2em;
  }
}
.footer_container .info_box p.address {
  font-size: 1.2em;
  line-height: 1.6;
  margin-bottom: 1.2em;
}
@media screen and (min-width: 768px) {
  .footer_container .info_box p.address {
    font-size: 0.85em;
    margin-bottom: 0.2em;
  }
}
.footer_container .info_box p.address br {
  display: block !important;
}
@media screen and (min-width: 768px) {
  .footer_container .info_box p.address br {
    display: none !important;
  }
}
.footer_container .info_box a.tel {
  font-size: 1.25em;
  font-weight: 500;
  width: -moz-max-content;
  width: max-content;
  margin-inline: auto;
  display: flex;
  align-items: baseline;
  gap: 0 0.3em;
}
@media screen and (min-width: 768px) {
  .footer_container .info_box a.tel {
    font-size: 0.85em;
    margin: 0;
  }
}
.footer_container .info_box a.tel i {
  font-size: 0.8em;
}
.footer_container .nav_box {
  text-align: center;
}

ul.footer_menu--ul {
  display: grid;
  gap: 2em 0;
}
@media screen and (min-width: 768px) {
  ul.footer_menu--ul {
    display: flex;
    justify-content: center;
    gap: 0 2.6em;
  }
}
ul.footer_menu--ul li {
  list-style: none;
}
ul.footer_menu--ul li a {
  font-size: 1.25em;
  font-weight: bold;
  transition: all 0.4s;
}
@media screen and (min-width: 768px) {
  ul.footer_menu--ul li a {
    font-size: 0.85em;
  }
}
ul.footer_menu--ul li a:hover {
  color: #C50000;
}

button.to_header {
  width: 3.8em;
  background: none;
  position: absolute;
  left: 50%;
  bottom: 2em;
  translate: 5.5em 2%;
}
@media screen and (min-width: 768px) {
  button.to_header {
    width: 7.6em;
    translate: 19.5em 2%;
  }
}

.footerbase {
  display: none;
}

.P_contents.P_company--contents {
  padding-bottom: 6em;
}
@media screen and (min-width: 768px) {
  .P_contents.P_company--contents .contents_container {
    width: 95%;
    max-width: 1010px;
    margin-inline: auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6em 0;
  }
}
.P_contents.P_company--contents .contents_container .img {
  margin-bottom: 2.5em;
  opacity: 0;
  translate: 0 30px;
  transition: all 0.4s;
}
@media screen and (min-width: 768px) {
  .P_contents.P_company--contents .contents_container .img {
    margin: 0;
    position: relative;
  }
}
.P_contents.P_company--contents .contents_container .img.show {
  opacity: 1;
  translate: 0 0;
}
@media screen and (min-width: 768px) {
  .P_contents.P_company--contents .contents_container .img img {
    width: 50vw;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.P_contents.P_company--contents .contents_container .text_box {
  width: 81.5%;
  margin: 0 auto 7em;
}
@media screen and (min-width: 768px) {
  .P_contents.P_company--contents .contents_container .text_box {
    width: 95%;
    max-width: 24.9em;
    margin: 0;
    grid-column: 1/2;
    grid-row: 1/2;
  }
}
.P_contents.P_company--contents .contents_container .text_box p {
  color: #fff;
}
.P_contents.P_company--contents .contents_container .text_box p.text01 {
  font-size: 1.7em;
  margin-bottom: 1em;
}
.P_contents.P_company--contents .contents_container .text_box p.text02 {
  font-size: 2.2em;
  margin-bottom: 1.3em;
}
.P_contents.P_company--contents .contents_container .text_box p.text03 {
  font-size: 1.25em;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .P_contents.P_company--contents .contents_container .text_box p.text03 {
    font-size: 0.9em;
  }
}
.P_contents.P_company--contents .contents_container .text_box p.text03:not(:last-of-type) {
  margin-bottom: 1.2em;
}
.P_contents.P_company--contents .contents_container .text_box p.text03 br {
  display: block !important;
}
.P_contents.P_company--contents .contents_container dl {
  width: 81.5%;
  margin-inline: auto;
  opacity: 0;
  translate: 0 30px;
  transition: all 0.4s;
}
@media screen and (min-width: 768px) {
  .P_contents.P_company--contents .contents_container dl {
    width: 100%;
    grid-column: span 2;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.2em 1.6em;
  }
}
.P_contents.P_company--contents .contents_container dl.show {
  opacity: 1;
  translate: 0 0;
}
.P_contents.P_company--contents .contents_container dl div {
  padding-bottom: 3em;
  border-bottom: 1px solid #C3C3C3;
}
@media screen and (min-width: 768px) {
  .P_contents.P_company--contents .contents_container dl div {
    padding-bottom: 2.2em;
  }
}
.P_contents.P_company--contents .contents_container dl div:not(:last-of-type) {
  margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
  .P_contents.P_company--contents .contents_container dl div:not(:last-of-type) {
    margin: 0;
  }
}
.P_contents.P_company--contents .contents_container dl div dt, .P_contents.P_company--contents .contents_container dl div dd {
  font-size: 1.2em;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .P_contents.P_company--contents .contents_container dl div dt, .P_contents.P_company--contents .contents_container dl div dd {
    font-size: 0.95em;
  }
}
.P_contents.P_company--contents .contents_container dl div dt {
  color: #E6B422;
  margin-bottom: 1.5em;
}
.P_contents.P_company--contents .contents_container dl div dd {
  color: #fff;
}

section.P_section.P_company--section .section_container {
  width: 81.5%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.P_section.P_company--section .section_container {
    width: 95%;
    max-width: 1010px;
  }
}

section.P_section.P_company--section.section01 {
  padding-bottom: 6em;
}
section.P_section.P_company--section.section01 .section_container hgroup {
  margin-bottom: 3.5em;
}
section.P_section.P_company--section.section01 .section_container > p {
  color: #fff;
}
section.P_section.P_company--section.section01 .section_container > p.text01 {
  font-size: 2.2em;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 1.3em;
}
section.P_section.P_company--section.section01 .section_container > p.text01 br {
  display: block !important;
}
@media screen and (min-width: 768px) {
  section.P_section.P_company--section.section01 .section_container > p.text01 br.br_sp {
    display: none !important;
  }
}
section.P_section.P_company--section.section01 .section_container > p.text02 {
  font-size: 1.25em;
  line-height: 1.6;
  opacity: 0;
  translate: 30px 0;
  transition: all 0.4s;
}
@media screen and (min-width: 768px) {
  section.P_section.P_company--section.section01 .section_container > p.text02 {
    font-size: 0.9em;
  }
}
section.P_section.P_company--section.section01 .section_container > p.text02:not(:last-of-type) {
  margin-bottom: 2em;
}
section.P_section.P_company--section.section01 .section_container > p.text02.show {
  opacity: 1;
  translate: 0 0;
}
section.P_section.P_company--section.section01 .section_container > p.text02 br {
  display: block !important;
}

section.P_section.P_company--section.section02 {
  padding-bottom: 4.2em;
}
@media screen and (min-width: 768px) {
  section.P_section.P_company--section.section02 {
    padding-bottom: 6em;
  }
}
section.P_section.P_company--section.section02 .section_container hgroup {
  margin-bottom: 3.5em;
}
section.P_section.P_company--section.section02 .section_container ul {
  display: grid;
  gap: 1.7em 0;
  opacity: 0;
  translate: 0 30px;
  transition: all 0.4s;
}
@media screen and (min-width: 768px) {
  section.P_section.P_company--section.section02 .section_container ul {
    grid-template-columns: 1fr 1fr;
    gap: 0.85em;
  }
}
section.P_section.P_company--section.section02 .section_container ul.show {
  opacity: 1;
  translate: 0 0;
}
section.P_section.P_company--section.section02 .section_container ul li {
  padding: 2.5em;
  list-style: none;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  section.P_section.P_company--section.section02 .section_container ul li {
    padding: 1.9em 2.4em;
  }
}
@media screen and (min-width: 768px) {
  section.P_section.P_company--section.section02 .section_container ul li:first-of-type {
    grid-column: span 2;
  }
}
section.P_section.P_company--section.section02 .section_container ul li h3 {
  color: #B38D1B;
  font-size: 1.7em;
  font-weight: bold;
  margin-bottom: 1.2em;
}
@media screen and (min-width: 768px) {
  section.P_section.P_company--section.section02 .section_container ul li h3 {
    font-size: 1.35em;
  }
}
section.P_section.P_company--section.section02 .section_container ul li p {
  color: #002057;
  font-size: 1.2em;
  font-weight: bold;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  section.P_section.P_company--section.section02 .section_container ul li p {
    font-size: 0.85em;
  }
}

.P_contents.P_sales-commit--contents {
  padding-bottom: 4.5em;
}
@media screen and (min-width: 768px) {
  .P_contents.P_sales-commit--contents {
    padding-bottom: 6em;
  }
}
.P_contents.P_sales-commit--contents .contents_container {
  width: 81.5%;
  margin: 0 auto;
  opacity: 0;
  translate: 0 30px;
  transition: all 0.4s;
}
@media screen and (min-width: 768px) {
  .P_contents.P_sales-commit--contents .contents_container {
    width: 95%;
    max-width: 1010px;
  }
}
.P_contents.P_sales-commit--contents .contents_container.show {
  opacity: 1;
  translate: 0 0;
}
.P_contents.P_sales-commit--contents .contents_container p {
  color: #fff;
  line-height: 1.6;
}
.P_contents.P_sales-commit--contents .contents_container p.text01 {
  font-size: 1.7em;
  margin-bottom: 2.2em;
}
@media screen and (min-width: 768px) {
  .P_contents.P_sales-commit--contents .contents_container p.text01 {
    margin-bottom: 1.9em;
  }
}
.P_contents.P_sales-commit--contents .contents_container p.text02 {
  font-size: 1.25em;
}
@media screen and (min-width: 768px) {
  .P_contents.P_sales-commit--contents .contents_container p.text02 {
    font-size: 0.9em;
  }
}

section.P_section.P_sales-commit--section .section_container {
  width: 81.5%;
  margin-inline: auto;
  padding-top: 80px;
  margin-top: -80px;
}
@media screen and (min-width: 768px) {
  section.P_section.P_sales-commit--section .section_container {
    width: 95%;
    max-width: 1010px;
    padding-top: 100px;
    margin-top: -100px;
  }
}

section.P_section.P_sales-commit--section.section01 {
  padding-bottom: 6em;
}
section.P_section.P_sales-commit--section.section01 .section_container hgroup {
  margin-bottom: 3.5em;
}
section.P_section.P_sales-commit--section.section01 .section_container ul {
  opacity: 0;
  translate: 30px 0;
  transition: all 0.4s;
}
section.P_section.P_sales-commit--section.section01 .section_container ul.show {
  opacity: 1;
  translate: 0 0;
}
section.P_section.P_sales-commit--section.section01 .section_container ul li {
  counter-increment: number;
  padding-bottom: 3.8em;
  background-color: #fff;
  list-style: none;
}
@media screen and (min-width: 768px) {
  section.P_section.P_sales-commit--section.section01 .section_container ul li {
    padding-bottom: 2.3em;
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 2.2em 0;
  }
}
section.P_section.P_sales-commit--section.section01 .section_container ul li:not(:last-of-type) {
  margin-bottom: 1.7em;
}
@media screen and (min-width: 768px) {
  section.P_section.P_sales-commit--section.section01 .section_container ul li:not(:last-of-type) {
    margin-bottom: 0.85em;
  }
}
section.P_section.P_sales-commit--section.section01 .section_container ul li span {
  text-align: center;
  color: #fff;
  font-size: 0.8em;
  font-weight: bold;
  height: 6.8em;
  padding-bottom: 0.3em;
  margin: 0 auto 3.8em;
  background: linear-gradient(140deg, rgb(179, 141, 27) 0%, rgb(230, 180, 34) 100%);
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  aspect-ratio: 1;
}
@media screen and (min-width: 768px) {
  section.P_section.P_sales-commit--section.section01 .section_container ul li span {
    height: 7em;
    margin: 0;
  }
}
section.P_section.P_sales-commit--section.section01 .section_container ul li span::before {
  content: "Service";
}
section.P_section.P_sales-commit--section.section01 .section_container ul li span::after {
  content: "0" counter(number);
  font-size: 2.7em;
}
@media screen and (min-width: 768px) {
  section.P_section.P_sales-commit--section.section01 .section_container ul li span::after {
    font-size: 2.8em;
  }
}
section.P_section.P_sales-commit--section.section01 .section_container ul li h3 {
  text-align: center;
  color: #B38D1B;
  font-size: 1.7em;
  font-weight: bold;
  line-height: 1.2;
  margin-bottom: 1.7em;
}
@media screen and (min-width: 768px) {
  section.P_section.P_sales-commit--section.section01 .section_container ul li h3 {
    text-align: left;
    font-size: 1.8em;
    margin: 0 0 0 0.8em;
  }
}
section.P_section.P_sales-commit--section.section01 .section_container ul li h3 br {
  display: block !important;
}
@media screen and (min-width: 768px) {
  section.P_section.P_sales-commit--section.section01 .section_container ul li h3 br {
    display: none !important;
  }
}
section.P_section.P_sales-commit--section.section01 .section_container ul li p {
  color: #002057;
  font-size: 1.2em;
  line-height: 1.6;
  width: 82%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.P_section.P_sales-commit--section.section01 .section_container ul li p {
    font-size: 0.9em;
    width: 92.5%;
    grid-column: span 2;
  }
}

section.P_section.P_sales-commit--section.section02 {
  padding-bottom: 7.5em;
}
@media screen and (min-width: 768px) {
  section.P_section.P_sales-commit--section.section02 {
    padding-bottom: 6em;
  }
}
section.P_section.P_sales-commit--section.section02 .section_container hgroup {
  margin-bottom: 3.5em;
}
section.P_section.P_sales-commit--section.section02 .section_container ul {
  opacity: 0;
  translate: 0 30px;
  transition: all 0.4s;
}
@media screen and (min-width: 768px) {
  section.P_section.P_sales-commit--section.section02 .section_container ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.8em;
  }
}
section.P_section.P_sales-commit--section.section02 .section_container ul.show {
  opacity: 1;
  translate: 0 0;
}
section.P_section.P_sales-commit--section.section02 .section_container ul li {
  counter-increment: number;
  padding: 2.3em 0;
  background-color: #fff;
  list-style: none;
}
@media screen and (min-width: 768px) {
  section.P_section.P_sales-commit--section.section02 .section_container ul li {
    width: calc((100% - 1.6em) / 3);
    padding: 2.2em 0 1.8em;
  }
}
section.P_section.P_sales-commit--section.section02 .section_container ul li:not(:last-of-type) {
  margin-bottom: 1.7em;
}
@media screen and (min-width: 768px) {
  section.P_section.P_sales-commit--section.section02 .section_container ul li:not(:last-of-type) {
    margin: 0;
  }
}
section.P_section.P_sales-commit--section.section02 .section_container ul li span {
  text-align: center;
  color: #002057;
  font-size: 2.2em;
  font-weight: bold;
  margin-bottom: 1em;
  display: block;
}
@media screen and (min-width: 768px) {
  section.P_section.P_sales-commit--section.section02 .section_container ul li span {
    margin-bottom: 0.7em;
  }
}
section.P_section.P_sales-commit--section.section02 .section_container ul li span::before {
  content: "-0" counter(number) "-";
}
section.P_section.P_sales-commit--section.section02 .section_container ul li h3 {
  text-align: center;
  color: #B38D1B;
  font-size: 1.5em;
  font-weight: bold;
  line-height: 1.6;
  margin-bottom: 1.1em;
}
@media screen and (min-width: 768px) {
  section.P_section.P_sales-commit--section.section02 .section_container ul li h3 {
    font-size: 1.1em;
    margin-bottom: 1.5em;
  }
}
section.P_section.P_sales-commit--section.section02 .section_container ul li h3 br {
  display: block !important;
}
section.P_section.P_sales-commit--section.section02 .section_container ul li p {
  color: #002057;
  font-size: 1.2em;
  line-height: 1.6;
  width: 87%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.P_section.P_sales-commit--section.section02 .section_container ul li p {
    font-size: 0.9em;
    width: 81.5%;
  }
}

.P_contents.P_sales-process--contents {
  padding-bottom: 4.5em;
}
@media screen and (min-width: 768px) {
  .P_contents.P_sales-process--contents {
    padding-bottom: 6em;
  }
}
.P_contents.P_sales-process--contents .contents_container {
  width: 81.5%;
  margin: 0 auto;
  opacity: 0;
  translate: 0 30px;
  transition: all 0.4s;
}
@media screen and (min-width: 768px) {
  .P_contents.P_sales-process--contents .contents_container {
    width: 95%;
    max-width: 1010px;
  }
}
.P_contents.P_sales-process--contents .contents_container.show {
  opacity: 1;
  translate: 0 0;
}
.P_contents.P_sales-process--contents .contents_container p {
  color: #fff;
  line-height: 1.6;
}
.P_contents.P_sales-process--contents .contents_container p.text01 {
  font-size: 1.7em;
  margin-bottom: 2.2em;
}
@media screen and (min-width: 768px) {
  .P_contents.P_sales-process--contents .contents_container p.text01 {
    margin-bottom: 1.9em;
  }
}
.P_contents.P_sales-process--contents .contents_container p.text02 {
  font-size: 1.25em;
}
@media screen and (min-width: 768px) {
  .P_contents.P_sales-process--contents .contents_container p.text02 {
    font-size: 0.9em;
  }
}

section.P_section.P_sales-process--section .section_container {
  width: 81.5%;
  margin-inline: auto;
  padding-top: 80px;
  margin-top: -80px;
}
@media screen and (min-width: 768px) {
  section.P_section.P_sales-process--section .section_container {
    width: 95%;
    max-width: 1010px;
    padding-top: 100px;
    margin-top: -100px;
  }
}

section.P_section.P_sales-process--section.section01 {
  padding-bottom: 6em;
}
section.P_section.P_sales-process--section.section01 .section_container hgroup {
  margin-bottom: 3.5em;
}
section.P_section.P_sales-process--section.section01 .section_container ul {
  opacity: 0;
  translate: 30px 0;
  transition: all 0.4s;
}
section.P_section.P_sales-process--section.section01 .section_container ul.show {
  opacity: 1;
  translate: 0 0;
}
section.P_section.P_sales-process--section.section01 .section_container ul li {
  counter-increment: number;
  padding-bottom: 3.8em;
  background-color: #fff;
  list-style: none;
}
@media screen and (min-width: 768px) {
  section.P_section.P_sales-process--section.section01 .section_container ul li {
    padding-bottom: 2.3em;
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 2.2em 0;
  }
}
section.P_section.P_sales-process--section.section01 .section_container ul li:not(:last-of-type) {
  margin-bottom: 1.7em;
}
@media screen and (min-width: 768px) {
  section.P_section.P_sales-process--section.section01 .section_container ul li:not(:last-of-type) {
    margin-bottom: 0.85em;
  }
}
section.P_section.P_sales-process--section.section01 .section_container ul li span {
  text-align: center;
  color: #fff;
  font-size: 0.8em;
  font-weight: bold;
  height: 6.8em;
  padding-bottom: 0.3em;
  margin: 0 auto 3.8em;
  background: linear-gradient(140deg, rgb(179, 141, 27) 0%, rgb(230, 180, 34) 100%);
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  aspect-ratio: 1;
}
@media screen and (min-width: 768px) {
  section.P_section.P_sales-process--section.section01 .section_container ul li span {
    height: 7em;
    margin: 0;
  }
}
section.P_section.P_sales-process--section.section01 .section_container ul li span::before {
  content: "Service";
}
section.P_section.P_sales-process--section.section01 .section_container ul li span::after {
  content: "0" counter(number);
  font-size: 2.7em;
}
@media screen and (min-width: 768px) {
  section.P_section.P_sales-process--section.section01 .section_container ul li span::after {
    font-size: 2.8em;
  }
}
section.P_section.P_sales-process--section.section01 .section_container ul li h3 {
  text-align: center;
  color: #B38D1B;
  font-size: 1.7em;
  font-weight: bold;
  line-height: 1.2;
  margin-bottom: 1.7em;
}
@media screen and (min-width: 768px) {
  section.P_section.P_sales-process--section.section01 .section_container ul li h3 {
    text-align: left;
    font-size: 1.8em;
    margin: 0 0 0 0.8em;
  }
}
section.P_section.P_sales-process--section.section01 .section_container ul li h3 br {
  display: block !important;
}
@media screen and (min-width: 768px) {
  section.P_section.P_sales-process--section.section01 .section_container ul li h3 br {
    display: none !important;
  }
}
section.P_section.P_sales-process--section.section01 .section_container ul li p {
  color: #002057;
  font-size: 1.2em;
  line-height: 1.6;
  width: 82%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.P_section.P_sales-process--section.section01 .section_container ul li p {
    font-size: 0.9em;
    width: 92.5%;
    grid-column: span 2;
  }
}

section.P_section.P_sales-process--section.section02 {
  padding-bottom: 7.5em;
}
@media screen and (min-width: 768px) {
  section.P_section.P_sales-process--section.section02 {
    padding-bottom: 6em;
  }
}
section.P_section.P_sales-process--section.section02 .section_container hgroup {
  margin-bottom: 3.5em;
}
section.P_section.P_sales-process--section.section02 .section_container ul {
  opacity: 0;
  translate: 0 30px;
  transition: all 0.4s;
}
@media screen and (min-width: 768px) {
  section.P_section.P_sales-process--section.section02 .section_container ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.8em;
  }
}
section.P_section.P_sales-process--section.section02 .section_container ul.show {
  opacity: 1;
  translate: 0 0;
}
section.P_section.P_sales-process--section.section02 .section_container ul li {
  counter-increment: number;
  padding: 2.3em 0;
  background-color: #fff;
  list-style: none;
}
@media screen and (min-width: 768px) {
  section.P_section.P_sales-process--section.section02 .section_container ul li {
    width: calc((100% - 1.6em) / 3);
    padding: 2.2em 0 1.8em;
  }
}
section.P_section.P_sales-process--section.section02 .section_container ul li:not(:last-of-type) {
  margin-bottom: 1.7em;
}
@media screen and (min-width: 768px) {
  section.P_section.P_sales-process--section.section02 .section_container ul li:not(:last-of-type) {
    margin: 0;
  }
}
section.P_section.P_sales-process--section.section02 .section_container ul li span {
  text-align: center;
  color: #002057;
  font-size: 2.2em;
  font-weight: bold;
  margin-bottom: 1em;
  display: block;
}
@media screen and (min-width: 768px) {
  section.P_section.P_sales-process--section.section02 .section_container ul li span {
    margin-bottom: 0.7em;
  }
}
section.P_section.P_sales-process--section.section02 .section_container ul li span::before {
  content: "-0" counter(number) "-";
}
section.P_section.P_sales-process--section.section02 .section_container ul li h3 {
  text-align: center;
  color: #B38D1B;
  font-size: 1.5em;
  font-weight: bold;
  line-height: 1.6;
  margin-bottom: 1.1em;
}
@media screen and (min-width: 768px) {
  section.P_section.P_sales-process--section.section02 .section_container ul li h3 {
    font-size: 1.1em;
    margin-bottom: 1.5em;
  }
}
section.P_section.P_sales-process--section.section02 .section_container ul li h3 br {
  display: block !important;
}
section.P_section.P_sales-process--section.section02 .section_container ul li p {
  color: #002057;
  font-size: 1.2em;
  line-height: 1.6;
  width: 87%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.P_section.P_sales-process--section.section02 .section_container ul li p {
    font-size: 0.9em;
    width: 81.5%;
  }
}

#content.archive_voice {
  width: 100%;
  padding-top: 0;
  padding-bottom: 0;
}
#content.archive_voice .row .main {
  width: 100%;
  padding: 0;
}

.P_contents.archive_voice--contents {
  padding-bottom: 8em;
}
@media screen and (min-width: 768px) {
  .P_contents.archive_voice--contents {
    padding-bottom: 6em;
  }
}
.P_contents.archive_voice--contents .contents_container {
  width: 81.5%;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .P_contents.archive_voice--contents .contents_container {
    width: 95%;
    max-width: 1010px;
  }
}

.archive_voice--filter p {
  color: #fff;
  font-size: 1.35em;
  margin-bottom: 1.2em;
}
@media screen and (min-width: 768px) {
  .archive_voice--filter p {
    font-size: 1.1em;
    margin-bottom: 0.8em;
  }
}
@media screen and (min-width: 768px) {
  .archive_voice--filter .filter_box {
    margin-bottom: 4.5em;
  }
}

.archive_voice_dropdown--button {
  text-align: left;
  color: #002057;
  font-size: 1.25em;
  width: 100%;
  padding: 1.3em 1.8em;
  background: #fff;
  border-radius: 0.7em;
  position: relative;
}
@media screen and (min-width: 768px) {
  .archive_voice_dropdown--button {
    display: none;
  }
}
.archive_voice_dropdown--button::before {
  content: "";
  width: 0.5em;
  border-right: 0.15em solid #002057;
  border-bottom: 0.15em solid #002057;
  position: absolute;
  right: 2em;
  top: calc(50% - 0.3em);
  transform: rotate(45deg);
  aspect-ratio: 1;
  transition: all 0.4s;
}
.archive_voice_dropdown--button.active::before {
  transform: rotate(225deg);
}

nav.archive_voice--nav {
  margin-bottom: 4.2em;
  position: relative;
}
@media screen and (min-width: 768px) {
  nav.archive_voice--nav {
    margin: 0;
    display: flex;
    align-items: center;
  }
}

ul.archive_voice_nav--ul {
  width: 100%;
  padding: 1.5em 0.8em 2em;
  background-color: #fff;
  border-radius: 10px;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: 1.2em;
  transition: all 0.4s;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  ul.archive_voice_nav--ul {
    padding: 1.15em 1.5em;
    opacity: 1;
    display: flex;
    gap: 0 2.2em;
    position: relative;
    top: 0;
    pointer-events: auto;
  }
}
ul.archive_voice_nav--ul.active {
  opacity: 1;
  pointer-events: auto;
}
ul.archive_voice_nav--ul li {
  font-size: 1.25em;
  list-style: none;
}
@media screen and (min-width: 768px) {
  ul.archive_voice_nav--ul li {
    font-size: 1.1em;
  }
}
ul.archive_voice_nav--ul li a {
  color: #002057;
  font-weight: 600;
  width: 100%;
  padding: 1em;
  border-bottom: 1px solid #C3C3C3 !important;
  display: block;
}
@media screen and (min-width: 768px) {
  ul.archive_voice_nav--ul li a {
    padding: 0;
    border: none !important;
  }
}
ul.archive_voice_nav--ul li a.current {
  border-bottom: 1px solid #002057 !important;
}
@media screen and (min-width: 768px) {
  ul.archive_voice_nav--ul li a.current {
    color: #E6B422;
    border: none !important;
    display: flex;
    align-items: center;
    gap: 0 0.5em;
  }
}
@media screen and (min-width: 768px) {
  ul.archive_voice_nav--ul li a.current::before {
    content: "";
    width: 0.35em;
    background-color: #E6B422;
    aspect-ratio: 1;
    display: block;
    rotate: 45deg;
  }
}
ul.archive_voice_nav--ul li a:hover {
  opacity: 0.7;
}

.archive_voice--list {
  width: 92.5%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .archive_voice--list {
    width: 100%;
  }
}

ul.archive_voice--ul {
  display: grid;
  gap: 3.8em 0;
}
@media screen and (min-width: 768px) {
  ul.archive_voice--ul {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 4.5em;
  }
}

li.archive_voice--li {
  background-color: #2B2B2B;
  list-style: none;
}
li.archive_voice--li a {
  height: 100%;
  padding-bottom: 2.5em;
  display: grid;
  grid-template-rows: auto 1fr auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  li.archive_voice--li a {
    padding-bottom: 1.8em;
  }
}
li.archive_voice--li a .thumbnail {
  margin-bottom: 1.5em;
  overflow: hidden;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  li.archive_voice--li a .thumbnail {
    margin-bottom: 1.1em;
  }
}
li.archive_voice--li a .thumbnail img {
  aspect-ratio: 1.8/1;
  -o-object-fit: cover;
     object-fit: cover;
  transition: all 0.4s;
}
li.archive_voice--li a:hover .thumbnail img {
  scale: 1.1;
}
li.archive_voice--li a p.title {
  color: #fff;
  font-size: 1.5em;
  line-height: 1.6;
  width: 86%;
  margin: 0 auto 2.5em;
}
@media screen and (min-width: 768px) {
  li.archive_voice--li a p.title {
    font-size: 1em;
    width: 86%;
    margin: 0 auto 3.5em;
  }
}
li.archive_voice--li a .tag_box {
  width: 88.5%;
  padding-top: 2em;
  margin-inline: auto;
  border-top: 1px solid #fff;
  display: flex;
  gap: 0 0.8em;
}
@media screen and (min-width: 768px) {
  li.archive_voice--li a .tag_box {
    width: 89%;
    padding-top: 1.3em;
  }
}
li.archive_voice--li a .tag_box span.tag {
  color: #fff;
  padding: 0.7em 1em;
  border: 1px solid white;
  border-radius: 3em;
}
@media screen and (min-width: 768px) {
  li.archive_voice--li a .tag_box span.tag {
    font-size: 0.65em;
  }
}
li.archive_voice--li a .chevron {
  width: 0.5em;
  position: absolute;
  right: 2em;
  bottom: 3.4em;
  transform: rotate(-45deg);
  aspect-ratio: 1;
  transition: all 0.4s;
}
@media screen and (min-width: 768px) {
  li.archive_voice--li a .chevron {
    width: 0.3em;
    right: 1.2em;
    bottom: 2.4em;
  }
}
@media screen and (min-width: 768px) {
  li.archive_voice--li a .chevron::before {
    content: "";
    width: 1.5em;
    border-radius: 50%;
    background-color: #fff;
    aspect-ratio: 1;
    position: absolute;
    left: 50%;
    top: 50%;
    translate: -50% -50%;
    scale: 0;
    transition: all 0.4s;
  }
}
li.archive_voice--li a .chevron::after {
  content: "";
  width: 100%;
  height: 100%;
  border-right: 0.15em solid #fff;
  border-bottom: 0.15em solid #fff;
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  transition: all 0.4s;
}
@media screen and (min-width: 768px) {
  li.archive_voice--li a .chevron::after {
    border-right: 0.1em solid #fff;
    border-bottom: 0.1em solid #fff;
  }
}
li.archive_voice--li a:hover .chevron::before {
  scale: 1;
}
li.archive_voice--li a:hover .chevron::after {
  border-color: #2B2B2B;
}

.archive_voice--pagination:has(ul) {
  margin-top: 4.4em;
}
@media screen and (min-width: 768px) {
  .archive_voice--pagination:has(ul) {
    margin-top: 4.5em;
  }
}
.archive_voice--pagination ul.page-numbers {
  display: flex;
  justify-content: center;
  gap: 0 1.5em;
}
.archive_voice--pagination ul.page-numbers li {
  text-align: center;
  font-size: 1.7em;
  list-style: none;
  display: flex;
}
@media screen and (min-width: 768px) {
  .archive_voice--pagination ul.page-numbers li {
    font-size: 1.1em;
  }
}
.archive_voice--pagination ul.page-numbers li span.page-numbers.current {
  color: #E6B422;
  width: 1em;
  padding-bottom: 0.2em;
  border-bottom: 1px solid #E6B422;
}
.archive_voice--pagination ul.page-numbers li span.page-numbers.dots {
  color: #fff;
}
.archive_voice--pagination ul.page-numbers li a.page-numbers {
  color: #fff;
  width: 1em;
}
.archive_voice--pagination ul.page-numbers li a.page-numbers:hover {
  opacity: 0.7;
}
.archive_voice--pagination ul.page-numbers li a.prev, .archive_voice--pagination ul.page-numbers li a.next {
  position: relative;
}
.archive_voice--pagination ul.page-numbers li a.prev::before, .archive_voice--pagination ul.page-numbers li a.next::before {
  content: "";
  width: 0.4em;
  height: 0.25em;
  background-color: #fff;
  clip-path: polygon(0 0, 50% 25%, 100% 0, 50% 100%);
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
}
.archive_voice--pagination ul.page-numbers li a.prev::before {
  rotate: 90deg;
}
.archive_voice--pagination ul.page-numbers li a.next::before {
  rotate: -90deg;
}

#content.single_voice {
  width: 100%;
  padding-top: 0;
  padding-bottom: 0;
}

.P_contents.single_voice--contents {
  padding-bottom: 7em;
}
@media screen and (min-width: 768px) {
  .P_contents.single_voice--contents {
    padding-bottom: 6em;
  }
}
.P_contents.single_voice--contents .contents_container {
  width: 81.5%;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .P_contents.single_voice--contents .contents_container {
    width: 95%;
    max-width: 1010px;
  }
}

@media screen and (min-width: 768px) {
  article.single_voice--article {
    display: grid;
    grid-template-columns: auto 21.1em;
    gap: 0 0.6em;
  }
}
article.single_voice--article h2 {
  color: #fff;
  font-size: 1.7em;
  line-height: 1.4;
  margin-bottom: 1.2em;
}
@media screen and (min-width: 768px) {
  article.single_voice--article h2 {
    font-size: 2.2em;
  }
}
article.single_voice--article .tag_box {
  margin-bottom: 1.8em;
  display: flex;
  gap: 0 0.8em;
}
article.single_voice--article .tag_box span.tag {
  color: #fff;
  padding: 0.8em 1em;
  border: 1px solid white;
  border-radius: 3em;
}
@media screen and (min-width: 768px) {
  article.single_voice--article .tag_box span.tag {
    font-size: 0.8em;
    padding: 0.8em 1.2em;
  }
}
article.single_voice--article > a {
  color: #fff;
  font-size: 1.25em;
  max-width: -moz-max-content;
  max-width: max-content;
  margin-bottom: 2.5em;
  border-bottom: 1px solid #fff !important;
  display: flex;
  align-items: center;
  gap: 0 0.6em;
}
@media screen and (min-width: 768px) {
  article.single_voice--article > a {
    font-size: 1em;
    margin: 0;
  }
}
article.single_voice--article > a:hover {
  opacity: 0.7;
}
article.single_voice--article > a i {
  font-size: 0.8em;
}
article.single_voice--article .thumbnail {
  width: 90%;
  margin: 0 auto 3em;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  article.single_voice--article .thumbnail {
    width: 100%;
    margin: 0;
    align-self: baseline;
    grid-column: 2/3;
    grid-row: 1/4;
  }
}
article.single_voice--article .content {
  padding-top: 3em;
  margin-bottom: 7em;
  border-top: 1px solid #fff;
}
@media screen and (min-width: 768px) {
  article.single_voice--article .content {
    padding-top: 3.5em;
    margin: 3.5em 0 6em;
    grid-column: span 2;
  }
}
article.single_voice--article .content h3 {
  color: #E6B422;
  font-size: 1.5em;
  font-weight: 600;
  line-height: 1.4;
  margin-bottom: 1.5em;
}
@media screen and (min-width: 768px) {
  article.single_voice--article .content h3 {
    font-size: 1.35em;
    margin-bottom: 1.2em;
  }
}
article.single_voice--article .content p {
  color: #fff;
  font-weight: 600;
  font-size: 1.25em;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  article.single_voice--article .content p {
    font-size: 0.9em;
    line-height: 1.8;
  }
}
article.single_voice--article .content p:not(:last-of-type) {
  margin-bottom: 3.5em;
}
@media screen and (min-width: 768px) {
  article.single_voice--article .content p:not(:last-of-type) {
    margin-bottom: 4em;
  }
}
article.single_voice--article .content p br {
  display: block !important;
}
article.single_voice--article .pagination {
  width: 89%;
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  position: relative;
}
@media screen and (min-width: 768px) {
  article.single_voice--article .pagination {
    width: 15.2em;
    grid-column: span 2;
  }
}
article.single_voice--article .pagination::before {
  content: "";
  width: 1px;
  height: 100%;
  background-color: #fff;
  position: absolute;
  left: 50%;
  top: 0;
  translate: -50% 0;
}
article.single_voice--article .pagination a {
  text-align: center;
  color: #fff;
  font-size: 1.4em;
  font-weight: 600;
  line-height: 1;
  padding: 0.6em 0;
  position: relative;
}
@media screen and (min-width: 768px) {
  article.single_voice--article .pagination a {
    font-size: 0.95em;
  }
}
article.single_voice--article .pagination a.prev_post {
  grid-column: 1/2;
}
article.single_voice--article .pagination a.next_post {
  grid-column: 2/3;
}
article.single_voice--article .pagination a:hover {
  opacity: 0.7;
}
article.single_voice--article .pagination a::before {
  content: "";
  width: 0.5em;
  height: 0.3em;
  background-color: #fff;
  clip-path: polygon(0 0, 50% 25%, 100% 0, 50% 100%);
  position: absolute;
  top: 50%;
  translate: 0 -50%;
}
article.single_voice--article .pagination a.prev_post::before {
  left: 0;
  rotate: 90deg;
}
article.single_voice--article .pagination a.next_post::before {
  right: 0;
  rotate: -90deg;
}

#content.home_blog {
  width: 100%;
  padding-top: 0;
  padding-bottom: 0;
}
#content.home_blog .row .main {
  width: 100%;
  padding: 0;
}

.P_contents.home_blog--contents {
  padding-bottom: 8em;
}
@media screen and (min-width: 768px) {
  .P_contents.home_blog--contents {
    padding-bottom: 6em;
  }
}
@media screen and (min-width: 768px) {
  .P_contents.home_blog--contents .contents_container {
    width: 95%;
    max-width: 1010px;
    margin: 0 auto;
  }
}

.home_blog--filter {
  width: 81.5%;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .home_blog--filter {
    width: 100%;
  }
}
.home_blog--filter p {
  color: #fff;
  font-size: 1.35em;
  margin-bottom: 1.2em;
}
@media screen and (min-width: 768px) {
  .home_blog--filter p {
    font-size: 1.1em;
    margin-bottom: 0.8em;
  }
}
@media screen and (min-width: 768px) {
  .home_blog--filter .filter_box {
    margin-bottom: 4.5em;
  }
}

.home_blog_dropdown--button {
  text-align: left;
  color: #002057;
  font-size: 1.25em;
  width: 100%;
  padding: 1.3em 1.8em;
  background: #fff;
  border-radius: 0.7em;
  position: relative;
}
@media screen and (min-width: 768px) {
  .home_blog_dropdown--button {
    display: none;
  }
}
.home_blog_dropdown--button::before {
  content: "";
  width: 0.5em;
  border-right: 0.15em solid #002057;
  border-bottom: 0.15em solid #002057;
  position: absolute;
  right: 2em;
  top: calc(50% - 0.3em);
  transform: rotate(45deg);
  aspect-ratio: 1;
  transition: all 0.4s;
}
.home_blog_dropdown--button.active::before {
  transform: rotate(225deg);
}

nav.home_blog--nav {
  margin-bottom: 4.2em;
  position: relative;
}
@media screen and (min-width: 768px) {
  nav.home_blog--nav {
    margin: 0;
    display: flex;
    align-items: center;
  }
}

ul.home_blog_nav--ul {
  width: 100%;
  padding: 1.5em 0.8em 2em;
  background-color: #fff;
  border-radius: 10px;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: 1.2em;
  transition: all 0.4s;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  ul.home_blog_nav--ul {
    padding: 1.15em 1.5em;
    opacity: 1;
    display: flex;
    gap: 0 2.2em;
    position: relative;
    top: 0;
    pointer-events: auto;
  }
}
ul.home_blog_nav--ul.active {
  opacity: 1;
  pointer-events: auto;
}
ul.home_blog_nav--ul li {
  font-size: 1.25em;
  list-style: none;
}
@media screen and (min-width: 768px) {
  ul.home_blog_nav--ul li {
    font-size: 1.1em;
  }
}
ul.home_blog_nav--ul li a {
  color: #002057;
  font-weight: 600;
  width: 100%;
  padding: 1em;
  border-bottom: 1px solid #C3C3C3 !important;
  display: block;
}
@media screen and (min-width: 768px) {
  ul.home_blog_nav--ul li a {
    padding: 0;
    border: none !important;
  }
}
ul.home_blog_nav--ul li a.current {
  border-bottom: 1px solid #002057 !important;
}
@media screen and (min-width: 768px) {
  ul.home_blog_nav--ul li a.current {
    color: #E6B422;
    border: none !important;
    display: flex;
    align-items: center;
    gap: 0 0.5em;
  }
}
@media screen and (min-width: 768px) {
  ul.home_blog_nav--ul li a.current::before {
    content: "";
    width: 0.35em;
    background-color: #E6B422;
    aspect-ratio: 1;
    display: block;
    rotate: 45deg;
  }
}
ul.home_blog_nav--ul li a:hover {
  opacity: 0.7;
}

.home_blog--list {
  width: 85%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .home_blog--list {
    width: 100%;
  }
}

ul.home_blog--ul {
  display: grid;
  gap: 4.2em 0;
}
@media screen and (min-width: 768px) {
  ul.home_blog--ul {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 5.5em 1.5em;
  }
}

li.home_blog--li {
  list-style: none;
}
li.home_blog--li a {
  height: 100%;
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  position: relative;
}
li.home_blog--li a .thumbnail {
  margin-bottom: 3em;
  overflow: hidden;
  background-color: #fff;
}
li.home_blog--li a .thumbnail img {
  aspect-ratio: 1.8/1;
  -o-object-fit: cover;
     object-fit: cover;
  transition: all 0.4s;
}
li.home_blog--li a:hover .thumbnail img {
  scale: 1.1;
}
li.home_blog--li a span.date {
  color: #fff;
  font-size: 1.1em;
  margin-bottom: 0.6em;
}
li.home_blog--li a p.title {
  color: #fff;
  font-size: 1.35em;
  line-height: 1.6;
  margin-bottom: 0.6em;
}
@media screen and (min-width: 768px) {
  li.home_blog--li a p.title {
    font-size: 1em;
  }
}
li.home_blog--li a span.tag {
  color: #fff;
  max-width: -moz-max-content;
  max-width: max-content;
  padding: 0.7em 1em;
  border: 1px solid white;
  border-radius: 3em;
  display: block;
}
@media screen and (min-width: 768px) {
  li.home_blog--li a span.tag {
    font-size: 0.65em;
  }
}

.home_blog--pagination:has(ul) {
  margin-top: 4.4em;
}
@media screen and (min-width: 768px) {
  .home_blog--pagination:has(ul) {
    margin-top: 4.5em;
  }
}
.home_blog--pagination ul.page-numbers {
  display: flex;
  justify-content: center;
  gap: 0 1.5em;
}
.home_blog--pagination ul.page-numbers li {
  text-align: center;
  font-size: 1.7em;
  list-style: none;
  display: flex;
}
@media screen and (min-width: 768px) {
  .home_blog--pagination ul.page-numbers li {
    font-size: 1.1em;
  }
}
.home_blog--pagination ul.page-numbers li span.page-numbers.current {
  color: #E6B422;
  width: 1em;
  padding-bottom: 0.2em;
  border-bottom: 1px solid #E6B422;
}
.home_blog--pagination ul.page-numbers li span.page-numbers.dots {
  color: #fff;
}
.home_blog--pagination ul.page-numbers li a.page-numbers {
  color: #fff;
  width: 1em;
}
.home_blog--pagination ul.page-numbers li a.page-numbers:hover {
  opacity: 0.7;
}
.home_blog--pagination ul.page-numbers li a.prev, .home_blog--pagination ul.page-numbers li a.next {
  position: relative;
}
.home_blog--pagination ul.page-numbers li a.prev::before, .home_blog--pagination ul.page-numbers li a.next::before {
  content: "";
  width: 0.4em;
  height: 0.25em;
  background-color: #fff;
  clip-path: polygon(0 0, 50% 25%, 100% 0, 50% 100%);
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
}
.home_blog--pagination ul.page-numbers li a.prev::before {
  rotate: 90deg;
}
.home_blog--pagination ul.page-numbers li a.next::before {
  rotate: -90deg;
}

#content.single_blog {
  width: 100%;
  padding-top: 0;
  padding-bottom: 0;
}

.P_contents.single_blog--contents {
  padding-bottom: 7em;
}
@media screen and (min-width: 768px) {
  .P_contents.single_blog--contents {
    padding-bottom: 6em;
  }
}
.P_contents.single_blog--contents .contents_container {
  width: 81.5%;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .P_contents.single_blog--contents .contents_container {
    width: 95%;
    max-width: 1010px;
  }
}

article.single_blog--article {
  display: grid;
}
@media screen and (min-width: 768px) {
  article.single_blog--article {
    grid-template-columns: auto 21.1em;
    gap: 0 0.6em;
  }
}
article.single_blog--article h2 {
  color: #fff;
  font-size: 1.7em;
  line-height: 1.4;
  margin-bottom: 1.2em;
}
@media screen and (min-width: 768px) {
  article.single_blog--article h2 {
    font-size: 2.2em;
  }
}
article.single_blog--article span.tag {
  color: #fff;
  width: -moz-max-content;
  width: max-content;
  padding: 0.8em 1em;
  margin-bottom: 2em;
  border: 1px solid white;
  border-radius: 3em;
}
@media screen and (min-width: 768px) {
  article.single_blog--article span.tag {
    font-size: 0.8em;
    padding: 0.8em 1.2em;
  }
}
article.single_blog--article span.date {
  color: #fff;
  font-size: 1.25em;
  margin-bottom: 2.2em;
}
@media screen and (min-width: 768px) {
  article.single_blog--article span.date {
    font-size: 1em;
  }
}
article.single_blog--article .thumbnail {
  width: 90%;
  margin: 0 auto 3em;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  article.single_blog--article .thumbnail {
    width: 100%;
    margin: 0;
    align-self: baseline;
    grid-column: 2/3;
    grid-row: 1/4;
  }
}
article.single_blog--article .content {
  padding-top: 3em;
  margin-bottom: 7em;
  border-top: 1px solid #fff;
}
@media screen and (min-width: 768px) {
  article.single_blog--article .content {
    padding-top: 3.5em;
    margin: 3.5em 0 6em;
    grid-column: span 2;
  }
}
article.single_blog--article .content p {
  color: #fff;
  font-weight: 600;
  font-size: 1.25em;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  article.single_blog--article .content p {
    font-size: 0.9em;
    line-height: 1.8;
  }
}
article.single_blog--article .content p:not(:last-of-type) {
  margin-bottom: 1.5em;
}
article.single_blog--article .content p br {
  display: block !important;
}
article.single_blog--article .pagination {
  width: 89%;
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  position: relative;
}
@media screen and (min-width: 768px) {
  article.single_blog--article .pagination {
    width: 15.2em;
    grid-column: span 2;
  }
}
article.single_blog--article .pagination::before {
  content: "";
  width: 1px;
  height: 100%;
  background-color: #fff;
  position: absolute;
  left: 50%;
  top: 0;
  translate: -50% 0;
}
article.single_blog--article .pagination a {
  text-align: center;
  color: #fff;
  font-size: 1.4em;
  font-weight: 600;
  line-height: 1;
  padding: 0.6em 0;
  position: relative;
}
@media screen and (min-width: 768px) {
  article.single_blog--article .pagination a {
    font-size: 0.95em;
  }
}
article.single_blog--article .pagination a.prev_post {
  grid-column: 1/2;
}
article.single_blog--article .pagination a.next_post {
  grid-column: 2/3;
}
article.single_blog--article .pagination a:hover {
  opacity: 0.7;
}
article.single_blog--article .pagination a::before {
  content: "";
  width: 0.5em;
  height: 0.3em;
  background-color: #fff;
  clip-path: polygon(0 0, 50% 25%, 100% 0, 50% 100%);
  position: absolute;
  top: 50%;
  translate: 0 -50%;
}
article.single_blog--article .pagination a.prev_post::before {
  left: 0;
  rotate: 90deg;
}
article.single_blog--article .pagination a.next_post::before {
  right: 0;
  rotate: -90deg;
}

.P_contents.P_contact--contents {
  padding-bottom: 6em;
}
.P_contents.P_contact--contents .contents_container {
  width: 81.5%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .P_contents.P_contact--contents .contents_container {
    width: 95%;
    max-width: 1010px;
  }
}
.P_contents.P_contact--contents .contents_container .text_box {
  margin-bottom: 4.2em;
}
.P_contents.P_contact--contents .contents_container .text_box p {
  color: #fff;
  font-size: 1.25em;
  line-height: 1.6;
}
.P_contents.P_contact--contents .contents_container .form_box dl.form_dl dt, .P_contents.P_contact--contents .contents_container .form_box dl.form_dl dd {
  font-size: 1.3em;
}
.P_contents.P_contact--contents .contents_container .form_box dl.form_dl dt {
  color: #fff;
}
.P_contents.P_contact--contents .contents_container .form_box dl.form_dl dt.must::after {
  content: "*";
}
.P_contents.P_contact--contents .contents_container .form_box dl.form_dl dd input {
  background-color: #E2E2E2;
}

.page_container {
  min-height: 60vh;
  padding: calc(70px + 12%) 0 27%;
  background-color: #E8F5FF;
}
@media screen and (min-width: 768px) {
  .page_container {
    padding: calc(70px + 8%) 0 23%;
  }
}
@media screen and (min-width: 1025px) {
  .page_container {
    min-height: 75vh;
    padding: 200px 0 17%;
  }
}

h1.page_title > img {
  margin-inline: auto;
  display: block;
}
h1.page_title picture {
  opacity: 0;
  display: block;
  position: relative;
  transform: scale(0.9);
  transform-origin: bottom center;
  transition: opacity 0.3s 0.5s ease, transform 0.3s 0.5s cubic-bezier(0.44, 0.42, 0.24, 1.55);
  z-index: 1;
}
@media screen and (min-width: 1025px) {
  h1.page_title picture {
    margin-inline: auto;
  }
}
h1.page_title.loaded picture {
  opacity: 1;
  transform: scale(1);
}

.page_container.page_recruit--container h1.page_title {
  width: 93%;
  margin: 0 auto 5%;
}
@media screen and (min-width: 768px) {
  .page_container.page_recruit--container h1.page_title {
    width: 60%;
    margin: 0 auto 3%;
  }
}
@media screen and (min-width: 1025px) {
  .page_container.page_recruit--container h1.page_title {
    width: 540px;
    margin: 0 auto 30px;
  }
}
.page_container.page_recruit--container h1.page_title > img {
  width: 86%;
  transform: translate(0, 3%);
}
@media screen and (min-width: 1025px) {
  .page_container.page_recruit--container h1.page_title > img {
    width: 100%;
  }
}
@media screen and (min-width: 1025px) {
  .page_container.page_recruit--container h1.page_title picture {
    width: 512px;
  }
}
.page_container.page_recruit--container h1.page_title.loaded picture {
  opacity: 1;
  transform: scale(1);
}
.page_container.page_recruit--container .page_title--img {
  width: 68%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .page_container.page_recruit--container .page_title--img {
    width: 48%;
  }
}
@media screen and (min-width: 1025px) {
  .page_container.page_recruit--container .page_title--img {
    width: 375px;
  }
}
.page_container.page_recruit--container .no_item {
  text-align: center;
  font-size: 4.6vw;
  width: 88%;
  padding: 3.4em 0;
  margin-inline: auto;
  background-color: #fff;
  border-radius: 20px;
}
@media screen and (min-width: 768px) {
  .page_container.page_recruit--container .no_item {
    font-size: 2.7vw;
  }
}
@media screen and (min-width: 1025px) {
  .page_container.page_recruit--container .no_item {
    font-size: 24px;
    max-width: 1000px;
    padding: 4.3em 0;
  }
}
.page_container.page_recruit--container .no_item p {
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.4;
}

ul.page_recruit--ul {
  font-size: 4vw;
  width: 88%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  ul.page_recruit--ul {
    font-size: 2.5vw;
  }
}
@media screen and (min-width: 1025px) {
  ul.page_recruit--ul {
    font-size: 23px;
    width: 90%;
    max-width: 1000px;
  }
}
ul.page_recruit--ul li.page_recruit--li {
  padding: 1.3em 1.5em;
  background-color: #fff;
  border-radius: 20px;
  list-style: none;
  overflow: hidden;
  position: relative;
  transform: translate(0, 0);
  transition: all 0.3s;
}
@media screen and (min-width: 1025px) {
  ul.page_recruit--ul li.page_recruit--li {
    padding: 1.9em 1.8em;
    display: grid;
    grid-template-columns: 190px 1fr;
    align-items: center;
  }
}
ul.page_recruit--ul li.page_recruit--li:not(:last-of-type) {
  margin-bottom: 2em;
}
ul.page_recruit--ul li.page_recruit--li::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #0A2396;
  position: absolute;
  left: 0;
  top: 0;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.5s;
}
ul.page_recruit--ul li.page_recruit--li:hover::before {
  transform: scaleX(1);
  transform-origin: left;
}
ul.page_recruit--ul li.page_recruit--li a {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
}
ul.page_recruit--ul li.page_recruit--li .term_box {
  margin-bottom: 0.7em;
  position: relative;
}
@media screen and (min-width: 1025px) {
  ul.page_recruit--ul li.page_recruit--li .term_box {
    margin: 0;
  }
}
ul.page_recruit--ul li.page_recruit--li .term_box span {
  color: #fff;
  font-size: 0.8em;
  font-weight: 500;
  padding: 0.4em 0.8em;
  background-color: #0A2396;
  border-radius: 2px;
  display: inline-block;
  transition: all 0.5s;
}
@media screen and (min-width: 768px) {
  ul.page_recruit--ul li.page_recruit--li .term_box span {
    font-size: 0.7em;
  }
}
@media screen and (min-width: 1025px) {
  ul.page_recruit--ul li.page_recruit--li .term_box span {
    border-radius: 5px;
  }
}
ul.page_recruit--ul li.page_recruit--li .term_box span.area {
  margin-right: 0.3em;
}
ul.page_recruit--ul li.page_recruit--li:hover .term_box span {
  color: #233F80;
  background-color: #fff;
}
ul.page_recruit--ul li.page_recruit--li p.title {
  font-weight: 500;
  line-height: 1.4;
  position: relative;
  transition: all 0.5s;
  z-index: 1;
}
ul.page_recruit--ul li.page_recruit--li:hover p.title {
  color: #fff;
}

.page_container.page_entry--container h1.page_title {
  width: 93%;
  margin: 0 auto 8%;
}
@media screen and (min-width: 768px) {
  .page_container.page_entry--container h1.page_title {
    width: 60%;
    margin: 0 auto 6%;
  }
}
@media screen and (min-width: 1025px) {
  .page_container.page_entry--container h1.page_title {
    width: 594px;
    margin: 0 auto 50px;
  }
}
.page_container.page_entry--container h1.page_title > img {
  width: 77%;
  transform: translate(0, 4%);
}
@media screen and (min-width: 1025px) {
  .page_container.page_entry--container h1.page_title > img {
    width: 485px;
  }
}
@media screen and (min-width: 1025px) {
  .page_container.page_entry--container h1.page_title picture {
    width: 512px;
  }
}
.page_container.page_entry--container h1.page_title.loaded picture {
  opacity: 1;
  transform: scale(1);
}

.page_entry--contents .text_box {
  text-align: center;
  font-size: 4vw;
  width: -moz-max-content;
  width: max-content;
  margin: 0 auto 3.5em;
}
@media screen and (min-width: 768px) {
  .page_entry--contents .text_box {
    font-size: 2.4vw;
  }
}
@media screen and (min-width: 1025px) {
  .page_entry--contents .text_box {
    font-size: 22px;
  }
}
.page_entry--contents .text_box p {
  font-weight: 500;
  line-height: 2;
  width: -moz-max-content;
  width: max-content;
  margin-inline: auto;
  position: relative;
}
.page_entry--contents .text_box p span {
  color: #DE2238;
}
.page_entry--contents .text_box p br {
  display: block !important;
}
.page_entry--contents .form_box {
  width: 80%;
  margin-inline: auto;
}
@media screen and (min-width: 1025px) {
  .page_entry--contents .form_box {
    max-width: 1000px;
  }
}