@charset "utf-8";

/* Smartphone
-------------------------------------------------------------------*/
@media (max-width: 960px) {
	.pc{display: none!important;}
	.sp{display: block!important;}

/* Hamburger Menu
-------------------------------------------------------------------*/
  body.is-menu-open {
    overflow: hidden;
    height: 100vh;
  }

  .site-header {
    z-index: 1000;
  }

  .site-header__inner {
    padding: 0 2% 0 5%;
  }

  .global-nav,
  .contact-link {
    display: none;
  }

  .menu-toggle {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1.2vw;
    width: 11.6vw;
    height: 11.6vw;
    margin-left: auto;
    border: 0;
    background: transparent;
    color: #1A1A1A;
    font-family: "Helvetica Neue", Arial, sans-serif;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
  }

  .menu-toggle__lines {
    position: relative;
    display: grid;
    gap: 1vw;
    width: 5.6vw;
    transition: transform 0.35s ease;
  }

  .menu-toggle__lines span {
    display: block;
    width: 100%;
    height: 0.4vw;
    background: #1A1A1A;
    transform-origin: center;
    transition: opacity 0.25s ease, transform 0.35s ease;
  }

  .menu-toggle__text {
    color: #1A1A1A;
    transition: opacity 0.25s ease, transform 0.35s ease;
  }

  .is-menu-open .menu-toggle__lines {
    width: 7.6vw;
    height: 7.6vw;
		padding: 3.6vw 0;
    border: 1px solid #d9d9d9;
    border-radius: 50%;
    place-content: center;
    gap: 0;
  }

  .is-menu-open .menu-toggle__lines span {
    grid-area: 1 / 1;
    width: 4vw;
    height: 1px;
  }

  .is-menu-open .menu-toggle__lines span:nth-child(1) {
    transform: rotate(45deg);
  }

  .is-menu-open .menu-toggle__lines span:nth-child(2) {
    opacity: 0;
    transform: scaleX(0);
  }

  .is-menu-open .menu-toggle__lines span:nth-child(3) {
    transform: rotate(-45deg);
  }

  .is-menu-open .menu-toggle__text {
    opacity: 0;
    transform: translateY(-1.2vw);
  }

  .is-menu-open .menu-toggle {
    position: fixed;
    right: 4vw;
    top: 3vw;
    z-index: 1201;
    width: 8.8vw;
    height: 8.8vw;
    gap: 0;
  }

  .sp-menu {
    position: fixed;
    inset: 0;
    z-index: 1100;
    display: block;
    overflow-y: auto;
    background: #fbfbfb;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(2vw);
    transition: opacity 0.35s ease, visibility 0.35s ease, transform 0.35s ease;
  }

  .is-menu-open .sp-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
  }

  .sp-menu__panel {
    min-height: 100dvh;
    padding: 3.4vw 4vw 9.6vw;
  }

  .sp-menu__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 11.6vw;
    margin: -3.4vw -4vw 9.6vw;
    padding: 0 4vw;
    border-bottom: 1px solid #e0e0e0;
  }

  .sp-menu__head p {
    color: #1A1A1A;
    font-family: "Helvetica Neue", Arial, sans-serif;
    font-size: 3rem;
    font-weight: 700;
    line-height: 1;
  }

  .sp-menu__close {
    display: none;
    place-content: center;
    width: 8.8vw;
    height: 8.8vw;
    border: 1px solid #d9d9d9;
    border-radius: 50%;
    background: #fbfbfb;
    color: #1A1A1A;
    cursor: pointer;
  }

  .sp-menu__close span {
    position: relative;
    display: block;
    width: 4.4vw;
    height: 4.4vw;
  }

  .sp-menu__close span::before,
  .sp-menu__close span::after {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 4.4vw;
    height: 1px;
    background: currentColor;
  }

  .sp-menu__close span::before {
    transform: rotate(45deg);
  }

  .sp-menu__close span::after {
    transform: rotate(-45deg);
  }

  .sp-menu__nav ul {
    list-style: none;
  }

  .sp-menu__nav li {
    border-bottom: 1px solid #e0e0e0;
  }

  .sp-menu__nav li:first-child {
    border-top: 0;
  }

  .sp-menu__nav a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 18vw;
    color: #1A1A1A;
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.4;
    text-decoration: none;
  }

  .arrow-icon {
    position: relative;
		top: 0.2em;
    display: block;
    width: 4vw;
    height: 2.4vw;
    color: currentColor;
    border-top: 1px solid currentColor;
    flex-shrink: 0;
  }

  .arrow-icon::before,
  .arrow-icon::after {
    content: "";
    position: absolute;
    right: 0;
    top: -1px;
    width: 2vw;
    border-top: 1px solid currentColor;
    transform-origin: right center;
  }

  .arrow-icon::before {
    transform: rotate(45deg);
  }

  .arrow-icon::after {
    transform: rotate(-45deg);
  }

  .sp-menu__contact {
    min-height: 16vw !important;
    margin-top: 9.6vw;
    padding: 0 7vw 0 9vw;
    background: #1A1A1A;
    color: #fff !important;
    clip-path: polygon(6% 0, 100% 0, 94% 100%, 0 100%);
  }



