@charset "EUC-JP";
/*------------------------------
トップページメイン
--------------------------------*/
/* ====== #mainImg 専用スライドショー ====== */
#mainImg.hero{
	position: relative;
	width: 100%;
	height: clamp(300px, 55vh, 528px);
	overflow: hidden;
	background: #000;
}

#mainImg .heroSlides{
	position: absolute; inset: 0;
}

#mainImg .heroSlide{
	position: absolute; inset: 0;
	width: 100%; height: 100%;
	object-fit: cover;
	opacity: 0;
	transform: scale(1);
	transform-origin: 50% 50%;
	will-change: opacity, transform;
	animation: mainImgKenburns 15s linear infinite;
}

#mainImg .heroSlide:nth-child(1){ animation-delay: 0s; }
#mainImg .heroSlide:nth-child(2){ animation-delay: 5s; }
#mainImg .heroSlide:nth-child(3){ animation-delay: 10s; }
#mainImg .heroSlide:nth-child(4){ animation-delay: 15s; }
#mainImg .heroSlide:nth-child(5){ animation-delay: 20s; }

/* フェード＋ズーム */
@keyframes mainImgKenburns{
	0%   { opacity: 0; transform: scale(1); }
	6%   { opacity: 1; transform: scale(1.01); }
	33%  { opacity: 1; transform: scale(1.08); } /* ←拡大量を調整可能 */
	39%  { opacity: 0; transform: scale(1.08); }
	100% { opacity: 0; transform: scale(1.08); }
}

/* オーバーレイ要素 */
#mainImg .heroOverlay{
	position: absolute; inset: 0;
	display: grid;
	place-items: center start;
	padding:3%;
	color: #fff;
	pointer-events: none;
}
#mainImg .heroTitle{
	font-size: 5.5rem;
    margin: -60px 0px 0px 10px;
     -webkit-text-stroke: 2px #666;
 	text-stroke: 2px #666;
    line-height: 130%;
    font-weight: bold;
}
.iphone #mainImg .heroTitle{
     -webkit-text-stroke: 1px #666;
 	text-stroke: 1px #666;
}
#mainImg .heroLead{
	margin: 0;
	width:400px;
	margin-bottom: -70px;
}
/* 吹き出し（任意） */
#mainImg .heroBubble{
  position: absolute;
  right: 2%; top: 5%;
  width: clamp(140px, 25vw, 200px);
  height: auto;
  pointer-events: auto;
}


#mainContent section{ clear:both; padding-top:0px; scroll-margin-top: 80px; }
#mainContent section h2{
	font-size:1.4rem;
	font-weight:normal;
	text-align:center;
}
#mainContent section h2 span { background: #fff; padding: 0 80px; }
#mainContent section h2 span.title_eng {
	background: #fff;
	padding: 0 80px;
	font-family:'Pacifico',cursive;
	font-size:4.0rem;
	display:block;
	font-weight:bold;
	margin-bottom:10px;
}
#mainContent section h3{
	margin:10px 0px;
	font-size:1.4rem;
	font-weight:bold;
	border-bottom:1px solid #333;
	padding-bottom:3px;
}
#mainContent section p{
	margin:10px 0px;
	font-size:1.6rem;
	text-align:center;
	line-height:130%;
}
.inner{ width: 94%; margin: 0 auto; padding-bottom: 50px; }

/* BlogBox */
#BlogBox{ padding:0 !important; }
#BlogBox header{ display:none; }


/* トップSNS */

section#Tsns{
	margin:40px 0px 40px;
}
.Tsns_box li{
	text-align:center;
}
.Tsns_box li a i{
	font-size:3.6rem;
}
.Tsns_box li a i.fa-x-twitter{color:#333;}
.Tsns_box li a i.fa-instagram{color:#FF0069;}
.Tsns_box li a i.fa-facebook{color:#1877f2;}
.Tsns_box li a i.fa-tiktok{color:#333;}
.Tsns_box li a i.fa-youtube{color:#FF0000;}


#mainContent section#Tinfo{
	padding:20px 10px 0px;
}


/* ===== タブレット(>=641px) ===== */
@media (min-width:641px){
	#mainContent section{ clear:both; scroll-margin-top: 80px; }
	#mainContent section#Tinfo{
		padding:50px 20px 0px;
	}
	section#Tsns{
		margin:50px 0px;
	}
}

/* ===== PC(>=641px) ===== */
@media screen and (min-width:1024px){
	#mainContent{
		width:1024px;
		margin:0px auto;
	}
}

/* モバイル調整 */
@media (max-width:640px){
	#mainImg.hero{ height: 300px; }
	#mainImg .heroOverlay{ place-items: end start; padding: 10px; }
	#mainImg .heroTitle{
		font-size: 2.8rem;
        margin:15px 0px 0px 5px;
	}
  #mainImg .heroLead{ max-width: 40%;margin:0px 0px -10px -5px; }
	section{ padding-top:50px; }
	section h2{ margin:0 auto 20px; }
	section h2 span{ padding:0 30px; }
	section.bottomSheet{ padding-top:10px; }
	#mainImg .heroBubble{
		top:unset;
		right: 2%; bottom: 5%;
	}
	#mainContent section{ clear:both;}
}
@media (max-width:380px){
	#mainImg.hero{ height: 300px; }
}
/*------------------------------
検索フォーム
--------------------------------*/

