@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
*/

/************************************
** contact form7 カスタマイズ
************************************/
.haveto{
font-size:11px;
padding:2px 5px;
background:#FF0000;/*必須 色の変更はこちら*/
color:#fff;
margin:0px 5px;
position:relative;
bottom:2px;
}

.grecaptcha-badge {

	/* 表示を消す */
	visibility: hidden !important;

}

.wpcf7-list-item label:has(input[value=""]) {
  display: none;
}

/************************************
** contact form7 カスタマイズ　for アルマ
************************************/
/* ── お客様情報ブロック：行間・余白 ───────────────── */
.customer-block p { margin: 0 0 12px; }
.customer-block label { display: block; line-height: 1.5; }
.customer-block .wpcf7-form-control { margin-top: 6px; }

/* ── 商品テーブル（背景は常に白） ───────────────────── */
.alma-qty-table td { background: #fff !important; }

/* 数量入力の幅（テーブル内のみ/4桁想定） */
.alma-qty-table input[type="number"]{
  width: 4em;
  max-width: 60px;
  text-align: right;
}

/* テキストエリア（質問欄）と送信ボタン周りの余白 */
.wpcf7 textarea { margin-top: 6px; }
.wpcf7 form p:has([name="privacy[]"]) { margin: 16px 0 8px; }
.wpcf7 form input[type="checkbox"] { margin-right: 6px; }
.wpcf7 form input[type="submit"] { margin-top: 40px; }

/* 支柱セルのレイアウトと画像のフィット */
.alma-qty-table td.with-thumb{ vertical-align: top; text-align: center; }
.alma-qty-table td.with-thumb strong{ display:block; margin-bottom:6px; }
.alma-qty-table td.with-thumb img{
  max-width:100%; height:auto; display:block; margin:4px auto 0; object-fit:contain;
}
/* 行見出し（rowspanセル）は上寄せ */
.alma-qty-table td[rowspan]{ vertical-align: top; }

/* ── スマホ最適化（640px以下）──────────────────────── */
@media (max-width: 640px){

  /* レイアウトを柔軟に */
  .alma-qty-table{ table-layout:auto; }

  /* 1列目サムネの縮小範囲 */
  .alma-qty-table td.with-thumb a,
  .alma-qty-table td.with-thumb img{
    width:100%;
    max-width: clamp(120px, 40vw, 300px);
  }

  /* 見出し行は改行OKにして圧縮 */
  .alma-qty-table thead th{
    white-space: normal;
    word-break: break-word;
  }

  /* 品番（2列目）：なるべく改行しないが、日本語は適宜折返し */
  .alma-qty-table tbody td:nth-child(2){
    white-space: normal;
    word-break: keep-all;
    overflow-wrap: anywhere;
    min-width: 5em; /* SHB-19N3 が収まる目安 */
  }

  /* 単品重量（4列目）は nowrap 維持 */
  .alma-qty-table tbody td:nth-child(4){ white-space: nowrap; }

  /* テーブル全体のフォント軽量化（スマホのみ） */
  .alma-qty-table th, .alma-qty-table td{ padding:4px 6px; font-size:0.9rem; }

  /* 入数＆単品重量はさらに小さめ */
  .alma-qty-table thead th:nth-child(3),
  .alma-qty-table tbody td:nth-child(3),
  .alma-qty-table thead th:nth-child(4),
  .alma-qty-table tbody td:nth-child(4){
    font-size:0.85rem;
  }

/* ===== 入数列を極限まで詰める（行タイプ差を吸収）===== */

/* 見出し「入数」（3列目） */
.alma-qty-table thead th:nth-child(3){
  padding-left:0 !important;
  padding-right:0 !important;
  width:2.8ch;                 /* 数字2〜3桁を想定して極小化 */
  min-width:2.6ch;
  text-align:center;
  white-space:nowrap;          /* 改行させない */
}

/* グループ先頭行（画像セルあり）：入数=3列目 */
.alma-qty-table tbody tr:has(td.with-thumb) td:nth-child(3){
  padding-left:0 !important;
  padding-right:0 !important;
  width:2.8ch;
  min-width:2.6ch;
  text-align:center;
  box-sizing:content-box;
  white-space:nowrap;          /* 改行させない */
}

/* グループ以降の行（画像セルなし）：入数=2列目 */
.alma-qty-table tbody tr:not(:has(td.with-thumb)) td:nth-child(2){
  padding-left:0 !important;
  padding-right:0 !important;
  width:2.8ch;
  min-width:2.6ch;
  text-align:center;
  box-sizing:content-box;
  white-space:nowrap;          /* 改行させない */
}
}

/* ── 見出し行（thead）を画面上部に固定：PC/スマホ共通 ── */
.alma-qty-table{
  --alma-header-offset: 64px;   /* PC */
  --alma-adminbar-offset: 0px;
  --alma-thead-bg: #2f5073;
}
@media (max-width:1024px){ .alma-qty-table{ --alma-header-offset:48px; } }
@media (max-width: 640px){ .alma-qty-table{ --alma-header-offset:48px; } }

.alma-qty-table thead th{
  position: sticky;
  top: calc(var(--alma-header-offset) + var(--alma-adminbar-offset));
  z-index: 5;
  background: var(--alma-thead-bg);
  box-shadow: 0 1px 0 rgba(0,0,0,.06);
}

/* WP管理バー分を上乗せ */
body.admin-bar .alma-qty-table{ --alma-adminbar-offset:32px; }
@media (max-width:782px){
  body.admin-bar .alma-qty-table{ --alma-adminbar-offset:46px; }
}

/* 補助用：枠線付きの説明ブロック */
.usage-column{
  border:1px solid #2f5073;
  border-radius:6px;
  padding:16px;
}
.usage-column p{ padding:10px; }

/* 見出し行の中央揃え（PC/スマホ共通） */
table.alma-qty-table thead th:nth-child(1),
table.alma-qty-table thead th:nth-child(2),
table.alma-qty-table thead th:nth-child(3),
table.alma-qty-table thead th:nth-child(4),
table.alma-qty-table thead th:nth-child(5){
  text-align:center !important;
}

/* 行内の中央揃え：列構成の違いを吸収 */
table.alma-qty-table tr:has(td.with-thumb) td:nth-child(3),
table.alma-qty-table tr:has(td.with-thumb) td:nth-child(4),
table.alma-qty-table tr:has(td.with-thumb) td:nth-child(5),
table.alma-qty-table tr:not(:has(td.with-thumb)) td:nth-child(2),
table.alma-qty-table tr:not(:has(td.with-thumb)) td:nth-child(3),
table.alma-qty-table tr:not(:has(td.with-thumb)) td:nth-child(4){
  text-align:center !important;
}

/* 「ご質問・連絡事項その他」のテキストエリアをテーブルと同じ幅に */
.wpcf7 form textarea[name="message"]{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  min-height:14rem;
  line-height:1.6;
  resize:vertical;
}

/* 送信ボタン（ブランドカラー #2f5073） */
.wpcf7 form .wpcf7-submit{
  display:block;
  margin:2rem auto;
  padding:0.68rem 1.6rem;
  min-width:280px;
  text-align:center;
  font-size:1.08rem;
  font-weight:700;
  line-height:1;
  color:#fff;
  background-color:#2f5073;
  border:2px solid #2f5073;
  border-radius:0;
  cursor:pointer;
  transition:background-color .2s ease, color .2s ease, transform .15s ease;
}
.wpcf7 form .wpcf7-submit:hover{
  background-color:#fff;
  color:#2f5073;
  transform:translateY(-1px);
}
.wpcf7 form .wpcf7-submit:focus-visible{
  outline:3px solid rgba(47,80,115,.35);
  outline-offset:3px;
}
.wpcf7 form .wpcf7-submit:active{ transform:translateY(0); }


/* CF7 ラジオ・/* ラジオ/チェックの各アイテムの左インデントを消す */
/* ラジオ・チェックボックスの input と文字の間隔を狭める */
.wpcf7-form .wpcf7-list-item > label {
  display: inline-flex;
  align-items: center;
  column-gap: 0.2em;  /* ← ここを 0.2em〜0.4emくらいで調整 */
}

/* アイテム同士の間隔は今まで通り */
.wpcf7-form .wpcf7-radio .wpcf7-list-item,
.wpcf7-form .wpcf7-checkbox .wpcf7-list-item {
  margin: 0 1em 0 0 !important;
}


/* ── オレンジ ───────────────────── */
.swell-block-button.custom-orange-btn .swell-block-button__link {
  border-radius: 0 !important;          /* 四角 */
  background-color: #F09F4D !important; /* オレンジ背景 */
  color: #fff !important;               /* 白文字 */
  padding: 2em 1.5em !important;        /* 内側余白 */
  border: 2px solid #000 !important;    /* 白枠 */
  text-decoration: none !important;
  display: inline-block;
  box-shadow: none !important;
}

/* ── ホワイト ──────────────────── */
.swell-block-button.custom-white-btn .swell-block-button__link {
  border-radius: 0 !important;
  background-color: #ffffff !important; /* 背景グレー（必要なら#fffに） */
  color: #000 !important;
  padding: 2em 1.5em !important;
  border: 2px solid #000 !important;
  text-decoration: none !important;
  display: inline-block;
  box-shadow: none !important;
}
/* 購入 PC */
.btn-kounyuu-pc img {
  transition: 0.3s ease;
}
.btn-kounyuu-pc:hover img {
  content: url("https://quote.alma-rent.jp/wp-content/uploads/2025/09/kounyuu_pc_hb1.png");
}

/* レンタル PC */
.btn-rental-pc img {
  transition: 0.3s ease;
}
.btn-rental-pc:hover img {
  content: url("https://quote.alma-rent.jp/wp-content/uploads/2025/09/rental_pc_hb1.png");
}

/* 仮設計画図 PC */
.btn-blueprint-pc img {
  transition: 0.3s ease;
}
.btn-blueprint-pc:hover img {
  content: url("https://quote.alma-rent.jp/wp-content/uploads/2025/09/blueprint_pc_hb1.png");
}

/* 購入ボタン SP */
.btn-kounyuu img {
  transition: 0.3s ease;
}
.btn-kounyuu:hover img {
  content: url("https://quote.alma-rent.jp/wp-content/uploads/2025/09/kounyuu_sp_hb1.png");
}

/* レンタルボタン SP */
.btn-rental img {
  transition: 0.3s ease;
}
.btn-rental:hover img {
  content: url("https://quote.alma-rent.jp/wp-content/uploads/2025/09/renral_sp_hb1.png");
}

/* 仮設計画図ボタン SP */
.btn-blueprint img {
  transition: 0.3s ease;
}
.btn-blueprint:hover img {
  content: url("https://quote.alma-rent.jp/wp-content/uploads/2025/09/blueprint_sp_hb1.png");
}


/* ===== フッター統合版：背景＝全幅、キャラが上に飛び出す ===== */
.copy{ 
  font-size:0.7rem; 
  font-weight:300; 
  line-height:1.91; 
  color:rgba(255,255,255,.5); 
  white-space: nowrap;   /* PCでは改行禁止 */
} 
@media (max-width: 640px){
  .copy{ white-space: normal; } /* スマホでは折返し */
}

/* 左：ロゴ＋キャラ */
.flex-in-box{ 
  display:flex; 
  align-items:flex-end; 
  justify-content:flex-start; 
  margin-bottom:1rem;
} 
.flex-in-box>img{ 
  margin-top:-70px;  /* 元サイトのキャラ位置 */ 
  margin-left:15px; 
}

/* ====== SWELLフッター3列：PCで中央固定／SPでダミー非表示 ====== */

/* PC（>=981px）：3列の器をフレックス化して中央列を真ん中に */
@media (min-width: 981px){
  #footer .l-footer__widgetArea .w-footer.-col3{
    display:flex; align-items:flex-start; gap:24px;
  }
  #footer .l-footer__widgetArea .w-footer.-col3 > .w-footer__box{
    flex:1 1 0;
  }
  #footer .l-footer__widgetArea .w-footer.-col3 > .w-footer__box:nth-child(2){
    flex:0 0 auto;
    margin-left:auto; margin-right:auto;
    text-align:center;
    max-width:max-content;
  }
}

