@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆全体◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆ */

:root{
  --section-bg: #fff;   /* 背景（基本） */
  --wave-top:   #2d2c2c;
  --msg-bg: #fff;      /* 帯の外側 */
  --msg-fg: #000;      /* テキスト色 */
  --msg-grad: #fff;    /* サイドのフェード色 */
  --wave-height: 300px;
  --banner-text: #fff;

  /* 帯の垂直位置 & 高さ（PC） */
  --msg-strip-top: clamp(0, 12vh, 420px);
  --msg-strip-h:   clamp(500px, 70vh,1000px);

  /* マスク（濃さ） */
  --msg-veil: 0.10; /* セクション全体色でうっすら“ベール” */
  --msg-edge: 0.98; /* 両サイドのフェード（強め） */
}
	
/* ========== Rording Preloader ========== */
#site-preloader{
  position:fixed; inset:0; z-index:999;
  background:#fff;
  display:grid; place-items:center;
  opacity:1; visibility:visible;
  transition:opacity 1.8s ease, visibility 1.8s ease;
}
#site-preloader.is-hide{ opacity:0; visibility:hidden; }
html.is-lock, body.is-lock{ overflow:hidden; }

.preloader__inner{ display:grid; place-items:center; gap:16px; }

.preloader__brand{
  font-family: "Noto Sans JP",system-ui,-apple-system,sans-serif;
  font-weight:300; letter-spacing:.14em;
  font-size:clamp(26px, 8vw, 54px);
  line-height:1; color:#111; position:relative;
}
.preloader__brand::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-10px;
  height:3px;
  background:#007BBB;
  border-radius:3px;
  opacity:0.5;
}
.preloader__brand .char{
  display:inline-block; transform: translateY(1em); opacity:0; filter: blur(8px);
  animation: brand-rise 3.2s cubic-bezier(.2,.7,.2,1) forwards;
  animation-delay: calc(var(--i)*0.06s + .12s);
  will-change: transform, opacity, filter;
}
.preloader__brand .ws{ width:.35em; display:inline-block; }

@keyframes brand-rise{
  0%   { transform: translateY(1em) scale(1.02); opacity:0; filter:blur(8px); }
  70%  { transform: translateY(0)    scale(1.00); opacity:1; filter:blur(0); }
  100% { transform: translateY(0)    scale(0.997); }
}

@keyframes brand-fadeout{
  to {
    opacity: 0;
    transform: translateY(-50px)!important; /* 上に少し消える演出*/
  }
}

#site-preloader::before{
  content:""; position:absolute; inset:0;
  background: radial-gradient(ellipse at center, rgba(0,0,0,.06), rgba(0,0,0,0) 55%);
  pointer-events:none;
}
/* ========== / Rording Preloader ========== */


/* 固定ページタイトル除去 */
#body_wrap > #content > #main_content .c-pageTitle {
  display: none;
}

/* テキストスタイル */

p, .policy_li, .wp-block-table tr>td{
  font-weight: 300;
}
.wp-block-table tr>th {
	font-weight: 400;
	font-style: italic;
}

.value_item{
	font-weight:600;
}

.service_name{
	font-weight:600;
}

/* テキストスタイル columnページ特有 */
.column_title{
font-family: Poppins;
font-weight: 200!important;
font-size: 2.4rem;
text-align: center;
color: #007bbb;
}

/* カラースタイル */
.color_red{
	color: red;
}

/* ラインデコレーション */
.decoration_line{
	max-width: 100%!important;
	width: 300px!important;
	height: 2px;
	margin-left: 10%!important;
	background-color: rgb(255, 219, 50);
	background-image: linear-gradient(to right, red 0%, rgba(255, 219, 50, 1) 0%, rgba(255, 255, 255, 1) 100%);
}

/* fv */

body #main_visual{
z-index: 2;
}
/* タイトルアクセントカラー */
.main-text-parts{
	color: var(--section-bg);
}
/* サブタイトル */
#body_wrap>#main_visual .p-mainVisual__slideText {
	text-shadow: 3px 3px 3px rgba(0, 0, 0, 1);
    opacity: 0;
    transform: translateY(30px); /* 下に30pxずらしておく */
    animation: fadeUp 1s ease forwards;
    animation-delay: 2s; /* ページ表示から2秒後に開始 */
}

