@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

@charset "UTF-8";


/* SANGO → SWELL 移行用 互換スタイル2026年9月19日 */

:root {
  --compat-main:   #009ef3;
  --compat-accent: #f88080;
  --compat-border: #d5d5d5;
  --compat-bg:     #fff;
  --compat-text:   #333;
  --compat-muted:  #6f7579;
}

/* ===== 1. 吹き出し ===== */
.sgb-block-say { display: flex; align-items: flex-start; margin: 1.8em 0; }
.sgb-block-say--right { flex-direction: row-reverse; }
.sgb-block-say-avatar { flex: 0 0 auto; width: 80px; text-align: center; }
.sgb-block-say-avatar img {
  display: block; width: 80px; height: 80px; margin: 0 auto;
  border-radius: 50%; object-fit: cover;
  border-width: 2px; border-style: solid; border-color: #eaedf2; background: #fff;
}
.sgb-block-say-avatar__name {
  margin-top: 4px; font-size: .72em; line-height: 1.35;
  color: var(--compat-muted); word-break: break-all;
}
.sgb-block-say-avatar__name:empty { display: none; }
.sgb-block-say-text { flex: 1 1 auto; min-width: 0; margin-left: 18px; }
.sgb-block-say--right .sgb-block-say-text { margin-left: 0; margin-right: 18px; }
.sgb-block-say-text__content {
  position: relative; padding: 1.1em 1.3em;
  border-width: 1px; border-style: solid; border-color: var(--compat-border);
  border-radius: 12px; background-color: var(--compat-bg); color: var(--compat-text);
}
.sgb-block-say-text__content > *:first-child { margin-top: 0; }
.sgb-block-say-text__content > *:last-child  { margin-bottom: 0; }
.sgb-block-say-text__before,
.sgb-block-say-text__after {
  position: absolute; top: 22px; width: 0; height: 0;
  border-style: solid; border-width: 9px 9px 9px 0;
  border-top-color: transparent; border-bottom-color: transparent; border-left-color: transparent;
}
.sgb-block-say-text__before { left: -9px; }
.sgb-block-say-text__after  { left: -8px; }
.sgb-block-say--right .sgb-block-say-text__before,
.sgb-block-say--right .sgb-block-say-text__after { left: auto; transform: scaleX(-1); }
.sgb-block-say--right .sgb-block-say-text__before { right: -9px; }
.sgb-block-say--right .sgb-block-say-text__after  { right: -8px; }
@media (max-width: 600px) {
  .sgb-block-say-avatar, .sgb-block-say-avatar img { width: 56px; }
  .sgb-block-say-avatar img { height: 56px; }
  .sgb-block-say-text { margin-left: 12px; }
  .sgb-block-say--right .sgb-block-say-text { margin-right: 12px; }
  .sgb-block-say-text__content { padding: .9em 1em; }
}

/* ===== 2. ボックス ===== */
.sgb-box-simple { margin: 1.8em 0; border-radius: 8px; }
.sgb-box-simple__title {
  padding: .55em 1.1em; font-weight: 700; line-height: 1.5;
  border-radius: 8px 8px 0 0; background-color: var(--compat-accent); color: #fff;
}
.sgb-box-simple__body {
  padding: 1.2em 1.4em; border-radius: 0 0 8px 8px; background-color: var(--compat-bg);
}
.sgb-box-simple--with-border .sgb-box-simple__body {
  border-width: 2px; border-style: solid; border-top-width: 0; border-color: var(--compat-accent);
}
.sgb-box-simple__body > *:first-child { margin-top: 0; }
.sgb-box-simple__body > *:last-child  { margin-bottom: 0; }
.sgb-box-simple__title:empty { display: none; }
.sgb-box-simple__title:empty + .sgb-box-simple__body { border-top-width: 2px; border-radius: 8px; }
.sgb-box-simple--title-overwrap { position: relative; margin-top: 2.4em; }
.sgb-box-simple--title-overwrap .sgb-box-simple__title {
  position: absolute; top: -.85em; left: 1.1em; display: inline-block;
  padding: .15em .9em; font-size: .9em; border-radius: 99px;
}
.sgb-box-simple--title-overwrap .sgb-box-simple__body {
  border-top-width: 2px; border-radius: 8px; padding-top: 1.5em;
}

/* ===== 3. 見出しブロック ===== */
.sgb-heading { margin: 2em 0 1em; }
.sgb-heading__inner {
  display: block; padding: .5em 1em;
  border-width: 1px; border-style: solid; border-color: transparent;
  border-radius: 6px; font-weight: 700; line-height: 1.5;
}
.sgb-heading__inner--center { text-align: center; }
.sgb-heading__inner--right  { text-align: right; }
.sgb-heading__text { display: inline-block; color: inherit; }
.sgb-heading--type2 { border-radius: 4px; }
.sgb-heading--type1 {
  background-color: transparent !important;
  border-width: 0 0 3px 0; border-radius: 0; padding: .2em 0 .3em;
}
.sgb-heading--type3 {
  background-color: transparent !important;
  border-width: 0 0 0 5px; border-radius: 0; padding: .2em 0 .2em .8em;
}

/* ===== 4. レガシーボックス ===== */
.sng-box {
  margin: 1.8em 0; padding: 1.3em 1.5em;
  border: 2px solid var(--compat-border); border-radius: 8px; background: var(--compat-bg);
}
.sng-box > *:first-child { margin-top: 0; }
.sng-box > *:last-child  { margin-bottom: 0; }
.sng-box.box1 { border-color: var(--compat-main); }
.sng-box.box2 { border-color: var(--compat-accent); }
.sng-align-center { text-align: center; }

