@charset "UTF-8";
/*! destyle.css v4.0.0 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -webkit-tap-highlight-color: transparent; /* 3*/
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Replaced content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none; /* 1 */
  -moz-appearance: none;
       appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit; /* 2 */
}

/**
 * Correct cursors for clickable elements.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
}

button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
  cursor: default;
}

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */
:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * Correct the outline style in Safari.
 */
[type=search] {
  outline-offset: -2px; /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
 * Fix appearance for Firefox
 */
[type=number] {
  -moz-appearance: textfield;
}

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable]:focus {
  outline: auto;
}

/* Tables */
/* ============================================ */
/**
1. Correct table border color inheritance in all Chrome and Safari.
*/
table {
  border-color: inherit; /* 1 */
  border-collapse: collapse;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}

/* ============================================ */
/* function */
/* ============================================ */
/*------------------------------------------------------------------------------*/
/*------------------------------------------------------------------------------*/
/*------------------------------------------------------------------------------*/
/* ============================================ */
/* px → rem */
/* ============================================ */
/* ============================================ */
/* variable */
/* ============================================ */
/* @use 'mixins'; */
/* ============================================ */
/* breakpoint */
/* ============================================ */
/*
360
430 iphone
768 tablet
1024
1280
1281
*/
/* ============================================ */
/* mixin/*
/* ============================================ */
/* ============================================ */
/* base*/
/* ============================================ */
html {
  overflow-x: hidden;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.6;
  /* letter-spacing: 0.05em; */
  letter-spacing: 0;
  color: #000;
  scroll-behavior: smooth;
}
@media (max-width: 1399px) {
  html {
    font-size: 16px;
  }
}
@media screen and (max-width: 768px) {
  html {
    line-height: 1.6;
  }
}

body {
  overflow-x: hidden;
  position: relative;
}
p, h1, h2, h3, h4 {
  margin: 0;
}

a {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  color: #333;
}

a:active, a:hover {
  color: #333;
  text-decoration: underline;
}

ul, li {
  margin: 0;
  padding: 0;
}

ul, li, a {
  text-decoration: none !important;
  list-style: none;
}

img {
  vertical-align: middle;
  image-rendering: auto;
  width: 100%;
  height: auto;
}

.indent {
  padding-left: 1em;
  text-indent: -1em;
}

.indent span {
  padding-left: 1em;
}

.red {
  color: #E63B1D;
}

a[href^="tel:"] {
  cursor: default;
}