@keyframes fadeUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ヘッダーメニュー */
.l-header {
position: sticky;/* ヘッダー固定化 */
position: -webkit-sticky;
top: var(--swl-adminbarH,0);
}

/* ロゴ位置調整 */
.l-header__inner .c-headLogo__img {
  transform: translate(0, -5px);
}

.l-header__inner > #gnav .menu-item > a {
  padding-right: 36px;
  font-family: Poppins;
  font-weight: 300;
}

.l-header__inner > #gnav .menu-item > a:after {
	transform: translate(0, -24px)!important;
}

.l-fixHeader__inner .menu-item> a {
	padding-right: 36px;
	font-family: Poppins;
	font-weight: 300;
	color: var(--msg-fg);
}

.l-fixHeader__inner .menu-item>a:after{
	transform: translate(0, -20px)!important;
}

#sp_menu .menu-item > a {
	font-family: Poppins;
    font-weight: 200;
}

/* クリックイベント停止 */
.keep{
	pointer-events: none;
	/* SPの長押し禁止 */
    user-select:none;
}

/* カバーブロック上のボタンだけ反応させる */
/* ボタンだけクリック有効に戻す */
.keep .button-54 {
  pointer-events: auto;
  position: relative;
  z-index: 10; /* 前面に出しておくと安心 */
}


/* ボタンデザイン */
.button-54 {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 250px;
    margin: 0 auto;
    padding: .9em 3em .9em 2em;
    border: 1px solid #1d50a2;
    border-radius: 5px;
    background-color: rgba(0,0,0,0);
    color: #1d50a2;
    font-size: 1em;
	transition: background-color 0.3s ease;
	z-index: 20;
}

.button-54::after {
    position: absolute;
    right: 2em;
    transform: translateY(-50%);
    transform-origin: left;
    width: 2em;
    height: .5em;
    background-color: #1d50a2;
    clip-path: polygon(0 100%, 100% 100%, 70% 40%, 70% 90%, 0% 90%);
    content: '';
    transition: transform .3s;
}

.button-54:hover{
	 background-color: #ffffff;
}

.button-54:hover::after {
    transform: translateY(-50%) scaleX(1.4);
}

.button-55 {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 250px;
    margin: 0 auto;
    padding: .9em 3em .9em 2em;
    border: 1px solid #1d50a2;
    border-radius: 5px;
    background-color: rgba(0,0,0,0);
    color: #1d50a2;
    font-size: 1em;
	transition: background-color 0.3s ease;
}

.button-55::after {
    position: absolute;
    right: 2em;
    transform: translateY(-50%);
    transform-origin: left;
    width: 2em;
    height: .5em;
    background-color: #1d50a2;
    clip-path: polygon(0 100%, 100% 100%, 70% 40%, 70% 90%, 0% 90%);
    content: '';
    transition: transform .3s;
}

.button-55:hover{
	 background-color: #ffffff;
}

.button-55:hover::after {
    transform: translateY(-50%) scaleX(1.4);
}

/*インスタボタン2*/
.insta_btn2{/*ボタンの下地*/
  color: #FFF!important;/*文字・アイコン色*/
  border-radius: 7px;/*角丸に*/
  position: relative;
  display: inline-block;
  height: 50px;/*高さ*/
  width: 200px;/*幅*/
  text-align: center;/*中身を中央寄せ*/
  font-size: 24px;/*文字のサイズ*/
  line-height: 50px;/*高さと合わせる*/
  background: -webkit-linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
  background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;/*グラデーション①*/
  overflow: hidden;/*はみ出た部分を隠す*/
  text-decoration:none;/*下線は消す*/
}