/* SearchSection basic */
.SearchSection{
  --brand:#111; --line:#e6e6e6; --bg:#fff; --bg-soft:#f7f8fa;
  --ink:#111; --muted:#6b7280;
  padding:10px;
}
.SearchSection *{ box-sizing:border-box; }
.SearchSection header h2{ margin:0 0 6px; }
.SearchSection header p{ margin:0 0 10px; color:var(--muted); }
.SearchSection .sf{
  background:#b2d9cb; padding:20px 10px; border-radius:12px;
}
#mainContent section.SearchSection{
	margin-top:10px;
}
.SearchSection header.TpS{ 
	display:none;
}
.LASearch{
	padding:0px;
	margin-bottom:20px;
}
.SearchSection .sf_hokusetsu,
.SearchSection .sf_center,
.SearchSection .sf_nanbu{
	background:rgba(0,104,55,0.85);
	box-sizing: border-box;
    padding: 10px;
	border-radius:12px;
}
.SearchSection .sf_center{
	background:rgba(186,123,60,0.85);
}
.SearchSection .sf_nanbu{
	background:rgba(56,152,175,0.85);
}
/* search bar */
.sf__search{ display:flex; gap:8px; margin-bottom:16px; }
.sf__search input{ flex:1; height:48px; border-radius:999px; border:1px solid var(--line); padding:0 14px; }
.sf__searchBtn{ border:none; border-radius:999px; background:var(--brand); color:#fff; padding:0 15px; cursor:pointer; font-size:1.6rem; }
.sf__searchBtn:hover{ filter:brightness(1.05); }
.sf__searchBtn:active{ transform:translateY(1px); }

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

/* picker buttons */
.pickerActions{ display:flex; gap:10px; flex-wrap:wrap; margin:0 0 16px; }
.pickerBtn{
  background:#fff; border:1px solid #ccc; border-radius:999px;
  padding:8px 18px; cursor:pointer; font-weight:700; text-decoration:none; display:inline-block;
}

/* overlay */
.tsp__overlay{
  position:fixed; inset:0; background:rgba(0,0,0,.4);
  opacity:0; pointer-events:none; transition:opacity .3s; z-index:100;
}
#tsp_line:checked ~ .tsp__overlay,
#tsp_area:checked ~ .tsp__overlay{ opacity:1; pointer-events:auto; }

/* modal */
.tsp__modal{
  position:fixed; left:50%; top:50%; transform:translate(-50%,-50%);
  background:#fff; border-radius:10px; box-shadow:0 10px 25px rgba(0,0,0,.2);
  width:min(90vw,800px); max-height:80vh; display:flex; flex-direction:column;
  opacity:0; pointer-events:none; transition:opacity .3s; z-index:200;
}
#tsp_line:checked ~ .tsp__modal.-line,
#tsp_area:checked ~ .tsp__modal.-area{ opacity:1; pointer-events:auto; }

.tsp__head{ display:flex; justify-content:space-between; align-items:center; padding:10px 16px; border-bottom:1px solid #ddd; }
.tsp__head h3{ margin:0; font-size:16px; }
.tsp__close{
	display: inline-block;
    text-align: center;
    border: 1px solid #eee;
    border-radius: 8px;
    background: #fff;
    color: #111;
    cursor: pointer;
    font-size: 2.0rem;
}

.tsp__body{ padding:16px; overflow:auto; flex:1; }
.tsp__foot{ padding:10px 16px; border-top:1px solid #ddd; text-align:right; }

/* lines and stations */
.lineList{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:20px; }
.lineList > li{ border-bottom:1px solid #eee; padding-bottom:10px; }
.lineTitle{ font-weight:700; color:#b22222; margin-bottom:8px; font-size:15px; display:flex; align-items:center; gap:6px; }

/* station list horizontal */
.stationList{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:10px 14px; }
.stationList li{ display:inline-flex; align-items:center; white-space:nowrap; }
.stationList input{ margin-right:4px; width:16px; height:16px;}
.lineTitle input{ width:16px; height:16px;}

/* price row */
.sf__row2{ display:grid; grid-template-columns:1fr; gap:0; margin-bottom:0px; }
.sf__row2 h3{ margin:0 0 8px; }
.sf__select select{
  width:100%; height:35px; padding:0 25px 0 14px; font-size:14px;
  border:1px solid var(--line); border-radius:8px; background:#fff;
  appearance:none; -webkit-appearance:none; -moz-appearance:none;
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 20 12"><path d="M2 2l8 8 8-8" fill="none" stroke="%23666" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
  background-repeat:no-repeat; background-position:right 10px center; background-size:12px 12px;
}
.select_hf{ display:flex; gap:2%; flex-wrap:wrap; }
.select_hf select{ max-width:49%;margin-bottom: 20px; }

/* type checks (table output safe) */
.sf__checks{ margin-bottom:16px; }
.sf__checks h3{ margin:0 0 8px; }
.sf__checks table{ width:100%; border-collapse:separate; border-spacing:0; display:block; }
.sf__checks table tbody{display:block;}
.sf__checks table tr{ display:flex; flex-wrap:wrap; gap:8px; }
.sf__checks table td{
  display:flex; align-items:center; gap:8px; padding:6px 10px;
  color:var(--ink); flex:1 1 calc(50% - 8px);
  border:1px solid var(--line); border-radius:5px; background:#fff;
}
@media (min-width:641px){ .sf__checks table td{ flex-basis: calc(33.333% - 8px); }.sf__row2{ margin-bottom:16px; } }
@media (min-width:840px){ .sf__checks table td{ flex-basis: calc(25% - 8px); } }
.sf__checks table td input[type="checkbox"]{ width:16px; height:16px; margin:0; cursor:pointer; }
.sf__checks table td label{ margin:0; cursor:pointer; font-size:14px; color:var(--ink); }
.sf__checks table td:has(input:checked){ border-color:#111; background:#f7f8fa; }
@supports not (selector(:has(*))){ .sf__checks table td input:checked + label{ font-weight:700; } }

/* submit */
.sf__submit{
  display:block; width:40%; margin:10px auto 0; height:38px;
  border:none; border-radius:999px; background-color:#333; color:#fff;
  font-weight:700; cursor:pointer;
}
@media screen and (min-width:641px){
	#mainContent section.SearchSection{
		width: 650px;
		margin:20px auto;
	}
	.SearchSection .sf{
		padding: 30px;
	}
	.LASearch{
		width:100%;
		margin:0px;
	}
	.LAS_hokusetsu,
	.LAS_center,
	.LAS_nanbu{
		background-image:url('../images/area/map_hokusetsu.jpg');
		background-repeat:no-repeat;
		background-position:0px 0px;
		background-size:100% auto;
		padding-top:250px;
	}
	.LAS_center{
		background-image:url('../images/area/map_center.jpg');
	}
	.LAS_nanbu{
		background-image:url('../images/area/map_nanbu.jpg');
	}
	.LAS_hokusetsu form.sf_hokusetsu,
	.LAS_center form.sf_center,
	.LAS_nanbu form.sf_nanbu{
		width:650px;
	}
	.SearchSection .sf_hokusetsu, .SearchSection .sf_center, .SearchSection .sf_nanbu{
		padding: 30px;
		margin: 0px auto 20px;
	}
	.sf__submit{
		display:block; width:40%; margin:20px auto 0; height:48px;
	}
}
.Sbsub{
	 width:97%;
}
/* お問い合わせフォーム（推奨：.contact-form 付き） */
.form_set.contact-form {
  background: #b2d9cb;
  border-radius: 12px;
  padding: 20px 16px;
  color: var(--ink);
}

.form_set.contact-form fieldset {
  border: none;
  margin: 0;
  padding: 0;
}

.form_set.contact-form .fs_box {
  margin-bottom: 18px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(255,255,255,0.3);
}

/* 各項目タイトル */
.form_set.contact-form .fo_h5 {
  font-size: 14px;
  font-weight: 600;
  color: #333;
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 10px 0 8px;
}
.form_set.contact-form .fo_h5 i {
  color: #222;
  font-size: 1.2rem;
}



/* テキスト入力共通 */
.form_set.contact-form .form_input,
.form_set.contact-form .form_textarea {
  width:100%;
  box-sizing: border-box;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  padding: 8px 12px;
  margin:5px 0px 5px 0px;
  font-size: 16px;
  color: #111;
  text-align:left;
}


/* テキストエリア（コメント） */
.form_set.contact-form .form_textarea {
  min-height: 120px;
  resize: vertical;
  margin-top:10px;
  text-align:left;
}

/* セレクトボックス・間取り群 */
.form_set.contact-form .form_select select {
  width: 100%;
  height: 36px;
  border-radius: 8px;
  border: 1px solid var(--line);
  background: #fff;
  padding: 0 10px;
  font-size: 14px;
}
.form_set.contact-form .fw30 {
  width: 30%;
  display: inline-block;
}
.form_set.contact-form .frub {
  margin: 0 6px;
}

/* 注意書き */
.form_set.contact-form .chui {
  font-size: 12px;
  color: var(--muted);
  line-height: 1.5;
}

/* ボタン行 */
.form_set.contact-form .contact_btns {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-top: 0px;
  width:100%;
}

/* ボタン */
.form_set.contact-form .sf__submit {
  width: 180px;
  height: 45px;
  border: none;
  border-radius: 999px;
  font-weight: 700;
  cursor: pointer;
  transition: 0.2s ease;
}
.form_set.contact-form .sf__submit.-reset {
  background: #fff;
  border: 1px solid #555;
  color: #333;
}
.form_set.contact-form .sf__submit.-confirm {
  background: #333;
  color: #fff;
}
.form_set.contact-form .sf__submit.-reset:hover {
  background: #f1f1f1;
}
.form_set.contact-form .sf__submit.-confirm:hover {
  filter: brightness(1.1);
}
@media screen and (max-width:640px){
	.form_set.contact-form .sf__submit {
		width: 150px;
		height:35px;
		border: none;
		border-radius: 999px;
		font-weight: 700;
		cursor: pointer;
		transition: 0.2s ease;
	}
}
.sf.nps h3.fo_h3,
#main h3.fo_h3{
	border: none;
    margin: 8px 0;
    padding: 0px;
    font-size: 14px;
    color: #000;
    border-bottom: 1px dotted #333;
    padding: 3px 5px;
}
.sf.nps h4.fo_h4,
#main h4.fo_h4{
	border: none;
    margin: 8px 0;
    padding: 0px;
    font-size: 14px;
    color: #fff;
    padding: 3px 5px;
	background-color:#999;
}
/* 基本設定 */
.sf__radios {
  margin-bottom: 0px;
}
.sf__radios h5.fo_h5 {
  margin: 0 0 8px;
  font-size: 14px;
  color: #444;
}

/* テーブル構造：チェックボックス風と同じ */
.sf__radios table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  display: block;
}
.sf__radios table tr {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.sf__radios table td {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1 1 calc(50% - 8px);
  border: 1px solid #ccc;
  border-radius: 6px;
  background: #fff;
  padding: 6px 10px;
  cursor: pointer;
  transition: all 0.2s ease;
  box-sizing: border-box;
  margin-bottom: 5px;
}

.form_set.contact-form input[type="text"],
.form_set.contact-form input[type="email"],
.form_set.contact-form textarea {
  text-transform: lowercase !important;
}
@media (min-width:560px){
  .sf__radios table td { flex-basis: calc(33.333% - 8px); }
}
@media (min-width:840px){
  .sf__radios table td { flex-basis: calc(25% - 8px); }
}

/* ホバー効果 */
.sf__radios table td:hover {
  background: #f7f8fa;
}

/* ラジオボタン（見た目リセット） */
.sf__radios input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  width: 16px;
  height: 16px;
  margin: 0;
  border: 2px solid #999;
  border-radius: 50%;
  cursor: pointer;
  position: relative;
  transition: all 0.2s ease;
  flex-shrink: 0;
}

/* 選択時の丸中央塗り */
.sf__radios input[type="radio"]:checked {
  border-color: #007BFF;
  background: radial-gradient(circle at center, #007BFF 45%, transparent 46%);
}

/* 選択中セルを強調 */
.sf__radios table td:has(input[type="radio"]:checked) {
  border-color: #007BFF;
  background: #f0f2f5;
}

/* ラベル */
.sf__radios label {
  font-size: 14px;
  color: #111;
  cursor: pointer;
  line-height: 1.4;
}
/* PCサイズ補正 */
@media screen and (min-width:641px){
  .form_set.contact-form {
    width: 650px;
    margin: 0 auto 20px;
    padding: 30px;
  }
  /* ボタン行 */
	.form_set.contact-form .contact_btns {
		display: flex;
		justify-content: center;
		gap: 12px;
		 width: 400px;
		margin: 0px auto 0px;
	}
  
  
}
/*------------------------------
トップ物件ブログ4つ並び
--------------------------------*/
/* ===== Blog List (4-cols PC / 1-col SP) ===== */
#blogListFour{ --gap:16px; --ink:#111; --muted:#6b7280; --line:#e6e6e6; --card:#fff; --shadow:0 8px 24px rgba(0,0,0,.08); }
#blogListFour{ color:var(--ink); }
#blogListFour *{ box-sizing:border-box; }
#mainContent section#blogListFour{
	padding:20px 10px;
}

/* グリッド：SP1 → MD2 → PC4 */
#blogListFour .blist4__grid{
  display:grid;
  gap:var(--gap);
  grid-template-columns:1fr;          /* スマホ：1 */
}
@media (min-width:641px){
	#blogListFour .blist4__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } /* タブレット：2 */
	#mainContent section#blogListFour{
		padding:50px 20px;
	}
	.bloglist__head,.Tsns_head{
		margin-bottom:30px;
	}
	.plist__head{
		margin-top:30px;
	}
}
@media (min-width:1200px){
  #blogListFour .blist4__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } /* PC：4 */
}

/* カード */
#blogListFour .blist4__card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:16px;
  box-shadow:var(--shadow);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  transition:transform .18s ease, box-shadow .18s ease;
}
#blogListFour .blist4__card:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(0,0,0,.12);
}
.blist4__card img{
	width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
	max-height:270px;
}
@media screen and (max-width:428px){
	.blist4__card img{
		max-height:100%;
	}
}
/* サムネイル：比率固定でトリミング */
#blogListFour .blist4__thumb{
  position:relative; display:block; overflow:hidden;
  aspect-ratio: 16 / 9;              /* 必要に応じて 4/3 や 3/2 へ */
  background:#f3f4f6;
}
#blogListFour .blist4__thumb img{
  width:100%; height:100%; object-fit:cover; display:block;
  transform:scale(1); transition:transform .6s ease;
}
#blogListFour .blist4__card:hover .blist4__thumb img{ transform:scale(1.05); }

/* 本文 */
#blogListFour .blist4__body{ padding:14px 14px 16px; display:grid; gap:8px; }

/* 日付 */
#blogListFour .blist4__date{ font-size:12px; color:var(--muted); letter-spacing:.02em; }

/* タイトル */
#blogListFour .blist4__title{ font-size:16px; line-height:1.35; margin:0; }
#blogListFour .blist4__title a{
  color:inherit; text-decoration:none;
  background-image: linear-gradient(currentColor,currentColor);
  background-size:0% 1px; background-repeat:no-repeat; background-position:0 100%;
  transition: background-size .25s ease;
}
#blogListFour .blist4__title a:hover{ background-size:100% 1px; }

/* 抜粋（最大3行） */
#mainContent section p.blist4__excerpt{
  font-size:14px; color:#222; margin:0;
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden;
  text-align:left;
}
/*------------------------------
トップ物件ブログ3つ並び
--------------------------------*/
/* ===== Blog List (scoped to #blogList) ===== */
#blogList{ --gap:16px; --ink:#111; --muted:#6b7280; --line:#e6e6e6; --card:#fff; --shadow:0 8px 24px rgba(0,0,0,.08); }
#blogList{ color:var(--ink); }
#blogList *{ box-sizing:border-box; }
#mainContent section#blogList{
	padding:20px 10px;
}

/* グリッド：SP1 → MD2 → LG3 */
#blogList .blist__grid{
  display:grid;
  gap:var(--gap);
  grid-template-columns:1fr;
}
@media (min-width:641px){
	#blogList .blist__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
	#mainContent section#blogList{
		padding:50px 20px;
	}
}
@media (min-width:960px){
  #blogList .blist__grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}

/* カード */
#blogList .blist__card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:16px;
  box-shadow:var(--shadow);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  transition:transform .18s ease, box-shadow .18s ease;
}
#blogList .blist__card:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(0,0,0,.12);
}

/* サムネイル：比率固定でトリミング */
#blogList .blist__thumb{
  position:relative; display:block; overflow:hidden;
  aspect-ratio: 16 / 9;            /* 3/2 や 4/3 に変更可 */
  background:#f3f4f6;
}
#blogList .blist__thumb img{
  width:100%; height:100%; object-fit:cover; display:block;
  transform:scale(1); transition:transform .6s ease;
}
#blogList .blist__card:hover .blist__thumb img{ transform:scale(1.05); }

/* 本文 */
#blogList .blist__body{ padding:14px 14px 16px; display:grid; gap:8px; }

/* 日付 */
#blogList .blist__date{
  font-size:12px; color:var(--muted); letter-spacing:.02em;
}

/* タイトル */
#blogList .blist__title{ font-size:16px; line-height:1.35; margin:0; }
#blogList .blist__title a{
  color:inherit; text-decoration:none;
  background-image: linear-gradient(currentColor,currentColor);
  background-size:0% 1px; background-repeat:no-repeat; background-position:0 100%;
  transition: background-size .25s ease;
}
#blogList .blist__title a:hover{ background-size:100% 1px; }

