@charset "UTF-8";
/*
 * Base Group
 */
.lh-tight {
  line-height: 1.2;
}

.lh-normal {
  line-height: 1.5;
}

.lh-loose {
  line-height: 1.8;
}

.ls-tight {
  letter-spacing: -0.04em;
}

.ls-normal {
  letter-spacing: 0em;
}

.ls-loose {
  letter-spacing: 0.04em;
}

/*
font size settings
$font-sizes:最小値と最大値を指定
記入例：@include font-size(mapname);
*/
/*
 * Base Group
 */
html {
  font-size: 16px;
}

body {
  font-family: "Zen Kaku Gothic New", "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  line-height: 1.6;
  -webkit-text-size-adjust: 100%;
  color: #444;
  font-size: clamp(0.8125rem, 0.7375rem + 0.25vw, 0.9375rem);
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 2;
}

a {
  transition: all 0.3s;
  text-decoration: none;
}
a:link, a:visited {
  color: #444;
}
a:hover, a:active {
  color: rgb(105.4, 105.4, 105.4);
}

img {
  max-width: 100%;
  height: auto;
}

/*
 * Layout Group
 */
/*
 * Base Group
 */
.ly_header_inner {
  max-width: 1600px;
  margin: 0 auto;
}

.ly_cont {
  background-color: #fff;
}

.ly_contHidden {
  overflow: hidden;
  background-color: #fff;
}

.ly_cont_inner {
  position: relative;
  max-width: 1280px;
  margin: 0 auto;
}
@media screen and (max-width: 1280px) {
  .ly_cont_inner {
    padding-right: 4%;
    padding-left: 4%;
  }
}

.ly_footer {
  position: relative;
}

.ly_footer_inner {
  max-width: 1200px;
  margin: 0 auto;
}

/*
 * Module Group - Block
 */
/*
 * Base Group
 */
.bl_header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: transparent;
  z-index: 9999;
  transition: 0.5s all;
}
.bl_header.is-scrolled {
  background-color: rgba(2, 28, 133, 0.6);
}
.bl_header.is-scrolled .bl_header_list_item:after {
  background-color: #fff;
}

.bl_header_inner {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 80px;
  margin: 0 auto;
  gap: 0 6.857%;
  transition: 0.5s all;
  padding-left: 2.5%;
  padding-right: 2.9375%;
}
.bl_header_inner:before {
  position: absolute;
  left: 0;
  bottom: 0;
  content: "";
  width: 100%;
  height: 1px;
  background-color: #fff;
}
.bl_header_inner:after {
  position: absolute;
  left: 2.5%;
  bottom: 0;
  content: "";
  width: 156px;
  height: 1px;
  background-color: #021C85;
}

.bl_header_logo {
  line-height: 1;
}

.bl_header_body {
  position: relative;
  margin-left: 2em;
}

.bl_header_list {
  display: flex;
  align-items: center;
  gap: 2em;
  font-weight: 500;
}
@media screen and (max-width: 1280px) {
  .bl_header_list {
    gap: 1.25em;
  }
}
@media screen and (max-width: 896px) {
  .bl_header_list {
    display: none;
  }
}

.bl_header_list_item {
  position: relative;
  overflow: hidden;
}
.bl_header_list_item:after {
  content: "";
  width: 100%;
  height: 2px;
  background-color: #021C85;
  position: absolute;
  bottom: 0;
  left: 0;
  transform: scaleX(0);
  transform-origin: right center;
  transition: transform 0.6s ease;
}
.bl_header_list_link:hover ~ .bl_header_list_item::after, .bl_header_list_item:has(.bl_header_list_link:hover)::after {
  transform: scaleX(1);
  transform-origin: left center;
}

.bl_header_list_link {
  color: #fff;
}
.bl_header_list_link:link, .bl_header_list_link:visited {
  color: #fff;
}

/*
 * Base Group
 */
.bl_footer {
  position: relative;
}

.bl_footer_nav {
  background-color: #021C85;
}
@media screen and (max-width: 896px) {
  .bl_footer_nav {
    padding: 1.5em 4%;
  }
}

.bl_footer_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 2em;
  min-height: 65px;
}
@media screen and (max-width: 896px) {
  .bl_footer_list {
    justify-content: flex-start;
    gap: 1em;
  }
}

.bl_footer_item {
  position: relative;
}
.bl_footer_item:after {
  content: "";
  width: 100%;
  height: 2px;
  background-color: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
  transform: scaleX(0);
  transform-origin: right center;
  transition: transform 0.6s ease;
}
.bl_footer_link:hover ~ .bl_footer_item::after, .bl_footer_item:has(.bl_footer_link:hover)::after {
  transform: scaleX(1);
  transform-origin: left center;
}
@media screen and (max-width: 896px) {
  .bl_footer_item {
    width: calc((100% - 3em) / 4);
  }
}
@media screen and (max-width: 479px) {
  .bl_footer_item {
    width: calc((100% - 1em) / 2);
  }
}

.bl_footer_link:link, .bl_footer_link:visited {
  color: #fff;
}

.bl_footer_body {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 70px;
  position: relative;
  max-width: 1280px;
  margin: 0 auto;
}
@media screen and (max-width: 1280px) {
  .bl_footer_body {
    padding-right: 4%;
    padding-left: 4%;
  }
}
@media screen and (max-width: 896px) {
  .bl_footer_body {
    flex-wrap: wrap;
    gap: 12px;
    padding-top: 3em;
  }
}

@media screen and (max-width: 896px) {
  .bl_footer_logo {
    width: 100%;
  }
}

