/* カスタマイズ用CSS */
/* ロゴブロック */
.header_logo_area {
    padding-left: 20px;
	display: flex;
	justify-content: SPACE-BETWEEN;
}
.header-container {
    margin: 20px 20px 0 20px;
}

@media screen and (max-width: 768px) {
  .header_logo_area {
    flex-direction: column;
  }
.header_logo_area .header_logo { align-self: flex-start; /* ロゴだけ左寄せに戻す */ }
.renraku{align-self: flex-end;
        padding: 0;}
  .nav {
    margin-top: 10px; /* ロゴとの間に余白 */
  }
}

.header_logo_area .copy{
	font-family: 'Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro W3','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
	font-weight:bold;
	color:black;
    position: relative;
    z-index: 10;
    font-size: 0.9rem;
    margin-top: 0;
    margin-bottom: 0;
}

.header_logo_area .header_logo {
    font-size: 20px;
    font-size: 2rem;
    margin: 0;
}

.renraku{
	float:right;
	font-weight:bold;
	margin-right:50px;
	line-height:2px;
	text-align: right;
	padding: 20px;
    line-height: 1.4;
    font-size: larger;
}

/* 挨拶ブロック */

/*"ec-newsRole2*/
.ec-newsRole2 .newslistai{
    color: black;
}
.ec-role2 {
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
    box-sizing: border-box;
    font-size: 16px;
    line-height: 1.4;
    color: #525263;
    -webkit-text-size-adjust: 100%;
    width: 100%;
    max-width: 1130px;
}

/* txt_bnr */
.felxbox1{
	display: flex;
}
.txt_bnr_area {
	padding: 16px;
}
.img_bnr_area {
	padding: 16px;
}
.txt_bnr {
	background: #f8f8f8;
	border: 1px solid #D9D9D9;
	font-weight: bold;
	padding: 16px;
	margin: 12px 0 0;
	text-align: center;
}
.img_bnr {
	background: #f8f8f8;
	border: 1px solid #D9D9D9;
	font-weight: bold;
	padding: 3px;
	margin: 12px 0 0;
	text-align: center;
}
.txt_bnr strong {
	color: #DE5D50;
	font-size: 20px;
	font-size: 1.5rem;
}
.txt_bnr strong strong {
	font-size: 32px;
	font-size: 2rem;
}
@media screen and (max-width: 767px) {
    .col-sm-3 {
        width: 100%; 
    } 
	.img_bnr_area{
		width:40%;
        margin:auto;
    }
	.felxbox1{
	flex-wrap: wrap;
    }
}

.img_bnr img {
    width: 100%;
    height: auto;
}
/* ▼サンプルセンタク */
.sample-section {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    align-items: flex-start;
    margin-bottom: 1em;
}

.sample-image-block {
    flex-shrink: 0;
}

.sample-image {
    max-width: 240px;
    max-height: 120px;
    height: auto;
    border: 1px solid #ccc;
    border-radius: 4px;
}

.sample-list-block {
    flex: 1;
    min-width: 200px;
}

.sample-list-block ul {
    list-style: disc;
    padding-left: 1.2em;
    margin: 0;
}

.sample-note {
    font-size: 0.85em;
    color: #666;
    margin-top: 0.5em;
}

/* ▲サンプルセンタク */
/* 見出し部分 */
.ec-pageHeader h1 {
  font-size: 1.8em;
  color: #333;
  margin-bottom: 0.5em;
  border-left: 5px solid #4da6ff;
  padding-left: 0.5em;
}
.ec-guest {
	width:100%;
	margin:0;
}

.ec-pageHeader p {
  font-size: 1.1em;
  color: #666;
  margin-bottom: 2em;
  margin-left: 2em;
}

/* グリッドレイアウト */
.ec-grid3 {
  flex-wrap: wrap;
  gap: 2em;
  justify-content: space-between;
}

.ec-grid3__cell,
.ec-grid3__cell2 {
  flex: 1 1 45%;
  background-color: #f9f9f9;
  border-radius: 8px;
  padding: 1.5em;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  box-sizing: border-box;
  
}

