/********************************************
  ▼ 基本要素
*********************************************/
html {scroll-behavior:smooth; }

.display-pc { display: block; }
.display-sp { display: none; }
.cet {text-align:center; }

.img_ctrl {
  text-align:center;
  height:auto;
  padding:0;
  margin:5em 0;
}
.img_ctrl img {
  width:100%;
  max-width:600px;
  height:auto;
  padding:0;
  margin:0;
}

.img_ctrl figcaption {
    font-size: 0.85em;
    color: #666;
    text-align: center;
    margin: 0.5em 0 0;
	font-style: italic;
}

html, body {
  height: 100%;
  margin: 0;
  font-size: 16px;
}

body {
  position: relative;
  z-index: 0;
  font-family:
    "Noto Sans JP",
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    "Yu Gothic",
    "YuGothic",
    "Meiryo",
    sans-serif!important;
	text-align:justify;
	word-break:break-all; 
	text-justify:inter-ideograph;
	text-justify:inter-character;
	word-wrap:break-word;
	overflow-wrap:break-word;
	line-height:1.8;
}
figcaption {
  text-align: center;
  margin: 0 0 3em;
}
figure {
  margin:0;
  padding:0;
}

.has-text-align-right{
  text-align: right;
  margin-top: 2.5em;
  font-weight: 600;
  letter-spacing: 0.05em;
}

/* youtube動画関連 */
.youtube {
  /* width: 100%;（div.col2内で使用時widthは不要 */
  aspect-ratio: 16 / 9;
}
.youtube iframe {
  width: 100%;
  height: 100%;
}

/* リンク */
a{
	color:#21a5b6;
	text-decoration:underline;
	font-weight:600;
	transition:.3s;
}

a:hover{
	opacity:.7;
	text-decoration:none;
}

a.link::after{
	content: "\e2e6";
	font-family: 'Phosphor';
	font-style: normal;
	font-weight: normal;
	display: inline-block;
	margin-left: 0.4em;
	vertical-align: middle;
}

/* マージン */
.mt3 {margin:3em 0 0;}


/* =================================
   ページ内ボタン（イエロー）
================================= */
.inner-btn{
	text-align:center;
	margin:60px 0 20px;
}

.inner-btn a{
	position:relative;
	display:inline-flex;
	align-items:center;
	justify-content:center;

	min-width:60%;
	padding:1em 2em;

	color:#333;
	font-size:1.2em;
	font-weight:700;
	letter-spacing:.05em;
	text-decoration:none;

	background:linear-gradient(
		135deg,
		#d4af37 0%,
		#eded00 50%,
		#f5e65c 100%
	);

	border:1px solid rgba(180,140,0,.25);
	border-radius:100px;

	box-shadow:
		0 10px 25px rgba(212,175,55,.25),
		inset 0 1px 0 rgba(255,255,255,.5);

	transition:all .35s ease;
	box-sizing:border-box;
}

/* 光沢 */
.inner-btn a::before{
	content:"";
	position:absolute;
	top:0;
	left:-100%;
	width:50%;
	height:100%;

	background:linear-gradient(
		90deg,
		transparent,
		rgba(255,255,255,.45),
		transparent
	);

	transform:skewX(-25deg);
	transition:.6s;
}

/* 矢印 */
.inner-btn a::after{
	content:"→";
	position:absolute;
	right:0.5em;
	top:50%;
	transform:translateY(-50%);
	font-size:1.2em;
	transition:.35s;
}

.inner-btn a:hover{
	transform:translateY(-3px);

	background:linear-gradient(
		135deg,
		#c89f1f 0%,
		#f2f200 50%,
		#fff27a 100%
	);

	box-shadow:
		0 16px 35px rgba(212,175,55,.35);
}

.inner-btn a:hover::before{
	left:150%;
}

.inner-btn a:hover::after{
	right:0.7em;
}

@media screen and (max-width:768px){

	.inner-btn a{
		width:100%;
		min-width:auto;
		font-size:.95rem;
	}
}


/********************************************
  ▼ メインカラム
*********************************************/

/* 下層ページ全体 */
.mainBox {
  width:100%;
  height:auto;
  margin: 0;
  padding: 0;
}
.mainBox_inner {
  width:100%;
  max-width:800px;
  height:auto;
  margin: 0 auto;
  padding: 1em 1em 10em;
  box-sizing:border-box;
}
body.list-index .mainBox_inner {
  max-width:1000px;
}

/* 画像横並び */
.col3,
.col2 {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin:2em 0;
  justify-content:center;
}

.col3 img,
.col2 img {
  width: 100%;
  height: auto;
  display: block;
}
.col2 h6 {
  text-align:center;
}
.col2 p {
  margin:1em 0;
  padding:0;
  box-sizing:border-box;
}
.col2 p.num {
    width: 2.2em;
    height: 2.2em;
    margin: 0 auto 0.5em;
    border-radius: 100vh;
    color: #fff;
    font-weight: 700;
    line-height: 2.2em;
	background:#21a5b6;
	text-align:center;
}

/* ▼PC表示 */

/* 3カラム */
.col3 div {
  width: calc((100% - 40px) / 3); /* gap20px ×2分 */
}

/* 2カラム */
.col2 div {
  width: calc((100% - 20px) / 2); /* gap20px ×1分 */
}

/* ▼スマホ表示 */
@media screen and (max-width: 767px) {
  .col3 img,
  .col2 div {
    width: 100%;
  }
}




/* メインビジュアル（左：7）
.main_img {
  width: 100%;
  height:auto;
  margin-bottom:5em;
}
@media screen and (max-width: 768px) {
  .main_img {
    width: 100%;
    flex: none;
    margin-bottom:3em;
  }
}
.main_img img {
  width: 100%;
  height: auto;
  display: block;
}

.main_sub {
  flex: 3;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

@media screen and (max-width: 768px) {
  .main_sub {
    gap: 50px;
}
} */

/* ===============================
  目次（専用デザイン）
=============================== */

.toc_list{
  max-width: 1000px;
  margin: 0 auto 5em;
  padding: 25px 30px;

  list-style: none;

  background: #fff;
  border: 1px solid #a2d9e0;
  border-left: 5px solid #21a5b6;

  box-shadow: 0 4px 12px rgba(0,0,0,.08);

  box-sizing: border-box;
}

/* li */
.toc_list li{
  position: relative;
  padding: 10px 0 10px 26px;
  border-bottom: 1px dashed #a2d9e0;
}

.toc_list li:last-child{
  border-bottom: none;
}

/* 左の装飾（矢印） */
.toc_list li::before{
  content: "›";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);

  font-size: 1.2em;
  color: #21a5b6;
}