/* 抜粋（2〜3行で切る） */
#mainContent section p.blist__excerpt{
  font-size:14px; color:#222; margin:0;
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden;
  text-align:left;
}
/* もっと見るボタン（共通） */
.blist__more{
  margin-top:20px;
  text-align:center;
}
.blist__moreBtn{
  display:inline-block;
  padding:10px 20px;
  background:#111; color:#fff;
  font-size:14px; font-weight:700;
  border-radius:999px;
  text-decoration:none;
  transition:background .2s ease, transform .05s ease;
}
.blist__moreBtn:hover{ background:#333; }
.blist__moreBtn:active{ transform:translateY(1px); }

/* ===== PC表示（960px〜）：1つ目カードの右上に配置 ===== */
@media (min-width:960px){
  #blogList,#blogListFour{ position:relative; }
  .blist__more{
    position:absolute;
    top:100px; right:30px;
    margin:0;
    transform:translateY(-50%);
  }
  .blist__moreBtn{
    padding:8px 16px;
    font-size:13px;
  }
}
/*------------------------------
トップ物件横スライダー
--------------------------------*/
/* ===== Property Carousel (scoped to .tsrideBox) ===== */
.tsrideBox{ --gap:16px; --ink:#111; --muted:#6b7280; --line:#e6e6e6; --card:#fff; --shadow:0 8px 24px rgba(0,0,0,.08); }
.tsrideBox{ position:relative; width:100%; margin-inline:auto; color:var(--ink); }

/* 横スクロールのトラック：CSSのみでスライド */
.tsrideBox .pcarousel__track{
	display:flex;
	gap:var(--gap);
	overflow-x:auto;
	overscroll-behavior-x: contain;
	scroll-snap-type:x mandatory;
	scroll-behavior:smooth;
	padding:4px var(--gap) 12px;
	-webkit-overflow-scrolling:touch;
}
.tsrideBox .pcarousel__track::-webkit-scrollbar{ height:8px; }
.tsrideBox .pcarousel__track::-webkit-scrollbar-thumb{ background:#d7d7d7; border-radius:999px; }

/* カード：モバイルは1枚ちょい見え、PCは複数並べ */
.tsrideBox .pitem{
	flex:0 0 82%;
	max-width:82%;
	scroll-snap-align:center;
	background:var(--card);
	border:1px solid var(--line);
	border-radius:8px;
	box-shadow: var(--shadow);
	overflow:hidden;
	display:flex;
	flex-direction:column;
	position:relative;
}

@media (min-width:600px){
	.tsrideBox .pitem{ flex-basis:46%; max-width:46%; }
}
@media (min-width:900px){
	.tsrideBox .pitem{ flex-basis:31%; max-width:31%; } /* 3列相当が見える */
}
@media (min-width:1200px){
	.tsrideBox .pitem{ flex-basis:23.5%; max-width:23.5%; } /* 4列相当 */
}


@media screen and (max-width:640px){
	#mainContent section.plist{padding-top:20px;}
}


/* 画像：横幅最大・比率固定でトリミング（マスク） */
.tsrideBox .pitem__thumb{
	position:relative; display:block; overflow:hidden; aspect-ratio: 4 / 3; /* 3:2 や 16:9 に変更可 */
	background:#f3f4f6;
}
.tsrideBox .pitem__thumb img{
	width:100%; height:100%; object-fit:cover; display:block;
	transform: scale(1); transition: transform .5s ease;
}
.tsrideBox .pitem__thumb:hover img{ transform: scale(1.04); }

/* 内容 */
.tsrideBox .pitem__body{ padding:12px 14px 14px; display:grid; gap:6px; }
.tsrideBox .pitem__title{ font-size:16px; line-height:1.35; margin:0; }
.tsrideBox .pitem__title a{ color:inherit; text-decoration:none; }
.tsrideBox .pitem__title a:hover{ text-decoration:underline; }
.pitem__body time{
	font-size:1.2rem;
}

#mainContent section p.pitem__price{ font-weight:800; margin:2px 0 0; font-size:16px;text-align:left; }
span.pitem__fee{ color:var(--muted); font-weight:500; margin-left:.25em; font-size:13px;text-align:left; }
#mainContent section p.pitem__meta{ color:var(--muted); font-size:13px; margin:0;text-align:left; }
#mainContent section p.pitem__text{ font-size:13px; color:#222; margin:2px 0 0; line-height:130%;text-align:left; }

/* バッジ：10px・横並び・色付き */
.tsrideBox .pitem__badges{
  display:flex; flex-wrap:wrap; gap:6px; margin:6px 0 6px; padding:0; list-style:none;
}
.tsrideBox .badge{
	font-size:10px; line-height:1;
	padding:6px 8px;
	border-radius:999px;
	background:#efefef; color:#333; border:1px solid #e5e5e5;
	white-space:nowrap;
}
p.plist__sub{
	text-align:right;
	padding:10px;
	font-size:1.4rem;
}
/* バリエーション色（必要に応じて追加） */
.tsrideBox .badge--new{
  background:#e7f1ff; color:#003c7e; border-color:#b3d0ff;
}
.tsrideBox .badge--pet{
  background:#eaffec; color:#075e27; border-color:#c5f3cd;
}
.tsrideBox .badge--design{
  background:#f8edff; color:#5b138b; border-color:#e8caff;
}
.tsrideBox .badge--exe{
  background:#fff5e5; color:#7a3a00; border-color:#ffd9a1;
}
.tsrideBox .badge--lgbt{
  background:#f2e6ff; color:#5a1da0; border-color:#dec6ff;
}
.tsrideBox .badge--sinia{
  background:#ffeaea; color:#a02020; border-color:#ffc8c8;
}
.tsrideBox .badge--cupple{
  background:#e8fff8; color:#006b54; border-color:#bdf2dc
}
.tsrideBox .badge--family{
  background:#fff9e3; color:#6e5400; border-color:#ffe79b;
}
.tsrideBox .badge--single{
  background:#e9f5ff; color:#00537a; border-color:#c3e6ff;
}
.tsrideBox .badge--maisonette{
  background:#f1f3ff; color:#2a358b; border-color:#d3d8ff;
}
.tsrideBox .badge--tower{
  background:#fff0ed; color:#912c00; border-color:#ffc9b8;
}
.tsrideBox .badge--bunjo{
  background:#e6f7ff; color:#0b4473; border-color:#b8e7ff;
}
.tsrideBox .badge--share{
  background:#f1fff0; color:#246a0b; border-color:#ccf5c3;
}
.tsrideBox .badge--renove{
  background:#fff1e8; color:#6b3000; border-color:#ffd6b8;
}


.tsrideBox a.bk_my{
	display: block;
    background-color:#ccc;
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 40px 40px;
    width: 40px;
    height: 40px;
	border-radius:3px;
    position: absolute;
    top:10px;
    right:10px;
    text-align: center;
    cursor: pointer;
	padding: 3px;
	border:1px dotte #999;
}
.tsrideBox a.fav_act{
	background-color:#fff;
}
.tsrideBox a:hover.bk_my{
	text-decoration:none;
}
.tsrideBox a.bk_my i{
	display:block;
	font-size:2.4rem;
	color:#fff;
	padding:5px 5px 5px 4px;
	z-index:2;
}
.tsrideBox a.fav_act i{
	color:#ead61b;
}
.tsrideBox a.onFav i{
	color:#f5c51d;
}
.tsrideBox a.offFav i{
	color:#ccc;
}

/*------------------------------
トップ・コンテンツ
--------------------------------*/
.TopTabs{ --gap:16px; --ink:#111; --muted:#6b7280; --line:#e6e6e6; --card:#fff; --shadow:0 8px 24px rgba(0,0,0,.08); }
.TopTabs *{ box-sizing:border-box; }
.TopTabs{ color:var(--ink); margin:20px 0px; }

/* タブ */
.TopTabs .TtTabs{
	display:grid; grid-template-columns:1fr 1fr 1fr;
	gap:0;
	position:relative;
	border-radius:7px;
	overflow:hidden;
	background:#fff;
	margin:10px;
}

.TopTabs header{
	position:relative;
}
@media screen and (min-width:641px){
	.TopTabs header{
		margin-bottom:30px;
	}
	.TopTabs{ color:var(--ink); margin:50px 0px; }
}
.secMore{
  position:absolute;
  right:10px;
  top:40px;

  /* 見た目 */
  height:34px;                     /* PCデフォルト */
  padding:10px 12px;
  border-radius:999px;
  border:1px solid #bbb;
  background:#fff;
  color:#111;
  font-weight:700;
  font-size:14px;
  box-shadow:0 4px 12px rgba(0,0,0,.06);
  transition:filter .2s ease, transform .05s ease;
}
.secMore:hover{ filter:brightness(1.04); }
.secMore:active{ transform:translateY(1px); }

/* スマホはコンパクトに */
@media (max-width:640px){
  .secMore{ height:28px; padding:6px 10px; font-size:12px; gap:6px; }
}

.TopTabs .TtTabs > input[type="radio"]{ position:absolute; opacity:0; pointer-events:none; }

.TopTabs .TtTab{
	text-align:center;
	padding:12px 10px;
	font-weight:700;
	background:#ddd;
	border-right:1px solid var(--line);
	cursor:pointer; user-select:none;
	line-height: 120%;
}
.TopTabs .TtTab:last-of-type{ border-right:0; }

.TopTabs .stTabs{
	display:grid; grid-template-columns:1fr 1fr 1fr;
}

/* ===== トップ人気エリア ===== */
/* チェック状態の見た目 */
#At_tab1:checked ~ label[for="At_tab1"],
#At_tab2:checked ~ label[for="At_tab2"],
#At_tab3:checked ~ label[for="At_tab3"]{
  background:#b2d9cb; color:#111; box-shadow: inset 0 -3px 0 #111;
}

/* パネル共通（初期非表示） */
#AtTabs .AtPanel{
  display:none; grid-column:1 / -1;
  border-top:1px solid var(--line); background:#fff;
  padding:14px 0 6px;
}
/* ラジオで該当パネル表示 */
#At_tab1:checked ~ #At_panel1{ display:block; }
#At_tab2:checked ~ #At_panel2{ display:block; }
#At_tab3:checked ~ #At_panel3{ display:block; }
/* ーーーーーーーーーー */

/* ===== トップスタッフ紹介 ===== */
/* チェック状態の見た目 */
#st_tab1:checked ~ label[for="st_tab1"],
#st_tab2:checked ~ label[for="st_tab2"],
#st_tab3:checked ~ label[for="st_tab3"]{
	background:#00a99d; color:#fff; box-shadow: inset 0 -3px 0 #111;
}

/* パネル共通（初期非表示） */
#staffTabs .stPanel{
  display:none; grid-column:1 / -1;
  border-top:1px solid var(--line); background:#fff;
  padding:14px 0 6px;
}
/* ラジオで該当パネル表示 */
#st_tab1:checked ~ #st_panel1{ display:block; }
#st_tab2:checked ~ #st_panel2{ display:block; }
#st_tab3:checked ~ #st_panel3{ display:block; }
/* ーーーーーーーーーー */

/* ===== トップアーティクル ===== */
/* チェック状態の見た目 */
#art_tab1:checked ~ label[for="art_tab1"],
#art_tab2:checked ~ label[for="art_tab2"],
#art_tab3:checked ~ label[for="art_tab3"]{
	background:#00a99d; color:#fff; box-shadow: inset 0 -3px 0 #111;
}

