/* compiled CSS baseline – sync with SCSS tokens */
:root{
  --brand-main:#46aea4;
  --brand-logo:#0b6759;
  --brand-accent:#3f65af;
  --brand-primary:#5e85de;
  --brand-sub:#97680b;
  --brand-gold:#ccaa45;
  --beige:#f5ecc8;
  --text:#222;
	--form-border-color:#CCC;
	overflow-x: clip;
}
html{scroll-behavior:smooth; scroll-padding-top:100px}

html {
  overflow-y: scroll; /* スクロールバーを常に確保 */
}

body{font-family:'Noto Sans JP', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; color:var(--text); line-height:1.8;width: 100vw; /* または 100% */}
img{max-width:100%; height:auto; display:block}
/* in-view animation baseline */
[data-inview]{opacity:0; transform:translateY(8px); transition:opacity .4s ease, transform .4s ease}
.is-inview{opacity:1; transform:none}

@media(max-width:767px){
	.hide_sp{
	display:none;
}
}

span.small{
	font-size:0.9em;
}

/* 買取情報ブロック */
.case-info-block {
  margin: 2rem 0;
}

.case-info-wrapper {
  display: flex;
  gap: 2rem;
  padding: 1.5rem;
  background-color: #f8f9fa;
  border-left: 4px solid var(--brand-main);
  border-radius: 4px;
}

.case-info-item {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.case-info-label {
  font-size: 0.875rem;
  color: #666;
  font-weight: 600;
}

.case-info-value {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--brand-main);
}

.case-info-empty {
  color: #999;
  font-style: italic;
}

@media (max-width: 768px) {
  .case-info-wrapper {
    flex-direction: column;
    gap: 1rem;
  }
}

/* 買取実績アーカイブ */
.hentry {
list-style: none;
	padding:0;
}
.hentry ul li{
	list-style-type:disc;
}

/* 買取実績スライダー */
.case-slider-block {
  margin: 3rem 0;
}

.case-slider-wrapper {
  position: relative;
  padding: 0 3rem 1rem;
}

.case-slider {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  overflow-x: auto;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.case-slider::-webkit-scrollbar {
  display: none;
}

.case-card {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 1rem 1.25rem;
  min-width: 280px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  list-style: none;
	box-sizing:border-box;
}

.case-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}

.case-card-item {
  padding: 0.75rem 0;
  border-bottom: 1px solid #e0e0e0;
}

.case-card-item:first-child {
  border-bottom-color: var(--brand-primary);
}

.case-card-item-last {
  border-bottom: none;
}

.case-card-value {
  font-size: 1rem;
  color: #222;
  font-weight: 500;
}

.case-card-item:first-child .case-card-value {
  color: var(--brand-primary);
  font-weight: 600;
}

/* ナビゲーションボタン */
.case-slider-prev,
.case-slider-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: var(--brand-main);
  color: #fff;
  border: none;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.3s ease, opacity 0.3s ease;
  z-index: 10;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 16px 16px;
}

.case-slider-prev:hover,
.case-slider-next:hover {
  background-color: var(--brand-logo);
}

.case-slider-prev {
  left: 0;
  background-image: url('../images/icon_prev.svg');
}

.case-slider-next {
  right: 0;
  background-image: url('../images/icon_next.svg');
}

.case-slider-empty {
  text-align: center;
  color: #999;
  padding: 3rem;
  font-style: italic;
}

