/* theme.css — 旧 Total テーマ／Elementor の CSS のうち、追加CSS（site.css）が前提にしていた最小限の土台だけを移植。
   site.css はこの後に読み込まれ、ここで定義した値を上書きする。 */

/* --- Total: 汎用 --- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; }
.ht-clearfix::before, .ht-clearfix::after { content: ""; display: table; }
.ht-clearfix::after { clear: both; }
#ht-content { clear: both; }
.ht-container { width: 100%; max-width: 1280px; margin: 0 auto; }

/* --- Total: ヘッダー --- */
.ht-header { background: #fff; z-index: 99; position: relative; border-top: 4px solid var(--ts-key, #0017c1); } /* 旧: .ht-header{border-top:4px solid var(--total-template-color)}、--total-template-color は追加CSSで var(--ts-key) */
.ht-header .ht-container { position: relative; display: flex; align-items: center; justify-content: space-between; padding: 15px 0; }
#ht-site-branding img { height: auto; width: 220px; display: block; }
.custom-logo-link { display: inline-block; line-height: 0; }

/* --- Total: 既定テンプレートのタイトルバー --- */
.ht-main-header { background: #f9f9f9; padding: 45px 0; margin-bottom: 40px; }
.ht-main-title { margin: 0 0 15px; }
.breadcrumb-trail ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5em; font-size: .9em; }
.breadcrumb-trail .trail-item + .trail-item::before { content: "/"; margin-right: .5em; color: #999; }
.ht-main-content { padding: 0 16px; }
.ht-main-content > .elementor { margin-bottom: 50px; } /* 旧 .page-content の margin-bottom */
.ht-main-title { font-size: 2.25rem; line-height: 1.4; } /* 旧 Total のタイトルバー見出しの大きさに合わせる */
.ht-main-content .elementor-widget-heading .elementor-heading-title { margin: 20px 0 0; }

/* --- Total: メニュー（デスクトップ） --- */
.ht-menu ul { list-style: none; margin: 0; padding-left: 0; }
.ht-menu li { position: relative; }
.ht-menu a { position: relative; display: block; text-decoration: none; color: #444; line-height: 36px; padding: 0 15px; }
.ht-menu ul ul { display: none; position: absolute; left: 0; top: 100%; background: #fff; min-width: 200px; z-index: 999; padding: 8px; margin-top: 10px; box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.05); }
.ht-menu > ul > li:last-child > ul { left: auto; right: 0; }
.ht-menu ul ul a { color: #444; line-height: 1.5; padding: 10px 15px; font-size: 0.88em; }
.ht-menu ul ul li { float: none; margin: 0 0 5px; }
.ht-menu ul ul li:last-child { margin-bottom: 0; }
.ht-menu ul li:hover > ul, .ht-menu ul li:focus-within > ul { display: block; }
.menu-item-has-children .ht-dropdown { display: none; }
.toggle-bar { display: none; }

/* --- Total: モバイル（1000px 以下） --- */
@media screen and (max-width: 1000px) {
  .toggle-bar { display: block; position: relative; height: 50px; width: 50px; cursor: pointer; }
  .toggle-bar span { position: absolute; top: 50%; margin-top: -1px; height: 2px; left: 8px; right: 8px; background: #333; box-shadow: 0 10px 0 0 #333, 0 -10px 0 0 #333; }
  #ht-site-navigation .ht-menu { display: none; position: absolute; background: #fff; left: 0; right: 0; top: 100%; z-index: 999; width: 100%; padding: 0; float: none; }
  #ht-site-navigation.ts-menu-open .ht-menu { display: block; }
  .ht-menu li { float: none; margin-left: 0; text-align: center; }
  .ht-menu ul ul li { margin: 0; }
  .ht-site-header .ht-menu > ul > li > a, .ht-menu ul ul a { line-height: 1.3; padding: 15px 20px; border-bottom: 1px solid rgba(0, 0, 0, 0.05); }
  .ht-menu ul ul { position: static; padding: 0; margin-top: 0; box-shadow: none; background: none; border: none; }
  .ht-menu ul li:hover > ul { display: none; }
  .ht-menu li.ts-sub-open > ul { display: block; }
  .menu-item-has-children .ht-dropdown { position: absolute; height: 26px; width: 26px; border: 1px solid rgba(0, 0, 0, 0.3); top: 12px; right: 10px; display: block; background: none; padding: 0; cursor: pointer; border-radius: 4px; }
  .menu-item-has-children .ht-dropdown::after { content: ""; display: block; width: 8px; height: 8px; border-right: 2px solid #333; border-bottom: 2px solid #333; transform: rotate(45deg); margin: 5px auto 0; }
  .menu-item-has-children.ts-sub-open .ht-dropdown::after { transform: rotate(-135deg); margin-top: 10px; }
}
@media screen and (max-width: 767px) { #ht-site-branding img { width: 180px; } }
@media screen and (max-width: 480px) { #ht-site-branding img { width: 150px; } }
@media screen and (min-width: 1001px) { .ht-menu { display: block !important; } }

/* --- Elementor: コンテナの土台（旧 e-con / e-con-inner） --- */
/* Elementor frontend.min.css の基本ルール（固定ページの中だけに効く。旧サイトの見た目に合わせる） */
.elementor a { box-shadow: none; text-decoration: none; }
.elementor img { border: none; border-radius: 0; box-shadow: none; height: auto; max-width: 100%; }
.elementor .elementor-widget:not(.elementor-widget-text-editor):not(.elementor-widget-theme-post-content) figure { margin: 0; }
.elementor-widget { position: relative; }
.e-con .elementor-widget { min-width: 0; }
.e-con { display: flex; flex-direction: column; width: 100%; }
.e-con-boxed { align-items: center; }
.e-con-boxed > .e-con-inner { width: 100%; max-width: 1140px; margin: 0 auto; }
.elementor-widget-container { width: 100%; }
.elementor-widget:not(:last-child) { margin-bottom: 20px; } /* 旧 Elementor kit: --kit-widget-spacing:20px */
.elementor-widget-text-editor p:last-child { margin-bottom: 0; }

/* --- WordPress: 本文内で使われる標準クラス --- */
.alignleft { float: left; margin: 0.5em 1em 0.5em 0; }
.alignright { float: right; margin: 0.5em 0 0.5em 1em; }
.aligncenter { display: block; margin: 0.5em auto; }
.wp-block-image img, .single-content img { max-width: 100%; height: auto; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); }


/* --- Total: 要素の既定スタイル（追加CSSが上書きしていない分だけ効く。旧サイトの見た目に合わせる） --- */
:root { --total-content-link-color: #000000; --total-content-text-color: #333333; --total-body-color: #444; --total-body-size: 17px; --total-template-color: var(--ts-key, #0017c1); }
button, input, select, textarea { color: var(--total-body-color, #444); font-size: var(--total-body-size, 17px); }
a { color: var(--total-content-link-color, #000); text-decoration: none; transition: all 0.3s ease; }
table { margin: 0 0 15px; width: 100%; border-collapse: collapse; border-spacing: 0; }
td, th { padding: 0; }
blockquote { margin: 0 15px; }
address { margin: 0 0 15px; }
dd { margin: 0 15px 15px; }
hr { background-color: #ccc; border: 0; height: 1px; margin-bottom: 15px; }
pre { background: #eee; font-family: "Courier 10 Pitch", Courier, monospace; font-size: 15px; line-height: 1.6; margin-bottom: 15px; max-width: 100%; overflow: auto; padding: 15px; }
embed, iframe, object { max-width: 100%; }
small { font-size: 80%; }
textarea { padding: 8px; width: 100%; }

/* --- Simple Author Box（旧プラグインが <head> に inline で出していた CSS をそのまま） --- */
.saboxplugin-wrap{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;border:1px solid #eee;width:100%;clear:both;display:block;overflow:hidden;word-wrap:break-word;position:relative}.saboxplugin-wrap .saboxplugin-gravatar{float:left;padding:0 20px 20px 20px}.saboxplugin-wrap .saboxplugin-gravatar img{max-width:100px;height:auto;border-radius:0;}.saboxplugin-wrap .saboxplugin-authorname{font-size:18px;line-height:1;margin:20px 0 0 20px;display:block}.saboxplugin-wrap .saboxplugin-authorname a{text-decoration:none}.saboxplugin-wrap .saboxplugin-authorname a:focus{outline:0}.saboxplugin-wrap .saboxplugin-desc{display:block;margin:5px 20px}.saboxplugin-wrap .saboxplugin-desc a{text-decoration:underline}.saboxplugin-wrap .saboxplugin-desc p{margin:5px 0 12px}.saboxplugin-wrap .saboxplugin-web{margin:0 20px 15px;text-align:left}.saboxplugin-wrap .sab-web-position{text-align:right}.saboxplugin-wrap .saboxplugin-web a{color:#ccc;text-decoration:none}.saboxplugin-wrap .saboxplugin-socials{position:relative;display:block;background:#fcfcfc;padding:5px;border-top:1px solid #eee}.saboxplugin-wrap .saboxplugin-socials a svg{width:20px;height:20px}.saboxplugin-wrap .saboxplugin-socials a svg .st2{fill:#fff; transform-origin:center center;}.saboxplugin-wrap .saboxplugin-socials a svg .st1{fill:rgba(0,0,0,.3)}.saboxplugin-wrap .saboxplugin-socials a:hover{opacity:.8;-webkit-transition:opacity .4s;-moz-transition:opacity .4s;-o-transition:opacity .4s;transition:opacity .4s;box-shadow:none!important;-webkit-box-shadow:none!important}.saboxplugin-wrap .saboxplugin-socials .saboxplugin-icon-color{box-shadow:none;padding:0;border:0;-webkit-transition:opacity .4s;-moz-transition:opacity .4s;-o-transition:opacity .4s;transition:opacity .4s;display:inline-block;color:#fff;font-size:0;text-decoration:inherit;margin:5px;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;overflow:hidden}.saboxplugin-wrap .saboxplugin-socials .saboxplugin-icon-grey{text-decoration:inherit;box-shadow:none;position:relative;display:-moz-inline-stack;display:inline-block;vertical-align:middle;zoom:1;margin:10px 5px;color:#444;fill:#444}.clearfix:after,.clearfix:before{content:' ';display:table;line-height:0;clear:both}.ie7 .clearfix{zoom:1}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-twitch{border-color:#38245c}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-behance{border-color:#003eb0}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-deviantart{border-color:#036824}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-digg{border-color:#00327c}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-dribbble{border-color:#ba1655}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-facebook{border-color:#1e2e4f}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-flickr{border-color:#003576}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-github{border-color:#264874}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-google{border-color:#0b51c5}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-html5{border-color:#902e13}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-instagram{border-color:#1630aa}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-linkedin{border-color:#00344f}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-pinterest{border-color:#5b040e}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-reddit{border-color:#992900}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-rss{border-color:#a43b0a}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-sharethis{border-color:#5d8420}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-soundcloud{border-color:#995200}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-spotify{border-color:#0f612c}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-stackoverflow{border-color:#a95009}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-steam{border-color:#006388}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-user_email{border-color:#b84e05}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-tumblr{border-color:#10151b}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-twitter{border-color:#0967a0}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-vimeo{border-color:#0d7091}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-windows{border-color:#003f71}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-whatsapp{border-color:#003f71}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-wordpress{border-color:#0f3647}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-yahoo{border-color:#14002d}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-youtube{border-color:#900}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-xing{border-color:#000202}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-mixcloud{border-color:#2475a0}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-vk{border-color:#243549}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-medium{border-color:#00452c}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-quora{border-color:#420e00}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-meetup{border-color:#9b181c}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-goodreads{border-color:#000}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-snapchat{border-color:#999700}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-500px{border-color:#00557f}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color .sab-mastodont{border-color:#185886}.sabox-plus-item{margin-bottom:20px}@media screen and (max-width:480px){.saboxplugin-wrap{text-align:center}.saboxplugin-wrap .saboxplugin-gravatar{float:none;padding:20px 0;text-align:center;margin:0 auto;display:block}.saboxplugin-wrap .saboxplugin-gravatar img{float:none;display:inline-block;display:-moz-inline-stack;vertical-align:middle;zoom:1}.saboxplugin-wrap .saboxplugin-desc{margin:0 10px 20px;text-align:center}.saboxplugin-wrap .saboxplugin-authorname{text-align:center;margin:10px 0 20px}}body .saboxplugin-authorname a,body .saboxplugin-authorname a:hover{box-shadow:none;-webkit-box-shadow:none}a.sab-profile-edit{font-size:16px!important;line-height:1!important}.sab-edit-settings a,a.sab-profile-edit{color:#0073aa!important;box-shadow:none!important;-webkit-box-shadow:none!important}.sab-edit-settings{margin-right:15px;position:absolute;right:0;z-index:2;bottom:10px;line-height:20px}.sab-edit-settings i{margin-left:5px}.saboxplugin-socials{line-height:1!important}.rtl .saboxplugin-wrap .saboxplugin-gravatar{float:right}.rtl .saboxplugin-wrap .saboxplugin-authorname{display:flex;align-items:center}.rtl .saboxplugin-wrap .saboxplugin-authorname .sab-profile-edit{margin-right:10px}.rtl .sab-edit-settings{right:auto;left:0}img.sab-custom-avatar{max-width:75px;}.saboxplugin-wrap {margin-top:0px; margin-bottom:0px; padding: 0px 0px }.saboxplugin-wrap .saboxplugin-authorname {font-size:18px; line-height:25px;}.saboxplugin-wrap .saboxplugin-desc p, .saboxplugin-wrap .saboxplugin-desc {font-size:14px !important; line-height:21px !important;}.saboxplugin-wrap .saboxplugin-web {font-size:14px;}.saboxplugin-wrap .saboxplugin-socials a svg {width:18px;height:18px;}

/* --- iframe 内で開かれたページ（Zoho Forms の戻り先 /inquiry/thanks）: 親へ移動できない場合はサイトの枠を隠す --- */
