body{
	font-size: small;
	color:#676A6C;
	background-color:#F3F3F4;
	padding-bottom:120px;
}
header{
	margin-bottom:36px;
}
input,textarea,select{
	color:#676A6C;
	border:none;
	padding:4px;
	box-sizing: border-box;
	border-radius: 4px;
}
table{
	border-spacing: 0;
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
}
th{
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	background-color: #eee;
}
td{
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}
h2{
    padding-left: 0.5em;
    background-color: #ccc;
}
h3{
    padding-left: 0.5em;
    border-bottom: 1px solid #ccc;
}
p{
	line-height: 1.8em;
}
a{
	color:#03A9F4;
	text-decoration: none;
}
a:visited{
	color:#03A9F4;
}
.area{
    padding:1em;
    width: 33%;
}
.btn0{
	border-radius: 24px;
	padding: 8px 24px;
	color:#03A9F4;
	background-color:#ffffff;
	border:1px solid #ffffff;
	cursor: pointer;
	box-shadow:0 2px 5px 0 rgb(213 217 217 / 50%);
}
.btn1{
	border-radius: 24px;
	padding: 8px 24px;
	color:#ffffff;
	background-color: #03A9F4;
	border:1px solid #03A9F4;
	border:none;
	cursor: pointer;
	box-shadow:0 2px 5px 0 rgb(213 217 217 / 50%);
}
.btn2{
	border-radius: 24px;
	padding: 8px 24px;
	color:#ffffff;
	background-color: #ED5565;
	border:1px solid #ED5565;
	border:none;
	cursor: pointer;
	box-shadow:0 2px 5px 0 rgb(213 217 217 / 50%);
}
.gototop{
	position: fixed;
    right: 24px;
    bottom: 24px;
    background-color: #fff;
    border-radius: 48px;
    padding: 24px;
	box-shadow:0 2px 5px 0 rgb(213 217 217 / 50%);
	width: 24px;
    height: 24px;
    text-align: center;
}
.ribbon19-wrapper {
  display: block;
  position: relative;
}

.ribbon19-content {
  position: absolute;
  top: 0;
  right: 0;
  left:0;
  width: 85px;
  height: 85px;
  overflow: hidden;
  }

.ribbon19 {
  display: inline-block;
  position: absolute;
  padding: 5px 0;
  left: -54px;
  top: 12px;
  width: 160px;
  text-align: center;
  font-size: 18px;
  line-height: 16px;
  background: #ED5565;
  color: #fff;
  letter-spacing: 0.05em;
  -webkit-transform: rotate(315deg);
  transform: rotate(315deg);
  box-shadow: 0 0 0 2px #ED5565;
  border-top: dashed 1px rgba(255, 255, 255, 0.65);
  border-bottom: dashed 1px rgba(255, 255, 255, 0.65);
}
/* ================================
   ここまで：既存 /reviews/include/style.css
   ================================ */