.insta_btn2:before{/*グラデーション②*/
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;/*全体を覆う*/
  height: 100%;/*全体を覆う*/
  background: -webkit-linear-gradient(15deg, #ffdb2c, rgb(249, 118, 76) 25%, rgba(255, 77, 64, 0) 50%) no-repeat;
  background: linear-gradient(15deg, #ffdb2c, rgb(249, 118, 76) 25%, rgba(255, 77, 64, 0) 50%) no-repeat;
}

.insta_btn2 .fa-instagram{/*アイコン*/
  font-size: 35px;/*アイコンサイズ*/
  position: relative;
  top: 4px;/*アイコン位置の微調整*/
}

.insta_btn2 span {/*テキスト*/
  display:inline-block;
  position: relative;
  transition: .5s
}

.insta_btn2:hover span{/*ホバーで一周回転*/
  -webkit-transform: rotateX(360deg);
  -ms-transform: rotateX(360deg);
  transform: rotateX(360deg);
}

/* ◆Our_missionセクション */


/*画像影 */
#our_mission>div>div:nth-child(2)>div>div:nth-child(1) {
	box-shadow: 10px 10px 20px 0px rgba(219, 219, 221, 1);
}
/*見出しアニメーションとサイズ */
.animated-text {
  display: inline-block;
  overflow: hidden;
  white-space: nowrap;
  font-size: 2rem;
}

.animated-text .char {
  opacity: 0;
  transform: translateX(-10px);
  transition: all 2.5s ease;
}

/* ↓ animateクラスがついたら個別にdelay */
.animated-text.animate .char:nth-child(1) { transition-delay: 0.1s; }
.animated-text.animate .char:nth-child(2) { transition-delay: 0.2s; }
.animated-text.animate .char:nth-child(3) { transition-delay: 0.3s; }
.animated-text.animate .char:nth-child(4) { transition-delay: 0.4s; }
.animated-text.animate .char:nth-child(5) { transition-delay: 0.5s; }
.animated-text.animate .char:nth-child(6) { transition-delay: 0.6s; }
.animated-text.animate .char:nth-child(7) { transition-delay: 0.7s; }
.animated-text.animate .char:nth-child(8) { transition-delay: 0.8s; }
.animated-text.animate .char:nth-child(9) { transition-delay: 0.9s; }
.animated-text.animate .char:nth-child(10) { transition-delay: 1.0s; }

.animated-text.animate .char {
  opacity: 1;
  transform: translateX(0);
}

/* 流れるテキスト */
.scroll-wrapper {
  position: relative;
  width: 100vw;
  left: 50%;
  transform: translateX(-50%);
  overflow: hidden;
  white-space: nowrap;
  z-index: 1;
  pointer-events: none;
}

.scroll-track {
  display: flex;
  width: max-content;
  animation: scroll-left 60s linear infinite;
}

.scroll-text {
  font-size: 8rem;
  font-weight: 900;
  color: rgba(0, 0, 0, 0.05);
  white-space: nowrap;
  padding-right: 2vw;
}

@keyframes scroll-left {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-50%);
  }
}


/* セクション下部スペース */
#content>#main_content #our_mission {
	padding-bottom: 0px;
}

/* 中間セクション動画 */
.wp-block-cover video.wp-block-cover__video-background {
  position: fixed;     /* スクロールしても固定 */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;   /* 画面にフィット */
  z-index: -1;         /* コンテンツの背面に配置 */
}


/*************************************************
  ◆Qualityセクション
**************************************************/
.value-card{
	border-radius: 5px;
}

.sec-message{
  position: relative;
  overflow: hidden;
  background: var(--section-bg);
  padding: clamp(56px, 8vw, 96px) 0;
  color: var(--msg-fg);
  isolation: isolate;
  min-height: 620px;
}

/* テキストのグリッド */
.msg-inner{ 
  position: relative; z-index: 2;
  max-width: 1280px; margin: 0 auto;
  padding: 0 clamp(16px, 4vw, 32px);
  display: grid;
  grid-template-columns: 1fr 1fr;   /* 左：余白／右：本文 */
  column-gap: clamp(24px, 5vw, 64px);
  row-gap: clamp(20px, 4vw, 48px);
}

/* 本文（右カラムのみ） */
.msg-body{
  grid-column: 2;
  max-width: 560px;
  margin-top: clamp(8px, 2vw, 16px);
  font-size: clamp(14px, 1vw, 18px);
  line-height: 2;
}
.msg-text{
  font-size: 16px;
  margin: 0 0 1.7em 1em;
}

