/* ==========================================================================
   SWELL Theme Content Styles for .l-mainContent__inner
   Extracted from https://www.ultra-domain.jp
   ========================================================================== */

/* --- CSS Variables --- */
:root {
    --swl-fz--content: 16px;
    --swl-font_family: "游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    --swl-font_weight: 500;
    --color_main: #af231c;
    --color_text: #515151;
    --color_link: #1176d4;
    --color_htag: #af231c;
    --color_bg: #fdfdfd;
    --color_gradient1: #d8ffff;
    --color_gradient2: #87e7ff;
    --color_main_thin: rgba(219, 44, 35, 0.05);
    --color_main_dark: rgba(131, 26, 21, 1);
    --color_list_check: #af231c;
    --color_list_num: #af231c;
    --color_list_good: #86dd7b;
    --color_list_triangle: #f4e03a;
    --color_list_bad: #f36060;
    --color_faq_q: #d55656;
    --color_faq_a: #6599b7;
    --color_icon_good: #3cd250;
    --color_icon_good_bg: #ecffe9;
    --color_icon_bad: #4b73eb;
    --color_icon_bad_bg: #eafaff;
    --color_icon_info: #f578b4;
    --color_icon_info_bg: #fff0fa;
    --color_icon_announce: #ffa537;
    --color_icon_announce_bg: #fff5f0;
    --color_icon_pen: #7a7a7a;
    --color_icon_pen_bg: #f7f7f7;
    --color_icon_book: #787364;
    --color_icon_book_bg: #f8f6ef;
    --color_icon_point: #ffa639;
    --color_icon_check: #86d67c;
    --color_icon_batsu: #f36060;
    --color_icon_hatena: #5295cc;
    --color_icon_caution: #f7da38;
    --color_icon_memo: #84878a;
    --color_deep01: #e44141;
    --color_deep02: #3d79d5;
    --color_deep03: #63a84d;
    --color_deep04: #f09f4d;
    --color_pale01: #fff2f0;
    --color_pale02: #f3f8fd;
    --color_pale03: #f1f9ee;
    --color_pale04: #fdf9ee;
    --color_mark_blue: #b7e3ff;
    --color_mark_green: #bdf9c3;
    --color_mark_yellow: #fcf69f;
    --color_mark_orange: #ffddbc;
    --color_gray: #f7f7f7;
    --color_border: #dcdcdc;
    --color_border--table: #dcdcdc;
    --color_content_bg: var(--color_bg);
    --border01: solid 1px var(--color_main);
    --border02: double 4px var(--color_main);
    --border03: dashed 2px var(--color_border);
    --border04: solid 4px var(--color_gray);
    --container_size: 1024px;
    --article_size: 900px;
    --swl-fz--xs: 0.75em;
    --swl-fz--small: 0.9em;
    --swl-fz--medium: 1.1em;
    --swl-fz--large: 1.25em;
    --swl-fz--huge: 1.6em;
    --swl-block-margin: 2em;
    --swl-list-padding--left: 1.5em;
    --swl-pad_post_content: 16px;
    --swl-letter_spacing: .2px;
    --wp--preset--color--black: #000;
    --wp--preset--color--cyan-bluish-gray: #abb8c3;
    --wp--preset--color--white: #fff;
    --wp--preset--color--pale-pink: #f78da7;
    --wp--preset--color--vivid-red: #cf2e2e;
    --wp--preset--color--luminous-vivid-orange: #ff6900;
    --wp--preset--color--luminous-vivid-amber: #fcb900;
    --wp--preset--color--light-green-cyan: #7bdcb5;
    --wp--preset--color--vivid-green-cyan: #00d084;
    --wp--preset--color--pale-cyan-blue: #8ed1fc;
    --wp--preset--color--vivid-cyan-blue: #0693e3;
    --wp--preset--color--vivid-purple: #9b51e0;
    --wp--preset--color--swl-main: var(--color_main);
    --wp--preset--color--swl-main-thin: var(--color_main_thin);
    --wp--preset--color--swl-gray: var(--color_gray);
    --wp--preset--color--swl-deep-01: var(--color_deep01);
    --wp--preset--color--swl-deep-02: var(--color_deep02);
    --wp--preset--color--swl-deep-03: var(--color_deep03);
    --wp--preset--color--swl-deep-04: var(--color_deep04);
    --wp--preset--color--swl-pale-01: var(--color_pale01);
    --wp--preset--color--swl-pale-02: var(--color_pale02);
    --wp--preset--color--swl-pale-03: var(--color_pale03);
    --wp--preset--color--swl-pale-04: var(--color_pale04);
}

/* --- Font Face --- */
@font-face {
    font-family: icomoon;
    font-style: normal;
    font-weight: 400;
    src: url("/assets/ultra-domain/fonts/icomoon.woff2") format("woff2"),
         url("/assets/ultra-domain/fonts/icomoon.ttf") format("truetype"),
         url("/assets/ultra-domain/fonts/icomoon.woff") format("woff");
}

/* --- Keyframes --- */
@keyframes flash {
    0% { opacity: 0.6; }
    100% { opacity: 1; }
}
@keyframes shiny_btn {
    0% { opacity: 0; transform: scale(0) rotate(25deg); }
    84% { opacity: 0; transform: scale(0) rotate(25deg); }
    85% { opacity: 0.9; transform: scale(1) rotate(25deg); }
    100% { opacity: 0; transform: scale(50) rotate(25deg); }
}
@keyframes FloatHorizontal {
    0% { transform: translate3d(4px, 0, 0); }
    50% { transform: translate3d(-4px, 0, 0); }
    100% { transform: translate3d(4px, 0, 0); }
}
@keyframes shiny {
    0% { left: -20%; }
    10% { left: 120%; }
    100% { left: 120%; }
}

/* --- Link Styles --- */
.post_content a { color: var(--color_link); text-decoration: none; }
.post_content a:hover { text-decoration: underline; }

