@charset "UTF-8";
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* Remove default padding */
ul,
ol {
  padding: 0;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Set core root defaults */
html {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* Remove list styles on ul, ol elements with a class attribute */
ul,
ol {
  list-style: none;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img {
  max-width: 100%;
  display: block;
}

/* Natural flow and rhythm in articles by default */
article > * + * {
  margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Blur images when they have no alt attribute */
img:not([alt]) {
  -webkit-filter: blur(10px);
          filter: blur(10px);
}

/* フォームリセット */
input[type=checkbox],
input[type=radio] {
  display: none;
}

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

textarea {
  resize: vertical;
}

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

body {
  font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}

html body .sp {
  display: none;
}
@media screen and (max-width: 767px) {
  html body .sp {
    display: block;
  }
}

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

/* リキッドレイアウト対応 */
html {
  font-size: 16px;
}
@media (max-width: 375px) {
  html {
    font-size: 4.2666666667vw;
  }
}
@media (min-width: 768px) {
  html {
    font-size: 1.5094339623vw;
  }
}
@media (min-width: 1060px) {
  html {
    font-size: 16px;
  }
}

* {
  letter-spacing: 0.025em;
}

/* aタグ設定 */
a {
  text-decoration: none;
  color: inherit;
}

/* pcの電話番号発信対応 */
@media screen and (max-width: 767px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}

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

.above420 {
  display: block;
}
@media screen and (max-width: 420px) {
  .above420 {
    display: none;
  }
}

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

.ja {
  font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif !important;
}

.en {
  font-family: "Jost", sans-serif !important;
}

.text-blue {
  color: #00338E;
}

h1,
h2,
h3 {
  font-weight: bold;
}

b {
  font-weight: bold;
}

dl dt {
  font-weight: bold;
}

a {
  color: #00338E;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (min-width: 767px) {
  a:hover {
    opacity: 0.7;
    text-decoration: underline;
  }
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 100;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  max-height: 0rem;
}
.header a:hover {
  text-decoration: none;
}
.header__inner {
  padding: 0 3.125rem 0 2.5rem;
}
@media screen and (max-width: 1080px) {
  .header__inner {
    padding: 0 1.25rem 0 1.25rem;
  }
}
.header__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  padding: 0.625rem 0;
}
@media screen and (max-width: 767px) {
  .header__container {
    padding: 1.25rem 0;
  }
}
.header__logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.375rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.header__logo-img {
  width: 18.375rem;
  height: 2.28125rem;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 520px) {
  .header__logo-img {
    width: 15.6875rem;
    height: 1.6875rem;
  }
}
@media screen and (max-width: 520px) {
  .header__logo-img img {
    width: 15.6875rem;
    height: 1.6875rem;
  }
}
@media screen and (min-width: 767px) {
  .header__logo-img:hover {
    opacity: 0.6;
    text-decoration: none;
  }
}
.header__logo-text {
  color: #fff;
  font-size: 0.75rem;
  font-weight: bold;
}
.header__menus {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.header__menu a {
  display: block;
  padding: 1.25rem;
  font-size: 0.9375rem;
  font-weight: bold;
  color: #fff;
  white-space: nowrap;
}
@media screen and (max-width: 1024px) {
  .header__menu a {
    padding: 0.9375rem;
  }
}
.header__button {
  margin-left: 1.25rem;
}
.header__button a {
  display: block;
  color: #fff;
  font-size: 0.9375rem;
  font-weight: bold;
  padding: 0.625rem 1.875rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 6.25rem;
  border: 1px solid #fff;
  white-space: nowrap;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.header__button a .open-b {
  display: none;
}
@media screen and (min-width: 767px) {
  .header__button a:hover .open-w {
    display: none;
  }
  .header__button a:hover .open-b {
    display: inline-block;
  }
}
.header .menu__bar {
  width: 2.5rem;
  height: 0.734375rem;
  position: relative;
  cursor: pointer;
}
.header .menu__bar i {
  background: #fff;
  position: absolute;
  height: 1px;
  width: 100%;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.header .menu__bar i:nth-child(1) {
  top: 0;
}
.header .menu__bar i:nth-child(2) {
  top: 0.796875rem;
}
.header .menu__sp {
  background: #00338E;
  position: fixed;
  height: 100vh;
  width: 100%;
  left: 0;
  top: 0;
  overflow-y: auto;
  color: #fff;
  font-size: 0.9375rem;
  padding-bottom: 5.625rem;
  display: none;
}
.header .menu__sp.open .menu__bar i:nth-child(1) {
  -webkit-transform: rotate(-20deg);
          transform: rotate(-20deg);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  top: 0.40625rem;
}
.header .menu__sp.open .menu__bar i:nth-child(2) {
  -webkit-transform: rotate(20deg);
          transform: rotate(20deg);
  top: 0.40625rem;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.header .menu__sp a {
  position: relative;
  padding: 1.25rem 0;
  color: #fff;
}
.header .menu__sp a::after {
  content: "";
  width: 0.625rem;
  height: 0.625rem;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  position: absolute;
  top: 45%;
  right: 0.3em;
  -webkit-transform: translate(0%, -50%);
  transform: translate(0%, -50%);
  text-align: center;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.header .menu__sp .more {
  border: 1px solid #fff !important;
  color: #fff !important;
  padding: 0.6875rem 5rem;
  margin: 2.5rem auto 0;
  width: 100%;
  max-width: 300px;
  font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}
.header .menu__sp .more::after {
  content: none;
}
.header .menu__sp .menu__bar i:nth-child(1) {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.header .menu__sp .menu__bar i:nth-child(2) {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
  top: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.header .menu__sp .open-icon {
  margin-left: 0.5rem;
}
.header .menu__inner {
  padding: 3.75rem 2.5rem 0;
}
.header .sp-menu__parent {
  font-weight: bold;
  padding-bottom: 0.625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.header .sp-menu__parent i {
  display: block;
  position: relative;
  width: 0.9375rem;
  height: 0.9375rem;
  margin: 0 0 0 auto;
  cursor: pointer;
}
.header .sp-menu__parent i::before {
  content: "";
  height: 1px;
  background: #fff;
  width: 0.9375rem;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  text-align: center;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.header .sp-menu__parent i::after {
  content: "";
  height: 1px;
  background: #fff;
  width: 0.9375rem;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(90deg);
  transform: translate(-50%, -50%) rotate(90deg);
  text-align: center;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.header .sp-menu__parent-icon i::after {
  -webkit-transform: translate(-50%, -50%) rotate(0);
          transform: translate(-50%, -50%) rotate(0);
}
.header .sp-menu__parent .letter {
  -webkit-transform: translate(-10px, 0px);
          transform: translate(-10px, 0px);
  opacity: 0;
}
.header .sp-menu__parent.open i::after {
  -webkit-transform: translate(-50%, -50%) rotate(0deg);
          transform: translate(-50%, -50%) rotate(0deg);
}
.header .sp-menu__child {
  font-weight: bold;
  padding-left: 0.9375rem;
}
.header .sp-menu__child a {
  display: block;
  font-weight: normal;
}
.header .sp-menu01 .sp-menu__child {
  height: 0;
  overflow: hidden;
  -webkit-transition-property: height;
  transition-property: height;
  -webkit-transition-duration: 0.6s;
          transition-duration: 0.6s;
  -webkit-transition-timing-function: cubic-bezier(0.36, 0.14, 0, 1);
          transition-timing-function: cubic-bezier(0.36, 0.14, 0, 1);
}
.header .sp-menu01 .sp-menu__child.open {
  height: 15.625rem;
}
/*
.header .sp-menu05 {
  padding-top: 1.25rem;
}
*/
.header .sp-menu05 .sp-menu__child {
  height: 0;
  overflow: hidden;
  -webkit-transition-property: height;
  transition-property: height;
  -webkit-transition-duration: 0.6s;
          transition-duration: 0.6s;
  -webkit-transition-timing-function: cubic-bezier(0.36, 0.14, 0, 1);
          transition-timing-function: cubic-bezier(0.36, 0.14, 0, 1);
}
.header .sp-menu05 .sp-menu__child.open {
  height: 11.25rem;
}
.header__menu {
  position: relative;
}
.header__menu:not(.has__child) a {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (min-width: 767px) {
  .header__menu:not(.has__child) a:hover {
    opacity: 0.6;
  }
}
.header .menu-child {
  position: absolute;
  background: #fff;
  left: 0;
  z-index: -1;
  overflow: hidden;
  width: 12.5rem;
  border-radius: 5px;
  overflow: hidden;
  display: block;
  pointer-events: none;
  -webkit-transform: translateY(-5px);
          transform: translateY(-5px);
  -webkit-transition-duration: 0.5s;
          transition-duration: 0.5s;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
  padding: 1.25rem;
  opacity: 0;
}
.header .menu-child a {
  cursor: pointer;
  color: #000;
  font-size: 0.8125rem;
  margin-bottom: 0.9375rem;
  padding: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (min-width: 767px) {
  .header .menu-child a:hover {
    opacity: 0.6;
  }
}
.header .menu-child-list li:last-of-type a {
  margin-bottom: 0;
}
.header .menu-child-list li a {
  position: relative;
  padding-left: 1em;
}
.header .menu-child-list li a::before {
  content: "・";
  color: #00338E;
  position: absolute;
  left: 0;
}
.header .menu-child-list_title {
  font-size: 0.875rem;
  font-weight: bold;
  margin-bottom: 1.5625rem;
  color: #00338E;
  position: relative;
}
.header .menu-child-list_title a {
  display: block;
  width: 100%;
  color: #00338E !important;
  font-weight: bold;
}
.header .menu-child-list_title a::after {
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  border-top: 1.5px solid #00338E;
  border-right: 1.5px solid #00338E;
  position: absolute;
  top: 32%;
  right: 0rem;
  -webkit-transform: translate(0%, -50%);
  transform: translate(0%, -50%);
  text-align: center;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.header .menu-child.open {
  opacity: 1;
  -webkit-transform: translateY(0px);
          transform: translateY(0px);
  pointer-events: auto;
  z-index: 101;
}
.header .open-bk {
  display: none;
}
.header .logo-color {
  display: none;
}
.header.is-scroll {
  background: #fff;
  max-height: 5.3125rem;
}
@media screen and (max-width: 1024px) {
  .header.is-scroll {
    max-height: 4.375rem;
  }
}
.header.is-scroll .logo {
  display: none;
}
.header.is-scroll .logo-color.pc {
  display: block;
}
@media screen and (max-width: 767px) {
  .header.is-scroll .logo-color.pc {
    display: none;
  }
}
.header.is-scroll .logo-color.sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .header.is-scroll .logo-color.sp {
    display: block;
  }
}
.header.is-scroll .open-bk {
  display: inline-block;
}
.header.is-scroll .has__icon-bk .open-w {
  display: none;
}
.header.is-scroll .header__menus a {
  color: #000;
}
.header.is-scroll .header__container {
  padding: 0.625rem 0;
}
@media screen and (max-width: 767px) {
  .header.is-scroll .header__container {
    padding: 1.25rem 0;
  }
}
.header.is-scroll .header__button a {
  border: 1px solid #00338E;
  color: #00338E;
}
.header.is-scroll .header__button a .open-w {
  display: none;
}
.header.is-scroll .header__button a .open-b {
  display: inline-block;
}
@media screen and (min-width: 767px) {
  .header.is-scroll .header__button a:hover {
    background: #00338E !important;
    color: #fff !important;
  }
  .header.is-scroll .header__button a:hover .open-w {
    display: inline-block;
  }
  .header.is-scroll .header__button a:hover .open-b {
    display: none;
  }
}
.header.is-scroll .menu__bar i {
  background: #000;
}
.header.is-scroll .menu__sp.open .menu__bar i {
  background: #fff;
}

.footer {
  background: #00338E;
  color: #fff;
  position: relative;
}
.footer a {
  color: #fff;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (min-width: 767px) {
  .footer a:hover {
    opacity: 0.6;
    text-decoration: none;
  }
}
.footer__inner {
  max-width: 1100px;
  margin: auto;
  padding: 0 20px;
}
.footer__bottom {
  padding: 1.25rem 0;
}
.footer__bottom ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 0.8125rem;
}
@media screen and (max-width: 767px) {
  .footer__bottom ul {
    display: block;
  }
}
.footer__bottom ul i {
  margin: 0 1.25rem;
}
@media screen and (max-width: 767px) {
  .footer__bottom ul i {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .footer__bottom ul li {
    margin-bottom: 1.25rem;
  }
}
.footer__bottom i {
  display: block;
  height: 100%;
  background: #fff;
  width: 1px;
}
.footer__contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 3.75rem 0 6.25rem;
}
@media screen and (max-width: 767px) {
  .footer__contents {
    display: -ms-grid;
    display: grid;
    padding: 3.4375rem 0 8.75rem;
  }
}
.footer__logo {
  width: 14.0625rem;
  margin-bottom: 1.875rem;
}
@media screen and (max-width: 1024px) {
  .footer__logo {
    width: 16.875rem;
  }
}
@media screen and (max-width: 767px) {
  .footer__logo {
    width: 14.0625rem;
  }
}
.footer__address {
  font-size: 0.9375rem;
  line-height: 1.7;
}
.footer__address a:hover {
  text-decoration: underline;
}
.footer__more {
  margin-top: 2.5rem;
  border: 1px solid #fff !important;
  color: #fff !important;
  font-size: 0.9375rem;
  padding: 0.8125rem 1.875rem 0.875rem !important;
  line-height: 1;
  font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif !important;
}
@media screen and (max-width: 767px) {
  .footer__more {
    width: 100% !important;
    max-width: 20.84375rem;
    margin: 1.875rem auto 0 !important;
  }
}
.footer__more .open-bk {
  display: none;
}
@media screen and (min-width: 767px) {
  .footer__more:hover .open-w {
    display: none;
  }
  .footer__more:hover .open-bk {
    display: inline-block;
  }
}
.footer__menu {
  margin-left: 5rem;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 3.75rem 2fr;
  grid-template-columns: 1fr 2fr;
  gap: 3.75rem;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  font-size: 0.9375rem;
}
@media screen and (max-width: 1024px) {
  .footer__menu {
    margin-left: 3.75rem;
  }
}
@media screen and (max-width: 767px) {
  .footer__menu {
    margin-left: 0;
    border-top: 1px solid #fff;
    margin-top: 1.5625rem;
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .footer__menu ul {
    border-bottom: 1px solid #fff;
    padding: 0.9375rem 0;
  }
}
.footer__menu ul li {
  margin-bottom: 0.9375rem;
  font-weight: bold;
  text-indent: -1.3em;
  padding-left: 1.3em;
  line-height: 1.7;
  position: relative;
}
@media screen and (max-width: 767px) {
  .footer__menu ul li {
    margin-bottom: 0rem;
  }
}
.footer__menu ul li:not(.parent) a {
  font-size: 0.8125rem;
}
@media screen and (max-width: 767px) {
  .footer__menu ul li:not(.parent) a {
    font-size: 0.9375rem;
  }
}
.footer__menu ul li b {
  font-weight: bold;
}
.footer__menu ul li a {
  position: relative;
  width: 100%;
  display: block;
  padding: 0 1em 0 0 !important;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .footer__menu ul li a {
    display: block;
    width: 100%;
    padding: 0.9375rem 0 !important;
    position: relative;
    line-height: 1;
  }
  .footer__menu ul li a:not(.no-link)::before {
    content: "";
    width: 0.5625rem;
    height: 0.5625rem;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    position: absolute;
    top: 43%;
    right: 1.25rem;
    -webkit-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
    text-align: center;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .footer__menu ul li a:not(.no-link)::before {
    content: "";
    width: 0.5625rem;
    height: 0.5625rem;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    position: absolute;
    top: 43%;
    right: 1.25rem;
    -webkit-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
    text-align: center;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
}
.footer__menu ul li a:not(.no-link)::after {
  content: "";
  width: 0.5625rem;
  height: 0.5625rem;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  position: absolute;
  top: calc(50% - 0.25rem);
  right: 0;
  -webkit-transform: translate(0%, -50%);
  transform: translate(0%, -50%);
  text-align: center;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
  .footer__menu ul li a:not(.no-link)::after {
    content: none;
  }
}
.footer__menu ul li a:not(.no-link)::after {
  content: "";
  width: 0.5625rem;
  height: 0.5625rem;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  position: absolute;
  top: calc(50% - 0.25rem);
  right: 0;
  -webkit-transform: translate(0%, -50%);
  transform: translate(0%, -50%);
  text-align: center;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
  .footer__menu ul li a:not(.no-link)::after {
    content: none;
  }
}
.footer__menu ul li.parent {
  padding-bottom: 0.625rem;
  margin-bottom: 1.25rem;
}
@media screen and (max-width: 767px) {
  .footer__menu ul li.parent {
    padding-bottom: 0;
    margin-bottom: 0;
  }
}
.footer__menu ul li:first-of-type {
  border-bottom: 1px solid #fff;
}
@media screen and (max-width: 767px) {
  .footer__menu ul li:first-of-type {
    border-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  .footer__menu ul.has__child li:not(.parent) {
    padding-left: 1.875rem;
  }
}
.footer__menu ul.has__child li a {
  padding: 1.25rem 0;
}
.footer__menu ul.has__child li a.no-link {
  pointer-events: none;
}
.footer__menu__overlap {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 3.75rem 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 1.5625rem 3.75rem;
}
@media screen and (max-width: 767px) {
  .footer__menu__overlap {
    display: block;
  }
}
.footer .open-icon {
  margin-left: 0.5rem;
}

.open-icon {
  display: inline-block;
  width: 0.8125rem !important;
  height: 0.8125rem !important;
  -webkit-transform: translateY(1px);
          transform: translateY(1px);
  aspect-ratio: 1;
  margin-left: 0.5rem;
}
@media screen and (max-width: 767px) {
  .open-icon {
    width: 0.78125rem !important;
    height: 0.78125rem !important;
  }
}

.pdf {
  font-size: 0.9375rem;
}

.pdf-icon {
  display: inline-block;
  width: 1.2em;
  position: relative;
  left: 0.5em;
  top: 0.3em;
}

.inner {
  max-width: 1180px;
  margin: auto;
  padding: 0 60px;
}
@media screen and (max-width: 1024px) {
  .inner {
    padding: 0 60px;
  }
}
@media screen and (max-width: 767px) {
  .inner {
    max-width: 37.5rem !important;
    padding: 0 20px;
  }
}

.breadcrumb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 0 3.125rem 0 2.5rem;
  margin-bottom: 2.1rem;
  color: #00338E;
}
@media screen and (max-width: 1024px) {
  .breadcrumb {
    padding: 0 1.25rem 0 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .breadcrumb {
    margin-bottom: 3.25rem;
  }
}
.breadcrumb li a {
  color: #00338E;
  font-size: 0.6875rem;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 520px) {
  .breadcrumb li a {
    font-size: 0.625rem;
  }
}
.breadcrumb li a:hover {
  color: #000;
}
.breadcrumb li + li::before {
  content: "＞";
  font-size: 0.6875rem;
  margin-left: 0.5em;
  margin-right: 0.5em;
}
@media screen and (max-width: 520px) {
  .breadcrumb li + li::before {
    font-size: 0.625rem;
  }
}
.breadcrumb li:last-of-type {
  pointer-events: none;
}

.more {
  font-size: 0.9375rem;
  font-family: "Jost", sans-serif;
  color: #00338E;
  padding: 0.578125rem 2.09375rem;
  text-align: center;
  background: #00338E;
  border-radius: 6.25rem;
  border: 1px solid #00338E;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: block;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.more:hover {
  opacity: 1 !important;
  text-decoration: none;
}
@media screen and (max-width: 520px) {
  .more {
    margin: 0 auto;
  }
}
.more_wh {
  background: transparent;
}
@media screen and (min-width: 767px) {
  .more_wh:hover {
    background: #00338E !important;
    color: #fff !important;
    border: 1px solid #00338E;
  }
}
@media screen and (min-width: 767px) {
  .more_bl:hover {
    background: #fff !important;
    color: #00338E !important;
  }
}
.more_ico::after {
  content: "";
  display: inline-block;
  background-image: url(../images/common/ico_more.png);
  background-size: 100%;
  background-repeat: no-repeat;
  width: 0.695875rem;
  height: 0.695875rem;
  margin-left: 0.84em;
  vertical-align: -0.1em;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (min-width: 767px) {
  .more_ico:hover::after {
    background-image: url(../images/common/ico_more-white.png);
  }
}

.page-ttl {
  font-size: 1.375rem;
  color: #000;
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 520px) {
  .page-ttl {
    font-size: 1.25rem;
  }
}
.page-ttl span {
  font-family: "Jost", sans-serif;
  font-size: 0.8125rem;
  display: block;
  color: #00338E;
}
@media screen and (max-width: 520px) {
  .page-ttl span {
    font-size: 0.8125rem;
  }
}

.section-ttl {
  font-size: 1.875rem;
  font-weight: bold;
  color: #000;
}
@media screen and (max-width: 520px) {
  .section-ttl {
    font-size: 1.5625rem;
    margin-bottom: 0.625rem;
    line-height: 1;
  }
}

.section-subttl {
  font-family: "Jost", sans-serif;
  font-size: 0.8125rem;
  font-weight: bold;
  color: #00338E;
  margin-top: 0.3125rem;
}
@media screen and (max-width: 520px) {
  .section-subttl-wrap {
    margin-bottom: 0.9375rem;
  }
}

.section-ttl-02 {
  font-size: 1.25rem;
  text-align: center;
  color: #000;
  position: relative;
  padding-bottom: 1rem;
}
@media screen and (max-width: 520px) {
  .section-ttl-02 {
    font-size: 1.15625rem;
    text-align: left;
    padding-bottom: 0.9375rem;
  }
}
.section-ttl-02::after {
  content: "";
  width: 20px;
  height: 2px;
  background-color: #00338E;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: 0;
}
@media screen and (max-width: 767px) {
  .section-ttl-02::after {
    width: 1.25rem;
  }
}
@media screen and (max-width: 520px) {
  .section-ttl-02::after {
    left: 0.625rem;
  }
}

.go__top {
  bottom: 2.8125rem;
  cursor: pointer;
  position: absolute;
  width: 1.25rem;
  height: 8.9375rem;
  right: 2.5rem;
}
@media screen and (max-width: 1260px) {
  .go__top {
    bottom: 1.625rem;
  }
}
@media screen and (max-width: 767px) {
  .go__top {
    bottom: 1.875rem;
  }
}
.go__top img {
  width: 0.5625rem;
  height: 3.9375rem;
  display: block;
  margin: 0 auto 0.9375rem;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  position: relative;
  top: 0;
}
.go__top span {
  font-size: 0.9375rem;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
          writing-mode: vertical-rl;
}
@media screen and (min-width: 767px) {
  .go__top:hover img {
    position: relative;
    top: -10px;
  }
}
@media screen and (min-width: 767px) and (max-width: 767px) {
  .go__top:hover img {
    top: 0px;
  }
}

.banner-block {
  max-width: 53.125rem;
  height: 13.75rem;
  margin: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background: rgba(0, 51, 142, 0.05);
  margin-bottom: 6.25rem;
}
@media screen and (max-width: 767px) {
  .banner-block {
    margin-bottom: 3.75rem;
    display: block;
    padding-top: 85.33%;
    position: relative;
  }
}
.banner-block-left {
  max-width: 23rem;
  width: 23rem;
}
@media screen and (max-width: 767px) {
  .banner-block-left {
    max-width: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .banner-block-left::before {
    content: "";
    position: absolute;
    background: rgba(0, 0, 0, 0.48);
    width: 100%;
    height: 100%;
  }
}
.banner-block-left img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.banner-block-right {
  display: -ms-grid;
  display: grid;
  place-items: center;
  width: calc(100% - 23rem);
  padding: 1.875rem 0;
}
@media screen and (max-width: 767px) {
  .banner-block-right {
    display: block;
    padding: 0;
    color: #fff;
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    text-align: center;
    width: 10.25rem;
  }
}
.banner-block-right img {
  width: 10.25rem;
}
@media screen and (max-width: 767px) {
  .banner-block-right img {
    width: 8.75rem;
    margin: 0 auto;
  }
}
.banner-block__btn {
  width: 10.9375rem;
}
@media screen and (max-width: 767px) {
  .banner-block__btn {
    color: #fff;
    border-color: #fff;
    margin: 0.9375rem auto 0;
    width: 10.25rem;
  }
}
.banner-block__txt {
  font-size: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .banner-block__txt {
    font-size: 1.25rem;
    margin-top: 1.25rem;
  }
}
@media screen and (max-width: 520px) {
  .banner-block__txt {
    font-size: 0.9375rem;
  }
}
.banner-block + .pagetop__button {
  margin-top: -3.125rem;
  margin-bottom: 6.25rem;
}
@media screen and (max-width: 767px) {
  .banner-block + .pagetop__button {
    margin-top: 0rem;
  }
}

.pagetop__button {
  text-align: center;
}
.pagetop__button a {
  display: block;
  margin: 0 auto;
  white-space: nowrap;
}
.main {
  background: #fff;
  padding-top: 5.4375rem;
}
@media screen and (max-width: 767px) {
  .main {
    padding-top: 4.375rem;
  }
}

.more_wh .open-w {
  display: none;
}
.more_wh .open-b {
  display: inline-block;
}
@media screen and (min-width: 767px) {
  .more_wh:hover .open-w {
    display: inline-block;
  }
  .more_wh:hover .open-b {
    display: none;
  }
}
.more__bl {
  color: #fff;
}
.more__bl .open-w {
  display: inline-block;
}
.more__bl .open-b {
  display: none;
}
@media screen and (min-width: 767px) {
  .more__bl:hover {
    background: transparent;
    color: #00338E;
  }
  .more__bl:hover .open-w {
    display: none;
  }
  .more__bl:hover .open-b {
    display: inline-block;
  }
}

html {
  overflow-x: hidden;
}

body {
  overflow-x: hidden;
}

.en {
  font-family: "Jost", sans-serif;
}

.mv {
  position: relative;
}
.mv__img img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100vh;
  width: 100%;
}
.mv__img video {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100vh;
  width: 100%;
}
.mv__img video.video_pc {
  display: block;
}
@media screen and (max-width: 520px) {
  .mv__img video.video_pc {
    display: none;
  }
}
.mv__img video.video_sp {
  display: none;
}
@media screen and (max-width: 520px) {
  .mv__img video.video_sp {
    display: block;
  }
}
.mv__saving {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100vh;
  width: 100%;
}
.mv__content {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.mv__logo {
  width: 9.0625rem;
  margin-bottom: 1.25rem;
}
@media screen and (max-width: 767px) {
  .mv__logo {
    width: 8.4375rem;
  }
}
.mv__text {
  font-size: 0.9375rem;
  font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  color: #fff;
}
.mv__scroll {
  position: absolute;
  left: 50%;
  top: 90vh;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (max-width: 520px) {
  .mv__scroll {
    top: 80vh;
  }
}
.mv__scroll-icon {
  background: url(../images/top/mouse.png);
  background-size: 100%;
  background-repeat: no-repeat;
  padding: 0;
  margin: 0 auto;
  width: 23px;
  height: 35px;
  position: relative;
}
.mv__scroll-icon i {
  width: 3px;
  height: 3px;
  background: #fff;
  border-radius: 50%;
  position: absolute;
  top: 30%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  text-align: center;
  -webkit-animation: mouseMove 1.5s ease infinite;
          animation: mouseMove 1.5s ease infinite;
}
.mv__scroll-img {
  width: 1.25rem;
  aspect-ratio: 2/3;
  margin-bottom: 0.3125rem;
}
.mv__scroll-text {
  font-size: 0.8125rem;
  font-family: "Jost", sans-serif;
  color: #fff;
  text-align: center;
}

main.top {
  background: #000;
}

.philo {
  position: relative;
}
@media screen and (max-width: 520px) {
  .philo__text_wrap {
    padding: 0 1.25rem;
  }
  .philo__text_wrap .philo__container {
    padding-bottom: 0;
  }
}
.philo__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.philo__container {
  padding: 8.125rem 0 5rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .philo__container {
    padding: 8.125rem 0 3.75rem;
  }
}
.philo__ttl {
  color: #fff;
  font-size: 1.5625rem;
  font-weight: bold;
  margin-bottom: 1.5625rem;
  white-space: nowrap;
}
@media screen and (max-width: 520px) {
  .philo__ttl {
    text-align: left;
  }
}
.philo__text {
  margin-bottom: 1.5625rem;
  font-size: 0.9375rem;
  color: #fff;
  line-height: 2.3333333333;
  padding: 0 2.5rem;
}
@media screen and (max-width: 520px) {
  .philo__text {
    margin-bottom: 2.5rem;
    text-align: left;
    padding: 0 0rem;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
  }
}
.philo__text br.pc {
  display: block;
}
@media screen and (max-width: 520px) {
  .philo__text br.pc {
    display: none;
  }
}
.philo__more {
  margin: 0 auto 8.75rem;
  background: #fff;
  border: 1px solid #fff;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .philo__more {
    margin: 0 auto 7.5rem;
  }
}
.philo__content {
  position: relative;
}
.philo__content::before {
  content: "";
  background: rgba(0, 0, 0, 0.6);
  z-index: 2;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.philo__wrap {
  overflow: hidden;
}
.about {
  background: #F2F5F9;
}
.about__container {
  padding: 6.25rem 0 6.25rem;
}
@media screen and (max-width: 767px) {
  .about__container {
    padding: 6.25rem 0 3.75rem;
  }
}
.about__top {
  margin-bottom: 2.5rem;
  text-align: center;
}
@media screen and (max-width: 520px) {
  .about__top {
    text-align: left;
    margin-bottom: 0.9375rem;
  }
}
.about__ttl {
  margin-bottom: 0.3125rem;
}
@media screen and (max-width: 520px) {
  .about__ttl {
    margin-bottom: 0.9375rem;
  }
}
.about__read {
  font-size: 0.9375rem;
  line-height: 2;
  margin: 0 auto 6.25rem;
  display: -ms-grid;
  display: grid;
  place-items: center;
}
@media screen and (max-width: 520px) {
  .about__read {
    margin: 0 auto 3.75rem;
    line-height: 1.766;
  }
}
.about__read ul li {
  position: relative;
  padding-left: 0.5em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.about__read ul li::before {
  content: "";
  width: 0.25rem;
  height: 0.25rem;
  background: #000;
  border-radius: 9999px;
  display: block;
  position: absolute;
  top: 0.9em;
  left: 0;
}
.about__read ul li span {
  width: calc(100% - 0.5rem);
}
.about__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-grid-columns: (minmax(0, 1fr))[2];
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media screen and (max-width: 767px) {
  .about__content {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (minmax(0, 1fr))[1];
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}
.about__image {
  gap: 0.9375rem;
  display: -ms-grid;
  display: grid;
  width: calc(50% - 2.5rem);
}
@media screen and (max-width: 767px) {
  .about__image {
    width: 100%;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}
.about__image-bottom {
  display: -ms-grid;
  display: grid;
  gap: 0.9375rem;
  -ms-grid-columns: minmax(0, 1fr) 0.9375rem minmax(0, 1fr);
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.about__info {
  width: calc(50% - 2.5rem);
  margin-left: 5rem;
  display: -ms-grid;
  display: grid;
}
@media screen and (max-width: 767px) {
  .about__info {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    width: 100%;
    margin-left: 0;
    margin-bottom: 3.75rem;
  }
}
.about__info a {
  color: #000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 2.8125rem 0;
  border-bottom: 1px solid rgba(0, 51, 142, 0.2);
  width: 100%;
  position: relative;
}
@media screen and (max-width: 1060px) {
  .about__info a {
    padding: 2.5625rem 0;
  }
}
@media screen and (max-width: 520px) {
  .about__info a {
    padding: 2.1875rem 0;
  }
}
.about__info a:hover {
  opacity: 0.7 !important;
}
.about__info a:first-of-type {
  border-top: 1px solid rgba(0, 51, 142, 0.2);
}
.about__info a::after {
  content: "";
  width: 0.625rem;
  height: 0.625rem;
  border-top: 1px solid #00338E;
  border-right: 1px solid #00338E;
  position: absolute;
  top: 50%;
  right: 1.25rem;
  -webkit-transform: translate(0%, -50%);
  transform: translate(0%, -50%);
  text-align: center;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (min-width: 767px) {
  .about__info a:hover::after {
    right: 0.625rem;
  }
}
@media screen and (min-width: 767px) and (max-width: 520px) {
  .about__info a:hover::after {
    right: 1.25rem;
  }
}
.about__info b {
  font-size: 1.125rem;
}
@media screen and (max-width: 520px) {
  .about__info b {
    font-size: 1.0625rem;
    line-height: 1;
  }
}
.about__info small {
  font-size: 0.8125rem;
  display: block;
  color: #00338E;
}
@media screen and (max-width: 520px) {
  .about__info small {
    font-size: 0.75rem;
  }
}

.service {
  background: #fff;
  padding: 6.25rem 0;
}
@media screen and (max-width: 767px) {
  .service {
    padding: 4.375rem 0 4.375rem;
  }
}
.service__container {
  display: -ms-grid;
  display: grid;
  gap: 0;
}
.service__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 920px;
  margin: 2.8125rem auto 0;
}
@media screen and (max-width: 520px) {
  .service__content {
    display: -ms-grid;
    display: grid;
    margin: 1.875rem auto 0;
  }
}
.service__title {
  width: 28%;
}
@media screen and (max-width: 1024px) {
  .service__title {
    width: 25%;
  }
}
@media screen and (max-width: 520px) {
  .service__title {
    width: 100%;
  }
}
.service__title .section-ttl {
  font-size: 1.5625rem;
}
.service__text {
  width: 72%;
}
@media screen and (max-width: 1024px) {
  .service__text {
    width: 75%;
  }
}
@media screen and (max-width: 520px) {
  .service__text {
    width: 100%;
  }
}
.service__text p {
  font-size: 0.9375rem;
  line-height: 2;
}
@media screen and (max-width: 520px) {
  .service__text p {
    line-height: 1.766;
  }
}
.service__more {
  background: #fff;
  line-height: 1;
  padding: 0.8125rem 2.5rem;
  margin-top: 1.5625rem;
}
@media screen and (max-width: 520px) {
  .service__more {
    margin-top: 2.1875rem;
  }
}

/*-----------------------
.sdgs
-------------------------*/
.sdgs {
  background: #F2F5F9;
  padding: 3.9375rem 0;
}
@media screen and (max-width: 767px) {
  .sdgs {
    padding: 3.75rem 0;
  }
}
.sdgs__container {
  display: -ms-grid;
  display: grid;
  gap: 0;
}
.sdgs__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 920px;
  margin: 2.8125rem auto 0;
}
@media screen and (max-width: 520px) {
  .sdgs__content {
    display: -ms-grid;
    display: grid;
    margin: 1.875rem auto 0;
  }
}
.sdgs__title {
  width: 28%;
}
@media screen and (max-width: 1024px) {
  .sdgs__title {
    width: 25%;
  }
}
@media screen and (max-width: 520px) {
  .sdgs__title {
    width: 100%;
  }
}
.sdgs__title .section-ttl {
  font-size: 1.5625rem;
}
.sdgs__text {
  width: 72%;
}
@media screen and (max-width: 1024px) {
  .sdgs__text {
    width: 75%;
  }
}
@media screen and (max-width: 520px) {
  .sdgs__text {
    width: 100%;
  }
}
.sdgs__text p {
  font-size: 0.9375rem;
  line-height: 2;
}
@media screen and (max-width: 520px) {
  .sdgs__text p {
    line-height: 1.766;
  }
}
.sdgs__more {
  line-height: 1;
  padding: 0.8125rem 2.5rem;
  margin-top: 1.5625rem;
}
@media screen and (max-width: 520px) {
  .sdgs__more {
    margin-top: 2.1875rem;
  }
}

/*-----------------------
.recruit
-------------------------*/
.recruit {
  background: #fff;
  padding: 6.25rem 0;
}
@media screen and (max-width: 767px) {
  .recruit {
    padding: 4.375rem 0;
  }
}
.recruit__container {
  display: -ms-grid;
  display: grid;
  gap: 0;
  padding-bottom: 6.25rem;
}
@media screen and (max-width: 767px) {
  .recruit__container {
    padding-bottom: 4.375rem;
  }
}
.recruit__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 920px;
  width: 920px;
  margin: 2.8125rem auto 0;
}
@media screen and (max-width: 1024px) {
  .recruit__content {
    max-width: 920px;
    margin: 2.8125rem auto 0;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .recruit__content {
    width: auto;
  }
}
@media screen and (max-width: 520px) {
  .recruit__content {
    display: -ms-grid;
    display: grid;
    margin: 1.875rem auto 0;
  }
}
.recruit__title {
  width: 28%;
}
@media screen and (max-width: 1024px) {
  .recruit__title {
    width: 25%;
  }
}
@media screen and (max-width: 520px) {
  .recruit__title {
    width: 100%;
  }
}
.recruit__title .section-ttl {
  font-size: 1.5625rem;
}
.recruit__text {
  width: 72%;
}
@media screen and (max-width: 1024px) {
  .recruit__text {
    width: 75%;
  }
}
@media screen and (max-width: 520px) {
  .recruit__text {
    width: 100%;
  }
}
.recruit__text p {
  font-size: 0.9375rem;
  line-height: 2;
}
@media screen and (max-width: 520px) {
  .recruit__text p {
    line-height: 1.766;
  }
}
.recruit__more {
  background: transparent;
  font-weight: bold;
  line-height: 1;
  padding: 0.8125rem 2.5rem;
  margin-top: 1.5625rem;
}
@media screen and (max-width: 520px) {
  .recruit__more {
    margin-top: 2.1875rem;
  }
}
.recruit__more .open-w {
  display: none;
}
@media screen and (min-width: 767px) {
  .recruit__more:hover .open-w {
    display: inline-block;
  }
  .recruit__more:hover .open-b {
    display: none;
  }
}

.overraybg {
  width: 100%;
  height: 100%;
  position: fixed;
  left: 0;
  top: 0;
  z-index: -1;
  background: rgba(0, 0, 0, 0.6);
  opacity: 0;
  -webkit-transition: all 0.8s;
  transition: all 0.8s;
  will-change: transform;
}

.drop-on .overraybg {
  opacity: 1;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  z-index: 100;
}

.loop_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 300vw;
  height: 100%;
  overflow: hidden;
}
@media screen and (max-width: 520px) {
  .loop_wrap {
    width: 840vw;
  }
}

.loop_wrap img {
  width: 100%;
  height: 100%;
  float: left;
  will-change: transform;
}
@media screen and (max-width: 520px) {
  .loop_wrap img {
    width: 100%;
  }
}

.loop_wrap.loop img:first-child {
  -webkit-animation: loop1 140s -70s linear infinite;
          animation: loop1 140s -70s linear infinite;
}

.loop_wrap.loop img:last-child {
  -webkit-animation: loop2 140s linear infinite;
          animation: loop2 140s linear infinite;
}

@-webkit-keyframes loop1 {
  0% {
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }
}

@keyframes loop1 {
  0% {
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }
}
@-webkit-keyframes loop2 {
  0% {
    -webkit-transform: translate3d(0%, 0, 0);
            transform: translate3d(0%, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(-200%, 0, 0);
            transform: translate3d(-200%, 0, 0);
  }
}
@keyframes loop2 {
  0% {
    -webkit-transform: translate3d(0%, 0, 0);
            transform: translate3d(0%, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(-200%, 0, 0);
            transform: translate3d(-200%, 0, 0);
  }
}
.js__fadein {
  opacity: 0;
  position: relative;
  -webkit-transform: translate(0px, 20px);
          transform: translate(0px, 20px);
}

.js__fadein__count {
  opacity: 0;
  position: relative;
  -webkit-transform: translate(0px, 20px);
          transform: translate(0px, 20px);
}

.js__bg,
.js__bgImage {
  position: relative;
  overflow: hidden;
  display: inline-block;
}
.js__bg::after,
.js__bgImage::after {
  z-index: 10;
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #00338E;
  -webkit-transition: 0.35s cubic-bezier(0.73, 0, 0.38, 1);
  transition: 0.35s cubic-bezier(0.73, 0, 0.38, 1);
  -webkit-transform: translate3d(-101%, 0, 1px);
  transform: translate3d(-101%, 0, 1px);
}
.js__bg.shown::after,
.js__bgImage.shown::after {
  -webkit-transform: translate3d(0%, 0, 1px);
  transform: translate3d(0%, 0, 1px);
}
.js__bg.over::after,
.js__bgImage.over::after {
  -webkit-transition-delay: 0.21s !important;
          transition-delay: 0.21s !important;
  -webkit-transform: translate3d(101%, 0, 1px);
  transform: translate3d(101%, 0, 1px);
}
.js__bg img,
.js__bgImage img {
  display: block;
  line-height: 1;
  vertical-align: bottom;
}

.js__bg h2 {
  opacity: 0;
}
.js__bg p {
  opacity: 0;
}
.js__bg.over h2 {
  opacity: 1;
}
.js__bg.over p {
  opacity: 1;
}

.js__bgImage img {
  opacity: 0;
}
.js__bgImage.over img {
  opacity: 1;
}

@-webkit-keyframes mouseMove {
  0% {
    top: 30%;
    opacity: 1;
  }
  60% {
    opacity: 1;
  }
  100% {
    top: 55%;
    opacity: 0;
  }
}

@keyframes mouseMove {
  0% {
    top: 30%;
    opacity: 1;
  }
  60% {
    opacity: 1;
  }
  100% {
    top: 55%;
    opacity: 0;
  }
}
/** firefixのみに適用 **/
@-moz-document url-prefix() {
  .loop_wrap {
    width: 600vw;
  }
  @media screen and (max-width: 1024px) {
    .loop_wrap {
      width: 560vw;
    }
  }
  @media screen and (max-width: 520px) {
    .loop_wrap {
      width: 1200vw;
    }
  }
}
/*
@-moz-document url-prefix(){
    .loop_wrap {
      width: 150vw;
    }
    .loop_wrap img {
      width: 150vw;
    }
    .loop_wrap2 {
      width: 200vw;
    }
    .loop_wrap2 img {
      width: 200vw;
    }
    @include sm {
      .loop_wrap {
        width: 300vw;
      }
      .loop_wrap img {
        width: 300vw;
      }
      .loop_wrap2 {
        width: 300vw;
      }
      .loop_wrap2 img {
        width: 300vw;
      }
    }

}
*/
/** safariのみに適用 **/
/*
::-webkit-full-page-media, :future, :root .loop_wrap{
    width: 150vw;
    @include sm {
      width: 300vw;
    }
  }
::-webkit-full-page-media, :future, :root .loop_wrap img {
    width: 150vw;
    @include sm {
      width: 300vw;
    }
  }
::-webkit-full-page-media, :future, :root .loop_wrap2 {
    width: 200vw;
    @include sm {
      width: 300vw;
    }
  }
::-webkit-full-page-media, :future, :root .loop_wrap2 img {
    width: 200vw;
    @include sm {
      width: 300vw;
    }
  }
*/
/* Loading関係 */
.loading {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 200;
  width: 100%;
  height: 100vh;
  opacity: 1;
  -webkit-transition: all 2s;
  transition: all 2s;
  background: #fff;
}
.loading video {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100vh;
  width: 100%;
}
.loading video.video_pc {
  display: block;
}
@media screen and (max-width: 520px) {
  .loading video.video_pc {
    display: none;
  }
}
.loading video.video_sp {
  display: none;
}
@media screen and (max-width: 520px) {
  .loading video.video_sp {
    display: block;
  }
}
.loading.fadeIn {
  z-index: 200;
}
.loading.fadeOut {
  opacity: 0;
  z-index: -1;
}
.loading.fadeOut.accessed {
  -webkit-transition: all 0s;
  transition: all 0s;
}
.loading.none {
  display: none;
}

main {
  opacity: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
main.fadeIn {
  opacity: 1;
}

header {
  opacity: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
header.fadeIn {
  opacity: 1;
}

#philosophy {
  background: #fff;
}

.philosophy-01 {
  text-align: center;
  padding-bottom: 6rem;
}
@media screen and (max-width: 767px) {
  .philosophy-01 {
    padding-bottom: 3.75rem;
  }
}

.philosophy-01__ttl {
  font-size: 1.5625rem;
  font-weight: bold;
  margin-top: 4.75rem;
}
@media screen and (max-width: 767px) {
  .philosophy-01__ttl {
    margin-top: 2.8125rem;
  }
}
@media screen and (max-width: 520px) {
  .philosophy-01__ttl {
    font-size: 1.25rem;
  }
}
.philosophy-01__ttl span {
  font-weight: normal;
  font-size: 0.9375rem;
  display: block;
  margin-top: 0.775rem;
}
@media screen and (max-width: 767px) {
  .philosophy-01__ttl span {
    margin-top: 0.625rem;
  }
}
@media screen and (max-width: 520px) {
  .philosophy-01__ttl span {
    font-size: 0.8125rem;
  }
}

.philosophy-02 {
  text-align: center;
  background-color: #F2F5F9;
  padding-top: 2.5rem;
  padding-bottom: 3.125rem;
}
@media screen and (max-width: 767px) {
  .philosophy-02 {
    padding-top: 2.5rem;
    padding-bottom: 3.75rem;
  }
}
.philosophy-02__txt {
  font-size: 0.9375rem;
  line-height: 1.75;
}
.philosophy-02__image {
  display: inline-block;
  width: auto;
  text-align: center;
}
.philosophy-02 .philosophy-vision-wrap {
  display: -ms-grid;
  display: grid;
  place-items: center;
  position: relative;
  margin: 2.5rem 0 1.875rem;
}
@media screen and (max-width: 767px) {
  .philosophy-02 .philosophy-vision-wrap {
    margin: 1.25rem 0 0.9375rem;
  }
}
.philosophy-02 .philosophy-vision-bg {
  position: absolute;
  color: #fff;
  font-size: 4.875rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
}
@media screen and (max-width: 520px) {
  .philosophy-02 .philosophy-vision-bg {
    font-size: 3.75rem;
  }
}
.philosophy-02 .philosophy-vision-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  z-index: 1;
}
.philosophy-02 .philosophy-vision-title b {
  font-size: 1.5rem;
}
@media screen and (max-width: 520px) {
  .philosophy-02 .philosophy-vision-title b {
    font-size: 1.25rem;
  }
}
.philosophy-02 .philosophy-vision-title img {
  width: auto;
}

.philosophy-02__ttl {
  font-size: 1.25rem;
}

.philosophy-03 {
  padding: 6.25rem 0 5.625rem;
}
@media screen and (max-width: 767px) {
  .philosophy-03 {
    padding: 3.75rem 0 3.75rem;
  }
}
.philosophy-03__video-wrap {
  margin-top: 3.125rem;
  position: relative;
  max-width: 56.25rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .philosophy-03__video-wrap {
    margin-top: 1.90625rem;
  }
}
.philosophy-03__video-wrap img {
  position: absolute;
  left: 0;
  top: 0;
}
.philosophy-03__video-pc {
  margin: 0 auto;
  padding-top: 56.25%;
  position: relative;
  background: #000;
}
.philosophy-03 video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.philosophy-03__video__btn {
  position: absolute;
  z-index: 3;
  text-align: center;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.philosophy-03__video__btn .popup {
  display: block;
  margin-left: auto;
  margin-right: auto;
  width: 6.95rem;
  height: 6.95rem;
  border-radius: 50%;
  border: 1px solid #fff;
  position: relative;
}
@media screen and (min-width: 767px) {
  .philosophy-03__video__btn .popup {
    cursor: pointer;
  }
}
@media screen and (max-width: 520px) {
  .philosophy-03__video__btn .popup {
    width: 5.9075rem;
    height: 5.9075rem;
  }
}
.philosophy-03__video__btn .popup::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10.3923px 0 10.3923px 18px;
  border-color: transparent transparent transparent #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media screen and (max-width: 520px) {
  .philosophy-03__video__btn .popup::after {
    border-width: 8.83345px 0 8.83345px 15.3px;
  }
}
.philosophy-03__video__btn span {
  font-size: 0.9375rem;
  color: #fff;
  display: inline-block;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .philosophy-03__video__btn span {
    margin-top: 0.725rem;
  }
}
@media screen and (max-width: 520px) {
  .philosophy-03__video__btn span {
    font-size: 0.8125rem;
  }
}
.philosophy-03__video__popup {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 2000;
  max-height: 100%;
  max-width: 100%;
}
.philosophy-03__video__popup video {
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 767px) {
  .philosophy-03__video__popup video.pc {
    display: none;
  }
}
.philosophy-03__video__popup video.sp {
  width: 23.75rem;
}
@media screen and (min-width: 767px) {
  .philosophy-03__video__popup video.sp {
    display: none;
  }
}
.philosophy-03__video__popup__bg {
  position: fixed;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.8);
  z-index: 1000;
  top: 0;
  left: 0;
  display: none;
  overflow-y: scroll;
  -ms-scroll-chaining: none;
  overscroll-behavior: contain;
  overflow-y: scroll;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.philosophy-03 iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}

.philosophy-04 {
  padding-bottom: 6.25rem;
}
.philosophy-04 a {
  color: #000;
}
.philosophy-04__ttl {
  margin-bottom: 3.75rem;
}
@media screen and (max-width: 767px) {
  .philosophy-04__ttl {
    margin-bottom: 1.875rem;
  }
}
.philosophy-04__content {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 18.75rem 3.75rem 1fr;
  grid-template-columns: 18.75rem 1fr;
  gap: 3.75rem;
  max-width: 56.25rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .philosophy-04__content {
    -ms-grid-columns: none;
    grid-template-columns: none;
    gap: 1.5625rem;
  }
}
.philosophy-04__content-left {
  width: 18.75rem;
}
@media screen and (max-width: 767px) {
  .philosophy-04__content-left {
    width: 100%;
  }
}
.philosophy-04__content-left img {
  width: 100%;
}
.philosophy-04__list {
  font-size: 0.9375rem;
  line-height: 1.4;
  display: -ms-grid;
  display: grid;
  height: 100%;
}
.philosophy-04__list li {
  padding-left: 1.5em;
  text-indent: -1.5em;
  position: relative;
  line-height: 1.6;
  margin-bottom: 0.3125rem;
}
@media screen and (max-width: 767px) {
  .philosophy-04__list li {
    margin-bottom: 1.25rem;
    padding-left: 1.7em;
    text-indent: -1.7em;
    padding-right: 0;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
    letter-spacing: 0.02em;
  }
  .philosophy-04__list li .blue {
    color: #00338E;
    margin-right: 0.2em;
  }
}
.philosophy-04__list li a {
  padding-right: 0.4em;
}
@media screen and (max-width: 767px) {
  .philosophy-04__list li a {
    padding-right: 0.7em;
  }
}
.philosophy-04__list li a::after {
  content: "";
  display: inline-block;
  width: 0.4375rem;
  height: 0.4375rem;
  position: relative;
  top: -0.25em;
  border-top: 1px solid #00338E;
  border-right: 1px solid #00338E;
  position: relative;
  text-align: center;
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .philosophy-04__list li a::after {
    right: -0.5em;
  }
}
@media screen and (min-width: 767px) {
  .philosophy-04__list li a:hover::after {
    top: -0.05em;
  }
}
@media screen and (min-width: 767px) {
  .philosophy-04__list a:hover {
    color: #00338E;
  }
}
.philosophy-04__name {
  font-size: 1.0625rem;
}
.philosophy-04__name small {
  font-size: 0.8125rem;
}

.philosophy-05 {
  padding-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  .philosophy-05 {
    padding-bottom: 1.5625rem;
  }
}
.philosophy-05__ttl {
  margin-bottom: 3.125rem;
}
@media screen and (max-width: 767px) {
  .philosophy-05__ttl {
    margin-bottom: 1.75rem;
  }
}
.philosophy-05__list-01__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-bottom: 1.875rem;
  border-bottom: 1px solid rgba(0, 51, 142, 0.1);
  margin-bottom: 1.875rem;
}
@media screen and (max-width: 767px) {
  .philosophy-05__list-01__content {
    display: -ms-grid;
    display: grid;
    padding-bottom: 2.1875rem;
    margin-bottom: 2.5rem;
  }
}
.philosophy-05__list-01__content-left {
  max-width: 16rem;
  width: 16rem;
}
@media screen and (max-width: 767px) {
  .philosophy-05__list-01__content-left {
    max-width: 100%;
    width: 100%;
    margin-bottom: 1.0625rem;
  }
}
.philosophy-05__list-01__content-right {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .philosophy-05__list-01__content-right {
    width: 100%;
    margin-left: 0rem;
  }
}
.philosophy-05__list-01__ttl {
  margin-bottom: 1.5625rem;
  font-size: 1.125rem;
  font-weight: bold;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  letter-spacing: 0.03em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .philosophy-05__list-01__ttl {
    margin-bottom: 0.9375rem;
    white-space: unset;
  }
}
@media screen and (max-width: 520px) {
  .philosophy-05__list-01__ttl {
    font-size: 1rem;
  }
}
.philosophy-05__list-01__ttl span {
  color: #00338E;
  display: inline-block;
  border-right: 1px solid #00338E;
  padding-right: 1.25rem;
  margin-right: 1.25rem;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .philosophy-05__list-01__ttl span {
    display: block;
    border-right: 0;
    position: relative;
    margin-bottom: 1.0625rem;
    font-size: 1.125rem;
  }
  .philosophy-05__list-01__ttl span::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 1em;
    background: #00338E;
    height: 1px;
  }
}
.philosophy-05__list-01__content__list li {
  position: relative;
  padding-left: 1em;
  text-indent: -1em;
  font-size: 0.9375rem;
  line-height: 1.6666;
  padding-left: 6em;
}
@media screen and (max-width: 767px) {
  .philosophy-05__list-01__content__list li {
    padding-left: 1em;
  }
}
.philosophy-05__list-01__content__list li::before {
  content: "・";
}
.philosophy-05__item-wrap {
  max-width: 56.25rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .philosophy-05__item-wrap {
    display: block;
    max-width: 100%;
  }
}

.philosophy-06 {
  padding-bottom: 5.625rem;
}
@media screen and (max-width: 767px) {
  .philosophy-06 {
    padding-bottom: 4.0625rem;
  }
}
.philosophy-06__ttl {
  margin-bottom: 3.125rem;
}
.philosophy-06 .blue {
  color: #00338E;
  font-weight: bold;
}
.philosophy-06__content-01 {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (minmax(0, 1fr))[3];
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: 55.5rem;
  margin: 0 auto;
  font-size: 0.9375rem;
  line-height: 2;
  font-weight: normal;
}
@media screen and (max-width: 767px) {
  .philosophy-06__content-01 {
    -ms-grid-columns: (minmax(0, 1fr))[1];
    grid-template-columns: repeat(1, minmax(0, 1fr));
    max-width: 21.25rem;
  }
}
.philosophy-06__content-01__detail-01__txt.left-top {
  position: relative;
  top: -1em;
  white-space: nowrap;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
@media screen and (max-width: 767px) {
  .philosophy-06__content-01__detail-01__txt.left-top {
    top: auto;
    padding-top: 3.75rem;
  }
}
.philosophy-06__content-01__detail-02__txt.border {
  padding-top: 0.3em;
  position: relative;
}
@media screen and (max-width: 767px) {
  .philosophy-06__content-01__detail-02__txt.border {
    text-align: right;
    padding-top: 1.25rem;
    padding-right: 1.5em;
  }
}
.philosophy-06__content-01__detail-02__txt.border::before {
  content: "";
  position: absolute;
  width: 6.875rem;
  position: absolute;
  height: 1px;
  background: #00338E;
  top: 1.2em;
  left: -6.5em;
}
@media screen and (max-width: 767px) {
  .philosophy-06__content-01__detail-02__txt.border::before {
    display: none;
  }
}
.philosophy-06__content-01__detail-02__txt.right-top {
  position: relative;
  top: -1em;
}
@media screen and (max-width: 767px) {
  .philosophy-06__content-01__detail-02__txt.right-top {
    text-align: right;
    top: 0;
    padding-top: 0.9375rem;
  }
}
.philosophy-06__content-01__image {
  width: 8.4375rem;
  margin: 0 auto;
  display: block;
}
@media screen and (max-width: 767px) {
  .philosophy-06__content-01__image {
    width: 6.6875rem;
  }
}
.philosophy-06__content-01__image img + img {
  margin-top: 3.75rem;
}
@media screen and (max-width: 767px) {
  .philosophy-06__content-01__image {
    position: relative;
  }
  .philosophy-06__content-01__image .box-left {
    position: absolute;
    left: -6.875rem;
    top: 5rem;
    width: 7.09375rem;
    height: 8.59375rem;
    border-top: 1px solid #00338E;
    border-left: 1px solid #00338E;
  }
  .philosophy-06__content-01__image .box-right-bottom {
    position: absolute;
    right: -5rem;
    top: 5rem;
    width: 5.5rem;
    height: 25.1875rem;
    border-top: 1px solid #00338E;
    border-right: 1px solid #00338E;
  }
  .philosophy-06__content-01__image .box-right-top {
    position: absolute;
    right: -6.875rem;
    top: 0.9375rem;
    width: 7.59375rem;
    height: 32.15625rem;
    border-top: 1px solid #00338E;
    border-right: 1px solid #00338E;
  }
}
@media screen and (max-width: 767px) {
  .philosophy-06__content-01__image-02 {
    width: 8.4375rem;
  }
}
.philosophy-06__content-01__detail-02__txt {
  padding-left: 1.25rem;
}
@media screen and (max-width: 767px) {
  .philosophy-06__content-01__detail-02__txt {
    padding-left: 0rem;
  }
}
.philosophy-06__content-01__detail-02__txt-bottom {
  padding-top: 9.375rem;
}
@media screen and (max-width: 767px) {
  .philosophy-06__content-01__detail-02__txt-bottom {
    padding-top: 1.5625rem;
  }
}
.philosophy-06 .plus {
  margin: 1.25rem 0 2.8125rem;
  position: relative;
}
.philosophy-06 .plus::after {
  content: "";
  position: absolute;
  width: 6.875rem;
  position: absolute;
  height: 1px;
  background: #00338E;
  top: 0em;
  right: -6.5em;
}
@media screen and (max-width: 767px) {
  .philosophy-06 .plus::after {
    display: none;
  }
}
.philosophy-06 .plus span {
  display: block;
  background: #00338E;
}
.philosophy-06 .plus span:nth-child(1) {
  width: 1.25rem;
  height: 0.0625rem;
  position: absolute;
}
.philosophy-06 .plus span:nth-child(2) {
  height: 1.25rem;
  width: 0.0625rem;
  position: absolute;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  top: -0.625rem;
  left: 0.59375rem;
}

#services {
  /*-----------------------
  .banner
  -------------------------*/
}
@media screen and (min-width: 767px) {
  #services .banner-block-left {
    display: -ms-grid;
    display: grid;
    place-items: center;
    max-width: 26.875rem;
    width: 26.875rem;
  }
  #services .banner-block-left img {
    width: 130%;
    height: auto;
    margin: 0 0 0 auto;
  }
}
@media screen and (min-width: 767px) {
  #services .banner-block-right {
    width: calc(100% - 26.875rem);
  }
}

/*-----------------------
.services-02
-------------------------*/
.services-02 {
  display: -ms-grid;
  display: grid;
  gap: 5rem;
  padding-top: 5rem;
}
@media screen and (max-width: 767px) {
  .services-02 {
    padding-top: 2.8125rem;
    gap: 3.275rem;
  }
}
@media screen and (min-width: 767px) {
  .services-02__block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.services-02__block h2 {
  font-size: 1.25rem;
  margin-bottom: 1.5625rem;
}
@media screen and (max-width: 1024px) {
  .services-02__block h2 {
    font-size: 1.15625rem;
  }
}
@media screen and (max-width: 520px) {
  .services-02__block h2 {
    font-size: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .services-02__block h2 {
    margin-top: 1.009375rem;
    margin-bottom: 0.85625rem;
  }
}
@media screen and (min-width: 767px) {
  .services-02__block__image {
    max-width: 20.4375rem;
    width: 20.4375rem;
  }
}
.services-02__block__text {
  padding-left: 3.75rem;
  padding-right: 3.75rem;
  font-size: 0.9375rem;
  line-height: 1.666;
}
@media screen and (max-width: 767px) {
  .services-02__block__text {
    padding-left: 0rem;
    padding-right: 0rem;
  }
}
@media screen and (min-width: 767px) {
  .services-02__block__text {
    width: calc(100% - 20.4375rem);
  }
}
.services-02__block.services-02__block-left .services-02__block__image {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
.services-02__block.services-02__block-left .services-02__block__text {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  padding-left: 0rem;
}
@media screen and (max-width: 767px) {
  .services-02__block.services-02__block-left .services-02__block__text {
    padding-left: 0rem;
    padding-right: 0rem;
  }
}
.services-02__block.services-02__block-right .services-02__block__text {
  padding-right: 0rem;
}

/*-----------------------
.service-03
-------------------------*/
.service-03 {
  margin-top: 6.25rem;
  margin-bottom: 6.28125rem;
}
@media screen and (max-width: 767px) {
  .service-03 {
    margin-top: 4.78125rem;
    margin-bottom: 4.703125rem;
  }
}

.service-03__list {
  margin-top: 3.6rem;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1.6375rem 1fr 1.6375rem 1fr;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 3.15625rem 1.6375rem;
}
@media screen and (max-width: 767px) {
  .service-03__list {
    margin-top: 1.90625rem;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 2.8125rem;
  }
}

.service-03__list__item__image {
  overflow: hidden;
  position: relative;
}
.service-03__list__item__image::before {
  content: "";
  display: block;
  padding-top: 66.6666666667%;
}
@media screen and (max-width: 767px) {
  .service-03__list__item__image::before {
    padding-top: 52.2388059701%;
  }
}
.service-03__list__item__image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.service-03__list__item__content {
  margin-top: 1.03125rem;
}
@media screen and (max-width: 767px) {
  .service-03__list__item__content {
    margin-top: 1.00625rem;
  }
}
.service-03__list__item__content h3 {
  font-size: 1.0625rem;
}
@media screen and (max-width: 520px) {
  .service-03__list__item__content h3 {
    font-size: 1rem;
  }
}
.service-03__list__item__content p {
  font-weight: normal;
  line-height: 1.75;
  font-size: 0.9375rem;
  margin-top: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .service-03__list__item__content p {
    margin-top: 1.1875rem;
  }
}
.service-03__list__item__content .more {
  margin-top: 1.125rem;
}
@media screen and (max-width: 767px) {
  .service-03__list__item__content .more {
    margin-top: 1rem;
    margin-left: auto;
    margin-right: auto;
  }
}

/*-----------------------
.garden-02
-------------------------*/
.garden-02 {
  padding-top: 5rem;
}
@media screen and (max-width: 767px) {
  .garden-02 {
    padding-top: 2.8125rem;
    padding-bottom: 2.5rem;
  }
}
.garden-02 h2 {
  text-align: left;
  line-height: 1;
  margin-bottom: 2.8125rem;
}
@media screen and (max-width: 767px) {
  .garden-02 h2 {
    margin-bottom: 0rem;
    margin: 0 1.25rem;
  }
}
.garden-02 h2::after {
  left: 0;
  -webkit-transform: translateX(0%);
          transform: translateX(0%);
}
.garden-02__inner {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 0.75fr 2.5rem 1fr;
  grid-template-columns: 0.75fr 1fr;
  gap: 2.5rem;
}
@media screen and (max-width: 767px) {
  .garden-02__inner {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 1.5625rem;
    padding: 0;
    max-width: 100%;
  }
}
.garden-02__text p {
  font-size: 0.9375rem;
  line-height: 1.7333;
  max-width: 37.5rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .garden-02__text p {
    padding: 0 1.25rem;
  }
}
.garden-02__image {
  position: relative;
  padding-top: 52.7950310559%;
}
@media screen and (max-width: 767px) {
  .garden-02__image {
    padding-top: unset;
  }
}
.garden-02__image img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  text-align: center;
  height: 100%;
  width: auto;
}
@media screen and (max-width: 767px) {
  .garden-02__image img {
    position: relative;
    width: 100%;
    top: auto;
    left: auto;
    -webkit-transform: none;
            transform: none;
    height: auto;
  }
}

/*-----------------------
.garden-03
-------------------------*/
.garden-03__inner {
  padding-bottom: 4.6875rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .garden-03__inner {
    padding-bottom: 3.125rem;
  }
}
.garden-03__inner::before {
  content: "";
  background: rgba(0, 51, 142, 0.2);
  width: calc(100% - 120px);
  max-width: 1180px;
  height: 1px;
  position: absolute;
  left: 60px;
  bottom: 0;
}
@media screen and (max-width: 767px) {
  .garden-03__inner::before {
    left: 1.25rem;
    width: calc(100% - 2.5rem);
  }
}

.garden-03__list {
  margin-top: 3.6rem;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1.5625rem 1fr 1.5625rem 1fr;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 3.75rem 1.5625rem;
}
@media screen and (max-width: 767px) {
  .garden-03__list {
    margin-top: 1.90625rem;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
}

.garden-03__list__item__image {
  overflow: hidden;
  position: relative;
}
.garden-03__list__item__image::before {
  content: "";
  display: block;
  padding-top: 56.5476190476%;
}
@media screen and (max-width: 767px) {
  .garden-03__list__item__image::before {
    padding-top: 52.2388059701%;
  }
}
.garden-03__list__item__image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.garden-03__list__item__content {
  margin-top: 1.03125rem;
}
@media screen and (max-width: 767px) {
  .garden-03__list__item__content {
    margin-top: 1.00625rem;
  }
}
.garden-03__list__item__content h3 {
  font-size: 1.0625rem;
}
@media screen and (max-width: 520px) {
  .garden-03__list__item__content h3 {
    font-size: 1rem;
  }
}
.garden-03__list__item__content p {
  font-weight: normal;
  line-height: 1.75;
  font-size: 0.9375rem;
  margin-top: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .garden-03__list__item__content p {
    margin-top: 0.75rem;
  }
}

/*-----------------------
.garden-04
-------------------------*/
.garden-04 {
  padding-top: 5rem;
  padding-bottom: 4.6875rem;
}
@media screen and (max-width: 767px) {
  .garden-04 {
    padding-top: 2.8125rem;
    padding-bottom: 3.75rem;
  }
}
.garden-04 h2 {
  text-align: left;
  line-height: 1;
  margin-bottom: 2.8125rem;
}
@media screen and (max-width: 767px) {
  .garden-04 h2 {
    margin-bottom: 0rem;
    margin: 0 1.25rem;
  }
}
.garden-04 h2::after {
  left: 0;
  -webkit-transform: translateX(0%);
          transform: translateX(0%);
}
.garden-04__inner {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 0.75fr 2.5rem 1fr;
  grid-template-columns: 0.75fr 1fr;
  gap: 2.5rem;
}
@media screen and (max-width: 767px) {
  .garden-04__inner {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 1.5625rem;
    padding: 0;
    max-width: 100%;
  }
}
.garden-04__text p {
  font-size: 0.9375rem;
  line-height: 1.7333;
  max-width: 37.5rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .garden-04__text p {
    padding: 0 1.25rem;
  }
}
.garden-04__image {
  position: relative;
  padding-top: 52.7950310559%;
}
@media screen and (max-width: 767px) {
  .garden-04__image {
    padding-top: unset;
  }
}
.garden-04__image img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  text-align: center;
  height: 100%;
  width: auto;
}
@media screen and (max-width: 767px) {
  .garden-04__image img {
    width: 100%;
    position: relative;
    top: auto;
    left: auto;
    -webkit-transform: none;
    transform: none;
    height: auto;
  }
}

/*-----------------------
.garden-05
-------------------------*/
.garden-05__inner {
  padding-bottom: 6.25rem;
}
@media screen and (max-width: 767px) {
  .garden-05__inner {
    padding-bottom: 4.6875rem;
  }
}

.garden-05__list {
  margin-top: 3.6rem;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1.5625rem 1fr 1.5625rem 1fr;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 3.75rem 1.5625rem;
}
@media screen and (max-width: 767px) {
  .garden-05__list {
    margin-top: 1.90625rem;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
}

.garden-05__list__item__image {
  overflow: hidden;
  position: relative;
}
.garden-05__list__item__image::before {
  content: "";
  display: block;
  padding-top: 56.5476190476%;
}
@media screen and (max-width: 767px) {
  .garden-05__list__item__image::before {
    padding-top: 52.2388059701%;
  }
}
.garden-05__list__item__image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.garden-05__list__item__content {
  margin-top: 1.03125rem;
}
@media screen and (max-width: 767px) {
  .garden-05__list__item__content {
    margin-top: 1.00625rem;
  }
}
.garden-05__list__item__content h3 {
  font-size: 1.0625rem;
}
@media screen and (max-width: 520px) {
  .garden-05__list__item__content h3 {
    font-size: 1rem;
  }
}
.garden-05__list__item__content p {
  font-weight: normal;
  line-height: 1.75;
  font-size: 0.9375rem;
  margin-top: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .garden-05__list__item__content p {
    margin-top: 0.75rem;
  }
}

#corporateinfo {
  /*-----------------------
  .banner
  -------------------------*/
}
@media screen and (min-width: 767px) {
  #corporateinfo .banner-block-left {
    display: -ms-grid;
    display: grid;
    place-items: center;
    max-width: 27.5rem;
    width: 27.5rem;
  }
  #corporateinfo .banner-block-left img {
    width: 80%;
    height: auto;
    margin: 1.25rem 0 0 auto;
  }
}
@media screen and (min-width: 767px) {
  #corporateinfo .banner-block-right {
    width: calc(100% - 27.5rem);
  }
}
#corporateinfo .weight-medium {
  font-weight: bold;
}

.button__center {
  margin-top: 1.6875rem;
}
.button__center a {
  margin: 0 auto;
  font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}

/*-----------------------
.corporateinfo-02
-------------------------*/
.corporateinfo-02 {
  font-size: 0.9375rem;
  padding-top: 1.5625rem;
  padding-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  .corporateinfo-02 {
    padding-bottom: 4.375rem;
  }
}
.corporateinfo-02__list {
  max-width: 39.375rem;
  margin: 0 auto;
}
.corporateinfo-02 dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 1.5625rem 0;
  border-bottom: 1px solid rgba(0, 51, 142, 0.2);
}
@media screen and (max-width: 767px) {
  .corporateinfo-02 dl {
    padding: 1.25rem 0;
  }
}
@media screen and (max-width: 520px) {
  .corporateinfo-02 dl {
    display: -ms-grid;
    display: grid;
  }
}
.corporateinfo-02 dl dt {
  width: 32.5396825397%;
  padding-top: 0.1em;
  font-weight: bold;
}
.corporateinfo-02 dl dd {
  line-height: 1.733;
  font-weight: normal;
}

/*-----------------------
.corporateinfo-03
-------------------------*/
.corporateinfo-03 {
  max-width: 51.5rem;
  margin: 0 auto;
  padding-bottom: 4.375rem;
}
@media screen and (max-width: 767px) {
  .corporateinfo-03 {
    padding-bottom: 2.8125rem;
  }
}
.corporateinfo-03__list {
  padding-top: 3.125rem;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 3.75rem 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 3.75rem;
}
@media screen and (max-width: 767px) {
  .corporateinfo-03__list {
    gap: 2.1875rem;
    padding-top: 1.875rem;
  }
}
@media screen and (max-width: 520px) {
  .corporateinfo-03__list {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}
.corporateinfo-03__list__item__content h3 {
  font-size: 1.0625rem;
  padding-top: 1.125rem;
}
@media screen and (max-width: 520px) {
  .corporateinfo-03__list__item__content h3 {
    font-size: 1rem;
  }
}
.corporateinfo-03__list__item__content p {
  font-size: 0.9375rem;
  padding-top: 0.625rem;
  line-height: 1.7;
  font-weight: normal;
}
.corporateinfo-03__list__item__content a {
  display: inline-block;
  margin-top: 0.5rem;
}
.corporateinfo-03 .more {
  padding-left: inherit;
  padding-right: inherit;
  width: 9.125rem;
  white-space: nowrap;
}
.corporateinfo-03 .more img {
  margin-left: 0.2rem;
}

/*-----------------------
.corporateinfo-04
-------------------------*/
.corporateinfo-04 {
  padding-bottom: 5.625rem;
}
@media screen and (max-width: 767px) {
  .corporateinfo-04 {
    padding-bottom: 4.0625rem;
  }
}
.corporateinfo-04__list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1.1fr 1fr;
  grid-template-columns: 1fr 1.1fr 1fr;
}
@media screen and (max-width: 767px) {
  .corporateinfo-04__list {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}
.corporateinfo-04__list__item {
  padding: 0.9375rem 0;
}
@media screen and (max-width: 767px) {
  .corporateinfo-04__list__item {
    border-bottom: 1px solid rgba(0, 51, 142, 0.2);
    padding: 1.25rem 0;
  }
}
.corporateinfo-04__list__item h3 {
  font-size: 1.0625rem;
  margin-bottom: 0.3125rem;
}
.corporateinfo-04__list__item p {
  font-size: 0.875rem;
  letter-spacing: 0.025em;
  line-height: 1.7;
  font-weight: normal;
}
.corporateinfo-04__list__item:nth-child(1) {
  padding-right: 2.5rem;
  border-right: 1px solid rgba(0, 51, 142, 0.2);
}
@media screen and (max-width: 767px) {
  .corporateinfo-04__list__item:nth-child(1) {
    padding-right: 0rem;
    border-right: 0;
  }
}
.corporateinfo-04__list__item:nth-child(2) {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
  border-right: 1px solid rgba(0, 51, 142, 0.2);
}
@media screen and (max-width: 767px) {
  .corporateinfo-04__list__item:nth-child(2) {
    padding: 1.25rem 0;
    border-right: 0;
  }
}
.corporateinfo-04__list__item:nth-child(3) {
  padding-left: 2.5rem;
}
@media screen and (max-width: 767px) {
  .corporateinfo-04__list__item:nth-child(3) {
    padding-left: 0rem;
  }
}
.corporateinfo-04__list__item a {
  display: inline-block;
  margin-top: 0.5rem;
}
.corporateinfo-04 .more {
  width: 9.125rem;
  padding: 0.578125rem 1.25rem;
}
.corporateinfo-04 .more img {
  margin-left: 0.1rem;
}

/*-----------------------
.corporateinfo-05
-------------------------*/
.corporateinfo-05 {
  padding-bottom: 5.625rem;
}
@media screen and (max-width: 767px) {
  .corporateinfo-05 {
    padding-bottom: 3.75rem;
  }
}
.corporateinfo-05__list {
  max-width: 51.5rem;
  padding-top: 1.5625rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .corporateinfo-05__list {
    padding-top: 0.3125rem;
  }
}
.corporateinfo-05__list dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 0.9375rem;
  padding: 1.5625rem 0;
  border-bottom: 1px solid rgba(0, 51, 142, 0.2);
}
@media screen and (max-width: 767px) {
  .corporateinfo-05__list dl {
    display: -ms-grid;
    display: grid;
  }
}
.corporateinfo-05__list dl dt {
  width: 40.5339805825%;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .corporateinfo-05__list dl dt {
    width: 100%;
    font-size: 1rem;
    margin-bottom: 0.625rem;
  }
}
.corporateinfo-05__list dl dt img {
  max-width: 15rem;
}
@media screen and (max-width: 767px) {
  .corporateinfo-05__list dl dt img {
    max-width: 100%;
  }
}
.corporateinfo-05__list dl dd {
  width: 59.4660194175%;
  font-weight: normal;
  line-height: 1.666;
}
@media screen and (max-width: 767px) {
  .corporateinfo-05__list dl dd {
    width: 100%;
  }
}
.corporateinfo-05__list dl dd span.address {
  display: block;
}
@media screen and (max-width: 767px) {
  .corporateinfo-05__list dl dd span.address {
    display: block;
    margin-bottom: 0.5rem;
  }
}
.corporateinfo-05__list__inner {
  padding-top: 1.875rem;
}
@media screen and (max-width: 767px) {
  .corporateinfo-05__list__inner {
    border-bottom: 0;
    padding-bottom: 0;
    padding-top: 1.25rem;
  }
}
.corporateinfo-05__list__inner dl {
  padding-top: 0.9375rem;
  padding-bottom: 1.875rem;
}
@media screen and (max-width: 767px) {
  .corporateinfo-05__list__inner:first-of-type {
    border-top: 0;
  }
}

/*-----------------------
.corporateinfo-06
-------------------------*/
.corporateinfo-06 {
  padding-bottom: 8.125rem;
}
@media screen and (max-width: 767px) {
  .corporateinfo-06 {
    padding-bottom: 4.0625rem;
  }
}
@media screen and (max-width: 767px) {
  .corporateinfo-06__ttl {
    margin-bottom: 0.4375rem;
  }
}
.corporateinfo-06__list {
  max-width: 51.5rem;
  padding-top: 2.8125rem;
  margin: 0 auto;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 3.125rem 1fr 3.125rem 1fr;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 3.125rem;
  font-size: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .corporateinfo-06__list {
    padding-top: 0rem;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
}
.corporateinfo-06__list__image {
  margin-bottom: 0.625rem;
}
@media screen and (max-width: 767px) {
  .corporateinfo-06__list__inner {
    border-bottom: 1px solid rgba(0, 51, 142, 0.2);
    padding-bottom: 1.25rem;
  }
}
.corporateinfo-06__heading {
  font-size: 0.9375rem;
  margin-top: 2.8125rem;
  text-align: center;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .corporateinfo-06__heading {
    text-align: left;
    margin-top: 1.5625rem;
    margin-bottom: 1.25rem;
  }
}
.corporateinfo-06__notice {
  background: #F2F5F9;
  max-width: 51.5rem;
  margin: 1.875rem auto 0;
  padding: 1.25rem 2.8125rem;
  font-size: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .corporateinfo-06__notice {
    background: none;
    padding: 0 0 1.25rem 0;
    margin: 1.25rem auto 0;
    border-bottom: 1px solid rgba(0, 51, 142, 0.2);
  }
}
.corporateinfo-06__notice ul {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 0 1fr 0 1fr;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0.625rem 0;
}
@media screen and (max-width: 767px) {
  .corporateinfo-06__notice ul {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}
/*-----------------------
.corporateinfo-07
-------------------------*/
.corporateinfo-07 {
  padding-bottom: 5.625rem;
}
@media screen and (max-width: 767px) {
  .corporateinfo-07 {
    padding-bottom: 3.75rem;
  }
}
.corporateinfo-07__list {
  font-size: 0.9375rem;
  font-weight: normal;
  display: -ms-grid;
  display: grid;
  place-items: center;
  padding-top: 2.5rem;
  line-height: 1.666;
}
@media screen and (max-width: 767px) {
  .corporateinfo-07__list {
    place-items: inherit;
  }
}

/*-----------------------
.corporateinfo-08
-------------------------*/
.corporateinfo-08 {
  padding-bottom: 6.25rem;
}
@media screen and (max-width: 767px) {
  .corporateinfo-08 {
    padding-bottom: 5rem;
  }
}
.corporateinfo-08__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  place-items: center;
  font-size: 0.9375rem;
  line-height: 1.666;
  font-weight: normal;
  padding-top: 2.5rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .corporateinfo-08__list {
    display: -ms-grid;
    display: grid;
    place-items: inherit;
    -webkit-box-pack: inherit;
        -ms-flex-pack: inherit;
            justify-content: inherit;
  }
}
.corporateinfo-08__list__item:nth-child(2) {
  padding-left: 2.1875rem;
}
@media screen and (max-width: 767px) {
  .corporateinfo-08__list__item:nth-child(2) {
    padding-left: 0rem;
  }
}

/*-----------------------
.corporateinfo-09
-------------------------*/
.corporateinfo-09 {
  margin-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  .corporateinfo-09 {
    margin-bottom: 3.75rem;
  }
}
.corporateinfo-09__image {
  max-width: 51.5rem;
  margin: 2.8125rem auto 0;
}
@media screen and (max-width: 767px) {
  .corporateinfo-09__image {
    margin: 1.875rem auto 0;
  }
}
.corporateinfo-09__list {
  max-width: 51.5rem;
  padding-top: 0.9375rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .corporateinfo-09__list {
    padding-top: 0.3125rem;
  }
}
.corporateinfo-09__list__inner {
  border-bottom: 1px solid rgba(0, 51, 142, 0.2);
  padding-top: 1.5625rem;
  padding-bottom: 0.3125rem;
}
@media screen and (max-width: 767px) {
  .corporateinfo-09__list__inner {
    padding-top: 1.25rem;
    padding-bottom: 0;
  }
}
.corporateinfo-09__list h3 {
  color: #00338E;
  font-size: 1.0625rem;
  margin-bottom: 1.25rem;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .corporateinfo-09__list h3 {
    font-size: 1rem;
  }
}
.corporateinfo-09__list__row {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr 1fr;
  grid-template-columns: 1fr 1fr 1fr;
  margin-bottom: 1.25rem;
}
@media screen and (max-width: 767px) {
  .corporateinfo-09__list__row {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
}
.corporateinfo-09__list__row.corporateinfo-09__list__col02 {
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
}
@media screen and (max-width: 767px) {
  .corporateinfo-09__list__row.corporateinfo-09__list__col02 {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}
.corporateinfo-09__list dl dt {
  margin-bottom: 0.3125rem;
  font-size: 0.9375rem;
}
.corporateinfo-09__list dl dd {
  line-height: 1.7;
  font-size: 0.875rem;
}
.corporateinfo-09__list dl dd span {
  display: block;
  padding-left: 1.5em;
  text-indent: -1.5em;
}
.corporateinfo-09__notice {
  background: #F2F5F9;
  max-width: 51.5rem;
  margin: 1.875rem auto 0;
  text-align: center;
  padding: 1.25rem;
  border-radius: 0.3125rem;
  font-size: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .corporateinfo-09__notice {
    margin: 1.5625rem auto 0;
    text-align: left;
    padding: 1.875rem 0.9375rem;
  }
}
.corporateinfo-09__notice p {
  margin-bottom: 0.3125rem;
}
.corporateinfo-09__notice a {
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .corporateinfo-09__notice a {
    display: block;
  }
}
.corporateinfo-09__notice a:nth-of-type(2) {
  margin-left: 3.75rem;
}
@media screen and (max-width: 767px) {
  .corporateinfo-09__notice a:nth-of-type(2) {
    margin-left: 0;
    margin-top: 0.5rem;
  }
}
.corporateinfo-09 .button__center {
  margin-top: 1.875rem;
}

/*-----------------------
  .corporate-about-02
  -------------------------*/
.corporate-about-02 {
  margin-top: 5.28125rem;
  margin-bottom: 6.28125rem;
}
@media screen and (max-width: 767px) {
  .corporate-about-02 {
    margin-top: 2.8125rem;
    margin-bottom: 4.6875rem;
  }
}
.corporate-about-02__list {
  max-width: 51.875rem;
  margin-left: auto;
  margin-right: auto;
  display: -ms-grid;
  display: grid;
  row-gap: 3.15625rem;
  -webkit-column-gap: 3.05rem;
     -moz-column-gap: 3.05rem;
          column-gap: 3.05rem;
}
@media screen and (max-width: 767px) {
  .corporate-about-02__list {
    -ms-grid-rows: 1;
    grid-template-rows: 1;
  }
}
@media screen and (min-width: 767px) {
  .corporate-about-02__list li:first-child {
    -ms-grid-column: 1;
        grid-column-start: 1;
    -ms-grid-column-span: 2;
    grid-column-end: 3;
  }
}
@media screen and (min-width: 767px) {
  .corporate-about-02__list li:not(:first-child) {
    -ms-grid-row: 2;
    grid-row: 2;
  }
}
.corporate-about-02 figure {
  overflow: hidden;
  position: relative;
}
.corporate-about-02 figure::before {
  content: "";
  display: block;
}
@media screen and (max-width: 767px) {
  .corporate-about-02 figure::before {
    padding-top: 52.2388059701%;
  }
}
@media screen and (max-width: 767px) {
  .corporate-about-02 figure img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}
.corporate-about-02__list__item__content {
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .corporate-about-02__list__item__content {
    margin-top: 1.0625rem;
  }
}
.corporate-about-02__list__item__content h2 {
  font-size: 1.25rem;
  margin-bottom: 1.25rem;
}
@media screen and (max-width: 767px) {
  .corporate-about-02__list__item__content h2 {
    margin-bottom: 1.0625rem;
  }
}
.corporate-about-02__list__item__content p {
  font-weight: normal;
  font-size: 0.9375rem;
  line-height: 2;
  margin-bottom: 0.8125rem;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .corporate-about-02__list__item__content p {
    line-height: 1.766;
  }
}

#corporatehistory .corporatehistory-02__list img:not(.open-icon) {
  margin-top: 0.8em;
}
#corporatehistory .corporatehistory-02__list .open-icon {
  margin-left: 0.2rem;
  margin-right: 0.2rem;
}
#corporatehistory ul {
  list-style: none;
}
#corporatehistory ul li {
  padding-left: 1.25em;
  text-indent: -1.1em;
  list-style: none;
}

/*-----------------------
.corporatehistory-02
-------------------------*/
.corporatehistory-01 {
  overflow: hidden;
}
.corporatehistory-01__block {
  padding-top: 4.375rem;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 25rem;
  grid-template-columns: 1fr 25rem;
  max-width: 60.625rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .corporatehistory-01__block {
    padding-top: 0.9375rem;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}
.corporatehistory-01__text {
  font-size: 0.9375rem;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .corporatehistory-01__text {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}
.corporatehistory-01__text p {
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
.corporatehistory-01__text h2 {
  font-size: 1.25rem;
  margin-bottom: 1.25rem;
}
@media screen and (max-width: 767px) {
  .corporatehistory-01__text h2 {
    font-size: 1.15625rem;
    margin-bottom: 0.625rem;
  }
}
.corporatehistory-01__text b {
  display: block;
  margin-bottom: 1.25rem;
}
@media screen and (max-width: 767px) {
  .corporatehistory-01__text b {
    margin-bottom: 0.625rem;
    font-size: 1rem;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
  }
}
@media screen and (max-width: 767px) {
  .corporatehistory-01__image {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}
@media screen and (max-width: 767px) {
  .corporatehistory-01__image img {
    margin-left: -2.5rem;
    width: 110%;
    max-width: 110%;
  }
}

/*-----------------------
.corporatehistory-02
-------------------------*/
.corporatehistory-02 {
  font-size: 0.9375rem;
  padding-top: 1.25rem;
  padding-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  .corporatehistory-02 {
    padding-bottom: 4.375rem;
  }
}
.corporatehistory-02__list {
  max-width: 53.125rem;
  margin: 0 auto;
}
.corporatehistory-02 dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 1.5625rem 0;
  border-bottom: 1px solid rgba(0, 51, 142, 0.2);
}
@media screen and (max-width: 767px) {
  .corporatehistory-02 dl {
    padding: 1.25rem 0;
  }
}
@media screen and (max-width: 520px) {
  .corporatehistory-02 dl {
    display: -ms-grid;
    display: grid;
  }
}
.corporatehistory-02 dl dt {
  width: 23.5294117647%;
  padding-top: 0.1em;
  font-size: 1.0625rem;
}
@media screen and (max-width: 520px) {
  .corporatehistory-02 dl dt {
    font-size: 1rem;
    width: 100%;
  }
}
.corporatehistory-02 dl dt .year {
  display: none;
}
@media screen and (max-width: 767px) {
  .corporatehistory-02 dl dt .year {
    display: inline-block;
  }
}
.corporatehistory-02 dl dd {
  line-height: 1.733;
  font-weight: normal;
  width: 76.4705882353%;
}
@media screen and (max-width: 520px) {
  .corporatehistory-02 dl dd {
    width: 100%;
  }
}

/*-----------------------
sdgs取り組み共通パーツ .sdgs-engagement-block
-------------------------*/
.sdgs-engagement-block {
  padding-top: 5.25rem;
  padding-bottom: 6.25rem;
}
@media screen and (max-width: 767px) {
  .sdgs-engagement-block {
    padding-top: 4.375rem;
    padding-bottom: 4.6875rem;
  }
}
.sdgs-engagement-block:nth-of-type(odd) {
  background-color: #F2F5F9;
}
@media screen and (min-width: 767px) {
  .sdgs-engagement-block:nth-of-type(odd) .sdgs-engagement-block__wrapper {
    -ms-grid-columns: 51.8% 42.3%;
    grid-template-columns: 51.8% 42.3%;
  }
}
@media screen and (min-width: 767px) {
  .sdgs-engagement-block:nth-of-type(odd) .sdgs-engagement-block__image {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}
.sdgs-engagement-block__inner {
  max-width: 54.875rem;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}
.sdgs-engagement-block__wrapper {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 42.3% 5.8% 51.8%;
  grid-template-columns: 42.3% 51.8%;
  -webkit-column-gap: 5.8%;
     -moz-column-gap: 5.8%;
          column-gap: 5.8%;
}
@media screen and (max-width: 767px) {
  .sdgs-engagement-block__wrapper {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
}
.sdgs-engagement-block__content__ttl {
  display: inline-block;
  position: relative;
  padding-right: 1.375rem;
  padding-bottom: 0.125rem;
  position: relative;
}
.sdgs-engagement-block__content__ttl::after {
  content: "";
  width: 100%;
  height: 0.0625rem;
  background-color: #00338E;
  position: absolute;
  left: 0;
  bottom: 0;
}
.sdgs-engagement-block__content__ttl h2 {
  color: #00338E;
  font-size: 0.9375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .sdgs-engagement-block__content__ttl h2 {
    line-height: 1;
  }
}
.sdgs-engagement-block__content__ttl .en {
  font-weight: bold;
  font-size: 1.875rem;
  margin-right: 1.25rem;
}
.sdgs-engagement-block__content__subttl {
  color: #00338E;
  font-size: 1.25rem;
  font-weight: bold;
  margin-top: 1.5625rem;
}
@media screen and (max-width: 767px) {
  .sdgs-engagement-block__content__subttl {
    margin-top: 1.5625rem;
  }
}
.sdgs-engagement-block__content__sdgs-image {
  height: 3.75rem;
  margin-top: 1.5625rem;
}
@media screen and (max-width: 767px) {
  .sdgs-engagement-block__content__sdgs-image {
    margin-top: 1.5625rem;
  }
}
.sdgs-engagement-block__content__sdgs-image img {
  max-height: 100%;
  width: auto;
}
.sdgs-engagement-block__content__detail {
  margin-top: 1.5625rem;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .sdgs-engagement-block__content__detail {
    margin-top: 1.25rem;
  }
}
.sdgs-engagement-block__content__detail h4 {
  font-size: 1.25rem;
  font-weight: bold;
}
.sdgs-engagement-block__content__detail__txt {
  font-size: 0.9375rem;
  margin-top: 1.125rem;
}
@media screen and (max-width: 767px) {
  .sdgs-engagement-block__content__detail__txt {
    margin-top: 1.34375rem;
  }
}
.sdgs-engagement-block__gallery {
  margin-top: 1.6875rem;
}
@media screen and (max-width: 767px) {
  .sdgs-engagement-block__gallery {
    margin-top: 1.5625rem;
  }
}
.sdgs-engagement-block__gallery__ttl {
  margin-top: 0;
  font-size: 0.8125rem;
  font-weight: normal;
  margin-bottom: 0.5rem;
}
.sdgs-engagement-block__gallery__notion {
  font-weight: normal;
  font-size: 0.9375rem !important;
  margin-top: 0.3125rem !important;
  display: inline-block;
}
.sdgs-engagement-block__imageblock {
  max-width: 41.625rem;
  margin: 2.8125rem auto 0;
}
.sdgs-engagement-block__button {
  margin-top: 1.5625rem;
}
.sdgs-engagement-block__button a {
  border-radius: 6.25rem;
  border: 1px solid #00338E;
  color: #00338E;
  display: block;
  width: 18.75rem;
  max-width: 100%;
  font-size: 0.8125rem;
  text-align: center;
  padding: 0.75rem 1em;
}
@media screen and (max-width: 767px) {
  .sdgs-engagement-block__button a {
    margin: 0 auto;
    font-size: 0.9375rem;
    width: 19.6875rem;
  }
}
.sdgs-engagement-block__case {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 41.625rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .sdgs-engagement-block__case {
    display: -ms-grid;
    display: grid;
  }
}
.sdgs-engagement-block__case-title {
  color: #00338E;
  font-size: 0.9375rem;
  font-weight: bold;
  position: relative;
  line-height: 1;
}
@media screen and (max-width: 520px) {
  .sdgs-engagement-block__case-title {
    padding-left: 4em;
    text-indent: -4em;
    line-height: 1.5;
  }
}
.sdgs-engagement-block__case-title::before {
  content: "";
  position: absolute;
  background: #00338E;
  left: 0;
  top: 1.875rem;
  width: 1.25rem;
  height: 1px;
}
@media screen and (max-width: 767px) {
  .sdgs-engagement-block__case-title::before {
    top: auto;
    bottom: -0.5rem;
  }
}
@media screen and (max-width: 520px) {
  .sdgs-engagement-block__case-title::before {
    top: 2em;
    bottom: auto;
  }
}
.sdgs-engagement-block__case img {
  display: block;
  max-width: 12.5rem;
  margin: 0 0 0 auto;
  height: 3.75rem;
  width: auto;
}
@media screen and (max-width: 767px) {
  .sdgs-engagement-block__case img {
    margin: 1.875rem auto 0 0;
  }
}
.sdgs-engagement-block__line {
  border-color: rgba(0, 51, 142, 0.1);
}

/*-----------------------
.sdgs-01
-------------------------*/
.sdgs-01 {
  margin-bottom: 5.625rem;
}
.sdgs-01 p {
  font-size: 0.9375rem;
  line-height: 1.75;
  font-weight: normal;
  max-width: 43.75rem;
  margin: 5rem auto 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .sdgs-01 p {
    margin: 2.8125rem auto 4.375rem;
    text-align: left;
  }
}

/*-----------------------
.sdgs-02
-------------------------*/
.sdgs-02 {
  text-align: center;
  background-color: #F2F5F9;
  padding-top: 2.5rem;
  padding-bottom: 3.125rem;
  margin-bottom: 5.625rem;
}
@media screen and (max-width: 767px) {
  .sdgs-02 {
    padding-top: 2.5rem;
    padding-bottom: 2.8125rem;
    margin-bottom: 4.375rem;
  }
}
.sdgs-02__txt {
  font-size: 0.9375rem;
  line-height: 1.75;
}
@media screen and (max-width: 520px) {
  .sdgs-02__txt {
    text-align: left;
  }
}
.sdgs-02__ttl {
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 767px) {
  .sdgs-02__ttl {
    margin-bottom: 1.875rem;
  }
}
.sdgs-02 .sdgs-vision-wrap {
  display: -ms-grid;
  display: grid;
  place-items: center;
  position: relative;
  margin: 2.5rem 0 1.875rem;
}
@media screen and (max-width: 767px) {
  .sdgs-02 .sdgs-vision-wrap {
    margin: 1.25rem 0 0.9375rem;
  }
}

/*-----------------------
.sdgs-03
-------------------------*/
.sdgs-03__box {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 3.28125rem 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 3.28125rem;
  border: 1px solid rgba(0, 51, 142, 0.2);
  padding: 2.8125rem;
  border-radius: 0.625rem;
  max-width: 56.1875rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .sdgs-03__box {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 1.0625rem;
    border-radius: 0.3125rem;
    padding: 1.875rem 0.9375rem;
  }
}
@media screen and (max-width: 767px) {
  .sdgs-03__box__left {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}
.sdgs-03__box__left h3 {
  font-size: 0.9375rem;
  margin-bottom: 1.5625rem;
}
@media screen and (max-width: 767px) {
  .sdgs-03__box__left h3 {
    margin-bottom: 1.0625rem;
  }
}
.sdgs-03__box__left p {
  font-size: 0.8125rem;
  font-weight: normal;
  line-height: 1.75;
}
.sdgs-03__box__left p + p{
  margin-top: 1.5625rem;
}
@media screen and (max-width: 767px) {
  .sdgs-03__box__left p + p {
    margin-top: 1.0625rem;
  }
}

.sdgs-03-GIFUSDGs__box {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 7fr 3.28125rem 2fr;
  grid-template-columns: 7fr 2fr;
  gap: 3.28125rem;
  border: 1px solid rgba(0, 51, 142, 0.2);
  padding: 2.8125rem;
  border-radius: 0.625rem;
  max-width: 56.1875rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .sdgs-03-GIFUSDGs__box {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 1.0625rem;
    border-radius: 0.3125rem;
    padding: 1.875rem 0.9375rem;
  }
}
.sdgs-03-GIFUSDGs__box img{
  inline-size: fit-content;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .sdgs-03-GIFUSDGs__box img{
    max-width: 61.8%;
  }
}

/*-----------------------
.sdgs-04
-------------------------*/
.sdgs-04 {
  margin-top: 4.8125rem;
}
@media screen and (max-width: 767px) {
  .sdgs-04 {
    margin-top: 4.5rem;
  }
}
@media screen and (max-width: 767px) {
  .sdgs-04__inner {
    max-width: 100%;
  }
}
.sdgs-04__menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-left: -2.5em;
}
@media screen and (max-width: 767px) {
  .sdgs-04__menu {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (minmax(0, 1fr))[3];
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media screen and (max-width: 520px) {
  .sdgs-04__menu {
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
    white-space: nowrap;
    margin-left: 0;
  }
}
@media screen and (min-width: 767px) {
  .sdgs-04__menu {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.sdgs-04__menu li {
  padding-left: 2.5em;
}
@media screen and (max-width: 767px) {
  .sdgs-04__menu li {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 520px) {
  .sdgs-04__menu li {
    padding-left: 0;
  }
}
.sdgs-04__menu a {
  display: block;
  color: #000;
  font-size: 0.9375rem;
  position: relative;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .sdgs-04__menu a {
    padding-right: 1.875rem;
  }
}
@media screen and (max-width: 520px) {
  .sdgs-04__menu a {
    font-size: 0.8125rem;
    padding-right: 0rem;
    display: inline-block;
  }
}
@media screen and (min-width: 767px) {
  .sdgs-04__menu a {
    padding-bottom: 1.34375rem;
  }
}
.sdgs-04__menu a::after {
  content: "";
  display: block;
  width: 0.375rem;
  height: 0.375rem;
  border-top: 1px solid #00338E;
  border-right: 1px solid #00338E;
  -webkit-transform: rotate(135deg) translateX(-50%);
          transform: rotate(135deg) translateX(-50%);
  position: absolute;
  -webkit-transition: all 0.1s;
  transition: all 0.1s;
}
@media screen and (max-width: 767px) {
  .sdgs-04__menu a::after {
    width: 0.3125rem;
    height: 0.3125rem;
    top: 50%;
    right: 0;
  }
}
@media screen and (max-width: 520px) {
  .sdgs-04__menu a::after {
    right: -1em;
    width: 0.5rem;
    height: 0.5rem;
    top: calc(50% - 0.15625rem);
  }
}
@media screen and (min-width: 767px) {
  .sdgs-04__menu a::after {
    left: calc(50% - 0.1875rem);
    bottom: 0;
  }
}
@media screen and (min-width: 767px) {
  .sdgs-04__menu a:hover::after {
    bottom: -0.125rem;
  }
}
@media screen and (max-width: 520px) {
  .sdgs-04__menu .self-end {
    -ms-grid-column-align: end;
        justify-self: end;
    padding-right: 1em;
  }
}

/*-----------------------
.sdgs-05
-------------------------*/
.sdgs-05 .sdgs-engagement-block__gallery {
  margin-top: -0.1375rem;
}
@media screen and (max-width: 767px) {
  .sdgs-05 .sdgs-engagement-block__gallery {
    margin-top: 0;
  }
}
@media screen and (min-width: 767px) {
  .sdgs-05 .sdgs-engagement-block__gallery {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-left: -2.9%;
  }
}
.sdgs-05 .sdgs-engagement-block__gallery li {
  padding-top: 1.825rem;
}
@media screen and (min-width: 767px) {
  .sdgs-05 .sdgs-engagement-block__gallery li {
    padding-left: 2.9%;
  }
}
@media screen and (max-width: 767px) {
  .sdgs-05 .sdgs-engagement-block__gallery li {
    padding-top: 1.1875rem;
  }
}
.sdgs-05 .sdgs-engagement-block__gallery li picture {
  display: block;
}
.sdgs-05 .sdgs-engagement-block__gallery li picture img {
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 767px) {
  .sdgs-05 .sdgs-engagement-block__gallery li:first-child {
    width: 54.1%;
  }
}
@media screen and (min-width: 767px) {
  .sdgs-05 .sdgs-engagement-block__gallery li:nth-child(2) {
    width: 45.9%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
}
@media screen and (min-width: 767px) {
  .sdgs-05 .sdgs-engagement-block__gallery li:last-child {
    width: 100%;
  }
}
.sdgs-05 .pdf-text {
  margin-top: 1.25rem;
  display: block;
}
@media screen and (max-width: 767px) {
  .sdgs-05 .pdf-text {
    font-size: 0.9375rem;
    margin-top: 2.1875rem;
  }
}

/*-----------------------
.sdgs-06
-------------------------*/
.sdgs-06 {
  padding-top: 3.4rem;
  padding-bottom: 3.4rem;
}
@media screen and (max-width: 767px) {
  .sdgs-06 {
    padding-top: 2.34375rem;
    padding-bottom: 2.34375rem;
  }
}
.sdgs-06 .sdgs-engagement-block__gallery {
  display: -ms-grid;
  display: grid;
  -webkit-column-gap: 4.4%;
     -moz-column-gap: 4.4%;
          column-gap: 4.4%;
  -ms-grid-columns: 52.7% 4.4% 42.8%;
  grid-template-columns: 52.7% 42.8%;
}
@media screen and (max-width: 767px) {
  .sdgs-06 .sdgs-engagement-block__gallery {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
}

/*-----------------------
.sdgs-07
-------------------------*/
.sdgs-07 {
  padding-top: 6.25rem;
  padding-bottom: 6.98125rem;
}
@media screen and (max-width: 767px) {
  .sdgs-07 {
    padding-top: 4.375rem;
    padding-bottom: 4.375rem;
  }
}
.sdgs-07 .sdgs-engagement-block__gallery {
  display: -ms-grid;
  display: grid;
  -webkit-column-gap: 6%;
     -moz-column-gap: 6%;
          column-gap: 6%;
  -ms-grid-columns: 1fr 6% 1fr;
  grid-template-columns: 1fr 1fr;
}
@media screen and (max-width: 767px) {
  .sdgs-07 .sdgs-engagement-block__gallery {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 1.875rem;
  }
}
@media screen and (max-width: 767px) {
  .sdgs-07 .sdgs-engagement-block__gallery li:last-of-type {
    border-top: 1px solid rgba(0, 51, 142, 0.1);
    padding-top: 1.5625rem;
  }
}
.sdgs-07 .sdgs-engagement-block__gallery a {
  margin-top: 0.75rem;
  font-size: 0.9375rem;
  font-weight: normal;
  letter-spacing: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .sdgs-07 .sdgs-engagement-block__gallery a {
    margin-top: 1.25rem;
  }
}
.sdgs-07 .sdgs-engagement-block__gallery a:hover::after {
  background-image: url(../images/common/open-icon_bk.png);
}
.sdgs-07 .sdgs-engagement-block__gallery a::after {
  content: "";
  background-image: url(../images/common/open-icon_b.png);
  background-repeat: no-repeat;
  background-size: contain;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.sdgs-07 .sdgs-engagement-block__gallery__ttl {
  font-weight: bold;
  font-size: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .sdgs-07 .sdgs-engagement-block__gallery .open-icon {
    width: 0.75rem !important;
    height: 0.75rem !important;
  }
}

/*-----------------------
.sdgs-08
-------------------------*/
.sdgs-08 {
  padding-top: 3.125rem;
  padding-bottom: 3.125rem;
}
@media screen and (max-width: 767px) {
  .sdgs-08 {
    padding-top: 2.1875rem;
  }
}

/*-----------------------
.sdgs-09
-------------------------*/
@media screen and (max-width: 767px) {
  .sdgs-09 {
    padding-top: 2.1875rem;
  }
}
.sdgs-09 .sdgs-engagement-block__wrapper {
  margin-bottom: 3.125rem;
}
.sdgs-09 .sdgs-engagement-block__imageblock {
  margin-top: 0.9375rem;
  margin-bottom: 1.875rem;
}
.sdgs-09 .sdgs-engagement-block__case__sdgs-09-02 {
  padding-top: 1.875rem;
}
@media screen and (max-width: 767px) {
  .sdgs-09 .sdgs-engagement-block__case__sdgs-09-02 {
    padding-top: 0.625rem;
  }
}
.sdgs-09 .sdgs-engagement-block__case__sdgs-09-03 {
  padding-top: 1.875rem;
}
@media screen and (max-width: 767px) {
  .sdgs-09 .sdgs-engagement-block__case__sdgs-09-03 {
    padding-top: 0.625rem;
  }
}
.sdgs-09 .sdgs-engagement-block__case__sdgs-09-04 {
  padding-top: 1.875rem;
}
@media screen and (max-width: 767px) {
  .sdgs-09 .sdgs-engagement-block__case__sdgs-09-04 {
    padding-top: 0.625rem;
  }
}

#management ul li {
  padding-left: 1.5em;
  text-indent: -1.5em;
}

/*-----------------------
.management-01
-------------------------*/
.management-01 {
  margin-bottom: 6.25rem;
}
.management-01__inner {
  text-align: center;
  max-width: 44.375rem;
  width: 100%;
  margin: 0 auto;
  padding: 0;
}
.management-01__page-ttl {
  font-size: 1.375rem;
  margin-bottom: 5rem;
}
.management-01__page-ttl span {
  color: #00338e;
  font-size: 0.8125rem;
}
.management-01__txt {
  font-size: 0.9375rem;
  line-height: 1.75;
  margin-bottom: 3.125rem;
  text-align: left;
  font-weight: normal;
  display: -ms-grid;
  display: grid;
  place-items: center;
}
.management-01 img {
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .management-01 {
    margin-bottom: 3.125rem;
  }
  .management-01__inner {
    text-align: center;
    max-width: 100%;
    width: 100%;
    margin: 0 auto;
    padding: 0;
  }
  .management-01__page-ttl {
    margin-bottom: 2.8125rem;
  }
}
@media screen and (max-width: 520px) {
  .management-01__inner {
    text-align: center;
    width: 100%;
    margin: 0 auto;
    padding: 0;
  }
  .management-01__page-ttl {
    font-size: 1.25rem;
  }
  .management-01__page-ttl span {
    font-size: 0.8125rem;
  }
}

.management-02 {
  margin-bottom: 6.25rem;
  font-weight: normal;
}
.management-02__inner {
  text-align: center;
  max-width: 43.75rem;
  width: 100%;
  margin: 0 auto;
  padding: 0;
}
.management-02__page-ttl {
  font-size: 1.25rem;
  padding-bottom: 0.8125rem;
  margin-bottom: 2.5rem;
  position: relative;
}
.management-02__page-ttl::after {
  content: "";
  width: 20px;
  height: 2px;
  background-color: #00338E;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  bottom: 0;
}
.management-02__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  width: 100%;
  border: 1px solid #ccd6e8;
  border-bottom: none;
  border-right: none;
  border-left: none;
  margin-top: 1.25rem;
}
.management-02__content dt {
  width: 9.375rem;
  font-size: 0.9375rem;
  border-bottom: 1px solid #ccd6e8;
  padding-top: 1.875rem;
  padding-bottom: 1.875rem;
  text-align: left;
}
.management-02__content dd {
  width: calc(100% - 150px);
  font-size: 0.9375rem;
  border-bottom: 1px solid #ccd6e8;
  padding-left: 4.375rem;
  padding-top: 1.875rem;
  padding-bottom: 1.875rem;
  text-align: left;
}
.management-02 img {
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .management-02 {
    margin-bottom: 4.6875rem;
  }
  .management-02__inner {
    text-align: left;
    max-width: 41.875rem;
    width: 100%;
    margin: 0 auto;
    padding: 0;
  }
  .management-02__page-ttl {
    padding-bottom: 0.8125rem;
    margin-bottom: 1.875rem;
  }
  .management-02__page-ttl::after {
    content: "";
    width: 20px;
    height: 1px;
    background-color: #00338E;
    position: absolute;
    left: 1.5%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    bottom: 0;
  }
  .management-02__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    width: 100%;
    border: 1px solid #ccd6e8;
    border-bottom: none;
    border-right: none;
    border-left: none;
    margin-top: 1.25rem;
  }
  .management-02__content dt {
    width: 9.375rem;
    padding-top: 1.5625rem;
    padding-bottom: 0;
    border: none;
  }
  .management-02__content dd {
    width: 100%;
    border-bottom: 1px solid #ccd6e8;
    padding-top: 0.9375rem;
    padding-bottom: 1.5625rem;
    text-align: left;
    padding-left: 0;
  }
}
@media screen and (max-width: 520px) {
  .management-02__inner {
    text-align: left;
    max-width: 100%;
    width: 100%;
    margin: 0 auto;
    padding: 0;
  }
  .management-02__page-ttl {
    font-size: 1.171875rem;
  }
  .management-02__page-ttl::after {
    left: 3.5%;
  }
}

.management-03 {
  margin-bottom: 6.25rem;
  font-weight: normal;
}
.management-03__inner {
  text-align: center;
  max-width: 43.75rem;
  width: 100%;
  margin: 0 auto;
  padding: 0;
}
.management-03__page-ttl {
  font-size: 1.25rem;
  padding-bottom: 0.8125rem;
  margin-bottom: 2.5rem;
  position: relative;
}
.management-03__page-ttl::after {
  content: "";
  width: 20px;
  height: 2px;
  background-color: #00338E;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  bottom: 0;
}
.management-03__content {
  text-align: left;
  font-size: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .management-03 {
    margin-bottom: 4.6875rem;
  }
  .management-03__inner {
    text-align: left;
    max-width: 100%;
    width: 100%;
    margin: 0 auto;
    padding: 0;
  }
  .management-03__page-ttl::after {
    content: "";
    width: 20px;
    height: 1px;
    background-color: #00338E;
    position: absolute;
    left: 1.5%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    bottom: 0;
  }
  .management-03__page-ttl {
    padding-bottom: 0.8125rem;
    margin-bottom: 1.875rem;
  }
}
@media screen and (max-width: 520px) {
  .management-03__inner {
    text-align: left;
    width: 100%;
    margin: 0 auto;
    padding: 0;
  }
  .management-03__page-ttl::after {
    left: 3.5%;
  }
}

.management-04 {
  margin-bottom: 6.25rem;
  font-weight: normal;
}
.management-04__inner {
  text-align: center;
  max-width: 43.75rem;
  width: 100%;
  margin: 0 auto;
  padding: 0;
}
.management-04__inner p {
  text-align: left;
  font-size: 0.9375rem;
}
.management-04__page-ttl {
  font-size: 1.25rem;
  padding-bottom: 0.8125rem;
  margin-bottom: 2.5rem;
  position: relative;
}
.management-04__page-ttl::after {
  content: "";
  width: 20px;
  height: 2px;
  background-color: #00338E;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  bottom: 0;
}
@media screen and (max-width: 767px) {
  .management-04 {
    margin-bottom: 4.6875rem;
  }
  .management-04__inner {
    text-align: left;
    max-width: 100%;
    width: 100%;
    margin: 0 auto;
    padding: 0;
  }
  .management-04__page-ttl {
    padding-bottom: 0.8125rem;
    margin-bottom: 1.875rem;
  }
  .management-04__page-ttl::after {
    content: "";
    width: 20px;
    height: 1px;
    background-color: #00338E;
    position: absolute;
    left: 1.5%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    bottom: 0;
  }
}
@media screen and (max-width: 520px) {
  .management-04__inner {
    text-align: left;
    width: 100%;
    margin: 0 auto;
    padding: 0;
  }
  .management-04__page-ttl {
    font-size: 1.171875rem;
  }
  .management-04__page-ttl::after {
    left: 3.5%;
  }
}

.management-05 {
  margin-bottom: 6.25rem;
  font-weight: normal;
}
.management-05__inner {
  text-align: center;
  max-width: 43.75rem;
  width: 100%;
  margin: 0 auto;
  padding: 0;
}
.management-05__page-ttl {
  font-size: 1.25rem;
  padding-bottom: 0.8125rem;
  margin-bottom: 2.5rem;
  position: relative;
}
.management-05__page-ttl::after {
  content: "";
  width: 20px;
  height: 2px;
  background-color: #00338E;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  bottom: 0;
}
.management-05__content {
  text-align: left;
  font-size: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .management-05 {
    margin-bottom: 4.6875rem;
  }
  .management-05__inner {
    text-align: left;
    max-width: 100%;
    width: 100%;
    margin: 0 auto;
    padding: 0;
  }
  .management-05__page-ttl {
    padding-bottom: 0.8125rem;
    margin-bottom: 1.875rem;
  }
  .management-05__page-ttl::after {
    content: "";
    width: 20px;
    height: 1px;
    background-color: #00338E;
    position: absolute;
    left: 1.5%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    bottom: 0;
  }
}
@media screen and (max-width: 520px) {
  .management-05__inner {
    text-align: left;
    width: 100%;
    margin: 0 auto;
    padding: 0;
  }
  .management-05__page-ttl {
    font-size: 1.171875rem;
  }
  .management-05__page-ttl::after {
    left: 3.5%;
  }
}

.management-06 {
  margin-bottom: 6.25rem;
  font-weight: normal;
}
.management-06__inner {
  text-align: center;
  max-width: 43.75rem;
  width: 100%;
  margin: 0 auto;
  padding: 0;
}
.management-06__page-ttl {
  font-size: 1.25rem;
  padding-bottom: 0.8125rem;
  margin-bottom: 2.5rem;
  position: relative;
}
.management-06__page-ttl::after {
  content: "";
  width: 20px;
  height: 2px;
  background-color: #00338E;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  bottom: 0;
}
.management-06__content {
  text-align: left;
  font-size: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .management-06 {
    margin-bottom: 4.6875rem;
  }
  .management-06__inner {
    text-align: left;
    max-width: 1000%;
    width: 100%;
    margin: 0 auto;
    padding: 0;
  }
  .management-06__page-ttl {
    padding-bottom: 0.8125rem;
    margin-bottom: 1.875rem;
  }
  .management-06__page-ttl::after {
    content: "";
    width: 20px;
    height: 1px;
    background-color: #00338E;
    position: absolute;
    left: 1.5%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    bottom: 0;
  }
}
@media screen and (max-width: 520px) {
  .management-06__inner {
    text-align: left;
    width: 100%;
    margin: 0 auto;
    padding: 0;
  }
  .management-06__page-ttl {
    font-size: 1.171875rem;
  }
  .management-06__page-ttl::after {
    left: 3.5%;
  }
}

.management-07 {
  margin-bottom: 6.25rem;
  font-weight: normal;
}
.management-07__inner {
  text-align: center;
  max-width: 43.75rem;
  width: 100%;
  margin: 0 auto;
  padding: 0;
}
.management-07__page-ttl {
  font-size: 1.25rem;
  padding-bottom: 0.8125rem;
  margin-bottom: 2.5rem;
  position: relative;
}
.management-07__page-ttl::after {
  content: "";
  width: 20px;
  height: 2px;
  background-color: #00338E;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  bottom: 0;
}
.management-07__content {
  text-align: left;
  font-size: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .management-07 {
    margin-bottom: 4.6875rem;
  }
  .management-07__inner {
    text-align: left;
    max-width: 100%;
    width: 100%;
    margin: 0 auto;
    padding: 0;
  }
  .management-07__page-ttl {
    padding-bottom: 0.8125rem;
    margin-bottom: 1.875rem;
  }
  .management-07__page-ttl::after {
    content: "";
    width: 20px;
    height: 1px;
    background-color: #00338E;
    position: absolute;
    left: 1.5%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    bottom: 0;
  }
}
@media screen and (max-width: 520px) {
  .management-07__inner {
    text-align: left;
    width: 100%;
    margin: 0 auto;
    padding: 0;
  }
  .management-07__page-ttl {
    font-size: 1.171875rem;
  }
  .management-07__page-ttl::after {
    left: 3.5%;
  }
}

.management-08 {
  margin-bottom: 6.25rem;
  font-weight: normal;
}
.management-08__inner {
  text-align: center;
  max-width: 43.75rem;
  width: 100%;
  margin: 0 auto;
  padding: 0;
}
.management-08__page-ttl {
  font-size: 1.25rem;
  padding-bottom: 0.8125rem;
  margin-bottom: 2.5rem;
  position: relative;
}
.management-08__page-ttl::after {
  content: "";
  width: 20px;
  height: 2px;
  background-color: #00338E;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  bottom: 0;
}
.management-08__content {
  text-align: left;
  font-size: 0.9375rem;
  padding-left: 1.5em;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .management-08__content {
    line-height: 1.7666;
  }
}
.management-08__content-list {
  list-style: decimal;
  padding-left: 0 !important;
  text-indent: 0 !important;
}
@media screen and (max-width: 767px) {
  .management-08 {
    margin-bottom: 4.6875rem;
  }
  .management-08__inner {
    text-align: left;
    max-width: 100%;
    width: 100%;
    margin: 0 auto;
    padding: 0;
  }
  .management-08__page-ttl {
    padding-bottom: 0.8125rem;
    margin-bottom: 1.875rem;
  }
  .management-08__page-ttl::after {
    content: "";
    width: 20px;
    height: 1px;
    background-color: #00338E;
    position: absolute;
    left: 1.5%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    bottom: 0;
  }
}
@media screen and (max-width: 520px) {
  .management-08__inner {
    text-align: left;
    width: 100%;
    margin: 0 auto;
    padding: 0;
  }
  .management-08__page-ttl {
    font-size: 1.171875rem;
  }
  .management-08__page-ttl::after {
    left: 3.5%;
  }
}

/*-----------------------
.recruit共通
-------------------------*/
#recruit h2 {
  font-size: 1.25rem;
  margin-bottom: 1.5625rem;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  #recruit h2 {
    margin-bottom: 0.9375rem;
  }
}

/*-----------------------
.recruit-02
-------------------------*/
.recruit-02 {
  padding-top: 5rem;
}
@media screen and (max-width: 767px) {
  .recruit-02 {
    padding-top: 2.8125rem;
  }
}
.recruit-02__block {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 23.125rem 3.125rem 1fr;
  grid-template-columns: 23.125rem 1fr;
  gap: 3.125rem;
}
@media screen and (max-width: 767px) {
  .recruit-02__block {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
}
.recruit-02 p {
  font-size: 0.9375rem;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  letter-spacing: 0.05em;
  line-height: 1.75;
}
.recruit-02 .more {
  width: 13.125rem;
  padding-left: 1.375rem;
  padding-right: 1.25rem;
  margin-top: 1.5625rem;
}
@media screen and (max-width: 767px) {
  .recruit-02 .more {
    margin-left: auto;
    margin-right: auto;
    width: 14.6875rem;
    padding: 0.8125rem 0 0.78125rem;
    margin-top: 1.125rem;
  }
}

/*-----------------------
.recruit-03
-------------------------*/
.recruit-03 {
  text-align: center;
  background-color: #F2F5F9;
  margin-top: 3.125rem;
  margin-bottom: 5.625rem;
}
.recruit-03__text {
  padding-top: 1.5625rem;
  margin-bottom: 0.9375rem;
  font-size: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .recruit-03__text {
    padding-top: 1.875rem;
  }
}
.recruit-03__btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  color: #fff;
  padding-bottom: 1.875rem;
}
@media screen and (max-width: 767px) {
  .recruit-03__btn {
    padding-bottom: 2.5rem;
  }
}
.recruit-03__btn > a {
  padding: 0.65625rem 0.625rem;
  border-radius: 5px;
  width: 14.375rem;
}

/*-----------------------
.recruit-04
-------------------------*/
@media screen and (max-width: 767px) {
  .recruit-04 {
    margin-bottom: 4.375rem;
  }
}
.recruit-04__career {
  margin-bottom: 4.875rem;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 3.125rem 23.125rem;
  grid-template-columns: 1fr 23.125rem;
  gap: 3.125rem;
}
@media screen and (max-width: 767px) {
  .recruit-04__career {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 1.25rem;
    margin-bottom: 3.125rem;
  }
}
.recruit-04__career p {
  font-size: 0.9375rem;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  letter-spacing: 0.05em;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .recruit-04__career img {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}
@media screen and (max-width: 767px) {
  .recruit-04__career-texts {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}
.recruit-04__img {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1.25rem 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
}
@media screen and (max-width: 767px) {
  .recruit-04__img {
    place-items: center;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 1.5625rem;
  }
}
.recruit-04__img a {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.recruit-04__img a:hover {
  opacity: 0.7;
}
.recruit-04 .more {
  width: 12.8125rem;
  padding-left: 1.375rem;
  padding-right: 1.375rem;
  margin-top: 1.5625rem;
}
@media screen and (max-width: 767px) {
  .recruit-04 .more {
    margin-left: auto;
    margin-right: auto;
    width: 14.6875rem;
    padding: 0.8125rem 0 0.78125rem;
    margin-top: 1.125rem;
  }
}

/*-----------------------
.recruit-05
-------------------------*/
.recruit-05 {
  text-align: center;
  background-color: #F2F5F9;
  margin-top: 3.125rem;
  margin-bottom: 5.625rem;
}
@media screen and (max-width: 767px) {
  .recruit-05 {
    margin-bottom: 4.375rem;
  }
}
.recruit-05__text {
  padding-top: 1.5625rem;
  margin-bottom: 0.9375rem;
  font-size: 0.9375rem;
}
.recruit-05__btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  color: #fff;
  padding-bottom: 1.875rem;
}
.recruit-05__btn > a {
  padding: 0.65625rem 0.625rem;
  border-radius: 5px;
  width: 25.375rem;
}
@media screen and (max-width: 767px) {
  .recruit-05__btn > a {
    padding: 0.65625rem 1.375rem;
    max-width: 25.375rem;
    width: 100%;
  }
}
@media screen and (max-width: 420px) {
  .recruit-05__btn > a {
    padding: 0.65625rem 0.625rem;
  }
}

/*-----------------------
.recruit-06
-------------------------*/
.recruit-06 {
  margin-bottom: 5.3125rem;
}
.recruit-06 h3 {
  font-size: 1.0625rem;
  margin-bottom: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .recruit-06 h3 {
    font-size: 1rem;
    margin-bottom: 0.625rem;
  }
}
.recruit-06__ttl {
  text-align: center;
}
.recruit-06__contents {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 3.125rem 1fr;
  grid-template-columns: 1fr 1fr;
  margin-top: 3.75rem;
  margin-bottom: 5rem;
  gap: 3.125rem;
}
@media screen and (max-width: 767px) {
  .recruit-06__contents {
    margin-top: 1.875rem;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 3.75rem;
  }
}
.recruit-06__content-link {
  font-size: 0.8125rem;
}
@media screen and (max-width: 767px) {
  .recruit-06__content-link {
    font-size: 0.9375rem;
  }
}
.recruit-06__content-link p {
  white-space: nowrap;
}
.recruit-06__contents-about {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  place-content: center;
}
@media screen and (max-width: 767px) {
  .recruit-06__contents-about {
    display: -ms-grid;
    display: grid;
    place-content: unset;
  }
}
@media screen and (max-width: 767px) {
  .recruit-06__content-facebook {
    border-bottom: 1px solid #ccd6e8;
    padding-bottom: 1.25rem;
  }
}
.recruit-06__content-facebook img {
  width: 3.125rem;
}
@media screen and (max-width: 767px) {
  .recruit-06__content-facebook img {
    width: 3.5625rem;
  }
}
.recruit-06__content-chara {
  border-left: 1px solid #ccd6e8;
  margin-left: 2.5rem;
  padding-left: 1.875rem;
}
@media screen and (max-width: 767px) {
  .recruit-06__content-chara {
    border-left: 0;
    margin-left: 0rem;
    padding-left: 0rem;
    border-bottom: 1px solid #ccd6e8;
    padding-bottom: 1.25rem;
    padding-top: 1.25rem;
  }
}
.recruit-06__content-chara img {
  width: 3.375rem;
}
@media screen and (max-width: 767px) {
  .recruit-06__content-chara img {
    width: 3.5625rem;
  }
}
.recruit-06__content-chara p {
  font-size: 0.6875rem;
}
@media screen and (max-width: 767px) {
  .recruit-06__content-chara p {
    font-size: 0.8125rem;
  }
}
.recruit-06__content-gifu {
  border-left: 1px solid #ccd6e8;
  margin-left: 1.875rem;
  padding-left: 1.875rem;
}
@media screen and (max-width: 767px) {
  .recruit-06__content-gifu {
    border-left: 0;
    margin-left: 0rem;
    padding-left: 0rem;
    padding-bottom: 1.25rem;
    padding-top: 1.25rem;
  }
}
.recruit-06__content-gifu img {
  width: 6rem;
}
@media screen and (max-width: 767px) {
  .recruit-06__content-gifu img {
    width: 3.5625rem;
  }
}
@media screen and (max-width: 767px) {
  .recruit-06__content__item img {
    width: 100%;
  }
}
.recruit-06__content__item__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .recruit-06__content__item__inner {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 3.5625rem 1.25rem 1fr;
    grid-template-columns: 3.5625rem 1fr;
    gap: 1.25rem;
    -ms-flex-line-pack: center;
        align-content: center;
    width: 17.5rem;
    margin: 0 auto;
  }
}
.recruit-06__content-img {
  margin-right: 1.25rem;
}
@media screen and (max-width: 767px) {
  .recruit-06__content-img {
    margin-right: 0;
  }
}
.recruit-06__item img {
  margin-bottom: 0.9375rem;
}
.recruit-06__item p {
  font-size: 0.9375rem;
  line-height: 1.75;
}
.recruit-06__item .more {
  margin-top: 1.0625rem;
  width: 9.125rem;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .recruit-06__item .more {
    width: 10.25rem;
    padding: 0.78125rem 0;
  }
}

/*-----------------------
.recruit-banner
-------------------------*/
.recruit-banner {
  margin-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  .recruit-banner {
    margin-bottom: 3.75rem;
  }
}
.recruit-banner__image {
  max-width: 50%;
  max-width: calc(50% - 0.625rem);
  margin: 1.5625rem auto 0;
}
@media screen and (max-width: 767px) {
  .recruit-banner__image {
    max-width: 1180px;
  }
}

/*-----------------------
.career共通
-------------------------*/
#recruit-career h3 {
  position: relative;
  padding-left: 1.3em;
  margin-bottom: 1.25rem;
  font-size: 1.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 520px) {
  #recruit-career h3 {
    font-size: 1rem;
  }
}
#recruit-career h3::before {
  content: "";
  background: #00338E;
  background-repeat: no-repeat;
  background-size: 100%;
  border-radius: 100%;
  width: 0.4375rem;
  height: 0.4375rem;
  position: absolute;
  left: 0;
  top: 0.55em;
}
#recruit-career .career__list__item {
  padding: 1.5625rem 0;
  border-bottom: 1px solid rgba(0, 51, 142, 0.1);
}
@media screen and (max-width: 767px) {
  #recruit-career .career__list__item:first-of-type {
    padding-top: 0;
  }
}
#recruit-career dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 0.9375rem;
}
@media screen and (max-width: 767px) {
  #recruit-career dl {
    display: -ms-grid;
    display: grid;
  }
}
#recruit-career dl dt {
  width: 11.25rem;
}
@media screen and (max-width: 767px) {
  #recruit-career dl dt {
    width: 100%;
    margin-bottom: 0.5rem;
  }
}
@media screen and (max-width: 520px) {
  #recruit-career dl dt {
    font-size: 1rem;
  }
}
#recruit-career dl dd {
  width: calc(100% - 11.25rem);
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  #recruit-career dl dd {
    width: 100%;
  }
}
#recruit-career .flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 767px) {
  #recruit-career .flex {
    display: -ms-grid;
    display: grid;
  }
}
#recruit-career .flex ul:nth-child(2) {
  padding-left: 3.125rem;
}
@media screen and (max-width: 767px) {
  #recruit-career .flex ul:nth-child(2) {
    padding-left: 0;
  }
}
#recruit-career .pagetop__button {
  margin-bottom: 6.25rem;
}
@media screen and (max-width: 767px) {
  #recruit-career .pagetop__button {
    margin-bottom: 4.6875rem;
  }
}
#recruit-career iframe {
  max-width: 100%;
  display: block;
  margin-top: 0.9375rem;
}
#recruit-career ul li {
  padding-left: 1.5em;
  text-indent: -1.5em;
}
@media screen and (max-width: 767px) {
  #recruit-career ul li {
    padding-left: 1em;
    text-indent: -1em;
  }
}
#recruit-career .notion {
  display: inline-block;
  padding-left: 1.2em;
  text-indent: -1.2em;
}

.career__inner {
  width: 55rem;
  max-width: 100%;
  margin: 0 auto;
}

.career-banner a {
  position: relative;
  display: block;
  max-width: 39.375rem;
  margin: 0 auto;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (min-width: 767px) {
  .career-banner a:hover {
    opacity: 0.7;
  }
}

.career-banner + .career-banner {
  margin-top: 1.5625rem;
}

/*-----------------------
.career-02
-------------------------*/
.career-02 .inner {
  display: -ms-grid;
  display: grid;
  place-items: center;
}
.career-02__menu {
  display: -ms-grid;
  display: grid;
  gap: 2.8125rem;
  -ms-grid-columns: 4em 2.8125rem 7em 2.8125rem 6em;
  grid-template-columns: 4em 7em 6em;
  margin: 4.375rem auto 5.625rem;
  justify-items: center;
  place-items: center;
}
@media screen and (max-width: 767px) {
  .career-02__menu {
    margin: 2.8125rem auto 2.8125rem;
    gap: 2.5rem;
  }
}
@media screen and (max-width: 520px) {
  .career-02__menu {
    gap: 1.25rem;
  }
}
.career-02__menu__item {
  font-size: 0.9375rem;
  position: relative;
  padding-bottom: 1.125rem;
  color: #000;
}
@media screen and (max-width: 767px) {
  .career-02__menu__item {
    padding-right: 1em;
    white-space: nowrap;
    padding-bottom: 0rem;
  }
}
@media screen and (max-width: 520px) {
  .career-02__menu__item {
    font-size: 0.8125rem;
    padding-right: 1.2em;
  }
}
.career-02__menu__item::after {
  content: "";
  display: block;
  width: 0.375rem;
  height: 0.375rem;
  border-top: 1px solid #00338E;
  border-right: 1px solid #00338E;
  -webkit-transform: rotate(135deg) translateX(-50%);
  transform: rotate(135deg) translateX(-50%);
  position: absolute;
  -webkit-transition: all 0.1s;
  transition: all 0.1s;
  left: calc(50% - 0.1875rem);
  margin-top: 0.75rem;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .career-02__menu__item::after {
    left: auto;
    right: 0;
    margin-top: 0;
    top: calc(50% - 0.125rem);
  }
}
@media screen and (min-width: 767px) {
  .career-02__menu__item:hover::after {
    margin-top: 0.9375rem;
  }
}

/*-----------------------
.career-03
-------------------------*/
.career-03 {
  padding-bottom: 2.1875rem;
  margin-bottom: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .career-03 {
    padding-bottom: 0rem;
    margin-bottom: 1.875rem;
  }
}
.career-03 p {
  line-height: 1.75;
  padding-top: 2.8125rem;
  padding-left: 1.25rem;
}
@media screen and (max-width: 767px) {
  .career-03 p {
    padding-left: 0;
    padding-top: 1.5625rem;
  }
}
.career-03__list {
  margin-top: 1.5625rem;
}
.career-03__text {
  font-size: 0.9375rem;
  margin-bottom: 3.75rem;
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .career-03__text {
    margin-top: 0rem;
    margin-bottom: 3.75rem;
  }
}

/*-----------------------
.career-04
-------------------------*/
.career-04 {
  padding-top: 5.625rem;
}
@media screen and (max-width: 767px) {
  .career-04 {
    padding-top: 4.6875rem;
  }
}
.career-04 h2 {
  margin-bottom: 1.875rem;
}

/*-----------------------
.career-05
-------------------------*/
.career-05 {
  padding-top: 5.625rem;
  margin-bottom: 3.125rem;
}
@media screen and (max-width: 767px) {
  .career-05 {
    margin-bottom: 1.875rem;
    padding-top: 4.6875rem;
  }
}
.career-05 h2 {
  margin-bottom: 1.25rem;
}
@media screen and (max-width: 767px) {
  .career-05 iframe {
    height: 15.625rem;
  }
}

/*-----------------------
.career-06
-------------------------*/
.career-06 {
  margin-top: 5rem;
  margin-bottom: 7.5rem;
}
@media screen and (max-width: 767px) {
  .career-06 {
    margin-top: 1.875rem;
    margin-bottom: 3.125rem;
  }
}
.career-06__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  place-content: center;
}
@media screen and (max-width: 767px) {
  .career-06__box {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}
.career-06__box__item {
  padding: 1.25rem 4.0625rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .career-06__box__item {
    padding: 2.5rem 0rem;
  }
}
.career-06__box__item p {
  margin-bottom: 1.0625rem;
}
@media screen and (max-width: 767px) {
  .career-06__box__item p {
    font-size: 0.9375rem;
    margin-bottom: 1.5625rem;
  }
}
.career-06__box__item a {
  border-radius: 0.625rem;
  font-size: 0.8125rem;
  margin: 0 auto;
  width: 16.25rem;
}
@media screen and (max-width: 767px) {
  .career-06__box__item a {
    font-size: 0.9375rem;
    border-radius: 0.75rem;
    width: 14.375rem;
    padding-left: 0;
    padding-right: 0;
    padding-top: 0.8125rem;
    padding-bottom: 0.8125rem;
  }
}
.career-06__box__item:nth-child(2) {
  border-left: 1px solid rgba(0, 51, 142, 0.1);
}
@media screen and (max-width: 767px) {
  .career-06__box__item:nth-child(2) {
    border-left: 0;
    border-top: 1px solid rgba(0, 51, 142, 0.1);
  }
}
.career-06 h4 {
  color: #00338E;
  font-size: 1.25rem;
  font-weight: bold;
  margin-bottom: 0.9375rem;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .career-06 h4 {
    font-size: 1.125rem;
    margin-bottom: 1.25rem;
  }
}