/* Hero
-------------------------------------------------------------------*/
.hero {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
  background: #fbfbfb url("../img/bg_hero_sp.jpg") no-repeat center top / contain;
	display: block;
}

.hero.page {
  position: relative;
  min-height: 70vh;
  overflow: hidden;
	display: block;
}

.hero.page.service01 {background: #fbfbfb url("../img/ph_service01_sp.jpg") no-repeat center top / contain;}
.hero.page.service02 {background: #fbfbfb url("../img/ph_service02_sp.jpg") no-repeat center top / contain;}

.hero__content {
	position: relative;
	width: 90vw;
	margin: 0 auto;
  padding: 72vh 0 12vw 0;
	text-align: center;
}

.page .hero__content {
	position: relative;
  padding: 45vh 0 12.8vw 0;
}

.hero h1 {
  font-size: 9vw;
}

.page h1{
  font-size: 7.5vw;
	padding-top: 5vw;
	
}

.hero__lead {
  margin-top: 2vw;
  font-size: 5.5vw;
	display: block;
}

.page .hero__lead {
  margin-top: 6vw;
  font-size: 7.5vw;
}

.page .hero__lead .sp{
	display: inline-block!important;
}

.hero__en {
  margin-top: 3.6vw;
  font-size: 5.5vw;
}

.page .hero__en {
  position: absolute;
  left: 0;
  top: 85vw;
  font-size: 16vw;
}

.hero__text {
  margin-top: 8vw;
  font-size: 4.7vw;
}

.page .hero__text {
	width: 100%;
  margin-top: 8vw;
  font-size: 4.7vw;
	text-align: left;
}

.hero .button,
.page .button {
  margin-top: 8vw;
}

.hero.about {
  min-height: 55vw;
	padding: 0 5vw;
	display: flex;
}

.hero.about::before {
  background: url("../img/bg_hero_about_sp.jpg") no-repeat center / cover;
}

.hero__content__about {
  width: 100%;
	min-height: 100%;
}

.hero__en__about {
  position: absolute;
  left: 0;
  top: -5vw;
  font-size: 11vw;
}

.hero.about h1 {
  margin-top: 0;
  font-size: 8.5vw;
}

.hero.about.contact h1 {
  margin-top: 0;
}

.hero.about.privacy h1{
	margin-top: 6vw;
}

.hero.about.contact .hero__en__about {
  top: -6vw;
}

.hero.about.privacy .hero__en__about {
  top: -10vw;
}


/* Path
-------------------------------------------------------------------*/
.path{
	padding: 2vw 0 3vw 0;
}

.path ul{
	width: 90vw;
	font-size: 3.7vw;
}


/* Clients
-------------------------------------------------------------------*/
.clients {
  padding: 9.2vw 6.8vw 6.4vw;
}

.clients__heading {
  max-width: 100%;
  margin: 0 auto 4.8vw;
}

.clients__heading h2 {
  font-size: 4.5vw;
}

.clients__control {
	position: relative;
	top: auto;
	right: auto;
	width: 100%;
	margin-top: 4vw;
	justify-content: center;
}

.marquee-toggle {
  gap: 1.8vw;
  min-width: 23.6vw;
  min-height: 7.6vw;
  padding: 1.6vw 3.2vw;
  border-radius: 199.8vw;
  font-size: 1.3rem;
}

.marquee-toggle:focus-visible {
  outline: 0.4vw solid var(--color-orange);
  outline-offset: 0.6vw;
}

.marquee-toggle__icon {
  width: 2.8vw;
  height: 2.8vw;
}

.marquee-toggle__icon::before,
.marquee-toggle__icon::after {
  top: 1px;
  width: 0.8vw;
  height: 2.4vw;
}

.marquee-toggle__icon::before {
  left: 0.4vw;
}

.marquee-toggle__icon::after {
  right: 0.4vw;
}

.marquee-toggle[aria-pressed="true"] .marquee-toggle__icon::before {
  left: 0.6vw;
  top: 1px;
  width: 0;
  height: 0;
  border-top: 1.2vw solid transparent;
  border-bottom: 1.2vw solid transparent;
  border-left: 1.8vw solid currentColor;
  background: transparent;
}

.clients__list {
  gap: 2vw;
}

.clients__list li {
  width: 38vw;
}

.clients__list img {
  max-height: 24vw;
}

@keyframes clients-marquee {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(calc(var(--marquee-distance, calc(50% + 4vw)) * -1));
  }
}


/* Vision
-------------------------------------------------------------------*/
.vision {
  padding: 30vw 6vw 24vw;
}

.vision__inner {
  max-width: 100%;
}

.vision__word {
  left: 50%;
  top: -16vw;
  font-size: 22vw;
}

.vision h2 {
	margin-bottom: 4vw;
  font-size: 10vw;
}

.vision p:not(.vision__word) {
  font-size: 4vw;
}

.vision__control {
  max-width: 100%;
  margin: 6vw auto 0;
}

.vision__control + .photo__list {
  margin-top: 4.8vw;
}

.vision__photo {
  width: 100%;
  margin-top: 20vw;
}

.photo__list {
  margin-top: 20vw;
}

.photo__list li {
  width: 85vw;
  height: 88vw;
	margin: 0 -6vw;
}

@keyframes photo-marquee {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(calc(var(--marquee-distance, calc(50% + 9vw)) * -1));
  }
}