/* タブレット: 2列表示 */
@media (max-width: 1024px) {
  .case-slider {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* スマートフォン: 1列表示 */
@media (max-width: 768px) {
  .case-slider-wrapper {
    padding: 0 2.5rem 1rem;
  }

  .case-slider {
    grid-template-columns: 1fr;
  }

  .case-card {
    min-width: 100%;
  }

  .case-slider-prev,
  .case-slider-next {
    width: 36px;
    height: 36px;
    background-size: 14px 14px;
  }
}

/*breadc*/
.aioseo-breadcrumbs a{
	color:var(--wp--preset--color--black);
}

/* ヘッダー固定表示 */
header {
  position: sticky;
  top: 0;
  z-index: 1000;
  padding: 15px 0;
  transition: padding 0.3s ease;
}

header .gNav {
  margin: 0 auto;
  width: calc(100% - 40px);
  max-width: 1200px;
  background: #fff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
}

/* スクロール時のコンパクトヘッダー */
header.scrolled {
  padding:2px;
}

header.scrolled .wp-block-navigation-item a::before {
  transform: scale(0.9);
  transition: height 0.3s ease;
}


header.scrolled .wp-block-navigation-item.menu-home a:before{
  	 transform: scale(0.8);
  transition: height 0.3s ease;	
}

/* ナビゲーション */
header .wp-block-navigation {
  align-items: center;
  justify-content: center;
}

header .wp-block-navigation__container {
  display: flex;
  justify-content: center;
  gap: 2rem;
}

header .wp-block-navigation__responsive-container-open {
  background: var(--brand-primary);
  color: #fff;
  padding: 8px 12px;
  border-radius: 4px;
  border: none;
  cursor: pointer;
  font-size: 1.5rem;
  line-height: 1;
}



header .wp-block-navigation-item a {
  text-decoration: none;
  color: var(--text);
  font-weight: 500;
  padding: 0.5rem 1rem;
  transition: color 0.3s ease;
  display: flex;
  flex-direction: column;
  text-align: center;
  align-items: center;
  gap: 0.25rem;
}

header .wp-block-navigation-item a:hover {
  color: var(--brand-primary);
}

/* ナビゲーションアイコン */
header .wp-block-navigation-item a::before {
  content: '';
  display: block;
  width: 100%;
  height: 50px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: opacity 0.3s ease, filter 0.3s ease;
  filter: invert(0%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(20%);
}

/* 各メニュー項目のアイコン設定 */

header .wp-block-navigation-item.menu-home a::before {
  background-image: url('../images/icon_gNav_home.svg');
	background-size:cover;
	width:60px;
	height:50px;
}

header .wp-block-navigation-item.menu-case a::before {
  background-image: url('../images/icon_gNav_case.svg');
}

header .wp-block-navigation-item.menu-flow a::before {
  background-image: url('../images/icon_gNav_flow.svg');
}

header .wp-block-navigation-item.menu-faq a::before {
  background-image: url('../images/icon_gNav_faq.svg');
}

header .wp-block-navigation-item.menu-company a::before {
  background-image: url('../images/icon_gNav_company.svg');
}

header .wp-block-navigation-item a:hover::before {
  filter: invert(0%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(20%) opacity(0.7);
}

/* ヘッダー下のスペーサー調整（stickyモード） */
header + .wp-block-spacer {
  height: 20px !important;
}


/* タブレット: 余白を調整 */
@media (max-width: 1024px) {
  header .gNav {
    width: calc(100% - 30px);
  }
}

/* スマートフォン: ハンバーガーメニュー */
@media (max-width: 782px) {
  header {
    padding: 10px 0;
  }

  header .gNav {
    width: calc(100% - 20px);
  }

  /* ハンバーガーボタン */
  header .wp-block-navigation__responsive-container-open {
    padding: 10px 14px;
    font-size: 1.75rem;
    position: fixed;
    top: 10px;
    right:20px;
    z-index: 1001;
  }

  /* メニューが開いた時のヘッダー（背景とシャドウを消す） */
  header .wp-block-navigation__responsive-container.is-menu-open ~ .gNav {
    background: transparent;
    box-shadow: none !important;
  }

  /* オーバーレイメニューのスタイル */
  header .wp-block-navigation__responsive-container.is-menu-open {
    background: rgba(0, 0, 0, 0.95);
  }

  header .wp-block-navigation__responsive-container-content {
    padding: 2rem;
  }

  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a {
    color: #222;
    font-size: 1.4rem;
    padding: 1rem 0;
    display: flex;
    flex-direction: row !important;
    align-items: center;
    justify-content: flex-start;
    text-align: left;
    gap: 1rem;
  }

  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a:hover {
    color: var(--brand-primary);
  }

  /* スマホメニュー内のアイコン */
  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a::before {
    width: 50px;
    height: 50px;
    flex-shrink: 0;
    filter: none !important;
  }

  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a:hover::before {
    filter: opacity(0.7) !important;
  }

  header + .wp-block-spacer {
    height: 10px !important;
  }
}

/* レスポンシブ画像ブロック */
.responsive-image-block {
  margin: 2rem 0;
}

.responsive-image-block a {
  display: block;
  text-decoration: none;
  transition: opacity 0.3s ease;
  cursor: pointer;
}

.responsive-image-block a:hover {
  opacity: 0.85;
}

.responsive-image-block picture {
  display: block;
  line-height: 0;
}

.responsive-image-block img {
  width: 100%;
  height: auto;
  display: block;
}

/* 配置: 左寄せ */
.responsive-image-block.alignleft {
  float: left;
  margin: 0.5rem 2rem 1rem 0;
  max-width: 50%;
}

/* 配置: 右寄せ */
.responsive-image-block.alignright {
  float: right;
  margin: 0.5rem 0 1rem 2rem;
  max-width: 50%;
}

/* 配置: 中央 */
.responsive-image-block.aligncenter {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

/* 配置: 幅広 */
.responsive-image-block.alignwide {
  max-width: var(--wp--style--global--wide-size, 1200px);
  margin-left: auto;
  margin-right: auto;
}

/* 配置: 全幅 */
.responsive-image-block.alignfull {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.responsive-image-block.alignfull img {
  width: 100%;
}

@media (max-width: 768px) {
  .responsive-image-block.alignleft,
  .responsive-image-block.alignright {
    float: none;
    max-width: 100%;
    margin: 1rem 0;
  }
}

/* トップページの固定背景 */
body.home::before {
  content: '';
  position: fixed!important;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('../images/hero_bg.webp');
  background-size: 100%!important;
  background-position: center;
  background-repeat: no-repeat;
  z-index: -1;
}

/* 固定ページとアーカイブの固定背景 */
body.page::before,
body.archive::before {
  content: '';
  position: fixed!important;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('../images/page_header_bg.png');
  background-size: 100%!important;
  background-position: top center;
  background-repeat: no-repeat;
  background-attachment: fixed;
  z-index: -1;
}

/* テーブルボックススタイル */
.table-box {
  background: white;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  border: 1px solid #e0e0e0;
}

.table-box .tables-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
}

.table-box table {
  width: 100%;
  border-collapse: collapse;
}

.table-box .table-container:first-child {
  border-right: 2px solid #e0e0e0;
}

.table-box thead {
  background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);
}

.table-box th {
  color: #1f2937;
  padding: 12px 10px;
  font-size: 1.1em;
  font-weight: 600;
  text-align: center;
}

.table-box tbody tr {
  transition: background 0.2s ease;
}

.table-box tbody tr:hover {
  background: #e8e8e8;
}

.table-box tbody tr:nth-child(even) {
  background: #f5f5f5;
}

.table-box tbody tr:nth-child(even):hover {
  background: #ebebeb;
}

.table-box td {
  padding: 10px 12px;
  text-align: center;
  font-size: 1.05em;
  border-bottom: 1px solid #f0f0f0;
}

.table-box td:first-child {
  font-weight: 600;
  font-size: 1.1em;
}

.table-box .points-low {
  color: #057c54;
}

.table-box .points-medium {
  color: #044bbe;
}

.table-box .points-high {
  color: #044bbe;
}

.table-box .price {
  color: #ef4444;
  font-weight: 700;
  font-size: 1.2em;
}

.table-box .price .yen {
  font-size: 0.7em;
  font-weight: 500;
}

.table-box tbody tr:last-child td {
  border-bottom: none;
}

@media (max-width: 768px) {
  .table-box .tables-wrapper {
    grid-template-columns: 1fr;
  }

  .table-box .table-container:first-child {
    border-right: none;
    border-bottom: 2px solid #e0e0e0;
  }
}

.hero .responsive-image-block {
   margin:0;
}

:where(.wp-site-blocks) > *{
	    margin-block-start: 0;
}

/* キャンペーンセクション装飾 */
#sec_campaign {
  position: relative;
}

#sec_campaign .sec_campaign__box {
  position: relative;
  overflow: visible;
}

#sec_campaign .sec_campaign__box::before,
#sec_campaign .sec_campaign__box::after {
  content: '';
  position: absolute;
  background-size: contain;
  background-repeat: no-repeat;
  z-index: 1;
  pointer-events: none;
}

/* 左上の装飾画像 */
#sec_campaign .sec_campaign__box::before {
  top: -20px;
  left: -20px;
  width: 240px;
  height: 240px;
  background-image: url('../images/sec_campaign_illsut01.webp');
  background-position: top left;
}

/* 右下の装飾画像 */
#sec_campaign .sec_campaign__box::after {
  bottom: -20px;
  right: -20px;
  width: 240px;
  height: 240px;
  background-image: url('../images/sec_campaign_illsut02.webp');
  background-position: bottom right;
}

/* Retina対応 */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  #sec_campaign .sec_campaign__box::before {
    background-image: url('../images/sec_campaign_illsut01@2x.webp');
  }

  #sec_campaign .sec_campaign__box::after {
    background-image: url('../images/sec_campaign_illsut02@2x.webp');
  }
}