/* パネル共通（初期非表示） */
.TopTabs .TtPanel{
  display:none; grid-column:1 / -1;
  border-top:1px solid var(--line); background:#fff;
  padding:14px 0 6px;
}
/* ラジオで該当パネル表示 */
#art_tab1:checked ~ #art_panel1{ display:block; }
#art_tab2:checked ~ #art_panel2{ display:block; }
#art_tab3:checked ~ #art_panel3{ display:block; }
/* ーーーーーーーーーー */

/* パネル：横スクロールは親に付与 */
.TtPanel{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  /* スナップは親に */
  scroll-snap-type:x mandatory;
  /* 余白（スマホで端がくっつかないように） */
  padding-inline: 8px;
}


/* トラック：内容幅に合わせる → 余るときは中央に据える */
.TtTrack{
  display:flex;
  gap:16px;
  width:max-content;         /* コンテンツに合わせて横幅が決まる */
  margin-inline:auto;        /* 余白がある時は中央寄せになる */
}

/* カードのスナップ位置は中央に（見栄え良く） */
.TtCard{
  scroll-snap-align:center;
  flex:0 0 clamp(120px, 28vw, 150px);
  background:#fff; border:1px solid #e6e6e6; border-radius:14px;
  overflow:hidden; box-shadow:0 6px 18px rgba(0,0,0,.08);
  transition: transform .18s ease, box-shadow .18s ease;
}
.TtCard:hover{ transform:translateY(-2px); box-shadow:0 12px 26px rgba(0,0,0,.12); }

.AaCard{
	flex:0 0 clamp(150px, 28vw, 150px);
	margin-bottom:20px;
	border-radius: 0px;
}

.TsPanel{
	overflow:scroll;
}
.TsTrack{
	margin:0px 10px;
}
.TsCard{
	flex:0 0 clamp(180px, 28vw, 220px);
}
/* 画像比率など（参考。既に定義があれば不要） */
.TtThumb{ aspect-ratio:1/1; background:#f3f4f6; overflow:hidden; }
.TtThumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.TtMeta{ padding:10px 12px 12px; display:grid; gap:6px; }
.AaMeta{ padding:10px 5px 12px; display:grid; gap:6px; }
.TtName{ font-size:14px; margin:0; }
.TtComment{
  font-size:12px; color:#222; margin:0;
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden;
}

/* PCで左右の“余白感”を少し足す（任意） */
@media screen and (min-width:641px){
	.TsTrack{
		margin-inline: auto;
	}
}
@media (min-width: 1024px){
  .TtPanel{ padding-inline: 12px; }
}

/* スクロールバーの見た目（任意） */
.TtPanel::-webkit-scrollbar{ height:8px; }
.TtPanel::-webkit-scrollbar-thumb{ background:#d7d7d7; border-radius:999px; }

/* カード全体をリンクに */
.TopTabs .TtLink{ display:block; color:inherit; text-decoration:none; }

/* 画像は正方形にトリミング */
.TopTabs .TtThumb{ position:relative; aspect-ratio:1 / 1; background:#f3f4f6; overflow:hidden; }
.TopTabs .TtThumb img{ width:100%; height:100%; object-fit:cover; display:block; }

/* テキスト部分 */
.TopTabs .TtMeta{ padding: 8px; display:grid; gap:6px; }
.TopTabs .TtName{ font-size:14px; margin:0; }
#main h4.TtName{ 
	all: revert;
	box-sizing: border-box;
	font-size:14px; margin:0;
}
#mainContent section h3.TtName{ font-size:14px; margin:0; }
.TopTabs .TtComment,
#mainContent section p.TtComment,
#main p.TtComment{
  all: revert;
  box-sizing: border-box;
  font-size:1.1rem; color:#222; margin:0;
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; text-align:left;
  line-height:120%;
}
#main p.TtShops,
#mainContent section p.TtShops{
	font-size:1.2rem;
	line-height:130%;
	white-space:nowrap;
}
.STLbig{
	font-size:1.7rem;
	font-weight:bold;
}

/* ===== Staff Tabs & Swipe List (scoped to #staffTabs) ===== */
.BanTabs{ --gap:16px; --ink:#111; --muted:#6b7280; --line:#e6e6e6; --card:#fff; --shadow:0 8px 24px rgba(0,0,0,.08); }
.BanTabs *{ box-sizing:border-box; }
.BanTabs{ color:var(--ink); margin-top:20px;}

/* 横スワイプのトラック */
.BanTabs .BtTrack{
  display:flex; gap:var(--gap);
  overflow-x:auto; -webkit-overflow-scrolling:touch;
  scroll-snap-type:x mandatory; scroll-behavior:smooth;
  padding: 2px var(--gap) 12px 0px;
  margin-left:10px;
}
.BanTabs .BtTrack::-webkit-scrollbar{ height:8px; }
.BanTabs .BtTrack::-webkit-scrollbar-thumb{ background:#d7d7d7; border-radius:999px; }

/* カード（スマホは約200px） */
.BanTabs .BtCard{
	flex: 0 0 260px;
    max-width: 260px;
    scroll-snap-align: center;
    background: var(--card);
    border: 1px solid #666;
    overflow: hidden;
	transition:transform .18s ease, box-shadow .18s ease;
}
.BanTabs .BtCard:hover{ transform:translateY(-2px); box-shadow:0 12px 28px rgba(0,0,0,.12); }

/* PCで少し大きめ表示 */
@media (min-width:900px){
  .BanTabs .BtCard{ flex-basis:260px; max-width:260px; }
}

.BanTabs .BtLink{ display:block; color:inherit; text-decoration:none; }

/* 画像は正方形にトリミング */
.BanTabs .BtThumb{ position:relative; background:#f3f4f6; overflow:hidden; }
.BanTabs .BtThumb img{ width:100%; height:auto; object-fit:cover; display:block; }
.TsName{
	line-height:130%;
}


/*------------------------------
トップQ&A
--------------------------------*/
.Top-qa{
  border:1px solid var(--line); background:#fff;
  padding:10px 12px; margin: 8px;
}
.Top-qa > summary{
  cursor:pointer; font-weight:700; list-style:none; outline:0;
  letter-spacing:-1px;
}
.Top-qa > summary::-webkit-details-marker{ display:none; }
.Top-qa > summary::after{
  content:"＋"; float:right; color:#444;
}
.Top-qa[open] > summary::after{ content:"−"; }
.Top-qa > p{ margin:10px 0 0; line-height:1.8; color:#222; }

#mainContent section p.Tqa {
    font-size: 1.4rem;
    text-align: left;
	line-height:150%;
}
@media screen and (min-width:641px){
	.Top-qa > summary{
		font-size:1.8rem;
		letter-spacing:0px;
	}
}
/*------------------------------
トップ店舗情報
--------------------------------*/

#mainContent section#Tinfo{
	padding:20px 10px 0px;
}

/* ===== タブレット(>=641px) ===== */
@media (min-width:641px){
	#mainContent section#Tinfo{
		padding:50px 20px 0px;
	}
}




/*------------------------------
中ページメイン
--------------------------------*/
#main{
	clear:both;
	margin: 70px 0px 0px;
    padding: 0px 10px 10px;
}
#main section{
	clear:both;
	padding: 70px 10px;
	scroll-margin-top: 80px;
}
#main section.Npage{
	padding:0px;
	scroll-margin-top: 80px;
}
#main section.Npage header{
	margin-bottom:10px;
}
@media (min-width:641px){
	#main{
		width:100%;
		margin: 0px auto;
		padding: 10px 10px 10px;
	}
	#main section{
		clear:both;
		padding-top:50px;
		scroll-margin-top: 80px;
	}
	#main section.Npage{
		padding-top:10px;
	}
}
@media screen and (min-width:1024px){
	#main{
		width:1024px;
	}
}

.AreaTt{
	display:block;
	position:relative;
}
/*------------------------------
中ページメイン見出し
--------------------------------*/
#main h2{
	font-size:1.6rem;
	font-weight:700;
	color:#333;
	margin:0px 0px 0px 0px;
	padding: 5px 0px 5px 0px;
	border-top:0.5px solid #4CB1A3;
	border-bottom:1px solid #4CB1A3;
	line-height:130%;
}
#main h2.areamap{
	border:unset;
	padding: 0px 0px 0px 0px;
}
#main h2.mylist{
	border:unset;
	border-bottom:1px solid #4CB1A3;
	margin-bottom:10px;
}
#main h2.LAS{
	text-align:center;
	color:#fff;
	border-top:unset;
	border-bottom:1px solid #fff;
	margin-bottom:10px;
}
#main h3{
	font-size: 1.4rem;
	font-weight: 700;
	color: #333;
	margin: 0px 0px 10px 0px;
	padding: 5px 0px 5px 8px;
	border-left: 5px solid #4CB1A3;
	line-height:125%;
}
#main h3.LAS{
	border-left: 5px solid #fff;
	color: #fff;
}
#main h3.LASb{
	margin: 0px 0px 0px 0px;
}
#main h3.TtName{
	font-size:1.4rem;
	border-left:unset;
	padding: 0px;
	margin: 10px 0px;
}
#main h4{
	font-size: 1.4rem;
	font-weight: 700;
	color: #333;
	background-color:#ddd;
	margin: 0px 0px 10px 0px;
	padding: 5px 8px 5px 8px;
	line-height:130%;
}
#main h4.entry_h4{
	font-weight:normal;
	font-size: 1.3rem;
	background-color:unset;
}
#main p{
	font-size:1.3rem;
	color:#333;
	margin:0px 0px 0px 0px;
	padding: 5px 0px 5px 0px;
	line-height: 150%;
}
#main p.form_p{
	background-color:#efefef;
	padding: 7px;
	line-height:140%;
}
#main p.chui{
	line-height:140%;
	font-size:1.2rem;
}
#main p.conts{
	font-size:1.2rem;
	background-color:#eee;
	padding:10px;
	border-radius:8px;
}
#main p.req_p{
	text-align:left;
	padding:10px 0px ;
}
#main p.artsub_box a {
	font-size: 1.4rem;
    display: inline-block;
    background-color: #b88972;
    padding: 8px;
    margin: 0px 8px 8px 0px;
    color: #fff;
    border-radius: 5px;
}
#main p.artsub_box :hover {
	background-color: #666;
}
#main p.form_ktex{
	background-color: #fff;
	padding:10px;
	border-radius:5px;
}
#main ul.st_ul{
	list-style-type: none;
	display: block;
    margin: 0px 0px 15px 0px;
    padding: 0px 0px 0px 0px;
}
ul.st_ul li{
	border-top: 1px solid #ccc;
    margin: 0px 0px 0px 0px;
    padding: 5px 0px 5px 0px;
    font-size: 1.4rem;
}
ul.st_ul li a{
	display:block;
	margin:0px 0px 0px 0px;
	padding: 5px 0px 5px 5px;
	color: #333;
	position:relative;
}
ul.st_ul li:hover{
	background-color:#efefef;
}
ul.st_ul li a::after{
	content: "\f0a9";
	font-family:"Font Awesome 5 Free";
    font-size: 1.4rem;
	font-weight:900;
	position:absolute;
	top:40%;
	right:5px;
	color:#4CB1A3;
}
ul.st_ul li a i{
	display: inline-block;
    background-color: #4CB1A3;
    width: 40px;
    height: 40px;
    box-sizing: border-box;
    border-radius: 50%;
    padding: 10px 0px 0px 0px;
    color: #fff;
    font-size: 2.0rem;
    text-align: center;
    margin-right: 10px;
}
ul.st_ul li a span{
	display: inline-block;
    margin: 12px 0px 0px 0px;
    padding: 0px 0px 0px 0px;
    vertical-align: top;
}
ul.st_ul li.tmlast{
	border-bottom:1px solid #ccc;
}
@media screen and (min-width:641px){
	#main h2{
		font-size:3.2rem;
		margin-bottom: 20px;
	}
	#main h3{
		font-size:2.8rem;
		margin: 20px 0px;
	}
	ul.st_ul li{
		font-size:2.2rem;
		font-weight:bold;
		display: inline-block;
		width: 31%;
		border: 1px solid #ccc;
		margin: 5px;
		padding: 5px 10px 5px 10px;
	}
	ul.st_ul li a i{
		width:55px;
		height: 55px;
		padding: 13px 0px 0px 0px;
		font-size: 2.8rem;
	}
	ul.st_ul li a span{
		margin: 17px 0px 0px 0px;
		font-weight:bold;
	}
	#main p{
		font-size:1.6rem;
	}
	#main ul.st_ul{
		margin: 0px 0px 25px 0px;
		padding: 0px 0px 0px 0px;
		display: flex;
		flex-wrap: wrap;
	}
	ul.st_ul li a::after{
		font-size: 2.0rem;
	}
	#main h4{
		font-size: 2.4rem;
	}
	#main h2.LAS{
		text-align: center;
		color: #fff;
		border-top: unset;
		border-bottom: 1px solid #fff;
		margin-bottom: 20px;
		font-size: 2.4rem;
	}
	#main h3.LAS{
		font-size: 1.8rem;
	}
	#main h3.Arth3,#main h3.entry{
		font-size:2.6rem;
		margin:20px 0px;
	}
	#main h4.article_h5{
		margin-top:20px;
	}
	#main p{
		font-size:1.6rem;
		color:#333;
		margin:0px 0px 10px 0px;
		padding:15px;
		line-height: 150%;
	}
}