.section {
  padding: 20vw 5vw;
}

.section__inner {
  max-width: 100%;
}

.news__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12vw;
}

.section-title p,
.service-card__en {
  margin-bottom: 3vw;
  padding-left: 0;
  font-size: 6.5vw;
	display: flex!important;
	align-items: center;
	justify-content: center;
}

.section-title p::before {
	position: relative;
  left: auto;
  top: 0.5em;
  width: 3.4vw;
  height: 6.4vw;
	margin-right: 0.3em;
}

.section-title h2 {
  font-size: 10vw;
	text-align: center;
}

.section-title .button {
  margin-top: 16.8vw;
}

.section-title--wide {
  margin-bottom: 25.2vw;
}

.section-title--wide h2 {
  margin-bottom: 5.6vw;
}

.section-title__text {
	margin: 0 5vw 18vw 5vw;
  font-size: 4.7vw;
	text-align: center;
}

.news__list {
  display: block;
}

.news__list a {
	padding: 5vw 0;
  display: block;
  min-height: auto;
}

.news__list time {
	margin-right: 0.5em;
  font-size: 4.4vw;
}

.news__list span.cate {
  padding: 1.4vw 2.4vw;
  font-size: 4.4vw;
}

.news__list span {
  font-size: 4.4vw;
	display: block;
}