/* タブレット: 少し小さく */
@media (max-width: 1024px) {
  #sec_campaign .sec_campaign__box::before,
  #sec_campaign .sec_campaign__box::after {
    width: 200px;
    height: 200px;
  }
}

/* スマホ: さらに小さく */
@media (max-width: 768px) {
  #sec_campaign .sec_campaign__box::before,
  #sec_campaign .sec_campaign__box::after {
   display:none;
  }
}

/* ユーティリティクラス */
.text-center {
  text-align: center;
}

/* カラーユーティリティ - テキストカラー */
.text-primary {
  color: var(--brand-primary);
}

.text-main {
  color: var(--brand-main);
}

.text-logo {
  color: var(--brand-logo);
}

.text-accent {
  color: var(--brand-accent);
}

.text-sub {
  color: var(--brand-sub);
	line-height:1.2;
}

.text-beige {
  color: var(--beige);
}

/* カラーユーティリティ - 背景色 */
.bg-primary {
  background-color: var(--brand-primary);
}

.bg-main {
  background-color: var(--brand-main);
}

.bg-logo {
  background-color: var(--brand-logo);
}

.bg-accent {
  background-color: var(--brand-accent);
}

.bg-sub {
  background-color: var(--brand-sub);
}

.bg-gray-100 {
  background-color: #f7f7f7;
}

.bg-gray-900 {
  background-color: #222;
}

.bg-beige {
  background-color: var(--beige);
}

/* 見出しのspan調整 */
h2 span {
  font-size: 0.6em;
}

/* h3見出しスタイル（左ボーダー） */
h3.heading,
#sec_text h3 {
  position: relative;
  padding-left: 1.2rem;
  font-size: 1.5rem;
}

h3.heading::before,
#sec_text h3::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 7px;
  background-color: var(--brand-sub);
  border-radius: 4px;
}

/* ラベル（インラインブロック） */
.label {
  display: inline-block;
  padding: 0.4em 0.8em;
  font-size: 0.875em;
  font-weight: 600;
  line-height: 1.2;
  border-radius: 999px;
  background-color: #e0e0e0;
  color: #222;
  text-decoration: none;
  white-space: nowrap;
}

/* ラベルのカラーバリエーション */
.label-primary {
  background-color: var(--brand-primary);
  color: #fff;
}

.label-main {
  background-color: var(--brand-main);
  color: #fff;
}

.label-logo {
  background-color: var(--brand-logo);
  color: #fff;
}

.label-accent {
  background-color: var(--brand-accent);
  color: #fff;
}

.label-sub {
  background-color: var(--brand-sub);
  color: #fff;
}

.label-gray {
  background-color: #666;
  color: #fff;
}

.label-light {
  background-color: #f7f7f7;
  color: #222;
  border: 1px solid #e0e0e0;
}

.label-beige {
  background-color: var(--beige);
  color: #333;
}

/* ラベルのサイズバリエーション */
.label-sm {
  padding: 0.25em 0.6em;
  font-size: 0.75em;
}

.label-lg {
  padding: 0.6em 1em;
  font-size: 1em;
}

/* フローセクション装飾 */
.sec_flow__box {
  position: relative;
  overflow: visible;
}

.sec_flow__box::after {
  content: '';
  position: absolute;
  top: -15px;
  right: -25px;
  width: 180px;
  height: 180px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: top right;
  z-index: 1;
  pointer-events: none;
}

/* 各ボックスの装飾画像 - カラムブロック構造対応 */
/* 1行目の左側 */
#sec_flow .sec_flow__boxes1 .sec_flow__box:nth-child(1)::after {
  background-image: url('../images/sec_flow_illust01@2x.webp');
}

/* 1行目の右側 */
#sec_flow .sec_flow__boxes1 .sec_flow__box:nth-child(2)::after {
  background-image: url('../images/sec_flow_illust02@2x.webp');
}

/* 2行目の左側 */
#sec_flow .sec_flow__boxes2 .sec_flow__box:nth-child(1)::after {
  background-image: url('../images/sec_flow_illust03@2x.webp');
}

/* 2行目の右側 */
#sec_flow .sec_flow__boxes2 .sec_flow__box:nth-child(2)::after {
  background-image: url('../images/sec_flow_illust04@2x.webp');
}

/* 汎用的な4つ並びのスタイル（sec_flow__boxes1、sec_flow__boxes2なし） */
/* カラムブロック構造対応 */
/* 1つ目 */
.sec_flow__boxes > *:nth-child(1) .sec_flow__box::after,
.sec_flow__boxes .sec_flow__box:first-of-type::after {
  background-image: url('../images/sec_flow_illust01@2x.webp');
}

/* 2つ目 */
.sec_flow__boxes > *:nth-child(2) .sec_flow__box::after,
.sec_flow__boxes .sec_flow__box:nth-of-type(2)::after {
  background-image: url('../images/sec_flow_illust02@2x.webp');
}

/* 3つ目 */
.sec_flow__boxes > *:nth-child(3) .sec_flow__box::after,
.sec_flow__boxes .sec_flow__box:nth-of-type(3)::after {
  background-image: url('../images/sec_flow_illust03@2x.webp');
}

/* 4つ目 */
.sec_flow__boxes > *:nth-child(4) .sec_flow__box::after,
.sec_flow__boxes .sec_flow__box:nth-of-type(4)::after {
  background-image: url('../images/sec_flow_illust04@2x.webp');
}

/* タブレット: 少し小さく */
@media (max-width: 1024px) {
  .sec_flow__box::after {
    width: 150px;
    height: 150px;
    top: -12px;
    right: -20px;
  }
}

/* スマホ: さらに小さく */
@media (max-width: 768px) {
  .sec_flow__box::after {
    width: 120px;
    height: 120px;
    top: -10px;
    right: -15px;
  }
}

/* FAQ（詳細ブロック） */
@media (max-width: 768px) {
.wp-block-columns.faq__tab:where(.is-layout-flex) {
	gap:10px!important;	
	}
.wp-block-columns.faq__tab:not(.is-not-stacked-on-mobile)>.wp-block-column{
	flex-basis: 45% !important;
	width:45%;
}

}


details.faq-item {
  background-color: var(--beige);
  margin-bottom: 1rem;
  border-radius: 10px;
  overflow: hidden;
}

details.faq-item summary {
  cursor: pointer;
  padding: 1.2rem 3rem 1.2rem 4.5rem;
  position: relative;
  font-weight: 600;
  font-size: 1.05em;
  list-style: none;
  user-select: none;
  transition: background-color 0.3s ease;
}

details.faq-item summary:hover {
  background-color: #efe5b8;
}

/* デフォルトのマーカーを非表示 */
details.faq-item summary::-webkit-details-marker {
  display: none;
}

