---
/* base.css 
 * 全デバイス共通の基本スタイル
 * 青いボックス（タップハイライト・フォーカス枠）を強力に非表示化
 */

/* ── 全要素のタップハイライトとフォーカス枠を完全に除去 ────────────────── */

/* * 1. * だけでなく、ボタンや入力欄など特定の要素を明示
 * 2. :focus や :active などの状態も個別に指定
 * 3. focus-visible (ブラウザの自動フォーカス枠) を強制リセット
 */
*,
*::before,
*::after,
a,
button,
input,
label,
textarea,
select {
    -webkit-tap-highlight-color: transparent !important; /* iOS/Androidの青枠 */
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0) !important;
    outline: none !important; /* PCのクリック時枠 */
    box-shadow: none !important; /* ボタン等に付くデフォルトの影による枠線を防止 */
    /* display: none; */
}

#sidebar input.clearText {
    display: none;
}

/* ブラウザが自動で付けるフォーカスリングを無効化 */
:focus:not(:focus-visible) {
    outline: none !important;
}

/* ──────────────────────────────────────────────────────────── */

html {
    height: auto;
    -webkit-text-size-adjust: 100%;
}

h1, h3 {
    margin-block-end: 0;
    margin-block-start: 0;
}

h5 {
    color: #3D3937;
    font-family: "Helvetica Neue", Arial, 游ゴシック, YuGothic,
                 "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    font-weight: 600;
    margin-block-end: 0;
    margin-block-start: 0;
    margin-top: 20px;
}

h6 {
    margin-block-end: 0em;
    margin-block-start: 0em;
    margin-inline-end: 0;
    margin-inline-start: 0;
}

html body p:empty::before { content: none; }

ul {
    list-style: none;
    margin: 0;
    padding-inline-start: 0;
}

strong {
    color: #3D3937;
    font-family: "Yu Gothic";
    font-weight: 800;
}

pre { margin: 0; }

/* ── リンク ────────────────────────────────────────────── */

a {
    color: #515151;
    padding: 0;
    text-decoration: none;
}

a:-webkit-any-link {
    color: #515151;
    cursor: pointer;
}

a:hover,
a:focus { color: rgb(255, 170, 170); }

.title a:hover,
a:focus { color: #515151; }

a.glink:hover,
a.glink:focus { color: rgb(255, 170, 170); }

a.home { text-decoration: underline; }

a.link01:-webkit-any-link {
    height: 100%;
    width: 100%;
}

a.Request-button01 { text-decoration: underline; }

.bogo-language-switcher a { text-decoration: none; }
.bogo-language-switcher .current { display: none; }

/* ── 共通コンテナ ──────────────────────────────────────── */

.container {
    background: white;
    height: auto;
    margin: 10px auto;
}

.cleartext2 {
    display: none;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
}

.translated-ltr { font-family: Arial, Helvetica, sans-serif; }

.spacer { height: 30px; }

.p2 {
    color: #3D3937;
    padding-bottom: 20px;
}

#footer {
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.footer-col { flex: 1; }

/* ── フロントページ共通 ────────────────────────────────── */

html body.home .g_translation,
html body.home .bogo-language-switcher,
html body.home .title2,
html body.home #header.container,
html body.home #header { display: none; }

html body div.front-spacer {
    clear: both;
    height: 43%;
}

img.mogami { width: 110px; }

img.language-japanese,
img.language-english {
    background-size: contain;
    display: block;
    height: 19px;
}

.language div { margin: 0 10px; }

.home .footer-col {
    align-items: center;
    display: flex;
    padding-left: 50px;
}

.home .col-left { visibility: hidden; }

.home .copyright-text {
    color: #3D3937;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    white-space: nowrap;
}

span.logo-text {
    font-size: 25px;
    /* padding-left: 50px; */
}

/* ── 共通ページ構造 ────────────────────────────────────── */

.post { margin-bottom: 0; }

.post-meta {
    color: #515151;
    float: right;
    font-size: 12px;
    overflow: hidden;
    text-align: left;
    width: auto;
}

.post-body { margin-left: 115px; }

.breadcrumbs {
    color: #3D3937;
    cursor: pointer;
    font-size: 12px;
    padding-bottom: 15px;
}

p#breadcrumbs {
    color: #ffffff;
    cursor: pointer;
    font-size: 12px;
    padding-bottom: 15px;
}

p#breadcrumbs span a {
    color: #ffffff;
    cursor: pointer;
}

