@charset "UTF-8";
/* =============================
* メディア記事詳細
============================= */
.article_wrap {
    background: #DCEEFA;
    padding: 15px 0;
}
.article {
    background: #fff;
    border-radius: 5px;
    padding: 30px 20px;
}
@media (min-width: 768px) {
    .article_wrap {
        padding: 30px 0;
    }
    .article {
        padding: 60px;
    }
}
@media (min-width: 992px) {
    .article_wrap {
        padding: 30px 0 60px;
    }
    .article {
        padding: 60px 90px;
    }
}

/* ソーシャル
====================*/
.meta-social {
    list-style: none;
    display: flex;
    justify-content: center;
    padding: 0;
}
.meta-social_item {
    display: flex;
    align-items: flex-end;
    padding: 0 5px;
}

/* コピーボタン
====================*/
.article_copy-btn {
	display: block;
	height: 3em;
	line-height: 3em;
	padding: 0 .5em;
	background-color: #fff;
	border: 1px solid #222;
	border-radius: 2px;
	color: inherit;
	cursor: pointer;
    margin: 0 auto;
}
.article_copy-btn:hover,
.article_copy-btn.is-copied {
	border-width: 2px;
	font-weight: bold;
	text-decoration: none;
	color: inherit;
}
.article_copy-btn > .fa {
	margin-right: .4em;
}
.article_copy-btn > .fa::before {
	content: "\f0c5";
}
.article_copy-btn.is-copied > .fa::before {
	content: "\f00c";
}

/* メインヘッダー
====================*/
.article_headline {
    font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", sans-serif;
    font-weight: 500;
    font-size: 22px;
    line-height: 1.4;
}
.article_header {
    padding-bottom: 15px;
}
.article_header_meta {
    position: relative;
    margin-top: 20px;
}
.article_header_date,
.article_header_category {
    color: #666;
    font-size: 12px;
}
.article_header_site {
    margin-bottom: 10px;
}
.article_header_site_favicon {
    margin-right: 6px;
    width: 12px;
    vertical-align: middle;
    margin-top: -1px;
}

@media (min-width: 768px) {
    .article_headline {
        font-size: 36px;
    }
    .article_header_date,
    .article_header_category,
    .article_header_site {
        font-size: 14px;
    }
    .article_header_social {
        position: absolute;
        right: 0;
        top: 0;
    }
}

/* アイキャッチ画像
====================*/
.article_icatch > img {
    width: 100%;
    height: 100%;
}

/* 著者
====================*/
.article_author {
    padding: 15px;
    background: #f6f6f6;
}
.author_wrap {
    display: flex;
    flex-wrap: wrap;
}
.author_thumb {
    width: 80px;
    height: 80px;
    border-radius:  50%;
    overflow: hidden;
}
.author_thumb > img {
    width: 100%;
}
.author_prof {
    width: calc( 100% - 80px );
    padding-left: 1em;
    color: inherit;
}
.author_title {
    width: 100%;
    font-size: 12px;
    margin-bottom: 10px;
}
.author_name {
    display: block;
    font-size: 18px;
    font-weight: bold;
}
.author_position {
    display: block;
    font-size: 12px;
    font-weight: bold;
}
.author_career {
    padding: 15px 0 0 20px;
    font-size: 12px;
    color: #555;
}
.author_career_listitem {
    margin-bottom: .5em;
}

@media (min-width: 768px) {
    .author_thumb {
        width: 100px;
        height: 100px;
    }
    .author_prof {
        width: calc( 100% - 100px );
    }
    .author_title {
        margin-bottom: 5px;
    }
    .author_name {
        display: inline-block;
    }
    .author_position {
        display: inline-block;
        margin-left: 1em;
    }
    .author_career {
        width: calc( 100% - 100px );
        margin-left: 120px;
        margin-top: -55px;
    }
    .author_career_listitem {
        margin-bottom: .25em;
    }
}