@media screen and (min-width: 1025px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
/* アンカーリンク anchor_link */
@media (max-width: 767px) {
  [id] {
    scroll-margin-top: 64px;
  }
}
/*========================
  text
========================*/
.text.list {
  padding-left: 1em;
  position: relative;
}
.text.list::before {
  content: "・";
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
}

.text.list.kome::before {
  content: "※";
}

.text.right {
  text-align: right;
}

/* ============================================ */
/* utility */
/* ============================================ */
.u-visuallyHidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.c-pageLink {
  color: #AC0000;
  display: inline-block;
  position: relative;
  text-decoration: none !important;
}
.c-pageLink::after {
  content: "";
  position: absolute;
  bottom: 2px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #AC0000;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: left;
          transform-origin: left;
  -webkit-transition: -webkit-transform 0.3s ease-out;
  transition: -webkit-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
  transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
}
.c-pageLink:hover {
  color: #AC0000;
}
.c-pageLink:hover::after {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
}

/* 改行 */
.u-ib {
  display: inline-block;
}
@media (max-width: 599px) {
  .u-ib {
    display: inline;
  }
}

.u-ib-all {
  display: inline-block;
}

.u-block {
  display: block;
}

.u-nobr {
  white-space: nowrap;
}

@media (min-width: 799px) {
  .u-br80 {
    display: none;
  }
}

/* pcは非表示 */
.u-br-pcno {
  display: none;
}
@media screen and (max-width: 430px) {
  .u-br-pcno {
    display: block;
  }
}

/* spは非表示 */
.u-br-spno {
  display: block;
}
@media screen and (max-width: 430px) {
  .u-br-spno {
    display: none;
  }
}

/* pcとspは非表示 */
.u-br-pcsspno {
  display: block;
}
@media (min-width: 769px) and (max-width: 1290px) {
  .u-br-pcsspno {
    display: none;
  }
}
@media (max-width: 600px) {
  .u-br-pcsspno {
    display: none;
  }
}

/* grid */
.u-grid {
  width: 100%;
  display: grid;
  grid-template-rows: repeat(auto-fit, 1fr);
  grid-template-columns: repeat(2, 1fr); /* 4列レイアウト */
  /* 1920-800__38-20 */
  gap: 10px clamp(1.25rem, 0.446rem + 1.607vw, 2.375rem); /*上下　左右*/
}
.u-grid.--grid1 {
  grid-template-columns: repeat(1, 1fr);
}

/* flexbox */
.u-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.u-inline-flex {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}

.u-column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.u-flex-half {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 50%;
          flex: 1 1 50%;
  max-width: 50%;
}
@media screen and (max-width: 430px) {
  .u-flex-half {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
    max-width: 100%;
  }
}

/* fix */
.u-fixed {
  height: 100vh;
  position: fixed;
  top: 0;
}

/* 配置 */
.u-txt-c {
  text-align: center !important;
}
@media screen and (max-width: 430px) {
  .u-txt-c {
    text-align: left !important;
  }
}

.u-txt-r {
  text-align: right !important;
}
@media screen and (max-width: 430px) {
  .u-txt-r {
    text-align: left !important;
  }
}

/* フォント */
.u-f16 {
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  .u-f16 {
    font-size: 14px;
  }
}

/* 下線 */
.u-border {
  border: 1px solid #333;
  padding: 1rem;
  border-radius: 10px;
}
@media screen and (max-width: 768px) {
  .u-border {
    margin-bottom: 1.5rem !important;
  }
}

/* 背景 */
.u-bg {
  background: #aaa;
  padding: 1rem 50px;
  border-radius: 10px;
  display: inline-block;
}

/* 余白 */
.u-ptpb-50 {
  padding-top: 50px;
  padding-bottom: 50px;
}

.u-ptpb-80 {
  /* 1920-800__80-40 */
  padding-top: clamp(2.5rem, 0.714rem + 3.571vw, 5rem);
  padding-bottom: clamp(2.5rem, 0.714rem + 3.571vw, 5rem);
}
@media (max-width: 399px) {
  .u-ptpb-80 {
    padding-top: 20px;
    padding-bottom: 20px;
  }
}

.u-ptpb-100 {
  /* 1440-375(100-50) */
  padding-top: clamp(3.125rem, 2.025rem + 4.695vw, 6.25rem);
  padding-bottom: clamp(3.125rem, 2.025rem + 4.695vw, 6.25rem);
}

.u-mb80 {
  /* 1440-375(80-40) */
  margin-bottom: clamp(2.5rem, 1.62rem + 3.756vw, 5rem);
}

.u-mt2 {
  margin-top: clamp(1.25rem, calc(0.7712765957rem + 2.1276595745vw), 2.5rem);
}

.u-mb0 {
  margin-bottom: 0 !important;
}

.u-mb100 {
  margin-bottom: clamp(3.75rem, calc(3.0319148936rem + 3.1914893617vw), 5.625rem);
}

.u-mb3 {
  margin-bottom: 3rem;
}
@media screen and (max-width: 768px) {
  .u-mb3 {
    margin-bottom: 1rem;
  }
}

/* position */
.u-relative {
  position: relative;
}

/*
---------------------------------------------------------------------------------------------*/
.--right {
  text-align: right;
}

.--wht {
  color: #fff;
}

/* ============================================ */
/* animation */
/* ============================================ */
/* GSAPアニメーション前の初期状態 */
/* .js-utop,
.js-img-lr,
.js-fade-up,
.js-fade-upn,
.js-fade-up01,
.js-fade-up02,
.js-fade-up03,
.js-fade-up04 {
  opacity: 0;
}

.js-utop,
.js-fade-up,
.js-fade-upn,
.js-fade-up01,
.js-fade-up02,
.js-fade-up03,
.js-fade-up04 {
  transform: translateY(30px);
}

.js-img-lr {
  clip-path: inset(0 90% 0 0);
  transform: scale(1.5);
} */
/* ============================================ */
/*  カラムレイアウト*/
/* ============================================ */
/* --- 大枠計算用のスタイル
------------------------------------------------------------------------------------------ */
:root {
  /* 中央カラムの幅を定義 1919pxから1100px（762px→480px） */
  --center-width: clamp(30rem, 6.328rem + 34.432vw, 47.625rem);
  /* 右カラムの幅を定義 1919pxから1200px（350px→160px） */
  --right-width: clamp(10rem, -9.819rem + 26.426vw, 21.875rem);
  /* 左カラムの幅を定義 1919pxから1200px（808px→530px） */
  --left-width: calc(100% - var(--center-width) - var(--right-width));
  /* 左カラムの幅を定義 1099pxから800px（614px→320px） */
  --left-width2: clamp(20rem, -29.164rem + 98.328vw, 38.375rem);
}

/* --- ●左カラム（固定） --- */
.column-left {
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: var(--left-width);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  /* .c-logoPc を上下中央にしないため、justify-contentを変更 */
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

/* --- ●右カラム（固定） --- */
.column-right {
  position: fixed;
  top: 0;
  right: 0;
  height: 100vh;
  width: var(--right-width);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

/* --- ●中央カラム（スクロール対象） --- */
.column-center {
  margin-right: var(--right-width);
  margin-left: var(--left-width);
  width: var(--center-width);
  -webkit-box-shadow: 0px 6px 10px rgba(0, 0, 0, 0.16);
          box-shadow: 0px 6px 10px rgba(0, 0, 0, 0.16);
}

/* --- 1099px以下 --- */
@media (max-width: 1099px) {
  /* 左カラム幅変更 */
  .column-left {
    width: var(--left-width2);
  }
  /* 右カラム非表示 */
  .column-right {
    width: 0;
    display: none;
  }
  /* 中央カラムの左マージン変更 */
  .column-center {
    margin-left: var(--left-width2);
  }
}
/* --- 768px以下：全カラム縦積み --- */
@media (max-width: 768px) {
  .column-left,
  .column-center,
  .column-right {
    position: static; /* 固定解除 */
    width: 100%;
    height: auto;
    margin: 0;
  }
  /* 右カラムのボーダーを上側に変更（横線になる） */
  .column-right {
    display: none;
  }
  /* メインコンテンツ余白リセット */
}
/* ---カラム内の内容
	------------------------------------------------------------------------------------------ */
/* --- 左カラム（固定） --- */
.column-left {
  background-image: url("../images/column-left.webp");
  background-size: cover;
  background-position: bottom right;
}

@media (min-width: 1921px) {
  .column-left {
    background-image: url("../images/column-left-l.webp");
    background-position: bottom;
  }
}
@media (max-width: 1199px) {
  .column-left {
    background-position: bottom right 25%;
  }
}
@media (max-width: 768px) {
  .column-left {
    display: none;
  }
}
.c-logoPc {
  max-width: 638px;
  margin-top: 50px;
  margin-right: auto;
  margin-left: auto;
  padding: 0 50px;
  text-align: center;
}
@media (max-width: 768px) {
  .c-logoPc {
    display: none;
  }
}

/* 左メニュー */
.right-menuContact {
  max-width: 638px;
  width: 100%;
  /* flex-growで空いてる領域を埋めて真ん中に */
  margin: auto;
}

.right-menu,
.p-sidebarContact {
  padding: 0 50px;
}
@media (min-width: 1420px) {
  .right-menu,
  .p-sidebarContact {
    padding: 0 70px;
  }
}

/* --- 右カラム（固定） --- */
.column-right {
  /* background-image: url('../images/column-right.webp');
  background-size: cover;
  background-position: center; */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /*初期値非表示*/
  opacity: 0;
  -webkit-transform: translateY(100px);
          transform: translateY(100px);
}

.c-txt__vertical {
  display: block;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  margin-bottom: 50px;
}

/*--------------------------------------------------------------------
	 簡易的なコピー・キャプチャ防止
--------------------------------------------------------------------*/
/* ===================================================================
//  l- (レイアウト要素)
// =================================================================== */
/* 下層ページ */
.lowerPage {
  background: #efefef;
}

/* ヘッダー
---------------------------------------------------------------------------------------------*/
.l-header {
  position: fixed;
  top: 15px;
  left: 0;
  right: 0;
  z-index: 999;
  isolation: isolate;
  /* height: clamp(4.375rem, 2.292rem + 2.778vw, 5.625rem); */ /* 1920-1200(90-70) */
  width: 96.8%;
  /* padding: clamp(0.938rem, 0.417rem + 0.694vw, 1.25rem); */ /*20-15*/
  padding: 15px 15px;
  margin: 0 auto;
  background: #fff;
  border-radius: 20px;
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
          box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  will-change: auto; /* 不要な will-change を避ける */
  -webkit-transform: translateZ(0);
          transform: translateZ(0); /* 独立したレイヤーを作成 */
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; /* 裏面の描画を無効化 */
  -webkit-transition: padding 0.3s ease;
  transition: padding 0.3s ease;
}
.l-header.is-scrolled {
  padding: 8px 15px;
}
.l-header.is-scrolled .c-global-nav__link::after,
.l-header.is-scrolled .c-global-nav__item.is-active .c-global-nav__link::after {
  bottom: -9px;
}

@media (max-width: 539px) {
  .l-header {
    height: clamp(3.125rem, 0.284rem + 12.121vw, 4.375rem); /* 540-375(70-50) */
    border-radius: 10px;
  }
}
.l-header__inner {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0 auto;
  height: 100%;
}
.l-header__inner.u-flex {
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}

/* セクション
---------------------------------------------------------------------------------------------*/
.l-section {
  position: relative;
}

/* コンテンツ幅
---------------------------------------------------------------------------------------------*/
/* コンテンツ幅　下層ヘッダー */
.l-container172 {
  position: relative;
  /* border: 2px dashed limegreen; */
  width: 89.6%;
  /* 1920-800__100-40 */
  /* 1920-375__100-30 */
  margin: -1.5% 0 clamp(1.875rem, 0.813rem + 4.531vw, 6.25rem) auto;
  /* 1920-800__160-110 */
  padding-top: clamp(6.875rem, 4.643rem + 4.464vw, 10rem);
  /* 1920-800__120-50 */
  /* padding-left:clamp(3.125rem, 0.000rem + 6.25vw, 7.5rem); */
  padding-left: 8.6%;
}
.l-container172 .l-container152b {
  width: 88.3%;
}
@media (max-width: 1399px) {
  .l-container172 {
    /* width: 95%; */
    width: 92.6%;
    /* padding-left: 10.1%; */
    padding-left: 7.4%;
  }
  .l-container172 .l-container152b {
    width: 91.7%;
  }
}
@media (max-width: 767px) {
  .l-container172 {
    padding-top: clamp(5rem, 3.346rem + 7.059vw, 6.875rem);
  }
}

/* コンテンツ幅　トップページ・下層 ページ*/
.l-container152 {
  /* border: 1px dotted magenta; */
  width: 79.1%;
  margin: 0 auto;
}
.l-container152.--bg-wht {
  background: #fff;
  /* 1920-800_650-30 */
  border-radius: clamp(1.875rem, 0.536rem + 2.679vw, 3.75rem);
}
@media (max-width: 1399px) {
  .l-container152 {
    width: 85%;
  }
}
@media (max-width: 799px) {
  .l-container152 {
    /* width: 85%; */
  }
  .l-container152.--release {
    width: 100%;
  }
}
@media (max-width: 799px) and (max-width: 699px) {
  .l-container152.--release {
    width: 85%;
  }
}
.l-container152 .l-container128 {
  /* border: 1px dotted green; */
  width: 78.9%;
  margin: 0 auto;
}
@media (max-width: 1399px) {
  .l-container152 .l-container128 {
    width: 82.3%;
  }
}
@media (max-width: 799px) {
  .l-container152 .l-container128.--release {
    width: 100%;
  }
}
@media (max-width: 549px) {
  .l-container152 .l-container128 {
    width: 90%;
  }
}

/* 親要素からはみ出て全幅 */
.l-full {
  /* border: 1px solid red; */
  position: relative;
  margin: 0 calc(50% - 50vw);
  margin-top: 1rem;
  margin-bottom: 1rem;
  width: 100vw;
}

.l-full.--innerParent {
  /* 画面いっぱいにして親要素の幅に戻す */
  padding: 4px calc(50vw - 50% + 8px);
}

/* フッター
----------------------------------------------------------------------------------------*/
.l-footer {
  background: #083783;
  color: #fff;
}
.l-footer a {
  color: #fff;
}

/* 下層ページ　ヘッダー下
 ----------------------------------------------------------------------------------------*/
/* ============================================ */
/* nav */
/* ============================================ */
.c-global-nav {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  opacity: 1;
  pointer-events: auto;
  /* 【追記】ハンバーガーメニュー展開時にナビゲーションを表示する */
}
@media (max-width: 1199px) {
  .c-global-nav {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    opacity: 0;
    pointer-events: none;
    display: none;
    -webkit-box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    border-radius: 0 0 20px 20px;
    padding: 20px;
    margin-top: 10px;
  }
  .c-global-nav .c-global-nav__item:nth-child(1),
  .c-global-nav .c-global-nav__item:nth-child(2),
  .c-global-nav .c-global-nav__item:nth-child(3),
  .c-global-nav .c-global-nav__item:nth-child(4),
  .c-global-nav .c-global-nav__item:nth-child(5),
  .c-global-nav .c-global-nav__item:nth-child(6),
  .c-global-nav .c-global-nav__item:nth-child(7),
  .c-global-nav .c-global-nav__item:nth-child(8),
  .c-global-nav .c-global-nav__item:nth-child(9) {
    display: none;
  }
}
@media (max-width: 1199px) {
  .is-menu-open .c-global-nav {
    display: block;
    opacity: 1;
    pointer-events: auto;
  }
}

@media (max-width: 1199px) {
  /* メニューが開いた時も8-9番目は非表示のまま */
  .is-menu-open .c-global-nav .c-global-nav__item:nth-child(8),
  .is-menu-open .c-global-nav .c-global-nav__item:nth-child(9) {
    display: none;
  }
  /* メニューが開いた時は1-7番目を表示 */
  .is-menu-open .c-global-nav .c-global-nav__item:nth-child(1),
  .is-menu-open .c-global-nav .c-global-nav__item:nth-child(2),
  .is-menu-open .c-global-nav .c-global-nav__item:nth-child(3),
  .is-menu-open .c-global-nav .c-global-nav__item:nth-child(4),
  .is-menu-open .c-global-nav .c-global-nav__item:nth-child(5),
  .is-menu-open .c-global-nav .c-global-nav__item:nth-child(6),
  .is-menu-open .c-global-nav .c-global-nav__item:nth-child(7) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.c-global-nav__list {
  list-style: none;
  padding: 0;
  margin: 0;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.c-global-nav__list.u-flex {
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}
@media (max-width: 1199px) {
  .c-global-nav__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    /* モバイルでは左寄せに戻す */
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}

.c-global-nav__item {
  padding: 0 15px;
  /* 1440-1200(15-10) */
  padding: 0 clamp(0.625rem, -0.938rem + 2.083vw, 0.938rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 1199px) {
  .c-global-nav__item {
    padding: 0;
  }
}

.c-global-nav__link {
  position: relative;
  text-decoration: none !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
  font-size: 18px;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
  -webkit-transition: color 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: color 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
  transition: color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease; /* トランジションを拡張 */
  -webkit-transform: translateZ(0);
          transform: translateZ(0); /* 独立したレイヤーを作成 */
  will-change: transform, box-shadow; /* パフォーマンス向上 */
  cursor: pointer; /* インタラクティブさを強調 */
  /* ホバー時: 下線アニメーション + スケールアップと影で浮き上がり効果 */
  /* アクティブ時: 押し込み効果（アクティブクラスは親のliに付与されるので、セレクタを調整） */
}
.c-global-nav__link::after {
  position: absolute;
  left: 0;
  content: "";
  width: 100%;
  height: 9px;
  background: #083783;
  bottom: -16px;
  -webkit-transform-origin: right top;
          transform-origin: right top;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  will-change: transform;
}
.c-global-nav__link:hover {
  color: #0a4b9e;
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.c-global-nav__link:hover::after {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
  -webkit-transform-origin: left top;
          transform-origin: left top;
}
.c-global-nav__link:active {
  color: #063166; /* 少し暗くして押し込んだ印象 */
  -webkit-transform: translateY(1px);
          transform: translateY(1px);
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
          box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); /* 影を弱めて平坦に */
}
@media (max-width: 1399px) {
  .c-global-nav__link {
    font-size: 16px;
  }
}
@media (max-width: 1199px) {
  .c-global-nav__link {
    padding: 15px 20px;
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border-bottom: 1px solid #eee;
    border-bottom-color: #eee;
  }
}

/* アクティブなアイテム（元のスタイルを基に拡張） */
.c-global-nav__item.is-active .c-global-nav__link {
  position: relative;
  color: #063166; /* アクティブ時のテキスト色を少し暗く（視覚強調） */
  -webkit-transform: translateY(1px);
          transform: translateY(1px); /* 軽い押し込み効果を追加 */
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
          box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); /* 影を弱めて */
}
.c-global-nav__item.is-active .c-global-nav__link::after {
  position: absolute;
  left: 0;
  content: "";
  width: 100%;
  height: 9px;
  background: #083783;
  bottom: -16px;
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}

/* ===================================================================
//  c-global-nav の末尾2つのアイテム（ダウンロード/お問い合わせ）のスタイル調整
※down-contact
// =================================================================== */
/* 追加: li要素に疑似要素分の余裕を入れる */
.c-global-nav__list li:nth-child(8),
.c-global-nav__list li:nth-child(9) {
  /* padding-bottom: 20px; */
  position: relative;
  z-index: 10;
}

/* 例外：8番目と9番目のliのリンクには下線を表示しない（疑似要素非表示） */
.c-global-nav__list li:nth-child(8) .c-global-nav__link.is-active::after,
.c-global-nav__list li:nth-child(9) .c-global-nav__link.is-active::after,
.c-global-nav__list li:nth-child(8) .c-global-nav__link::after,
.c-global-nav__list li:nth-child(9) .c-global-nav__link::after {
  content: none;
}

.c-global-nav__list li:nth-child(8),
.c-global-nav__list li:nth-child(9) {
  padding-right: 0;
  /* height: 80px; */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.c-global-nav__list li:nth-child(8) {
  /* margin-left: 36px;  */
  /* ダウンロードボタンの左側の間隔 */
}

.c-global-nav__list li:nth-child(9) {
  /* margin-left: 10px; */
  /* お問い合わせボタンの左側の間隔 (ダウンロードとの間隔) */
}
@media (max-width: 1199px) {
  .c-global-nav__list li:nth-child(9) {
    margin-left: 0; /* モバイルでのリセット */
  }
}

.c-global-nav__list li:nth-child(8) .c-global-nav__link,
.c-global-nav__list li:nth-child(9) .c-global-nav__link,
.c-header-buttons__link {
  text-decoration: none !important;
  border: 1px solid #083783;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 20px 34px;
  /* 1440-1200(20-11)(34-7) */
  padding: clamp(0.688rem, -2.125rem + 3.75vw, 1.25rem) clamp(0.438rem, -8rem + 11.25vw, 2.125rem);
  font-weight: 600;
  border-radius: 10px;
  text-align: center;
  -webkit-transition: background-color 0.3s ease, color 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: background-color 0.3s ease, color 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: background-color 0.3s ease, color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
  transition: background-color 0.3s ease, color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease; /* トランジションを拡張 */
  white-space: nowrap;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer; /* カーソルを追加してインタラクティブさを強調 */
}

/* 1199px以下でボタンサイズを小さく */
@media (max-width: 1199px) {
  .c-global-nav__list li:nth-child(8) .c-global-nav__link,
  .c-global-nav__list li:nth-child(9) .c-global-nav__link,
  .c-header-buttons__link {
    padding: 8px 16px;
    font-size: 14px;
    border-radius: 6px;
  }
}
/* 8番目のアイテム：ダウンロードボタン（個別スタイル） */
.c-global-nav__list li:nth-child(8) .c-global-nav__link,
.c-header-buttons__link--download {
  /* 【個別】通常スタイル */
  color: #083783;
  background-color: #fff;
  /* 【個別】ホバー時: 背景を薄青に変更、影を強くして浮き上がり効果 */
  /* 【個別】アクティブ時: 押し込み効果 */
}
.c-global-nav__list li:nth-child(8) .c-global-nav__link:hover,
.c-header-buttons__link--download:hover {
  color: #fff;
  background-color: #0a4b9e; /* 明るい青でコントラストアップ */
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
  -webkit-box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
          box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}
.c-global-nav__list li:nth-child(8) .c-global-nav__link:active, .c-global-nav__list li:nth-child(8) .c-global-nav__link.is-active, .c-global-nav__item:nth-child(8).is-active .c-global-nav__list li:nth-child(8) .c-global-nav__link,
.c-header-buttons__link--download:active,
.c-header-buttons__link--download.is-active,
.c-global-nav__item:nth-child(8).is-active .c-header-buttons__link--download {
  color: #fff;
  background-color: #083783; /* 通常の青に戻すが、押し込みで区別 */
  -webkit-transform: translateY(2px);
          transform: translateY(2px);
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
          box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

/* 9番目のアイテム：お問い合わせボタン（個別スタイル） */
.c-global-nav__list li:nth-child(9) .c-global-nav__link,
.c-header-buttons__link--contact {
  /* 【個別】通常スタイル */
  color: #fff;
  background-color: #083783;
  /* 【個別】ホバー時: 背景を明るく変更、影を強くして浮き上がり効果 */
  /* 【個別】アクティブ時: 押し込み効果 */
}
.c-global-nav__list li:nth-child(9) .c-global-nav__link:hover,
.c-header-buttons__link--contact:hover {
  color: #fff;
  background-color: #0a4b9e;
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
  -webkit-box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
          box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* 影を強めて */
}
.c-global-nav__list li:nth-child(9) .c-global-nav__link:active, .c-global-nav__list li:nth-child(9) .c-global-nav__link.is-active, .c-global-nav__item:nth-child(9).is-active .c-global-nav__list li:nth-child(9) .c-global-nav__link,
.c-header-buttons__link--contact:active,
.c-header-buttons__link--contact.is-active,
.c-global-nav__item:nth-child(9).is-active .c-header-buttons__link--contact {
  color: #fff;
  background-color: #063166; /* 少し暗い青で押し込んだ印象 */
  -webkit-transform: translateY(2px);
          transform: translateY(2px);
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
          box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); /* 影を弱めて */
}

/* ===================================================================
//  c-global-nav の外のアイテム（ダウンロード/お問い合わせ）
※soto-down-contact
// =================================================================== */
/* ===================================================================
//  メガメニュー
// =================================================================== */
/* ===================================================================
// Project: p-megamenu (メガメニュー)
// =================================================================== */
.p-megamenu {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  padding-top: 10px;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.3s, visibility 0.3s;
  transition: opacity 0.3s, visibility 0.3s;
  z-index: 90;
}

@media (max-width: 1199px) {
  .p-megamenu {
    display: none;
  }
}
.p-megamenu__container {
  background-color: #fff;
  border-radius: 20px;
  padding: 40px 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /* 1920-1200__85-50 */
  gap: 0 clamp(3.125rem, -0.521rem + 4.861vw, 5.313rem);
  -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
          box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
  /* min-height: 400px;
  max-width: 100%; */
  margin: 0 auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.p-megamenu__left {
  /* 1920-1200__380-160 */
  width: clamp(10rem, -12.917rem + 30.556vw, 23.75rem);
}

.p-megamenu__right {
  /* flex-grow: 1; */
  /* flex: 1; */
  width: 920px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  /* 1920-1200__45-30 */
  gap: 20px clamp(1.875rem, 0.313rem + 2.083vw, 2.813rem);
}

/* ===================================================================
// Component: c-service-card (サービスカード)
// =================================================================== */
.c-service-card {
  display: block;
  text-decoration: none;
  text-align: center;
  -webkit-transition: -webkit-transform 0.2s;
  transition: -webkit-transform 0.2s;
  transition: transform 0.2s;
  transition: transform 0.2s, -webkit-transform 0.2s;
}

.c-service-card:hover .c-service-card__img img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

.c-service-card__img {
  border-radius: 20px;
  margin-bottom: 0.5rem;
  position: relative;
  overflow: hidden;
}

.c-service-card__img img {
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
}

.c-service-card__text {
  font-size: 16px;
  line-height: 1.4;
  margin: 0;
}

/* ===================================================================
// Component: c-overlay (オーバーレイ)
// =================================================================== */
.c-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 40;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.3s, visibility 0.3s;
  transition: opacity 0.3s, visibility 0.3s;
  pointer-events: none;
}

.c-overlay.active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

/* ===================================================================
// Utility: u-global-nav (グローバルナビゲーション関連のユーティリティ)
// =================================================================== */
@media (min-width: 1200px) {
  .c-global-nav__item.u-has-megamenu:hover .p-megamenu {
    opacity: 1;
    visibility: visible;
  }
  .c-global-nav__item.u-has-megamenu:hover .c-global-nav__link::after {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: left top;
            transform-origin: left top;
  }
}
.p-service__ttl-box {
  display: grid;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
}

.p-service__ttl {
  /* 1920-1200__50-35 */
  font-size: clamp(2.188rem, 0.625rem + 2.083vw, 3.125rem);
  color: #083783;
  margin-bottom: 10px;
  font-weight: 800;
  font-family: "Albert Sans", sans-serif;
  line-height: 1;
  margin-top: 0;
  margin-bottom: 1rem;
}

.p-service__ttl-sub {
  /* 1920-1200__26-18 */
  font-size: clamp(1.125rem, 0.292rem + 1.111vw, 1.625rem);
  font-weight: 700;
  line-height: 1;
  margin: 0;
}

/* ============================================ */
/* hamburger */
/* ============================================ */
/* ハンバーガーメニューボタン */
.c-hamburger {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 30px;
  height: 24px;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  z-index: 100;
}

@media (max-width: 767px) {
  .c-hamburger {
    width: 30px;
    height: 20px;
  }
}
.c-hamburger__bar {
  display: block;
  width: 100%;
  height: 2px;
  background-color: #083783;
  border-radius: 2px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -webkit-transform-origin: center;
          transform-origin: center;
}

/* ハンバーガーが開いた時のバツの形 */
.c-hamburger.is-active .c-hamburger__bar:nth-child(1) {
  -webkit-transform: translateY(10.5px) rotate(45deg);
          transform: translateY(10.5px) rotate(45deg);
}

.c-hamburger.is-active .c-hamburger__bar:nth-child(2) {
  opacity: 0;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
}

.c-hamburger.is-active .c-hamburger__bar:nth-child(3) {
  -webkit-transform: translateY(-10.5px) rotate(-45deg);
          transform: translateY(-10.5px) rotate(-45deg);
}

/* PCでは非表示（デフォルト） */
@media (min-width: 1200px) {
  .c-hamburger {
    display: none;
  }
}
/* ============================================ */
/* header right (ハンバーガーとボタンのコンテナ) */
/* ============================================ */
.l-header__right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
}

/* ============================================ */
/* header actions (新規追加のダウンロードとお問い合わせボタン) */
/* ============================================ */
/* デフォルトで非表示 */
.l-header__actions.u-flex {
  display: none;
}
@media (max-width: 1199px) {
  .l-header__actions.u-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 10px;
  }
}
@media (max-width: 767px) {
  .l-header__actions.u-flex {
    display: none;
  }
}

/* ============================================ */
/* title */
/* ============================================ */
.c-section__ttl-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-bottom: 2.5rem;
}
@media (max-width: 799px) {
  .c-section__ttl-block {
    margin-bottom: 2rem;
  }
}
@media (max-width: 499px) {
  .c-section__ttl-block {
    margin-bottom: 1.5rem;
  }
}

.c-section__ttl {
  /* 1920-375(80-36) */
  font-size: clamp(2.25rem, 1.583rem + 2.848vw, 5rem);
  font-weight: 800;
  font-family: "Albert Sans", sans-serif;
  line-height: 1;
  color: #083783;
  /* margin-bottom: 0.5rem; */
  margin-bottom: 0.5rem;
}
.c-section__ttl.--wht {
  color: #fff;
}

.c-section__ttl-sub {
  /* 1920-375(24-18) */
  font-size: clamp(1.125rem, 1.034rem + 0.388vw, 1.5rem);
  line-height: 1;
}

.c-section__catch {
  /* 1920-375(50-22) */
  font-size: clamp(1.375rem, 0.95rem + 1.812vw, 3.125rem);
  font-weight: 700;
  /* line-height: 1.4; */
  line-height: 1.2;
  margin-bottom: 2.5rem;
}
@media (max-width: 1199px) {
  .c-section__catch {
    margin-bottom: 2rem;
  }
}
@media (max-width: 999px) {
  .c-section__catch {
    margin-bottom: 1.5rem;
  }
}

/* アニメーション用スタイル */
.animate-text {
  opacity: 0;
  overflow: hidden;
  display: inline-block;
}

.animate-text span {
  display: inline-block;
  opacity: 0;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
}

@-webkit-keyframes fadeInUp {
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes fadeInUp {
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
/* 1920-800(18-16) */
/* 背景の大きなCOMPANYテキスト */
.infiniteScrollText {
  position: absolute;
  top: 0px;
  /* bottom: -50px; */
  left: 54%;
  z-index: -1;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  /* 1920-375(250-70) */
  font-size: clamp(4.375rem, 1.644rem + 11.65vw, 15.625rem);
  font-weight: 800;
  font-family: "Albert Sans", sans-serif;
  line-height: 1;
  color: #F8F8F8;
  pointer-events: none; /* テキストがクリックできないように */
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; /* テキストが選択できないように */
  white-space: nowrap; /* テキストが改行されないように */
  will-change: transform, opacity; /* パフォーマンス最適化 */
}

/* 下層ページ　タイトル */
.c-lowerPage__ttl {
  color: #083783;
  /* 1920-800__26-20 */
  font-size: clamp(1.25rem, 0.982rem + 0.536vw, 1.625rem);
  font-weight: 700;
  line-height: 1.2;
}
@media (max-width: 399px) {
  .c-lowerPage__ttl {
    font-size: 18px;
  }
}

.c-lowerPage__ttl3 {
  /* 1920-800__24-18 */
  font-size: clamp(1.125rem, 0.857rem + 0.536vw, 1.5rem);
  font-weight: 500;
  margin-bottom: 1rem;
}
@media (max-width: 399px) {
  .c-lowerPage__ttl3 {
    font-size: 16px;
  }
}

.c-lowerPage__txt {
  margin-bottom: 1rem;
}

/* ============================================ */
/* btn */
/* ============================================ */
/* ===================================================================
//  c- (コンポーネント要素: c-btn内にc-btn-linkを実装)
// =================================================================== */
.c-btn-link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  text-decoration: none !important;
  color: #083783;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
  cursor: pointer;
}

.c-btn-link__text {
  position: relative;
  line-height: 1;
  padding-bottom: 5px;
  margin-right: 1.5rem;
}
.c-btn-link__text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: #083783;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: left center;
          transform-origin: left center;
  -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: -webkit-transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  will-change: transform;
}
@media (max-width: 480px) {
  .c-btn-link__text {
    font-size: 14px;
    margin-right: 1rem;
  }
}
@media (max-width: 360px) {
  .c-btn-link__text {
    font-size: 14px;
    margin-right: 0.5rem;
  }
}

:root {
  /* ボタンサイズ定義 */ /* 1440-375(100-60) */
  --button-width: clamp(3.75rem, 2.870rem + 3.756vw, 6.25rem);
}

.c-btn-link__button-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: var(--button-width);
  height: var(--button-width);
  border-radius: 50%;
  -webkit-transition: -webkit-transform 0.4s ease-out, -webkit-box-shadow 0.4s ease-out;
  transition: -webkit-transform 0.4s ease-out, -webkit-box-shadow 0.4s ease-out;
  transition: transform 0.4s ease-out, box-shadow 0.4s ease-out;
  transition: transform 0.4s ease-out, box-shadow 0.4s ease-out, -webkit-transform 0.4s ease-out, -webkit-box-shadow 0.4s ease-out;
  will-change: transform, box-shadow;
}

/* 円 */
.c-btn-link__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: var(--button-width);
  height: var(--button-width);
  border-radius: 50%;
  background-color: #083783;
}

/* 円の中 */
.c-btn-link__icon {
  /* 1440-375(40-20) */
  width: clamp(1.563rem, 1.232rem + 1.408vw, 2.5rem);
  height: clamp(1.563rem, 1.232rem + 1.408vw, 2.5rem);
  -webkit-transform: translateX(3px);
          transform: translateX(3px);
}
@media (max-width: 499px) {
  .c-btn-link__icon {
    -webkit-transform: translateX(2px);
            transform: translateX(2px);
  }
}
@media (max-width: 399px) {
  .c-btn-link__icon {
    -webkit-transform: translateX(1px);
            transform: translateX(1px);
  }
}

/* ホバーアニメーション */
.c-btn-link:hover {
  color: #0a4b9e;
}

/* 1. テキスト下線が伸びるアニメーション */
.c-btn-link:hover .c-btn-link__text::after {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
  -webkit-transform-origin: left center;
          transform-origin: left center;
}

/* 2. ボタンが拡大・浮き上がるアニメーション */
.c-btn-link:hover .c-btn-link__button-wrap {
  -webkit-transform: scale(1.08) translateY(-2px);
          transform: scale(1.08) translateY(-2px);
  -webkit-box-shadow: 0 8px 15px rgba(0, 0, 0, 0.3);
          box-shadow: 0 8px 15px rgba(0, 0, 0, 0.3);
}

/* 白ボタン */
.c-btn.--wht {
  /* background-color: tan ; */
  /* 円 */
  /* 円の中 */
  /* ホバーアニメーション */
}
.c-btn.--wht .c-btn-link {
  color: #fff;
}
.c-btn.--wht .c-btn-link__text::after {
  background-color: #fff;
}
.c-btn.--wht .c-btn-link__button {
  background-color: #fff;
}
.c-btn.--wht .c-btn-link:hover {
  color: #fff;
}

/* ============================================ */
/* cta */
/* ============================================ */
.c-cta__inner {
  background-color: #083783;
  color: #fff;
  border-radius: 40px;
  /* 1440-375(40-10) */
  padding: clamp(0.625rem, -0.035rem + 2.817vw, 2.5rem) 0;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media (max-width: 699px) {
  .c-cta__inner {
    border-radius: 20px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .c-cta__inner.u-flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media (max-width: 399px) {
  .c-cta__inner {
    border-radius: 20px;
  }
}

.c-cta__item {
  -ms-flex-preferred-size: 33.33%;
      flex-basis: 33.33%;
  text-align: center;
  /* 1440-375(30-10) */
  padding: clamp(1.25rem, 1.03rem + 0.939vw, 1.875rem) 0;
  position: relative;
}
.c-cta__item:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 0%;
  right: 0;
  height: 100%;
  width: 2px;
  background-color: rgba(255, 255, 255, 0.8);
}
@media (max-width: 699px) {
  .c-cta__item:not(:last-child)::after {
    height: 1px;
    width: 70%;
    top: auto;
    bottom: 0;
    right: 0;
    left: 0;
    margin: 0 auto;
  }
}
@media (max-width: 699px) {
  .c-cta__item {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    width: 100%;
  }
}

.c-cta__icon-wrapper {
  width: 64px;
  height: 64px;
  margin: 0 auto 20px;
}
@media (max-width: 399px) {
  .c-cta__icon-wrapper {
    width: 42px;
    height: 42px;
    margin: 0 auto 15px;
  }
}

.c-cta__text {
  font-size: 17px;
  font-weight: 500;
  margin: 0 0 5px;
  line-height: 1;
}
@media (max-width: 799px) {
  .c-cta__text {
    font-size: 16px;
  }
}

.c-cta__number {
  font-size: 34px;
  margin: 0;
  font-weight: 700;
  font-family: "Albert Sans", sans-serif;
  line-height: 2;
}
.c-cta__number a {
  color: #fff;
}
@media (max-width: 999px) {
  .c-cta__number {
    font-size: 30px;
  }
}
@media (max-width: 699px) {
  .c-cta__number {
    line-height: 1;
  }
}

.c-cta__button {
  display: inline-block;
  color: #083783;
  background-color: #fff;
  text-decoration: none;
  padding: 10px 38px;
  border-radius: 50px;
  font-weight: 700;
  margin-top: 10px;
  -webkit-transition: background-color 0.3s ease, color 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: background-color 0.3s ease, color 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: background-color 0.3s ease, color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
  transition: background-color 0.3s ease, color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  white-space: nowrap;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer;
}
.c-cta__button:hover {
  color: #083783;
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
  -webkit-box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
          box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}
.c-cta__button:active {
  -webkit-transform: translateY(2px);
          transform: translateY(2px);
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
          box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

/* ============================================ */
/* 下層ページ　lowerPage */
/* ============================================ */
.c-lowerPage {
  gap: 0 30px;
  margin-bottom: 3rem;
  /* 最後の要素 */
}
.c-lowerPage:last-of-type {
  margin-bottom: 0;
}
.c-lowerPage:last-of-type .c-lowerPage__list:last-of-type {
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .c-lowerPage {
    margin-bottom: 2rem;
  }
}

.c-lowerPage__left {
  border: 1px dashed aqua;
  /* 1920-800__290-180 */
  width: clamp(11.25rem, 6.339rem + 9.821vw, 18.125rem);
}
@media (max-width: 767px) {
  .c-lowerPage__left {
    width: 100%;
    margin-bottom: 1rem;
  }
}

.c-lowerPage__right {
  border: 1px dashed lime;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.c-lowerPage__list {
  /* 1920-800__60-30 */
  margin-bottom: clamp(1.875rem, 0.536rem + 2.679vw, 3.75rem);
}
.c-lowerPage__list-img {
  border-radius: 20px;
  overflow: hidden;
  margin-bottom: 0.4rem;
}
@media (max-width: 399px) {
  .c-lowerPage__list-img {
    border-radius: 10px;
  }
}

.c-lowerPage__list-txt {
  line-height: 1.6;
}

/* ============================================ */
/* subpage */
/* ============================================ */
/* ============================================ */
/* card */
/* ============================================ */
/* ============================================ */
/* list */
/* ============================================ */
/* ============================================ */
/* bread-crumb */
/* ============================================ */
.bread-crumb {
  position: absolute;
  bottom: 20px;
  right: 30px;
}

.crumb {
  font-size: 14px;
  margin-right: 30px;
  position: relative;
}
.crumb::after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #222;
  border-right: 2px solid #222;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  position: absolute;
  top: 9px;
  right: -16px;
  border-radius: 2px;
}
.crumb.last::after {
  content: none;
}

@media screen and (max-width: 767px) {
  .bread-crumb {
    right: 0;
    bottom: 10px;
  }
  .crumb {
    margin-right: 20px;
  }
}
/* ============================================ */
/* form */
/* ============================================ */
/* ============================================ */
/* wiget */
/* ============================================ */
/* ============================================ */
/* ============================================ */
/* ===================================================================
//  p- (プロジェクト要素: ヘッダー固有)
// =================================================================== */
.p-header__logo {
  margin-right: 0;
}

/* 1440-1200(355-222) */
.p-header__logo--link {
  display: block;
  max-width: 355px;
  width: clamp(13.875rem, -27.688rem + 55.417vw, 22.188rem);
}
@media (max-width: 499px) {
  .p-header__logo--link {
    width: 70%;
  }
}

/* ============================================ */
/* mobile*/
/* ============================================ */
/* ============================================ */
/* トップnews */
/* ============================================ */
/* ============================================ */
/* ============================================ */
/* ============================================ */
/* hero */
/* ============================================ */
.p-topHero {
  position: relative;
  height: 100vh;
  background-image: url("../images/hero-bg.webp");
  background-blend-mode: multiply; /* overlayなども可 */
  background-size: cover;
  background-position: top right;
  background-repeat: no-repeat;
  padding-top: 1.5%;
  overflow: hidden; /*  はみ出た要素を隠す */
  width: 100%;
}
@media (max-width: 599px) {
  .p-topHero {
    height: 80vh;
  }
}

/* 動画 */
.p-topHero__video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: -1;
}

/* すりガラスフィルター */
.glass-shape {
  position: absolute;
  z-index: 0;
  left: -15%;
  top: 56%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  /* 1920-375(1149-305)
  1920-375(912-242) */
  width: clamp(19.063rem, 6.259rem + 54.628vw, 71.813rem);
  height: clamp(15.125rem, 4.961rem + 43.366vw, 57rem);
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
  mask-image: url("../images/blur-logo.svg");
  -webkit-mask-image: url("../images/blur-logo.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  backdrop-filter: blur(10px); /* ぼかし度 */
  background-color: rgba(255, 255, 255, 0.1); /* 透過 度*/
  /* will-change: transform;  */ /* GPU アクセラレーションを有効化 */
  will-change: transform, opacity, filter, clip-path;
  contain: layout style paint; /* レイアウト計算を分離 */
  pointer-events: none; /* マウスイベントを無視 */
  /* ★ 光の反射用グラデーション */
}
.glass-shape::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(rgba(255, 255, 255, 0.2)), color-stop(rgba(255, 255, 255, 0.4)), color-stop(rgba(255, 255, 255, 0.2)), to(transparent));
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0.2), transparent);
  -webkit-transform: translateX(var(--gradient-position, -100%));
          transform: translateX(var(--gradient-position, -100%));
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

/* ★ パフォーマンス最適化 */
@media (prefers-reduced-motion: reduce) {
  .glass-shape {
    -webkit-animation: none;
            animation: none;
    -webkit-transition: none;
    transition: none;
  }
  .glass-shape::before {
    display: none;
  }
}
/* キャッチ */
.p-topMv__catch--box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 100%;
  position: relative;
}

