@charset "UTF-8";
:root {
  --f1: "Noto Sans JP", sans-serif;
  --f2: "Manrope", "Noto Sans JP", sans-serif;
  --f3: "Roboto", "Noto Sans JP", sans-serif;
}

:root {
  --c0: #12222F;
  --c1: #00CD95;
  --c2: #007C9D;
  --c3: #43A0B6;
  --c4: #2861a4;
  --c-gray: #F0F4F4;
  --c-gray02: #e0e0e0;
  --c-gray03: #DADADA;
  --c-gray04: #E4EBEB;
  --c-dark-gray: #A5A5A5;
  --c-dark-gray02: #424242;
  --c-dark-gray03: #666666;
  --c-lpgray: #eff6f7;
  --color-white: #FFFFFF;
  --color-text: #212121;
  --color-border: #D5DCE0;
  --color-bg-dark-blue: #0A1629;
  --color-background: #EDEFF0;
  --color-bg-body: #F1F3F4;
  --color-1st: #00E89E;
  --color-2nd: #0077FE;
  --color-grad: linear-gradient(270deg, var(--color-1st) 0%, var(--color-2nd) 100%);
  --color-grad-v: linear-gradient(0deg, var(--color-1st) 0%, var(--color-2nd) 100%);
  --color-badge: #8E9AA1;
}

/* reset */
html {
  overflow-y: scroll;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

a {
  box-sizing: border-box;
}

dt,
th,
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: normal;
}

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

details summary::-webkit-details-marker {
  display: none !important;
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
  font-style: normal;
}

table {
  border-collapse: collapse;
}

caption,
th {
  text-align: left;
}

q:before,
q:after {
  content: "";
}

object,
embed {
  vertical-align: top;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: normal;
}

img,
abbr,
acronym,
fieldset {
  border: 0;
}

li {
  list-style-type: none;
}

img {
  vertical-align: bottom;
}

hr {
  clear: both;
}

/* --------------------------------------------------------
	01share style
	-------------------------------------------------------- */
.tal {
  text-align: left;
}

.tar {
  text-align: right;
}

.tac {
  text-align: center;
}

.fwb {
  font-weight: bold;
}

.fwn {
  font-weight: normal;
}

/*CSS Rollover*/
a.cssRoll img {
  opacity: 1;
}

a:hover.cssRoll img {
  opacity: 0.6;
}

body {
  font-weight: normal;
  line-height: 1.7;
  color: #373737;
  overflow-x: hidden;
}

a:link {
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

a:active {
  text-decoration: none;
}

figure {
  display: block;
  -webkit-margin-before: 0;
  -webkit-margin-after: 0;
  -webkit-margin-start: 0;
  -webkit-margin-end: 0;
}

em {
  font-weight: bold;
}

button, input[type=submit] {
  border: none;
  outline: none;
  appearance: none;
  font-size: 1rem;
  background: none;
}

button,
summary {
  cursor: pointer;
}

/* ---------------------------
module
--------------------------- */
:root :where(body) {
  font-family: var(--f1);
  font-weight: 400;
}

html {
  font-family: var(--f1);
  font-weight: 400;
  line-height: 1.7;
}
@media screen and (min-width: 768px) and (max-width: 1400px) {
  html {
    font-size: 16px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  html {
    font-size: 14px;
  }
}
@media screen and (max-width: 1100px) {
  html {
    font-size: 14px;
  }
}

body {
  color: var(--0);
  -webkit-text-size-adjust: 100%;
  line-height: 1.7;
  scroll-behavior: smooth;
}
@media screen and (min-width: 768px) {
  :target {
    scroll-margin-top: 100px;
  }
}
@media screen and (max-width: 767px) {
  :target {
    scroll-margin-top: 70px;
  }
}

#wrapper {
  position: relative;
  overflow: hidden;
}

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

a {
  font-family: var(--f1);
  color: var(--0);
}

button {
  font-family: var(--f1);
  color: var(--0);
}

a:not([href^="tel:"]):hover img, a:not([href^="tel:"]):focus img {
  opacity: 0.85;
}

a[href^="tel:"] {
  cursor: default;
}
@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
button {
  cursor: pointer;
}

select {
  background-color: #fff;
  color: var(--0);
}

.hero {
  width: 100%;
}
.hero img {
  width: 100%;
}

.l-footer {
  background: var(--color-white);
  border-top: 1px solid var(--color-border);
}
.l-footer__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 64px 0;
}
@media screen and (max-width: 1100px) {
  .l-footer__inner {
    padding: 48px 40px;
  }
}
@media screen and (max-width: 767px) {
  .l-footer__inner {
    padding: 40px 20px;
  }
}
.l-footer__header {
  display: flex;
  align-items: flex-start;
  gap: 34px;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .l-footer__header {
    flex-direction: column;
    gap: 16px;
    margin-bottom: 32px;
  }
}
.l-footer__logo {
  flex-shrink: 0;
}
.l-footer__logo a {
  display: block;
}
.l-footer__logo img {
  width: 174px;
  filter: brightness(0);
}
@media screen and (max-width: 767px) {
  .l-footer__logo img {
    width: 120px;
  }
}
.l-footer__company-info {
  font-size: 0.875rem;
  line-height: 1.6;
  color: var(--color-text);
}
.l-footer__company-info p {
  margin: 0;
}
.l-footer__nav {
  display: flex;
  gap: 40px;
  margin-bottom: 40px;
}
@media screen and (max-width: 1100px) {
  .l-footer__nav {
    flex-wrap: wrap;
    gap: 32px 24px;
  }
}
@media screen and (max-width: 767px) {
  .l-footer__nav {
    flex-direction: column;
    gap: 32px;
    margin-bottom: 32px;
  }
}
.l-footer__column {
  width: 208px;
  flex-shrink: 0;
}
@media screen and (max-width: 1100px) {
  .l-footer__column {
    width: calc(33.333% - 16px);
  }
}
@media screen and (max-width: 767px) {
  .l-footer__column {
    width: 100%;
  }
}
.l-footer__column--double {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
@media screen and (max-width: 767px) {
  .l-footer__column--double {
    gap: 32px;
  }
}
.l-footer__column--side {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
@media screen and (max-width: 767px) {
  .l-footer__column--side {
    gap: 32px;
  }
}
.l-footer__group {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.l-footer__column-title {
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--color-text);
  text-decoration: none;
  margin-bottom: 16px;
  transition: opacity 0.3s ease;
}
.l-footer__column-title:hover {
  opacity: 0.7;
}
.l-footer__group .l-footer__column-title + .l-footer__column-title {
  margin-top: 16px;
}
@media screen and (min-width: 768px) {
  .l-footer__link-list {
    display: flex;
    flex-direction: column;
    gap: 0;
  }
}
@media screen and (max-width: 767px) {
  .l-footer__link-list {
    columns: 2;
    column-gap: 20px;
  }
}
.l-footer__link-item a {
  display: block;
  font-size: 0.8125rem;
  line-height: 2;
  color: var(--color-text);
  text-decoration: none;
  transition: opacity 0.3s ease;
}
.l-footer__link-item a:hover {
  opacity: 0.7;
}
@media screen and (min-width: 768px) {
  .l-footer__policy-list {
    display: flex;
    flex-direction: column;
    gap: 0;
  }
}
@media screen and (max-width: 767px) {
  .l-footer__policy-list {
    columns: 2;
    column-gap: 20px;
  }
}
.l-footer__policy-item a {
  display: block;
  font-size: 0.8125rem;
  line-height: 2;
  color: var(--color-text);
  text-decoration: none;
  transition: opacity 0.3s ease;
}
.l-footer__policy-item a:hover {
  opacity: 0.7;
}
.l-footer__divider {
  height: 1px;
  background: var(--color-border);
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .l-footer__divider {
    margin-bottom: 32px;
  }
}
.l-footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .l-footer__bottom {
    flex-direction: column;
    gap: 24px;
    margin-bottom: 24px;
  }
}
.l-footer__social {
  display: flex;
  align-items: center;
  gap: 40px;
}
@media screen and (max-width: 767px) {
  .l-footer__social {
    gap: 20px;
    flex-wrap: wrap;
    justify-content: center;
  }
}
.l-footer__social-link {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.875rem;
  line-height: 2;
  color: var(--color-text);
  text-decoration: none;
  transition: opacity 0.3s ease;
}
.l-footer__social-link:hover {
  opacity: 0.7;
}
.l-footer__social-link img {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .l-footer__social-link span {
    display: none;
  }
}
.l-footer__blog {
  display: flex;
  align-items: center;
}
.l-footer__blog-link {
  display: block;
  transition: opacity 0.3s ease;
}
.l-footer__blog-link:hover {
  opacity: 0.7;
}
.l-footer__blog-link img {
  width: 272px;
  height: 40px;
}
@media screen and (max-width: 767px) {
  .l-footer__blog-link img {
    width: 200px;
    height: auto;
  }
}
.l-footer__copyright {
  text-align: right;
}
.l-footer__copyright p {
  font-size: 0.75rem;
  line-height: 1;
  color: var(--color-text);
  margin: 0;
}
@media screen and (max-width: 767px) {
  .l-footer__copyright {
    text-align: center;
  }
}

.l-header {
  position: fixed;
  left: 0;
  right: 0;
  z-index: 100;
  transition: 0.3s;
}
.js-scrolled .l-header {
  transform: translateY(-150%) !important;
  transition: 0.3s !important;
}
.js-scrolled-up .l-header {
  transform: translateY(0) !important;
  transition: 0.3s;
}
.--home .l-header {
  transition: 1.2s;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-110%);
}
.--introDone .l-header {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
  transition: 0.3s !important;
}
@media screen and (min-width: 1101px) {
  .l-header {
    height: 80px;
    top: 20px;
    padding: 0 20px;
  }
}
@media screen and (max-width: 1100px) {
  .l-header {
    top: 0;
    padding: 10px;
  }
}
.l-header__wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  border-radius: 40px;
  background: #fff;
}
@media screen and (min-width: 1101px) {
  .l-header__wrap {
    padding: 16px !important;
  }
}
@media screen and (max-width: 1100px) {
  .l-header__wrap {
    padding: 8px 12px 8px 8px;
    gap: 12px;
  }
}
.l-header__logo {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  margin-left: 20px;
}
.l-header__logo a {
  display: block;
  line-height: 1;
}
@media screen and (min-width: 1101px) {
  .l-header__logo img {
    width: 150px;
  }
}
@media screen and (max-width: 1100px) {
  .l-header__logo img {
    width: 120px;
  }
}
.l-header__actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
@media screen and (max-width: 1100px) {
  .l-header__actions {
    display: none;
  }
}
.l-header__btn {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 14px 12px 22px;
  border-radius: 999px;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  transition: all 0.3s ease;
  border: 0px 0px 2px 0px;
}
.l-header__btn--download {
  background: var(--color-white);
  color: var(--color-text);
  border-bottom: 2px solid var(--color-1st);
}
.l-header__btn--download:hover {
  background: rgba(0, 232, 158, 0.1);
}
.l-header__btn--contact {
  background: var(--color-bg-dark-blue);
  color: var(--color-white);
  border-bottom: 2px solid var(--color-1st);
}
.l-header__btn--contact:hover {
  background: rgba(10, 22, 41, 0.9);
}
.l-header__btn-text {
  display: block;
}
.l-header__btn-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
}
.l-header__btn-icon svg {
  width: 100%;
  height: 100%;
}
.l-header__menu-btn {
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  gap: 6px;
}
@media screen and (max-width: 1100px) {
  .l-header__menu-btn {
    display: flex;
  }
}
@media screen and (max-width: 1100px) {
  .l-header__menu-btn {
    width: 40px;
    height: 40px;
    gap: 5px;
  }
}
.l-header__menu-bar {
  width: 24px;
  height: 2px;
  background: var(--color-text);
  border-radius: 2px;
  transition: all 0.3s ease;
}
@media screen and (max-width: 1100px) {
  .l-header__menu-bar {
    width: 20px;
  }
}
.js-gnav .l-header__menu-bar:nth-child(1) {
  transform: translateY(8px) rotate(45deg);
}
@media screen and (max-width: 1100px) {
  .js-gnav .l-header__menu-bar:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }
}
.js-gnav .l-header__menu-bar:nth-child(2) {
  opacity: 0;
}
.js-gnav .l-header__menu-bar:nth-child(3) {
  transform: translateY(-8px) rotate(-45deg);
}
@media screen and (max-width: 1100px) {
  .js-gnav .l-header__menu-bar:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }
}
@media screen and (min-width: 1101px) {
  .l-header__bottom {
    display: none;
  }
}
@media screen and (max-width: 1100px) {
  .l-header__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: column;
    gap: 24px;
    margin-top: 20px;
  }
}
@media screen and (max-width: 1100px) {
  .l-header__social {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
    justify-content: center;
  }
}
.l-header__social-link {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.875rem;
  line-height: 2;
  color: var(--color-text);
  text-decoration: none;
  transition: opacity 0.3s ease;
}
.l-header__social-link:hover {
  opacity: 0.7;
}
.l-header__social-link img {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}
@media screen and (min-width: 1101px) {
  .l-header__blog {
    display: none;
  }
}
@media screen and (max-width: 1100px) {
  .l-header__blog {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
    justify-content: center;
  }
}
.l-header__blog-link {
  display: block;
  transition: opacity 0.3s ease;
}
.l-header__blog-link:hover {
  opacity: 0.7;
}
.l-header__blog-link img {
  width: 272px;
  height: 40px;
}
@media screen and (max-width: 1100px) {
  .l-header__blog-link img {
    width: 200px;
    height: auto;
  }
}

@media screen and (min-width: 1101px) {
  .l-headerNav {
    flex: 1;
    display: flex;
    justify-content: flex-end;
  }
}
@media screen and (max-width: 1100px) {
  .l-headerNav {
    background: #fff;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100vh;
    z-index: -1;
    padding: 80px 20px 40px;
    overflow-y: auto;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
  }
  .l-headerNav.js-menu-open {
    opacity: 1;
    pointer-events: auto;
  }
}
@media screen and (min-width: 1101px) {
  .l-headerNav__list {
    display: flex;
    align-items: center;
  }
}
@media screen and (max-width: 1100px) {
  .l-headerNav__item:not(:last-child) {
    margin-bottom: 20px;
  }
}
.l-headerNav__link {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 9px;
  font-weight: 400;
  line-height: 1.2;
  color: var(--color-text);
  text-decoration: none;
  white-space: nowrap;
}
@media screen and (min-width: 1101px) {
  .l-headerNav__link {
    font-size: 0.875rem;
    padding: 16px;
    border-radius: 8px;
    transition: all 0.3s ease;
  }
  .l-headerNav__link:hover {
    background: var(--color-white);
    box-shadow: 0px 4px 16px 0px rgba(16, 18, 36, 0.12);
  }
}
@media screen and (max-width: 1100px) {
  .l-headerNav__link {
    font-size: 1.125rem;
  }
}
.l-headerNav__head {
  display: flex;
  align-items: center;
  gap: 5px;
}
@media screen and (min-width: 1101px) {
  .l-headerNav__head {
    text-align: left;
  }
}
@media screen and (max-width: 1100px) {
  .l-headerNav__head {
    font-size: 1rem;
    justify-content: space-between;
  }
}
@media screen and (min-width: 1101px) {
  .l-headerNav__btn {
    display: none;
  }
}
@media screen and (max-width: 1100px) {
  .l-headerNav__btn {
    border-radius: 50%;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--c-gray);
  }
  .l-headerNav__btn.--open {
    transform: rotate(180deg);
  }
}

.l-headerSubNav__list {
  display: none;
}
@media screen and (max-width: 1100px) {
  .l-headerSubNav__list {
    padding: 20px;
    background: var(--c-gray);
    border-radius: 6px;
    margin-top: 10px;
  }
  .l-headerSubNav__list.is-active {
    display: block;
  }
}
.l-headerSubNav__item:not(:last-child) {
  margin-bottom: 10px;
}
.l-headerSubNav__item a {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.l-headerSubNav__item a:after {
  content: "arrow_right_alt";
  font-family: "Material Symbols Outlined";
  font-size: 24px;
}

.l-megamenu {
  position: fixed;
  top: 10px;
  left: 0;
  right: 0;
  padding: 10px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  z-index: 10;
}
@media screen and (max-width: 1100px) {
  .l-megamenu {
    display: none;
  }
}
.l-megamenu.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.l-megamenu__wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  backdrop-filter: blur(32px);
  -webkit-backdrop-filter: blur(32px);
  border-radius: 32px;
  padding: 90px 0 40px;
}
@media screen and (min-width: 1101px) {
  .l-megamenu__wrapper {
    max-width: 1480px;
    margin: 0 auto;
  }
}
.l-megamenu__inner {
  display: flex;
  align-items: flex-start;
  gap: 64px;
  width: 1200px;
  max-width: 100%;
  padding: 0 24px;
}
.l-megamenu__title {
  width: 400px;
  flex-shrink: 0;
}
.l-megamenu__title a {
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--color-text);
  text-decoration: none;
  transition: opacity 0.3s ease;
  display: block;
  padding: 16px;
  border-radius: 8px;
  transition: all 0.3s ease;
}
.l-megamenu__title a:hover {
  background: var(--color-white);
  box-shadow: 0px 4px 16px 0px rgba(16, 18, 36, 0.12);
}
.l-megamenu__links {
  flex: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.l-megamenu__link {
  display: flex;
  align-items: center;
  padding: 16px;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1;
  color: var(--color-text);
  text-decoration: none;
  transition: all 0.3s ease;
}
.l-megamenu__link:hover {
  background: var(--color-white);
  box-shadow: 0px 4px 16px 0px rgba(16, 18, 36, 0.12);
}

/* ---------------------------
l-wrap
--------------------------- */
.l-wrap {
  position: relative;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .l-wrap {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 40px;
  }
}
.l-wrap--900 {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .l-wrap--900 {
    max-width: 980px;
    margin: 0 auto;
    padding: 0 40px;
  }
}
.l-wrap--1100 {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .l-wrap--1100 {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 40px;
  }
}
.l-wrap--1200 {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .l-wrap--1200 {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 40px;
  }
}
.l-wrap--1400 {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .l-wrap--1400 {
    max-width: 1480px;
    margin: 0 auto;
    padding: 0 40px;
  }
}
.l-wrap--1320 {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .l-wrap--1320 {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 40px;
  }
}
.l-wrap--1600 {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .l-wrap--1600 {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 40px;
  }
}
@media screen and (max-width: 767px) {
  .l-wrap--sp {
    width: 100%;
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media screen and (max-width: 767px) {
  .l-wrap--sp--20 {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.c-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-white);
  border: 1px solid transparent;
  background-image: linear-gradient(var(--color-white), var(--color-white)), var(--color-grad);
  background-origin: border-box;
  background-clip: padding-box, border-box;
  border-radius: 9999px;
  text-decoration: none;
  transition: opacity 0.3s ease, transform 0.3s ease;
  padding-left: 64px;
  padding-right: 64px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .c-btn {
    min-width: 300px;
    min-height: 64px;
    width: fit-content;
  }
}
@media screen and (max-width: 767px) {
  .c-btn {
    width: 100%;
    min-height: 48px;
  }
}
.c-btn.--white {
  background: var(--color-bg-dark-blue);
  border: 1px solid transparent;
  background: var(--color-bg-dark-blue);
  background-image: linear-gradient(var(--color-bg-dark-blue), var(--color-bg-dark-blue)), var(--color-grad);
  background-origin: border-box;
  background-clip: padding-box, border-box;
}
.c-btn:hover {
  opacity: 0.9;
  transform: translateY(-2px);
}
.c-btn__text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-text);
  white-space: nowrap;
}
.c-btn.--white .c-btn__text {
  color: #fff;
}
.c-btn__icon {
  width: 64px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  position: relative;
  position: absolute;
  right: 0px;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .c-btn__icon {
    width: 48px;
    height: 48px;
  }
}
.c-btn__icon::before {
  content: "";
  position: absolute;
  inset: 8px;
  border-radius: 50%;
}
.c-btn__icon::after {
  content: "arrow_right_alt";
  font-family: "Material Symbols Outlined";
  font-size: 24px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  font-size: 24px;
}
@media screen and (max-width: 767px) {
  .c-btn__icon::after {
    font-size: 20px;
  }
}
.c-btn.--arrow-down .c-btn__icon::after {
  content: "arrow_downward";
}
.c-btn.--white .c-btn__icon {
  color: #fff;
}
.c-btn__list {
  display: flex;
  gap: 16px;
  margin-top: 8px;
}
@media screen and (max-width: 767px) {
  .c-btn__list {
    flex-direction: column;
  }
}
.c-btn__list.--alignCenter {
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .c-btn__list.--alignCenter {
    flex-direction: column;
    width: 100%;
    max-width: 300px;
  }
}

.c-btnGroup.--center {
  display: flex;
  justify-content: center;
  gap: 16px;
}
@media screen and (max-width: 767px) {
  .c-btnGroup.--center {
    flex-direction: column;
    width: 100%;
    max-width: 300px;
  }
}

.c-btn02 {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  transition: opacity 0.3s ease;
}
.c-btn02.--left {
  flex-direction: row-reverse;
}
.c-btn02:hover {
  opacity: 0.7;
}
.c-btn02__text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.6;
  color: var(--color-text);
  white-space: nowrap;
}
.c-btn02.--wh .c-btn02__text {
  color: #fff;
}
@media screen and (max-width: 767px) {
  .c-btn02__text {
    font-size: 0.875rem;
  }
}
.c-btn02__icon {
  position: relative;
  border-radius: 50%;
  background: var(--color-grad);
  flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .c-btn02__icon {
    width: 64px;
    height: 64px;
  }
}
@media screen and (max-width: 767px) {
  .c-btn02__icon {
    width: 38px;
    height: 38px;
  }
}
.c-btn02__icon::before {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: 50%;
  background: #fff;
}
.c-btn02__icon::after {
  content: "arrow_right_alt";
  font-family: "Material Symbols Outlined";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 768px) {
  .c-btn02__icon::after {
    font-size: 24px;
  }
}
@media screen and (max-width: 767px) {
  .c-btn02__icon::after {
    font-size: 20px;
  }
}
.c-btn02.--left .c-btn02__icon:after {
  content: "arrow_left_alt";
}
.c-btn02.--wh .c-btn02__icon:before {
  background: var(--color-bg-dark-blue);
}

.c-btn03 {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  transition: opacity 0.3s ease;
}
.c-btn03:hover {
  opacity: 0.7;
}
.c-btn03__text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.6;
  color: var(--c2);
  text-decoration: underline;
}
.c-btn03.--wh .c-btn03__text {
  color: #fff;
}
@media screen and (max-width: 767px) {
  .c-btn03__text {
    font-size: 0.875rem;
  }
}
.c-btn03__icon {
  position: relative;
}
.c-btn03__icon::after {
  content: "arrow_right_alt";
  font-family: "Material Symbols Outlined";
  font-size: 24px;
}
.c-btn03.--left .c-btn03__icon:after {
  content: "arrow_left_alt";
}
.c-btn03.--wh .c-btn03__icon:before {
  background: var(--color-bg-dark-blue);
}
@media screen and (max-width: 767px) {
  .c-btn03__icon::after {
    font-size: 20px;
  }
}

.c-btn04 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--color-white);
  border: 1px solid transparent;
  background-image: linear-gradient(var(--color-white), var(--color-white)), var(--color-grad);
  background-origin: border-box;
  background-clip: padding-box, border-box;
  border-radius: 10px;
  text-decoration: none;
  transition: opacity 0.3s ease, transform 0.3s ease;
  padding-left: 24px;
  padding-right: 24px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .c-btn04 {
    min-height: 112px;
  }
}
@media screen and (max-width: 767px) {
  .c-btn04 {
    width: 100%;
    min-height: 60px;
    justify-content: space-between;
  }
}
.c-btn04:hover {
  opacity: 0.9;
  transform: translateY(-2px);
}
.c-btn04__text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-text);
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .c-btn04__text {
    font-size: 1.25rem;
  }
}
.c-btn.--white .c-btn04__text {
  color: #fff;
}
.c-btn04__icon {
  width: 64px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  position: relative;
  position: absolute;
  right: 0px;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .c-btn04__icon {
    width: 48px;
    height: 48px;
  }
}
.c-btn04__icon::before {
  content: "";
  position: absolute;
  inset: 8px;
  border-radius: 50%;
}
.c-btn04__icon::after {
  content: "arrow_right_alt";
  font-family: "Material Symbols Outlined";
  font-size: 24px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  font-size: 24px;
}
@media screen and (max-width: 767px) {
  .c-btn04__icon::after {
    font-size: 20px;
  }
}
.c-btn.--white .c-btn04__icon {
  color: #fff;
}
.c-btn04__list {
  display: flex;
  gap: 16px;
  margin-top: 8px;
}
.c-btn04__list.--alignCenter {
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .c-btn04__list.--alignCenter {
    flex-direction: column;
    width: 100%;
    max-width: 300px;
  }
}

@media screen and (min-width: 1101px) {
  .c-gnav {
    display: flex;
    align-items: center;
    gap: 30px;
    position: relative;
    z-index: 2;
  }
}
@media screen and (max-width: 1100px) {
  .c-gnav {
    position: relative;
    width: 100%;
    pointer-events: none;
    position: fixed;
    left: 0;
    top: 60px;
    overflow-y: auto;
    transition: 0.3s;
    transform: translateY(-30px);
    opacity: 0;
    background: var(--c-gray);
    z-index: 10;
    padding: 20px;
    height: calc(100vh - 60px);
  }
  .js-gnav .c-gnav {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0px);
  }
}
@media screen and (min-width: 768px) {
  .c-gnav__grad {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .c-gnav__grad {
    position: absolute;
    background: radial-gradient(circle, var(--c1) 0%, var(--c0) 70%);
    pointer-events: none;
    right: -160px;
    bottom: -160px;
    width: 320px;
    height: 320px;
  }
}
.c-gnav__btn {
  position: fixed;
  right: 0;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 5;
}
@media screen and (min-width: 1101px) {
  .c-gnav__btn {
    display: none;
  }
}
@media screen and (max-width: 1100px) {
  .c-gnav__btn {
    width: 54px;
    height: 54px;
  }
}
.c-gnav__btn__dots {
  width: 22px;
  height: 22px;
  position: relative;
  transition: 0.3s;
  margin: 0 auto;
}
.c-gnav__btn__dot {
  transition: 0.3s;
  display: block;
  width: 25px;
  height: 2px;
  background: var(--c1);
  position: absolute;
}
.c-gnav__btn__dot:nth-child(1) {
  left: 50%;
  top: 25%;
  transform: translateX(-50%);
}
.c-gnav__btn__dot:nth-child(2) {
  left: 50%;
  bottom: 25%;
  transform: translateX(-50%);
}
.js-gnav .c-gnav__btn__dot:nth-child(1) {
  top: 50%;
  transform: translateX(-50%) rotate(45deg);
}
.js-gnav .c-gnav__btn__dot:nth-child(2) {
  bottom: 50%;
  transform: translateX(-50%) rotate(-45deg);
}
.c-gnav__btn__label {
  font-family: var(--f2);
  font-size: 0.8125rem;
  text-align: center;
  display: block;
}

@media screen and (min-width: 1101px) {
  .c-gnavLink__list {
    display: flex;
    gap: 10px 30px;
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 1100px) {
  .c-gnavLink__list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }
}
@media screen and (min-width: 1101px) {
  .c-gnavLink__item {
    text-align: left;
  }
}
@media screen and (max-width: 1100px) {
  .c-gnavLink__item {
    font-size: 1rem;
  }
}
.c-gnavLink__item a {
  font-weight: bold;
}
.c-gnavLink__item a:hover {
  opacity: 1;
}
@media screen and (max-width: 767px) {
  .c-gnavLink__item a {
    display: block;
    padding: 10px 0;
  }
}

@media screen and (min-width: 1101px) {
  .c-gnavLink02__list {
    display: flex;
    gap: 10px;
  }
}
@media screen and (max-width: 1100px) {
  .c-gnavLink02__list {
    margin-top: 20px;
  }
}
.c-gnavLink02__item a {
  border-radius: 9999px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  font-family: var(--f2);
  transition: 0.2s;
  overflow: hidden;
  font-size: 0.875rem;
  border: 1px solid var(--c0);
}
@media screen and (min-width: 1101px) {
  .c-gnavLink02__item a {
    white-space: nowrap;
  }
  .c-gnavLink02__item a:not(.--application) {
    width: 120px;
  }
}
.c-gnavLink02__item.--primary a {
  color: #fff;
  background: var(--c0);
}
.c-gnavLink02__item.--secondary a {
  background: #fff;
}
.c-gnavLink02__item.--secondary a:before {
  color: var(--c1);
}
.c-gnavLink02__item .label {
  display: flex;
  align-items: center;
  gap: 5px;
}
@media screen and (min-width: 1101px) {
  .c-gnavLink02__item a {
    height: 40px;
    padding: 10px 20px;
  }
}
@media screen and (max-width: 1100px) {
  .c-gnavLink02__item:not(:last-child) {
    margin-bottom: 10px;
  }
  .c-gnavLink02__item a {
    padding: 10px;
  }
}

.c-h {
  position: relative;
  padding-left: 16px;
  margin-bottom: 40px;
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-text);
}
.c-h::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 4px;
  height: 100%;
  background: var(--color-grad-v);
}
@media screen and (max-width: 767px) {
  .c-h {
    font-size: 1.125rem;
    margin-bottom: 24px;
  }
}

.c-h02 {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-text);
  padding: 16px 0;
  border-bottom: 1px solid;
  border-image: var(--color-grad) 1;
}
@media screen and (max-width: 767px) {
  .c-h02 {
    font-size: 1.25rem;
    padding: 12px 0;
  }
}

.c-h03 {
  display: flex;
  align-items: center;
  gap: 16px;
}
@media screen and (max-width: 767px) {
  .c-h03 {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
}
.c-h03__en {
  font-family: "Manrope", sans-serif;
  font-weight: 300;
  font-size: 2.5rem;
  line-height: 1;
  background: var(--color-grad);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  white-space: nowrap;
  padding-bottom: 0.1em;
}
.c-h03__en--large {
  font-size: 2.5rem;
}
@media screen and (max-width: 767px) {
  .c-h03__en {
    font-size: 2rem;
  }
}
.c-h03__ja {
  font-size: 1.25rem;
  line-height: 1.6;
  color: var(--color-text);
  white-space: nowrap;
}
.c-h03__ja--large {
  font-size: 1.25rem;
}
.c-h03.--white .c-h03__ja {
  color: #fff;
}
@media screen and (max-width: 767px) {
  .c-h03__ja {
    font-size: 1rem;
  }
}

.c-h04 {
  font-family: "Manrope", sans-serif;
  font-weight: 300;
  font-size: 1.5rem;
  line-height: 1;
  background: var(--color-grad);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  white-space: nowrap;
  padding-bottom: 0.1em;
  width: fit-content;
}
@media screen and (max-width: 767px) {
  .c-h04 {
    font-size: 1.75rem;
  }
}

.c-secTitle {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.c-secTitle__en {
  font-family: var(--f2);
  font-size: 2.375rem;
  line-height: 1;
  background: var(--color-grad);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  padding-bottom: 0.25em;
  width: fit-content;
}
.--center .c-secTitle__en {
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .c-secTitle__en {
    font-size: 1.75rem;
  }
}
.c-secTitle__ja {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 1.125rem;
  font-weight: 500;
  color: var(--color-text);
}
.c-secTitle__ja::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--color-grad);
}
@media screen and (max-width: 767px) {
  .c-secTitle__ja {
    font-size: 0.875rem;
  }
}
.--center .c-secTitle__ja {
  justify-content: center;
}
.--center .c-secTitle__ja:before {
  display: none;
}
.c-secTitle.--large .c-secTitle__en {
  font-size: 7.5rem;
  font-weight: 200;
  line-height: 0.85;
}
@media screen and (max-width: 767px) {
  .c-secTitle.--large .c-secTitle__en {
    font-size: 3.75rem;
  }
}
.c-secTitle.--center {
  text-align: center;
}
.c-secTitle.--white .c-secTitle__ja {
  color: #fff;
}

.c-link {
  background: #fff;
  border-radius: 15px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  font-size: 1.1875rem;
  box-shadow: 4px 6px 18px rgba(0, 0, 0, 0.12);
}
@media screen and (min-width: 768px) {
  .c-link {
    padding: 20px;
  }
}
@media screen and (max-width: 767px) {
  .c-link {
    padding: 15px 10px 15px 20px;
  }
}
.c-link:after {
  font-family: "Material Symbols Outlined";
  content: "chevron_right";
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  background: var(--c1);
}
@media screen and (min-width: 768px) {
  .c-link:after {
    font-size: 1.5rem;
    width: 58px;
    height: 58px;
  }
}
@media screen and (max-width: 767px) {
  .c-link:after {
    width: 28px;
    height: 28px;
  }
}
.c-link__list {
  display: grid;
}
@media screen and (min-width: 768px) {
  .c-link__list {
    gap: 20px;
  }
  .c-link__list.--2pc {
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (max-width: 767px) {
  .c-link__list {
    gap: 10px;
  }
  .c-link__list.--2sp {
    grid-template-columns: 1fr 1fr;
  }
}

.c-link02 {
  color: #fff;
  background: #606060;
  border-radius: 9999px;
  padding: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-size: 1.1875rem;
  box-shadow: 4px 6px 18px rgba(0, 0, 0, 0.12);
  min-height: 50px;
}
@media screen and (min-width: 768px) {
  .c-link02 {
    min-width: 180px;
  }
}
@media screen and (max-width: 767px) {
  .c-link02 {
    width: 100%;
  }
}
.c-link02 .ico img {
  width: 24px;
}
.c-link02 .label {
  font-family: var(--f2);
  font-size: 1.1875rem;
}
@media screen and (min-width: 768px) {
  .c-link02__list {
    display: flex;
    justify-content: center;
    gap: 20px;
  }
}
@media screen and (max-width: 767px) {
  .c-link02__list {
    display: grid;
    gap: 10px;
  }
  .c-link02__list.--2sp {
    grid-template-columns: 1fr 1fr;
  }
}

.c-link03__list {
  display: grid;
}
@media screen and (min-width: 768px) {
  .c-link03__list.--2col {
    grid-template-columns: 1fr 1fr;
    gap: 50px;
  }
  .c-link03__list.--3col {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 40px;
  }
}
@media screen and (max-width: 767px) {
  .c-link03__list {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
.c-link03__link {
  background: #fff;
  border: 1px solid #000;
  border-radius: 6px;
  display: block;
  position: relative;
}
@media screen and (min-width: 768px) {
  .c-link03__link {
    min-height: 160px;
    padding: 32px;
  }
  .--3col .c-link03__link {
    align-content: center;
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .c-link03__link {
    padding: 15px;
  }
}
.c-link03__link:after {
  content: "chevron_right";
  font-family: "Material Symbols Outlined";
  font-weight: 300;
  font-size: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid var(--c0);
  position: absolute;
}
@media screen and (min-width: 768px) {
  .c-link03__link:after {
    width: 20px;
    height: 20px;
    right: 15px;
    bottom: 15px;
  }
}
@media screen and (max-width: 767px) {
  .c-link03__link:after {
    width: 15px;
    height: 15px;
    right: 10px;
    bottom: 10px;
  }
}
.c-link03__link .label {
  display: block;
  font-weight: bold;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .c-link03__link .label {
    font-size: 0.9375rem;
  }
}
@media screen and (max-width: 767px) {
  .c-link03__link .label {
    font-size: 0.875rem;
  }
}
.c-link03__link .label:before {
  content: "";
  display: block;
  height: 1px;
  background: var(--c1);
}
@media screen and (min-width: 768px) {
  .c-link03__link .label:before {
    width: 20px;
  }
}
@media screen and (max-width: 767px) {
  .c-link03__link .label:before {
    width: 15px;
  }
}
.c-link03__link .label02 {
  display: block;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .c-link03__link .label02 {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .c-link03__link .label02 {
    font-size: 1.125rem;
  }
}
@media screen and (min-width: 768px) {
  .--3col .c-link03__link .label02 {
    font-size: 1.25rem;
  }
}
.p-pagenavi {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
}
.p-pagenavi span, .p-pagenavi a {
  font-weight: bold;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--f2);
  border-radius: 50%;
  background: #fff;
  box-shadow: 0px 2px 4px 0 rgba(0, 0, 0, 0.1);
}
.p-pagenavi span.current, .p-pagenavi a.current {
  color: #fff;
  background: var(--color-text);
}
.p-pagenavi span.nextpostslink, .p-pagenavi span.previouspostslink, .p-pagenavi span.first, .p-pagenavi span.last, .p-pagenavi span.extend, .p-pagenavi a.nextpostslink, .p-pagenavi a.previouspostslink, .p-pagenavi a.first, .p-pagenavi a.last, .p-pagenavi a.extend {
  border: none;
}
.p-pagenavi span.nextpostslink, .p-pagenavi span.previouspostslink, .p-pagenavi a.nextpostslink, .p-pagenavi a.previouspostslink {
  font-size: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-pagenavi span, .p-pagenavi a {
    width: 48px;
    height: 48px;
  }
}
@media screen and (max-width: 767px) {
  .p-pagenavi span, .p-pagenavi a {
    font-size: 0.8125rem;
    width: 32px;
    height: 32px;
  }
}

.c-input,
.wpcf7-list-item input {
  background: var(--c-gray);
  border: 1px solid var(--c-gray02);
  padding: 20px 25px;
  border-radius: 10px;
  font-size: 1rem;
}
.c-input.--max,
.wpcf7-list-item input.--max {
  width: 100%;
}
.c-input[type=checkbox], .c-input[type=radio],
.wpcf7-list-item input[type=checkbox],
.wpcf7-list-item input[type=radio] {
  vertical-align: baseline;
  padding: 0;
}
@media screen and (min-width: 768px) {
  .c-input[type=checkbox], .c-input[type=radio],
  .wpcf7-list-item input[type=checkbox],
  .wpcf7-list-item input[type=radio] {
    width: 15px;
    height: 15px;
  }
}
@media screen and (max-width: 767px) {
  .c-input[type=checkbox], .c-input[type=radio],
  .wpcf7-list-item input[type=checkbox],
  .wpcf7-list-item input[type=radio] {
    width: 15px;
    height: 15px;
  }
}

.wpcf7-list-item {
  margin-left: 0 !important;
  margin-bottom: 10px !important;
}

input[type=file]::file-selector-button {
  font-weight: bold;
  color: white;
  background: var(--c1);
  font-size: 14px;
  border: 0;
  border-radius: 10em;
  text-align: center;
}
@media screen and (min-width: 768px) {
  input[type=file]::file-selector-button {
    padding: 15px 53px;
  }
}
@media screen and (max-width: 767px) {
  input[type=file]::file-selector-button {
    padding: 15px 20px;
  }
}

.c-breadcrumb {
  font-size: 0.875rem;
  position: relative;
  z-index: 1;
  border-top: 1px solid var(--c-gray02);
  padding: 10px 0;
}
@media screen and (min-width: 768px) {
  .c-breadcrumb__list {
    display: flex;
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 767px) {
  .c-breadcrumb__list {
    font-size: 0.8125rem;
    line-height: 1.4;
  }
}
.c-breadcrumb__item {
  color: var(--c-gray02);
}
.c-breadcrumb__item .material-symbols-outlined {
  display: flex;
}
.c-breadcrumb__item:not(:last-child):after {
  content: "\e5cc";
  font-family: "Material Symbols Outlined";
  margin: 0 0.5em;
  font-size: 1.125rem;
}
@media screen and (max-width: 767px) {
  .c-breadcrumb__item:not(:last-child):after {
    font-size: 0.875rem;
    margin: 0 2px;
  }
}
.c-breadcrumb__item a {
  color: var(--c0);
}
@media screen and (min-width: 768px) {
  .c-breadcrumb__item {
    display: flex;
    align-items: center;
  }
}
@media screen and (max-width: 767px) {
  .c-breadcrumb__item {
    display: inline;
  }
}

.c-slideArrow {
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.3s;
  background: var(--c1);
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.15);
  z-index: 2;
}
.c-slideArrow .material-symbols-outlined {
  color: #fff;
}
.c-slideArrow.--prev .material-symbols-outlined {
  margin-left: 0.4em;
}
@media screen and (min-width: 768px) {
  .c-slideArrow {
    width: 50px;
    height: 50px;
  }
  .c-slideArrow .material-symbols-outlined {
    font-size: 1.375rem;
  }
}
@media screen and (max-width: 767px) {
  .c-slideArrow {
    width: 30px;
    height: 30px;
  }
  .c-slideArrow .material-symbols-outlined {
    font-size: 1.825rem;
  }
}

.c-slideArrow02 {
  transition: 0.3s;
  z-index: 2;
  color: var(--c1);
}
.c-slideArrow02:hover.--prev .material-symbols-outlined {
  transform: translateX(-40%);
}
.c-slideArrow02:hover.--next .material-symbols-outlined {
  transform: translateX(40%);
}
@media screen and (min-width: 768px) {
  .c-slideArrow02 {
    font-size: 2.5rem;
  }
}
.c-dotBg {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  background: url("../img/common/dotBg_01.svg") repeat-x center bottom;
  z-index: 1;
}
.c-dotBg:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
}
.c-dotBg.--c0:after {
  background: linear-gradient(0deg, var(--c0) 0%, transparent 100%);
}
.c-dotBg.--c1:after {
  background: linear-gradient(0deg, var(--c1) 0%, transparent 100%);
}
@media screen and (min-width: 768px) {
  .c-dotBg {
    height: 215px;
  }
}
@media screen and (max-width: 767px) {
  .c-dotBg {
    height: 105px;
    background-size: auto 100%;
  }
}

@media screen and (min-width: 768px) {
  .c-nav__list {
    display: flex;
    justify-content: center;
  }
}
.c-nav__item {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .c-nav__item {
    padding: 0 10px;
    border-right: 1px solid var(--c-gray02);
  }
  .c-nav__item:nth-child(1) {
    border-left: 1px solid var(--c-gray02);
  }
}
@media screen and (max-width: 767px) {
  .c-nav__item {
    border-bottom: 1px solid var(--c-gray02);
  }
}
.c-nav__item a {
  position: relative;
  height: 100%;
  display: block;
  align-content: center;
}
@media screen and (min-width: 768px) {
  .c-nav__item a {
    padding: 0 0 30px;
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .c-nav__item a {
    padding: 10px 0;
  }
}
.c-nav__item a:hover {
  color: var(--c1);
}
@media screen and (min-width: 768px) {
  .c-nav__item a:hover:before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: calc(100% + 5px);
    width: 100%;
    height: 4px;
    background: var(--c1);
  }
}
.c-nav__item a:after {
  content: "keyboard_arrow_down";
  font-family: "Material Symbols Outlined";
  font-weight: 300;
  position: absolute;
}
@media screen and (min-width: 768px) {
  .c-nav__item a:after {
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
  }
}
@media screen and (max-width: 767px) {
  .c-nav__item a:after {
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.125rem;
  }
}

.c-lead {
  font-weight: bold;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .c-lead.--fz18 {
    font-size: 1.125rem;
  }
}
@media screen and (min-width: 768px) {
  .c-lead.--fz24 {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .c-lead.--fz24 {
    font-size: 1.25rem;
  }
}
.c-lead.--fw500 {
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .c-lead.--tac {
    text-align: center;
  }
}
.c-mnav {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  background: #e6f0f0;
  padding: 130px 0 60px;
  transition: 0.3s;
  pointer-events: none;
  transform: translateY(-30px);
  opacity: 0;
}
.c-mnav.js-mnav {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0px);
}
.c-mnav__row {
  display: grid;
  grid-template-columns: 24fr 45fr 54fr;
  gap: 60px;
}
.c-mnav__head {
  padding-right: 60px;
  border-right: 1px solid #cccccc;
}
.c-mnav__h .label {
  display: block;
  font-weight: 500;
  font-size: 1.125rem;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
  font-weight: bold;
}
.c-mnav__h .label:before {
  content: "";
  display: block;
  width: 20px;
  height: 1px;
  background: var(--c1);
}
.c-mnav__h .label02 {
  display: block;
  font-family: var(--f2);
  line-height: 1;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .c-mnav__h .label02 {
    font-size: 3.125rem;
  }
}
@media screen and (max-width: 767px) {
  .c-mnav__h .label02 {
    font-size: 2.9rem;
  }
}
.c-mnav__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  font-size: 0.9375rem;
}
.c-mnavBnr__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  justify-content: flex-end;
}
.c-mnavBnr__img {
  margin-bottom: 10px;
  aspect-ratio: 260/140;
}
.c-mnavBnr__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-mnavBnr__label {
  font-size: 0.9375rem;
  font-family: var(--f2);
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.c-mnavBnr__label:after {
  content: "chevron_right";
  font-family: "Material Symbols Outlined";
  font-weight: 300;
  font-size: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid var(--c0);
  width: 20px;
  height: 20px;
}
.js-tab__target {
  opacity: 0;
  visibility: hidden;
  height: 0;
  margin: 0;
}
.js-tab__target.--open {
  opacity: 1;
  visibility: visible;
  height: auto;
}
.js-tab__target:not(.--open) {
  padding: 0 !important;
  margin: 0 !important;
}

.p-wysiwyg {
  line-height: 2;
}
.p-wysiwyg a:not(.wp-element-button) {
  text-decoration: underline;
  color: var(--c1);
}
.p-wysiwyg a:not(.wp-element-button):hover {
  text-decoration: none;
}
.p-wysiwyg a[target=_blank]:after {
  font-family: "Material Symbols Outlined";
  content: "open_in_new";
  font-size: 1.125rem;
}
.p-wysiwyg .wp-block-image a[target=_blank]:after {
  content: "";
}
.p-wysiwyg strong {
  font-family: var(--f2);
}

.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tr td {
  border: none !important;
}

@media screen and (max-width: 1100px) {
  .wp-block-flexible-table-block-table.is-scroll-on-mobile > table {
    width: 1000px !important;
  }
}

.wp-block-table.is-style-green-line {
  margin-bottom: 90px;
}
.wp-block-table.is-style-green-line:not(:nth-child(1)) {
  margin-top: var(--wp--preset--spacing--30);
}
.wp-block-table.is-style-green-line th, .wp-block-table.is-style-green-line td {
  border: none;
  vertical-align: top;
}
.wp-block-table.is-style-green-line td {
  padding: 30px 0 30px 20px;
  border-bottom: 1px solid var(--c-gray02);
}
.wp-block-table.is-style-green-line td:nth-child(1) {
  border-bottom: 1px solid #3caa96;
  padding-left: 0;
}

.wp-block-table.is-style-lp:not(:nth-child(1)) {
  margin-top: var(--wp--preset--spacing--30);
}
.wp-block-table.is-style-lp th, .wp-block-table.is-style-lp td {
  border: solid 1px #fff;
  vertical-align: top;
}
.wp-block-table.is-style-lp thead th {
  color: #fff;
  background-color: var(--c0);
  padding: 10px 20px;
  text-align: center;
}
.wp-block-table.is-style-lp tbody td {
  background: var(--c-gray);
  padding: 20px 20px;
}
.wp-block-table.is-style-lp tbody td:nth-child(1) {
  background: #d4dfed;
}

h5.wp-block-heading,
h6.wp-block-heading {
  font-weight: bold;
  font-size: 1.125rem;
  margin-bottom: 20px;
}

.wp-block-heading.is-style-plain {
  font-weight: bold;
  line-height: 1.6;
  position: relative;
}
@media screen and (min-width: 768px) {
  .wp-block-heading.is-style-plain:not(:nth-child(1)) {
    margin-top: 90px;
  }
}
@media screen and (max-width: 767px) {
  .wp-block-heading.is-style-plain:not(:nth-child(1)) {
    margin-top: 40px;
  }
}
@media screen and (min-width: 768px) {
  .wp-block-heading.is-style-plain {
    font-size: 1.5rem;
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 767px) {
  .wp-block-heading.is-style-plain {
    font-size: 1.25rem;
    margin-bottom: 30px;
  }
}

.wp-block-heading.is-style-plain30 {
  font-weight: bold;
  line-height: 1;
  position: relative;
}
@media screen and (min-width: 768px) {
  .wp-block-heading.is-style-plain30:not(:nth-child(1)) {
    margin-top: 90px;
  }
}
@media screen and (max-width: 767px) {
  .wp-block-heading.is-style-plain30:not(:nth-child(1)) {
    margin-top: 40px;
  }
}
@media screen and (min-width: 768px) {
  .wp-block-heading.is-style-plain30 {
    font-size: 1.875rem;
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 767px) {
  .wp-block-heading.is-style-plain30 {
    font-size: 1.5625rem;
    margin-bottom: 30px;
  }
}

.wp-block-heading.is-style-hyphen-on-left {
  font-weight: bold;
  line-height: 1;
  position: relative;
}
@media screen and (min-width: 768px) {
  .wp-block-heading.is-style-hyphen-on-left:not(:nth-child(1)) {
    margin-top: 90px;
  }
}
@media screen and (max-width: 767px) {
  .wp-block-heading.is-style-hyphen-on-left:not(:nth-child(1)) {
    margin-top: 40px;
  }
}
@media screen and (min-width: 768px) {
  .wp-block-heading.is-style-hyphen-on-left {
    font-size: 1.85rem;
    margin-bottom: 40px;
    padding-left: 50px;
  }
}
@media screen and (max-width: 767px) {
  .wp-block-heading.is-style-hyphen-on-left {
    font-size: 1.25rem;
    margin-bottom: 30px;
    padding-left: 25px;
  }
}
.wp-block-heading.is-style-hyphen-on-left:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  height: 1px;
  background: var(--c1);
}
@media screen and (min-width: 768px) {
  .wp-block-heading.is-style-hyphen-on-left:before {
    top: 16px;
    width: 30px;
  }
}
@media screen and (max-width: 767px) {
  .wp-block-heading.is-style-hyphen-on-left:before {
    top: 10px;
    width: 15px;
  }
}

.wp-block-heading.is-style-underline-gray {
  position: relative;
  font-size: 1.75rem;
  padding-bottom: 30px;
  margin-bottom: var(--wp--preset--spacing--60) !important;
  font-weight: bold;
  border-bottom: 1px solid var(--c-gray02);
}
@media screen and (min-width: 768px) {
  .wp-block-heading.is-style-underline-gray:not(:nth-child(1)) {
    margin-top: 90px;
  }
}
@media screen and (max-width: 767px) {
  .wp-block-heading.is-style-underline-gray:not(:nth-child(1)) {
    margin-top: 40px;
  }
}

.wp-block-heading.is-style-default {
  padding: 0;
  font-weight: 500;
  margin-bottom: var(--wp--preset--spacing--40);
}

@media screen and (max-width: 767px) {
  .p-wysiwyg .has-medium-font-size {
    font-size: 1.2rem !important;
  }
}

@media screen and (max-width: 767px) {
  .p-wysiwyg .has-large-font-size {
    font-size: 1.375rem !important;
  }
}

.wp-block-image.aligncenter {
  display: block !important;
}
@media screen and (min-width: 768px) {
  .wp-block-image:not(:nth-child(1)) {
    margin-top: var(--wp--preset--spacing--60);
  }
  .wp-block-image {
    margin-bottom: var(--wp--preset--spacing--60);
  }
}
@media screen and (max-width: 767px) {
  .wp-block-image:not(:nth-child(1)) {
    margin-top: var(--wp--preset--spacing--60);
  }
  .wp-block-image {
    margin-bottom: var(--wp--preset--spacing--60);
  }
  .is-layout-flex .wp-block-image.size-thumbnail {
    width: 50px;
    height: 50px;
  }
}

@media screen and (min-width: 768px) {
  .is-layout-flex {
    flex-wrap: nowrap;
  }
}
@media screen and (max-width: 767px) {
  .is-layout-flex {
    gap: 15px !important;
  }
}

.wp-block-embed-youtube iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}
@media screen and (min-width: 768px) {
  .wp-block-embed-youtube:not(:nth-child(1)) {
    margin-top: var(--wp--preset--spacing--80);
  }
  .wp-block-embed-youtube {
    margin-bottom: var(--wp--preset--spacing--80);
  }
}
@media screen and (max-width: 767px) {
  .wp-block-embed-youtube:not(:nth-child(1)) {
    margin-top: var(--wp--preset--spacing--60);
  }
  .wp-block-embed-youtube {
    margin-bottom: var(--wp--preset--spacing--60);
  }
}

.is-layout-grid > :is(*, div) {
  margin: 0 !important;
}

.wp-block-fnPoint__h {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
@media screen and (min-width: 768px) {
  .wp-block-fnPoint__h {
    width: 220px;
    transform: translateX(-70px);
  }
}
@media screen and (max-width: 767px) {
  .wp-block-fnPoint__h {
    width: 150px;
  }
}

.wp-block-columns.is-style-gap50 {
  gap: 50px;
}
.wp-block-columns.is-style-vertical-line {
  gap: 120px;
}
.wp-block-columns.is-style-vertical-line .wp-block-column:nth-child(even) {
  position: relative;
}
.wp-block-columns.is-style-vertical-line .wp-block-column:nth-child(even):after {
  content: "";
  display: block;
  position: absolute;
  right: calc(100% + 60px);
  top: 0;
  width: 1px;
  height: 100%;
  background: var(--c-gray02);
}

.wp-element-caption {
  font-size: 0.9375rem;
  display: block !important;
}

.block-editor-block-patterns-list__item {
  height: auto;
}

ul.wp-block-list > li {
  position: relative;
}
ol.wp-block-list > li::marker {
  font-family: var(--f2);
}

li > ol {
  margin-left: 2em;
}

ul.wp-block-list:not(:nth-child(1)),
ol.wp-block-list:not(:nth-child(1)) {
  margin-top: var(--wp--preset--spacing--60);
}
ul.wp-block-list,
ol.wp-block-list {
  margin-bottom: var(--wp--preset--spacing--60);
  margin-left: 5px;
}
@media screen and (min-width: 768px) {
  ul.wp-block-list.--2col,
  ol.wp-block-list.--2col {
    columns: 2;
    column-gap: 20px;
  }
}
li ul.wp-block-list,
li ol.wp-block-list {
  margin-top: 0;
  margin-bottom: 0;
}
ul.wp-block-list li,
ol.wp-block-list li {
  margin-left: 1em;
  list-style: inherit;
}
ul.wp-block-list li > ul > li::before,
ol.wp-block-list li > ul > li::before {
  border: 1px solid var(--c0);
  width: 12px;
  height: 12px;
  background: #fff;
}
ul.wp-block-list li > ul,
ul.wp-block-list li > ol,
ol.wp-block-list li > ul,
ol.wp-block-list li > ol {
  margin-top: 0;
}
@media screen and (min-width: 768px) {
  ul.wp-block-list li > ul,
  ul.wp-block-list li > ol,
  ol.wp-block-list li > ul,
  ol.wp-block-list li > ol {
    margin-left: 20px;
  }
}
ul.wp-block-list li > ul > li > ul > li::before,
ul.wp-block-list li > ol > li > ul > li::before,
ol.wp-block-list li > ul > li > ul > li::before,
ol.wp-block-list li > ol > li > ul > li::before {
  width: 10px;
  height: 10px;
  border-radius: 0;
  border: none;
  background: var(--c0);
}
@media screen and (min-width: 768px) {
  ul.wp-block-list li > ul > li > ul > li::before,
  ul.wp-block-list li > ol > li > ul > li::before,
  ol.wp-block-list li > ul > li > ul > li::before,
  ol.wp-block-list li > ol > li > ul > li::before {
    top: 14px;
  }
}
.wp-block-list.is-style-fill-white {
  counter-reset: count 0;
}
.wp-block-list.is-style-fill-white li {
  background: #fff;
  border: 1px solid var(--c-gray02);
  padding: 20px;
  border-radius: 10px;
  padding-left: 50px;
  position: relative;
  list-style: none !important;
  counter-increment: count 1;
  margin-left: 0;
}
.wp-block-list.is-style-fill-white li:not(:last-child) {
  margin-bottom: 10px;
}
.wp-block-list.is-style-fill-white li:before {
  content: counter(count, decimal);
  display: block;
  position: absolute;
  left: 15px;
  top: 15px;
  font-family: var(--f2);
  color: var(--c1);
  font-size: 1.5rem;
}

.wp-block-list.is-style-disc li {
  list-style: none !important;
  margin-left: 0;
}
.wp-block-list.is-style-disc li:not(:last-child) {
  margin-bottom: 10px;
}
.wp-block-list.is-style-disc li:before {
  content: "●";
  display: inline-block;
  color: var(--c1);
  font-size: 7px;
  margin-right: 1em;
  font-family: inherit;
  vertical-align: middle;
}

.wp-block-list.is-style-square li {
  list-style: none !important;
  margin-left: 0;
  position: relative;
  padding-left: 20px;
}
.wp-block-list.is-style-square li:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 10px;
  width: 10px;
  height: 10px;
  background: var(--c1);
  border-radius: 0;
  border: none;
}
.wp-block-list.is-style-square li:not(:last-child) {
  margin-bottom: 10px;
}

.wp-block-paragraph {
  line-height: 2;
}
.wp-block-column > * {
  margin-top: 0;
}
.wp-block-column *:last-child {
  margin-bottom: 0;
}

.css-1n451hs {
  height: auto !important;
}

.wp-block-post-content .wp-block-button__link:before, .wp-block-post-content .wp-block-button__link:after,
.wp-block-post-content .c-btn:before,
.wp-block-post-content .c-btn:after,
.wp-block-post-content .wp-block-details.is-style-default summary:before,
.wp-block-post-content .wp-block-details.is-style-default summary:after {
  display: none !important;
}

.wp-block-image-title-link__body {
  margin-top: 20px;
}
.wp-block-image-title-link__h {
  position: relative;
  padding-left: 35px;
  font-size: 1.25rem;
}
.wp-block-image-title-link__h:before {
  content: "chevron_right";
  font-family: "Material Symbols Outlined";
  font-weight: 300;
  position: absolute;
  left: 0;
  top: -8px;
  font-size: 1.875rem;
  color: var(--c1);
}
.wp-block-image-title-link__input {
  border: 1px solid var(--c-dark-gray);
}
.wp-block-image-title-link__input button {
  border: 1px solid var(--c-dark-gray);
  background: --c-dark-gray;
}

.wp-block-image.aligncenter .components-resizable-box__container img {
  margin-left: auto;
  margin-right: auto;
}

.wp-block-details.is-style-contact summary {
  display: block;
  border-radius: 10px;
  position: relative;
  color: #fff;
  background: var(--c0);
}
@media screen and (min-width: 768px) {
  .wp-block-details.is-style-contact summary {
    font-size: 1.25rem;
    padding: 15px 40px 15px 20px;
  }
}
@media screen and (max-width: 767px) {
  .wp-block-details.is-style-contact summary {
    padding: 15px 40px 15px 20px;
  }
}
.wp-block-details.is-style-contact summary:after {
  content: "add";
  color: var(--c1);
  font-family: "Material Symbols Outlined";
  font-weight: 300;
  font-size: 2rem;
  line-height: 1;
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  align-content: center;
}
@media screen and (min-width: 768px) {
  .wp-block-details.is-style-contact summary:after {
    right: 15px;
    width: 40px;
    height: 40px;
  }
}
@media screen and (max-width: 767px) {
  .wp-block-details.is-style-contact summary:after {
    right: 10px;
    width: 30px;
    height: 30px;
  }
}
.wp-block-details.is-style-contact[open] summary:after {
  content: "remove";
}

.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: 1320px;
}

.editor-styles-wrapper.post-type-service {
  background: var(--c-gray);
}

.p-informationSingle__section .youtube, .p-informationSingle__section .youtube iframe {
  width: 100%;
  aspect-ratio: 16/9;
  margin: 32px 0;
}

#imageCanvas,
#myCanvas {
  left: 0;
  top: 0;
  width: 100vw;
  z-index: -1;
  position: fixed;
}
@media screen and (min-width: 768px) {
  #imageCanvas,
  #myCanvas {
    height: 1080px;
  }
}
@media screen and (max-width: 767px) {
  #imageCanvas,
  #myCanvas {
    height: 100vh;
  }
}

#myCanvas {
  width: 800px;
  height: 600px;
}

.p-homeMv {
  position: relative;
  width: 100%;
  height: 100vh;
}
@media screen and (max-width: 767px) {
  .p-homeMv {
    min-height: 600px;
  }
}
.p-homeMv__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  height: 100%;
  padding: 0 120px;
}
.--home .p-homeMv__inner {
  transition: opacity 0.3s ease, visibility 0.3s ease;
  opacity: 0;
  pointer-events: none;
}
.--introDone .p-homeMv__inner {
  opacity: 1;
  pointer-events: auto;
}
@media screen and (max-width: 767px) {
  .p-homeMv__inner {
    padding: 0 5vw;
  }
}
.p-homeMv__head {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.p-homeMv__catch {
  font-size: 2.5rem;
  font-weight: 300;
  color: var(--c0, #212121);
}
@media screen and (max-width: 767px) {
  .p-homeMv__catch {
    font-size: 1.5rem;
  }
}
.p-homeMv__title {
  font-family: var(--f2);
  font-weight: 200;
  line-height: 1;
  color: #fff;
  display: flex;
  gap: 20px;
}
@media screen and (min-width: 768px) {
  .p-homeMv__title {
    margin-left: -140px;
    font-size: 15rem;
  }
  .p-homeMv__title span {
    white-space: nowrap;
  }
}
@media screen and (max-width: 767px) {
  .p-homeMv__title {
    font-size: 21vw;
    margin-left: -4vw;
  }
  .p-homeMv__title span:not(:nth-child(1)) {
    display: none;
  }
}
.p-homeMv__logo {
  position: absolute;
  right: 120px;
  bottom: 200px;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-homeMv__logo {
    right: 5vw;
    bottom: 150px;
  }
}
.p-homeMv__logo img {
  width: 180px;
  height: auto;
}
@media screen and (max-width: 767px) {
  .p-homeMv__logo img {
    width: 120px;
  }
}
.p-homeMv__news {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 2;
  width: 100%;
  max-width: 900px;
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(10px);
  border-top-right-radius: 10px;
}
@media screen and (max-width: 767px) {
  .p-homeMv__news {
    max-width: 100%;
    border-top-right-radius: 0;
  }
}
.p-homeMv__newsLink {
  display: flex;
  align-items: center;
  gap: 30px;
  padding: 24px 40px;
  color: var(--c0, #212121);
  transition: opacity 0.3s;
}
.p-homeMv__newsLink:hover {
  opacity: 0.7;
}
@media screen and (max-width: 767px) {
  .p-homeMv__newsLink {
    gap: 15px;
    padding: 16px 5vw;
  }
}
.p-homeMv__newsDate {
  font-family: var(--f2);
  font-weight: 500;
  white-space: nowrap;
}
.p-homeMv__newsTitle {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .p-homeMv__newsTitle {
    font-size: 1.125rem;
  }
}
.p-homeMv__newsArrow {
  position: relative;
  width: 48px;
  height: 48px;
  border: 1px solid var(--c0, #212121);
  border-radius: 50%;
  flex-shrink: 0;
}
.p-homeMv__newsArrow::after {
  content: "arrow_right_alt";
  font-family: "Material Symbols Outlined";
  font-size: 24px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px) {
  .p-homeMv__newsArrow {
    width: 36px;
    height: 36px;
  }
  .p-homeMv__newsArrow::after {
    font-size: 20px;
  }
}

.p-homeTopics {
  padding: 96px 0;
  background: rgba(113, 135, 168, 0.1);
  backdrop-filter: blur(11px);
}
@media screen and (max-width: 767px) {
  .p-homeTopics {
    padding: 60px 0 80px;
  }
}
.p-homeTopics__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 25px;
}
@media screen and (max-width: 767px) {
  .p-homeTopics__head {
    gap: 20px;
  }
}
.p-homeTopics__title {
  font-family: var(--f2);
  font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-homeTopics__title {
    font-size: 1.75rem;
  }
}
.p-homeTopics__list {
  display: grid;
}
@media screen and (min-width: 768px) {
  .p-homeTopics__list {
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
  }
}
@media screen and (max-width: 767px) {
  .p-homeTopics__list {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
.p-homeTopics__item {
  color: var(--c0, #212121);
  transition: opacity 0.3s;
}
@media screen and (max-width: 767px) {
  .p-homeTopics__item {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 20px;
  }
}
.p-homeTopics__item:hover {
  opacity: 0.7;
}
.p-homeTopics__itemImg {
  aspect-ratio: 270/160;
  border-radius: 8px;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-homeTopics__itemImg {
    margin-bottom: 20px;
  }
}
.p-homeTopics__itemImg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-homeTopics__itemBody {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.p-homeTopics__itemDate {
  font-family: var(--f2);
  font-size: 0.875rem;
  font-weight: 500;
  color: #666;
}
.p-homeTopics__itemTitle {
  font-size: 0.875rem;
  line-height: 1.6;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.p-homeVision {
  position: relative;
  padding: 128px 0;
}
@media screen and (max-width: 767px) {
  .p-homeVision {
    padding: 80px 0;
  }
}
.p-homeVision__bg {
  position: absolute;
  right: 0;
  top: 0;
  width: 60%;
  height: 100%;
  background: linear-gradient(135deg, rgba(0, 232, 158, 0.05) 0%, rgba(0, 119, 254, 0.05) 100%);
  border-radius: 20px 0 0 20px;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .p-homeVision__bg {
    width: 100%;
    border-radius: 0;
  }
}
.p-homeVision__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-homeVision__inner {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}
.p-homeVision__content {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.p-homeVision__title {
  font-size: 3rem;
  font-weight: 300;
}
@media screen and (max-width: 767px) {
  .p-homeVision__title {
    font-size: 1.75rem;
  }
}
.p-homeVision__lead {
  line-height: 2;
  color: #444;
}
@media screen and (min-width: 768px) {
  .p-homeVision__lead {
    font-size: 1.125rem;
  }
}
.p-homeVision__btn {
  margin-top: 16px;
}
.p-homeVision__images {
  position: relative;
  height: 730px;
}
@media screen and (max-width: 767px) {
  .p-homeVision__images {
    height: 300px;
  }
}
.p-homeVision__img {
  position: absolute;
  border-radius: 10px;
  overflow: hidden;
}
.p-homeVision__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-homeVision__img.--1 {
  top: 0;
  left: -30px;
  width: 240px;
  height: 280px;
}
@media screen and (max-width: 767px) {
  .p-homeVision__img.--1 {
    width: 45%;
    height: 200px;
  }
}
.p-homeVision__img.--2 {
  bottom: 0;
  right: -70px;
  width: 420px;
  height: 360px;
}
@media screen and (max-width: 767px) {
  .p-homeVision__img.--2 {
    width: 70%;
    height: 220px;
  }
}

.p-homeApproach {
  padding: 128px 0 80px;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .p-homeApproach {
    padding: 80px 0;
  }
}
.p-homeApproach__head {
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .p-homeApproach__head {
    margin-bottom: 40px;
  }
}
.p-homeApproach__title {
  font-size: 3rem;
  font-weight: 300;
  line-height: 1.6;
  letter-spacing: 0.6px;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .p-homeApproach__title {
    font-size: 1.75rem;
  }
}
.p-homeApproach__lead {
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .p-homeApproach__lead {
    font-size: 1.125rem;
  }
}
.p-homeApproach__grid {
  position: relative;
}
.p-homeApproach__grid:before {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 1790px;
  height: 780px;
  background: var(--color-grad);
  opacity: 0.1;
  border-radius: 50%;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .p-homeApproach__grid:before {
    top: -50px;
  }
}
@media screen and (max-width: 767px) {
  .p-homeApproach__grid:before {
    top: -30px;
  }
}
@media screen and (min-width: 768px) {
  .p-homeApproach__grid {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    position: relative;
  }
}
@media screen and (max-width: 767px) {
  .p-homeApproach__grid {
    display: flex;
    flex-direction: column;
  }
}
.p-homeApproach__item {
  display: block;
  color: #fff;
  transition: transform 0.3s;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}
.p-homeApproach__item:hover {
  transform: translateY(-5px);
}
@media screen and (min-width: 768px) {
  .p-homeApproach__item.--large {
    position: absolute;
    left: 50%;
    top: 110px;
    transform: translateX(-50%);
    width: 47%;
  }
  .p-homeApproach__item.--medium {
    position: absolute;
  }
  .p-homeApproach__item.--medium.--1 {
    width: 32%;
    left: 0;
    top: 0;
  }
  .p-homeApproach__item.--medium.--2 {
    width: 27%;
    left: 40px;
    top: 70%;
    transform: translateY(-50%);
  }
  .p-homeApproach__item.--small {
    width: 22%;
  }
  .p-homeApproach__item.--small.--2 {
    margin-top: 20px;
    transform: translateX(-20px);
  }
  .p-homeApproach__item.--small.--3 {
    margin-top: 40px;
  }
}
@media screen and (max-width: 767px) {
  .p-homeApproach__item {
    margin-bottom: 20px;
  }
  .p-homeApproach__item:nth-child(3), .p-homeApproach__item:nth-child(4), .p-homeApproach__item:nth-child(5), .p-homeApproach__item:nth-child(6) {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 20px;
  }
  .p-homeApproach__item.--ai {
    order: 6;
  }
  .p-homeApproach__item.--construction {
    order: 4;
  }
  .p-homeApproach__item.--gx {
    order: 3;
  }
  .p-homeApproach__item.--mobility {
    order: 5;
  }
}
.p-homeApproach__itemImg {
  border-radius: 12px;
  overflow: hidden;
}
.p-homeApproach__itemImg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-homeApproach__btn {
    width: 100%;
    justify-content: flex-end;
  }
}
.p-homeApproach__strength {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  position: relative;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .p-homeApproach__strength {
    margin-top: -80px;
  }
}
.p-homeApproach__strength:before {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -70px;
  width: 760px;
  height: 320px;
  background: var(--color-grad);
  opacity: 0.1;
  border-radius: 50%;
}
.p-homeApproach__strengthTitle {
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.6;
  text-align: center;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-homeApproach__strengthTitle {
    font-size: 1.5rem;
  }
}
.p-homeApproach__strengthLead {
  font-weight: 400;
  line-height: 1.6;
  max-width: 404px;
  position: relative;
  z-index: 1;
}
.p-homeApproach__strengthBtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-weight: 500;
  line-height: 1.6;
  color: #fff;
  transition: opacity 0.3s;
}
@media screen and (min-width: 768px) {
  .p-homeApproach__strengthBtn {
    font-size: 1.125rem;
  }
}
.p-homeApproach__strengthBtn:hover {
  opacity: 0.7;
}
.p-homeApproach__strengthArrow {
  position: relative;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: var(--color-grad);
  flex-shrink: 0;
}
.p-homeApproach__strengthArrow::before {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: 50%;
  background: var(--color-bg-dark-blue);
}
.p-homeApproach__strengthArrow::after {
  content: "arrow_right_alt";
  font-family: "Material Symbols Outlined";
  font-size: 24px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.p-homeSustainability {
  padding: 128px 0;
}
@media screen and (max-width: 767px) {
  .p-homeSustainability {
    padding: 80px 0;
  }
}
.p-homeSustainability__head {
  margin-bottom: 24px;
}
.p-homeSustainability__content {
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .p-homeSustainability__content {
    margin-bottom: 40px;
  }
}
.p-homeSustainability__title {
  font-size: 2rem;
  font-weight: 500;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .p-homeSustainability__title {
    font-size: 1.5rem;
  }
}
.p-homeSustainability__row {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 40px;
}
@media screen and (max-width: 767px) {
  .p-homeSustainability__row {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
  }
}
.p-homeSustainability__lead {
  max-width: 640px;
  line-height: 2;
  color: #444;
}
@media screen and (min-width: 768px) {
  .p-homeSustainability__lead {
    font-size: 1.125rem;
  }
}
.p-homeSustainability__blogHead {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 32px;
}
@media screen and (max-width: 767px) {
  .p-homeSustainability__blogHead {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }
}
.p-homeSustainability__blogAuthor {
  display: flex;
  align-items: center;
  gap: 12px;
}
.p-homeSustainability__blogAuthorImg {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  overflow: hidden;
}
.p-homeSustainability__blogAuthorImg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-homeSustainability__blogAuthorName {
  font-size: 1.25rem;
  font-weight: bold;
}
.p-homeSustainability__blogMore {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--c0, #212121);
  transition: opacity 0.3s;
}
.p-homeSustainability__blogMore:hover {
  opacity: 0.7;
}
.p-homeSustainability__blogMoreArrow {
  position: relative;
  width: 64px;
  height: 64px;
  border: 1px solid var(--c0, #212121);
  border-radius: 50%;
}
.p-homeSustainability__blogMoreArrow::after {
  content: "arrow_right_alt";
  font-family: "Material Symbols Outlined";
  font-size: 24px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px) {
  .p-homeSustainability__blogMoreArrow {
    width: 48px;
    height: 48px;
  }
}
.p-homeSustainability__blogList {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}
@media screen and (max-width: 767px) {
  .p-homeSustainability__blogList {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}
.p-homeSustainability__blogItem {
  display: block;
  color: var(--c0, #212121);
  transition: opacity 0.3s;
}
.p-homeSustainability__blogItem:hover {
  opacity: 0.7;
}
.p-homeSustainability__blogItemImg {
  aspect-ratio: 373/220;
  margin-bottom: 16px;
  border-radius: 8px;
  overflow: hidden;
}
.p-homeSustainability__blogItemImg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-homeSustainability__blogItemTitle {
  line-height: 1.6;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-homeSustainability__blogItemTitle {
    font-size: 1.125rem;
  }
}
.p-homeRecruit {
  position: relative;
  padding: 100px 0;
  overflow: hidden;
  background: var(--color-bg-dark-blue);
}
@media screen and (max-width: 767px) {
  .p-homeRecruit {
    padding: 80px 0 160px;
  }
}
.p-homeRecruit__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.p-homeRecruit__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-homeRecruit__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(10, 22, 41, 0.9) 0%, rgba(10, 22, 41, 0.3) 100%);
}
.p-homeRecruit__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 0.9fr 1fr;
  gap: 80px;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-homeRecruit__inner {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}
.p-homeRecruit__content {
  color: #fff;
}
.p-homeRecruit__title {
  font-size: 2rem;
  font-weight: 300;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .p-homeRecruit__title {
    font-size: 1.5rem;
  }
}
.p-homeRecruit__images {
  position: relative;
  height: 450px;
}
@media screen and (max-width: 767px) {
  .p-homeRecruit__images {
    height: 300px;
  }
}
.p-homeRecruit__img {
  border-radius: 10px;
  overflow: hidden;
}
.p-homeRecruit__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-homeRecruit__img.--1 {
  position: absolute;
}
@media screen and (min-width: 768px) {
  .p-homeRecruit__img.--1 {
    top: -90px;
    right: -120px;
    width: 316px;
  }
}
@media screen and (max-width: 767px) {
  .p-homeRecruit__img.--1 {
    width: 50%;
    right: -10vw;
  }
}
@media screen and (min-width: 768px) {
  .p-homeRecruit__img.--2 {
    position: absolute;
  }
}
@media screen and (max-width: 767px) {
  .p-homeRecruit__img.--2 {
    width: 70%;
    margin-top: 15%;
  }
}
.p-homeRecruit__img.--3 {
  position: absolute;
}
@media screen and (min-width: 768px) {
  .p-homeRecruit__img.--3 {
    bottom: -154px;
    right: -40px;
    width: 188px;
  }
}
@media screen and (max-width: 767px) {
  .p-homeRecruit__img.--3 {
    width: 30%;
    right: 2vw;
    top: 90%;
  }
}

.p-homeInformation {
  padding: 128px 0;
}
@media screen and (max-width: 767px) {
  .p-homeInformation {
    padding: 80px 0;
  }
}
@media screen and (max-width: 767px) {
  .p-homeInformation__head {
    margin-bottom: 20px;
  }
}
.p-homeInformation__tabs {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .p-homeInformation__tabs {
    justify-content: flex-start;
  }
}
.p-homeInformation__tab {
  padding: 12px 24px;
  font-size: 0.875rem;
  background: #fff;
  border-radius: 25px;
  cursor: pointer;
  transition: all 0.3s;
}
.p-homeInformation__tab:hover, .p-homeInformation__tab.is-active {
  background: var(--c0, #212121);
  color: #fff;
}
@media screen and (max-width: 767px) {
  .p-homeInformation__tab {
    padding: 8px 16px;
    font-size: 0.75rem;
  }
}
.p-homeInformation__list {
  border-top: 1px solid #fff;
}
.p-homeInformation__item {
  display: flex;
  align-items: center;
  gap: 74px;
  padding: 24px 0;
  border-bottom: 1px solid #fff;
  color: var(--c0, #212121);
  transition: opacity 0.3s;
}
.p-homeInformation__item:hover {
  opacity: 0.7;
}
@media screen and (max-width: 767px) {
  .p-homeInformation__item {
    flex-wrap: wrap;
    gap: 12px;
    padding: 16px 0;
  }
}
.p-homeInformation__itemDate {
  font-family: var(--f2);
  font-weight: 500;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-homeInformation__itemDate {
    font-size: 0.875rem;
  }
}
.p-homeInformation__itemTitle {
  flex: 1;
}
@media screen and (min-width: 768px) {
  .p-homeInformation__itemTitle {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 767px) {
  .p-homeInformation__itemTitle {
    flex-basis: 100%;
  }
}
.p-homeInformation__pager {
  display: flex;
  justify-content: center;
  margin-top: 48px;
}
.p-homeInformation__banner {
  text-align: center;
  margin-top: 48px;
}

@media screen and (min-width: 768px) {
  .p-newsArchive__list {
    margin: 60px 0;
  }
}
@media screen and (max-width: 767px) {
  .p-newsArchive__list {
    margin: 30px 0;
  }
}
.p-newsArchive__item {
  position: relative;
  border-bottom: 1px solid var(--c-dark-gray);
}
@media screen and (min-width: 768px) {
  .p-newsArchive__item {
    padding-bottom: 30px;
  }
}
@media screen and (max-width: 767px) {
  .p-newsArchive__item {
    padding-bottom: 26px;
  }
}
.p-newsArchive__item:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 160px;
  height: 1px;
  background: var(--c3);
}
@media screen and (min-width: 768px) {
  .p-newsArchive__item:not(:last-child) {
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 767px) {
  .p-newsArchive__item:not(:last-child) {
    margin-bottom: 17px;
  }
}
.p-newsArchive__link {
  display: flex;
  align-items: center;
  position: relative;
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .p-newsArchive__link {
    display: block;
    padding: 0 30px 0 0;
  }
}
.p-newsArchive__date {
  font-size: 0.875rem;
  font-family: var(--f2);
  color: var(--c3);
  display: block;
}
@media screen and (min-width: 768px) {
  .p-newsArchive__date {
    text-align: center;
    width: 160px;
  }
}
@media screen and (max-width: 767px) {
  .p-newsArchive__date {
    margin-bottom: 10px;
  }
}
.p-newsArchive__h {
  flex: 1;
}
@media screen and (min-width: 768px) {
  .p-newsArchive__h {
    font-size: 1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .p-newsArchive03__list {
    display: grid;
    gap: 24px;
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media screen and (max-width: 767px) {
  .p-newsArchive03__item:not(:last-child) {
    margin-bottom: 20px;
  }
  .p-newsArchive03__item a {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }
  .p-newsArchive03__item.swiper-slide a {
    grid-template-columns: 1fr;
  }
}
@media screen and (min-width: 768px) {
  .p-newsArchive03__img {
    margin-top: 15px;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    border-radius: 10px;
    aspect-ratio: 4/2.3;
  }
  .swiper-slide .p-newsArchive03__img {
    aspect-ratio: 1/0.4;
  }
}
@media screen and (max-width: 767px) {
  .p-newsArchive03__img {
    aspect-ratio: 1/0.6;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    border-radius: 10px;
  }
  .swiper-slide .p-newsArchive03__img {
    aspect-ratio: 1/1;
  }
}
.p-newsArchive03__img img {
  border-radius: 10px;
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.p-newsArchive03__h {
  margin-top: 10px;
}
.p-newsArchive04__item:not(:last-child) {
  margin-bottom: 20px;
}
.p-newsArchive04__link {
  background: #fff;
  border-radius: 10px;
  position: relative;
  box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.15);
}
@media screen and (min-width: 768px) {
  .p-newsArchive04__link {
    display: flex;
    gap: 80px;
    padding: 30px;
    padding-right: 60px;
  }
}
@media screen and (max-width: 767px) {
  .p-newsArchive04__link {
    display: block;
    padding: 20px;
    padding-right: 60px;
  }
}
.p-newsArchive04__link:before {
  content: "arrow_forward";
  font-family: "Material Symbols Outlined";
  font-weight: 300;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.5rem;
  color: var(--c1);
}
.p-newsArchive04__date {
  font-size: 0.875rem;
}
@media screen and (max-width: 767px) {
  .p-newsArchive04__date {
    margin-bottom: 10px;
  }
}
.p-newsArchive04__h {
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  .p-newsArchive04__h {
    font-size: 1.1rem;
  }
}
.p-newsSingle {
  border-radius: 20px;
  background: #fff;
}
@media screen and (min-width: 768px) {
  .p-newsSingle {
    padding: 70px 72px;
  }
}
@media screen and (max-width: 767px) {
  .p-newsSingle {
    padding: 20px 20px;
  }
}
.p-newsSingle__head {
  display: flex;
  gap: 20px;
  margin-bottom: 20px;
}
.p-newsSingle__date {
  font-size: 0.875rem;
}
.p-newsSingle__cats {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.p-newsSingle__cat a {
  display: flex;
  align-items: center;
  gap: 10px;
  border-radius: 9999px;
  padding: 3px 15px;
  font-size: 0.8125rem;
  background: #E5EBEB;
}
.p-newsSingle__row {
  display: grid;
  gap: 30px;
  grid-template-columns: 1fr 1fr;
}
.p-newsSingle__time {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-bottom: 20px;
}
.p-newsSingle__time .ico {
  background: var(--c1);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
}
.p-newsSingle__time .ico img {
  width: 14px;
}
.p-newsSingle__h {
  font-family: var(--f2);
  font-weight: 700;
  line-height: 1.4;
  border-bottom: 1px solid var(--c0);
  padding-bottom: 15px;
  margin-bottom: 50px;
}
@media screen and (min-width: 768px) {
  .p-newsSingle__h {
    margin-bottom: 40px;
    font-size: 2.3rem;
  }
}
@media screen and (max-width: 767px) {
  .p-newsSingle__h {
    margin-bottom: 30px;
    font-size: 1.375rem;
  }
}
@media screen and (min-width: 768px) {
  .p-newsSingle__mv {
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 767px) {
  .p-newsSingle__mv {
    margin-bottom: 30px;
  }
}
.p-newsSingle__mv img {
  border-radius: 15px;
}
.p-newsSingle__foot {
  border-top: 1px solid var(---c-gray02);
}
@media screen and (min-width: 768px) {
  .p-newsSingle__foot {
    padding-top: 60px;
    margin-top: 60px;
  }
}
@media screen and (max-width: 767px) {
  .p-newsSingle__foot {
    padding-top: 30px;
    margin-top: 30px;
  }
}

.p-form {
  border-radius: 20px;
  background: #fff;
  padding: 60px 65px;
}
@media screen and (max-width: 767px) {
  .p-form {
    padding: 30px 20px;
  }
}
.p-form__radios {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.p-form__radios.--col2 {
  display: block;
}
@media screen and (min-width: 768px) {
  .p-form__radios.--col2 {
    columns: 2;
    column-gap: 20px;
  }
}
.p-form__radios.--col2 .wpcf7-list-item {
  display: block;
}
.p-form__radios.--horizontal {
  display: flex;
  flex-direction: row;
  gap: 20px;
}
.p-form__table th {
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .p-form__table {
    width: 100%;
  }
  .p-form__table th, .p-form__table td {
    vertical-align: top;
    padding: 10px 0;
  }
  .p-form__table th {
    font-weight: bold;
    padding-right: 20px;
    position: relative;
  }
}
@media screen and (max-width: 767px) {
  .p-form__table {
    margin-bottom: 30px;
  }
  .p-form__table, .p-form__table tbody, .p-form__table tr, .p-form__table th, .p-form__table td {
    display: block;
  }
  .p-form__table tr:not(:last-child) {
    margin-bottom: 20px;
  }
  .p-form__table th {
    margin-bottom: 10px;
  }
}
.p-form__required {
  color: #fff;
  background: var(--c1);
  padding: 0 8px;
  margin-left: 10px;
}
.p-form__privacy {
  border: 1px solid var(--c-gray02);
  padding: 20px;
}
.p-form__privacy__h {
  font-size: 1rem;
  font-weight: bold;
  margin-bottom: 10px;
}
.p-form__privacy__txt {
  font-size: 0.875rem;
}
.p-form__privacyCheck {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-form__privacyCheck {
    margin-top: 30px;
  }
}
@media screen and (max-width: 767px) {
  .p-form__privacyCheck {
    margin-top: 20px;
  }
}
.p-form__file {
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .p-form__file {
    gap: 20px;
  }
}
@media screen and (max-width: 767px) {
  .p-form__file {
    gap: 10px;
  }
}
@media screen and (max-width: 767px) {
  .p-form__file__head {
    margin-bottom: 10px;
  }
}
.p-form__file__delete {
  background: var(--c-gray);
  border: 1px solid var(--c-gray02);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .p-form__file__delete {
    width: 40px;
    height: 40px;
  }
}
@media screen and (max-width: 767px) {
  .p-form__file__delete {
    width: 35px;
    height: 35px;
  }
}
.p-form__notes {
  font-size: 0.875rem;
  margin-top: 10px;
}

@media screen and (min-width: 768px) {
  .p-formMethod__list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
  }
}
.p-formMethod__item {
  background: #fff;
  border: 1px solid var(--c-gray02);
  border-radius: 10px;
}
.p-formMethod__item:nth-child(1) {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-formMethod__item {
    padding: 25px 40px;
  }
}
@media screen and (max-width: 767px) {
  .p-formMethod__item {
    padding: 20px;
  }
  .p-formMethod__item:not(:last-child) {
    margin-bottom: 30px;
  }
}
.p-formMethod__h {
  font-size: 1.125rem;
  font-weight: 500;
  margin-bottom: 15px;
}
.p-formMethod__bnr a:hover {
  opacity: 0.6;
}
.p-contectSercvice__tel {
  font-size: 1.5rem;
  font-family: var(--f2);
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-contectSercvice__tel {
    display: block;
  }
}

.p-information {
  background: var(--color-bg-body);
}
.p-information__content {
  padding-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .p-information__content {
    padding-bottom: 20px;
  }
}
.p-information__filter-controls {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-information__filter-controls {
    width: 100%;
    flex-direction: column;
  }
}
.p-information__filter-dropdown {
  position: relative;
}
.p-information__select {
  appearance: none;
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: 999px;
  padding: 16px 48px 16px 24px;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.2;
  color: var(--color-text);
  width: 240px;
  cursor: pointer;
  transition: all 0.3s ease;
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 10l5 5 5-5' stroke='%23212121' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 24px 24px;
}
.p-information__select:hover {
  border-color: var(--color-1st);
}
.p-information__select:focus {
  outline: none;
  border-color: var(--color-2nd);
  box-shadow: 0 0 0 3px rgba(0, 119, 254, 0.1);
}
@media screen and (max-width: 767px) {
  .p-information__select {
    width: 100%;
  }
}
.p-information__no-posts {
  text-align: center;
  padding: 60px 20px;
  color: var(--color-badge);
  font-size: 1rem;
}
.p-information__pagination {
  padding-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .p-information__pagination {
    padding-bottom: 40px;
  }
}

.p-informationArchive__h {
  font-size: 1.125rem;
  font-weight: bold;
}
.p-informationArchive__list-section {
  padding-bottom: 64px;
}
@media screen and (max-width: 767px) {
  .p-informationArchive__list-section {
    padding-bottom: 32px;
  }
}
.p-informationArchive__list-container {
  background: var(--color-white);
  border-radius: 24px;
  padding: 64px 80px;
}
@media screen and (max-width: 767px) {
  .p-informationArchive__list-container {
    padding: 32px 20px;
    border-radius: 16px;
  }
}
.p-informationArchive__list {
  display: flex;
  flex-direction: column;
}
.p-informationArchive__item {
  border-bottom: 1px solid var(--color-border);
  padding-bottom: 24px;
}
.p-informationArchive__item:not(:last-child) {
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .p-informationArchive__item {
    padding-bottom: 16px;
  }
  .p-informationArchive__item:not(:last-child) {
    margin-bottom: 16px;
  }
}
.p-informationArchive__link {
  text-decoration: none;
  transition: opacity 0.3s ease;
}
.p-informationArchive__link:hover {
  opacity: 0.7;
}
@media screen and (max-width: 767px) {
  .p-informationArchive__link {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
}
.p-informationArchive__head {
  display: flex;
  gap: 10px 24px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}
.p-informationArchive__date {
  font-family: "Manrope", sans-serif;
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.2;
  letter-spacing: 0.04em;
  color: var(--color-text);
  white-space: nowrap;
  flex-shrink: 0;
  width: 91px;
}
@media screen and (max-width: 767px) {
  .p-informationArchive__date {
    width: auto;
  }
}
.p-informationArchive__cats {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.p-informationArchive__cat {
  display: block;
  background: var(--color-badge);
  color: var(--color-white);
  line-height: 1;
  border-radius: 999px;
  white-space: nowrap;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-informationArchive__cat {
    padding: 6px 12px;
    min-width: 130px;
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 767px) {
  .p-informationArchive__cat {
    padding: 3px 8px;
    font-size: 0.8125rem;
  }
}
.p-informationArchive__text {
  flex: 1;
  line-height: 1.35;
  color: var(--color-text);
  margin: 0;
}
@media screen and (min-width: 768px) {
  .p-informationArchive__text {
    font-size: 1.125rem;
  }
}
.p-informationFilter {
  padding: 60px 50px;
  background: var(--c-gray);
  display: table;
  width: 100%;
}

.p-informationFilterRow {
  display: table-row;
}
.p-informationFilterRow:not(:last-child) {
  margin-bottom: 40px;
}
.p-informationFilterRow__h {
  display: table-cell;
  white-space: nowrap;
  padding-right: 1em;
}
.p-informationFilterRow:not(:last-child) .p-informationFilterRow__h {
  padding-bottom: 30px;
}
.p-informationFilterRow__body {
  display: table-cell;
}
.p-informationFilterRow:not(:last-child) .p-informationFilterRow__body {
  padding-bottom: 30px;
}

.p-informationCatsList {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.p-informationCatsList__item a {
  display: block;
  background: #fff;
  border: 1px solid #000;
  border-radius: 9999px;
  padding: 11px 50px;
}
.p-informationCatsList__item a.--current {
  background: var(--c0);
  color: #fff;
}

.p-informationFilterSelect {
  display: block;
  background: #fff;
  border: 1px solid #000;
  border-radius: 9999px;
  padding: 11px 20px;
  font-size: 1rem;
  font-weight: bold;
  height: 51px;
}

.p-informationSingle__section {
  padding-bottom: 64px;
}
@media screen and (max-width: 767px) {
  .p-informationSingle__section {
    padding-bottom: 32px;
  }
}
.p-informationSingle__container {
  background: var(--color-white);
  border-radius: 24px;
  padding: 64px 80px;
}
@media screen and (max-width: 767px) {
  .p-informationSingle__container {
    padding: 32px 20px;
    border-radius: 16px;
  }
}
.p-informationSingle__head {
  display: flex;
}
@media screen and (min-width: 768px) {
  .p-informationSingle__head {
    align-items: center;
    gap: 30px;
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 767px) {
  .p-informationSingle__head {
    flex-direction: column;
    gap: 10px;
    margin-bottom: 20px;
  }
}
.p-informationSingle__date {
  font-size: 0.875rem;
  font-weight: 500;
  font-family: var(--f2);
  white-space: nowrap;
}
.p-informationSingle__cats {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.p-informationSingle__cat {
  font-weight: 500;
  color: #fff;
  background: var(--color-badge);
  padding: 3px 25px;
  border-radius: 9999px;
  white-space: nowrap;
  display: block;
  font-size: 0.8125rem;
}
.p-informationSingle__h {
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .p-informationSingle__h {
    font-size: 2.25rem;
  }
}
@media screen and (max-width: 767px) {
  .p-informationSingle__h {
    font-size: 1.5rem;
    font-weight: bold;
  }
}
.p-informationSingle__eyecatch {
  margin-bottom: 60px;
}
@media screen and (min-width: 768px) {
  .p-informationSingle__content {
    max-width: 860px;
    margin: 0 auto;
  }
}
.p-pageHead__in {
  border-bottom: solid 1px #000;
}
@media screen and (min-width: 768px) {
  .p-pageHead__in {
    padding: 150px 0 50px;
  }
}
@media screen and (max-width: 767px) {
  .p-pageHead__in {
    padding: 80px 0 30px;
  }
}

.p-projectArchive {
  padding: 190px 0 100px;
  position: relative;
}
.p-projectArchive__item:not(:last-child) {
  margin-bottom: 100px;
}
.p-projectArchive__row {
  display: grid;
  grid-template-columns: 66fr 44fr;
  gap: 80px;
}
.p-projectArchive__item:nth-child(odd) .p-projectArchive__row {
  direction: rtl;
}
.p-projectArchive__item:nth-child(odd) .p-projectArchive__row * {
  direction: ltr;
}
.p-projectArchive__img {
  aspect-ratio: 66/47;
  display: block;
}
.p-projectArchive__img img {
  border-radius: 10px;
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.p-projectArchive__num {
  font-size: 1.875rem;
  font-weight: 500;
  font-family: var(--f2);
  color: var(--c1);
  margin-bottom: 30px;
  border-bottom: 2px solid var(--c1);
  width: fit-content;
}
.p-projectArchive__h {
  font-size: 1.75rem;
  font-weight: bold;
  margin-bottom: 30px;
}
.p-projectArchive__cats {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.p-projectArchive__cat {
  font-size: 0.875rem;
  color: #fff;
  background: var(--c1);
  padding: 0 15px;
  display: block;
  margin-bottom: 30px;
  border-radius: 9999px;
}
.p-projectArchive__desc {
  margin-bottom: 30px;
}

.p-projectArchive02__row {
  display: grid;
  grid-template-columns: 66fr 44fr;
  gap: 80px;
  border-bottom: 1px solid var(--c-gray02);
  border-right: 1px solid var(--c-gray02);
  padding-right: 60px;
  padding-bottom: 55px;
}
.p-projectArchive__item:nth-child(odd) .p-projectArchive02__row {
  direction: rtl;
}
.p-projectArchive__item:nth-child(odd) .p-projectArchive02__row * {
  direction: ltr;
}
.p-projectArchive02__img {
  aspect-ratio: 66/47;
  display: block;
}
.p-projectArchive02__img img {
  border-radius: 10px;
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.p-projectArchive02__num {
  font-size: 1.875rem;
  font-weight: 500;
  font-family: var(--f2);
  color: var(--c1);
  margin-bottom: 30px;
  border-bottom: 2px solid var(--c1);
  width: fit-content;
}
.p-projectArchive02__h {
  font-size: 1.75rem;
  font-weight: bold;
  margin-bottom: 30px;
}
.p-projectArchive02__cats {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.p-projectArchive02__cats__label {
  font-size: 0.875rem;
}
.p-projectArchive02__cat {
  font-size: 0.875rem;
  color: #fff;
  background: var(--c1);
  padding: 0 15px;
  display: block;
  margin-bottom: 30px;
  border-radius: 9999px;
}
.p-projectArchive02__desc {
  margin-bottom: 30px;
}

.p-projectArchive02Container {
  position: relative;
}

.p-projectSingle__head {
  display: flex;
  align-items: center;
  gap: 30px;
  margin-bottom: 10px;
}
.p-projectSingle__head {
  display: flex;
  align-items: center;
  gap: 30px;
  margin-bottom: 20px;
}
.p-projectSingle__date {
  font-size: 0.875rem;
  font-weight: 500;
  font-family: var(--f2);
  white-space: nowrap;
}
.p-projectSingle__cat {
  font-weight: 500;
  color: #fff;
  background: var(--c1);
  border-radius: 9999px;
  padding: 3px 13px;
  margin-right: 10px;
  white-space: nowrap;
  display: block;
  font-size: 0.8125rem;
}
.p-projectSingle__h {
  font-size: 2.25rem;
  padding-bottom: 40px;
  margin-bottom: 40px;
  border-bottom: 1px solid var(--c-gray02);
}
.p-projectSingle__eyecatch {
  margin-bottom: 60px;
}

.p-serviceDetails {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
}
@media screen and (min-width: 768px) {
  .p-serviceDetails {
    gap: 40px;
  }
}
@media screen and (max-width: 767px) {
  .p-serviceDetails {
    gap: 20px;
  }
}

.p-serviceDetail a {
  position: relative;
  display: block;
  border: 2px solid var(--c0);
  padding: 40px 60px 60px;
  border-radius: 10px;
  background: #fff;
}
.p-serviceDetail a:after {
  content: "arrow_circle_right";
  font-family: "Material Symbols Outlined";
  font-weight: 300;
  position: absolute;
  right: 20px;
  bottom: 20px;
  font-size: 1.75rem;
  line-height: 1;
}
.p-serviceDetail__head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 30px;
}
.p-serviceDetail__cat {
  font-size: 0.75rem;
  font-weight: 500;
  font-family: var(--f2);
  color: #fff;
  background: var(--c0);
  border-radius: 9999px;
  padding: 5px 20px;
}
.p-serviceDetail__h {
  font-size: 1.75rem;
  font-weight: bold;
  margin-bottom: 20px;
}
.p-serviceFilter {
  padding: 70px 150px;
  background: var(--c-gray);
  display: table;
  width: 100%;
}

.p-serviceKeywordFilter {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 40px;
}
.p-serviceKeywordFilter form {
  display: block;
  width: 100%;
  position: relative;
}
.p-serviceKeywordFilter__input {
  width: 100%;
  padding: 10px;
  border: 1px solid var(--c0);
  border-radius: 100vmax;
  background: #fff;
  padding: 20px;
  font-size: 1rem;
}
.p-serviceKeywordFilter__btn {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}
.p-serviceKeywordFilter__btn .material-symbols-outlined {
  font-size: 2rem;
}
.p-serviceKeywordFilter__popular {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.p-serviceKeywordFilter__popular__h {
  font-size: 0.875rem;
}
.p-serviceKeywordFilter__popular__list {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.p-serviceKeywordFilter__popular__item a {
  font-size: 0.875rem;
  color: #fff;
  background: var(--c1);
  border-radius: 100vmax;
  padding: 1px 12px;
  display: block;
}

.p-serviceCategorySection {
  background: url(../img/home/service_bg_01.webp) no-repeat center/cover;
}
.p-serviceCategorySection__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 70px;
  color: #fff;
}
.p-serviceCategorySection__lead {
  font-size: 1.125rem;
}

.p-serviceCategoryList {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 40px;
}
.p-serviceCategoryList__link {
  display: grid;
  grid-template-columns: 47fr 66fr;
  gap: 60px;
  border: 1px solid #fff;
  border-radius: 10px;
  padding: 45px 47px;
  color: #fff;
  transition: 0.3s;
  position: relative;
}
.p-serviceCategoryList__link:after {
  content: "chevron_right";
  font-family: "Material Symbols Outlined";
  font-weight: 300;
  font-size: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid var(--c0);
  width: 20px;
  height: 20px;
  position: absolute;
  right: 20px;
  bottom: 20px;
}
.p-serviceCategoryList__link:hover {
  color: var(--c1);
  border-color: var(--c1);
}
.p-serviceCategoryList__head {
  display: flex;
  align-items: center;
  gap: 30px;
  border-right: 1px solid #fff;
  padding-right: 20px;
}
.p-serviceCategoryList__ico {
  width: 90px;
  height: 90px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  align-content: center;
  text-align: center;
  padding: 20px;
}
.p-serviceCategoryList__label {
  display: block;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.p-serviceCategoryList__label:before {
  content: "";
  display: block;
  width: 20px;
  height: 1px;
  background: var(--c1);
}
.p-serviceCategoryList__label02 {
  display: flex;
  align-items: center;
  gap: 20px;
  font-family: var(--f2);
  line-height: 1;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .p-serviceCategoryList__label02 {
    font-size: 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-serviceCategoryList__label02 {
    font-size: 2.9rem;
  }
}
.p-serviceCategoryList__img {
  text-align: right;
  margin-top: 20px;
  margin-right: -10px;
  margin-bottom: -10px;
  filter: grayscale(1) brightness(3);
  transition: 0.3s;
}
.p-homeServiceFieldList__link:hover .p-serviceCategoryList__img {
  filter: grayscale(0) brightness(1);
}
.p-serviceCategoryList__img img {
  width: 60px;
}
.p-serviceCategoryList__desc {
  line-height: 2;
}

.p-serviceServiceList {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 90px 70px;
  margin-top: 110px;
}
.p-serviceServiceList__img {
  margin-bottom: 20px;
}
.p-serviceServiceList__h {
  margin-bottom: 20px;
}
.p-serviceServiceList__label {
  display: block;
  font-weight: 500;
  font-size: 0.9375rem;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.p-serviceServiceList__label:before {
  content: "";
  display: block;
  width: 20px;
  height: 1px;
  background: var(--c1);
}
.p-serviceServiceList__label02 {
  font-family: var(--f2);
  line-height: 1;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .p-serviceServiceList__label02 {
    font-size: 2.125rem;
  }
}
@media screen and (max-width: 767px) {
  .p-serviceServiceList__label02 {
    font-size: 2.9rem;
  }
}
.p-serviceServiceList__desc {
  line-height: 2;
  font-size: 0.875rem;
  margin-bottom: 20px;
}
.p-serviceServiceList__btn {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  font-size: 0.875rem;
}
.p-serviceServiceList__btn:after {
  content: "chevron_right";
  font-family: "Material Symbols Outlined";
  font-weight: 300;
  font-size: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid var(--c0);
  width: 20px;
  height: 20px;
}
.p-serviceCategoryOverview {
  display: grid;
  grid-template-columns: 47fr 62fr;
  align-items: center;
  gap: 60px;
}
.p-serviceCategoryOverview.--single {
  display: block;
}
.p-serviceCategoryOverview__head {
  display: flex;
  align-items: center;
  gap: 30px;
  border-right: 1px solid #fff;
  padding-right: 20px;
}
.p-serviceCategoryOverview__ico {
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  align-content: center;
  text-align: center;
  padding: 20px;
}
.p-serviceCategoryOverview__label {
  display: block;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
  font-size: 1.125rem;
}
.p-serviceCategoryOverview__label:before {
  content: "";
  display: block;
  width: 20px;
  height: 1px;
  background: var(--c1);
}
.p-serviceCategoryOverview__label02 {
  display: flex;
  align-items: center;
  gap: 20px;
  font-family: var(--f2);
  line-height: 1;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .p-serviceCategoryOverview__label02 {
    font-size: 3.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-serviceCategoryOverview__label02 {
    font-size: 2.9rem;
  }
}
.p-serviceCategoryOverview__img {
  text-align: right;
  margin-top: 20px;
  margin-right: -10px;
  margin-bottom: -10px;
  filter: grayscale(1) brightness(3);
  transition: 0.3s;
}
.p-homeServiceFieldList__link:hover .p-serviceCategoryOverview__img {
  filter: grayscale(0) brightness(1);
}
.p-serviceCategoryOverview__img img {
  width: 60px;
}
.p-serviceCategoryOverview__desc {
  line-height: 2;
}

.p-serviceScene__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
}
.p-serviceScene__item {
  display: grid;
  grid-template-columns: 58fr 42fr;
  gap: 85px;
  background: #fff;
  border-radius: 6px;
  border: 10px solid #fff;
}
.p-serviceScene__head {
  padding: 50px 0 50px 70px;
}
.p-serviceScene__num {
  font-size: 1.75rem;
  color: var(--c1);
  font-family: var(--f2);
  line-height: 1.3;
  border-bottom: 2px solid var(--c1);
  width: fit-content;
  margin-bottom: 20px;
}
.p-serviceScene__h {
  font-size: 1.625rem;
  font-weight: bold;
  margin-bottom: 20px;
  line-height: 1.8;
}
.p-serviceScene__lead {
  margin-bottom: 20px;
}
.p-serviceScene__img img {
  width: 100%;
}

.p-serviceSingleCategory {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
  font-size: 0.875rem;
}
.p-serviceSingleCategory .link {
  color: #fff;
  background: var(--c0);
  border-radius: 100vmax;
  padding: 2px 20px;
  display: block;
}

.p-caseCatsList {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.p-caseCatsList__item a {
  display: block;
  background: #fff;
  border: 1px solid #000;
  border-radius: 9999px;
  padding: 11px 50px;
}

.p-caseFilterSelect {
  display: block;
  background: #fff;
  border: 1px solid #000;
  border-radius: 9999px;
  padding: 11px 20px;
}

.p-caseArchive {
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-caseArchive {
    padding: 190px 0 100px;
  }
}
@media screen and (max-width: 767px) {
  .p-caseArchive {
    padding: 50px 0;
  }
}
.p-caseArchive__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
}
.p-caseArchive__arrow.--prev {
  right: calc(100% + 20px);
}
.p-caseArchive__arrow.--next {
  left: calc(100% + 20px);
}
.p-caseArchive__list {
  position: relative;
}
.p-caseArchive__item {
  border-right: 1px solid var(--c-gray02);
  border-bottom: 1px solid var(--c-gray02);
}
@media screen and (min-width: 768px) {
  .p-caseArchive__item {
    padding-right: 60px;
    padding-bottom: 60px;
  }
  .p-caseArchive__item:not(:last-child) {
    margin-bottom: 100px;
  }
}
@media screen and (max-width: 767px) {
  .p-caseArchive__item {
    padding-right: 30px;
    padding-bottom: 30px;
  }
  .p-caseArchive__item:not(:last-child) {
    margin-bottom: 50px;
  }
}
.p-caseArchive__row {
  display: grid;
}
@media screen and (min-width: 768px) {
  .p-caseArchive__row {
    grid-template-columns: 1.1fr 1fr;
    gap: 60px;
  }
}
@media screen and (max-width: 767px) {
  .p-caseArchive__row {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
.p-caseArchive__img {
  aspect-ratio: 52/32;
  display: block;
}
.p-caseArchive__img img {
  border-radius: 10px;
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.p-caseArchive__num {
  font-weight: 500;
  font-family: var(--f2);
  color: var(--c1);
  border-bottom: 2px solid var(--c1);
  width: fit-content;
  line-height: 1.3;
}
@media screen and (min-width: 768px) {
  .p-caseArchive__num {
    font-size: 1.875rem;
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 767px) {
  .p-caseArchive__num {
    font-size: 1.5rem;
    margin-bottom: 20px;
  }
}
.p-caseArchive__h {
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .p-caseArchive__h {
    font-size: 1.75rem;
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 767px) {
  .p-caseArchive__h {
    font-size: 1.375rem;
    margin-bottom: 20px;
  }
}
.p-caseArchive__cats {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.p-caseArchive__cat {
  font-size: 0.875rem;
  color: #fff;
  background: var(--c1);
  padding: 0 15px;
  display: block;
  border-radius: 9999px;
}
.p-caseArchive__desc {
  margin-top: 30px;
}
.p-caseArchive__btn {
  margin-top: 30px;
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: flex-end;
}
.p-caseArchive__btn:after {
  content: "chevron_right";
  font-family: "Material Symbols Outlined";
  font-weight: 300;
  font-size: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid var(--c0);
  width: 20px;
  height: 20px;
}
.p-caseArchiveTabBtns__list {
  gap: 10px;
}
@media screen and (min-width: 768px) {
  .p-caseArchiveTabBtns__list {
    display: flex;
    justify-content: center;
  }
}
@media screen and (max-width: 767px) {
  .p-caseArchiveTabBtns__list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin: 0 30px;
  }
}
.p-caseArchiveTabBtns__btn {
  display: block;
  background: var(--c-gray02);
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  padding: 17px 10px;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .p-caseArchiveTabBtns__btn {
    width: 400px;
  }
}
@media screen and (max-width: 767px) {
  .p-caseArchiveTabBtns__btn {
    width: 100%;
  }
}
.p-caseArchiveTabBtns__btn.--current {
  color: #fff;
}
.p-caseArchiveTabBtns__item:nth-child(odd) .p-caseArchiveTabBtns__btn.--current {
  background: linear-gradient(-21deg, #33406a 0%, #035f96 100%);
}
.p-caseArchiveTabBtns__item:nth-child(even) .p-caseArchiveTabBtns__btn.--current {
  background: linear-gradient(-21deg, #014c4d 0%, #01a583 100%);
}

@media screen and (min-width: 768px) {
  .p-caseArchiveTab {
    padding: 100px 0;
  }
}
@media screen and (max-width: 767px) {
  .p-caseArchiveTab {
    padding: 30px 0;
  }
}
.p-caseArchiveTab:nth-child(odd) {
  background: linear-gradient(-21deg, #33406a 0%, #035f96 100%);
}
.p-caseArchiveTab:nth-child(even) {
  background: linear-gradient(-21deg, #014c4d 0%, #01a583 100%);
}

.p-caseArchive02 {
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-caseArchive02 {
    padding: 190px 0 100px;
  }
}
@media screen and (max-width: 767px) {
  .p-caseArchive02 {
    padding: 30px 0;
  }
}
.p-caseArchive02__item:not(:last-child) {
  margin-bottom: 30px;
}
.p-caseArchive02__item a {
  display: block;
  background: #fff;
  border-radius: 10px;
}
@media screen and (min-width: 768px) {
  .p-caseArchive02__item a {
    padding: 10px 40px 10px 10px;
  }
}
@media screen and (max-width: 767px) {
  .p-caseArchive02__item a {
    padding: 20px;
  }
}
@media screen and (min-width: 768px) {
  .p-caseArchive02__row {
    display: grid;
    grid-template-columns: 0.9fr 1fr;
    gap: 60px;
    align-items: center;
  }
}
.p-caseArchive02__img {
  aspect-ratio: 52/32;
  display: block;
}
.p-caseArchive02__img img {
  border-radius: 10px;
  object-fit: cover;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .p-caseArchive02__img {
    margin-bottom: 20px;
  }
}
.p-caseArchive02__h {
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .p-caseArchive02__h {
    font-size: 1.5rem;
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 767px) {
  .p-caseArchive02__h {
    font-size: 1.125rem;
    margin-bottom: 10px;
  }
}
.p-caseArchive02__cats {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  .p-caseArchive02__cats {
    gap: 10px;
  }
}
@media screen and (max-width: 767px) {
  .p-caseArchive02__cats {
    gap: 5px;
  }
}
.p-caseArchive02__cat {
  font-size: 0.875rem;
  color: #fff;
  background: var(--c1);
  display: block;
  border-radius: 9999px;
}
@media screen and (min-width: 768px) {
  .p-caseArchive02__cat {
    padding: 0 15px;
  }
}
@media screen and (max-width: 767px) {
  .p-caseArchive02__cat {
    padding: 0 10px;
  }
}
@media screen and (min-width: 768px) {
  .p-caseArchive02__desc {
    margin-top: 30px;
  }
}
@media screen and (max-width: 767px) {
  .p-caseArchive02__desc {
    margin-top: 10px;
  }
}
.p-caseArchive02__btn {
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: flex-end;
  margin-top: 20px;
}
.p-caseArchive02__btn:after {
  content: "chevron_right";
  font-family: "Material Symbols Outlined";
  font-weight: 300;
  font-size: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid var(--c0);
}
@media screen and (min-width: 768px) {
  .p-caseArchive02__btn:after {
    width: 20px;
    height: 20px;
  }
}
@media screen and (max-width: 767px) {
  .p-caseArchive02__btn:after {
    width: 15px;
    height: 15px;
  }
}

.p-caseSingle__head {
  margin-bottom: 10px;
}
@media screen and (min-width: 768px) {
  .p-caseSingle__head {
    display: flex;
    align-items: center;
    gap: 30px;
  }
}
.p-caseSingle__head {
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .p-caseSingle__head {
    display: flex;
    align-items: center;
    gap: 10px;
  }
}
.p-caseSingle__date {
  font-size: 0.875rem;
  font-weight: 500;
  font-family: var(--f2);
  white-space: nowrap;
}
.p-caseSingle__cats {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  .p-caseSingle__cats {
    gap: 10px;
  }
}
@media screen and (max-width: 767px) {
  .p-caseSingle__cats {
    margin-top: 10px;
    gap: 5px;
  }
}
.p-caseSingle__cat {
  font-weight: 500;
  color: #fff;
  background: var(--c1);
  border-radius: 9999px;
  margin-right: 10px;
  white-space: nowrap;
  display: block;
  font-size: 0.8125rem;
}
@media screen and (min-width: 768px) {
  .p-caseSingle__cat {
    padding: 3px 13px;
  }
}
@media screen and (max-width: 767px) {
  .p-caseSingle__cat {
    padding: 0px 10px;
  }
}
.p-caseSingle__h {
  border-bottom: 1px solid var(--c-gray02);
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .p-caseSingle__h {
    font-size: 2.25rem;
    padding-bottom: 40px;
    margin-bottom: 60px;
  }
}
@media screen and (max-width: 767px) {
  .p-caseSingle__h {
    font-size: 1.5rem;
    padding-bottom: 20px;
    margin-bottom: 30px;
  }
}
@media screen and (min-width: 768px) {
  .p-caseSingle__eyecatch {
    margin-bottom: 60px;
  }
}
@media screen and (max-width: 767px) {
  .p-caseSingle__eyecatch {
    margin-bottom: 40px;
  }
}

.p-aboutVideo {
  position: relative;
  padding: 100px 0;
}
.p-aboutVideo__bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 670px;
  background: linear-gradient(0deg, #33406a 0%, #016098 100%);
}
.p-aboutVideo__in {
  position: relative;
  z-index: 1;
}
.p-aboutVideo__h {
  color: #fff;
  text-align: center;
  font-weight: bold;
}
.p-aboutVideo__h .label {
  display: block;
  font-size: 1.75rem;
  font-weight: 500;
  color: #fff;
}
.p-aboutVideo__h .label02 {
  font-family: var(--f2);
  display: block;
  font-size: 3.75rem;
  font-weight: 500;
  color: #fff;
}
.p-aboutVideo__h:after {
  content: "";
  display: block;
  width: 1px;
  height: 30px;
  background: var(--c1);
  margin: 20px auto;
}
.p-aboutVideo__video iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}

.p-aboutFeatureSection {
  display: flex;
  gap: -50px;
  position: relative;
}
.p-aboutFeatureSection:not(:last-child) {
  margin-bottom: 130px;
}
.p-aboutFeatureSection__head {
  position: relative;
  z-index: 1;
}
.p-aboutFeatureSection__num {
  font-size: 1.875rem;
  font-weight: 500;
  color: var(--c-gray02);
  font-family: var(--f2);
  border-bottom: 3px solid var(--c-gray02);
  margin-bottom: 75px;
  width: fit-content;
}
.p-aboutFeatureSection__h {
  margin-bottom: 80px;
}
.p-aboutFeatureSection__h .label {
  display: block;
  font-size: 5.625rem;
  font-weight: 500;
  color: var(--c-gray02);
  font-family: var(--f2);
  margin-bottom: 20px;
}
.p-aboutFeatureSection__h .label02 {
  display: block;
  font-size: 3rem;
  font-weight: bold;
  color: #fff;
  background: var(--c1);
  padding: 0 10px;
  width: fit-content;
}
.p-aboutFeatureSection__desc {
  background: #fff;
  width: 570px;
  padding-top: 40px;
  padding-right: 50px;
  border-radius: 10px;
}
.p-aboutFeatureSection__h02 {
  font-size: 1.75rem;
  font-weight: bold;
  margin-bottom: 20px;
}
.p-aboutFeatureSection__h02 em {
  color: var(--c1);
}
.p-aboutFeatureSection__lead {
  font-size: 1rem;
  margin-bottom: 20px;
  line-height: 2;
}
.p-aboutFeatureSection__body {
  position: absolute;
  right: 0;
  top: 0;
  width: 900px;
}
.p-aboutFeatureSection__img img {
  border-radius: 10px;
}
.p-aboutFeatureSection__link {
  margin-top: 60px;
  display: flex;
  justify-content: flex-end;
}

.p-aboutHokkaido__h {
  font-size: 3.125rem;
  font-weight: bold;
  margin-bottom: 70px;
  text-align: center;
}
.p-aboutHokkaido__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  margin-bottom: 80px;
}
.p-aboutHokkaido__lead {
  font-size: 1rem;
  line-height: 2;
  margin-bottom: 40px;
}
.p-aboutHokkaido__row {
  display: grid;
  grid-template-columns: 31fr 66fr;
  gap: 60px;
}
.p-aboutHokkaido__desc {
  line-height: 2;
}
.p-aboutHokkaido__img {
  margin-top: -160px;
  margin-right: -60px;
  text-align: right;
}

.p-aboutHistory__in {
  background: #fff;
  padding: 80px 70px;
  border-radius: 10px;
  position: relative;
  overflow: hidden;
}
.p-aboutHistory__h02 {
  position: absolute;
  left: 70px;
  bottom: 80px;
  font-size: 3.125rem;
  display: flex;
  align-items: flex-end;
  line-height: 1;
  color: var(--c-gray02);
  font-family: var(--f2);
}
.p-aboutHistory__h02 .num {
  font-size: 7.5rem;
}
.p-aboutHistory__lead {
  width: 470px;
  line-height: 2;
  position: absolute;
  right: 90px;
  top: 90px;
}
.p-aboutHistory__timeline__item {
  display: flex;
  align-items: center;
  height: 2em;
}
.p-aboutHistory__timeline__item:not(:last-child) {
  margin-bottom: 25px;
}
.p-aboutHistory__timeline__item:nth-child(1) {
  margin-left: 0px;
}
.p-aboutHistory__timeline__item:nth-child(2) {
  margin-left: 45px;
}
.p-aboutHistory__timeline__item:nth-child(3) {
  margin-left: 90px;
}
.p-aboutHistory__timeline__item:nth-child(4) {
  margin-left: 135px;
}
.p-aboutHistory__timeline__item:nth-child(5) {
  margin-left: 180px;
}
.p-aboutHistory__timeline__item:nth-child(6) {
  margin-left: 225px;
}
.p-aboutHistory__timeline__item:nth-child(7) {
  margin-left: 270px;
}
.p-aboutHistory__timeline__item:nth-child(8) {
  margin-left: 315px;
}
.p-aboutHistory__timeline__item:nth-child(9) {
  margin-left: 360px;
}
.p-aboutHistory__timeline__item:nth-child(10) {
  margin-left: 405px;
}
.p-aboutHistory__timeline__item:nth-child(11) {
  margin-left: 450px;
}
.p-aboutHistory__timeline__item:nth-child(12) {
  margin-left: 495px;
}
.p-aboutHistory__timeline__item:nth-child(13) {
  margin-left: 540px;
}
.p-aboutHistory__timeline__item:nth-child(14) {
  margin-left: 585px;
}
.p-aboutHistory__timeline__item:nth-child(15) {
  margin-left: 630px;
}
.p-aboutHistory__timeline__item:nth-child(16) {
  margin-left: 675px;
}
.p-aboutHistory__timeline__item:nth-child(17) {
  margin-left: 720px;
}
.p-aboutHistory__timeline__item:nth-child(18) {
  margin-left: 765px;
}
.p-aboutHistory__timeline__item:nth-child(19) {
  margin-left: 810px;
}
.p-aboutHistory__timeline__item:nth-child(20) {
  margin-left: 855px;
}
.p-aboutHistory__timeline__year {
  font-family: var(--f2);
  font-size: 1.125rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 4.7em;
  position: relative;
}
.p-aboutHistory__timeline__year:after {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  background: var(--c1);
  border-radius: 50%;
  border: 6px solid var(--c-gray);
  z-index: 1;
}
.p-aboutHistory__timeline__year:before {
  content: "";
  display: block;
  position: absolute;
  right: 10px;
  top: 50%;
  width: 4px;
  height: calc(100% + 300px);
  transform: skewX(38.4deg);
  transform-origin: top left;
  background: var(--c1);
  pointer-events: none;
}
.p-aboutHistory__timeline__title {
  margin-left: 15px;
}

.p-aboutCompany__list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  gap: 40px;
}
.p-aboutCompany__item {
  text-align: center;
}
.p-aboutCompany__item a {
  display: block;
}
.p-aboutCompany__img {
  margin-bottom: 20px;
}
.p-aboutCompany__title {
  font-weight: bold;
}

.p-aboutCompanyGroup {
  border: 1px solid var(--c-gray02);
  padding: 50px;
  display: grid;
  grid-template-columns: 31fr 66fr;
  gap: 60px;
}
.p-aboutCompanyGroup:not(:last-child) {
  margin-bottom: 60px;
}
.p-aboutCompanyGroup__img {
  border-right: 1px solid var(--c-gray02);
  padding-right: 60px;
}
.p-aboutCompanyGroup__h {
  font-weight: bold;
  font-size: 1.25rem;
  margin-bottom: 20px;
}
.p-aboutCompanyGroup__desc {
  line-height: 2;
}

.p-corporateBnrList {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 90px 45px;
}
.p-corporateBnrList__img {
  margin-bottom: 20px;
}
.p-corporateBnrList__img img {
  border-radius: 10px;
}
.p-corporateBnrList__label {
  display: block;
  font-weight: 500;
  font-size: 0.9375rem;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.p-corporateBnrList__label:before {
  content: "";
  display: block;
  width: 20px;
  height: 1px;
  background: var(--c1);
}
.p-corporateBnrList__label02 {
  display: flex;
  align-items: center;
  gap: 20px;
  font-family: var(--f2);
  line-height: 1;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .p-corporateBnrList__label02 {
    font-size: 2.125rem;
  }
}
@media screen and (max-width: 767px) {
  .p-corporateBnrList__label02 {
    font-size: 2.9rem;
  }
}
.p-corporateBnrList__label02:after {
  content: "chevron_right";
  font-family: "Material Symbols Outlined";
  font-weight: 300;
  font-size: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid var(--c0);
  width: 20px;
  height: 20px;
}
.p-corporateBnrList__desc {
  font-size: 0.875rem;
  margin-top: 20px;
}

.p-sustainabilityIntro__h {
  text-align: center;
  font-size: 1.875rem;
  font-weight: bold;
  margin-bottom: 30px;
}
.p-sustainabilityIntro__lead {
  font-size: 1rem;
  line-height: 1.8;
  text-align: center;
}

.p-esgSection {
  position: relative;
  background: var(--c-gray);
  border-radius: 10px;
  padding: 100px 80px;
}
.p-esgSection:not(:last-child) {
  margin-bottom: 100px;
}
.p-esgSection__num {
  width: 90px;
  height: 90px;
  text-align: center;
  align-content: center;
  color: var(--c1);
  font-size: 1.875rem;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -50%);
  background: #FFF;
  border-radius: 50%;
  font-family: var(--f2);
  border: 4px solid var(--c-gray);
  font-weight: 500;
  line-height: 1;
}
.p-esgSection__num:after {
  content: "";
  display: block;
  width: 30px;
  height: 3px;
  background: var(--c1);
  margin: 0 auto;
  margin-top: 5px;
}
.p-esgSection__row {
  display: grid;
  grid-template-columns: 44fr 52fr;
  gap: 60px;
}
.p-esgSection__icons {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  margin-bottom: 40px;
}
.p-esgSection__icon {
  width: 100px;
}
.p-esgSection__h {
  font-size: 1.75rem;
  font-weight: bold;
  margin-bottom: 30px;
}
.p-esgSection__lead {
  font-size: 1rem;
  line-height: 1.8;
  margin-bottom: 30px;
}
.p-esgSection__img img {
  border-radius: 10px;
}

.p-corporateOrg {
  position: relative;
  display: grid;
}
@media screen and (max-width: 767px) {
  .p-corporateOrg:after {
    content: "";
    display: block;
    width: 1px;
    height: calc(100% - 40px);
    background-color: #00ab9e;
    position: absolute;
    left: 10px;
    top: 40px;
  }
}
@media screen and (min-width: 768px) {
  .p-corporateOrg {
    grid-template-columns: 12fr 32fr 32fr;
    gap: 10%;
  }
}
@media screen and (max-width: 767px) {
  .p-corporateOrg {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
.p-corporateOrg__col {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-corporateOrg__col {
    gap: 40px;
  }
}
@media screen and (max-width: 767px) {
  .p-corporateOrg__col {
    gap: 20px;
  }
}
.p-corporateOrg__role {
  text-align: center;
  border-radius: 6px;
  align-content: center;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-corporateOrg__role {
    padding: 10px;
    min-height: 50px;
  }
}
@media screen and (max-width: 767px) {
  .p-corporateOrg__role {
    padding: 5px;
    min-height: 40px;
    margin-left: 30px;
  }
  .p-corporateOrg__role br {
    display: none;
  }
}
.p-corporateOrg__role.--president {
  color: #fff;
  background: #3c536a;
}
@media screen and (min-width: 768px) {
  .p-corporateOrg__role.--president {
    height: 180px;
  }
  .p-corporateOrg__role.--president:after {
    content: "";
    width: 386%;
    height: 1px;
    background-color: #00ab9e;
    position: absolute;
    left: 100%;
    top: 50%;
  }
}
@media screen and (max-width: 767px) {
  .p-corporateOrg__role.--president {
    margin-left: 0;
  }
}
.p-corporateOrg__role.--auditor {
  color: #fff;
  background: #3c6c8d;
}
.p-corporateOrg__role.--committee {
  color: #fff;
  background: #3caa96;
}
.p-corporateOrg__role.--committee:before {
  content: "";
  height: 1px;
  background-color: #00ab9e;
  position: absolute;
  right: 100%;
  top: 50%;
}
@media screen and (min-width: 768px) {
  .p-corporateOrg__role.--committee:before {
    width: 15%;
  }
}
@media screen and (max-width: 767px) {
  .p-corporateOrg__role.--committee:before {
    width: 20px;
  }
}
.p-corporateOrg__role.--department {
  color: #3caa96;
  background: #fff;
  border: 1px solid #3caa96;
}
.p-corporateOrg__role.--department:before {
  content: "";
  height: 1px;
  background-color: #00ab9e;
  position: absolute;
  right: 100%;
  top: 50%;
}
@media screen and (min-width: 768px) {
  .p-corporateOrg__role.--department:before {
    width: 15%;
  }
}
@media screen and (max-width: 767px) {
  .p-corporateOrg__role.--department:before {
    width: 20px;
  }
}
.p-corporateOrg__committee {
  position: relative;
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-corporateOrg__committee {
    gap: 40px;
    padding-top: 40px;
  }
}
@media screen and (max-width: 767px) {
  .p-corporateOrg__committee {
    gap: 20px;
  }
}
.p-corporateOrg__committee:before {
  content: "";
  width: 1px;
  height: calc(100% - 25px);
  background-color: #00ab9e;
  position: absolute;
  left: -15%;
  top: 0;
}
.p-corporateOrg__committee__item {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-corporateOrg__department {
  position: relative;
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-corporateOrg__department {
    gap: 40px;
  }
}
@media screen and (max-width: 767px) {
  .p-corporateOrg__department {
    gap: 20px;
  }
}
.p-corporateOrg__department:before {
  content: "";
  width: 1px;
  height: calc(100% - 25px);
  background-color: #00ab9e;
  position: absolute;
  left: -15%;
  top: 25px;
}
.p-corporateOrg__department__item {
  position: relative;
}
.p-corporateOrg__department__item:nth-last-of-type(1):after {
  content: "";
  width: 2px;
  height: calc(100% - 20px);
  background-color: #ffffff;
  position: absolute;
  left: -31px;
  bottom: 0;
  z-index: 1;
}
.p-corporateOrg__department__title {
  position: relative;
  display: flex;
  align-items: center;
  height: 40px;
  border: solid 1px #00ab9e;
  color: #00ab9e;
  font-weight: 700;
}
.p-corporateOrg__department__title:before {
  content: "";
  width: 30px;
  height: 1px;
  background-color: #00ab9e;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateX(-100%);
}
.p-corporateOrg__department__child {
  margin-top: 12px;
  margin-left: 12px;
}
.p-corporateOrg__departmentItem {
  position: relative;
}
.p-corporateOrg__departmentItem:last-child:before {
  content: "";
  width: 2px;
  height: calc(100% - 20px);
  background-color: var(--c-gray);
  position: absolute;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .p-corporateOrg__departmentItem:last-child:before {
    left: -15%;
    top: 26px;
  }
}
@media screen and (max-width: 767px) {
  .p-corporateOrg__departmentItem:last-child:before {
    left: 10px;
    top: 21px;
  }
}
@media screen and (min-width: 768px) {
  .p-corporateOrg__groupList {
    margin-top: 20px;
  }
}
@media screen and (max-width: 767px) {
  .p-corporateOrg__groupList {
    margin-top: 10px;
    margin-left: 30px;
  }
}
.p-corporateOrg__groupList li {
  position: relative;
  font-size: 0.875rem;
  padding-left: 15px;
}
@media screen and (min-width: 768px) {
  .p-corporateOrg__groupList li:not(:last-child) {
    margin-bottom: 10px;
  }
}
.p-corporateOrg__groupList li:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 9px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #3caa96;
}

.p-bnrList {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 90px 70px;
}
.p-bnrList__img {
  margin-bottom: 20px;
}
.p-bnrList__img img {
  border-radius: 10px;
}
.p-bnrList__label {
  display: block;
  font-weight: 500;
  font-size: 0.9375rem;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.p-bnrList__label:before {
  content: "";
  display: block;
  width: 20px;
  height: 1px;
  background: var(--c1);
}
.p-bnrList__label02 {
  display: flex;
  align-items: center;
  gap: 20px;
  font-family: var(--f2);
  line-height: 1;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .p-bnrList__label02 {
    font-size: 2.125rem;
  }
}
@media screen and (max-width: 767px) {
  .p-bnrList__label02 {
    font-size: 2.9rem;
  }
}
.p-bnrList__label02:after {
  content: "chevron_right";
  font-family: "Material Symbols Outlined";
  font-weight: 300;
  font-size: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid var(--c0);
  width: 20px;
  height: 20px;
}
.p-faqTabBtns__list {
  display: flex;
  gap: 10px;
  justify-content: center;
  margin-bottom: 20px;
}
.p-faqTabBtns__btn {
  display: block;
  background: var(--c-gray02);
  border-radius: 10px;
  padding: 17px 30px;
}
.p-faqTabBtns__btn.--current {
  color: #fff;
  background: #016098;
}

.p-faqCategoryFilter__tab {
  border: 10px solid #016098;
  border-radius: 10px;
  padding: 80px;
}
.p-faqCategoryFilter__tab:not(.--open) {
  border: none;
}
.p-faqCategoryFilter__service {
  margin-top: 80px;
}
.p-faqCategoryFilter__service__h {
  font-size: 1.25rem;
  font-weight: bold;
  margin-bottom: 30px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.p-faqCategoryFilter__service__h:after {
  content: "";
  display: block;
  height: 1px;
  flex: 1;
  background: var(--c-gray02);
}
.p-faqCategoryFilter__service__list {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.p-faqCategoryFilter__service__item a {
  font-size: 0.875rem;
  color: #fff;
  background: var(--c2);
  border-radius: 100vmax;
  padding: 15px 34px;
  display: block;
}

.p-faqArchive__list {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.p-faqArchive__item {
  border: 1px solid var(--c0);
  border-radius: 10px;
  padding: 10px;
}
.p-faqArchive__item:not(:last-child) {
  margin-bottom: 40px;
}
.p-faqArchive__summary {
  display: block;
  padding: 27px 50px;
  background: var(--c-gray);
  border-radius: 10px;
  position: relative;
}
.p-faqArchive__summary.--summary:after {
  content: "add";
  font-family: "Material Symbols Outlined";
  font-weight: 300;
  font-size: 2rem;
  line-height: 1;
  display: block;
  position: absolute;
  right: -10px;
  top: 50%;
  transform: translateY(-50%);
  width: 50px;
  height: 40px;
  align-content: center;
  border-top-left-radius: 100vmax;
  border-bottom-left-radius: 100vmax;
  color: #fff;
  background: var(--c0);
}
[open] .p-faqArchive__summary:after {
  content: "remove";
  background: var(--c1);
}
.p-faqArchive__tax {
  display: flex;
  gap: 10px;
}
.p-faqArchive__tax:not(:last-child) {
  margin-bottom: 20px;
}
.p-faqArchive__tax .label {
  font-size: 0.875rem;
}
.p-faqArchive__term {
  font-weight: bold;
  color: #fff;
  padding: 0 15px;
  border-radius: 100vmax;
  font-size: 0.8125rem;
  display: block;
}
.--category .p-faqArchive__term {
  background: var(--c0);
}
.--service .p-faqArchive__term {
  background: var(--c1);
}
.p-faqArchive__head {
  margin-bottom: 20px;
}
.p-faqArchive__h {
  display: flex;
  gap: 20px;
}
.p-faqArchive__h .label {
  font-family: var(--f2);
  font-size: 1.875rem;
  color: var(--c1);
}
.p-faqArchive__h .label02 {
  flex: 1;
  font-size: 1.75rem;
  font-weight: bold;
}
.p-faqArchive__a {
  padding: 60px 50px;
}
.p-faqArchive__desc {
  display: flex;
  gap: 20px;
}
.p-faqArchive__desc .label {
  font-family: var(--f2);
  font-size: 1.875rem;
  color: var(--c2);
}
.p-faqArchive__desc .label02 {
  flex: 1;
}

.p-faqArchiveSmall__list {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.p-faqArchiveSmall__item {
  border: 1px solid var(--c0);
  border-radius: 10px;
  padding: 10px;
}
.p-faqArchiveSmall__summary {
  display: block;
  padding: 17px 50px;
  border-radius: 10px;
  position: relative;
}
.p-faqArchiveSmall__summary.--summary:after {
  content: "add";
  font-family: "Material Symbols Outlined";
  font-weight: 300;
  font-size: 2rem;
  line-height: 1;
  display: block;
  position: absolute;
  right: -10px;
  top: 50%;
  padding-left: 5px;
  padding-right: 10px;
  transform: translateY(-50%);
  width: 45px;
  height: 40px;
  align-content: center;
  border-top-left-radius: 100vmax;
  border-bottom-left-radius: 100vmax;
  color: #fff;
  background: var(--c0);
}
[open] .p-faqArchiveSmall__summary {
  background: var(--c-gray);
}
[open] .p-faqArchiveSmall__summary:after {
  content: "remove";
  background: var(--c1);
}
.p-faqArchiveSmall__h {
  display: flex;
  gap: 20px;
}
.p-faqArchiveSmall__h .label {
  font-family: var(--f2);
  font-size: 1.5rem;
  color: var(--c1);
}
.p-faqArchiveSmall__h .label02 {
  flex: 1;
  font-size: 1.25rem;
  font-weight: bold;
}
.p-faqArchiveSmall__a {
  padding: 30px 50px;
}
.p-faqArchiveSmall__desc {
  display: flex;
  gap: 20px;
}
.p-faqArchiveSmall__desc .label {
  font-family: var(--f2);
  font-size: 1.5rem;
  color: var(--c2);
}
.p-faqArchiveSmall__desc .label02 {
  flex: 1;
}

.p-keywordSearch {
  display: flex;
  align-items: center;
  gap: 20px;
}
.p-keywordSearch form {
  display: block;
  width: 100%;
  position: relative;
}
.p-keywordSearch__input {
  width: 100%;
  padding: 10px;
  border: 1px solid var(--c0);
  border-radius: 100vmax;
  background: #fff;
  padding: 20px;
  font-size: 1rem;
}
.p-keywordSearch__btn {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}
.p-keywordSearch__btn .material-symbols-outlined {
  font-size: 2rem;
}
.p-keywordSearch__popular {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.p-keywordSearch__popular__h {
  font-size: 0.875rem;
}
.p-keywordSearch__popular__list {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.p-keywordSearch__popular__item a {
  font-size: 0.875rem;
  color: #fff;
  background: var(--c1);
  border-radius: 100vmax;
  padding: 1px 12px;
  display: block;
}

.l-lp .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: 1300px;
}

.p-lp-head {
  background: #ccc;
  background: url("../img/lp/mv_bg_01.webp") no-repeat center/cover;
}
.p-lp-head__in {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 900px;
  padding: 120px 0 100px;
}
.p-lp-head__h {
  text-align: center;
}
.p-lp-head__h .label {
  font-size: 1.875rem;
  font-weight: bold;
  display: block;
  margin-bottom: 20px;
}
.p-lp-head__h .label02 {
  font-size: 6.25rem;
  font-weight: 500;
  font-family: var(--f2);
  color: var(--c4);
  display: block;
  line-height: 1;
}
.p-lp-head__h .label03 {
  font-size: 1.125rem;
  font-weight: bold;
  margin-top: 20px;
  display: block;
}
.--white .p-lp-head__h .label {
  color: #fff;
}
.--white .p-lp-head__h .label02 {
  color: #a0d2e6;
}
.--white .p-lp-head__h .label03 {
  color: #fff;
}
.--white .p-lp-head__h .h02 {
  color: #fff;
}
.p-lp-head__h02 {
  font-size: 2.5rem;
  font-weight: bold;
}
.p-lp-head__h02 strong {
  color: var(--c4);
  border-bottom: 5px solid var(--c-gray02);
  font-weight: 500;
}
.--white .p-lp-head__h02 {
  color: #fff;
}
.p-lp-head__btn {
  margin-top: 50px;
}

.p-lp-problem__h {
  font-size: 2.25rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 50px;
}
.p-lp-problem__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  padding: 70px 80px;
  background: var(--c-gray);
  position: relative;
  border-radius: 10px;
}
.p-lp-problem__list:before {
  content: "";
  position: absolute;
  top: -18px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 18px solid transparent;
  border-right: 18px solid transparent;
  border-bottom: 18px solid var(--c-gray);
  z-index: 1;
}
.p-lp-problem__item {
  background: #fff;
  border-radius: 10px;
  padding: 20px;
  display: flex;
  gap: 10px;
  font-size: 1.125rem;
}
.p-lp-problem__item:before {
  content: "";
  display: block;
  width: 32px;
  height: 32px;
  background: url("../img/lp/problem_ico_01.svg") no-repeat center/contain;
}

.p-lp-feature__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 80px;
}
.p-lp-feature__item {
  display: grid;
  grid-template-columns: 76fr 54fr;
  align-items: flex-start;
}
.p-lp-feature__img {
  aspect-ratio: 76/46;
}
.p-lp-feature__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 10px;
}
.p-lp-feature__body {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.p-lp-feature__num {
  display: flex;
  justify-content: flex-end;
}
.p-lp-feature__num .label {
  display: block;
  font-family: var(--f2);
  font-size: 1.875rem;
  color: var(--c4);
  border-bottom: 2px solid var(--c4);
}
.p-lp-feature__body__in {
  margin-top: 70px;
  background: #fff;
  border-radius: 10px;
  padding: 50px;
  margin-left: -110px;
}
.p-lp-feature__h {
  font-size: 1.75rem;
  font-weight: bold;
}
.p-lp-feature__h strong {
  font-weight: 500;
  color: var(--c4);
}
.p-lp-feature__desc {
  line-height: 2;
  margin-top: 30px;
}

.p-lpScene {
  padding: 150px 0;
  background: var(--c-dark-gray);
}
.p-lpScene__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
}
.p-lpScene__item {
  display: flex;
  gap: 20px;
}
.p-lpScene__num {
  font-size: 1.5rem;
  font-weight: bold;
  color: #fff;
  font-family: var(--f2);
  writing-mode: vertical-rl;
  line-height: 1.3;
}
.p-lpScene__body {
  flex: 1;
  background: var(--c-lpgray);
  border: 20px solid var(--c-lpgray);
  border-radius: 5px;
}
.p-lpScene__head {
  font-size: 1.5rem;
  font-weight: bold;
  padding: 20px;
}
.p-lpScene__h {
  font-size: 1.5rem;
  font-weight: bold;
}
.p-lpScene__lead {
  font-size: 1.125rem;
}
.p-lpScene__body__in {
  margin-top: 20px;
  background: #fff;
  border-radius: 5px;
  padding: 20px;
}
.p-lpScene__desc {
  line-height: 2;
}

.p-lpContact {
  color: #fff;
  background: url("../img/lp/contact_bg_01.webp") no-repeat center/cover;
  padding: 140px 0;
}
.p-lpContact__h {
  font-size: 5rem;
  font-weight: 500;
  font-family: var(--f2);
  text-align: center;
  margin-bottom: 50px;
  line-height: 1;
  margin-bottom: 20px;
}
.p-lpContact__lead {
  font-size: 1.125rem;
  text-align: center;
  line-height: 2;
}
.p-lpContact__btn {
  margin-top: 50px;
}

.p-lp-flow__list {
  padding: 70px 45px;
  background: var(--c-gray);
  border-radius: 6px;
}
.p-lp-flow__item {
  display: list-item;
  list-style-type: decimal;
  gap: 20px;
  position: relative;
  padding-left: 20px;
  margin-left: 50px;
}
.p-lp-flow__item::marker {
  font-family: var(--f2);
  font-size: 1.5rem;
  content: counter(list-item, decimal-leading-zero) " ";
}
.p-lp-flow__item:not(:last-child) {
  padding-bottom: 60px;
}
.p-lp-flow__item:not(:last-child):before {
  content: "";
  display: block;
  position: absolute;
  left: 30px;
  top: 5px;
  width: 10px;
  height: 100%;
  background: #fff;
}
.p-lp-flow__row {
  display: flex;
  gap: 20px;
}
.p-lp-flow__ico {
  width: 26px;
  height: 26px;
  background: var(--c4);
  border-radius: 50%;
  border: 8px solid #d4dfed;
  position: relative;
  z-index: 1;
}
.p-lp-flow__h {
  font-size: 1.125rem;
  margin-bottom: 10px;
}
.p-lp-flow__desc {
  line-height: 2;
  font-size: 0.875rem;
}
.p-lp-flow__body {
  flex: 1;
}

.p-lpPrice__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}
.p-lpPrice__item {
  background: var(--c-gray);
  border-radius: 6px;
  padding: 30px;
  display: flex;
  align-items: center;
}
.p-lpPrice__h {
  width: 6em;
}
.p-lpPrice__body {
  flex: 1;
  border-left: 1px solid var(--c0);
  padding-left: 30px;
  margin-left: 30px;
}
.p-lpPrice__plan__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}
.p-lpPrice__plan__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.p-lpPrice__plan__h {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.p-lpPrice__plan__h:after {
  content: "";
  height: 2px;
  flex: 1;
  border-bottom: 2px dotted var(--c-dark-gray);
  border-bottom-style: dotted;
  border-bottom-width: 2px;
  border-bottom-color: var(--c-dark-gray);
  border-bottom: 2px dotted var(--c-dark-gray);
  border-bottom-spacing: 8px;
  background-image: repeating-linear-gradient(to right, var(--c-dark-gray), var(--c-dark-gray) 0.2em, transparent 0.2em, transparent 0.8em);
  background-repeat: repeat-x;
  background-size: auto 2px;
  background-position: left bottom;
  border-bottom: none;
  pointer-events: none;
  display: block;
  width: fit-content;
}
.p-lpPrice__plan__num .num {
  font-family: var(--f2);
  font-size: 2.0625rem;
  color: var(--c4);
  font-weight: normal;
}
.p-lpPrice__plan__num .yen {
  color: var(--c4);
}
.p-lpPrice__plan__num .tax {
  font-size: 0.875rem;
}

.wp-block-custom-blocks-lp-lp-contact + * {
  margin-top: 0 !important;
}

.wp-block-custom-blocks-lp-lp-contact + * {
  margin-bottom: 0 !important;
}

.p-supportFeature {
  color: #fff;
  background: url(../img/support/feature_bg_01.webp) no-repeat center/cover;
}
@media screen and (min-width: 768px) {
  .p-supportFeature {
    padding: 140px 0;
  }
}
@media screen and (max-width: 767px) {
  .p-supportFeature {
    padding: 80px 0;
  }
}

.p-supportFeatureSection {
  display: grid;
}
@media screen and (min-width: 768px) {
  .p-supportFeatureSection {
    grid-template-columns: 64fr 48fr;
    gap: 70px;
  }
}
@media screen and (max-width: 767px) {
  .p-supportFeatureSection {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}
.p-supportFeatureSection:not(:last-child) {
  border-bottom: 1px solid #fff;
}
@media screen and (min-width: 768px) {
  .p-supportFeatureSection:not(:last-child) {
    padding-bottom: 90px;
    margin-bottom: 90px;
  }
}
@media screen and (max-width: 767px) {
  .p-supportFeatureSection:not(:last-child) {
    padding-bottom: 40px;
    margin-bottom: 40px;
  }
}
@media screen and (min-width: 768px) {
  .p-supportFeatureSection__h {
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 767px) {
  .p-supportFeatureSection__h {
    margin-bottom: 20px;
  }
}
.p-supportFeatureSection__h .num {
  font-weight: 500;
  font-family: var(--f2);
  color: var(--c1);
  display: block;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-supportFeatureSection__h .num {
    font-size: 1.875rem;
  }
}
@media screen and (max-width: 767px) {
  .p-supportFeatureSection__h .num {
    font-size: 1.5rem;
  }
}
.p-supportFeatureSection__h .num:after {
  content: "";
  display: block;
  position: absolute;
  height: 1px;
  background: var(--c1);
  transform: rotate(-45deg);
}
@media screen and (min-width: 768px) {
  .p-supportFeatureSection__h .num:after {
    left: -20px;
    top: 60px;
    width: 115px;
  }
}
@media screen and (max-width: 767px) {
  .p-supportFeatureSection__h .num:after {
    left: -10px;
    top: 40px;
    width: 75px;
  }
}
.p-supportFeatureSection__h .label {
  display: block;
}
@media screen and (min-width: 768px) {
  .p-supportFeatureSection__h .label {
    font-size: 1.75rem;
    margin-left: 70px;
  }
}
@media screen and (max-width: 767px) {
  .p-supportFeatureSection__h .label {
    font-size: 1.25rem;
    margin-left: 50px;
  }
}
.p-supportFeatureSection__desc {
  line-height: 2.4;
}
.p-supportSupportSection__list {
  display: grid;
}
@media screen and (min-width: 768px) {
  .p-supportSupportSection__list {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 40px;
  }
}
@media screen and (max-width: 767px) {
  .p-supportSupportSection__list {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}
.p-supportSupportSection__img {
  border-radius: 50%;
  text-align: center;
  margin-bottom: 40px;
}
.p-supportSupportSection__h {
  font-size: 1.5rem;
  font-weight: bold;
  margin-bottom: 20px;
  text-align: center;
}
.p-supportSupportSection__desc {
  line-height: 2;
}

.p-supportContact__in {
  background: #fff;
}
@media screen and (min-width: 768px) {
  .p-supportContact__in {
    padding: 80px 120px;
    border-radius: 10px;
  }
}
@media screen and (max-width: 767px) {
  .p-supportContact__in {
    padding: 40px 20px;
  }
}
.p-supportContact__lead {
  font-weight: bold;
  line-height: 2.4;
}
@media screen and (min-width: 768px) {
  .p-supportContact__lead {
    margin-bottom: 40px;
    font-size: 1.125rem;
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .p-supportContact__lead {
    margin-bottom: 20px;
    font-size: 1rem;
  }
}
.p-supportContact__list {
  display: grid;
}
@media screen and (min-width: 768px) {
  .p-supportContact__list {
    grid-template-columns: 1fr 1fr;
    gap: 80px;
  }
}
@media screen and (max-width: 767px) {
  .p-supportContact__list {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}
.p-supportContact__img {
  text-align: center;
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .p-supportContact__img img {
    width: 70px;
  }
}
@media screen and (max-width: 767px) {
  .p-supportContact__img img {
    width: 50px;
  }
}
.p-supportContact__h {
  font-size: 1.125rem;
  font-weight: bold;
  margin-bottom: 10px;
  text-align: center;
}
.p-supportContact__link {
  border: 1px solid #000;
  border-radius: 6px;
  display: block;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-supportContact__link {
    padding: 28px;
  }
}
@media screen and (max-width: 767px) {
  .p-supportContact__link {
    padding: 15px;
  }
}
.p-supportContact__link:after {
  content: "chevron_right";
  font-family: "Material Symbols Outlined";
  font-weight: 300;
  font-size: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid var(--c0);
  position: absolute;
}
@media screen and (min-width: 768px) {
  .p-supportContact__link:after {
    width: 20px;
    height: 20px;
    right: 15px;
    bottom: 15px;
  }
}
@media screen and (max-width: 767px) {
  .p-supportContact__link:after {
    width: 15px;
    height: 15px;
    right: 10px;
    bottom: 10px;
  }
}
.p-supportContact__link .label {
  display: block;
  font-weight: 500;
  font-size: 0.9375rem;
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .p-supportContact__link .label {
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 767px) {
  .p-supportContact__link .label {
    margin-bottom: 10px;
  }
}
.p-supportContact__link .label:before {
  content: "";
  display: block;
  height: 1px;
  background: var(--c1);
}
@media screen and (min-width: 768px) {
  .p-supportContact__link .label:before {
    width: 20px;
  }
}
@media screen and (max-width: 767px) {
  .p-supportContact__link .label:before {
    width: 15px;
  }
}
.p-supportContact__link .label02 {
  display: block;
  font-family: var(--f2);
  line-height: 1;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-supportContact__link .label02 {
    font-size: 2.125rem;
  }
}
@media screen and (max-width: 767px) {
  .p-supportContact__link .label02 {
    font-size: 1.625rem;
  }
}

.p-coFuture {
  color: #fff;
  background: url(../img/support/feature_bg_01.webp) no-repeat center/cover;
  padding: 140px 0;
}
.p-coFuture__h {
  font-weight: bold;
  font-size: 3.125rem;
  text-align: center;
  margin-bottom: 30px;
}
.p-coFuture__h02 {
  font-weight: bold;
  font-size: 1.875rem;
  text-align: center;
  margin-bottom: 30px;
}
.p-coFuture__img {
  text-align: center;
  margin-top: -200px;
  pointer-events: none;
}
.p-coFuture__img img {
  max-width: 1000px;
}

.p-coFutureSection {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
}
.p-coFutureSection:not(:last-child) {
  margin-bottom: 120px;
}
.p-coFutureSection:nth-child(even) {
  direction: rtl;
}
.p-coFutureSection:nth-child(even) * {
  direction: ltr;
}
.p-coFutureSection__head {
  margin-bottom: 30px;
}
.p-coFutureSection__h02 {
  font-weight: bold;
  font-size: 1.5rem;
  margin-bottom: 30px;
}
.p-coFutureSection__desc {
  line-height: 2;
}

.p-coPartner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
}
.p-coPartner__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
}
.p-coPartner__h {
  font-weight: bold;
  font-size: 1.25rem;
  margin-bottom: 20px;
}
.p-coPartner__desc {
  line-height: 2;
}
.p-coPartner__img {
  border: 1px solid var(--c-gray02);
}

.p-coCreationMv {
  background: url("../img/co-creation/akallabo/mv_bg_01.webp") no-repeat center/cover;
  color: #fff;
  position: relative;
}
.p-coCreationMv__in {
  height: 820px;
  padding-top: 70px;
}
.p-coCreationMv__h .label {
  font-size: 1.625rem;
  font-family: var(--f2);
}
.p-coCreationMv__h .label02 {
  font-size: 2.5rem;
  display: block;
  line-height: 1.4;
  font-weight: bold;
}
.p-coCreationMv__logo {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.p-coCreationMv__logo img {
  width: 480px;
}
.p-coCreationMv__logo.--179Complete img {
  width: 180px;
}

.p-akallaboFacility__bg {
  position: absolute;
  right: 0;
  top: 0;
  width: calc(100% - 300px);
  height: 100%;
  background: var(--c-gray) url("../img/co-creation/akallabo/facility_bg_01.svg") no-repeat calc(100% + 300px) top/990px;
  z-index: -1;
}
.p-akallaboFacility__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 80px;
  padding-right: 90px;
}
.p-akallaboFacility__item {
  display: grid;
  grid-template-columns: 43fr 69fr;
  gap: 85px;
}
.p-akallaboFacility__num {
  font-size: 1.875rem;
  color: var(--c1);
  font-family: var(--f2);
  line-height: 1.3;
  border-bottom: 1px solid var(--c1);
  width: fit-content;
  margin-bottom: 20px;
}
.p-akallaboFacility__h {
  font-size: 1.5rem;
  font-weight: bold;
  margin-bottom: 20px;
}
.p-akallaboFacility__lead {
  font-size: 1.125rem;
  margin-bottom: 20px;
  line-height: 2;
}
.p-akallaboFacility__img img {
  width: 100%;
}

.p-akallaboRoute__list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 90px;
}
.p-akallaboRoute__img {
  margin-bottom: 20px;
  position: relative;
}
.p-akallaboRoute__item:not(:last-child) .p-akallaboRoute__img:after {
  content: "▶";
  color: var(--c1);
  display: block;
  position: absolute;
  left: calc(100% + 50px);
  top: 50%;
  transform: translate(-50%, -50%);
}
.p-akallaboRoute__img img {
  width: 100%;
}
.p-akallaboRoute__desc {
  font-size: 0.875rem;
  line-height: 2;
}

.p-sponsorFeature__list {
  display: grid;
  grid-template-columns: 1fr;
}
@media screen and (min-width: 768px) {
  .p-sponsorFeature__list {
    gap: 150px;
  }
}
@media screen and (max-width: 767px) {
  .p-sponsorFeature__list {
    gap: 60px;
  }
}
@media screen and (min-width: 768px) {
  .p-sponsorFeature__item {
    display: flex;
  }
}
.p-sponsorFeature__head {
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .p-sponsorFeature__head {
    width: 58%;
  }
}
.p-sponsorFeature__num {
  color: var(--c-dark-gray);
  font-family: var(--f2);
  line-height: 1.3;
  border-bottom: 1px solid var(--c-dark-gray);
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .p-sponsorFeature__num {
    font-size: 1.875rem;
    margin-bottom: 70px;
  }
}
@media screen and (max-width: 767px) {
  .p-sponsorFeature__num {
    font-size: 1.375rem;
    margin-bottom: 20px;
  }
}
.p-sponsorFeature__h {
  font-family: var(--f2);
  font-weight: 500;
  line-height: 1.1;
  color: var(--c-dark-gray);
}
@media screen and (min-width: 768px) {
  .p-sponsorFeature__h {
    font-size: 5.625rem;
    margin-bottom: 130px;
  }
}
@media screen and (max-width: 767px) {
  .p-sponsorFeature__h {
    font-size: 3.125rem;
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 768px) {
  .p-sponsorFeature__desc {
    background: #fff;
    border-radius: 6px;
    padding-top: 50px;
    padding-right: 70px;
  }
}
.p-sponsorFeature__h02 {
  font-weight: bold;
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .p-sponsorFeature__h02 {
    font-size: 1.75rem;
  }
}
@media screen and (max-width: 767px) {
  .p-sponsorFeature__h02 {
    font-size: 1.25rem;
  }
}
.p-sponsorFeature__lead {
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .p-sponsorFeature__lead {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 767px) {
  .p-sponsorFeature__lead {
    font-size: 0.875rem;
  }
}
@media screen and (min-width: 768px) {
  .p-sponsorFeature__img {
    width: 69%;
    margin-left: -27%;
  }
}
@media screen and (max-width: 767px) {
  .p-sponsorFeature__img {
    margin-top: 20px;
  }
}

@media screen and (min-width: 768px) {
  .p-sponsorHead {
    margin-top: 140px;
    margin-bottom: 70px;
  }
}
@media screen and (max-width: 767px) {
  .p-sponsorHead {
    margin-top: 80px;
    margin-bottom: 40px;
  }
}
@media screen and (min-width: 768px) {
  .p-sponsorHead__row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
  }
}
.p-sponsorHead__h .label {
  font-family: var(--f2);
}
@media screen and (min-width: 768px) {
  .p-sponsorHead__h .label {
    font-size: 1.625rem;
  }
}
@media screen and (max-width: 767px) {
  .p-sponsorHead__h .label {
    font-size: 1.125rem;
  }
}
.p-sponsorHead__h .label02 {
  display: block;
  line-height: 1.4;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .p-sponsorHead__h .label02 {
    font-size: 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-sponsorHead__h .label02 {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-sponsorHead__logo {
    margin-top: 20px;
  }
}
@media screen and (min-width: 768px) {
  .p-sponsorHead__logo img {
    width: 542px;
  }
}
.p-sponsorCover {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  .p-sponsorCover {
    height: 610px;
  }
}
@media screen and (max-width: 767px) {
  .p-sponsorCover {
    height: 200px;
  }
}

.p-localNavi {
  position: relative;
  background: var(--color-bg-dark-blue);
  padding: 64px 0;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-localNavi {
    padding: 40px 0;
  }
}
.p-localNavi__bg {
  width: 548.715px;
  height: 829.292px;
  transform: rotate(135deg);
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border-radius: 829.292px;
  opacity: 0.3;
  background: var(--grade1, linear-gradient(270deg, #00E89E 0%, #0077FE 100%));
  filter: blur(128px);
}
.p-localNavi__inner {
  position: relative;
  z-index: 1;
  display: flex;
  gap: 160px;
  justify-content: space-between;
}
@media screen and (max-width: 1100px) {
  .p-localNavi__inner {
    gap: 60px;
  }
}
@media screen and (max-width: 767px) {
  .p-localNavi__inner {
    flex-direction: column;
    gap: 32px;
  }
}
.p-localNavi__title {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-localNavi__title {
    width: 100%;
  }
}
.p-localNavi__title-en {
  font-family: "Manrope", sans-serif;
  font-weight: 300;
  font-size: 1.5rem;
  line-height: 1;
  background: var(--color-grad);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  width: fit-content;
}
@media screen and (max-width: 767px) {
  .p-localNavi__title-en {
    font-size: 1.125rem;
  }
}
.p-localNavi__title-ja {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 2rem;
  line-height: 1.6;
  color: var(--color-white);
  max-width: 400px;
}
@media screen and (max-width: 767px) {
  .p-localNavi__title-ja {
    font-size: 1.5rem;
    max-width: 100%;
  }
}
.p-localNavi__list {
  columns: 2;
}
@media screen and (min-width: 768px) {
  .p-localNavi__list {
    column-gap: 160px;
  }
}
@media screen and (max-width: 767px) {
  .p-localNavi__list {
    column-gap: 30px;
  }
}
.p-localNavi__item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  position: relative;
}
.p-localNavi a {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  text-decoration: none;
  transition: opacity 0.3s ease;
  color: #fff;
}
.p-localNavi a:hover {
  opacity: 0.7;
}
.p-localNavi__icon {
  margin-top: -0.4em;
}
.p-localNavi__icon::after {
  content: "arrow_right_alt";
  font-family: "Material Symbols Outlined";
  z-index: 1;
  font-size: 24px;
  background: var(--color-grad);
  color: transparent;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
@media screen and (max-width: 767px) {
  .p-localNavi__icon::after {
    font-size: 20px;
  }
}
.p-localNavi__text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.6;
  color: var(--color-white);
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-localNavi__text {
    font-size: 0.875rem;
    white-space: normal;
  }
}

.p-contactCta {
  position: relative;
  background: var(--color-grad);
  padding: 64px 0;
  overflow: hidden;
  min-height: 328px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .p-contactCta {
    padding: 48px 0;
    min-height: auto;
  }
}
.p-contactCta__bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}
.p-contactCta__bg-design {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-0.162deg) scaleY(-1);
  width: 1990px;
  height: 974px;
  opacity: 0.5;
}
@media screen and (max-width: 767px) {
  .p-contactCta__bg-design {
    width: 1200px;
    height: 600px;
  }
}
.p-contactCta__bg-design img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.p-contactCta__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-contactCta__inner {
    gap: 20px;
  }
}
.p-contactCta__title {
  font-family: "Manrope", sans-serif;
  font-weight: 200;
  font-size: 3.5rem;
  line-height: 1;
  color: var(--color-white);
}
@media screen and (max-width: 1100px) {
  .p-contactCta__title {
    font-size: 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-contactCta__title {
    font-size: 2rem;
  }
}
.p-contactCta__description {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 1.25rem;
  line-height: 1.6;
  color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-contactCta__description {
    font-size: 1rem;
  }
}

.p-hero {
  position: relative;
  padding: 160px 0 70px;
  overflow: hidden;
  background: var(--color-bg-body) url(../img/common/hero_bg_01.svg) no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .p-hero {
    padding: 80px 0 20px;
  }
}
.p-hero__bg {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 1440px;
  height: 780px;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-hero__bg {
    width: 100%;
    height: 400px;
  }
}
.p-hero__bg::before, .p-hero__bg::after {
  content: "";
  position: absolute;
  background: rgba(255, 255, 255, 0.6);
  border-radius: 50%;
}
.p-hero__bg::before {
  width: 400px;
  height: 400px;
  top: 10%;
  right: 15%;
  opacity: 0.4;
}
.p-hero__bg::after {
  width: 300px;
  height: 300px;
  bottom: 20%;
  left: 10%;
  opacity: 0.3;
}
.p-hero__inner {
  position: relative;
  z-index: 1;
}
.p-hero__head {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .p-hero__head {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 20px;
  }
}
.p-hero__en {
  font-family: "Manrope", sans-serif;
  font-weight: 300;
  font-size: 2.5rem;
  line-height: 1;
  background: var(--color-grad);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  white-space: nowrap;
  padding-bottom: 0.1em;
}
.p-hero__en--large {
  font-size: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-hero__en {
    font-size: 2rem;
  }
}
.p-hero__ja {
  font-size: 1.25rem;
  line-height: 1.6;
  color: var(--color-text);
  white-space: nowrap;
}
.p-hero__ja--large {
  font-size: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-hero__ja {
    font-size: 1rem;
  }
}
.p-hero__body {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-hero__body {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
  }
}
.p-hero__h {
  font-size: 3rem;
  line-height: 1.6;
  color: var(--color-text);
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .p-hero__h {
    font-size: 2rem;
  }
}

.p-approachHomeMv {
  position: relative;
  padding: 160px 0 80px;
  overflow: hidden;
  background: #0A1629;
}
@media screen and (max-width: 767px) {
  .p-approachHomeMv {
    padding: 120px 0 60px;
  }
}
.p-approachHomeMv__lines {
  position: absolute;
  top: 440px;
  left: 0;
  pointer-events: none;
  width: 105%;
  height: 690px;
  background: url(../img/approach/mv_lines.svg) no-repeat center/cover;
}
.p-approachHomeMv__bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  overflow: hidden;
}
.p-approachHomeMv__bg::before {
  content: "";
  position: absolute;
  width: 600px;
  height: 600px;
  top: 100px;
  right: -300px;
  opacity: 0.2;
  background: linear-gradient(270deg, var(--color-1st) 0%, var(--color-2nd) 100%);
  border-radius: 50%;
  filter: blur(64px);
}
.p-approachHomeMv__bg::after {
  content: "";
  position: absolute;
  width: 600px;
  height: 600px;
  bottom: -150px;
  left: -150px;
  border-radius: 50%;
  opacity: 0.2;
  background: linear-gradient(270deg, var(--color-1st) 0%, var(--color-2nd) 100%);
  filter: blur(64px);
}
.p-approachHomeMv__inner {
  position: relative;
  z-index: 1;
}
.p-approachHomeMv__content {
  margin-top: 48px;
}
@media screen and (max-width: 767px) {
  .p-approachHomeMv__content {
    margin-top: 32px;
  }
}
.p-approachHomeMv__text {
  color: #fff;
}
.p-approachHomeMv__title {
  font-family: "Manrope", sans-serif;
  font-weight: 300;
  font-size: 9rem;
  line-height: 1.1;
  margin-bottom: 24px;
  background: var(--color-grad);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  width: fit-content;
}
.p-approachHomeMv__title span {
  display: block;
}
@media screen and (max-width: 767px) {
  .p-approachHomeMv__title {
    font-size: 3rem;
    margin-bottom: 16px;
  }
}
.p-approachHomeMv__subtitle {
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.6;
  margin-bottom: 48px;
}
@media screen and (max-width: 767px) {
  .p-approachHomeMv__subtitle {
    font-size: 1.125rem;
    margin-bottom: 32px;
  }
}
.p-approachHomeMv__section {
  margin-bottom: 70px;
}
@media screen and (min-width: 768px) {
  .p-approachHomeMv__section {
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .p-approachHomeMv__section {
    margin-bottom: 40px;
  }
}
.p-approachHomeMv__section-title {
  font-size: 2rem;
  font-weight: 500;
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .p-approachHomeMv__section-title {
    font-size: 1.25rem;
  }
}
.p-approachHomeMv__section-text {
  font-size: 1.125rem;
  line-height: 1.8;
  opacity: 0.9;
}
@media screen and (min-width: 768px) {
  .p-approachHomeMv__section-text {
    max-width: 860px;
    margin: 0 auto;
  }
}
@media screen and (max-width: 767px) {
  .p-approachHomeMv__section-text {
    font-size: 0.875rem;
  }
}
.p-approachHomeMv__section-text p:not(:last-child) {
  margin-bottom: 1em;
}

.p-approachOverview {
  background: #E2E8EA;
  padding: 80px 0;
}
@media screen and (max-width: 767px) {
  .p-approachOverview {
    padding: 48px 0;
  }
}
.p-approachOverview__item:not(:last-child) {
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .p-approachOverview__item:not(:last-child) {
    margin-bottom: 48px;
  }
}
.p-approachOverview__head {
  padding: 16px 40px;
  position: relative;
  margin-bottom: 24px;
}
.p-approachOverview__head:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  background: var(--color-grad-v);
}
@media screen and (min-width: 768px) {
  .p-approachOverview__head:before {
    width: 6px;
  }
}
@media screen and (max-width: 767px) {
  .p-approachOverview__head:before {
    width: 3px;
  }
}
@media screen and (max-width: 767px) {
  .p-approachOverview__head {
    padding: 12px 24px;
  }
}
.p-approachOverview__title {
  font-size: 2.5rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.8px;
  color: #212121;
}
@media screen and (max-width: 767px) {
  .p-approachOverview__title {
    font-size: 1.5rem;
    letter-spacing: 0.48px;
  }
}
.p-approachOverview__subtitle {
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.48px;
  color: #212121;
}
@media screen and (max-width: 767px) {
  .p-approachOverview__subtitle {
    font-size: 1rem;
    letter-spacing: 0.32px;
  }
}
.p-approachOverview__body {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 48px;
}
@media screen and (max-width: 767px) {
  .p-approachOverview__body {
    flex-direction: column;
    gap: 24px;
  }
}
.p-approachOverview__text {
  width: 800px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
  color: #212121;
}
@media screen and (max-width: 767px) {
  .p-approachOverview__text {
    width: 100%;
    font-size: 0.875rem;
  }
}

.p-approachShowcase__h {
  font-family: "Manrope", sans-serif;
  font-weight: 300;
  font-size: 1.5rem;
  line-height: 1;
  background: var(--color-grad);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  white-space: nowrap;
  width: fit-content;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .p-approachShowcase__h {
    font-size: 1rem;
  }
}
.p-approachShowcase__list {
  display: flex;
  gap: 40px;
}
@media screen and (max-width: 767px) {
  .p-approachShowcase__list {
    flex-direction: column;
    gap: 24px;
  }
}
.p-approachShowcase__item {
  flex: 1;
  display: flex;
  gap: 24px;
}
@media screen and (max-width: 767px) {
  .p-approachShowcase__item {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 16px;
  }
}
.p-approachShowcase__logo img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
@media screen and (min-width: 768px) {
  .p-approachShowcase__logo {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 240px;
    height: 160px;
    border-radius: 12px;
  }
}
.p-approachShowcase__content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.p-approachShowcase__company {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.6;
  color: #212121;
}
@media screen and (max-width: 767px) {
  .p-approachShowcase__company {
    font-size: 1rem;
  }
}
.p-approachShowcase__desc {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
  color: #212121;
}
@media screen and (max-width: 767px) {
  .p-approachShowcase__desc {
    font-size: 0.875rem;
  }
}

.p-approachChild {
  background: var(--color-bg-body);
}

.p-approachIntro {
  display: flex;
  align-items: flex-start;
  gap: 60px;
  margin-top: 48px;
}
@media screen and (max-width: 767px) {
  .p-approachIntro {
    flex-direction: column;
    gap: 32px;
    margin-top: 32px;
  }
}
.p-approachIntro__content {
  flex: 1;
}
.p-approachIntro__tag {
  display: inline-block;
  background: #fff;
  border-radius: 100vmax;
  margin-bottom: 24px;
}
@media screen and (min-width: 768px) {
  .p-approachIntro__tag {
    padding: 10px 50px;
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .p-approachIntro__tag {
    padding: 5px 30px;
  }
}
.p-approachIntro__title {
  font-size: 2.5rem;
  line-height: 1.5;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .p-approachIntro__title {
    font-size: 1.5rem;
    margin-bottom: 16px;
  }
}
.p-approachIntro__text {
  font-size: 1rem;
  line-height: 1.75;
  color: var(--color-text);
}
.p-approachIntro__text p {
  margin-bottom: 16px;
}
.p-approachIntro__text p:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .p-approachIntro__text {
    font-size: 0.875rem;
  }
  .p-approachIntro__text br {
    display: none;
  }
}
.p-approachIntro__image {
  flex-shrink: 0;
  width: 640px;
  margin-right: -120px;
  border-radius: 16px;
  overflow: hidden;
}
.p-approachIntro__image img {
  width: 100%;
  height: auto;
  display: block;
}
@media screen and (max-width: 767px) {
  .p-approachIntro__image {
    width: 100%;
  }
}

.p-approachPartners {
  padding: 64px 0;
}
@media screen and (max-width: 767px) {
  .p-approachPartners {
    padding: 48px 0;
  }
}
.p-approachPartners__title {
  font-size: 1.125rem;
  font-weight: 500;
  color: var(--color-text);
  text-align: center;
  margin-bottom: 32px;
}
@media screen and (max-width: 767px) {
  .p-approachPartners__title {
    font-size: 1rem;
    margin-bottom: 24px;
  }
}
.p-approachPartners__list {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 30px;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .p-approachPartners__list {
    gap: 24px;
  }
}
.p-approachPartners__item img {
  height: 48px;
  width: auto;
}
@media screen and (max-width: 767px) {
  .p-approachPartners__item img {
    height: 36px;
  }
}

.p-approachSection__head {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 48px;
}
@media screen and (max-width: 767px) {
  .p-approachSection__head {
    margin-bottom: 32px;
  }
}
.p-approachSection__en {
  font-family: "Manrope", sans-serif;
  font-weight: 300;
  font-size: 2.5rem;
  line-height: 1;
  background: var(--color-grad);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
@media screen and (max-width: 767px) {
  .p-approachSection__en {
    font-size: 2rem;
  }
}
.p-approachSection__ja {
  font-size: 1.25rem;
  line-height: 1.6;
  color: var(--color-text);
}
@media screen and (max-width: 767px) {
  .p-approachSection__ja {
    font-size: 1rem;
  }
}

.p-approachPointFlow__inner {
  display: flex;
  gap: 24px;
  background: rgba(255, 255, 255, 0.4);
  border-radius: 24px;
  padding: 48px;
}
@media screen and (max-width: 767px) {
  .p-approachPointFlow__inner {
    flex-direction: column;
    padding: 24px;
  }
}
.p-approachPointFlow__heading {
  font-family: "Manrope", sans-serif;
  font-weight: 300;
  font-size: 2rem;
  line-height: 1;
  background: var(--color-grad);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
@media screen and (max-width: 767px) {
  .p-approachPointFlow__heading {
    font-size: 1.5rem;
  }
}
.p-approachPointFlow__list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.p-approachPointFlow__item {
  display: flex;
  align-items: center;
  gap: 24px;
  background: #fff;
  border-radius: 12px;
  padding: 24px;
}
@media screen and (max-width: 767px) {
  .p-approachPointFlow__item {
    gap: 16px;
    padding: 16px;
  }
}
.p-approachPointFlow__content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.p-approachPointFlow__title {
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text);
}
@media screen and (max-width: 767px) {
  .p-approachPointFlow__title {
    font-size: 1rem;
  }
}
.p-approachPointFlow__text {
  font-size: 0.875rem;
  line-height: 1.6;
  color: var(--color-text);
}
.p-approachPointItem {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.p-approachPointItem__badge {
  flex-shrink: 0;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: linear-gradient(#fff, #fff) padding-box, var(--color-grad) border-box;
  border: 2px solid transparent;
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-approachPointItem__badge span {
  font-family: "Manrope", sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  letter-spacing: 0.01em;
  background: var(--color-grad);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
@media screen and (max-width: 767px) {
  .p-approachPointItem__badge {
    width: 48px;
    height: 48px;
  }
  .p-approachPointItem__badge span {
    font-size: 0.5rem;
  }
}

.p-approachFlow {
  width: 540px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
@media screen and (max-width: 767px) {
  .p-approachFlow {
    width: 100%;
  }
}
.p-approachFlow .p-approachPointFlow__item {
  align-items: flex-start;
  min-height: 110px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-approachFlow .p-approachPointFlow__item {
    min-height: auto;
  }
}
.p-approachFlow .p-approachPointFlow__item:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -16px;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-top: 10px solid var(--color-1st);
}
.p-approachFlow__step {
  flex-shrink: 0;
  font-family: "Manrope", sans-serif;
  font-weight: 600;
  font-size: 1.125rem;
  line-height: 1.6;
  background: var(--color-grad);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
@media screen and (max-width: 767px) {
  .p-approachFlow__step {
    font-size: 0.875rem;
  }
}

.p-approachPoint {
  padding: 64px 0;
}
@media screen and (max-width: 767px) {
  .p-approachPoint {
    padding: 48px 0;
  }
}
.p-approachPoint__card {
  background: rgba(255, 255, 255, 0.4);
  border-radius: 24px;
  padding: 48px;
}
@media screen and (max-width: 767px) {
  .p-approachPoint__card {
    padding: 24px;
  }
}
.p-approachPoint__label {
  font-family: "Manrope", sans-serif;
  font-weight: 300;
  font-size: 2rem;
  line-height: 1;
  background: var(--color-grad);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 24px;
  width: fit-content;
}
@media screen and (max-width: 767px) {
  .p-approachPoint__label {
    font-size: 1.5rem;
    margin-bottom: 16px;
  }
}
.p-approachPoint__list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.p-approachPoint__item {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  background: #fff;
  border-radius: 12px;
  padding: 24px;
}
@media screen and (max-width: 767px) {
  .p-approachPoint__item {
    gap: 16px;
    padding: 16px;
  }
}
.p-approachPoint__badge {
  flex-shrink: 0;
  width: 64px;
  height: 64px;
  position: relative;
  align-content: center;
  text-align: center;
}
.p-approachPoint__badge .label {
  font-family: "Manrope", sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  letter-spacing: 0.01em;
  background: var(--color-grad);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  position: relative;
  z-index: 1;
  display: block;
  text-align: center;
}
.p-approachPoint__badge {
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-approachPoint__badge:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border: 2px dotted transparent;
  background-image: linear-gradient(var(--color-white), var(--color-white)), var(--color-grad);
  background-origin: border-box;
  background-clip: padding-box, border-box;
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  .p-approachPoint__badge {
    width: 48px;
    height: 48px;
    font-size: 0.625rem;
  }
}
.p-approachPoint__body {
  flex: 1;
}
.p-approachPoint__title {
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text);
  margin-bottom: 8px;
}
@media screen and (max-width: 767px) {
  .p-approachPoint__title {
    font-size: 1rem;
  }
}
.p-approachPoint__text {
  font-size: 0.875rem;
  line-height: 1.6;
  color: var(--color-text);
}
@media screen and (max-width: 767px) {
  .p-approachPoint__text {
    font-size: 0.75rem;
  }
}

.p-approachVertical {
  background: var(--color-bg-dark-blue);
  padding: 64px 0;
  overflow: hidden;
  position: relative;
}
.p-approachVertical::before, .p-approachVertical::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0, 232, 158, 0.15) 0%, transparent 70%);
}
.p-approachVertical::before {
  width: 600px;
  height: 600px;
  top: -181px;
  right: -100px;
}
.p-approachVertical::after {
  width: 447px;
  height: 447px;
  bottom: -100px;
  left: -119px;
}
@media screen and (max-width: 767px) {
  .p-approachVertical {
    padding: 48px 0;
  }
}
.p-approachVertical__inner {
  position: relative;
  z-index: 1;
}
.p-approachVertical__title {
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.6;
  color: #fff;
  margin-bottom: 16px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-approachVertical__title {
    font-size: 1.5rem;
  }
}
.p-approachVertical__text {
  font-size: 1rem;
  line-height: 1.6;
  color: #fff;
  max-width: 600px;
  margin: 0 auto 40px;
}
@media screen and (max-width: 767px) {
  .p-approachVertical__text {
    font-size: 0.875rem;
    margin-bottom: 32px;
  }
}
.p-approachVertical__diagram {
  max-width: 600px;
  margin: 0 auto;
  position: relative;
  text-align: center;
}
.p-approachVertical__header {
  background: linear-gradient(90deg, #1a4577, #386598);
  color: #fff;
  font-size: 1.25rem;
  font-weight: bold;
  line-height: 1.6;
  padding: 4px 16px;
  margin-bottom: 30px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-approachVertical__header {
    margin-left: 90px;
  }
}
@media screen and (max-width: 767px) {
  .p-approachVertical__header {
    font-size: 1rem;
  }
}
.p-approachVertical__body {
  display: flex;
}
@media screen and (min-width: 768px) {
  .p-approachVertical__body {
    gap: 50px;
  }
}
@media screen and (max-width: 767px) {
  .p-approachVertical__body {
    gap: 20px;
  }
}
.p-approachVertical__side {
  writing-mode: vertical-rl;
  white-space: nowrap;
  font-weight: bold;
  color: #fff;
  background: linear-gradient(180deg, #1a4577, #386598);
  padding: 24px 8px;
}
@media screen and (min-width: 768px) {
  .p-approachVertical__side {
    font-size: 1.25rem;
  }
}
.p-approachVertical__listWrap {
  flex: 1;
  position: relative;
}
.p-approachVertical__arrow {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  background: linear-gradient(180deg, rgba(0, 232, 158, 0.8) 0%, rgba(0, 119, 254, 0.8) 100%);
}
@media screen and (min-width: 768px) {
  .p-approachVertical__arrow {
    width: 14px;
    height: calc(100% + 10px);
  }
}
@media screen and (max-width: 767px) {
  .p-approachVertical__arrow {
    width: 10px;
    height: calc(100% + 5px);
  }
}
.p-approachVertical__arrow:before {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  bottom: 100%;
  transform: translateX(-50%);
  background: var(--color-1st);
  clip-path: polygon(50% 0, 100% 100%, 0% 100%);
}
@media screen and (min-width: 768px) {
  .p-approachVertical__arrow:before {
    width: 48px;
    height: 28px;
  }
}
@media screen and (max-width: 767px) {
  .p-approachVertical__arrow:before {
    width: 38px;
    height: 22px;
  }
}
.p-approachVertical__list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  position: relative;
}
.p-approachVertical__list:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(0, 232, 158, 0.8) 0%, rgba(0, 119, 254, 0.8) 100%);
  opacity: 0.3;
  clip-path: polygon(50% 0, 100% 100%, 0% 100%);
}
.p-approachVertical__list li {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  font-size: 1rem;
  font-weight: bold;
  line-height: 1.6;
  padding: 16px 48px;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-approachVertical__list li {
    font-size: 0.875rem;
    padding: 12px 24px;
  }
}

.p-approachCases {
  padding: 64px 0 64px;
}
@media screen and (max-width: 767px) {
  .p-approachCases {
    padding: 32px 0 32px;
  }
}

.p-approachBlog {
  padding: 0 0 60px;
}
@media screen and (max-width: 767px) {
  .p-approachBlog {
    padding: 0 0 40px;
  }
}
.p-approachBlog__list {
  display: grid;
}
@media screen and (min-width: 768px) {
  .p-approachBlog__list {
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
  }
  .p-approachBlog__list.--2 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .p-approachBlog__list {
    grid-template-columns: repeat(1, 1fr);
    gap: 16px;
  }
}
.p-approachBlog__item a {
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  text-decoration: none;
  transition: opacity 0.3s ease;
  padding: 16px;
  gap: 16px;
}
@media screen and (min-width: 768px) {
  .p-approachBlog__item a {
    display: flex;
  }
}
@media screen and (max-width: 767px) {
  .p-approachBlog__item a {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
  }
}
.p-approachBlog__item a:hover {
  opacity: 0.8;
}
.p-approachBlog__thumb {
  aspect-ratio: 1/1;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-approachBlog__thumb {
    width: 134px;
  }
}
.p-approachBlog__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-approachBlog__title {
  font-size: 0.875rem;
  line-height: 1.6;
  color: var(--color-text);
}
@media screen and (max-width: 767px) {
  .p-approachBlog__title {
    font-size: 0.75rem;
  }
}
@media screen and (min-width: 768px) {
  .p-approachBlog__body {
    flex: 1;
  }
}
.p-approachBlog__date {
  font-size: 0.75rem;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 5px;
  font-family: var(--f2);
  font-weight: 400;
}
.p-approachBlog__date .ico {
  font-size: 18px;
}
.p-approachBlog__title {
  font-size: 1.125rem;
  line-height: 1.6;
  color: var(--color-text);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.p-approachBlog__note {
  margin-top: 40px;
  background: #fff;
  border-radius: 12px;
  padding: 24px;
}
@media screen and (max-width: 767px) {
  .p-approachBlog__note {
    margin-top: 24px;
    padding: 16px;
  }
}
.p-approachBlog__note-inner {
  display: flex;
  align-items: center;
  gap: 24px;
}
@media screen and (max-width: 767px) {
  .p-approachBlog__note-inner {
    gap: 16px;
  }
}
.p-approachBlog__note-icon {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
}
.p-approachBlog__note-icon img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .p-approachBlog__note-icon {
    width: 36px;
    height: 36px;
  }
}
.p-approachBlog__note-content {
  flex: 1;
}
.p-approachBlog__note-title {
  font-size: 1rem;
  font-weight: 500;
  color: var(--color-text);
  margin-bottom: 4px;
}
@media screen and (max-width: 767px) {
  .p-approachBlog__note-title {
    font-size: 0.875rem;
  }
}
.p-approachBlog__note-text {
  font-size: 0.875rem;
  line-height: 1.6;
  color: var(--color-text);
}
@media screen and (max-width: 767px) {
  .p-approachBlog__note-text {
    font-size: 0.75rem;
  }
}

.p-approachCase {
  background: #fff;
}
@media screen and (min-width: 768px) {
  .p-approachCase {
    padding: 42px 50px;
    border-radius: 16px;
  }
}
@media screen and (max-width: 767px) {
  .p-approachCase {
    padding: 30px;
    margin-left: -30px;
    margin-right: -30px;
  }
}
.p-approachCase:not(:last-child) {
  margin-bottom: 40px;
}
.p-approachCase__header {
  display: flex;
  align-items: center;
  gap: 40px;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .p-approachCase__header {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 24px;
  }
}
.p-approachCase__logo {
  flex-shrink: 0;
}
.p-approachCase__logo img {
  width: 110px;
}
@media screen and (max-width: 767px) {
  .p-approachCase__logo img {
    width: 50px;
  }
}
.p-approachCase__partner-label {
  font-size: 0.875rem;
  display: block;
}
.p-approachCase__partner-name {
  font-size: 1.25rem;
  font-weight: bold;
  display: block;
}
@media screen and (max-width: 767px) {
  .p-approachCase__partner-name {
    font-size: 1rem;
  }
}
.p-approachCase__partner-desc {
  display: block;
}
.p-approachCase__body {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 40px;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .p-approachCase__body {
    grid-template-columns: 1fr;
    gap: 24px;
    margin-bottom: 24px;
  }
}
.p-approachCase__image {
  border-radius: 12px;
}
.p-approachCase__content {
  flex: 1;
}
.p-approachCase__title {
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 1.5;
  color: var(--color-text);
  margin-bottom: 26px;
}
@media screen and (max-width: 767px) {
  .p-approachCase__title {
    font-size: 1.1875rem;
    margin-bottom: 12px;
  }
}
.p-approachCase__desc {
  line-height: 1.75;
  color: var(--color-text);
}
.p-approachCase__desc + .p-approachCase__desc {
  margin-top: 1em;
}
@media screen and (min-width: 768px) {
  .p-approachCase__desc {
    font-size: 1rem;
  }
}
.p-approachCase__related {
  border-top: 1px solid #E2E8EA;
  display: grid;
}
@media screen and (min-width: 768px) {
  .p-approachCase__related {
    gap: 40px;
    padding-top: 40px;
    grid-template-columns: 30fr 76fr;
  }
}
@media screen and (max-width: 767px) {
  .p-approachCase__related {
    gap: 20px;
    padding-top: 16px;
    grid-template-columns: 1fr;
  }
}
.p-approachCase__related + .p-approachCase__related {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .p-approachCase__related + .p-approachCase__related {
    margin-top: 16px;
  }
}
.p-approachCase__related-image img {
  border-radius: 12px;
}
.p-approachCase__related-title {
  font-size: 1.125rem;
  font-weight: bold;
  color: var(--color-text);
  margin-bottom: 12px;
}
@media screen and (max-width: 767px) {
  .p-approachCase__related-title {
    margin-bottom: 8px;
  }
}
.p-approachCase__related-desc {
  margin-bottom: 12px;
}
@media screen and (max-width: 767px) {
  .p-approachCase__related-desc {
    margin-bottom: 8px;
  }
}
.p-approachCase__related-list {
  display: flex;
  flex-direction: column;
}
.p-approachCase__related-list li {
  list-style: disc;
  margin-left: 25px;
}
.p-approachCase__related-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.875rem;
  color: var(--color-1st);
  text-decoration: none;
  transition: opacity 0.3s ease;
}
.p-approachCase__related-link:hover {
  opacity: 0.7;
}
.p-approachCase__related-link::after {
  content: "arrow_forward";
  font-family: "Material Symbols Outlined";
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  .p-approachCase__related-link {
    font-size: 0.8125rem;
  }
}
.p-approachCase--simple .p-approachCase__body {
  margin-bottom: 0;
}
.p-approachCase__body--textonly {
  display: block;
}
.p-approachCase__image--multi {
  position: relative;
}
.p-approachCase__image--multi .p-approachCase__image-sub {
  position: absolute;
  bottom: -20px;
  left: -40px;
  width: 45%;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 767px) {
  .p-approachCase__image--multi .p-approachCase__image-sub {
    position: static;
    width: 100%;
    margin-top: 16px;
  }
}
.p-approachCase__related--simple {
  display: block;
  grid-template-columns: 1fr;
  margin-top: 40px;
}
.p-approachCase__related--simple .p-approachCase__related-image {
  display: none;
}
.p-approachCase__blog {
  background: var(--color-bg-body);
  border-radius: 8px;
}
@media screen and (min-width: 768px) {
  .p-approachCase__blog {
    padding: 24px;
    margin-top: 40px;
  }
}
@media screen and (max-width: 767px) {
  .p-approachCase__blog {
    padding: 16px;
    margin-top: 24px;
  }
}

.p-approachTech {
  margin-bottom: 40px;
  background: var(--color-bg-body);
  padding: 40px;
  border-radius: 10px;
  margin-top: 60px;
}
@media screen and (min-width: 768px) {
  .p-approachTech {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 767px) {
  .p-approachTech {
    gap: 8px;
    margin-bottom: 24px;
    padding: 20px;
    margin-top: 40px;
  }
}
.p-approachTech__title {
  font-size: 1.125rem;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .p-approachTech__title {
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 767px) {
  .p-approachTech__title {
    margin-bottom: 10px;
  }
}
@media screen and (min-width: 768px) {
  .p-approachTech__content {
    display: flex;
    gap: 80px;
  }
}
.p-approachTech__text {
  flex: 1;
}
.p-approachTech__icons {
  gap: 8px;
}
@media screen and (min-width: 768px) {
  .p-approachTech__icons {
    display: flex;
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 767px) {
  .p-approachTech__icons {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 20px;
  }
}
.p-approachTech__icon {
  background: #fff;
  text-align: center;
  border-radius: 8px;
  padding: 10px 0;
}
@media screen and (min-width: 768px) {
  .p-approachTech__icon {
    height: 104px;
    aspect-ratio: 128/104;
  }
}
.p-approachTech__icon .img {
  display: block;
  margin-bottom: 5px;
}
@media screen and (min-width: 768px) {
  .p-approachTech__icon .img img {
    width: 64px;
    height: 64px;
  }
}
@media screen and (max-width: 767px) {
  .p-approachTech__icon .img img {
    width: 38px;
    height: 38px;
  }
}
.p-approachTech__icon .label {
  font-weight: bold;
  font-size: 0.75rem;
  margin-top: -5px;
  display: block;
}

.p-approachProduct {
  background: var(--color-bg-body);
  padding: 0 0 70px;
}
@media screen and (max-width: 767px) {
  .p-approachProduct {
    padding: 0 0 40px;
  }
}

.p-approachProduct__item {
  background: #fff;
  border-radius: 12px;
  padding: 48px;
}
@media screen and (max-width: 767px) {
  .p-approachProduct__item {
    padding: 24px;
  }
}
.p-approachProduct__list {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
@media screen and (min-width: 768px) {
  .p-approachProduct__content {
    display: flex;
    flex-direction: column;
    gap: 6px;
  }
}
.p-approachProduct__label {
  font-size: 1rem;
  line-height: 1.6;
  color: var(--color-text);
}
@media screen and (max-width: 767px) {
  .p-approachProduct__label {
    font-size: 0.875rem;
  }
}
.p-approachProduct__name {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-text);
}
@media screen and (max-width: 767px) {
  .p-approachProduct__name {
    font-size: 1.5rem;
    margin-bottom: 10px;
  }
}
@media screen and (min-width: 768px) {
  .p-approachProduct__body {
    display: flex;
    gap: 64px;
    align-items: flex-start;
  }
}
@media screen and (max-width: 767px) {
  .p-approachProduct__body {
    flex-direction: column;
    gap: 24px;
  }
}
.p-approachProduct__text {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.p-approachProduct__text p {
  font-size: 1rem;
  line-height: 1.6;
  color: var(--color-text);
}
@media screen and (max-width: 767px) {
  .p-approachProduct__text p {
    font-size: 0.875rem;
  }
}
.p-approachProduct__link {
  display: inline-flex;
  align-items: center;
  background: #fff;
  border: 1px solid var(--color-1st);
  border-radius: 999px;
  padding-left: 64px;
  font-size: 1rem;
  font-weight: 500;
  color: var(--color-text);
  text-decoration: none;
  transition: opacity 0.3s ease;
  width: fit-content;
}
.p-approachProduct__link:hover {
  opacity: 0.7;
}
@media screen and (max-width: 767px) {
  .p-approachProduct__link {
    padding-left: 32px;
    font-size: 0.875rem;
  }
}
.p-approachProduct__link-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  background: var(--color-grad);
  border-radius: 50%;
  margin-left: 16px;
}
.p-approachProduct__link-icon::before {
  content: "arrow_right_alt";
  font-family: "Material Symbols Outlined";
  font-size: 24px;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .p-approachProduct__link-icon {
    width: 48px;
    height: 48px;
    margin-left: 12px;
  }
  .p-approachProduct__link-icon::before {
    font-size: 20px;
  }
}
.p-approachProduct__logo {
  border: 1px solid #ddd;
}
@media screen and (min-width: 768px) {
  .p-approachProduct__logo {
    flex-shrink: 0;
    width: 400px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
.p-approachProduct__logo img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
@media screen and (max-width: 767px) {
  .p-approachProduct__logo {
    margin-top: 20px;
  }
}

.p-approachCaseStudies {
  padding: 40px 0 80px;
}
@media screen and (max-width: 767px) {
  .p-approachCaseStudies {
    padding: 48px 0;
  }
}
.p-approachCaseStudies-list {
  display: flex;
  flex-direction: column;
  gap: 64px;
}
@media screen and (max-width: 767px) {
  .p-approachCaseStudies-list {
    gap: 48px;
  }
}

.p-approach {
  background: var(--color-bg-body);
}

.p-approach__details {
  padding: 64px 0 80px;
}
@media screen and (max-width: 767px) {
  .p-approach__details {
    padding: 30px 0 60px;
  }
}
.p-approach__detail {
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: 48px;
  background: #fff;
  border-radius: 24px;
  padding: 48px;
  margin-bottom: 24px;
}
.p-approach__detail:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .p-approach__detail {
    grid-template-columns: 1fr;
    padding: 32px 24px;
    gap: 24px;
  }
}
.p-approach__detail-title a {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 16px;
}
.p-approach__detail-title .label {
  font-size: 2rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-approach__detail-title .label {
    font-size: 1.5rem;
  }
}
.p-approach__detail-title .ico {
  background: var(--color-grad);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-approach__detail-title .ico {
    width: 64px;
    height: 64px;
  }
}
@media screen and (max-width: 767px) {
  .p-approach__detail-title .ico {
    width: 48px;
    height: 48px;
  }
}
.p-approach__detail-title .ico::before {
  content: "arrow_forward";
  font-family: "Material Symbols Outlined";
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .p-approach__detail-title .ico::before {
    font-size: 24px;
  }
}
@media screen and (max-width: 767px) {
  .p-approach__detail-title .ico::before {
    font-size: 18px;
  }
}
.p-approach__detail-title .ico:after {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  background: #fff;
  transform: translate(-50%, -50%);
  border-radius: 50%;
}
.p-approach__detail-subtitle {
  font-size: 1.5rem;
  line-height: 1.6;
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .p-approach__detail-subtitle {
    font-weight: bold;
    font-size: 1.125rem;
  }
}
.p-approach__detail-text {
  line-height: 1.8;
  color: var(--color-text);
}
.p-approach__detail-image {
  border-radius: 16px;
  overflow: hidden;
}
.p-approach__detail-image img {
  width: 100%;
  height: auto;
  display: block;
}

.p-approachTechnology {
  color: #fff;
  background: var(--color-bg-dark-blue);
  padding: 130px 0;
  position: relative;
  overflow: hidden;
}
.p-approachTechnology::before {
  content: "";
  position: absolute;
  width: 1709px;
  height: 774px;
  top: 500px;
  left: 50%;
  transform: translateX(-50%);
  opacity: 0.2;
  border-radius: 50%;
  background: var(--grade1, linear-gradient(270deg, #00E89E 0%, #0077FE 100%));
  filter: blur(32px);
  pointer-events: none;
}
.p-approachTechnology__bg {
  position: absolute;
  left: -90px;
  top: 400px;
  background: url(../img/approach/technology_bg_01.svg) no-repeat center/cover;
  pointer-events: none;
  width: 2800px;
  height: 930px;
}
@media screen and (max-width: 767px) {
  .p-approachTechnology {
    padding: 60px 0;
  }
}
.p-approachTechnology__head {
  text-align: center;
  margin-bottom: 60px;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-approachTechnology__head {
    margin-bottom: 40px;
  }
}
.p-approachTechnology__head .label {
  font-family: "Manrope", sans-serif;
  font-weight: 300;
  font-size: 4rem;
  line-height: 1;
  background: var(--color-grad);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: block;
  margin-bottom: 16px;
  padding-bottom: 0.2em;
}
@media screen and (max-width: 767px) {
  .p-approachTechnology__head .label {
    font-size: 2rem;
  }
}
.p-approachTechnology__head .label02 {
  font-size: 1.75rem;
  font-weight: 500;
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .p-approachTechnology__head .label02 {
    font-size: 1.5rem;
  }
}
.p-approachTechnology__lead {
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-approachTechnology__lead {
    font-size: 0.875rem;
  }
  .p-approachTechnology__lead br {
    display: none;
  }
}
.p-approachTechnology__content {
  position: relative;
  z-index: 1;
}
.p-approachTechnology__items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 48px;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .p-approachTechnology__items {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-bottom: 32px;
  }
}
.p-approachTechnology__item {
  background: rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  padding: 48px 48px 68px;
}
@media screen and (max-width: 767px) {
  .p-approachTechnology__item {
    padding: 32px 24px;
  }
}
.p-approachTechnology__head {
  text-align: center;
  margin-bottom: 24px;
}
.p-approachTechnology__en {
  font-family: var(--f2);
  font-size: 1.5rem;
  background: var(--color-grad);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  width: fit-content;
  margin: 0 auto 8px;
  display: block;
}
.p-approachTechnology__title {
  font-size: 1.75rem;
}
@media screen and (max-width: 767px) {
  .p-approachTechnology__title {
    font-size: 1.25rem;
  }
}
.p-approachTechnology__text {
  line-height: 1.8;
}
.p-approachTechnology__platform {
  background: rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  padding: 48px 48px 68px;
  text-align: center;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .p-approachTechnology__platform {
    padding: 32px 24px;
  }
}
.p-approachTechnology__platform-label {
  display: inline-block;
  background: var(--color-bg-body);
  border-radius: 999px;
  padding: 12px 32px;
  font-size: 0.875rem;
  font-weight: 500;
  margin-bottom: 24px;
}
.p-approachTechnology__platform-head {
  margin-bottom: 16px;
}
.p-approachTechnology__platform-en {
  font-family: "Manrope", sans-serif;
  font-size: 1.5rem;
  color: var(--color-1st);
  display: block;
  margin-bottom: 8px;
}
.p-approachTechnology__platform-title {
  font-size: 1.75rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-approachTechnology__platform-title {
    font-size: 1.375rem;
  }
}
.p-approachTechnology__platform-text {
  font-size: 0.9375rem;
  line-height: 1.8;
  margin-bottom: 32px;
}
.p-approachTechnology__platform-icons {
  display: grid;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 30px;
}
@media screen and (min-width: 768px) {
  .p-approachTechnology__platform-icons {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  }
}
@media screen and (max-width: 767px) {
  .p-approachTechnology__platform-icons {
    grid-template-columns: 1fr 1fr;
  }
}
.p-approachTechnology__platform-icon {
  background: #fff;
  text-align: center;
  border-radius: 8px;
  padding: 11px 8px;
  margin-top: -6px;
}
@media screen and (max-width: 767px) {
  .p-approachTechnology__platform-icon {
    padding: 12px 4px;
  }
}
.p-approachTechnology__platform-icon .img {
  display: block;
  margin-bottom: 8px;
}
.p-approachTechnology__platform-icon .img img {
  width: 60px;
  height: 60px;
}
@media screen and (max-width: 767px) {
  .p-approachTechnology__platform-icon .img img {
    width: 36px;
    height: 36px;
  }
}
.p-approachTechnology__platform-icon .label {
  font-weight: 500;
  font-size: 0.75rem;
  display: block;
  line-height: 1.4;
  color: var(--c0);
  margin-top: -6px;
}
.p-approachTechnology__conclusion {
  background: rgba(10, 22, 41, 0.5);
  border: 1px solid var(--color-1st);
  border-radius: 8px;
  padding: 20px 48px;
  text-align: center;
  font-size: 0.9375rem;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-approachTechnology__conclusion.--alliance {
    margin: -70px auto 50px;
    width: fit-content;
  }
}
@media screen and (max-width: 767px) {
  .p-approachTechnology__conclusion.--alliance {
    margin-bottom: 30px;
  }
}
.p-approachTechnology__conclusion.--platform {
  margin: 0 auto 10px;
}
@media screen and (max-width: 767px) {
  .p-approachTechnology__conclusion {
    padding: 16px 24px;
  }
  .p-approachTechnology__conclusion span {
    font-size: 0.8125rem;
  }
}

.p-approachProducts {
  padding: 64px 0 128px;
}
@media screen and (max-width: 767px) {
  .p-approachProducts {
    padding: 48px 0 80px;
  }
}
.p-approachProducts__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .p-approachProducts__head {
    gap: 16px;
    margin-bottom: 48px;
  }
}
.p-approachProducts__en {
  font-family: "Manrope", sans-serif;
  font-weight: 300;
  font-size: 2.5rem;
  line-height: 1;
  background: var(--color-grad);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
@media screen and (max-width: 767px) {
  .p-approachProducts__en {
    font-size: 2rem;
  }
}
.p-approachProducts__title {
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.6;
  color: #212121;
}
@media screen and (max-width: 767px) {
  .p-approachProducts__title {
    font-size: 1.5rem;
  }
}
.p-approachProducts__grid {
  display: flex;
  flex-wrap: wrap;
  gap: 40px 26px;
}
@media screen and (max-width: 767px) {
  .p-approachProducts__grid {
    gap: 24px 16px;
  }
}

.p-approachDevice {
  width: 280px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
@media screen and (max-width: 767px) {
  .p-approachDevice {
    width: calc(50% - 8px);
  }
}
.p-approachDevice__image {
  width: 280px;
  height: 274px;
  border-radius: 12px;
  overflow: hidden;
}
.p-approachDevice__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-approachDevice__image {
    width: 100%;
    height: auto;
    aspect-ratio: 280/274;
  }
}
.p-approachDevice__content {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.p-approachDevice__name {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  color: #212121;
}
@media screen and (max-width: 767px) {
  .p-approachDevice__name {
    font-size: 0.875rem;
  }
}
.p-approachDevice__desc {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212121;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-approachDevice__desc {
    font-size: 0.75rem;
  }
}

.p-vision {
  background: var(--color-bg-body);
}
.p-vision__hero {
  position: relative;
  padding: 160px 0 80px;
  overflow: hidden;
  background: url(../img/vision/hero_bg_01.svg) no-repeat center -160px;
  background-size: 1780px;
}
@media screen and (max-width: 767px) {
  .p-vision__hero {
    padding: 100px 0 60px;
  }
}
.p-vision__hero-bg {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 1440px;
  height: 800px;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-vision__hero-bg {
    width: 100%;
    height: 500px;
  }
}
.p-vision__hero-inner {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  margin: 0 auto;
}
.p-vision__hero-head {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 48px;
}
@media screen and (max-width: 767px) {
  .p-vision__hero-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 32px;
  }
}
.p-vision__hero-en {
  font-family: "Manrope", sans-serif;
  font-weight: 300;
  font-size: 2.5rem;
  line-height: 1;
  background: var(--color-grad);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-vision__hero-en {
    font-size: 1.75rem;
  }
}
.p-vision__hero-ja {
  font-size: 1.25rem;
  line-height: 1.6;
  color: var(--color-text);
}
@media screen and (max-width: 767px) {
  .p-vision__hero-ja {
    font-size: 1rem;
  }
}
.p-vision__hero-title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: 3.5rem;
  line-height: 1.4;
  color: var(--color-text);
  text-align: center;
  letter-spacing: 0.02em;
  margin-bottom: 48px;
}
@media screen and (max-width: 767px) {
  .p-vision__hero-title {
    font-size: 2rem;
    margin-bottom: 32px;
  }
}
.p-vision__hero-lead {
  font-size: 1.5rem;
  line-height: 1.6;
  color: var(--color-text);
  text-align: center;
  letter-spacing: 0.02em;
  margin-bottom: 48px;
}
@media screen and (max-width: 767px) {
  .p-vision__hero-lead {
    font-size: 1.125rem;
    margin-bottom: 32px;
  }
}
.p-vision__hero-text {
  font-size: 1rem;
  line-height: 1.75;
  color: var(--color-text);
  text-align: center;
}
.p-vision__hero-text p {
  margin-bottom: 24px;
}
.p-vision__hero-text p:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .p-vision__hero-text {
    font-size: 0.875rem;
    text-align: left;
  }
  .p-vision__hero-text br {
    display: none;
  }
}
.p-vision__section-head {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 48px;
}
@media screen and (max-width: 767px) {
  .p-vision__section-head {
    margin-bottom: 32px;
  }
}
.p-vision__section-en {
  font-family: "Manrope", sans-serif;
  font-weight: 300;
  font-size: 2.5rem;
  line-height: 1;
  background: var(--color-grad);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
@media screen and (max-width: 767px) {
  .p-vision__section-en {
    font-size: 2rem;
  }
}
.p-vision__mission {
  padding: 20px 0 0;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-vision__mission {
    padding: 48px 0;
  }
}
.p-vision__mission-bg {
  position: absolute;
  top: -200px;
  left: 0;
  width: 100%;
  height: 790px;
  background: url(../img/vision/mission_bg_01.svg) no-repeat center top/cover;
}
.p-vision__mission-content {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 40px;
}
@media screen and (max-width: 767px) {
  .p-vision__mission-content {
    flex-direction: column;
    gap: 24px;
  }
}
.p-vision__mission-title {
  font-weight: 300;
  font-size: 2.5rem;
  line-height: 1.4;
  color: var(--color-text);
  letter-spacing: 0.02em;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-vision__mission-title {
    font-size: 1.75rem;
  }
}
.p-vision__mission-text {
  font-size: 1.5rem;
  line-height: 1.6;
  color: var(--color-text);
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-vision__mission-text {
    font-size: 1rem;
    max-width: none;
  }
  .p-vision__mission-text br {
    display: none;
  }
}
.p-vision__value {
  padding: 124px 0 58px;
}
@media screen and (max-width: 767px) {
  .p-vision__value {
    padding: 48px 0 64px;
  }
}
.p-vision__value-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.p-vision__value-item {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 40px;
  background: rgba(255, 255, 255, 0.9);
  padding: 32px 48px;
  position: relative;
  border-radius: 10px;
}
@media screen and (max-width: 767px) {
  .p-vision__value-item {
    flex-direction: column;
    gap: 16px;
    padding: 24px;
  }
}
.p-vision__value-item:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 6px;
  height: 100%;
  background: var(--color-grad-v);
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
}
.p-vision__value-head {
  flex-shrink: 0;
}
.p-vision__value-title {
  font-size: 2rem;
  line-height: 1.6;
  color: var(--color-text);
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .p-vision__value-title {
    font-size: 1.5rem;
  }
}
.p-vision__value-subtitle {
  font-size: 1.25rem;
  line-height: 1.6;
  color: var(--color-text);
}
@media screen and (max-width: 767px) {
  .p-vision__value-subtitle {
    font-size: 1rem;
  }
}
.p-vision__value-text {
  font-size: 1rem;
  line-height: 1.6;
  color: var(--color-text);
  max-width: 640px;
}
.p-vision__value-text p:not(:last-child) {
  margin-bottom: 1em;
}
@media screen and (max-width: 767px) {
  .p-vision__value-text {
    font-size: 0.875rem;
    max-width: none;
  }
}
.p-vision__credo {
  padding: 64px 0;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .p-vision__credo {
    padding: 48px 0;
  }
}
.p-vision__credo-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media screen and (max-width: 767px) {
  .p-vision__credo-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
}
.p-vision__credo-item {
  position: relative;
  padding: 24px;
}
@media screen and (max-width: 767px) {
  .p-vision__credo-item {
    padding: 16px;
  }
}
.p-vision__credo-item:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 4px;
  height: 100%;
  background: var(--color-grad-v);
}
.p-vision__credo-ja {
  font-size: 1.5rem;
  line-height: 1.6;
  color: var(--color-text);
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .p-vision__credo-ja {
    font-size: 1rem;
  }
}
.p-vision__credo-en {
  font-family: "Manrope", sans-serif;
  font-size: 1.125rem;
  line-height: 1.6;
  background: var(--color-grad);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
@media screen and (max-width: 767px) {
  .p-vision__credo-en {
    font-size: 0.875rem;
  }
}
.p-vision__history {
  padding: 64px 0 120px;
}
@media screen and (max-width: 767px) {
  .p-vision__history {
    padding: 48px 0 80px;
  }
}
.p-vision__history-list {
  display: flex;
  flex-direction: column;
  gap: 88px;
  max-width: 1040px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p-vision__history-list {
    gap: 50px;
  }
}
.p-vision__history-item {
  display: grid;
  grid-template-columns: 1fr 1.9fr;
  gap: 60px;
  align-items: start;
}
@media screen and (max-width: 767px) {
  .p-vision__history-item {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}
.p-vision__history-head {
  position: relative;
}
.p-vision__history-year {
  font-family: "Manrope", sans-serif;
  font-size: 3rem;
  line-height: 1;
  background: var(--color-grad);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  position: absolute;
  left: 0;
  top: -30px;
}
@media screen and (max-width: 767px) {
  .p-vision__history-year {
    font-size: 2.375rem;
    top: -15px;
  }
}
.p-vision__history-image {
  border-radius: 8px;
  overflow: hidden;
  margin-left: 40px;
}
.p-vision__history-image img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-vision__history-image {
    margin-left: 20px;
  }
}
.p-vision__history-title {
  font-size: 1.5rem;
  line-height: 1.6;
  color: var(--color-text);
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .p-vision__history-title {
    font-size: 1.125rem;
    margin-bottom: 8px;
  }
}
.p-vision__history-text {
  font-size: 1rem;
  line-height: 1.6;
  color: var(--color-text);
}
@media screen and (max-width: 767px) {
  .p-vision__history-text {
    font-size: 0.875rem;
  }
}

.p-sustainability__hero {
  position: relative;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-sustainability__hero {
    padding: 160px 0 80px;
    height: 1080px;
  }
}
@media screen and (max-width: 767px) {
  .p-sustainability__hero {
    padding: 100px 0 460px;
  }
}
.p-sustainability__hero-bg {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}
.p-sustainability__hero-bg img {
  position: absolute;
  top: -35%;
  left: 0;
  width: 100%;
  height: 156%;
  max-width: none;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-sustainability__hero-bg img {
    top: 0;
    height: 100%;
  }
}
.p-sustainability__hero-content {
  position: relative;
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-sustainability__hero-content {
    gap: 64px;
    width: 720px;
  }
}
@media screen and (max-width: 767px) {
  .p-sustainability__hero-content {
    gap: 20px;
    width: 100%;
  }
}
.p-sustainability__hero-head {
  display: flex;
  align-items: center;
  gap: 16px;
}
@media screen and (max-width: 767px) {
  .p-sustainability__hero-head {
    gap: 12px;
  }
}
.p-sustainability__hero-head-en {
  font-family: "Manrope", sans-serif;
  font-weight: 300;
  line-height: 1;
  background: var(--color-grad);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
@media screen and (min-width: 768px) {
  .p-sustainability__hero-head-en {
    font-size: 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-sustainability__hero-head-en {
    font-size: 1.75rem;
  }
}
.p-sustainability__hero-head-ja {
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text);
}
@media screen and (max-width: 767px) {
  .p-sustainability__hero-head-ja {
    font-size: 0.875rem;
  }
}
.p-sustainability__hero-body {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
@media screen and (max-width: 767px) {
  .p-sustainability__hero-body {
    gap: 16px;
  }
}
.p-sustainability__hero-title {
  font-size: 3rem;
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text);
}
@media screen and (max-width: 767px) {
  .p-sustainability__hero-title {
    font-size: 2rem;
  }
}
.p-sustainability__hero-lead {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 2;
  color: var(--color-text);
}
@media screen and (max-width: 767px) {
  .p-sustainability__hero-lead {
    font-size: 0.875rem;
  }
}
.p-sustainability__section {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-sustainability__section {
    gap: 40px;
  }
}
@media screen and (max-width: 767px) {
  .p-sustainability__section {
    gap: 24px;
  }
}
.p-sustainability__message {
  background: #fff;
}
@media screen and (min-width: 768px) {
  .p-sustainability__message {
    padding: 80px 0;
  }
}
@media screen and (max-width: 767px) {
  .p-sustainability__message {
    padding: 60px 0;
  }
}
.p-sustainability__message-content {
  display: flex;
}
@media screen and (min-width: 768px) {
  .p-sustainability__message-content {
    gap: 80px;
  }
}
@media screen and (max-width: 767px) {
  .p-sustainability__message-content {
    flex-direction: column;
    gap: 32px;
  }
}
.p-sustainability__message-text {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.p-sustainability__message-text p {
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text);
}
.p-sustainability__message-text p:not(:last-child) {
  margin-bottom: 1.6em;
}
.p-sustainability__message-signature {
  font-weight: 500 !important;
  margin-top: 40px !important;
  margin-bottom: 0 !important;
}
@media screen and (max-width: 767px) {
  .p-sustainability__message-signature {
    margin-top: 24px !important;
  }
}
.p-sustainability__message-photo {
  flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .p-sustainability__message-photo {
    width: 460px;
  }
}
@media screen and (max-width: 767px) {
  .p-sustainability__message-photo {
    width: 100%;
  }
}
.p-sustainability__message-photo img {
  width: 100%;
  height: auto;
  border-radius: 12px;
  object-fit: cover;
}
@media screen and (min-width: 768px) {
  .p-sustainability__message-photo img {
    height: 607px;
  }
}
.p-sustainability__policy {
  background: #fff;
}
@media screen and (min-width: 768px) {
  .p-sustainability__policy {
    padding: 80px 0;
  }
}
@media screen and (max-width: 767px) {
  .p-sustainability__policy {
    padding: 60px 0;
  }
}
.p-sustainability__policy-lead {
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text);
}
.p-sustainability__policy-card {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  background: rgba(241, 243, 244, 0.5);
  border-image: var(--color-grad) 1;
  border-radius: 12px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-sustainability__policy-card {
    padding: 32px 48px;
    gap: 40px;
  }
}
@media screen and (max-width: 767px) {
  .p-sustainability__policy-card {
    flex-direction: column;
    padding: 24px;
    gap: 24px;
  }
}
.p-sustainability__policy-card:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 6px;
  height: 100%;
  background: var(--color-grad-v);
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
}
.p-sustainability__policy-quote p {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-text);
}
@media screen and (min-width: 768px) {
  .p-sustainability__policy-quote p {
    max-width: 576px;
  }
}
@media screen and (max-width: 767px) {
  .p-sustainability__policy-quote p {
    font-size: 1.125rem;
  }
}
.p-sustainability__policy-list {
  list-style: disc;
  padding-left: 27px;
}
.p-sustainability__policy-list li {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 2;
  list-style: disc;
  color: var(--color-text);
}
@media screen and (max-width: 767px) {
  .p-sustainability__policy-list li {
    font-size: 0.875rem;
  }
}
.p-sustainability__activities {
  background: var(--color-bg-body);
}
@media screen and (min-width: 768px) {
  .p-sustainability__activities {
    padding: 80px 0;
  }
}
@media screen and (max-width: 767px) {
  .p-sustainability__activities {
    padding: 60px 0;
  }
}
.p-sustainability__activities-head {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-sustainability__activities-head {
    gap: 24px;
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 767px) {
  .p-sustainability__activities-head {
    gap: 16px;
    margin-bottom: 32px;
  }
}
.p-sustainability__activities-title {
  font-size: 2.5rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.6px;
  color: var(--color-text);
}
@media screen and (max-width: 767px) {
  .p-sustainability__activities-title {
    font-size: 1.75rem;
  }
}
.p-sustainability__activities-content {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
@media screen and (min-width: 768px) {
  .p-sustainability__activities-content {
    gap: 40px;
  }
}
@media screen and (max-width: 767px) {
  .p-sustainability__activities-content {
    flex-direction: column;
    gap: 24px;
  }
}
@media screen and (min-width: 768px) {
  .p-sustainability__activities-text {
    max-width: 640px;
  }
}
.p-sustainability__activities-text p {
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text);
}
.p-sustainability__activities-text p:not(:last-child) {
  margin-bottom: 1em;
}
.p-sustainability__cards {
  display: grid;
  gap: 24px;
}
@media screen and (min-width: 768px) {
  .p-sustainability__cards {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .p-sustainability__cards {
    grid-template-columns: 1fr;
  }
}
.p-sustainability__card {
  display: flex;
  flex-direction: column;
  gap: 24px;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
}
@media screen and (min-width: 768px) {
  .p-sustainability__card {
    padding: 40px 24px;
  }
}
@media screen and (max-width: 767px) {
  .p-sustainability__card {
    padding: 32px 20px;
  }
}
.p-sustainability__card-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  text-align: center;
}
.p-sustainability__card-icon {
  width: 80px;
  height: 80px;
}
.p-sustainability__card-icon img {
  width: 100%;
}
.p-sustainability__card-title {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1;
  color: var(--color-text);
}
.p-sustainability__card-subtitle {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-text);
}
.p-sustainability__card-list {
  list-style: disc;
  padding-left: 24px;
}
.p-sustainability__card-list li {
  font-weight: 400;
  line-height: 1.6;
  list-style: disc;
  color: var(--color-text);
}
.p-sustainability__report {
  background: #fff;
}
@media screen and (min-width: 768px) {
  .p-sustainability__report {
    padding: 64px 0;
  }
}
@media screen and (max-width: 767px) {
  .p-sustainability__report {
    padding: 48px 0;
  }
}
.p-sustainability__report-title {
  border-left: 4px solid var(--color-1st);
  padding-left: 16px;
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-text);
}
@media screen and (max-width: 767px) {
  .p-sustainability__report-title {
    font-size: 1.125rem;
    padding-left: 12px;
  }
}
.p-sustainability__report-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .p-sustainability__report-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }
}
.p-sustainability__report-author {
  display: flex;
  align-items: center;
  gap: 10px;
}
.p-sustainability__report-author-icon {
  width: 64px;
  height: 64px;
  border-radius: 999px;
  overflow: hidden;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-sustainability__report-author-icon {
    width: 48px;
    height: 48px;
  }
}
.p-sustainability__report-author-icon img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-sustainability__report-author-name {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.6;
  color: var(--color-text);
}
@media screen and (max-width: 767px) {
  .p-sustainability__report-author-name {
    font-size: 1rem;
  }
}
.p-sustainability__report-link {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  transition: opacity 0.3s;
}
.p-sustainability__report-link:hover {
  opacity: 0.7;
}
.p-sustainability__report-link .text {
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-text);
}
.p-sustainability__report-link .icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: var(--color-grad);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-sustainability__report-link .icon {
    width: 40px;
    height: 40px;
  }
}
.p-sustainability__report-link .icon:after {
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  background: url("../img/common/ico_arrow_right.svg") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .p-sustainability__report-link .icon:after {
    width: 16px;
    height: 16px;
  }
}
.p-sustainability__report-list {
  display: grid;
}
@media screen and (min-width: 768px) {
  .p-sustainability__report-list {
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
  }
}
@media screen and (max-width: 767px) {
  .p-sustainability__report-list {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}
.p-sustainability__report-item {
  display: flex;
  flex-direction: column;
  gap: 24px;
  text-decoration: none;
  transition: opacity 0.3s;
}
.p-sustainability__report-item:hover {
  opacity: 0.7;
}
.p-sustainability__report-item-image {
  width: 100%;
  aspect-ratio: 500/300;
  border-radius: 16px;
  overflow: hidden;
}
.p-sustainability__report-item-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 16px;
}
.p-sustainability__report-item-title {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-text);
}
@media screen and (max-width: 767px) {
  .p-sustainability__report-item-title {
    font-size: 1rem;
  }
}
.p-sustainability__past {
  background: var(--color-bg-body);
}
@media screen and (min-width: 768px) {
  .p-sustainability__past {
    padding: 0 0 80px;
  }
}
@media screen and (max-width: 767px) {
  .p-sustainability__past {
    padding: 0 0 60px;
  }
}
.p-sustainability__past-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (min-width: 768px) {
  .p-sustainability__past-head {
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 767px) {
  .p-sustainability__past-head {
    flex-direction: column;
    align-items: normal;
    gap: 24px;
    margin-bottom: 32px;
  }
}
.p-sustainability__past-h {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.6px;
  color: var(--color-text);
}
@media screen and (max-width: 767px) {
  .p-sustainability__past-h {
    font-size: 1.75rem;
  }
}
@media screen and (min-width: 768px) {
  .p-sustainability__past-filters {
    display: flex;
    gap: 12px;
  }
}
@media screen and (max-width: 767px) {
  .p-sustainability__past-filters {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }
}
.p-sustainability__past-filter {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px;
  background: #fff;
  border-radius: 100px;
  cursor: pointer;
  transition: all 0.3s;
}
@media screen and (min-width: 768px) {
  .p-sustainability__past-filter {
    width: 200px;
  }
}
@media screen and (max-width: 767px) {
  .p-sustainability__past-filter {
    padding: 8px 16px;
    gap: 6px;
  }
}
.p-sustainability__past-filter:hover {
  border-color: var(--color-primary);
}
.p-sustainability__past-filter.is-active {
  background: var(--color-badge);
  border-color: var(--color-badge);
}
.p-sustainability__past-filter.is-active .label {
  color: #fff;
}
.p-sustainability__past-filter .icon {
  width: 48px;
  height: 48px;
}
@media screen and (max-width: 767px) {
  .p-sustainability__past-filter .icon {
    width: 32px;
    height: 32px;
  }
}
.p-sustainability__past-filter .icon img {
  width: 100%;
  height: 100%;
}
.p-sustainability__past-filter .label {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--color-text);
}
.p-sustainability__past-grid {
  display: grid;
  gap: 64px 39px;
}
@media screen and (min-width: 768px) {
  .p-sustainability__past-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .p-sustainability__past-grid {
    grid-template-columns: 1fr;
  }
}
.p-sustainability__past-item {
  display: flex;
  flex-direction: column;
}
.p-sustainability__past-image {
  width: 100%;
  aspect-ratio: 16/10;
  background: #C4C4C4;
  margin-bottom: 24px;
  border-radius: 16px;
}
.p-sustainability__past-image img {
  border-radius: 16px;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-sustainability__past-content {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.p-sustainability__past-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.875rem;
}
.p-sustainability__past-tag:before {
  content: "●";
}
.p-sustainability__past-tag.--environment:before {
  color: #4caf50;
}
.p-sustainability__past-tag.--worker:before {
  color: #ff9800;
}
.p-sustainability__past-tag.--society:before {
  color: #109fd2;
}
.p-sustainability__past-title {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-text);
}
@media screen and (max-width: 767px) {
  .p-sustainability__past-title {
    font-size: 1.0625rem;
  }
}
.p-sustainability__past-desc {
  font-weight: 400;
  line-height: 1.8;
  color: var(--color-text);
}
@media screen and (max-width: 767px) {
  .p-sustainability__past-desc {
    font-size: 0.9375rem;
  }
}

.p-recruitSideNav {
  position: fixed;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  z-index: 100;
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(8px);
  border-radius: 12px 0 0 12px;
  box-shadow: 0 0 16px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 24px;
}
@media screen and (min-width: 1401px) {
  .p-recruitSideNav {
    transition: 1s;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
  .--introDone .p-recruitSideNav {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
}
@media screen and (min-width: 768px) and (max-width: 1400px) {
  .p-recruitSideNav {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitSideNav {
    display: none;
  }
}
.p-recruitSideNav__menu {
  display: flex;
  flex-direction: column;
  gap: 16px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.p-recruitSideNav__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-decoration: none;
  transition: opacity 0.3s;
  width: 100%;
}
.p-recruitSideNav__link:hover {
  opacity: 0.7;
}
.p-recruitSideNav__link .ico {
  font-size: 20px;
  color: var(--color-1st);
}
.p-recruitSideNav__link.--sub .p-recruitSideNav__text {
  padding-left: 1em;
}
.p-recruitSideNav__label {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-text);
}
.p-recruitSideNav__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-text);
}
.p-recruitSideNav__btns {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.p-recruitSideNav__btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px;
  border: 1px solid transparent;
  background-image: linear-gradient(var(--color-white), var(--color-white)), var(--color-grad);
  background-origin: border-box;
  background-clip: padding-box, border-box;
  border-radius: 8px;
  text-decoration: none;
  transition: opacity 0.3s;
}
.p-recruitSideNav__btn:hover {
  opacity: 0.7;
}
.p-recruitSideNav__btn .ico {
  font-size: 24px;
  color: var(--color-1st);
}
.p-recruitSideNav__btn-text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-text);
}

.p-recruitHero {
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-recruitHero {
    height: 800px;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitHero {
    height: auto;
    padding: 100px 0 60px;
  }
}
.p-recruitHero__img {
  position: absolute;
  overflow: hidden;
}
.p-recruitHero__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 30px;
}
@media screen and (max-width: 767px) {
  .p-recruitHero__img img {
    border-radius: 16px;
  }
}
@media screen and (min-width: 768px) {
  .p-recruitHero__img.--1 {
    top: 132px;
    left: 50%;
    width: 303px;
    height: 305px;
    margin-left: 490px;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitHero__img.--1 {
    aspect-ratio: 1/1;
    width: 24%;
    right: -1%;
    top: 13%;
  }
}
@media screen and (min-width: 768px) {
  .p-recruitHero__img.--2 {
    width: 334px;
    height: 451px;
    top: 212px;
    left: 50%;
    margin-left: 120px;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitHero__img.--2 {
    aspect-ratio: 3/4;
    width: 39%;
    right: -3%;
    top: 43%;
  }
}
@media screen and (min-width: 768px) {
  .p-recruitHero__img.--3 {
    right: 40px;
    width: 213px;
    height: 286px;
    top: 542px;
    left: 50%;
    margin-left: -750px;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitHero__img.--3 {
    aspect-ratio: 2/3;
    width: 16%;
    left: -3%;
    top: 91%;
  }
}
.p-recruitHero__content {
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .p-recruitHero__content {
    padding-top: 230px;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitHero__content {
    padding-top: 0;
  }
}
.p-recruitHero__head {
  display: flex;
  flex-direction: column;
}
.p-recruitHero__head-en {
  font-family: "Manrope", sans-serif;
  font-weight: 200;
  line-height: 0.6944444444;
  letter-spacing: 2.88px;
  background: var(--color-grad);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  padding-bottom: 0.2em;
}
@media screen and (min-width: 768px) {
  .p-recruitHero__head-en {
    font-size: 9rem;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitHero__head-en {
    font-size: 4rem;
    letter-spacing: 1.28px;
  }
}
.p-recruitHero__head-label {
  display: flex;
  align-items: center;
  gap: 10px;
}
.p-recruitHero__head-label .dot {
  width: 8px;
  height: 8px;
  background: var(--color-grad);
  border-radius: 50%;
}
.p-recruitHero__head-ja {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-text);
}
@media screen and (max-width: 767px) {
  .p-recruitHero__head-ja {
    font-size: 0.875rem;
  }
}
.p-recruitHero__title {
  font-size: 3.5rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.6px;
  color: var(--color-text);
}
@media screen and (min-width: 768px) {
  .p-recruitHero__title {
    margin-top: 24px;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitHero__title {
    font-size: 1.5rem;
    margin-top: 20px;
  }
}

@media screen and (min-width: 768px) {
  .p-recruitMessage {
    padding: 80px 0;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitMessage {
    padding: 60px 0;
  }
}
.p-recruitMessage__bg img {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-recruitMessage__bg {
    width: 230%;
    margin-left: -80%;
  }
}
.p-recruitMessage__content {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-recruitMessage__content {
    gap: 40px;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitMessage__content {
    gap: 32px;
  }
}
.p-recruitMessage__title {
  flex: 1;
  font-size: 2.5rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.8px;
  color: var(--color-text);
}
@media screen and (max-width: 767px) {
  .p-recruitMessage__title {
    font-size: 1.5rem;
    letter-spacing: 0.48px;
  }
}
.p-recruitMessage__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 40px;
}
@media screen and (max-width: 767px) {
  .p-recruitMessage__body {
    gap: 24px;
  }
}
.p-recruitMessage__text p {
  font-weight: 400;
  line-height: 2;
  color: var(--color-text);
}
@media screen and (min-width: 768px) {
  .p-recruitMessage__text p {
    font-size: 1.25rem;
  }
}
.p-recruitMessage__text p:not(:last-child) {
  margin-bottom: 1.5em;
}
.p-recruitMessage__signature {
  font-weight: 500;
  line-height: 2;
  color: var(--color-text);
}
.p-recruitMessage__accent-title {
  border-left: 4px solid var(--color-1st);
  padding-left: 16px;
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-text);
}
@media screen and (max-width: 767px) {
  .p-recruitMessage__accent-title {
    font-size: 1.125rem;
    padding-left: 12px;
  }
}

.p-recruitMission {
  position: relative;
  background: url("../img/recruit/mission_bg.webp") no-repeat center/cover;
}
@media screen and (min-width: 768px) {
  .p-recruitMission {
    padding: 80px 0;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitMission {
    padding: 60px 0;
  }
}
.p-recruitMission__bg {
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.p-recruitMission__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-recruitMission__card {
  position: relative;
  display: flex;
  flex-direction: column;
  background: rgba(255, 255, 255, 0.75);
  backdrop-filter: blur(12px);
  border-radius: 24px;
}
@media screen and (min-width: 768px) {
  .p-recruitMission__card {
    gap: 64px;
    padding: 64px;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitMission__card {
    gap: 20px;
    padding: 32px 20px;
    border-radius: 16px;
  }
}
.p-recruitMission__text {
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-text);
}
@media screen and (min-width: 768px) {
  .p-recruitMission__text {
    text-align: center;
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitMission__text {
    font-size: 1.125rem;
  }
  .p-recruitMission__text br {
    display: none;
  }
}
.p-recruitMission__logo {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}
.p-recruitMission__logo-title {
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 1.6px;
  color: var(--color-text);
}
@media screen and (min-width: 768px) {
  .p-recruitMission__logo-title {
    margin-bottom: 23px;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitMission__logo-title {
    font-size: 1rem;
    margin-bottom: 20px;
  }
}
.p-recruitMission__logo-content {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (min-width: 768px) {
  .p-recruitMission__logo-content {
    width: 634px;
    padding-top: 53px;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitMission__logo-content {
    flex-direction: column;
    gap: 24px;
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .p-recruitMission__logo-image {
    position: absolute;
    top: 117px;
    left: 50%;
    transform: translateX(-50%);
    width: 378px;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitMission__logo-image {
    order: -1;
    width: 100%;
    max-width: 280px;
    margin: 0 auto;
  }
}
.p-recruitMission__logo-image img {
  width: 100%;
  height: auto;
}
.p-recruitMission__logo-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
@media screen and (max-width: 767px) {
  .p-recruitMission__logo-item {
    align-items: center;
    text-align: center;
  }
}
@media screen and (min-width: 768px) {
  .p-recruitMission__logo-item--left {
    align-items: flex-start;
  }
}
@media screen and (min-width: 768px) {
  .p-recruitMission__logo-item--right {
    align-items: flex-end;
    text-align: right;
  }
}
@media screen and (min-width: 768px) {
  .p-recruitMission__logo-item--bottom {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    align-items: center;
    text-align: center;
  }
}
.p-recruitMission__logo-label {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.6;
  color: var(--color-text);
}
@media screen and (max-width: 767px) {
  .p-recruitMission__logo-label {
    font-size: 1rem;
  }
}
.p-recruitMission__logo-desc {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text);
}
@media screen and (max-width: 767px) {
  .p-recruitMission__logo-desc {
    font-size: 0.75rem;
  }
}

.p-recruitSlider__nav {
  display: flex;
  align-items: center;
  gap: 8px;
}
.p-recruitSlider__nav.--light {
  color: var(--color-text);
}
.p-recruitSlider__nav.--dark {
  color: #fff;
}
.p-recruitSlider__btn {
  width: 48px;
  height: 48px;
  border: none;
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-recruitSlider__btn .ico {
  font-size: 1.25rem;
}
.--light .p-recruitSlider__btn {
  background: #fff;
}
.--dark .p-recruitSlider__btn {
  color: #fff;
  border: 1px solid #fff;
}
.p-recruitSlider__count {
  padding: 8px 0;
  font-size: 1rem;
  font-weight: 400;
  min-width: 48px;
  text-align: center;
  flex: 1;
}

@media screen and (min-width: 768px) {
  .p-recruitApproach {
    padding: 80px 0;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitApproach {
    padding: 60px 0;
  }
}
@media screen and (min-width: 768px) {
  .p-recruitApproach__content {
    gap: 40px;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitApproach__content {
    gap: 24px;
  }
}
.p-recruitApproach__lead {
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text);
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .p-recruitApproach__lead {
    margin-bottom: 16px;
  }
}
.p-recruitApproach__cardsWrapper {
  overflow: visible !important;
}
@media screen and (min-width: 768px) {
  .p-recruitApproach__cardsWrapper {
    margin-bottom: 24px;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitApproach__cardsWrapper {
    margin-bottom: 16px;
  }
}
@media screen and (min-width: 768px) {
  .p-recruitApproach__card {
    gap: 24px;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitApproach__card {
    gap: 16px;
  }
}
.p-recruitApproach__card-image {
  position: relative;
  aspect-ratio: 480/320;
  border-radius: 16px;
  overflow: hidden;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .p-recruitApproach__card-image {
    margin-bottom: 16px;
  }
}
.p-recruitApproach__card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-recruitApproach__card-badge {
  position: absolute;
  bottom: 20px;
  left: 20px;
  padding: 8px 48px;
  background: var(--color-grad);
  border-radius: 999px;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.6;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .p-recruitApproach__card-badge {
    bottom: 12px;
    left: 12px;
    padding: 6px 24px;
    font-size: 0.875rem;
  }
}
.p-recruitApproach__card-title {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-text);
}
@media screen and (max-width: 767px) {
  .p-recruitApproach__card-title {
    font-size: 1rem;
  }
}
.p-recruitApproach__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .p-recruitApproach__footer {
    flex-direction: column;
    gap: 24px;
  }
}

.p-recruitTechnology {
  position: relative;
  background: var(--color-bg-dark-blue);
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-recruitTechnology {
    padding: 120px 0 80px;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitTechnology {
    padding: 60px 0;
  }
}
.p-recruitTechnology__bg {
  position: absolute;
  bottom: -130px;
  left: 50%;
  transform: translateX(-50%);
  width: 1675px;
  height: 842px;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-recruitTechnology__bg {
    width: 100%;
    height: auto;
    bottom: 0;
  }
}
.p-recruitTechnology__bg img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.p-recruitTechnology__text {
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .p-recruitTechnology__text {
    margin-bottom: 16px;
  }
}
.p-recruitTechnology__text p {
  font-weight: 400;
  line-height: 1.6;
  color: #fff;
}
.p-recruitTechnology__cardsWrapper {
  overflow: visible !important;
}
@media screen and (min-width: 768px) {
  .p-recruitTechnology__cardsWrapper {
    margin-bottom: 24px;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitTechnology__cardsWrapper {
    margin-bottom: 16px;
  }
}
.p-recruitTechnology__card a {
  display: block;
  border-radius: 16px;
  color: #fff;
  background: rgba(255, 255, 255, 0.1);
  position: relative;
}
.p-recruitTechnology__card a:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 6px;
  height: 100%;
  background: var(--color-grad-v);
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
}
@media screen and (min-width: 768px) {
  .p-recruitTechnology__card a {
    padding: 24px;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitTechnology__card a {
    padding: 20px;
    border-radius: 12px;
  }
}
.p-recruitTechnology__card-row {
  display: flex;
  gap: 24px;
}
@media screen and (max-width: 767px) {
  .p-recruitTechnology__card-row {
    gap: 16px;
  }
}
.p-recruitTechnology__card-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border-radius: 12px;
  flex-shrink: 0;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .p-recruitTechnology__card-icon {
    width: 96px;
    height: 96px;
    margin-bottom: 24px;
    font-size: 56px;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitTechnology__card-icon {
    width: 64px;
    height: 64px;
    border-radius: 8px;
    margin-bottom: 16px;
    font-size: 28px;
  }
}
@media screen and (min-width: 768px) {
  .p-recruitTechnology__card-icon span {
    font-size: 3.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitTechnology__card-icon span {
    font-size: 2rem;
  }
}
.p-recruitTechnology__card-body {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
  min-width: 0;
}
.p-recruitTechnology__card-category {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.4;
  margin-bottom: 8px;
}
@media screen and (max-width: 767px) {
  .p-recruitTechnology__card-category {
    font-size: 0.75rem;
  }
}
.p-recruitTechnology__card-title {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-recruitTechnology__card-title {
    font-size: 1rem;
  }
}
.p-recruitTechnology__card-desc {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-recruitTechnology__card-desc {
    font-size: 0.75rem;
  }
}
.p-recruitTechnology__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .p-recruitTechnology__footer {
    flex-direction: column;
    gap: 24px;
  }
}

.p-recruitHackason {
  position: relative;
  background: var(--color-bg-dark-blue);
}
@media screen and (min-width: 768px) {
  .p-recruitHackason {
    padding: 80px 0;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitHackason {
    padding: 60px 0;
  }
}
.p-recruitHackason__body {
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-recruitHackason__body {
    height: 480px;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitHackason__body {
    padding-bottom: 40px;
  }
}
.p-recruitHackason__imgs {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
}
.p-recruitHackason__img {
  height: 100%;
  background: url() no-repeat center/cover;
}
.p-recruitHackason__content {
  position: relative;
  z-index: 1;
  padding-top: 90px;
}
.p-recruitHackason__h02 .row {
  display: block;
  width: fit-content;
  background: var(--color-grad);
  padding: 16px;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .p-recruitHackason__h02 .row {
    font-size: 1.25rem;
    padding: 12px;
  }
}
@media screen and (min-width: 768px) {
  .p-recruitHackason__h02 .row:nth-child(2n) {
    margin-left: 64px;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitHackason__h02 .row:nth-child(2n) {
    margin-left: 30px;
  }
}

@media screen and (min-width: 768px) {
  .p-recruitStory {
    padding: 120px 0 80px;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitStory {
    padding: 60px 0;
  }
}
.p-recruitStory__h02 {
  margin-bottom: 30px;
}
.p-recruitStory__h02 .row {
  display: block;
  width: fit-content;
  background: var(--color-grad);
  padding: 16px;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .p-recruitStory__h02 .row {
    font-size: 1.25rem;
    padding: 12px;
  }
}
.p-recruitStory__row {
  justify-content: flex-end;
}
@media screen and (min-width: 768px) {
  .p-recruitStory__row {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    gap: 80px;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitStory__content {
    margin-bottom: 30px;
  }
}
.p-recruitStory__text {
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text);
  margin-bottom: 30px;
}
.p-recruitStory__image {
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-recruitStory__image {
    aspect-ratio: 72/56;
    border-radius: 16px 0 0 16px;
    margin-right: calc(-1 * (100vw - 100%) / 2 + 36%);
  }
}
@media screen and (max-width: 767px) {
  .p-recruitStory__image {
    border-radius: 12px 0 0 12px;
    margin-right: -30px;
  }
}
.p-recruitStory__image img {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-recruitStory__image img {
    height: 100%;
    object-fit: cover;
  }
}
.p-recruitInterview {
  background: #fff;
}
@media screen and (min-width: 768px) {
  .p-recruitInterview {
    padding: 80px 0;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitInterview {
    padding: 60px 0;
  }
}
.p-recruitInterview__head {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-recruitInterview__head {
    margin-bottom: 64px;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitInterview__head {
    margin-bottom: 40px;
  }
}
.p-recruitInterview__head-en {
  font-family: "Manrope", sans-serif;
  font-weight: 200;
  letter-spacing: 2.4px;
  background: var(--color-grad);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
@media screen and (min-width: 768px) {
  .p-recruitInterview__head-en {
    font-size: 7.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitInterview__head-en {
    font-size: 3.5rem;
    letter-spacing: 1.12px;
  }
}
.p-recruitInterview__head-ja {
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 1.92px;
  color: var(--color-text);
}
@media screen and (max-width: 767px) {
  .p-recruitInterview__head-ja {
    font-size: 1rem;
    letter-spacing: 1.28px;
  }
}
.p-recruitInterview__slider {
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-recruitInterview__slider {
    padding-left: calc((100% - 1200px) / 2);
  }
}
@media screen and (max-width: 767px) {
  .p-recruitInterview__slider {
    padding-left: 20px;
  }
}
.p-recruitInterview__cards {
  display: flex;
}
@media screen and (min-width: 768px) {
  .p-recruitInterview__cards {
    gap: 48px;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitInterview__cards {
    gap: 24px;
  }
}
.p-recruitInterview__card {
  position: relative;
  padding-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .p-recruitInterview__card {
    width: 380px !important;
    padding-left: 20px;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitInterview__card {
    padding-left: 16px;
  }
}
.p-recruitInterview__info {
  display: flex;
  flex-direction: column;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-text);
}
@media screen and (min-width: 768px) {
  .p-recruitInterview__info {
    margin-bottom: 16px;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitInterview__info {
    font-size: 0.875rem;
    margin-bottom: 12px;
  }
}
.p-recruitInterview__dept {
  font-weight: 500;
}
.p-recruitInterview__year {
  font-weight: 500;
}
.p-recruitInterview__image {
  overflow: hidden;
  border-radius: 16px;
}
@media screen and (min-width: 768px) {
  .p-recruitInterview__image {
    width: 360px;
    height: 540px;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitInterview__image {
    width: 260px;
    height: 390px;
    border-radius: 12px;
  }
}
.p-recruitInterview__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-recruitInterview__labels {
  display: flex;
  flex-direction: column;
  position: absolute;
  left: 0;
  bottom: 0px;
}
.p-recruitInterview__label {
  width: fit-content;
  background: var(--color-grad);
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .p-recruitInterview__label {
    padding: 12px;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitInterview__label {
    font-size: 0.875rem;
    padding: 10px;
  }
}
.p-recruitInterview__nav {
  display: flex;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .p-recruitInterview__nav {
    margin-top: 64px;
    margin-bottom: 64px;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitInterview__nav {
    margin-top: 40px;
    margin-bottom: 40px;
  }
}
.p-recruitInterview__links {
  display: grid;
}
@media screen and (min-width: 768px) {
  .p-recruitInterview__links {
    margin-top: 64px;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 24px;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitInterview__links {
    margin-top: 40px;
    grid-template-columns: 1fr;
    gap: 12px;
  }
}
.p-recruitInterview__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex: 1;
  background: #f1f3f4;
  border-radius: 8px;
  text-decoration: none;
  transition: opacity 0.3s;
}
@media screen and (min-width: 768px) {
  .p-recruitInterview__link {
    padding: 24px;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitInterview__link {
    padding: 20px;
  }
}
.p-recruitInterview__link:hover {
  opacity: 0.7;
}
.p-recruitInterview__link-text {
  font-size: 1.25rem;
  font-weight: 500;
  color: var(--color-text);
}
@media screen and (max-width: 767px) {
  .p-recruitInterview__link-text {
    font-size: 1rem;
  }
}
.p-recruitInterview__link-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  background: var(--color-grad);
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  .p-recruitInterview__link-icon {
    width: 48px;
    height: 48px;
  }
}
.p-recruitInterview__link-icon:after {
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  background: url("../img/common/ico_arrow_right_white.svg") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .p-recruitInterview__link-icon:after {
    width: 20px;
    height: 20px;
  }
}
.p-recruitInterview__footer {
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .p-recruitInterview__footer {
    margin-top: 64px;
    margin-bottom: 64px;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitInterview__footer {
    margin-top: 40px;
    margin-bottom: 40px;
  }
}

.p-recruitGalleryWrapper {
  overflow: visible !important;
}

.p-recruitGallery__in {
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .p-recruitGallery__in {
    width: 720px;
  }
}
.p-recruitGallery__item {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .p-recruitGallery__item {
    gap: 24px;
    width: 720px !important;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitGallery__item {
    gap: 12px;
    width: 300px !important;
  }
}
.p-recruitGallery__image {
  overflow: hidden;
  border-radius: 16px;
}
@media screen and (max-width: 767px) {
  .p-recruitGallery__image {
    border-radius: 12px;
  }
}
.p-recruitGallery__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-recruitGallery__caption {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text);
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .p-recruitGallery__caption {
    font-size: 0.75rem;
  }
}

.p-recruitWellbeing {
  background: #fff;
}
@media screen and (min-width: 768px) {
  .p-recruitWellbeing {
    padding: 80px 0;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitWellbeing {
    padding: 60px 0;
  }
}
@media screen and (min-width: 768px) {
  .p-recruitWellbeing__rows {
    display: flex;
    flex-direction: column;
    gap: 80px;
  }
}
@media screen and (min-width: 768px) {
  .p-recruitWellbeing__row {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    gap: 80px;
  }
  .p-recruitWellbeing__row:nth-child(odd) {
    direction: rtl;
  }
  .p-recruitWellbeing__row:nth-child(odd) * {
    direction: ltr;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitWellbeing__row {
    flex-direction: column;
    gap: 24px;
  }
  .p-recruitWellbeing__row:not(:last-child) {
    margin-bottom: 30px;
  }
}
.p-recruitWellbeing__image {
  flex-shrink: 0;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-recruitWellbeing__image {
    aspect-ratio: 2/1;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitWellbeing__image {
    width: 100%;
    margin-top: 30px;
  }
}
@media screen and (min-width: 768px) {
  .p-recruitWellbeing__row:nth-child(odd) .p-recruitWellbeing__image {
    margin-left: calc(-1 * (100vw - 100%) / 2 + 36%);
  }
  .p-recruitWellbeing__row:nth-child(odd) .p-recruitWellbeing__image img {
    border-radius: 0 16px 16px 0;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitWellbeing__row:nth-child(odd) .p-recruitWellbeing__image {
    margin-left: -30px;
  }
  .p-recruitWellbeing__row:nth-child(odd) .p-recruitWellbeing__image img {
    border-radius: 0 8px 8px 0;
  }
}
@media screen and (min-width: 768px) {
  .p-recruitWellbeing__row:nth-child(even) .p-recruitWellbeing__image {
    margin-right: calc(-1 * (100vw - 100%) / 2 + 36%);
  }
  .p-recruitWellbeing__row:nth-child(even) .p-recruitWellbeing__image img {
    border-radius: 16px 0 0 16px;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitWellbeing__row:nth-child(even) .p-recruitWellbeing__image {
    margin-left: 30px;
  }
  .p-recruitWellbeing__row:nth-child(even) .p-recruitWellbeing__image img {
    border-radius: 8px 0 0 8px;
  }
}
.p-recruitWellbeing__image img {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-recruitWellbeing__image img {
    height: 100%;
    object-fit: cover;
  }
}
.p-recruitWellbeing__content {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-recruitWellbeing__content {
    gap: 24px;
    flex: 1;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitWellbeing__content {
    gap: 16px;
    padding: 0 20px;
  }
}
.p-recruitWellbeing__title {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.35;
  color: var(--color-text);
}
@media screen and (max-width: 767px) {
  .p-recruitWellbeing__title {
    font-size: 1.5rem;
  }
}
.p-recruitWellbeing__text {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text);
}
@media screen and (max-width: 767px) {
  .p-recruitWellbeing__text {
    font-size: 0.875rem;
  }
}

@media screen and (min-width: 768px) {
  .p-recruitVideo {
    padding: 80px 0;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitVideo {
    padding: 60px 0;
  }
}
.p-recruitVideo__rows {
  display: grid;
}
@media screen and (min-width: 768px) {
  .p-recruitVideo__rows {
    grid-template-columns: 1fr 1fr;
    gap: 40px;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitVideo__rows {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}
.p-recruitVideo__row {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-recruitVideo__row {
    gap: 24px;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitVideo__row {
    gap: 12px;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitVideo__image iframe {
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
  }
}
.p-recruitVideo__content {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.p-recruitVideo__title {
  font-weight: 500;
  font-size: 1.25rem;
}
.p-recruitStats {
  background: #fff;
}
@media screen and (min-width: 768px) {
  .p-recruitStats {
    padding: 80px 0;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitStats {
    padding: 60px 0;
  }
}
.p-recruitStats__title {
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 1.92px;
  color: var(--color-text);
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-recruitStats__title {
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitStats__title {
    font-size: 1.25rem;
    margin-bottom: 24px;
  }
}
.p-recruitStats__row {
  display: flex;
}
@media screen and (min-width: 768px) {
  .p-recruitStats__row {
    gap: 24px;
  }
  .p-recruitStats__row + .p-recruitStats__row {
    margin-top: 24px;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitStats__row {
    flex-direction: column;
    gap: 16px;
  }
  .p-recruitStats__row + .p-recruitStats__row {
    margin-top: 16px;
  }
}
.p-recruitStats__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: #f5f7f8;
  border-radius: 16px;
}
@media screen and (min-width: 768px) {
  .p-recruitStats__card {
    flex: 1;
    gap: 24px;
    padding: 40px 50px;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitStats__card {
    gap: 16px;
    padding: 24px 16px;
    border-radius: 12px;
  }
}
@media screen and (min-width: 768px) {
  .p-recruitStats__card--wide {
    flex: 1.5;
  }
}
.p-recruitStats__h02 {
  font-size: 1.25rem;
  font-weight: 500;
  text-align: center;
  color: var(--color-text);
  width: fit-content;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p-recruitStats__h02 {
    font-size: 1rem;
  }
}
.p-recruitStats__h02:after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background: var(--color-grad);
  margin-top: 4px;
}
.p-recruitStats__card-highlight {
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 1.6px;
  color: var(--color-text);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-recruitStats__card-highlight {
    font-size: 1rem;
  }
}
.p-recruitStats__card-num {
  font-size: 2.5rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-recruitStats__card-num {
    font-size: 2rem;
  }
}
.p-recruitStats__card-label {
  font-size: 1.875rem;
  letter-spacing: 2.4px;
}
@media screen and (max-width: 767px) {
  .p-recruitStats__card-label {
    font-size: 1.5rem;
  }
}
.p-recruitStats__card-chart {
  width: 100%;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-recruitStats__card-chart--pie {
    width: 240px;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitStats__card-chart--pie {
    width: 180px;
  }
}
.p-recruitStats__card-chart--list {
  flex: 1;
}
.p-recruitStats__card-charts {
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .p-recruitStats__card-charts {
    gap: 40px;
    padding: 24px 0;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitStats__card-charts {
    flex-direction: column;
    gap: 16px;
  }
}
.p-recruitStats__card-note {
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 0.56px;
  color: var(--color-text);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-recruitStats__card-note {
    font-size: 0.75rem;
  }
}
.p-recruitStats__card-content {
  display: flex;
}
@media screen and (min-width: 768px) {
  .p-recruitStats__card-content {
    gap: 24px;
  }
}
@media screen and (max-width: 767px) {
  .p-recruitStats__card-content {
    flex-direction: column;
    gap: 16px;
  }
}
.p-recruitStats__card-metrics {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.p-recruitStats__card-metric {
  display: flex;
  align-items: flex-end;
  gap: 16px;
}
.p-recruitStats__card-metric-label {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-text);
}
@media screen and (max-width: 767px) {
  .p-recruitStats__card-metric-label {
    font-size: 1.125rem;
  }
}
.p-recruitStats__card-metric-value {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-text);
}
@media screen and (max-width: 767px) {
  .p-recruitStats__card-metric-value {
    font-size: 1.125rem;
  }
}
.p-recruitStats__card-metric-value--blue {
  color: var(--color-2nd);
}
.p-recruitStats__card-metric-num {
  font-family: var(--f2);
  font-size: 3rem;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-recruitStats__card-metric-num {
    font-size: 2.25rem;
  }
}
.p-recruitStats__card-metric-note {
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 0.56px;
  color: var(--color-text);
  text-align: right;
}
@media screen and (max-width: 767px) {
  .p-recruitStats__card-metric-note {
    font-size: 0.75rem;
  }
}
.p-recruitStats__card-list {
  display: flex;
  gap: 10px;
}
.p-recruitStats__card-list-items, .p-recruitStats__card-list-counts {
  font-size: 1rem;
  font-weight: 500;
  line-height: 2;
  color: var(--color-text);
}
@media screen and (max-width: 767px) {
  .p-recruitStats__card-list-items, .p-recruitStats__card-list-counts {
    font-size: 0.875rem;
  }
}
.p-recruitStats__card-list-items p, .p-recruitStats__card-list-counts p {
  margin: 0;
}
.p-recruitStats__card-footnote {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0.56px;
  color: var(--color-text);
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-recruitStats__card-footnote {
    font-size: 0.75rem;
  }
}

@media screen and (min-width: 768px) {
  .p-irNav {
    width: 100%;
    margin: 0 auto;
    max-width: 280px;
  }
}
.p-irNav__header {
  background-color: var(--color-bg-body);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (min-width: 768px) {
  .p-irNav__header {
    padding: 24px 16px;
  }
}
@media screen and (max-width: 767px) {
  .p-irNav__header {
    padding: 16px 16px;
  }
}
.p-irNav__title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1;
  color: #212121;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .p-irNav__title {
    font-size: 1.125rem;
  }
}
.p-irNav__arrow {
  flex-shrink: 0;
  color: #00E89E;
}
.p-irNav__arrow::after {
  content: "arrow_forward";
  font-family: "Material Symbols Outlined";
  font-size: 24px;
  color: #00E89E;
  display: block;
}
.p-irNav__list {
  background-color: #FFFFFF;
  list-style: none;
  margin: 0;
  padding: 0;
}
.p-irNav__item {
  border-bottom: 1px solid #D5DCE0;
}
.p-irNav__item:last-child {
  border-bottom: none;
}
.p-irNav__link {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 16px;
  text-decoration: none;
  transition: background-color 0.2s ease;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  color: #212121;
  flex: 1;
  line-height: 1.25;
  font-size: 1rem;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-irNav__link {
    font-size: 0.9375rem;
  }
}
.p-irNav__link:before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
  background-color: #E2E8EA;
}
.p-irNav__item.--active .p-irNav__link:before {
  background-color: #00E89E;
}
.p-irNav__link:hover {
  background-color: #F5F7F8;
}

.p-irNavSub__list {
  border-top: 1px solid #D5DCE0;
}
.p-irNavSub__item {
  border-bottom: 1px solid #D5DCE0;
}
.p-irNavSub__item:last-child {
  border-bottom: none;
}
.p-irNavSub__link {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 16px;
  padding-left: 32px;
  text-decoration: none;
  transition: background-color 0.2s ease;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  color: #212121;
  flex: 1;
  line-height: 1.25;
  font-size: 1rem;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-irNavSub__link {
    font-size: 0.9375rem;
  }
}
.p-irNavSub__link:before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
  background-color: #E2E8EA;
}
.p-irNavSub__item.--active .p-irNavSub__link:before {
  background-color: #00E89E;
}
.p-irNavSub__link:hover {
  background-color: #F5F7F8;
}

@media screen and (min-width: 768px) {
  .p-irRow {
    display: grid;
    grid-template-columns: 68fr 28fr;
    gap: 80px;
    direction: rtl;
  }
  .p-irRow * {
    direction: ltr;
  }
}
.p-irSection {
  padding-bottom: 64px;
}
@media screen and (max-width: 767px) {
  .p-irSection {
    padding-bottom: 32px;
  }
}

.p-irContainer {
  background: var(--color-white);
  border-radius: 24px;
  padding: 64px 80px;
}
@media screen and (max-width: 767px) {
  .p-irContainer {
    padding: 32px 20px;
    border-radius: 16px;
  }
}

.wp-block-buttons:not(:last-child),
.wp-block-columns:not(:last-child) {
  margin-bottom: 40px;
}
.wp-block-buttons .wp-block-heading,
.wp-block-columns .wp-block-heading {
  margin-top: 0 !important;
}

.wp-block-buttons.is-style-max-width .wp-block-button {
  flex: 1;
}

h1.wp-block-heading.is-style-blog,
h2.wp-block-heading.is-style-blog {
  font-weight: bold;
  line-height: 1.4;
  position: relative;
}
@media screen and (min-width: 768px) {
  h1.wp-block-heading.is-style-blog:not(:nth-child(1)),
  h2.wp-block-heading.is-style-blog:not(:nth-child(1)) {
    margin-top: 90px;
  }
}
@media screen and (max-width: 767px) {
  h1.wp-block-heading.is-style-blog:not(:nth-child(1)),
  h2.wp-block-heading.is-style-blog:not(:nth-child(1)) {
    margin-top: 40px;
  }
}
@media screen and (min-width: 768px) {
  h1.wp-block-heading.is-style-blog,
  h2.wp-block-heading.is-style-blog {
    font-size: 1.75rem;
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 767px) {
  h1.wp-block-heading.is-style-blog,
  h2.wp-block-heading.is-style-blog {
    font-size: 1.25rem;
    margin-bottom: 30px;
  }
}
h1.wp-block-heading.is-style-blog:before, h1.wp-block-heading.is-style-blog:after,
h2.wp-block-heading.is-style-blog:before,
h2.wp-block-heading.is-style-blog:after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: var(--color-grad);
}
@media screen and (min-width: 768px) {
  h1.wp-block-heading.is-style-blog:before,
  h2.wp-block-heading.is-style-blog:before {
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 767px) {
  h1.wp-block-heading.is-style-blog:before,
  h2.wp-block-heading.is-style-blog:before {
    margin-bottom: 15px;
  }
}
@media screen and (min-width: 768px) {
  h1.wp-block-heading.is-style-blog:after,
  h2.wp-block-heading.is-style-blog:after {
    margin-top: 30px;
  }
}
@media screen and (max-width: 767px) {
  h1.wp-block-heading.is-style-blog:after,
  h2.wp-block-heading.is-style-blog:after {
    margin-top: 15px;
  }
}

h3.wp-block-heading.is-style-blog {
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-text);
  padding-left: 16px;
  margin-bottom: 24px;
  position: relative;
}
@media screen and (max-width: 767px) {
  h3.wp-block-heading.is-style-blog {
    font-size: 1rem;
    margin-bottom: 16px;
  }
}
@media screen and (min-width: 768px) {
  h3.wp-block-heading.is-style-blog:not(:nth-child(1)) {
    margin-top: 70px;
  }
}
@media screen and (max-width: 767px) {
  h3.wp-block-heading.is-style-blog:not(:nth-child(1)) {
    margin-top: 40px;
  }
}
h3.wp-block-heading.is-style-blog:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 4px;
  background: var(--color-grad);
}
@media screen and (min-width: 768px) {
  h3.wp-block-heading.is-style-blog:before {
    height: 100%;
  }
}
@media screen and (max-width: 767px) {
  h3.wp-block-heading.is-style-blog:before {
    height: 100%;
  }
}

h4.wp-block-heading.is-style-blog {
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.5;
  color: var(--color-text);
  margin: 0;
  background: var(--color-background);
  padding: 16px;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  h4.wp-block-heading.is-style-blog {
    padding: 12px;
    margin-bottom: 24px;
    font-size: 1.125rem;
  }
}

wp-block-heading.is-style-group {
  font-weight: 500;
  margin-bottom: 10px;
  text-align: left;
}

h2.wp-block-heading.is-style-default {
  margin-bottom: 1em;
}
@media screen and (min-width: 768px) {
  h2.wp-block-heading.is-style-default {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  h2.wp-block-heading.is-style-default {
    font-size: 1.25rem;
  }
}

h3.wp-block-heading.is-style-default {
  margin-bottom: 1em;
}
@media screen and (min-width: 768px) {
  h3.wp-block-heading.is-style-default {
    font-size: 1.375rem;
  }
}
@media screen and (max-width: 767px) {
  h3.wp-block-heading.is-style-default {
    font-size: 1.125rem;
  }
}

h4.wp-block-heading.is-style-default {
  margin-bottom: 1em;
}
@media screen and (min-width: 768px) {
  h4.wp-block-heading.is-style-default {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  h4.wp-block-heading.is-style-default {
    font-size: 1rem;
  }
}

.wp-block-group {
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .wp-block-group:not(:nth-child(1)) {
    margin-top: 40px;
  }
}
@media screen and (max-width: 767px) {
  .wp-block-group:not(:nth-child(1)) {
    margin-top: 20px;
  }
}
@media screen and (min-width: 768px) {
  .wp-block-group:not(:last-child) {
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 767px) {
  .wp-block-group:not(:last-child) {
    margin-bottom: 20px;
  }
}
.wp-block-heading + .wp-block-group {
  margin-top: 0;
}
.wp-block-group *:last-child {
  margin-bottom: 0;
}
.wp-block-group *:first-child {
  margin-top: 0;
}
.wp-block-group.is-style-fill-gray-s {
  background: var(--c-gray);
  padding: 30px;
}
.wp-block-group.is-style-line-left {
  background: var(--color-background);
  border-image: var(--color-grad) 1;
  border-radius: 12px;
  position: relative;
  padding: 30px;
}
.wp-block-group.is-style-line-left:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 6px;
  height: 100%;
  background: var(--color-grad-v);
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
}
.wp-block-group.is-style-line-left .wp-block-heading {
  font-size: 1.125rem;
  font-weight: bold;
}
.wp-block-group.is-style-line-left .wp-block-paragraph {
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  .wp-block-group.is-style-1-column-mobile {
    grid-template-columns: 1fr !important;
  }
}

.wp-block-group.is-style-fill-gray-s {
  background: var(--color-background);
  font-size: 1rem;
  display: flex;
  padding: 16px;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  text-align: left;
  gap: 8px;
  flex: 1 0 0;
  align-self: stretch;
  border-radius: 8px;
  height: 100%;
}
.wp-block-group.is-style-fill-gray-s * {
  font-size: 1rem;
  margin-top: 0;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
@media screen and (max-width: 767px) {
  .wp-block-group.is-style-fill-gray-s {
    font-size: 0.875rem;
    margin-bottom: 24px;
  }
}

.wp-block-group.is-style-benefit-item {
  background: #F5F7F8;
  border-left: 4px solid var(--color-1st);
  border-radius: 8px;
  padding: 24px 32px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
@media screen and (max-width: 767px) {
  .wp-block-group.is-style-benefit-item {
    padding: 16px 20px;
    gap: 12px;
  }
}
.wp-block-group.is-style-benefit-item p {
  margin: 0;
  line-height: 1.6;
}
.wp-block-group.is-style-benefit-item p:first-child {
  font-size: 1.25rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .wp-block-group.is-style-benefit-item p:first-child {
    font-size: 1.125rem;
  }
}
.wp-block-group.is-style-benefit-item p:last-child {
  font-size: 1rem;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .wp-block-group.is-style-benefit-item p:last-child {
    font-size: 0.875rem;
  }
}

@media screen and (min-width: 768px) {
  .wp-block-details.is-style-default:not(:nth-child(1)) {
    margin-top: 40px;
  }
}
@media screen and (max-width: 767px) {
  .wp-block-details.is-style-default:not(:nth-child(1)) {
    margin-top: 30px;
  }
}
.wp-block-details.is-style-default summary {
  display: block;
  border-radius: 10px;
  position: relative;
  border: 1px solid var(--color-border);
}
@media screen and (min-width: 768px) {
  .wp-block-details.is-style-default summary {
    padding: 16px 24px;
    font-size: 1.375rem;
  }
}
@media screen and (max-width: 767px) {
  .wp-block-details.is-style-default summary {
    padding: 15px 30px;
  }
}
.wp-block-details.is-style-default summary:after {
  content: "add";
  font-family: "Material Symbols Outlined";
  font-weight: 300;
  font-size: 2rem;
  line-height: 1;
  display: block;
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  align-content: center;
  background: var(--c0);
  border-radius: 50%;
  color: #fff;
  text-align: center;
  align-content: center;
}
@media screen and (min-width: 768px) {
  .wp-block-details.is-style-default summary:after {
    width: 40px;
    height: 40px;
  }
}
@media screen and (max-width: 767px) {
  .wp-block-details.is-style-default summary:after {
    width: 30px;
    height: 30px;
  }
}
.wp-block-details.is-style-default[open] summary:after {
  content: "remove";
}

.wp-block-section {
  margin-bottom: 64px;
}
.wp-block-section:last-child {
  margin-bottom: 0;
}

.wp-block-heading02 {
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-text);
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .wp-block-heading02 {
    font-size: 1.125rem;
    margin-bottom: 16px;
  }
}

.wp-block-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px 40px;
}
@media screen and (max-width: 767px) {
  .wp-block-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

.wp-block-grid__item {
  padding-bottom: 24px;
  border-bottom: 1px solid #E2E8EA;
}

.wp-block-grid__title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--color-text);
  margin-bottom: 8px;
}
@media screen and (max-width: 767px) {
  .wp-block-grid__title {
    font-size: 0.9375rem;
  }
}

.wp-block-grid__text {
  font-size: 0.875rem;
  font-weight: 400;
  color: var(--color-text);
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .wp-block-grid__text {
    font-size: 0.8125rem;
  }
}

.wp-block-table {
  width: 100%;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .wp-block-table {
    margin-bottom: 24px;
  }
}

.wp-block-tabList {
  display: flex;
  gap: 12px;
  margin-bottom: 64px;
}
@media screen and (max-width: 767px) {
  .wp-block-tabList {
    flex-direction: column;
    gap: 8px;
    margin-bottom: 40px;
  }
}

.wp-block-tabList__item {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: var(--color-bg-body);
  border-radius: 8px;
  font-size: 1.125rem;
  font-weight: 500;
  color: var(--color-text);
  cursor: pointer;
  transition: background 0.3s ease;
}
@media screen and (max-width: 767px) {
  .wp-block-tabList__item {
    padding: 16px;
    font-size: 0.9375rem;
  }
}
.wp-block-tabList__item:hover {
  background: #E2E8EA;
}
.wp-block-tabList__item.is-active {
  background: var(--color-bg-dark-blue);
  color: #fff;
}

.wp-block-accordion {
  border: 1px solid #E2E8EA;
  border-radius: 8px;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .wp-block-accordion {
    margin-bottom: 24px;
  }
}

.wp-block-accordion__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 24px;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .wp-block-accordion__header {
    padding: 12px 16px;
  }
}

.wp-block-accordion__title {
  flex: 1;
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-text);
}
@media screen and (max-width: 767px) {
  .wp-block-accordion__title {
    font-size: 1rem;
  }
}

.wp-block-accordion__icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  color: var(--color-text);
}
@media screen and (max-width: 767px) {
  .wp-block-accordion__icon {
    width: 32px;
    height: 32px;
    font-size: 20px;
  }
}
.wp-block-accordion__icon::before {
  content: "add";
  font-family: "Material Symbols Outlined";
}
.is-open .wp-block-accordion__icon::before {
  content: "remove";
}

.wp-block-accordion__content {
  display: none;
  padding: 0 24px 24px;
}
@media screen and (max-width: 767px) {
  .wp-block-accordion__content {
    padding: 0 16px 16px;
  }
}
.is-open .wp-block-accordion__content {
  display: block;
}

.wp-block-h4 {
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-text);
  padding-left: 16px;
  border-left: 4px solid var(--color-1st);
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .wp-block-h4 {
    font-size: 1.125rem;
    margin-bottom: 24px;
  }
}

.wp-block-cta {
  display: flex;
  justify-content: center;
  margin: 40px 0;
}
@media screen and (max-width: 767px) {
  .wp-block-cta {
    margin: 24px 0;
  }
}

.wp-block-cta__btn {
  display: inline-flex;
  align-items: center;
  gap: 0;
  padding: 0 0 0 64px;
  background: #fff;
  border: 1px solid var(--color-1st);
  border-radius: 999px;
  font-size: 1rem;
  font-weight: 500;
  color: var(--color-text);
  text-decoration: none;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  .wp-block-cta__btn {
    padding: 0 0 0 32px;
    font-size: 0.875rem;
  }
}
.wp-block-cta__btn:hover {
  background: var(--color-bg-body);
}

.wp-block-cta__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  background: linear-gradient(135deg, var(--color-1st) 0%, var(--color-2nd) 100%);
  border-radius: 50%;
  margin-left: 16px;
}
@media screen and (max-width: 767px) {
  .wp-block-cta__icon {
    width: 48px;
    height: 48px;
    margin-left: 12px;
  }
}
.wp-block-cta__icon::before {
  content: "arrow_right_alt";
  font-family: "Material Symbols Outlined";
  font-size: 24px;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .wp-block-cta__icon::before {
    font-size: 20px;
  }
}

.wp-block-accordionList {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
@media screen and (max-width: 767px) {
  .wp-block-accordionList {
    gap: 16px;
  }
}

.wp-block-accordionList__item {
  border: 1px solid #E2E8EA;
  border-radius: 8px;
}
.wp-block-accordionList__item.is-open .wp-block-accordionList__icon::before {
  content: "remove";
}
.wp-block-accordionList__item.is-open .wp-block-accordionList__content {
  display: block;
}

.wp-block-accordionList__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 24px;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .wp-block-accordionList__header {
    padding: 12px 16px;
  }
}

.wp-block-accordionList__title {
  flex: 1;
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-text);
}
@media screen and (max-width: 767px) {
  .wp-block-accordionList__title {
    font-size: 0.9375rem;
  }
}

.wp-block-accordionList__icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  color: var(--color-text);
}
@media screen and (max-width: 767px) {
  .wp-block-accordionList__icon {
    width: 32px;
    height: 32px;
    font-size: 20px;
  }
}
.wp-block-accordionList__icon::before {
  content: "add";
  font-family: "Material Symbols Outlined";
}

.wp-block-accordionList__content {
  display: none;
  padding: 0 24px 24px;
}
@media screen and (max-width: 767px) {
  .wp-block-accordionList__content {
    padding: 0 16px 16px;
  }
}

.wp-block-heading.is-style-border-top-bottom {
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 1.5;
  color: var(--color-text);
  padding: 24px 0;
  border-top: 1px solid var(--color-1st);
  border-bottom: 1px solid var(--color-1st);
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .wp-block-heading.is-style-border-top-bottom {
    font-size: 1.25rem;
    padding: 20px 0;
    margin-bottom: 24px;
  }
}

.wp-block-heading.is-style-left-border {
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.5;
  color: var(--color-text);
  padding: 12px 16px;
  border-left: 4px solid var(--color-1st);
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .wp-block-heading.is-style-left-border {
    font-size: 1.125rem;
    padding: 10px 12px;
    margin-bottom: 24px;
  }
}

.wp-block-paragraph {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.8;
  color: var(--color-text);
  margin-bottom: 40px;
}
.p-irContent .wp-block-paragraph {
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  .wp-block-paragraph {
    font-size: 1rem;
    margin-bottom: 24px;
  }
}
.wp-block-paragraph:last-child {
  margin-bottom: 0;
}
.wp-block-paragraph a {
  color: #2e639e;
  text-decoration: underline;
}
.wp-block-paragraph strong {
  font-weight: 700;
}

.wp-block-image {
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .wp-block-image {
    margin-bottom: 24px;
  }
}
.wp-block-image img {
  width: 100%;
  height: auto;
  display: block;
}
.wp-block-image figcaption {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.8;
  color: var(--color-text);
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .wp-block-image figcaption {
    font-size: 0.875rem;
  }
}

.wp-block-separator {
  border: none;
  border-top: 1px solid #D5DCE0;
  margin: 40px 0;
}
@media screen and (max-width: 767px) {
  .wp-block-separator {
    margin: 24px 0;
  }
}

.wp-block-list {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.8;
  color: var(--color-text);
  margin-bottom: 40px;
  padding-left: 27px;
}
@media screen and (max-width: 767px) {
  .wp-block-list {
    font-size: 1rem;
    margin-bottom: 24px;
  }
}
.wp-block-list li {
  margin-bottom: 8px;
}
.wp-block-list li:last-child {
  margin-bottom: 0;
}
.wp-block-list ul, .wp-block-list ol {
  margin-top: 8px;
  padding-left: 27px;
}

.wp-block-list.is-style-grid {
  display: grid;
  gap: 8px;
  padding-left: 0;
  margin-left: 0;
}
@media screen and (min-width: 768px) {
  .wp-block-list.is-style-grid {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
  }
}
@media screen and (max-width: 767px) {
  .wp-block-list.is-style-grid {
    grid-template-columns: 1fr 1fr;
  }
}
.wp-block-list.is-style-grid > li {
  font-weight: 400;
  color: var(--color-text);
  background: var(--color-bg-body);
  border-radius: 8px;
  list-style: none;
  display: flex;
  position: relative;
  margin: 0;
}
@media screen and (min-width: 768px) {
  .wp-block-list.is-style-grid > li {
    padding: 18px 22px 18px 38px;
  }
}
@media screen and (max-width: 767px) {
  .wp-block-list.is-style-grid > li {
    padding: 8px 12px 8px 28px;
  }
}
.wp-block-list.is-style-grid > li::before {
  content: "";
  display: block;
  background: var(--color-1st);
  border-radius: 50%;
  flex-shrink: 0;
  position: absolute;
}
@media screen and (min-width: 768px) {
  .wp-block-list.is-style-grid > li::before {
    width: 12px;
    height: 12px;
    left: 20px;
    top: 30px;
  }
}
@media screen and (max-width: 767px) {
  .wp-block-list.is-style-grid > li::before {
    width: 10px;
    height: 10px;
    left: 10px;
    top: 15px;
  }
}

.wp-block-button.is-style-outline .wp-block-button__link {
  display: flex;
  gap: 20px;
  align-items: center;
  justify-content: center;
  background: var(--color-white);
  border: 1px solid transparent;
  background-image: linear-gradient(var(--color-white), var(--color-white)), var(--color-grad);
  background-origin: border-box;
  background-clip: padding-box, border-box;
  border-radius: 9999px;
  text-decoration: none;
  transition: opacity 0.3s ease, transform 0.3s ease;
  position: relative;
  width: fit-content;
  min-height: 64px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.6;
  color: var(--color-text);
}
@media screen and (min-width: 768px) {
  .wp-block-button.is-style-outline .wp-block-button__link {
    white-space: nowrap;
    padding-left: 94px;
    padding-right: 64px;
  }
}
@media screen and (max-width: 767px) {
  .wp-block-button.is-style-outline .wp-block-button__link {
    padding-left: 24px;
    padding-right: 24px;
  }
}
.block-editor-iframe__body .wp-block-button.is-style-outline .wp-block-button__link {
  color: var(--color-text) !important;
  border: solid 1px var(--color-1st) !important;
  background: #fff !important;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
  opacity: 0.9;
  transform: translateY(-2px);
}
@media screen and (max-width: 767px) {
  .wp-block-button.is-style-outline .wp-block-button__link {
    width: 100%;
    justify-content: space-between;
    font-size: 0.875rem;
  }
}
.wp-block-button.is-style-outline .wp-block-button__link:after {
  content: "arrow_right_alt";
  font-family: "Material Symbols Outlined";
  font-size: 24px;
}
@media screen and (max-width: 767px) {
  .wp-block-button.is-style-outline .wp-block-button__link:after {
    font-size: 20px;
  }
}

.wp-block-button.is-style-anchor .wp-block-button__link {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  flex: 1 0 0;
  border-radius: 8px;
  background: var(--color-background);
  color: var(--color-text);
}
@media screen and (min-width: 768px) {
  .wp-block-button.is-style-anchor .wp-block-button__link {
    padding: 24px;
  }
}
@media screen and (max-width: 767px) {
  .wp-block-button.is-style-anchor .wp-block-button__link {
    padding: 12px;
  }
}

.wp-block-profile-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.wp-block-profile {
  display: flex;
  gap: 48px;
  padding: 40px 0;
  border-top: 1px solid #D5DCE0;
  border-bottom: 1px solid #D5DCE0;
  margin-bottom: -1px;
}
@media screen and (max-width: 767px) {
  .wp-block-profile {
    flex-direction: column;
    gap: 24px;
    padding: 24px 0;
  }
}
.wp-block-profile.is-horizontal .wp-block-profile__image {
  display: none;
}

.wp-block-profile__image {
  width: 320px;
  height: 240px;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .wp-block-profile__image {
    width: 100%;
    height: auto;
  }
}
.wp-block-profile__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.wp-block-profile__content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.wp-block-profile__head {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.wp-block-profile__role {
  font-size: 0.875rem;
  font-weight: 400;
  color: var(--color-text);
  margin: 0;
}
@media screen and (max-width: 767px) {
  .wp-block-profile__role {
    font-size: 0.8125rem;
  }
}

.wp-block-profile__name {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1;
  color: var(--color-text);
  margin: 0;
}
@media screen and (max-width: 767px) {
  .wp-block-profile__name {
    font-size: 1.5rem;
  }
}

.wp-block-profile__name-en {
  font-family: "Manrope", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: var(--color-text);
  margin: 0;
}
@media screen and (max-width: 767px) {
  .wp-block-profile__name-en {
    font-size: 0.8125rem;
  }
}

.wp-block-profile__text {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text);
}
@media screen and (max-width: 767px) {
  .wp-block-profile__text {
    font-size: 0.875rem;
  }
}
.wp-block-profile__text p {
  margin-bottom: 16px;
}
.wp-block-profile__text p:last-child {
  margin-bottom: 0;
}
.wp-block-profile__text strong {
  font-weight: 700;
}

.wp-block-table.is-style-regular th, .wp-block-table.is-style-regular td {
  border: 1px solid #E2E8EA;
  padding: 16px;
  vertical-align: top;
}
.wp-block-table.is-style-regular th:nth-child(1), .wp-block-table.is-style-regular td:nth-child(1) {
  font-weight: 600;
  background: var(--color-background);
}

.wp-block-table.is-style-stripes .wp-block-table__row {
  border-bottom: 1px solid #E2E8EA;
}
.wp-block-table.is-style-stripes .wp-block-table__row:nth-child(odd) .wp-block-table__th,
.wp-block-table.is-style-stripes .wp-block-table__row:nth-child(odd) .wp-block-table__td {
  background: #fff;
}
.wp-block-table.is-style-stripes .wp-block-table__row:nth-child(even) .wp-block-table__th,
.wp-block-table.is-style-stripes .wp-block-table__row:nth-child(even) .wp-block-table__td {
  background: #EDEFF0;
}
.wp-block-table.is-style-stripes th, .wp-block-table.is-style-stripes td {
  padding: 16px;
  vertical-align: top;
}
.wp-block-table.is-style-stripes th:nth-child(1), .wp-block-table.is-style-stripes td:nth-child(1) {
  font-weight: 600;
}

@media screen and (max-width: 767px) {
  :root :where(p.has-background) {
    padding: 1.25em 1.375em;
  }
}

.p-postPrevNext {
  display: grid;
  padding-top: 40px;
  margin-top: 40px;
  border-top: 1px solid var(--color-background);
}
@media screen and (min-width: 768px) {
  .p-postPrevNext {
    grid-template-columns: 1fr 1fr;
    gap: 40px;
  }
}
@media screen and (max-width: 767px) {
  .p-postPrevNext {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
.p-postPrevNext__item.--next {
  display: flex;
  justify-content: flex-end;
}

.p-postSection {
  background: var(--color-bg-body);
  padding-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .p-postSection {
    padding-bottom: 40px;
  }
}
.p-postSection.--full {
  background: #fff;
}
@media screen and (min-width: 768px) {
  .p-postSection.--full {
    padding-top: 80px;
  }
}
@media screen and (max-width: 767px) {
  .p-postSection.--full {
    padding-top: 40px;
  }
}

.p-postContainer {
  background: var(--color-white);
  border-radius: 24px;
  padding: 64px 80px;
}
@media screen and (max-width: 767px) {
  .p-postContainer {
    padding: 32px 20px;
    border-radius: 16px;
  }
}

.p-postShare {
  display: flex;
  justify-content: flex-end;
  gap: 16px;
}

/* ---------------------------
u-border
--------------------------- */
.u-border--b {
  border-bottom-style: solid;
  border-bottom-width: 1px;
}
.u-border--gray {
  border-color: #cccccc;
}

.u-c--base {
  color: var(--0) !important;
}
.u-c--wh {
  color: #fff !important;
}
.u-c--c1 {
  color: var(--c1) !important;
}
.u-c--c2 {
  color: var(--c2) !important;
}
.u-c--c3 {
  color: var(--c3) !important;
}
.u-c--c4 {
  color: var(--c4) !important;
}

.u-bg--base {
  background-color: var(--0) !important;
}
.u-bg--c1 {
  background-color: var(--c1) !important;
}
.u-bg--wh {
  background-color: #fff !important;
}
.u-bg--gray {
  background-color: var(--c-gray);
}
.u-bg--gray02 {
  background-color: var(--c-gray02);
}
.u-bg--gray03 {
  background-color: var(--c-gray03);
}
.u-bg--gray04 {
  background-color: var(--c-gray04);
}
.u-bg--lpgray {
  background-color: var(--c-lpgray);
}

/* ---------------------------
u-display
--------------------------- */
@media screen and (min-width: 768px) {
  .u-display--pc {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .u-display--pc {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .u-display--sp {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .u-display--sp {
    display: block;
  }
}
@media screen and (min-width: 1101px) {
  .u-display--large {
    display: block;
  }
}
@media screen and (max-width: 1100px) {
  .u-display--large {
    display: none;
  }
}
@media screen and (min-width: 1101px) {
  .u-display--tb {
    display: none;
  }
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-display--tb {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .u-display--tb {
    display: none;
  }
}
@media screen and (min-width: 1101px) {
  .u-display--tbsp {
    display: none;
  }
}
@media screen and (max-width: 1100px) {
  .u-display--tbsp {
    display: block;
  }
}
@media screen and (min-width: 1101px) {
  .u-display--tbnone {
    display: block;
  }
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-display--tbnone {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .u-display--tbnone {
    display: block;
  }
}

/* ---------------------------
m
--------------------------- */
.u-valign--t {
  vertical-align: top !important;
}

.u-valign--m {
  vertical-align: middle !important;
}

.u-valign--b {
  vertical-align: bottom !important;
}

@media screen and (min-width: 768px) {
  .u-mt--0 {
    margin-top: 0px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--0--tb {
    margin-top: 0px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--0--sp {
    margin-top: 0px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--0 {
    margin-bottom: 0px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--0--tb {
    margin-bottom: 0px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--0--sp {
    margin-bottom: 0px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--0 {
    margin-right: 0px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--0--tb {
    margin-right: 0px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--0--sp {
    margin-right: 0px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--0 {
    padding-top: 0px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--0--tb {
    padding-top: 0px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--0--sp {
    padding-top: 0px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--0 {
    padding-bottom: 0px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--0--tb {
    padding-bottom: 0px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--0--sp {
    padding-bottom: 0px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--1 {
    margin-top: 2px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--1--tb {
    margin-top: 2px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--1--sp {
    margin-top: 2px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--1 {
    margin-bottom: 2px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--1--tb {
    margin-bottom: 2px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--1--sp {
    margin-bottom: 2px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--1 {
    margin-right: 2px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--1--tb {
    margin-right: 2px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--1--sp {
    margin-right: 2px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--1 {
    padding-top: 2px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--1--tb {
    padding-top: 2px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--1--sp {
    padding-top: 2px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--1 {
    padding-bottom: 2px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--1--tb {
    padding-bottom: 2px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--1--sp {
    padding-bottom: 2px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--2 {
    margin-top: 4px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--2--tb {
    margin-top: 4px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--2--sp {
    margin-top: 4px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--2 {
    margin-bottom: 4px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--2--tb {
    margin-bottom: 4px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--2--sp {
    margin-bottom: 4px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--2 {
    margin-right: 4px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--2--tb {
    margin-right: 4px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--2--sp {
    margin-right: 4px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--2 {
    padding-top: 4px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--2--tb {
    padding-top: 4px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--2--sp {
    padding-top: 4px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--2 {
    padding-bottom: 4px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--2--tb {
    padding-bottom: 4px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--2--sp {
    padding-bottom: 4px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--3 {
    margin-top: 6px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--3--tb {
    margin-top: 6px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--3--sp {
    margin-top: 6px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--3 {
    margin-bottom: 6px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--3--tb {
    margin-bottom: 6px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--3--sp {
    margin-bottom: 6px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--3 {
    margin-right: 6px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--3--tb {
    margin-right: 6px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--3--sp {
    margin-right: 6px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--3 {
    padding-top: 6px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--3--tb {
    padding-top: 6px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--3--sp {
    padding-top: 6px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--3 {
    padding-bottom: 6px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--3--tb {
    padding-bottom: 6px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--3--sp {
    padding-bottom: 6px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--4 {
    margin-top: 8px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--4--tb {
    margin-top: 8px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--4--sp {
    margin-top: 8px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--4 {
    margin-bottom: 8px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--4--tb {
    margin-bottom: 8px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--4--sp {
    margin-bottom: 8px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--4 {
    margin-right: 8px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--4--tb {
    margin-right: 8px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--4--sp {
    margin-right: 8px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--4 {
    padding-top: 8px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--4--tb {
    padding-top: 8px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--4--sp {
    padding-top: 8px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--4 {
    padding-bottom: 8px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--4--tb {
    padding-bottom: 8px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--4--sp {
    padding-bottom: 8px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--5 {
    margin-top: 10px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--5--tb {
    margin-top: 10px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--5--sp {
    margin-top: 10px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--5 {
    margin-bottom: 10px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--5--tb {
    margin-bottom: 10px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--5--sp {
    margin-bottom: 10px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--5 {
    margin-right: 10px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--5--tb {
    margin-right: 10px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--5--sp {
    margin-right: 10px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--5 {
    padding-top: 10px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--5--tb {
    padding-top: 10px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--5--sp {
    padding-top: 10px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--5 {
    padding-bottom: 10px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--5--tb {
    padding-bottom: 10px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--5--sp {
    padding-bottom: 10px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--6 {
    margin-top: 12px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--6--tb {
    margin-top: 12px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--6--sp {
    margin-top: 12px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--6 {
    margin-bottom: 12px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--6--tb {
    margin-bottom: 12px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--6--sp {
    margin-bottom: 12px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--6 {
    margin-right: 12px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--6--tb {
    margin-right: 12px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--6--sp {
    margin-right: 12px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--6 {
    padding-top: 12px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--6--tb {
    padding-top: 12px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--6--sp {
    padding-top: 12px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--6 {
    padding-bottom: 12px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--6--tb {
    padding-bottom: 12px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--6--sp {
    padding-bottom: 12px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--7 {
    margin-top: 14px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--7--tb {
    margin-top: 14px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--7--sp {
    margin-top: 14px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--7 {
    margin-bottom: 14px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--7--tb {
    margin-bottom: 14px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--7--sp {
    margin-bottom: 14px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--7 {
    margin-right: 14px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--7--tb {
    margin-right: 14px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--7--sp {
    margin-right: 14px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--7 {
    padding-top: 14px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--7--tb {
    padding-top: 14px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--7--sp {
    padding-top: 14px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--7 {
    padding-bottom: 14px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--7--tb {
    padding-bottom: 14px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--7--sp {
    padding-bottom: 14px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--8 {
    margin-top: 16px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--8--tb {
    margin-top: 16px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--8--sp {
    margin-top: 16px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--8 {
    margin-bottom: 16px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--8--tb {
    margin-bottom: 16px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--8--sp {
    margin-bottom: 16px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--8 {
    margin-right: 16px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--8--tb {
    margin-right: 16px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--8--sp {
    margin-right: 16px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--8 {
    padding-top: 16px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--8--tb {
    padding-top: 16px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--8--sp {
    padding-top: 16px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--8 {
    padding-bottom: 16px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--8--tb {
    padding-bottom: 16px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--8--sp {
    padding-bottom: 16px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--9 {
    margin-top: 18px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--9--tb {
    margin-top: 18px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--9--sp {
    margin-top: 18px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--9 {
    margin-bottom: 18px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--9--tb {
    margin-bottom: 18px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--9--sp {
    margin-bottom: 18px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--9 {
    margin-right: 18px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--9--tb {
    margin-right: 18px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--9--sp {
    margin-right: 18px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--9 {
    padding-top: 18px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--9--tb {
    padding-top: 18px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--9--sp {
    padding-top: 18px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--9 {
    padding-bottom: 18px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--9--tb {
    padding-bottom: 18px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--9--sp {
    padding-bottom: 18px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--10 {
    margin-top: 20px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--10--tb {
    margin-top: 20px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--10--sp {
    margin-top: 20px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--10 {
    margin-bottom: 20px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--10--tb {
    margin-bottom: 20px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--10--sp {
    margin-bottom: 20px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--10 {
    margin-right: 20px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--10--tb {
    margin-right: 20px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--10--sp {
    margin-right: 20px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--10 {
    padding-top: 20px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--10--tb {
    padding-top: 20px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--10--sp {
    padding-top: 20px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--10 {
    padding-bottom: 20px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--10--tb {
    padding-bottom: 20px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--10--sp {
    padding-bottom: 20px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--11 {
    margin-top: 22px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--11--tb {
    margin-top: 22px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--11--sp {
    margin-top: 22px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--11 {
    margin-bottom: 22px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--11--tb {
    margin-bottom: 22px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--11--sp {
    margin-bottom: 22px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--11 {
    margin-right: 22px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--11--tb {
    margin-right: 22px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--11--sp {
    margin-right: 22px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--11 {
    padding-top: 22px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--11--tb {
    padding-top: 22px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--11--sp {
    padding-top: 22px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--11 {
    padding-bottom: 22px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--11--tb {
    padding-bottom: 22px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--11--sp {
    padding-bottom: 22px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--12 {
    margin-top: 24px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--12--tb {
    margin-top: 24px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--12--sp {
    margin-top: 24px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--12 {
    margin-bottom: 24px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--12--tb {
    margin-bottom: 24px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--12--sp {
    margin-bottom: 24px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--12 {
    margin-right: 24px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--12--tb {
    margin-right: 24px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--12--sp {
    margin-right: 24px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--12 {
    padding-top: 24px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--12--tb {
    padding-top: 24px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--12--sp {
    padding-top: 24px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--12 {
    padding-bottom: 24px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--12--tb {
    padding-bottom: 24px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--12--sp {
    padding-bottom: 24px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--13 {
    margin-top: 26px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--13--tb {
    margin-top: 26px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--13--sp {
    margin-top: 26px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--13 {
    margin-bottom: 26px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--13--tb {
    margin-bottom: 26px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--13--sp {
    margin-bottom: 26px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--13 {
    margin-right: 26px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--13--tb {
    margin-right: 26px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--13--sp {
    margin-right: 26px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--13 {
    padding-top: 26px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--13--tb {
    padding-top: 26px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--13--sp {
    padding-top: 26px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--13 {
    padding-bottom: 26px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--13--tb {
    padding-bottom: 26px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--13--sp {
    padding-bottom: 26px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--14 {
    margin-top: 28px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--14--tb {
    margin-top: 28px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--14--sp {
    margin-top: 28px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--14 {
    margin-bottom: 28px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--14--tb {
    margin-bottom: 28px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--14--sp {
    margin-bottom: 28px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--14 {
    margin-right: 28px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--14--tb {
    margin-right: 28px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--14--sp {
    margin-right: 28px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--14 {
    padding-top: 28px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--14--tb {
    padding-top: 28px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--14--sp {
    padding-top: 28px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--14 {
    padding-bottom: 28px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--14--tb {
    padding-bottom: 28px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--14--sp {
    padding-bottom: 28px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--15 {
    margin-top: 30px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--15--tb {
    margin-top: 30px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--15--sp {
    margin-top: 30px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--15 {
    margin-bottom: 30px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--15--tb {
    margin-bottom: 30px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--15--sp {
    margin-bottom: 30px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--15 {
    margin-right: 30px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--15--tb {
    margin-right: 30px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--15--sp {
    margin-right: 30px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--15 {
    padding-top: 30px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--15--tb {
    padding-top: 30px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--15--sp {
    padding-top: 30px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--15 {
    padding-bottom: 30px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--15--tb {
    padding-bottom: 30px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--15--sp {
    padding-bottom: 30px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--16 {
    margin-top: 32px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--16--tb {
    margin-top: 32px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--16--sp {
    margin-top: 32px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--16 {
    margin-bottom: 32px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--16--tb {
    margin-bottom: 32px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--16--sp {
    margin-bottom: 32px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--16 {
    margin-right: 32px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--16--tb {
    margin-right: 32px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--16--sp {
    margin-right: 32px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--16 {
    padding-top: 32px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--16--tb {
    padding-top: 32px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--16--sp {
    padding-top: 32px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--16 {
    padding-bottom: 32px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--16--tb {
    padding-bottom: 32px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--16--sp {
    padding-bottom: 32px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--17 {
    margin-top: 34px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--17--tb {
    margin-top: 34px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--17--sp {
    margin-top: 34px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--17 {
    margin-bottom: 34px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--17--tb {
    margin-bottom: 34px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--17--sp {
    margin-bottom: 34px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--17 {
    margin-right: 34px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--17--tb {
    margin-right: 34px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--17--sp {
    margin-right: 34px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--17 {
    padding-top: 34px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--17--tb {
    padding-top: 34px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--17--sp {
    padding-top: 34px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--17 {
    padding-bottom: 34px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--17--tb {
    padding-bottom: 34px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--17--sp {
    padding-bottom: 34px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--18 {
    margin-top: 36px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--18--tb {
    margin-top: 36px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--18--sp {
    margin-top: 36px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--18 {
    margin-bottom: 36px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--18--tb {
    margin-bottom: 36px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--18--sp {
    margin-bottom: 36px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--18 {
    margin-right: 36px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--18--tb {
    margin-right: 36px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--18--sp {
    margin-right: 36px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--18 {
    padding-top: 36px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--18--tb {
    padding-top: 36px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--18--sp {
    padding-top: 36px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--18 {
    padding-bottom: 36px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--18--tb {
    padding-bottom: 36px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--18--sp {
    padding-bottom: 36px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--19 {
    margin-top: 38px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--19--tb {
    margin-top: 38px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--19--sp {
    margin-top: 38px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--19 {
    margin-bottom: 38px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--19--tb {
    margin-bottom: 38px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--19--sp {
    margin-bottom: 38px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--19 {
    margin-right: 38px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--19--tb {
    margin-right: 38px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--19--sp {
    margin-right: 38px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--19 {
    padding-top: 38px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--19--tb {
    padding-top: 38px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--19--sp {
    padding-top: 38px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--19 {
    padding-bottom: 38px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--19--tb {
    padding-bottom: 38px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--19--sp {
    padding-bottom: 38px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--20 {
    margin-top: 40px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--20--tb {
    margin-top: 40px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--20--sp {
    margin-top: 40px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--20 {
    margin-bottom: 40px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--20--tb {
    margin-bottom: 40px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--20--sp {
    margin-bottom: 40px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--20 {
    margin-right: 40px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--20--tb {
    margin-right: 40px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--20--sp {
    margin-right: 40px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--20 {
    padding-top: 40px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--20--tb {
    padding-top: 40px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--20--sp {
    padding-top: 40px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--20 {
    padding-bottom: 40px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--20--tb {
    padding-bottom: 40px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--20--sp {
    padding-bottom: 40px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--21 {
    margin-top: 42px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--21--tb {
    margin-top: 42px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--21--sp {
    margin-top: 42px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--21 {
    margin-bottom: 42px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--21--tb {
    margin-bottom: 42px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--21--sp {
    margin-bottom: 42px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--21 {
    margin-right: 42px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--21--tb {
    margin-right: 42px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--21--sp {
    margin-right: 42px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--21 {
    padding-top: 42px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--21--tb {
    padding-top: 42px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--21--sp {
    padding-top: 42px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--21 {
    padding-bottom: 42px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--21--tb {
    padding-bottom: 42px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--21--sp {
    padding-bottom: 42px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--22 {
    margin-top: 44px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--22--tb {
    margin-top: 44px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--22--sp {
    margin-top: 44px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--22 {
    margin-bottom: 44px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--22--tb {
    margin-bottom: 44px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--22--sp {
    margin-bottom: 44px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--22 {
    margin-right: 44px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--22--tb {
    margin-right: 44px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--22--sp {
    margin-right: 44px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--22 {
    padding-top: 44px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--22--tb {
    padding-top: 44px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--22--sp {
    padding-top: 44px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--22 {
    padding-bottom: 44px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--22--tb {
    padding-bottom: 44px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--22--sp {
    padding-bottom: 44px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--23 {
    margin-top: 46px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--23--tb {
    margin-top: 46px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--23--sp {
    margin-top: 46px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--23 {
    margin-bottom: 46px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--23--tb {
    margin-bottom: 46px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--23--sp {
    margin-bottom: 46px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--23 {
    margin-right: 46px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--23--tb {
    margin-right: 46px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--23--sp {
    margin-right: 46px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--23 {
    padding-top: 46px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--23--tb {
    padding-top: 46px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--23--sp {
    padding-top: 46px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--23 {
    padding-bottom: 46px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--23--tb {
    padding-bottom: 46px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--23--sp {
    padding-bottom: 46px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--24 {
    margin-top: 48px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--24--tb {
    margin-top: 48px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--24--sp {
    margin-top: 48px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--24 {
    margin-bottom: 48px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--24--tb {
    margin-bottom: 48px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--24--sp {
    margin-bottom: 48px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--24 {
    margin-right: 48px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--24--tb {
    margin-right: 48px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--24--sp {
    margin-right: 48px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--24 {
    padding-top: 48px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--24--tb {
    padding-top: 48px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--24--sp {
    padding-top: 48px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--24 {
    padding-bottom: 48px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--24--tb {
    padding-bottom: 48px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--24--sp {
    padding-bottom: 48px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--25 {
    margin-top: 50px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--25--tb {
    margin-top: 50px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--25--sp {
    margin-top: 50px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--25 {
    margin-bottom: 50px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--25--tb {
    margin-bottom: 50px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--25--sp {
    margin-bottom: 50px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--25 {
    margin-right: 50px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--25--tb {
    margin-right: 50px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--25--sp {
    margin-right: 50px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--25 {
    padding-top: 50px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--25--tb {
    padding-top: 50px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--25--sp {
    padding-top: 50px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--25 {
    padding-bottom: 50px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--25--tb {
    padding-bottom: 50px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--25--sp {
    padding-bottom: 50px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--26 {
    margin-top: 52px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--26--tb {
    margin-top: 52px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--26--sp {
    margin-top: 52px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--26 {
    margin-bottom: 52px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--26--tb {
    margin-bottom: 52px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--26--sp {
    margin-bottom: 52px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--26 {
    margin-right: 52px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--26--tb {
    margin-right: 52px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--26--sp {
    margin-right: 52px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--26 {
    padding-top: 52px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--26--tb {
    padding-top: 52px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--26--sp {
    padding-top: 52px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--26 {
    padding-bottom: 52px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--26--tb {
    padding-bottom: 52px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--26--sp {
    padding-bottom: 52px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--27 {
    margin-top: 54px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--27--tb {
    margin-top: 54px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--27--sp {
    margin-top: 54px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--27 {
    margin-bottom: 54px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--27--tb {
    margin-bottom: 54px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--27--sp {
    margin-bottom: 54px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--27 {
    margin-right: 54px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--27--tb {
    margin-right: 54px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--27--sp {
    margin-right: 54px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--27 {
    padding-top: 54px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--27--tb {
    padding-top: 54px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--27--sp {
    padding-top: 54px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--27 {
    padding-bottom: 54px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--27--tb {
    padding-bottom: 54px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--27--sp {
    padding-bottom: 54px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--28 {
    margin-top: 56px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--28--tb {
    margin-top: 56px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--28--sp {
    margin-top: 56px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--28 {
    margin-bottom: 56px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--28--tb {
    margin-bottom: 56px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--28--sp {
    margin-bottom: 56px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--28 {
    margin-right: 56px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--28--tb {
    margin-right: 56px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--28--sp {
    margin-right: 56px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--28 {
    padding-top: 56px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--28--tb {
    padding-top: 56px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--28--sp {
    padding-top: 56px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--28 {
    padding-bottom: 56px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--28--tb {
    padding-bottom: 56px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--28--sp {
    padding-bottom: 56px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--29 {
    margin-top: 58px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--29--tb {
    margin-top: 58px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--29--sp {
    margin-top: 58px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--29 {
    margin-bottom: 58px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--29--tb {
    margin-bottom: 58px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--29--sp {
    margin-bottom: 58px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--29 {
    margin-right: 58px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--29--tb {
    margin-right: 58px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--29--sp {
    margin-right: 58px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--29 {
    padding-top: 58px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--29--tb {
    padding-top: 58px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--29--sp {
    padding-top: 58px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--29 {
    padding-bottom: 58px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--29--tb {
    padding-bottom: 58px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--29--sp {
    padding-bottom: 58px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--30 {
    margin-top: 60px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--30--tb {
    margin-top: 60px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--30--sp {
    margin-top: 60px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--30 {
    margin-bottom: 60px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--30--tb {
    margin-bottom: 60px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--30--sp {
    margin-bottom: 60px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--30 {
    margin-right: 60px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--30--tb {
    margin-right: 60px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--30--sp {
    margin-right: 60px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--30 {
    padding-top: 60px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--30--tb {
    padding-top: 60px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--30--sp {
    padding-top: 60px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--30 {
    padding-bottom: 60px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--30--tb {
    padding-bottom: 60px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--30--sp {
    padding-bottom: 60px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--31 {
    margin-top: 62px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--31--tb {
    margin-top: 62px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--31--sp {
    margin-top: 62px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--31 {
    margin-bottom: 62px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--31--tb {
    margin-bottom: 62px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--31--sp {
    margin-bottom: 62px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--31 {
    margin-right: 62px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--31--tb {
    margin-right: 62px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--31--sp {
    margin-right: 62px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--31 {
    padding-top: 62px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--31--tb {
    padding-top: 62px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--31--sp {
    padding-top: 62px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--31 {
    padding-bottom: 62px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--31--tb {
    padding-bottom: 62px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--31--sp {
    padding-bottom: 62px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--32 {
    margin-top: 64px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--32--tb {
    margin-top: 64px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--32--sp {
    margin-top: 64px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--32 {
    margin-bottom: 64px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--32--tb {
    margin-bottom: 64px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--32--sp {
    margin-bottom: 64px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--32 {
    margin-right: 64px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--32--tb {
    margin-right: 64px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--32--sp {
    margin-right: 64px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--32 {
    padding-top: 64px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--32--tb {
    padding-top: 64px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--32--sp {
    padding-top: 64px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--32 {
    padding-bottom: 64px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--32--tb {
    padding-bottom: 64px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--32--sp {
    padding-bottom: 64px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--33 {
    margin-top: 66px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--33--tb {
    margin-top: 66px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--33--sp {
    margin-top: 66px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--33 {
    margin-bottom: 66px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--33--tb {
    margin-bottom: 66px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--33--sp {
    margin-bottom: 66px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--33 {
    margin-right: 66px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--33--tb {
    margin-right: 66px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--33--sp {
    margin-right: 66px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--33 {
    padding-top: 66px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--33--tb {
    padding-top: 66px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--33--sp {
    padding-top: 66px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--33 {
    padding-bottom: 66px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--33--tb {
    padding-bottom: 66px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--33--sp {
    padding-bottom: 66px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--34 {
    margin-top: 68px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--34--tb {
    margin-top: 68px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--34--sp {
    margin-top: 68px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--34 {
    margin-bottom: 68px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--34--tb {
    margin-bottom: 68px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--34--sp {
    margin-bottom: 68px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--34 {
    margin-right: 68px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--34--tb {
    margin-right: 68px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--34--sp {
    margin-right: 68px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--34 {
    padding-top: 68px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--34--tb {
    padding-top: 68px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--34--sp {
    padding-top: 68px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--34 {
    padding-bottom: 68px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--34--tb {
    padding-bottom: 68px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--34--sp {
    padding-bottom: 68px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--35 {
    margin-top: 70px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--35--tb {
    margin-top: 70px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--35--sp {
    margin-top: 70px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--35 {
    margin-bottom: 70px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--35--tb {
    margin-bottom: 70px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--35--sp {
    margin-bottom: 70px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--35 {
    margin-right: 70px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--35--tb {
    margin-right: 70px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--35--sp {
    margin-right: 70px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--35 {
    padding-top: 70px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--35--tb {
    padding-top: 70px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--35--sp {
    padding-top: 70px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--35 {
    padding-bottom: 70px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--35--tb {
    padding-bottom: 70px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--35--sp {
    padding-bottom: 70px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--36 {
    margin-top: 72px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--36--tb {
    margin-top: 72px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--36--sp {
    margin-top: 72px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--36 {
    margin-bottom: 72px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--36--tb {
    margin-bottom: 72px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--36--sp {
    margin-bottom: 72px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--36 {
    margin-right: 72px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--36--tb {
    margin-right: 72px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--36--sp {
    margin-right: 72px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--36 {
    padding-top: 72px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--36--tb {
    padding-top: 72px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--36--sp {
    padding-top: 72px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--36 {
    padding-bottom: 72px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--36--tb {
    padding-bottom: 72px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--36--sp {
    padding-bottom: 72px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--37 {
    margin-top: 74px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--37--tb {
    margin-top: 74px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--37--sp {
    margin-top: 74px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--37 {
    margin-bottom: 74px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--37--tb {
    margin-bottom: 74px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--37--sp {
    margin-bottom: 74px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--37 {
    margin-right: 74px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--37--tb {
    margin-right: 74px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--37--sp {
    margin-right: 74px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--37 {
    padding-top: 74px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--37--tb {
    padding-top: 74px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--37--sp {
    padding-top: 74px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--37 {
    padding-bottom: 74px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--37--tb {
    padding-bottom: 74px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--37--sp {
    padding-bottom: 74px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--38 {
    margin-top: 76px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--38--tb {
    margin-top: 76px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--38--sp {
    margin-top: 76px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--38 {
    margin-bottom: 76px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--38--tb {
    margin-bottom: 76px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--38--sp {
    margin-bottom: 76px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--38 {
    margin-right: 76px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--38--tb {
    margin-right: 76px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--38--sp {
    margin-right: 76px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--38 {
    padding-top: 76px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--38--tb {
    padding-top: 76px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--38--sp {
    padding-top: 76px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--38 {
    padding-bottom: 76px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--38--tb {
    padding-bottom: 76px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--38--sp {
    padding-bottom: 76px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--39 {
    margin-top: 78px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--39--tb {
    margin-top: 78px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--39--sp {
    margin-top: 78px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--39 {
    margin-bottom: 78px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--39--tb {
    margin-bottom: 78px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--39--sp {
    margin-bottom: 78px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--39 {
    margin-right: 78px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--39--tb {
    margin-right: 78px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--39--sp {
    margin-right: 78px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--39 {
    padding-top: 78px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--39--tb {
    padding-top: 78px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--39--sp {
    padding-top: 78px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--39 {
    padding-bottom: 78px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--39--tb {
    padding-bottom: 78px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--39--sp {
    padding-bottom: 78px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--40 {
    margin-top: 80px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--40--tb {
    margin-top: 80px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--40--sp {
    margin-top: 80px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--40 {
    margin-bottom: 80px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--40--tb {
    margin-bottom: 80px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--40--sp {
    margin-bottom: 80px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--40 {
    margin-right: 80px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--40--tb {
    margin-right: 80px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--40--sp {
    margin-right: 80px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--40 {
    padding-top: 80px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--40--tb {
    padding-top: 80px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--40--sp {
    padding-top: 80px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--40 {
    padding-bottom: 80px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--40--tb {
    padding-bottom: 80px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--40--sp {
    padding-bottom: 80px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--41 {
    margin-top: 82px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--41--tb {
    margin-top: 82px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--41--sp {
    margin-top: 82px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--41 {
    margin-bottom: 82px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--41--tb {
    margin-bottom: 82px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--41--sp {
    margin-bottom: 82px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--41 {
    margin-right: 82px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--41--tb {
    margin-right: 82px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--41--sp {
    margin-right: 82px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--41 {
    padding-top: 82px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--41--tb {
    padding-top: 82px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--41--sp {
    padding-top: 82px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--41 {
    padding-bottom: 82px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--41--tb {
    padding-bottom: 82px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--41--sp {
    padding-bottom: 82px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--42 {
    margin-top: 84px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--42--tb {
    margin-top: 84px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--42--sp {
    margin-top: 84px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--42 {
    margin-bottom: 84px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--42--tb {
    margin-bottom: 84px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--42--sp {
    margin-bottom: 84px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--42 {
    margin-right: 84px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--42--tb {
    margin-right: 84px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--42--sp {
    margin-right: 84px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--42 {
    padding-top: 84px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--42--tb {
    padding-top: 84px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--42--sp {
    padding-top: 84px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--42 {
    padding-bottom: 84px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--42--tb {
    padding-bottom: 84px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--42--sp {
    padding-bottom: 84px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--43 {
    margin-top: 86px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--43--tb {
    margin-top: 86px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--43--sp {
    margin-top: 86px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--43 {
    margin-bottom: 86px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--43--tb {
    margin-bottom: 86px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--43--sp {
    margin-bottom: 86px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--43 {
    margin-right: 86px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--43--tb {
    margin-right: 86px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--43--sp {
    margin-right: 86px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--43 {
    padding-top: 86px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--43--tb {
    padding-top: 86px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--43--sp {
    padding-top: 86px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--43 {
    padding-bottom: 86px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--43--tb {
    padding-bottom: 86px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--43--sp {
    padding-bottom: 86px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--44 {
    margin-top: 88px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--44--tb {
    margin-top: 88px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--44--sp {
    margin-top: 88px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--44 {
    margin-bottom: 88px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--44--tb {
    margin-bottom: 88px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--44--sp {
    margin-bottom: 88px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--44 {
    margin-right: 88px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--44--tb {
    margin-right: 88px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--44--sp {
    margin-right: 88px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--44 {
    padding-top: 88px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--44--tb {
    padding-top: 88px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--44--sp {
    padding-top: 88px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--44 {
    padding-bottom: 88px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--44--tb {
    padding-bottom: 88px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--44--sp {
    padding-bottom: 88px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--45 {
    margin-top: 90px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--45--tb {
    margin-top: 90px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--45--sp {
    margin-top: 90px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--45 {
    margin-bottom: 90px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--45--tb {
    margin-bottom: 90px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--45--sp {
    margin-bottom: 90px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--45 {
    margin-right: 90px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--45--tb {
    margin-right: 90px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--45--sp {
    margin-right: 90px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--45 {
    padding-top: 90px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--45--tb {
    padding-top: 90px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--45--sp {
    padding-top: 90px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--45 {
    padding-bottom: 90px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--45--tb {
    padding-bottom: 90px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--45--sp {
    padding-bottom: 90px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--46 {
    margin-top: 92px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--46--tb {
    margin-top: 92px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--46--sp {
    margin-top: 92px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--46 {
    margin-bottom: 92px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--46--tb {
    margin-bottom: 92px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--46--sp {
    margin-bottom: 92px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--46 {
    margin-right: 92px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--46--tb {
    margin-right: 92px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--46--sp {
    margin-right: 92px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--46 {
    padding-top: 92px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--46--tb {
    padding-top: 92px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--46--sp {
    padding-top: 92px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--46 {
    padding-bottom: 92px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--46--tb {
    padding-bottom: 92px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--46--sp {
    padding-bottom: 92px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--47 {
    margin-top: 94px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--47--tb {
    margin-top: 94px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--47--sp {
    margin-top: 94px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--47 {
    margin-bottom: 94px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--47--tb {
    margin-bottom: 94px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--47--sp {
    margin-bottom: 94px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--47 {
    margin-right: 94px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--47--tb {
    margin-right: 94px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--47--sp {
    margin-right: 94px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--47 {
    padding-top: 94px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--47--tb {
    padding-top: 94px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--47--sp {
    padding-top: 94px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--47 {
    padding-bottom: 94px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--47--tb {
    padding-bottom: 94px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--47--sp {
    padding-bottom: 94px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--48 {
    margin-top: 96px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--48--tb {
    margin-top: 96px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--48--sp {
    margin-top: 96px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--48 {
    margin-bottom: 96px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--48--tb {
    margin-bottom: 96px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--48--sp {
    margin-bottom: 96px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--48 {
    margin-right: 96px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--48--tb {
    margin-right: 96px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--48--sp {
    margin-right: 96px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--48 {
    padding-top: 96px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--48--tb {
    padding-top: 96px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--48--sp {
    padding-top: 96px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--48 {
    padding-bottom: 96px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--48--tb {
    padding-bottom: 96px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--48--sp {
    padding-bottom: 96px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--49 {
    margin-top: 98px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--49--tb {
    margin-top: 98px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--49--sp {
    margin-top: 98px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--49 {
    margin-bottom: 98px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--49--tb {
    margin-bottom: 98px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--49--sp {
    margin-bottom: 98px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--49 {
    margin-right: 98px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--49--tb {
    margin-right: 98px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--49--sp {
    margin-right: 98px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--49 {
    padding-top: 98px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--49--tb {
    padding-top: 98px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--49--sp {
    padding-top: 98px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--49 {
    padding-bottom: 98px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--49--tb {
    padding-bottom: 98px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--49--sp {
    padding-bottom: 98px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--50 {
    margin-top: 100px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--50--tb {
    margin-top: 100px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--50--sp {
    margin-top: 100px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--50 {
    margin-bottom: 100px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--50--tb {
    margin-bottom: 100px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--50--sp {
    margin-bottom: 100px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--50 {
    margin-right: 100px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--50--tb {
    margin-right: 100px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--50--sp {
    margin-right: 100px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--50 {
    padding-top: 100px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--50--tb {
    padding-top: 100px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--50--sp {
    padding-top: 100px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--50 {
    padding-bottom: 100px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--50--tb {
    padding-bottom: 100px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--50--sp {
    padding-bottom: 100px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--51 {
    margin-top: 102px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--51--tb {
    margin-top: 102px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--51--sp {
    margin-top: 102px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--51 {
    margin-bottom: 102px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--51--tb {
    margin-bottom: 102px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--51--sp {
    margin-bottom: 102px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--51 {
    margin-right: 102px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--51--tb {
    margin-right: 102px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--51--sp {
    margin-right: 102px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--51 {
    padding-top: 102px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--51--tb {
    padding-top: 102px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--51--sp {
    padding-top: 102px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--51 {
    padding-bottom: 102px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--51--tb {
    padding-bottom: 102px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--51--sp {
    padding-bottom: 102px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--52 {
    margin-top: 104px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--52--tb {
    margin-top: 104px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--52--sp {
    margin-top: 104px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--52 {
    margin-bottom: 104px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--52--tb {
    margin-bottom: 104px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--52--sp {
    margin-bottom: 104px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--52 {
    margin-right: 104px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--52--tb {
    margin-right: 104px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--52--sp {
    margin-right: 104px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--52 {
    padding-top: 104px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--52--tb {
    padding-top: 104px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--52--sp {
    padding-top: 104px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--52 {
    padding-bottom: 104px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--52--tb {
    padding-bottom: 104px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--52--sp {
    padding-bottom: 104px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--53 {
    margin-top: 106px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--53--tb {
    margin-top: 106px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--53--sp {
    margin-top: 106px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--53 {
    margin-bottom: 106px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--53--tb {
    margin-bottom: 106px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--53--sp {
    margin-bottom: 106px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--53 {
    margin-right: 106px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--53--tb {
    margin-right: 106px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--53--sp {
    margin-right: 106px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--53 {
    padding-top: 106px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--53--tb {
    padding-top: 106px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--53--sp {
    padding-top: 106px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--53 {
    padding-bottom: 106px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--53--tb {
    padding-bottom: 106px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--53--sp {
    padding-bottom: 106px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--54 {
    margin-top: 108px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--54--tb {
    margin-top: 108px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--54--sp {
    margin-top: 108px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--54 {
    margin-bottom: 108px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--54--tb {
    margin-bottom: 108px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--54--sp {
    margin-bottom: 108px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--54 {
    margin-right: 108px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--54--tb {
    margin-right: 108px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--54--sp {
    margin-right: 108px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--54 {
    padding-top: 108px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--54--tb {
    padding-top: 108px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--54--sp {
    padding-top: 108px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--54 {
    padding-bottom: 108px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--54--tb {
    padding-bottom: 108px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--54--sp {
    padding-bottom: 108px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--55 {
    margin-top: 110px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--55--tb {
    margin-top: 110px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--55--sp {
    margin-top: 110px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--55 {
    margin-bottom: 110px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--55--tb {
    margin-bottom: 110px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--55--sp {
    margin-bottom: 110px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--55 {
    margin-right: 110px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--55--tb {
    margin-right: 110px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--55--sp {
    margin-right: 110px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--55 {
    padding-top: 110px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--55--tb {
    padding-top: 110px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--55--sp {
    padding-top: 110px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--55 {
    padding-bottom: 110px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--55--tb {
    padding-bottom: 110px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--55--sp {
    padding-bottom: 110px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--56 {
    margin-top: 112px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--56--tb {
    margin-top: 112px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--56--sp {
    margin-top: 112px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--56 {
    margin-bottom: 112px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--56--tb {
    margin-bottom: 112px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--56--sp {
    margin-bottom: 112px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--56 {
    margin-right: 112px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--56--tb {
    margin-right: 112px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--56--sp {
    margin-right: 112px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--56 {
    padding-top: 112px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--56--tb {
    padding-top: 112px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--56--sp {
    padding-top: 112px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--56 {
    padding-bottom: 112px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--56--tb {
    padding-bottom: 112px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--56--sp {
    padding-bottom: 112px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--57 {
    margin-top: 114px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--57--tb {
    margin-top: 114px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--57--sp {
    margin-top: 114px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--57 {
    margin-bottom: 114px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--57--tb {
    margin-bottom: 114px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--57--sp {
    margin-bottom: 114px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--57 {
    margin-right: 114px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--57--tb {
    margin-right: 114px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--57--sp {
    margin-right: 114px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--57 {
    padding-top: 114px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--57--tb {
    padding-top: 114px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--57--sp {
    padding-top: 114px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--57 {
    padding-bottom: 114px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--57--tb {
    padding-bottom: 114px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--57--sp {
    padding-bottom: 114px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--58 {
    margin-top: 116px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--58--tb {
    margin-top: 116px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--58--sp {
    margin-top: 116px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--58 {
    margin-bottom: 116px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--58--tb {
    margin-bottom: 116px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--58--sp {
    margin-bottom: 116px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--58 {
    margin-right: 116px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--58--tb {
    margin-right: 116px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--58--sp {
    margin-right: 116px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--58 {
    padding-top: 116px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--58--tb {
    padding-top: 116px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--58--sp {
    padding-top: 116px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--58 {
    padding-bottom: 116px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--58--tb {
    padding-bottom: 116px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--58--sp {
    padding-bottom: 116px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--59 {
    margin-top: 118px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--59--tb {
    margin-top: 118px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--59--sp {
    margin-top: 118px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--59 {
    margin-bottom: 118px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--59--tb {
    margin-bottom: 118px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--59--sp {
    margin-bottom: 118px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--59 {
    margin-right: 118px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--59--tb {
    margin-right: 118px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--59--sp {
    margin-right: 118px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--59 {
    padding-top: 118px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--59--tb {
    padding-top: 118px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--59--sp {
    padding-top: 118px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--59 {
    padding-bottom: 118px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--59--tb {
    padding-bottom: 118px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--59--sp {
    padding-bottom: 118px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--60 {
    margin-top: 120px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--60--tb {
    margin-top: 120px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--60--sp {
    margin-top: 120px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--60 {
    margin-bottom: 120px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--60--tb {
    margin-bottom: 120px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--60--sp {
    margin-bottom: 120px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--60 {
    margin-right: 120px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--60--tb {
    margin-right: 120px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--60--sp {
    margin-right: 120px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--60 {
    padding-top: 120px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--60--tb {
    padding-top: 120px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--60--sp {
    padding-top: 120px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--60 {
    padding-bottom: 120px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--60--tb {
    padding-bottom: 120px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--60--sp {
    padding-bottom: 120px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--61 {
    margin-top: 122px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--61--tb {
    margin-top: 122px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--61--sp {
    margin-top: 122px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--61 {
    margin-bottom: 122px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--61--tb {
    margin-bottom: 122px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--61--sp {
    margin-bottom: 122px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--61 {
    margin-right: 122px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--61--tb {
    margin-right: 122px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--61--sp {
    margin-right: 122px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--61 {
    padding-top: 122px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--61--tb {
    padding-top: 122px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--61--sp {
    padding-top: 122px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--61 {
    padding-bottom: 122px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--61--tb {
    padding-bottom: 122px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--61--sp {
    padding-bottom: 122px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--62 {
    margin-top: 124px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--62--tb {
    margin-top: 124px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--62--sp {
    margin-top: 124px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--62 {
    margin-bottom: 124px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--62--tb {
    margin-bottom: 124px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--62--sp {
    margin-bottom: 124px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--62 {
    margin-right: 124px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--62--tb {
    margin-right: 124px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--62--sp {
    margin-right: 124px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--62 {
    padding-top: 124px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--62--tb {
    padding-top: 124px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--62--sp {
    padding-top: 124px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--62 {
    padding-bottom: 124px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--62--tb {
    padding-bottom: 124px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--62--sp {
    padding-bottom: 124px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--63 {
    margin-top: 126px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--63--tb {
    margin-top: 126px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--63--sp {
    margin-top: 126px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--63 {
    margin-bottom: 126px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--63--tb {
    margin-bottom: 126px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--63--sp {
    margin-bottom: 126px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--63 {
    margin-right: 126px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--63--tb {
    margin-right: 126px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--63--sp {
    margin-right: 126px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--63 {
    padding-top: 126px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--63--tb {
    padding-top: 126px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--63--sp {
    padding-top: 126px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--63 {
    padding-bottom: 126px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--63--tb {
    padding-bottom: 126px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--63--sp {
    padding-bottom: 126px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--64 {
    margin-top: 128px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--64--tb {
    margin-top: 128px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--64--sp {
    margin-top: 128px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--64 {
    margin-bottom: 128px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--64--tb {
    margin-bottom: 128px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--64--sp {
    margin-bottom: 128px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--64 {
    margin-right: 128px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--64--tb {
    margin-right: 128px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--64--sp {
    margin-right: 128px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--64 {
    padding-top: 128px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--64--tb {
    padding-top: 128px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--64--sp {
    padding-top: 128px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--64 {
    padding-bottom: 128px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--64--tb {
    padding-bottom: 128px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--64--sp {
    padding-bottom: 128px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--65 {
    margin-top: 130px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--65--tb {
    margin-top: 130px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--65--sp {
    margin-top: 130px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--65 {
    margin-bottom: 130px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--65--tb {
    margin-bottom: 130px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--65--sp {
    margin-bottom: 130px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--65 {
    margin-right: 130px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--65--tb {
    margin-right: 130px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--65--sp {
    margin-right: 130px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--65 {
    padding-top: 130px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--65--tb {
    padding-top: 130px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--65--sp {
    padding-top: 130px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--65 {
    padding-bottom: 130px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--65--tb {
    padding-bottom: 130px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--65--sp {
    padding-bottom: 130px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--66 {
    margin-top: 132px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--66--tb {
    margin-top: 132px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--66--sp {
    margin-top: 132px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--66 {
    margin-bottom: 132px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--66--tb {
    margin-bottom: 132px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--66--sp {
    margin-bottom: 132px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--66 {
    margin-right: 132px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--66--tb {
    margin-right: 132px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--66--sp {
    margin-right: 132px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--66 {
    padding-top: 132px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--66--tb {
    padding-top: 132px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--66--sp {
    padding-top: 132px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--66 {
    padding-bottom: 132px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--66--tb {
    padding-bottom: 132px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--66--sp {
    padding-bottom: 132px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--67 {
    margin-top: 134px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--67--tb {
    margin-top: 134px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--67--sp {
    margin-top: 134px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--67 {
    margin-bottom: 134px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--67--tb {
    margin-bottom: 134px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--67--sp {
    margin-bottom: 134px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--67 {
    margin-right: 134px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--67--tb {
    margin-right: 134px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--67--sp {
    margin-right: 134px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--67 {
    padding-top: 134px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--67--tb {
    padding-top: 134px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--67--sp {
    padding-top: 134px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--67 {
    padding-bottom: 134px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--67--tb {
    padding-bottom: 134px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--67--sp {
    padding-bottom: 134px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--68 {
    margin-top: 136px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--68--tb {
    margin-top: 136px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--68--sp {
    margin-top: 136px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--68 {
    margin-bottom: 136px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--68--tb {
    margin-bottom: 136px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--68--sp {
    margin-bottom: 136px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--68 {
    margin-right: 136px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--68--tb {
    margin-right: 136px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--68--sp {
    margin-right: 136px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--68 {
    padding-top: 136px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--68--tb {
    padding-top: 136px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--68--sp {
    padding-top: 136px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--68 {
    padding-bottom: 136px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--68--tb {
    padding-bottom: 136px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--68--sp {
    padding-bottom: 136px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--69 {
    margin-top: 138px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--69--tb {
    margin-top: 138px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--69--sp {
    margin-top: 138px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--69 {
    margin-bottom: 138px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--69--tb {
    margin-bottom: 138px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--69--sp {
    margin-bottom: 138px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--69 {
    margin-right: 138px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--69--tb {
    margin-right: 138px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--69--sp {
    margin-right: 138px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--69 {
    padding-top: 138px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--69--tb {
    padding-top: 138px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--69--sp {
    padding-top: 138px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--69 {
    padding-bottom: 138px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--69--tb {
    padding-bottom: 138px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--69--sp {
    padding-bottom: 138px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--70 {
    margin-top: 140px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--70--tb {
    margin-top: 140px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--70--sp {
    margin-top: 140px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--70 {
    margin-bottom: 140px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--70--tb {
    margin-bottom: 140px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--70--sp {
    margin-bottom: 140px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--70 {
    margin-right: 140px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--70--tb {
    margin-right: 140px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--70--sp {
    margin-right: 140px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--70 {
    padding-top: 140px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--70--tb {
    padding-top: 140px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--70--sp {
    padding-top: 140px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--70 {
    padding-bottom: 140px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--70--tb {
    padding-bottom: 140px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--70--sp {
    padding-bottom: 140px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--71 {
    margin-top: 142px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--71--tb {
    margin-top: 142px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--71--sp {
    margin-top: 142px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--71 {
    margin-bottom: 142px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--71--tb {
    margin-bottom: 142px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--71--sp {
    margin-bottom: 142px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--71 {
    margin-right: 142px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--71--tb {
    margin-right: 142px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--71--sp {
    margin-right: 142px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--71 {
    padding-top: 142px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--71--tb {
    padding-top: 142px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--71--sp {
    padding-top: 142px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--71 {
    padding-bottom: 142px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--71--tb {
    padding-bottom: 142px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--71--sp {
    padding-bottom: 142px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--72 {
    margin-top: 144px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--72--tb {
    margin-top: 144px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--72--sp {
    margin-top: 144px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--72 {
    margin-bottom: 144px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--72--tb {
    margin-bottom: 144px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--72--sp {
    margin-bottom: 144px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--72 {
    margin-right: 144px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--72--tb {
    margin-right: 144px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--72--sp {
    margin-right: 144px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--72 {
    padding-top: 144px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--72--tb {
    padding-top: 144px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--72--sp {
    padding-top: 144px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--72 {
    padding-bottom: 144px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--72--tb {
    padding-bottom: 144px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--72--sp {
    padding-bottom: 144px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--73 {
    margin-top: 146px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--73--tb {
    margin-top: 146px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--73--sp {
    margin-top: 146px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--73 {
    margin-bottom: 146px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--73--tb {
    margin-bottom: 146px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--73--sp {
    margin-bottom: 146px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--73 {
    margin-right: 146px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--73--tb {
    margin-right: 146px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--73--sp {
    margin-right: 146px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--73 {
    padding-top: 146px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--73--tb {
    padding-top: 146px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--73--sp {
    padding-top: 146px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--73 {
    padding-bottom: 146px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--73--tb {
    padding-bottom: 146px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--73--sp {
    padding-bottom: 146px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--74 {
    margin-top: 148px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--74--tb {
    margin-top: 148px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--74--sp {
    margin-top: 148px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--74 {
    margin-bottom: 148px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--74--tb {
    margin-bottom: 148px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--74--sp {
    margin-bottom: 148px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--74 {
    margin-right: 148px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--74--tb {
    margin-right: 148px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--74--sp {
    margin-right: 148px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--74 {
    padding-top: 148px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--74--tb {
    padding-top: 148px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--74--sp {
    padding-top: 148px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--74 {
    padding-bottom: 148px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--74--tb {
    padding-bottom: 148px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--74--sp {
    padding-bottom: 148px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--75 {
    margin-top: 150px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--75--tb {
    margin-top: 150px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--75--sp {
    margin-top: 150px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--75 {
    margin-bottom: 150px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--75--tb {
    margin-bottom: 150px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--75--sp {
    margin-bottom: 150px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--75 {
    margin-right: 150px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--75--tb {
    margin-right: 150px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--75--sp {
    margin-right: 150px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--75 {
    padding-top: 150px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--75--tb {
    padding-top: 150px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--75--sp {
    padding-top: 150px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--75 {
    padding-bottom: 150px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--75--tb {
    padding-bottom: 150px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--75--sp {
    padding-bottom: 150px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--76 {
    margin-top: 152px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--76--tb {
    margin-top: 152px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--76--sp {
    margin-top: 152px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--76 {
    margin-bottom: 152px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--76--tb {
    margin-bottom: 152px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--76--sp {
    margin-bottom: 152px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--76 {
    margin-right: 152px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--76--tb {
    margin-right: 152px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--76--sp {
    margin-right: 152px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--76 {
    padding-top: 152px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--76--tb {
    padding-top: 152px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--76--sp {
    padding-top: 152px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--76 {
    padding-bottom: 152px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--76--tb {
    padding-bottom: 152px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--76--sp {
    padding-bottom: 152px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--77 {
    margin-top: 154px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--77--tb {
    margin-top: 154px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--77--sp {
    margin-top: 154px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--77 {
    margin-bottom: 154px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--77--tb {
    margin-bottom: 154px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--77--sp {
    margin-bottom: 154px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--77 {
    margin-right: 154px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--77--tb {
    margin-right: 154px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--77--sp {
    margin-right: 154px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--77 {
    padding-top: 154px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--77--tb {
    padding-top: 154px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--77--sp {
    padding-top: 154px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--77 {
    padding-bottom: 154px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--77--tb {
    padding-bottom: 154px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--77--sp {
    padding-bottom: 154px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--78 {
    margin-top: 156px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--78--tb {
    margin-top: 156px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--78--sp {
    margin-top: 156px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--78 {
    margin-bottom: 156px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--78--tb {
    margin-bottom: 156px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--78--sp {
    margin-bottom: 156px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--78 {
    margin-right: 156px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--78--tb {
    margin-right: 156px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--78--sp {
    margin-right: 156px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--78 {
    padding-top: 156px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--78--tb {
    padding-top: 156px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--78--sp {
    padding-top: 156px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--78 {
    padding-bottom: 156px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--78--tb {
    padding-bottom: 156px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--78--sp {
    padding-bottom: 156px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--79 {
    margin-top: 158px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--79--tb {
    margin-top: 158px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--79--sp {
    margin-top: 158px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--79 {
    margin-bottom: 158px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--79--tb {
    margin-bottom: 158px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--79--sp {
    margin-bottom: 158px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--79 {
    margin-right: 158px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--79--tb {
    margin-right: 158px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--79--sp {
    margin-right: 158px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--79 {
    padding-top: 158px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--79--tb {
    padding-top: 158px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--79--sp {
    padding-top: 158px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--79 {
    padding-bottom: 158px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--79--tb {
    padding-bottom: 158px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--79--sp {
    padding-bottom: 158px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--80 {
    margin-top: 160px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--80--tb {
    margin-top: 160px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--80--sp {
    margin-top: 160px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--80 {
    margin-bottom: 160px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--80--tb {
    margin-bottom: 160px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--80--sp {
    margin-bottom: 160px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--80 {
    margin-right: 160px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--80--tb {
    margin-right: 160px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--80--sp {
    margin-right: 160px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--80 {
    padding-top: 160px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--80--tb {
    padding-top: 160px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--80--sp {
    padding-top: 160px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--80 {
    padding-bottom: 160px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--80--tb {
    padding-bottom: 160px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--80--sp {
    padding-bottom: 160px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--81 {
    margin-top: 162px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--81--tb {
    margin-top: 162px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--81--sp {
    margin-top: 162px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--81 {
    margin-bottom: 162px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--81--tb {
    margin-bottom: 162px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--81--sp {
    margin-bottom: 162px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--81 {
    margin-right: 162px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--81--tb {
    margin-right: 162px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--81--sp {
    margin-right: 162px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--81 {
    padding-top: 162px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--81--tb {
    padding-top: 162px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--81--sp {
    padding-top: 162px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--81 {
    padding-bottom: 162px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--81--tb {
    padding-bottom: 162px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--81--sp {
    padding-bottom: 162px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--82 {
    margin-top: 164px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--82--tb {
    margin-top: 164px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--82--sp {
    margin-top: 164px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--82 {
    margin-bottom: 164px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--82--tb {
    margin-bottom: 164px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--82--sp {
    margin-bottom: 164px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--82 {
    margin-right: 164px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--82--tb {
    margin-right: 164px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--82--sp {
    margin-right: 164px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--82 {
    padding-top: 164px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--82--tb {
    padding-top: 164px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--82--sp {
    padding-top: 164px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--82 {
    padding-bottom: 164px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--82--tb {
    padding-bottom: 164px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--82--sp {
    padding-bottom: 164px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--83 {
    margin-top: 166px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--83--tb {
    margin-top: 166px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--83--sp {
    margin-top: 166px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--83 {
    margin-bottom: 166px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--83--tb {
    margin-bottom: 166px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--83--sp {
    margin-bottom: 166px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--83 {
    margin-right: 166px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--83--tb {
    margin-right: 166px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--83--sp {
    margin-right: 166px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--83 {
    padding-top: 166px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--83--tb {
    padding-top: 166px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--83--sp {
    padding-top: 166px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--83 {
    padding-bottom: 166px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--83--tb {
    padding-bottom: 166px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--83--sp {
    padding-bottom: 166px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--84 {
    margin-top: 168px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--84--tb {
    margin-top: 168px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--84--sp {
    margin-top: 168px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--84 {
    margin-bottom: 168px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--84--tb {
    margin-bottom: 168px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--84--sp {
    margin-bottom: 168px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--84 {
    margin-right: 168px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--84--tb {
    margin-right: 168px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--84--sp {
    margin-right: 168px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--84 {
    padding-top: 168px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--84--tb {
    padding-top: 168px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--84--sp {
    padding-top: 168px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--84 {
    padding-bottom: 168px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--84--tb {
    padding-bottom: 168px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--84--sp {
    padding-bottom: 168px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--85 {
    margin-top: 170px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--85--tb {
    margin-top: 170px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--85--sp {
    margin-top: 170px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--85 {
    margin-bottom: 170px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--85--tb {
    margin-bottom: 170px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--85--sp {
    margin-bottom: 170px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--85 {
    margin-right: 170px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--85--tb {
    margin-right: 170px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--85--sp {
    margin-right: 170px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--85 {
    padding-top: 170px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--85--tb {
    padding-top: 170px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--85--sp {
    padding-top: 170px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--85 {
    padding-bottom: 170px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--85--tb {
    padding-bottom: 170px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--85--sp {
    padding-bottom: 170px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--86 {
    margin-top: 172px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--86--tb {
    margin-top: 172px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--86--sp {
    margin-top: 172px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--86 {
    margin-bottom: 172px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--86--tb {
    margin-bottom: 172px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--86--sp {
    margin-bottom: 172px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--86 {
    margin-right: 172px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--86--tb {
    margin-right: 172px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--86--sp {
    margin-right: 172px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--86 {
    padding-top: 172px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--86--tb {
    padding-top: 172px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--86--sp {
    padding-top: 172px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--86 {
    padding-bottom: 172px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--86--tb {
    padding-bottom: 172px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--86--sp {
    padding-bottom: 172px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--87 {
    margin-top: 174px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--87--tb {
    margin-top: 174px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--87--sp {
    margin-top: 174px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--87 {
    margin-bottom: 174px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--87--tb {
    margin-bottom: 174px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--87--sp {
    margin-bottom: 174px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--87 {
    margin-right: 174px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--87--tb {
    margin-right: 174px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--87--sp {
    margin-right: 174px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--87 {
    padding-top: 174px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--87--tb {
    padding-top: 174px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--87--sp {
    padding-top: 174px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--87 {
    padding-bottom: 174px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--87--tb {
    padding-bottom: 174px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--87--sp {
    padding-bottom: 174px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--88 {
    margin-top: 176px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--88--tb {
    margin-top: 176px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--88--sp {
    margin-top: 176px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--88 {
    margin-bottom: 176px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--88--tb {
    margin-bottom: 176px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--88--sp {
    margin-bottom: 176px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--88 {
    margin-right: 176px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--88--tb {
    margin-right: 176px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--88--sp {
    margin-right: 176px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--88 {
    padding-top: 176px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--88--tb {
    padding-top: 176px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--88--sp {
    padding-top: 176px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--88 {
    padding-bottom: 176px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--88--tb {
    padding-bottom: 176px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--88--sp {
    padding-bottom: 176px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--89 {
    margin-top: 178px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--89--tb {
    margin-top: 178px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--89--sp {
    margin-top: 178px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--89 {
    margin-bottom: 178px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--89--tb {
    margin-bottom: 178px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--89--sp {
    margin-bottom: 178px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--89 {
    margin-right: 178px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--89--tb {
    margin-right: 178px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--89--sp {
    margin-right: 178px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--89 {
    padding-top: 178px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--89--tb {
    padding-top: 178px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--89--sp {
    padding-top: 178px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--89 {
    padding-bottom: 178px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--89--tb {
    padding-bottom: 178px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--89--sp {
    padding-bottom: 178px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mt--90 {
    margin-top: 180px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mt--90--tb {
    margin-top: 180px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mt--90--sp {
    margin-top: 180px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mb--90 {
    margin-bottom: 180px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mb--90--tb {
    margin-bottom: 180px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mb--90--sp {
    margin-bottom: 180px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-mr--90 {
    margin-right: 180px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-mr--90--tb {
    margin-right: 180px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-mr--90--sp {
    margin-right: 180px !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pt--90 {
    padding-top: 180px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pt--90--tb {
    padding-top: 180px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pt--90--sp {
    padding-top: 180px;
  }
}

@media screen and (min-width: 768px) {
  .u-pb--90 {
    padding-bottom: 180px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-pb--90--tb {
    padding-bottom: 180px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pb--90--sp {
    padding-bottom: 180px !important;
  }
}

/* ---------------------------
text
--------------------------- */
.u-fwb {
  font-weight: bold !important;
}

.u-fwm {
  font-weight: 500 !important;
}

.u-align--r {
  text-align: right !important;
}

.u-align--c {
  text-align: center !important;
}
@media screen and (min-width: 768px) {
  .u-align--c--pc {
    text-align: center !important;
  }
}

.u-align-l {
  text-align: left !important;
}
@media screen and (max-width: 767px) {
  .u-align-l--sp {
    text-align: left !important;
  }
}

.u-ff02 {
  font-family: var(--f2);
}

.u-lh200 {
  line-height: 2 !important;
}

.u-uline {
  text-decoration: underline !important;
}
.u-uline:hover, .u-uline:focus {
  text-decoration: none !important;
}

a.u-link {
  color: #3177C7;
  text-decoration: underline;
}
a.u-link:hover {
  text-decoration: none;
}
a.u-link[target=_blank]:after {
  font-family: "Material Symbols Outlined";
  content: "open_in_new";
  font-size: 0.875rem;
}

.u-text--10 {
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1101px) {
  .u-text--10 {
    font-size: calc(10 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text--10 {
    font-size: calc(10 * 0.06rem) !important;
  }
}

.u-text--11 {
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1101px) {
  .u-text--11 {
    font-size: calc(11 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text--11 {
    font-size: calc(11 * 0.06rem) !important;
  }
}

.u-text--12 {
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1101px) {
  .u-text--12 {
    font-size: calc(12 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text--12 {
    font-size: calc(12 * 0.06rem) !important;
  }
}

.u-text--13 {
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1101px) {
  .u-text--13 {
    font-size: calc(13 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text--13 {
    font-size: calc(13 * 0.06rem) !important;
  }
}

.u-text--14 {
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1101px) {
  .u-text--14 {
    font-size: calc(14 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text--14 {
    font-size: calc(14 * 0.06rem) !important;
  }
}

.u-text--15 {
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1101px) {
  .u-text--15 {
    font-size: calc(15 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text--15 {
    font-size: calc(15 * 0.06rem) !important;
  }
}

.u-text--16 {
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1101px) {
  .u-text--16 {
    font-size: calc(16 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text--16 {
    font-size: calc(16 * 0.06rem) !important;
  }
}

.u-text--17 {
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1101px) {
  .u-text--17 {
    font-size: calc(17 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text--17 {
    font-size: calc(17 * 0.06rem) !important;
  }
}

.u-text--18 {
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1101px) {
  .u-text--18 {
    font-size: calc(18 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text--18 {
    font-size: calc(18 * 0.06rem) !important;
  }
}

.u-text--19 {
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1101px) {
  .u-text--19 {
    font-size: calc(19 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text--19 {
    font-size: calc(19 * 0.06rem) !important;
  }
}

.u-text--20 {
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1101px) {
  .u-text--20 {
    font-size: calc(20 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text--20 {
    font-size: calc(20 * 0.06rem) !important;
  }
}

.u-text--21 {
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1101px) {
  .u-text--21 {
    font-size: calc(21 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text--21 {
    font-size: calc(21 * 0.06rem) !important;
  }
}

.u-text--22 {
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1101px) {
  .u-text--22 {
    font-size: calc(22 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text--22 {
    font-size: calc(22 * 0.06rem) !important;
  }
}

.u-text--23 {
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1101px) {
  .u-text--23 {
    font-size: calc(23 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text--23 {
    font-size: calc(23 * 0.06rem) !important;
  }
}

.u-text--24 {
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1101px) {
  .u-text--24 {
    font-size: calc(24 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text--24 {
    font-size: calc(24 * 0.06rem) !important;
  }
}

.u-text--25 {
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1101px) {
  .u-text--25 {
    font-size: calc(25 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text--25 {
    font-size: calc(25 * 0.06rem) !important;
  }
}

.u-text--26 {
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1101px) {
  .u-text--26 {
    font-size: calc(26 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text--26 {
    font-size: calc(26 * 0.06rem) !important;
  }
}

.u-text--27 {
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1101px) {
  .u-text--27 {
    font-size: calc(27 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text--27 {
    font-size: calc(27 * 0.06rem) !important;
  }
}

.u-text--28 {
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1101px) {
  .u-text--28 {
    font-size: calc(28 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text--28 {
    font-size: calc(28 * 0.06rem) !important;
  }
}

.u-text--29 {
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1101px) {
  .u-text--29 {
    font-size: calc(29 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text--29 {
    font-size: calc(29 * 0.06rem) !important;
  }
}

.u-text--30 {
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1101px) {
  .u-text--30 {
    font-size: calc(30 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text--30 {
    font-size: calc(30 * 0.06rem) !important;
  }
}

.u-text--31 {
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1101px) {
  .u-text--31 {
    font-size: calc(31 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text--31 {
    font-size: calc(31 * 0.06rem) !important;
  }
}

.u-text--32 {
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1101px) {
  .u-text--32 {
    font-size: calc(32 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text--32 {
    font-size: calc(32 * 0.06rem) !important;
  }
}

.u-text--33 {
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1101px) {
  .u-text--33 {
    font-size: calc(33 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text--33 {
    font-size: calc(33 * 0.06rem) !important;
  }
}

.u-text--34 {
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1101px) {
  .u-text--34 {
    font-size: calc(34 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text--34 {
    font-size: calc(34 * 0.06rem) !important;
  }
}

.u-text--35 {
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1101px) {
  .u-text--35 {
    font-size: calc(35 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text--35 {
    font-size: calc(35 * 0.06rem) !important;
  }
}

.u-text--36 {
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1101px) {
  .u-text--36 {
    font-size: calc(36 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text--36 {
    font-size: calc(36 * 0.06rem) !important;
  }
}

.u-text--37 {
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1101px) {
  .u-text--37 {
    font-size: calc(37 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text--37 {
    font-size: calc(37 * 0.06rem) !important;
  }
}

.u-text--38 {
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1101px) {
  .u-text--38 {
    font-size: calc(38 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text--38 {
    font-size: calc(38 * 0.06rem) !important;
  }
}

.u-text--39 {
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1101px) {
  .u-text--39 {
    font-size: calc(39 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text--39 {
    font-size: calc(39 * 0.06rem) !important;
  }
}

.u-text--40 {
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1101px) {
  .u-text--40 {
    font-size: calc(40 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text--40 {
    font-size: calc(40 * 0.06rem) !important;
  }
}

.u-text--41 {
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1101px) {
  .u-text--41 {
    font-size: calc(41 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text--41 {
    font-size: calc(41 * 0.06rem) !important;
  }
}

@media screen and (max-width: 1100px) {
  .u-text--10--sp {
    font-size: calc(10 * 0.0714285714rem) !important;
  }
}

@media screen and (max-width: 1100px) {
  .u-text--11--sp {
    font-size: calc(11 * 0.0714285714rem) !important;
  }
}

@media screen and (max-width: 1100px) {
  .u-text--12--sp {
    font-size: calc(12 * 0.0714285714rem) !important;
  }
}

@media screen and (max-width: 1100px) {
  .u-text--13--sp {
    font-size: calc(13 * 0.0714285714rem) !important;
  }
}

@media screen and (max-width: 1100px) {
  .u-text--14--sp {
    font-size: calc(14 * 0.0714285714rem) !important;
  }
}

@media screen and (max-width: 1100px) {
  .u-text--15--sp {
    font-size: calc(15 * 0.0714285714rem) !important;
  }
}

@media screen and (max-width: 1100px) {
  .u-text--16--sp {
    font-size: calc(16 * 0.0714285714rem) !important;
  }
}

@media screen and (max-width: 1100px) {
  .u-text--17--sp {
    font-size: calc(17 * 0.0714285714rem) !important;
  }
}

@media screen and (max-width: 1100px) {
  .u-text--18--sp {
    font-size: calc(18 * 0.0714285714rem) !important;
  }
}

@media screen and (max-width: 1100px) {
  .u-text--19--sp {
    font-size: calc(19 * 0.0714285714rem) !important;
  }
}

@media screen and (max-width: 1100px) {
  .u-text--20--sp {
    font-size: calc(20 * 0.0714285714rem) !important;
  }
}

@media screen and (max-width: 1100px) {
  .u-text--21--sp {
    font-size: calc(21 * 0.0714285714rem) !important;
  }
}

@media screen and (max-width: 1100px) {
  .u-text--22--sp {
    font-size: calc(22 * 0.0714285714rem) !important;
  }
}

@media screen and (max-width: 1100px) {
  .u-text--23--sp {
    font-size: calc(23 * 0.0714285714rem) !important;
  }
}

@media screen and (max-width: 1100px) {
  .u-text--24--sp {
    font-size: calc(24 * 0.0714285714rem) !important;
  }
}

@media screen and (max-width: 1100px) {
  .u-text--25--sp {
    font-size: calc(25 * 0.0714285714rem) !important;
  }
}

@media screen and (max-width: 1100px) {
  .u-text--26--sp {
    font-size: calc(26 * 0.0714285714rem) !important;
  }
}

@media screen and (max-width: 1100px) {
  .u-text--27--sp {
    font-size: calc(27 * 0.0714285714rem) !important;
  }
}

@media screen and (max-width: 1100px) {
  .u-text--28--sp {
    font-size: calc(28 * 0.0714285714rem) !important;
  }
}

@media screen and (max-width: 1100px) {
  .u-text--29--sp {
    font-size: calc(29 * 0.0714285714rem) !important;
  }
}

@media screen and (max-width: 1100px) {
  .u-text--30--sp {
    font-size: calc(30 * 0.0714285714rem) !important;
  }
}

@media screen and (max-width: 1100px) {
  .u-text--31--sp {
    font-size: calc(31 * 0.0714285714rem) !important;
  }
}

@media screen and (max-width: 1100px) {
  .u-text--32--sp {
    font-size: calc(32 * 0.0714285714rem) !important;
  }
}/*# sourceMappingURL=style.css.map */