@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
}

/*sinobireviews*/
.css-1k6g2ir {
    width: 100%;
    max-width: fit-content;
    margin-bottom: 1em;
    position: relative;
    overflow: hidden;
    border-radius: 4px;
    box-shadow: rgb(0 0 0 / 20%) 0px 3px 1px -2px, rgb(0 0 0 / 14%) 0px 2px 2px 0px, rgb(0 0 0 / 12%) 0px 1px 5px 0px;
    background-color: rgb(255, 255, 255);
    padding: 0px;
    max-width: 100%;
}
.css-1llg1ya {
    display:none
}
.css-nkmskm {
    margin-top: 2.5em;
}

css-1k6g2ir {
    width: 100%;
    /* max-width: 600px; */
    margin-bottom: 1em;
    position: relative;
    overflow: hidden;
    border-radius: 4px;
    box-shadow: rgb(0 0 0 / 20%) 0px 3px 1px -2px, rgb(0 0 0 / 14%) 0px 2px 2px 0px, rgb(0 0 0 / 12%) 0px 1px 5px 0px;
    background-color: rgb(255, 255, 255);
    padding: 0px;
}

/************************************
** WP Customer Reviews 
************************************/

/*フォームの表示*/
.wpcr3_respond_2{
display: block;
}

.wpcr3_show_btn,
.wpcr3_cancel_btn{
display: none;
}
/* フォーム全体の最大幅追記 */
.wpcr3_div_2 {
    max-width: 100%;
}
/*レスポンシブ設定*/
/* 画面幅600px以下で見出しと入力フォームを２段にする */
@media (max-width: 600px){
.wpcr3_table_2 td {
    text-align: left;
    display: block;
}
#navi .navi-in a  {
    color: #000;
}
}

/*  レビューフォームの幅設定 */
.wpcr3_respond_2 textarea {
    min-width: 300px;
    width: 100%;
    max-width: 100%;
}
.new_review_list {
    border: 1px solid #ddd;
    border-radius: 5px;
    padding: 10px;
    margin-bottom: 10px;
}
.new_review_list_head {
    font-weight: bold;
    color: #444;
}
.new_review_list_rate {
    color: red;
}
/*review投稿フォーム*/
div.wpcr3_dotline, div.wpcr3_review div.wpcr3_dotline {
    display: block !important;
    border-bottom: 1px dotted #ccc !important;
    margin-bottom: 10px !important;
    clear: both !important;
}

.wpcr3_div_2 {
    margin-top: 1em;
    max-width: 100%;
}

.entry-content p {
    line-height: 1.5;
    margin: 1em 0;
}
/*
#navi .navi-in a, #navi .navi-in a:hover {
    color: #000;
}
*/
.wpcr3_content {
    margin: 1em 0;
	font-size: smaller;
}
/*クチコミドットライン色*/
div.wpcr3_dotline, div.wpcr3_review div.wpcr3_dotline {
    display: block !important;
    border-bottom: 1px dotted #000 !important;
    margin-bottom: 10px !important;
    clear: both !important;
}

a.btn--yellow {
  color: #000;
  background-color: #fff100;
  border-bottom: 5px solid #ccc100;
}

a.btn--yellow:hover {
  margin-top: 3px;
  color: #000;
  background: # fff20a;
  border-bottom: 2px solid #ccc100;
}
a.btn--yellow {
    color: #000;
    background-color: #fff100;
    border-bottom: 5px solid #ccc100;
    width: -webkit-fill-available;
}

.wpmem_login fieldset, #wpmem_reg fieldset {
    border: none;
    padding: 5px;
    margin: 10px 0;
    width: 100%;
}

.textwidget #wpmem_login, #wpmem_reg {
    font-family: Arial,sans-serif;
    font-weight: 400;
    line-height: 1.5;
    width: 100%;
    margin: 0 0 2.5em !important;
    padding: 0;
    border: 1px solid #ddd;
    font-size: 14px;
}
.textwidget #wpmem_reg {
    font-family: Arial,sans-serif;
    font-weight: 400;
    line-height: 1.5;
    width: 100%;
    margin: 0 0 2.5em !important;
    padding: 0;
    border: 1px solid #ddd;
    font-size: 14px;
}
section ul {
	list-style: none;
}
section ul li {
	padding-left: 20px;
	line-height: 1.6em;
	background: url(images/star.svg) left 0px top 3px no-repeat;
	background-size: 15px auto;
}

