@charset "UTF-8";

/* 20260731：カラーコードを変数化（CSSカスタムプロパティ）
  配色を変えるときはこのブロックだけを書き換える。
  HTML側のインラインstyleからも var(--base_back) の形で参照できる。 */
:root {
  /* ベース色：見出し帯・サイドメニューのボタンなど */
  --base_back: #666;        /* 背景 */
  --base_back_hover: #cfcfcf;  /* 背景のホバー */
  --base_back_font: #fff;      /* --base_back の上に載る文字 */
  --base_font: #222;           /* 白背景に載せる見出し文字 */
  --base_white: #fff;

  /* サブ色：価格表の見出し帯など */
  --sub_back: #f5f5f5;

  /* アクセント色：ご依頼ページ */
  --accent_back: #008cd6;
  --accent_back_hover: #2aa0e0;
  --accent_font: #fff100;

  /* 強調色：プレゼンサポートパック／シチュエーションパースの
     フロー帯・三角マーカー・枠線・強調文字、および導線ボタンの背景 */
  --accent_pink: #b43855;
  --accent_pink_hover: #c9647c;  /* 強調色のホバー */
  --accent_pink_light: #f9f5f6;  /* 強調色の淡色：比較表のメリット行など */

  /* 導線ボタン色：ご依頼はこちら／基本価格一覧など */
  --accent_yellow: #b2b900;

  /* ご依頼方法ページ（.p-order）の「必要資料」ブロック */
  --order_doc_font: #af011c;
  --order_doc_back: #ead4c9;
  --order_note_font: red;      /* 注意事項内の強調 */

  /* 文字・線 */
  --text_font: #3b3b3b;
  --link_font: var(--accent_pink);  /* テキストリンク（旧 #b04d0b） */
  --border_color: #aaa;
}

p {
  text-align: left;
}

TD{
  font-family : "Meiryo UI";
}

.m_iframe{
  width : 180px;
  height : 680px;
}

.t_iframe{
  width : 1000px;
  height : 50px;
}

.pan_kuzu{
  font-size : 12px;
  padding-bottom : 5px;
  font-weight : bold;
}

.h10px{
  height : 10px;
}

.h30px{
  height : 30px;
}

.koumoku_title{
  font-size : 18px;
  font-weight : bold;
  padding-left : 5px;
  height : 30px;
  color : var(--base_back_font);
  background-color : var(--base_back);
}

.alpha a:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}

.yohaku_10{
  padding-top : 10px;
  padding-left : 10px;
  padding-right : 10px;
  padding-bottom : 10px;
}

.yohaku_30_10{
  padding-top : 30px;
  padding-left : 10px;
  padding-right : 10px;
  padding-bottom : 30px;
}

.w30px{
  width : 30px;
}

.hyo_kakaku{
  width : 164px;
  font-size : 14px;
  background-color : var(--base_back);
  padding-top : 10px;
  padding-left : 10px;
  padding-right : 10px;
  padding-bottom : 10px;
  color : var(--base_back_font);
  font-weight : bold;
}

.hyo_kakaku2{
  width : 300px;
  font-size : 14px;
  background-color : var(--base_back);
  padding-top : 10px;
  padding-left : 10px;
  padding-right : 10px;
  padding-bottom : 10px;
  color : var(--base_back_font);
  font-weight : bold;
}

.hyou_naiyou{
  font-size : 14px;
  text-align : right;
  width : 220px;
  padding-top : 10px;
  padding-left : 10px;
  padding-right : 10px;
  padding-bottom : 10px;
  background-color : var(--sub_back);
  font-weight : bold;
}

.hyou_naiyou2{
  font-size : 16px;
  text-align : left;
  padding-top : 10px;
  padding-left : 10px;
  padding-right : 10px;
  padding-bottom : 10px;
  background-color : var(--sub_back);
  font-weight : bold;
}

.w160px{
  width : 160px;
}

A{
  font-weight : bold;
  color : var(--link_font);
}

.sotowaku{
  border: 1px solid var(--border_color);
  padding: 16px 10px;
}

.naiyou2{
  font-size : 14px;
  padding-top : 5px;
  padding-left : 10px;
  padding-right : 5px;
  padding-bottom : 5px;
}

.font_12{
  font-size : 12px;
}

.font_14{
  font-size : 14px;
}

.kakaku_title{
  font-size : 14px;
  font-weight : bold;
  color : var(--base_font);
  text-align : center;
  padding-top : 10px;
  padding-left : 10px;
  padding-right : 10px;
  padding-bottom : 10px;
  background-color : var(--sub_back);
}

.kakaku_naiyou{
  font-size : 14px;
  background-color : var(--base_white);
  padding-top : 10px;
  padding-left : 10px;
  padding-right : 10px;
  padding-bottom : 10px;
}

.font_16{
  font-size : 16px;
}

.w10{
  width : 10px;
}

.s_img_w{
  width: 250px;
}

.naiyou3{
  font-size : 11px;
  padding-top : 5px;
  padding-left : 10px;
  padding-right : 5px;
  padding-bottom : 5px;
}