.bl_footer_address {
  width: 70%;
  display: flex;
  flex-wrap: wrap;
  gap: 1.875em;
  padding-top: 70px;
}
@media (max-width: 896px) {
  .bl_footer_address {
    padding-top: calc(70px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .bl_footer_address {
    padding-top: calc(70px * 0.5);
  }
}
.bl_footer_address {
  padding-bottom: 90px;
}
@media (max-width: 896px) {
  .bl_footer_address {
    padding-bottom: calc(90px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .bl_footer_address {
    padding-bottom: calc(90px * 0.5);
  }
}
@media screen and (max-width: 896px) {
  .bl_footer_address {
    width: 100%;
    padding-top: 1em;
  }
}

.bl_footer_copyright {
  font-size: clamp(0.625rem, 0.5125rem + 0.375vw, 0.8125rem);
  padding-bottom: 23px;
  padding-left: 23px;
}

/*
 * Base Group
 */
.bl_media {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.bl_media.__rev {
  flex-direction: row-reverse;
}

.bl_media_img {
  width: 50%;
}
.bl_media_img > img {
  width: 100%;
}
@media screen and (max-width: 479px) {
  .bl_media_img {
    width: 100%;
  }
}

.bl_media_body {
  width: 31.25%;
}
@media screen and (max-width: 1280px) {
  .bl_media_body {
    width: 40%;
    margin-right: 2%;
    margin-left: 2%;
  }
}
@media screen and (max-width: 896px) {
  .bl_media_body {
    width: 100%;
  }
}

.bl_media_txt {
  margin-top: 2em;
}

/*
 * Base Group
 */
.bl_container {
  position: relative;
  max-width: 1280px;
  margin: 0 auto;
}
@media screen and (max-width: 1280px) {
  .bl_container {
    padding-right: 4%;
    padding-left: 4%;
  }
}

/*
 * Base Group
 */
.bl_ttl .__ja {
  display: block;
  font-size: clamp(0.9375rem, 0.675rem + 0.875vw, 1.375rem);
  font-weight: 500;
  line-height: 1.3636363636;
  letter-spacing: 0.1em;
  color: #6079D9;
}
.bl_ttl .__en {
  font-family: "Oswald", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: clamp(2.5rem, 1rem + 5vw, 5rem);
  font-weight: 500;
  line-height: 1.125;
  color: #021C85;
}
.bl_ttl.__wt .__ja {
  color: #6079D9;
}
.bl_ttl.__wt .__en {
  color: #fff;
}

.bl_subttl {
  font-size: clamp(1.25rem, 0.875rem + 1.25vw, 1.875rem);
  font-weight: 700;
  line-height: 1.4666666667;
  letter-spacing: 0.1em;
  margin-top: 60px;
}
@media (max-width: 896px) {
  .bl_subttl {
    margin-top: calc(60px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .bl_subttl {
    margin-top: calc(60px * 0.5);
  }
}
.bl_subttl.__wt {
  color: #fff;
}

/*
 * Base Group
 */
.bl_links {
  display: flex;
  gap: 2.666em;
  position: relative;
  max-width: 1280px;
  margin: 0 auto;
}
@media screen and (max-width: 1280px) {
  .bl_links {
    padding-right: 4%;
    padding-left: 4%;
  }
}
@media screen and (max-width: 896px) {
  .bl_links {
    gap: 1.5em;
    flex-wrap: wrap;
  }
}
.bl_links.__mt120 {
  margin-top: 120px;
}
@media (max-width: 896px) {
  .bl_links.__mt120 {
    margin-top: calc(120px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .bl_links.__mt120 {
    margin-top: calc(120px * 0.5);
  }
}
.bl_links.__mt80 {
  margin-top: 80px;
}
@media (max-width: 896px) {
  .bl_links.__mt80 {
    margin-top: calc(80px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .bl_links.__mt80 {
    margin-top: calc(80px * 0.5);
  }
}

/*
 * Module Group - Element
 */
/*
 * Base Group
 */
.el_btn {
  display: inline-block;
  position: relative;
  color: #fff;
  background-color: #000;
  max-width: 400px;
  width: 100%;
  text-align: center;
  padding: 11px 0.5rem;
  font-size: clamp(0.875rem, 0.725rem + 0.5vw, 1.125rem);
  font-weight: 500;
  text-decoration: none;
  border: 1px solid #000;
  overflow: hidden;
}
.el_btn:link, .el_btn:visited {
  color: #fff;
}
.el_btn:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 81.818%;
  height: 40%;
  background-color: #000;
  clip-path: polygon(0 0, 0 100%, 100% 0);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.6s ease, background-color 0.6s;
}
.el_btn:hover {
  background-color: #fff;
  color: #000;
}
.el_btn:hover:after {
  transform: scaleX(1);
  transform-origin: left center;
}
.el_btn.el_btn__w560 {
  max-width: 560px;
}
.el_btn.el_btn__wMax {
  max-width: 100%;
}
.el_btn.__blue-dark {
  background-color: #021C85;
  border: 1px solid #021C85;
}
.el_btn.__blue-dark:after {
  background-color: #021C85;
}
.el_btn.__blue-dark:hover {
  background-color: #fff;
}
.el_btn.__wt {
  background-color: #fff;
  color: #021C85;
  border: 1px solid #021C85;
}
.el_btn.__wt:after {
  background-color: #021C85;
}
.el_btn.el_btn__submit {
  width: 100%;
  cursor: pointer;
  color: #fff;
  background-color: #95654C;
  border: 1px solid #95654C;
  border-radius: 6px;
}
.el_btn.el_btn__submit::after {
  display: none;
}
.el_btn.el_btn__submit:hover {
  color: #95654C;
  background-color: #fff;
}
.el_btn.el_btn__submit:hover:link {
  color: #95654C;
}
.el_btn.el_btn__submit:hover::after {
  display: none;
}

.el_large-btn {
  display: inline-flex;
  align-items: center;
  position: relative;
  color: #fff;
  background-color: #021C85;
  max-width: 620px;
  width: 100%;
  text-align: center;
  padding: 29px 2rem;
  font-size: clamp(0.875rem, 0.725rem + 0.5vw, 1.125rem);
  font-weight: 500;
  text-decoration: none;
  border: 1px solid #021C85;
  overflow: hidden;
}
.el_large-btn:link, .el_large-btn:visited {
  color: #fff;
}
@media screen and (max-width: 896px) {
  .el_large-btn {
    padding: 29px 1em;
  }
}
.el_large-btn .__en {
  font-family: "Oswald", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: clamp(1rem, 0.7rem + 1vw, 1.5rem);
  width: 18.203%;
  margin-right: 6.25%;
}
.el_large-btn .__ja {
  position: relative;
  width: 75.547%;
  padding-left: 6.25%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.el_large-btn .__ja:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 1px;
  height: 50px;
  background-color: #ccc;
}
.el_large-btn .arrow {
  font-size: clamp(1.25rem, 0.875rem + 1.25vw, 1.875rem);
  text-decoration: none;
}
.el_large-btn.__clear {
  background-color: transparent;
  border: 1px solid #fff;
}
.el_large-btn.__technology .__en {
  width: 24.203%;
}
.el_large-btn.__technology .__ja {
  width: 69.547%;
}

/*
 * Pages Group
 * 各種ページの設定
 */
/*
 * Base Group
 */
.pa_contents {
  position: relative;
}
.pa_contents {
  margin-bottom: 77px;
}
@media (max-width: 896px) {
  .pa_contents {
    margin-bottom: calc(77px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .pa_contents {
    margin-bottom: calc(77px * 0.5);
  }
}

.pa_contents_inner {
  padding: 0 26px;
}

.pa_contents_ttl {
  text-align: center;
}

.pa_contents_nav {
  margin-top: 30px;
}

.pa_contents_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.8em;
}
@media screen and (max-width: 479px) {
  .pa_contents_list {
    justify-content: flex-start;
  }
}

.pa_contents_item {
  width: calc((100% - 3.8em) / 5);
}
@media screen and (max-width: 1280px) {
  .pa_contents_item {
    width: calc((100% - 2.4em) / 3);
  }
}
@media screen and (max-width: 479px) {
  .pa_contents_item {
    width: calc((100% - 0.8em) / 2);
  }
}

.pa_contents_link {
  position: relative;
}
.pa_contents_link:hover .pa_contents_img > img {
  transform: scale(1.05);
}

.pa_contents_img {
  position: relative;
  line-height: 0;
  overflow: hidden;
}
.pa_contents_img > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}
.pa_contents_img:before, .pa_contents_img:after {
  content: "";
  position: absolute;
  background-color: #021C85;
  width: 50%;
  aspect-ratio: 150/29;
  z-index: 5;
}
.pa_contents_img:before {
  top: 0;
  left: 0;
  clip-path: polygon(0 0, 0 100%, 100% 0);
}
.pa_contents_img:after {
  right: 0;
  bottom: 0;
  clip-path: polygon(100% 0, 0% 100%, 100% 102%);
}

.pa_contents_body {
  background-color: #021C85;
  color: #fff;
  text-align: center;
  padding-top: 33px;
  padding-bottom: 41px;
}

.pa_contents_subttl .__en {
  font-family: "Oswald", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: clamp(1.75rem, 1.45rem + 1vw, 2.25rem);
  font-weight: 500;
  line-height: 1;
}
.pa_contents_subttl .__ja {
  display: block;
  margin-top: 2px;
}

/*
 * Base Group
 */
.pa_contact {
  position: relative;
  background: url(../images/common/contact_bg@2x.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.pa_contact_inner {
  position: relative;
  width: 100%;
  min-height: 900px;
  padding-right: 5%;
  padding-left: 5%;
  padding-top: 90px;
}
@media (max-width: 896px) {
  .pa_contact_inner {
    padding-top: calc(90px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .pa_contact_inner {
    padding-top: calc(90px * 0.5);
  }
}
.pa_contact_inner {
  padding-bottom: 65px;
}
@media (max-width: 896px) {
  .pa_contact_inner {
    padding-bottom: calc(65px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .pa_contact_inner {
    padding-bottom: calc(65px * 0.5);
  }
}

.pa_contact_ttl {
  font-size: clamp(1.75rem, 1.45rem + 1vw, 2.25rem);
  font-weight: 700;
  color: #fff;
}

.pa_contact_subttl {
  position: absolute;
  bottom: 65px;
  left: 5%;
  font-family: "Oswald", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: clamp(2.5rem, -0.3875rem + 9.625vw, 7.3125rem);
  font-weight: 500;
  color: #fff;
  line-height: 1.1282051282;
}
.pa_contact_subttl .__sub {
  display: block;
  font-size: clamp(1rem, 0.7rem + 1vw, 1.5rem);
  line-height: 1.4166666667;
}
@media screen and (max-width: 1280px) {
  .pa_contact_subttl {
    bottom: 180px;
  }
}

.pa_contact_btn-wrapper {
  position: absolute;
  right: 5%;
  bottom: 65px;
  max-width: 620px;
  width: 100%;
}
@media screen and (max-width: 896px) {
  .pa_contact_btn-wrapper {
    padding: 0 5%;
    right: auto;
    left: 0;
  }
}
@media screen and (max-width: 479px) {
  .pa_contact_btn-wrapper {
    right: auto;
    left: 0;
  }
}

/*
 * Base Group
 */
.pa_fv {
  position: relative;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
.pa_fv.__company {
  background-image: url(../images/company/mv_bg@2x.jpg);
}
.pa_fv.__spirits {
  background-image: url(../images/spirits/mv_bg@2x.jpg);
}
.pa_fv.__technology {
  background-image: url(../images/technology/mv_bg@2x.jpg);
}
.pa_fv.__recruit {
  background-image: url(../images/recruit/mv_bg@2x.jpg);
}
.pa_fv.__sdgs {
  background-image: url(../images/sdgs/mv_bg@2x.jpg);
}
.pa_fv.__contact {
  background-image: url(../images/contact/mv_bg@2x.jpg);
}
.pa_fv.__single {
  background-image: url(../images/single/mv_bg@2x.jpg);
}

.pa_fv_inner {
  position: relative;
  width: 100%;
  height: 100dvh;
  color: #fff;
  overflow: hidden;
}

.pa_fv_ttl {
  position: absolute;
  top: 50%;
  left: 10%;
  transform: translateY(-50%);
}
.pa_fv_ttl .__ja {
  display: block;
  font-size: clamp(0.9375rem, 0.675rem + 0.875vw, 1.375rem);
  font-weight: 500;
  letter-spacing: 0.1em;
}
.pa_fv_ttl .__en {
  font-family: "Oswald", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: clamp(2.5rem, 1rem + 5vw, 5rem);
  font-weight: 500;
  line-height: 1;
}

.pa_fv_subttl {
  font-size: clamp(2.5rem, 1.375rem + 3.75vw, 4.375rem);
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.2857142857;
  position: absolute;
  right: 2.3125%;
  bottom: 4.777%;
  color: #fff;
  text-align: right;
}

/*
 * Base Group
 */
.pa_technology_links {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: auto;
  gap: 2em;
  margin-top: 60px;
}
@media (max-width: 896px) {
  .pa_technology_links {
    margin-top: calc(60px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .pa_technology_links {
    margin-top: calc(60px * 0.5);
  }
}
@media screen and (max-width: 896px) {
  .pa_technology_links {
    gap: 1em;
  }
}
@media screen and (max-width: 479px) {
  .pa_technology_links {
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: auto;
  }
}

.pa_technology_item {
  position: relative;
  display: block;
  overflow: hidden;
}
.pa_technology_item.__large {
  grid-row: span 3/span 3;
}
.pa_technology_item.__large:after {
  height: 18.285%;
  background-color: #6079D9;
}
@media screen and (max-width: 479px) {
  .pa_technology_item.__large {
    grid-row: auto;
    grid-column: span 2/span 2;
    max-height: 228px;
  }
}
@media screen and (max-width: 479px) {
  .pa_technology_item:nth-of-type(2) {
    grid-row-start: 2;
  }
}
.pa_technology_item:nth-of-type(3) {
  grid-column-start: 2;
  grid-row-start: 2;
}
@media screen and (max-width: 479px) {
  .pa_technology_item:nth-of-type(3) {
    grid-column-start: auto;
  }
}
.pa_technology_item:nth-of-type(4) {
  grid-column-start: 2;
  grid-row-start: 3;
}
@media screen and (max-width: 479px) {
  .pa_technology_item:nth-of-type(4) {
    grid-column-start: auto;
    grid-row-start: auto;
  }
}
.pa_technology_item:nth-of-type(5) {
  grid-column-start: 3;
  grid-row-start: 1;
}
@media screen and (max-width: 479px) {
  .pa_technology_item:nth-of-type(5) {
    grid-row-start: 3;
    grid-column-start: auto;
  }
}
.pa_technology_item:nth-of-type(6) {
  grid-column-start: 3;
  grid-row-start: 2;
}
@media screen and (max-width: 479px) {
  .pa_technology_item:nth-of-type(6) {
    grid-column-start: auto;
    grid-row-start: auto;
  }
}
.pa_technology_item:nth-of-type(7) {
  grid-column-start: 3;
  grid-row-start: 3;
}
@media screen and (max-width: 479px) {
  .pa_technology_item:nth-of-type(7) {
    grid-column-start: auto;
    grid-row-start: 4;
  }
}
.pa_technology_item:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 81.818%;
  height: 40%;
  background-color: #021C85;
  clip-path: polygon(0 0, 0 100%, 100% 0);
}
.pa_technology_item:hover .pa_technology_img {
  transform: scale(1.05);
}

.pa_technology_label {
  position: absolute;
  font-size: clamp(0.875rem, 0.725rem + 0.5vw, 1.125rem);
  color: #fff;
  margin-top: 0.75em;
  margin-left: 1em;
  z-index: 10;
}
@media screen and (max-width: 896px) {
  .pa_technology_label {
    text-shadow: 2px 2px 6px #333;
  }
}

.pa_technology_img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

/*
 * Base Group
 */
.pa_single {
  padding-top: 140px;
}
@media (max-width: 896px) {
  .pa_single {
    padding-top: calc(140px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .pa_single {
    padding-top: calc(140px * 0.5);
  }
}
.pa_single {
  padding-bottom: 120px;
}
@media (max-width: 896px) {
  .pa_single {
    padding-bottom: calc(120px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .pa_single {
    padding-bottom: calc(120px * 0.5);
  }
}

.pa_single_main {
  padding-top: 4em;
}

/*
 * Base Group
 */
/*
 * Base Group
 */
/*
 * Base Group
 */
/*
 * Base Group
 */
/*
 * Base Group
 */
/*
 * Base Group
 */
.index .pa_mv {
  position: relative;
}
.index .pa_mv_inner {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}
.index .pa_mv_inner:after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  clip-path: polygon(100% 0, 0% 100%, 100% 100%);
  width: 37.75%;
  height: 12.333%;
  background-color: #021C85;
  opacity: 0.7;
}
.index .pa_mv_video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  transform: translate(-50%, -50%);
  object-fit: cover;
}
.index .pa_mv_body {
  position: absolute;
  right: 2.3125%;
  bottom: 4.777%;
  color: #fff;
  text-align: right;
  z-index: 10;
}
.index .pa_mv_ttl {
  font-size: clamp(2.5rem, 1.375rem + 3.75vw, 4.375rem);
  line-height: 1.2857142857;
  letter-spacing: 0.05em;
}
.index .pa_mv_txt {
  font-size: clamp(1.0625rem, 0.725rem + 1.125vw, 1.625rem);
  letter-spacing: 0.1em;
}
.index .pa_news {
  position: relative;
  padding-top: 20px;
  padding-bottom: 24px;
}
.index .pa_news_inner {
  display: flex;
  align-items: center;
}
.index .pa_news_ttl {
  font-size: clamp(1.25rem, 0.875rem + 1.25vw, 1.875rem);
  color: #021C85;
  width: 18.203%;
  margin-right: 6.25%;
}
@media screen and (max-width: 1280px) {
  .index .pa_news_ttl {
    line-height: 1;
  }
}
.index .pa_news_body {
  position: relative;
  width: 75.547%;
  padding-left: 6.25%;
}
.index .pa_news_body:before {
  content: "";
  position: absolute;
  top: -8px;
  left: 0;
  width: 1px;
  height: 80px;
  background-color: #ccc;
}
.index .pa_news_article {
  display: flex;
  align-items: center;
  gap: 2.666em;
}
@media screen and (max-width: 896px) {
  .index .pa_news_article {
    align-items: flex-start;
    flex-direction: column;
    gap: 0;
  }
}
.index .pa_news_link {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  line-height: 1.25;
}
.index .pa_news_txt {
  text-decoration: underline;
}
.index .pa_news_arrow {
  font-size: clamp(1.25rem, 0.875rem + 1.25vw, 1.875rem);
  color: #021C85;
  text-decoration: none;
}
.index .pa_company {
  position: relative;
  background-color: #F5F5F5;
}
.index .pa_company_inner {
  position: relative;
  padding-top: 120px;
}
@media (max-width: 896px) {
  .index .pa_company_inner {
    padding-top: calc(120px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .index .pa_company_inner {
    padding-top: calc(120px * 0.5);
  }
}
.index .pa_company_inner {
  padding-bottom: 100px;
}
@media (max-width: 896px) {
  .index .pa_company_inner {
    padding-bottom: calc(100px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .index .pa_company_inner {
    padding-bottom: calc(100px * 0.5);
  }
}
.index .pa_company_media {
  display: flex;
  flex-direction: row-reverse;
  flex-wrap: wrap;
  align-items: center;
}
.index .pa_company_img {
  width: 50%;
}
.index .pa_company_img > img {
  width: 100%;
}
@media screen and (max-width: 896px) {
  .index .pa_company_img {
    width: 80%;
  }
}
.index .pa_company_body {
  width: 31.25%;
  margin-right: min(6.25vw, 80px);
}
@media (max-width: 1340px) {
  .index .pa_company_body {
    width: 40%;
    margin-right: 2%;
    margin-left: 2%;
  }
}
@media screen and (max-width: 896px) {
  .index .pa_company_body {
    width: 100%;
  }
}
.index .pa_company_txt {
  margin-top: 2em;
}
.index .pa_company_btn {
  margin-top: 4em;
}
.index .pa_technology {
  position: relative;
  background: url(../images/index/img_technology_bg@2x.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
.index .pa_technology_inner {
  position: relative;
  color: #fff;
  padding-top: 70px;
}
@media (max-width: 896px) {
  .index .pa_technology_inner {
    padding-top: calc(70px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .index .pa_technology_inner {
    padding-top: calc(70px * 0.5);
  }
}
.index .pa_technology_inner {
  padding-bottom: 120px;
}
@media (max-width: 896px) {
  .index .pa_technology_inner {
    padding-bottom: calc(120px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .index .pa_technology_inner {
    padding-bottom: calc(120px * 0.5);
  }
}
.index .pa_technology_ttl {
  text-align: center;
}
.index .pa_technology_subttl {
  text-align: center;
}
.index .pa_technology_txt {
  text-align: center;
  margin-top: 2em;
}
.index .pa_technology_btn {
  text-align: center;
  margin-top: 90px;
}
@media (max-width: 896px) {
  .index .pa_technology_btn {
    margin-top: calc(90px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .index .pa_technology_btn {
    margin-top: calc(90px * 0.5);
  }
}
.index .pa_stance {
  position: relative;
}
.index .pa_stance_inner {
  position: relative;
  padding-top: 120px;
}
@media (max-width: 896px) {
  .index .pa_stance_inner {
    padding-top: calc(120px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .index .pa_stance_inner {
    padding-top: calc(120px * 0.5);
  }
}
.index .pa_stance_inner {
  padding-bottom: 100px;
}
@media (max-width: 896px) {
  .index .pa_stance_inner {
    padding-bottom: calc(100px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .index .pa_stance_inner {
    padding-bottom: calc(100px * 0.5);
  }
}
.index .pa_stance_media {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.index .pa_stance_img {
  width: 50%;
}
.index .pa_stance_img > img {
  width: 100%;
}
@media screen and (max-width: 896px) {
  .index .pa_stance_img {
    width: 80%;
  }
}
.index .pa_stance_body {
  width: 31.25%;
  margin-left: min(6.25vw, 80px);
}
@media screen and (max-width: 1280px) {
  .index .pa_stance_body {
    width: 40%;
    margin-right: 2%;
    margin-left: 2%;
  }
}
@media screen and (max-width: 896px) {
  .index .pa_stance_body {
    width: 100%;
  }
}
.index .pa_stance_txt {
  margin-top: 2em;
}
.index .pa_stance_btn {
  margin-top: 4em;
}
.index .pa_recruit {
  position: relative;
  background-image: url(../images/index/img_recruit_bg@2x.jpg);
  background-repeat: no-repeat;
  background-position: calc(50% + 2vw) center;
  background-size: cover;
  margin-bottom: 90px;
}
@media (max-width: 896px) {
  .index .pa_recruit {
    margin-bottom: calc(90px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .index .pa_recruit {
    margin-bottom: calc(90px * 0.5);
  }
}
.index .pa_recruit_inner {
  position: relative;
  color: #fff;
  padding-top: 100px;
}
@media (max-width: 896px) {
  .index .pa_recruit_inner {
    padding-top: calc(100px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .index .pa_recruit_inner {
    padding-top: calc(100px * 0.5);
  }
}
.index .pa_recruit_inner {
  padding-bottom: 105px;
}
@media (max-width: 896px) {
  .index .pa_recruit_inner {
    padding-bottom: calc(105px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .index .pa_recruit_inner {
    padding-bottom: calc(105px * 0.5);
  }
}
.index .pa_recruit_ttl {
  text-align: center;
}
.index .pa_recruit_subttl {
  text-align: center;
}
.index .pa_recruit_txt {
  text-align: center;
  margin-top: 2em;
}
.index .pa_recruit_btn {
  text-align: center;
  margin-top: 88px;
}
@media (max-width: 896px) {
  .index .pa_recruit_btn {
    margin-top: calc(88px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .index .pa_recruit_btn {
    margin-top: calc(88px * 0.5);
  }
}

/*
 * Base Group
 */
/*
 * Base Group
 */
/*
 * Base Group
 */
.company .pa_outline {
  position: relative;
}
.company .pa_outline_inner {
  position: relative;
  position: relative;
  max-width: 1280px;
  margin: 0 auto;
}
@media screen and (max-width: 1280px) {
  .company .pa_outline_inner {
    padding-right: 4%;
    padding-left: 4%;
  }
}
.company .pa_outline_inner {
  padding-top: 110px;
}
@media (max-width: 896px) {
  .company .pa_outline_inner {
    padding-top: calc(110px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .company .pa_outline_inner {
    padding-top: calc(110px * 0.5);
  }
}
.company .pa_outline_inner {
  padding-bottom: 83px;
}
@media (max-width: 896px) {
  .company .pa_outline_inner {
    padding-bottom: calc(83px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .company .pa_outline_inner {
    padding-bottom: calc(83px * 0.5);
  }
}
.company .pa_outline_imgs {
  display: flex;
  align-items: center;
  gap: 2.666em;
  margin-top: 20px;
}
@media screen and (max-width: 896px) {
  .company .pa_outline_imgs {
    gap: 1em;
  }
}
.company .pa_outline_img > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.company .pa_outline_dl {
  position: relative;
  width: 100%;
  margin-top: 60px;
}
@media (max-width: 896px) {
  .company .pa_outline_dl {
    margin-top: calc(60px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .company .pa_outline_dl {
    margin-top: calc(60px * 0.5);
  }
}
.company .pa_outline_wrapper {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  border-bottom: 1px solid #ccc;
  padding: 1em;
}
.company .pa_outline_wrapper:nth-of-type(1) {
  border-top: 1px solid #ccc;
}
.company .pa_outline_wrapper.__address {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 896px) {
  .company .pa_outline_wrapper.__address .pa_outline_dt {
    width: 100%;
  }
}
.company .pa_outline_wrapper.__address .pa_outline_dd {
  width: calc((85% - 4em) / 3);
}
.company .pa_outline_wrapper.__address .pa_outline_dd > a {
  text-decoration: underline;
}
@media screen and (max-width: 479px) {
  .company .pa_outline_wrapper.__address .pa_outline_dd > a {
    display: block;
  }
}
.company .pa_outline_wrapper.__address .pa_outline_dd > a:link, .company .pa_outline_wrapper.__address .pa_outline_dd > a:visited {
  color: #6079D9;
}
@media screen and (max-width: 1280px) {
  .company .pa_outline_wrapper.__address .pa_outline_dd {
    padding-right: 2%;
  }
}
@media screen and (max-width: 896px) {
  .company .pa_outline_wrapper.__address .pa_outline_dd {
    width: calc((100% - 1em) / 2);
  }
}
@media screen and (max-width: 896px) {
  .company .pa_outline_wrapper.__address {
    gap: 1em;
  }
}
.company .pa_outline_dt {
  font-weight: 700;
  width: 15%;
  padding-right: 1em;
}
@media screen and (max-width: 479px) {
  .company .pa_outline_dt {
    width: 100%;
  }
}
.company .pa_outline_dd {
  width: 85%;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 479px) {
  .company .pa_outline_dd {
    width: 100%;
  }
}
.company .pa_history {
  position: relative;
  background: url(../images/company/history_bg@2x.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
.company .pa_history_inner {
  position: relative;
  color: #fff;
  position: relative;
  max-width: 800px;
  margin: 0 auto;
}
@media screen and (max-width: 896px) {
  .company .pa_history_inner {
    padding-right: 4%;
    padding-left: 4%;
  }
}
.company .pa_history_inner {
  padding-top: 70px;
}
@media (max-width: 896px) {
  .company .pa_history_inner {
    padding-top: calc(70px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .company .pa_history_inner {
    padding-top: calc(70px * 0.5);
  }
}
.company .pa_history_inner {
  padding-bottom: 120px;
}
@media (max-width: 896px) {
  .company .pa_history_inner {
    padding-bottom: calc(120px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .company .pa_history_inner {
    padding-bottom: calc(120px * 0.5);
  }
}
.company .pa_history_ttl {
  text-align: center;
}
.company .pa_history_list {
  margin-top: 30px;
}
.company .pa_history_item {
  display: flex;
  align-items: center;
  gap: 1.625em;
  margin-top: 10px;
}
@media screen and (max-width: 479px) {
  .company .pa_history_item {
    gap: 1.625em 1em;
  }
}
.company .pa_history_dt {
  font-size: clamp(0.8125rem, 0.7rem + 0.375vw, 1rem);
  max-width: 220px;
  width: 100%;
  border: 1px solid #fff;
  border-radius: 25px;
  text-align: center;
  line-height: 1;
  padding: 1em;
}
@media screen and (max-width: 896px) {
  .company .pa_history_dt {
    max-width: 160px;
  }
}
@media screen and (max-width: 479px) {
  .company .pa_history_dt {
    max-width: 120px;
  }
}
.company .pa_history_dd {
  font-size: clamp(0.8125rem, 0.7rem + 0.375vw, 1rem);
}
.company .pa_message {
  position: relative;
  margin-top: 120px;
}
@media (max-width: 896px) {
  .company .pa_message {
    margin-top: calc(120px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .company .pa_message {
    margin-top: calc(120px * 0.5);
  }
}
.company .pa_message {
  margin-bottom: 140px;
}
@media (max-width: 896px) {
  .company .pa_message {
    margin-bottom: calc(140px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .company .pa_message {
    margin-bottom: calc(140px * 0.5);
  }
}
.company .pa_message_inner {
  display: flow-root;
}
.company .pa_message_img {
  float: right;
  max-width: 400px;
  width: 100%;
  margin: 0 0 20px 40px;
}
.company .pa_message_body {
  position: relative;
}
.company .pa_message_body .__clear-both {
  clear: both;
}
.company .pa_message_subttl {
  font-size: clamp(1rem, 0.7rem + 1vw, 1.5rem);
  font-weight: 700;
  line-height: 1.4583333333;
  margin-top: 2.083em;
}
.company .pa_message_subttl:nth-of-type(1) {
  margin-top: 1.25em;
}
.company .pa_message_txt {
  margin-top: 1.333em;
}
.company .pa_message_name {
  text-align: right;
  margin-top: 45px;
}
.company .pa_message_btns {
  display: flex;
  gap: 2.666em;
  margin-top: 120px;
}
@media (max-width: 896px) {
  .company .pa_message_btns {
    margin-top: calc(120px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .company .pa_message_btns {
    margin-top: calc(120px * 0.5);
  }
}
@media screen and (max-width: 896px) {
  .company .pa_message_btns {
    gap: 1.5em;
    flex-wrap: wrap;
  }
}

/*
 * Base Group
 */
/*
 * Base Group
 */
.spirits .pa_spirits {
  position: relative;
}
.spirits .pa_spirits_inner {
  position: relative;
  padding-top: 80px;
}
@media (max-width: 896px) {
  .spirits .pa_spirits_inner {
    padding-top: calc(80px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .spirits .pa_spirits_inner {
    padding-top: calc(80px * 0.5);
  }
}
.spirits .pa_spirits_inner {
  padding-bottom: 75px;
}
@media (max-width: 896px) {
  .spirits .pa_spirits_inner {
    padding-bottom: calc(75px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .spirits .pa_spirits_inner {
    padding-bottom: calc(75px * 0.5);
  }
}
@media screen and (max-width: 896px) {
  .spirits .pa_spirits_img {
    width: 80%;
  }
}
.spirits .pa_spirits_body {
  margin-right: min(6.25vw, 80px);
}
@media screen and (max-width: 1280px) {
  .spirits .pa_spirits_body {
    margin-right: 2%;
  }
}
.spirits .pa_spirits_txt {
  margin-top: 2em;
}
.spirits .pa_philosophy {
  position: relative;
}
.spirits .pa_philosophy_heading {
  background-color: #021C85;
  color: #fff;
}
.spirits .pa_philosophy_inner {
  position: relative;
  text-align: center;
  padding-top: 74px;
}
@media (max-width: 896px) {
  .spirits .pa_philosophy_inner {
    padding-top: calc(74px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .spirits .pa_philosophy_inner {
    padding-top: calc(74px * 0.5);
  }
}
.spirits .pa_philosophy_inner {
  padding-bottom: 92px;
}
@media (max-width: 896px) {
  .spirits .pa_philosophy_inner {
    padding-bottom: calc(92px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .spirits .pa_philosophy_inner {
    padding-bottom: calc(92px * 0.5);
  }
}
.spirits .pa_philosophy_txt {
  margin-top: 2em;
}
@media screen and (max-width: 479px) {
  .spirits .pa_philosophy_txt {
    text-align: left;
  }
}
.spirits .pa_philosophy_main {
  position: relative;
  background-image: url(../images/spirits/philosophy_bg@2x.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
.spirits .pa_philosophy_media {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 896px) {
  .spirits .pa_philosophy_media {
    justify-content: center;
  }
}
.spirits .pa_philosophy_imgs {
  position: relative;
  width: 50%;
  height: min(53.203125vw, 681px);
}
.spirits .pa_philosophy_img {
  position: absolute;
}
.spirits .pa_philosophy_img:nth-of-type(1) {
  width: min(45.703125vw, 585px);
  top: 0;
  left: min(4.21875vw, 54px);
}
.spirits .pa_philosophy_img:nth-of-type(2) {
  width: min(25.859375vw, 331px);
  top: min(35.9375vw, 460px);
  left: min(22.1875vw, 284px);
}
.spirits .pa_philosophy_img:nth-of-type(3) {
  width: min(19.0625vw, 244px);
  top: min(32.8125vw, 420px);
  left: 0;
}
.spirits .pa_philosophy_body {
  text-align: left;
  color: #fff;
  width: 44%;
}
@media screen and (max-width: 896px) {
  .spirits .pa_philosophy_body {
    width: 100%;
  }
}

/*
 * Base Group
 */
/*
 * Base Group
 */
/*
 * Base Group
 */
/*
 * Base Group
 */
/*
 * Base Group
 */
/*
 * Base Group
 */
/*
 * Base Group
 */
/*
 * Base Group
 */
/*
 * Base Group
 */
/*
 * Base Group
 */
/*
 * Base Group
 */
.technology .pa_overview {
  position: relative;
}
.technology .pa_overview_inner {
  position: relative;
  padding-top: 80px;
}
@media (max-width: 896px) {
  .technology .pa_overview_inner {
    padding-top: calc(80px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .technology .pa_overview_inner {
    padding-top: calc(80px * 0.5);
  }
}
.technology .pa_overview_inner {
  padding-bottom: 75px;
}
@media (max-width: 896px) {
  .technology .pa_overview_inner {
    padding-bottom: calc(75px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .technology .pa_overview_inner {
    padding-bottom: calc(75px * 0.5);
  }
}
.technology .pa_overview_media {
  padding-right: 3.75%;
}
@media screen and (max-width: 896px) {
  .technology .pa_overview_img {
    width: 80%;
  }
}
@media screen and (max-width: 479px) {
  .technology .pa_overview_img {
    width: 100%;
  }
}
.technology .pa_overview_ttl {
  font-size: clamp(2.25rem, 1.725rem + 1.75vw, 3.125rem);
  font-weight: 700;
  line-height: 1.44;
}
.technology .pa_overview_txt {
  margin-top: 2em;
}
.technology .pa_tech {
  position: relative;
}
.technology .pa_tech_heading {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  padding-top: 290px;
  padding-bottom: 60px;
}
@media screen and (max-width: 479px) {
  .technology .pa_tech_heading {
    padding-top: 180px;
  }
}
.technology .pa_tech_main_ttl {
  display: flex;
  align-items: center;
  min-height: 70px;
  position: sticky;
  top: 80px;
  font-size: clamp(1.25rem, 0.875rem + 1.25vw, 1.875rem);
  line-height: 1.4666666667;
  border-left: 6px solid #6079D9;
  padding-left: 1.133em;
  width: 40%;
}
.technology .pa_tech_main_ttl > h2 {
  font-weight: 700;
}
@media screen and (max-width: 479px) {
  .technology .pa_tech_main_ttl > h2 {
    writing-mode: vertical-lr;
  }
}
.technology .pa_tech_main_body {
  width: 57%;
}
@media screen and (max-width: 479px) {
  .technology .pa_tech_main_body {
    width: 100%;
  }
}
.technology .pa_tech_main_subttl {
  font-size: clamp(1.25rem, 0.875rem + 1.25vw, 1.875rem);
  font-weight: 700;
  line-height: 1.4666666667;
  letter-spacing: 0.1em;
}
.technology .pa_tech_gallery {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.technology .pa_tech_gallery.__col3 {
  gap: 1.733em;
}
.technology .pa_tech_gallery.__col3 > img {
  width: calc((100% - 3.466em) / 3);
}
@media screen and (max-width: 479px) {
  .technology .pa_tech_gallery.__col3 {
    gap: 1em;
  }
  .technology .pa_tech_gallery.__col3 > img {
    width: calc((100% - 1em) / 2);
  }
}
.technology .pa_tech_gallery.__col4 {
  gap: 1.333em;
}
.technology .pa_tech_gallery.__col4 > img {
  width: calc((100% - 4em) / 4);
}
@media screen and (max-width: 479px) {
  .technology .pa_tech_gallery.__col4 {
    gap: 1em;
  }
  .technology .pa_tech_gallery.__col4 > img {
    width: calc((100% - 1em) / 2);
  }
}
@media screen and (max-width: 479px) {
  .technology .pa_tech_gallery {
    justify-content: flex-start;
  }
}
.technology .pa_cutting {
  position: relative;
}
.technology .pa_cutting_heading {
  background-image: url(../images/technology/bg_cutting@2x.jpg);
}
.technology .pa_cutting_main {
  background: #06113E;
  padding-top: 90px;
}
@media (max-width: 896px) {
  .technology .pa_cutting_main {
    padding-top: calc(90px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .technology .pa_cutting_main {
    padding-top: calc(90px * 0.5);
  }
}
.technology .pa_cutting_main {
  padding-bottom: 145px;
}
@media (max-width: 896px) {
  .technology .pa_cutting_main {
    padding-bottom: calc(145px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .technology .pa_cutting_main {
    padding-bottom: calc(145px * 0.5);
  }
}
.technology .pa_cutting_main_ttl {
  color: #fff;
}
.technology .pa_cutting_inner {
  display: flex;
  align-items: flex-start;
  padding-bottom: 108px;
}
@media (max-width: 896px) {
  .technology .pa_cutting_inner {
    padding-bottom: calc(108px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .technology .pa_cutting_inner {
    padding-bottom: calc(108px * 0.5);
  }
}
.technology .pa_cutting_main_body {
  color: #fff;
  padding-top: 1em;
}
.technology .pa_cutting_main_txt {
  margin-top: 2em;
}
.technology .pa_cutting_imgs {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-top: 40px;
}
.technology .pa_grading {
  position: relative;
}
.technology .pa_grading_heading {
  background-image: url(../images/technology/bg_grading@2x.jpg);
}
.technology .pa_grading_main {
  padding-top: 90px;
}
@media (max-width: 896px) {
  .technology .pa_grading_main {
    padding-top: calc(90px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .technology .pa_grading_main {
    padding-top: calc(90px * 0.5);
  }
}
.technology .pa_grading_main {
  padding-bottom: 150px;
}
@media (max-width: 896px) {
  .technology .pa_grading_main {
    padding-bottom: calc(150px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .technology .pa_grading_main {
    padding-bottom: calc(150px * 0.5);
  }
}
.technology .pa_grading_inner {
  display: flex;
  align-items: flex-start;
  padding-bottom: 90px;
}
@media (max-width: 896px) {
  .technology .pa_grading_inner {
    padding-bottom: calc(90px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .technology .pa_grading_inner {
    padding-bottom: calc(90px * 0.5);
  }
}
.technology .pa_grading_main_body {
  padding-top: 1em;
}
.technology .pa_grading_main_txt {
  margin-top: 2em;
}
.technology .pa_coating {
  position: relative;
}
.technology .pa_coating_heading {
  background-image: url(../images/technology/bg_coating@2x.jpg);
}
.technology .pa_coating_main {
  padding-bottom: 108px;
}
@media (max-width: 896px) {
  .technology .pa_coating_main {
    padding-bottom: calc(108px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .technology .pa_coating_main {
    padding-bottom: calc(108px * 0.5);
  }
}
.technology .pa_coating_main.__first {
  padding-top: 90px;
}
@media (max-width: 896px) {
  .technology .pa_coating_main.__first {
    padding-top: calc(90px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .technology .pa_coating_main.__first {
    padding-top: calc(90px * 0.5);
  }
}
.technology .pa_coating_main.__last {
  padding-bottom: 150px;
}
@media (max-width: 896px) {
  .technology .pa_coating_main.__last {
    padding-bottom: calc(150px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .technology .pa_coating_main.__last {
    padding-bottom: calc(150px * 0.5);
  }
}
.technology .pa_coating_inner {
  display: flex;
  align-items: flex-start;
}
.technology .pa_coating_main_body {
  padding-top: 1em;
}
.technology .pa_coating_main_txt {
  margin-top: 2em;
}
.technology .pa_others {
  position: relative;
}
.technology .pa_others_heading {
  background-image: url(../images/technology/bg_others@2x.jpg);
}
.technology .pa_others_main {
  padding-bottom: 108px;
}
@media (max-width: 896px) {
  .technology .pa_others_main {
    padding-bottom: calc(108px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .technology .pa_others_main {
    padding-bottom: calc(108px * 0.5);
  }
}
.technology .pa_others_main.__first {
  padding-top: 90px;
}
@media (max-width: 896px) {
  .technology .pa_others_main.__first {
    padding-top: calc(90px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .technology .pa_others_main.__first {
    padding-top: calc(90px * 0.5);
  }
}
.technology .pa_others_main.__last {
  padding-bottom: 150px;
}
@media (max-width: 896px) {
  .technology .pa_others_main.__last {
    padding-bottom: calc(150px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .technology .pa_others_main.__last {
    padding-bottom: calc(150px * 0.5);
  }
}
.technology .pa_others_inner {
  display: flex;
  align-items: flex-start;
}
.technology .pa_others_main_body {
  padding-top: 1em;
}
.technology .pa_others_main_txt {
  margin-top: 2em;
}
.technology .pa_bdb {
  position: relative;
}
.technology .pa_bdb_heading {
  background-image: url(../images/technology/bg_bdb@2x.jpg);
}
.technology .pa_bdb_main {
  padding-bottom: 108px;
}
@media (max-width: 896px) {
  .technology .pa_bdb_main {
    padding-bottom: calc(108px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .technology .pa_bdb_main {
    padding-bottom: calc(108px * 0.5);
  }
}
.technology .pa_bdb_main.__first {
  padding-top: 90px;
}
@media (max-width: 896px) {
  .technology .pa_bdb_main.__first {
    padding-top: calc(90px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .technology .pa_bdb_main.__first {
    padding-top: calc(90px * 0.5);
  }
}
.technology .pa_bdb_main.__last {
  padding-bottom: 150px;
}
@media (max-width: 896px) {
  .technology .pa_bdb_main.__last {
    padding-bottom: calc(150px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .technology .pa_bdb_main.__last {
    padding-bottom: calc(150px * 0.5);
  }
}
.technology .pa_bdb_inner {
  display: flex;
  align-items: flex-start;
  padding-bottom: 90px;
}
@media (max-width: 896px) {
  .technology .pa_bdb_inner {
    padding-bottom: calc(90px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .technology .pa_bdb_inner {
    padding-bottom: calc(90px * 0.5);
  }
}
.technology .pa_bdb_main_body {
  padding-top: 1em;
}
.technology .pa_bdb_main_txt {
  margin-top: 2em;
}
.technology .pa_machining {
  position: relative;
}
.technology .pa_machining_heading {
  background-image: url(../images/technology/bg_machining@2x.jpg);
}
.technology .pa_machining_main {
  padding-bottom: 108px;
}
@media (max-width: 896px) {
  .technology .pa_machining_main {
    padding-bottom: calc(108px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .technology .pa_machining_main {
    padding-bottom: calc(108px * 0.5);
  }
}
.technology .pa_machining_main.__first {
  padding-top: 90px;
}
@media (max-width: 896px) {
  .technology .pa_machining_main.__first {
    padding-top: calc(90px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .technology .pa_machining_main.__first {
    padding-top: calc(90px * 0.5);
  }
}
.technology .pa_machining_main.__last {
  padding-bottom: 150px;
}
@media (max-width: 896px) {
  .technology .pa_machining_main.__last {
    padding-bottom: calc(150px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .technology .pa_machining_main.__last {
    padding-bottom: calc(150px * 0.5);
  }
}
.technology .pa_machining_inner {
  display: flex;
  align-items: flex-start;
}
.technology .pa_machining_main_body {
  padding-top: 1em;
}
.technology .pa_machining_main_txt {
  margin-top: 2em;
}
.technology .pa_saidan {
  position: relative;
}
.technology .pa_saidan_heading {
  background-image: url(../images/technology/bg_saidan@2x.jpg);
}
.technology .pa_saidan_main {
  padding-bottom: 108px;
}
@media (max-width: 896px) {
  .technology .pa_saidan_main {
    padding-bottom: calc(108px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .technology .pa_saidan_main {
    padding-bottom: calc(108px * 0.5);
  }
}
.technology .pa_saidan_main.__first {
  padding-top: 90px;
}
@media (max-width: 896px) {
  .technology .pa_saidan_main.__first {
    padding-top: calc(90px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .technology .pa_saidan_main.__first {
    padding-top: calc(90px * 0.5);
  }
}
.technology .pa_saidan_main.__last {
  padding-bottom: 150px;
}
@media (max-width: 896px) {
  .technology .pa_saidan_main.__last {
    padding-bottom: calc(150px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .technology .pa_saidan_main.__last {
    padding-bottom: calc(150px * 0.5);
  }
}
.technology .pa_saidan_inner {
  display: flex;
  align-items: flex-start;
  padding-bottom: 90px;
}
@media (max-width: 896px) {
  .technology .pa_saidan_inner {
    padding-bottom: calc(90px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .technology .pa_saidan_inner {
    padding-bottom: calc(90px * 0.5);
  }
}
.technology .pa_saidan_main_body {
  padding-top: 1em;
}
.technology .pa_saidan_main_txt {
  margin-top: 2em;
}
.technology .pa_equipments {
  position: relative;
}
.technology .pa_equipments_heading {
  background-image: url(../images/technology/bg_equipments@2x.jpg);
}
.technology .pa_equipments_main {
  background-color: #06113E;
  padding-top: 100px;
}
@media (max-width: 896px) {
  .technology .pa_equipments_main {
    padding-top: calc(100px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .technology .pa_equipments_main {
    padding-top: calc(100px * 0.5);
  }
}
.technology .pa_equipments_main {
  padding-bottom: 110px;
}
@media (max-width: 896px) {
  .technology .pa_equipments_main {
    padding-bottom: calc(110px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .technology .pa_equipments_main {
    padding-bottom: calc(110px * 0.5);
  }
}
.technology .pa_equipments_inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 4em 2.666em;
}
@media screen and (max-width: 479px) {
  .technology .pa_equipments_inner {
    gap: 2em 1em;
  }
}
.technology .pa_equipments_item {
  width: calc((100% - 2.666em) / 2);
}
@media screen and (max-width: 479px) {
  .technology .pa_equipments_item {
    width: calc((100% - 1em) / 2);
  }
}
.technology .pa_equipments_img {
  display: block;
  aspect-ratio: 640/400;
  object-fit: cover;
}
.technology .pa_equipments_txt {
  color: #fff;
  margin-top: 1em;
}
.technology .pa_gallery {
  position: relative;
}
.technology .pa_gallery_heading {
  background-image: url(../images/technology/bg_gallery@2x.jpg);
}
.technology .pa_gallery_main {
  padding-top: 120px;
}
@media (max-width: 896px) {
  .technology .pa_gallery_main {
    padding-top: calc(120px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .technology .pa_gallery_main {
    padding-top: calc(120px * 0.5);
  }
}
.technology .pa_gallery_main {
  padding-bottom: 145px;
}
@media (max-width: 896px) {
  .technology .pa_gallery_main {
    padding-bottom: calc(145px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .technology .pa_gallery_main {
    padding-bottom: calc(145px * 0.5);
  }
}

/*
 * Base Group
 */
/*
 * Base Group
 */
/*
 * Base Group
 */
/*
 * Base Group
 */
/*
 * Base Group
 */
/*
 * Base Group
 */
.recruit .pa_overview {
  position: relative;
}
.recruit .pa_overview_inner {
  position: relative;
  text-align: center;
  padding-top: 113px;
}
@media (max-width: 896px) {
  .recruit .pa_overview_inner {
    padding-top: calc(113px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .recruit .pa_overview_inner {
    padding-top: calc(113px * 0.5);
  }
}
.recruit .pa_overview_inner {
  padding-bottom: 110px;
}
@media (max-width: 896px) {
  .recruit .pa_overview_inner {
    padding-bottom: calc(110px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .recruit .pa_overview_inner {
    padding-bottom: calc(110px * 0.5);
  }
}
@media screen and (max-width: 479px) {
  .recruit .pa_overview_inner {
    text-align: left;
  }
}
.recruit .pa_overview_ttl {
  font-size: clamp(2.25rem, 1.725rem + 1.75vw, 3.125rem);
  font-weight: 700;
  line-height: 1.44;
}
.recruit .pa_overview_txt {
  font-size: clamp(0.875rem, 0.7625rem + 0.375vw, 1.0625rem);
  line-height: 2.1176470588;
  margin-top: 2.5em;
}
.recruit .pa_overview_imgs {
  display: flex;
}
.recruit .pa_overview_imgs > img {
  width: 50%;
}
.recruit .pa_wwd {
  position: relative;
}
.recruit .pa_wwd_inner {
  position: relative;
  padding-top: 95px;
}
@media (max-width: 896px) {
  .recruit .pa_wwd_inner {
    padding-top: calc(95px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .recruit .pa_wwd_inner {
    padding-top: calc(95px * 0.5);
  }
}
.recruit .pa_wwd_inner {
  padding-bottom: 83px;
}
@media (max-width: 896px) {
  .recruit .pa_wwd_inner {
    padding-bottom: calc(83px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .recruit .pa_wwd_inner {
    padding-bottom: calc(83px * 0.5);
  }
}
.recruit .pa_wwd_ttl {
  text-align: center;
}
.recruit .pa_wwd_media {
  padding-right: 3.75%;
  margin-top: 46px;
}
@media screen and (max-width: 896px) {
  .recruit .pa_wwd_img {
    width: 80%;
  }
}
@media screen and (max-width: 479px) {
  .recruit .pa_wwd_img {
    width: 100%;
  }
}
.recruit .pa_wwd_subttl {
  font-size: clamp(2.25rem, 1.725rem + 1.75vw, 3.125rem);
  font-weight: 700;
  line-height: 1.44;
}
.recruit .pa_wwd_txt {
  margin-top: 2em;
}
.recruit .pa_genba {
  position: relative;
  background-image: url(../images/recruit/bg_genba@2x.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
.recruit .pa_genba_inner {
  position: relative;
  text-align: center;
  padding-top: 264px;
}
@media (max-width: 896px) {
  .recruit .pa_genba_inner {
    padding-top: calc(264px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .recruit .pa_genba_inner {
    padding-top: calc(264px * 0.5);
  }
}
.recruit .pa_genba_inner {
  padding-bottom: 264px;
}
@media (max-width: 896px) {
  .recruit .pa_genba_inner {
    padding-bottom: calc(264px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .recruit .pa_genba_inner {
    padding-bottom: calc(264px * 0.5);
  }
}
.recruit .pa_genba_ttl {
  text-align: center;
}
.recruit .pa_genba_ttl .__en {
  font-family: "Zen Kaku Gothic New", "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-size: clamp(2.25rem, 1.725rem + 1.75vw, 3.125rem);
  font-weight: 700;
  line-height: 1.44;
  display: block;
  margin-top: 1em;
}
@media screen and (max-width: 479px) {
  .recruit .pa_genba_ttl {
    text-align: left;
  }
}
.recruit .pa_genba_txt {
  text-align: center;
  color: #fff;
  margin-top: 2em;
}
.recruit .pa_genba_txt:nth-of-type(1) {
  margin-top: 3.2em;
}
@media screen and (max-width: 479px) {
  .recruit .pa_genba_txt {
    text-align: left;
  }
}
.recruit .pa_wfh {
  position: relative;
}
.recruit .pa_wfh:before, .recruit .pa_wfh:after {
  background-repeat: no-repeat;
  background-size: cover;
  width: min(34.609375vw, 443px);
  height: 100%;
  position: absolute;
  top: 0;
  content: "";
}
.recruit .pa_wfh:before {
  background-image: url(../images/recruit/bg_wfh_left@2x.jpg);
  background-position: right;
  left: 0;
}
.recruit .pa_wfh:after {
  background-image: url(../images/recruit/bg_wfh_right@2x.jpg);
  background-position: left;
  right: 0;
}
.recruit .pa_wfh_inner {
  position: relative;
  text-align: center;
  z-index: 10;
  padding-top: 108px;
}
@media (max-width: 896px) {
  .recruit .pa_wfh_inner {
    padding-top: calc(108px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .recruit .pa_wfh_inner {
    padding-top: calc(108px * 0.5);
  }
}
.recruit .pa_wfh_inner {
  padding-bottom: 140px;
}
@media (max-width: 896px) {
  .recruit .pa_wfh_inner {
    padding-bottom: calc(140px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .recruit .pa_wfh_inner {
    padding-bottom: calc(140px * 0.5);
  }
}
.recruit .pa_wfh_ttl {
  text-align: center;
}
.recruit .pa_wfh_subttl {
  font-size: clamp(2.25rem, 1.725rem + 1.75vw, 3.125rem);
  font-weight: 700;
  line-height: 1.44;
  margin-top: 1em;
}
.recruit .pa_wfh_list {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 7px;
  max-width: 600px;
  margin: 3.2em auto 0 auto;
}
.recruit .pa_wfh_item {
  font-size: clamp(0.875rem, 0.725rem + 0.5vw, 1.125rem);
  font-weight: 500;
  padding: 17px 1em;
  background-color: #000;
  color: #fff;
}
.recruit .pa_wfh_supp {
  display: block;
  font-size: clamp(0.8125rem, 0.7375rem + 0.25vw, 0.9375rem);
  margin-top: 2em;
}
.recruit .pa_requirements {
  position: relative;
  background-color: #021C85;
}
.recruit .pa_requirements_inner {
  position: relative;
  padding-top: 87px;
}
@media (max-width: 896px) {
  .recruit .pa_requirements_inner {
    padding-top: calc(87px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .recruit .pa_requirements_inner {
    padding-top: calc(87px * 0.5);
  }
}
.recruit .pa_requirements_inner {
  padding-bottom: 139px;
}
@media (max-width: 896px) {
  .recruit .pa_requirements_inner {
    padding-bottom: calc(139px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .recruit .pa_requirements_inner {
    padding-bottom: calc(139px * 0.5);
  }
}
.recruit .pa_requirements_ttl {
  text-align: center;
}
.recruit .pa_requirements_main {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
}
.recruit .pa_requirements_main:nth-of-type(1) {
  margin-top: 34px;
}
.recruit .pa_requirements_main:nth-of-type(2) {
  margin-top: 84px;
}
@media (max-width: 896px) {
  .recruit .pa_requirements_main:nth-of-type(2) {
    margin-top: calc(84px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .recruit .pa_requirements_main:nth-of-type(2) {
    margin-top: calc(84px * 0.5);
  }
}
.recruit .pa_requirements_subttl {
  font-size: clamp(1.25rem, 0.875rem + 1.25vw, 1.875rem);
  font-weight: 700;
  color: #fff;
}
.recruit .pa_requirements_dl {
  border: 1px solid #ccc;
  background-color: #fff;
  margin-top: 21px;
}
.recruit .pa_requirements_wrapper {
  display: flex;
  flex-wrap: wrap;
  border-top: 1px solid #ccc;
}
.recruit .pa_requirements_wrapper:nth-of-type(1) {
  border-top: none;
}
.recruit .pa_requirements_dt {
  width: 18.3%;
  font-size: clamp(0.8125rem, 0.7rem + 0.375vw, 1rem);
  font-weight: 700;
  letter-spacing: 0;
  padding: 1.875em;
  background-color: #F5F5F5;
  border-right: 1px solid #ccc;
}
@media screen and (max-width: 896px) {
  .recruit .pa_requirements_dt {
    width: 100%;
    border-right: none;
    padding: 0.8em 1.875em;
  }
}
.recruit .pa_requirements_dd {
  width: 81.7%;
  font-size: clamp(0.8125rem, 0.7rem + 0.375vw, 1rem);
  letter-spacing: 0;
  padding: 1.875em;
}
@media screen and (max-width: 896px) {
  .recruit .pa_requirements_dd {
    width: 100%;
    padding: 0.8em 1.875em;
  }
}
.recruit .pa_rec-contact {
  position: relative;
}
.recruit .pa_rec-contact_inner {
  position: relative;
  text-align: center;
  padding-top: 78px;
}
@media (max-width: 896px) {
  .recruit .pa_rec-contact_inner {
    padding-top: calc(78px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .recruit .pa_rec-contact_inner {
    padding-top: calc(78px * 0.5);
  }
}
@media screen and (max-width: 479px) {
  .recruit .pa_rec-contact_inner {
    text-align: left;
  }
}
.recruit .pa_rec-contact_ttl {
  font-size: clamp(1.25rem, 0.875rem + 1.25vw, 1.875rem);
  font-weight: 700;
}
.recruit .pa_rec-contact_txt {
  margin-top: 2em;
}
.recruit .pa_rec-contact_btn {
  margin-top: 4em;
  text-align: center;
}

/*
 * Base Group
 */
/*
 * Base Group
 */
/*
 * Base Group
 */
/*
 * Base Group
 */
.sdgs .pa_overview {
  position: relative;
}
.sdgs .pa_overview_inner {
  position: relative;
  text-align: center;
  padding-top: 113px;
}
@media (max-width: 896px) {
  .sdgs .pa_overview_inner {
    padding-top: calc(113px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .sdgs .pa_overview_inner {
    padding-top: calc(113px * 0.5);
  }
}
.sdgs .pa_overview_inner {
  padding-bottom: 110px;
}
@media (max-width: 896px) {
  .sdgs .pa_overview_inner {
    padding-bottom: calc(110px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .sdgs .pa_overview_inner {
    padding-bottom: calc(110px * 0.5);
  }
}
@media screen and (max-width: 479px) {
  .sdgs .pa_overview_inner {
    text-align: left;
  }
}
.sdgs .pa_overview_ttl {
  font-size: clamp(2.25rem, 1.725rem + 1.75vw, 3.125rem);
  font-weight: 700;
  line-height: 1.44;
}
.sdgs .pa_overview_txt {
  font-size: clamp(0.875rem, 0.7625rem + 0.375vw, 1.0625rem);
  line-height: 2.1176470588;
  margin-top: 2.5em;
}
.sdgs .pa_col_main {
  display: flex;
  align-items: flex-start;
}
.sdgs .pa_col_main_body {
  padding-top: 1em;
}
.sdgs .pa_col_main_ttl {
  display: flex;
  align-items: center;
  min-height: 70px;
  position: sticky;
  top: 80px;
  font-size: clamp(1.25rem, 0.875rem + 1.25vw, 1.875rem);
  line-height: 1.4666666667;
  border-left: 6px solid #6079D9;
  padding-left: 1.133em;
  width: 40%;
}
.sdgs .pa_col_main_ttl > h2 {
  font-weight: 700;
}
@media screen and (max-width: 479px) {
  .sdgs .pa_col_main_ttl > h2 {
    writing-mode: vertical-lr;
  }
}
.sdgs .pa_col_main_body {
  width: 57%;
}
.sdgs .pa_intro {
  position: relative;
}
.sdgs .pa_intro_inner {
  background-color: #021C85;
  padding-right: min(12.5%, 200px);
  padding-left: min(5.4375%, 87px);
  padding-top: 75px;
}
@media (max-width: 896px) {
  .sdgs .pa_intro_inner {
    padding-top: calc(75px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .sdgs .pa_intro_inner {
    padding-top: calc(75px * 0.5);
  }
}
.sdgs .pa_intro_inner {
  padding-bottom: 75px;
}
@media (max-width: 896px) {
  .sdgs .pa_intro_inner {
    padding-bottom: calc(75px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .sdgs .pa_intro_inner {
    padding-bottom: calc(75px * 0.5);
  }
}
.sdgs .pa_intro_main {
  flex-wrap: wrap;
}
.sdgs .pa_intro_main_body {
  padding-top: 0;
}
@media screen and (max-width: 896px) {
  .sdgs .pa_intro_main_body {
    padding-top: 1em;
    width: 100%;
  }
}
.sdgs .pa_intro_main_txt {
  color: #fff;
  margin-top: 0;
}
.sdgs .pa_intro_main_txt:nth-of-type(2) {
  margin-top: 2em;
}
.sdgs .pa_intro_ttl {
  display: flex;
  align-items: center;
  font-size: clamp(1.25rem, 0.875rem + 1.25vw, 1.875rem);
  line-height: 1.4666666667;
  border-left: none;
  width: 40%;
}
.sdgs .pa_intro_ttl > h2 {
  font-weight: 700;
  color: #fff;
}
@media screen and (max-width: 896px) {
  .sdgs .pa_intro_ttl {
    width: 100%;
  }
}
.sdgs .pa_details {
  position: relative;
}
.sdgs .pa_details_inner {
  position: relative;
  padding-top: 110px;
}
@media (max-width: 896px) {
  .sdgs .pa_details_inner {
    padding-top: calc(110px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .sdgs .pa_details_inner {
    padding-top: calc(110px * 0.5);
  }
}
.sdgs .pa_details_inner {
  padding-bottom: 175px;
}
@media (max-width: 896px) {
  .sdgs .pa_details_inner {
    padding-bottom: calc(175px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .sdgs .pa_details_inner {
    padding-bottom: calc(175px * 0.5);
  }
}
.sdgs .pa_details_main_body {
  padding-top: 0.5em;
}
@media screen and (max-width: 479px) {
  .sdgs .pa_details_main_body {
    width: 100%;
  }
}
.sdgs .pa_details_subttl {
  display: flex;
  align-items: center;
  font-size: clamp(1.25rem, 0.875rem + 1.25vw, 1.875rem);
  font-weight: 700;
  margin-top: 2.133em;
}
.sdgs .pa_details_subttl:nth-of-type(1) {
  margin-top: 0;
}
.sdgs .pa_details_icon {
  position: relative;
  line-height: 0;
  padding-right: 1em;
}
.sdgs .pa_details_icon:after {
  content: "";
  width: 1px;
  height: 100%;
  background-color: #333;
  position: absolute;
  top: 0;
  right: 0.5em;
}
.sdgs .pa_details_main_txt {
  margin-top: 2em;
}
.sdgs .pa_details_img {
  margin-top: 2.5em;
}
.sdgs .pa_details_img > img {
  display: block;
  aspect-ratio: 740/493;
  object-fit: cover;
}

/*
 * Base Group
 */
/*
 * Base Group
 */
.contact .pa_overview {
  position: relative;
}
.contact .pa_overview_inner {
  position: relative;
  text-align: center;
  padding-top: 110px;
}
@media (max-width: 896px) {
  .contact .pa_overview_inner {
    padding-top: calc(110px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .contact .pa_overview_inner {
    padding-top: calc(110px * 0.5);
  }
}
.contact .pa_overview_inner {
  padding-bottom: 40px;
}
@media (max-width: 896px) {
  .contact .pa_overview_inner {
    padding-bottom: calc(40px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .contact .pa_overview_inner {
    padding-bottom: calc(40px * 0.5);
  }
}
@media screen and (max-width: 479px) {
  .contact .pa_overview_inner {
    text-align: left;
  }
}
.contact .pa_overview_ttl {
  text-align: center;
}
.contact .pa_overview_subttl {
  font-size: clamp(1.25rem, 0.875rem + 1.25vw, 1.875rem);
  font-weight: 700;
  margin-top: 2em;
}
.contact .pa_overview_txt {
  margin-top: 2em;
}
.contact .pa_form {
  position: relative;
}
.contact .pa_form_inner {
  position: relative;
  max-width: 1000px;
}
.contact .pa_form_wrapper {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 1em 0.5em;
  border-top: 1px solid #ccc;
}
.contact .pa_form_wrapper input,
.contact .pa_form_wrapper textarea {
  width: 100%;
  background-color: #f5f5f5;
  border: 1px solid #f5f5f5;
  padding: 1em;
}
.contact .pa_form_wrapper.__last {
  border-bottom: 1px solid #ccc;
}
.contact .pa_form_wrapper .wpcf7-form-control-wrap {
  width: 80%;
}
.contact .pa_form_label {
  width: 20%;
}
.contact .pa_form_caution {
  font-size: clamp(0.625rem, 0.5125rem + 0.375vw, 0.8125rem);
  color: #F44336;
  margin-left: 0.5em;
}
@media screen and (max-width: 479px) {
  .contact .pa_form_caution {
    display: block;
  }
}
.contact .pa_form_btn {
  display: inline-block;
  position: relative;
  color: #fff;
  background-color: #021C85;
  max-width: 400px;
  width: 100%;
  text-align: center;
  padding: 11px 0.5rem;
  font-size: clamp(0.875rem, 0.725rem + 0.5vw, 1.125rem);
  font-weight: 500;
  text-decoration: none;
  border: 1px solid #021C85;
  overflow: hidden;
  margin: 40px auto 0 auto;
  cursor: pointer;
}
.contact .pa_form_btn:link, .contact .pa_form_btn:visited {
  color: #fff;
}

/*
 * Helper Group
 */
/*
 * Base Group
 */
.hp_sp {
  display: none;
}
@media screen and (max-width: 479px) {
  .hp_sp {
    display: block;
  }
}

.hp_sp-tab {
  display: none;
}
@media screen and (max-width: 896px) {
  .hp_sp-tab {
    display: block;
  }
}

.hp_sp-pc {
  display: none;
}
@media screen and (max-width: 1280px) {
  .hp_sp-pc {
    display: block;
  }
}

.hp_tab {
  display: none;
}
@media screen and (min-width: 481px) and (max-width: 896px) {
  .hp_tab {
    display: block;
  }
}

.hp_tab-pc {
  display: block;
}
@media screen and (max-width: 479px) {
  .hp_tab-pc {
    display: none;
  }
}

.hp_pc {
  display: none;
}
@media screen and (min-width: 897px) and (max-width: 1280px) {
  .hp_pc {
    display: block;
  }
}

.hp_base {
  position: relative;
  max-width: 1280px;
  margin: 0 auto;
}
@media screen and (max-width: 1280px) {
  .hp_base {
    padding-right: 4%;
    padding-left: 4%;
  }
}

.hp_fs2 {
  font-size: clamp(0.9375rem, 0.75rem + 0.625vw, 1.25rem);
}

.hp_tar {
  text-align: right;
}

.hp_tac {
  text-align: center;
}

.hp_tal {
  text-align: left;
}

.hp_fwB {
  font-weight: bold;
}

.hp_mt90 {
  margin-top: 90px;
}
@media (max-width: 896px) {
  .hp_mt90 {
    margin-top: calc(90px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .hp_mt90 {
    margin-top: calc(90px * 0.5);
  }
}

.hp_mt120 {
  margin-top: 120px;
}
@media (max-width: 896px) {
  .hp_mt120 {
    margin-top: calc(120px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .hp_mt120 {
    margin-top: calc(120px * 0.5);
  }
}

.hp_mt180 {
  margin-top: 180px;
}
@media (max-width: 896px) {
  .hp_mt180 {
    margin-top: calc(180px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .hp_mt180 {
    margin-top: calc(180px * 0.5);
  }
}

.hp_space {
  padding-right: 4%;
  padding-left: 4%;
}

.hp_wsnw {
  white-space: nowrap;
}

/*
 * Unique Group
 */
/*
 * program Group
 */
/*
 * Base Group
 */
.js_scroll_active.bl_header {
  background-color: transparent;
  backdrop-filter: blur(30px);
}
.js_scroll_active .bl_header_inner {
  min-height: 80px;
}
.js_scroll_active .bl_header_nav_list.bl_header_nav_list__offWhite {
  padding: 1.089% 6.069%;
}
.js_scroll_active .bl_header_nav_list.bl_header_nav_list__green {
  padding: 1.089% 4.079%;
}
.js_scroll_active .bl_header_nav_link {
  font-size: clamp(0.625rem, 0.55rem + 0.25vw, 0.75rem);
}

/*
 * Original Group
 */
/*
 * Base Group
 */
header .header_menu {
  display: none;
  position: fixed;
  right: 18px;
  top: 18px;
  width: 36px;
  height: 36px;
  cursor: pointer;
  z-index: 10000;
}
header .header_menu div {
  position: relative;
}
header .header_menu span {
  display: block;
  position: absolute;
  height: 1px;
  width: 100%;
  background: #021C85;
  left: 0;
  -webkit-transition: 0.35s ease-in-out;
  -moz-transition: 0.35s ease-in-out;
  transition: 0.35s ease-in-out;
}
header .header_menu span:nth-child(1) {
  top: 10px;
}
header .header_menu span:nth-child(2) {
  top: 20px;
}
header .header_menu span:nth-child(3) {
  top: 30px;
}
@media screen and (max-width: 896px) {
  header .header_menu {
    display: block;
  }
}
header .header_menu.open span:nth-child(1) {
  top: 20px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  transform: rotate(45deg);
  background: #021C85;
}
header .header_menu.open span:nth-child(2) {
  width: 0;
  left: 50%;
}
header .header_menu.open span:nth-child(3) {
  top: 20px;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  transform: rotate(-45deg);
  background: #021C85;
}

.bl_header.is-scrolled .header_menu span {
  background: #fff;
}
.bl_header.is-scrolled .header_menu.open span:nth-child(1),
.bl_header.is-scrolled .header_menu.open span:nth-child(3) {
  background: #fff;
}

#spNav {
  display: none;
  flex-wrap: wrap;
  justify-content: space-between;
  position: fixed;
  left: 0;
  top: 80px;
  width: 100%;
  height: -webkit-calc(100vh - 80px);
  height: calc(100vh - 80px);
  background: rgba(255, 255, 255, 0.9);
  text-align: center;
  z-index: 9999;
  overflow: auto;
  /*
  ul {
  	opacity: 0;
  	margin-bottom: 30px;
  	//width: 48%;
  	li {
  		border-bottom: 1px solid #C9C9C9;
  		a {
  			display: block;
  			width: 100%;
  			line-height: 6.2vh;
  			color: #fff;
  			text-decoration: none;
  			color: #333;
  		}
  	}
  }
  */
}
#spNav .flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#spNav .spNav_bg {
  position: relative;
  background: #333;
  padding: 3vh 4% 4vh;
  width: 75%;
  height: 100%;
  margin: 0 0 0 auto;
  right: -100%;
}
#spNav .nav {
  display: flex;
  flex-direction: column;
  gap: 1em;
  padding: 1.5em;
}
#spNav .nav > li {
  opacity: 1;
}
#spNav .nav .spNav_link {
  position: relative;
}
#spNav .spNav_inn {
  margin-bottom: 20px;
}
#spNav .spNav_inn .spNav_title {
  margin-bottom: 10px;
}
#spNav .spNav_inn .spNav_title span {
  display: block;
  background: #7A7474;
  color: #fff;
  text-align: center;
  padding: 18px 1em;
  font-size: 1.6rem;
}
#spNav .spNav_inn .spNav_title .spNav_menu_toggle {
  display: none;
}
#spNav .spNav_inn .spNav_title .spNav_menu_toggle ul li .spNav_title_sub {
  background: #D6D2D2;
  padding: 8px 1em;
  font-size: 1.4rem;
}
#spNav .spNav_inn .spNav_title .spNav_menu_toggle ul li .spNav_link {
  padding: 10px 0;
  font-size: 1.3rem;
}
#spNav .spNav_inn .spNav_title .spNav_menu_toggle ul li .spNav_link a {
  display: inline-block;
  margin: 0 0.8em 8px;
}
#spNav .spNav_pere {
  text-align: center;
}

/*
 * Base Group
 */
.dl01s {
  -webkit-animation-delay: 0.1s;
  animation-delay: 0.1s;
}

.dl02s {
  -webkit-animation-delay: 0.2s;
  animation-delay: 0.2s;
}

.dl03s {
  -webkit-animation-delay: 0.3s;
  animation-delay: 0.3s;
}

.dl04s {
  -webkit-animation-delay: 0.4s;
  animation-delay: 0.4s;
}

.dl05s {
  -webkit-animation-delay: 0.5s;
  animation-delay: 0.5s;
}

.dl06s {
  -webkit-animation-delay: 0.6s;
  animation-delay: 0.6s;
}

.dl07s {
  -webkit-animation-delay: 0.7s;
  animation-delay: 0.7s;
}

.dl08s {
  -webkit-animation-delay: 0.8s;
  animation-delay: 0.8s;
}

.dl09s {
  -webkit-animation-delay: 0.9s;
  animation-delay: 0.9s;
}

.dl1s {
  -webkit-animation-delay: 1s;
  animation-delay: 1s;
}

.dl15s {
  -webkit-animation-delay: 1.5s;
  animation-delay: 1.5s;
}

.dl2s {
  -webkit-animation-delay: 2s;
  animation-delay: 2s;
}

.dl25s {
  -webkit-animation-delay: 2.5s;
  animation-delay: 2.5s;
}

.dl3s {
  -webkit-animation-delay: 3s;
  animation-delay: 3s;
}

.dl35s {
  -webkit-animation-delay: 3.5s;
  animation-delay: 3.5s;
}

.dl4s {
  -webkit-animation-delay: 4s;
  animation-delay: 4s;
}

.dl45s {
  -webkit-animation-delay: 4.5s;
  animation-delay: 4.5s;
}

.dl5s {
  -webkit-animation-delay: 5s;
  animation-delay: 5s;
}

.dl55s {
  -webkit-animation-delay: 5.5s;
  animation-delay: 5.5s;
}

.dl6s {
  -webkit-animation-delay: 6s;
  animation-delay: 6s;
}

.dl65s {
  -webkit-animation-delay: 6.5s;
  animation-delay: 6.5s;
}

.dl7s {
  -webkit-animation-delay: 7s;
  animation-delay: 7s;
}

.dl75s {
  -webkit-animation-delay: 7.5s;
  animation-delay: 7.5s;
}

.dl8s {
  -webkit-animation-delay: 8s;
  animation-delay: 8s;
}

.dl85s {
  -webkit-animation-delay: 8.5s;
  animation-delay: 8.5s;
}

.dl9s {
  -webkit-animation-delay: 9s;
  animation-delay: 9s;
}

.dl95s {
  -webkit-animation-delay: 9.5s;
  animation-delay: 9.5s;
}

/*
 * Base Group
 */
body .anime {
  opacity: 0;
  animation-duration: 1.2s;
  animation-fill-mode: both;
}
body .anime.is-visible {
  opacity: 1;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.fadeIn.is-visible {
  animation-name: fadeIn;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 40px, 0);
    transform: translate3d(0, 40px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.fadeInUp.is-visible {
  animation-name: fadeInUp;
}

@keyframes maskview-right {
  from {
    transform: translateX(0%);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes maskview-left {
  from {
    transform: translateX(0%);
  }
  to {
    transform: translateX(100%);
  }
}
.is-visible.maskview-right:after {
  animation-name: maskview-right;
  animation-duration: 1.2s;
  animation-fill-mode: both;
}
.is-visible.maskview-left:after {
  animation-name: maskview-left;
  animation-duration: 1.2s;
  animation-fill-mode: both;
}

.maskview-right,
.maskview-left {
  position: relative;
  overflow: hidden;
}
.maskview-right:after,
.maskview-left:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: #fff;
  transform: translateX(0%);
  transition: transform 0.6s ease-in-out 0.6s;
}
.maskview-right--gray:after,
.maskview-left--gray:after {
  background-color: #F5F5F5;
}

@keyframes blurFadeIn {
  0% {
    opacity: 0;
    filter: blur(6px);
    transform: scale(1.04);
  }
  100% {
    opacity: 1;
    filter: blur(0);
    transform: scale(1);
  }
}
/* 使用例 */
.blurFadeIn.is-visible {
  animation-name: blurFadeIn;
  animation-duration: 1.2s;
  animation-timing-function: ease-out;
  animation-fill-mode: both;
}