.service {
  min-height: auto;
  padding: 20vw 0 0;
}

.service__stage {
  position: relative;
  display: block;
  height: auto;
  overflow: visible;
  padding-top: 0;
}

.service__slider {
  position: relative;
  top: 0;
  height: auto;
  margin-top: 0;
  overflow: visible;
}

.service__track {
  position: relative;
  display: grid;
  gap: 12vw;
  height: auto;
  overflow: visible;
}

.service__nav {
	display: none;
}

.service-card {
  position: relative;
  inset: 0;
  display: block;
  align-items: flex-start;
  min-height: auto;
  opacity: 1;
  pointer-events: auto;
  transform: none !important;
  transition: none;
  will-change: auto;
}

.service-card.is-active {
  pointer-events: auto;
}

.service01{background: url("../img/ph_service01_sp.jpg") no-repeat center top / contain;}
.service02{background: url("../img/ph_service02_sp.jpg") no-repeat center top / contain;}
.service03{background: url("../img/ph_service03_sp.jpg") no-repeat center top / contain;}

.service-card + .service-card {
  margin-top: 0;
}

.service-card__body{
	position: relative;
  z-index: 2;
	width: 90%;
	margin: 0 5%;
	padding: 86vw 0 16vw 0;
}

.service-card__en {
  margin-bottom: 1vw;
  font-size: 2rem;
	justify-content: flex-start;
}

.service-card h3 {
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.45;
}

.service-card__lead {
  margin-top: 6.4vw;
  font-size: 6.5vw;
}

.service-card__body > p:not(.service-card__en, .service-card__lead) {
  margin-top: 6.4vw;
  font-size: 4.7vw;
}

.service-card .button {
	width: 100%;
  margin-top: 6vw;
}

.service-card__number {
  position: absolute;
  left: -5vw;
  top: -20vw;
	width: 35vw;
}

.service03 .service-card__number {
  top: -20vw;
}

.message {
  padding-top: 20vw;
  padding-bottom: 20vw;
}

.section-title--compact {
  margin-bottom: 12vw;
}

.message__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12vw;
}

.message__photo img {
  width: 80vw;
}

.message__body h3 {
  margin-bottom: 6vw;
  font-size: 7vw;
}

.message__body p {
  margin-top: 4.4vw;
  font-size: 4.7vw;
}

.message__name {
  text-align: right;
}


/* Service
-------------------------------------------------------------------*/
.service-content {
  background: #fff;
}

.service-section {
  padding: 20vw 5vw;
}

.service-section__inner {
  max-width: 100%;
}

.service-heading {
  margin-bottom: 10vw;
	text-align: center;
}

.service-heading p {
  margin-bottom: 3vw;
	padding-left: 0;
	font-size: 6.5vw;
	display: flex !important;
	align-items: center;
	justify-content: center;
}

.service-heading p::before {
  position: relative;
	left: auto;
	top: 0.5em;
	width: 3.4vw;
	height: 6.4vw;
	margin-right: 0.3em;
}

.service-heading h2 {
  color: var(--color-text);
  font-size: 4.8rem;
  font-weight: 700;
  line-height: 1.4;
}

.service-heading--dark p {
  color: #737373;
}

.service-heading--dark h2 {
  color: #fff;
}

.service-features {
  padding-top: 24vw;
  padding-bottom: 25.6vw;
  background: var(--color-black);
  color: #fff;
}

.feature-list {
	margin-top: 20vw;
  display: grid;
  grid-template-columns: 1fr;
  gap: 12vw;
}

.feature-list li {
  position: relative;
  min-height: 52vw;
	margin: 0;
}

.feature-card__number {
	position: relative;
  margin-bottom: 6vw;
	margin-left: 6vw;
  font-size: 20vw;
}

.feature-card__number::after{
	position: absolute;
	top: 0.1em;
	left: 0.05em;
  font-size: 20vw;
}

.feature-card__number.number01::after{content: "01";}
.feature-card__number.number02::after{content: "02";}
.feature-card__number.number03::after{content: "03";}

