/* TEAM CAFE TOKYO — independent theme foundation 3.0 */
@charset "UTF-8";

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; background: #f4f9fc; color: #14223d; font-family: -apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif; font-size: 16px; line-height: 1.75; }
article,aside,footer,header,main,nav,section { display: block; }
*,*::before,*::after { box-sizing: border-box; }
h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd { margin-top: 0; }
ul,ol { margin-top: 0; }
img,picture,svg,video,canvas { display: block; max-width: 100%; height: auto; }
iframe { max-width: 100%; }
button,input,select,textarea { font: inherit; color: inherit; }
button,[type="button"],[type="submit"] { cursor: pointer; }
a { color: #087fa4; text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: #ef3f7c; }
.clearfix::after { display: table; clear: both; content: ""; }
.wrap_content { width: min(1180px,calc(100% - 48px)); margin-inline: auto; }
.sp-only,.sp-login { display: none; }
.pc-only { display: block; }
.aligncenter { margin-right: auto; margin-left: auto; }
.alignleft { float: left; margin: 0 24px 18px 0; }
.alignright { float: right; margin: 0 0 18px 24px; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* Header */
#head { position: relative; z-index: 50; background: #fff; }
#head > .clearfix { width: 100%; }
.head-wrap { position: relative; display: grid; grid-template-columns: minmax(180px,270px) 1fr minmax(210px,270px); align-items: center; gap: 28px; width: min(1200px,calc(100% - 48px)); min-height: 190px; margin-inline: auto; }
.head-logo { grid-column: 1; }
.head-logo img { width: min(100%,220px); margin-inline: auto; }
.head-bnr { grid-column: 2; max-height: 170px; overflow: hidden; text-align: center; }
.head-bnr img { max-height: 160px; margin-inline: auto; object-fit: contain; }
.head-contact,.box-search { grid-column: 3; }
.head-contact { align-self: end; margin-bottom: 12px; }
.box-search { align-self: start; }
.head-contact a { display: flex; justify-content: center; align-items: center; min-height: 48px; padding: 10px 22px; border-radius: 999px; background: #ffc21c; color: #14223d; font-weight: 800; text-decoration: none; }
.box-search form { display: grid; grid-template-columns: 1fr 52px; gap: 8px; }
.box-search input[type="search"] { width: 100%; min-width: 0; min-height: 48px; padding: 10px 16px; border: 1px solid #cfe0e8; border-radius: 999px; background: #eef9fd; }
.box-search input[type="submit"] { width: 52px; min-height: 48px; padding: 0; border: 0; border-radius: 50%; background: #55bee9; color: #fff; }

/* Desktop navigation */
#main-nav { position: relative; width: 100%; background: #fff; }
#main-nav .menu-toggle { display: none; }
#main-nav ul { margin: 0; padding: 0; list-style: none; }
#main-nav > ul { display: grid; grid-template-columns: repeat(8,minmax(0,1fr)); width: 100%; }
#main-nav > ul > li { position: relative; min-width: 0; border-right: 1px solid #dbe7ee; }
#main-nav > ul > li:first-child { border-left: 1px solid #dbe7ee; }
#main-nav > ul > li > a { display: flex; flex-direction: column; justify-content: center; align-items: center; min-height: 94px; padding: 14px 8px; color: #14223d; font-size: 15px; font-weight: 800; line-height: 1.25; text-align: center; text-decoration: none; }
#main-nav > ul > li > a span { display: block; margin-top: 10px; color: #6d7b91; font-size: 11px; }
#main-nav li > ul { position: absolute; z-index: 60; top: 100%; left: 0; display: none; width: 280px; padding: 8px; border: 1px solid #dbe7ee; border-radius: 0 0 16px 16px; background: #fff; box-shadow: 0 18px 42px rgba(48,75,98,.15); }
#main-nav li:hover > ul,#main-nav li:focus-within > ul,#main-nav li.open > ul { display: block; }
#main-nav li.drop-left > ul { right: 0; left: auto; }
#main-nav li li a { display: block; padding: 11px 13px; border-radius: 9px; color: #34445b; font-size: 13px; text-decoration: none; }
#main-nav li li a:hover { background: #eef9fd; color: #087fa4; }
#main-nav .dd-toggle,.tct-submenu-toggle { position: absolute; right: 5px; top: 5px; display: none; border: 0; background: transparent; }
.subtitle { display: flex; justify-content: center; align-items: center; min-height: 44px; padding: 9px 16px; text-align: center; }

/* Main content and common titles */
main { display: block; width: 100%; }
#page { width: min(1180px,calc(100% - 48px)); margin-inline: auto; }
#page > .clearfix { width: 100%; }
#content { min-width: 0; }
.title_page { color: #14223d; overflow-wrap: anywhere; }
.title_page_inner { display: block; }
.box_post { width: 100%; }
.box_content_top { margin: 0; padding: 0; list-style: none; }
.box_content_top a { text-decoration: none; }
.list_inner h3 { overflow-wrap: anywhere; }

/* Forms, search and comments */
input[type="text"],input[type="email"],input[type="tel"],input[type="url"],input[type="password"],input[type="number"],input[type="search"],select,textarea { max-width: 100%; min-height: 46px; padding: 11px 14px; border: 1px solid #cbd9e2; border-radius: 11px; background: #fff; box-shadow: inset 0 1px 2px rgba(34,55,76,.04); }
textarea { width: 100%; min-height: 150px; resize: vertical; }
input:focus,select:focus,textarea:focus { border-color: #17a9d5; outline: 3px solid rgba(23,169,213,.15); }
input[type="submit"],button[type="submit"],.button,.btn { min-height: 48px; padding: 11px 24px; border: 0; border-radius: 999px; background: linear-gradient(100deg,#dff7f8,#fff3bd,#f9dce9,#e9dff8); color: #14223d; font-weight: 800; box-shadow: 0 8px 20px rgba(48,75,98,.1); }
label { display: inline-block; margin-bottom: 6px; font-weight: 700; }
.mw_wp_form table,.mw_wp_form form,.comment-form { width: 100%; }
.mw_wp_form table { border-collapse: collapse; }
.mw_wp_form th,.mw_wp_form td { padding: 14px; border-bottom: 1px solid #dbe7ee; text-align: left; }
.search-results #content,.search-no-results #content { padding-block: 38px; }

/* Widgets and sidebar */
#sidebar { min-width: 0; }
.widget,aside.card,.sidebanner { margin: 0 0 22px; }
.widget ul,#sidebar ul { margin: 0; padding: 0; list-style: none; }
.widget-title,#sidebar h2,#sidebar h3 { color: #14223d; }
.tagcloud { display: flex; flex-wrap: wrap; gap: 8px; }
.tagcloud a { display: inline-flex; padding: 6px 11px; border: 1px solid #dbe7ee; border-radius: 999px; background: #fff; color: #526078; font-size: 12px; text-decoration: none; }
.wp-pagenavi,.pagination { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; margin: 40px 0; }
.wp-pagenavi a,.wp-pagenavi span,.pagination a,.pagination span { display: grid; place-items: center; min-width: 42px; min-height: 42px; padding: 6px; border: 1px solid #dbe7ee; border-radius: 50%; background: #fff; color: #34445b; text-decoration: none; }

/* Tables and commerce foundations */
table { max-width: 100%; }
.usces_cart,.customer_form,.completion_form { width: 100%; border-collapse: collapse; }
.usces_cart th,.usces_cart td,.customer_form th,.customer_form td { padding: 13px; border-bottom: 1px solid #dbe7ee; text-align: left; vertical-align: middle; }
.usces_cart th,.customer_form th { background: #f0f8fb; color: #405066; }
.cart_navi { display: flex; justify-content: center; gap: 8px; margin: 20px 0 34px; padding: 0; list-style: none; }
.cart_navi li { padding: 8px 14px; border-radius: 999px; background: #eaf3f7; color: #6d7b91; }
.cart_navi li.current { background: #17a9d5; color: #fff; }
.send,.customer_button,.to_customerinfo_button,.to_deliveryinfo_button,.to_confirm_button,.checkout_button { min-height: 48px; padding: 11px 24px; border: 0; border-radius: 999px; background: linear-gradient(100deg,#dff7f8,#fff3bd,#f9dce9,#e9dff8); color: #14223d; font-weight: 800; }

/* Gallery, video and ads */
.gallery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.gallery-item { width: auto; margin: 0; }
.movie-wrap,.wp-block-embed__wrapper { position: relative; width: 100%; aspect-ratio: 16/9; overflow: hidden; }
.movie-wrap iframe,.wp-block-embed__wrapper iframe { position: absolute; inset: 0; width: 100%; height: 100%; }
.adsbygoogle { max-width: 100%; overflow: hidden; }

/* Footer baseline */
#foot { width: 100%; }
#logo_footer img { width: 100%; height: auto; }
.sns_footer { display: flex; justify-content: center; align-items: center; gap: 24px; min-height: 58px; margin: 0; padding: 10px 20px; list-style: none; background: #eef3f6; }
.sns_footer a { color: #405066; text-decoration: none; }
#re-top { position: fixed; z-index: 70; right: 20px; bottom: 20px; }
#re-top img { width: 66px; height: 66px; }

@media (max-width: 767px) {
  body { font-size: 15px; }
  .wrap_content,#page { width: min(100% - 28px,680px); }
  .sp-only,.sp-login { display: block; }
  .sp-none,.pc-only,.head-bnr,.head-contact,.box-search { display: none; }
  .head-wrap { display: flex; justify-content: space-between; width: calc(100% - 28px); min-height: 102px; }
  .head-logo { width: 110px; }
  #main-nav .menu-toggle { position: absolute; right: 18px; bottom: calc(100% + 18px); display: grid; place-items: center; width: 60px; height: 60px; border-radius: 50%; background: linear-gradient(145deg,#e8faf9,#fff0b8,#ffdce7,#e6dcfa); color: #14223d; font-size: 24px; text-decoration: none; }
  #main-nav > ul { display: none; grid-template-columns: 1fr; padding: 8px 16px 22px; }
  #main-nav.active > ul,#main-nav.mobile.active > ul,#main-nav.open > ul { display: block; }
  #main-nav > ul > li,#main-nav > ul > li:first-child { border: 0; border-bottom: 1px solid #dbe7ee; }
  #main-nav > ul > li > a { align-items: flex-start; min-height: 68px; padding: 15px 58px 15px 6px; text-align: left; }
  #main-nav > ul > li > a span { margin-top: 4px; }
  #main-nav li > ul { position: static; width: 100%; padding: 0 0 10px 16px; border: 0; border-radius: 0; box-shadow: none; }
  #main-nav .dd-toggle,#main-nav .tct-submenu-toggle { display: grid; place-items: center; width: 48px; height: 48px; }
  .subtitle { min-height: 50px; }
  .alignleft,.alignright { float: none; margin: 18px auto; }
  .gallery { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .usces_cart,.customer_form { display: block; overflow-x: auto; white-space: nowrap; }
  .mw_wp_form table,.mw_wp_form tbody,.mw_wp_form tr,.mw_wp_form th,.mw_wp_form td { display: block; width: 100%; }
  .mw_wp_form th { padding-bottom: 5px; border-bottom: 0; }
  #re-top { right: 12px; bottom: 12px; }
  #re-top img { width: 56px; height: 56px; }
}

@media (prefers-reduced-motion:reduce) { html { scroll-behavior: auto; } *,*::before,*::after { animation-duration:.01ms; animation-iteration-count:1; transition-duration:.01ms; } }

/* ---- current theme layer ---- */
/* Independent V21 theme mapping */
:root { --tct-max: 1440px; }
body { min-width: 0; overflow-x:clip; }
img,svg,video,iframe { max-width:100%; }
.skip-link:focus { position: fixed; z-index: 9999; top: 10px; left: 10px; width: auto; height: auto; padding: 10px 16px; clip: auto; background: #fff; }

#head .head-wrap { display:grid; grid-template-columns:minmax(150px,1fr) auto 220px; align-items:center; gap:14px; box-sizing:border-box; width:min(1180px,calc(100% - 48px)); min-height:70px; padding:7px 0; }
#head .head-bnr { display:none; }
#head .head-logo { display:flex; align-items:center; min-width:0; }
#head .head-logo a { display:inline-flex; align-items:center; padding:4px 9px; border-radius:16px; transition:background .18s ease,transform .18s ease; }
#head .head-logo a:hover { background:#f6fafc; transform:translateY(-1px); }
#head .head-logo a:focus-visible { outline:3px solid #087fa5; outline-offset:3px; }
#head .head-logo img { display:block; width:96px; height:60px; max-height:60px; object-fit:contain; object-position:left center; }
.tct-wordmark { display: inline-block; color: #594536; font-size: 10px; line-height: 1.1; text-align: center; }
.tct-wordmark b { color: #17a9d5; font-size: 8px; }
#head .head-contact { display:flex; align-items:center; justify-content:center; }
#head .head-contact > :not(.btn-login),#head .head-contact p { display:none; }
#head .box-search { align-self:center; }
#head .btn-login { position:relative; display:inline-flex; align-items:center; justify-content:center; min-width:92px; min-height:38px; padding:6px 15px 6px 28px; border:1px solid #dce6eb; border-radius:999px; background:#fff; color:var(--tct-ink); font-size:12px; font-weight:800; text-decoration:none; box-shadow:none; transition:border-color .18s ease,background .18s ease; }
#head .btn-login::before { position:absolute; left:14px; width:7px; height:7px; border-radius:50%; background:#f2ce55; content:""; }
#head .btn-login:hover { border-color:#bfcdd6; background:#fbfcfd; transform:none; box-shadow:none; }
#head .btn-login:focus-visible { outline:3px solid #087fa5; outline-offset:3px; }
#head .box-search form,.search-form { display:flex; overflow:hidden; border:1px solid #dce6eb; border-radius:999px; background:#fbfcfd; box-shadow:none; transition:border-color .18s ease,background .18s ease; }
#head .box-search .search-form { width:100%; }
#head .box-search .search-form:focus-within { border-color:#8fcddd; background:#fff; box-shadow:0 0 0 3px rgba(10,163,204,.08); }
.search-form label { flex: 1; margin: 0; }
.search-form input[type="search"] { width:100%; height:38px; min-height:38px; padding:0 14px 0 2px; border:0; border-radius:0; background:transparent; outline:0; color:#26364d; font-size:12px; font-weight:650; }
.search-form input[type="search"]::placeholder { color:#5f6875; opacity:1; }
.search-form button { flex:0 0 42px; width:42px; min-height:38px; padding:0; border:0; border-radius:0; background:transparent; color:#14213d; font-size:20px; box-shadow:none; }
.tct-menu-button { display: none; }

#main-nav > .menu-primary-container > ul,#main-nav > ul { display: grid; grid-template-columns: repeat(8,minmax(0,1fr)); width: 100%; max-width: none; margin: 0; padding: 0 34px; list-style: none; }
#main-nav > div > ul > li,#main-nav > ul > li { position: relative; min-width: 0; }
#main-nav > div > ul > li::before,#main-nav > ul > li::before { position: absolute; top: 13px; right: 12%; left: 12%; height: 5px; border-radius: 999px; background: #0aa3cc; content: ""; }
#main-nav li:nth-child(2)::before { background:#65ad29; } #main-nav li:nth-child(3)::before { background:#e99500; } #main-nav li:nth-child(4)::before { background:#ff5a42; } #main-nav li:nth-child(5)::before { background:#ef286a; } #main-nav li:nth-child(6)::before { background:#7049e8; } #main-nav li:nth-child(7)::before,#main-nav li:nth-child(8)::before { background:#0799b2; }
#main-nav > div > ul > li > a,#main-nav > ul > li > a { display:flex; flex-direction:column; justify-content:center; min-height:132px; padding:30px 8px 14px; text-align:center; }
#main-nav .sub-menu { position:absolute; z-index:80; top:100%; left:0; display:none; width:280px; margin:0; padding:10px; border:1px solid var(--tct-line); border-radius:0 0 15px 15px; background:#fff; box-shadow:var(--tct-shadow); list-style:none; }
#main-nav li:hover > .sub-menu,#main-nav li:focus-within > .sub-menu { display:block; }
#main-nav .sub-menu a { display:block; padding:10px; color:var(--tct-text); font-size:12px; }
.tct-submenu-button { display:none; }

@media (min-width:921px) {
  #main-nav > ul { display:flex; align-items:stretch; justify-content:center; gap:0; width:100%; max-width:none; margin:0 auto; padding:3px 16px; }
  #main-nav > ul > li { flex:1 1 12.5%; width:12.5%; max-width:none; min-width:0; padding:0 5px; }
  #main-nav > ul > li::before { top:0; right:13%; left:13%; height:3px; }
  #main-nav > ul > li > a { display:flex; align-items:center; justify-content:center; flex-direction:column; min-height:66px; margin:0; padding:9px 5px 6px; border:0; border-radius:18px; font-size:11px; font-weight:850; letter-spacing:.08em; line-height:1.18; text-align:center; }
  #main-nav > ul > li > a span { position:static; display:block; margin:2px 0 0; color:currentColor; font-size:8px; font-weight:650; letter-spacing:0; line-height:1.18; opacity:.8; }
  #head .subtitle { padding:6px 24px; font-size:9px; font-weight:800; letter-spacing:.13em; }
  #main-nav > div > ul > li,#main-nav > ul > li { --tct-menu-accent:#0aa3cc; }
  #main-nav > div > ul > li:nth-child(2),#main-nav > ul > li:nth-child(2) { --tct-menu-accent:#65ad29; }
  #main-nav > div > ul > li:nth-child(3),#main-nav > ul > li:nth-child(3) { --tct-menu-accent:#e99500; }
  #main-nav > div > ul > li:nth-child(4),#main-nav > ul > li:nth-child(4) { --tct-menu-accent:#ff553d; }
  #main-nav > div > ul > li:nth-child(5),#main-nav > ul > li:nth-child(5) { --tct-menu-accent:#ef286a; }
  #main-nav > div > ul > li:nth-child(6),#main-nav > ul > li:nth-child(6) { --tct-menu-accent:#7049e8; }
  #main-nav > div > ul > li:nth-child(7),#main-nav > ul > li:nth-child(7),#main-nav > div > ul > li:nth-child(8),#main-nav > ul > li:nth-child(8) { --tct-menu-accent:#0799b2; }
  #main-nav > div > ul > li:hover > a,#main-nav > div > ul > li:focus-within > a,#main-nav > ul > li:hover > a,#main-nav > ul > li:focus-within > a,#main-nav > ul > li > a:hover,#main-nav > ul > li > a:focus-visible,#main-nav > ul > li.current-menu-item > a,#main-nav > ul > li.current-menu-ancestor > a { overflow:hidden; color:var(--tct-ink); border-radius:22px; background:#fafbfc; box-shadow:0 10px 28px rgba(21,33,59,.07); transform:none; }
  #main-nav > ul > li > a:focus-visible,#main-nav .sub-menu a:focus-visible { outline:3px solid var(--tct-menu-accent); outline-offset:2px; }
  #main-nav .sub-menu { top:calc(100% - 3px); left:50%; width:280px; padding:43px 14px 12px; border:2px solid var(--tct-menu-accent); border-radius:20px; background:#fffaf8; box-shadow:0 16px 36px rgba(21,33,59,.15); transform:translateX(-50%); }
  #main-nav .sub-menu::before { position:absolute; top:15px; left:18px; color:var(--tct-menu-accent); font-size:9px; font-weight:900; letter-spacing:.18em; content:"SELECT CATEGORY"; }
  #main-nav .sub-menu li { margin:0; padding:0; border:0; }
  #main-nav .sub-menu a { position:relative; display:flex; align-items:center; min-height:48px; padding:8px 48px 8px 10px; border:0; border-radius:12px; color:var(--tct-ink); font-size:13px; font-weight:800; line-height:1.4; }
  #main-nav .sub-menu a::after { position:absolute; right:9px; top:50%; width:30px; height:30px; border-radius:50%; background:#fff; box-shadow:0 4px 12px rgba(21,33,59,.05); content:""; transform:translateY(-50%); }
  #main-nav .sub-menu a:hover,#main-nav .sub-menu a:focus { background:rgba(255,255,255,.7); color:var(--tct-menu-accent); }
  #main-nav > div > ul > li:first-child .sub-menu { left:12%; transform:none; }
  #main-nav > div > ul > li:last-child .sub-menu { right:12%; left:auto; transform:none; }
}

.breadcrumbs { width:min(1240px,100%); margin:0 auto; padding:20px 0 14px; }
.breadcrumbs ol { display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; list-style:none; color:var(--tct-muted); font-size:12px; }
.breadcrumbs li:not(:last-child)::after { margin-left:8px; content:"/"; color:#9aabba; }
.breadcrumbs a { color:#118eb4; }
.tct-article-page > .breadcrumbs { box-sizing:border-box; margin-bottom:24px; padding:17px 2px 15px; border:0; border-bottom:1px solid #dce6eb; border-radius:0; background:transparent; box-shadow:none; }
.tct-article-page > .breadcrumbs ol { align-items:center; gap:8px; color:#7b8799; font-size:11px; line-height:1.55; }
.tct-article-page > .breadcrumbs li { min-width:0; }
.tct-article-page > .breadcrumbs li:not(:last-child)::after { margin-left:8px; color:#b4bec9; content:"/"; }
.tct-article-page > .breadcrumbs [aria-current="page"] { overflow:hidden; color:#7b8799; font-weight:500; text-overflow:ellipsis; white-space:nowrap; }
.tct-article-page > .breadcrumbs a { color:#405069; font-weight:750; text-decoration:none; text-underline-offset:4px; }
.tct-article-page > .breadcrumbs a:hover { color:#087fa5; text-decoration:underline; }

.tct-home-main { padding-bottom:70px; }
.tct-home-main > .tct-native-hero { width:min(1440px,calc(100% - 48px)); min-height:clamp(420px,44vw,650px); margin:42px auto 72px; }
.tct-home-main > .wrap_content { width:min(var(--tct-max),calc(100% - 48px)); }
.tct-native-hero__viewport,.tct-native-hero__slide,.tct-native-hero__link { position:absolute; inset:0; width:100%; height:100%; }
.tct-native-hero { position:relative; overflow:hidden; border:5px solid rgba(255,255,255,.96); border-radius:30px; background:#dfe9ee; box-shadow:0 18px 48px rgba(21,33,59,.14),0 0 0 1px var(--tct-line); }
.tct-native-hero__slide { opacity:0; pointer-events:none; transition:opacity .45s ease; }
.tct-native-hero__slide.is-active { opacity:1; pointer-events:auto; }
.tct-native-hero__slide img { width:100%; height:100%; object-fit:cover; }
.tct-native-hero__shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(10,23,45,.78) 0%,rgba(10,23,45,.56) 34%,rgba(10,23,45,.08) 72%,transparent 100%); }
.tct-native-hero__content { position:absolute; right:7%; bottom:9%; left:7%; max-width:760px; padding:0; color:#fff; }
.tct-native-hero__content em { display:inline-flex; padding:7px 13px; border:1px solid rgba(255,255,255,.55); border-radius:999px; background:rgba(255,255,255,.92); color:var(--tct-ink); font-style:normal; font-size:11px; font-weight:850; box-shadow:0 8px 22px rgba(8,19,38,.16); }
.tct-native-hero__content strong { display:block; max-width:720px; margin:16px 0; color:#fff; font-size:clamp(30px,3.8vw,56px); line-height:1.25; letter-spacing:-.035em; text-wrap:balance; text-shadow:0 3px 18px rgba(0,0,0,.22); }
.tct-native-hero__cta { display:inline-flex; align-items:center; min-height:40px; padding:8px 15px; border:1px solid rgba(255,255,255,.5); border-radius:999px; background:rgba(255,255,255,.14); color:#fff; font-size:12px; font-weight:800; backdrop-filter:blur(10px); }
.tct-native-hero__arrow { position:absolute; z-index:4; top:50%; display:grid; place-items:center; width:48px; height:48px; padding:0; border:1px solid rgba(255,255,255,.6); border-radius:50%; background:rgba(255,255,255,.86); color:var(--tct-ink); font-size:26px; box-shadow:0 10px 28px rgba(8,19,38,.16); backdrop-filter:blur(10px); transform:translateY(-50%); }
.tct-native-hero__prev { left:24px; } .tct-native-hero__next { right:24px; }
.tct-native-hero__dots { position:absolute; z-index:4; top:auto; bottom:20px; left:50%; display:flex; gap:7px; padding:7px 10px; border-radius:999px; background:rgba(255,255,255,.16); backdrop-filter:blur(10px); transform:translateX(-50%); }
.tct-native-hero__dots button { width:7px; height:7px; min-width:7px; min-height:7px; margin:0; padding:0; border:0; border-radius:50%; background:rgba(255,255,255,.58); box-shadow:none; }
.tct-native-hero__dots button.is-active { width:22px; border-radius:999px; background:#fff; }

/* Editorial TOP slider — TEAM CAFE TOKYO */
.tct-home-main > .tct-native-hero {
  width:min(1510px,calc(100% - 56px));
  min-height:clamp(560px,50vw,760px);
  margin:78px auto 86px;
  overflow:visible;
  border:0;
  border-radius:0 30px 30px 30px;
  background:#8edcf0;
  box-shadow:none;
  isolation:isolate;
}
.tct-native-hero::before {
  position:absolute;
  z-index:-2;
  inset:-38px;
  border-radius:0 42px 42px 42px;
  background:linear-gradient(125deg,#86dced 0%,#a7e8f1 52%,#d8f5ed 100%);
  content:"";
  box-shadow:0 24px 54px rgba(34,109,137,.18);
}
.tct-native-hero::after {
  display:none;
  content:none;
}
.tct-native-hero__viewport {
  overflow:hidden;
  border-radius:0 28px 28px 28px;
  background:#101320;
  box-shadow:0 18px 45px rgba(16,30,48,.2);
}
.tct-native-hero__slide img { filter:saturate(.88) contrast(1.03); transform:scale(1.01); }
.tct-native-hero__slide.is-active img { animation:tctHeroDrift 8s ease-out both; }
.tct-native-hero__shade { background:linear-gradient(90deg,rgba(7,14,29,.87) 0%,rgba(7,14,29,.63) 39%,rgba(7,14,29,.12) 74%,rgba(7,14,29,.2)); }
.tct-native-hero__brand {
  position:absolute;
  z-index:6;
  top:-67px;
  left:50%;
  display:flex;
  align-items:center;
  gap:.08em;
  color:#fff;
  font-size:clamp(58px,7.5vw,118px);
  font-weight:1000;
  line-height:.82;
  letter-spacing:-.085em;
  text-shadow:0 8px 30px rgba(25,89,111,.14);
  transform:translateX(-50%);
  white-space:nowrap;
  pointer-events:none;
}
.tct-native-hero__content { right:25%; bottom:11%; left:6%; max-width:820px; }
.tct-native-hero__content em { padding:0; border:0; border-radius:0; background:transparent; color:#9fe7f4; font-size:10px; letter-spacing:.2em; box-shadow:none; }
.tct-native-hero__content strong { max-width:800px; margin:12px 0 18px; font-size:clamp(30px,3.35vw,52px); line-height:1.3; }
.tct-native-hero__cta { gap:10px; min-height:0; padding:0 0 7px; border:0; border-bottom:1px solid rgba(255,255,255,.72); border-radius:0; background:transparent; font-size:11px; letter-spacing:.13em; backdrop-filter:none; }
.tct-native-hero__cta b { font-size:15px; transition:transform .2s ease; }
.tct-native-hero__link:hover .tct-native-hero__cta b { transform:translateX(5px); }
.tct-native-hero__arrow { top:auto; bottom:24px; width:46px; height:46px; border:1px solid rgba(255,255,255,.76); background:transparent; color:#fff; font-size:21px; box-shadow:none; transform:none; }
.tct-native-hero__prev { left:28px; }
.tct-native-hero__next { right:auto; left:176px; }
.tct-native-hero__count { position:absolute; z-index:5; bottom:35px; left:87px; display:flex; align-items:center; gap:9px; color:#fff; font-size:11px; font-weight:850; line-height:1; }
.tct-native-hero__count i { width:34px; height:1px; background:rgba(255,255,255,.82); }
.tct-native-hero__count small { color:rgba(255,255,255,.55); font-size:10px; }
.tct-native-hero__dots { right:28px; bottom:24px; left:auto; gap:6px; padding:9px 11px; transform:none; }
.tct-native-hero__frame-mark { position:absolute; z-index:6; right:5.4%; bottom:6%; width:68px; aspect-ratio:1; border:2px solid #fff; border-radius:50%; pointer-events:none; }
.tct-native-hero__frame-mark::before { position:absolute; inset:10px; display:grid; place-items:center; border-radius:50%; background:#fff; color:#57b9d1; font-size:8px; font-weight:950; letter-spacing:.06em; content:"TCT"; }
@keyframes tctHeroDrift { from { transform:scale(1.01); } to { transform:scale(1.065); } }

@media (max-width:920px) {
  .tct-home-main > .tct-native-hero { min-height:clamp(480px,75vw,650px); margin-top:62px; }
  .tct-native-hero__brand { top:-48px; font-size:clamp(47px,10vw,82px); }
  .tct-native-hero__content { right:19%; bottom:14%; }
}

@media (max-width:600px) {
  .tct-home-main > .tct-native-hero { width:calc(100% - 28px); min-height:500px; margin:48px auto 54px; border-radius:0 22px 22px 22px; }
  .tct-native-hero::before { inset:-12px; border-radius:0 28px 28px 28px; }
  .tct-native-hero__viewport { border-radius:0 20px 20px 20px; }
  .tct-native-hero__brand { top:-31px; gap:.07em; font-size:clamp(32px,10.6vw,52px); }
  .tct-native-hero__content { right:18px; bottom:104px; left:20px; }
  .tct-native-hero__content strong { margin:10px 0 14px; font-size:clamp(25px,7.7vw,35px); }
  .tct-native-hero__arrow { bottom:22px; width:42px; height:42px; }
  .tct-native-hero__prev { left:18px; }
  .tct-native-hero__next { left:150px; }
  .tct-native-hero__count { bottom:33px; left:69px; }
  .tct-native-hero__dots { display:none; }
  .tct-native-hero__frame-mark { right:11px; bottom:15px; width:48px; }
  .tct-native-hero__frame-mark::before { inset:7px; font-size:6px; }
}

@media (prefers-reduced-motion:reduce) {
  .tct-native-hero__slide.is-active img { animation:none; }
}

/* Instagrammer archive */
.tct-instagram-archive { min-height:70vh; padding:0 24px 86px; background:radial-gradient(circle at 5% 12%,rgba(144,224,239,.18),transparent 29rem),radial-gradient(circle at 96% 28%,rgba(255,211,226,.46),transparent 30rem),#f7fafc; }
.tct-instagram-archive__hero { position:relative; overflow:hidden; width:min(1240px,100%); margin:0 auto 38px; padding:clamp(34px,5vw,64px); border:1px solid var(--tct-line); border-radius:28px; background:var(--tct-pastel-spectrum); box-shadow:0 16px 44px rgba(21,33,59,.09); }
.tct-instagram-archive__hero::after { position:absolute; right:-55px; bottom:-80px; width:250px; height:250px; border:38px solid rgba(255,255,255,.45); border-radius:50%; content:""; }
.tct-instagram-archive__hero p { margin:0 0 12px; color:#68768a; font-size:10px; font-weight:900; letter-spacing:.22em; }
.tct-instagram-archive__hero h1 { position:relative; z-index:1; max-width:820px; margin:0; color:var(--tct-ink); font-size:clamp(34px,5vw,64px); font-weight:950; line-height:1.15; letter-spacing:-.055em; }
.tct-instagram-archive__hero span { position:relative; z-index:1; display:block; margin-top:18px; color:var(--tct-muted); font-size:14px; }
.tct-instagram-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; width:min(1240px,100%); margin:0 auto; }
.tct-instagram-card { --person-accent:#9edff0; overflow:hidden; min-width:0; border:1px solid var(--tct-line); border-top:8px solid var(--person-accent); border-radius:24px; background:#fff; box-shadow:0 13px 34px rgba(21,33,59,.08); transition:transform .24s ease,box-shadow .24s ease; }
.tct-instagram-card:nth-child(4n + 2) { --person-accent:#c9e7a2; }
.tct-instagram-card:nth-child(4n + 3) { --person-accent:#f6da79; }
.tct-instagram-card:nth-child(4n) { --person-accent:#f2abc5; }
.tct-instagram-card:hover { transform:translateY(-6px); box-shadow:0 20px 46px rgba(21,33,59,.14); }
.tct-instagram-card > a { display:flex; height:100%; flex-direction:column; color:var(--tct-ink); text-decoration:none; }
.tct-instagram-card__image { display:block; overflow:hidden; width:100%; aspect-ratio:4/5; background:#e9f2f5; }
.tct-instagram-card__image img,.tct-instagram-card__image .tct-image-placeholder { display:block; width:100%; height:100%; object-fit:cover; transition:transform .42s ease; }
.tct-instagram-card:hover .tct-instagram-card__image img { transform:scale(1.045); }
.tct-instagram-card__body { display:flex; flex:1; flex-direction:column; align-items:flex-start; padding:20px 20px 22px; }
.tct-instagram-card__body small { margin-bottom:9px; color:#087fa5; font-size:9px; font-weight:900; letter-spacing:.18em; }
.tct-instagram-card__body strong { display:block; color:var(--tct-ink); font-size:17px; font-weight:850; line-height:1.55; overflow-wrap:anywhere; }
.tct-instagram-card__body > span { display:inline-flex; align-items:center; gap:9px; margin-top:auto; padding-top:18px; color:#657186; font-size:9px; font-weight:850; letter-spacing:.13em; }
.tct-instagram-card__body b { color:#087fa5; font-size:14px; transition:transform .2s ease; }
.tct-instagram-card:hover .tct-instagram-card__body b { transform:translateX(4px); }
.tct-instagram-pagination { display:flex; justify-content:center; gap:9px; width:min(1240px,100%); margin:38px auto 0; }
.tct-instagram-pagination .page-numbers { display:grid; place-items:center; width:46px; height:46px; border:1px solid var(--tct-line); border-radius:50%; background:#fff; color:var(--tct-ink); font-size:12px; font-weight:850; text-decoration:none; box-shadow:0 7px 18px rgba(21,33,59,.06); }
.tct-instagram-pagination .current { background:var(--tct-pastel-spectrum); }
.tct-instagram-pagination a:hover { transform:translateY(-2px); }
@media (max-width:920px) { .tct-instagram-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px) {
  .tct-instagram-archive { padding:0 14px 58px; }
  .tct-instagram-archive__hero { margin-bottom:24px; padding:30px 22px; border-radius:21px; }
  .tct-instagram-archive__hero h1 { font-size:clamp(30px,10vw,44px); }
  .tct-instagram-archive__hero span { font-size:12px; line-height:1.7; }
  .tct-instagram-grid { grid-template-columns:1fr; gap:18px; }
  .tct-instagram-card { display:grid; border-top-width:7px; border-radius:20px; }
  .tct-instagram-card > a { display:grid; grid-template-columns:42% 1fr; }
  .tct-instagram-card__image { height:100%; min-height:220px; aspect-ratio:auto; }
  .tct-instagram-card__body { padding:18px 16px; }
  .tct-instagram-card__body strong { font-size:15px; }
}
@media (prefers-reduced-motion:reduce) {
  .tct-instagram-card,.tct-instagram-card__image img,.tct-instagram-card__body b,.tct-instagram-pagination a { transition:none; }
}

/* Restored legacy Instagram article content */
.tct-legacy-instagram { color:var(--tct-text); font-size:16px; line-height:1.95; }
.tct-legacy-instagram > .instagram-img { display:none; }
.tct-legacy-instagram .box_post { float:none; overflow:hidden; width:100%; margin:0 0 24px; padding:clamp(22px,4vw,38px); border:1px solid var(--tct-line); border-radius:20px; background:#fff; box-shadow:0 10px 28px rgba(21,33,59,.06); }
.tct-legacy-instagram .box_post_reviewer > .clearfix { display:grid; grid-template-columns:180px minmax(0,1fr); align-items:center; gap:28px; }
.tct-legacy-instagram .img_fav_menu,.tct-legacy-instagram .box_content_right { float:none; width:auto; max-width:none; }
.tct-legacy-instagram .img_fav_menu img { width:100%; max-width:100%; height:auto; margin:0; border-radius:16px; }
.tct-legacy-instagram .box_post_instagram > .clearfix { display:grid; grid-template-columns:minmax(0,1fr); gap:18px; }
.tct-legacy-instagram .box_post_instagram .img_fav_menu p { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:0; }
.tct-legacy-instagram .box_post_instagram .img_fav_menu picture { display:block; }
.tct-legacy-instagram h3.instagram { display:inline-flex; margin:0 auto 8px; padding:10px 18px; border-radius:999px; background:var(--tct-pastel-spectrum); color:var(--tct-ink); font-size:15px; font-weight:900; }
.tct-legacy-instagram .title_post { margin:0 0 14px; color:var(--tct-ink); font-size:clamp(20px,2.3vw,27px); font-weight:900; line-height:1.5; }
.tct-legacy-instagram .title_post a { color:#087fa5; }
.tct-legacy-instagram p { margin:0 0 1.35em; font-size:15px; line-height:1.95; }
.tct-legacy-instagram table.INFO { width:100%; margin:24px 0 0; border-collapse:separate; border-spacing:0; overflow:hidden; border:1px solid var(--tct-line); border-radius:14px; }
.tct-legacy-instagram table.INFO th,.tct-legacy-instagram table.INFO td { padding:12px 14px; border:0; border-bottom:1px solid #e4ebef; text-align:left; vertical-align:top; }
.tct-legacy-instagram table.INFO th { width:8em; background:#eef9fc; color:var(--tct-ink); white-space:nowrap; }
.tct-legacy-instagram table.INFO tr:last-child > * { border-bottom:0; }
@media (max-width:600px) {
  .tct-legacy-instagram { font-size:15px; }
  .tct-legacy-instagram .box_post { margin-bottom:18px; padding:20px 16px; border-radius:16px; }
  .tct-legacy-instagram .box_post_reviewer > .clearfix { grid-template-columns:1fr; gap:18px; }
  .tct-legacy-instagram .box_post_reviewer .img_fav_menu { width:140px; }
  .tct-legacy-instagram .box_post_instagram .img_fav_menu p { grid-template-columns:1fr; }
  .tct-legacy-instagram table.INFO,.tct-legacy-instagram table.INFO tbody,.tct-legacy-instagram table.INFO tr,.tct-legacy-instagram table.INFO th,.tct-legacy-instagram table.INFO td { display:block; width:100%; }
  .tct-legacy-instagram table.INFO th { padding-bottom:5px; border-bottom:0; white-space:normal; }
  .tct-legacy-instagram table.INFO td { padding-top:5px; }
}

/* Clean header chrome */
#head { border-bottom:0; }
#main-nav { border-top:0; }
#head .head-logo a:hover,#head .head-logo a:focus { background:transparent; box-shadow:none; }

/* Cafe and recipe CPT archives */
.tct-cpt-archive { min-height:70vh; padding:0 24px 88px; background:radial-gradient(circle at 5% 12%,rgba(144,224,239,.18),transparent 29rem),radial-gradient(circle at 96% 28%,rgba(255,211,226,.42),transparent 30rem),#f7fafc; }
.tct-cpt-archive .tct-breadcrumbs { width:min(1240px,100%); margin:0 auto 18px; padding-top:18px; }
.tct-cpt-archive__hero { position:relative; overflow:hidden; width:min(1240px,100%); margin:0 auto 38px; padding:clamp(34px,5vw,64px); border:1px solid var(--tct-line); border-radius:28px; background:var(--tct-pastel-spectrum); box-shadow:0 16px 44px rgba(21,33,59,.09); }
.tct-cpt-archive__hero::after { position:absolute; right:-60px; bottom:-95px; width:260px; height:260px; border:38px solid rgba(255,255,255,.44); border-radius:50%; content:""; }
.tct-cpt-archive__hero p { margin:0 0 12px; color:#68768a; font-size:10px; font-weight:900; letter-spacing:.22em; }
.tct-cpt-archive__hero h1 { position:relative; z-index:1; margin:0; color:var(--tct-ink); font-size:clamp(34px,5vw,62px); font-weight:950; line-height:1.15; letter-spacing:-.05em; }
.tct-cpt-archive__hero span { position:relative; z-index:1; display:block; margin-top:18px; color:var(--tct-muted); font-size:14px; line-height:1.8; }
.tct-cpt-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; width:min(1240px,100%); margin:0 auto; }
.tct-cpt-card { --card-accent:#8fdcf0; overflow:hidden; min-width:0; border:1px solid var(--tct-line); border-top:12px solid var(--card-accent); border-radius:24px; background:#fff; box-shadow:0 13px 34px rgba(21,33,59,.08); transition:transform .24s ease,box-shadow .24s ease; }
.tct-cpt-card:nth-child(4n + 2) { --card-accent:#bfe596; }
.tct-cpt-card:nth-child(4n + 3) { --card-accent:#f5d76e; }
.tct-cpt-card:nth-child(4n) { --card-accent:#f2a8c2; }
.tct-cpt-card:hover { transform:translateY(-6px); box-shadow:0 20px 46px rgba(21,33,59,.14); }
.tct-cpt-card > a { display:flex; height:100%; flex-direction:column; color:var(--tct-ink); text-decoration:none; }
.tct-cpt-card__image { display:block; overflow:hidden; width:100%; aspect-ratio:4/3; margin:0; background:#e9f2f5; }
.tct-cpt-card__image img,.tct-cpt-card__image .tct-image-placeholder { display:block; width:100%; height:100%; object-fit:cover; transition:transform .42s ease; }
.tct-cpt-card:hover .tct-cpt-card__image img { transform:scale(1.045); }
.tct-cpt-card__body { display:flex; flex:1; flex-direction:column; align-items:flex-start; padding:23px 22px 25px; }
.tct-cpt-card__body small { margin-bottom:9px; color:#087fa5; font-size:10px; font-weight:900; letter-spacing:.18em; }
.tct-cpt-card__body h2 { margin:0; color:var(--tct-ink); font-size:clamp(19px,1.7vw,24px); font-weight:900; line-height:1.52; letter-spacing:-.025em; }
.tct-cpt-card__body p { margin:14px 0 0; color:var(--tct-muted); font-size:13px; line-height:1.85; }
.tct-cpt-card__body > span { display:inline-flex; align-items:center; gap:9px; margin-top:auto; padding-top:20px; color:#657186; font-size:11px; font-weight:850; letter-spacing:.12em; }
.tct-cpt-card__body b { color:#087fa5; font-size:15px; transition:transform .2s ease; }
.tct-cpt-card:hover .tct-cpt-card__body b { transform:translateX(4px); }
.tct-cpt-archive__empty { width:min(1240px,100%); margin:0 auto; padding:42px; border:1px solid var(--tct-line); border-radius:22px; background:#fff; color:var(--tct-muted); text-align:center; }
@media (max-width:900px) { .tct-cpt-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px) {
  .tct-cpt-archive { padding:0 14px 58px; }
  .tct-cpt-archive__hero { margin-bottom:24px; padding:30px 22px; border-radius:21px; }
  .tct-cpt-grid { grid-template-columns:1fr; gap:18px; }
  .tct-cpt-card { border-radius:20px; }
  .tct-cpt-card > a { display:grid; grid-template-columns:42% minmax(0,1fr); }
  .tct-cpt-card__image { height:100%; min-height:230px; aspect-ratio:auto; }
  .tct-cpt-card__body { padding:18px 16px; }
  .tct-cpt-card__body h2 { font-size:17px; }
  .tct-cpt-card__body p { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
}

/* Authoritative card-top accents */
.tct-post-card,.box_content_top > li,.tct-archive-grid > article,.tct-instagram-card,body.page-id-17020 .elementor-17020 .elementor-widget-wrap.elementor-element-populated {
  border-top-width:12px;
  border-top-style:solid;
}
.tct-post-card:nth-child(4n + 1),.box_content_top > li:nth-child(4n + 1),.tct-archive-grid > article:nth-child(4n + 1),.tct-instagram-card:nth-child(4n + 1),body.page-id-17020 .elementor-17020 .elementor-column:nth-child(4n + 1) .elementor-widget-wrap { border-top-color:#8fdcf0; }
.tct-post-card:nth-child(4n + 2),.box_content_top > li:nth-child(4n + 2),.tct-archive-grid > article:nth-child(4n + 2),.tct-instagram-card:nth-child(4n + 2),body.page-id-17020 .elementor-17020 .elementor-column:nth-child(4n + 2) .elementor-widget-wrap { border-top-color:#bfe596; }
.tct-post-card:nth-child(4n + 3),.box_content_top > li:nth-child(4n + 3),.tct-archive-grid > article:nth-child(4n + 3),.tct-instagram-card:nth-child(4n + 3),body.page-id-17020 .elementor-17020 .elementor-column:nth-child(4n + 3) .elementor-widget-wrap { border-top-color:#f5d76e; }
.tct-post-card:nth-child(4n),.box_content_top > li:nth-child(4n),.tct-archive-grid > article:nth-child(4n),.tct-instagram-card:nth-child(4n),body.page-id-17020 .elementor-17020 .elementor-column:nth-child(4n) .elementor-widget-wrap { border-top-color:#f2a8c2; }

.tct-post-card { display:flex; overflow:hidden; flex-direction:column; box-sizing:border-box; min-width:0; height:100%; border:1px solid var(--tct-line); border-top:8px solid #a9dff3; border-radius:20px; background:#fff; box-shadow:0 12px 30px rgba(21,33,59,.08); transition:transform .2s ease,box-shadow .2s ease; }
.tct-post-card:nth-child(4n + 2) { border-top-color:#cce7a8; }
.tct-post-card:nth-child(4n + 3) { border-top-color:#f7d973; }
.tct-post-card:nth-child(4n) { border-top-color:#f3abc1; }
.tct-post-card:hover { transform:translateY(-4px); box-shadow:0 18px 40px rgba(21,33,59,.13); }
.tct-post-card:focus-within { outline:3px solid #087fa5; outline-offset:3px; }
.tct-post-card h2 { margin:0; font-size:clamp(16px,1.35vw,19px); line-height:1.5; }
.tct-post-card .category_post { font-size:11px; }
.tct-post-card .tct-card-date { font-size:10px; }
.tct-post-card .tct-card-image { display:block; flex:0 0 auto; width:100%; }
.tct-post-card .list_inner { position:static; display:flex; flex:1 1 auto; width:100%; height:auto; opacity:1; visibility:visible; background:#fff; }
.tct-post-card .list_inner_wrap { position:static; display:flex; flex:1; flex-direction:column; width:100%; height:auto; opacity:1; visibility:visible; }
.tct-post-card .list_inner_wrap > p:last-child { margin-top:14px; color:var(--tct-muted); font-size:12px; line-height:1.75; }
/* Color accents for native cards and legacy lists that do not use .tct-post-card. */
.box_content_top > li:not(.tct-post-card),.tct-archive-grid > article:not(.tct-post-card),.related-box > li { overflow:hidden; border-top:8px solid #a9dff3; border-radius:20px; }
.box_content_top > li:not(.tct-post-card):nth-child(4n + 2),.tct-archive-grid > article:not(.tct-post-card):nth-child(4n + 2),.related-box > li:nth-child(4n + 2) { border-top-color:#cce7a8; }
.box_content_top > li:not(.tct-post-card):nth-child(4n + 3),.tct-archive-grid > article:not(.tct-post-card):nth-child(4n + 3),.related-box > li:nth-child(4n + 3) { border-top-color:#f7d973; }
.box_content_top > li:not(.tct-post-card):nth-child(4n),.tct-archive-grid > article:not(.tct-post-card):nth-child(4n),.related-box > li:nth-child(4n) { border-top-color:#f3abc1; }
.tct-home-main > .wrap_content { box-sizing:border-box; min-width:0; }
.title_fav_menu,.tct-section-heading h2,.tct-archive-header h1,.tct-page-title h1,.tct-product-title h1 { box-sizing:border-box; max-width:100%; white-space:normal; word-break:auto; overflow-wrap:anywhere; }
.title_fav_menu { padding-right:clamp(0px,2vw,24px); font-size:clamp(27px,3vw,42px); line-height:1.28; text-wrap:balance; }
.box_post > .title_fav_menu,.tct-area-section > .title_fav_menu { box-sizing:border-box; width:min(1240px,100%); max-width:1240px; margin-right:auto; margin-left:auto; }
.box_post > .box_content_top,.tct-list-page .box_content_top { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); justify-content:center; width:min(1240px,100%); max-width:1240px; margin-right:auto; margin-left:auto; gap:22px; }
.box_post > .box_content_top > .tct-post-card,.tct-list-page .box_content_top > .tct-post-card { width:100%; max-width:294px; min-height:0; }
.box_post > .box_content_top > .tct-post-card .tct-card-image,.tct-list-page .box_content_top > .tct-post-card .tct-card-image { aspect-ratio:4/3; }
.box_post > .box_content_top > .tct-post-card .tct-card-image img,.tct-list-page .box_content_top > .tct-post-card .tct-card-image img { width:100%; height:100%; aspect-ratio:4/3; object-fit:cover; }
.box_post > .box_content_top > .tct-post-card .list_inner_wrap,.tct-list-page .box_content_top > .tct-post-card .list_inner_wrap { padding:18px 19px 22px; }
.tct-home-main .box_post > .box_content_top { grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.tct-home-main .box_post > .box_content_top > .tct-post-card { max-width:394px; }
.tct-home-main .tct-area-grid { grid-template-columns:repeat(3,minmax(0,1fr)); max-width:1240px; margin-right:auto; margin-left:auto; gap:28px; }
.tct-image-placeholder { display:block; aspect-ratio:3/2; background:var(--tct-pastel-spectrum); }
.tct-list-page { width:min(1240px,calc(100% - 48px)); max-width:1240px; padding:22px 0 90px; }
.tct-list-page > .breadcrumbs { width:100%; padding:18px 0 20px; }
.tct-archive-header,.tct-page-title,.tct-product-title { margin:0 0 42px; padding:46px 50px; border:1px solid var(--tct-line); border-radius:28px; background:var(--tct-pastel-spectrum); box-shadow:var(--tct-shadow); }
.tct-category-page .tct-archive-header { position:relative; display:flex; overflow:hidden; flex-direction:column; justify-content:center; min-height:190px; padding:44px 56px; border:1px solid rgba(21,33,59,.06); border-radius:24px; background:linear-gradient(110deg,#e8f8fb 0%,#f5f8dc 34%,#fff0d9 62%,#f9e7f3 100%); box-shadow:0 14px 36px rgba(21,33,59,.08); }
.tct-category-page .tct-archive-header::before,.tct-category-page .tct-archive-header::after { position:absolute; z-index:0; border-radius:50%; content:""; pointer-events:none; }
.tct-category-page .tct-archive-header::before { top:50%; right:42px; width:132px; height:132px; border:22px solid rgba(255,255,255,.38); transform:translateY(-50%); }
.tct-category-page .tct-archive-header::after { top:34px; right:30px; width:10px; height:10px; background:rgba(255,255,255,.78); }
.tct-category-page .tct-archive-header > * { position:relative; z-index:1; }
.tct-category-page .tct-archive-header p { margin-bottom:14px; font-size:10px; }
.tct-category-page .tct-archive-header h1 { max-width:calc(100% - 180px); font-size:clamp(32px,3.8vw,50px); letter-spacing:-.04em; }
.tct-archive-header p,.tct-product-title p { margin:0 0 12px; color:var(--tct-muted); font-size:11px; font-weight:900; letter-spacing:.2em; }
.tct-archive-header h1,.tct-page-title h1,.tct-product-title h1 { margin:0; color:var(--tct-ink); font-size:clamp(32px,4vw,58px); line-height:1.25; }
.tct-archive-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; margin-bottom:48px; padding:0; list-style:none; }
.tct-list-page .pagination { display:block; width:min(1240px,100%); margin:8px auto 0; }
.tct-list-page .pagination .nav-links { display:flex; flex-flow:row nowrap; align-items:center; justify-content:center; gap:10px; width:100%; }
.tct-list-page .pagination .page-numbers { display:inline-grid; flex:0 0 46px; place-items:center; box-sizing:border-box; width:46px; min-width:46px; height:46px; min-height:46px; margin:0; padding:0; border:2px solid #fff; border-radius:50%; background:#fff; color:var(--tct-ink); font-size:13px; font-weight:850; line-height:1; text-decoration:none; box-shadow:0 8px 22px rgba(21,33,59,.08),inset 0 0 0 1px var(--tct-line); transition:transform .18s ease,box-shadow .18s ease,background .18s ease; }
.tct-list-page .pagination .page-numbers.current { background:var(--tct-pastel-spectrum); box-shadow:0 9px 24px rgba(21,33,59,.13),inset 0 0 0 1px rgba(21,33,59,.05); }
.tct-list-page .pagination a.page-numbers:hover { background:#f7fbfd; transform:translateY(-2px); box-shadow:0 12px 28px rgba(21,33,59,.13),inset 0 0 0 1px var(--tct-line); }
.tct-list-page .pagination a.page-numbers:focus-visible { outline:3px solid #087fa5; outline-offset:3px; }
.tct-list-page .pagination .prev,.tct-list-page .pagination .next { background:var(--tct-pastel-spectrum); font-size:17px; }

.tct-article-page { width:100%; max-width:none; padding:0 24px 88px; background:#f7fafc; }
.tct-article-layout { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:34px; width:min(1240px,100%); margin:0 auto; align-items:start; }
.tct-article-layout #content { min-width:0; }
.tct-kicker { margin:0 0 16px; color:var(--tct-muted); font-size:10px; font-weight:900; letter-spacing:.2em; }
.tct-article-page .title_page { position:relative; display:block; overflow:hidden; min-height:0; margin:0 0 22px; padding:42px 52px 40px; border:1px solid var(--tct-line); border-radius:26px; background:rgba(255,255,255,.96); box-shadow:var(--tct-shadow); text-align:left; }
.tct-article-page .title_page::before { display:none; }
.tct-article-page .title_page::after { position:absolute; top:0; right:32px; left:32px; display:block; height:4px; border-radius:0 0 999px 999px; background:linear-gradient(90deg,#a9dff3,#cce7a8,#f7d973,#f5b8a4,#f3abc1,#c8b9ed); content:""; }
.tct-article-page .title_page_inner { width:100%; max-width:none; margin:0; padding:0; border:0; background:transparent; color:var(--tct-ink); font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Noto Sans JP",Arial,sans-serif; font-size:clamp(24px,2.35vw,34px); font-weight:800; line-height:1.38; letter-spacing:-.04em; text-align:left; overflow-wrap:anywhere; }
.tct-article-meta { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 24px; }
.tct-article-meta time,.tct-article-meta span { display:inline-flex; align-items:center; min-height:34px; margin:0; padding:5px 13px; border:1px solid var(--tct-line); border-radius:999px; background:#f5fbfd; color:var(--tct-ink); font-size:11px; font-weight:800; letter-spacing:.04em; line-height:1.3; }
.tct-article-meta span:nth-child(2) { background:#fff9dc; }
.tct-article-page #content_page,.tct-article-page .box_single_post { float:none; width:100%; }
.tct-article-page .box_single_post { box-sizing:border-box; padding:clamp(28px,5vw,58px); }
.tct-article-page .box_single_post img { max-width:100%; height:auto; }
.tct-legacy-streetsnap .box_bg_line { margin:30px 0 0; padding:clamp(22px,4vw,38px); border:1px solid var(--tct-line); border-radius:22px; background:linear-gradient(135deg,#f1fbfd,#fffdf5); }
.tct-legacy-streetsnap .inner { display:grid; gap:0; }
.tct-legacy-streetsnap .name_fav_menu { margin:22px 0 8px; color:#0789b0; font-size:13px; font-weight:900; letter-spacing:.06em; }
.tct-legacy-streetsnap .name_fav_menu:first-child { margin-top:0; }
.tct-legacy-streetsnap p { margin:0; color:var(--tct-text); line-height:1.9; }
.tct-legacy-streetsnap p:empty { display:none; }
.box_single_post .cstmreba { margin:34px 0; }
.box_single_post .kaerebalink-box { display:grid; grid-template-columns:150px minmax(0,1fr); gap:22px; align-items:center; padding:24px; border:1px solid var(--tct-line); border-radius:20px; background:#fff; box-shadow:0 12px 30px rgba(21,33,59,.07); }
.box_single_post .kaerebalink-image { display:grid; place-items:center; min-height:150px; padding:10px; border-radius:14px; background:#f7fafc; }
.box_single_post .kaerebalink-image img { display:block; width:128px; max-width:100%; height:128px; object-fit:contain; }
.box_single_post .kaerebalink-box.is-image-missing { grid-template-columns:1fr; }
.box_single_post .kaerebalink-image[hidden] { display:none; }
.box_single_post .kaerebalink-info { min-width:0; }
.box_single_post .kaerebalink-name { margin:0 0 8px; }
.box_single_post .kaerebalink-name a { color:var(--tct-ink); font-size:17px; font-weight:900; line-height:1.6; text-decoration:none; }
.box_single_post .kaerebalink-powered-date { margin:0 0 18px; color:var(--tct-muted); font-size:10px; }
.box_single_post .kaerebalink-powered-date a { color:inherit; }
.box_single_post .kaerebalink-link1 { display:flex; flex-wrap:wrap; gap:9px; }
.box_single_post .kaerebalink-link1 > div { margin:0; }
#content_page .box_single_post .kaerebalink-link1 a { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:8px 18px; border-radius:999px; color:#fff; font-size:12px; font-weight:850; line-height:1.3; text-decoration:none; text-decoration-color:transparent; box-shadow:0 6px 14px rgba(21,33,59,.1); }
.box_single_post .shoplinkrakuten a { background:#bf1828; }
.box_single_post .shoplinkamazon a { background:#25364c; }
.box_single_post .shoplinkyahoo a { background:#7e3bb2; }
.box_single_post .booklink-footer { display:none; }
.tct-article-page #sidebar { position:sticky; top:20px; }
.tct-article-page #sidebar { width:100%; min-width:0; margin:0; padding:0; }
.tct-article-page #sidebar .tct-sidebar-card { overflow:hidden; margin:0 0 24px; padding:25px; border:1px solid var(--tct-line); border-radius:22px; background:#fff; box-shadow:0 12px 32px rgba(21,33,59,.07); }
.tct-article-page #sidebar .tct-sidebar-card h2 { margin:0 0 18px; padding:0 0 14px; border-bottom:4px solid transparent; border-image:linear-gradient(90deg,#a9dff3,#cce7a8,#f7d973,#f3abc1,#c8b9ed) 1; background:transparent; color:var(--tct-ink); font-size:19px; font-weight:900; letter-spacing:.04em; }
.tct-article-page #sidebar .tct-sidebar-card ul { margin:0; padding:0; list-style:none; }
.tct-article-page #sidebar .tct-sidebar-card li a { display:flex; align-items:center; min-height:50px; padding:9px 4px; border-bottom:1px solid #edf2f5; color:var(--tct-text); font-size:12px; font-weight:700; line-height:1.55; text-decoration:none; }
.tct-article-page #sidebar .tct-sidebar-card li:last-child a { border-bottom:0; }
.tct-article-page #sidebar .tagcloud { display:flex; flex-wrap:wrap; gap:8px; }
.tct-article-page #sidebar .tagcloud a { display:inline-flex; align-items:center; min-height:34px; padding:7px 12px; border:1px solid rgba(21,33,59,.06); border-radius:999px; background:#e7f8fc; color:var(--tct-text); font-size:11px; font-weight:750; line-height:1.35; text-decoration:none; transition:transform .18s ease,box-shadow .18s ease; }
.tct-article-page #sidebar .tagcloud a:nth-child(4n + 2) { background:#eef8dc; }
.tct-article-page #sidebar .tagcloud a:nth-child(4n + 3) { background:#fff3c9; }
.tct-article-page #sidebar .tagcloud a:nth-child(4n) { background:#fbe6ef; }
.tct-article-page #sidebar .tagcloud a:hover { transform:translateY(-2px); box-shadow:0 7px 16px rgba(21,33,59,.09); }
.tct-comments,.tct-page-card,.tct-empty { margin-top:34px; padding:32px; border:1px solid var(--tct-line); border-radius:24px; background:#fff; box-shadow:0 14px 36px rgba(21,33,59,.07); }
body.single .tct-comments,body.single .comments-area,body.single #comments,body.single #respond,body.single .comment-respond,body.single .wpd-rating,body.single .wpdiscuz-rating,body.single .wpdiscuz-subscribe-bar,body.single .post-ratings,body.single .wp-postratings,body.single .yasr-visitor-votes,body.single .was-this-helpful,body.single .helpful,body.single .wth-voting,body.single [class*="helpful"],body.single [id*="helpful"],body.single [class*="post-vote"],body.single [id*="post-vote"] { display:none; }
body.single .relation-head { position:relative; display:flex; flex-wrap:wrap; align-items:center; gap:10px; overflow:hidden; margin:42px 0 22px; padding:20px 22px 20px 92px; border:1px solid var(--tct-line); border-radius:17px; background:linear-gradient(110deg,rgba(232,248,251,.82),rgba(255,255,255,.96) 38%,rgba(249,231,243,.58)); color:var(--tct-ink); font-size:16px; font-weight:900; line-height:1.5; letter-spacing:0; box-shadow:0 10px 28px rgba(21,33,59,.07); }
body.single .relation-head br { display:none; }
body.single .relation-head .relation-link { display:inline-flex; align-items:center; min-height:38px; padding:7px 13px; border:1px solid var(--tct-line); border-radius:999px; background:#fff; color:#087fa5; font-size:13px; font-weight:800; line-height:1.35; text-decoration:none; }
body.single .relation-head .relation-link:hover { background:#eaf8fc; }
body.single .relation-head::before { position:absolute; left:20px; display:grid; place-items:center; min-width:54px; min-height:28px; padding:4px 9px; border-radius:999px; background:#fff2b8; color:var(--tct-ink); font-size:9px; font-weight:900; letter-spacing:.14em; content:"PUSH"; box-shadow:0 5px 14px rgba(21,33,59,.06); }
body.single .relation-head::after { position:absolute; right:0; bottom:0; left:0; height:3px; background:var(--tct-pastel-spectrum); content:""; }
body.single .related { margin-top:42px; padding:clamp(24px,4vw,36px); border:1px solid var(--tct-line); border-radius:24px; background:#fff; box-shadow:0 12px 32px rgba(21,33,59,.07); }
body.single .related-title { margin:0 0 22px; color:var(--tct-ink); font-size:clamp(22px,2.4vw,30px); font-weight:900; line-height:1.4; }
body.single .related-title::before { display:inline-flex; margin-right:12px; padding:6px 10px; border-radius:999px; background:#fff2b8; color:var(--tct-ink); font-size:9px; letter-spacing:.12em; vertical-align:4px; content:"PUSH"; }
body.single .related-box { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:0; padding:0; list-style:none; }
body.single .related-list { display:block; width:auto; margin:0; padding:0; border:0; }
body.single .related-list a { position:relative; display:flex; align-items:center; min-height:78px; padding:14px 46px 14px 16px; border:1px solid var(--tct-line); border-radius:15px; background:#fbfdfe; color:var(--tct-text); font-size:12px; font-weight:750; line-height:1.6; text-decoration:none; }
body.single .related-list a::after { position:absolute; right:13px; display:grid; width:25px; height:25px; place-items:center; border-radius:50%; background:#e5f7fc; color:var(--tct-ink); content:"→"; }
body.single .afb_container { display:none; }

.tct-page { padding:30px 0 12px; }
.tct-page-card { margin-top:0; }
.tct-page-content { font-size:16px; line-height:1.95; }
body.page #foot { margin-top:20px; }
.tct-elementor-entry .elementor { width:100%; max-width:100%; color:var(--tct-text); font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Helvetica Neue",Arial,sans-serif; }
.tct-elementor-entry .elementor-section,.tct-elementor-entry .e-con { box-sizing:border-box; max-width:100%; }
.tct-elementor-entry .elementor-widget-heading h2,.tct-elementor-entry .elementor-widget-heading h3,.tct-elementor-entry .elementor-widget-text-editor h2,.tct-elementor-entry .elementor-widget-text-editor h3 { color:var(--tct-ink); font-weight:900; letter-spacing:-.025em; line-height:1.45; }
.tct-elementor-entry .elementor-widget-heading h2,.tct-elementor-entry .elementor-widget-text-editor h2 { position:relative; margin-block:34px 20px; padding:18px 22px 18px 26px; border:1px solid var(--tct-line); border-radius:17px; background:linear-gradient(110deg,rgba(232,248,251,.82),rgba(255,255,255,.96) 42%,rgba(249,231,243,.55)); box-shadow:0 9px 24px rgba(21,33,59,.06); }
.tct-elementor-entry .elementor-widget-heading h2::before,.tct-elementor-entry .elementor-widget-text-editor h2::before { position:absolute; top:15px; bottom:15px; left:0; width:5px; border-radius:0 999px 999px 0; background:var(--tct-pastel-spectrum); content:""; }
.tct-elementor-entry .elementor-widget-text-editor { color:var(--tct-text); font-size:15px; line-height:1.95; }
.tct-elementor-entry .elementor-widget-text-editor p { margin-block:0 1.45em; }
.tct-elementor-entry .elementor-widget-image img { display:block; height:auto; border-radius:18px; box-shadow:0 10px 28px rgba(21,33,59,.08); }
.tct-elementor-entry .elementor-button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:10px 22px; border:1px solid rgba(21,33,59,.07); border-radius:999px; background:var(--tct-pastel-spectrum); color:var(--tct-ink); font-size:13px; font-weight:850; box-shadow:0 9px 22px rgba(21,33,59,.09); transition:transform .18s ease,box-shadow .18s ease; }
.tct-elementor-entry .elementor-button:hover { color:var(--tct-ink); transform:translateY(-2px); box-shadow:0 13px 28px rgba(21,33,59,.14); }
.tct-elementor-entry .elementor-button:focus-visible { outline:3px solid #087fa5; outline-offset:3px; }
.tct-elementor-entry .elementor-widget-divider .elementor-divider-separator { border-color:transparent; background:var(--tct-pastel-spectrum); height:4px; border-radius:999px; }
.tct-elementor-entry .elementor-column-gap-default > .elementor-column > .elementor-element-populated,.tct-elementor-entry .e-con { gap:clamp(14px,2vw,24px); }
body.tct-has-elementor .tct-page-card { overflow:hidden; }
body.tct-has-elementor.single .box_single_post { padding:clamp(22px,4vw,42px); }
.tct-error { padding:100px 0; text-align:center; }
.tct-error > p:first-child { margin:0; color:#17a9d5; font-size:90px; font-weight:900; }

.tct-product-page { padding:24px 0 90px; }
.tct-product { padding:0; }
.tct-product-grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(340px,.8fr); gap:54px; padding:42px; border:1px solid var(--tct-line); border-radius:26px; background:#fff; box-shadow:var(--tct-shadow); }
.tct-product-gallery img { width:100%; border-radius:22px; }
.tct-product-buy { position:sticky; top:20px; align-self:start; }
.tct-sku { padding:24px; border-radius:20px; background:#f4f9fc; }
.tct-price { margin:14px 0; color:var(--tct-ink); font-size:32px; font-weight:900; }
.tct-quantity { display:flex; align-items:center; gap:14px; margin-bottom:14px; }
.tct-product-description { margin-top:38px; padding:clamp(28px,5vw,58px); border:1px solid var(--tct-line); border-radius:26px; background:#fff; line-height:1.95; }

.tct-contact-page { max-width:1080px; }
.tct-contact-card { overflow:hidden; padding:clamp(28px,6vw,72px); border-top:12px solid #8ddff0; }
.tct-contact-card .tct-page-title { margin-bottom:38px; text-align:center; }
.tct-contact-card .tct-page-title span { color:#0789b0; font-size:12px; font-weight:900; letter-spacing:.22em; }
.tct-contact-card .tct-page-title h1 { margin:8px 0 14px; font-size:clamp(30px,5vw,52px); line-height:1.3; }
.tct-contact-card .tct-page-title p { max-width:680px; margin:0 auto; color:var(--tct-muted); font-size:14px; }
.tct-contact-notice { margin:0 0 28px; padding:16px 20px; border-radius:14px; font-weight:700; }
.tct-contact-notice.is-success { background:#e9f8e1; color:#32671f; }
.tct-contact-notice.is-error { background:#fff0f1; color:#9d3441; }
.tct-contact-form { display:grid; gap:24px; max-width:760px; margin:0 auto; }
.tct-contact-form > label:not(.tct-contact-consent) { display:grid; gap:9px; color:var(--tct-ink); font-size:14px; font-weight:800; }
.tct-contact-form label b { display:inline-block; margin-left:7px; padding:2px 8px; border-radius:999px; background:#fff0b8; font-size:10px; }
.tct-contact-form input[type="text"],.tct-contact-form input[type="email"],.tct-contact-form select,.tct-contact-form textarea { box-sizing:border-box; width:100%; padding:14px 16px; border:1px solid #cfdde5; border-radius:12px; background:#fbfdfe; color:var(--tct-ink); font:inherit; }
.tct-contact-form textarea { min-height:210px; resize:vertical; }
.tct-contact-form input:focus,.tct-contact-form select:focus,.tct-contact-form textarea:focus { border-color:#079fc8; outline:3px solid rgba(7,159,200,.13); }
.tct-contact-consent { display:flex; align-items:flex-start; justify-content:center; gap:10px; font-size:13px; }
.tct-contact-consent input { width:18px; height:18px; margin-top:2px; accent-color:#079fc8; }
.tct-contact-form > button { justify-self:center; min-width:220px; padding:15px 28px; border:0; border-radius:999px; background:var(--tct-pastel-spectrum); color:var(--tct-ink); font-size:15px; font-weight:900; cursor:pointer; box-shadow:0 10px 24px rgba(21,33,59,.1); }
.tct-contact-form > button span { margin-left:14px; }
.tct-contact-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.tct-contact-mwform { max-width:680px; margin:0 auto; }
.tct-contact-card .mw_wp_form { width:100%; color:var(--tct-ink); }
.tct-contact-card .mw_wp_form table,.tct-contact-card .mw_wp_form tbody { display:block; width:100%; margin:0; border:0; }
.tct-contact-card .mw_wp_form tr { display:block; margin:0 0 20px; padding:0; border:0; }
.tct-contact-card .mw_wp_form th,.tct-contact-card .mw_wp_form td { display:block; box-sizing:border-box; width:100%; min-width:0; padding:0; border:0; background:transparent; color:inherit; font-size:14px; line-height:1.65; text-align:left; writing-mode:horizontal-tb; white-space:normal; }
.tct-contact-card .mw_wp_form th { position:relative; margin:0 0 8px; padding-left:17px; font-size:13px; font-weight:900; }
.tct-contact-card .mw_wp_form th::before { position:absolute; top:.52em; left:0; width:7px; height:7px; border-radius:50%; background:linear-gradient(90deg,#8ddff0,#ffe27d,#f5a7c0); content:""; }
.tct-contact-card .mw_wp_form input[type="text"],.tct-contact-card .mw_wp_form input[type="email"],.tct-contact-card .mw_wp_form input[type="tel"],.tct-contact-card .mw_wp_form textarea { box-sizing:border-box; width:100%; max-width:none; min-height:48px; margin:0; padding:11px 14px; border:1px solid #cbdde5; border-radius:12px; background:#fbfdfe; color:var(--tct-ink); font:inherit; box-shadow:inset 0 1px 0 rgba(21,33,59,.02); }
.tct-contact-card .mw_wp_form textarea { min-height:160px; resize:vertical; }
.tct-contact-card .mw_wp_form input:focus,.tct-contact-card .mw_wp_form textarea:focus { border-color:#079fc8; outline:3px solid rgba(7,159,200,.13); }
.tct-contact-card .mw_wp_form .mwform-tel-field { display:grid; grid-template-columns:1fr auto 1fr auto 1fr; align-items:center; gap:8px; width:100%; }
.tct-contact-card .mw_wp_form .mwform-tel-field input[type="text"] { width:100%; text-align:center; }
.tct-contact-card .mw_wp_form tr:has(td[colspan="2"]) { margin-top:26px; padding:18px 20px; border:1px solid #dce8ed; border-radius:16px; background:#f7fbfc; }
.tct-contact-card .mw_wp_form td[colspan="2"] { text-align:left; }
.tct-contact-card .mw_wp_form .mwform-checkbox-field label { display:flex; align-items:flex-start; gap:10px; margin-top:10px; text-align:left; cursor:pointer; }
.tct-contact-card .mw_wp_form input[type="checkbox"] { flex:0 0 auto; width:19px; height:19px; margin:2px 0 0; accent-color:#079fc8; }
.tct-contact-card .mw_wp_form .error { margin-top:6px; color:#bd3445; font-size:12px; font-weight:800; }
.tct-contact-card .mw_wp_form .btn_form_send { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; text-align:center; }
.tct-contact-card .mw_wp_form input[type="submit"],.tct-contact-card .mw_wp_form button { min-width:210px; min-height:52px; padding:13px 26px; border:0; border-radius:999px; background:var(--tct-pastel-spectrum); color:var(--tct-ink); font:inherit; font-weight:900; cursor:pointer; box-shadow:0 10px 24px rgba(21,33,59,.1); transition:transform .2s ease,box-shadow .2s ease; }
.tct-contact-card .mw_wp_form input[type="submit"]:hover,.tct-contact-card .mw_wp_form button:hover { transform:translateY(-2px); box-shadow:0 14px 30px rgba(21,33,59,.14); }
.tct-contact-card .mw_wp_form input[name="submitBack"] { border:1px solid #cadde6; background:#fff; box-shadow:none; }
.tct-contact-card .mw_wp_form_confirm h2 { margin:0 0 24px; padding:0; border:0; background:none; color:var(--tct-ink); font-size:clamp(22px,3vw,30px); line-height:1.4; box-shadow:none; }
.tct-contact-card .mw_wp_form_confirm h2::before,.tct-contact-card .mw_wp_form_confirm h2::after { content:none; }
.tct-contact-card .mw_wp_form_confirm tr { margin-bottom:12px; padding:14px 16px; border:1px solid #dce8ed; border-radius:14px; background:#f8fbfc; }
.tct-contact-card .mw_wp_form_confirm th { margin-bottom:5px; color:#65748a; font-size:11px; }
.tct-contact-card .mw_wp_form_confirm td { font-size:14px; font-weight:700; overflow-wrap:anywhere; }
.tct-contact-card .mw_wp_form_confirm tr:has(td[colspan="2"]) { margin-top:18px; }
body.parent-pageid-63 .wrap_content { max-width:920px; }
body.parent-pageid-63 .tct-page-card { box-sizing:border-box; width:100%; max-width:780px; margin:0 auto; padding:clamp(24px,5vw,52px); border-top:8px solid #8ddff0; }
body.parent-pageid-63 .tct-page-title { margin:0 0 30px; padding:24px clamp(20px,4vw,38px); border:1px solid #d8e7ed; border-radius:22px; background:linear-gradient(110deg,#e7f9fd 0%,#fff7d8 52%,#fcecf3 100%); text-align:center; box-shadow:0 12px 30px rgba(21,33,59,.06); }
body.parent-pageid-63 .tct-page-title h1 { margin:0; padding:0; border:0; background:none; color:var(--tct-ink); font-size:clamp(26px,5vw,40px); line-height:1.35; letter-spacing:.02em; box-shadow:none; }
body.parent-pageid-63 .tct-page-title h1::before,body.parent-pageid-63 .tct-page-title h1::after { content:none; }
body.parent-pageid-63 .tct-page-content { width:100%; max-width:650px; margin:0 auto; }
body.parent-pageid-63 #content_page_full { width:100%; margin:0; padding:0; }
#mw_wp_form_mw-wp-form-62.mw_wp_form_confirm { width:100%; color:var(--tct-ink); }
#mw_wp_form_mw-wp-form-62.mw_wp_form_confirm table,#mw_wp_form_mw-wp-form-62.mw_wp_form_confirm tbody { display:block; width:100%; margin:0; border:0; }
#mw_wp_form_mw-wp-form-62.mw_wp_form_confirm tr { display:grid; grid-template-columns:minmax(130px,175px) minmax(0,1fr); align-items:start; gap:18px; margin:0 0 10px; padding:15px 18px; border:1px solid #dce8ed; border-radius:14px; background:#f8fbfc; }
#mw_wp_form_mw-wp-form-62.mw_wp_form_confirm th,#mw_wp_form_mw-wp-form-62.mw_wp_form_confirm td { display:block; box-sizing:border-box; width:auto; min-width:0; padding:0; border:0; background:transparent; color:inherit; font-size:14px; line-height:1.7; text-align:left; writing-mode:horizontal-tb; white-space:normal; }
#mw_wp_form_mw-wp-form-62.mw_wp_form_confirm th { position:relative; padding-left:16px; color:#64748b; font-size:12px; font-weight:900; }
#mw_wp_form_mw-wp-form-62.mw_wp_form_confirm th::before { position:absolute; top:.55em; left:0; width:7px; height:7px; border-radius:50%; background:linear-gradient(90deg,#8ddff0,#ffe27d,#f5a7c0); content:""; }
#mw_wp_form_mw-wp-form-62.mw_wp_form_confirm td { font-weight:700; overflow-wrap:anywhere; }
#mw_wp_form_mw-wp-form-62.mw_wp_form_confirm tr:has(td[colspan="2"]) { display:block; margin-top:18px; background:#fffaf0; text-align:center; }
#mw_wp_form_mw-wp-form-62.mw_wp_form_confirm td[colspan="2"] { width:100%; text-align:center; }
#mw_wp_form_mw-wp-form-62.mw_wp_form_confirm .btn_form_send { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin:0; text-align:center; }
#mw_wp_form_mw-wp-form-62.mw_wp_form_confirm input[type="submit"] { min-width:170px; min-height:50px; padding:12px 24px; border:0; border-radius:999px; background:var(--tct-pastel-spectrum); color:var(--tct-ink); font:inherit; font-weight:900; cursor:pointer; box-shadow:0 10px 24px rgba(21,33,59,.1); }
#mw_wp_form_mw-wp-form-62.mw_wp_form_confirm input[name="submitBack"] { border:1px solid #cadde6; background:#fff; box-shadow:none; }
body.parent-pageid-63 .mw_wp_form_complete { max-width:600px; margin:0 auto; padding:30px; border:1px solid #dce8ed; border-radius:18px; background:#f8fbfc; font-size:15px; line-height:1.9; text-align:center; }
@media (max-width:700px) {
  .tct-contact-card .mw_wp_form .mwform-tel-field { gap:5px; }
  .tct-contact-card .mw_wp_form tr:has(td[colspan="2"]) { padding:15px; }
  .tct-contact-card .mw_wp_form .btn_form_send { justify-content:stretch; }
  .tct-contact-card .mw_wp_form input[type="submit"],.tct-contact-card .mw_wp_form button { width:100%; }
  body.parent-pageid-63 .tct-page-card { padding:20px 16px 28px; }
  body.parent-pageid-63 .tct-page-title { margin-bottom:22px; padding:20px 14px; border-radius:17px; }
  #mw_wp_form_mw-wp-form-62.mw_wp_form_confirm tr { grid-template-columns:1fr; gap:5px; padding:14px; }
  #mw_wp_form_mw-wp-form-62.mw_wp_form_confirm tr:has(td[colspan="2"]) { text-align:left; }
  #mw_wp_form_mw-wp-form-62.mw_wp_form_confirm td[colspan="2"] { text-align:left; }
  #mw_wp_form_mw-wp-form-62.mw_wp_form_confirm .btn_form_send { justify-content:stretch; }
  #mw_wp_form_mw-wp-form-62.mw_wp_form_confirm input[type="submit"] { width:100%; }
}
.tct-contact-confirm { max-width:760px; margin:0 auto; }
.tct-contact-confirm h2 { margin:0 0 8px; font-size:clamp(22px,4vw,32px); }
.tct-contact-confirm > p { margin:0 0 28px; color:var(--tct-muted); }
.tct-contact-confirm dl { margin:0; border-top:1px solid #d7e3e9; }
.tct-contact-confirm dl > div { display:grid; grid-template-columns:180px 1fr; border-bottom:1px solid #d7e3e9; }
.tct-contact-confirm dt,.tct-contact-confirm dd { margin:0; padding:18px; }
.tct-contact-confirm dt { background:#f2f8fa; font-weight:800; }
.tct-contact-confirm dd { overflow-wrap:anywhere; }
.tct-contact-confirm__actions { display:flex; justify-content:center; gap:14px; margin-top:30px; }
.tct-contact-confirm__actions button { min-width:210px; padding:15px 24px; border:1px solid #cfdde5; border-radius:999px; background:var(--tct-pastel-spectrum); color:var(--tct-ink); font:inherit; font-weight:900; cursor:pointer; }
.tct-contact-confirm__actions button.is-back { background:#fff; }
@media (max-width:600px) {
  .tct-contact-confirm dl > div { grid-template-columns:1fr; }
  .tct-contact-confirm dt { padding-bottom:8px; }
  .tct-contact-confirm dd { padding-top:8px; }
  .tct-contact-confirm__actions { flex-direction:column-reverse; }
  .tct-contact-confirm__actions button { width:100%; }
}

#foot { display:block; overflow:hidden; width:100%; height:auto; min-height:0; margin:52px 0 0; padding:0; border-top:4px solid transparent; border-image:linear-gradient(90deg,#aeeaf5,#e4f5b8,#ffe592,#ffc5d3,#ceb7f4) 1; background:#fff; color:var(--tct-text); writing-mode:horizontal-tb; }
#foot .tct-footer-grid { display:grid; grid-template-columns:340px minmax(0,1fr); align-items:center; gap:64px; width:min(1440px,calc(100% - 80px)); min-height:0; padding:54px 0 48px; font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Helvetica Neue",Arial,sans-serif; }
#foot .tct-footer-grid > * { float:none; width:auto; max-width:none; writing-mode:horizontal-tb; }
.tct-footer-wordmark { overflow:hidden; width:calc(100% - 24px); margin:8px auto 0; color:rgba(21,33,59,.045); font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif; font-size:clamp(32px,10vw,320px); font-weight:950; line-height:.78; letter-spacing:-.075em; text-align:center; white-space:nowrap; pointer-events:none; user-select:none; }
.tct-footer-brand { align-self:start; }
.tct-footer-logo { display:flex; flex-direction:column; align-items:flex-start; gap:18px; color:var(--tct-ink); text-decoration:none; }
.tct-footer-logo img { width:132px; height:92px; object-fit:contain; object-position:left center; }
.tct-footer-logo strong { font-size:24px; font-weight:900; letter-spacing:.09em; line-height:1.35; }
.tct-footer-brand p { margin:24px 0 0; color:var(--tct-muted); font-size:14px; letter-spacing:.02em; }
.tct-footer-groups { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:46px; min-width:0; }
.tct-footer-groups nav { display:block; float:none; width:auto; min-width:0; }
.tct-footer-groups h2 { margin:0 0 22px; color:var(--tct-ink); font-size:11px; font-weight:900; letter-spacing:.2em; line-height:1.5; }
.tct-footer-groups a { display:block; padding:13px 0; border-bottom:1px dashed #ccd7dd; color:#405066; font-size:13px; font-weight:500; line-height:1.55; text-decoration:none; }
.tct-footer-groups a:hover,.tct-footer-groups a:focus { color:#079fc8; }
#foot > .sns_footer.tct-footer-social-strip { position:relative; right:auto; left:50%; display:flex; float:none; clear:both; justify-content:center; align-items:center; gap:14px; box-sizing:border-box; width:100vw; max-width:100vw; height:auto; min-height:0; margin:0; padding:10px 92px 10px 20px; background:var(--tct-pastel-spectrum); font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Helvetica Neue",Arial,sans-serif; transform:translateX(-50%); writing-mode:horizontal-tb; }
.sns_footer .tct-social { display:inline-flex; align-items:center; gap:10px; min-width:112px; padding:7px 15px 7px 8px; border:1px solid rgba(18,37,66,.08); border-radius:999px; background:#fff; color:var(--tct-ink); text-decoration:none; box-shadow:0 5px 16px rgba(21,33,59,.07); }
.sns_footer .tct-social span { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:#111; color:#fff; font-size:18px; font-weight:900; }
.sns_footer .tct-social b { font-size:12px; }
.sns_footer .tct-social-instagram span { background:linear-gradient(135deg,#7d35c9,#f02075,#ffad21); }
.sns_footer .tct-social-facebook span { background:#2377df; font-family:Arial,sans-serif; }
.tct-copyright { margin:0; padding:18px; background:#eef3f6; color:#718095; font-size:11px; text-align:center; }
#re-top { display:flex; flex-direction:column; justify-content:center; align-items:center; box-sizing:border-box; width:70px; height:70px; border:5px solid rgba(255,255,255,.94); border-radius:50%; background:var(--tct-pastel-spectrum); color:var(--tct-ink); font-size:20px; font-weight:900; line-height:.9; text-decoration:none; opacity:0; pointer-events:none; transform:translateY(14px) scale(.94); box-shadow:0 14px 34px rgba(21,33,59,.18),inset 0 0 0 1px rgba(21,33,59,.06); transition:opacity .22s ease,transform .22s ease,box-shadow .22s ease; }
#re-top.is-visible { opacity:1; pointer-events:auto; transform:none; }
#re-top:hover { transform:translateY(-4px); box-shadow:0 18px 42px rgba(21,33,59,.24),inset 0 0 0 1px rgba(21,33,59,.08); }
#re-top:focus-visible { outline:3px solid #087fa5; outline-offset:4px; }
#re-top span { margin-top:7px; font-size:9px; letter-spacing:.12em; }

.tct-people-section { margin:80px 0; padding:clamp(34px,6vw,78px); border-radius:32px; background:linear-gradient(120deg,#fffbea,#eaf9fb 48%,#fff0f6); }
.tct-section-heading p { margin:0 0 20px; color:#f02c67; font-size:11px; font-weight:900; letter-spacing:.2em; }
.tct-section-heading h2 { margin:0; color:var(--tct-ink); font-size:clamp(34px,4vw,62px); line-height:1.15; }
.tct-section-heading > span { display:block; width:72px; height:7px; margin:25px 0; border-radius:999px; background:var(--tct-pastel-spectrum); }
.tct-section-heading small { color:var(--tct-muted); font-size:15px; }
.tct-native-people { position:relative; margin-top:42px; }
.tct-native-people__track { display:grid; grid-template-columns:none; grid-auto-columns:calc((100% - 54px)/4); grid-auto-flow:column; gap:18px; overflow-x:auto; overflow-y:hidden; width:100%; padding:4px 2px 14px; scroll-behavior:smooth; scroll-snap-type:x mandatory; scrollbar-width:none; }
.tct-native-people__track::-webkit-scrollbar { display:none; }
.tct-native-people__card { position:relative; overflow:hidden; box-sizing:border-box; width:100%; min-width:0; max-width:none; min-height:390px; margin:0; border:3px solid #fff; border-radius:25px; background:#dfeaf0; box-shadow:0 10px 28px rgba(21,33,59,.1); transform:none; scroll-snap-align:start; }
.tct-native-people__card:nth-child(2n) { transform:none; }
#head .subtitle::before,#head .subtitle::after { display:none; content:none; }
.tct-native-people__card img,.tct-native-people__card .tct-image-placeholder { width:100%; height:100%; object-fit:cover; }
.tct-native-people__card::after { position:absolute; inset:48% 0 0; background:linear-gradient(transparent,rgba(10,21,42,.82)); content:""; }
.tct-native-people__card > span:last-child { position:absolute; z-index:2; right:18px; bottom:18px; left:18px; display:-webkit-box; overflow:hidden; margin:0; color:#fff; font-size:clamp(15px,1.35vw,19px); font-weight:900; line-height:1.45; text-shadow:0 2px 10px rgba(0,0,0,.35); -webkit-box-orient:vertical; -webkit-line-clamp:3; }
.tct-people-arrow { position:absolute; z-index:4; top:50%; display:grid; place-items:center; width:48px; height:48px; padding:0; border:0; border-radius:50%; background:#fff; color:var(--tct-ink); transform:translateY(-50%); box-shadow:var(--tct-shadow); }
.tct-people-prev { left:-24px; } .tct-people-next { right:-24px; }
.tct-area-section { margin:90px 0 45px; }
.tct-area-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }

/* Existing Elementor area guide: normalize every item into the shared card system. */
body.page-id-17020 .elementor-17020 .elementor-container { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:stretch; gap:22px; max-width:1240px; margin-inline:auto; }
body.page-id-17020 .elementor-17020 .elementor-column { width:100%; min-width:0; }
body.page-id-17020 .elementor-17020 .elementor-widget-wrap.elementor-element-populated { display:flex; overflow:hidden; flex-direction:column; height:100%; padding:0 0 22px; border:1px solid var(--tct-line); border-top:8px solid #a9dff3; border-radius:20px; background:#fff; box-shadow:0 12px 30px rgba(21,33,59,.08); transition:transform .2s ease,box-shadow .2s ease; }
body.page-id-17020 .elementor-17020 .elementor-column:nth-child(4n + 2) .elementor-widget-wrap { border-top-color:#cce7a8; }
body.page-id-17020 .elementor-17020 .elementor-column:nth-child(4n + 3) .elementor-widget-wrap { border-top-color:#f7d973; }
body.page-id-17020 .elementor-17020 .elementor-column:nth-child(4n) .elementor-widget-wrap { border-top-color:#f3abc1; }
body.page-id-17020 .elementor-17020 .elementor-widget-wrap:hover { transform:translateY(-4px); box-shadow:0 18px 40px rgba(21,33,59,.13); }
body.page-id-17020 .elementor-17020 .elementor-widget-image { width:100%; margin:0 0 18px; }
body.page-id-17020 .elementor-17020 .elementor-widget-image a { display:block; overflow:hidden; aspect-ratio:4/3; }
body.page-id-17020 .elementor-17020 .elementor-widget-image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
body.page-id-17020 .elementor-17020 .elementor-widget-wrap:hover img { transform:scale(1.035); }
body.page-id-17020 .elementor-17020 .elementor-widget-heading,body.page-id-17020 .elementor-17020 .elementor-widget-text-editor { padding-inline:20px; }
body.page-id-17020 .elementor-17020 .elementor-heading-title,body.page-id-17020 .elementor-17020 .elementor-heading-title a { color:var(--tct-ink); font-size:18px; font-weight:900; line-height:1.45; }
body.page-id-17020 .elementor-17020 .elementor-widget-text-editor { margin-top:auto; }
body.page-id-17020 .elementor-17020 .elementor-widget-text-editor p { display:-webkit-box; overflow:hidden; margin:0; color:var(--tct-muted); font-size:12px; line-height:1.75; -webkit-box-orient:vertical; -webkit-line-clamp:3; }

@media (max-width:1100px) and (min-width:921px) {
  .box_post > .box_content_top,.tct-list-page .box_content_top,.tct-area-grid { grid-template-columns:repeat(3,minmax(0,1fr)); max-width:920px; }
  .box_post > .box_content_top > .tct-post-card,.tct-list-page .box_content_top > .tct-post-card { max-width:292px; }
  body.page-id-17020 .elementor-17020 .elementor-container { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width:920px) {
  html.tct-menu-open,html.tct-menu-open body { overflow:hidden; }
  #head { position:sticky; z-index:1000; top:0; background:#fff; box-shadow:0 1px 0 rgba(21,33,59,.08); }
  #head .head-wrap { position:relative; z-index:3; display:flex; align-items:center; justify-content:space-between; width:calc(100% - 32px); min-height:66px; padding:5px 0; border-bottom:1px solid var(--tct-line); }
  #head .head-logo img { width:58px; max-height:52px; }
  #head .btn-login,#head .box-search { display:none; }
  #head .head-wrap > .tct-menu-button { position:relative; z-index:1002; display:grid; visibility:visible; place-items:center; width:56px; height:56px; min-height:56px; padding:0; border:4px solid #fff; border-radius:50%; background:var(--tct-pastel-spectrum); color:var(--tct-ink); font-size:25px; font-weight:300; line-height:1; opacity:1; pointer-events:auto; cursor:pointer; box-shadow:0 8px 22px rgba(21,33,59,.1); transition:transform .3s ease; }
  .tct-menu-icon { display:block; line-height:1; }
  .tct-menu-button:hover { transform:scale(1.04); }
  #head #main-nav { position:fixed; z-index:1001; inset:66px 0 0; display:block; overflow-x:hidden; overflow-y:auto; visibility:hidden; max-width:none; max-height:none; background:#fff; opacity:0; pointer-events:none; transform:translateY(-12px); transition:opacity .28s ease,transform .28s ease,visibility 0s linear .28s; }
  #head #main-nav.is-open { visibility:visible; max-height:calc(100dvh - 66px); opacity:1; pointer-events:auto; transform:none; transition-delay:0s; }
  #head #main-nav.is-open > ul > li,#head #main-nav.is-open > .menu-primary-container > ul > li { opacity:1; transform:none; }
  #main-nav > .menu-primary-container > ul,#main-nav > ul { display:block; padding:16px 16px 96px; }
  #main-nav > div > ul > li::before,#main-nav > ul > li::before { display:none; }
  #main-nav > div > ul > li,#main-nav > ul > li { overflow:hidden; margin:0 0 8px; border:1px solid #e1e6eb; border-radius:20px; background:#fbfcfd; box-shadow:0 1px 0 rgba(21,33,59,.035); }
  #main-nav > div > ul > li > a,#main-nav > ul > li > a { align-items:flex-start; justify-content:center; min-height:66px; padding:10px 62px 9px 18px; font-size:15px; font-weight:900; letter-spacing:.06em; line-height:1.2; text-align:left; }
  #main-nav > div > ul > li > a span,#main-nav > ul > li > a span { margin-top:6px; color:#718095; font-size:11px; font-weight:700; letter-spacing:0; line-height:1.2; }
  #main-nav > div > ul > li > a:focus-visible,#main-nav > ul > li > a:focus-visible,.tct-submenu-button:focus-visible { outline:3px solid #087fa5; outline-offset:-3px; }
  #head #main-nav.is-open .menu-item-has-children:not(.is-open) > .sub-menu { position:static; display:none; width:100%; padding:0 24px 22px; border:0; border-radius:0; background:transparent; box-shadow:none; }
  #main-nav .sub-menu a { padding:12px 6px; border-top:1px solid #e2e8ed; font-size:14px; }
  #head #main-nav.is-open .menu-item-has-children.is-open > .sub-menu { position:static; display:block; width:100%; padding:0 24px 22px; border:0; border-radius:0; background:transparent; box-shadow:none; }
  .tct-submenu-button { position:absolute; z-index:2; top:10px; right:12px; display:grid; place-items:center; width:46px; height:46px; padding:0; border:0; border-radius:50%; background:#fff; color:var(--tct-ink); font-size:21px; box-shadow:0 7px 20px rgba(21,33,59,.06); transition:transform .2s ease,background .2s ease; }
  .tct-submenu-button:hover { background:#f2f8fb; }
  #main-nav .is-open > .tct-submenu-button { transform:rotate(180deg); }
  #head .subtitle { position:fixed; z-index:4; right:0; bottom:0; left:0; min-height:44px; padding:12px 10px; font-size:11px; line-height:1.35; box-shadow:0 -1px 0 rgba(21,33,59,.06); }
  #head:not(:has(#main-nav.is-open)) .subtitle { position:static; }
  .tct-article-layout { grid-template-columns:1fr; }
  .tct-article-page #sidebar { position:static; }
  .tct-archive-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .tct-product-grid { grid-template-columns:1fr; }
  .tct-product-buy { position:static; }
  #foot { margin-top:42px; }
  #foot .tct-footer-grid { grid-template-columns:1fr; gap:36px; width:calc(100% - 48px); min-height:0; padding:46px 0 42px; }
  .tct-footer-groups { grid-template-columns:1fr 1fr; }
  .tct-native-people__track { grid-auto-columns:calc((100% - 18px)/2); }
  .box_post > .box_content_top,.tct-list-page .box_content_top { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:820px; }
  .tct-home-main .box_post > .box_content_top { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:820px; gap:22px; }
  .box_post > .box_content_top > .tct-post-card,.tct-list-page .box_content_top > .tct-post-card { max-width:396px; }
  .tct-area-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tct-home-main .tct-area-grid { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:820px; gap:22px; }
  body.page-id-17020 .elementor-17020 .elementor-container { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:600px) {
  .box_single_post .kaerebalink-box { grid-template-columns:1fr; padding:18px; text-align:center; }
  .box_single_post .kaerebalink-link1 { justify-content:center; }
  #head .head-wrap { width:calc(100% - 24px); min-height:66px; }
  #head .head-logo img { width:56px; }
  #head .head-wrap > .tct-menu-button { width:54px; height:54px; min-height:54px; font-size:24px; }
  #main-nav { inset:66px 0 0; }
  #main-nav > .menu-primary-container > ul,#main-nav > ul { padding:12px 10px 84px; }
  #main-nav > div > ul > li,#main-nav > ul > li { border-radius:18px; }
  #main-nav > div > ul > li > a,#main-nav > ul > li > a { min-height:66px; padding:10px 62px 9px 18px; font-size:15px; }
  .tct-submenu-button { top:10px; right:11px; width:46px; height:46px; }
  .wrap_content { width:min(100% - 28px,680px); }
  .tct-home-main > .tct-native-hero { width:calc(100% - 24px); min-height:410px; margin:20px auto 46px; border-width:3px; border-radius:22px; }
  .tct-native-hero__content { right:24px; bottom:28px; left:24px; }
  .tct-native-hero__content strong { font-size:clamp(27px,9vw,42px); }
  .tct-native-hero__prev { left:10px; } .tct-native-hero__next { right:10px; }
  .tct-archive-header,.tct-page-title,.tct-product-title { padding:28px 22px; border-radius:22px; }
  .title_fav_menu { margin-bottom:24px; padding-right:0; font-size:clamp(25px,8.4vw,34px); line-height:1.32; }
  .tct-category-page .tct-archive-header { min-height:150px; padding:30px 24px; }
  .tct-category-page .tct-archive-header::before { right:-44px; width:116px; height:116px; border-width:18px; }
  .tct-category-page .tct-archive-header::after { top:22px; right:20px; }
  .tct-category-page .tct-archive-header h1 { max-width:calc(100% - 58px); font-size:clamp(27px,8.5vw,38px); }
  .tct-article-page { padding:0 14px 60px; }
  .tct-article-page .title_page { padding:28px 22px 26px; border-radius:20px; }
  .tct-article-page .title_page::after { right:18px; left:18px; height:3px; }
  .tct-article-page .title_page_inner { font-size:clamp(22px,6.7vw,29px); line-height:1.45; }
  .tct-article-page .box_single_post { padding:24px 20px; }
  body.single .relation-head { margin:32px 0 18px; padding:15px 16px 15px 76px; border-radius:15px; font-size:18px; }
  body.single .relation-head::before { left:14px; min-width:48px; min-height:26px; }
  .tct-product-grid { padding:20px; border-radius:20px; }
  .tct-footer-groups { grid-template-columns:1fr; gap:30px; }
  .tct-footer-groups h2 { margin-bottom:8px; }
  .sns_footer { flex-wrap:wrap; gap:9px; }
  .sns_footer .tct-social { min-width:0; }
  .tct-people-section { margin:55px 0; padding:32px 18px; border-radius:24px; }
  .tct-native-people__track { grid-auto-columns:82%; gap:14px; }
  .tct-native-people__card { min-height:340px; }
  .tct-native-people__card > span:last-child { right:16px; bottom:16px; left:16px; font-size:16px; }
  .tct-people-prev { left:-9px; } .tct-people-next { right:-9px; }
  .tct-area-grid { grid-template-columns:1fr; }
  .box_post > .box_content_top,.tct-list-page .box_content_top { grid-template-columns:1fr; width:100%; max-width:100%; gap:18px; }
  .tct-archive-grid { grid-template-columns:1fr; }
  body.single .related-box { grid-template-columns:1fr; }
  .tct-home-main .box_post > .box_content_top,.tct-home-main .tct-area-grid { grid-template-columns:1fr; width:100%; max-width:100%; gap:18px; }
  .box_post > .box_content_top > .tct-post-card,.tct-list-page .box_content_top > .tct-post-card { max-width:none; }
  .tct-list-page .pagination .nav-links { gap:7px; }
  .tct-list-page .pagination .page-numbers { flex-basis:42px; width:42px; min-width:42px; height:42px; min-height:42px; }
  #re-top { right:12px; bottom:12px; width:60px; height:60px; border-width:4px; font-size:17px; }
  #re-top span { margin-top:6px; font-size:8px; }
  #foot { margin-top:34px; }
  body.page #foot { margin-top:14px; }
  #foot .tct-footer-grid { gap:30px; width:calc(100% - 32px); padding:38px 0 34px; }
  #foot > .sns_footer.tct-footer-social-strip { min-height:0; padding:8px 74px 8px 10px; }
  #foot > .sns_footer.tct-footer-social-strip,.sns_footer.tct-footer-social-strip,.sns_footer { display:flex; flex-flow:row nowrap; align-items:center; justify-content:center; gap:8px; box-sizing:border-box; min-height:66px; padding:9px 76px 9px 12px; }
  .sns_footer > li { display:block; width:auto; margin:0; padding:0; list-style:none; }
  .sns_footer .tct-social { display:grid; place-items:center; box-sizing:border-box; width:46px; min-width:46px; height:46px; min-height:46px; padding:5px; border:2px solid rgba(255,255,255,.92); border-radius:50%; box-shadow:0 6px 16px rgba(21,33,59,.09); }
  .sns_footer .tct-social span { width:34px; height:34px; margin:0; font-size:16px; }
  .sns_footer .tct-social svg { display:block; width:24px; height:24px; fill:currentColor; }
  .sns_footer .tct-social b,.sns_footer .tct-social > span + span,.sns_footer .tct-social svg + span { display:none; }
  body.page-id-17020 .elementor-17020 .elementor-container { grid-template-columns:1fr; gap:16px; }
  body.page-id-17020 .elementor-17020 .elementor-widget-wrap.elementor-element-populated { display:grid; grid-template-columns:40% 1fr; grid-template-rows:auto 1fr; padding:0; border-radius:18px; }
  body.page-id-17020 .elementor-17020 .elementor-widget-image { grid-row:1/3; height:100%; margin:0; }
  body.page-id-17020 .elementor-17020 .elementor-widget-image a { height:100%; min-height:180px; aspect-ratio:auto; }
  body.page-id-17020 .elementor-17020 .elementor-widget-heading { align-self:end; margin:0; padding:16px 14px 4px; }
  body.page-id-17020 .elementor-17020 .elementor-widget-text-editor { padding:6px 14px 14px; }
  body.page-id-17020 .elementor-17020 .elementor-heading-title,body.page-id-17020 .elementor-17020 .elementor-heading-title a { font-size:16px; }
  body.page-id-17020 .elementor-17020 .elementor-widget-text-editor p { font-size:11px; -webkit-line-clamp:2; }
  .tct-elementor-entry .elementor-widget-heading h2,.tct-elementor-entry .elementor-widget-text-editor h2 { margin-block:26px 16px; padding:15px 17px 15px 21px; border-radius:14px; font-size:clamp(20px,6vw,27px); }
  .tct-elementor-entry .elementor-widget-text-editor { font-size:14px; line-height:1.85; }
  .tct-elementor-entry .elementor-widget-image img { border-radius:14px; }
  .tct-elementor-entry .elementor-button { width:100%; min-height:48px; }
}

/* Keep the editorial hero authoritative after legacy responsive rules. */
@media (max-width:920px) {
  .tct-home-main > .tct-native-hero { min-height:clamp(480px,75vw,650px); margin-top:62px; border:0; border-radius:0 30px 30px 30px; }
  .tct-native-hero__content { right:19%; bottom:14%; left:6%; }
  .tct-native-hero__prev { left:24px; }
  .tct-native-hero__next { right:auto; left:172px; }
}

@media (max-width:600px) {
  .tct-home-main > .tct-native-hero { width:calc(100% - 28px); min-height:500px; margin:48px auto 54px; border:0; border-radius:0 22px 22px 22px; }
  .tct-native-hero__content { right:18px; bottom:104px; left:20px; }
  .tct-native-hero__content strong { font-size:clamp(25px,7.7vw,35px); }
  .tct-native-hero__prev { left:18px; }
  .tct-native-hero__next { right:auto; left:150px; }
}

@media (prefers-reduced-motion:reduce) {
  #re-top { transition:none; }
  .tct-native-hero__slide.is-active img { animation:none; }
  html:focus-within { scroll-behavior:auto; }
}

/* ---- current theme layer ---- */
/* Final override layer: loaded after every legacy and theme stylesheet. */
#head,
#main-nav {
  border-top:0;
  border-bottom:0;
  box-shadow:none;
}

#head .head-logo,
#head .head-logo a,
#head .head-logo a:hover,
#head .head-logo a:focus,
#head .head-logo a:active {
  background:transparent;
  box-shadow:none;
}

.cross_line::before,
.cross_line::after,
.tct-more-wrap .cross_line::before,
.tct-more-wrap .cross_line::after {
  display:none;
  content:none;
}

.cross_line > span {
  display:inline-block;
  margin-left:12px;
  font-size:1.15em;
  line-height:1;
}

/* Color accents for the Instagram people cards shown in the submitted area. */
.tct-people-section .tct-native-people__card { border-top:10px solid #8fdcf0; }
.tct-people-section .tct-native-people__card:nth-child(4n + 2) { border-top-color:#bfe596; }
.tct-people-section .tct-native-people__card:nth-child(4n + 3) { border-top-color:#f5d76e; }
.tct-people-section .tct-native-people__card:nth-child(4n) { border-top-color:#f2a8c2; }

.tct-instagram-archive .tct-instagram-card { border-top-width:10px; border-top-style:solid; }
.tct-instagram-archive .tct-instagram-card__body { position:static; display:flex; width:100%; height:auto; opacity:1; visibility:visible; background:#fff; }
.tct-instagram-archive .tct-instagram-card:nth-child(4n + 1) { border-top-color:#8fdcf0; }
.tct-instagram-archive .tct-instagram-card:nth-child(4n + 2) { border-top-color:#bfe596; }
.tct-instagram-archive .tct-instagram-card:nth-child(4n + 3) { border-top-color:#f5d76e; }
.tct-instagram-archive .tct-instagram-card:nth-child(4n) { border-top-color:#f2a8c2; }

/* Arrow inside the desktop category-menu circles. */
@media (min-width:921px) {
  #main-nav .sub-menu { box-sizing:border-box; max-width:calc(100vw - 24px); }
  #main-nav .sub-menu a::before {
    position:absolute;
    z-index:2;
    top:50%;
    right:18px;
    display:block;
    color:var(--tct-menu-accent,#087fa5);
    font-size:16px;
    font-weight:900;
    line-height:1;
    content:"→";
    transform:translateY(-50%);
  }
}

/* Keep the new CPT archive layer authoritative even with old page CSS. */
.tct-cpt-archive {
  box-sizing:border-box;
  min-height:70vh;
  padding:0 24px 88px;
  background:radial-gradient(circle at 5% 12%,rgba(144,224,239,.18),transparent 29rem),radial-gradient(circle at 96% 28%,rgba(255,211,226,.42),transparent 30rem),#f7fafc;
}
.tct-cpt-archive__hero {
  box-sizing:border-box;
  width:min(1240px,100%);
  margin:0 auto 38px;
  padding:clamp(34px,5vw,64px);
  border:1px solid #dce6eb;
  border-radius:28px;
  background:linear-gradient(105deg,#dff8fb 0%,#f2f8d8 24%,#fff0bd 48%,#ffd9db 72%,#eadfff 100%);
  box-shadow:0 16px 44px rgba(21,33,59,.09);
}
.tct-cpt-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:26px;
  width:min(1240px,100%);
  margin:0 auto;
  padding:0;
}
.tct-cpt-grid > .tct-cpt-card {
  --tct-card-accent:#8fdcf0;
  display:block;
  overflow:hidden;
  min-width:0;
  height:100%;
  border:1px solid #dce6eb;
  border-top:12px solid var(--tct-card-accent);
  border-radius:24px;
  background:#fff;
  box-shadow:0 13px 34px rgba(21,33,59,.08);
}
.tct-cpt-grid > .tct-cpt-card:nth-child(4n + 2) { --tct-card-accent:#bfe596; }
.tct-cpt-grid > .tct-cpt-card:nth-child(4n + 3) { --tct-card-accent:#f5d76e; }
.tct-cpt-grid > .tct-cpt-card:nth-child(4n) { --tct-card-accent:#f2a8c2; }
.tct-cpt-grid > .tct-cpt-card > a,
.tct-cpt-grid > .tct-cpt-card > a:link,
.tct-cpt-grid > .tct-cpt-card > a:visited,
.tct-cpt-grid > .tct-cpt-card > a:hover,
.tct-cpt-grid > .tct-cpt-card > a:active {
  display:flex;
  height:100%;
  flex-direction:column;
  background:#fff;
  color:#14213d;
  text-decoration:none;
}
.tct-cpt-grid .tct-cpt-card__image {
  display:block;
  overflow:hidden;
  width:100%;
  height:auto;
  margin:0;
  aspect-ratio:4/3;
  background:#e9f2f5;
}
.tct-cpt-grid .tct-cpt-card__image img {
  display:block;
  width:100%;
  height:100%;
  margin:0;
  object-fit:cover;
}
.tct-cpt-grid .tct-cpt-card__body { display:flex; flex:1; flex-direction:column; align-items:flex-start; padding:23px 22px 25px; }
.tct-cpt-grid .tct-cpt-card__body small { color:#087fa5; }
.tct-cpt-grid .tct-cpt-card__body h2 { color:#14213d; }
.tct-cpt-grid .tct-cpt-card__body p { color:#657186; }
.tct-cpt-grid .tct-cpt-card__body > span { margin-top:auto; color:#657186; }
@media (max-width:900px) { .tct-cpt-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px) {
  .tct-cpt-archive { padding:0 14px 58px; }
  .tct-cpt-archive__hero { padding:30px 22px; border-radius:21px; }
  .tct-cpt-grid { grid-template-columns:1fr; gap:18px; }
  .tct-cpt-grid > .tct-cpt-card > a { display:grid; grid-template-columns:42% minmax(0,1fr); }
  .tct-cpt-grid .tct-cpt-card__image { height:100%; min-height:230px; aspect-ratio:auto; }
  .tct-cpt-grid .tct-cpt-card__body { padding:18px 16px; }
}
.tct-mail-diagnostic {
  max-width:760px;
  margin:28px auto 0;
  padding:18px 20px;
  border:1px solid #e4a5aa;
  border-radius:14px;
  background:#fff4f4;
  color:#852c35;
  font-size:14px;
  line-height:1.7;
  overflow-wrap:anywhere;
}