/* 各カードの中身 */
.ec-guest__inner p {
  font-size: 1.1em;
  font-weight: bold;
  margin-bottom: 1em;
  color: #444;
}

.ec-guest__actions {
  text-align: center;
}

.ec-guest__actions button {
  background-color: #4da6ff;
  color: white;
  border: none;
  padding: 0.75em 1.5em;
  font-size: 1em;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.3s ease;
  width: 50%;
}

.ec-guest__actions button:hover {
  background-color: #3399ff;
}


/* サンプルセンタク終了 */
/*サンプルフォーム入力*/
.ec-required{
    font-weight: bold;
}
.ec-blockBtn--action{
      margin-bottom: 16px;
}
/* サンプルフォーム入力 */
/* 特定商取引について */
.ec-borderedDefs dd{
        line-height: 1.6;
    }



/* つぼについて */
.margin40{
    margin-top: 40px;
}
.box_tubo{
	width: 100%;

}
.tubo .tubo-heading {
        font-size: 32px;
        font-size: 3.2rem;
        border-bottom-style: solid;
        border-top: 0 none;
        padding: 16px 0 12px;
        margin: 0 16px 2px;
    }
.tubo p{
	color:#333333;
	font-size: 120%;
}
.tubo h1{
	font-size: 80%;
}
.tubo .left_box{
	float:left;
	padding: 5px;
	margin: 3px;
	border: ridge 1px;
	width: 260px;
}
.tubo .left_box img{
margin:0 30px;
}

.left_box_clear{
	clear: both;
	padding-top: 10px;
	border-bottom:dotted blue;
	font-weight:bolder;
}

.qasty *, .qasty *:after, .qasty *:before {
	font-family: sans-serif;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}

.qasty {
	margin: 0 0 2em 10px;
	padding: 1em 1em 0.5em 1em;
	background: #e1f5fe;
}
.qasty h1 {
	font-size: 1.2em;
	position: relative;
	margin-right: 1em;
	margin-left: -26px;
	padding: 0.3em;
	color: #ffffff;
	background-color: #42a5f5;
	box-shadow: 0 1px 1px rgba(0,0,0,0.2);
}
.qasty h1::after {
	position: absolute;
	bottom: -10px;
	left: 0;
	display: inline-block;
	width: 0;
	height: 0;
	content: '';
	border-width: 0 10px 10px 0;
	border-style: solid;
	border-color: transparent #1976d2 transparent transparent;
}
.qasty dl {
	margin: 0;
}
.qasty dt {
	font-size: 120%;
	font-weight: bold;
	margin-bottom: 0.5em;
	padding: 0.2em 0.5em 0.5em 2em;
	border-radius: 0.2em;
	background: #ffb74d;
}
.qasty dd {
	margin-bottom: 1em;
	margin-left: 0;
	padding: 0.5em 1em 1.5em 3em;
}


/* QAアイコン */
.qasty dt::before,.qasty dd::before{
	font-size: 1.5em;
	color: #ffffff;
}
.qasty dt::before {
	margin: 0.3em 0.3em 0 -1em;
	content: 'Q';
}
.qasty dd::before {
	margin: 0 0.5em 0 -2em;
	padding: 0.2em 0.4em;
	content: 'A';
	border-radius: 0.2em;
	background: #00bcd4;
}
.topbutt {
    text-align: right;
}

.ggmap {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}
 
.ggmap iframe,
.ggmap object,
.ggmap embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

.ec-headerNaviRole__left,
.ec-headerRole__navSP {
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
}

#privacy_box__body_inner ul{
list-style-type:circle;
}

.ec-secHeading .ec-secHeading__en{
    font-size: 15px;
}
.ec-secHeading {
    margin-bottom: 5px;
}
/* 休業日セルの背景色 */
.ec-calendar .ec-calendar__holiday {
    background-color: #ffe8cc; /* 薄いオレンジ */
    border-radius: 4px;
}
.ec-calendar__month th, .ec-calendar__month td {
    padding: 3px;
}

/* ============================
   店舗詳細 全体レイアウト
============================ */
.tenpo-section {
    max-width: 900px;
    margin: 0 auto 50px;
    padding: 0 15px;
}