body{
	font-size: small;
	color:#676A6C;
	background-color:#F3F3F4;
	padding-bottom:120px;
}
header{
	margin-bottom:36px;
}
input,textarea,select{
	color:#676A6C;
	border:none;
	padding:4px;
	box-sizing: border-box;
	border-radius: 4px;
}
table{
	border-spacing: 0;
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
}
th{
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	background-color: #eee;
}
td{
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}
h2{
    padding-left: 0.5em;
    background-color: #ccc;
}
h3{
    padding-left: 0.5em;
    border-bottom: 1px solid #ccc;
}
p{
	line-height: 1.8em;
}
a{
	color:#03A9F4;
	text-decoration: none;
}
a:visited{
	color:#03A9F4;
}
.area{
    padding:1em;
    width: 33%;
}
.btn0{
	border-radius: 24px;
	padding: 8px 24px;
	color:#03A9F4;
	background-color:#ffffff;
	border:1px solid #ffffff;
	cursor: pointer;
	box-shadow:0 2px 5px 0 rgb(213 217 217 / 50%);
}
.btn1{
	border-radius: 24px;
	padding: 8px 24px;
	color:#ffffff;
	background-color: #03A9F4;
	border:1px solid #03A9F4;
	border:none;
	cursor: pointer;
	box-shadow:0 2px 5px 0 rgb(213 217 217 / 50%);
}
.btn2{
	border-radius: 24px;
	padding: 8px 24px;
	color:#ffffff;
	background-color: #ED5565;
	border:1px solid #ED5565;
	border:none;
	cursor: pointer;
	box-shadow:0 2px 5px 0 rgb(213 217 217 / 50%);
}
.gototop{
	position: fixed;
    right: 24px;
    bottom: 24px;
    background-color: #fff;
    border-radius: 48px;
    padding: 24px;
	box-shadow:0 2px 5px 0 rgb(213 217 217 / 50%);
	width: 24px;
    height: 24px;
    text-align: center;
}
.ribbon19-wrapper { display:block; position:relative; }
.ribbon19-content {
  position:absolute; top:0; right:0; left:0;
  width:85px; height:85px; overflow:hidden;
}
.ribbon19 {
  display:inline-block; position:absolute; padding:5px 0;
  left:-54px; top:12px; width:160px; text-align:center;
  font-size:18px; line-height:16px; background:#ED5565; color:#fff; letter-spacing:.05em;
  -webkit-transform: rotate(315deg); transform: rotate(315deg);
  box-shadow:0 0 0 2px #ED5565;
  border-top:dashed 1px rgba(255,255,255,.65);
  border-bottom:dashed 1px rgba(255,255,255,.65);
}

.reviews-box{
  display: flex;
}

/* カラム自体の幅を揃える*/
.wp-block-columns.reviews-box .wp-block-column {
    flex-basis: 100% !important; 
    max-width: 100%;
}
@media (max-width: 480px){
.reviews-box{
 flex-direction: column-reverse;
}
}

/* ==========================================
   ここから：form.php 用の追記（スコープ付き）
   影響範囲： body.reviews-form 配下のみ
   ========================================== */