/* 20260121_改修、追加作業：流用可能 */
.contents-frame {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-inline: auto;
  padding-top: 1px;
  width: 1000px;
}

.contents-frame .flex-box {
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  width: 100%;
}

.contents-frame .flex-box iframe {
  display: block;
  padding: 0;
  border: none;
  width: 100%;
}

.contents-frame .contents-detail {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 30px;
  padding: 20px;
  width: 800px;
}

.contents-frame .contents-detail ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.contents-frame .contents-detail .koumoku_title {
  margin: 0;
  text-align: left;
}

.contents-frame .contents-detail .text-box {
  box-sizing: border-box;
  display: block;
  width: 100%;
}

.contents-frame .contents-detail .text-box .text {
  font-size: 16px;
  margin: 1px 0 0;
  text-align: left;
}

.contents-frame .contents-detail figure {
  box-sizing: border-box;
  display: block;
  margin: 0 auto;
  width: 90%;
}

.contents-frame .contents-detail figure img {
  display: block;
  width: 100%;
}

/* 納品についてブロック */
.contents-frame .contents-detail .component-delivery {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 100%;
}

.contents-frame .contents-detail .component-delivery .title {
  background-color: var(--sub_back);
  box-sizing: border-box;
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  margin: 0;
  padding: 10px;
  text-align: left;
  width: 100%;
}

.contents-frame .contents-detail .component-delivery .text-box {
  box-sizing: border-box;
  display: block;
  margin-inline: auto;
  text-align: left;
  width: 90%;
}

.contents-frame .contents-detail .component-delivery .text-box .text {
  font-size: 14px;
  line-height: 1.5;
}

.contents-frame .contents-detail .component-delivery .info-box {
  align-items: center;
  border: 1px solid var(--sub_back);
  box-sizing: border-box;
  display: flex;
  margin-inline: auto;
  width: 90%;
}

.contents-frame .contents-detail .component-delivery .info-box {
  align-items: center;
  display: flex;
  margin-inline: auto;
  width: 90%;
}

.contents-frame .contents-detail .component-delivery .info-box .info-box__left {
  align-items: center;
  background-color: var(--sub_back);
  box-sizing: border-box;
  display: flex;
  height: 100%;
  justify-content: center;
  width: 30%;
}

.contents-frame .contents-detail .component-delivery .info-box .info-box__left .title {
  width: auto;
}

.contents-frame .contents-detail .component-delivery .info-box .info-box__right {
  align-items: center;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 20px;
  justify-content: center;
  padding: 20px;
  text-align: left;
  width: 70%;
}

.contents-frame .contents-detail .component-delivery .info-box .info-box__right .text {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.5;
  margin: 0;
  width: 100%;
}


/* 依頼ページ用 */
.contents-frame .contents-detail .request-item {
  border: 2px solid var(--accent_back);
  display: block;
  margin-top: 20px;
}

.contents-frame .contents-detail .request-item .obi-title {
  background-color: var(--accent_back);
  color: var(--accent_font);
  font-size: 18px;
  line-height: 1;
  margin: 0;
  padding: 8px 0 10px;
  text-align: center;
}

.contents-frame .contents-detail .request-item .request-item__frame {
  box-sizing: border-box;
  display: block;
  padding: 20px;
  width: 100%;
}

.contents-frame .contents-detail .request-item .request-item__frame figure {
  width: 100%;
}

.contents-frame .contents-detail .request-item .request-item__frame .button-list {
  display: flex;
  gap: 0 40px;
  justify-content: center;
  list-style: none;
  margin-inline: auto;
  margin-top: 50px;
  padding: 0;
  width: auto;
}

.contents-frame .contents-detail .request-item .request-item__frame .button-list .button-list__item {
  display: block;
  width: 200px;
}

.contents-frame .contents-detail .request-item .request-item__frame .button-list .button-list__item .button {
  align-items: center;
  background-color: var(--accent_back);
  border-radius: 10px;
  display: flex;
  justify-content: center;
  text-decoration: none;
  padding: 8px 0 10px;
  width: 100%;
}

.contents-frame .contents-detail .request-item .request-item__frame .button-list .button-list__item .button span {
  color: var(--base_white);
  font-size: 14px;
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
}

.contents-frame .contents-detail .request-item .request-item__frame .button-list .button-list__item .button:hover {
  background-color: var(--accent_back_hover);
}

.contents-frame .contents-detail .special-list,
.contents-frame .contents-detail .special-list .special-list__item {
  box-sizing: border-box;
  display: flex;
  gap: 40px;
  flex-direction: column;
  width: 100%;
}

.contents-frame .contents-detail .special-list {
  margin-top: 40px;
}

.contents-frame .contents-detail .special-list .special-list__item {
  gap: 20px;
}

.contents-frame .contents-detail .special-list .special-list__item .lightbox {
  display: block;
  margin-inline: auto;
  width: 80%;
}

.contents-frame .contents-detail .special-list .special-list__item .lightbox img {
  display: block;
  width: 100%;
}

.contents-frame .contents-detail .special-list .special-list__item .text-box {
  border: 1px solid var(--sub_back);
  box-sizing: border-box;
  display: block;
  padding: 20px;
  width: 100%;
}