/* font */
/* トップmvキャッチ */
/* 1920-800 (68-48)*/
.topMv_catch {
  font-family: "Zen Old Mincho", serif;
  font-size: clamp(3rem, 2.107rem + 1.786vw, 4.25rem);
  /* line-height: 1.4; */
  line-height: 1.3;
  font-weight: 400;
  color: #fff;
}
@media (max-width: 799px) {
  .topMv_catch {
    /* 767-375(48-38) */
    font-size: clamp(2.375rem, 1.777rem + 2.551vw, 3rem);
  }
}

.topMv_catch-sub {
  position: relative;
  z-index: 1;
  font-family: "Albert Sans", sans-serif;
  font-size: clamp(1.25rem, 0.357rem + 1.786vw, 2.5rem);
  /* line-height: 1.2; */
  line-height: 1;
  font-weight: 300;
  color: #fff;
}
/* ============================================ */
/* hero 下層ページ */
/* ============================================ */
.p-subHero {
  position: relative;
  z-index: 2;
  background: #efefef;
  padding-top: 1.5%;
  overflow: hidden; /*  はみ出た要素を隠す */
  overflow: visible;
  width: 100%;
}
.p-subMv__bg {
  position: absolute;
  background: #083783;
  z-index: -1;
  top: 0;
  right: 0;
  width: 100%;
  height: 75%;
  /* 1920-800__50-30 */
  border-bottom-left-radius: clamp(1.875rem, 0.982rem + 1.786vw, 3.125rem);
}

