@charset "UTF-8";



:root {
  --tt-brand:      #12395C;  
  --tt-brand-dark: #0C2740;  
  --tt-accent:     #C4362B;  
  --tt-accent-hov: #B4302A;  
  --tt-go:         #1E6B57;  
  --tt-warn:       #8A6D00;  
  
  --tt-danger:     #C4362B;
  --tt-link:       #0B5FA5;  

  --tt-ink:  #1C1F23;        
  --tt-sub:  #5A6472;        

  --tt-bg:        #FBFAF7;   
  --tt-bg-white:  #FFFFFF;   
  --tt-bg-soft:   #EEF2F6;   
  --tt-bg-accent: #FCEFEC;   
  --tt-bg-go:     #EAF4F0;   
  --tt-bg-warn:   #FFF6DB;   

  --tt-line:      #DDD8CF;   
  --tt-line-form: #8A8578;   

  --tt-lh-body:  1.9;        
  --tt-lh-tight: 1.45;       

  
  --color_main:        #12395C;  
  --color_htag:        #12395C;  
  --color_link:        #0B5FA5;  
  --color_text:        #1C1F23;  
  --color_header_bg:   #FFFFFF;  
  --color_footer_bg:   #0C2740;  
  --color_footer_text: #FFFFFF;
  --color_list_check:  #1E6B57;  
  --color_list_num:    #12395C;  
  
  --color_main_dark:   #0C2740;
  --color_main_thin:   rgba(18, 57, 92, 0.05);

  
  --tt-lh-tight: 1.4;
  
}


body { text-rendering: optimizeLegibility; font-feature-settings: "palt" 0; }

#main_content .post_content,
#lp-content .post_content {
  line-height: var(--tt-lh-body);
  letter-spacing: .02em;
}

.post_content p:where(:not([class*="tt-"])) { margin-bottom: 1.6em; }


.post_content h1, .post_content h2, .post_content h3, .post_content h4,
.c-postTitle__ttl, .c-widget__title, .l-header__logo, .p-breadcrumb,
.tt-toc__ttl, .tt-author__h, .tt-about-article__h {
  font-feature-settings: "palt" 1;
  line-height: var(--tt-lh-tight);
  letter-spacing: .01em;
}


.post_content table, .tt-num, time, .c-postTitle__date {
  font-feature-settings: "tnum" 1, "palt" 0;
  font-variant-numeric: tabular-nums;
}


@media (min-width: 960px) {
  .post_content h2 { font-size: 1.5em; }
  .post_content h3 { font-size: 1.22em; }
  .post_content h4 { font-size: 1.06em; }
}
@media (max-width: 959px) {
  .post_content h2 { font-size: 1.24em; }
  .post_content h3 { font-size: 1.12em; }
  .post_content h4 { font-size: 1.02em; }
}


.post_content h2 {
  border: none;
  border-top: 2px solid var(--tt-brand);
  border-bottom: 1px solid var(--tt-line);
  background: none;
  padding: .5em 0 .35em;
  color: var(--tt-brand);
}
.post_content h3 {
  border: none;
  border-left: 4px solid var(--tt-accent);
  background: none;
  padding: .1em 0 .1em .7em;
}
.post_content h4 {
  border: none;
  border-bottom: 1px dotted var(--tt-line);
  background: none;
  padding: 0 0 .3em;
}




input[type="text"], input[type="email"], input[type="search"], select, textarea {
  border: 1px solid var(--tt-line-form);
}


.tt-answer {
  border: 1px solid var(--tt-line);
  border-left: 5px solid var(--tt-brand);
  background: var(--tt-bg-soft);
  border-radius: 4px;
  padding: 1.1em 1.3em;
  margin: 0 0 2em;
}
.tt-answer__title {
  font-size: 1.15em;
  font-weight: 700;
  color: var(--tt-brand);
  margin: 0 0 .5em;
  line-height: 1.5;
}
.tt-answer__lede {
  margin: 0 0 .8em;
  line-height: 1.9;
}