/* フォーム全体の最大幅追記 */
.wpcr3_div_2 {
    max-width: 100%;
}

/* 画面幅600px以下で見出しと入力フォームを２段にする */
@media (max-width: 600px){
.wpcr3_table_2 td {
    text-align: left;
    display: block;
}
}

/*  レビューフォームの幅設定 */
.wpcr3_respond_2 textarea {
    min-width: 300px;
    width: 100%;
    max-width: 100%;
}

.box2 {
    padding: 0.5em 1em;
    margin: 2em 0;
    font-weight: bold;
    color: #222222;
    background: #FFF;
    border: solid 3px #fbd54e;
    border-radius: 10px;
}

#entry-content ul li:before {
    content: "";
    display: inline-block;
    width: 1.2em;
    height: 1.2em;
    vertical-align: -0.25em;
    margin-right: 0.5em;
    background-image: url(/wp-content/themes/gekichari/images/entry-li.png);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    position: absolute;
    left: 0;
    top: 0.3em;
}
#entry-content ul li, #entry-content ol li {
    margin-bottom: 8px;
    list-style-type: none;
    position: relative;
    padding-left: 1.7em;
}

/********************************
ボックスメニューのカスタマイズ
********************************/

.box-menu{
	padding: 0;
	min-height: 0;
}

.box-menu:hover{
	box-shadow:none;
	opacity: 0.8;
} 

.box-menu-label,
.box-menu-description{
	display: none;
}

.box-menu-icon *{
	margin: 0;
	max-width: 100%;
	max-height: 300px;}

/* 4カテゴリーの幅に変更 */
@media screen and (min-width: 600px){
.wwa .box-menu {
	width: 25%;
}
}

/* 枠線を消す */
.box-menu{
box-shadow:none;
}


/* ======= Reviews: Modern Card UI (final) ======= */

/* 旧ウィジェットとの衝突緩和 */
.review-container{ display:grid; gap:12px; }
.new_review_list,
p.entry-content,
.review-container .new_review_list{ margin:0!important; padding:0!important; border:0!important; }

/* カード本体 */
.review-card{
  display:grid;
  grid-template-columns: 200px 1fr; /* 左サムネを広めに */
  gap:12px;
  padding:14px;
  border:1px solid #e8e8e8;
  border-radius:10px;
  background:#fff;
  box-shadow:0 2px 6px rgba(0,0,0,.04);
}

/* 画像が無い場合は自動1カラム */
.review-card.review-card--no-thumb{ grid-template-columns:1fr!important; }
.review-card.review-card--no-thumb .rc-thumb{ display:none!important; }
.review-card.review-card--no-thumb .rc-body{ grid-column:1/-1; }

/* サムネ：枠の中で“全体表示” */
.rc-thumb{
  width:100%;
  height:140px;
  display:flex; align-items:center; justify-content:center;
  background:#f7f7f7;
  border-radius:8px; overflow:hidden;
}
.rc-thumb img{
  max-width:100%; max-height:100%;
  object-fit:contain; width:auto; height:auto;
}

