@charset "UTF-8";
@import url(all.css);
/*rootの変数宣言*/
:root {
  /*==============================
      カラー    
  ==============================*/
  --color-font: #0d162f;
  --color-white: #ffffff;
  --color-blue: #4169e1;
  --color-yellow: #fcaf2b;
  --color-red: #d10004;
  --color-lightblue: #d9eaf4;
  --color-whiteblue: #eaf1f5;
  --color-gray: #f1f4f6;
  /*カレントカラー*/
  --color-current: #4169e1;
  /*テキストリンクカラー*/
  --color-textlink: #4169e1;
  /*必須ボタンカラー*/
  --color-required: #4169e1;
  /*任意ボタンカラー*/
  --color-optional: #4169e1;
  /*ラジオボタンカラー*/
  --color-radio: #4169e1;
  /*チェックボタンカラー*/
  --color-check: #4169e1;
  /*==============================
      フォントファミリー
  ==============================*/
  /*本文*/
  --font-family-body: "Noto", sans-serif;
  --font-family-Noto: "Noto", sans-serif;
  --font-family-Oswald: "Oswald", sans-serif;
  /*==============================
      フォントサイズ
  ==============================*/
  /*基準のフォントサイズ*/
  --font-size-body: 1.7rem;
  /*その他テキスト*/
  --font-size-14: 1.4rem;
  --font-size-15: 1.5rem;
  --font-size-16: 1.6rem;
  --font-size-17: 1.7rem;
  --font-size-18: 1.8rem;
  --font-size-20: 2.0rem;
  --font-size-22: 2.2rem;
  --font-size-23: 2.3rem;
  --font-size-24: 2.4rem;
  --font-size-25: 2.5rem;
  --font-size-26: 2.6rem;
  --font-size-30: 3.0rem;
  --font-size-35: 3.5rem;
  --font-size-38: 3.8rem;
  --font-size-40: 4.0rem;
  --font-size-50: 5.0rem;
  --font-size-55: 5.5rem;
  --font-size-65: 6.5rem;
  --font-size-80: 8.0rem;
  --font-size-85: 8.5rem;
  /*==============================
      行間
  ==============================*/
  /*基準の行間*/
  --line-height-base: 2;
  /*==============================
      文字間
  ==============================*/
  /*基準の文字間*/
  --letter-spacing-base: 0.05em;
}
@font-face {
  font-family: "Noto";
  src: url(/font/NotoSansCJKjp-Thin.otf) format("opentype");
  font-weight: 100;
}
@font-face {
  font-family: "Noto";
  src: url(/font/NotoSansCJKjp-DemiLight.otf) format("opentype");
  font-weight: 200;
}
@font-face {
  font-family: "Noto";
  src: url(/font/NotoSansCJKjp-Light.otf) format("opentype");
  font-weight: 300;
}
@font-face {
  font-family: "Noto";
  src: url(/font/NotoSansCJKjp-Regular.otf) format("opentype");
  font-weight: 400;
}
@font-face {
  font-family: "Noto";
  src: url(/font/NotoSansCJKjp-Medium.otf) format("opentype");
  font-weight: 500;
}
@font-face {
  font-family: "Noto";
  src: url(/font/NotoSansCJKjp-Bold.otf) format("opentype");
  font-weight: 700;
}
@font-face {
  font-family: "Noto";
  src: url(/font/NotoSansCJKjp-Black.otf) format("opentype");
  font-weight: 900;
}