/* ── 埋め込みコンテンツ ────────────────────────────────── */

html body .sketchfab-embed-wrapper {
    box-shadow: 0 0 5px 5px #DDD;
    height: 500px;
    width: 98%;
}

html body div.p3din {
    box-shadow: 0 0 5px 5px #DDD;
    width: 99%;
}

/* ── WPブロック共通 ────────────────────────────────────── */

.blocks-gallery-grid,
.wp-block-gallery {
    display: flex;
    flex-wrap: wrap;
    list-style-type: none;
    margin: 0;
    padding: 0;
}

html body .wp-block-image img {
    vertical-align: top;
    width: 100%;
}

html body .wp-block-image figcaption { margin: 0; }

html body .wp-block-image,
html body .alignright { margin: 0 auto; }

html body .wp-block-image .alignright { float: none; }

html body .wp-block-image.is-resized { display: block; }

html body .wp-block-preformatted,
html body pre { white-space: normal; }

html body .wp-block-code code { white-space: normal; }

header.wp-block-image { background: none; }

.wp-block-columns[data-hidden] {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
}

.wp-block-column[data-hidden] {
    display: none !important;
    flex: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    min-width: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    width: 0 !important;
}

.wp-block-columns {
    align-items: stretch;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

.wp-block-column {
    display: flex;
    flex: 1;
    flex-direction: column;
}

.wp-block-column:empty {
    height: 0;
    margin: 0;
    padding: 0;
}

#page-buildguide .wp-block-columns {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

#page-buildguide article { padding-bottom: 30px; }

/* ── ダウンロードボタン共通 ────────────────────────────── */

html body .dwlink_box {
    float: right;
    height: 40px !important;
    width: 120px !important;
}

html body .wp-block-button__link {
    background: #333;
    color: #FFF;
    display: block;
    font-family: "Helvetica Neue", Arial, 游ゴシック, YuGothic,
                 "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    font-size: 11px;
    line-height: 1.4em;
    margin: 0;
    padding: 5px;
    text-align: center;
    text-decoration: none;
    width: 110px !important;
}

#page-buildguide .searchbox div { border: none !important; }

/* ── 図・サムネイル共通 ────────────────────────────────── */

html body .papercraft {
    box-shadow: 0 0 5px 5px #DDD;
    height: 98%;
    margin: 5px 10px 30px 5px;
    width: 98%;
}

html body .thumbnail3 {
    box-shadow: inset 0 0 3px 3px #DDD;
    max-width: initial;
}

/* ── howtomake 共通 ────────────────────────────────────── */

html body h3.howtomake5,
html body .howtomake h3 {
    background: none;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    font-weight: normal;
    letter-spacing: normal;
    margin-left: 5px;
    text-align: center;
}

.profile h3 {
    background: none;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 14px;
    font-weight: normal;
    letter-spacing: normal;
    padding: 4px 0 10px 0;
    text-align: center;
}

html body .howtomake { display: block; }

.howtomake4 { display: inline-block; }

html body .howtomake_box {
    box-shadow: inset 0 0 3px 3px #DDD;
    display: block;
    margin: 10px 0 20px 0;
    width: 100%;
}

html body .howtomake_box2 {
    box-shadow: inset 0 0 3px 3px #DDD;
    display: block;
    margin: 10px 0 20px 0;
    padding: 15px 2px;
    width: 100%;
}

html body figure.howtomake3 {
    float: left;
    font-size: 16px;
    height: 120px;
    margin-left: 5px;
    width: 300px;
}

html body figure.howtomake2 {
    display: block;
    float: right;
    position: relative;
    text-align: center;
}

/* buildguide 記号画像アイコン・説明 */
html body figure.howtomake9:has(img[src*="MagnetMarkV1.png"]),
html body figure.howtomake9:has(img[src*="MetalPlateMarkV1.png"]),
html body figure.howtomake9:has(img[src*="howtoassmble2-13_cut-out-mark.png"]) {
    align-items: center;
    display: flex;
    justify-content: center;
    min-height: 1px;
    width: 70%;
}

html body img[src*="howtoassmble_guide_ver1.0.3.png"],
html body img[src*="MagnetMarkV1.png"],
html body img[src*="MetalPlateMarkV1.png"],
html body img[src*="howtoassmble2-13_cut-out-mark.png"] {
    display: block;
    height: auto;
    width: 70%;
}

html body figure.howtomake9:has(img[src*="howtoassmble_cut-out-mark_ver1.0.3.png"]),
html body figure.howtomake9:has(img[src*="howtoassmble_gluing-mark_ver1.0.3.png"]),
html body figure.howtomake9:has(img[src*="MagnetMarkV2.png"]),
html body figure.howtomake9:has(img[src*="MetalPlateMarkV2.png"]),
html body figure.howtomake9:has(img[src*="howtoassmble2_guide_ver1.0.5.png"]),
html body figure.howtomake9:has(img[src*="PutInV2.png"]),
html body figure.howtomake9:has(img[src*="FoldTabV2_1.png"]),
html body figure.howtomake9:has(img[src*="GlueSpotV2_1.png"]),
html body figure.howtomake9:has(img[src*="howtoassmble_valley-fold_ver1.0.3.png"]),
html body figure.howtomake9:has(img[src*="howtoassmble_mountain-fold_ver1.0.3.png"]),
html body figure.howtomake9:has(img[src*="howtoassmble_cut-line_ver1.0.3.png"]) {
    align-items: center;
    display: flex;
    justify-content: flex-end;
    min-height: 1px;
    overflow: visible;
    width: 100%;
}

html body img[src*="GlueMarkV2.png"],
html body img[src*="howtoassmble_cut-out-mark_ver1.0.3.png"],
html body img[src*="howtoassmble_gluing-mark_ver1.0.3.png"],
html body img[src*="MagnetMarkV2.png"],
html body img[src*="MetalPlateMarkV2.png"],
html body img[src*="howtoassmble2_guide_ver1.0.5.png"],
html body img[src*="PutInV2.png"],
html body img[src*="FoldTabV2_1.png"],
html body img[src*="GlueSpotV2_1.png"],
html body img[src*="howtoassmble_valley-fold_ver1.0.3.png"],
html body img[src*="howtoassmble_mountain-fold_ver1.0.3.png"],
html body img[src*="howtoassmble_cut-line_ver1.0.3.png"] {
    display: block;
    flex-shrink: 0;
    height: auto;
    margin-left: 0;
    max-width: 250px;
}

/* ── テキスト・見出し共通 ──────────────────────────────── */

.entry-title {
    color: #3D3937;
    font-family: "Helvetica Neue", Arial, 游ゴシック, YuGothic,
                 "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    font-weight: normal;
    font-size: 13px;
}


.entry-title a { margin-block-start: 0; }

.entry-content a:-webkit-any-link { text-decoration: underline; }

html body .entry-content p {
    color: #3D3937;
    font-family: "Helvetica Neue", Arial, "游ゴシック", YuGothic,
                 "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    font-size: 1.1em;
    font-weight: normal;
    line-height: 1.7em;
}

.column1st .entry-content,
.column1st .entry-content2 {
    font-family: "Yu Gothic";
    font-size: 13px;
    font-weight: 800;
}

html body h2.entry-title5 {
    font-family: "Helvetica Neue", Arial, 游ゴシック, YuGothic,
                 "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    font-size: 16px;
    font-weight: 600;
    margin-block-end: 0em;
    margin-block-start: 0em;
    padding-top: 20px;
}

html body pre.wp-block-preformatted .profile,
html body .entry-content .profile {
    color: #3D3937;
    font-family: "Helvetica Neue", Arial, "游ゴシック", YuGothic,
                 "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    font-size: 1.1em;
    font-weight: normal !important;
    line-height: 1.7em;
    padding-bottom: 10px;
    padding-top: 0;
}

p.profile2 { padding-bottom: 5px; }

html body .about { line-height: 25px; }

/* 作品一覧グリッド用 */
.entry-title a.link01,
.thumbnail a.link01 {
    color: #333 !important;
    font-weight: normal !important;
    text-decoration: none !important;
    transition: color 0.2s ease;
}

.entry-title a.link01:hover,
.entry-title a.link01:focus,
.thumbnail a.link01:hover img {
    color: rgb(255, 170, 170) !important;
    opacity: 0.8;
}

span.entry-content {
    display: block;
    font-weight: 600;
    line-height: 1.4;
    margin-top: 5px;
    
}

#section-0 .entry-content { line-height: 1.7em; }

.entry-content2 {
    color: #000;
    display: inline-block;
    font-size: 12px;
    line-height: 1.4;
    margin-top: 5px;
}

.item-description {
    color: #000;
    display: inline-block;
    font-weight: bold !important;
    line-height: 1.4;
    margin-top: 5px;
}

span.current { font-weight: bold; }

/* entry-content 内の画像 */
.entry-content img {
    cursor: pointer;
    display: block;
    height: auto;
    max-width: 100%;
    vertical-align: top;
    width: 98%;
}

.entry-content p { display: block; }

.entry-content p:has(> img:only-child) {
    font-size: 0;
    line-height: 0;
    margin: 0;
    padding: 0;
}

.entry-content p:has(> img:only-child) img {
    box-shadow: 0 0 5px 5px #DDD;
    font-size: initial;
    line-height: normal;
    margin: 5px 5px 30px 5px;
}

/* ── コンタクトフォーム共通 ────────────────────────────── */

.cf7-2 { display: inline-flex; }

label.cf7-2 {
    float: left;
    font-family: "Yu Gothic";
    font-size: 14px;
    margin: 0 auto;
    text-align: center;
}

button#form-button { margin-top: 10px; }

label.cf7 {
    font-family: "Yu Gothic";
    font-size: 100%;
    font-weight: 600;
    margin-bottom: 7px;
    width: 100%;
}

div.wpcf7 input[type="file"] {
    cursor: pointer;
    margin-bottom: 15px;
}

.custom-contact-btn {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: #eee;
    border: 1px solid #ccc;
    border-radius: 0;
    box-sizing: border-box;
    color: #333;
    cursor: not-allowed;
    display: inline-block;
    font-size: 16px;
    line-height: 1.5;
    opacity: 0.6;
    padding: 5px 20px;
    text-align: center;
    width: auto;
}

.custom-contact-btn:enabled {
    background-color: #f9f9f9;
    cursor: pointer;
    opacity: 1;
}

.custom-contact-btn:enabled:hover {
    background-color: #fff;
    border-color: #999;
}

/* ── サイドバー共通 ────────────────────────────────────── */

.widget h3 {
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
}

.widget li {
    font-family: "Yu Gothic";
    font-size: 12px;
    letter-spacing: 2px;
    padding: 0 0 30px 0;
}

/* ── 検索共通 ───────────────────────────────────────────── */

.btn-submit {
    background: url('/img/icon-search2.png') no-repeat center center;
    border: none;
    box-shadow: none;
    cursor: pointer;
    display: inline;
    text-indent: -9999px;
    width: 2.2em;
}

.page .searchbox-wrapper {
    align-items: center;
    display: flex;
    justify-content: space-between;
    width: 100%;
}

html body .page .searchbox-wrapper.is-nosearch {
    border: none;
    justify-content: flex-end;
    margin-bottom: 20px;
}

html body .page .clickable-link,
html body .search .clickable-link { text-decoration: underline; }

html body .page .searchform,
html body .search .searchform { margin: 0; }

#search-results-container {
    display: none;
    padding: 0 10px;
    width: 100%;
}