/* ===== 5. 蛍光マーカー ===== */
.keiko_yellow, .keiko_red, .keiko_blue, .keiko_green {
  padding: 0 .1em; background-repeat: no-repeat;
  background-position: 0 .45em; background-size: 100% 100%;
}
.keiko_yellow { background-image: linear-gradient(transparent 58%, #fff799 58%); }
.keiko_red    { background-image: linear-gradient(transparent 58%, #ffc7c7 58%); }
.keiko_blue   { background-image: linear-gradient(transparent 58%, #bfe4ff 58%); }
.keiko_green  { background-image: linear-gradient(transparent 58%, #c5f1c5 58%); }

/* ===== 6. リスト装飾 ===== */
[class*="is-style-sango-list-"] { list-style: none; margin: 1.4em 0; padding-left: 0; }
[class*="is-style-sango-list-"] > li {
  position: relative; padding: .3em 0 .3em 1.8em; line-height: 1.7;
}
[class*="is-style-sango-list-"] > li::before {
  position: absolute; left: 0; top: .3em; font-weight: 700; line-height: 1.7;
}
.is-style-sango-list-check > li::before   { content: "\2713"; color: var(--compat-main); font-size: 1.05em; }
.is-style-sango-list-chevron > li::before { content: "\276F"; color: var(--compat-main); font-size: .9em; }
.is-style-sango-list-yubi > li::before    { content: "\1F449"; font-size: .95em; }
.is-style-sango-list-simple > li::before  { content: "\2022"; color: var(--compat-muted); font-size: 1.2em; top: .15em; }
.is-style-sango-list-main-color > li::before   { content: "\25CF"; color: var(--compat-main); font-size: .8em; top: .45em; }
.is-style-sango-list-accent-color > li::before { content: "\25CF"; color: var(--compat-accent); font-size: .8em; top: .45em; }
.is-style-sango-list-tandb {
  border-top: 1px solid var(--compat-border);
  border-bottom: 1px solid var(--compat-border); padding: .6em 0;
}
.is-style-sango-list-tandb > li { padding-left: 1.2em; }
.is-style-sango-list-tandb > li::before { content: "\2022"; color: var(--compat-muted); }
.is-style-sango-list-stitch-blue {
  border: 2px dashed var(--compat-main); border-radius: 8px;
  padding: 1em 1.2em; background: #f7fbff;
}
.is-style-sango-list-stitch-blue > li::before { content: "\2713"; color: var(--compat-main); }

/* ===== 7. 段落装飾 ===== */
[class*="is-style-sango-paragraph-"] {
  position: relative; margin: 1.6em 0; padding: 1em 1.2em 1em 3em;
  border-radius: 6px; line-height: 1.8;
}
[class*="is-style-sango-paragraph-"]::before {
  position: absolute; left: 1em; top: 1em; font-size: 1.1em; line-height: 1.4;
}
.is-style-sango-paragraph-memo,
.is-style-sango-paragraph-memo-alt { background: #f7f8fa; border-left: 4px solid #b0b8c4; }
.is-style-sango-paragraph-memo::before,
.is-style-sango-paragraph-memo-alt::before { content: "\1F4DD"; }
.is-style-sango-paragraph-good-alt { background: #f2fbf4; border-left: 4px solid #6fcf7f; }
.is-style-sango-paragraph-good-alt::before { content: "\1F44D"; }
.is-style-sango-paragraph-exclamation-alt { background: #fff6f6; border-left: 4px solid #f88080; }
.is-style-sango-paragraph-exclamation-alt::before { content: "\2757"; }
.is-style-sango-paragraph-idea-alt { background: #fffbf0; border-left: 4px solid #f5c344; }
.is-style-sango-paragraph-idea-alt::before { content: "\1F4A1"; }

/* ===== 8. テーブル ===== */
.is-style-sango-table-responsive,
.is-style-sango-table-scroll-hint { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.is-style-sango-table-responsive table,
.is-style-sango-table-scroll-hint table { min-width: 560px; }
.is-style-sango-table-scroll-hint { position: relative; }
@media (max-width: 600px) {
  .is-style-sango-table-scroll-hint::after {
    content: "\2190 \6A2A\30B9\30AF\30ED\30FC\30EB\3067\304D\307E\3059 \2192";
    display: block; padding: .4em 0; font-size: .75em;
    text-align: center; color: var(--compat-muted);
  }
}

/* ===== 9. ボタン ===== */
.wp-block-sgb-btn { margin: 1.6em 0; text-align: center; }
a.btn, a.shiny-btn4 {
  display: inline-block; max-width: 100%; padding: .9em 2em;
  border-radius: 6px; color: #fff; font-weight: 700;
  text-align: center; text-decoration: none; line-height: 1.5;
  transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease;
}
a.btn { background-color: var(--compat-main); }
a.shiny-btn4 { background-color: var(--compat-accent); box-shadow: 0 4px 0 rgba(0,0,0,.18); }
a.btn.shadow, a.btn.raised { box-shadow: 0 4px 0 rgba(0,0,0,.18); }
a.btn.cubic2 { border-radius: 8px; }
a.btn:hover, a.shiny-btn4:hover {
  transform: translateY(2px); box-shadow: 0 2px 0 rgba(0,0,0,.18); opacity: .92; color: #fff;
}

/* ===== 10. 星評価 ===== */
.inline-rate-star, .inline-rate-star-empty {
  display: inline-block; font-style: normal; line-height: 1; color: #f5b301;
}
.inline-rate-star::before       { content: "\2605"; }
.inline-rate-star-empty::before { content: "\2606"; }
.inline-rate-star-empty         { color: #ccc; }

/* ===== 11. 後始末 ===== */
.post_content [class*="sgb-"] + [class*="sgb-"] { margin-top: 1.4em; }
.sango-theme, .sango-main { all: unset; display: block; }