.tenpo-title {
    font-size: 2rem;
    margin-bottom: 25px;
    border-left: 6px solid #c62828;
    padding-left: 12px;
}

/* ============================
   店舗外観・内観 見出し
============================ */
.tenpo-subtitle {
    font-size: 1.6rem;
    margin: 30px 0 15px;
    border-bottom: 2px solid #eee;
    padding-bottom: 5px;
}

/* ============================
   店舗情報カード
============================ */
.tenpo-info-card {
    background: #fafafa;
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 25px 20px;
    line-height: 1.9;
    margin-top: 20px;
}

.tenpo-info-card dt {
    font-weight: bold;
    width: 120px;
}

.tenpo-info-card dl {
    display: flex;
    margin-bottom: 10px;
}

.tenpo-info-card dd {
    margin-left: 10px;
}

/* ============================
   外観・内観画像カード
============================ */
.tenpo-image-card {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 15px;
    margin-bottom: 25px;
}

.tenpo-image-card img {
    width: 100%;
    border-radius: 8px;
}
/* 店舗外観だけ横並び 50% */
.tenpo-gaikan {
    display: flex;
    gap: 10px;
    justify-content: center;
}

.tenpo-gaikan img {
    width: 50%;
    height: auto;
    border-radius: 8px;
}

/* ============================
   カレンダー枠
============================ */
/* カレンダー全体のカード化 */
.tenpo-calendar-wrap {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 20px;
    margin-top: 20px;
}

@media screen and (min-width: 768px) {
    .ec-calendar {
        margin-left: 0; 
    }
    .ec-calendar__month {
        margin-top: 10px;
    }
    .img_bnr {
        height: 100%;
    }
    .txt_bnr {
        height: 100%;
    }
        .ec-categoryRole
 {
        margin: 30px 0 30px 0;
        padding: 30px 0 0 0;
    }
}

  .cat_top{
    margin-top: 10px;
    margin-bottom: 0;
}
.item_comment_top{
    color: gray;
}
.ec-categoryRole .ec-categoryRole__listItem {
    margin-left: auto;
    margin-right:auto;
    width: 40%;
}
.ec-itemNav__nav li a {
    padding: 0.5em 16px;
}

.contact-jobk.error {
    border: 1px solid #dc2626;
    background: #fff5f5;
    padding: 12px;
    border-radius: 4px;
}

.ec-errorMessage {
    color: #dc2626;
	font-size:13px;
    font-weight: bold;
    margin-top: 8px;
}

.contact-jobk .ec-form-radio {
    margin-bottom: 8px;
}

.ec-input.error, .ec-halfInput.error,.ec-zipInput.error,.ec-select.error,.ec-telInput.error{
    border: 1px solid #dc2626;
    background: #fff5f5;
    padding: 12px;
    border-radius: 4px;
}
.ec-input.error .ec-errorMessage, .ec-halfInput.error .ec-errorMessage, .ec-zipInput.error .ec-errorMessage,.ec-select.error .ec-errorMessage,.ec-telInput.error .ec-errorMessage{
    color: #dc2626 !important;
    font-size:13px;
    font-weight: bold;
    margin: 8px;
}
 /* 比較表ヘッダ */
@media screen and (max-width:767px){
    .kamaya-compare-label{
        position: sticky;   /* ← ここがポイント！ */
        top: 0;             /* ブロックの先頭を基準に固定 */
        z-index: 9999;
        background:#f7f7f7;
        padding:12px 14px;
        text-align:center;
        font-size:15px;
        font-weight:700;
        border-bottom:1px solid #e0e0e0;
    }
}



.selectch-block{
    background: #f7f7f7;
    padding: 20px 40px 20px 40px;
    margin: 1rem 0.5rem 0px 0.5rem;
    border-radius: 20px;
}

.kamaya-select-wrap{
    display:flex;
    gap:2em;
    margin:30px 0 1rem;
}

.kamaya-card{
    flex:1;
    position:relative;
    background:#fff;
    border:1px solid #dcdcdc;
    border-radius:6px;
    padding:24px 20px;
    text-align:center;
}

.kamaya-card-title{
    font-size:24px;
    font-weight:700;
    color:#333;
    margin-bottom:15px;
}