.p-subMv__bg-logo {
  position: absolute;
  /*右下のロゴ*/
  z-index: -2;
  bottom: -7vw;
  right: -20vw;
  /* 1920-375(1027/821-321/256) */
  width: clamp(20.063rem, 9.353rem + 45.696vw, 64.188rem);
  height: clamp(16rem, 7.429rem + 36.57vw, 51.313rem);
  background-image: url("../images/logo3.svg");
  background-size: contain;
  background-position: center; /* または right bottom */
  background-repeat: no-repeat;
  /*  アニメーション */
  opacity: var(--logo-opacity);
  -webkit-transform: translateX(var(--logo-x)) rotate(var(--logo-rotation));
          transform: translateX(var(--logo-x)) rotate(var(--logo-rotation));
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease; /*  フォールバック用 */
  will-change: transform, opacity;
}
@media (max-width: 1399px) {
  .p-subMv__bg-logo {
    right: -26vw;
  }
}
@media (max-width: 767px) {
  .p-subMv__bg-logo {
    bottom: -3vw;
  }
}
@media (max-width: 499px) {
  .p-subMv__bg-logo {
    right: -39vw;
    bottom: -5vw;
  }
}
@media (max-width: 399px) {
  .p-subMv__bg-logo {
    right: -42vw;
    bottom: -6vw;
  }
}