/* 見出し
====================*/
.article h2 {
    font-size: 22px;
    font-weight: bold;
    margin: 60px 0 0;
    clear: both;
}
.article h3 {
    font-size: 18px;
    font-weight: bold;
    margin: 40px 0 0;
    clear: both;
}
.article h4 {
    font-size: 16px;
    font-weight: bold;
    margin: 40px 0 0;
    clear: both;
}
.article h2 + h3,
.article h3 + h4 {
    margin-top: 30px;
}
.article h3 + p,
.article h4 + p {
    margin-top: 16px;
}

/* 番号付き見出し */
.article .title-number {
    font-size: 18px;
    background: none;
    padding: 0;
}
.article .title-number::before {
    color: #f00;
    font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: bold;
    font-size: 28px;
    margin-right: 8px;
    vertical-align: -.1em;
}
.article .title-number:nth-of-type(1)::before {content: "\02460";}
.article .title-number:nth-of-type(2)::before {content: "\02461";}
.article .title-number:nth-of-type(3)::before {content: "\02462";}
.article .title-number:nth-of-type(4)::before {content: "\02463";}
.article .title-number:nth-of-type(5)::before {content: "\02464";}
.article .title-number:nth-of-type(6)::before {content: "\02465";}
.article .title-number:nth-of-type(7)::before {content: "\02466";}
.article .title-number:nth-of-type(8)::before {content: "\02467";}
.article .title-number:nth-of-type(9)::before {content: "\02468";}
.article .title-number:nth-of-type(10)::before {content: "\02469";}
.article .title-number:nth-of-type(11)::before {content: "\0246a";}
.article .title-number:nth-of-type(12)::before {content: "\0246b";}
.article .title-number:nth-of-type(13)::before {content: "\0246c";}
.article .title-number:nth-of-type(14)::before {content: "\0246d";}
.article .title-number:nth-of-type(15)::before {content: "\0246e";}
.article .title-number:nth-of-type(16)::before {content: "\0246f";}
.article .title-number:nth-of-type(17)::before {content: "\02470";}
.article .title-number:nth-of-type(18)::before {content: "\02471";}
.article .title-number:nth-of-type(19)::before {content: "\02472";}
.article .title-number:nth-of-type(20)::before {content: "\02473";}

/* 見出し-巻末添付 */
.article h2.title-appindex {
    font-size: 18px;
    line-height: 1.4;
    margin-bottom: 1em;
    border-bottom: none;
}


@media (min-width: 768px) {
    .article h2 {
        font-size: 28px;
        margin: 80px 0 0;
    }
    .article h2.title-appindex {
        font-size: 22px;
        margin-bottom: .5em;
    }
    .article h3 {
        font-size: 22px;
        margin: 60px 0 0;
    }
    .article h4 {
        font-size: 20px;
        margin: 60px 0 0;
    }
}

/* 本文
====================*/
.article_content {
    margin-top: 30px;
}
.article_content p {
    font-size: inherit;
    line-height: 2;
    margin: 30px 0 0;
    word-break: break-all;
}
.article_content strong {
    font-style: normal;
    font-weight: normal;
}
.article_content em {
    font-style: normal;
}
.article_main_social {
    padding: 60px 0 30px;
}


@media (min-width: 768px) {
    .article_content p {
        font-size: 18px;
        line-height: 2;
        margin: 30px 0 0;
    }
}