.contents-frame .contents-detail .special-list .special-list__item .text-box .text {
  font-size: 14px;
}

/* 商材説明ページ */
.p-service .contents-frame .contents-detail .service-head {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 1px 0;
  width: 100%;
}

.p-service .contents-frame .contents-detail .service-head .service-head__detail {
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  width: 100%;
}

.p-service .contents-frame .contents-detail .service-head .service-head__detail .detail-box {
  box-sizing: border-box;
  display: flex;
  width: 50%;
}

.p-service .contents-frame .contents-detail .service-head .service-head__detail .detail-box .category,
.p-service .contents-frame .contents-detail .service-head .service-head__detail .detail-box .text {
  font-size: 14px;
  font-weight: bold;
  margin: 0;
  padding: 10px;
}

.p-service .contents-frame .contents-detail .service-head .service-head__detail .detail-box .category {
  align-items: center;
  background-color: var(--base_back);
  color: var(--base_back_font);
  display: flex;
  width: 40%;
}

.p-service .contents-frame .contents-detail .service-head .service-head__detail .detail-box .text {
  background-color: var(--sub_back);
  display: block;
  text-align: right;
  width: 60%;
}

.p-service .contents-frame .contents-detail .text-box .text {
  font-size: 15px;
  text-align: center;
}

.p-service .contents-frame .contents-detail .main-image {
  width: 100%;
}

.p-service .contents-frame .contents-detail .sample-box .title {
  background-color: var(--sub_back);
  box-sizing: border-box;
  display: block;
  font-size: 14px;
  font-weight: bold;
  line-height: 1;
  padding: 10px;
  text-align: left;
  width: 100%;
}

.p-service .contents-frame .contents-detail .sample-box .sample-list {
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 10px;
  justify-content: stretch;
  width: 100%;
}

.p-service .contents-frame .contents-detail .sample-box .sample-list .sample-list__item {
  align-items: center;
  display: flex;
  justify-content: center;
  position: relative;
  width: calc(100% / 3.1);
}

.p-service .contents-frame .contents-detail .sample-box .sample-list .sample-list__item .lightbox {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  width: 100%;
}

.p-service .contents-frame .contents-detail .sample-box .sample-list .sample-list__item .lightbox:hover {
  opacity: .8;
}

.p-service .contents-frame .contents-detail .sample-box .sample-list .sample-list__item .text-box {
  align-items: center;
  background-color: rgba(0,0,0,.15);
  display: flex;
  height: 100%;
  justify-content: center;
  position: absolute;
  width: 100%;
}

.p-service .contents-frame .contents-detail .sample-box .sample-list .sample-list__item .text-box .text {
  color: var(--base_white);
  font-size: 20px;
  font-weight: bold;
  text-shadow: var(--text_font) 0px 0 20px;
}

.p-service .contents-frame .contents-detail .sample-box .sample-list .sample-list__item .text-box .text span {
  font-size: 15px;
}

.p-service .contents-frame .contents-detail .sample-box .sample-list .sample-list__item .image-frame {
  width: 100%;
}


.s_img_w{
  width: 250px;
}

.s_img_w .alpha {
  display: block;
}

.s_img_w .alpha a {
  align-items: center;
  display: flex;
  justify-content: center;
  overflow: hidden;
  position: relative;
}

.s_img_w .alpha a:before {
  background: rgba(0,0,0,.025);
  content: "";
  height: 177px;
  position: absolute;
  width: 250px;
  z-index: 3;
}

.s_img_w .alpha a .text {
  color: var(--base_white);
  display: block;
  font-family: 'Noto Serif JP', serif;
  font-size: 30px;
  font-weight: 700;
  margin: 0;
  position: absolute;
  text-align: center;
  text-shadow: 0 0 5px rgba(0, 0, 0, 1);
  z-index: 10;
}

.s_img_w .alpha a .text.en {
  font-size: 37px;
  letter-spacing: 8px;
}

.s_img_w .alpha a .text .middle {
  display: block;
  font-size: 18px;
  line-height: 1;
}

.s_img_w .alpha a .text .small {
  font-size: 16px;
}

.s_img_w .alpha a .fit {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 126%;
}

.naiyou3{
  font-size : 11px;
  padding-top : 5px;
  padding-left : 10px;
  padding-right : 5px;
  padding-bottom : 5px;
}

/* 20251030_改修 */
.option-item {
  display: block;
  margin: 20px auto;
  width: 90%;
}

.option-item .option-item__frame {
  display: block;
  margin: 0 auto;
  width: 100%;
}

.option-item .option-item__box {
  display: flex;
  width: 100%;
}

.option-item .option-item__box .category {
  text-align: left;
  width: 25%;
}

.option-item .text-box {
  display: block;
  margin-top: 20px;
}

.option-item .text-box .text {
  text-align: left;
}

.vr-price {
  display: flex;
}

.vr-price .category,
.vr-price .detail {
  display: block;
  width: calc(100% / 4);
}

.vr-price .category {
  background-color: var(--base_back);
  color: var(--base_back_font);
  padding: 4px 10px;
  text-align: left;
}