/*------------------------------
メイン共通ul
--------------------------------*/
#main ul.m_ul,#main ul.privacy,#main ul.sitemap,#main ul.dic,#main ul.madori,#main ul.cat,#main ul.sta{
	margin:15px 0px 15px 0px;
	padding:0px 0px 0px 0px;
}
ul.m_ul li,ul.privacy li,ul.sitemap li,ul.dic li,ul.madori li,ul.cat li,ul.sta li{
	margin:0px 0px 10px 10px;
	padding:0px 0px 0px 0px;
	font-size:1.2rem;
	line-height:150%;
}
ul.dic li,ul.madori li,ul.cat li,ul.sta li{
	margin:10px 0px 10px 20px;
	line-height: 180%;
}
.m_ul li:before,ul.privacy li:before,
ul.sitemap li:before,ul.dic li:before,
ul.madori li:before,ul.cat li:before,ul.sta li:before {
	font-family: "Font Awesome 5 Free";
	content: "\f007";
	font-weight:900;
	display: inline-block;
	margin:0px 5px 0px 0px;
	color:#4CB1A3;
}
ul.privacy li:before {
	content: "\f007";
}
ul.sitemap li:before {
	content: "\e935";
}
ul.dic li:before {
	content: "\e914";
}
ul.madori li:before {
	content: "\e95c";
}
ul.cat li:before {
	content: "\e929";
}
ul.sta li:before {
	content: "\e93a";
}
.m_ul li span,ul.privacy li span,ul.sitemap li span,ul.dic li span,ul.madori li span,ul.cat li span,ul.sta li span{
	display:block;
	margin:5px 0px 5px 20px;
	padding:0px 0px 0px 0px;
	font-size:1.2rem;
	line-height:150%;
}
.m_ul li a,ul.privacy li a,ul.sitemap li a,ul.dic li a,ul.madori li a,ul.cat li a,ul.sta li a{
	color:#333;
	text-decoration:underline;
}
.m_ul li a:hover,ul.privacy li a:hover,ul.sitemap li a:hover,ul.dic li a:hover,ul.madori li a:hover,ul.cat li a:hover,ul.sta li a:hover{
	color:#ccc;
}
.ul_set li:before {
	display:none;
}
@media screen and (min-width:641px){
	ul.m_ul li,ul.privacy li,ul.sitemap li,ul.dic li,ul.madori li,ul.cat li,ul.sta li{
		font-size:1.4rem;
	}
}
/*------------------------------
パンくず
--------------------------------*/
@media (min-width: 641px){
	.breadcrumb.visually-hidden {
	position: static !important;
	width: auto !important;
	height: auto !important;
	margin: 10px 0 !important;
	overflow: visible !important;
	clip: auto !important;
	clip-path: none !important;
	white-space: normal !important;
	}
}
:root{
  --bc-font: 1.4rem;
  --bc-gap: .5rem;
  --bc-color: #555;
  --bc-link: #1A72E8;
  --bc-sep: #c8ccd2;
}

.breadcrumb{
  block-size: auto;
  margin: .75rem 0 1rem;
}

.breadcrumb ol{
  display: flex;
  align-items: center;
  gap: var(--bc-gap);
  padding: .5rem 0;
  margin: 0;
  list-style: none;

  /* スマホは横スクロールで崩れにくく */
  overflow-x: auto;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x proximity;

  /* 端の切れを柔らかく見せるグラデーションマスク */
  mask-image: linear-gradient(to right, transparent 0, black 16px, black calc(100% - 16px), transparent 100%);
}

.breadcrumb li{
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  font-size: var(--bc-font);
  color: var(--bc-color);
  scroll-snap-align: start;
  font-size:1.2rem;
}
/* リンクの見た目 */
.breadcrumb a{
  color: var(--bc-link);
  text-decoration: none;
}
.breadcrumb a:hover,
.breadcrumb a:focus{
  text-decoration: underline;
  outline: none;
}

/* 現在地はリンクにしない＋強調 */
.breadcrumb .is-current{
  color: #111;
  font-weight: 600;
}

/* 狭い画面でのフォント最適化 */
@media (max-width: 641px){
  .visually-hidden{
	position: absolute !important;
	width: 1px; height: 1px;
	margin: -1px; padding: 0; border: 0;
	overflow: hidden; clip: rect(0 0 1px 1px); clip-path: inset(50%);
	white-space: nowrap;
	}
}

/* キーボード操作のアクセシビリティ（フォーカスリング） */
.breadcrumb a:focus-visible{
  outline: 2px solid #8bb9ff;
  outline-offset: 2px;
  border-radius: 4px;
}

/*------------------------------
沿線・エリア
--------------------------------*/
.ea_box{
	margin-bottom:20px;
}
.acd-check{
  display: inline-block;
  width: 20px;
	height: 20px;
	margin-top: 8px;
}
.acd-label{
  display: inline-block;
	padding: 0px;
	font-size:1.6rem;
	margin-top:10px;
	vertical-align: top;
	width: calc(100% - 40px);
}
.acd-content{
  height: 0;
  opacity: 0;
  padding: 0 10px;
  transition: .5s;
  visibility: hidden;
}
.acd-check:checked + .acd-label + .acd-content{
  height: auto;
  opacity: 1;
  padding: 10px;
  visibility: visible;
}
.acd-content input{
  width: 20px;
    height: 20px;
    display: inline-block;
}
.acd-content label{
	display: inline-block;
    font-size: 1.5rem;
    vertical-align: top;
    margin-top: 5px;
    margin-left: 5px;
}
.acd_list{
	display:inline-block;
	width:30%;
	font-size:1.6rem;
	margin-bottom: 10px;
}
.acd_list input{
	width:18px;
	height:18px;
}
/*---固定ボタン---*/

.sebt_box{
  position:fixed; left:0; right:0;
  display:flex; gap:12px; justify-content:center; align-items:center;
  z-index:2;                               /* ドック(560)より前、シート(700)より後ろなら調整 */
  pointer-events:none;                        /* 親は透過、ボタンで復活 */
  padding:10px 12px;                          /* 背景帯の内側余白 */
}

/* PC：ウィンドウ最下部に“隙間なし”で */
@media (min-width:800px){
  .sebt_box{ bottom:0; }
}
@media screen and (max-width:640px){
	.acd_list{
		width:49%;
		white-space:nowrap;
		margin-bottom: 5px;
	}
	.acd-check:checked + .acd-label + .acd-content{
		padding: 10px 5px;
	}
	.acd-content label{
		font-size:1.4rem;
		letter-spacing:-1px;
		margin-left:2px;
	}
}
/* スマホ：#mobileDock の“直上”に“隙間ゼロ”で */
@media (max-width:799px){
  .sebt_box{
    bottom: calc(var(--dockH) + env(safe-area-inset-bottom,0px));
  }
}

/* 背景帯（全幅） */
.sebt_box::before{
  content:"";
  position:absolute; inset:0;
  background:#ff9900;                            /* 色はお好みで */
  border-top:1px solid #e5e5e5;               /* 仕切りライン */
  box-shadow:0 -6px 18px rgba(0,0,0,.08);     /* 浮かせる影（不要なら消す） */
  z-index:-1;                                 /* ボタンの背面に置く */
}

/* iOS セーフエリアの当たりを確保（PCには効かない） */
@supports (padding: max(0px)){
  @media (max-width:799px){
    .sebt_box{ padding-bottom: max(10px, env(safe-area-inset-bottom)); }
  }
}

/* ボタン本体 */
.sebt_box button{
  pointer-events:auto;                         /* クリック可能に戻す */
  min-width:140px; height:48px; padding:0 18px;
  border:0; border-radius:5px;
  font-size:1.4rem; font-weight:700; cursor:pointer;
  display:inline-flex; align-items:center; justify-content:center; gap:6px;
  box-shadow:0 8px 10px rgba(0,0,0,.12);
  transition: filter .2s ease, transform .05s ease;
}
.sebt_box button i{font-size:1.8rem;}
.sebt_box button:hover{ filter:brightness(1.05); }
.sebt_box button:active{ transform:translateY(1px); }

/* 配色（必要に応じて調整） */
@keyframes blinking {
  50%   { opacity: 0; }
  100% { opacity: 1; }
}