/* リスト
====================*/
.article_content ul,
.article_content ol {
    margin: 30px 0 0;
    padding: 0;
    line-height: 2;
}
.article_content ul li,
.article_content ol li {
    position: relative;
    list-style: none;
    padding-left: 30px;
    margin-top: 5px;
}
/* ●リスト */
.article_content ul li:before {
    position: absolute;
    top: 0.75em;
    left: 6px;
    border-radius: 50%;
    content: '';
    width: 8px;
    height: 8px;
    background-color: #ccc;
}
/* 番号リスト */
.article_content ol {
    counter-reset: number;
}
.article_content ol li:before {
    position: absolute;
    top: 0.1em;
    left: 0;
    font-weight: bold;
    counter-increment: number;
    content: counter(number) ".";
    margin-right: 10px;
    color: #222;
    font-size: 1.2em;
    line-height: 1.4;
}
/* アルファベットリスト */
.article_content .list-alpha {
    list-style: upper-alpha;
}
/* チェックリスト */
.article_content ul.checklist li:before {
    font-family: FontAwesome;
    content: "\f046";
    position: absolute;
    top: 1px;
    left: 3px;
    color: #0091da;
    background-color: inherit;
    width: 0;
    height: 0;
}
@media (min-width: 768px) {
    .article_content li {
        font-size: 18px;
    }
    .article_content ul li:before {
        left: 8px;
    }
    .article_content ol li:before {
        top: 0.25em;
        font-size: 1em;
    }
}


/* 画像
====================*/
.wp-block-image {
    margin: 30px 0 0;
    text-align: center;
    border: 1px solid #ccc;
    border-radius: 5px;
    padding: 5px;
}
.wp-block-image img {
    max-width: 100%;
    height: auto;
}
.wp-block-image figcaption {
    font-size: 12px;
    line-height: 1.4;
    text-align: left;
    padding:10px 5px 5px;
    margin: 0;
    color: #222;
    word-break: break-all;
}
.img-beige {
    background: #f1f1e1;
    padding: 30px;
}
@media (min-width: 768px) {
    .wp-block-image {
        padding: 10px;
    }
    .wp-block-image figcaption {
        font-size: 14px;
    }
}
figure {
    margin: 0;
}
/* 動画
====================*/
.wp-block-embed {
    text-align: center;
    padding-bottom: 2em;
    margin: 0;
}
.wp-block-embed iframe {
    width: 100%;
    max-height: 190px;
}
.wp-block-embed figcaption {
    font-size: 12px;
    line-height: 1.4;
    text-align: center;
    padding:10px;
    background: #f6f6f6;
    margin: 0;
    color: #222;
}

@media (min-width: 768px) {
	.wp-block-embed iframe {
        width: 600px;
        height: calc( 600px / 1.6 );
		max-height: unset;
		margin: 0 auto;
	}
}

/* 引用
====================*/
.article_content .wp-block-quote {
    position: relative;
    background-color: rgba(0,0,0,.05);
    margin: 30px 0 0;
    padding: 15px 15px 15px 40px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
}
.article_content .wp-block-quote * {
    font-size: 12px;
}
.article_content .wp-block-quote *:first-child {
    margin-top: 0;
}
.article_content .wp-block-quote:before {
    display: inline-block;
    position: absolute;
    top: 10px;
    left: -15px;
    width: 40px;
    height: 30px;
    text-align: center;
    content: "\f10d";
    font-family: FontAwesome;
    color: #FFF;
    font-size: 18px;
    line-height: 30px;
    background: #92d4ff;
    box-shadow: 0 2px 2px rgba(26, 26, 26, 0.14);
    font-weight: 900;
}
.article_content .wp-block-quote:after {
    position: absolute;
    content: '';
    top: 40px;
    left: -15px;
    border: none;
    border-bottom: solid 8px transparent;
    border-right: solid 15px #6eb3e0;
}
.article_content .wp-block-quote cite {
    display: block;
    text-align: right;
    color: #888888;
    font-size: 0.9em;
    font-style: normal;
    margin-top: 30px;
}
.article_content .wp-block-quote cite::before {
    content:'出典：';
    color: #999;
}
.article_content .wp-block-quote cite a::before {
    display: none;
}
.article_content .wp-block-quote strong {
    color: inherit;
    font-size: inherit;
}
.article_content .wp-block-quote img {
    max-width: 100%;
    width: inherit !important;
}

@media (min-width: 768px) {
    .article_content .wp-block-quote {
        padding: 30px 30px 30px 40px;
    }
    .article_content .wp-block-quote * {
        font-size: 16px;
    }
    .article_content .wp-block-quote:before {
        top: 30px;
    }
    .article_content .wp-block-quote:after {
        top: 60px;
    }
}