/* --- Format Styles --- */
.swl-format-1, .swl-format-2 { font-weight: bold; }
.swl-format-2 { color: #ff0000; }

/* --- Inline Color --- */
.swl-inline-color { --color_link: currentcolor; }

/* --- Icon classes (icomoon) --- */
.c-categoryList::before,
.c-tagList::before,
.c-taxList::before,
code.dir_name::before,
code.file_name::before {
    -webkit-font-smoothing: antialiased;
    font-style: normal;
    font-variant: normal;
    font-weight: 400;
    line-height: 1;
    text-transform: none;
    font-family: icomoon !important;
}
.icon-modified::before { content: "\e918"; font-family: icomoon !important; }
.icon-info::before { content: "\e91a"; font-family: icomoon !important; }
.icon-more_arrow::before { content: "\e921"; font-family: icomoon !important; }
.icon-facebook::before { content: "\ea90"; font-family: icomoon !important; }
.icon-twitter-x::before { content: "\e924"; font-family: icomoon !important; }
.icon-hatebu::before { content: "\e900"; font-family: icomoon !important; }
.icon-pocket::before { content: "\e911"; font-family: icomoon !important; }
.icon-line::before { content: "\e90e"; font-family: icomoon !important; }
[class^="icon-"]::before, [class*=" icon-"]::before {
    font-family: icomoon !important;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
}

/* --- Post Content Base --- */
#lp-content .post_content, #main_content .post_content { font-size: var(--swl-fz--content,16px); }
.l-mainContent__inner > :first-child, .post_content > :first-child { margin-top: 0 !important; }
.l-mainContent__inner > :last-child, .post_content > :last-child { margin-bottom: 0 !important; }

.post_content {
    line-height: 1.8;
    margin: 0;
    max-width: 100%;
    padding: 0;
    font-family: var(--swl-font_family);
    font-weight: var(--swl-font_weight);
    color: var(--color_text);
}
.post_content > * { clear: both; margin-bottom: var(--swl-block-margin,2em); }
.post_content div > :first-child, .post_content > :first-child { margin-top: 0 !important; }
.post_content dd > :last-child, .post_content div > :last-child, .post_content > :last-child { margin-bottom: 0 !important; }

/* --- Headings --- */
.post_content h1 { font-size: 2em; }
.post_content h2 {
    font-size: 1.2em;
    line-height: 1.4;
    margin: 4em calc(-1 * var(--swl-pad_post_content, 0px)) 2em;
    position: relative;
    z-index: 1;
    font-weight: 700;
}
.post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
    background: var(--color_htag);
    padding: .75em 1em;
    color: #fff;
}
.post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before {
    position: absolute;
    display: block;
    pointer-events: none;
    content: "";
    top: -4px;
    left: 0;
    width: 100%;
    height: calc(100% + 4px);
    box-sizing: content-box;
    border-top: solid 2px var(--color_htag);
    border-bottom: solid 2px var(--color_htag);
}
.post_content h3 {
    font-size: 1.1em;
    font-weight: 700;
    line-height: 1.4;
    margin: 3em 0 2em;
    position: relative;
}
.post_content h3::before {
    bottom: 0;
    display: block;
    left: 0;
    position: absolute;
    z-index: 0;
}
.post_content h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
    padding: 0 .5em .5em;
}
.post_content h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before {
    content: "";
    width: 100%;
    height: 2px;
    background: repeating-linear-gradient(90deg, var(--color_htag) 0%, var(--color_htag) 29.3%, rgba(150,150,150,.2) 29.3%, rgba(150,150,150,.2) 100%);
}
.post_content h4 {
    font-size: 1.05em;
    line-height: 1.4;
    margin: 3em 0 1.5em;
    position: relative;
    font-weight: 700;
}
.post_content h4:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
    padding: 0 0 0 16px;
    border-left: solid 2px var(--color_htag);
}