.sebt_box .se01{ background:#111; color:#fff; animation: blinking 1s ease-in-out infinite alternate; }  
.sebt_box .se01:hover{ background:#111; color:#fff; animation:unset; }	/* 検索 */
.sebt_box .se02{ background:#f3f4f6; color:#111; }   /* 検索条件追加 */

/* 小さめ端末で微調整 */
@media (max-width:480px){
  .sebt_box button{ min-width:120px; height:40px; font-size:14px; }
  .sebt_box .se01{ background:#111; color:#fff; }  
}

/* 任意：ボトムシート表示中は重なり回避で非表示にする場合 */
#sheet1Toggle:checked ~ .sebt_box,
#sheet2Toggle:checked ~ .sebt_box,
#sheet3Toggle:checked ~ .sebt_box,
#sheet4Toggle:checked ~ .sebt_box{ display:none; }

/*---固定ボタン---*/
.leftward, .rightward {
	border-top: 7px solid #000000;
	border-right: 7px solid transparent;
	border-bottom: 7px solid transparent;
	border-left: 7px solid transparent;
	display: inline-block;
}
.leftward {
	transform: translate(-30%, 0%) rotate(90deg);
}
.rightward {
	transform: translate(30%, 0%) rotate(-90deg);
}
@media screen and (min-width:1024px){
	.acd-label{
		font-size:1.8rem;
	}
	.sebt_box button{
		font-size:1.8rem;
	}
}
@media screen and (max-width:540px){
	.sebt_box{
		font-size:1.4rem;
	}
}
/*------------------------------
フォーム内
--------------------------------*/
.fom_box_cr,.select_form_m{
	margin: 5px 0px 0px 0px;
}
.select_form_m select{
	max-width: 95%;
	padding: 8px;
	margin:0px 10px 10px 10px;
	font-size: 1.6rem;
}
.select_form_m input[type=text],.select_form_m textarea{
	width: 95%;
	box-sizing: border-box;
	padding: 8px;
	margin: 0px 10px 10px 10px;
	font-size: 1.6rem;
}
.fom_box_cr input[type=radio],
.fom_box_cr input[type=checkbox],
.fom_box_cr2 input[type=checkbox]{
	width: 20px;
	height: 20px;
}
.fom_box_cr input[type="radio"] + label,
.fom_box_cr input[type="checkbox"] + label,
.fom_box_cr2 input[type="checkbox"] + label{
	margin-bottom: 1px;
	display: inline-block;
	padding: 0px;
	font-size:1.6rem;
	margin-top: 5px;
	vertical-align: top;
	margin-left: 3px;
}
.fom_box_cr table{
	width:100%;
}
.fom_box_cr table td,.fom_box_cr2 table td{
	display:inline-block;
	padding:0px 5px;
	margin-bottom:10px;
	width:49%;
}
.cr_img input[type=radio],
.cr_img input[type=checkbox]{
	margin-top:25px;
}
.cr_img img{
	display:inline-block;
}
.sebt_box2{
	background-color:#ccc;
	width:100%;
	box-sizing:border-box;
	padding:10px;
	text-align:center;
}
.sebt_box2 button{
	display:inline-block;
	background-color:#21386C;
	padding:5px 8px;
	color:#fff;
	font-size:1.8rem;
	margin: 0.5% 1%;
}
.fom_box_str{
	font-size:1.6rem;
	margin:10px;
}
.bk_heya hr{
	margin:0px;
}
@media screen and (min-width:641px){
	.fom_box_cr2 input[type=checkbox]{
		margin-top: 25px;
	}
	input[type=Submit].form_btn_w,
	input[type=Submit].form_btn{
		font-size:1.8rem;
		padding:5px 15px;
		margin:5px 0px;
		cursor:pointer;
	}
	.fom_box_cr,.select_form_m{
		font-size:1.6rem;
		padding:20px;
	}
	#main form.conform{
		width:800px;
		margin:20px auto;
	}
	.fom_box_cr table td,.fom_box_cr2 table td{
		width:24%;
	}
}
@media screen and (min-width:1024px){
	.fom_box_cr table td,.fom_box_cr2 table td{
		width:20%;
	}
}
@media screen and (max-width:540px){
	.bk_heya hr{
		
	}
}
/*------------------------------
フォームのフロー
--------------------------------*/
#tflow{
	margin:0px 0px 0px 0px;
	padding:0px 0px 0px 0px;
	font-size:14px;
	line-height:160%;
	text-align:center;
}
.tf_m{
	font-size:1.4rem;
	font-weight:bold;
	display:block;
	margin:0px 0px 10px 0px;
	padding:0px 0px 0px 0px;
	color:#004da4;
}
.tflow_box{
	display: inline-block;
    width: 28%;
    box-sizing: border-box;
    margin: 0px 0px 0px 0px;
    padding: 8px 0px;
    font-size: 1.4rem;
    color: #004da4;
    background-color: #e5e5e5;
    -webkit-border-radius: 5px;
}
.tflow_box span{
	display:block;
	box-sizing: border-box;
	margin:0px 0px 0px 0px;
	padding:0px 0px 0px 0px;
	font-size:1.4rem;
}
.tflow_box_act{
	display: inline-block;
    width: 28%;
    box-sizing: border-box;
    margin: 0px 0px 0px 0px;
    padding: 8px 0px;
    font-size: 1.4rem;
    color: #ffffff;
    background-color: #ff5a19;
    -webkit-border-radius: 5px;
    font-weight: bold;
}
.tflow_box_act span{
	display:block;
	box-sizing: border-box;
	margin:0px 0px 0px 0px;
	padding:0px 0px 0px 0px;
	font-size:1.4rem;
}
.tflow_y{
	display: inline-block;
    margin: 25px 0px auto 0px;
    width: 10px;
    height: 10px;
    vertical-align: top;
}
.tflow_y i{
	color:#ff5a19;
	margin:0px 0px 0px 0px;
	padding:0px 0px 0px 0px;
}
#fo_sbox{
	width:100%;
}
#fo_satei{
	width:33%;
	display:inline-block;
	margin:0px 0px 0px 0px;
	padding:0px 0px 0px 0px;
	vertical-align:top;
}
#fo_soudan{
	width:33%;
	display:inline-block;
	margin:0px 0px 0px 0px;
	padding:0px 0px 0px 0px;
	vertical-align:top;
}
#fo_w{
	width:33%;
	display:inline-block;
	margin:0px 0px 0px 0px;
	padding:0px 0px 0px 0px;
	vertical-align:top;
}
.fss_m{
	background-color:#e5e5e5;
	margin:0px 0px 0px 0px;
	padding:15px 15px 0px 80px;
	text-align:center;
}
.fsd_m{
	background-color:#e5e5e5;
	margin:0px 0px 0px 0px;
	padding:15px 15px 0px 90px;
	text-align:center;
}
.fsw_m{
	background-color:#e5e5e5;
	margin:0px 0px 0px 0px;
	padding:15px 15px 0px 35px;
	text-align:center;
}
@media screen and (min-width:1024px){
	.tf_m{
		font-size:2.2rem;
		padding:20px;
	}
}
@media screen and (max-width:540px){
	.tf_m{
		margin-top:10px;
	}
}


/*------------------------------
ページ送り
--------------------------------*/
.pager{
	margin: 10px;
}
.pager .pagination {
	text-align: center;
}
.pager .pagination li {
	display: inline;
	margin: 0 2px;
	padding: 0;
	display: inline-block;
	background:#fff;
	width: 50px;
	height: 50px;
	text-align: center;
	position: relative;
	border-radius: 10px;
	border:2px solid #000;
}
.pager .pagination li a{
	vertical-align: middle;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	display:table;
	color: #000;
	text-decoration: none;
}
.pager .pagination li a span{
	display:table-cell;
	vertical-align:middle;
}
.pager .pagination li a:hover,
.pager .pagination li a.active{
	color: #fff;
	background: #000;
	border-radius:8px;
}
@media only screen and (max-width: 767px){
  .pager .pagination li{
		display: none;
  }

  .pager .pagination li.pre,
  .pager .pagination li.next{
		display: inline-block;
		width: 40%;
		height:35px;
		text-align: center;
  }

  .pager .pagination li.pre a,
  .pager .pagination li.next a{
		width: 100%;
		text-align: center;
  }

  .pager .pagination li.pre span::after{
		content: "　前へ";
  }

  .pager .pagination li.next span::before{
		content: "次へ　";
  }

}
@media only screen and (max-width: 640px){
	 .pager .pagination li.pre,
  .pager .pagination li.next{
		height:20px;
		font-size:1.2rem;
  }
}
/*------------------------------
マイリストページ
--------------------------------*/
.mylist_info{
	background-image:url('../images/mylist_info.gif');
	background-repeat:no-repeat;
	background-position:center 15px;
	margin:15px;
	padding:85px 15px 15px 15px;
	border:3px solid #cb4e42;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	font-size:14px;
	color:#cb4e42;
	line-height:140%;
	position:relative;
}
.mylist_info span.btn_modoki{
	background-color:#cb4e42;
	padding:3px 5px 3px 5px;
	-webkit-border-radius:8px;
	-moz-border-radius:8px;
	color:#ffffff;
	margin:0px 5px 0px 5px;
	font-size:12px;
}
.stock_info{
	margin:15px;
	padding:85px 15px 15px 15px;
	border:3px solid #cb4e42;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	font-size:14px;
	line-height:140%;
	position:relative;
}
.stock_img img{
	width:100%;
	height:auto;
}
.bk_ck input[type=checkbox]{
	width: 18px;
	height: 18px;
}
.bk_ck input[type="checkbox"] + label {
	margin-bottom: 1px;
	display: inline-block;
	padding: 0px;
	font-size:1.6rem;
	margin-top: 5px;
	vertical-align: top;
	margin-left: 3px;
}
.attention{
	margin:10px 0px 0px 0px;
}
/*------------------------------
マイリストボタン
--------------------------------*/
.mylist_btn{
	margin:0px 0px 0px 0px;
	padding:0px 0px 0px 0px;
}
a.mylist_btn{
	display: inline-block;
    background: #333;
    box-sizing: border-box;
    padding: 5px;
    margin: 3px;
    color: #fff;
    font-size: 12px;
    text-decoration: none;
    text-align: left;
    border-radius: 3px;
}
a:hover.mylist_btn{
	background: #b1b1b1;
}
/*------------------------------
マイリスト系
--------------------------------*/
.mylist_box{
	margin:80px 0px 0px 0px;
}
.stock_info,.mem_box{
	margin:10px 0px 10px 0px;
	padding:10px;
	border:1px dotted #333;
	-webkit-border-radius: 10px;
	background-color:#fff;
}
.stock_info i{
	color:#ead61b;
}
.stock_info img{
	display:block;
	border: 0.5px solid #333;
	margin:5px auto 5px auto;
}
/*------------------------------
カンパニーページ
--------------------------------*/
/* コンテナ：横スクロール＋スナップ */
.com_img{
  display: flex;
  gap: 12px;
  overflow-x: auto;
  padding: 8px 4px;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
  margin-bottom:20px;
}

/* 各カード（a要素） */
.Cicard{
	flex: 0 0 auto;          /* 横並びで幅固定 */
	width: 300px;            /* PC時の幅 */
	scroll-snap-align: start;
	text-decoration: none;
	overflow: hidden;        /* 角丸を適用 */
	box-shadow: 0 2px 10px rgba(0,0,0,.08);
	position: relative
}
a.Cicard{
	text-decoration:none;
}
/* 画像はカード幅にフィット */
.Cicard img{
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;       /* 必要なら固定比率で切り取り */
	transform-origin: center center;
	will-change: transform;
}

/* スマホ（〜640px）：幅を85%に */
@media (max-width: 640px){
  .Cicard{ width: 250px; height: 125px; }  
  .Cicard img{
		height: 125px;
	}
	.Sicard{ 
		 all: revert; 
		display: block;
		box-sizing: border-box;
		width: 250px;
		height: suto; 
	}  
	.Sicard img{
		height: 180px;
	}
}

/* フォーカスリング（アクセシビリティ） */
.Cicard:focus-visible{
  outline: 3px solid #8bb9ff;
  outline-offset: 2px;
  border-radius: 12px;
}
@media (hover: hover){
  .Cicard:hover img{
    transform: scale(1.06);   /* お好みで 1.04〜1.10 */
  }
  /* キーボード操作にも同じ効果 */
  .Cicard:focus-visible img{
    transform: scale(1.06);
  }
}