/* Qアイコン */
details.faq-item summary::before {
  content: 'Q';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3.5rem;
  background-color: #f4d017;
  color: #333;
  font-weight: 700;
  font-size: 1.3em;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px 0 0 10px;
}

/* 開閉アイコン（+/-） */
details.faq-item summary::after {
  content: '+';
  position: absolute;
  right: 1.5rem;
  top: 50%;
  transform: translateY(-50%);
  width: 2rem;
  height: 2rem;
  font-size: 1.8em;
  font-weight: 700;
  line-height: 1;
  color: #666;
  display: flex;
  align-items: center;
  justify-content: center;
}

details.faq-item[open] summary::after {
  content: '−';
}

details.faq-item[open] summary::before {
  border-radius: 10px 0 0 0;
}

/* 回答エリア */
details.faq-item .faq-answer {
  padding: 0 2rem 1rem 1.5rem;
  margin-left: 3.5rem;
  color: #444;
  line-height: 1.8;
}

details.faq-item .faq-answer:last-child {
  padding-bottom: 1.5rem;
}

details.faq-item .faq-answer p {
  margin: 0 0 0.8rem 0;
  padding-left: 3rem;
}

details.faq-item .faq-answer p:last-child {
  margin-bottom: 0;
}

details.faq-item .faq-answer ul,
details.faq-item .faq-answer ol {
  margin: 0.5rem 0;
  padding-left: 1.5rem;
}

details.faq-item .faq-answer li {
  margin-bottom: 0.4rem;
}

/* スマホ対応 */
@media (max-width: 768px) {
  details.faq-item summary {
    padding: 1rem 2.5rem 1rem 3.5rem;
    font-size: 1em;
  }

  details.faq-item summary::before {
    width: 2.5rem;
    font-size: 1.1em;
  }

  details.faq-item summary::after {
    right: 0.5rem;
    font-size: 1.5em;
  }

  details.faq-item .faq-answer {
    padding: 0 1rem 1rem 1rem;
    margin-left:0;
  }

  details.faq-item .faq-answer p {
    padding-left: 1rem;
  }
}

/* 下部固定CTAバー */
.fixed_bottom {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100vw;
  background-color: var(--brand-gold);
  z-index: 999;
  overflow: visible;
  box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.15);
  padding: 5.5rem 1.5rem 10px;
}

/* カラム内のボタンスタイル */
.fixed_bottom .wp-block-column {
  position: relative;
  overflow: visible;
}

.fixed_bottom a {
  display: block;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  border-radius: 8px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.fixed_bottom a:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

/* キャラクターイラスト（カラム内の画像が上にはみ出す） */
.fixed_bottom img {
  position: absolute;
  bottom: 10%;
  left: 0;
  height: auto;
  pointer-events: none;
  z-index: 1;
  max-width: none;
}

/* レスポンシブ画像ブロックのリンクを有効にする */
.fixed_bottom .responsive-image-block {
  position: relative;
  z-index: 10;
}

.fixed_bottom .responsive-image-block a {
  position: relative;
  z-index: 10;
  pointer-events: auto;
}

.fixed_bottom .responsive-image-block img {
  z-index: 10;
  pointer-events: auto;
}

/* タブレット */
@media (max-width: 1024px) {

}

/* スマートフォン */
@media (max-width: 768px) {
  .fixed_bottom {
    padding:2.4rem 0 10px;
  }

  .fixed_bottom a {
    padding: 0.9rem 1.2rem;
    font-size: 1rem;
  }

}

/* ページヘッダーブロック */
.page-header-block {
  margin: 2rem 0;
}

.page-header-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  padding: 0;
}

.page-header-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  flex: 1;
}

.page-header-title {
  margin: 0;
  line-height: 1;
  text-align: center;
}

.page-header-title img {
  max-width: 100%;
  max-height: 90px;
  height: auto;
  display: block;
  object-fit: contain;
}

.page-header-description {
  text-align: center;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4;
}

.page-header-illustration {
  flex-shrink: 0;
  max-width: 160px;
}

.archive .page-header-illustration {
  max-width: 200px;
}


.page-header-illustration img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* イラスト左配置 */
.page-header-block.illustration-left .page-header-inner {
  flex-direction: row;
}

/* イラスト右配置 */
.page-header-block.illustration-right .page-header-inner {
  flex-direction: row;
}

/* 幅広・全幅対応 */
.page-header-block.alignwide,
.page-header-block.alignfull {
  margin-left: auto;
  margin-right: auto;
}

.page-header-block.alignwide .page-header-inner {
  max-width: var(--wp--style--global--wide-size, 1200px);
  margin: 0 auto;
}

.page-header-block.alignfull .page-header-inner {
  max-width: 100%;
  padding-left: 1rem;
  padding-right: 1rem;
}

/* タブレット: 間隔調整 */
@media (max-width: 1024px) {
  .page-header-inner {
    gap: 1.5rem;
  }

  .page-header-title img {
    max-height: 80px;
  }
}