.p-subMv {
  /* 1920-800__360-160 */
  min-height: clamp(10rem, 1.071rem + 17.857vw, 22.5rem);
  /* 1920-800__40-30 */
  gap: 0 clamp(1.875rem, 1.429rem + 0.893vw, 2.5rem);
}
.p-subMv.u-flex {
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}
@media (max-width: 767px) {
  .p-subMv.u-flex {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 50px;
  }
}
@media (max-width: 399px) {
  .p-subMv.u-flex {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 40px;
  }
}

.p-subMv__left {
  color: #fff;
  /* 1920-800__280-150 */
  width: clamp(9.375rem, 3.571rem + 11.607vw, 17.5rem);
}
@media (max-width: 767px) {
  .p-subMv__left {
    width: 100%;
  }
}

.p-subMv__content {
  margin-top: 7vw;
}
@media (max-width: 899px) {
  .p-subMv__content {
    margin-top: 5vw;
  }
}
@media (max-width: 767px) {
  .p-subMv__content {
    margin-top: auto;
  }
}

.p-subMv__ttl {
  /* 1920-800__45-26 */
  font-size: clamp(1.625rem, 0.777rem + 1.696vw, 2.813rem);
  font-weight: 800;
  font-family: "Albert Sans", sans-serif;
  line-height: 1;
  margin-bottom: 0.5rem;
  display: block;
}