/* 動きが苦手なユーザー配慮（任意） */
@media (prefers-reduced-motion: reduce){
  .Cicard img{
    transition: none;
  }
}
/* 本文 */
.SLT-store .SLT-storeBody{ padding:10px 0px; }
.SLT-store .SLT-storeName{ margin: 0 0 6px; font-size: 18px; }
.SLT-store .SLT-storeMeta{ margin: 0 0 6px; color:#555; font-size: 14px; }
.SLT-store .SLT-storeAreas{ margin: 0 0 10px; font-size: 13px; color:#444; }
.SLT-store .SLT-storeAreas a{ color:#1A72E8; text-decoration:none; }
.SLT-store .SLT-storeAreas a:hover{ text-decoration: underline; }

/* CTA */
.SLT-store .SLT-storeCTAs{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.SLT-store .SLT-chip{
  display:inline-block; padding:4px 8px; border-radius:999px;
  background:#eef5ff; color:#1A72E8; font-size:12px;
}
.SLT-store .SLT-btn{
  display:inline-block; padding:6px 10px; border-radius:999px; font-size:13px;
  background:#1A72E8; color:#fff; text-decoration:none;
}
.SLT-store .SLT-ghost{ background:#fff; color:#1A72E8; border:1px solid #1A72E8; }

/* 動きを減らす設定（任意） */
@media (prefers-reduced-motion: reduce){
  .SLT-store .SLT-storeGrid{ animation: none !important; }
  .SLT-store .SLT-storeImg{ transition: none; }
}

/*------------------------------
サイトマップページ
--------------------------------*/

.sitemapWrap {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 40px 30px;
  max-width: 1200px;
  margin: 0 auto;
  padding:0px;
  box-sizing: border-box;
  font-family: "Noto Sans JP", sans-serif;
}

/* 各ブロック */
.sitemapBlock {
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 10px;
  padding: 15px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.05);
}
/* 見出し */
#main h3.sitemapTitle {
	font-size:2.2rem;
	font-weight: 700;
	margin: 0 0 15px;
	border-left: 4px solid #4CB1A3;
	padding-left: 8px;
}

/* 通常リスト */
.sitemapList {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
}
/* 通常リスト */
.sitemapList li{
	margin-bottom:5px;
}

/* リンク */
.sitemapList a {
  display: inline-block;
  color: #333;
  background: #f7f8fa;
  border: 1px solid #ddd;
  border-radius: 6px;
  padding: 6px 10px;
  text-decoration: none;
  font-size: 14px;
  transition: background 0.3s, color 0.3s, border-color 0.3s;
}
.sitemapList a:hover {
  background: #4CB1A3;
  color: #fff;
  border-color: #4CB1A3;
}

/* 階層リスト（ネスト構造） */
.sitemapList.-nested > li {
  width: 100%;
}

.sitemapList.-nested ul {
  list-style: none;
  margin: 6px 0 10px 15px;
  padding: 0;
  border-left: 2px solid #ccc;
}

.sitemapList.-nested ul li {
  margin: 3px 0;
  padding-left: 10px;
}

.sitemapList.-nested ul a {
  background: #fff;
  font-size: 13px;
  border-radius: 4px;
  color: #333;
}

/* スマホ調整 */
@media (max-width: 640px) {
	.sitemapWrap {
		grid-template-columns: 1fr;
		gap: 10px;
		padding: 0px;
	}
	.sitemapBlock {
		padding: 10px;
	}
	#main h3.sitemapTitle {
		font-size:1.6rem;
	}
}
/*------------------------------
共通
--------------------------------*/
.red{
	color:#ff0000;
}
.orange{
	color:#e9482e;
}
.green{
	color:#2e9e9b;
}
.mcolor{
	color:#0e9265;
}
.black{
	color:#000;
}
.rent{
	color:#1E9EAC;
}
.sale{
	color:#C7AC68;
}
.page_c{
	clear:both;
	text-align:center;
}
.page_r{
	text-align:right;
}
.page_l{
	text-align:left;
}
.mini{
	font-size:1.2rem;
}
.tb10{
	clear:both;
	margin:10px 0px 10px 0px;
}
.b10{
	margin:0px 0px 10px 0px;
}
.tbw10{
	margin:10px;
}
.tb20{
	clear:both;
	margin:20px 0px 20px 0px;
}
.t20{
	clear:both;
	margin:20px 0px 0px 0px;
}
.b20{
	clear:both;
	margin:0px 0px 20px 0px;
}
.tbig{
	font-size:120%;
	line-height:160%;
}
.bbig{
	font-weight:bold;
	font-size:120%;
	line-height:150%;
}
.all_clear{
	clear:both;
	height:0px;
	margin:0px 0px 0px 0px;
	padding:0px 0px 0px 0px;
}
#newyear_banner{
	width:1000px;
	margin:0px auto 20px auto;
	padding:0px 0px 0px 0px;
}
#newyear_banner img{
	width:100%;
}
.contact_btn{
	margin:20px 0px 20px 0px;
	padding:0px 0px 0px 0px;
	text-align:center;
}
.c_img_m{
	margin:20px 0px 20px 0px;
	padding:0px 0px 0px 0px;
	text-align:center;
}
.c_img_m img{
	width:100%;
	height:auto;
}
i.fa-folder-plus{
	font-size:1.4rem;
	color:#ff0000;
	animation: blinkAnime 1s step-start infinite;
}
i.fa-circle-xmark{
	font-size:1.4rem;
	color:#ff0000;
}
i.fa-circle-exclamation{
	font-size:1.4rem;
	color:#bfbf1d;
}
i.fa-circle{
	font-size:1.4rem;
	color:#208bba;
}
@keyframes blinkAnime {
  50% { opacity: 0; }
}
@media screen and (max-width:1000px){
	#newyear_banner{
		width:100%;
	}
}
@media screen and (max-width:640px){
	.tb20{
		clear:both;
		margin:5px 0px 5px 0px;
	}
}
/*------------------------------
店舗案内
--------------------------------*/
.tnp_box{
	margin:0px 0px 0px 0px;
}
.tnp_box figure{
	display: inline-block;
	width: 100px;
	margin: 0px 0px 0px 0px
}
.tnp_box figure img{
	width:100%;
	height:auto;
}
.tnpn_box{
	display: inline-block;
	width: calc(100% - 110px);
	box-sizing: border-box;
	margin-left: 5px;
	vertical-align: top;
}
#main h4.det_h4{
	font-size: 1.2rem;
	font-weight: 400;
	line-height: 140%;
	margin: 0px;
	padding:5px;
	position:relative;
}
#main h4.det_h4 a{
	position: absolute;
	right: 5px;
	bottom: 8px;
}
#main h4.det_h4 span.h4big{
	font-size:1.6rem;
	font-weight:700;
}
#main p.shop_tel{
	font-size: 2.8rem;
	font-weight: 700;
	margin:5px 0px 0px;
	padding: 0px;
	line-height: 120%;
}
#main p.shop_tel i{
	font-size:2.2rem;
}
.tnpn_box span.tnp_fax{
	display:block;
	font-size:1.3rem;
	text-align:center;
	margin:5px 0px 0px;
}
dl.bt_tnp{
	margin:5px 0px 0px 0px;
}
dl.bt_tnp dt{
	display: inline-block;
	width: 60px;
	box-sizing: border-box;
	padding: 5px;
	font-size: 1.2rem;
	margin: 0px 0px 5px 0px;
	color: #333;
	background: #efefef;
	vertical-align: top;
}
dl.bt_tnp dd{
	display: inline-block;
	width: calc(100% - 70px);
	box-sizing: border-box;
	font-size: 1.4rem;
	font-weight: 500;
	margin: 0px 0px 5px 0px;
	vertical-align: top;
	line-height: 140%;
	position: relative;
	padding-top:2px;
}
.shop_bbtn{
	width: 100%;
	box-sizing: border-box;
	background-color: rgba(0,0,0,0.5);
	text-align: center;
	padding: 10px;
	margin-bottom: 10px;
}
.shop_bbtn a{
	display: inline-block;
	width: 47%;
	height: 50px;
	box-sizing: border-box;
	background-color: #ff9900;
	padding: 0px;
	color: #fff;
	box-shadow: 1px 1px 2px #999;
	border-radius: 5px;
	position: relative;
	margin: 0px 1% 0px 1%;
}
.shop_bbtn a.shop_line{
	background-color:#99cc99;
}
.shop_bbtn a i{
	display: inline-block;
	background-color: #ff6600;
	font-size: 2.0rem;
	position: absolute;
	top: 0px;
	left: 0px;
	width: 40px;
	height: 50px;
	padding: 15px 8px 8px 8px;
	box-sizing: border-box;
	text-align: center;
	vertical-align: middle;
	border-top-left-radius: 5px;
	border-bottom-left-radius: 5px;
	border-right:1px solid #fff;
}
.shop_bbtn a i.wicon-line{
	background-color: #28A239;
}
.shop_bbtn a span.debct{
	display: inline-block;
	width: calc(100% - 45px);
	box-sizing: border-box;
	font-size: 1.6rem;
	font-weight: 700;
	vertical-align: top;
	padding: 8px 0px;
	margin: 0px 0px 0px 40px;
	text-shadow:1px 1px 2px #999;
}
.shop_bbtn a span.debct2{
	display: block;
	font-size: 1.0rem;
	margin-bottom: 5px;
}
/*------------------------------
コンタクトページボタン
--------------------------------*/
a.contact_btn{
	display: inline-block;
    padding:16px 20px 14px 20px;
	margin:5px 5px 5px 5px;
    text-decoration: none;
    background: #ffffff;/*ボタン色*/
    color: #333333;
	font-size:1.6rem;
    border: 1px solid #ccc;
	cursor:pointer;
	border-radius:10px;
	line-height:140%;
}
a.contact_btn span{
	font-size:1.1rem;
}
a:hover.contact_btn{
	background: #efefef;/*ボタン色*/
}
a.contact_btn i{
	display:block;
	font-size:2.6rem;
	margin:0px auto 10px;
}
a.cb_res i{
	color: #4d4d77;
}
a.cb_req i{
	color: #ff9900;
}
a.cb_sale i{
	color: #F26C7D;
}
a.cb_rent i{
	color: #1674BA;
}
a.cb_business i{
	color: #383B5F;
}
a.cb_pub i{
	color: #666666;
}
a.cb_other i{
	color: #988676;
}
@media screen and (max-width:480px){
	a.contact_btn{
		width:auto;
        margin: 5px 5px 10px 5px;
        padding: 7px;
        font-size: 1.4rem;
        line-height: 150%;
	}
}
/*------------------------------
用語集用ボタン
--------------------------------*/
a.dic_btn{
	display:inline-block;
	border: none;
	background: #ccc;
	border-radius:5px;
	-webkit-border-radius:5px;
	width:50px;
	box-sizing: border-box;
	padding:10px 10px 10px 10px;
	margin:10px 5px 10px 5px;
	color: #000;
	font-weight: bold;
	cursor: pointer;
	-webkit-font-smoothing: antialiased;
	-webkit-appearance: none;
	-ms-appearance: none;
	appearance: none;
	font-size:1.6rem;
	text-decoration:none;
	text-align:center;
}
a:hover.dic_btn{
	background: #000;
	color:#fff;
}
a.act,a:hover.act{
	background: #000;
	color:#fff;
}
.btnbox_dic{
	width:100%;
	text-align:center;
	margin:0px auto 20px auto;
}
/*------------------------------
通常ボタン
--------------------------------*/
a.base_btn,a.base_btn_act{
	display:inline-block;
    padding:7px 10px;
    text-decoration: none;
    background: #333;/*ボタン色*/
    color: #fff;
	font-size:1.6rem;
    box-shadow: 0px 0px 2px 2px #e2e2e2;
	cursor:pointer;
	border-radius:5px;
	border:none;
    margin: 0px 5px;
}
a:hover.base_btn,a.base_btn_act{
	background: #999;
	box-shadow:none;
}
a.right_p{
	position:absolute;
	right:0px;
	top:-40px;
}
a.mbt{
	background: #fff;
	color:#2c9a8a;
	border-radius:5px;
	padding:8px 20px 8px 20px;
}
a.mbt i{
	font-size:2.0rem;
	color:#2c9a8a;
}
a.gyaku i{
	transform: scale(-1, 1);
}
a:hover.mbt,a:hover.mbt i{
	color:#2c9a8a;
	background: #fff;
	font-weight:700;
}