/* CTA（グラデの帯） */
.msg-cta{
  margin-top: clamp(14px, 1.6vw, 20px);
  text-align: left;
}
.msg-cta span,
.msg-cta a{
  display:block;
  width: 100%;
  padding: .3em .5em;
  font-weight: 700;
  font-size: clamp(16px, 1.2vw, 24px);
  color: #fff;
  text-decoration: none;
  background: linear-gradient(
    90deg,
    rgba(38, 38, 98, 0.9) 0%,
    rgba(0, 123, 187, 0.6) 40%,
    rgba(0, 123, 187, 0.4) 80%,
	rgba(0, 123, 187, 0.1) 90%,
    rgba(127, 92, 19, 0.01) 100%
  );
  border-radius: 0;
  box-shadow: none;
}

/* 背景の横スクロール帯（共通ラッパ） */
.msg-bgstrip{
  position: absolute; inset: auto 0 0 0;  /* 左右いっぱい */
  top: var(--msg-strip-top);
  height: var(--msg-strip-h);
  z-index: 1;
  overflow: hidden;
  pointer-events: none;
}

/* 画像を横に並べて無限ループ */
.msg-strip{
  display: flex;
  width: max-content;
  animation: msgMarquee 140s linear infinite;
  will-change: transform;
  transform: translate3d(0,0,0); /* iOS Safari安定化 */
}
.msg-strip img{
  display: block;
  height: 100%;   /* 帯の高さにフィット（←可変） */
  width: auto;
  object-fit: cover;
  /* 1枚が画面幅未満でも切れないよう最低幅を確保（任意） */
  min-width: 100vw;
  flex: 0 0 auto;
  opacity: 1;
}

/* ベール + 両端フェード */
.msg-bgstrip::before,
.msg-bgstrip::after{
  content:"";
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.msg-bgstrip::before{
  background: rgba(247,247,247,var(--msg-veil));
  z-index: 1;
}

 .msg-bgstrip::after{
  background:
    linear-gradient(90deg,
      rgba(255,255,255,var(--msg-edge)) 0%,
	  rgba(255,255,255,0) 15%,
      rgba(255,255,255,0) 40%,
	  rgba(255,255,255,.5) 50%,
	  rgba(255,255,255,.8) 60%,
	  rgba(255,255,255,.9) 70%,
      rgba(255,255,255,var(--msg-edge)) 100%
    );
  z-index: 2;
}	

/* 無限ループ */
/* キーフレーム（3DでGPU走らせる） */
@keyframes msgMarquee{
  0%   { transform: translate3d(0,0,0); }
  100% { transform: translate3d(-50%,0,0); } /* 画像を4枚並べたので-50%で継ぎ目無し */
}
	
/* ◆Serviceセクション */

.l-mainContent__inner #service .big_title {
	text-shadow: 3px 3px 10px rgba(114, 74, 74, 1);
}

.service_text{
	text-shadow: 1px 1px 5px rgba(58, 58, 58, 1);
}
.service1_name_en{
	transform: translate(0, 120px)
}

.decoration_line{
	max-width: 100%!important;
	width: 400px!important;
	height: 2px;
}

/* サービスカードボーダー */
.alignwide [class*="o-anim-offset-"] .c-bannerLink {
	box-shadow: 3px 3px 5px 0px rgba(10, 10, 10, 1);
}

.swell-block-columns__inner > [class*="o-anim-offset-"] .c-bannerLink__text {
}
.alignwide [class*="o-anim-offset-"] .c-bannerLink__title{
	transform: translate(0 , -50%);
}
.alignwide [class*="o-anim-offset-"] .c-bannerLink__description {
	transform: translate(0, -70%);
}


/* ◆flowセクション */
.flow04 {
  padding-left: 0!important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  gap: 60px;
	background-color: ver(--section-bg);
	width: 100%!important;
}

.flow04 > li {
  list-style-type: none;
  width: 100%;
  max-width: 300px;
  display: flex;
	background-color: #fefefe;
}

.flow04 > li .icon04 {
  line-height: 4;
  width: 4em;
  height:4em;
  text-align: center;
  color: #fff;
  background: #FFDB32;
  margin: 0 auto;
  display: block;
  border-radius: 100vh;
  position: relative;
}