.vr-price .detail {
  background-color: #f1f1e3;
  color: #000;
  margin: 0;
  padding: 4px 10px;
  text-align: center;
}

/* 20260224_サイドメニュー追加 */
.m_iframe {
  height: 1365px;
}

/* 20260730_pers_order.html：table組み→セマンティックタグへ置き換え */
.p-order {
  font-family: "Meiryo UI";
}

/* 内側の余白は .yohaku_30_10 が持つため、親のgapは無効化 */
.p-order .contents-frame .contents-detail {
  gap: 0;
}

.p-order .yohaku_30_10 {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 30px;
  width: 100%;
}

/* ご依頼手順（旧：Step行のtd） */
.p-order .step-list,
.p-order .step-list .step-list__item {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 30px;
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
}

.p-order .step-head {
  display: flex;
  margin: 0;
  width: 100%;
}

.p-order .step-head__num,
.p-order .step-head__text {
  box-sizing: border-box;
  margin: 0;
}

.p-order .step-head__num {
  color: var(--base_font);
  width: 10%;
}

.p-order .step-head__text {
  width: 90%;
}

.p-order .mail-address {
  margin: 0;
  text-align: center;
}

/* 依頼書ダウンロードボタン（旧：w10のスペーサーtd） */
.p-order .dl-list {
  display: flex;
  font-size: 14px;
  gap: 0 10px;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
}

/* li → p → a を縦に伸ばし、4つのボタンの高さを揃える */
.p-order .dl-list .dl-list__item {
  display: flex;
  justify-content: space-between;
  width: calc(100% / 4 - 12px);
}

.p-order .dl-list .dl-list__item p {
  display: flex;
  margin: 0;
  width: 100%;
}

/* テキストリンクをボタン表示にする（旧：画像ボタン）
   中央そろえは p 自身に当たる「p { text-align: left }」に継承では勝てないため、
   p と a を直接指定する */
.p-order .dl-list .dl-list__item,
.p-order .dl-list .dl-list__item p {
  text-align: center;
}

.p-order .dl-list .dl-list__item a,
.p-order .component-delivery .delivery-button a {
  align-items: center;
  background-color: var(--accent_pink);
  border-radius: 5px;
  box-sizing: border-box;
  color: var(--base_white);
  display: flex;
  font-size: 14px;
  font-weight: 600;
  justify-content: center;
  padding: 10px;
  text-align: center;
  text-decoration: none;
  width: 100%;
}

.p-order .dl-list .dl-list__item a:hover,
.p-order .component-delivery .delivery-button a:hover {
  opacity: .7;
}

.p-order .dl-list img,
.p-order .doc-box__button img,
.p-order .delivery-button img {
  display: block;
}

/* 必要資料一式（旧：bgcolor付きの入れ子table） */
.p-order .doc-box {
  background-color: #f5f5f5;
  box-sizing: border-box;
  padding: 21px;
  text-align: left;
  width: 100%;
}

.p-order .doc-box .doc-box__title {
  font-size: 18px;
  font-weight: bold;
  margin: 0;
}

.p-order .doc-box .doc-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.p-order .doc-box .doc-list .doc-list__item {
  font-size: 16px;
  margin-top: 11px;
}

.p-order .doc-box .doc-list .doc-list__note {
  font-size: 14px;
  margin: 11px 0 0;
}

.p-order .doc-box .doc-box__button {
  display: flex;
  justify-content: center;
  margin-top: 22px;
}

.p-order .component-delivery .delivery-button {
  display: flex;
  justify-content: center;
}

/* ボタン表示は上の .dl-list__item a と共通。p の既定 margin を消して高さを合わせる */
.p-order .component-delivery .delivery-button p {
  display: flex;
  margin: 0;
}

/* 20260803_order.html：レイアウトtable→セマンティックタグへ置き換え */

/* ボタンを縦に並べる場合（旧：h10pxのスペーサーtd） */
.p-order .dl-list.dl-list--column {
  align-items: center;
  flex-direction: column;
  gap: 10px 0;
}

/* 必要資料（旧：inline styleの2カラムdiv） */
.p-order .doc-figure {
  box-sizing: border-box;
  width: 100%;
}

.p-order .doc-figure .doc-figure__title {
  background-color: var(--order_doc_back);
  color: var(--order_doc_font);
  font-size: 25px;
  font-weight: bold;
  line-height: 1;
  margin-bottom: 20px;
  padding: 10px;
}

.p-order .doc-figure .doc-figure__list {
  display: flex;
  flex-wrap: wrap;
  gap: 32px 12px;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
}

.p-order .doc-figure .doc-figure__item {
  align-items: center;
  display: flex;
  flex-direction: column;
  text-align: center;
  width: calc(100% / 2 - 12px);
}

.p-order .doc-figure .doc-figure__name {
  color: var(--order_doc_font);
  font-weight: bold;
  margin: 0;
  text-align: center;
}

.p-order .doc-figure .doc-figure__format {
  font-size: 15px;
  font-weight: bold;
  margin: 0;
  text-align: center;
}

.p-order .doc-figure img {
  display: block;
  height: auto;
  margin-top: 10px;
  width: 100%;
}