a.base_btn2,a.base_btn2_act{
	display:inline-block;
	padding:8px 12px;
    text-decoration: none;
    background: #333;
    color: #fff;
	font-size:1.4rem;
	font-weight:700;
	cursor:pointer;
	border-radius:3px;
	border:none;
	margin:0px auto 7px auto;
	vertical-align:top;
	box-shadow:1px 2px 1px #999;
	text-align:left;
	font-family: fot-tsukuardgothic-std, sans-serif;
	font-style: normal;
	font-weight: 700;
}
a:hover.base_btn2,a.base_btn2_act,a:hover.base_btn2 i{
	background: #666;
	box-shadow:none;
	margin-top:1px;
}
a.act4{
	background: #0b8c5d;/*ボタン色*/
	color:#fff;
	box-shadow:none;
	margin-top:1px;
}
a.btn_line{
	background-color:#0BB43B;
	color:#fff;
}
a.btn_con{
	background-color:#00a99d;
	color:#fff;
}
@media screen and (max-width:640px){
	a.base_btn,a.base_btn_act,a.base_btn2,a.base_btn2_act{
		padding:7px;
		font-size:1.4rem;
		margin: 5px;
	}
	.MyBbox,.BKBbox{
		vertical-align:top;
		display: flex;
	}
	.MyBbox a.base_btn{
		padding: 5px;
        font-size: 1.4rem;
        margin: 5px;
        width: 22%;
        line-height: 150%;
	}
	.BKBbox a.base_btn i{
		display:block;
		margin:5px auto;
	}
	.BKBbox a.base_btn{
		padding: 5px;
        font-size: 1.4rem;
        margin: 5px;
        width: 48%;
        line-height: 150%;
		text-align:center;
	}
}
/*------------------------------
コンテンツテーブルクラス
--------------------------------*/
.sub_cat{
	overflow: hidden;
	text-align:center;
	margin:0px 0px 25px 0px;
	padding:15px;
	background-color:#fff;
	border-radius:10px;
}
.sub_cat span {
	position:relative;
	display:inline-block;
	margin:0px 0px 0px 0px;
	padding:7px 20px 5px 20px;
	font-size:1.8rem;
	color: #1A283E;
	font-weight:normal;
	line-height:140%;
}
.sub_cat span::before,
.sub_cat span::after {
	position: absolute;
	top:50%;
	content: '';
	width:200%;
	height:1px;
	background-color: #1A283E;
}
.sub_cat span::before {
	right:100%;
}
.sub_cat span::after {
	left:100%;
}
.sm_left{
	float:left;
	width:30%;
	margin:15px 0px 10px 20px;
	padding:0px 0px 0px 0px;
	text-align:center;
}
.sm_left img{
	width:100%;
	height:auto;
}
.sm_right{
	float:right;
	width:65%;
	margin:15px 0px 10px 0px;
	padding:0px 0px 0px 0px;
}
@media screen and (max-width:640px){
	.sm_left{
		float:none;
		width:97%;
		margin:15px auto 10px auto;
	}
	.sm_right{
		float:none;
		width:97%;
		margin:15px auto 10px auto;
	}
	.sub_cat{
		margin:0px 0px 0px 0px;
		padding:5px;
	}
}
/*------------------------------
コンテンツ詳細ページ
--------------------------------*/
.contents_box{
	margin:0px 0px 0px 0px;
	padding:0px 0px 0px 0px;
}
.contents_mimg_box{
	margin:0px 0px 0px 0px;
	padding:20px;
	text-align:center;
}
.cb_comment{
	margin:0px 0px 0px 0px;
	padding:0px 20px 0px 20px;
	text-align:left;
}
.cb_comment p{
	margin:0px 0px 0px 0px;
	padding:10px 0px 10px 0px;
	
}
#main .cb_comment h5{
	margin:10px 0px 10px 0px;
}
#main .cb_comment h6{
	margin:20px 0px 20px 0px;
	font-size:1.8rem;
}
#main .cb_comment h6:after{
	border-left: 12px solid #F23E38;
}
#main .cb_comment p{
	margin:10px 0px 10px 0px;
	font-size:1.6rem;
	line-height:150%;
}
div.article_div{
	padding:10px;
	line-height:150%;
	font-size:1.4rem;
}
.cb_comment ul{
	margin:0px 0px 0px 0px;
	padding:10px;
}
.cb_comment li{
	margin:0px 0px 5px 10px;
	padding:10px;
	font-size:1.6rem;
	color:#000000;
}
.cb_comment ol{
	margin:0px 0px 0px 0px;
	padding:10px;
}
.cb_comment ol li{
	line-height:150%;
}
.cb_comment table{
	margin:auto;
}
.cb_comment table th{
	padding:5px;
	border:solid 1px #ccc;
}
.cb_comment table td{
	padding:5px;
	border:solid 1px #ccc;
}
.QandA {
	padding: 0px;
    margin: 25px 0px;
    background: #fff;
    border-radius: 25px;
}
#main p.text_Q {
	border-bottom: 3px double #b3b3b3;
	margin: 5px 0 10px;
	padding: 0 6px;
	font-size: 1.4rem;
}
#main p.text_A {
	padding: 5px 10px;
	color: #666;
}
.other_box{
	margin:15px 0px 15px 0px;
	padding:15px;
	border:1px dotted #ccc;
	text-align:center;
	border-radius: 10px;
	-webkit-border-radius: 10px;
}
.ob_box{
	display:inline-block;
	width:17.5%;
	margin: 0px 8px 8px 0px;
	padding:5px;
	text-align:center;
	vertical-align:top;
	background: #fff;
    overflow: hidden;
}
.ob_box img{
	width:90%;
	height:auto;
}
img.article_img{
	width:100%;
	height:auto;
}
i.able_logo{
	display: inline-block;
    background-image: url(../images/able_logo.svg);
    background-repeat: no-repeat;
    background-position: 0px 0px;
    background-size: 100% auto;
    width: 50px;
    height: 20px;
    text-indent: -999999px;
}

#main h3.Arth3ae{
	color:#fff;
	margin:0px 0px 10px;
	border-left:none;
	border-bottom: 1px solid #fff;
}
form.Artsbox{
	background-color:#b2d9cb;
	border-radius:10px;
	padding: 10px 10px 0px;
}
form.Artsbox .ArtsSubmit{
	display: inline-block;
	padding: 5px;
	width: 120px;
	margin: 0px;
	height: auto;
}
@media screen and (max-width:640px){
	.contents_mimg_box img{
		width:100%;
		height:auto;
	}
	.cb_comment{
		padding:0px 0px 0px 0px;
	}
	div.article_div iframe{
		width:100%;
	}
	.ob_box{
		width:45%;
		height:auto;
		min-height:150px;
	}
	#main .cb_comment p{
		font-size:1.4rem;
	}
	.cb_comment li{
		margin:0px 0px 5px 10px;
		padding:0px 0px 0px 0px;
		font-size:1.6rem;
		color:#000000;
	}
}
/*------------------------------
テーブル01
--------------------------------*/
.table01,.cb_comment table{
	margin:0px 0px 15px 0px;
	padding:0px 0px 0px 0px;
	width:100%;
	font-size:1.2rem;
	border-collapse: collapse;
	text-align: center;
}
.table01 th,.cb_comment table th{
	border:1px dotted #b1b1b1;
	background-color:#efefef;
	margin:0px 0px 0px 0px;
	padding:5px;
	text-align:center;
	font-weight:normal;
	color:#333;
	vertical-align:middle;
	line-height:140%;
}
.table01 th.th_m{
	background-color:#333;
	color:#fff;
}
.table01 th.th_m a{
	color:#fff;
	text-decoration:underline;
}
.table01 td,.cb_comment table td{
	border:1px dotted #b1b1b1;
	margin:0px 0px 0px 0px;
	padding:5px;
	color:#333;
	vertical-align:top;
	line-height:150%;
	background-color:#fff;
	text-align:left;
}
.table01 td.tnp_line{
	text-align:center;
}
.table01 td.tnp_line img{
	width:100%;
	object-fit:contain;
}
td.td_c{
	text-align:center;
}
.taw400{
	width:400px;
	margin:0px auto 0px auto;
}
.taw600{
	width:600px;
	margin:0px auto 0px auto;
}
.taw800{
	width:800px;
	margin:0px auto 0px auto;
}
.thw80{
	width:80px;
}
.thw150{
	width:150px;
}
.thw35{
	width:35%;
}
.tdw65{
	width:65%;
}
.t_fixed{
	table-layout: fixed;
}
.tmini{
	font-size:1.4rem;
}
.de_table2{
	width:650px;
	margin:10px auto;
	font-size:1.6rem;
}
@media screen and (max-width:820px){
	.taw800{
		width:100%;
		margin:0px 0px 0px 0px;
	}
}
@media screen and (max-width:640px){
	.taw600{
		width:100%;
		margin:0px 0px 0px 0px;
	}
	.table01 th,.table01 td{
		display:block;
		width:100%;
		box-sizing:border-box;
		margin:0px 0px 0px 0px;
		text-align:center;
	}
	.table01 td img{
		width:100%;
		height:auto;
	}
	.table01 td img.Lbtn{
		width:200px;
		margin:auto;
	}
	.de_table2{
		width:100%;
		font-size:1.4rem;
	}
}
@media screen and (max-width:480px){
	.taw400{
		width:100%;
		margin:0px 0px 0px 0px;
	}
}
/*------------------------------
フッターバナー
--------------------------------*/

.all_clear{
	clear:both;
	height:0px;
	margin:0px 0px 0px 0px;
	padding:0px 0px 0px 0px;
}

/*------------------------------
ブログ詳細ページ
--------------------------------*/
.tbd_box{
	width:640px;
	margin:0px auto;
	text-align:center;
}
.tbd_box img{
	display:block;
	margin:10px auto;
}
.dec_box{
	text-align:left;
	line-height:140%;
	font-size:1.6rem;
}
@media screen and (max-width:640px){
	.tbd_box{
		width:100%;
		margin:0px 0px;
	}
	.tbd_box img{
		display:block;
		margin:5px 0px;
	}
	.dec_box{
		font-size:1.4rem;
	}
}
/*------------------------------
テキストコピーボタン
--------------------------------*/
.line_tbox{
	padding: 10px;
    border: 1px dotted #333;
}
.line_tbox span.ltb_m{
	font-size:1.4rem;
	font-weight:bold;
	display:block;
	margin-bottom:5px;
	background-color: #0AB43A;
    color: #fff;
    padding: 5px;
    border-radius: 5px;
    text-shadow: 1px 1px 5px #000;
}
.line_tbox span.ltb_p{
	font-size:1.3rem;
	font-weight:normal;
	display:block;
	margin-bottom:3px;
}
#page_contents p#copytxt{
  margin: 0 0 10px;
  font-size:1.2rem;
  line-height:150%;
   text-align:left;
   background-color:#fff;
	padding:5px;
}
button.copy_button{
	font-size:1.4rem;
	padding:5px;
	background-color:#333;
	color:#fff;
	border-radius:5px;
}
button.copy_button:active,button.copy_button:hover{
	background-color:#999;
}

span.cat_t{
	font-size: 1.2rem;
	padding:3px;
	display:inline-block;
	margin-right:3px;
	background-color:#85A4AF;
	color:#fff;
}
.tnb_box_s figcaption p span{
	line-height: 120%;
}
.bk_box figcaption p span, #page_contents p.bk_pn span{
	line-height: 120%;
}
#page_contents p span{
	line-height: 120%;
}