.feature-card__number::before {
  content: "";
  position: absolute;
  width: 0.8vw;
  background: var(--color-orange);
  transform: skewX(-12deg);
  transform-origin: top center;
}

.feature-card__number::before {
  left: -2vw;
  top: 0;
  height: 22vw;
}

.feature-list h3 {
  margin-bottom: 4vw;
  font-size: 7vw;
}

.feature-list p:not(.feature-card__number) {
  font-size: 4.7vw;
}


/* Service01 Content
-------------------------------------------------------------------*/
.flow-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10.4vw;
}

.flow-list li {
  padding: 5vw 4vw;
}

.flow-list li:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: auto;
	bottom: -6.5vw;
  width: 3.6vw;
  height: 3.6vw;
	margin: 0 auto;
  border-top: 1px solid var(--color-orange);
  border-right: 1px solid var(--color-orange);
  transform: rotate(135deg);
	display: block;
}

.flow-list li:not(:last-child)::before {
  content: "";
  position: absolute;
  left: -0.5%;
  right: 0;
  top: auto;
	bottom: -4.5vw;
  width: 4.8vw;
	margin: 0 auto;
  border-top: 1px solid var(--color-orange);
  transform: rotate(90deg);
	display: block;
}

.flow-card__icon {
  position: relative;
  width: 20vw;
  height: 20vw;
  margin-bottom: 3.6vw;
}

.flow-card__number {
  right: 3vw;
  top: 0;
  font-size: 18vw;
}

.flow-list h3 {
  font-size: 5.5vw;
}


/* Service02 Content
-------------------------------------------------------------------*/
.service02-section__inner--split {
  display: grid;
  grid-template-columns: 1fr;
  gap: 6vw;
}

.curriculum-list {
  display: block;
}

.curriculum-list li {
  position: relative;
  min-height: auto;
	margin: 0 0 6vw 0;
  padding: 4vw;
}

.curriculum-list li:nth-child(n + 7):nth-child(-n + 9) {
  min-height: auto;
}

.curriculum-card__head {
  margin-bottom: 6.4vw;
}

.curriculum-card__head span {
  font-size: 4.4vw;
}

.curriculum-card__head strong {
  margin-left: 1.6vw;
  font-size: 14vw;
}

.curriculum-card__label {
  min-width: 28.6vw;
  min-height: 6.6vw;
  margin-bottom: 4vw;
  padding: 1vw 3.6vw 1.2vw;
  font-size: 4.7vw;
}

.curriculum-card__text {
  font-size: 5.2vw;
}

.case-list a {
  padding: 5vw 0;
	display: block;
}

.case-list time {
  margin-right: 0.5em;
  font-size: 4.4vw;
}

.case-list span.cate {
  display: inline-flex;
  padding: 1.4vw 2.4vw;
  font-size: 4.4vw;
}

.case-list span {
  font-size: 4.4vw;
	font-weight: 600;
  display: block;
}

.price-panel {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10vw;
  align-items: start;
}

.price-panel__amount {
	width: 44vw;
	margin: 0 auto;
  padding-top: 11vw;
}

.price-panel__amount strong {
  font-size: 20vw;
}

.price-panel__amount span {
  font-size: 4.7vw;
}

.price-panel__include h3 {
  margin-bottom: 3.6vw;
  font-size: 6.5vw;
}

.price-panel__include li {
  padding: 4.2vw 0 4.2vw 9.6vw;
  font-size: 4.7vw;
}

.price-panel__include li::before {
  top: 4.4vw;
  width: 6.4vw;
  height: 6.4vw;
}

.price-panel__include li::after {
  left: 1.8vw;
  top: 6vw;
  width: 2.8vw;
  height: 1.6vw;
}


