@charset "UTF-8";

/* ========================================================
基本設定
=========================================================*/
@font-face {
  font-family: "NotoSansJP";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/NotoSansJP-Regular.woff2") format("woff2");
  font-display: swap;
}

@font-face {
  font-family: "NotoSansJP";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/NotoSansJP-Medium.woff2") format("woff2");
  font-display: swap;
}

@font-face {
  font-family: "NotoSansJP";
  font-style: normal;
  font-weight: 600;
  src: url("../fonts/NotoSansJP-SemiBold.woff2") format("woff2");
  font-display: swap;
}

@font-face {
  font-family: "NotoSansJP";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/NotoSansJP-Bold.woff2") format("woff2");
  font-display: swap;
}

@font-face {
  font-family: "NotoSansJP";
  font-style: normal;
  font-weight: 800;
  src: url("../fonts/NotoSansJP-ExtraBold.woff2") format("woff2");
  font-display: swap;
}

@font-face {
  font-family: "NotoSansJP_vert";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/NotoSansJP-Bold_vert.woff2") format("woff2");
  font-display: swap;
}

@font-face {
  font-family: "Anton";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/Anton-Regular.woff2") format("woff2");
  font-display: swap;
}


:root {
  /* カラー */
  --black: #3D414C;
  --blue_01: #279FEE;
  --blue_02: #3FC8F4;
  --grey: #B7B2B2;
  --back: #EEF1F4;
  
  /* フォント */
  --font_en: "poppins", sans-serif;
  --font_en_Anton: "Anton", sans-serif;
  --font_ja: "NotoSansJP", sans-serif;
  --font_ja_vert: "NotoSansJP_vert", sans-serif;
}

.html {
  font-size: min(calc(100vw / 1440 * 16), 16px);
  scrollbar-gutter: stable;
  overflow-x: hidden;
}

.html:has(.hamburgerContent.is-active) {
  overflow: hidden;
}

.body {
  font-family: var(--font_ja);
  font-size: 1rem;
  font-weight: 400;
  color: var(--black);
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  font-optical-sizing: auto;
  font-feature-settings: "palt";
  line-break: strict;
  overflow-wrap: break-word;
  word-wrap: break-word;
  width: 100%;
  counter-reset: number 0;
  position: relative;
  overflow-x: hidden;
}


/* ========================================================
共通パーツ
=========================================================*/
.forSP {
  display: none;
}

.forSP-inline {
  display: none;
}

.body a {
  color: var(--black);
  transition: all 0.3s;
}

.body a:hover {
  text-decoration: none;
  opacity: 0.6;
}

.inner {
  width: 90rem;
  margin: 0 auto;
}

a.btn {
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-radius: 3.75rem;
  width: 18.4375rem;
  height: 5rem;
  padding: 0 1.875rem;
}

a.btn::after {
  content: "";
  display: inline-block;
  background-repeat: no-repeat;
  background-position: 56% 50%;
  background-size: 0.5rem auto;
  border-radius: 50%;
  width: 2.1875rem;
  aspect-ratio: 1;
}

a.btn--blue {
  color: #fff;
  background: var(--blue_01);
}

a.btn--blue::after {
  background-image: url(../img/arrow_right_blue.svg);
  background-color: #fff;
}

a.btn--blue:hover {
  color: #fff;
}

a.btn--white {
  color: #333;
  background: #fff;
}

a.btn--white::after {
  background-image: url(../img/arrow_right_white.svg);
  background-color: var(--blue_01);
}

section:has(.home__side) {
  position: relative;
}

.home__side {
  padding-top: 5rem;
  padding-bottom: 10rem;
  position: absolute;
  top: 0;
  left: calc((100% - 90rem) / 2 + 9rem);
  z-index: 1;
}

.home__side-ttl {
  font-family: var(--font_ja_vert);
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.625rem;
  writing-mode: vertical-lr;
}

.home__balloon {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.12em;
  color: var(--blue_01);
  background: #F0EEDE;
  border-radius: 0.875rem;
  padding: 1.5625rem 1.5rem;
  margin-left: 0.875rem;
  position: absolute;
  top: 5rem;
  left: calc((100% - 90rem) / 2 + 13.875rem);
  z-index: 1;
}

.home__balloon::before {
  content: "";
  display: inline-block;
  border-right: 1.25rem solid #F0EEDE;
  border-top: 0.6875rem solid transparent;
  border-bottom: 0.6875rem solid transparent;
  position: absolute;
  left: -0.875rem;
  top: 50%;
  transform: translateY(-50%);
}


/* ========================================================
ヘッダー
=========================================================*/
.header {
  display: flex;
  justify-content: space-between;
  width: 100%;
  padding: 1.25rem 3rem 0 2.5rem;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
}

.header__logo {
  width: 12.625rem;
  margin-top: 0.625rem;
}

.hamburgerBtn {
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--blue_02);
  border-radius: 50%;
  width: 4.25rem;
  aspect-ratio: 1;
  position: relative;
  cursor: pointer;
  z-index: 101;
}

.hamburgerBtn__wrap {
  width: 1.375rem;
  height: 1rem;
  position: relative;
}

.hamburgerBtn span {
  width: 100%;
  height: 3px;
  background-color: #fff;
  border-radius: 0.3125rem;
  position: absolute;
  transition: .5s;
}

.hamburgerBtn span:first-of-type {
  top: 0;
}

.hamburgerBtn span:nth-of-type(2) {
  top: 50%;
}

.hamburgerBtn span:last-of-type {
  top: 100%;
}

.hamburgerBtn.is-active .hamburgerBtn__wrap {
  width: 2.125rem;
}

.hamburgerBtn.is-active span:nth-of-type(1) {
  -webkit-transform: translateY(0.5rem) rotate(-30deg);
  transform: translateY(0.5rem) rotate(-30deg);
}

.hamburgerBtn.is-active span:nth-of-type(2) {
  opacity: 0;
}

.hamburgerBtn.is-active span:nth-of-type(3) {
  -webkit-transform: translateY(-0.5rem) rotate(30deg);
  transform: translateY(-0.5rem) rotate(30deg);
}

.hamburgerContent {
  display: flex;
  justify-content: center;
  align-items: center;
  background: url(../img/hamburger_bg_pc.webp) no-repeat center / cover,
              #fff;
  width: 100%;
  height: 100svh;
  /* padding-top: 7.5rem; */
  position: fixed;
  top: 0;
  left: 0;
  transform: translateY(-100%);
  transition: .5s;
  z-index: 100;
  overflow: hidden;
}

.hamburgerContent.is-active {
  overflow-y: auto;
  transform: translateY(0);
}

.hamburgerContent__flex {
  display: flex;
  gap: 5.375rem;
  padding: 0 8rem 0 5.3125rem;
}

.header__nav-list {
  flex-direction: column;
  align-items: flex-start;
}

.hamburgerContent__flex > img {
  display: block;
  width: 24.5625rem;
  flex-shrink: 0;
}

.hamburgerOverlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  visibility: hidden;
  transition: opacity 0.3s ease;
  z-index: 99;
}

.hamburgerOverlay.is-active {
  opacity: 1;
  visibility: visible;
}

.hamburgerContent__wrap {
  flex-grow: 1;
  position: relative;
}

.nav {
  display: flex;
  justify-content: flex-start;
  flex-wrap: nowrap;
  gap: 5rem;
  width: 100%;
}

.nav__wrap {
  flex-shrink: 0;
}

.nav__flex {
  display: flex;
  flex-direction: row;
  gap: 2.8125rem;
}

.nav__parent {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.12em;
  display: block;
}

.nav__parent + .nav__parent {
  margin-top: 4.6875rem;
}

.nav__children {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-top: 1rem;
}

.nav__children-ttl,
a.nav__children-ttl {
  font-size: 1rem;
  font-weight: 500;
  line-height: 2.3;
  letter-spacing: 0.12em;
  color: #848484;
}

.nav__flex .nav__children > a::after {
  content: "";
  display: inline-block;
  background-image: url(../img/jump_icon_grey.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 0.625rem;
  aspect-ratio: 1;
  margin-left: 0.25rem;
}

.nav__children2 {
  display: flex;
  flex-direction: column;
  margin-top: 0.375rem;
}

.nav__children2 > a {
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 2;
  color: #848484;
  padding-left: 1.4em;
  position: relative;
}

.nav__children2 > a::before {
  content: "";
  display: inline-block;
  background: #848484;
  border-radius: 50%;
  width: 0.25rem;
  aspect-ratio: 1;
  position: absolute;
  top: 1em;
  left: 0.5em;
}

.nav__children2 > a::after {
  content: "";
  display: inline-block;
  background-image: url(../img/jump_icon_grey.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 0.625rem;
  aspect-ratio: 1;
  margin-left: 0.25rem;
}

.nav__children2 > a:has(br) {
  line-height: 1.5;
  margin: 0.375rem 0;
}

.hamburgerContent__under {
  display: flex;
  align-items: flex-end;
  gap: 5.5rem;
  position: absolute;
  bottom: -2.1875rem;
  right: 0;
}

.hamburgerContent__under img {
  width: auto;
  height: 3.75rem;
}

.hamburgerContent__under a.btn {
  font-size: 1rem;
  height: 4.375rem;
}

.hamburgerContent__under a.btn::after {
  background-size: 0.375rem;
  background-position: 56% 50%;
  width: 1.625rem;
}

.nav__item {
  display: flex;
  flex-direction: column;
}


/* ========================================================
HOME
=========================================================*/
.main {
  position: relative;
}

.home__content {
  position: relative;
}

.home__content::after {
  content: "";
  display: block;
  background-image: url(../img/bg_pc.webp);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  mix-blend-mode: multiply;
  border-radius: 0 0 3.125rem 3.125rem;
  width: 100%;
  height: calc(100% - 87.5rem);
  position: absolute;
  bottom: 0;
  left: 0;
  pointer-events: none;
  user-select: none;
  z-index: 0;
}

/* FV */
.home__topBg {
  width: 100%;
  height: 100vh;
  /* background-image: url(../img/home_fv_img_pc.jpg); */
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-color: rgba(101, 119, 166, 0.2);
  background-blend-mode: multiply;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
}

.home__topBg-video {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
}

.home__topBg-video video,
.home__topBg-video iframe {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.1) translateY(-1.875rem);
  pointer-events: none;
  user-select: none;
}

.home__topBg.is-invisible {
  opacity: 0;
}

.fv__img img {
  opacity: 0;
  transition: opacity 2s;
  position: absolute;
  inset: 0;
}

.fv__img img.is-active {
  opacity: 1;
}

.fv__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 35%;
}