/* ご依頼時の注意事項（旧：width85%の入れ子table） */
.p-order .note-list {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  font-size: 14px;
  gap: 12px 0;
  line-height: 20px;
  margin-inline: auto;
  padding-left: 2.2em;
  text-align: left;
  width: 100%;
}

.p-order .note-list .note-list__item {
  margin-top: 8px;
}

.p-order .note-list .note-list__item:first-child {
  margin-top: 0;
}

.p-order .note-list .note-list__sub {
  margin: 0;
}

.p-order .note-strong {
  color: var(--order_note_font);
  font-weight: bold;
}

/* Step③の参照リンク（旧：yohaku_10のdiv） */
.p-order .link-list {
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: left;
}

.p-order .link-list .link-list__item {
  align-items: center;
  display: flex;
  gap: 0 2px;
  padding: 10px;
}

.p-order .link-list .link-list__item::before {
  content: "・";
  font-weight: bold;
}

.p-order .link-list .link-list__item img {
  display: block;
}

/* 20260730_walkt_sample / web_vr_sample.html：レイアウトtable→セマンティックタグへ置き換え */
.p-sample {
  font-family: "Meiryo UI";
}

/* 各ブロックの余白は個別指定するため、親のgapは無効化 */
.p-sample .contents-frame .contents-detail {
  gap: 0;
}

.p-sample .sample-group {
  box-sizing: border-box;
  margin-top: 30px;
  width: 100%;
}

/* 旧：見出し直後のh10pxスペーサー行 */
.p-sample .koumoku_title + .sample-group {
  margin-top: 10px;
}

.p-sample .sample-group .sample-group__title {
  box-sizing: border-box;
  font-size: 16px;
  margin: 0;
  width: 100%;
}

/* サンプル一覧（旧：サムネイル＋キャプションの2行table、間はwidth30pxのスペーサーtd）
   周囲の10px余白は ul ではなく包む div の .yohaku_10 が持つ
   （ul に付けると .contents-frame .contents-detail ul の padding:0 に負ける） */
.p-sample .movie-list {
  box-sizing: border-box;
  display: flex;
  gap: 0 30px;
  width: 100%;
}

.p-sample .movie-list .movie-list__item {
  display: block;
}

.p-sample .movie-list img {
  display: block;
  max-width: 100%;
}

.p-sample .movie-list .movie-list__caption {
  font-weight: bold;
  margin: 0;
}

.p-sample .movie-list--center .movie-list__caption {
  text-align: center;
}

/* walkt_hikaku.html：一覧自体を中央寄せする場合（旧 div align="center"） */
.p-sample .movie-list--hcenter {
  justify-content: center;
}

.p-sample .hikaku-lead {
  margin: 0 0 10px;
  text-align: center;
}

.p-sample hr {
  margin: 30px 0 0;
  width: 100%;
}

/* 20260730_servicemenu.html のページ固有スタイルは 20260731 に css/servicemenu.css へ移動 */

/* 20260730_index.php：レイアウトtable→セマンティックタグへ置き換え */
.p-home {
  font-family: "Meiryo UI";
}

/* 5つのボタン（155px×5）とtopicsのiframe（800px）が入るよう、paddingは持たせない */
.p-home .contents-frame .contents-detail {
  gap: 0;
  padding-inline: 0;
  padding-top: 20px;
}

.p-home .home-title {
  color: var(--base_font);
  font-size: 24px;
  font-weight: bold;
  margin: 0;
}

.p-home .home-lead {
  margin: 0;
}

.p-home .contents-detail .home-menu {
  box-sizing: border-box;
  display: flex;
  gap: 0 2px;
  justify-content: space-between;
  list-style: none;
  margin: 30px 0 0;
  padding: 0;
  width: 100%;
}

.p-home .home-menu .home-menu__item {
  display: block;
  width: calc(100% / 5 - 2px);
}

.p-home .home-menu .home-menu__item img {
  width: 100%;
}

.p-home .home-menu img {
  display: block;
}

.p-home .topics-frame {
  border: 0;
  display: block;
  margin: 20px auto 0;
}

/* 20260730_pers_gallery.php：レイアウトtable→セマンティックタグへ置き換え */
.p-gallery {
  font-family: "Meiryo UI";
}

.p-gallery .contents-frame .contents-detail {
  gap: 10px;
}

.p-gallery .gallery-title {
  background-color: var(--base_back);
  box-sizing: border-box;
  color: var(--base_back_font);
  font-size: 16px;
  font-weight: bold;
  margin: 0;
  padding: 5px;
  width: 100%;
}

/* 旧：cellpadding=5の3列table。サムネイルは250px固定→枠に収まる可変幅へ */
.p-gallery .contents-detail .gallery-list {
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
}

.p-gallery .gallery-list .gallery-list__item {
  box-sizing: border-box;
  display: block;
  width: calc((100% - 20px) / 3);
}

.p-gallery .gallery-list .gallery-list__item .sumu_size {
  box-sizing: border-box;
  display: block;
  width: 100%;
}

.p-gallery .gallery-list .gallery-list__item img {
  height: auto;
}

.p-gallery .gallery-list .gallery-list__item .original-button {
  margin-inline: auto;
}