/* 引用 回り込み画像
====================*/
.article_content .wp-block-quote.img-right,
.article_content .wp-block-quote.img-left {
    width: 50%;
    padding: 5px;
    margin-bottom: 10px;
}
.article_content .wp-block-quote.img-left {
    float: left;
    margin-right: 20px;
}
.article_content .wp-block-quote.img-right {
    float: right;
    margin-left: 20px;
}
.article_content .wp-block-quote.img-right:after,
.article_content .wp-block-quote.img-left:after {
    overflow: hidden;
}
.article_content .wp-block-quote.img-left cite,
.article_content .wp-block-quote.img-right cite {
    font-size: 12px;
    padding-bottom: 5px;
    text-align: left;
}
.article_content .wp-block-quote.img-left:before,
.article_content .wp-block-quote.img-left:after,
.article_content .wp-block-quote.img-right:before,
.article_content .wp-block-quote.img-right:after {
    display: none;
}
@media (min-width: 768px) {
    .article_content .wp-block-quote.img-right,
    .article_content .wp-block-quote.img-left {
        width: 40%;
        padding: 10px;
        margin-bottom: 20px;
    }
}

/* テーブル
====================*/
.wp-block-table table {
    margin: 30px 0 0;
    border: 1px solid rgba(204, 204, 204);
}
.wp-block-table thead {
    border-bottom: 1px solid rgba(204, 204, 204);
}
.wp-block-table tfoot {
    border-top: 1px solid rgba(204, 204, 204);
}
.wp-block-table tfoot td {
    background-color: #dcedfa;
    font-weight: normal;
}
.wp-block-table tr + tr {
    border-top: 1px solid rgba(204, 204, 204);
}
.wp-block-table td,
.wp-block-table th,
.wp-block-table.is-style-stripes td,
.wp-block-table.is-style-stripes th {
    padding: .75em;
    line-height: 1.4;
    border-left: 1px solid rgba(204, 204, 204);
}
.wp-block-table th {
    background-color: #5CB3DF;
    color: #fff;
    font-weight: normal;
}
 .wp-block-table ul,
 .wp-block-table ol {
    padding: 0 !important;
    margin: 0;
}
.wp-block-table.is-style-stripes {
    border-bottom: none;
}
.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
    background-color: #f0f4f7;
}
.wp-block-table figcaption {
    font-size: 12px;
    line-height: 1.4;
    text-align: left;
    padding: 10px 5px 5px;
    margin: 0;
    color: #222;
    word-break: break-all;
}
@media screen and (max-width: 480px) {
    .table-scroll {
        overflow: auto;
    }
    .table-scroll  table {
        width: 640px !important;
    }
}
@media (min-width: 768px) {
    .wp-block-table figcaption {
        font-size: 14px;
    }
}

/* テーブルの幅固定
====================*/
.wp-block-table.is-left-th-em4 tr th:nth-of-type(1) {
	width: calc(4em + 1em * 2); /*1em*2 セル左右余白 */
}
.wp-block-table.is-left-th-em6 tr th:nth-of-type(1) {
	width: calc(6em + 1em * 2); /*1em*2 セル左右余白 */
}
.wp-block-table.is-left-th-em8 tr th:nth-of-type(1) {
	width: calc(8em + 1em * 2); /*1em*2 セル左右余白 */
}
.wp-block-table.is-left-th-em10 tr th:nth-of-type(1) {
	width: calc(10em + 1em * 2); /*1em*2 セル左右余白 */
}
.wp-block-table.is-left-th-em12 tr th:nth-of-type(1) {
	width: calc(12em + 1em * 2);
}