.post_content .tt-answer__facts {
  margin: 0 0 .8em;
  padding-left: 1.3em;
}
.tt-answer__facts li {
  margin: .35em 0;
  line-height: 1.7;
}
.tt-answer__meta {
  font-size: .84em;
  color: var(--tt-sub);
  margin: 0;
  padding-top: .6em;
  border-top: 1px dashed var(--tt-line);
}


.tt-table-wrap { overflow-x: auto; margin: 1.6em 0; }
.tt-table {
  border-collapse: collapse;
  width: 100%;
  font-size: .95em;
  font-variant-numeric: tabular-nums;
}
.tt-table caption {
  caption-side: top;
  text-align: left;
  font-weight: 700;
  padding: 0 0 .5em;
  color: var(--tt-ink);
}
.tt-table th,
.tt-table td {
  border: 1px solid var(--tt-line);
  padding: .55em .7em;
  text-align: left;
  vertical-align: top;
}

.tt-table thead th {
  background: var(--tt-brand);
  color: #fff;
  font-weight: 700;
  white-space: nowrap;
  border-color: var(--tt-brand);
}
.tt-table tbody th {
  background: var(--tt-bg-soft);
  color: var(--tt-ink);
  font-weight: 700;
  white-space: nowrap;
}
.tt-table tbody td { background: var(--tt-bg-white); color: var(--tt-ink); }
.tt-table td.num { text-align: right; white-space: nowrap; }
.tt-table__src {
  font-size: .82em;
  color: var(--tt-sub);
  margin: .5em 0 0;
}


.tt-sources { font-size: .88em; margin: 2.2em 0 0; padding-top: 1em; border-top: 2px solid var(--tt-line); }
.tt-sources h2 { font-size: 1.05em; margin: 0 0 .6em; }
.tt-sources ol { padding-left: 1.4em; margin: 0; }
.tt-sources li { margin: .4em 0; line-height: 1.7; color: var(--tt-sub); }
.tt-sources a { word-break: break-all; }