/* --- Tables --- */
.post_content table {
    border: none;
    border-collapse: collapse;
    border-spacing: 0;
    line-height: 1.6;
    max-width: 100%;
    text-align: left;
    width: 100%;
}
.post_content td, .post_content th {
    border: 1px solid var(--color_border--table,#dcdcdc);
    padding: .5em;
}
.post_content th {
    background-color: var(--tbody-th-color--bg,hsla(0,0%,59%,.05));
    color: var(--tbody-th-color--txt,inherit);
    font-weight: 700;
}
.post_content thead td, .post_content thead th {
    background-color: var(--thead-color--bg,var(--color_main));
    color: var(--thead-color--txt,#fff);
}
.post_content :where(table) caption { font-size: .9em; margin-bottom: .25em; opacity: .8; }
.post_content small { font-size: .8em; opacity: .8; }

/* --- Code --- */
.post_content :not(pre) > code {
    align-items: center;
    background: #f7f7f7;
    border: 1px solid rgba(0,0,0,.1);
    border-radius: 2px;
    color: #333;
    display: inline-flex;
    font-family: Menlo, Consolas, メイリオ, sans-serif;
    font-size: .9em;
    letter-spacing: 0;
    line-height: 1;
    margin: 0 .5em;
    padding: .25em .5em;
}

/* --- Lists --- */
.post_content :where(ul:not([type])) { list-style: disc; }
.post_content :where(ol:not([type])) { list-style: decimal; }
.post_content ol, .post_content ul { padding-left: var(--swl-list-padding--left); }
.post_content ol ul, .post_content ul ul { list-style: circle; }
.post_content li { line-height: 1.5; margin: .25em 0; position: relative; }
.post_content li ol, .post_content li ul { margin: 0; }

/* --- HR --- */
.post_content hr {
    border-top: none; border-right: none; border-left: none;
    border-bottom: 1px solid rgba(0,0,0,.1);
    margin: 2.5em 0;
}

/* --- Blockquote --- */
.post_content blockquote {
    background: var(--color_gray);
    position: relative;
    padding: 1.5em 2em 1.5em 3em;
}
.post_content blockquote::before {
    content: "";
    display: block;
    width: 5px;
    height: calc(100% - 3em);
    top: 1.5em;
    left: 1.5em;
    border-left: 1px solid rgba(180,180,180,.75);
    border-right: 1px solid rgba(180,180,180,.75);
    position: absolute;
}
.post_content blockquote cite { display: block; font-size: .8em; margin-top: 1em; opacity: .8; }
.post_content blockquote > * { position: relative; z-index: 1; }
.post_content blockquote > :not(:last-child) { margin: 0 0 .5em; }
.post_content blockquote::after, .post_content blockquote::before { line-height: 1; position: absolute; z-index: 0; }

/* --- Iframe --- */
.post_content iframe { display: block; margin-left: auto; margin-right: auto; max-width: 100%; }

/* --- Post Content Inner Spacing --- */
.l-mainContent__inner > .post_content { margin: 4em 0 0; padding: 0 var(--swl-pad_post_content,0); }

/* --- Page Title --- */
.c-pageTitle {
    font-size: 1.3em;
    font-weight: 700;
    line-height: 1.4;
    margin: 0;
    padding: 0;
    position: relative;
    color: var(--color_text);
}
.c-pageTitle::after { clear: both; content: ""; display: block; height: 0; visibility: hidden; }
.c-pageTitle[data-style="b_bottom"] { border-bottom: 1px solid var(--color_border, rgba(199,199,199,.5)); }
.c-pageTitle[data-style="b_bottom"] .c-pageTitle__inner { border-bottom: 1px solid var(--color_main); float: left; margin-bottom: -1px; padding: .25em .5em; }
.c-pageTitle__inner { display: block; padding-top: .5em; }

/* --- Child element margins --- */
.cap_box_content > *,
.faq_a > *,
.swell-block-accordion__body > *,
.swell-block-dl__dd > *,
.swell-block-step__body > *,
.wp-block-column > *,
.wp-block-group__inner-container > *,
div[class*="is-style-"] > * {
    margin-bottom: 1em;
}

/* --- Image captions --- */
.p-articleThumb__caption,
.wp-block-embed > figcaption,
.wp-block-image figcaption,
.wp-block-table figcaption,
.wp-block-video figcaption {
    color: inherit;
    font-size: .8em;
    line-height: 1.4;
    margin-bottom: 0;
    margin-top: .75em;
    opacity: .8;
    text-align: center;
    display: block !important;
}

/* --- Marker --- */
.swl-marker { display: inline; padding: 2px; }
.mark_blue { background: linear-gradient(transparent 64%,var(--color_mark_blue) 0%); }
.mark_green { background: linear-gradient(transparent 64%,var(--color_mark_green) 0%); }
.mark_yellow { background: linear-gradient(transparent 64%,var(--color_mark_yellow) 0%); }
.mark_orange { background: linear-gradient(transparent 64%,var(--color_mark_orange) 0%); }

/* --- Font Size Utilities --- */
.fs_xs, .has-xs-font-size, .u-fz-xs { font-size: var(--swl-fz--xs) !important; }
.fs_s, .has-s-font-size, .has-small-font-size, .u-fz-s { font-size: var(--swl-fz--small) !important; }
.has-medium-font-size, .u-fz-m { font-size: var(--swl-fz--medium) !important; }
.fs_l, .has-l-font-size, .has-large-font-size, .u-fz-l { font-size: var(--swl-fz--large) !important; }
.fs_xl, .has-huge-font-size, .has-xl-font-size, .u-fz-xl { font-size: var(--swl-fz--huge) !important; }

/* --- Color Utilities --- */
.u-col-main { color: var(--color_main) !important; }
.u-thin { opacity: .8; }
.has-swl-deep-01-color { color: var(--wp--preset--color--swl-deep-01) !important; }
.has-swl-pale-01-color { color: var(--color_pale01) !important; }
.has-swl-pale-02-color { color: var(--color_pale02) !important; }
.has-swl-pale-03-color { color: var(--color_pale03) !important; }
.has-swl-pale-04-color { color: var(--color_pale04) !important; }
.has-swl-pale-01-background-color { background-color: var(--color_pale01) !important; color: var(--swl-text_color--black, #333); }
.has-swl-pale-02-background-color { background-color: var(--color_pale02) !important; color: var(--swl-text_color--black, #333); }
.has-swl-pale-03-background-color { background-color: var(--color_pale03) !important; color: var(--swl-text_color--black, #333); }
.has-swl-pale-04-background-color { background-color: var(--color_pale04) !important; color: var(--swl-text_color--black, #333); }
.has-text-align-center { text-align: center; }
.has-background { padding: 1.25em 2em; }
.has-border, div.has-background, p.has-background { padding: var(--swl-box_padding, 2em); }
ol.has-background, ul.has-background { padding: var(--swl-list-padding--has_bg, 1em 1em 1em 1.75em); }
li .has-background { --swl-list-padding--has_bg: .5em .5em .5em calc(0.5em + var(--swl-list-padding--left)); }
.has-border { border: 1px solid var(--color_border); }
.-border01 { border: var(--border01); }
.-border02 { border: var(--border02); }
.-border03 { border: var(--border03); }
.-border04 { border: var(--border04); }

/* --- Margin Utilities --- */
.u-mb-ctrl + * { margin-top: 0 !important; }
.u-mb-0 { margin-bottom: 0 !important; }
.u-mb-5 { margin-bottom: .5em !important; }
.u-mb-10 { margin-bottom: 1em !important; }
.u-mb-15 { margin-bottom: 1.5em !important; }
.u-mb-20 { margin-bottom: 2em !important; }
.u-mb-25 { margin-bottom: 2.5em !important; }
.u-mb-30 { margin-bottom: 3em !important; }

/* --- Hover Effects --- */
.hov-flash:hover { animation: 1s ease 0s 1 normal none running flash; }
.hov-flash-up { transition: box-shadow .25s; }
.hov-flash-up:hover { animation: 1s ease 0s 1 normal none running flash; box-shadow: 0 2px 8px rgba(0,0,0,.25); }

/* --- Luminous --- */
.luminous { cursor: zoom-in !important; }

/* --- Scroll Hint --- */
.c-scrollHint {
    animation: 2s ease-in-out 0s infinite alternate none running FloatHorizontal;
    margin-top: 3em;
    text-align: right;
    margin-bottom: 2px !important;
}
.c-scrollHint span { align-items: center; display: inline-flex; font-size: 12px; line-height: 1; opacity: .75; }
.c-scrollHint span i { font-size: 16px; margin-left: 4px; }
.c-scrollHint + .wp-block-table { margin-top: 0 !important; }

/* --- Post Title --- */
.c-postTitle { align-items: center; display: flex; flex-direction: row-reverse; }
.c-postTitle__ttl { font-size: 5vw; line-height: 1.4; width: 100%; }
.c-postTitle__date {
    border-right: 1px solid var(--color_border);
    font-weight: 400;
    line-height: 1;
    margin-right: .75em;
    padding: .5em .75em .5em 0;
    text-align: center;
}
.c-postTitle__date .__y { display: block; font-size: 3vw; line-height: 1; margin-bottom: 4px; }
.c-postTitle__date .__md { display: block; font-size: 4.2vw; }

/* --- Post Times --- */
.c-postTimes { align-items: center; display: flex; flex-wrap: wrap; gap: .5em; }
.c-postTimes__modified::before, .c-postTimes__posted::before { margin-right: .325em; position: relative; top: 1px; }

/* --- PR Notation --- */
.c-prNotation { line-height: 1.5; }
.c-prNotation[data-style="small"] {
    align-items: center;
    border: 1px solid;
    border-radius: 1px;
    display: inline-flex;
    font-size: 13px;
    gap: .25em;
    padding: .125em .4em;
}
.c-prNotation[data-style="big"] {
    border: 1px solid var(--color_gray);
    border-radius: 1px;
    font-size: .95em;
    margin: 1.5em 0;
    padding: .75em;
}

/* --- Category List --- */
.c-categoryList { color: var(--color_main); }
.c-categoryList::before { content: "\e92f"; }
.c-categoryList__link {
    border-radius: 1px;
    display: block;
    line-height: 1;
    padding: 4px .5em;
    text-decoration: none;
    background-color: var(--color_main);
    color: #fff;
}

/* --- Article Metas --- */
.p-articleMetas {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    font-size: 12px;
    gap: .625em;
    padding: 0 1px;
}
.p-articleMetas.-top { margin-top: .75em; }
.p-articleMetas.-top .p-articleMetas__termList { font-size: 11px; }
.p-articleMetas__termList { align-items: center; display: flex; flex-wrap: wrap; gap: .5em; }

/* --- Article Thumb --- */
.p-articleThumb { margin: 2em 0; text-align: center; width: 100%; }
.p-articleThumb__img { border-radius: var(--swl-radius--8,0); display: block; width: 100%; }

/* --- Article Foot --- */
.p-articleFoot { border-top: 1px dashed var(--color_border); margin: 2em 0; padding-top: 2em; }

/* --- Balloon --- */
.c-balloon { place-content: flex-start space-between; display: flex; position: relative; }
.c-balloon.-bln-right { flex-direction: row-reverse; }
.c-balloon__icon { flex-shrink: 0; position: relative; text-align: center; width: 60px; }
.c-balloon__iconImg { display: block; margin: 0 auto; object-fit: cover; }
.c-balloon .c-balloon__iconImg { height: 60px; width: 60px; }
.-circle > .c-balloon__iconImg { border: 2px solid #ececec; border-radius: 50%; }
.c-balloon__iconName { display: block; font-size: 10px; line-height: 1; opacity: .8; padding-top: 4px; }
.c-balloon__body { align-items: flex-start; display: flex; flex-basis: 100%; padding: 4px 24px; }
.-bln-left .c-balloon__body { justify-content: flex-start; }
.-bln-right .c-balloon__body { justify-content: flex-end; }
.c-balloon__text {
    border-radius: 8px;
    color: #333;
    line-height: 1.6;
    max-width: 560px;
    padding: 1em;
    position: relative;
}
.-border-on .c-balloon__text { border-style: solid; border-width: 1px; }
.c-balloon .c-balloon__text > p { margin-bottom: 0; margin-top: 0; }
.c-balloon__shapes {
    background-color: inherit;
    border-color: inherit;
    height: 0;
    position: absolute;
    top: 16px;
    width: 0;
    z-index: 1;
}
.-bln-left .c-balloon__shapes { left: 0; }
.-bln-right .c-balloon__shapes { right: 0; transform: rotateY(180deg); }
.c-balloon__after, .c-balloon__before {
    border-color: transparent;
    border-style: solid;
    display: block;
    height: 0;
    position: absolute;
    top: 0;
    width: 0;
}
.-speaking .c-balloon__after, .-speaking .c-balloon__before { border-width: 8px 10px 8px 0; left: -10px; }
.-speaking.-border-on .c-balloon__before { left: -8px; }
.c-balloon__before { z-index: 3; }
.c-balloon__after { border-right-color: inherit; z-index: 2; }
.-speaking.-border-none .c-balloon__after { display: none; }

/* Balloon colors */
[data-col="gray"] .c-balloon__text { background: #f7f7f7; border-color: #ccc; }
[data-col="gray"] .c-balloon__before { border-right-color: #f7f7f7; }
[data-col="green"] .c-balloon__text { background: #d1f8c2; border-color: #9ddd93; }
[data-col="green"] .c-balloon__before { border-right-color: #d1f8c2; }
[data-col="blue"] .c-balloon__text { background: #e2f6ff; border-color: #93d2f0; }
[data-col="blue"] .c-balloon__before { border-right-color: #e2f6ff; }
[data-col="red"] .c-balloon__text { background: #ffebeb; border-color: #f48789; }
[data-col="red"] .c-balloon__before { border-right-color: #ffebeb; }
[data-col="yellow"] .c-balloon__text { background: #f9f7d2; border-color: #fbe593; }
[data-col="yellow"] .c-balloon__before { border-right-color: #f9f7d2; }

/* --- Cap Box --- */
.cap_box {
    --capbox-color: var(--color_main);
    --capbox-color--bg: unset;
    --the-icon-size: 1.1em;
    position: relative;
}
.cap_box_ttl {
    align-items: center;
    background-color: var(--capbox-color);
    color: #fff;
    display: flex;
    gap: .5em;
    justify-content: center;
    line-height: 1.5;
    padding: .5em;
    position: relative;
    text-align: center;
    z-index: 1;
    margin-bottom: 0 !important;
}
.cap_box_content {
    background-color: var(--capbox-color--bg);
    border: 1px solid var(--capbox-color);
    clear: both;
    margin-top: -2px;
    padding: 1.25em;
    position: relative;
    z-index: 0;
}
.cap_box[data-colset="col1"] { --capbox-color: #f59b5f; --capbox-color--bg: #fff8eb; }
.cap_box[data-colset="col2"] { --capbox-color: #5fb9f5; --capbox-color--bg: #edf5ff; }
.cap_box[data-colset="col3"] { --capbox-color: #2fcd90; --capbox-color--bg: #eafaf2; }
.is-style-small_ttl .cap_box_ttl { float: left; font-size: .85em; padding: .25em .75em; position: relative; top: 1px; }
.is-style-onborder_ttl2 > .cap_box_ttl,
.is-style-onborder_ttl > .cap_box_ttl {
    display: inline-flex;
    font-size: .85em;
    left: 1em;
    line-height: 1;
    margin-bottom: 0;
    padding: .5em .75em;
    position: relative;
    text-align: center;
    top: 1em;
    z-index: 1;
}
.is-style-onborder_ttl2 > .cap_box_content,
.is-style-onborder_ttl > .cap_box_content { padding-top: 1.5em; }
.is-style-onborder_ttl > .cap_box_ttl { color: var(--capbox-color); }
.is-style-onborder_ttl > .cap_box_content,
.is-style-onborder_ttl > .cap_box_ttl { background-color: var(--color_content_bg) !important; }
.is-style-shadow.cap_box { box-shadow: var(--swl-box_shadow); overflow: hidden; }
.is-style-shadow > .cap_box_content { border: none; }
.is-style-inner > .cap_box_ttl {
    font-size: .85em;
    max-width: 100%;
    min-width: 2em;
    overflow: hidden;
    padding: .25em 1em;
    position: absolute;
    white-space: nowrap;
}
.is-style-inner > .cap_box_content::before { content: ""; display: block; height: 1em; visibility: hidden; width: 100%; }
.is-style-intext.cap_box { border: 1px solid var(--capbox-color); padding: 1.5em; }
.is-style-intext > .cap_box_ttl {
    color: var(--capbox-color);
    justify-content: flex-start;
    padding: 0;
    text-align: left;
    background: none !important;
}
.is-style-intext > .cap_box_content { border: none; margin-top: 1em; padding: 0; background: none !important; }

/* --- FAQ --- */
.swell-block-faq { --swl-faq_icon_radius: 0; }
.swell-block-faq.-icon-rounded { --swl-faq_icon_radius: 10%; }
.swell-block-faq.-icon-circle { --swl-faq_icon_radius: 50%; }
.swell-block-faq .swell-block-faq__item + .swell-block-faq__item { margin-top: 1em; }
.swell-block-faq .faq_q {
    font-size: inherit;
    font-weight: 700;
    line-height: 1.5;
    margin: 0;
    padding: 1em 1em 1em 3em;
    position: relative;
}
.swell-block-faq .faq_q::before {
    border-radius: var(--swl-faq_icon_radius);
    content: "Q";
    display: block;
    font-family: Arial, sans-serif;
    font-weight: 400;
    left: 0;
    line-height: 2;
    position: absolute;
    text-align: center;
    top: .75em;
    width: 2em;
}
.swell-block-faq .faq_a {
    line-height: 1.5;
    padding: 1em 1em 1em 3em;
    position: relative;
}
.swell-block-faq .faq_a::before {
    border-radius: var(--swl-faq_icon_radius);
    content: "A";
    display: block;
    font-family: Arial, sans-serif;
    left: 0;
    line-height: 2;
    position: absolute;
    text-align: center;
    top: .75em;
    width: 2em;
}
.is-style-faq-border .swell-block-faq__item { padding-left: .5em; padding-right: .5em; }
.is-style-faq-border .swell-block-faq__item + .swell-block-faq__item { border-top: 1px solid var(--color_border); padding-top: 1em; }
.is-style-faq-box .swell-block-faq__item { border: 1px solid var(--color_border); }
.is-style-faq-box .faq_q { border-bottom: 1px dashed var(--color_border); }
.is-style-faq-box .faq_a, .is-style-faq-box .faq_q,
.is-style-faq-stripe .faq_a, .is-style-faq-stripe .faq_q { padding: 1.25em 1em 1.25em 4em; }
.is-style-faq-box .faq_a::before, .is-style-faq-box .faq_q::before,
.is-style-faq-stripe .faq_a::before, .is-style-faq-stripe .faq_q::before { left: 1em; position: absolute; top: 1em; }
.is-style-faq-stripe .faq_q { background-color: var(--color_gray); }
[data-q="col-custom"] .faq_q::before { box-shadow: currentcolor 0 0 0 1px; color: var(--color_faq_q); }
[data-a="col-custom"] .faq_a::before { box-shadow: currentcolor 0 0 0 1px; color: var(--color_faq_a); }
[data-q="fill-custom"] .faq_q::before { background-color: var(--color_faq_q); color: #fff; }
[data-a="fill-custom"] .faq_a::before { background-color: var(--color_faq_a); color: #fff; }

/* --- Step --- */
.swell-block-step { --swl-step_arrow_color: #dedede; counter-reset: step 0; }
.swell-block-step__item {
    padding: 0 0 3em 64px;
    position: relative;
    margin-bottom: 0 !important;
}
.swell-block-step__item::before {
    border-left: 1px dashed var(--color_border);
    content: "";
    display: block;
    height: 100%;
    left: 23px;
    position: absolute;
    top: 0;
    width: 0;
}
.swell-block-step__item:last-child::before { content: none; }
.swell-block-step__item .swell-block-step__title { font-weight: 700; margin: 0; padding: 0; }
.swell-block-step__number {
    box-sizing: content-box;
    color: #fff;
    display: flex;
    flex-direction: column;
    height: 48px;
    justify-content: center;
    left: 0;
    line-height: 1;
    position: absolute;
    text-align: center;
    top: 0;
    width: 48px;
}
.swell-block-step__number .__label { display: block; font-size: 10px; padding-bottom: 1px; }
.swell-block-step__number::after { content: counter(step); counter-increment: step 1; display: block; font-size: 20px; }
.swell-block-step__number[data-num]::after { content: attr(data-num); }
[data-num-style="circle"] .swell-block-step__number,
[data-num-style="circle"] .swell-block-step__number .__shape { border-radius: 50%; }
.swell-block-step__title + .swell-block-step__body { margin-top: 1em; }
.swell-block-step:not(.is-style-big) > .swell-block-step__item:last-child { padding-bottom: 0; }
.swell-block-step:not(.is-style-big):not(.is-style-small) > .swell-block-step__item > .swell-block-step__title {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 48px;
}
.is-style-small .swell-block-step__item { padding: 0 0 2em 24px; }
.is-style-small .swell-block-step__item::before { border-left: 2px solid var(--color_border); height: calc(100% - 20px); left: 7px; top: 18px; }
.is-style-small .swell-block-step__number {
    align-items: center;
    color: inherit;
    flex-direction: row;
    height: auto;
    justify-content: flex-start;
    margin-left: -24px;
    position: relative;
    width: auto;
}
.is-style-small .swell-block-step__number .__shape { border: 2px solid; box-sizing: border-box; height: 16px; margin-right: 8px; width: 16px; }

/* --- TOC (Table of Contents) --- */
.p-toc { border-radius: var(--swl-radius--2,0); }
.p-toc.-double {
    background: var(--color_gray);
    background: linear-gradient(-45deg,transparent 25%,var(--color_gray) 25%,var(--color_gray) 50%,transparent 50%,transparent 75%,var(--color_gray) 75%,var(--color_gray));
    background-clip: padding-box;
    background-size: 4px 4px;
    border-bottom: 4px double var(--color_border);
    border-top: 4px double var(--color_border);
    padding: 1.5em 1em 1em;
}
.p-toc.-double .p-toc__ttl { margin-bottom: .75em; }
.p-toc { margin: 4em auto; max-width: 800px; }
.p-toc.is-omitted:not([data-omit="nest"]) { position: relative; }
.p-toc.is-omitted:not([data-omit="nest"])::before {
    background: linear-gradient(hsla(0,0%,100%,0),var(--color_bg));
    bottom: 5em;
    content: "";
    height: 4em;
    left: 0;
    opacity: .75;
    pointer-events: none;
    position: absolute;
    width: 100%;
    z-index: 1;
}
.p-toc.is-omitted:not([data-omit="nest"])::after {
    background: var(--color_bg);
    bottom: 0;
    content: "";
    height: 5em;
    left: 0;
    opacity: .75;
    position: absolute;
    width: 100%;
    z-index: 1;
}
.p-toc .p-toc__expandBtn {
    background-color: #f7f7f7;
    border: rgba(0,0,0,.2);
    border-radius: 5em;
    box-shadow: #bbb 0 0 0 1px;
    color: #333;
    display: block;
    font-size: 14px;
    line-height: 1.5;
    margin: .75em auto 0;
    min-width: 6em;
    padding: .5em 1em;
    position: relative;
    transition: box-shadow .25s;
    z-index: 2;
    cursor: pointer;
}
.p-toc__ttl {
    display: block;
    font-size: 1.2em;
    line-height: 1;
    position: relative;
    text-align: center;
}
.p-toc__ttl::before { content: "\e918"; display: inline-block; font-family: icomoon; margin-right: .5em; padding-bottom: 2px; vertical-align: middle; }
.p-toc__list li { line-height: 1.6; }
.p-toc__list > li + li { margin-top: .5em; }
.p-toc__list .p-toc__childList { padding-left: .5em; }
.p-toc__list [data-level="3"] { font-size: .9em; }
.post_content .p-toc__list { padding-left: 0; }
.p-toc__link { color: inherit; font-size: inherit; text-decoration: none; }
.p-toc__link:hover { opacity: .8; }
.p-toc.is-omitted:not([data-omit="nest"]) .__next,
.p-toc.is-omitted:not([data-omit="nest"]) [data-omit="1"] { display: none; }
.p-toc:not([data-omit="nest"]) .p-toc__expandBtn::after,
.p-toc:not([data-omit="nest"]) .p-toc__expandBtn::before {
    border-top-color: inherit;
    border-top-style: dotted;
    border-top-width: 3px;
    content: "";
    display: block;
    height: 1px;
    position: absolute;
    top: calc(50% - 1px);
    transition: border-color .25s;
    width: 22px;
}
.p-toc:not([data-omit="nest"]) .p-toc__expandBtn::before { right: calc(100% + 1em); }
.p-toc:not([data-omit="nest"]) .p-toc__expandBtn::after { left: calc(100% + 1em); }

/* --- TOC is-style-index numbering --- */
.is-style-index { --swl-list-padding--left: .25em; list-style: none !important; }
.is-style-index ol, .is-style-index ul { --swl-list-padding--left: 0; list-style: none !important; }
ol.is-style-index > :first-child { counter-reset: toc 0; }
ol.is-style-index ol > li, ol.is-style-index > li { margin-left: 2em; padding-left: 0; position: relative; }
ol.is-style-index ol > li::before, ol.is-style-index > li::before {
    border-right: 1px solid;
    content: counters(toc, "-");
    counter-increment: toc 1;
    display: block;
    font-family: inherit;
    letter-spacing: -.1px;
    line-height: 1.1;
    padding: 0 .5em 0 0;
    position: absolute;
    right: calc(100% + .5em);
    top: .25em;
    transform: scale(.95);
    white-space: nowrap;
    width: auto;
}
ol.is-style-index ol { counter-reset: toc 0; padding-left: 1em; }
ol.is-style-index ol li::before { opacity: .75; }
.p-toc .p-toc__list, .p-toc .p-toc__childList { list-style: none !important; padding-inline-start: 0; }
.p-toc .p-toc__list ol, .p-toc .p-toc__list ul { list-style: none !important; }

/* --- Share Buttons --- */
.c-shareBtns { margin: 2em 0; }
.c-shareBtns__message { padding: .25em 0 .75em; text-align: center; width: 100%; }
.c-shareBtns__message .__text { display: inline-block; line-height: 1.5; padding: 0 1.5em; position: relative; }
.c-shareBtns__message .__text::after, .c-shareBtns__message .__text::before {
    background-color: currentcolor;
    bottom: 0;
    content: "";
    display: block;
    height: 1.5em;
    position: absolute;
    width: 1px;
}
.c-shareBtns__message .__text::before { left: 0; transform: rotate(-40deg); }
.c-shareBtns__message .__text::after { right: 0; transform: rotate(40deg); }
.c-shareBtns__list { display: flex; justify-content: center; }
.c-shareBtns__item.-facebook { color: #3b5998; }
.c-shareBtns__item.-twitter-x { color: #000; }
.c-shareBtns__item.-hatebu { color: #00a4de; }
.c-shareBtns__item.-pocket { color: #ef3f56; }
.c-shareBtns__item.-line { color: #00c300; }
.c-shareBtns__item.-copy { color: #717475; position: relative; }
.c-shareBtns:not(.-style-btn-small) .c-shareBtns__item { flex: 1 1 0%; }
.c-shareBtns__item:not(:last-child) { margin-right: 4px; }
.c-shareBtns__btn {
    align-items: center;
    background-color: currentcolor;
    border-radius: var(--swl-radius--2,0);
    color: inherit;
    cursor: pointer;
    display: flex;
    justify-content: center;
    text-align: center;
    text-decoration: none;
    padding: 8px 0;
    box-shadow: var(--swl-box_shadow);
}
.c-shareBtns__icon {
    --the-icon-size: 4.5vw;
    color: #fff;
    display: block;
    font-size: var(--the-icon-size);
    height: 1em;
    line-height: 1;
    margin: auto;
    width: 1em;
}
.c-shareBtns__icon::before { color: inherit; display: block; }

/* --- URL Copy --- */
.c-urlcopy { display: block; position: relative; width: 100%; }
.c-urlcopy .-copied { opacity: 0; position: absolute; top: 8px; }
.c-urlcopy .-to-copy { opacity: 1; top: 0; }
.c-urlcopy.-done .-to-copy { opacity: 0; }
.c-urlcopy.-done .-copied { opacity: 1; top: 0; }
.c-urlcopy.-done + .c-copyedPoppup { opacity: 1; visibility: visible; }
.c-urlcopy__content { align-items: center; display: flex; justify-content: center; position: relative; width: 100%; }
.c-copyedPoppup {
    bottom: calc(100% + 2px);
    color: grey;
    font-size: 10px;
    opacity: 0;
    position: absolute;
    right: 0;
    text-align: right;
    transition: opacity .25s, visibility .25s;
    visibility: hidden;
    white-space: nowrap;
}

/* --- Fixed Share Buttons --- */
.-fix.c-shareBtns {
    left: 8px;
    margin: 0;
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    z-index: 99;
    border: none !important;
}
.-fix.c-shareBtns .c-shareBtns__list { flex-direction: column; }
.-fix.c-shareBtns .c-shareBtns__item { flex-basis: 100%; margin: 4px 0; max-width: 100%; padding: 0; width: 100%; }
.-fix.c-shareBtns .c-shareBtns__btn { height: 30px; padding: 0; }
.-fix.c-shareBtns .c-shareBtns__icon { font-size: 16px; }

/* --- Button Link / Shiny Aff Button --- */
.btnlink { margin: 0 auto; padding-top: 10px; text-align: center; }
.shiny-aff-btn {
    position: relative;
    display: inline-block;
    padding: 10px 20px;
    line-height: 40px;
    text-align: center;
    text-decoration: none;
    font-weight: bold;
    color: #fff;
    border-radius: 30px;
    background-color: #f74a4a;
    overflow: hidden;
}
.shiny-aff-btn::after {
    content: "";
    position: absolute;
    top: -10%;
    left: -20%;
    width: 40px;
    height: 100%;
    transform: scale(2) rotate(20deg);
    background-image: linear-gradient(100deg, rgba(255,255,255,0) 10%, rgba(255,255,255,.5) 100%, rgba(255,255,255,0) 0%);
    animation-name: shiny;
    animation-duration: 3s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
}
.shiny-aff-btn:hover { cursor: pointer; opacity: .8; }
.textlink { color: #1967d2; text-decoration: underline; cursor: pointer; }
.textlink:hover { color: #e63900; }

/* --- td_to_th --- */
:where(.td_to_th_ tbody tr) > :first-child:not(.-no1) {
    background-color: transparent;
    color: var(--tbody-th-color--txt,inherit);
    font-weight: 700;
    position: relative;
    z-index: 1;
}
:where(.td_to_th_ tbody tr) > :first-child:not(.-no1)::before {
    background-color: var(--tbody-th-color--bg,hsla(0,0%,59%,.05));
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
    z-index: -1;
}

/* --- WP Block Styles --- */
.wp-block-image { margin: 0 0 1em; text-align: center; }
.wp-block-image img { height: auto; max-width: 100%; vertical-align: bottom; margin-left: auto; margin-right: auto; }
.wp-block-image::after { clear: both; content: ""; display: block; height: 0; visibility: hidden; }
.wp-block-image a { display: block; transition: opacity .25s; }
.wp-block-image a:hover { opacity: .8; }
.wp-block-image > a, .wp-block-image > figure > a { display: inline-block; }
.wp-block-image figcaption a { display: inline; }
.wp-block-image.alignleft { float: left; margin-right: 1em; }
.wp-block-image.aligncenter { margin-left: auto; margin-right: auto; text-align: center; }
.wp-block-image .alignleft { float: left; margin: .5em 1em .5em 0; }
.wp-block-image .alignright { float: right; margin: .5em 0 .5em 1em; }
.wp-block-image .aligncenter { margin-left: auto; margin-right: auto; }
.wp-block-image .aligncenter, .wp-block-image .alignleft, .wp-block-image .alignright,
.wp-block-image.aligncenter, .wp-block-image.alignleft, .wp-block-image.alignright { display: table; }
.wp-block-image .aligncenter > figcaption, .wp-block-image .alignleft > figcaption, .wp-block-image .alignright > figcaption,
.wp-block-image.aligncenter > figcaption, .wp-block-image.alignleft > figcaption, .wp-block-image.alignright > figcaption { caption-side: bottom; display: table-caption; }
.wp-block-image.is-resized { display: table; }
.wp-block-image.is-resized img { height: auto; }
.wp-block-image .size-full { width: 100%; height: auto; }
.wp-block-image.alignfull img, .wp-block-image.alignwide img { height: auto; width: 100%; }
img.aligncenter { clear: both; display: block; margin-left: auto; margin-right: auto; }
.aligncenter { clear: both; }

.wp-block-table { overflow-x: auto; }
.wp-block-table table { width: 100%; }
.wp-block-table.is-style-double { border-spacing: 2px; border-collapse: separate; }
.wp-block-table.is-style-double td,
.wp-block-table.is-style-double th { border: none; }

.wp-block-heading { clear: both; }
.wp-block-list { margin-bottom: var(--swl-block-margin,2em); }
.wp-block-group { box-sizing: border-box; }
.wp-block-group.has-background { padding: 1.25em 2em; }

/* --- is-style icon box styles --- */
[class*="is-style-icon_"] { color: #333; border-width: 0; }
.is-style-icon_announce, .is-style-icon_bad, .is-style-icon_book,
.is-style-icon_good, .is-style-icon_info, .is-style-icon_pen {
    border-radius: 2px; line-height: 1.6;
    padding: 1em 1em 1em 4.25em; position: relative;
}
.is-style-icon_announce::before, .is-style-icon_bad::before, .is-style-icon_book::before,
.is-style-icon_good::before, .is-style-icon_info::before, .is-style-icon_pen::before {
    content: ""; display: inline-block; font-family: icomoon; font-size: inherit;
    left: 1.25em; position: absolute; top: 50%;
    transform: translateY(-50%) scale(1.5);
}
.is-style-icon_announce::after, .is-style-icon_bad::after, .is-style-icon_book::after,
.is-style-icon_good::after, .is-style-icon_info::after, .is-style-icon_pen::after {
    border-right: 1px solid; content: ""; display: block;
    height: 50%; left: 3.25em; opacity: .4;
    position: absolute; top: 25%; width: 0;
}
.is-style-icon_good { background: var(--color_icon_good_bg); border-color: var(--color_icon_good); }
.is-style-icon_good::before { color: var(--color_icon_good); content: "\e90a"; }
.is-style-icon_good::after { border-right-color: var(--color_icon_good); }
.is-style-icon_bad { background: var(--color_icon_bad_bg); border-color: var(--color_icon_bad); }
.is-style-icon_bad::before { color: var(--color_icon_bad); content: "\e922"; }
.is-style-icon_bad::after { border-right-color: var(--color_icon_bad); }
.is-style-icon_info { background: var(--color_icon_info_bg); border-color: var(--color_icon_info); }
.is-style-icon_info::before { color: var(--color_icon_info); content: "\e91a"; }
.is-style-icon_info::after { border-right-color: var(--color_icon_info); }
.is-style-icon_announce { background: var(--color_icon_announce_bg); border-color: var(--color_icon_announce); }
.is-style-icon_announce::before { color: var(--color_icon_announce); content: "\e917"; }
.is-style-icon_announce::after { border-right-color: var(--color_icon_announce); }
.is-style-icon_pen { background: var(--color_icon_pen_bg); border-color: var(--color_icon_pen); }
.is-style-icon_pen::before { color: var(--color_icon_pen); content: "\e934"; }
.is-style-icon_pen::after { border-right-color: var(--color_icon_pen); }
.is-style-icon_book { background: var(--color_icon_book_bg); border-color: var(--color_icon_book); }
.is-style-icon_book::before { color: var(--color_icon_book); content: "\e91f"; }
.is-style-icon_book::after { border-right-color: var(--color_icon_book); }

/* --- is-style big_icon box styles --- */
[class*="is-style-big_icon_"] { border-width: 2px; border-style: solid; }
[class*="is-style-big_icon_"] {
    border-color: var(--the-color, currentColor);
    padding: 2em 1.5em 1.5em; position: relative;
}
[class*="is-style-big_icon_"]:not(:first-child) { margin-top: 2.5em; }
[class*="is-style-big_icon_"]::before {
    align-items: center;
    background-color: var(--the-color, currentColor);
    border: 2px solid var(--color_content_bg);
    border-radius: 50%;
    color: #fff;
    content: "";
    display: inline-flex;
    font-family: icomoon;
    font-size: 1.25em;
    height: 2em;
    justify-content: center;
    left: .5em;
    line-height: 1;
    padding: 0 0 0 .05em;
    position: absolute;
    top: -1px;
    transform: translateY(-50%);
    width: 2em;
}
.is-style-big_icon_point { --the-color: var(--color_icon_point); }
.is-style-big_icon_point::before { content: "\e935"; }
.is-style-big_icon_check, .is-style-big_icon_good { --the-color: var(--color_icon_check); }
.is-style-big_icon_check::before, .is-style-big_icon_good::before { content: "\e911"; }
.is-style-big_icon_bad, .is-style-big_icon_batsu { --the-color: var(--color_icon_batsu); }
.is-style-big_icon_bad::before, .is-style-big_icon_batsu::before { content: "\e922"; }
.is-style-big_icon_hatena { --the-color: var(--color_icon_hatena); }
.is-style-big_icon_hatena::before { content: "\e929"; }
.is-style-big_icon_caution { --the-color: var(--color_icon_caution); }
.is-style-big_icon_caution::before { content: "\e92b"; }
.is-style-big_icon_memo { --the-color: var(--color_icon_memo); }
.is-style-big_icon_memo::before { content: "\e934"; }

.is-style-bad_list, .is-style-check_list, .is-style-good_list,
.is-style-index, .is-style-note_list, .is-style-num_circle, .is-style-triangle_list {
    --swl-list-padding--left: .25em;
    --swl-list-padding--has_bg: 1em;
    list-style: none !important;
}
.is-style-bad_list ol, .is-style-bad_list ul,
.is-style-check_list ol, .is-style-check_list ul,
.is-style-good_list ol, .is-style-good_list ul,
.is-style-index ol, .is-style-index ul,
.is-style-note_list ol, .is-style-note_list ul,
.is-style-num_circle ol, .is-style-num_circle ul,
.is-style-triangle_list ol, .is-style-triangle_list ul {
    --swl-list-padding--left: 0;
    list-style: none !important;
}
.is-style-bad_list li, .is-style-check_list li,
.is-style-good_list li, .is-style-triangle_list li {
    padding-left: 1.5em; position: relative;
}
.is-style-bad_list li::before, .is-style-check_list li::before,
.is-style-good_list li::before, .is-style-triangle_list li::before {
    -webkit-font-smoothing: antialiased;
    background: none; border: none; border-radius: 0;
    display: block; font-family: icomoon;
    height: auto; left: 0; position: absolute; top: 0; width: 1em;
}
.is-style-bad_list li li::before, .is-style-check_list li li::before,
.is-style-good_list li li::before, .is-style-triangle_list li li::before {
    background-color: currentcolor;
    clip-path: circle(12% at 50% 50%);
    content: " "; font-family: inherit;
}
.is-style-check_list li::before { color: var(--color_list_check); content: "\e911"; }
.is-style-good_list li::before { color: var(--color_list_good); content: "\e90a"; }
.is-style-bad_list li::before { color: var(--color_list_bad); content: "\e922"; }
.is-style-triangle_list li::before { content: "\e913"; }
.is-style-num_circle { counter-reset: li 0; }
.is-style-num_circle li { padding-left: 2em; position: relative; }
.is-style-num_circle li::before {
    background-color: var(--color_list_num);
    border-radius: 50%;
    box-shadow: 0 0 0 1px var(--color_list_num);
    box-sizing: content-box;
    color: #fff;
    content: counter(li);
    counter-increment: li 1;
    display: block;
    height: 1.8em;
    left: 1px;
    line-height: 1.8;
    padding: 0;
    position: absolute;
    text-align: center;
    top: -.15em;
    transform: scale(.75);
    transform-origin: 0 50%;
    width: 1.8em;
}
.is-style-num_circle ol { counter-reset: li 0; }
.is-style-num_circle ol li::before {
    background: none;
    box-shadow: 0 0 0 1px var(--color_list_num);
    color: var(--color_list_num);
    opacity: .75;
    transform: scale(.7);
}
.is-style-num_circle ul li { padding-left: 1.25em; }
.is-style-num_circle ul li::before {
    content: "";
    counter-increment: none;
    transform: scale(.15);
}

/* --- list-under-dashed --- */
.-list-under-dashed > li, .border_bottom > li {
    border-bottom: 1px dashed var(--color_border);
    margin-bottom: .75em;
    padding-bottom: .75em;
}

/* --- is-style box styles --- */
.is-style-sticky_box {
    background: var(--color_gray);
    border-radius: 2px;
    padding: 1.5em;
}
.is-style-bg_stripe {
    background: repeating-linear-gradient(-45deg, var(--color_gray), var(--color_gray) 3px, transparent 3px, transparent 6px);
    border-radius: 2px;
    padding: 1.5em;
}
.is-style-balloon_box,
.is-style-balloon_box2 {
    background: var(--color_gray);
    border-radius: 2px;
    padding: 1.5em;
    position: relative;
}

/* --- cap_box styles --- */
.cap_box { --capbox-color: var(--color_main); --capbox-color--bg: unset; --the-icon-size: 1.1em; position: relative; }
.cap_box_ttl {
    align-items: center; background-color: var(--capbox-color); color: #fff;
    display: flex; gap: .5em; justify-content: center; line-height: 1.5;
    padding: .5em; position: relative; text-align: center; z-index: 1;
    margin-bottom: 0 !important;
}
.cap_box_ttl i { font-size: var(--the-icon-size); }
.cap_box_ttl i:not(.-right) { margin-left: -.25em; }
.cap_box_ttl svg { height: var(--the-icon-size); width: var(--the-icon-size); }
.cap_box_content {
    background-color: var(--capbox-color--bg);
    border: 1px solid var(--capbox-color);
    clear: both; margin-top: -2px; padding: 1.25em;
    position: relative; z-index: 0;
}
.is-style-small_ttl .cap_box_ttl { float: left; font-size: .85em; padding: .25em .75em; position: relative; top: 1px; }
.is-style-onborder_ttl2 > .cap_box_ttl, .is-style-onborder_ttl > .cap_box_ttl {
    display: inline-flex; font-size: .85em; left: 1em; line-height: 1;
    margin-bottom: 0; padding: .5em .75em; position: relative;
    text-align: center; top: 1em; z-index: 1;
}
.is-style-onborder_ttl2 > .cap_box_content, .is-style-onborder_ttl > .cap_box_content { padding-top: 1.5em; }
.is-style-onborder_ttl > .cap_box_ttl { color: var(--capbox-color); }
.is-style-onborder_ttl > .cap_box_content, .is-style-onborder_ttl > .cap_box_ttl { background-color: var(--color_content_bg) !important; }
.is-style-shadow.cap_box { box-shadow: var(--swl-box_shadow); overflow: hidden; }
.is-style-shadow > .cap_box_content { border: none; }
.is-style-shadow:not([data-colset]) > .cap_box_content { color: #333; }
.is-style-inner > .cap_box_ttl { font-size: .85em; max-width: 100%; min-width: 2em; overflow: hidden; padding: .25em 1em; position: absolute; white-space: nowrap; }
.is-style-inner > .cap_box_content::before { content: ""; display: block; height: 1em; visibility: hidden; width: 100%; }
.is-style-intext.cap_box { border: 1px solid var(--capbox-color); padding: 1.5em; }
.is-style-intext > .cap_box_ttl { color: var(--capbox-color); justify-content: flex-start; padding: 0; text-align: left; background: none !important; }
.is-style-intext > .cap_box_content { border: none; margin-top: 1em; padding: 0; background: none !important; }
.cap_box[data-colset="col1"] { --capbox-color: #f59b5f; --capbox-color--bg: #fff8eb; }
.cap_box[data-colset="col2"] { --capbox-color: #5fb9f5; --capbox-color--bg: #edf5ff; }
.cap_box[data-colset="col3"] { --capbox-color: #2fcd90; --capbox-color--bg: #eafaf2; }

/* --- swell-block-faq styles --- */
.swell-block-faq { --swl-faq_icon_radius: 0; }
.swell-block-faq.-icon-rounded { --swl-faq_icon_radius: 10%; }
.swell-block-faq.-icon-circle { --swl-faq_icon_radius: 50%; }
.swell-block-faq .swell-block-faq__item + .swell-block-faq__item { margin-top: 1em; }
.swell-block-faq .faq_q {
    font-size: inherit; font-weight: 700; line-height: 1.5;
    margin: 0; padding: 1em 1em 1em 3em; position: relative;
}
.swell-block-faq .faq_q::before {
    border-radius: var(--swl-faq_icon_radius);
    bottom: unset; content: "Q"; display: block;
    font-family: Arial, sans-serif; font-weight: 400;
    left: 0; line-height: 2; position: absolute;
    text-align: center; top: .75em; width: 2em;
}
.swell-block-faq .faq_a {
    line-height: 1.5; padding: 1em 1em 1em 3em; position: relative;
}
.swell-block-faq .faq_a::before {
    border-radius: var(--swl-faq_icon_radius);
    content: "A"; display: block;
    font-family: Arial, sans-serif;
    left: 0; line-height: 2; position: absolute;
    text-align: center; top: .75em; width: 2em;
}
.swell-block-faq .faq_q::before {
    background-color: var(--color_main);
    color: #fff;
}
.swell-block-faq .faq_a::before {
    background-color: transparent;
    border: 1px solid #515151;
    color: #515151;
}
.is-style-faq-border .swell-block-faq__item { padding-left: .5em; padding-right: .5em; }
.is-style-faq-border .swell-block-faq__item + .swell-block-faq__item { border-top: 1px solid var(--color_border); padding-top: 1em; }
.is-style-faq-box .swell-block-faq__item { border: 1px solid var(--color_border); }
.is-style-faq-stripe .swell-block-faq__item:not(:last-child) { margin-bottom: 1.5em; }

/* --- is-layout --- */
.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: var(--wp--style--global--content-size);
    margin-left: auto !important;
    margin-right: auto !important;
}

/* --- sp_ (mobile only) --- */
@media (min-width: 960px) {
    .sp_, .sp_only { display: none !important; }
}

/* --- Responsive --- */
@media (min-width: 600px) {
    .c-postTitle__ttl { font-size: 24px; }
    .c-postTitle__date .__y { font-size: 14px; }
    .c-postTitle__date .__md { font-size: 24px; }
    .post_content h2 { font-size: 1.4em; }
    .post_content h3 { font-size: 1.3em; }
    .post_content h4 { font-size: 1.2em; }
    .c-balloon__icon { width: 80px; }
    .c-balloon .c-balloon__iconImg { height: 80px; width: 80px; }
    .c-balloon__body { padding: 8px 24px; }
    .cap_box_content { padding: 1.5em; }
    .is-style-onborder_ttl2 > .cap_box_content,
    .is-style-onborder_ttl > .cap_box_content { padding-top: 2em; }
    .p-toc.-double { padding: 2em; }
    .c-shareBtns__icon { --the-icon-size: 18px; }
    .c-copyedPoppup { font-size: 11px; right: 50%; transform: translateX(50%); }
}

@media (min-width: 960px) {
    #main_content .p-toc { width: 92%; }
}

@media (max-width: 599px) {
    .c-balloon__text { font-size: .95em; }
    .-sp-vrtcl.c-balloon { flex-wrap: wrap; }
    .-sp-vrtcl .c-balloon__body { padding: 8px 0 0; width: 100%; }
}

@media not all and (min-width: 960px) {
    .sp_block_ table, .sp_block_ tbody, .sp_block_ td, .sp_block_ tfoot,
    .sp_block_ th, .sp_block_ thead, .sp_block_ tr, table.sp_block_ {
        display: block !important;
        width: 100% !important;
    }
    .sp_block_ td, .sp_block_ th { margin-top: -1px; padding: 1em; }
    .-fix.c-shareBtns { display: none !important; }
}

@media not all and (min-width: 600px) {
    .swell-block-step:not(.is-style-big):not(.is-style-small) > .swell-block-step__item::before { display: none; }
    .swell-block-step:not(.is-style-big):not(.is-style-small) > .swell-block-step__item > .swell-block-step__body { margin-left: -48px; }
}

@media (hover: hover) {
    .p-toc .p-toc__expandBtn:hover { border-color: transparent; box-shadow: currentcolor 0 0 0 2px; }
}

@media print {
    .c-shareBtns, .p-articleFoot, .c-postTitle__date { display: none !important; }
}

/* --- WP Block Button --- */
.wp-block-button__link {
    color: #fff;
    background-color: #32373c;
    border-radius: 9999px;
    box-shadow: none;
    text-decoration: none;
    padding: calc(.667em + 2px) calc(1.333em + 2px);
    font-size: 1.125em;
    cursor: pointer;
    display: inline-block;
    text-align: center;
}

/* --- Useful Blocks Variables --- */
:root {
    --pb_colset_yellow: #fdc44f;
    --pb_colset_yellow_thin: #fef9ed;
    --pb_colset_yellow_dark: #b4923a;
    --pb_colset_pink: #fd9392;
    --pb_colset_pink_thin: #ffefef;
    --pb_colset_pink_dark: #d07373;
    --pb_colset_green: #91c13e;
    --pb_colset_green_thin: #f2f8e8;
    --pb_colset_green_dark: #61841f;
    --pb_colset_blue: #6fc7e1;
    --pb_colset_blue_thin: #f0f9fc;
    --pb_colset_blue_dark: #419eb9;
}

/* --- Swell Button Styles --- */
.is-style-btn_normal { --the-btn-radius: 80px; }
.is-style-btn_solid { --the-btn-radius: 80px; }
.is-style-btn_shiny { --the-btn-radius: 80px; }
.is-style-btn_line { --the-btn-radius: 80px; }
.red_ { --the-btn-color: #f74a4a; --the-btn-color2: #ffbc49; }
.blue_ { --the-btn-color: #338df4; --the-btn-color2: #35eaff; }
.green_ { --the-btn-color: #62d847; --the-btn-color2: #7bf7bd; }

/* --- Swell Block Button --- */
.swell-block-button { --the-icon-size: 1.1em; }
.swell-block-button[data-align="right"] { text-align: right; }
.swell-block-button[data-align="left"] { text-align: left; }
.swell-block-button a { text-align: center; }

/* --- Alignleft --- */
.alignleft { float: left; margin-right: 1em; margin-bottom: .5em; }

/* --- is-style-index (TOC style) --- */
.is-style-index { list-style: none; padding-left: 0; }