.home__fv-top {
  height: 100svh;
  position: relative;
}

.home__fv-top-catch {
  position: absolute;
  bottom: 5.375rem;
  left: 5.56vw;
}

.home__fv-top-catch-ja {
  font-size: 3.75rem;
  font-weight: 600;
  line-height: 1.2;
  color: #fff;
}

.home__fv-top-catch-en {
  font-family: var(--font_en);
  font-size: 1.875rem;
  font-weight: 600;
  line-height: 1;
  text-align: right;
  color: #fff;
  margin-top: 1rem;
  margin-right: 3.125rem;
}

.home__fv-content {
  padding-top: 5.375rem;
  padding-bottom: 0.75rem;
  padding-left: 5.56vw;
  /* margin-top: 10.75rem; */
  position: relative;

  background-image: url(../img/home_fv_intro_bg.webp);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  background-blend-mode: multiply;
  -webkit-mask-image: url(../img/intro_bg_mask_pc.svg);
  mask-image: url(../img/intro_bg_mask_pc.svg);
  -webkit-mask-size: 100% auto;
  mask-size: 100% auto;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center top 3.125rem;
  mask-position: center top 3.125rem;
  padding: 15.75rem 0 8.875rem;
  position: relative;
  /* z-index: 0; */
}

.home__fv-content::before {
  content: "";
  display: block;
  background: rgba(39, 159, 238, 0.9);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.home__fv-content::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  mix-blend-mode: multiply;
  background-image: url(../img/bg_pc.webp);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  user-select: none;
  z-index: 0;
}

/* .home__fv-content::before {
  content: "";
  display: block;
  background: linear-gradient(to bottom, rgba(118, 124, 139, 0) 0%, var(--blue_01) 100%);
  width: 100%;
  height: 61rem;
  mix-blend-mode: multiply;
  position: absolute;
  bottom: -13.125rem;
  left: 0;
} */

.home__fv-content .inner {
  position: relative;
}

.home__fv-txt {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.2496px;
  color: #fff;
  width: 27.375rem;
  margin: 0 auto;
  position: relative;
}

.home__fv-txt p + p {
  margin-top: calc(1em * 1.8);
}

.home__fv-imgs {
  /* position: absolute;
  width: 100%;
  height: 18.5rem;
  z-index: 1; */
}

.home__fv-imgs > img {
  display: block;
  border-radius: 1.25rem;
  position: absolute;
  overflow: hidden;
  z-index: 10;
  opacity: 0;
  transform: translateY(60px);
  z-index: 1;
}

.home__fv-imgs > img:nth-of-type(1) {
  width: 13rem;
  top: calc(100svh + 16.125rem);
  left: calc((100% - 90rem) / 2 + 5rem);
}

.home__fv-imgs > img:nth-of-type(2) {
  width: 10.3125rem;
  top: calc(100svh + 24.0625rem);
  left: calc((100% - 90rem) / 2 + 12.875rem);
}

.home__fv-imgs > img:nth-of-type(3) {
  width: 13.375rem;
  top: calc(100svh + 39.1875rem);
  left: calc((100% - 90rem) / 2 + 6.25rem);
}

.home__fv-imgs > img:nth-of-type(4) {
  width: 18.75rem;
  top: calc(100svh + 25.125rem);
  right: calc((100% - 90rem) / 2 + 5.125rem);
}

.home__fv-intro {
  /* background-image: url(../img/home_fv_intro_bg.webp);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  background-blend-mode: multiply;
  -webkit-mask-image: url(../img/intro_bg_mask_pc.svg);
  mask-image: url(../img/intro_bg_mask_pc.svg);
  -webkit-mask-size: 100% auto;
  mask-size: 100% auto;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center top 3.125rem;
  mask-position: center top 3.125rem; */
  background: #fff;
  padding-bottom: 10.5rem;
  position: relative;
  /* z-index: 0; */
}

/* .home__fv-intro::before {
  content: "";
  display: block;
  background: rgba(39, 159, 238, 0.9);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.home__fv-intro::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  mix-blend-mode: multiply;
  background-image: url(../img/bg_pc.webp);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  user-select: none;
  z-index: 0;
} */

.home__fv-intro > img {
  display: block;
  width: 100%;
  height: 17.5rem;
  object-fit: cover;
}

.home__fv-intro .inner {
  padding-top: 6.25rem;
  padding-left: 11.625rem;
  padding-right: 11.875rem;
  position: relative;
}

.home__fv-intro-wrap {
  padding-left: 38.4375rem;
  position: relative;
  z-index: 1;
}

.home__fv-intro-wrap > img {
  display: block;
  border-radius: 1.25rem;
  position: absolute;
  overflow: hidden;
  z-index: 1;
}

/* .home__fv-intro-wrap > img:nth-of-type(1) {
  width: 33.625rem;
  top: 0;
  left: 1.875rem;
} */

.home__fv-intro-wrap > img:nth-of-type(1) {
  width: 18.3125rem;
  top: 20.25rem;
  left: -0.375rem;
}

.home__fv-intro-wrap > img:nth-of-type(2) {
  width: 9.375rem;
  top: -1.875rem;
  right: -12.875rem;
}

.home__fv-intro-wrap > img:nth-of-type(3) {
  width: 10rem;
  top: 27.25rem;
  left: 16.375rem;
}

.home__fv-intro-catch {
  font-size: 3.5rem;
  font-weight: 700;
  line-height: 1.5;
  /* color: #fff; */
  position: absolute;
}

.home__fv-intro-txt {
  font-size: 1rem;
  font-weight: 700;
  line-height: 2;
  /* color: #fff; */
  padding-top: 0.75rem;
}

.home__fv-intro-txt p + p {
  margin-top: calc(1em * 2);
}

.home__fv-intro .btn {
  margin-top: 3.75rem;
  height: 5rem;
}

.home__fv-intro-slider {
  margin-top: 10.75rem;
  z-index: 1;
}

/* 事業内容 */
.home__business {
  background: #fff;
  border-radius: 5rem 5rem 0 0;
  padding-top: 12.375rem;
  /* padding-left: 16.25rem; */
  margin-top: -5.125rem;
  position: relative;
}

.home__business .home__sticky {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  left: calc((100% - 90rem) / 2 + 3.125rem);
}

.home__business-index {
  text-align: right;
  margin-top: 3rem;
}

.home__business-index-item {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.8;
  color: var(--grey);
  transition: all 0.4s;
}

.home__business-index-item.is-active {
  color: var(--blue_01);
}

.home__business-content {
  width: 73.75rem;
  margin-left: auto;
  position: relative;
}

.home__business-tab-item {
  border-radius: 3.125rem 3.125rem 0 0;
  padding-bottom: 7.5rem;
  transition: all 0.3s ease-out;
  position: relative;
}

.home__business-tab-item:nth-of-type(n+2) {
  margin-top: -7.5rem;
}

.home__business-tab-item:nth-of-type(2n+1) {
  background: var(--back);
}

.home__business-tab-item:nth-of-type(2n) {
  background: #fff;
}

.home__business-tab-item-ttl {
  background-image: url(../img/aco_open_icon.svg);
  background-repeat: no-repeat;
  background-position: right 5rem center;
  background-size: 2.5rem auto;
  padding: 2.5rem 3.75rem 1.875rem;
  cursor: pointer;
  position: relative;
  z-index: 1;
}

.home__business-tab-item-ttl span {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.06em;
  color: var(--blue_01);
  display: inline-block;
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 3.125rem auto;
  padding-top: 0.5625rem;
  padding-left: 4.25rem;
  height: 3.125rem;
  transition: all 0.3s ease-out;
}

.home__business-tab-item:nth-of-type(1) .home__business-tab-item-ttl span {
  background-image: url(../img/home_business_icon_gas.webp);
}

.home__business-tab-item:nth-of-type(2) .home__business-tab-item-ttl span {
  background-image: url(../img/home_business_icon_restaurant.webp);
}

.home__business-tab-item:nth-of-type(3) .home__business-tab-item-ttl span {
  background-image: url(../img/home_business_icon_pet.webp);
}

.home__business-tab-item:nth-of-type(4) .home__business-tab-item-ttl span {
  background-image: url(../img/home_business_icon_hr.webp);
}

.home__business-tab-item:nth-of-type(5) .home__business-tab-item-ttl span {
  background-image: url(../img/home_business_icon_rentacar.webp);
}

.home__business-tab-item-content {
  max-height: 0;
  padding: 0.875rem 5rem 0 3.75rem;
  /* opacity: 0; */
  overflow: hidden;
  transition: max-height 0.4s ease-out,
              opacity 0.4s ease-out;
}

.home__business-tab-item-content-container {
  display: flex;
  gap: 3rem;
  position: relative;
  z-index: 1;
}

.home__business-tab-item-content-container + .home__business-tab-item-content-container {
  margin-top: 3.75rem;
}

.home__business-tab-item-img {
  display: block;
  background: var(--back);
  border-radius: 1.25rem;
  width: 24.875rem;
  aspect-ratio: 398 / 299;
  flex-shrink: 0;
  overflow: hidden;
}