/* 基本レイアウト */
.reviews-form .inner { max-width: 1100px; margin: 0 auto; padding: 0 16px; }
.reviews-form .content { padding: 24px 0 56px; background: #fff; }

/* ヘッダー＆グローバルナビ（ハンバーガー） */
.reviews-form header { margin-bottom: 0; border-bottom: 1px solid #eee; background: #fff; position: sticky; top: 0; z-index: 50; }
.reviews-form .t-header { display:flex; align-items:center; justify-content:space-between; height:64px; }
.reviews-form .logo img { height: 36px; }

.reviews-form #hamburger { display:block; }
.reviews-form .btn-hamburger { width:34px; height:26px; position:relative; cursor:pointer; -webkit-tap-highlight-color:transparent; }
.reviews-form .btn-hamburger span { position:absolute; left:0; right:0; height:2px; background:#111; transition: transform .25s, top .25s, opacity .2s; }
.reviews-form .btn-hamburger span:nth-child(1){ top:3px; }
.reviews-form .btn-hamburger span:nth-child(2){ top:12px; }
.reviews-form .btn-hamburger span:nth-child(3){ top:21px; }
.reviews-form .btn-hamburger.open span:nth-child(1){ top:12px; transform:rotate(45deg); }
.reviews-form .btn-hamburger.open span:nth-child(2){ opacity:0; }
.reviews-form .btn-hamburger.open span:nth-child(3){ top:12px; transform:rotate(-45deg); }

.reviews-form .global {
  position: fixed; inset: 0 0 0 auto; width: 82%; max-width: 360px;
  background:#fff; box-shadow:-8px 0 24px rgba(0,0,0,.08);
  transform: translateX(100%); transition: transform .25s; padding-top:72px;
}
.reviews-form .global.open { transform: translateX(0); }
.reviews-form .global-menu { list-style:none; margin:0; padding:0; }
.reviews-form .global-menu li { border-bottom:1px solid #f0f0f0; }
.reviews-form .global-menu a { display:flex; align-items:center; justify-content:space-between; padding:18px 20px; font-weight:600; }
.reviews-form .global-menu .btn a { background:#f27f03; color:#fff; border-radius:6px; margin:16px 20px; padding:14px 18px; justify-content:center; }

@media (min-width: 992px){
  .reviews-form #hamburger { order:2; }
  .reviews-form .btn-hamburger{ display:none; }
  .reviews-form .global{ all:unset; display:block; }
  .reviews-form .global-menu{ display:flex; gap:8px; align-items:center; }
  .reviews-form .global-menu li{ border:0; }
  .reviews-form .global-menu a{ padding:10px 14px; border-radius:6px; }
  .reviews-form .global-menu a:hover{ background:#f7f7f7; }
  .reviews-form .global-menu .btn a{ margin:0 0 0 8px; }
}

/* ページタイトル / ヒーロー */
.reviews-form .entry-title { font-size: clamp(20px, 2.4vw, 28px); margin: 8px 0 16px; font-weight: 700; }
.reviews-form article > img { width:100%; border-radius:8px; margin-bottom:20px; }

/* --- 既存の input/textarea/selector を上書き（このページ内だけ） --- */
.reviews-form select,
.reviews-form input[type="text"],
.reviews-form input[type="email"],
.reviews-form input[type="search"],
.reviews-form input[type="url"],
.reviews-form textarea {
  width:100%;
  padding:12px 12px;
  border:1px solid #ccc;                 /* ← 既存の border:none を上書き */
  border-radius:8px;
  background:#fff;
  outline:none;
  transition: border-color .15s, box-shadow .15s;
  color:#222;                             /* 入力内の視認性UP */
}
.reviews-form textarea { min-height: 160px; resize: vertical; }
.reviews-form select:focus,
.reviews-form input[type="text"]:focus,
.reviews-form input[type="email"]:focus,
.reviews-form input[type="search"]:focus,
.reviews-form input[type="url"]:focus,
.reviews-form textarea:focus {
  border-color:#34a853;
  box-shadow:0 0 0 3px rgba(52,168,83,.12);
}

/* フォーム外枠 */
.reviews-form form { max-width: 760px; margin: 0 auto; }
.reviews-form h4 { margin: 28px 0 10px; font-size: 16px; font-weight: 700; }

/* 同意欄ボックス（スクロール枠） */
.reviews-form .notice-box,
.reviews-form .consent-box {
  overflow: auto; padding: 12px; height: 150px; margin: 12px 0 20px;
  background: #fff; border: 1px solid #c0c0c0; color: #000;
}

/* ファイル入力 */
.reviews-form .form__file { position: relative; display: inline-flex; align-items: center; gap: 10px; }
.reviews-form .form__file--input { position:absolute; inset:0; opacity:0; width:100%; height:48px; cursor:pointer; }
.reviews-form .form__file label {
  display:inline-flex; align-items:center; justify-content:center;
  min-width:220px; height:48px; padding:0 16px;
  border-radius:8px; border:1px solid #c7c7c7; background:#fafafa; color:#333; font-weight:600;
}
.reviews-form .form__file label::before { content:"ファイルを選択"; }
.reviews-form .form__file label.changed::before { content:"変更する"; }
.reviews-form .form__file .filename { display:inline-block; font-size:13px; color:#666; }

/* 送信ボタン（このページだけ） */
.reviews-form input[type="submit"]{
  display:block; width:100%; max-width:560px; margin:18px auto 0; cursor:pointer;
  background:#34a853; color:#fff; padding:16px; font-size:18px; font-weight:700;
  border:1px solid #34a853; border-radius:8px; transition: filter .2s, transform .02s;
}
.reviews-form input[type="submit"]:hover { filter: brightness(1.06); }
.reviews-form input[type="submit"]:active { transform: translateY(1px); }

/* スマホ最適化 */
@media (max-width: 767px){
  .reviews-form .content{ padding:16px 0 40px; }
  .reviews-form .t-header{ height:58px; }
  .reviews-form .logo img{ height:30px; }
  .reviews-form form{ max-width:100%; }
  .reviews-form h4{ margin-top:22px; }
}

/* アクセシビリティ */
.reviews-form :focus-visible { outline:3px solid rgba(52,168,83,.45); outline-offset:2px; }

/* 長文対策 */
.reviews-form a, .reviews-form .content { word-break: break-word; }