/* ソースコード表示
====================*/
pre.pre-html,
pre.pre-css {
	position:relative;
    padding: 2em 1em 1em;
    margin:30px 0 0;
    border:4px solid #eee;
    clear: both;
}
pre.pre-html::before,
pre.pre-css::before {
    position:absolute;
    display: inline-block;
    top: 0;
    left:0;
    color:#fff;
    padding:2px 10px;
    font-size:12px;
}
pre.pre-html::before {
    content: "HTMLコード";
    background: #587fbb;
}
pre.pre-css::before {
    content: "CSSコード";
    background: #74bb58;
}

/* カードリンク
====================*/
.blogcard {
    margin: 30px 0 0;
}
.blogcard a {
    display: flex;
    background: #fff;
    border: 1px solid rgba(0,0,0,0.1);
    border-radius: 3px;
    box-shadow: 0 0 10px 6px rgba(0,0,0,.025);
    text-decoration: none;
    color: #222;
    padding: 15px;
}
.blogcard a:hover {
    background: #f8f8f8;
}
.blogcard_thumbnail {
    width: 100px;
    height: 100px;
    overflow: hidden;
}
.blogcard_thumbnail img {
	width: auto;
	height: 100%;
	transform: translateX( -23% );
}
.blogcard_content {
    width: calc(100% - 90px);
    padding-left: 20px;
}
.blogcard_title {
    font-size: 1em;
    font-weight: bold;
    line-height: 1.4;
    padding-bottom: 10px;
    color: #2B7BB9;
}
.blogcard_excerpt {
    font-size: 0.85em;
}

/* 記事抜粋
====================*/
.article_excerpt {
    display: flex;
    flex-flow: column nowrap;
    padding-bottom: 30px;
}
.excerpt_icatch {
    position: relative;
    overflow: hidden;
    margin-bottom: 20px;
}
.excerpt_icatch:before {
    content: "";
    display: block;
    padding-top: calc( 100% * 0.525 );
}
.excerpt_icatch > img {
     position: absolute;
     top: 0;
     bottom:0;
     left: 0;
     right: 0;
     max-width: 100%;
     height: auto;
}
.excerpt_text {
    line-height: 1.8;
    letter-spacing: .08em;
}

@media (min-width: 768px) {
    .article_excerpt {
        display: flex;
        flex-flow: row-reverse nowrap;
    }
    .excerpt_icatch {
        width: calc( 100% / 2.5 );
    }
    .excerpt_text {
        padding-right: 15px;
        display: block;
        width: calc( 100% - (100% / 2.5));
    }
}

/* 続きを読む
====================*/
.excerpt_readmore {
    padding-bottom: 30px;
}
.excerpt_readmore_btn {
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
    width: 60%;
    max-width: 200px;
    min-width: 160px;
    white-space: nowrap;
    height: 3.2em;
    border-radius: 1.6em;
    padding: 0 1.5em;
	background: rgba(255, 135, 0, 1);
	box-shadow: 0 4px 8px rgba(0,0,0,.16);
	color: #fff;
	font-weight: bold;
	font-size: 16px;
	text-shadow: 0 1px 2px rgba(255, 135, 0, 1);
	text-align: center;
	line-height: 1;
	transition: transform .1s ease;
    font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", sans-serif;
    margin: 0 auto;
}
.excerpt_readmore_btn:hover {
	background: rgba(249, 136, 30, 1);
	box-shadow: 0 2px 2px rgba(0,0,0,.16);
	color: #fff;
	text-decoration: none;
	transform: translateY(2px);
}

@media (min-width: 768px) {
    .excerpt_readmore {
        padding-bottom: 60px;
    }
}


/* 資料DLへの導線
====================*/
.dl_bnr-sp {display:block;}
.dl_bnr-pc {display: none;}
.dl_bnr-sp:hover,
.dl_bnr-pc:hover {
    opacity: .8;
}
.dl_bnr-sp,
.dl_bnr-pc {
    border: none;
    padding: 0;
}
@media (min-width: 768px) {
    .dl_bnr-sp {display: none;}
    .dl_bnr-pc {display: block;}
}

/* hubspotCTAのスタイル */
.hs-cta-img {
    max-width: 100%;
    width: auto;
    height: auto;
}