.home__business-tab-item-img iframe {
  width: auto !important;
  height: 18.6875rem !important;
  aspect-ratio: 16 / 9;
  left: 50% !important;
  transform: scale(1.5) translateX(-33.8%) translateY(0);
  pointer-events: none;
  user-select: none;
}

.home__business-tab-item-content-wrap {
  position: relative;
}

.home__business-tab-item-txt {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.25px;
  /* color: #fff; */
}

.home__business-tab-item-content-wrap > a.btn {
  position: absolute;
  bottom: 0;
}

.home__business-tab-item:has(.home__business-tab-item-ttl.is-active) {
  padding-bottom: 11.25rem;
}

.home__business-tab-item-ttl.is-active {
  background-image: url(../img/aco_close_icon.svg);
}


/* 所有物件 */
.home__property {
  background: var(--blue_01);
  border-radius: 3.125rem;
  padding: 15rem 0 7.375rem;
  margin-top: -7.5rem;
  position: relative;
}

.home__property .home__side-ttl {
  color: #fff;
  position: relative;
  z-index: 1;
}

.home__property .btn {
  position: absolute;
  top: 5.1875rem;
  right: calc((100% - 90rem) / 2 + 5rem);
  z-index: 1;
}

.home__property-wrap {
  position: relative;
  z-index: 1;
}

.home__property-slider .splide__slide {
  padding-bottom: 1.875rem;
}

.home__property-slider .splide__slide > img {
  border-radius: 8.5625rem;
}

.home__property-slider-label {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--back);
  border-radius: 1.875rem;
  width: 100%;
  height: 3.75rem;
  position: absolute;
  bottom: 0;
  left: 0;
}

.home__property-slider .splide__arrows {
  /* display: inline-flex; */
  display: none;
  align-items: center;
  gap: 0.75rem;
  width: auto;
  height: auto;
  position: absolute;
  top: 3.75rem;
  left: calc((100% - 90rem) / 2 + 5.375rem);
}

.home__property-slider .splide__arrow {
  width: 4.375rem;
  height: auto;
  aspect-ratio: 1;
  position: static;
  transform: translateY(0);
  opacity: 1;
  transition: all 0.3s;
}

.home__property-slider .splide__arrow:hover {
  opacity: 1;
}

.home__property-slider .splide__arrow:disabled {
  opacity: 0.4;
}

.home__property-slider .splide__arrow svg {
  display: none;
}

.home__property-slider .splide__arrow--prev {
  background: url(../img/prev_icon.webp) no-repeat center / 100% auto;
}

.home__property-slider .splide__arrow--next {
  background: url(../img/next_icon.webp) no-repeat center / 100% auto;
}

/* 会社概要 */
.home__company {
  background: #fff;
  border-radius: 0 0 3.125rem 3.125rem;
  padding-top: 12.375rem;
  padding-bottom: 5.625rem;
}

.home__company-list {
  display: grid;
  grid-template-columns: 8.5rem 1fr;
  row-gap: 1.6875rem;
  width: 28.75rem;
  margin-left: 16.25rem;
  position: relative;
  z-index: 1;
}

.home__company-list dt {
  grid-column: 1;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.06em;
  border-bottom: 0.0625rem solid #E8E8E8;
  padding-bottom: 1.6875rem;
}

.home__company-list dd {
  grid-column: 2;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.06em;
  border-bottom: 0.0625rem solid #E8E8E8;
  padding-bottom: 1.6875rem;
}

.home__company img {
  display: block;
  border-radius: 1.25rem;
  position: absolute;
  z-index: 1;
}

.home__company img:nth-of-type(1) {
  width: 31.25rem;
  top: 5rem;
  right: calc((100% - 90rem) / 2 + 11rem);
}

.home__company img:nth-of-type(2) {
  width: 13.75rem;
  top: 34.5625rem;
  right: calc((100% - 90rem) / 2 + 18.3125rem);
}

.home__company img:nth-of-type(3) {
  width: 16.375rem;
  top: 41.125rem;
  right: calc((100% - 90rem) / 2 - 3.375rem);
}

.home__company img:nth-of-type(4) {
  width: 19.125rem;
  top: 55.375rem;
  right: calc((100% - 90rem) / 2 + 20.125rem );
}