/* 本文側 */
.rc-body{ min-width:0; }
.rc-site{ margin-bottom:6px; font-weight:700; }
.rc-site a.rc-site__link{
  display:inline-flex; align-items:center; gap:6px;
  padding:4px 10px; font-weight:700;
  color:#1E3D34; background:#EEF7F4;
  border:1px solid #DDEBE6; border-radius:999px;
  text-decoration:none; position:relative; z-index:1;
}
.rc-site a.rc-site__link::after{ content:"↗"; font-size:.9em; opacity:.75; }
.rc-site a.rc-site__link:hover{ background:#E3F1EC; border-color:#C9E4DA; }

.rc-title-row{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:2px; }
.rc-title{ font-weight:600; line-height:1.4; }
.rc-stars img{ height:18px; width:auto; vertical-align:middle; display:inline-block; }

/* 日付は出さない設計。もし既存テーマが出す場合を消す保険 */
.rc-meta{ display:none !important; }

.rc-excerpt{ margin:0; line-height:1.7; word-break:break-word; }

/* モバイル最適化 */
@media (max-width:600px){
  .review-card{ grid-template-columns:1fr; padding:12px; gap:10px; }
  .rc-thumb{ height:160px; }
}

/* レビューリストの間隔（旧CSSの gap 調整） */
.review-container{ gap:12px !important; }

/* 旧 .new_review_list の残り装飾を無効化 */
.new_review_list{ border:none !important; border-radius:0 !important; padding:0 !important; margin:0 !important; }

/* ページネーション */
.review-pager{ display:flex; justify-content:center; margin:16px 0 8px; }
.review-pager ul{ display:flex; gap:6px; list-style:none; padding:0; margin:0; }
.review-pager a,
.review-pager span{
  display:inline-flex; min-width:36px; height:36px; padding:0 10px;
  align-items:center; justify-content:center;
  border:1px solid #e5e5e5; border-radius:8px; background:#fff;
  text-decoration:none; color:#333; font-weight:600;
}
.review-pager .is-active{ background:#0ea5a6; color:#fff; border-color:#0ea5a6; }
.review-pager .is-disabled{ opacity:.45; }
.review-pager .rv-ellipsis{ border:none; background:transparent; min-width:auto; padding:0 4px; }

/* モバイルでは少しコンパクトに */
@media (max-width:480px){
  .review-pager a, .review-pager span{ min-width:32px; height:32px; border-radius:7px; }
}


/* 最新クチコミ（サイド）モダンUI */
.fc-latest-reviews{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:.75rem;
}
.fc-lr-item{
  display:grid;
  grid-template-columns: auto 1fr auto;
  align-items:center;
  gap:.5rem .75rem;
  padding:.6rem .8rem;
  border:1px solid var(--color-border, #e5e7eb);
  border-radius:12px;
  background:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.03);
}
.fc-lr-date{
  grid-column:1 / 2;
  font-size:.82rem;
  color:#6b7280;
  white-space:nowrap;
}
.fc-lr-link{
  grid-column:2 / 3;
  font-size:.95rem;
  line-height:1.35;
  text-decoration:none;
  color:#111827;
}
.fc-lr-link:hover{
  text-decoration:underline;
}
.fc-stars{
  grid-column:3 / 4;
  font-size:.9rem;
  line-height:1;
  letter-spacing:1px;
  color:#f59e0b; /* 星色 */
  white-space:nowrap;
}


/* モバイルで少し詰める */
@media (max-width: 480px){
  .fc-lr-item{ padding:.5rem .6rem; border-radius:10px; }
  .fc-lr-link{ font-size:.92rem; }
  .fc-lr-date{ font-size:.8rem; }
}
/* 日付を上、下段にタイトル+星レイアウト */
.fc-lr-item{
  display:grid;
  grid-template-columns: 1fr auto;        /* 下段：左=タイトル, 右=星 */
  grid-template-areas:
    "date date"                           /* 上段：日付をフル幅 */
    "title stars";
  align-items:center;
  gap:.4rem .75rem;                       /* 行/列のすき間 */
}

.fc-lr-date{ grid-area: date; }
.fc-lr-link{ grid-area: title; }
.fc-stars  { grid-area: stars; justify-self:end; }



.member-box {
  padding: 14px;
  border: 1px solid #e6e6e6;
  border-radius: 8px;
  background: #fff;
  margin-bottom: 15px;
  text-align: center;
}
.member-greeting {
  font-size: 15px;
  margin-bottom: 10px;
}
.btn-main, .btn-sub, .btn-logout {
  display: block;
  margin: 6px 0;
  padding: 10px;
  border-radius: 6px;
  text-decoration: none;
}
.btn-main {
  background: #3b82f6;
  color: #fff !important;
}
.btn-sub {
  background: #f3f4f6;
  color: #333 !important;
  border: 1px solid #ccc;
}
.btn-logout {
  background: #ef4444;
  color: #fff !important;
}
.btn-main:hover, .btn-sub:hover, .btn-logout:hover {
  opacity: .9;
}


/* ===== 会員フォーム：カード風スタイル（WP-Members / Cocoon） ===== */
:root{
  --accent:#3b82f6;      /* メイン色 */
  --accent-weak:#e8f0ff;
  --border:#e6e6e6;
  --text:#222;
}

/* カード全体 */
#wpmem_reg, #wpmem_login, #wpmem_profile {
  max-width: 720px;
  margin: 16px auto;
  padding: 24px 22px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:14px;
  box-shadow:0 10px 24px rgba(0,0,0,.06);
}

/* 見出し */
#wpmem_reg h2, #wpmem_login h2, #wpmem_profile h2 {
  font-size:22px; margin:0 0 14px; font-weight:700; letter-spacing:.02em;
}