.flow04 > li .icon04::before {
  content: "";
  border: solid transparent;
  border-width:7px;
  border-top-color: #FFDB32;
  position: absolute;
  top: calc(100% - 2px);
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.flow04 > li dl {
  padding: 0 20px 40px 20px;
  margin: 0;
  border: 5px solid #007BBB;
 
  position: relative;
}

.flow04 > li:not(:first-child) dl::before {
  content: "";
  width: 14px;
  height: 14px;
  margin-right: 10px;
  display: inline-block;
  border-top: 4px solid #646464;
  border-right: 4px solid #646464;
  position: absolute;
  top: calc(50% - 14px);
  left: -45px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.flow04 > li dl dt {
  font-size: 1.3em;
  font-weight: 600;
  color: #1E50A2;
  -ms-flex-preferred-size: 20%;
  flex-basis: 20%;
  margin-bottom: 10px;
  text-align: center;
}

.flow04 > li dl dd {
  margin-left: 0;
}

.flow_icon{
	display: block;
	margin: 0 auto 30px;
	width: 40%;
}

.flow04>li .icon04 {
	transform: translate(0px, -30px);
}

/* ◆Companyセクション */

/* 画像無限ループ */
@keyframes infinity-scroll-left {
from {
  transform: translateX(0);
}
  to {
  transform: translateX(-100%);
}
}
.scroll-infinity__wrap {
  display: flex;
  overflow: hidden;
  width: 100%;
}
.scroll-infinity__list {
  display: flex;
  list-style: none;
  padding: 0!important;
  margin: 0!important;
  flex-shrink: 0;
}
.scroll-infinity__list--left {
  animation: infinity-scroll-left 100s infinite linear 0.1s both;
}
.scroll-infinity__item {
  width: 500px;
  flex-shrink: 0;
}
.scroll-infinity__item>img {
  width: 100%;
  display: block;
}
.swell-block-fullWide__inner .scroll-infinity__list>.scroll-infinity__item {
	height: 280px;
}

.scroll-infinity {
  position: relative; /* 擬似要素を配置するために基準化 */
  overflow: hidden;   /* はみ出し防止 */
}

/* 左グラデーション */
.scroll-infinity::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 100px; height: 100%;
  background: linear-gradient(to right, #fff 0%, transparent 100%);
  z-index: 2;
  pointer-events: none;
}

/* 右グラデーション */
.scroll-infinity::after {
  content: "";
  position: absolute;
  top: 0; right: 0;
  width: 100px; height: 100%;
  background: linear-gradient(to left, #fff 0%, transparent 100%);
  z-index: 2;
  pointer-events: none;
}


/* ◆◆serviceページ*/
#charter .wp-block-group{
	box-shadow: 3px 3px 10px 0px rgba(151 , 169 , 190 , 1);
}
#spot .wp-block-group{
	box-shadow: 3px 3px 10px 0px rgba(151 , 169 , 190 , 1);
}
#regular .wp-block-group{
	box-shadow: 3px 3px 10px 0px rgba(151 , 169 , 190 , 1);
}
#light-cargo .wp-block-group {
	box-shadow: 3px 3px 10px 0px rgba(151, 169, 190, 1);
}
/* ◆◆valueページ*/
.value_text{
font-weight:400;
}
/* ◆◆vahicleページ*/
.post_content .vehicle_copy {
	font-size: 2rem;
}

/* ◆◆contactページ 個人情報保護*/
/* 個人情報保護*/
.scroll01 {
    margin: 0;
    overflow-y: scroll;
    height: 500px;
    width: 100%;
}

/* ◆◆companyページ*/

/* 見出し文装飾ライン */
.big_title_company{
  position: relative;
  /* テキスト幅に合わせて要素幅を縮め、中央寄せ */
  width: auto;          /*  max-content or fit-content */
  margin-inline: auto;
  padding-bottom: 10px;        /* 下線ぶんの余白を確保 */
}

.big_title_company::after{
  content: "";
  position: absolute;
  left: 50%;               /* 要素の中央から配置 */
  bottom: 0;               /* テキストの下端に */
  transform: translateX(-50%);
  width: 100px;             /* デコ線の長さ（お好みで調整） */
  height: 1px;
  background: #007BBB;
  opacity: 1;
}

/* テーブル*/
.wp-block-table tr>th {
	border-color: rgba(0, 123, 187, 1);
}
.wp-block-table tr>td {
	border-color: rgba(0, 123, 187, 1);
}
#main_content table {
	border-bottom-color: rgba(0, 123, 187, 1);
}
/* フッター */
#body_wrap > #footer{
z-index: 10;
}
body > #body_wrap > #footer .l-footer__widgetArea {
	margin-top: -8%;
}