.p-subMv__ttl-sub {
  /* 1920-800__26-18 */
  font-size: clamp(1.125rem, 0.768rem + 0.714vw, 1.625rem);
  line-height: 1;
}

.p-subMv__right {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media (max-width: 767px) {
  .p-subMv__right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    margin-top: -30px;
  }
}

.p-subMv__img {
  max-width: 1080px;
  border-radius: 20px;
  overflow: hidden;
}
@media (max-width: 767px) {
  .p-subMv__img {
    width: 92%;
    height: 40vw;
  }
  .p-subMv__img img {
    -webkit-transform-origin: top center;
            transform-origin: top center;
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
}

/* ============================================ */
/* サービス一覧　スライダー */
/* ============================================ */
.p-topService__slider {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.swiper-slide {
  background: transparent;
  width: calc((100% - 120px) / 5);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.p-topService__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.p-topService__item:hover {
  -webkit-transform: translateY(-5px);
          transform: translateY(-5px);
}

.p-topService__imageArea {
  width: 100%;
  border-radius: 20px;
  overflow: hidden;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin-bottom: 1rem;
}
@media (max-width: 499px) {
  .p-topService__imageArea {
    margin-bottom: 0.5rem;
  }
}
@media (max-width: 399px) {
  .p-topService__imageArea {
    border-radius: 10px;
  }
}

.p-topService__image {
  display: block;
  width: 100%;
  height: auto;
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
}

.p-topService__item:hover .p-topService__image {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

.p-topService__item--bottom {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 30px;
}
.p-topService__item--bottom.u-flex {
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}
@media (max-width: 767px) {
  .p-topService__item--bottom {
    gap: 0 15px;
  }
}

.p-topService__text {
  line-height: 1.4;
  text-align: center;
}
@media (max-width: 339px) {
  .p-topService__text {
    font-size: 14px;
  }
}

.p-topService__button {
  -ms-flex-negative: 0;
      flex-shrink: 0; /* 縮小させない */
  text-align: right;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: #EFEFEF;
  color: #083783;
  font-size: 14px;
  -webkit-transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  will-change: transform, box-shadow;
}
@media (max-width: 767px) {
  .p-topService__button {
    width: 40px;
    height: 40px;
  }
}
@media (max-width: 699px) {
  .p-topService__button {
    width: 35px;
    height: 35px;
  }
}

/* ============================================ */
/* section */
/* ============================================ */
/* ============================================ */
/* footer */
/* ============================================ */
.p-footer__top {
  margin-bottom: 20px;
}

.p-footer__logo {
  display: block;
  /* 1440-800(347-297) */
  width: clamp(18.563rem, 14.656rem + 7.813vw, 21.688rem);
  margin-bottom: 10px;
}
@media (max-width: 399px) {
  .p-footer__logo {
    width: 80%;
  }
}

.p-footer__bottom {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  /* 1920-1400(100-50) */
  gap: 0 clamp(3.125rem, -5.288rem + 9.615vw, 6.25rem);
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.p-footer__bottom.u-flex {
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}
@media (max-width: 767px) {
  .p-footer__bottom.u-flex {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media (max-width: 767px) {
  .p-footer__bottom {
    gap: 50px 0;
  }
}

.p-footer__bottom-left {
  max-width: 320px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.p-footer__campany {
  font-family: "Albert Sans", sans-serif;
  font-weight: 500;
  /* 1440-800(28-24) */
  font-size: clamp(1.5rem, 1.188rem + 0.625vw, 1.75rem);
  line-height: 1;
}
@media (max-width: 399px) {
  .p-footer__campany {
    font-size: 22px;
  }
}

.p-footer__address {
  font-size: 16px;
  font-weight: 500;
}
@media (max-width: 767px) {
  .p-footer__address {
    font-size: 14px;
  }
}

.p-footer__bottom-right {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  max-width: 63.1578947368%;
  border-top: 1px solid #fff;
  padding-top: 1rem;
}
@media (max-width: 767px) {
  .p-footer__bottom-right {
    max-width: 100%;
  }
}

.p-footer__nav-sns {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  /* 1920-1400(100-50) */
  gap: 0 clamp(3.125rem, -5.288rem + 9.615vw, 6.25rem);
}
@media (max-width: 767px) {
  .p-footer__nav-sns {
    gap: 30px 0;
  }
  .p-footer__nav-sns.u-flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.p-footer__nav {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.p-footer__list {
  gap: 1rem 2rem;
}

.p-footer__item {
  line-height: 1;
}

.p-footer__sns {
  width: 42px;
}

/* コピーライト
----------------------------------------------------------------------------------------*/
.l-copyright {
  background: #022765;
}

.c-copyright {
  font-size: 14px;
  line-height: 1;
  padding: 15px 0;
}

/* ============================================ */
/* ============================================ */
/* ============================================ */
/* section */
/* ============================================ */
/* ============================================ */
/*  top*/
/* ============================================ */
/*test*/
.txt {
  /* font-family: noto;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.1em; */
}

/*余白設定*/
.test-left {
  background: green;
  color: red;
}

.test-R {
  background: tan;
}

.ggg {
  font-size: clamp(1rem, calc(-1.0106382979rem + 8.9361702128vw), 6.25rem);
  color: #333;
}
@media (max-width: 1200px) {
  .ggg {
    color: orange;
  }
}
@media (max-width: 992px) {
  .ggg {
    color: red;
  }
}
@media (max-width: 768px) {
  .ggg {
    color: green;
  }
}
@media (max-width: 540px) {
  .ggg {
    color: aqua;
  }
}
@media (max-width: 360px) {
  .ggg {
    color: blue;
  }
}

.hogehoge {
  font-size: 1rem;
  color: #0000ff;
}
@media screen and (max-width: 360px) {
  .hogehoge {
    font-size: 1.25rem;
    color: #ff0000;
  }
}

.hogehoge3 {
  padding: 2.5rem;
  background: #ffcc00;
}
@media print, screen and (max-width: 1024px) {
  .hogehoge3 {
    padding: 20px;
  }
}

.hogehoge {
  font-size: 2rem;
}
@media print, screen and (max-width: 800px) {
  .hogehoge {
    font-size: 1rem;
    color: #ff0000;
  }
}

/* GSAP */
/* パララックス */
.test__img {
  width: 18.75rem;
  height: 18.75rem;
  overflow: hidden;
}

.test__img img {
  height: calc(100% + 3.125rem);
}

/*パララックス複数*/
.parallax__list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  gap: 0.625rem;
  place-content: center;
}

.parallax__item-img {
  width: 18.75rem;
  height: 18.75rem;
  overflow: hidden;
}

.parallax__item-img img {
  height: calc(100% + 3.125rem);
}

/* タイムライン */
.box_wrap {
  margin: 300px 100px;
}

.box {
  width: 150px;
  height: 150px;
  background: #333;
  color: #fff;
  font-size: 1.6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.box + .box {
  margin-top: 30px;
}

/*===================================================================
    /* トップページ */
/* TOP
お知らせ
会社案内
事業内容
施設紹介
施工実績
採用情報
ダウンロード
お問い合わせ */
/* 私たちについて
company
事業紹介
service
新着情報
news
採用情報
recruit
cta
フッター */
/* 私たちについて
----------------------------------------------------------------------------------------*/
.p-section_topCompany {
  background: #efefef;
  /* 1920-375(150-60) */
  padding-top: clamp(3.75rem, 2.385rem + 5.825vw, 9.375rem);
  position: relative;
  z-index: 1;
  overflow: hidden;
  /* CSS変数 */
  --logo-opacity: 0;
  --logo-x: 100px;
  --logo-rotation: 10deg;
  /*右上のロゴ*/
}
.p-section_topCompany::after {
  content: "";
  position: absolute;
  z-index: 0;
  right: -22vw;
  top: -30vw;
  /* 1920-375(1027/821-321/256) */
  width: clamp(20.063rem, 9.353rem + 45.696vw, 64.188rem);
  height: clamp(16rem, 7.429rem + 36.57vw, 51.313rem);
  background-image: url("../images/logo3.svg");
  background-size: contain;
  background-position: center; /* または right bottom */
  background-repeat: no-repeat;
  /*  アニメーション */
  opacity: var(--logo-opacity);
  -webkit-transform: translateX(var(--logo-x)) rotate(var(--logo-rotation));
          transform: translateX(var(--logo-x)) rotate(var(--logo-rotation));
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease; /*  フォールバック用 */
  will-change: transform, opacity;
}
@media (max-width: 1099px) {
  .p-section_topCompany::after {
    top: -32vw;
  }
}
@media (max-width: 999px) {
  .p-section_topCompany::after {
    top: -34vw;
  }
}
@media (max-width: 799px) {
  .p-section_topCompany::after {
    top: -36vw;
  }
}
@media (max-width: 699px) {
  .p-section_topCompany::after {
    top: -38vw;
  }
}
@media (max-width: 599px) {
  .p-section_topCompany::after {
    top: -40vw;
  }
}
@media (max-width: 499px) {
  .p-section_topCompany::after {
    top: -44vw;
  }
}
@media (max-width: 399px) {
  .p-section_topCompany::after {
    top: -46vw;
  }
}
@media (max-width: 349px) {
  .p-section_topCompany::after {
    top: -50vw;
  }
}

.p-topCompany {
  /* 1440-900(80-40) */
  gap: 0 clamp(2.5rem, -1.667rem + 7.407vw, 5rem);
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 599px) {
  .p-topCompany.u-flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.p-topCompany_left {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-topCompany_left .c-section__txt {
  margin-bottom: 1rem;
}

.p-topCompany__right {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.p-topCompany__img {
  position: relative;
  z-index: 1;
  border-radius: 30px;
  overflow: hidden;
}
@media (max-width: 599px) {
  .p-topCompany__img {
    max-width: 400px;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 1rem;
  }
}
@media (max-width: 399px) {
  .p-topCompany__img {
    border-radius: 15px;
  }
}

.p-topCompany__img-car {
  max-width: 1486px;
  /* 1920-375(150-30) */
  margin: clamp(1.875rem, 0.055rem + 7.767vw, 9.375rem) auto;
}

/* 事業紹介
----------------------------------------------------------------------------------------*/
.p-section__topService {
  /* width: calc(1440px /1920px * 100vw); */
  background: -webkit-gradient(linear, left top, right top, from(#fff), color-stop(75vw, #fff), color-stop(25vw, #efefef), to(#efefef));
  background: linear-gradient(90deg, #fff 0%, #fff 75vw, #efefef 25vw, #efefef 100%);
  /* 背景の大きなテキスト */
}
.p-section__topService.u-ptpb-100 {
  /* 1920-375(150-70) */
  padding-bottom: clamp(1.25rem, -0.722rem + 8.414vw, 9.375rem);
}
.p-section__topService .c-section__ttl-block {
  margin-right: 0;
  margin-left: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
@media (max-width: 599px) {
  .p-section__topService .c-section__ttl-block {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.p-section__topService .infiniteScrollText {
  top: auto;
  bottom: -10vw;
  left: 39%;
  z-index: 0;
}

.p-topService__top {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  /* 1920-900(100-50) */
  gap: 0 clamp(3.125rem, 0.368rem + 4.902vw, 6.25rem);
}
.p-topService__top.u-flex {
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}
@media (max-width: 599px) {
  .p-topService__top.u-flex {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.p-topService__top--left {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.p-topService__top--right {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  /* 1600-600(280-220) */
  width: clamp(13.75rem, 11.5rem + 6vw, 17.5rem);
}
@media (max-width: 599px) {
  .p-topService__top--right {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin-top: 1rem;
  }
}

.p-topService__bottom {
  background: #fff;
  padding: 1rem 0;
}

/* 新着情報
----------------------------------------------------------------------------------------*/
.p-section__topNews {
  background: #083783;
  color: #fff;
  position: relative;
  z-index: 1;
  overflow-x: clip;
  /*  CSS変数*/
  --logo-opacity: 0;
  --logo-x: 100px;
  --logo-rotation: 10deg;
  /*右下のロゴ*/
}
.p-section__topNews .c-btn.--sub {
  display: none;
}
.p-section__topNews.u-mb80 {
  /* 1440-375(200-50) */
  margin-bottom: clamp(3.125rem, -0.176rem + 14.085vw, 12.5rem);
}
.p-section__topNews::after {
  content: "";
  position: absolute;
  z-index: 0;
  right: -22vw;
  bottom: -16vw;
  /* 1920-375(1027/821-321/256) */
  width: clamp(20.063rem, 9.353rem + 45.696vw, 64.188rem);
  height: clamp(16rem, 7.429rem + 36.57vw, 51.313rem);
  background-image: url("../images/logo3.svg");
  background-size: contain;
  background-position: center; /* または right bottom */
  background-repeat: no-repeat;
  /* ★ アニメーション用プロパティ */
  opacity: var(--logo-opacity);
  -webkit-transform: translateX(var(--logo-x)) rotate(var(--logo-rotation));
          transform: translateX(var(--logo-x)) rotate(var(--logo-rotation));
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  will-change: transform, opacity;
}
@media (max-width: 599px) {
  .p-section__topNews .c-btn.--sub {
    display: block;
    position: relative;
    z-index: 1;
  }
}

.p-topNews {
  position: relative;
  z-index: 1;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  /* 1440-900(100-50) */
  gap: clamp(3.125rem, -2.083rem + 9.259vw, 6.25rem);
}
@media (max-width: 599px) {
  .p-topNews {
    gap: 0;
  }
  .p-topNews.u-flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

/* 左側の400pxカラム (NEWSタイトル部分) */
.p-topNews__left {
  /* 1440-900(280-200) */
  width: clamp(12.5rem, 4.167rem + 14.815vw, 17.5rem);
}
@media (max-width: 599px) {
  .p-topNews__left .c-btn {
    display: none;
  }
}

.p-topNews__right {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  max-width: 800px;
}

.p-topNews__list {
  list-style: none;
}

/* 各ニュースアイテム（liタグ） */
.p-topNews__item {
  border-bottom: 1px solid rgba(255, 255, 255, 0.9);
  padding: 15px 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

/* 最後のアイテムから区切り線を削除 */
.p-topNews__item:last-child {
  border-bottom: none;
}

/* リンク全体 (日付、タグ、タイトル、アイコンを含む) */
.p-topNews__item-link {
  text-decoration: none;
  color: #fff;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  display: block;
}
.p-topNews__item-link:hover {
  color: #fff;
  /* テキスト下線アニメーション（コードb参考） */
  /* 矢印ボタンの拡大・浮き上がりアニメーション（コードb参考） */
  /* 日付の色変化 */
}
.p-topNews__item-link:hover .p-topNews__title::after {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
  -webkit-transform-origin: left center;
          transform-origin: left center;
}
.p-topNews__item-link:hover .p-topNews__arrow {
  -webkit-transform: scale(1.08) translateY(-2px);
          transform: scale(1.08) translateY(-2px);
  -webkit-box-shadow: 0 8px 15px rgba(0, 0, 0, 0.3);
          box-shadow: 0 8px 15px rgba(0, 0, 0, 0.3);
}
.p-topNews__item-link:hover .p-topNews__date {
  color: rgba(255, 255, 255, 0.9);
}

.p-topNews__date {
  font-family: "Albert Sans", sans-serif;
  font-weight: 500;
  /* 1440-1000(20-16) */
  font-size: clamp(1rem, 0.432rem + 0.909vw, 1.25rem);
  -ms-flex-negative: 0;
      flex-shrink: 0; /* 縮小させない */
  width: 120px; /* 日付の表示に十分な幅を確保 */
  margin-right: 20px;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}

.p-topNews__item-bottom {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-topNews__item-bottom.u-flex {
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}

.p-topNews__category {
  -ms-flex-negative: 0;
      flex-shrink: 0; /* 縮小させない */
  display: inline-block;
  background-color: #fff;
  color: #083783;
  font-size: 14px;
  font-weight: bold;
  line-height: 1;
  /* 1440-900(20-10) */
  padding: 8px clamp(0.625rem, -0.417rem + 1.852vw, 1.25rem);
  border-radius: 50px;
  margin-right: 20px;
  -webkit-transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  will-change: transform;
}
@media (max-width: 699px) {
  .p-topNews__category {
    padding: 3px 1.5rem;
  }
}

.p-topNews__title {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  margin-right: 20px;
  position: relative;
  display: inline-block;
}
.p-topNews__title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 1px;
  background-color: #fff;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: left center;
          transform-origin: left center;
  -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: -webkit-transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  will-change: transform;
}
@media (max-width: 499px) {
  .p-topNews__title {
    margin-right: 10px;
  }
}

/* 矢印ボタンのアニメーション */
.p-topNews__arrow {
  -ms-flex-negative: 0;
      flex-shrink: 0; /* 縮小させない */
  width: 30px;
  text-align: right;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 48px;
  height: 48px;
  border-radius: 50%; /* 円形にする */
  background-color: #fff; /* 背景を白に */
  color: #083783; /* アイコンの色を背景色に合わせる */
  font-size: 14px; /* アイコンサイズ調整 */
  -webkit-transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  will-change: transform, box-shadow;
}

/* アクセシビリティ対応 */
.p-topNews__item-link:focus {
  outline: 2px solid rgba(255, 255, 255, 0.8);
  outline-offset: 2px;
}
.p-topNews__item-link:focus .p-topNews__title::after {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
}
.p-topNews__item-link:focus .p-topNews__arrow {
  -webkit-transform: scale(1.08) translateY(-2px);
          transform: scale(1.08) translateY(-2px);
  -webkit-box-shadow: 0 8px 15px rgba(0, 0, 0, 0.3);
          box-shadow: 0 8px 15px rgba(0, 0, 0, 0.3);
}

/* 採用情報
----------------------------------------------------------------------------------------*/
.p-section__topRecuruit {
  position: relative;
  z-index: 1;
}

.p-topRecuruit {
  border-radius: 60px;
  /* すりガラスフィルター */
}
.p-topRecuruit .l-container128 {
  position: relative;
}
.p-topRecuruit .c-section__catch {
  margin-bottom: 0;
}
.p-topRecuruit.u-bg-img {
  position: relative;
  overflow: hidden; /*スクロールバー非表示*/
  /* background-image: url('../images/top-recruit-bg.webp'); */
  /* カラーフィルター #083783*/
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(8, 55, 131, 0.65)), to(rgba(8, 55, 131, 0.65))), url("../images/top-recruit-bg.webp");
  background-image: linear-gradient(rgba(8, 55, 131, 0.65), rgba(8, 55, 131, 0.65)), url("../images/top-recruit-bg.webp");
  background-blend-mode: multiply; /* overlayなども可 */
  background-size: cover;
  background-position: top right;
  background-repeat: no-repeat;
}
@media (max-width: 699px) {
  .p-topRecuruit.u-bg-img {
    /* 画像(2枚目)だけ位置をずらす */
    /* right 100px top = 右端から100px内側へ（左へ移動） */
    background-position: right top, right -100px top;
  }
}
.p-topRecuruit .glass-shape {
  position: absolute;
  z-index: 0;
  left: -10%;
  top: auto; /* 打消し */
  bottom: -25%;
  -webkit-transform: none;
          transform: none; /* 打消し */
  /* 1920-375(677-377）
  1920-375(542-302) */
  width: clamp(23.563rem, 19.012rem + 19.417vw, 42.313rem);
  height: clamp(18.875rem, 15.234rem + 15.534vw, 33.875rem);
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
  mask-image: url("../images/blur-logo.svg");
  -webkit-mask-image: url("../images/blur-logo.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  backdrop-filter: blur(10px); /* ぼかし度 */
  background-color: rgba(255, 255, 255, 0.1); /* 透過 度*/
  will-change: transform; /* GPU アクセラレーションを有効化 */
  contain: layout style paint; /* レイアウト計算を分離 */
  pointer-events: none; /* マウスイベントを無視 */
}
@media (max-width: 599px) {
  .p-topRecuruit .glass-shape {
    left: -20%;
  }
}
@media (max-width: 499px) {
  .p-topRecuruit .glass-shape {
    left: -30%;
  }
}
@media (max-width: 399px) {
  .p-topRecuruit .glass-shape {
    left: -40%;
  }
}
@media (max-width: 699px) {
  .p-topRecuruit {
    border-radius: 40px;
  }
}
@media (max-width: 399px) {
  .p-topRecuruit {
    border-radius: 30px;
  }
}

.p-topRecuruit .c-section__ttl-sub {
  margin-bottom: 50px;
}
@media (max-width: 767px) {
  .p-topRecuruit .c-section__ttl-sub {
    margin-bottom: 30px;
  }
}

.p-topRecuruit .c-btn {
  background: initial;
}

/*===================================================================
    /* 施設紹介 */
/*産業廃棄中間処理施設 汚泥の天日乾燥施設*/
/* 産業廃棄中間処理施設 廃油の油水分離システム */
/*===================================================================
    /* 会社案内 */
/*===================================================================
    /* 実績 */
/*===================================================================
    /* ダウンロード*/
/*===================================================================
    /* カテゴリ色一覧 */
/*===================================================================
    news詳細
===================================================================*/
/*===================================================================
    /* よくあるご質問 お問い合せ */
/*===================================================================
    /* 採用情報 *//*# sourceMappingURL=style.css.map */