/* 行レイアウト */
#wpmem_reg .form, #wpmem_login .form, #wpmem_profile .form { display:grid; gap:14px; }

/* ラベル */
#wpmem_reg label, #wpmem_login label, #wpmem_profile label {
  display:block; font-size:13px; color:#666; margin:2px 0 6px;
}

/* 入力 */
#wpmem_reg input[type="text"],
#wpmem_reg input[type="email"],
#wpmem_reg input[type="password"],
#wpmem_login input[type="text"],
#wpmem_login input[type="password"],
#wpmem_profile input[type="text"],
#wpmem_profile input[type="email"],
#wpmem_profile input[type="password"],
#wpmem_profile textarea{
  width:100%; padding:12px 14px; border:1px solid var(--border);
  border-radius:10px; background:#fff; color:var(--text);
  transition:border-color .2s, box-shadow .2s; outline:none;
}
#wpmem_reg input:focus,
#wpmem_login input:focus,
#wpmem_profile input:focus,
#wpmem_profile textarea:focus{
  border-color:var(--accent);
  box-shadow:0 0 0 4px var(--accent-weak);
}

/* 同意チェックの行 */
#wpmem_reg .wpmem-checkbox, #wpmem_profile .wpmem-checkbox{
  display:flex; gap:10px; align-items:flex-start;
  padding:10px; background:#fafafa; border:1px dashed var(--border); border-radius:10px;
}
#wpmem_reg input[type="checkbox"]{ width:18px; height:18px; margin-top:2px; }

/* 送信ボタン */
#wpmem_reg input[type="submit"],
#wpmem_login input[type="submit"],
#wpmem_profile input[type="submit"]{
  width:100%; padding:12px 16px; border:none; border-radius:10px;
  background:var(--accent); color:#fff; font-weight:700; letter-spacing:.05em;
  cursor:pointer; transition:transform .02s, opacity .2s;
}
#wpmem_reg input[type="submit"]:hover,
#wpmem_login input[type="submit"]:hover,
#wpmem_profile input[type="submit"]:hover{ opacity:.92; }
#wpmem_reg input[type="submit"]:active,
#wpmem_login input[type="submit"]:active{ transform:translateY(1px); }

/* メッセージ */
.wpmem_msg{ margin:14px 0; padding:10px 12px; border-radius:10px;
  background:#fff4f4; color:#b91c1c; border:1px solid #f7caca; }
.wpmem_note{ margin:14px 0; padding:10px 12px; border-radius:10px;
  background:#f0f9ff; color:#0b5cab; border:1px solid #cfe8ff; }

/* 必須マーク */
.wpmem_required{ color:#ef4444; font-weight:700; }

/* モバイル微調整 */
@media (max-width: 599px){
  #wpmem_reg, #wpmem_login, #wpmem_profile{ padding:18px 16px; }
}
/* カード全体の幅を広げる */
#wpmem_reg, #wpmem_login, #wpmem_profile {
  max-width: 100%;   /* ←ここをフル幅に変更 */
  width: 100%;       /* 横いっぱいに広げる */
  margin: 16px auto;
  padding: 24px 22px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:14px;
  box-shadow:0 10px 24px rgba(0,0,0,.06);
}

/* ページID 123 のときだけ本文カラムを拡げる（Cocoon用） */
body.page-id-123 .entry-content {
  max-width: 900px;     /* 本文ブロックの最大幅を拡大 */
}

/* フォーム自身も広げる */
body.page-id-123 #wpmem_reg,
body.page-id-123 #wpmem_login,
body.page-id-123 #wpmem_profile {
  max-width: 900px;     /* 本文幅に合わせる（必要なら 100% でも可） */
  width: 100%;
}