/* インスタ固定ボタン */
/* 右端固定の画像ボタン（デフォルトは縦40%の位置） */
.fixed-cta{
  --fixed-cta-top: 30%;             /* ←高さはここを後で調整 */
  position: fixed;
  top: var(--fixed-cta-top);
  right: max(env(safe-area-inset-right),36px);
  width: 54px;
  height: 54px;
  z-index: 9999;
  pointer-events: none;              /* コンテナ自体は無視 */
}
.fixed-cta__link{
  display: block;
  width: 100%;
  height: 100%;
  pointer-events: auto;              /* リンクだけクリック可 */
}
.fixed-cta__link img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 20px;
  transition: opacity .25s ease, filter .25s ease;
}

/* ホバーで“色が薄くなる”表現（明度UP＋少し透過） */
.fixed-cta__link:hover img,
.fixed-cta__link:focus-visible img{
  opacity: .75;
  filter: brightness(1.2);
}



/* ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆ PC only ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆ */
@media (min-width: 801px) {
	.sp-only{
		display: none;
  }

/* ロゴサイズ (必要に応じて)*/
/*.l-header__inner .c-headLogo__img {
  height: 100px;
}*/
	
	
/* Topへスクロールボタンサイズ */	
body>#body_wrap #pagetop {
	width: 46px;
	height: 46px;
}
	
/* ヘッダー */	
/* 高さ コンテンツ横位置*/
body #header {
    height: 90px;/* fixヘッダーはauto*/
}

body>#body_wrap .l-header__inner {
	height: 90px;
/* SWELLの左右余白を決める変数も潰す */
    --swl-pad_container: 0 !important;
	padding-left: 100px!important;
	padding-right: 20px!important;
}

body>#body_wrap .l-fixHeader__inner {
	--swl-pad_container: 0 !important;
	padding-left: 100px!important;
	padding-right: 20px!important;
}
	

/* 2行に変更 */
.c-gnav a .menu-two-line{
     display:inline-flex;
     flex-direction:column;   /* 上：英語 / 下：ふりがな */
     align-items:center;
     line-height:1.1;
     gap: 0.5em;
}

.c-gnav a .menu-two-line .en{
	font-size:1.2em;
}
.c-gnav a .menu-two-line .ja{
	font-size:1em;
}
	
/* スムーズな色変化 */
.c-gnav a {
    transition: color .6s ease;
}
/* ホバー/フォーカスで最終色へ */
.c-gnav a:hover,
.c-gnav a:focus-visible{
    color: #007bbb;
}
	
/* fv */
/*body > #body_wrap .p-mainVisual__inner2{
    clip-path: ellipse(100% 70% at 0% 30%);
}
動画の場合*/
	
.l-parent{}
#body_wrap > #main_visual .p-mainVisual__textLayer {
	height: 135svh;
}
	
#main_visual .p-mainVisual__slideTitle {
	position: relative;
	text-shadow: 0 0 8px rgba(0, 0, 0, 1);
	padding-top: 20px;
	padding-bottom: 20px;
	padding-left: 0;
	width: 100%;
	font-size: 3rem;
	font-weight: 300;
}
	
#main_visual .p-mainVisual__slideTitle::after{
    content: "";
    display: block;
    width: 150%;            /* ラインの長さ */
    height: 3px;            /* ラインの太さ */
    background: #fff;       /* ラインの色 */
    margin-top: 10px;       /* テキストとの間隔 */
	text-shadow: 0 0 5px rgba(0, 0, 0, 0.7);
}
	
#main_visual .p-mainVisual__slideText {
	text-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
	padding-left: 48px;
	font-size: 28px;
	font-weight: 300;
	color: #fff;
	-webkit-text-stroke-color: rgba(255, 255, 255, 1);
}

/* fvボタン */
.button-51 {
    display: flex;
    position: relative;
    width: 300px;
    margin: 0 0 0 auto;
    padding: .2em 1em;
    border: none;
    border-bottom: 1px solid #ffffff;
    background-color: transparent;
	transform: translate(180px, 0);
    color: #007BBB;
    font-weight: 400;
    font-size: 2rem;
	top: -80px;
	font-family: Poppins;
	transition: color 0.3s ease;	
}
.button-51:hover {
	color: rgba(0, 123, 187, 0.7);
	}