/* About
-------------------------------------------------------------------*/
  .about-vision,
  .about-service-section,
  .about-company-section {
    padding: 20vw 5vw;
  }

  .about-vision__inner {
    width: 100%;
		padding-bottom: 100vw;
		background: #fbfbfb url("../img/ph_about_vision_sp.png") no-repeat bottom right / contain;
    gap: 8vw;
  }
	
	.about-vision__body{
		width: 100%;
		padding: 0;
	}

  .about-vision__word {
    top: -8vw;
		left: 0;
		right: 0;
		width: 100%;
		margin: 0 auto;
    font-size: 16vw;
		text-align: center;
  }

  .about-vision h2 {
    margin-bottom: 5.6vw;
    font-size: 11vw;
  }

  .about-vision__body p:not(.about-vision__word) {
    font-size: 4.7vw;
  }
	

  .about-service-section .section-title--wide,
  .about-company-section .section-title--wide {
    margin-bottom: 8.8vw;
  }

  .about-service-list {
    grid-template-columns: 1fr;
  }

  .about-service-list a {
    min-height: auto;
    padding: 4.8vw 4vw 5.6vw;
  }

  .about-service-list h3 {
    font-size: 7vw;
  }

  .about-service-card__number {
    font-size: 16vw;
  }
	
	.about-service-card__lead {
		margin-bottom: 4vw;
		font-size: 5.2vw;
	}
	
	.about-service-card__text {
		font-size: 4.7vw;
	}

  .about-company-list div {
    grid-template-columns: 5.5em 1fr;
    gap: 1.6vw;
    min-height: auto;
    padding: 3.6vw 0;
  }

  .about-company-list dt,
  .about-company-list dd,
  .about-map a {
    font-size: 4.7vw;
  }
	
	.about-map iframe {
		height: 60vw;
		margin-bottom: 2vw;
	}

  .about-map {
    margin-top: 9.6vw;
  }
	

/* Contact Form
-------------------------------------------------------------------*/
  .contact-page {
    padding: 11.2vw 0 14.4vw;
  }

  .contact-page__intro {
    width: calc(100% - 8vw);
    margin-bottom: 9.6vw;
  }

  .contact-page__intro h2 {
    font-size: 9vw;
  }

  .contact-page__intro p {
    font-size: 4.7vw;
		text-align: left;
  }

  .contact-form {
    width: 90%;
    padding: 7.6vw 4vw 8.4vw;
  }

  .contact-form__field {
    margin-bottom: 6.8vw;
  }

  .contact-form__field label,
  .contact-form__field legend {
    flex-wrap: wrap;
  }

  .contact-form input[type="text"],
  .contact-form input[type="tel"],
  .contact-form input[type="email"],
  .contact-form textarea {
    font-size: 4.7vw;
  }

  .contact-form__check-list label,
  .contact-form__agree {
    font-size: 4.7vw;
  }

  .contact-form__privacy {
    margin-top: 0;
  }

  .contact-form__privacy p {
    font-size: 4.7vw;
  }

  .contact-form__submit {
    width: 100%;
  }


/* Thanks Contact Form
-------------------------------------------------------------------*/
  .contact-form .contact-form__thanks-icon {
    width: 10.4vw;
    height: 10.4vw;
    margin-bottom: 5.2vw;
  }

  .contact-form .contact-form__thanks-icon::before {
    top: 3vw;
    left: 2.8vw;
    width: 4.4vw;
    height: 2.4vw;
  }

  .contact-form .contact-form__thanks h3 {
    margin-bottom: 4vw;
    font-size: 2.2rem;
  }

  .contact-form .contact-form__thanks p {
    font-size: 1.5rem;
    line-height: 1.9;
  }

  .contact-form .contact-form__back {
    width: 100%;
    margin-top: 6.8vw;
    font-size: 1.6rem;
  }