/* 20260730_vr_s.php：レイアウトtable→divへ置き換え */
.p-vrs .vr-sample {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 20px 0;
  margin-inline: auto;
  padding-top: 24px;
  width: 980px;
}

.p-vrs .vr-sample .vr-sample__title {
  margin: 0;
}

.p-vrs .vr-sample img {
  display: block;
  max-width: 100%;
}

/* WebVR固有の注意点（旧：本文＋QRコードの2列table）：web_vr_order.html */
.p-order .notice-box {
  align-items: center;
  box-sizing: border-box;
  display: flex;
  gap: 0 5px;
  width: 100%;
}

.p-order .notice-box .notice-box__text p {
  margin: 0 0 12px;
}

.p-order .notice-box .notice-box__text p:last-child {
  margin-bottom: 0;
}

.p-order .notice-box img {
  display: block;
  flex-shrink: 0;
}

/* 20260730_pers_price.html：レイアウトtable→セマンティックタグへ置き換え（価格表はtable維持） */
.p-price {
  font-family: "Meiryo UI";
}

.p-price .yohaku_30_10 {
  align-items: center;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 60px;
  width: 100%;
}

.p-price .yohaku_30_10 > * {
  width: 100%;
}

/* 価格表：表データなのでtableを維持し、th / scope / caption を付与 */
.p-price .price-table {
  border-collapse: collapse;
}

.p-price .price-table caption {
  box-sizing: border-box;
  text-align: left;
}

.p-price .price-table .price-head {
  align-items: center;
  display: flex;
  gap: 0 10px;
  justify-content: space-between;
  width: 100%;
}

.p-price .price-table .price-head__deadline {
  text-align: right;
  white-space: nowrap;
}

/* 旧：見出し直後のh30pxスペーサー行 */
.p-price .price-table > caption + tbody > tr:first-child > * {
  padding-top: 35px;
}

.p-price .price-table th,
.p-price .price-table td {
  vertical-align: top;
}

.p-price .price-table th {
  text-align: left;
}

.p-price .price-table .indent {
  width: 20px;
}

.p-price .price-table .price,
.p-price .price-table .note {
  text-align: right;
}

.p-price .price-table .note {
  width: 300px;
}

.p-price .price-table .price-row--main > th,
.p-price .price-table .price-row--main > .price {
  font-weight: bold;
}

.p-price .price-table .price-row--sub > th {
  font-weight: normal;
}

/* 旧：区切り用の<hr>入りtd */
.p-price .price-table .has-line > * {
  border-bottom: 1px dotted var(--border_color);
}

.p-price .price-table .has-line > .indent,
.p-price .price-table--short .has-line > .note {
  border-bottom: none;
}

/* オプション枠（旧：cellspacing=1 + bgcolorの擬似ボーダー） */
.p-price .option-box {
  background-color: var(--base_white);
  border: 1px solid var(--border_color);
  box-sizing: border-box;
  padding: 10px 0 20px;
}

.p-price .option-box .option-box__inner {
  box-sizing: border-box;
  margin-inline: auto;
  width: 96%;
}

.p-price .option-box .option-box__title {
  align-items: center;
  display: flex;
  font-size: 16px;
  font-weight: bold;
  gap: 0 10px;
  justify-content: center;
  margin: 10px 0 20px;
}

.p-price .option-box .option-box__title::before,
.p-price .option-box .option-box__title::after {
  border-top: 1px solid var(--border_color);
  content: "";
  display: block;
  width: 30%;
}

.p-price .option-box .price-table {
  width: 100%;
}

.p-price .option-box .price-table .price {
  width: 150px;
}

.p-price .option-box .price-table .option-note {
  text-align: left;
}

.p-price .order-button {
  display: flex;
  justify-content: center;
}

.p-price .order-button img {
  display: block;
}

/* walkt_price / web_vr_price のオプション枠：
   見出し18px・左右の線は210pxの黒実線・表は80%幅 */
.p-price .option-box.option-box--movie .option-box__title {
  font-size: 18px;
}

.p-price .option-box.option-box--movie .option-box__title::before,
.p-price .option-box.option-box--movie .option-box__title::after {
  border-top-color: #000000;
  flex-shrink: 0;
  width: 210px;
}

.p-price .option-box.option-box--movie .price-table {
  margin-inline: auto;
  width: 80%;
}

.p-price .option-box.option-box--movie .price-table .price {
  width: auto;
}

/* 旧：オプション項目の間にあった&nbsp;のスペーサー行 */
.p-price .option-box.option-box--movie .price-table .price-row--main > * {
  padding-top: 30px;
}

.p-price .option-box.option-box--movie .price-table tbody > tr:first-child > * {
  padding-top: 5px;
}

.p-price .option-box.option-box--movie .price-table .option-note--right {
  text-align: right;
}

/* VRグラスの行のみ、旧table同様に上下中央そろえ */
.p-price .option-box.option-box--movie .price-table .price-row--middle > * {
  vertical-align: middle;
}

.p-price .option-box.option-box--movie .price-table .option-image img {
  display: block;
}

.p-price .option-box.option-box--movie .price-table .price .font_12 {
  font-weight: normal;
}