.button-51::after {
    position: absolute;
    bottom: -3px;
    left: 0;
    transform: scaleX(0);
    transform-origin: center left;
    width: 100%;
    height: 2px;
    background-color: #007BBB;
    content: '';
    transition: transform .3s ease;
}

.button-51:hover::after {
    transform: scaleX(1);
}

/* ◆Our missionセクション */

	
/* フッター(pc) */
.l-footer__widgetArea #custom_html-7>.c-widget__title {
	font-weight: 300;
	color: rgba(0, 123, 187, 1);
	border-top-width: 0px;
	font-size: 1.25rem;
	line-height: 20px;
}

.l-footer__widgetArea #custom_html-10>.c-widget__title {
	color: rgba(0, 123, 187, 1);
	font-weight: 300;
	font-style: normal;
	font-size: 1.25rem;
	line-height: 20px;
}

#nav_menu-2 .menu-item>a {
	color: rgba(67, 67, 67, 1);
	font-weight: 300;
	font-family: Poppins;
}

.l-footer__widgetArea #custom_html-7>.c-widget__title:after {
	border-bottom-style: solid;
	border-bottom-width: 1px;
	border-bottom-style: solid;
}

.l-footer__widgetArea #custom_html-10>.c-widget__title:after {
	border-bottom-width: 1px;
	border-bottom-style: solid;
}
#custom_html-5 a {
	display: flex;
	height: 70px;
	transform: translate(0, -20px);
}

/* 投稿・ページナビ */
.p-homeContent .page-numbers {
	transform: translate(0, -40px);
}
	
#main_content .p-articleFoot .p-articleMetas__termList {
	display: none;
}

#content>#main_content .p-pnLinks {
	transform: translate(0, -50px);
}
}

/* ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆ タブレット ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆ */	
@media (max-width: 1024px){
  :root{
    --msg-strip-top: clamp(0, 10vh, 200px);
    --msg-strip-h:   clamp(300px, 40vh, 600px);
  }

/* ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆ SP only ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆ */
@media (max-width: 800px) {
.pc-only{
	display: none;
}
	
/* フォントサイズ */
.service_title_under{
	font-size:1.2rem!important;
}

/* ◆Serviceセクション */
.service_title_sp {
	text-shadow: 3px 3px 10px rgba(114, 74, 74, 1);
}
	
/* ◆fv */
#main_visual .p-mainVisual__slideTitle {
	text-shadow: 0 0 5px rgba(0, 0, 0, 0.7);
	padding-top: 10px;
	padding-bottom: 10px;
	text-align: center;
	width: 100%;
}
	
#main_visual .p-mainVisual__slideTitle::after{
    content: "";
    display: block;
    width: 100%;            /* ラインの長さ */
    height: 3px;            /* ラインの太さ */
    background: #fff;       /* ラインの色 */
    margin-top: 10px;       /* テキストとの間隔 */
	text-shadow: 0 0 5px rgba(0, 0, 0, 0.7);
}
#main_visual .p-mainVisual__slideText {
	text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.5);
	font-weight: 300;
	padding-left: 24px;
	text-align: center;
	color: rgba(255, 255, 255, 1);
	-webkit-text-stroke-color: rgba(255, 255, 255, 1);
}
	
/* fvボタン */
.button-51 {
    display: flex;
    position: relative;
    width:280px;
    margin: 0 0 0 auto;
    padding: .2em 1em;
    border: none;
    border-bottom: 1px solid #ffffff;
    background-color: transparent;
    color: #fff;
    font-weight: 700;
    font-size: 2rem;
	  top: -60px;
	  font-family: Poppins;
}

.button-51::after {
    position: absolute;
    bottom: 10px;
    left: 0;
    transform: scaleX(0);
    transform-origin: center left;
    width: 100%;
    height: 3px;
    background-color: #007BBB;
    content: '';
    transition: transform .3s ease;
}

.button-51:hover::after {
    transform: scaleX(1);
}