.is-searching #paginate-target { display: none; }
.is-searching #search-results-container { display: block; }

.search-result-item {
    border-bottom: 1px solid #eee;
    line-height: 1.8;
}

html body .search-result-item .wp-block-column {
    flex-basis: 100%;
    margin-left: 0;
    max-width: 100%;
}

.search-info-bar { border-bottom: 2px solid #333; }

html body .page_navi {
    color: #3D3937;
    display: flex;
    flex-wrap: wrap;
    font-size: 1.1em;
    list-style: none;
    margin: 0;
    text-indent: 0;
}

html body .page_navi li {
    list-style: none;
    margin-right: 15px;
}

.page_navi li a { text-decoration: underline; }

/* ── Layout Shift 防止 ───────────────── */

.post-content,
.page .searchbox-wrapper,
.search .searchbox-wrapper {
    contain: none;
    overflow: visible;
}

#pagination-top-links,
#pagination-bottom-links { min-height: 28px; }

.thumbnail figure,
.thumbnail img { aspect-ratio: 1 / 1; }

#wizard-tips-suffix {
    margin-left: 0.5em;
    font-size: 15.4px;
    /* font-size: inherit; */
    font-weight: inherit;
    text-decoration: inherit;
    color: inherit;
  }

  section.page-section div.wp-block-columns {
    padding-bottom: 0px;
  }

  .screen-reader-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
  }
  #pagination-top-links, #pagination-bottom-links {
    min-height: 5px;
  }
  .wp-block-buttons.is-content-justification-right {
    display: flex;
    justify-content: flex-end;
  }
  :global(.zoom-tip-suffix) {
    margin-left: 0.5em;
    font-size: 1.155em;
    font-weight: inherit;
    color: inherit;
  }