/* Privacy
-------------------------------------------------------------------*/
	.contact-page__privacy {
		width: 90%;
		margin: 0 auto 14vw;
	}

	.contact-page__privacy h2{
		margin: 3.5rem 0 1.2rem 0;
		font-size: 5.2vw;
	}

	.contact-page__privacy h2 span{
		font-size: 6vw;
	}

	.contact-page__privacy p {
		margin-bottom: 4.7vw;
		font-size: 4.7vw;
	}

	.contact-page__privacy ul{
		margin-bottom: 4.7vw;
	}

	.contact-page__privacy ul li{
		padding: 3.2vw 0 3.2vw 1.5em;
		flex-wrap: wrap;
	}

	.contact-page__privacy ul li ol{
		display: block;
		width: 100%;
		margin-top: 0.8em;
		margin-left: 1.5em;
		list-style: decimal!important;
	}
	.contact-page__privacy ul li ol li{
		margin: 0;
		padding: 0;
		border-bottom: none;
		list-style: decimal!important;
		display: list-item;

	}
	.contact-page__privacy ul li ol li:before{
		display: none;
	}
	
	.contact-page__privacy div {
		padding: 4vw 0;
		display: grid;
		grid-template-columns: 1fr;
		align-items: center;
		min-height: auto;
	}

	.contact-page__privacy dt,
	.contact-page__privacy dd {
		font-size: 4.7vw;
	}


/* News Archive
-------------------------------------------------------------------*/
  .contact-page--news {
    padding: 20vw 0;
  }

  .contact-page__news {
    width: 90%;
  }

  .news-archive__categories {
    margin-bottom: 8vw;
  }

	.news-archive__categories h2 {
		margin-bottom: 4vw;
		font-size: 4.7vw;
	}

  .news-archive__categories ul {
		display: grid;
		grid-template-columns: 1fr 1fr;
    grid-gap: 4vw;
  }

  .news-archive__categories a {
    min-height: 7.2vw;
    padding: 1.5vw 3vw;
    font-size: 4.7vw;
		text-align: center;
		display: block;
  }

  .news-archive__list li a {
    padding: 5vw 0;
    display: block;
    min-height: auto;
  }

  .news-archive__list li time,
  .news-archive__category,
  .news-archive__list li p {
    grid-column: 1;
  }

  .news-archive__list li time {
    margin-right: 0.5em;
    font-size: 4.4vw;
		display: inline;
  }

  .news-archive__category {
		min-width: auto;
  	min-height: auto;
    padding: 1.4vw 2.4vw;
    font-size: 4.4vw;
		line-height: 1;
  }

  .news-archive__list li p {
    font-size: 4.7vw;
		font-weight: 500;
  }

  .news-archive__arrow {
    grid-column: 2;
    grid-row: 1 / 4;
    align-self: center;
		display: none;
  }

  .news-archive__pagination {
    margin-top: 8vw;
  }

	.news-archive__pagination a,
	.news-archive__pagination span {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 10vw;
		height: 10vw;
		font-size: 4.7vw;
	}


/* News Detail
-------------------------------------------------------------------*/
  .news-detail {
    width: 90%;
    padding: 8vw 0 20vw;
  }

  .news-detail__header h1 {
    font-size: 9vw;
  }
	
	.news-detail__meta time {
		font-size: 4.7vw;
	}

	.news-detail__meta span {
		min-height: auto;
		padding: 1vw 2vw;
		font-size: 4.7vw;
	}

  .news-detail__main-image {
    margin-bottom: 8.8vw;
  }

  .news-detail__body h2 {
    margin-top: 8.8vw;
    font-size: 6.5vw;
  }

  .news-detail__body p,
  .news-detail__body li {
    font-size: 4.7vw;
  }

	.news-detail__body figcaption {
		margin-top: 2vw;
    font-size: 4.7vw;
	}

	.news-detail__body ul {
		display: grid;
		gap: 2vw;
		margin: 2vw 0 6vw;
	}

	.news-detail__body li {
    font-size: 4.7vw;
	}

	.news-detail__note {
		margin: 7vw 0 !important;
		padding: 4vw 5vw;
	}

	.news-detail__footer {
		margin-top: 12vw;
	}

	.news-detail__contact {
		margin-bottom: 12vw;
    font-size: 4.7vw;
	}

  .news-detail__nav {
    display: grid;
		grid-template-columns: 1fr 1fr;
    gap: 4vw;
  }

  .news-detail__nav a {
		min-width: auto;
		min-height: auto;
		padding: 3vw 3vw;
		font-size: 3.7vw;
	}
	
	