/* ◆Our missionセクション */
/* 流れるテキスト */
.scroll-text {
	font-size: 4rem!important;
}
	
/* ◆flowセクション */
.flow04 {
    flex-direction: column;
    gap: 70px;
    align-items: center;
}

.flow04 > li {
    display: block;
    max-width: 90%;
    margin: 0 auto;
}

  /* 矢印の位置と形を下向きに変更 */
.flow04 > li:not(:first-child) dl::before {
    width: 14px;
    height: 14px;
    margin: 0 auto;
    display: inline-block;
    border-top: 4px solid #646464;
    border-right: 4px solid #646464;
    position: absolute;
    top: -55px; /* 矢印の位置を上に変更 */
    left: 50%;
    transform: translateX(-50%) rotate(135deg);
 }

  /* 吹き出しアイコン等の画像も中央寄せを確実に */
.flow_icon {
    width: 60%;
    margin: 30px auto;
}

  /* アイコンの位置調整（必要であれば） */
.flow04>li .icon04 {
    transform: translate(0px, -30px); /* モバイルでは少し控えめに */
}

/* qualityセクション） */
:root{
    --msg-strip-top: clamp(500px, 17svh, 600px);
    --msg-strip-h:   clamp(200px, 34svh, 360px);
  }
  .sec-message{
  min-height: 760px;
}
  .msg-inner{
    grid-template-columns: 1fr;
    row-gap: 20px;
  }
  .msg-body{
    grid-column: 1;
    max-width: 100%;
    margin-top: 0;
  }
  .msg-cta{ text-align: left; }
  .msg-text{
    font-size:clamp(14px, 1vw, 15px);
    margin: 0 0 1.5em 0  ;
}
  .msg-strip{
  height: 100%;
  display: flex;
  width: max-content;
  will-change: transform;
  transform: translate3d(0,0,0);
  animation: msgMarquee 60s linear infinite!important;
}
/* 2) 画像のフィットを中央寄せのカバーに固定（上下欠けの偏りを解消） */
  .msg-strip img{
  height: 100%;
  width: auto;
  min-width: 100vw;         /* 横連結の継ぎ目を安定させる */
  flex: 0 0 auto;
  object-fit: cover;
  object-position: center center;
  backface-visibility: hidden;   /* iOSでのチラつき/消失ケア */
  -webkit-transform: translateZ(0);
}

  .msg-bgstrip::after{
  background:
    linear-gradient(90deg,
      rgba(255,255,255,var(--msg-edge)) 0%,
	  rgba(255,255,255,.5) 5%,
      rgba(255,255,255,0) 20%,
	  rgba(255,255,255,0) 50%,
      rgba(255,255,255,0) 80%,
	  rgba(255,255,255,.5) 95%,
      rgba(255,255,255,var(--msg-edge)) 100%
    );
  z-index: 2;
}	

	
/* ◆companyセクション */
/* 無限画像スクロールサイズ・上下幅 */
.scroll-infinity__list {
  display: flex;
  white-space: nowrap; /* ← PCでの条件リセット */
}
.scroll-infinity__item {
   width: 300px!important;
}
.scroll-infinity__item > img {
   width: 100%;
   height: auto;
}

.l-mainContent__inner .scroll-infinity {
	height: 160px;
}
/* 無限画像スクロール左右フェード幅30px */	
.scroll-infinity::before,
  .scroll-infinity::after { width: 30px; }

/* ◆Vehicleページ */
.post_content .vehicle_copy {
	font-size: 1.5rem;
}
	
/* インスタ固定ボタン */
.fixed-cta{
    right: max(env(safe-area-inset-right), 12px);
    width: 56px;
    height: 56px;
	z-index: 1;
    --fixed-cta-top: 12%;
  }

.l-footer__widgetArea .image{
  width: 100%;
 }
.l-container #custom_html-5 .p-blogParts{
  text-align: center;
}

/* フッター */
body > #body_wrap > #footer .l-footer__widgetArea {
	margin-top: -25%;
}
	
/* 投稿・ページナビ */
.p-homeContent .page-numbers {
	transform: translate(0, -20px);
}
	
#main_content .p-articleFoot .p-articleMetas__termList {
	display: none;
}

#content>#main_content .p-pnLinks {
	transform: translate(0, -30px);
}
}