/* 20260803_特設ページ（special/special.php）：他ページと同じ枠組みに揃える */
.p-special {
  font-family: "Meiryo UI";
}

/* 20260730_商材ページ（gaikan / naikan / hi_q / walkt / web_vr）：レイアウトtable→セマンティックタグへ置き換え */
.p-item {
  font-family: "Meiryo UI";
}

/* 各ブロックの余白は個別指定するため、親のgapは無効化
   （item-inner1枚だけのページでは元から効いていない） */
.p-item .contents-frame .contents-detail {
  gap: 0;
}

/* 旧：width97%の入れ子table */
.p-item .item-inner {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  margin-inline: auto;
  width: 100%;
}

/* 商材見出し・価格（旧：hyo_kakaku / hyou_naiyou の4列table） */
.p-item .service-head {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 1px 0;
  margin-bottom: 10px;
  width: 100%;
}

.p-item .service-head .service-head__title {
  box-sizing: border-box;
  font-size: 16px;
  margin: 0;
  width: 100%;
}

.p-item .service-head .service-head__detail {
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  width: 100%;
}

.p-item .service-head .detail-box {
  box-sizing: border-box;
  display: flex;
  width: 50%;
}

.p-item .service-head .detail-box .hyo_kakaku,
.p-item .service-head .detail-box .hyou_naiyou {
  box-sizing: border-box;
  margin: 0;
}

.p-item .service-head .detail-box .hyo_kakaku {
  width: 40%;
}

.p-item .service-head .detail-box .hyou_naiyou {
  width: 60%;
}

/* presentationpack系の「セット内容」行（旧：ラベル1列＋colspan3の値） */
.p-item .service-head .detail-box--full {
  width: 100%;
}

.p-item .service-head .detail-box--full .hyo_kakaku {
  width: 20%;
}

.p-item .service-head .detail-box--full .hyou_naiyou {
  width: 80%;
}

/* presentationpack系：旧 div align="center" が効かせていた中央そろえを引き継ぐ
   （ページ内<style>側で text-align を持つ要素はそのまま上書きされる） */
.p-item .item-body {
  text-align: center;
  width: 100%;
}

.p-item .button-box .alpha {
  margin-inline: auto;
}

/* web_vr_menu.html：メニュー内の各商材ブロック（旧：width95%の入れ子table） */
.p-item .contents-detail > .yohaku_30_10 {
  margin: 0;
}

.p-item .menu-lead {
  text-align: center;
}

.p-item .menu-item {
  box-sizing: border-box;
  margin-inline: auto;
  width: 95%;
}

.p-item .menu-item .menu-item__body {
  display: flex;
  gap: 0 30px;
  width: 100%;
}

.p-item .menu-item .menu-item__body img {
  display: block;
  flex-shrink: 0;
}

.p-item .menu-item .menu-item__body .font_16 {
  margin: 0;
}

.p-item .description {
  margin: 0 0 10px;
  text-align: center;
}

/* メイン画像：固定784pxのままだとflex幅を超えるため枠内に収める */
.p-item .image-box img {
  display: block;
  height: auto;
  margin-inline: auto;
  max-width: 100%;
}

/* サンプル（旧：cellspacing=3の2行3列table） */
.p-item .sample-box {
  margin-top: 30px;
}

.p-item .sample-box .sample-box__title {
  background-color: var(--sub_back);
  box-sizing: border-box;
  font-size: 16px;
  font-weight: bold;
  margin: 0;
  width: 100%;
}

.p-item .sample-box .sample-list {
  display: flex;
  flex-wrap: wrap;
  gap: 3px;
  justify-content: center;
  list-style: none;
  margin: 10px 0 0;
  padding: 0;
}

.p-item .sample-box .sample-list .s_img_w {
  box-sizing: border-box;
  width: calc((100% - 6px) / 3);
}

/* 旧：img width="250" height="177" + object-fit で縦横比を固定していたぶんを引き継ぐ */
.p-item .sample-box .sample-list .s_img_w img {
  aspect-ratio: 250 / 177;
  display: block;
  height: auto;
  width: 100%;
}

.p-item hr {
  margin: 10px 0 0;
  width: 100%;
}

/* 20260804_「ご依頼方法へ」導線ボタン
   旧：img/goirai.jpg の画像リンク。テキストのボタン風リンクへ置き換え。
   親の text-align: center で中央に来るよう inline-flex にしている */
.order-link {
  align-items: center;
  background-color: var(--accent_pink);
  border-radius: 5px;
  box-sizing: border-box;
  color: var(--base_white);
  display: inline-flex;
  font-size: 14px;
  font-weight: 600;
  justify-content: center;
  padding: 10px;
  position: relative;
  text-align: center;
  text-decoration: none;
  width: 240px;
}

/* 矢印は装飾なので擬似要素で出す（HTML側はテキストを持たない空の span） */
.order-link .arrow {
  position: absolute;
  display: inline-block;
  left: 10%;
  width: 9.2px;
  height: 13.5px;
}