.kamaya-recommend{
    border:2px solid #7a9a52;
}

.kamaya-badge{
    position:absolute;
    top:-13px;
    left:50%;
    transform:translateX(-50%);
    background:#7a9a52;
    color:#fff;
    font-size:12px;
    padding:5px 14px;
    border-radius:20px;
}

@media screen and (max-width:767px){
    .kamaya-select-wrap{
        display:block;
    }

    .kamaya-card{
        margin-bottom:18px;
    }
}

/* 強 */
.kamaya-card:nth-child(1){
    background:#fff4f4;
    border-color:#e7caca;
}

/* 弱（標準タイプ） */
.kamaya-card:nth-child(2){
    background:#f5faf2;
    border-color:#cfe2c1;
}

/* ソフト */
.kamaya-card:nth-child(3){
    background:#fffdf2;
    border-color:#e7dfb9;
}
.kamaya-card:nth-child(1) .kamaya-card-title{
    color:#b65b5b;
}

.kamaya-card:nth-child(2) .kamaya-card-title{
    color:#5f8a3d;
}

.kamaya-card:nth-child(3) .kamaya-card-title{
    color:#a08a2a;
}
.kamaya-recommend{
    border:2px solid #7a9a52;
    box-shadow:0 2px 8px rgba(122,154,82,.15);
}
.ec-productRole__image {
    margin-top: 40px;
}
.ec-productRole .ec-productRole__category {
    border-bottom:none;
}
@media only screen and (min-width: 768px) {
    .ec-headerNaviRole {
        padding-bottom: 0;
    }
}
.ec-sliderRole {
    margin: 2em auto 0 auto;
}
.ec-layoutRole .ec-layoutRole__contents {
    margin-top: 2em;
}
.ec-productRole__description p{
  line-height: 1.4;
  margin-top: 1em;
}
.ec-productRole__description li {
  line-height: 1.4;
  margin-top: 3px;
}

.subhead{
    font-weight: bold;
}
.ec-productRole__description ul {
  margin-bottom: 0.3em; /* 必要なら 0 にしてもOK */
}
.product-desc-compact iframe {
  margin: 0.5em 0 0 2em;
}

.kamaya-card-body li{
    text-align:left;
}
.ec-productRole__description span.note {
  display: block;
  margin-top: 1em;
  font-size: 0.8em;
  color: #666;

}

.ec-productRole__description span.note::before {
  content: "※";
  margin-right: 0.25em;
}




/* 商品一覧の説明文（3番目の <p>）だけ小さくする */

/* 商品一覧の説明文を2行に揃える */
.ec-shelfGrid__item a p:nth-of-type(3) {
  font-size: 0.8em;
  line-height: 1.3;
  height: 2.6em; /* 2行分の高さに固定 */
  overflow: hidden;
}
.pointkyu-compare {
    display: flex;
    gap: 16px;
    margin: 20px 0;
}
.pointkyu-card {
    flex: 1;
    border: 1px solid #ddd;
    padding: 16px;
    background: #fff;
    border-radius: 6px;
}
.pointkyu-card h4 {
    font-size: 1.2rem;
    margin-bottom: 10px;
    text-align: center;
}
.pointkyu-card ul {
    list-style: none;

}

.pointkyu-card ul li:last-child {
    border-bottom: none;
}
@media (max-width: 768px) {
    .pointkyu-compare {
        flex-direction: column;
    }
}
.pointkyu-card img {
    display: block;
    margin: 0 auto 10px auto;
}
.pointkyu-card ul li {
    padding: 3px 0;        /* 行間の余白を半分に */
    line-height: 1.3;      /* 行間を詰める */
    font-size: 0.9em;      /* 文字サイズを小さめに */
}
.pointkyu-card .title-small {
    font-size: clamp(0.7em, 2.5vw, 0.9em); /* 横幅に応じて自動調整 */
    line-height: 1.2;
}
.hp-field {
    position: absolute;
    left: -10000px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}
.setum{
    margin: 3px 0 0 1em;
}
.select-free-link {
  color: inherit;
}
.message {
    text-align: center;
    margin: 0;
}