.tt-cite {
  border: 1px dashed var(--tt-line);
  background: var(--tt-bg-soft);
  border-radius: 4px;
  padding: 1em 1.2em;
  margin: 2em 0;
  font-size: .9em;
}
.tt-cite__h { font-weight: 700; margin-bottom: .6em; color: var(--tt-brand); }
.tt-cite__row { display: flex; gap: .6em; align-items: flex-start; margin: .45em 0; }
.tt-cite__txt {
  flex: 1;
  background: #fff;
  border: 1px solid var(--tt-line);
  padding: .5em .7em;
  border-radius: 3px;
  font-size: .92em;
  word-break: break-all;
  font-family: ui-monospace, "Cascadia Mono", Consolas, monospace;
}
.tt-cite__btn {
  flex: 0 0 auto;
  border: 1px solid var(--tt-brand);
  background: #fff;
  color: var(--tt-brand);
  border-radius: 3px;
  padding: .45em .8em;
  cursor: pointer;
  font-size: .88em;
}
.tt-cite__btn:hover { background: var(--tt-brand); color: #fff; }
.tt-cite__lic { font-size: .82em; color: var(--tt-sub); margin: .6em 0 0; }


.tt-faq { margin: 2.2em 0; }
.tt-faq__item { border-bottom: 1px solid var(--tt-line); padding: 1em 0; }
.tt-faq__item h3 { font-size: 1.05em; margin: 0 0 .5em; line-height: 1.6; }
.tt-faq__item h3::before { content: "Q. "; color: var(--tt-brand); font-weight: 700; }
.tt-faq__item p { margin: 0; line-height: 1.8; }


.tt-faq__item p:first-of-type::before { content: "A. "; color: var(--tt-brand); font-weight: 700; }
.tt-faq__item p + p { margin-top: .5em; }


.tt-meta {
  font-size: .85em;
  color: var(--tt-sub);
  border: 1px solid var(--tt-line);
  border-radius: 4px;
  padding: .8em 1em;
  margin: 2em 0 0;
  background: var(--tt-bg-soft);
}
.tt-meta time { font-variant-numeric: tabular-nums; }


.tt-pr {
  font-size: .82em;
  color: var(--tt-sub);
  background: var(--tt-bg-soft);
  border: 1px solid var(--tt-line);
  border-radius: 3px;
  padding: .5em .8em;
  margin: 0 0 1.4em;
}


.tt-tool { border: 1px solid var(--tt-line); border-radius: 6px; padding: 1.2em; margin: 2em 0; }
.tt-tool__title { font-weight: 700; font-size: 1.1em; margin: 0 0 .8em; color: var(--tt-brand); }
.tt-tool__static { margin-top: 1.2em; padding-top: 1em; border-top: 1px dashed var(--tt-line); }
.tt-tool__static-note { font-size: .84em; color: var(--tt-sub); margin: 0 0 .6em; }


.tt-toc {
  border: 1px solid var(--tt-line);
  border-radius: 6px;
  background: var(--tt-bg-soft);
  padding: 1.1em 1.3em;
  margin: 2em 0;
}
.tt-toc__ttl {
  font-weight: 700;
  color: var(--tt-brand);
  margin: 0 0 .6em;
  font-size: 1.02em;
}
.post_content .tt-toc__list { margin: 0; padding-left: 1.4em; }
.post_content .tt-toc__list > li { margin: .4em 0; line-height: 1.6; }

.tt-toc__item {}
.post_content .tt-toc__sub { margin: .35em 0 .5em; padding-left: 1.2em; list-style: circle; }
.tt-toc__sub li { margin: .25em 0; font-size: .94em; }
.tt-toc a { text-decoration: none; }
.tt-toc a:hover { text-decoration: underline; }


.tt-src {
  font-size: .86em;
  color: var(--tt-sub);
  margin: -.4em 0 1.4em;
  padding-left: .9em;
  border-left: 2px solid var(--tt-line);
}
.tt-quote {
  border-left: 4px solid var(--tt-brand);
  background: var(--tt-bg-soft);
  margin: 1.6em 0;
  padding: 1em 1.2em;
  border-radius: 0 4px 4px 0;
}
.tt-quote p { margin: 0 0 .5em; line-height: 1.8; }
.tt-quote cite { font-size: .85em; color: var(--tt-sub); font-style: normal; }


.tt-author {
  margin: 3em 0 0;
  padding: 1.3em 1.4em;
  border: 1px solid var(--tt-line);
  border-radius: 6px;
  background: #fff;
}
.tt-author__h {
  font-size: 1.05em;
  font-weight: 700;
  color: var(--tt-brand);
  margin: 0 0 .9em;
  padding: 0;
  border: none;
}
.tt-author__body { display: flex; gap: 1.1em; align-items: flex-start; }

.tt-author__meta { min-width: 0; flex: 1 1 auto; }
.tt-author__job { font-size: .85em; color: var(--tt-sub); margin: 0 0 .2em; }
.tt-author__name {
  font-size: 1.1em; font-weight: 700; margin: 0 0 .6em;
  display: flex; align-items: baseline; gap: .6em; flex-wrap: wrap;
}
.tt-author__kana { font-size: .72em; font-weight: 400; color: var(--tt-sub); }
.tt-author__bio { font-size: .9em; line-height: 1.9; margin: 0 0 .6em; }
.tt-author__link { margin: 0; font-size: .88em; }


.tt-about-article {
  margin: 3em 0 0;
  padding: 1.2em 1.4em;
  border: 1px solid var(--tt-line);
  border-radius: 6px;
  background: var(--tt-bg-soft);
  font-size: .9em;
}
.tt-about-article__h {
  font-size: 1.05em;
  font-weight: 700;
  color: var(--tt-brand);
  margin: 0 0 .8em;
  padding: 0;
  border: none;
}
.tt-about-article__dl {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .35em 1em;
  margin: 0 0 .9em;
}
.tt-about-article__dl dt {
  color: var(--tt-sub);
  font-weight: 600;
  white-space: nowrap;
}
.tt-about-article__dl dd {
  margin: 0;
  font-variant-numeric: tabular-nums;
}
.tt-about-article__note {
  margin: 0;
  padding-top: .8em;
  border-top: 1px dashed var(--tt-line);
  font-size: .93em;
  line-height: 1.8;
  color: var(--tt-sub);
}


.tt-cta { margin: 2em 0; }
.tt-cta--top { margin: 0 0 2.2em; }
.tt-warn-inline {
  background: #fff4e5; border: 1px solid #e0b070; color: #8a5a10;
  padding: .6em .9em; border-radius: 4px; font-size: .88em;
}


.tt-go {
  display: inline-block;
  background: var(--tt-accent);
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  padding: .7em 1.4em;
  border-radius: 5px;
  line-height: 1.4;
  transition: filter .15s;
}
.tt-go:hover { filter: brightness(1.08); color: #fff; text-decoration: none; }
.tt-compare .tt-go { padding: .45em .9em; font-size: .9em; white-space: nowrap; }


.tt-compare { min-width: 640px; }
.tt-compare td.num { text-align: left; white-space: normal; }


.tt-pick {
  border: 1px solid var(--tt-line);
  border-radius: 6px;
  padding: 1.2em 1.4em;
  margin: 2em 0;
  background: #fff;
}
.tt-pick__h {
  font-size: 1.15em; font-weight: 700; color: var(--tt-ink);
  margin: 0 0 .8em; padding: 0 0 .5em;
  border: none; border-bottom: 2px solid var(--tt-brand);
}
.tt-pick__spec {
  display: grid; grid-template-columns: auto 1fr; gap: .35em 1em;
  margin: 0 0 1em; font-size: .95em;
}
.tt-pick__spec dt { color: var(--tt-sub); font-weight: 600; white-space: nowrap; }
.tt-pick__spec dd { margin: 0; }
.tt-pick__why { font-size: .95em; line-height: 1.9; margin: 0 0 1em; }
.tt-pick__go { margin: 0 0 .7em; }
.tt-pick__src { font-size: .8em; color: var(--tt-sub); margin: 0; }


.tt-bridge {
  border-left: 4px solid var(--tt-accent);
  background: #fdf7f2;
  padding: 1em 1.2em;
  margin: 2em 0;
  border-radius: 0 4px 4px 0;
}
.tt-bridge p { margin: 0; line-height: 1.9; font-size: .96em; }
.tt-bridge__go { margin-top: .7em !important; font-weight: 700; }


.tt-search { margin: 1.5em 0; --pagefind-ui-primary: var(--tt-brand); --pagefind-ui-text: var(--tt-ink); --pagefind-ui-border: var(--tt-line); --pagefind-ui-border-radius: 5px; --pagefind-ui-font: inherit; }
.tt-search__note {
  background: var(--tt-bg-soft); border: 1px solid var(--tt-line);
  padding: .9em 1.1em; border-radius: 5px; font-size: .92em;
}


.tt-sitemap__total { font-weight: 700; color: var(--tt-sub); }
.tt-sitemap__sec { margin: 2.5em 0; }
.tt-sitemap__h2, .tt-sitemap__h3 {
  display: flex; align-items: baseline; gap: .7em; flex-wrap: wrap;
}
.tt-sitemap__h3 { font-size: 1.05em; margin-top: 1.6em; }
.tt-sitemap__n { font-size: .72em; font-weight: 400; color: var(--tt-sub); }
.tt-sitemap__desc { font-size: .92em; color: var(--tt-sub); margin: .3em 0 1em; }
.post_content .tt-sitemap__list { list-style: none; padding: 0; margin: .8em 0 1.6em; }
.tt-sitemap__list li {
  display: flex; justify-content: space-between; gap: 1em;
  padding: .5em 0; border-bottom: 1px dotted var(--tt-line); line-height: 1.6;
}
.tt-sitemap__date { flex: 0 0 auto; font-size: .8em; color: var(--tt-sub); font-variant-numeric: tabular-nums; }


@media (max-width: 599px) {
  .tt-answer { padding: .9em 1em; }
  .tt-answer__title { font-size: 1.05em; }
  .tt-cite__row { flex-direction: column; }
  .tt-cite__btn { align-self: flex-start; }
  .tt-toc { padding: .9em 1em; }
  .tt-author, .tt-pick { padding: 1em 1.1em; }
  .tt-author__body { flex-direction: column; gap: .8em; }
  .tt-pick__spec, .tt-about-article__dl { grid-template-columns: 1fr; gap: .1em; }
  .tt-pick__spec dt, .tt-about-article__dl dt { margin-top: .5em; }
  .tt-go { display: block; text-align: center; }
  .tt-compare .tt-go { display: inline-block; }
}


.tt-nav { list-style: none; padding: 0; margin: 0; }
.tt-nav li { border-bottom: 1px solid var(--tt-line); }
.tt-nav a {
  display: flex; justify-content: space-between; align-items: baseline; gap: .6em;
  padding: .7em .2em; text-decoration: none; font-weight: 600;
}
.tt-nav a:hover { background: var(--tt-bg-soft); }
.tt-nav__n { font-size: .78em; color: var(--tt-sub); font-weight: 400; font-variant-numeric: tabular-nums; }
.tt-nav__desc { display: block; padding: 0 .2em .7em; font-size: .82em; color: var(--tt-sub); line-height: 1.6; }
.tt-side-link { display: block; padding: .55em 0; font-weight: 600; }
.tt-side-about { font-size: .88em; line-height: 1.8; }
.tt-side-about__lead { margin: 0 0 .7em; }
.tt-side-about__list { margin: 0 0 .8em; padding-left: 1.2em; }
.tt-side-about__list li { margin: .3em 0; }
.tt-side-about__who { margin: 0 0 .4em; color: var(--tt-sub); }
.tt-side-about__links { margin: 0; font-size: .95em; }


.c-widget__title {
  border-bottom: 2px solid var(--tt-brand);
  color: var(--tt-brand);
  padding-bottom: .4em;
}
.tt-side-about__list { list-style: disc; }


.tt-cta {
  border: 1px solid var(--tt-line);
  border-top: 3px solid var(--tt-brand);
  background: var(--tt-bg-white);
  padding: 1.3em 1.5em;
}
.tt-cta--top { margin: 0 0 2.4em; }
@media (max-width: 599px) { .tt-cta { padding: 1em 1.1em; } }


.tt-pr { background: var(--tt-bg-soft); border-color: var(--tt-line); }


.tt-compare { min-width: 0; table-layout: auto; }
.tt-compare th:nth-child(1), .tt-compare td:nth-child(1) { width: 22%; }
.tt-compare th:nth-child(2), .tt-compare td:nth-child(2) { width: 20%; white-space: normal; }
.tt-compare th:nth-child(4), .tt-compare td:nth-child(4) { width: 15%; }
.tt-compare__price { text-align: left; white-space: normal; }
.tt-compare__amount { font-weight: 700; display: block; }
.tt-compare__note {
  display: block; margin-top: .35em; font-size: .82em;
  color: var(--tt-sub); line-height: 1.6;
}
.tt-compare .tt-go { white-space: nowrap; padding: .45em .7em; font-size: .85em; }

@media (max-width: 767px) {
  .tt-compare { min-width: 560px; }
}