.home__bottomBg {
  width: 100%;
  aspect-ratio: 2880 / 2430;
  background-image: url(../img/footer_bg_pc.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}

.home__bottomBg::after {
  content: "";
  display: block;
  background: rgba(39, 159, 238, 0.9);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

/* お知らせ */
.home__news {
  background: #fff;
  border-radius: 5rem;
  padding-top: 6.25rem;
  padding-bottom: 6.25rem;
  margin-top: -5.125rem;
  position: relative;
}

.home__news .inner {
  position: relative;
}

.home__news-content {
  width: 50rem;
  margin-left: auto;
  margin-right: 11.375rem;
  position: relative;
}

.home__news-list {
  min-height: 18.75rem;
}

.home__news-list-item {
  border-bottom: 0.0625rem solid #E8E8E8;
  padding: 1.25rem 3.5rem 1.75rem 0;
  position: relative;
}

.home__news-list-item:first-of-type {
  border-top: 0.0625rem solid #E8E8E8;
}

.home__news-list-item::after {
  content: "";
  display: inline-block;
  background-image: url(../img/arrow_circle_blue.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 2.1875rem;
  aspect-ratio: 1;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  transition: all 0.3s;
}

.home__news-list-item:hover::after {
  opacity: 0.6;
}

.home__news-list-item-info {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 1.25rem;
}

.home__news-list-item-info-date {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1;
  letter-spacing: 0.06em;
  color: #8E8E8E;
  flex-shrink: 0;
}

.home__news-list-item-info-cat {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1;
  letter-spacing: 0.06em;
  color: var(--blue_01);
  border: 0.0625rem solid var(--blue_01);
  border-radius: 0.8125rem;
  padding: 0.3125rem 0.75rem 0.4375rem 0.75rem;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.home__news-list-item-ttl {
  font-weight: 700;
  font-size: 1rem;
  line-height: 1;
  letter-spacing: 0.06em;
  margin-top: 0.9375rem;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.home__news-btn {
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1;
  letter-spacing: 0.06em;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0.75rem;
  position: absolute;
  bottom: 0;
  left: 6.375rem;
  z-index: 1;
}

.home__news-btn::after {
  content: "";
  display: inline-block;
  background-image: url(../img/arrow_circle_solid.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 2.1875rem;
  aspect-ratio: 1;
}


/* ========================================================
フッター
=========================================================*/
.footer {
  background: #fff;
  border-radius: 3.125rem 3.125rem 0 0;
  padding: 6.25rem 5rem;
  margin-top: 6.25rem;
  position: relative;
  z-index: 1;
}

.page .footer {
  margin-top: 7.5rem;
}

.oneteam .footer {
  margin-top: -2.5rem;
}

.news .footer,
.news-single .footer {
  margin-top: 8.75rem;
}

.footer .inner {
  width: 100%;
}

.footer__wrap {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 9.44vw;
  position: relative;
  z-index: 1;
}

.footer__info-logo {
  display: block;
  width: 17.5rem;
}

.footer__info-address {
  font-size: 1rem;
  line-height: 1.875rem;
  letter-spacing: 0.06em;
  color: #333;
  margin-top: 1.25rem;
}

.footer__info-under {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.6875rem;
  margin-top: 1.375rem;
}

a.footer__info-under-link {
  font-size: 0.75rem;
  color: #333;
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
}

.footer__info-under-copy {
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  line-height: 1;
  color: #333;
  display: inline-block;
}

.footer a.btn {
  width: 17.5rem;
  height: 4.375rem;
  margin-top: 2.5rem;
  margin-left: auto;
}

.footer .nav {
  gap: 8.5rem;
  width: auto;
  margin-top: 1.875rem;
}


/* ========================================================
HISTORY
=========================================================*/
.page {
  position: relative;
}

.page__top {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  height: 26.125rem;
  position: relative;
}

.page__top-ttl {
  font-family: var(--font_en);
  font-size: 12.5rem;
  font-weight: 600;
  line-height: 1;
  color: #fff;
  position: absolute;
  bottom: -3.125rem;
  left: 3.25rem;
  opacity: 0.5;
  z-index: 1;
}

.oneteam .page__top {
  background-image: url(../img/oneteam_page_top_bg_pc.webp);
}

.oneteam__content {
  color: #fff;
  background: url(../img/oneteam_bg.webp) no-repeat center / cover;
  padding: 7.5rem 0 calc(5.5rem + 2.5rem);
  position: relative;
  z-index: 0;
}

.oneteam__content::before {
  content: "";
  display: block;
  background-color: rgba(39, 159, 238, 0.9);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.oneteam__content::after {
  content: "";
  display: inline-block;
  background-image: url(../img/oneteam_bg_pc.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  mix-blend-mode: multiply;
  width: 100%;
  height: calc(100% + 2.5rem);
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  user-select: none;
  z-index: -1;
}

.oneteam__txt {
  font-size: 1rem;
  font-weight: 600;
  line-height: 2;
  letter-spacing: 0.25px;
  padding: 0 24.5625rem 0 10.125rem;
  position: relative;
  z-index: 1;
}

.oneteam__history {
  padding: 0 10.125rem;
  margin-top: 5.125rem;
  position: relative;
  z-index: 1;
}

.oneteam__history-item {
  display: flex;
  align-items: flex-start;
  gap: 5.375rem;
  /* height: 10.125rem; */
  /* padding-bottom: 6.25rem; */
  position: relative;
}

.oneteam__history-item:nth-of-type(n+2) {
  margin-top: 2.3125rem;
}

.oneteam__history-item::before {
  content: "";
  display: inline-block;
  background: #fff;
  width: 0.0625rem;
  height: calc(100% + 5rem);
  position: absolute;
  bottom: 0;
  left: calc(9.875rem + 0.625rem);
}

.oneteam__history-item:first-of-type::before {
  height: calc(100% - 1.25rem);
}

.oneteam__history-item::after {
  content: "";
  display: inline-block;
  background: #eee;
  border-radius: 50%;
  width: 1.25rem;
  aspect-ratio: 1;
  position: absolute;
  top: 1.25rem;
  left: 9.875rem;
  z-index: 1;
}

.oneteam__history-item-time {
  font-size: 3.25rem;
  font-weight: 700;
  line-height: 1.2;
  color: #fff;
  position: relative;
}

.oneteam__history-item-txt {
  font-weight: 600;
  font-size: 1rem;
  line-height: 1.5rem;
  margin-top: 0.75rem;
}

.oneteam__history-item-txt:not(:has(br)) {
  display: flex;
  align-items: center;
  height: calc(2em * 1.8);
  margin-top: 0;
}

.oneteam__history-item-txt:has(.oneteam__history-item-flex) {
  line-height: 1.8;
}

.oneteam__history-item-flex {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.oneteam__history-item-flex-right {
  display: flex;
  align-items: center;
  gap: 0.375rem;
}

.oneteam__history-item-flex-right::before {
  content: "";
  display: inline-block;
  background-image: url(../img/oneteam_history_branch.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 1.25rem;
  aspect-ratio: 20 / 32;
  transform: translateY(0.0625rem);
}

.page .home__company {
  border-radius: 3.125rem;
  margin-top: -3.125rem;
}


/* ========================================================
ABOUT US
=========================================================*/
.about .page__top {
  background-image: url(../img/about_page_top_bg_pc.webp);
}

.about .home__side {
  padding-top: 6.25rem;
}

.about__content {
  position: relative;
}

.about__content::after {
  content: "";
  display: inline-block;
  background-image: url(../img/oneteam_bg_pc.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  mix-blend-mode: multiply;
  width: 100%;
  height: calc(100% + 7.5rem + 2.5rem);
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  user-select: none;
  z-index: -1;
}

.about .home__company {
  background: transparent;
  border-radius: 0;
  padding-top: 8.75rem;
  padding-bottom: 0;
  margin-top: 0;
  position: relative;
}

.about .home__company img:nth-of-type(1) {
  top: 6.25rem;
}

.about .home__company img:nth-of-type(2) {
  top: 36.1875rem;
}

.about .home__company img:nth-of-type(3) {
  top: 42.375rem;
}

.about .home__company img:nth-of-type(4) {
  top: 56.625rem;
}


/* ========================================================
COMPANY
=========================================================*/
.company {
  position: relative;
  overflow: hidden;
}

.company::after {
  background-image: url(../img/oneteam_bg_pc.webp);
  height: 187.5rem;
}

.company .page__top {
  background-image: url(../img/company_page_top_bg_pc.webp);
}

.company__content {
  padding: 6.25rem 0 0;
  position: relative;
}

.company__content::after {
  content: "";
  display: inline-block;
  background-image: url(../img/oneteam_bg_pc.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  mix-blend-mode: multiply;
  width: 100%;
  height: calc(100% + 7.5rem + 2.5rem);
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  user-select: none;
  z-index: -1;
}

.company__ttl {
  font-weight: 700;
  font-size: 2.25rem;
  line-height: 2.875rem;
  letter-spacing: 0.12em;
  text-align: center;
}

.company__imgLinks {
  display: flex;
  justify-content: center;
  gap: 3rem;
  margin-top: 3.75rem;
}

.company__imgLink {
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  border-radius: 1.25rem;
  width: 29.75rem;
  aspect-ratio: 476 / 312;
  position: relative;
  overflow: hidden;
}

.company__imgLink:nth-of-type(1) {
  background-image: url(../img/company_link_img_01.webp);
}

.company__imgLink:nth-of-type(2) {
  background-image: url(../img/company_link_img_02.webp);
}

.company__imgLink::after {
  content: "";
  display: inline-block;
  background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 1));
  width: 100%;
  aspect-ratio: 476 / 163;
  position: absolute;
  left: 0;
  bottom: 0;
}

.company__imgLink-txt {
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 2.875rem;
  letter-spacing: 0.02em;
  color: #fff;
  display: flex;
  align-items: center;
  gap: 1.25rem;
  position: absolute;
  bottom: 1.5rem;
  right: 1.875rem;
  z-index: 1;
}

.company__imgLink-txt::after {
  content: "";
  display: inline-block;
  background-image: url(../img/arrow_circle_white.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 1.625rem;
  aspect-ratio: 1;
}

.company__links {
  display: flex;
  justify-content: center;
  gap: 3rem;
  margin-top: 5.375rem;
}

.company__link {
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 2.875rem;
  letter-spacing: 0.02em;
  display: flex;
  align-items: center;
  gap: 1.25rem;
  border-bottom: 0.0625rem solid #000;
  width: 29.75rem;
  padding-bottom: 1.875rem;
}

.company__link::after {
  content: "";
  display: inline-block;
  background-image: url(../img/arrow_circle_black.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 1.625rem;
  aspect-ratio: 1;
}


/* ========================================================
GROUP
=========================================================*/
.group__content {
  padding: 11.625rem 0 0;
  position: relative;
}

.group__content::after {
  content: "";
  display: inline-block;
  background-image: url(../img/oneteam_bg_pc.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  mix-blend-mode: multiply;
  width: 100%;
  height: calc(100% + 6.25rem + 2.5rem);
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  user-select: none;
  z-index: -1;
}

.group .home__side {
  padding-top: 11.625rem;
}

.group__list {
  display: flex;
  justify-content: space-between;
  margin-left: 16.5rem;
  margin-right: 9rem;
}

.group__list-main {
  background: var(--blue_02);
  border-radius: 1.25rem;
  width: 21.25rem;
  height: 14.0625rem;
  padding-top: 5.625rem;
  padding-left: 2.375rem;
  position: relative;
}

.group__list-main::after {
  content: "";
  display: inline-block;
  background: #279FEE;
  width: 6.25rem;
  height: 0.0625rem;
  position: absolute;
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
}

.group__list-main img {
  display: block;
  width: 15rem;
}

.group__list-item {
  width: 33.5625rem;
  position: relative;
}

.group__list-item::before {
  content: "";
  display: inline-block;
  background: #279FEE;
  width: 0.0625rem;
  height: 100%;
  position: absolute;
  top: 0;
  left: -3.5rem;
}

.group__list-item:first-of-type::before {
  height: calc(100% - 2.25rem);
  top: 2.25rem;
}

.group__list-item:last-of-type::before {
  height: 2.25rem;
}

.group__list-item-top {
  font-weight: 700;
  font-size: 1.25rem;
  letter-spacing: 0.02em;
  display: flex;
  align-items: center;
  gap: 1.25rem;
  background: var(--back);
  border-radius: 0.375rem;
  padding: 1rem 1.625rem;
  position: relative;
}

.group__list-item-top::before {
  content: "";
  display: inline-block;
  background: #279FEE;
  width: 3.5rem;
  height: 0.0625rem;
  position: absolute;
  top: 50%;
  left: -3.5rem;
  transform: translateY(-50%);
}

.group__list-item-top img {
  width: 2.5rem;
  aspect-ratio: 1;
}

.group__list-item-detail {
  font-weight: 700;
  font-size: 1rem;
  line-height: 1;
  letter-spacing: 0.02em;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  padding: 1.25rem 0 1.875rem 5.375rem;
}

.group__list-item-detail a {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.group__list-item-detail a::after {
  content: "";
  display: inline-block;
  background-image: url(../img/jump_icon_grey.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 0.625rem;
  aspect-ratio: 1;
}


/* ========================================================
NEWS アーカイブ
=========================================================*/
.news__content {
  padding: 11.625rem 0 0;
}

.news__content::after {
  content: "";
  display: inline-block;
  background-image: url(../img/oneteam_bg_pc.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  mix-blend-mode: multiply;
  width: 100%;
  height: calc(100% + 6.25rem + 2.5rem);
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  user-select: none;
  z-index: -1;
}

.news .home__side {
  padding-top: 11.625rem;
}


/* ========================================================
NEWS 個別
=========================================================*/
.news-single__content {
  padding: 11.625rem 0 0;
}

.news-single__content::after {
  content: "";
  display: inline-block;
  background-image: url(../img/oneteam_bg_pc.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  mix-blend-mode: multiply;
  width: 100%;
  height: calc(100% + 6.25rem + 2.5rem);
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  user-select: none;
  z-index: -1;
}

.news-single__content .inner {
  width: 50rem;
}

.news-single__ttl {
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.4;
  letter-spacing: 0.06em;
}

.news-single__info {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 1rem;
  margin-top: 1.25rem;
}

.news-single__info-date {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1;
  letter-spacing: 0.06em;
  color: #8E8E8E;
}

.news-single__info-cat {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1;
  color: var(--blue_01);
  border: 0.0625rem solid var(--blue_01);
  border-radius: 0.8125rem;
  padding: 0.3125rem 0.875rem 0.4375rem 0.875rem;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.news-single__txt {
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
  margin-top: 2.5rem;
}

.news-single__txt > *:first-child {
  margin-top: 0;
}

.news-single__txt p {
  margin-top: calc(1em * 1.8);
}

.news-single__txt img + *,
.news-single__txt img + * {
  margin-top: 2.5rem;
}


/* ========================================================
CONTACT
=========================================================*/
.contact .page__top,
.contact-confirm .page__top,
.contact-thanks .page__top {
  background-image: url(../img/contact_page_top_bg_pc.webp);
}

.contact__content {
  padding: 3.75rem 0 0;
  position: relative;
  z-index: 0;
}

.contact__content::after {
  content: "";
  display: inline-block;
  background-image: url(../img/contact_bg_pc.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  mix-blend-mode: multiply;
  width: 100%;
  height: calc(100% + 6.25rem + 2.5rem);
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  user-select: none;
  z-index: -1;
}

.contact__content .inner {
  width: 57.5rem;
}

.white-wrap {
  padding: 0;
}

.container {
  max-width: 57.5rem;
  padding: 0;
}

.contact-txt-box {
  border: none;
  padding: 0;
  position: relative;
  z-index: 1;
}

.contact-thanks .contact-txt-box {
  text-align: center;
}

.contact-txt-box p {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 0.25px;
}

.contact-txt-box a.btn {
  margin: 2rem auto 0;
}

.contact-form-box {
  background: #F2F2F2;
  padding: 5.5rem 8.75rem;
  margin-top: 3.75rem;
}

.contact-table dt {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5rem;
  letter-spacing: 0.04em;
  color: #3D414C;
  margin-top: 2rem;
}

.contact-table dt:first-of-type {
  font-size: 0.875rem;
  margin-top: 0;
}

.contact-table dt p {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}

.required {
  font-size: 0.625rem;
  font-weight: 600;
  line-height: 1;
  color: #fff;
  display: inline-flex;
  align-items: center;
  background: var(--blue_01);
  border-radius: 0;
  height: 1rem;
  padding: 0 0.5rem;
  margin: 0;
}

.contact-table dd {
  margin-top: 0.5rem;
}

form input[type="text"],
form textarea {
  border: none;
  box-shadow: 0 0 0 0.0625rem #ddd;
  width: 100%;
  padding: 0.5rem 0.625rem;
}

form input[type="text"]:focus,
form textarea:focus {
  outline: none;
  box-shadow: 0 0 0 0.125rem var(--blue_01);
}

form textarea {
  height: 12.5rem;
}

.checkbox-box {
  text-align: center;
  margin: 3.125rem 0 0;
}

.checkbox-box label {
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.25rem;
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  gap: 1rem;
  margin-right: 2.5rem;
  position: relative;
}

.checkbox-box label::before {
  content: "";
  display: inline-block;
  width: 0.9375rem;
  aspect-ratio: 1;
  background: #fff;
  border: 0.0625rem solid #ddd;
}

.checkbox-box label:has(input[type="checkbox"]:checked)::before {
  background: var(--blue_01);
}

.checkbox-box label:has(input[type="checkbox"]:checked)::after {
  content: "";
  display: inline-block;
  width: 0.625rem;
  height: 0.3125rem;
  border-left: 0.125rem solid #fff;
  border-bottom: 0.125rem solid #fff;
  position: absolute;
  left: 0.1875rem;
  top: 45%;
  transform: translateY(-50%) rotate(-45deg);
}

.select {
  display: inline-flex;
  align-items: center;
}

.select::after {
  content: "";
  display: inline-block;
  background: url(../img/select_triangle_icon.svg) no-repeat center top 0.9375rem / 0.625rem auto,
              linear-gradient(to bottom, #706F6F, #333);
  border: 0.0625rem solid #ddd;
  border-radius: 0 0.3125rem 0.3125rem 0;
  width: 2.6875rem;
  height: 2.25rem;
}

.select select {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1;
  color: var(--black);
  display: flex;
  align-items: center;
  background: linear-gradient(to bottom, #F9F9F9, #DCDCDC);
  border: 0.0625rem solid #ddd;
  border-radius: 0.3125rem 0 0 0.3125rem;
  width: 24.0625rem;
  height: 2.25rem;
  padding: 0 1rem;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

input[type="checkbox"] {
  display: none;
}

.button-box {
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1rem;
  margin-top: 2.5rem;
}

.button-box input[type="submit"],
.button-box button[type="submit"],
.button-box input[type="button"],
.button-box button[type="button"] {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1;
  color: #fff;
  background: var(--blue_01);
  border: none;
  border-radius: 2.25rem;
  width: 13rem;
  height: 3.4375rem;
  padding: 0;
  cursor: pointer;
}

.button-box input[type="button"] {
  color: var(--blue_01);
  background: #fff;
  outline: 0.0625rem solid var(--blue_01);
  outline-offset: -0.0625rem;
}

.button-box input[type="submit"]:disabled,
.button-box button[type="submit"]:disabled,
.button-box input[type="button"]:disabled,
.button-box button[type="button"]:disabled {
  opacity: 0.4;
}

.contact-confirm dt:nth-of-type(n) {
  font-weight: 700;
  font-size: 1rem;
}

.wpcf7-spinner {
  margin-top: 1rem;
  position: absolute;
}

.table-row {
  border-bottom: none;
}

.privacy-title {
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 1.25rem;
  text-align: center;
  margin-top: 1.625rem;
  margin-bottom: 0;
}

.privacy-box {
  font-size: 0.875rem;
  line-height: 1.8;
  background: #fff;
  border: 0.0625rem solid #ddd;
  height: 12.5rem;
  padding: 1.5625rem 1.25rem;
  margin-top: 1.375rem;
  overflow-y: scroll;
}

.privacy-box .title {
  font-size: 1rem;
  font-weight: 600;
  background: transparent;
  padding: 0;
  margin: calc(1em * 1.8) 0 0;
}

.privacy-box ul li {
  list-style-type: disc;
  margin: 0 0 0 1.5em;
}

.privacy-box ul li:last-child {
  margin: 0 0 0 1.5em;
}

.privacy-box .name {
  font-size: 0.875rem;
  line-height: 1.8;
  text-align: left;
}

.privacy-box .name span {
  font-size: 0.875rem;
  margin-right: 0;
}


/* ========================================================
PROPERTY
=========================================================*/
.property {
  position: relative;
  overflow: hidden;
}

.property__content {
  position: relative;
}

.property__content::after {
  content: "";
  display: inline-block;
  background-image: url(../img/oneteam_bg_pc.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  mix-blend-mode: multiply;
  width: 100%;
  height: calc(100% + 7.5rem + 4.375rem);
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  user-select: none;
  z-index: -1;
}

.property__topContent {
  padding-top: 11.625rem;
  padding-right: 5rem;
  padding-bottom: 14.375rem;
  position: relative;
  z-index: 1;
}

.property__topContent .home__sticky {
  padding-top: 11.625rem;
  padding-bottom: 2.75rem;
}

.property__topContent .property__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.5rem;
  width: 68.75rem;
  margin-left: auto;
}

.property__list-item {
  background: var(--back);
  border-radius: 1.25rem;
  min-height: 56.125rem;
  padding: 1.5rem 2.5rem 2.625rem;
}

.property__list-item-ttl {
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.06em;
  text-align: center;
}

.property__list-item img {
  display: block;
  border-radius: 1.25rem;
  margin-top: 1.5rem;
  overflow: hidden;
}

.property__list-item img {
  aspect-ratio: 450 / 350;
  object-fit: cover;
}

.property__list-item-dl {
  display: grid;
  grid-template-columns: 8.5rem 1fr;
  margin-top: 1.875rem;
}

.property__list-item-dl dt {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.06em;
  padding-bottom: 1.25rem;
}

.property__list-item-dl dd {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.06em;
  padding-bottom: 1.25rem;
}

.property__list-item-dl dd.lighter {
  font-weight: 400;
}

.property__list-item-dl dt:nth-of-type(n+2),
.property__list-item-dl dd:nth-of-type(n+2) {
  padding-top: 1.25rem;
  border-top: 0.0625rem solid #fff;
}

.property__list-item-dl dt:last-of-type,
.property__list-item-dl dd:last-of-type {
  padding-bottom: 0;
}

.property__underContent {
  position: relative;
  z-index: 0;
}

/* .property__underContent::after {
  content: "";
  display: block;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #FFFFFF 20%);
  width: 100%;
  height: 28.5rem;
  position: absolute;
  left: 0;
  top: 26.875rem;
  z-index: 0;
} */

/* .property__underContent:has(.moreBtn.is-active)::after {
  display: none;
} */

.property__underContent .home__balloon {
  padding-left: 2.875rem;
  padding-right: 2.875rem;
  margin-bottom: 0.5rem;
  margin-left: 0;
  top: -7.75rem;
  left: 50%;
  transform: translateX(-50%);
}

.property__underContent .home__balloon::before {
  border-top: 1rem solid #F0EEDE;
  border-right: 0.5625rem solid transparent;
  border-bottom: none;
  border-left: 0.5625rem solid transparent;
  top: auto;
  bottom: -0.5rem;
  left: 50%;
  transform: translate(-50%, 0);
}

.property__underContent .property__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.75rem 2.125rem;
  width: calc(100% - 6.25rem * 2);
  margin-left: auto;
  margin-right: auto;
  -webkit-mask-image: linear-gradient(
    to bottom,
    #000 50%,
    transparent 70%
  );
  mask-image: linear-gradient(
    to bottom,
    #000 50%,
    transparent 70%
  );
}

.property__underContent:has(.moreBtn.is-active) .property__list {
  -webkit-mask-image: none;
  mask-image: none;
}

.property__underContent .property__list-item {
  min-height: 46.125rem;
  padding: 1.25rem 1.875rem 2rem;
}

.property__underContent .property__list-item-ttl {
  font-size: 1.25rem;
}

.property__underContent .property__list-item img {
  margin-top: 1.125rem;
}

.property__underContent .property__list-item img {
  aspect-ratio: 330 / 187;
}

.property__underContent .property__list-item-dl {
  grid-template-columns: 6.25rem 1fr;
  margin-top: 2.125rem;
}

.moreBtn {
  font-family: var(--font_ja);
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.06em;
  color: #333;
  display: flex;
  align-items: center;
  background: #fff;
  border: 0.0625rem solid var(--blue_01);
  border-radius: 6.25rem;
  width: 18.4375rem;
  height: 5rem;
  padding: 0 1.875rem;
  margin: -14.125rem auto 0;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  z-index: 1;
}

.moreBtn.is-active {
  margin-top: 6.25rem;
}

.moreBtn::before {
  content: "もっと見る";
}

.moreBtn.is-active::before {
  content: "閉じる";
}

.moreBtn::after {
  content: "";
  display: inline-block;
  background: url(../img/arrow_right_white.svg) no-repeat left 56% center / 0.5rem,
              var(--blue_01);
  border-radius: 50%;
  width: 2.1875rem;
  aspect-ratio: 1;
  position: absolute;
  top: 50%;
  right: 1.875rem;
  transform: translateY(-50%) rotate(90deg);
}

.moreBtn.is-active::after {
  transform: translateY(-50%) rotate(-90deg);
}

.moreContent {
  max-height: 0;
  overflow: hidden;
  /* transition: max-height 0.4s ease-out; */
  margin-top: 3.75rem;
}


/* ========================================================
404
=========================================================*/
.error404__content {
  text-align: center;
  padding: 12.5rem 0 6.25rem;
}

.error404__ttl {
  font-size: 2.5rem;
}

.error404__message-ttl {
  font-size: 1rem;
  margin-top: 1rem;
}

.error404__message-txt {
  font-size: 0.75rem;
  margin-top: 1rem;
}

.error404__content .btn {
  margin-top: 2.5rem;
  margin-left: auto;
  margin-right: auto;
}


/* ========================================================
GAS
=========================================================*/
.gas {
  position: relative;
  /* overflow-x: hidden; */
}

.gas::after {
  content: "";
  display: block;
  background-image: url(../img/gas/bg_pc.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  mix-blend-mode: multiply;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  user-select: none;
}

.gas::before {
  content: "";
  display: inline-block;
  background-image: url(../img/gas/bg_img_pc.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% auto;
  width: 295.75rem;
  aspect-ratio: 4732 / 4050;
  position: absolute;
  top: 1.25rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}

.gas__content {
  width: calc(100% - 24.75rem);
  margin-left: auto;
  position: relative;
}

/* ヘッダー */
.gas .header,
.gas-contact .header,
.gas-contact-confirm .header,
.gas-contact-thanks .header {
  justify-content: flex-end;
  padding: 1.25rem 1.25rem 0;
}

.gas .hamburgerBtn,
.gas-contact .hamburgerBtn,
.gas-contact-confirm .hamburgerBtn,
.gas-contact-thanks .hamburgerBtn {
  font-family: var(--font_en);
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1;
  color: var(--blue_01);
  display: flex;
  justify-content: center;
  align-items: center;
  background: transparent;
  border-radius: 0;
  width: 5rem;
  aspect-ratio: 1;
  overflow: hidden;
}

.gas .hamburgerBtn::before,
.gas-contact .hamburgerBtn::before,
.gas-contact-confirm .hamburgerBtn::before,
.gas-contact-thanks .hamburgerBtn::before {
  content: "MENU";
  position: relative;
  z-index: 1;
}

.gas .hamburgerBtn.is-active::before,
.gas-contact .hamburgerBtn.is-active::before,
.gas-contact-confirm .hamburgerBtn.is-active::before,
.gas-contact-thanks .hamburgerBtn.is-active::before {
  content: "CLOSE";
}

.gas .hamburgerBtn::after,
.gas-contact .hamburgerBtn::after,
.gas-contact-confirm .hamburgerBtn::after,
.gas-contact-thanks .hamburgerBtn::after {
  content: "";
  display: inline-block;
  background-image: url(../img/gas/menu_icon.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% auto;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  z-index: 0;
}

.gas .hamburgerBtn:hover::after,
.gas-contact .hamburgerBtn:hover::after,
.gas-contact-confirm .hamburgerBtn:hover::after,
.gas-contact-thanks .hamburgerBtn:hover::after {
  animation: spin 4s linear infinite;
}

@keyframes spin {
  100% {
    transform: rotate(360deg);
  }
}

.gas .hamburgerContent,
.gas-contact .hamburgerContent,
.gas-contact-confirm .hamburgerContent,
.gas-contact-thanks .hamburgerContent {
  background: url(../img/gas/hamburger_bg_pc.webp) no-repeat center / cover,
              #fff;
}

.gas .hamburgerContent__flex,
.gas-contact .hamburgerContent__flex,
.gas-contact-confirm .hamburgerContent__flex,
.gas-contact-thanks .hamburgerContent__flex {
  gap: 10.625rem;
  width: 90rem;
  padding-left: 7.5rem;
  padding-right: 8rem;
  margin: 0 auto;
}

.gas .hamburgerContent__wrap,
.gas-contact .hamburgerContent__wrap,
.gas-contact-confirm .hamburgerContent__wrap,
.gas-contact-thanks .hamburgerContent__wrap {
  gap: 10.625rem;
}

.gas .nav,
.gas-contact .nav,
.gas-contact-confirm .nav,
.gas-contact-thanks .nav {
  gap: 4.75rem;
}

.gas .nav__parent,
.gas-contact .nav__parent,
.gas-contact-confirm .nav__parent,
.gas-contact-thanks .nav__parent {
  font-family: var(--font_en_Anton);
  font-size: 1.75rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.02em;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0.625rem;
}

.gas .nav__parent::before,
.gas-contact .nav__parent::before,
.gas-contact-confirm .nav__parent::before,
.gas-contact-thanks .nav__parent::before {
  content: "";
  display: inline-block;
  background: var(--black);
  border-radius: 50%;
  width: 0.5rem;
  aspect-ratio: 1;
  transform: translateY(-0.1em);
}

.gas .nav__parent + .nav__parent,
.gas-contact .nav__parent + .nav__parent,
.gas-contact-confirm .nav__parent + .nav__parent,
.gas-contact-thanks .nav__parent + .nav__parent {
  margin-top: 2.375rem;
}

.gas .nav__children,
.gas-contact .nav__children,
.gas-contact-confirm .nav__children,
.gas-contact-thanks .nav__children {
  padding-left: 2.25rem;
  margin-top: 0.625rem;
}

.gas .nav__children > a,
.gas-contact .nav__children > a,
.gas-contact-confirm .nav__children > a,
.gas-contact-thanks .nav__children > a {
  font-family: var(--font_en_Anton);
  font-size: 1.625rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.02em;
  color: var(--black);
}

.gas .hamburgerContent__under,
.gas-contact .hamburgerContent__under,
.gas-contact-confirm .hamburgerContent__under,
.gas-contact-thanks .hamburgerContent__under {
  display: flex;
  align-items: center;
  gap: 7rem;
  bottom: 0;
}

.businessList {
  display: flex;
  align-items: center;
  gap: 0.9375rem;
}

.businessList > img {
  border: 0.0625rem solid var(--blue_01);
  border-radius: 50%;
  width: 5.125rem;
  height: auto;
  aspect-ratio: 1;
}

.corporateLink {
  display: flex;
  align-items: center;
  gap: 1.125rem;
}

.corporateLink > img {
  width: 12.75rem;
  height: auto;
}

.corporateLink::after {
  content: "";
  display: inline-block;
  background: url(../img/gas/jump_icon_blue.svg) no-repeat center / 100% auto;
  width: 1.25rem;
  aspect-ratio: 1;
}

/* メニュー */
.gas__wrap {
  position: relative;
}

.gas__menu {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: url(../img/gas/menu_bg.webp) no-repeat center / 100% auto;
  width: 18.8125rem;
  aspect-ratio: 301 / 788;
  padding: 13.75rem 0 0;
  position: fixed;
  top: 0;
  left: calc((100% - 90rem) / 2 + 2.5rem);
  transition: all 0.5s;
  z-index: 1;
}

.gas__menu-logo {
  width: 12.875rem;
  transition: all 0.5s;
}

.gas__menu-nav {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 0.75rem;
  margin-top: 3rem;
  transition: all 0.5s;
}

a.gas__menu-nav-item {
  font-family: var(--font_ja_vert);
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.3em;
  color: #fff;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-orientation: upright;
  display: flex;
  align-items: center;
  gap: 0.625rem;
}

a.gas__menu-nav-item::before {
  content: "";
  display: inline-block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% auto;
  border-radius: 50%;
  box-shadow: 0 0.25rem 0.25rem -0.0625rem rgba(12, 12, 13, 0.05),
              0 0.25rem 0.25rem -0.0625rem rgba(12, 12, 13, 0.1);
  width: 3.625rem;
  aspect-ratio: 1;
}

a.gas__menu-nav-item--syoki::before {
  background-image: url(../img/gas/syoki_icon.webp);
}

a.gas__menu-nav-item--egas::before {
  background-image: url(../img/gas/egas_icon.webp);
}

a.gas__menu-nav-item--ichiz::before {
  background-image: url(../img/gas/ichiz_icon.webp);
}

.gas__menu-links {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.25rem;
  margin-top: 6.125rem;
  transition: all 0.5s;
}

a.gas__menu-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: #fff;
}

a.gas__menu-link::after {
  content: "";
  display: inline-block;
  background: url(../img/gas/arrow_right_half_white.svg) no-repeat center / 100% auto;
  width: 1.125rem;
  aspect-ratio: 18 / 6;
}

.gas__menu-link-en {
  font-family: var(--font_en_Anton);
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: 0.02;
}

.gas__menu-link-ja {
  font-size: 0.875rem;
  letter-spacing: 0.25px;
  line-height: 1;
}

.gas__menu.is-fixed {
  width: 16rem;
  padding-top: 12rem;
  top: 5rem;
}

.gas__menu.is-fixed .gas__menu-logo {
    width: 10.8125rem;
}

.gas__menu.is-fixed .gas__menu-nav {
  margin-top: 1.5625rem;
}

.gas__menu.is-fixed .gas__menu-links {
  margin-top: 5.375rem;
}

/* FV */
.gas__fv-img {
  width: calc(100% - 22.5rem);
  padding-right: 2.5rem;
  margin-left: auto;
  position: relative;
  z-index: 1;
}

.gas__fv-img-slider .splide__list {
  display: flex!important;
  justify-content: space-between;
}

.gas__fv-img-slider .splide__slide {
  width: 21rem;
}

.gas__fv-img-catch {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.875rem;
  position: absolute;
  left: 0;
  bottom: 4.75rem;
}

.gas__fv-img-catch.forSP {
  display: none;
}

.gas__fv-img-catch > span {
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.02em;
  background: #fff;
  padding: 0.8125rem 0.5rem 0.8125rem 1.25rem;
}

/* intro */
.gas__intro {
  padding-top: 10rem;
  padding-bottom: calc(6.25rem + 2.5rem);
}

/* .gas__intro-content {
  z-index: 0;
} */

.gas__intro-ttl {
  font-family: var(--font_en);
  font-size: 16.875rem;
  font-weight: 700;
  line-height: 1;
  color: transparent;
  -webkit-text-stroke: 0.0625rem #fff;
  position: absolute;
  top: -2.9375rem;
  left: 6.25rem;
  z-index: 1;
}

.gas__intro-catch {
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.02em;
  text-align: center;
  color: var(--blue_01);
  position: relative;
  z-index: 1;
}

.gas__intro-box {
  background: #fff;
  border-radius: 0.625rem;
  padding: 3.75rem 6.25rem 3.75rem 3.75rem;
  margin-top: 9.625rem;
}

.gas__intro-list-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.gas__intro-list-item:nth-of-type(2n) {
  flex-direction: row-reverse;
}

.gas__intro-list-item:nth-of-type(n+2) {
  margin-top: 3rem;
}

.gas__intro-list-item > img {
  position: relative;
  z-index: 1;
}

.gas__intro-list-item > img {
  width: 20.6875rem;
  border-radius: 0.625rem;
}

.gas__intro-list-item-wrap {
  width: 30.3125rem;
  position: relative;
  z-index: 1;
}

.gas__intro-list-item-label {
  font-family: var(--font_en);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.02em;
  color: #fff;
  display: inline-flex;
  align-items: flex-start;
  gap: 0.5em;
  background: var(--blue_01);
  border-radius: 1.125rem;
  padding: 0.625rem 1rem 0.375rem 1.25rem;
}

.gas__intro-list-item-label-point {
  font-size: 1rem;
  margin-top: 0.08em;
}

.gas__intro-list-item-label-num {
  font-size: 1.25rem;
}

.gas__intro-list-item-ttl {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.02em;
  margin-top: 1rem;
}

.gas__intro-list-item-txt {
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.02em;
  margin-top: 1.875rem;
}

/* business */
.gas__business {
  background: #C8D2DB;
  border-radius: 2.5rem 2.5rem 0 0;
  padding-top: 6.25rem;
  padding-bottom: calc(6.25rem + 2.5rem);
  margin-top: -2.5rem;
}

.gas__business:nth-of-type(2n) {
  background: var(--blue_01);
}

.gas__business-content {
  padding-right: 2.5rem;
}

.gas__business-heading {
  display: flex;
  align-items: flex-start;
  gap: 2.25rem;
  position: relative;
  z-index: 1;
}

.gas__business-heading-sub {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
}

.gas__business-heading-sub-txt {
  font-family: var(--font_en_Anton);
  font-size: 2.375rem;
  font-weight: 400;
  line-height: 1.3;
}

.gas__business-heading-sub-num {
  font-family: var(--font_en_Anton);
  font-size: 10rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.06em;
  color: var(--blue_01);
}

.gas__business:nth-of-type(2n) .gas__business-heading-sub-num {
  color: #fff;
}

.gas__business-heading-main {
  font-family: var(--font_en);
  font-size: 13.375rem;
  font-weight: 700;
  line-height: 1;
  color: transparent;
  -webkit-text-stroke: 0.0625rem #fff;
  margin-top: 2.5rem;
}

.gas__business-ttl {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.02em;
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 1.25rem;
  position: relative;
  z-index: 1;
}

.gas__business:nth-of-type(2n) .gas__business-ttl {
  color: #fff;
}

.gas__business-ttl::before {
  content: "";
  display: inline-block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% auto;
  border-radius: 50%;
  width: 3.75rem;
  aspect-ratio: 1;
}

.gas__ichiz .gas__business-ttl::before {
  background-image: url(../img/gas/ichiz_icon.webp);
}

.gas__egas .gas__business-ttl::before {
  background-image: url(../img/gas/egas_icon.webp);
}

.gas__syoki .gas__business-ttl::before {
  background-image: url(../img/gas/syoki_icon.webp);
}

.gas__business-box {
  background: #fff;
  border-radius: 1.25rem;
  padding: 3.75rem;
  margin-top: 1.875rem;
}

.gas__business-box + .gas__business-box {
  margin-top: 2.5rem;
}

.gas__business-box > img {
  position: relative;
  z-index: 1;
}

.gas__business-box > img {
  border-radius: 0.75rem;
}

.gas__business-box-ttl {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.02em;
  color: var(--blue_01);
  border-bottom: 1px solid var(--blue_01);
  padding-bottom: 1.25rem;
  margin-top: 2.5rem;
  position: relative;
  z-index: 1;
}

.gas__business-box-ttl + * {
  margin-top: 2.5rem;
}

.gas__business-box-ttl + *:has(.gas__business-box-labels:first-child) {
  margin-top: 1.875rem;
}

.gas__business-box-content {
  position: relative;
  z-index: 1;
}

.gas__business-box-subhead {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.02em;
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
}

.gas__business-box-subhead::before {
  content: "";
  display: inline-block;
  background: var(--blue_01);
  border-radius: 50%;
  width: 0.625rem;
  aspect-ratio: 1;
  margin-top: 0.3em;
}

.gas__business-box-subhead:nth-of-type(n+2) {
  margin-top: 3rem;
}

.gas__business-box-labels {
  display: flex;
  flex-wrap: wrap;
  gap: 0 0.75rem;
  margin-top: 0.625rem;
}

.gas__business-box-label {
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.02em;
  display: inline-flex;
  align-items: center;
  background: #D7EAF0;
  border-radius: 0.25rem;
  min-height: 2.1875rem;
  padding: 0.375rem 0.625rem;
  margin-top: 0.625rem;
}

.gas__business-box-label-break {
  flex-basis: 100%;
  height: 0;
  margin-top: 0;
}

.gas__business-head {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.02em;
  margin-top: 3.75rem;
  position: relative;
  z-index: 1;
}

.gas__business:nth-of-type(2n) .gas__business-head {
  color: #fff;
}

.gas__business-head + .gas__business-box {
  margin-top: 1.375rem;
}

.gas__business-note {
  display: flex;
  justify-content: flex-end;
  margin-top: 1.25rem;
  position: relative;
  z-index: 1;
}

.gas__business-note-wrap {
  display: inline-flex;
  flex-direction: column;
}

.gas__business-note small {
  font-size: 0.8125rem;
  line-height: 1.2;
  letter-spacing: 0.02em;
}

.gas__business:nth-of-type(2n) .gas__business-note small {
  color: #fff;
}

/* egas */
.gas__egas-delivery {
  padding: 2.5rem 3.75rem;
}

.gas__egas-delivery-content {
  display: flex;
  justify-content: flex-start;
  gap: 3.75rem;
}

.gas__egas-delivery-img {
  width: 25.6875rem;
  position: relative;
  z-index: 1;
}

.gas__egas-delivery-img-badge {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.02em;
  text-align: center;
  color: #fff;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background: var(--blue_01);
  border-radius: 50%;
  position: absolute;
  right: -1.625rem;
  bottom: -1.125rem;
  width: 9.25rem;
  aspect-ratio: 1;
  z-index: 1;
}

.gas__egas-delivery-wrap {
  flex-grow: 1;
  position: relative;
  z-index: 1;
}

.gas__egas-delivery-list {
  display: grid;
  grid-template-columns: repeat(2, auto);
}

.gas__egas-delivery-list dt {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.02em;
  border-bottom: 0.0625rem solid #EBEBEB;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  align-self: baseline;
}

.gas__egas-delivery-list dd {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.02em;
  border-bottom: 0.0625rem solid #EBEBEB;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  align-self: baseline;
  justify-self: right;
}

.gas__egas-delivery-list dd:has(.em) {
  padding-bottom: 1rem;
}

.gas__egas-delivery-list dd .em {
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.02em;
  color: var(--blue_01);
  display: flex;
  align-items: baseline;
}

.gas__egas-delivery-list dd .em__num {
  font-size: 1.5rem;
}

.gas__egas-delivery-list dd .em__unit {
  font-size: 1rem;
}

.gas__egas-delivery-txt {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.02em;
  text-align: center;
  margin-top: 1.875rem;
}

.gas__egas-products-content {
  position: relative;
  z-index: 1;
}

.gas__egas-products-txt {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.02em;
  text-align: center;
}

.gas__egas-products-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem 1.875rem;
  margin-top: 1.75rem;
}

.gas__egas-sdgs {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 5rem;
}

.gas__egas-sdgs > img {
  position: relative;
  z-index: 1;
}

.gas__egas-sdgs > img {
  width: 19.0625rem;
}

.gas__egas-sdgs-wrap > img {
  width: 28.125rem;
}

.gas__egas-sdgs-wrap {
  position: relative;
  z-index: 1;
}

.gas__egas-sdgs-txt {
  font-size: 1.25rem;
  line-height: 1.4;
  letter-spacing: 0.02em;
  margin-top: 3rem;
}

.gas__egas-sdgs-list {
  margin-top: 1.75rem;
}

.gas__egas-sdgs-list-item {
  font-size: 1.25rem;
  line-height: 1.8;
  letter-spacing: 0.02em;
}

.gas__egas-sdgs-list-item::before {
  content: "・";
}

/* syoki */
.gas__syoki {
  border-radius: 2.5rem;
  padding-bottom: 5.9375rem;
}

/* company */
.gas__company {
  padding: 8.75rem 0 10.3125rem;
  position: relative;
  overflow: hidden;
  margin-top: -2.5rem;
}

.gas__company::before {
  content: "";
  display: inline-block;
  background-image: url(../img/gas/bg_img_pc.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% auto;
  width: 295.75rem;
  aspect-ratio: 4732 / 4050;
  position: absolute;
  top: -38rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}

.gas__company-ttl {
  font-family: var(--font_en_Anton);
  font-size: 12.5rem;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: 2px;
  color: #C8D2DB;
  writing-mode: sideways-rl;
  position: absolute;
  top: 8.75rem;
  left: calc((100% - 90rem) / 2 - 1.5625rem);
  z-index: 1;
}

.gas__company-content {
  padding-right: 2.5rem;
}

.gas__company-table {
  table-layout: fixed;
  border-collapse: collapse;
  background: #fff;
  border: 0.0625rem solid #CACACA;
  width: 100%;
  position: relative;
  z-index: 1;
}

.gas__company-table tr th,
.gas__company-table tr td {
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.25px;
  padding: 1.375rem 1.625rem 2rem;
}

.gas__company-table tr:nth-of-type(n+2) th,
.gas__company-table tr:nth-of-type(n+2) td {
  border-top: 0.0625rem solid #CACACA;
}

.gas__company-table tr th {
  vertical-align: top;
  color: var(--blue_01);
  background: #F8F9F9;
  width: 11.5rem;
}

.gas__company-table tr td {
  vertical-align: top;
  border-left: 0.0625rem dashed #CACACA;
}

.gas__company-table tr:first-of-type th {
  padding-top: 2.25rem;
}

.gas__company-table tr:first-of-type td {
  font-weight: 800;
  padding-top: 2.25rem;
}

.gas__company-table tr td:nth-of-type(2) {
  width: 17.625rem;
}

.gas__company-table td p {
  line-height: 1.3;
}

.gas__company-table td p + p {
  margin-top: 14px;
}

/* contact */
.gas__contact {
  background: #C8D2DB;
  padding: 16.125rem 0 6.25rem;
  position: relative;
}

.gas__contact-ttl {
  font-family: var(--font_en_Anton);
  font-size: 12.5rem;
  line-height: 1.3;
  letter-spacing: 2px;
  color: #fff;
  position: absolute;
  top: 3.125rem;
  left: calc((100% - 90rem) / 2 + 9rem);
}

.gas__contact-box {
  background: #fff;
  border-radius: 1.25rem;
  width: 72rem;
  padding: 4.25rem 0;
  margin: 0 auto;
}

.gas__contact-txt {
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.02em;
  text-align: center;
  position: relative;
  z-index: 1;
}

a.gas__contact-btn {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.02em;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
  background: var(--blue_01);
  border-radius: 0.5rem;
  width: 39.875rem;
  height: 5.625rem;
  margin: 1.875rem auto 0;
  position: relative;
  z-index: 1;
}

.gas__contact-btn::before {
  content: "";
  display: inline-block;
  background: url(../img/gas/mail_icon.webp) no-repeat center / 100% auto;
  width: 1.75rem;
  aspect-ratio: 1;
  transform: translateY(0.1em);
}

.gas__contact-list {
  display: flex;
  justify-content: center;
  gap: 3.75rem;
  margin-top: 3.375rem;
  position: relative;
  z-index: 1;
}

.gas__contact-list-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.375rem;
}

.gas__contact-list-item-ttl {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.02em;
  display: flex;
  align-items: flex-end;
  gap: 0.625rem;
  margin-left: 2.375rem;
}

.gas__contact-list-item-ttl::before {
  content: "";
  display: inline-block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% auto;
  border: 0.0625rem solid var(--blue_01);
  border-radius: 50%;
  width: 2.25rem;
  aspect-ratio: 1;
}

.gas__contact-list-item--ichiz .gas__contact-list-item-ttl::before {
  background-image: url(../img/gas/ichiz_icon.webp);
}

.gas__contact-list-item--egas .gas__contact-list-item-ttl::before {
  background-image: url(../img/gas/egas_icon.webp);
}

.gas__contact-list-item--syoki .gas__contact-list-item-ttl::before {
  background-image: url(../img/gas/syoki_icon.webp);
}

a.gas__contact-list-item-tel {
  font-size: 1.625rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.02em;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.75rem;
  background: #D7EAF0;
  border-radius: 0.5rem;
  width: 17.3125rem;
  height: 4.6875rem;
}

a.gas__contact-list-item-tel::before {
  content: "";
  display: inline-block;
  background: url(../img/gas/tel_icon.webp) no-repeat center / 100% auto;
  width: 1.5625rem;
  aspect-ratio: 1;
  transform: translateY(0.25rem);
}

/* フッター */
.gas .footer,
.gas-contact .footer,
.gas-contact-confirm .footer,
.gas-contact-thanks .footer {
  background: var(--blue_01);
  border-radius: 0;
  padding: 6.25rem calc((100% - 90rem) / 2 + 12.5rem) 6.25rem calc((100% - 90rem) / 2 + 9rem);
  margin-top: 0;
}

.gas .footer__wrap,
.gas-contact .footer__wrap,
.gas-contact-confirm .footer__wrap,
.gas-contact-thanks .footer__wrap {
  justify-content: space-between;
  align-items: flex-start;
  position: relative;
  z-index: 1;
}

.gas .footer .corporateLink,
.gas-contact .footer .corporateLink,
.gas-contact-confirm .footer .corporateLink,
.gas-contact-thanks .footer .corporateLink {
  gap: 0.75rem;
  margin-top: 1.875rem;
}

.gas .footer .corporateLink > img,
.gas-contact .footer .corporateLink > img,
.gas-contact-confirm .footer .corporateLink > img,
.gas-contact-thanks .footer .corporateLink > img {
  width: 8.125rem;
}

.gas .footer .corporateLink::after,
.gas-contact .footer .corporateLink::after,
.gas-contact-confirm .footer .corporateLink::after,
.gas-contact-thanks .footer .corporateLink::after {
  background: url(../img/gas/jump_icon_white.svg) no-repeat center / 100% auto;
  width: 0.75rem;
}

.gas .footer__info-address,
.gas-contact .footer__info-address,
.gas-contact-confirm .footer__info-address,
.gas-contact-thanks .footer__info-address {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.25px;
  color: #fff;
  margin-top: 0.75rem;
}

.gas .footer__info-copy,
.gas-contact .footer__info-copy,
.gas-contact-confirm .footer__info-copy,
.gas-contact-thanks .footer__info-copy {
  color: #fff;
  display: inline-block;
  margin-top: 0.75rem;
}

.gas .footer .nav__parent,
.gas-contact .footer .nav__parent,
.gas-contact-confirm .footer .nav__parent,
.gas-contact-thanks .footer .nav__parent {
  font-size: 1.125rem;
  color: #fff;
  gap: 0.5rem;
}

.gas .footer .nav__parent::before,
.gas-contact .footer .nav__parent::before,
.gas-contact-confirm .footer .nav__parent::before,
.gas-contact-thanks .footer .nav__parent::before {
  background: #fff;
  width: 0.375rem;
}

.gas .footer .nav__parent + .nav__parent,
.gas-contact .footer .nav__parent + .nav__parent,
.gas-contact-confirm .footer .nav__parent + .nav__parent,
.gas-contact-thanks .footer .nav__parent + .nav__parent {
  margin-top: 1.5rem;
}

.gas .footer .nav__children,
.gas-contact .footer .nav__children,
.gas-contact-confirm .footer .nav__children,
.gas-contact-thanks .footer .nav__children {
  padding-left: 1.625rem;
}

.gas .footer .nav__children > a,
.gas-contact .footer .nav__children > a,
.gas-contact-confirm .footer .nav__children > a,
.gas-contact-thanks .footer .nav__children > a {
  font-size: 1rem;
  color: #fff;
}

.gas-contact-confirm .contact-table {
  margin-top: 3.5rem;
}

.gas-contact-confirm .contact-table dt {
  font-weight: 700;
  font-size: 1rem;
}

/* Contact */
.gas-contact,
.gas-contact-confirm,
.gas-contact-thanks {
  background: #C8D2DB;
}

.gas-contact::before,
.gas-contact-confirm::before,
.gas-contact-thanks::before {
  display: none;
}

.gas-contact .gas__content,
.gas-contact-confirm .gas__content,
.gas-contact-thanks .gas__content {
  padding-top: 25.5rem;
  padding-bottom: 12.5rem;
  position: relative;
}

.gas-contact__ttl,
.gas-contact-confirm__ttl,
.gas-contact-thanks__ttl {
  font-family: var(--font_en_Anton);
  font-size: 12.5rem;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: 2px;
  color: #fff;
  position: absolute;
  top: 12.5rem;
  left: calc((100% - 57.5rem) / 2);
}

.gas-contact .gas-contact__ttl,
.gas-contact-confirm .gas-contact-confirm__ttl,
.gas-contact-thanks .gas-contact-thanks__ttl {
  z-index: 1;
}

.gas-contact .contact-form-box,
.gas-contact-confirm .contact-form-box,
.gas-contact-thanks .contact-form-box {
  background: #FAFAFA;
  margin-top: 0;
  position: relative;
  z-index: 1;
}