/* Recruit(TOP)
-------------------------------------------------------------------*/
	.recruit {
		min-height: auto;
		background:#1A1A1A url("../img/bg_recruit_sp.jpg") no-repeat center top / cover;
		display: block;
	}

	.recruit__content {
		position: relative;
		left: 0;
		right: 0;
		width: 90%;
		margin: 0 auto;
		padding-top: 34vw;
		display: grid;
		align-items: center;
		z-index: 3;
	}

	.recruit__bg__top{
		position: relative;
		width: 100%;
		height: 110vw;
		margin: 12vw 0 20vw 0;
		background: url("../img/ph_recruit_top_sp.png") no-repeat center / cover;
	}

	.recruit__en {
		position: absolute;
		left: 0;
		top: 20vw;
		width: 100%;
		text-align: center;
		font-size: 22vw;
	}

	.recruit h2 {
		margin-bottom: 6.4vw;
		font-size: 11vw;
		text-align: center;
	}

	.recruit p:not(.recruit__en) {
		margin-top: 4.4vw;
		font-size: 4.7vw;
	}

	.recruit .button {
		width: 100%;
		margin-top: 9.6vw;
	}


/* Contact
-------------------------------------------------------------------*/
	.contact {
		min-height: auto;
		background:#1A1A1A url("../img/bg_recruit_sp.jpg") no-repeat center top / cover;
		display: block;
	}

	.contact__content {
		position: relative;
		left: 0;
		right: 0;
		width: 90%;
		margin: 0 auto;
		padding-top: 34vw;
		display: grid;
		align-items: center;
		z-index: 3;
	}

	.contact__bg__service01{
		position: relative;
		width: 100%;
		height: 114vw;
		margin: 16vw 0 20vw 0;
		background: url("../img/ph_recruit_service01_sp.png") no-repeat center right / contain;
	}

	.contact__bg__service02{
		position: relative;
		width: 100%;
		height: 114vw;
		margin: 16vw 0 20vw 0;
		background: url("../img/ph_recruit_service02_sp.png") no-repeat center right / contain;
	}

	.contact__bg__about{
		position: relative;
		width: 100%;
		height: 114vw;
		margin: 16vw 0 20vw 0;
		background: url("../img/ph_recruit_top_sp.png") no-repeat center right / contain;
	}


	.contact__en {
		position: absolute;
		left: 0;
		top: 20vw;
		width: 100%;
		text-align: center;
		font-size: 18vw;
	}

	.contact h2 {
		width: 100%;
		margin-bottom: 6.4vw;
		font-size: 9vw;
		text-align: center;
	}

	.contact .button {
		width: 100%;
		margin-top: 3vw;
	}


/* Footer
-------------------------------------------------------------------*/
	.site-footer {
		padding: 20vw 5vw 20vw;
	}

	.site-footer__inner {
		display: grid;
		grid-template-columns:1fr;
		gap: 12vw;
		max-width: 100%;
		margin: 0 auto;
	}

	.site-footer__brand{
		text-align: center;
	}
	
	.site-footer__brand img {
		width: 40vw;
		margin-bottom: 8vw;
	}

	.site-footer__brand p {
		font-size: 5.5vw;
	}

	.site-footer__en {
		margin-top: 2vw;
		font-size: 5.5vw;
	}

	.site-footer small {
		margin-top: 0;
		font-size: 4.7vw;
	}

	.footer-nav h2,
	.company h2 {
		margin-bottom: 3.6vw;
		padding-bottom: 3.6vw;
		font-size: 4.7vw;
	}

	.footer-nav li + li {
		margin-top: 3.6vw;
	}

	.footer-nav a {
		font-size: 4.4vw;
	}

	.company {
		font-size: 4.4vw;
	}

}