/* ユーザーコメント
====================*/
.excerpt-comment {
    margin-bottom: 60px;
}
.excerpt-comment_head {
    display: block;
    width: 100vw;
    margin-left: calc( 50% - 50vw );
    margin-right: calc( 50% - 50vw );
    padding: .5em 15px;
    background-color: rgba( 0,0,0,.05 );
    font-size: 1.4rem;
    font-weight: bold;
}
.excerpt-comment_head > .fa {
    font-size: 1.2em;
    margin-right: 5px;
}

@media (min-width: 768px) {
    .excerpt-comment_head {
        width: 100%;
        margin-left: auto;
        margin-right: auto;
    }
}

/* 関連記事
====================*/
.relatedPost {
    padding: 60px 0 0;
}
.relatedPost_list_item {
    padding: 0;
}
.relatedPost_list_item a {
    display: flex;
    flex-flow: row nowrap;
    color: #222;
    padding: 15px;
}
.relatedPost_list_item a:hover {
    text-decoration: none;
    background: #f5f5f5;
}
.relatedPost_list_item_image {
    width: 45%;
}
.relatedPost_list_item_image > * {
    width: 100%;
    height: auto;
    transition: 135ms;
}
.relatedPost_list_item_text {
    width: 55%;
    padding: 0 0 0 10px;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.4;
}
@media (min-width: 768px) {
    .relatedPost_list_item,
    .relatedPost_list_item:last-child {
        margin-bottom: 10px;
    }
    .relatedPost_list_item a {
        border: 1px solid #ccc;
        margin: 0 5px;
        height: 100%;
    }
    .relatedPost_list_item_image {
        width: 35%;
    }
    .relatedPost_list_item_text {
        width: 65%;
        font-size: 14px;
    }
}

/* 目次（メイン）
====================*/
.toc-main {
    margin: 30px 0 60px;
    border: 5px solid #eee;
    padding: 10px;
    font-size: 12px;
}
.toc_nav-main .toc_list-main {
    display: none;
}
.toc_nav-main.is-expand .toc_list-main {
    display: block;
}
.toc_title-main {
    display: inline-block;
    font-size: 16px;
    padding: 0 5px 0 0;
}
.toc_btn-main {
    font-size: 12px;
    color: #0073C1;
}
.toc_btn-main:hover {
    text-decoration: underline;
    cursor: pointer;
}
ol.toc_list-main {
    list-style: none;
    padding: 10px 0 0;
    margin-top: 0;
}
ol li.toc_list_item-main {
    margin-top: 0;
    margin-bottom: 5px;
    padding-bottom: 5px;
    padding-left: 0;
    border-bottom: 2px dotted #eee;
}
ol li.toc_list_item-main::before {
    display: none;
}
ol li.toc_list_item-main:last-child,
ol ol li.toc_list_item-main {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}
li.toc_list_item-main a {
    display: inline-block;
    padding: 2px 0 3px;
}
ol.toc_sublist-main {
    list-style: none;
    padding: 0;
    margin-top: 0;
}
ol.toc_sublist-main a {
    position: relative;
    display: inline-block;
    padding: 2px 0 3px 1em;
}
ol.toc_sublist-main a::before {
    position: absolute;
    content: "└";
    left: -2px;
    top: 4px;
    color: #ccc;
    font-size: 10px;
}
@media (min-width: 768px) {
    .toc-main {
        margin: 50px 0 80px;
        padding: 20px;
        font-size: 16px;
    }
    .toc_title-main {
        font-size: 18px;
    }
    .toc_btn-main {
        font-size: 14px;
    }
    ol li.toc_list_item-main {
        margin-bottom: 8px;
        padding-bottom: 8px;
        font-size: 16px;
    }
    ol.toc_sublist-main a::before {
        top: 6px;
        font-size: 12px;
    }
}

/* 目次（ポップアップ）
====================*/
.toc {
	position: fixed;
	right: 10px;
	bottom: 10px;
	display: flex;
	z-index: 9;
}

