@charset "UTF-8";

/* ============ 記事本文パーツ（旧 content-custom.css）ここから ============ */


/*記事ブロック専用style
/************************************************************/
	
/*ボックス*/
.content{
	position: relative;
	font-size:16px;
	line-height:1.75;
	margin:0;
}
.mainWrap::after {
	content: "";
	display: block;
	clear: both;
}
/*固定ページの時*/
.mainWrap.content-page{margin:0;}


/*段落*/
.content p::after {
	content: "";
	display: block;
	clear: both;
}

/*すべての見出し*/

.content h2,
.content h3,
.content h4,
.mainWrap h5{
	margin-top:40px;
}

.mainWrap h5{font-size:16px;}
.mainWrap h2:not(.h3) + h2, .mainWrap h2:not(.h3) + h3, .mainWrap h2:not(.h3) + h4, .mainWrap h2:not(.h3) + h5,
.mainWrap h3 + h2, .mainWrap h3 + h3, .mainWrap h3 + h4, .mainWrap h3 + h5,
.mainWrap h4 + h2, .mainWrap h4 + h3, .mainWrap h4 + h4, .mainWrap h4 + h5,
.mainWrap h5 + h2, .mainWrap h5 + h3, .mainWrap h5 + h4, .mainWrapt h5 + h5{margin-top:20px !important;}


/*画像設定*/
.content .size-full,
.content .size-large,
.content .size-medium,
.content .size-thumbnail{max-width:100%; height:auto}
.content .alignleft {
    float: left;
    margin: 0 10px 10px 0;
}
.content .aligncenter {
    display: block;
    margin:0 auto 10px auto !important;
}
.content .alignright {
    float: right;
    margin: 0 0 10px 10px;
}
.content .wp-caption{margin-top:20px;}
.content .wp-caption a{display:block;}
.content .wp-caption a:hover{border-bottom: none;}
.content .wp-caption img{vertical-align: bottom;}
.content .wp-caption-text{
	margin-top: 10px;
	text-align:center;
	font-size:14px;
}

/*リスト設定*/
.content ul,
.mainWrap ol{
	list-style-type: none;
	margin-top:20px !important;
}
.content ul ul,
.content ul ol,
.mainWrap ol ul,
.mainWrap ol ol{margin-top:0;}

.content ul ul {
	margin-top:0 !important;
}
.mainWrap ol{counter-reset:number;}
.content ul li:before{
	content:"・";
	position:absolute;
	left:0;
}

/* ▼ 本文の箇条書き（class無しの<ul>）だけにチェックマーク＋薄緑背景（案D）を適用。
   目次(.outline)・dateList・関連(.related__list)・.lnk 等のclass付き構造リストは除外＝現状維持 */
.content ul:not([class]){
	background:#edf6f1;
	border:1px solid #d7e9df;
	border-radius:8px;
	padding:6px 22px 14px;
}
.content ul:not([class]) ul{        /* 入れ子は二重ボックスにしない */
	background:none;
	border:0;
	border-radius:0;
	padding:0;
	margin-top:0;
}
.content ul:not([class]) li{
	padding-left:30px;              /* チェックバッジぶん左を広げる */
}
.content ul:not([class]) li:first-child{
	padding-top:8px;
}
.content ul:not([class]) li:before{
	content:"";
	position:absolute;
	left:0;
	top:12px;
	width:18px;
	height:18px;
	border-radius:5px;
	background:#129259 url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 6 9 17l-5-5" fill="none" stroke="white" stroke-width="3.2" stroke-linecap="round" stroke-linejoin="round"/></svg>') center/11px 11px no-repeat;
}
.mainWrap ol li:before{
	counter-increment: number;
	content: counter(number)".";
	position:absolute;
	left:0;
}
.content ul li,
.mainWrap ol li{
	position:relative;
	line-height:1.5;
	padding: 10px 0 0 25px;
	font-size:16px;
}

/*整形済みテキスト*/
.mainWrap pre{
	font-family: "游ゴシック体", "Yu Gothic", "YuGothic", "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo, Osaka", "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
	font-weight:400;
	font-size:14px;
	margin-top:20px;
	padding:20px;
	background-color: #F2F2F2;
	border-left: solid 5px #191919;
	color:#7F7F7F;
	overflow:auto;
}

/*ライン*/
.mainWrap hr{
	margin-top:40px;
	border-top: 1px solid #F2F2F2;
	border-bottom: 1px solid #E5E5E5;
}

/*テーブル*/
.mainWrap table {
    margin-top:20px;
    width: 100%;
	border-top: 1px solid #E5E5E5;
	border-left: 1px solid #E5E5E5;
	font-size:14px;
}
.mainWrap table tr:nth-child(2n+1){background: #F2F2F2;}
.mainWrap table th{
	padding: 10px;
	background: #323232;
	color: #fff;
	border-right: 1px solid #E5E5E5;
	border-bottom: 1px solid #E5E5E5;
}
.mainWrap table td{
	padding: 10px;
	border-right: 1px solid #E5E5E5;
	border-bottom: 1px solid #E5E5E5;
}

/*目次*/

.content .outline__toggle{display: none;}
.content .outline__switch::before{
	content:"開く";
	cursor:pointer;
	border: solid 1px #D8D8D8;
	padding:5px;
	font-size:12px;
	margin-left:5px;
	border-radius: 5px;
}
.content .outline__toggle:checked + .outline__switch::before{content:"閉じる"}
.content .outline__switch + .outline__list{
	overflow:hidden;
	width:0;
	height:0;
	margin-top:0;
	margin-left:-20px;
	transition: 0.2s;
}
.content .outline__toggle:checked + .outline__switch + .outline__list{
	width:auto;
	height: auto;
	margin-top:20px;
	transition: 0.2s;
}

#main .content .outline__link{
	display:inline-block;
	color:#191919;
}