/* スマートフォン: 縦積み */
@media (max-width: 768px) {
  .page-header-inner {
    flex-direction: column !important;
    gap: 1rem;
  }

  .page-header-content {
    width: 100%;
  }

  .page-header-illustration {
    max-width: 120px;
  }

  .page-header-title img {
    max-height: 60px;
  }

  .page-header-description {
    font-size: 1.1rem;
    padding: 0 1rem;
  }

  .page-header-block.alignfull .page-header-inner {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

/*------------------------------
 * Company page
 * ----------------------------- */
.info-table{
	padding:20px;
}
 .info-table table{
            width: 100%;
            border-collapse: separate;
            border-spacing: 0;
            overflow: hidden;
            border-radius: 12px;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1)!important;
        }

        .info-table table tr {
            transition: all 0.3s ease;
        }

        .info-table table th {
            background: #5e85de;
            color: white;
            padding: 18px 20px;
            text-align: left;
            font-weight: 600;
            width: 35%;
            font-size: 1.1rem;
            border-bottom: 2px solid rgba(255, 255, 255, 0.2);
        }

.info-table table td {
            background: white;
            padding: 18px 20px;
            color: #333;
            font-size: 1.1rem;
	border:none;
            border-bottom: 2px solid #e0e0e0;
        }

        .info-table table tr:last-child th,
        .info-table table tr:last-child td {
            border-bottom: none;
        }

        .info-table table tr:first-child th {
            border-radius: 12px 0 0 0;
        }

        .info-table table tr:first-child td {
            border-radius: 0 12px 0 0;
        }

        .info-table table tr:last-child th {
            border-radius: 0 0 0 12px;
        }

        .info-table table tr:last-child td {
            border-radius: 0 0 12px 0;
        }

        @media (max-width: 600px) {
            .info-table table th,
            .info-table table td {
                padding: 14px 15px;
                font-size: 0.85rem;
            }

            .info-table table th {
                width: 40%;
            }
        }

/*------------------------------
 * Flow Steps with Arrows
 * ----------------------------- */
.flow__steps {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.flow__step {
  position: relative;
  flex: 1;
}

/* 右向き三角（最後以外のステップに追加） */
.flow__step:not(:last-child)::after {
  content: '';
  position: absolute;
  top: 50%;
  right: -0.75rem;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8px 0 8px 12px;
  border-color: transparent transparent transparent var(--brand-primary);
  z-index: 10;
}

/* スマホ: 三角を少し小さく */
@media (max-width: 768px) {
  .flow__steps {
    gap: 1rem;
  }

  .flow__step:not(:last-child)::after {
    right: -0.75rem;
    border-width: 6px 0 6px 10px;
  }

  .flow__step .wp-block-columns {
    gap: 0.5rem !important;
  }


  .sec_flow__box .stepnum,
  .sec_flow__box .stepnum {
    width: 100px !important;
    max-width: 120px !important;
    flex-shrink: 0 !important;
    margin-top: -40px;
  }
}

/*------------------------------
 * Maker List (Label Style)
 * ----------------------------- */
ul.maker_list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  list-style: none;
  padding: 0;
  margin: 1rem 0;
}

ul.maker_list li {
  background-color: #cccccc;
  color: #222;
  padding: 0.75rem 1.5rem;
  border-radius: 6px;
  font-weight: 600;
  font-size: 1.1rem;
  line-height: 1.4;
  display: inline-block;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

ul.maker_list li:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

/* スマホ: 少し小さく */
@media (max-width: 768px) {
  ul.maker_list {
    gap: 0.5rem;
  }

  ul.maker_list li {
    padding: 0.6rem 1.2rem;
    font-size: 1rem;
  }
}

/*------------------------------
 * List Style Reset
 * ----------------------------- */
/* コンテンツエリア内のulのリストスタイルを正しく表示 */
main ul,
article ul,
.entry-content ul,
.wp-block-post-content ul,
[class*="wp-block"] ul {
  list-style-type: disc;
}

/* 実際の入れ子の場合のみ白抜き丸にする */
main ul ul,
article ul ul,
.entry-content ul ul,
.wp-block-post-content ul ul,
[class*="wp-block"] ul ul {
  list-style-type: circle;
}

/* 3階層目は四角 */
main ul ul ul,
article ul ul ul,
.entry-content ul ul ul,
.wp-block-post-content ul ul ul,
[class*="wp-block"] ul ul ul {
  list-style-type: square;
}

/*ここからフォーム用*/

/*----------------------------------------------------------*/
/* application form  										*/
/*----------------------------------------------------------*/
.contact-frm{
    width:100%;
}
input[type=text],
input[type=email],
input[type=tel],
input[type=number],
textarea,select{
	border:1px solid #ccc;
	padding:0.8em;
	 box-sizing: border-box;
	max-width: 100%;
}

/* step */
.ul-step{
	margin:0 0 40px 0;
	border:0;
	padding:0;
	list-style:none;
	width:100%;
	display:flex;
	flex-flow:row nowrap;
}
.ul-step>li{
	display:inline-block;
	width:33.333%;
	margin:0;
}
.ul-step>li:nth-of-type(3n+1){
    padding-right:10px;
}
.ul-step>li:nth-of-type(3n+2){
    padding:0 5px;
}
.ul-step>li:nth-of-type(3n){
    padding-left:10px;
}
.ul-step>li .box{
	width:100%;
	height:60px;
	position:relative;
	border-radius:0;
	background:#dfdfdf;
}

.ul-step>li:last-of-type .box:after{
	content:none;
}
.ul-step>li .box p{
	color:#000;
}
.ul-step>li .box .inner{
	width:100%;
	height:100%;
	display:flex;
	justify-content:center;
	align-items:center;
}
/* 状況により色変更 */
.mw_wp_form_input .ul-step>li:first-of-type .box{
	background:var(--sub-color2);
}
.mw_wp_form_input .ul-step>li:first-of-type p{
	font-weight:700;
}
.mw_wp_form_confirm .ul-step>li:nth-of-type(2) .box{
	background:var(--sub-color2);
}
.mw_wp_form_confirm .ul-step>li:nth-of-type(2) p{
	font-weight:700;
}
.form-complete .ul-step>li:nth-of-type(3) .box{
	background:var(--sub-color2);
}
.form-complete .ul-step>li:nth-of-type(3) p{
	font-weight:700;
}

/* form format */
/* customerinfo-sec */
.customerinfo-sec{
    width:100%;
}

/* table */
.tbl-contact{
	width:100%;
    margin-bottom:20px;
    display:block;
}
.tbl-contact tbody{
    width:100%;
    display:block;
}
.tbl-contact tr{
    display:block;
    width:100%;
}
.tbl-contact th, .tbl-contact td{
    display:block;
	border:none;
    font-size:16px;
}
.tbl-contact th{
    position:relative;
    background:var(--company-th-color);
    padding:10px 20px;
}
.tbl-contact th .require{
    display:inline-block;
    color:#fff;
    line-height:1;
    font-size:14px;
    padding:8px 10px;
    position:absolute;
    top:50%;
    right:20px;
    border-radius:5px;
    transform:translateY(-50%);
}
.tbl-contact td{
    padding:20px;
}
/* item */
.dvd_cound{
    width:100px;
    padding:5px 15px;
    border-radius:5px;
    border:none;
    outline:solid 1px var(--form-border-color);
}

.tbl-contact td input[type='text']::placeholder{
    color:#BDB8B8;
}

.tbl-contact td input[type='email']::placeholder{
    color:#BDB8B8;
}
.customerinfo-sec .tbl-contact td .shipping_date{
    display:block;
    width:200px;
}
/* radio */
.tbl-contact td .mwform-radio-field{
    display:block;
}
.tbl-contact td .mwform-radio-field .mwform-radio-field-text{
    font-weight:500;
}

.request_count_note{
    margin-top:20px;
    font-weight:500;
}
.request_count_note .emphasis{
    color:var(--font-color2);
}
.dl-2divide{
    display:flex;
    width:100%;
    flex-flow:row nowrap;
    margin:0;
}
.dl-2divide dt{
    width:50%;
    display:flex;
    justify-content:center;
    margin:0;
}
.dl-2divide dd{
    width:50%;
    display:flex;
    justify-content:center;
    margin:0;
}
.dl-2divide dt>div{
    display:flex;
    justify-content:center;
    align-items:center;
    margin:0;
    flex-flow:column nowrap;
    width:90%;
    font-weight:400;
}
.dl-2divide dd>div{
    display:flex;
    justify-content:flex-start;
    align-items:center;
    margin:0;
    flex-flow:column nowrap;
    width:90%;
}
.customerinfo-sec .tbl-contact td .your-lastname{
    display:inline-block;
    width:100%;
}
.customerinfo-sec .tbl-contact td .your-firstname{
    display:inline-block;
    width:100%;
}
.customerinfo-sec .tbl-contact td .your-furigana-lastname{
    display:inline-block;
    width:100%;
}
.customerinfo-sec .tbl-contact td .your-furigana-firstname{
    display:inline-block;
    width:100%;
}
.add-frm{
    width:100%;
    display:flex;
    flex-flow:row nowrap;
    margin-bottom:10px;
}
.add-frm>span{
    width:25px;
}
.customerinfo-sec .tbl-contact td .add-frm>.org_zip{
    width:140px;
    padding:5px 10px;
    outline:solid 1px var(--form-border-color);
    border-radius:5px;
    border:none;
}
.customerinfo-sec .tbl-contact td .add-frm>.org_zip:active{
    outline:solid 1px var(--form-border-color);
    border:none;
}
.customerinfo-sec .tbl-contact td .add-frm>.org_zip::placeholder{
    color:#BDB8B8;
}
.customerinfo-sec .tbl-contact td .mwform-tel-field{
    display:flex;
    flex-flow:row nowrap;
    align-items:center;
}
.customerinfo-sec .tbl-contact td .mwform-tel-field .your-telno{
    width:80px;
    margin:0 0.5em;
}
.birth_year{
    width:80px;
    padding:5px 10px;
    border-radius:5px;
    border:none;
    outline:solid 1px var(--form-border-color);
}
.birth_month, .birth_day{
    width:60px;
    padding:5px 10px;
    border-radius:5px;
    border:none;
    outline:solid 1px var(--form-border-color);
}
.year_word,.month_word{
    margin-right:5px;
}
.mw_wp_form .certificate-wrap input[type="file"]{
    display:block;
}
.certificate-wrap .attention{
    color:var(--font-color2);
    font-weight:500;
    margin-bottom:20px;
}
.certificate-wrap .note{
    padding-left:40px;
    color:var(--font-color2);
    font-weight:500;
    position:relative;
    margin-bottom:20px;
}
.certificate-wrap .note:after{
    content:'◇';
    position:absolute;
    top:0;
    left:20px;
}
.certificate-wrap .note .emphasis{
    color:var(--font-color2);
}
.certificate-wrap .note span{
    display:block;
}
.certificate-wrap p strong{
    color:var(--font-color2);
}
/* bankinginfo-sec */
.bankinginfo-sec{
    width:100%;
    margin-bottom:40px;
}
.bankinginfo-sec h3{
    width:100%;
    height:45px;
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:20px;
    color:#fff;
    font-weight:700;
    background:var(--wp--preset--color--black);
    margin-bottom:40px;
    border-radius:10px;
}
.account-word{
    margin-top:20px;
    font-weight:500;
}
.your-message{
    padding:5px 15px;
    border-radius:5px;
    border:none;
}
/*button*/
.contactfm-last-bt{
	display:block;
	width:100%;
	position:relative;
}
.confirm-submit{
	display:table;
	width:280px;
	margin:0 auto;
	border-radius:50px;
	border:none;
	background:var(--brand-primary);
	color: #fff;
	font-weight:700;
	font-size:16px;
	padding:15px 0;
	transition:all 0.3s;
	position:relative;
}
.confirm-submit:hover{
	filter:brightness(1.2);
}
.return{
	border-radius:50px;
	display:table;
	font-weight: 900;
	width:280px;
	margin:0 auto 10px auto;
	padding:15px 0;
	border:none;
	background:#CCC;
}
.return:hover{
	opacity:0.6;
}
.mw_wp_form_input .mwform-checkbox-field-text{
	display:none;
}
.mw_wp_form_confirm .pripol-word{
	display:none;
}
.mw_wp_form_input .mwform-checkbox-field-text{
	display:none;
}
.mw_wp_form .error{
	display:flex!important;
    font-weight:400;
    justify-content:flex-start;
    width:100%;
    color: var(--wp--preset--color--vivid-red) !important;
    font-size:14px!important;
}
.mw_wp_form.mw_wp_form_send_error{
	display:flex;
	justify-content:center;
	align-items:center;
	padding:40px 0;
	font-weight:700;
	color:var(--sub-color);
}
@media(min-width:768px){
    .mw_wp_form .certificate-wrap input[type="file"]{
        display:inline-block;
        width:90%;
    }    
    .customerinfo-sec h3{
        font-size:24px;
        height:60px;
    }
    .bankinginfo-sec h3{
        font-size:24px;
        height:60px;
    }
	.contact-frm{
		margin:0 auto;
	}
    .tbl-contact{
        display:table;
        width:100%;
        border-bottom:solid 1px var(--brand-primary);
    }
    .tbl-contact tbody{
        display: table-row-group;
    }
	.tbl-contact tr{
		display: table-row;
		width:100%;
		margin:0;
	}
	.tbl-contact th{
		display: table-cell;
		width:40%;
		margin:0;
		font-size:17px;
		border-bottom:none;
        vertical-align: top;
        padding-top:14px;
	}
	.tbl-contact td{
		display: table-cell;
		width:60%;
		margin:0;
		font-size:17px;
        border-top:solid 1px var(--brand-primary);
		border-left:none;
		border-bottom:none;
        padding:10px 20px;
	}
    .tbl-contact td .mwform-radio-field{
        display:inline-block;
    }
    .tbl-contact th .require{
        position:absolute;
        top:29px;
        right:20px;
        border-radius:5px;
    }    
    .upload_certificate1{
        margin-bottom:10px;
    }
    .upload_certificate2{
        margin-bottom:20px;
    }
	.control-addr{
		font-size:16px;
	}
	.contactfm-last-bt{
		display:flex;
		width:100%;
		position:relative;
		flex-flow:row wrap;
		justify-content:center;
	}	
    .return{
        margin-bottom:0;
    }
}
@media(min-width:992px){
    .tbl-contact th{
		width:35%;
	}
	.tbl-contact td{
		width:65%;
	}
    .bankinginfo-sec .tbl-contact td  .your-accountno{
        width:320px;
    }
}

/*------------------------------
 * Form Styles
 * ----------------------------- */
input{
	padding:0.8em;
	width:auto;
}
.dl-2divide{
    display:flex;
    width:100%;
    flex-flow:row nowrap;
    margin:0;
}
.dl-2divide dt{
    width:50%;
    display:flex;
    justify-content:center;
    margin:0;
}
.dl-2divide dd{
    width:50%;
    display:flex;
    justify-content:center;
    margin:0;
}
.dl-2divide dt>div{
    display:flex;
    justify-content:center;
    align-items:center;
    margin:0;
    flex-flow:column nowrap;
    width:90%;
    font-weight:400;
}
.dl-2divide dd>div{
    display:flex;
    justify-content:flex-start;
    align-items:center;
    margin:0;
    flex-flow:column nowrap;
    width:90%;
}
.tbl-contact td .mwform-radio-field.vertical-item{
	padding-left:0;
	display:block;
}
.customerinfo-sec .tbl-contact td .your-lastname{
    display:inline-block;
    width:100%;
}
.customerinfo-sec .tbl-contact td .your-firstname{
    display:inline-block;
    width:100%;
}
.customerinfo-sec .tbl-contact td .your-furigana-lastname{
    display:inline-block;
    width:100%;
}
.customerinfo-sec .tbl-contact td .your-furigana-firstname{
    display:inline-block;
    width:100%;
}
.add-frm{
    width:100%;
    display:flex;
    flex-flow:row nowrap;
    margin-bottom:10px;
}
.add-frm>span{
    width:25px;
}
.customerinfo-sec .tbl-contact td .add-frm>.org_zip{
    width:140px;
    padding:5px 10px;
    outline:solid 1px var(--form-border-color);
    border-radius:5px;
    border:none;
}
.customerinfo-sec .tbl-contact td .add-frm>.org_zip:active{
    outline:solid 1px var(--form-border-color);
    border:none;
}
.customerinfo-sec .tbl-contact td .add-frm>.org_zip::placeholder{
    color:#BDB8B8;
}
.customerinfo-sec .tbl-contact td .mwform-tel-field{
    display:flex;
    flex-flow:row nowrap;
    align-items:center;
}
.customerinfo-sec .tbl-contact td .mwform-tel-field .your-telno{
    width:80px;
    margin:0 0.5em;
}
.birth_year{
    width:80px;
    padding:5px 10px;
    border-radius:5px;
    border:none;
    outline:solid 1px #CCC;
}
.birth_month, .birth_day{
    width:60px;
    padding:5px 10px;
    border-radius:5px;
    border:none;
    outline:solid 1px  #CCC;
}
.year_word,.month_word{
    margin-right:5px;
}
.mw_wp_form .certificate-wrap input[type="file"]{
    display:block;
}
.certificate-wrap .attention{
    color:#e60012;
    font-weight:500;
    margin-bottom:20px;
}
.certificate-wrap .note{
    padding-left:40px;
    color:var(--font-color2);
    font-weight:500;
    position:relative;
    margin-bottom:20px;
}
.certificate-wrap .note:after{
    content:'◇';
    position:absolute;
    top:0;
    left:20px;
}
.certificate-wrap .note .emphasis{
    color:var(--font-color2);
}
.certificate-wrap .note span{
    display:block;
}
.certificate-wrap p strong{
    color:var(--font-color2);
}
/* bankinginfo-sec */
.bankinginfo-sec{
    width:100%;
    margin-bottom:40px;
}
.bankinginfo-sec h3{
    width:100%;
    height:45px;
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:20px;
    color:#fff;
    font-weight:700;
    background:var(--topbk-color3);
    margin-bottom:40px;
    border-radius:10px;
}
.account-word{
    margin-top:20px;
    font-weight:500;
}
.your-message{
    padding:5px 15px;
    border-radius:5px;
    border:none;
    outline:solid 1px #6b8fd9;
}
/*button*/
.contactfm-last-bt{
	display:block;
	width:100%;
	position:relative;
}
.confirm-submit{
	display:table;
	width:280px;
	margin:0 auto;
	border-radius:50px;
	border:none;
	background:var(--brand-primary);
	color: #fff;
	font-weight:700;
	font-size:16px;
	padding:15px 0;
	transition:all 0.3s;
	position:relative;
}
.confirm-submit:hover{
	filter:brightness(1.2);
}
.return{
	border-radius:50px;
	display:table;
	font-weight: 900;
	width:280px;
	margin:0 auto 10px auto;
	padding:15px 0;
	border:none;
	background:var(--form-border-color);
}
.return:hover{
	opacity:0.6;
}
.mw_wp_form_input .mwform-checkbox-field-text{
	display:none;
}
.mw_wp_form_confirm .pripol-word{
	display:none;
}
.mw_wp_form_input .mwform-checkbox-field-text{
	display:none;
}
.mw_wp_form .error{
	display:flex!important;
    font-weight:400;
    justify-content:flex-start;
    width:100%;
    color: var(--wp--preset--color--vivid-red) !important;
    font-size:14px!important;
}
.mw_wp_form.mw_wp_form_send_error{
	display:flex;
	justify-content:center;
	align-items:center;
	padding:40px 0;
	font-weight:700;
	color:var(--sub-color);
}
@media(min-width:768px){
    .mw_wp_form .certificate-wrap input[type="file"]{
        display:inline-block;
        width:90%;
    }    
    .customerinfo-sec h3{
        font-size:24px;
        height:60px;
    }
    .bankinginfo-sec h3{
        font-size:24px;
        height:60px;
    }
	.contact-frm{
		margin:0 auto;
	}
    .tbl-contact{
        display:table;
        width:100%;
        border-bottom:solid 1px var(--brand-primary);
    }
    .tbl-contact tbody{
        display: table-row-group;
    }
	.tbl-contact tr{
		display: table-row;
		width:100%;
		margin:0;
	}
	.tbl-contact th{
		display: table-cell;
		width:40%;
		margin:0;
		font-size:17px;
		border-bottom:none;
        vertical-align: top;
        padding-top:14px;
	}
	.tbl-contact td{
		display: table-cell;
		width:60%;
		margin:0;
		font-size:17px;
        border-top:none;
		border-left:none;
		border-bottom:none;
        padding:10px 20px;
	}
    .tbl-contact td .mwform-radio-field{
        display:inline-block;
    }
    .tbl-contact th .require{
        position:absolute;
        top:15px;
        right:20px;
        border-radius:4px;
    }    
    .upload_certificate1{
        margin-bottom:10px;
    }
    .upload_certificate2{
        margin-bottom:20px;
    }
	.control-addr{
		font-size:16px;
	}
	.contactfm-last-bt{
		display:flex;
		width:100%;
		position:relative;
		flex-flow:row wrap;
		justify-content:center;
	}	
    .return{
        margin-bottom:0;
    }
}
@media(min-width:992px){
    .tbl-contact th{
		width:35%;
	}
	.tbl-contact td{
		width:65%;
	}
    .bankinginfo-sec .tbl-contact td  .your-accountno{
        width:320px;
    }
}
/*----------------------------------------------------------*/
/* application form  										*/
/*----------------------------------------------------------*/
.contact-frm{
    width:100%;
}
/* step */
.ul-step{
	margin:0 0 40px 0;
	border:0;
	padding:0;
	list-style:none;
	width:100%;
	display:flex;
	flex-flow:row nowrap;
}
.ul-step>li{
	display:inline-block;
	width:33.333%;
	margin:0;
}
.ul-step>li:nth-of-type(3n+1){
    padding-right:10px;
}
.ul-step>li:nth-of-type(3n+2){
    padding:0 5px;
}
.ul-step>li:nth-of-type(3n){
    padding-left:10px;
}
.ul-step>li .box{
	width:100%;
	height:60px;
	position:relative;
	border-radius:6px;
	background:#EEE;
}
/*.ul-step>li .box:after{
	content: '';
	position: absolute;
	top: 50%;
	right: -15px;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 0 10px 15px;
	border-color: transparent transparent transparent #dfdfdf;
	z-index: 10;
}*/
.ul-step>li:last-of-type .box:after{
	content:none;
}
.ul-step>li .box p{
	color:#000;
}
.ul-step>li .box .inner{
	width:100%;
	height:100%;
	display:flex;
	justify-content:center;
	align-items:center;
}
/* 状況により色変更 */
.mw_wp_form_input .ul-step>li:first-of-type .box{
	background:var(--brand-primary);
}
.mw_wp_form_input .ul-step>li:first-of-type p{
	font-weight:700;
	color:var(--wp--preset--color--white);
}
.mw_wp_form_confirm .ul-step>li:nth-of-type(2) .box{
	background:var(--brand-primary);
}
.mw_wp_form_confirm .ul-step>li:nth-of-type(2) p{
	font-weight:700;
}
.form-complete .ul-step>li:nth-of-type(3) .box{
	background:var(--brand-primary);
}
.form-complete .ul-step>li:nth-of-type(3) p{
	font-weight:700;
}
.require{
	background-color:#e60012;
	color:#fff;
	font-weight:700;
	border-radius:4px;
	padding:2px 8px;
	font-size:12px;
	display:inline-block;
}
.mw_wp_form_input .mwform-checkbox-field-text{
	display:none;
}
.mw_wp_form_confirm .pripol-word{
	display:none;
}
.mw_wp_form_input .mwform-checkbox-field-text{
	display:none;
}
.mw_wp_form .error{
	display:flex!important;
    font-weight:400;
    justify-content:flex-start;
    width:100%;
    color: var(--font-color2) !important;
    font-size:14px!important;
}
.mw_wp_form.mw_wp_form_send_error{
	display:flex;
	justify-content:center;
	align-items:center;
	padding:40px 0;
	font-weight:700;
	color:var(--sub-color);
}
    .tbl-contact{
        background:var(--wp--preset--color--white);
		border-spacing: 0;
		border-radius:12px;
		border: 1px solid #6b8fd9;
    }
    .tbl-contact th,.tbl-contact td{
		position:relative;
        text-align:left;
		padding:0.5em;
    }
    .tbl-contact th{
		background: #d4dff9;
		  border-bottom: 1px solid #6b8fd9;
    }


    .tbl-contact td{
		 border-bottom: 1px solid #6b8fd9;
    }

@media(min-width:768px){
    .mw_wp_form .certificate-wrap input[type="file"]{
        display:inline-block;
        width:90%;
    }    
    .customerinfo-sec h3{
        font-size:24px;
        height:60px;
    }
    .bankinginfo-sec h3{
        font-size:24px;
        height:60px;
    }
	.contact-frm{
		margin:0 auto;
	}
    .tbl-contact{
        display:table;
        width:100%;
		border-radius:12px;
    }
    .tbl-contact tbody{
        display: table-row-group;
    }
	.tbl-contact tr{
		display: table-row;
		width:100%;
		margin:0;
	}
	.tbl-contact th{
		display: table-cell;
		width:40%;
		margin:0;
		font-size:17px;
        vertical-align: top;
        padding-top:14px;
	}
	.tbl-contact td{
		display: table-cell;
		width:60%;
		margin:0;
		font-size:17px;
        padding:10px 20px;
	}
	.tbl-contact tr:first-child th{
		border-radius:12px 0 0 0;
    }
.tbl-contact tr:first-child td{
		border-radius: 0 12px 0 0;
    }
.tbl-contact tr:last-child th{
		border-radius: 0  0 0 12px;
	border:none;
}
.tbl-contact tr:last-child td{
		border-radius: 0 0 12px 0;
	border:none;
    }
    .tbl-contact td .mwform-radio-field{
        display:inline-block;
    }
    .tbl-contact th .require{
		margin-top:12px;
    }    

    .upload_certificate1{
        margin-bottom:10px;
    }
    .upload_certificate2{
        margin-bottom:20px;
    }
	.control-addr{
		font-size:16px;
	}
	.contactfm-last-bt{
		display:flex;
		width:100%;
		position:relative;
		flex-flow:row wrap;
		justify-content:center;
	}	
    .return{
        margin-bottom:0;
    }
}
@media(min-width:992px){
    .tbl-contact th{
		width:35%;
	}
	.tbl-contact td{
		width:65%;
	}
    .bankinginfo-sec .tbl-contact td  .your-accountno{
        width:320px;
    }
}
/* alert_tel - PC時のみ左に黒ラインと余白 */
@media (min-width: 769px) {
	.alert_tel {
		padding-left: 7px;
		border-left: 1px solid #000;
	}
}

/*会社案内*/
@media (max-width: 768px) {
	.company__table__wrapper{
	padding:0!important;
}
	.info-table{
		padding:0!important;
	}
}

@media (max-width: 768px) {
	.sp__image__small img{
		width:70%;
	}
}


/*フォーム関連追記*/
input[type="checkbox"] {
  transform: scale(1.6);
  cursor: pointer;
}
input[type="radio"] {
  transform: scale(1.6);
  cursor: pointer;
}
/*footer上の余白を削除*/
footer{
	margin-top:0;
	background:#f5ecc8 url(https://dvdspeedkaitori.com/site/wp-content/uploads/2025/12/footer_bg1.webp) no-repeat top right;
	background-size:contain;
}

.popup{
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) scale(0.95);
	opacity: 0;
	pointer-events: none;
	transition:
		opacity 0.6s ease,
		transform 0.6s ease;
}

.popup.is-show{
	opacity: 1;
	transform: translate(-50%, -50%) scale(1);
	pointer-events: auto;
}
.popup__close{
	position: absolute;
	top: 0.5rem;
	right: 0.5rem;
}