.toc_btn {
	display: flex;
	flex-flow: column nowrap;
	justify-content: center;
	align-items: center;
	width: 70px;
	height: 70px;
	background: #0191da;
	box-shadow: 0 0 16px rgba(0,0,0,.16);
	border-radius: 50%;
    font-size: 10px;
    font-weight: bold;
    color: #fff;
}
.toc_btn > .fa {
    font-size: 250%;
    margin-bottom: 2px;
}
.toc_nav {
	position: absolute;
	top: calc( -520px - 10px );
	right: 10px;
	width: 320px;
	height: 520px;
	overflow-y: scroll;
	padding: 1em;
	background: #fff;
	box-shadow: 0 0 16px rgba(0,0,0,.16);
	transform: scale(0);
	transform-origin: right bottom;
	transition: transform .2s ease-in-out;
}
.toc_nav.is-expand {
	transform: scale(1);
}

.toc_title {
    font-size: 14px;
    font-weight: bold;
    border-bottom: 1px solid #666;
    padding-bottom: 5px;
    margin: 0;
}
.toc_list {
    list-style: none;
    padding: 0;
    font-size: 12px;
}
.toc_list_item {
    border-bottom: 1px solid #eee;
    padding: 2px 0;
}
.toc_list_item a {
    display: block;
    padding: 5px 10px;
    color: #666;
}
.toc_list_item a:hover,
.toc_list_item a.is-active  {
    text-decoration: none;
    background: #F5F5F5;
    border-radius: 2px;
    font-weight: 500;
}
.toc_sublist {
    list-style: none;
    margin: 0;
    padding: 0;
}
.toc_sublist a {
    position: relative;
    display: block;
    padding: 4px 10px 4px 30px;
}
.toc_sublist a::before {
    position: absolute;
    content: "└";
    left: 10px;
    top: 6px;
    color: #ccc;
}
.toc_sublist .toc_list_item {
    border-bottom: none;
}
@media (min-width: 768px) {
    .toc_title {
        font-size: 16px;
        padding-bottom: 10px;
    }
    .toc_list {
        font-size: 14px;
    }
}
@media (min-width: 992px) {
    .toc {
        right: 12%;
        bottom: 20px;
    }
    .toc_btn {
        width: 80px;
        height: 80px;
    }
    .toc_btn > .fa {
        font-size: 300%;
    }
}


/* 文中C2A
====================*/
.sentence_c2a {
    display: flex;
    flex-direction: column;
    border: 1px dotted #ccc;
    background: #F5F5F5;
    margin: 30px 0 0;
    padding: 10px;
}
.sentence_c2a_image > img {
	max-width: 100%;
}
.sentence_c2a_text {
	padding: 15px 30px;
	text-align: center;
}
.sentence_c2a_title {
	font-size: 16px;
    font-weight: bold;
    color: #444;
	padding-bottom: 15px;
}
.sentence_c2a_button > .c2a_btn-main {
    position: relative;
    font-size: 14px;
    padding: 14px 25px;
    height: 50px;
    border-radius: 2px;
    width: auto;
}
.sentence_c2a_button > .c2a_btn-main::after {
    position: absolute;
    font: normal normal normal 14px/1 FontAwesome;
    content: "\f105";
	font-size: 18px;
    right: 10px;
}
@media(min-width: 768px) {
    .sentence_c2a {
        flex-direction: row;
    }
    .sentence_c2a_image {
        width: 50%;
    }
    .sentence_c2a_text {
        width: 50%;
        padding: 20px 20px 10px 30px;
        text-align: left;
	}
	.sentence_c2a_title {
		font-size: 16px;
	}
	.sentence_c2a_button > .c2a_btn-main {
		height: 50px;
		font-size: 16px;
        padding: 14px 0;
        width: 100%;
	}
}
@media(min-width: 992px) {
	.sentence_c2a_title {
		font-size: 18px;
	}
}
@media(min-width: 1200px) {
	.sentence_c2a_title {
        font-size: 20px;
        padding-bottom: 20px;
    }
    .sentence_c2a_button > .c2a_btn-main {
        font-size: 18px;
        padding: 18px 0;
        height: 60px;
    }
}