/* リンク */
.toc_list a{
  text-decoration: none;
  color: #1f3a5f;
  line-height: 1.6;

  transition: color .2s ease, padding-left .2s ease;
}

/* hover */
.toc_list a:hover{
  color: #09204A;
  padding-left: 6px;
}

/********************************************
  ▼ タイトル関連
*********************************************/
.titleSection {
  width: 100%;
  margin: 4em 0;
  padding: 3em 0.5em;
  text-align: center;
  background: url("../img/top/bg_solution.jpg") center center / cover no-repeat;
  position: relative;
  box-sizing:border-box;
}

/* タイトル */
.page-title {
  position: relative;
  z-index: 2;

  font-family:
    "Hiragino Mincho ProN",
    "ヒラギノ明朝 ProN",
    "Yu Mincho",
    "游明朝",
    "MS PMincho",
    serif;

  font-size: clamp(1.5em, 3vw, 2.5em);
  font-weight: 700;
  letter-spacing: 0.15em;
  color: #1f3a5f;

  display: inline-block;
  padding: 0.6em 1em;

  background: linear-gradient(to bottom, #284266, #1f3a5f);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    filter: drop-shadow(0 2px 3px rgba(0, 0, 0, .4));
}

/* ===============================
   ▼ h3（中央タイトル）
================================
.mainBox_inner h3{
  position: relative;
  margin: 4em 0 2em;
  padding-bottom: 0.8em;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #1f3a5f;
	text-align: center;
	font-family:
    "Hiragino Mincho ProN",
    "ヒラギノ明朝 ProN",
    "Yu Mincho",
    "游明朝",
    "MS PMincho",
    serif;
}

.mainBox_inner h3::after{
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 90%;
  height: 2px;
  background: linear-gradient(to right, transparent, #21a5b6, #a1e0e8, #21a5b6, transparent);
}
.mainBox_inner h3:first-of-type {
  margin-top: 0;
}

.mainBox_inner h3.mt-active {
    margin-top: 4em;
} */

/* ===============================
   ▼ h4（本文見出し）
================================ */
.mainBox_inner h4{
  position: relative;
  margin: 0 0 0.8em;
  padding: 0 0 0.5em;

  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.5;

  color: #1f3a5f;
  border-bottom: 1px solid #e5e5e5;

  font-family:
    "Hiragino Mincho ProN",
    "ヒラギノ明朝 ProN",
    "Yu Mincho",
    "游明朝",
    "MS PMincho",
    serif;

  box-sizing: border-box;
}

/* .mainBox_inner h4::before{
  content: "";
  position: absolute;
  left: 0;
  top: 0.25em;
  width: 4px;
  height: 1.25em;
  border-radius: 2px;
  background: linear-gradient(to bottom, #b48a00, #d4af37);
}

.mainBox_inner h4::after{
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 80px;
  height: 2px;
  background: linear-gradient(to right, #b48a00, #d4af37);
} */

/* スマホ */
@media (max-width: 768px){
  .mainBox_inner h4{
    font-size: 1.12rem;
    line-height: 1.45;
  }

/*   .mainBox_inner h4::before{
    width: 3px;
    height: 1.15em;
  }

  .mainBox_inner h4::after{
    width: 64px;
  } */
}


/* ===============================
   ▼ h5（本文見出し）
================================ */
.mainBox_inner h5{
  position: relative;

  margin: 3.5em 0 1.5em;
  padding: 12px 18px 12px 22px;

  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: 0.06em;

  color: #fff;

  background: linear-gradient(90deg,#1f3a5f 0%,#21a5b6 100%);
  border-left: 5px solid #21a5b6;

  box-shadow:
    0 2px 4px rgba(0,0,0,.15),
    inset 0 0 0 1px rgba(255,255,255,.08);

  box-sizing: border-box;
}

/* 下の金ライン */
.mainBox_inner h5::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-6px;
  width:100%;
  height:1px;
  background:linear-gradient(to right,#21a5b6,transparent);
}

/* ===============================
   ▼ h6（本文見出し）
================================ */
.mainBox_inner h6{
  margin: 0.5em 0;
  padding: 0;
  font-size:1em;
  font-weight:bold;
}

.mainBox_inner h6.waku{
  margin: 1.5em 0 0.5em;
  padding: 0.5em 1em;
  color:#fff;
  border-radius: 100vh;
  background: #21a5b6;
  display:inline-block;
  box-sizing:border-box;
}

.mainBox_inner h6.waku02{
  margin: 1.5em 0 0.5em;
  padding: 0.5em 1em;
  color:#fff;
  text-align:center;
  background: #21a5b6;
  display:block;
  box-sizing:border-box;
}

/* ===============================
   ▼ 本文リスト用
================================ */
/* 本文専用リスト */
.custom-list {
  list-style: none;
  padding: 0;
  margin: 1.5em 1em;
}

/* li */
.custom-list li {
  position: relative;
  padding: 0 0 0.5em 1.2em;
  margin-bottom: 0.5em;
  border-bottom: dashed 1px #ddd;
}

/* チェックアイコン */
.custom-list li::before {
  content: "\e18a";
  font-family: 'Phosphor';
  font-weight: normal;
  position: absolute;
  left: 0;
  top: 1em;
  transform: translateY(-50%);
  font-size: 14px;
  color: #1f3a5f;
}

/* ===============================
   ▼ 動画用
================================ */
.video {
    position: relative;
    height: 0;
    padding: 0 0 394px;
    overflow: hidden;
	text-align:center;
}
video iframe {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
@media (max-width: 768px) {
    div.video {
        position: relative;
        height: 0;
        padding: 0 0 56.25%;
        overflow: hidden;
    }
	div.video iframe {
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        width: 100%;
        height: 100%;
    }
}

/* ===============================
   ▼ 買取品目用
================================ */
/* 4列グリッド（PC） */
.hinmokuBox{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.2em;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* 1アイテム（画像＋文字） */
.hinmokuBox .hinmoku{
  display: flex;
  flex-direction: column;
  align-items: center;   /* 横中央 */
  text-align: center;    /* 文字中央 */
  border:1px solid #ccc;
  padding:0.5em;
}

/* 画像 */
.hinmokuBox .hinmoku img{
  width: 100%;
  height: auto;
  display: block;
}
.hinmokuBox .hinmoku img.w40{
  width: 40%;
}

/* 文字：画像の下中央 */
.hinmokuBox .hinmoku p{
  margin: 0.5em 0 0;
  padding: 0;
}

/* スマホ：縦1列 */
@media (max-width: 768px){
  .hinmokuBox{
    grid-template-columns: 1fr;
  }
}


/* ==================================
   初めての方へ ボタン群
================================== */
.beginner-btn-group{
  width: 100%;
  margin: 3em auto;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

/* 3列 */
.beginner-btn-group a{
  position: relative;
  background: #C3451B;
  color: #fff;
  text-decoration: none;
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  border-radius: 4px;
  transition: 0.3s ease;
}
/* 3列 */
.beginner-btn-group div{
  position: relative;
  flex: 0 0 calc(33.333% - 20px);
  padding:0;
  margin:0;
  box-sizing: border-box;
}
.beginner-btn-group div p{
  position: relative;
  text-align:center;
  font-size:0.9em;
  padding:0;
  margin:0 0 0.5em;
  color:#1f3a5f;
}

/* ホバー */
.beginner-btn-group a:hover{
  background: #a53815;
  transform: translateY(-3px);
  box-shadow: 0 8px 18px rgba(0,0,0,0.15);
}

.beginner-btn-group div.btnbox{
  width: 100%;
  border:1px solid #ccc;
  padding:0.5em;
  border-radius: 4px;
}
.beginner-btn-group div.btnbox p{
  text-align:left;
  margin:1em 0 0;
  color:#333;
}



/* ==================================
   ▼ アイコン（右端中央）
================================== */

.beginner-btn-group a::after{
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  font-family: 'Phosphor'; /* 使用中のアイコンフォントに合わせて変更可 */
  font-size: 2rem;
  font-weight:normal;
  opacity: 0.9;
}

/* 各アイコン */
.btnform1::after{ content: "\e214"; }
.btnform2::after{ content: "\e1e4"; }
.btnform3::after{ content: "\e10e"; }
.btnform5::after{ content: "\e390"; }
.btnform8::after{ content: "\e4b4"; }
.btnform9::after{ content: "\e418"; }
.btnform7::after{ content: "\ea32"; }
.btnform10::after{ content: "\e470"; }
.btnform6::after{ content: "\e582"; }

/* btnform4だけLINEカラー */
.beginner-btn-group a.btnform4{
  background: #06C755;
}

/* btnform5だけ宅配買取カラー */
.beginner-btn-group a.btnform5{
  background: #CA0201;
}

/* btnform9だけ持込買取カラー */
.beginner-btn-group a.btnform9{
  background: #09204A;
}

/* btnform8だけ出張買取カラー */
.beginner-btn-group a.btnform8{
  background: #1f3a5f;
}

/* btnform3、6だけ別カラー */
.beginner-btn-group a.btnform3,
.beginner-btn-group a.btnform6{
  background: #2980b9;
}

/* hover時 */
.beginner-btn-group a.btnform4:hover{
  background: #05a647;
}
.btnform4::after{
  content: "";
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  width: 1.2em;
  height: 1.5em;
  background-image: url("../img/common/line.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.beginner-btn-group span {
  display:block;
  font-size:0.8em;
  white-space:pre-line;
}

.q_button{
  display: inline-block;
  margin:1em auto;
  background: #2980b9;
  color: #fff;
  text-decoration: none;
  padding: 14px 28px;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  border-radius: 6px;
  transition: 0.3s ease;
}

/* hover */
.q_button:hover{
  background: #1f6391;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0,0,0,0.15);
}

body.to-beginner p img {
  text-align:center;
  width:70%;
  height:auto;
}

/* ===============================
  ボタン高さ統一
=============================== */

/* 各カラム内を均等配置 */
.beginner-btn-group > div{
  display: flex;
  flex-direction: column;
}

/* ボタン共通：高さ揃え */
.beginner-btn-group a{
  display: flex;
  flex-direction: column; /* テキスト縦並び */
  justify-content: center;
  align-items: center;

  min-height: 80px; /* ←高さ統一（調整可） */
  padding: 12px;

  box-sizing: border-box;
}

/* span（上段テキスト） */
.beginner-btn-group a span{
  display: block;
  font-size: 0.9em;
  line-height: 1.3;
}

/* ボタン同士の間隔 */
.beginner-btn-group > div a + a{
  margin-top: 12px;
}

/* ==================================
   ▼ スマホ
================================== */

@media (max-width: 900px){
  .beginner-btn-group a{
    flex: 0 0 calc(50% - 20px);
  }
}

@media (max-width: 768px){
  .beginner-btn-group{
    gap: 15px;
  }
  .beginner-btn-group a{
    flex: 0 0 100%;
  }
  body.to-beginner p img {
  width:100%;
  }
  .beginner-btn-group div{
  flex: 100%;
  box-sizing: border-box;
  }
  .beginner-btn-group div a{
    flex: 0 0 0;
  }
}

/********************************************
  ▼ プライバシーポリシー用
*********************************************/
body.privacypolicy .mainBox_inner h6 {
    margin: 2em 0 0;
    padding: 0;
    font-size: 1.5em;
    font-weight: bold;
}


/* リスト */
body.privacypolicy  ul.privacypolicy-wrap{
  margin: 0 0 1.2em 2.5em;
  padding: 0;
}
body.privacypolicy ul.privacypolicy-wrap li{
  margin: 0.4em 0;
  line-height: 1.8;
}

/* 区切り線の余白を整える */
body.privacypolicy .privacypolicy-wrap hr{
  margin: 1.8em 0;
  border: none;
  border-top: 1px solid rgba(0,0,0,0.12);
}

/* リンク（任意） */
body.privacypolicy .privacypolicy-wrap a{
  color: #1f3a5f;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

/* 個人情報保護方針ページ専用 */
body.privacypolicy .privacy-list{
	counter-reset: privacy-num;
	list-style:none;
	margin:2em 0;
	padding:0;
}

body.privacypolicy .privacy-list li{
	position:relative;
	margin-bottom:1em;
	padding-left:3em;
	line-height:1.8;
}

/* 連番 */
body.privacypolicy .privacy-list li::before{
	counter-increment: privacy-num;
	content: counter(privacy-num) ".";
	position:absolute;
	left:0;
	top:0;
	width:2em;
	text-align:right;
}

/* 最終行余白 */
body.privacypolicy .privacy-list li:last-child{
	margin-bottom:0;
}

/* ===============================
   会社概要ページ専用
================================ */
body.company .mainBox_inner table,
body.contact .mainBox_inner table,
body.recruit-form .mainBox_inner table.contact-table{
  width: 100%;
  max-width: 950px;
  margin: 3em auto;
  border-collapse: collapse;
  font-size: 0.95rem;
  line-height: 1.9;
  font-family:
    "Hiragino Mincho ProN",
    "ヒラギノ明朝 ProN",
    "Yu Mincho",
    "游明朝",
    "MS PMincho",
    serif;
  color: #3a3a3a;
  background: #fafafa;
  border: 1px solid #d0d0d0;
}
/* 行ボーダー */
body.company .company-table tr,
body.contact .contact-table tr,
body.recruit-form table.contact-table tr{
  border-bottom: 1px solid #e0e0e0;
}
/* 見出し列（3割） */
body.company .company-table th,
body.contact .contact-table th,
body.recruit-form table.contact-table th{
  width: 30%;
  padding: 1.2em 1em;
  text-align: left;
  vertical-align: top;
  background: #f0f0f0;
  color: #333333;
  font-weight: 600;
  border-right: 1px solid #d8d8d8;
  border-bottom: 1px solid #e0e0e0;
  letter-spacing: 0.05em;
}
/* 内容列（7割） */
body.company .company-table td,
body.contact .contact-table td,
body.recruit-form table.contact-table td{
  width: 70%;
  padding: 1.2em 1.2em;
  vertical-align: top;
  border-bottom: 1px solid #e0e0e0;
  border-left: 1px solid #e8e8e8;
  position: relative;
}
/* リスト */
body.company .company-table ul{
  margin: 0;
  padding-left: 1.2em;
}
body.company .company-table li{
  margin-bottom: 0.4em;
}
/* リンク */
body.company .company-table a{
  color: #555555;
  text-decoration: none;
  border-bottom: 1px solid rgba(85,85,85,0.4);
  transition: 0.3s ease;
}
body.company .company-table a:hover{
  color: #222222;
  border-bottom-color: #222222;
}

.client-list {
  list-style: none;
  padding: 0;
  margin: 3em 0 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1em;
}

.client-list li {
    padding: 1em;
    font-size: 0.8rem;
    line-height: 1.8;
    position: relative;
    background-color: #f5f4dc;
    text-align: center;

    display: flex;
    align-items: center;
    justify-content: center;
}

.fr_img {
    margin:1em auto 0;
	padding:0;
	text-align:center;
}

.fr_img img {
    width: 100%;
	max-width:300px;
    height: auto;
}

body.recruit-form .contact-table td span {
    display: inline-block;
    padding: 0.2em 1em;
    margin: 0 1em 0 0;
    border: 2px solid skyblue;
    border-radius: 0.3em;
}

/* .client-list li::before {
  content: "\e18a";
  font-family: 'Phosphor';
  font-weight: normal;
  position: absolute;
  left: 0;
  top: 3.85em;
  transform: translateY(-50%);
  font-size: 0.5em;
} */

/* スマホ：1列 */
@media (max-width: 767px) {
  .client-list {
    grid-template-columns: 1fr;
  }
  
  body.recruit-form .contact-table td span {
    margin: 0 1em 1em 0;
}
}

/* ===============================
   ▼ スマホ表示（縦並び）
================================ */

@media (max-width: 768px){

  body.company .company-table,
  body.company .company-table tbody,
  body.company .company-table tr,
  body.company .company-table th,
  body.company .company-table td,
  body.contact .contact-table,
  body.contact .contact-table tbody,
  body.contact .contact-table tr,
  body.contact .contact-table th,
  body.contact .contact-table td,
  body.recruit-form table.contact-table,
  body.recruit-form table.contact-table tbody,
  body.recruit-form table.contact-table tr,
  body.recruit-form table.contact-table th,
  body.recruit-form table.contact-table td{
    display: block;
    width: 100%;
  }

  body.company .company-table,
  body.contact .contact-table,
  body.recruit-form table.contact-table{
    border: none;
    background: transparent;
  }

  body.company .company-table tr,
  body.contact .contact-table tr,
  body.recruit-form table.contact-table tr{
    margin-bottom: 1.8em;
    background: #fafafa;
  }

  body.company .company-table th,
  body.contact .contact-table th,
  body.recruit-form table.contact-table th{
    width: 100%;
    border-right: none;
    border-bottom: 1px solid #e0e0e0;
    background: #f0f0f0;
    padding: 0.8em 1em 0.4em;
	box-sizing: border-box;
  }

  body.company .company-table td,
  body.contact .contact-table td,
  body.recruit-form table.contact-table td{
    width: 100%;
    border-left: none;
    border-bottom: none;
	box-sizing: border-box;
  }

}

/* ===============================
   お客様の声用
================================ */
/* お客様の声専用 */
.voice-section {
  display: grid;
  gap: 2rem;
  margin: 2.5em 0;
}

.voice-card {
  position: relative;
  padding: 2rem;
  background: #fff;
  border: 1px solid rgba(33,165,182,.18);
  border-radius: 14px;
  box-shadow: 0 10px 24px rgba(20,76,90,.08);
  overflow: hidden;
}

.voice-card::before {
  content: "VOICE";
  position: absolute;
  right: 1.2rem;
  bottom: .4rem;
  font-size: 3.8rem;
  font-weight: 700;
  letter-spacing: .08em;
  color: rgba(33,165,182,.06);
  line-height: 1;
  pointer-events: none;
}

h6.voice-title {
  position: relative;
  margin: 0 0 1.2rem;
  padding: 0 0 1rem 2.2rem;
  color: #1f3a5f;
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1.6;
  border-bottom: 1px solid #e5eef1;
}

.voice-title::before {
  content: "“";
  position: absolute;
  left: 0;
  top: -.3rem;
  color: #21a5b6;
  font-family: Georgia, serif;
  font-size: 3rem;
  line-height: 1;
}

.voice-title span {
  display: block;
  margin-top: .5rem;
  color: #21a5b6;
  font-size: .9rem;
  font-weight: 600;
}

.voice-title span::before {
  content: "— ";
}

.voice-body {
  position: relative;
  z-index: 1;
}

.voice-body p {
  margin: 0;
  line-height: 2;
  color: #333;
}

.voice-body p + p {
  margin-top: 1em;
}

@media screen and (max-width: 768px) {
  .voice-card {
    padding: 1.4rem;
    border-radius: 10px;
  }

  .voice-card::before {
    font-size: 2.8rem;
  }

  .voice-title {
    padding-left: 1.8rem;
    font-size: 1rem;
  }

  .voice-title::before {
    font-size: 2.5rem;
  }

  .voice-body p {
    line-height: 1.8;
  }
}

/* ===============================
   代表挨拶ページ専用（body.greeting）
================================ */
.memory-quote {
  position: relative;
  margin: 3em 0;
  padding: 1.8em 2em 1.8em 2.4em;
  background: linear-gradient(
    135deg,
    rgba(245, 250, 252, 0.9),
    rgba(226, 242, 246, 0.65)
  );
  border-left: 4px solid #21a5b6;
  border-radius: 10px;
  color: #1f3a5f;
  font-family:
    "Hiragino Mincho ProN",
    "ヒラギノ明朝 ProN",
    "Yu Mincho",
    "游明朝",
    serif;
  font-style: italic;
  box-shadow: 0 10px 24px rgba(20, 76, 90, 0.08);
}

.memory-quote::before {
  content: "“";
  position: absolute;
  top: -0.15em;
  left: 0.18em;
  font-size: 5rem;
  line-height: 1;
  color: rgba(33, 165, 182, 0.18);
  font-family: Georgia, serif;
  font-style: normal;
}

.memory-quote span {
  display: block;
  position: relative;
  padding-left: 1.2em;
  text-indent: -1.2em;
  line-height: 1.9;
  letter-spacing: 0.04em;
}

.memory-quote span + span {
  margin-top: 0.35em;
}

.decision-box {
  position: relative;
  margin: 4em 0;
  padding: 3em 2em;
  background:
    linear-gradient(
      135deg,
      rgba(245,250,252,.95),
      rgba(228,240,244,.75)
    );
  border-radius: 14px;
  text-align: center;
  overflow: hidden;
}

.decision-box::before{
  content:"BELIEF";
  position:absolute;
  right:20px;
  bottom:-20px;
  font-size:5rem;
  font-weight:700;
  color:rgba(33,165,182,.06);
}

.decision-box p{
  color:#777;
  font-style:italic;
  margin-bottom:1.2em;
}

.decision-word span{
  display:block;
  font-size:clamp(1.8rem,4vw,2.8rem);
  font-weight:bold;
  letter-spacing:.18em;
  font-family:
  "Hiragino Mincho ProN",
  serif;
  color:#1f3a5f;
  margin:.2em 0;
}

body.greeting .col2 a img {
  display:block;
  border:1px solid #ccc;
  box-sizing:border-box;
}
body.greeting .col2 a:hover {
  opacity:0.7;
}

/********************************************
  ▼ 法人向けサービス用
*********************************************/
/* ご依頼の流れ専用 */
.flow-section {
  margin: 3em 0;
}

.flow-list {
  position: relative;
  margin-top: 2em;
}

.flow-item {
  position: relative;
  display: flex;
  gap: 2em;
  align-items: center;
  margin-bottom: 2.5em;
  padding: 1em;
  background: #fff;
  border: 1px solid rgba(33,165,182,0.16);
  border-radius: 14px;
  box-shadow: 0 10px 24px rgba(20,76,90,0.08);
}

/* 丸ポイント
.flow-item::before {
  content: "";
  position: absolute;
  top: 50%;
  left: calc(30% + 10px);
  width: 18px;
  height: 18px;
  background: #21a5b6;
  border: 4px solid #fff;
  border-radius: 50%;
  transform: translateY(-50%);
  box-shadow: 0 0 0 2px rgba(33,165,182,0.35);
  z-index: 2;
} */


.flow-img {
  width: 30%;
  flex: 0 0 30%;
}

.flow-img img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
  border-radius: 10px;
}

.flow-text {
  width: 70%;
  flex: 1;
}

.flow-section .flow-text p {
  margin: 0;
  line-height: 1.9;
}

table.basic {
    margin: 20px auto;
    width: 100%;
	border-collapse: collapse;
	font-size:14px;
}

table.basic th {
    border: solid 1px #ccc;
    padding: 10px;
    box-sizing: border-box;
    vertical-align: top;
    text-align: left;
    font-weight: bold;
    white-space: nowrap;
}

table.basic td {
    border: solid 1px #ccc !important;
    padding: 10px;
    box-sizing: border-box;
    vertical-align: top;
    text-align: center;
}

/* ==========================
   実績動画一覧専用
========================== */

.works-movie{
	display:flex;
	flex-direction:column;
	gap:1.5rem;
	margin-bottom:4rem;
}

/* 最後のみ余白なし */
.works-movie:last-child{
	margin-bottom:0;
}

/* 見出し */
.works-movie h6{
	position:relative;
	margin:0;
	padding-left:20px;

	font-size:1rem;
	font-weight:700;
	line-height:1.6;
	color:#1f3a5f;
}

.works-movie h6::before{
	content:"";
	position:absolute;

	left:0;
	top:50%;

	width:8px;
	height:8px;

	background:#21a5b6;
	border-radius:50%;

	transform:translateY(-50%);
	box-shadow:
		0 0 0 4px rgba(33,165,182,.15);
}

.works-movie h6:first-child{
	margin-top:3em;

	font-size:1rem;
	font-weight:700;
	line-height:1.6;
	color:#1f3a5f;
}

/* 説明文 */
.works-movie p{
	margin:0;
	padding:1.5rem;
	line-height:2;
	background:#fff;
	border:1px solid #d8e3e8;
	border-left:4px solid #21a5b6;
	border-radius:10px;
	box-shadow:0 4px 12px rgba(0,0,0,.04);
}


/* スマホ */
@media screen and (max-width: 768px) {
  .flow-item {
    flex-direction: column;
    align-items: stretch;
    gap: 1em;
  }

  .flow-img,
  .flow-text {
    width: 100%;
    flex: none;
  }

  .flow-section {
    font-size: 1.1rem;
  }

	.works-movie{
		gap:1rem;
		margin-bottom:3rem;
	}

	.works-movie h6{
		font-size:1.2rem;
	}

	.works-movie p{
		padding:1rem;
		line-height:1.8;
	}
}



/********************************************
  ▼ 査定・買取方法用
*********************************************/
.point-flex{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
}

.point-text{
  flex: 1 1 auto;
}

.point-image{
  flex: 0 0 300px;
}

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

/* スマホ時：画像上、テキスト下 */
@media (max-width: 768px){
  .point-flex{
    flex-direction: column-reverse;
    gap: 16px;
  }

  .point-image{
    flex: none;
    width: 100%;
  }

  .point-image img{
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
  }
}

/* ===============================
  STEP帯デザイン
=============================== */

.pointbox{
  max-width: 1000px;
  margin: 0 auto 40px;
}

/* h5帯 */
.purchasebox h5{
  max-width: 1000px;
  margin: 60px auto 0;
  padding: 12px 20px;

  background: #09204A;
  color: #fff;

  font-size: 18px;
  font-weight: bold;

  border-left: 6px solid #D2B567;
  border-bottom: 2px solid #D2B567;

  letter-spacing: .05em;

  position: relative;
  box-sizing: border-box;
}

/* 高級感ライン */
.purchasebox h5::after{
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1px;
  background: #D2B567;
}

/* ===============================
  SP
=============================== */

@media (max-width:768px){

  .purchasebox h5{
    margin: 40px auto 0;
    font-size: 16px;
    padding: 10px 14px;
  }

}



/********************************************
  ▼ 選べる7つの査定・売却方法用
*********************************************/
/* ラッパー */
.assessment-methods{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:30px;
  margin:3em 0;
}

/* カード */
.assessment-card{
  display:block;
  text-align:center;
  text-decoration:none;
  color:#1f3a5f;
  transition:all .35s ease;
}

/* 画像 */
.assessment-card img{
  width:100%;
  height:auto;
  display:block;
  border-radius:4px;
  transition:all .35s ease;
  border:1px solid #ddd;
}

/* タイトル */
.assessment-card h5{
  margin:1em 0 0;
  font-size:1rem;
  font-weight:600;
  letter-spacing:.08em;
  font-family:
  "Hiragino Mincho ProN",
  "Yu Mincho",
  serif;
}

/* ホバー（高級感寄り控えめ） */
.assessment-card:hover img{
  transform:translateY(-6px);
  box-shadow:0 10px 25px rgba(0,0,0,.15);
}

.assessment-card:hover h5{
  color:#8a5b33;
}

/* タブレット */
@media (max-width:1000px){
  .assessment-methods{
    grid-template-columns:repeat(3,1fr);
  }
}

/* スマホ */
@media (max-width:640px){
  .assessment-methods{
    grid-template-columns:repeat(2,1fr);
    gap:18px;
  }

  .assessment-card h5{
    font-size:.95rem;
  }
}

/********************************************
  ▼ よくあるご質問（下層ページ用）
*********************************************/
/* ラッパー：PC2列 */
.faq-list--lower {
  display: flex;
  flex-wrap: wrap;
  gap: 5em 1.5em;
}

.faq-item--lower {
  width: calc((100% - 1.5em) / 2);
  margin-bottom: 0; /* gapで管理するので不要 */
}

.faq-q--lower,
.faq-a--lower {
  position: relative;
  padding-left: 2.2em;
  line-height: 1.6;
}

.faq-q--lower {
  font-weight: bold;
  color: #333;
  padding-bottom: 0.6em;
  margin-bottom: 0.6em;
  border-bottom: 1px solid #e5e5e5;
}

.faq-q--lower::before {
  content: "Q";
  position: absolute;
  left: 0;
  top: 0;
  color: #d00200;
  font-weight: bold;
  font-size: 1.2em;
}

.faq-a--lower {
  color: #555;
}

.faq-a--lower::before {
  content: "A";
  position: absolute;
  left: 0;
  top: 0;
  color: #21a5b6;
  font-weight: bold;
  font-size: 1.2em;
}

/* スマホ：1列 */
@media (max-width: 767px) {
  .faq-item--lower {
    width: 100%;
  }
}

/********************************************
  ▼ 査定・買取方法（course.php）
*********************************************/
/* =========================
   レイアウト
========================= */
.course_list {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
}

.course_list li {
  position: relative;
  width: 50%;
  box-sizing: border-box;
}

/* =========================
   ボーダー（疑似要素で描画）
========================= */

/* 右の縦線（すべてに付与） */
.course_list li::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 1px;
  height: 100%;
  background: #ccc;
}

/* 下の横線（すべてに付与） */
.course_list li::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: #ccc;
}

/* 左端の線 */
.course_list li:nth-child(odd) {
  border-left: 1px solid #ccc;
}

/* 上端の線（最初の行） */
.course_list li:nth-child(-n+2) {
  border-top: 1px solid #ccc;
}

/* =========================
   a全体クリック
========================= */
.course_item {
  display: block;
  height: 100%;
  padding: 16px;
  text-decoration: none;
  color: #000;
  box-sizing: border-box;
}

/* =========================
   上部（画像＋タイトル）
========================= */
.course_item__head {
  display: flex;
  align-items: center;
  gap: 1.5em;
  margin-bottom: 1em;
}

.course_item__head img {
  display: block;
  width: 120px;
  height: auto;
  flex-shrink: 0;
  border-radius: 100vh;
  border: 1px solid #ddd;
}

.course_item__head h6 {
  margin: 0;
  font-size: 16px;
  line-height: 1.5;
  text-decoration: underline;
}

/* =========================
   テキスト
========================= */
.course_item__text {
  margin: 0;
  font-size: 14px;
  line-height: 1.7;
}

/* =========================
   hover（任意）
========================= */
.course_item:hover {
  opacity: 0.85;
}

/* =========================
   SP対応（1カラム）
========================= */
@media screen and (max-width: 767px) {

  .course_list li {
    width: 100%;
    border-left: 1px solid #ccc;
    border-right: 1px solid #ccc;
    border-top: none; /* ← 上線を消す */
  }

  /* 1番目だけ上線を付ける */
  .course_list li:first-child {
    border-top: 1px solid #ccc;
  }

  /* 下線（疑似要素）はそのまま使用 */
  .course_list li::before {
    display: block;
  }

  /* 右線の疑似要素は不要 */
  .course_list li::after {
    display: none;
  }

  /* nth-childの指定を上書き */
  .course_list li:nth-child(-n+2) {
    border-top: none;
  }

  /* 1つ目だけ上線を付ける */
  .course_list li:first-child {
    border-top: 1px solid #ccc;
  }
}

/********************************************
  ▼ サイトマップ用
*********************************************/
.sitemap-card {
  max-width: 1100px;
  margin: 0 auto;
}

.sitemap-card__list {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
  gap: 24px;
}

.sitemap-card__item {
  width: calc((100% - 24px) / 2);
  box-sizing: border-box;
}

.sitemap-card__box {
  height: 100%;
  padding: 24px;
  border: 1px solid #d8d8d8;
  background: #fff;
  box-sizing: border-box;
}

h3.sitemap-card__title {
  margin: 0 0 18px;
  padding-bottom: 10px;
  border-bottom: 2px solid #21A5B2;
  font-size: 1.2rem;
  line-height: 1.5;
}

.sitemap-card__title a {
  color: #222;
  text-decoration: none;
}

.sitemap-card__title a:hover {
  color: #CD4C3B;
}

.sitemap-card__links {
  margin: 0;
  padding: 0;
  list-style: none;
}

.sitemap-card__links li {
  margin: 0;
  padding: 0;
  border-bottom: 1px solid #eee;
}

.sitemap-card__links li:last-child {
  border-bottom: none;
}

.sitemap-card__links a {
  display: block;
  position: relative;
  padding: 12px 0 12px 18px;
  color: #333;
  text-decoration: none;
  line-height: 1.7;
  transition: color 0.2s ease, padding-left 0.2s ease;
}

.sitemap-card__links a::before {
  content: "●";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.7rem;
  color: #21A5B2;
}

.sitemap-card__links a:hover {
  color: #CD4C3B;
  padding-left: 22px;
}

.sitemap-card__item h3::after {
  content: none;
}

@media screen and (max-width: 767px) {
  .sitemap-card__list {
    gap: 16px;
  }

  .sitemap-card__item {
    width: 100%;
  }

  .sitemap-card__box {
    padding: 18px;
  }

  .sitemap-card__title {
    margin-bottom: 14px;
    font-size: 1.1rem;
  }

  .sitemap-card__links a {
    padding: 10px 0 10px 16px;
    line-height: 1.6;
  }

}

/********************************************
  ▼ 採用情報ページ用（recruit-form.php）
*********************************************/
.gtos-workpoint {
  display: grid;
  gap: 24px;
  margin: 2.5em 0;
}

.gtos-workpoint__item {
  position: relative;
  padding: 28px 28px 24px 90px;
  background: #fff;
  border: 2px solid #e8eef5;
  border-radius: 16px;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.08);
}

.gtos-workpoint__item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 22px;
  width: 6px;
  height: calc(100% - 44px);
  background: linear-gradient(180deg, #1f8ed8, #00b8a9);
  border-radius: 0 6px 6px 0;
}

.gtos-workpoint__num {
  position: absolute;
  left: 24px;
  top: 28px;
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(135deg, #1f8ed8, #00b8a9);
  color: #fff;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.gtos-workpoint__item h6 {
  margin: 0 0 0.7em;
  font-size: 1.1rem;
  font-weight: 700;
  color: #16324f;
  line-height: 1.5;
}

.gtos-workpoint__item h6::before {
  content: "POINT";
  display: inline-block;
  margin-right: 10px;
  padding: 3px 9px;
  font-size: 0.72rem;
  color: #1f8ed8;
  background: #eef8ff;
  border-radius: 999px;
  vertical-align: middle;
}

.gtos-workpoint__item p {
  margin: 0;
  line-height: 1.9;
  color: #333;
}

/* スマホ */
@media screen and (max-width: 768px) {
  .gtos-workpoint__item {
    padding: 24px 20px 22px;
  }

  .gtos-workpoint__num {
    position: static;
    margin-bottom: 14px;
  }

  .gtos-workpoint__item h6 {
    font-size: 1rem;
  }
}

/********************************************
  ▼ 加盟店用（group）
*********************************************/
.group-table{
	width:100%;
	border-collapse:collapse;
	border-spacing:0;
	background:#fff;
	border:1px solid #dbe6ea;
	margin:2em 0;
}

.group-table th,
.group-table td{
	padding:16px 20px;
	border-bottom:1px solid #e6eef1;
	vertical-align:top;
	box-sizing: border-box;
}

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

.group-table td p:first-child {
    margin-top: 0;
}

.group-table td p:last-child {
    margin-bottom: 0;
}

/* th */
.group-table th{
	width:30%;
	min-width:180px;
	background:#f5fbfc;
	color:#1f3a5f;
	font-weight:700;
	border-right:3px solid #21a5b6;
	white-space:nowrap;
}

/* td */
.group-table td{
	color:#333;
	line-height:1.8;
	word-break:break-word;
}

/* リスト調整 */
/* リスト */
.group-table ul{
  margin: 0;
  padding-left: 1.2em;
}
.group-table li{
  margin-bottom: 0.4em;
}


/* ==========================
   スマホ
========================== */

@media screen and (max-width:768px){

	.group-table,
	.group-table tbody,
	.group-table tr,
	.group-table th,
	.group-table td{
		display:block;
		width:100%;
	}

	.group-table{
		border:none;
	}

	.group-table tr{
		margin-bottom:1.2em;
		border:1px solid #dbe6ea;
		border-radius:8px;
		overflow:hidden;
		background:#fff;
	}

	.group-table tr:last-child{
		margin-bottom:0;
	}

	.group-table th{
		width:100%;
		min-width:auto;
		border-right:none;
		border-bottom:1px solid #dbe6ea;
		padding:12px 15px;
	}

	.group-table td{
		padding:15px;
	}
}


.no1-banner {
    position: relative;
    width: 100%;
    container-type: inline-size;
}

.no1-banner img {
    display: block;
    width: 100%;
    height: auto;
}

.no1-banner-text {
    position: absolute;   /* ← ここが抜けていないか確認 */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-around;
    text-align: center;
    padding: 0 1em;
    box-sizing: border-box;
}

.no1-banner-text .no1-banner-title {
    position: static;
    margin: 0;
    padding: 0;
    border-bottom: none;
    box-sizing: content-box;
    letter-spacing: normal;
    line-height: 1.2em;
    font-family: inherit;
    font-size: 8cqw;
    white-space: nowrap;

    color: #f11e27;
    font-style: italic;
    font-weight: bold;
    -webkit-text-stroke: 6px #fff;
    paint-order: stroke fill;
}

.no1-banner-text .no1-banner-subtitle {
    position: static;
    margin: 0.3em 0 0;
    padding: 0;
    border-left: none;
    box-shadow: none;
    background: none;
    box-sizing: content-box;
    letter-spacing: normal;
    font-size: 5cqw;
    white-space: nowrap;

    color: #fff;
    font-style: italic;
    font-weight: bold;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

/* ==========================
   加盟店一覧用
========================== */
.group_list{
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 2em;
}

.group_item{
  width: calc((100% - 4em) / 3);
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 12px;
  border:1px solid #e8eef5;
  box-shadow: 0 2px 10px rgba(0,0,0,0.08);
  overflow: hidden;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
  position:relative;
  box-sizing:border-box;
}

.group_item > a{
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
}

.group_item h6{
  margin: 0.8em 1em 0.4em;
  font-size: 1.05em;
  font-weight: bold;
  line-height: 1.4;
  color: #222;
  text-align:center;
}

.group_item div{
  margin: 0;
  position:absolute;
  right:0.5em;
  bottom:0.5em;
}

.group_item div a{
  display: inline-block;
  padding: 0.2em 1em;
  background: #eef4fb;
  color: #2b6cb0;
  border-radius: 100vh;
  font-size: 80%;
  text-decoration: none;
  white-space: nowrap;
}

.group_item div a:hover{
  background: #333;
  color:#fff;
  opacity:1;
}

/* スマホ: 1列縦並び、画像左・テキスト右 */
@media screen and (max-width: 768px){
  .group_list{
    flex-direction: column;
    gap: 1.5em;
  }

  .group_item{
    width: 100%;
    flex-direction: row;
    align-items: stretch;
  }

  .group_item > a{
    flex-direction: row;
    width: 100%;
  }

  .group_item > a img{
    order: 1;
    flex-shrink: 0;
    width: 35%;
    height: auto;
    aspect-ratio: 20 / 13;
  }

  .group_item > a h6{
    order: 2;
    margin-left: 0.8em;
    margin-top: 0.8em;
    margin-bottom: 0;
  }

  .group_item div{
    margin-left: calc(35% + 0.8em);
    margin-top: 0.4em;
  }
}

/* エリアフィルター用 */
.area_filter{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  list-style: none;
  margin: 0 0 3em;
  padding: 0;
  gap: 0.6em;
}

.area_filter button{
  padding: 0.5em 1.2em;
  border: 1px solid #ccc;
  border-radius: 999px;
  background: #fff;
  cursor: pointer;
  font-size: 0.9em;
  transition: background 0.2s, color 0.2s;
}

.area_filter button:hover{
  background: #f0f0f0;
}

.area_filter button.is-active{
  background: #21a5b6;
  color: #fff;
  border-color: #21a5b6;
}

.group_item .area_filter{
  margin: 0;
  position: absolute;
  right: 0.5em;
  bottom: 0.5em;
  
}

.group_item .area_filter button{
  padding: 0.2em 1em;
  color:#2b6cb0;
  border-radius: 100vh;
  background: #eef4fb;
  cursor: pointer;
  font-size: 80%;
  transition: background 0.2s, color 0.2s;
}

.group_item .area_filter button:hover{
  background: #333;
  color:#fff;
}

/********************************************
  ▼ 各種お問い合わせフォーム用
*********************************************/
/* ==========================
   お問い合わせフォーム専用
========================== */

.contact-form-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0 18px;
  margin:2em 0;
}

.contact-form-table th,
.contact-form-table td{
  vertical-align: middle;
  box-sizing:border-box;
}

.contact-form-table th{
  position:relative;
  width:30%;
  padding:1em;
  background:#f5fbfc;
  color:#1f3a5f;
  font-weight:700;
  line-height:1.7;
  border:1px solid #dbe6ea;
  border-right:none;
  border-radius:8px 0 0 8px;
}

.contact-form-table td{
  padding:1em 1.2em;
  background:#fff;
  border:1px solid #dbe6ea;
  border-left:none;
  border-radius:0 8px 8px 0;
  line-height:1.8;
}

/* 必須・任意ラベル */
.contact-form-table .must,
.contact-form-table .free{
  position:absolute;
  top:0;
  right:0;
  display:inline-block;
  padding:3px 6px;
  color:#fff;
  font-size:10px;
  font-weight:normal;
  line-height:1.3;
  text-align:center;
}

.contact-form-table .must{
  background:#d60000;
}

.contact-form-table .free{
  background:#777;
}

.contact-form-table label{
  margin-right:1.2em;
}
.contact-form-table td label:last-child{
  margin-right:0;
}

/* input / textarea */
.contact-form-table input[type="text"],
.contact-form-table input[type="email"],
.contact-form-table input[type="tel"],
.contact-form-table textarea{
  width:100%;
  max-width:100%;
  padding:.8rem .9rem;
  border:1px solid #ccc;
  border-radius:4px;
  background:#fff;
  font-size:16px;
  box-sizing:border-box;
  transition:.3s;
}

.contact-form-table textarea{
  min-height:10em;
  resize:vertical;
}

input[type='submit'], input[type='button'], label, file, button, select {
    cursor: pointer;
	font-size:100%;
}

.contact-form-table input:focus,
.contact-form-table textarea:focus{
  outline:none;
  border-color:#21a5b6;
  box-shadow:0 0 0 3px rgba(33,165,182,.12);
}

select{
  padding:0.5em;
}

/* checkbox */
.contact-form-table input[type="checkbox"]{
  margin-right:.35em;
}

/* file */
.contact-form-table input[type="file"]{
  width:100%;
  padding:.8em;
  border:1px solid #ccc;
  border-radius:4px;
  background:#fff;
  box-sizing:border-box;
  cursor:pointer;
}

.contact-form-table span.attention {
    display: block;
    color: red;
    font-size: 80%;
}

/* 補足 */
.contact-form-table .form-note,
.contact-form-table .form-sub-label{
  margin:.8em 0 .5em;
  font-weight:700;
  color:#333;
}

.contact-form-table .form-note{
  margin-top:0;
  font-weight:400;
}

.entry-form__buttons {
  text-align:center;
}
.entry-form__buttons button[type=submit] {
    position: relative;
    display: block;
    width: 220px;
    background: #21a5b6;
    padding: 1em 0;
    border-radius: 50vh;
    text-align: center;
    font-weight: bold;
	font-size:100%;
    text-shadow: none;
    margin: 3em auto 0;
    color: #fff;
	box-shadow: 0 5px 10px rgba(0, 0, 0, 0.25);
    box-sizing: border-box;
    border: 2px solid #fff;
	transition: .3s;
}
.entry-form__buttons i {
    position: absolute;
    right: 0.6em;
    top: 0;
    bottom: 0;
    margin: auto;
    display: block;
    width: 1em;
    height: 1em;
}

.entry-form__buttons button[type=submit]:hover {
    background: #000;
    color:#fff;
}
p.error_messe {
    margin: 1rem 0;
    color: red;
    font-size: 16px;
}

/* ==========================
   スマホ
========================== */

@media screen and (max-width:768px){

  .contact-form-table,
  .contact-form-table tbody,
  .contact-form-table tr,
  .contact-form-table th,
  .contact-form-table td{
    display:block;
    width:100%;
  }

  .contact-form-table{
    border-spacing:0;
  }

  .contact-form-table tr{
    margin-bottom:1.5rem;
  }

  .contact-form-table tr:last-child{
    margin-bottom:0;
  }

  .contact-form-table th{
    border:1px solid #dbe6ea;
    border-bottom:none;
    border-radius:8px 8px 0 0;
  }

  .contact-form-table td{
    border:1px solid #dbe6ea;
    border-radius:0 0 8px 8px;
  }

  .contact-form-table .must,
  .contact-form-table .free{
    top:50%;
    transform:translateY(-50%);
  }

}

.checkbox-list{
  display: flex;
  flex-direction: column;
}


/********************************************
  ▼ 基本要素スマホ用
*********************************************/
@media screen and (max-width: 768px) {
.display-pc { display: none; }
.display-sp { display: block; }

.sp-heading span.display-sp { display: inline; }
}