/* SP（<=980px）：左右のダミー列を非表示 */
@media (max-width: 980px){
  #footer .l-footer__widgetArea .w-footer.-col3 > .w-footer__box:has(.dummy-col[aria-hidden="true"][style*="height:0"]){
    display:none;
  }
  #footer .l-footer__widgetArea .w-footer.-col3{
    display:block;
  }
  #footer .l-footer__widgetArea .w-footer.-col3 > .w-footer__box:nth-child(2){
    margin:0 auto; text-align:center;
  }
}

/* lazyloadのimgが中央でズレるのを防ぐ */
#footer .l-footer__widgetArea .w-footer.-col3 > .w-footer__box:nth-child(2) img{
  display:block;
  height:auto;
  margin-left:auto; margin-right:auto;
}


.alma-toc {
  margin:12px 0 20px;
  font-size:.95em;
  line-height: 1.8;
}
.alma-toc .toc-item {
  display: inline-block;   /* 1つの項目をかたまりにする */
  white-space: nowrap;     /* ▶︎と文字の間では改行しない */
  margin-right: .8em;      /* 横の余白 */
}

.back-to-toc {
  text-align: right;
  margin: 8px 0 16px;
  font-size: .9em;
}


/* 固定見出しぶんの着地オフセット（数値は見出しの実高さに合わせて） */
.anchor-fix {
  display: block;
  height: 48px;      /* 例：thead の高さ */
  margin-top: -48px; /* 見た目は変えず、着地だけ下げる */
  visibility: hidden;
}