/* オリジナルブロック
====================*/
/* 背景（青） */
.block-p-blue {
    margin-top: 30px;
    background: #F2F9FD;
    padding: 15px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
}
.block-p-blue > p:first-child {
    margin-top: 0;
}
.block-p-blue ul,
.block-p-blue ol {
    margin: 0 0 30px;
}
.block-p-blue ul:last-child,
.block-p-blue ol:last-child {
    margin: 0;
}
@media(min-width: 768px) {
    .block-p-blue {
        padding: 30px;
    }
}

/* 背景（グレー） */
.block-p-gray {
    margin-top: 30px;
    background: #F6F6F6;
    padding: 15px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
}
.block-p-gray > p:first-child {
    margin-top: 0;
}
.block-p-gray ul,
.block-p-gray ol {
    margin: 0 0 30px;
}
.block-p-gray ul:last-child,
.block-p-gray ol:last-child {
    margin: 0;
}
@media(min-width: 768px) {
    .block-p-gray {
        padding: 30px;
    }
}

/* 補足欄 */
.block-supplement {
    margin: 30px 0 0;
    padding: 20px 15px;
    font-size:14px;
    color: #666;
    background-color: #f7f7f7;
    background-color: rgba(0,0,0,.05);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
}
.block-supplement .title {
    font-weight: bold;
    font-size: 16px;
    margin: 0 0 .5em;
    border: none;
    padding: 0;
    text-align: left;
}
.block-supplement p {
    font-size: 14px;
    margin: 0 0 .5em !important;
}
.block-supplement p:last-child {
    font-size: 14px;
    margin: 0 !important;
}
.block-supplement li {
    font-size: 14px;
}

/* ポイント枠 */
.block-point {
    position: relative;
    margin: 50px 0 0;
    padding: 20px 15px;
    border: solid 3px rgba(92, 179, 223, .8);
    border-radius: 8px;
}
.block-point .title {
    color: rgba(92, 179, 223, .8);
    font-weight: bold;
    font-size: 20px;
    margin: 0 0 15px;
}
@media (min-width: 768px) {
    .block-point {
        padding: 15px 20px 30px;
    }
    .block-point .title {
        position: absolute;
        display: inline-block;
        top: -17px;
        left: 10px;
        padding: 0 9px;
        background: #FFF;
        color: rgba(92, 179, 223, .8);
        font-weight: bold;
        font-size: 24px;
        margin: 0;
        border: none;
    }
}

/* インタビュアー */
.block-interviewer {
	display: block;
	padding-left: 50px;
	background: url(../image/bg_question.jpg) no-repeat left 1em;
	background-size: 40px auto;
    font-weight: normal;
	margin-bottom: 4rem;
	line-height: 2;
}
/* インタビュイー */
.block-interviewee {
    margin-bottom: 4rem;
}
.block-interviewee p {
    margin: 0;
}
.block-interviewee p.interviewee_name {
    font-weight: bold;
    margin-bottom: 0;
}
@media (min-width: 768px) {
    .block-interviewer p,
    .block-interviewee p {
        font-size: 16px;
    }
}

/* Q&A */
.block-question,
.block-anser {
    position: relative;
	display: block;
	padding-left: 35px;
	margin-bottom: 4rem;
	line-height: 2;
}
.block-question::before,
.block-anser:before {
    position: absolute;
    font-size: 1.8em;
    font-weight: bold;
    line-height: 1;
    left: 0;
}
.block-question::before {
    content: "Q";
    color: #4db2e5;
}
.block-anser:before {
    content: "A";
    color: #e5804d;
}
@media (min-width: 768px) {
    .block-question p,
    .block-anser p {
        font-size: 16px;
    }
}