.order-link .arrow::before,
.order-link .arrow::after {
  content: "";
  position: absolute;
  top: calc(50% - 1.25px);
  right: 0;
  width: 10px;
  height: 2px;
  border-radius: 9999px;
  background-color: #fff;
  left: 0;
  transform-origin: calc(100% - 1px) 50%;
}

.order-link .arrow::before {
  transform: rotate(45deg);
}

.order-link .arrow::after {
  transform: rotate(-45deg);
}

.order-link:hover {
  opacity: .7;
}

/* 20260730_サイトタイトル
   旧：toptitle.html を iframe（.t_iframe）で読み込んでいた青帯。各ページに直接置く形へ変更 */
.contents-frame > .site-title {
  background-color: var(--base_back);
  box-sizing: border-box;
  color: var(--base_back_font);
  font-family: "Meiryo UI";
  font-size: 24px;
  font-weight: bold;
  height: 48px;
  line-height: 48px;
  margin: 0;
  padding-left: 20px;
  width: 100%;
}

/* walkt / web_vr / presentationpack / servicemenu はページ内<style>で .flex-box に
   margin-top / gap / flex-direction を指定している。同名クラスを外枠にも使っているため、
   外枠（contents-frame直下）のflex-boxだけ打ち消す */
.contents-frame > .flex-box {
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 0;
  margin-top: 0;
}

/* ============================================================
   他ページへの導線ボタン（旧：ボタン並びのtable）
   商材・サンプル・価格ページで共通。関連ルールはこのブロックにまとめる。
   ※ 上の「.contents-frame .contents-detail ul」のリセット（詳細度0,2,1）に
     margin / padding を打ち消されるため、クラス3つで詳細度を上げている
   ------------------------------------------------------------
   使用箇所：
     --gap-sm   gaikan / naikan / walkt / web_vr
     --gap      walkt_hikaku / walkt_sample / web_vr_menu / web_vr_sample
     --gap-wide hi_q
   ============================================================ */

/* 1. 基本 */
.contents-frame .contents-detail .button-row {
  align-items: center;
  display: flex;
  gap: 0 30px;
  justify-content: center;
  list-style: none;
  margin: 30px 0 0;
  padding: 0;
}

/* 2. ボタン間隔のバリエーション（狭い順。--gap は上の既定値と同値） */
.contents-frame .contents-detail .button-row--gap-sm {
  gap: 0 10px;
}

.contents-frame .contents-detail .button-row--gap {
  gap: 0 30px;
}

.contents-frame .contents-detail .button-row--gap-wide {
  gap: 0 60px;
}

/* 3. ページ個別の上書き
   価格ページは上余白を yohaku_30_10 の padding と contents-detail の gap で
   確保するため、共通の margin-top をリセットする */
.p-price .contents-frame .contents-detail .button-row {
  margin-top: 0;
}

/* 4. 子要素 */
.contents-frame .contents-detail .button-row .button-row__item {
  display: block;
}

.contents-frame .contents-detail .button-row img {
  display: block;
}

/* ============================================================
   プレゼンサポートパック比較表
   presentationpack.html / servicemenu.html の2ページで共通。
   もとは両ページに同じ定義が重複していたためここへ集約した。
   （旧クラス名 .comparison-table → .pack-table）
   ============================================================ */
.pack-table-wrap {
  margin-top: 40px;
  overflow-x: auto;
  width: 100%;
}

.pack-table {
  background: var(--base_white);
  border-collapse: collapse;
  color: var(--text_font);
  table-layout: fixed;
  width: 100%;
}

.pack-table th,
.pack-table td {
  border-bottom: 1px solid var(--border_color);
  box-sizing: border-box;
  font-weight: 700;
  line-height: 1.5;
  padding: 18px 10px;
  text-align: center;
  vertical-align: middle;
}

/* 1列目（項目名）の幅 */
.pack-table thead th:first-child,
.pack-table tbody th {
  width: 120px;
}

/* 商材の区切り線 */
.pack-table thead th:not(:first-child),
.pack-table tbody td {
  border-left: 4px solid var(--accent_pink);
}

.pack-table thead th {
  padding-bottom: 14px;
  padding-top: 14px;
}

.pack-table__title {
  display: block;
  font-size: 24px;
  line-height: 1.2;
}

.pack-table__sub {
  display: block;
  font-size: 13px;
  line-height: 1.4;
  margin-top: 4px;
}

.pack-table tbody th {
  font-size: 24px;
  line-height: 1.25;
}

.pack-table tbody td {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.5;
}

/* 1行目（価格）は大きめ */
.pack-table tbody tr:first-child td {
  font-size: 18px;
}

/* メリット行 */
.pack-table__merit th,
.pack-table__merit td {
  background: var(--accent_pink_light);
  font-weight: 600 !important;
}

/* セル内の補足テキスト（旧 inline: font-size 13px） */
.pack-table__note {
  font-size: 13px;
}

/* 文字量の多いセル（旧 inline）。tbody td より詳細度を上げる */
.pack-table td.pack-table__cell--sm {
  font-size: 14px;
}

.pack-table td.pack-table__cell--flat {
  padding-inline: 0;
}

/* menurevision */
.menurevision h2,
.menurevision p,
.menurevision dl {
  text-align: left;
}