#main .content .outline__list-3 .outline__link {
	font-size: 14px;
}


.content .outline__number{
	display: inline-block;
	color:#7F7F7F;
	background:#F2F2F2;
	padding:3px 6px;
	font-weight:400;
	font-size:12px;
	margin-right: 5px;
}


/*引用*/
.content blockquote{
	position:relative;
	color:#3F3F3F;
	margin-top:20px;
	padding:20px 20px 20px 70px;
	background-color: #F2F2F2;
}
.content blockquote::before{
	position:absolute;
	top:10px;
	left:20px;
	font-family: "icomoon";
	content: "\e909";
	font-size:30px;
	color:#D9D9D9;
}

/*枠線ボックス*/
.content .borderBox{
	border:1px solid #E5E5E5;
	padding:20px;
	margin-top:20px;
}

/*二重線ボックス*/
.content .border2Box{
	border:4px double #E5E5E5;
	padding:20px;
	margin-top:20px;
}

/*背景ボックス*/
.content .bgBox{
	position: relative;
	padding: 24px;
	margin-top: 20px;
	background-color: #ffffff;
	background-image:
		linear-gradient(#e9edf1 1px, transparent 1px),
		linear-gradient(90deg, #e9edf1 1px, transparent 1px);
	background-size: 18px 18px;
	background-position: center 10px;
}
#main .content .bgBox p:first-child {
	margin-top: 0;
}
/*ペーパーボックス*/
.content .paperBox {
	position: relative;
	padding:20px;
	margin-top:20px;
	background-color: #F2F2F2;
}
.content .paperBox::after {
    content: "";
	position: absolute;
	bottom: 0;
    right: 0;
    border-color: #D8D8D8 #ffffff #ffffff #D8D8D8;
    border-style: solid;
    border-width: 0 0 20px 20px;
}

/*太文字ボックス*/
.content .boldBox{
	border:3px solid #191919;
	padding:20px;
	margin-top:20px;
	font-weight:700;
}

/*括弧ボックス*/
.content .bracketsBox{
	position:relative;
	padding:20px;
	margin-top:20px;
}
.content .bracketsBox:before,
.content .bracketsBox:after {
    display: inline-block;
    position: absolute;
    width: 30px;
    height: 30px;
    content: "";
}
.content .bracketsBox:before {
    top: 0;
    left: 0;
    border-top: solid 1px #191919;
    border-left: solid 1px #191919;
}
.content .bracketsBox:after {
    right: 0;
    bottom: 0;
    border-right: solid 1px #191919;
    border-bottom: solid 1px #191919;
}


/*はてなボックス*/
/*ビックリボックス*/
.content .questionBox{background-color: #D9EFF7;}
.content .questionBox::before,
.content .exclamationBox::before{
	position:absolute;
	top:20px;
	left:20px;
	font-size:20px;
	font-weight:700;
	color: #ffffff;
    text-align: center;
    vertical-align: middle;
    width: 30px;
    height: 30px;
	line-height: 30px;
    border-radius: 50%;
}
.content .questionBox::before{content: "?";background: #0096c8;}

#main .exclamationBox p {
    margin-top: 0;
}
/*ポイントボックス*/
.content .pointBox {
	position: relative;
    border: 2px solid #c53929;
    border-radius: 5px;
    padding:20px;
	margin-top:20px;
}
.content .pointBox::before {
	content: "POINT";
	position: absolute;
	top: -15px;
	left: 15px;
	font-size: 16px;
	font-weight: 700;
    background-color: #ffffff;
    color: #c53929;
    padding: 0 10px;
}


/*注釈*/
.content .asterisk{
	display: block;
    font-size: 13px;
    color: #7F7F7F;
}

/*ピンクマーカー*/
.content .markerPink{background: linear-gradient(transparent 60%, #FFDFEF 60%);}


/*記事内広告*/
.content .adPost {
	width:100%;
	overflow:hidden;
	margin-top:20px;
	padding:0 10px;
	background-color:#F2F2F2;
    background-image: linear-gradient(to top right, #fff 0%, #fff 25%, transparent 25%, transparent 50%, #fff 50%, #fff 75%, transparent 75%, transparent 100%);
    background-size: 6px 6px;
}
.content .adPost__title{
	font-size:12px;
	padding:10px 0;
	display:block;
	font-weight:normal;
	text-align:center;
}


/*YouTube*/
.content .youtube {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	max-width: 100%;
	margin:20px auto 0 auto;
}
.content .youtube iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/*twitter & instagram*/
.content .twitter-tweet,
.content .instagram-media {
	width: 500px!important;
    max-width: 100%!important;
    margin:20px auto 0 auto!important;
}

/*最初の要素*/
.content *:first-child{margin-top:0;}

/*管理画面投稿エディタ専用*/
body.mce-content-body{
	background:#FFF;
	padding:25px!important;
	margin:0!important;
}



/*投稿ページのcontents外
/************************************************************/

/*ソーシャルリスト*/
.socialList {
	list-style:none;
	display: flex;
    justify-content: flex-end;
	flex-wrap:wrap;
	width:100%;
	margin-bottom:60px;
}
.socialList__item {
    flex-grow: 1;
	height:50px;
	line-height:50px;
	min-width:90px;
	text-align:center;
}
.socialList__link {
	display:block;
	color:#ffffff;
}
.socialList__link::before{
	font-size:26px;
	display:block;
	transition: ease-in-out .2s;
}
.socialList__link:hover::before{
	background:#ffffff;
	transform: scale(1.2);
	box-shadow:1px 1px 4px 0px rgba(0,0,0,0.15);
}
.socialList__link.icon-facebook{background:#3B5998;}
.socialList__link.icon-facebook:hover::before{color:#3B5998;}
.socialList__link.icon-twitter{background:#00B0ED;}
.socialList__link.icon-twitter:hover::before{color:#00B0ED;}
.socialList__link.icon-google{background:#DF4A32;}
.socialList__link.icon-google:hover::before{color:#DF4A32;}
.socialList__link.icon-hatebu{background:#008FDE;}
.socialList__link.icon-hatebu:hover::before{color:#008FDE;}
.socialList__link.icon-pocket{background:#EB4654;}
.socialList__link.icon-pocket:hover::before{color:#EB4654;}
.socialList__link.icon-line{background:#00C300;}
.socialList__link.icon-line:hover::before{color:#00C300;}

/*CTAエリア*/
.ctaPost {
	border: #E5E5E5 1px solid;
    width: 100%;
	margin-bottom: 40px;
}
.ctaPost__title{
	width: 100%;
	background:#EFEFEF;
	text-align:center;
	font-size:26px;
	line-height:1.5;
	padding:15px;
}
.ctaPost__contents{
	padding:30px;
	font-size: 14px;
    line-height: 1.75;
}
.ctaPost__contents::after {
	content: "";
	display: block;
	clear: both;
}

.ctaPost__img{
	display:block;
    float: right;
    margin:0 0 30px 30px;
}
.ctaPost__img-pcCenter{
	float:none;
	margin:0 auto 30px auto;
}
.ctaPost__img-pcLeft{
	float:left;
	margin:0 30px 30px 0;
}
.ctaPost__btn{
	position:relative;
	display:block;
	clear: both;
	width:80%;
    margin: 30px auto 0 auto;
	border-radius: 3px;
	background: #63acb7;
	border: 1px solid #63acb7;
	text-align:center;
	color: #FFF;
}
.ctaPost__btn::before{
	content:"";
	position:absolute;
	top: 50%;
	right: 10px;
	margin-top:-3px;
	width: 6px;
	height: 6px;
	border-top: 1px solid;
	border-right: 1px solid;
	transform: rotate(45deg);
}
.ctaPost__btn:hover{
	color:#63acb7;
	background:#ffffff !important;
	transition: .2s;
}
.ctaPost__btn a{
	display:block;
	padding: 15px 0;
	line-height:1.5;
	font-size: 16px;
	font-weight: bold;
}


/*前次の記事*/
.prevNext {
	border-top: 1px solid #E5E5E5;
	border-bottom: 1px solid #E5E5E5;
    margin: 40px 0;
	list-style-type: none;
	display:-webkit-box;
    display:-moz-box;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
}
.prevNext::after {
	content: "";
	display: block;
	clear: both;
}
.prevNext__item {
	position:relative;
	padding:50px 0 20px 0;
	float:left;
}
.prevNext__item::after {
	content: "";
	display: block;
	clear: both;
}
.prevNext__item.prevNext__item-prev{
	width:calc(50% - 1px);
	padding-right:20px;
	border-right: 1px solid #E5E5E5;
}
.prevNext__item.prevNext__item-next{
	width:50%;
	padding-left:20px;
}



.prevNext__pop{
	position:absolute;
	top:0;
	display: inline-block;
	background:#63acb7;
	height:30px;
	line-height:30px;
	padding:0 10px;
	color:#ffffff;
	
}
.prevNext__item.prevNext__item-prev .prevNext__pop{left:0;}
.prevNext__item.prevNext__item-next .prevNext__pop{right:0;}


.prevNext__imgLink{
	display:block;
	width:90px;
	height:90px;
	overflow: hidden;
}
.prevNext__item.prevNext__item-prev .prevNext__imgLink{float:left;}
.prevNext__item.prevNext__item-next .prevNext__imgLink{float:right;}
.prevNext__imgLink img{
	width:inherit;
	height:inherit;
	vertical-align:bottom;
	transform: scale(1);
	transition: ease-in-out .2s;	
}
.prevNext__imgLink img:hover {transform: scale(1.2);}
.prevNext__title{
	width:calc(100% - 100px);
	font-size:16px;
	font-weight:700;
	line-height:1.5;
	margin-bottom:10px;
	color:#63acb7;
}
.prevNext__item.prevNext__item-prev .prevNext__title{float:right;}
.prevNext__item.prevNext__item-next .prevNext__title{float:left;}
.prevNext__title a:hover {text-decoration:underline;}
.prevNext__title span{
	display: block;
    font-size: 12px;
    color: #7F7F7F;
    font-weight: normal;
}
.prevNext__title .icon-calendar::before {
    margin-right: 5px;
    line-height: 1;
}
.prevNext__text{
	text-align:center;
	color:#BFBFBF;
}
.prevNext__item.prevNext__item-prev .prevNext__text{padding-left:20px;}
.prevNext__item.prevNext__item-next .prevNext__text{padding-right:20px;}


/*ダブルレクタングル広告リスト*/
.rectangle {
	width:100%;
	overflow:hidden;
	margin:auto;
	padding:0 10px;
	background-color:#F2F2F2;
    background-image: linear-gradient(to top right, #fff 0%, #fff 25%, transparent 25%, transparent 50%, #fff 50%, #fff 75%, transparent 75%, transparent 100%);
    background-size: 6px 6px;
}
.rectangle__item {
    float:left;
	width:50%;
}
.rectangle__title{
	clear: both;
	font-size:12px;
	padding:10px 0;
	display:block;
	font-weight:normal;
	text-align:center;
}
.rectangle__item.rectangle__item-left{ text-align:left; padding-right:5px}
.rectangle__item.rectangle__item-right{text-align:right; padding-left:5px}
.rectangle .adsbygoogle {
	width:336px;
	height: 280px;
	max-width:100%;
}

/*プロフィール*/
.profile{
	border-top:1px solid #E5E5E5;
	margin-top:40px;
	padding-top:40px;
	overflow:hidden;
}
.profile__imgArea{
	float:left;
	width:60px;
}
.profile__imgArea img{border-radius: 50%;}
.profile__list{
	list-style:none;
	width:60px;
}
.profile__item{
	width:30px;
	height:30px;
	margin:5px auto 0 auto;
}
.profile__link{
	display:block;
	background:#323232;
	line-height:30px;
	border-radius:50%;
	text-align:center;
	color:#FFF;
	font-size:12px
}
.profile__link:hover{transition: .2s;}
.profile__contents{
	width: calc(100% - 80px);
	float:right;
}
.profile__name{
	font-size:18px;
	margin-bottom:5px;
	line-height:1.5;
}
.profile__group{
	font-size:15px;
	line-height:1.5;
	color:#7F7F7F;
	margin-bottom:20px;
}
.profile__description{
	font-size:13px;
	line-height:1.75;
}

/*関連記事*/
.related {
    margin-top: 60px;
}
.related__list {list-style-type: none; margin: 0 !important;}
.related__item {padding-top:20px;}
.related__item:first-child{padding-top:0;}
.related__item::after {
	content: "";
	display: block;
	clear: both;
}
.related__imgLink{
	display:block;
	float:left;
	width:90px;
	height:90px;
	overflow: hidden;
}
.related__imgLink img{
	width:inherit;
	height:inherit;
	vertical-align:bottom;
	transform: scale(1);
	transition: ease-in-out .2s;	
}
.related__imgLink img:hover {transform: scale(1.2);}
.related__title{
	width:calc(100% - 108px);
	float:right;
	font-size:16px;
	line-height:1.5;
	margin-bottom:10px;
}
.related__title a {
	color: #129259;
	text-underline-offset: 4px;
	font-weight: 600;
}
.related__title span{
	display: block;
    font-size: 12px;
    color: #7F7F7F;
    font-weight: normal;
}
.related__title .icon-calendar::before {
    margin-right: 5px;
    line-height: 1;
}
#main .related__contents{
	width:calc(100% - 108px);
	float:right;
	font-size:14px;
	line-height:1.5;
	margin-top: 0 !important;
}
.related__contents.related__contents-max{
	width:100%;
	float:none;
}

/*コメント*/
.comments{
    border-top: 1px solid #E5E5E5;
    margin-top: 40px;
    padding-top: 40px;
}
.comments__list{list-style:none;}
.comments__list li {
	overflow: hidden;
	background:#ffffff;
	border:1px solid #E5E5E5;
	padding:20px 20px 0 20px;
	margin-bottom:20px;
}
.comments__list .children {list-style:none;}
.comments__list .children li {background:#F2F2F2;}
.comments__list .children li .children li {background:#ffffff;}
.comments__list .children li .children li .children li {background:#F2F2F2;}
.comments__list .children li .children li .children li .children li {background:#ffffff;}
.comments__list .comment-body{margin-bottom:20px;}
.comments__list .comment-body p{
	line-height:1.75;
	margin-bottom:20px;
}
.comments__list .reply{
	width:100%;
	text-align: right;
}
.comments__list .comment-author{
	width:100%;
	overflow:hidden;
	margin-bottom: 10px;
}
.comments__list .comment-author .avatar {
	border-radius: 50%;
	float:left;
	margin-right: 10px;
}
.comments__list .comment-author .fn{line-height:1.5;}
.comments__list .comment-author .fn a{ text-decoration:underline;}
.comments__list .comment-author .says{display:none;}
.comments__list .comment-meta{
	width:100%;
	margin-bottom: 10px;
	background:#63acb7;
	padding:5px 10px;
	border-radius: 5px;
}
.comments__list .comment-meta a{
	color:#FFF;
	font-size:12px;
}
.comments__list .comment-respond{
	background:#ffffff;
	padding:20px;
	margin-bottom:20px;
	border:1px solid #E5E5E5;
}
.comment-respond #email-notes,
.comment-respond .logged-in-as{
	font-size:12px;
	line-height:1.5;
}
.comment-respond .comment-notes,
.comment-respond .logged-in-as,
.comment-respond .comment-form-comment,
.comment-respond .comment-form-author,
.comment-respond .comment-form-email,
.comment-respond .comment-form-url{margin-bottom:20px;}
.comment-respond label{
	display:block;
	margin-bottom: 10px;
}
.comment-respond input,
.comment-respond textarea{
	width: 100%;
	display: block;
    border: none;
    padding:10px;
    border-radius: 5px;
    background: #F2F2F2;
}



@media only screen and (max-width: 450px){	
	/*記事ブロック専用style
	/************************************************************/
	.content{font-size:16px;}
	.content .wp-caption-text{font-size:12px;}
	.content ul li,.content ol li{font-size:16px;}
	.content pre{
		font-size:12px;
		padding:15px;
	}
	.content table{font-size:12px;}
	.content blockquote{padding: 15px 15px 15px 55px;}
	.content blockquote::before{
		top: 5px;
		left: 15px;
		font-size: 25px;
	}
	.content .questionBox,
	.content .exclamationBox{padding: 15px 15px 15px 55px;}
	.content .questionBox::before,
	.content .exclamationBox::before{
		top: 15px;
		left: 15px;
		font-size: 16px;
		width: 25px;
		height: 25px;
		line-height: 25px;
	}
	/*管理画面投稿エディタ専用*/
	body.mce-content-body{padding: 10px!important;}
	
	/*投稿ページのcontents外
	/************************************************************/
	.socialList{margin-bottom:40px;}
	.socialList__item {
		height:40px;
		line-height:40px;
	}
	.socialList__link::before{font-size:20px;}
	.ctaPost__title{font-size:22px;}
	.ctaPost__contents{padding: 20px;}
	.ctaPost__img{float:right;margin:0 0 20px 20px;}
	.ctaPost__img-spCenter{float:none;margin:0 auto 20px auto;}
	.ctaPost__img-spLeft{float:left;margin:0 20px 20px 0;}
	.ctaPost__btn{width:100%;margin-top: 20px;}
	.ctaPost__btn a{font-size: 14px;}
	.prevNext__item.prevNext__item-prev{
		width:100%;
		padding-right:0;
		border-right: 0;
		border-bottom: 1px solid #E5E5E5;
	}
	.prevNext__item.prevNext__item-next{
		width:100%;
		padding-left:0;
	}
	.prevNext__title{font-size:14px;}
	.rectangle__item.rectangle__item-left{width:100%; text-align:center;}
	.rectangle__item.rectangle__item-right{display:none;}
	.profile__name{font-size:16px;}
	.profile__group{font-size:14px;}
	.profile__description{font-size:12px;}
	.related__title{font-size:14px;}
	.related__contents{font-size:12px;}
	.comments__list li {
		padding: 15px 15px 0 15px;
		margin-bottom: 15px;
	}
	.comments__list .comment-respond{padding:15px;}

	.prevNext__item.prevNext__item-next .prevNext__pop, .prevNext__item.prevNext__item-prev .prevNext__pop {
		font-size: 13px;
	}
}

/* =========================================================
   よくある質問（FAQ）
   構造: <h3 class="faq-q">質問文</h3> + <div class="faq-a"><p>…</p></div>
   側(枠): 白カード#fff、細枠#e5e7eb 1px＋Q/A間に点線#d9d9d9＋左に緑4pxアクセントバー。角丸14px（影なし・フラット）。
   アイコン: Q=緑丸バッジ(文字16px) / A=マスコットFA1.png(裸・囲いなし・キャラで確定)
   ========================================================= */
.content .faq-q{
  position: relative;
  margin-top: 26px;
  padding: 18px 26px 17px 66px;
  background-color: #ffffff;
  border: 1px solid #eee;
  /*border-bottom: 1px dotted #d9d9d9;*/
  border-bottom: none;
  border-left: none;
  border-radius: 12px 12px 0 0;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: .4pt;
  color: #1a1a1a;
  overflow: hidden;
}
.content .faq-a{
  position: relative;
  margin: 0 0 22px;
  padding: 20px 26px 22px 70px;
  min-height: 30px;
  background-color: #ffffff;
  border: 1px solid #eee;
  border-top: 0;
  border-radius: 0 0 12px 12px;
  line-height: 1.9;
  border-left: none;
  overflow: hidden;
}
/* Q＝緑丸バッジ（文字大きめ） */
.content .faq-q::before{
  content: "Q";
  position: absolute;
  left: 22px;
  top: 15px;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: #eef6f1;
  color: #129259;
  font-size: 18px;
  line-height: 32px;
  text-align: center;
  letter-spacing: 0;
}
/* A＝マスコットFA1.png（裸・キャラで確定・本文と余白を確保） */
.content .faq-a::before{
  content: "";
  position: absolute;
  left: 18px;
  top: 18px;
  width: 40px;
  height: 29px;
  background: url('https://efo.showcase-tv.com/wp-content/uploads/2025/03/FA1.png') center/contain no-repeat;
}
#main .content .faq-a p:first-child::before{
  content:"";
  position:absolute;    /* 基準は faq-a（relative）。pをrelativeにしないのがコツ */
  left:2%; right:2%;      /* → 親 .faq-a の全幅（padding エッジ間） */
  top:0;                /* 位置は自由。absなので本文は押し下げない */
  border-bottom: 1px dotted #d9d9d9;
}
/* 左アクセントバー：角に被らずインセット・先端を丸める（上=Q側／下=A側で1本に見せる）
   ※テーマの #main .content ::after 系に負けないよう #main 付きで詳細度を上げる */
#main .content .faq-q::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 4px;
    background: #129259;
    height: 100%;
}
#main .content .faq-a::after{
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 4px;
  height: auto;
  background: #129259;
  height: 100%;
}
/* 答え内 p の余白調整 */
#main .content .faq-a p:first-child{ margin-top: 0; }
#main .content .faq-a p:last-child{ margin-bottom: 0; }

@media (max-width: 450px){
  .content .faq-q{ font-size: 16px; padding: 15px 18px 14px 54px; }
  .content .faq-a{ padding: 17px 18px 19px 62px; }
  .content .faq-q::before{ left: 14px; top: 13px; width: 30px; height: 30px; line-height: 30px; font-size: 15px; }
  .content .faq-a::before{ left: 12px; top: 15px; width: 40px; height: 29px; }
  #main .content .faq-a p:first-child::before {left: 3.5%;}
}

/* =========================================================
   記事CTA（[cta_banner] / [cta_shiryo] / [cta_tensaku]）
   ========================================================= */
.content a.cta-banner,
.content a.cta-in{ text-decoration:none; color:#1a1a1a; }
.content a.cta-banner:hover,
.content a.cta-in:hover{ text-decoration:none; opacity:.96; }

/* ① 目次上バナー */
.content .cta-banner{
  display:flex; align-items:center; gap:18px; margin:22px 0;
  background:linear-gradient(135deg,#0f7a50,#0b5236);
  border-radius:14px; padding:20px 24px; color:#fff;
  box-shadow:0 10px 26px -14px rgba(11,82,54,.7);
}
.content .cta-banner__body{ flex:1 1 auto; min-width:0; }
/* バッジは丸を廃し、シェアNo.1と実績を同じピルで横並び */
.content .cta-banner__tags{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:10px; }
.content .cta-banner__pill{
  display:inline-block; background:#fff; color:#0b5236; font-weight:800;
  font-size:12px; padding:3px 12px; border-radius:999px;
}
.content .cta-banner__stat{
  display:inline-block; background:#ffd23f; color:#5a3d00; font-weight:800;
  font-size:12px; padding:3px 12px; border-radius:999px;
}
.content .cta-banner__head{ display:block; font-size:22px; font-weight:800; line-height:1.35; color:#fff; }
.content .cta-banner__head .em{ color:#ffe14d; }
.content .cta-banner__btn{
  flex:0 0 auto; background:#fff; color:#0b5236; font-weight:800;
  padding:13px 20px; border-radius:10px; white-space:nowrap; font-size:14px;
  box-shadow:0 3px 0 rgba(0,0,0,.15);letter-spacing: .8pt;
}
.content .cta-banner__btn::after{
  content:""; display:inline-block; width:8px; height:8px; margin-left:10px;
  border-top:2px solid currentColor; border-right:2px solid currentColor;
  transform:rotate(45deg); vertical-align:middle; position:relative; top:-1px;
}

/* ②③ 記事中インライン */
.content .cta-in{
  display:flex; align-items:center; gap:14px; margin:22px 0;
  background:#fff; border:1px solid #dfece6; border-left:5px solid #129259;
  border-radius:12px; padding:16px 18px;
}
.content .cta-in__ico{
  flex:0 0 auto; width:52px; height:44px;
  background:url('https://efo.showcase-tv.com/wp-content/uploads/2025/03/FA1.png') center/contain no-repeat;
}
.content .cta-in__body{ flex:1 1 0%; min-width:0; }
.content .cta-in__ttl{ display:block; font-weight:800; font-size:16px; line-height:1.4; color:#1a1a1a; }
.content .cta-in__txt{ display:block; font-size:13px; color:#555; margin-top:3px; }
.content .cta-in__btn{
  flex:0 0 auto; background:#129259; color:#fff; font-weight:800;
  font-size:13px; padding:11px 16px; border-radius:9px; white-space:nowrap;letter-spacing: .8pt;
}
.content .cta-in__btn::after{
  content:""; display:inline-block; width:8px; height:8px; margin-left:9px;
  border-top:2px solid currentColor; border-right:2px solid currentColor;
  transform:rotate(45deg); vertical-align:middle; position:relative; top:-1px;
}
.content .cta-in.-alt{ border-left-color:#e8853a; }
.content .cta-in.-alt .cta-in__btn{ background:#e8853a; }

@media(max-width:600px){
  .content .cta-banner{ flex-wrap:wrap; padding:18px 14px; }
  .content .cta-banner__btn{ width:100%; text-align:center; }
  /* ピル2つを1行に収める（小さめ＋余白詰め） */
  .content .cta-banner__tags{ gap:6px; }
  .content .cta-banner__pill,
  .content .cta-banner__stat{ font-size:11px; padding:2px 9px; }
  /* アイコン＝左、テキスト＝右（折り返し可）、ボタンは下段に全幅で */
  /* アイコンを左フロート＝タイトルは右、説明文はアイコン下へ回り込み（左余白なし） */
  .content .cta-in{ display:block; }
  .content .cta-in__ico{ float:left; margin:2px 12px 4px 0; }
  .content .cta-in__body{ display:block; }
  /* 説明文はフロートをクリア＝全行アイコン下・全幅（左余白なし） */
  .content .cta-in__txt{ clear:left; margin-top:6px; }
  .content .cta-in__btn{ display:block; clear:both; width:100%; margin-top:12px; text-align:center; }
}


/* ============ 記事本文パーツ（旧 content-custom.css）ここまで ============ */


/* ============ サイト共通（旧 custom.css）ここから ============ */

/* =========================================================
   EFO 子テーマ カスタムCSS（custom.css）
   - 子テーマ style.css の代わりに読み込む（stylesheet_uri フィルタ）
   - ?ver=filemtime で更新時に自動キャッシュ更新
   ========================================================= */

/* =========================================================
   目次（outline）：番号を全廃。H2＝•、H3/H4＝ツリー記号（├ / └）
   - 非末尾＝├（縦線が上下に貫通）／末尾＝└（上半分で止める）
   - 参考サイト風に小さめ・控えめに
   ========================================================= */

/* pタグの設定ここから */
@media screen and (max-width: 767px){
#main p {
    line-height: 1.5;
    letter-spacing: .8pt;
    margin-top: 20px;
}
}

/* aタグの設定ここから */

.content a {
  text-underline-offset: 4px;
}

@media (min-width: 768px){
.content a:hover,.related__title a:hover {
  text-decoration: none;
}  
}

/* aタグの設定ここまで */
/* 小見出しここから */

#HeaderArea >  h1 {
  line-height: 1.3;
  margin-bottom: 16px;
  letter-spacing: .8pt;
}

.content h2 {
    font-size: 26px;
    line-height: 1.4;
    border-bottom: 2px solid #373737;
    border-top: 2px solid #373737;
    padding: 16px;
    letter-spacing: 1.2pt;
}

.content h3 {
  font-size:22px;
    padding: 20px;
    background-color: #f3f3f3;
    border-radius: 8px;
    line-height: 1.4;
    letter-spacing: 1.2pt;
}

.content h4 {
  font-size: 18px;
    border-bottom: solid 2px #cecece;
    position: relative;
    padding: 0 0 10px 12px;
}

.content h4:after {
    position: absolute;
    content: " ";
    display: block;
    border-bottom: solid 2px #129259;
    bottom: -2px;
    left: 0;
    width: 30%;
}

@media (max-width: 450px){
#HeaderArea >  h1 {
  font-size: 24px;
  padding: 0 12px;
}
.content h2 {
  font-size: 22px;
    padding: 16px 14px;
    line-height: 1.3;
}
.content h3 {
  font-size: 18px;
  padding: 16px;
}
  .content h4{font-size:16px;}
  .mainWrap h5{font-size:14px;}

}
/* 小見出しここまで */

/* 外枠：斜線ハッチ背景＋上下のみ4px二重線（参考サイト風）
   ※干渉していた custom-css-js(157) の #main .outline は削除済みのため、素の .content .outline でOK */
.content .outline {
  display: block;
  padding: 20px 28px;
  margin-top: 20px;
  border: 0;
  border-top: 4px double #d8d8d8;
  border-bottom: 4px double #d8d8d8;
  background-color: #fff;
  background-image: linear-gradient(-45deg, transparent 25%, #f2f2f2 25%, #f2f2f2 50%, transparent 50%, transparent 75%, #f2f2f2 75%, #f2f2f2);
  background-size: 4px 4px;
  background-clip: padding-box;
}

/* 番号（1. / 3.1. 等）は functions.php の the_content フィルタで
   出力HTMLから除去済み（ここでの display:none は不要） */

/* 目次タイトル：中央寄せ */
.outline__title {
  display: block;
  text-align: center;
}

/* 目次タイトルの左にリストアイコン（SVGデータURI） */
.outline__title::before {
  content: "";
  display: inline-block;
  width: 1.05em;
  height: 1.05em;
  margin-right: 0.4em;
  vertical-align: -0.18em;
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g fill="%23333333"><circle cx="4" cy="6" r="1.6"/><circle cx="4" cy="12" r="1.6"/><circle cx="4" cy="18" r="1.6"/><rect x="8" y="5" width="13" height="2" rx="1"/><rect x="8" y="11" width="13" height="2" rx="1"/><rect x="8" y="17" width="13" height="2" rx="1"/></g></svg>');
  background-size: contain;
  background-repeat: no-repeat;
}

/* H2：番号の代わりに小さな • */
.outline__list-2 > .outline__item {
  position: relative;
  padding-left: 1em;
  list-style: none;
}
.outline__list-2 > .outline__item::before {
  content: "";
  display: block;
  position: absolute;
  left: 0px;
  top: calc(1.3em - 3px);   /* テーマの li padding-top(10px)ぶん下げて先頭行に合わせる */
  width: 6px;
  height: 6px;
  background-color: #129259;
  border-radius: 50%;
}

/* H3/H4：小さめのツリー記号（├ / └） */
.outline__list-3 > .outline__item,
.outline__list-4 > .outline__item {
  position: relative;
  padding-left: 0.85em;
  list-style: none;
}
/* 縦線：既定=├（横棒の上下に貫通・小さめ・細線） */
.outline__list-3 > .outline__item::before,
.outline__list-4 > .outline__item::before {
  content: "";
  position: absolute;
  left: 0em;
  top: 0.8em;      /* 先頭行に合わせて下げる */
  width: 1.5px;
  height: 1em;     /* 横棒(1.3em)を中間に含む＝├ */
  background: #129259;
  opacity: 0.75;
}
/* 末尾＝└：縦線を横棒の位置で止める（上半分だけ） */
.outline__list-3 > .outline__item:last-child::before,
.outline__list-4 > .outline__item:last-child::before {
  height: 0.5em;   /* 0.8em〜1.3em＝横棒で終了 */
}
/* 横棒（枝）：先頭行の高さに合わせる */
.outline__list-3 > .outline__item::after,
.outline__list-4 > .outline__item::after {
  content: "";
  position: absolute;
  left: 0em;
  top: 1.3em;
  width: 0.4em;
  height: 1.5px;
  background: #129259;
  opacity: 0.75;
}

/* =========================================================
   目次：もっと見る / 折りたたむ（部分表示）
   - 既存の開閉スイッチは隠し、もっと見るボタンに統一
   ========================================================= */
/* 目次リンクの下線を消す */
.content .outline__link { text-decoration: none; }

.outline__switch { display: none !important; }
@media (min-width: 768px){
  #main .outline__link:hover {
      color: #129259;
  }
}
/* 折りたたみ時：リスト下端をふわっとフェード（内容をマスクで透明化＝背景の斜線に溶け込む） */
.outline.is-collapsed .outline__list-2 {
  -webkit-mask-image: linear-gradient(to bottom, #000 40%, transparent 100%);
          mask-image: linear-gradient(to bottom, #000 40%, transparent 100%);
}
/* 折りたたみ時：もっと見るボタンの左右に「····」 */
.outline.is-collapsed .outline__more { position: relative; }
.outline.is-collapsed .outline__more::before,
.outline.is-collapsed .outline__more::after {
  content: "····";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  color: #ccc;
  letter-spacing: 2px;
}
.outline.is-collapsed .outline__more::before { right: 100%; margin-right: 0.6em; }
.outline.is-collapsed .outline__more::after { left: 100%; margin-left: 0.6em; }

.outline__more {
  display: block;
  margin: 0.1em auto 0;
  padding: 0.35em 1.5em;
  font-size: 0.85em;
  line-height: 1.4;
  color: #555;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 999px;
  cursor: pointer;
}
.outline__more:hover { background: #f5f5f5; }

#main .outline:not(.is-collapsed) ul {
  margin-bottom: 20px;
}

/* =========================================================
   軽い強調ラベル（アイコン＋テキスト）: <div class="fa-point">…</div>
   アイコンはフォームアシストのマスコット(FA1.png)を::beforeで表示
   ========================================================= */
.fa-point{
  display:flex;
  align-items:center;
  gap:8px;
  margin:22px 0 8px;
  font-size:17px;
  font-weight:700;
  color:#129259;
  line-height:1.5;
}
.fa-point::before{
  content:"";
  flex:0 0 auto;
  width:55px;
  height:40px;
  background:url('https://efo.showcase-tv.com/wp-content/uploads/2025/03/FA1.png') center/contain no-repeat;
}
/* バリエーション（class追加で切替） */
.fa-point.-plain{ color:#191919; }                 /* 文字は黒・アイコンだけ緑キャラ */
.fa-point.-underline{                               /* 下線つき */
  display:inline-flex;
  padding-bottom:2px;
  border-bottom:2px solid #129259;
}
.fa-point.-sm{ font-size:16px; }                    /* 少し小さめ */
.fa-point.-sm::before{ width:26px; height:26px; }

/* =========================================================
   コメント風（マスコットが喋る吹き出し）: <div class="fa-talk">…</div>
   構造: .fa-talk > (img.fa-talk__img)(div.fa-talk__bubble > p.fa-talk__title? + p)
   ========================================================= */
.fa-talk{
  display:flex;
  align-items:flex-start;
  gap:8px;
  margin:28px 0;
}
.fa-talk__img{
  flex:0 0 auto;
  width:104px;
  height:auto;
}
.fa-talk__bubble{
  position:relative;
  flex:1 1 auto;
  background:#edf6f1;
  border:2px solid #129259;
  border-radius:12px;
  padding:14px 18px;
}
.fa-talk__bubble::before{   /* シッポ（枠の緑）*/
  content:""; position:absolute; left:-14px; top:34px;
  border:7px solid transparent; border-right-color:#129259;
}
.fa-talk__bubble::after{    /* シッポ（中の薄緑）*/
  content:""; position:absolute; left:-11px; top:34px;
  border:7px solid transparent; border-right-color:#edf6f1;
}
#main .fa-talk p{ margin:0; line-height:1.5; }
#main .fa-talk .fa-talk__title{ margin:0 0 4px; color:#129259; font-weight:700; }

@media(max-width:600px){
  .fa-talk__img{ width:72px; }
  .fa-talk__bubble::before,.fa-talk__bubble::after{ top:22px; }
}

/* 引用デザイン ここから */
#main .quote, #main .quote cite a {
    color: #777777;
    font-size: 14px;
}
/* 引用デザイン ここまで */


/* ============ サイト共通（旧 custom.css）ここまで ============ */