/*rootの変数宣言*/
:root {
  /*==============================
      カラー    
  ==============================*/
  --color-font: #0d162f;
  --color-white: #ffffff;
  --color-blue: #4169e1;
  --color-yellow: #fcaf2b;
  --color-red: #d10004;
  --color-lightblue: #d9eaf4;
  --color-whiteblue: #eaf1f5;
  --color-gray: #f1f4f6;
  /*カレントカラー*/
  --color-current: #4169e1;
  /*テキストリンクカラー*/
  --color-textlink: #4169e1;
  /*必須ボタンカラー*/
  --color-required: #4169e1;
  /*任意ボタンカラー*/
  --color-optional: #4169e1;
  /*ラジオボタンカラー*/
  --color-radio: #4169e1;
  /*チェックボタンカラー*/
  --color-check: #4169e1;
  /*==============================
      フォントファミリー
  ==============================*/
  /*本文*/
  --font-family-body: "Noto", sans-serif;
  --font-family-Noto: "Noto", sans-serif;
  --font-family-Oswald: "Oswald", sans-serif;
  /*==============================
      フォントサイズ
  ==============================*/
  /*基準のフォントサイズ*/
  --font-size-body: 1.7rem;
  /*その他テキスト*/
  --font-size-14: 1.4rem;
  --font-size-15: 1.5rem;
  --font-size-16: 1.6rem;
  --font-size-17: 1.7rem;
  --font-size-18: 1.8rem;
  --font-size-20: 2.0rem;
  --font-size-22: 2.2rem;
  --font-size-23: 2.3rem;
  --font-size-24: 2.4rem;
  --font-size-25: 2.5rem;
  --font-size-26: 2.6rem;
  --font-size-30: 3.0rem;
  --font-size-35: 3.5rem;
  --font-size-38: 3.8rem;
  --font-size-40: 4.0rem;
  --font-size-50: 5.0rem;
  --font-size-55: 5.5rem;
  --font-size-65: 6.5rem;
  --font-size-80: 8.0rem;
  --font-size-85: 8.5rem;
  /*==============================
      行間
  ==============================*/
  /*基準の行間*/
  --line-height-base: 2;
  /*==============================
      文字間
  ==============================*/
  /*基準の文字間*/
  --letter-spacing-base: 0.05em;
}

@font-face {
  font-family: "Noto";
  src: url(/font/NotoSansCJKjp-Thin.otf) format("opentype");
  font-weight: 100;
}
@font-face {
  font-family: "Noto";
  src: url(/font/NotoSansCJKjp-DemiLight.otf) format("opentype");
  font-weight: 200;
}
@font-face {
  font-family: "Noto";
  src: url(/font/NotoSansCJKjp-Light.otf) format("opentype");
  font-weight: 300;
}
@font-face {
  font-family: "Noto";
  src: url(/font/NotoSansCJKjp-Regular.otf) format("opentype");
  font-weight: 400;
}
@font-face {
  font-family: "Noto";
  src: url(/font/NotoSansCJKjp-Medium.otf) format("opentype");
  font-weight: 500;
}
@font-face {
  font-family: "Noto";
  src: url(/font/NotoSansCJKjp-Bold.otf) format("opentype");
  font-weight: 700;
}
@font-face {
  font-family: "Noto";
  src: url(/font/NotoSansCJKjp-Black.otf) format("opentype");
  font-weight: 900;
}
/*opacity含めたカラー指定あればここで定義*/
/*========================
    default
========================*/
html {
  font-size: min(2.22vw, 10px);
}

.sp-none {
  display: none !important;
}

.wrapper {
  min-width: 320px;
  line-height: 1.6;
}

.com-inbox {
  width: 90%;
}

.logo {
  height: 7rem;
}
.logo a {
  display: block;
  height: 100%;
  width: -moz-fit-content;
  width: fit-content;
}
.logo img {
  height: 100%;
  width: auto;
}

.inline-block {
  display: inline-block;
}

.com-tel {
  padding: 1rem 2rem;
  width: 100%;
}

/*パンくずリスト非表示*/
.breadcrumb {
  display: none;
}

section:not(.mv, .sv, .privacy__box) {
  padding-block: 10rem;
}

/*追従ボタン*/
.follow-btn {
  right: 2rem;
  bottom: 10rem;
}
.follow-btn a {
  gap: 1rem;
}

/*==============================
    メインビジュアル
==============================*/
.mv {
  flex-direction: column;
  height: 65rem;
}
.mv::before {
  position: absolute;
  z-index: -2;
  content: "";
  display: block;
  width: 100%;
  height: 60%;
  left: 0;
  bottom: 0;
  background: linear-gradient(to right, var(--color-blue) 0%, #00207e 100%);
}
.mv::after {
  height: 40%;
}
.mv__copy {
  height: 40%;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 3.5rem;
  gap: 1.5rem;
}
.mv-nav {
  height: 60%;
  width: 100%;
}
.mv-nav__list {
  height: 100%;
}
.mv-nav__item {
  height: 25%;
}
.mv-nav__item a {
  z-index: 0;
  padding-inline: 2rem;
}
.mv-nav__item a::before {
  height: 90%;
  z-index: -1;
  opacity: 0.4;
}
.mv-nav__item a::after {
  height: 60%;
  right: 2rem;
}

/*==============================
    ヘッダー
==============================*/
.header__inner {
  padding: 1.5rem;
}

/*==============================
    サブビジュアル
==============================*/
.sv__title {
  align-items: center;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
}
.sv__title .ja {
  font-size: 4rem;
  text-align: center;
}
.sv__title .en {
  font-size: 2rem;
}

/*各ページの画像設定*/
.water_supply_sv {
  background: url(../img/sv/water_supply.jpg) top right/cover no-repeat;
}

.technical_intern_sv {
  background: url(../img/sv/technical_intern.jpg) top right/cover no-repeat;
}

.mutual_sv {
  background: url(../img/sv/mutual.jpg) top right/cover no-repeat;
}

.estate_other_sv {
  background: url(../img/sv/estate_other.jpg) top right/cover no-repeat;
}

.news_sv {
  background: url(../img/sv/news.jpg) top right/cover no-repeat;
}

.contact_sv {
  background: url(../img/sv/contact.jpg) top right/cover no-repeat;
}

.complete_sv {
  background: url(../img/sv/complete.jpg) top right/cover no-repeat;
}

.privacy_sv {
  background: url(../img/sv/privacy.jpg) top right/cover no-repeat;
}

.site_sv {
  background: url(../img/sv/site.jpg) top right/cover no-repeat;
}

.e404_sv {
  background: url(../img/sv/e404.jpg) top right/cover no-repeat;
}

/*==============================
    共通タイトル
==============================*/
.com-title01 {
  margin-bottom: 5rem;
  gap: 1rem;
}
.com-title01 .en {
  font-size: 6rem;
}
.com-title01 .ja {
  font-size: 2.6rem;
}
.com-title01--left {
  align-items: center !important;
}

.com-title02 {
  margin-bottom: 6rem;
}
.com-title02 .en {
  font-size: 4rem;
}
.com-title02 .ja {
  line-height: 1.5;
  padding-bottom: 3rem;
  font-size: 2.6rem;
  letter-spacing: 0.05em;
}
.com-title02--left {
  align-items: center !important;
}

/*==============================
    共通ボタン
==============================*/
.com-btn {
  height: 60px;
}

/*==============================
    共通テーブル
==============================*/
.com-table th {
  width: 35%;
}

/*==============================
    TOP
==============================*/
/*「誰に頼めばいい？」
その悩み、ジャパンサポートシステム（JSS）へ。*/
.top-about__box {
  flex-direction: column-reverse;
  gap: 3rem;
}

/*サービス内容*/
.top-service .swiper-slide {
  z-index: 0;
  padding: 4rem 2rem 20rem 2rem;
  height: auto;
}
.top-service .swiper-slide::before {
  position: absolute;
  z-index: -1;
  bottom: 0;
  right: 0;
  height: 20rem;
}
.top-service .swiper-slide::after {
  left: unset;
  right: 2rem;
}
.top-service__title {
  font-size: 2.2rem;
}
.top-service .swiper-button-prev,
.top-service .swiper-button-next {
  height: 50px !important;
  width: 50px !important;
}
.top-service .swiper-button-prev {
  left: 1.5rem;
}
.top-service .swiper-button-next {
  right: 1.5rem;
}

/*代表挨拶・会社概要*/
.top-company {
  padding-block: 10rem 0 !important;
  /*代表挨拶*/
  /*会社概要*/
}
.top-company-greeting {
  padding-block: 0 10rem;
}
.top-company-section {
  margin-inline: -5vw;
  padding-block: 10rem;
}
.top-company-section::before {
  width: 40%;
}
.top-company-section .com-table {
  width: 90%;
  margin-inline: auto;
}

/*まずはお気軽にご相談ください。*/
.top-contactUs::before {
  width: 80px;
  top: 5%;
  left: calc(50% - 17rem);
}
.top-contactUs .com-title02 .ja {
  line-height: 1.5;
}
.top-contactUs .com-title02 .ja::before {
  display: none;
}
.top-contactUs .com-title02 .ja span {
  position: relative;
}
.top-contactUs .com-title02 .ja span::before {
  position: absolute;
  content: "";
  display: block;
  z-index: -1;
  left: -0.9rem;
  bottom: 0;
  transform: translate(0);
  height: 2rem;
  width: calc(100% + 1rem);
  background: #ffe8c0;
}
.top-contactUs .com-inbox {
  flex-direction: column;
  padding: 4rem 1.5rem;
}
.top-contactUs__text p {
  font-size: 2rem;
  letter-spacing: 0.05em;
  text-align: center;
}
.top-contactUs .mail-btn {
  height: 60px;
  margin: 4rem auto 3rem auto;
  width: 100%;
  max-width: 520px;
}
.top-contactUs .tel-box {
  width: 100%;
  max-width: 520px;
  margin-inline: auto;
}
.top-contactUs .tel-box img {
  vertical-align: unset !important;
}

/*お知らせ*/
.top-news {
  padding-block: 10rem 18rem !important;
  position: relative;
}
.top-news .com-btn--arw {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 10rem;
}

/*お問い合わせ・ご相談*/
.com-contact__box {
  flex-direction: column;
  padding: 4rem 2rem;
}
.com-contact__box .mail-btn {
  width: 100%;
  max-width: 520px;
  height: 60px;
  border-radius: 0.6rem;
  margin: 0 auto;
}
.com-contact__box .tel-box {
  width: 100% !important;
  max-width: 520px;
  margin-inline: auto;
}
.com-contact__box .tel-box .com-tel p {
  font-size: 1.4rem;
}
.com-contact__box .tel-box .replace {
  width: 100%;
  height: auto;
  max-width: 520px;
  vertical-align: baseline;
}

/*==============================
    水道申請代行
==============================*/
/*こんなお悩みありませんか？*/
.water-worries__list {
  flex-direction: column;
  padding: 6rem 3rem;
}
.water-worries__item {
  padding: 3rem 2rem;
}

/*ジャパンサポートシステムが選ばれる理由*/
.water-reason::before {
  top: 0;
  width: 40%;
  left: unset;
  right: 0;
}
.water-reason .com-title02 .en {
  font-size: 2rem;
}
.water-reason__list {
  padding: 6rem 2rem;
  gap: 4rem;
}
.water-reason__item {
  flex-direction: column;
  padding: 4rem 2rem;
}
.water-reason__item::before {
  right: 2rem;
}
.water-reason__image {
  aspect-ratio: 16/9;
  width: 100%;
}
.water-reason__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.water-reason__text {
  padding: 4rem 0;
}

/*対応エリア*/
.water-area__wrap {
  align-items: center;
  gap: 2rem;
}
.water-area__image {
  width: 78%;
}
.water-area__serif {
  width: 22%;
  aspect-ratio: 1;
  padding: 1rem;
  font-size: 1.8rem;
  text-align: center;
  line-height: 1.333;
}
.water-area__serif::before {
  bottom: 5%;
}

/*過去のご依頼事例*/
.water-case__list {
  padding: 4rem 2rem;
  flex-direction: column;
  gap: 3rem;
  align-items: center;
}
.water-case__item {
  width: 100%;
}
.water-case__image {
  aspect-ratio: 16/9;
  width: 100%;
}
.water-case__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/*サービス一覧*/
.water-service__list {
  padding: 4rem 2rem;
}
.water-service__wrap {
  flex-direction: column;
  padding: 3rem;
  gap: 3rem;
}
.water-service__image {
  width: 100%;
  aspect-ratio: 16/9;
}
.water-service__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/*ご依頼の流れ*/
.water-flow__list {
  padding: 6rem 2rem;
}
.water-flow__list::before {
  top: 6rem;
  height: calc(100% - 12rem);
}
.water-flow__text {
  padding: 2rem;
}
.water-flow__title {
  display: flex;
  font-size: 2.2rem;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
.water-flow__title::before {
  position: relative;
  top: unset;
  transform: translateY(0);
  left: unset;
  flex-shrink: 0;
  font-size: 2.2rem;
}

/*当社ではこのようなご依頼も承っております*/
.water-handle__list {
  flex-direction: column;
}
.water-handle__item {
  aspect-ratio: 3/1;
  min-height: 120px;
}
.water-handle__item a {
  padding: 0 5rem;
}

/*==============================
    技能実習生
==============================*/
/*グローバル人材の活用をサポート*/
.technical-about__wrap {
  flex-direction: column;
  align-items: center;
  gap: 3rem;
}
.technical-about__image {
  width: 80%;
  max-width: 540px;
}

/*外国人技能実習・特定技能制度とは*/
.technical-foreign .com-title02 .en {
  font-size: 3.3rem;
}
.technical-foreign .com-title02 .ja {
  font-size: 2.4rem;
}
.technical-foreign__container {
  padding: 4rem 2rem;
}
.technical-foreign .intro {
  margin-bottom: 4rem;
}
.technical-foreign__list {
  padding: 3rem 2rem;
}
.technical-foreign__item {
  padding: 2rem;
}
.technical-foreign__item dl {
  flex-direction: column;
  align-items: center;
}
.technical-foreign__item dd {
  text-align: center;
}

/*ジャパンサポートシステムができること*/
.technical-can__list {
  padding: 4rem 2rem;
}
.technical-can__item {
  padding: 3rem 2rem;
  flex-direction: column;
  align-items: center;
}
.technical-can__image {
  aspect-ratio: 16/9;
  width: 100%;
}
.technical-can__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.technical-can__btn-wrap {
  margin-top: 3rem;
}

/*受入れまでの流れ*/
.technical-flow__container {
  padding: 2rem;
}
.technical-flow__list {
  padding: 6rem 2rem;
}
.technical-flow__list::before {
  top: 6rem;
  height: calc(100% - 12rem);
}
.technical-flow__item {
  padding: 2rem 1rem;
}
.technical-flow__item::before {
  z-index: -1;
  bottom: 1rem;
  left: 1rem;
  opacity: 0.5;
  font-size: 5rem;
}

/*==============================
    共済保険
==============================*/
/*共済とは？*/
.mutual-about__wrap {
  flex-direction: column;
  align-items: center;
  gap: 4rem;
}
.mutual-about__image {
  width: 80%;
  max-width: 540px;
}

/*取り扱い保険*/
.mutual-products {
  /*補償内容*/
}
.mutual-products__item {
  padding: 6rem 2rem;
}
.mutual-products__wrap {
  flex-direction: column;
  align-items: center;
}
.mutual-products__image {
  width: 100%;
  aspect-ratio: 16/9;
}
.mutual-products__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.mutual-products__box .txt {
  padding: 3rem 3rem 0 3rem;
}
.mutual-products--guarantee__list {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}
.mutual-products--guarantee__item {
  padding: 3rem 1rem;
}
.mutual-products--guarantee__title {
  margin-bottom: 1rem;
}

/*==============================
    不動産・その他
==============================*/
.estate-section__wrap {
  flex-direction: column;
  align-items: center;
  padding: 4rem 2rem;
  gap: 3rem;
}
.estate-section__image {
  aspect-ratio: 16/9;
  width: 100%;
}
.estate-section__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.other-section__container {
  padding: 4rem 2rem;
}
.other-section__wrap {
  flex-direction: column;
  align-items: center;
  gap: 3rem;
  margin-bottom: 4rem;
}
.other-section__image {
  width: 60%;
  max-width: 200px;
  aspect-ratio: 1;
}
.other-section__title {
  padding-inline: 2rem;
}
.other-section__cont {
  padding: 4rem 2rem;
}
.other-section__list {
  flex-direction: column;
  gap: 3rem;
}
.other-section__item {
  padding: 4rem 2rem;
}
.other-section__item-title {
  margin-bottom: 2rem;
}
.other-section__item::before {
  left: 2rem;
}

/*==============================
    お知らせ詳細
==============================*/
.news-detail .com-title0 {
  font-size: clamp(18px, 2.868vw, 22px);
}
.news-detail__box {
  padding: 20px 10px 30px 10px;
}
.news-detail time,
.news-detail .tag {
  font-size: 13px;
}
.news-detail .paginated__list {
  margin-top: 30px;
}

/*==============================
    お知らせ一覧
==============================*/
.news {
  padding-block: 60px;
}

.com-news__item a {
  padding: 2rem;
  gap: 2rem;
}
.com-news__item:has(.com-news__image) .com-news__wrap {
  width: calc(100% - 18.9rem) !important;
}

/*タグリスト(SP)
-----------------------------*/
.tag-select {
  margin-left: auto;
  text-align: center;
  margin-bottom: 20px;
}
.tag-select__box {
  min-width: 125px;
}
.tag-select__box::after {
  right: 12px;
}
.tag-select__dropdown {
  padding: 0.5em 2.5em 0.5em 0.5em;
}

/*==============================
  サイトマップ
==============================*/
.site {
  padding: 60px 0;
}
.site__list {
  display: grid;
  grid-auto-flow: row;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  justify-content: center;
  -moz-column-gap: 20px;
       column-gap: 20px;
}
.site__item {
  height: 60px;
}
.site__item a {
  padding-left: 10px;
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  font-size: 16px;
  justify-content: space-between;
}
.site__item a::after {
  width: 10px;
  transform: rotate(-45deg) translate(-10px, -10px);
}

/*==============================
  お問い合わせ
==============================*/
.contact {
  padding-block: 60px;
}
.contact .com-table {
  margin-bottom: 30px;
}
.contact .com-table th {
  text-align: left;
  font-size: 15px;
  letter-spacing: 0;
  padding-inline: 10px;
}
.contact .com-table th,
.contact .com-table td {
  padding-block: 1.5rem;
}
.contact .com-btn {
  margin-inline: auto;
  margin-top: 50px;
  width: 100%;
  max-width: 300px;
  margin-inline: auto;
}
.contact select,
.contact textarea,
.contact input[type=tel],
.contact input[type=text],
.contact input[type=email],
.contact input[type=url] {
  padding: 7px;
}
.contact .upload-item-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.contact .upload-item-wrap .thumb {
  width: clamp(184px, 57.37vw, 440px);
  height: clamp(184px, 57.37vw, 440px);
  margin: 0px;
}
.contact .upload-item-wrap .ancion-btn-wrap {
  display: flex;
  justify-content: center;
  margin-top: clamp(15px, 4.56vw, 35px);
  gap: clamp(8px, 2.61vw, 20px);
  margin-inline: auto;
}

/*==============================
  お問い合わせ完了
==============================*/
.complete {
  padding-block: 60px;
}
.complete__box {
  text-align: center;
  line-height: 1.733;
}
.complete__btn {
  margin-top: 50px;
}
.complete__btn:hover {
  opacity: 0.5;
}

/*==============================
プライバシーポリシー
==============================*/
.privacy {
  padding-block: 60px;
}
.privacy .com-title01 .ja {
  font-size: 24px;
  text-align: center;
}
.privacy .com-title02 {
  font-size: 19px;
  padding-bottom: 2px;
}
.privacy__box {
  margin-bottom: 30px;
}
.privacy__box:last-child {
  margin-bottom: 0;
}

/*==============================
    NOT FOUND
==============================*/
.e404 {
  padding: 60px 0;
}
.e404__text {
  width: 90%;
  margin: 0 auto;
}
.e404__text p,
.e404__text a {
  font-size: 15px;
  text-align: center;
}

/*==============================
    フッター
==============================*/
.footer {
  background-color: var(--color-gray);
}
.footer__inner {
  flex-direction: column;
  padding: 4rem 3rem;
}
.footer__wrap {
  flex-direction: column;
  align-items: center;
  margin-bottom: 2rem;
}
.footer .sns__list {
  display: flex;
  gap: 20px;
}
.footer .sns__item {
  width: 40px;
  aspect-ratio: 1;
}
.footer address {
  text-align: center;
}
.footer .tel {
  flex-direction: column;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  font-size: 2rem;
  gap: 1rem;
  margin-bottom: 3rem;
}
.footer .tel a {
  font-size: 4rem;
}
.footer .tel a::before {
  width: 3rem;
}
.footer .tel .replace {
  margin-left: 0;
}
.footer-nav__list {
  display: flex;
  flex-direction: column;
  margin-top: 10px;
  gap: 2rem;
}
.footer-nav__item a {
  font-size: clamp(16px, 2.607vw, 20px);
}
.footer-nav__item .dropdown-menu__list {
  margin-top: 2rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.footer-nav__item .dropdown-menu__item a {
  font-size: clamp(16px, 2.607vw, 20px);
  display: flex;
  align-items: center;
  gap: 1.2rem;
  color: rgba(13, 22, 47, 0.6);
}
.footer-nav__item .dropdown-menu__item a::before {
  content: "";
  display: block;
  width: 1rem;
  height: 1px;
  background-color: var(--color-font);
}
.footer small {
  padding-block: 2rem;
  gap: 1rem 0;
}