.re .post-body h2:not(.title) {
  margin: 2rem 0px;
  padding:1.8rem 1rem 1.5rem;
  border-left: solid 5px #0075c2;
  background:rgba(50,156,253,0.1);
  color: #1B1B1B;
  font-weight: bold;
  font-size: 2rem;
}

.re .post-body h3 {
  margin:2rem 0;
  padding:1rem;
  color: #1B1B1B;
  font-weight: bold;
  border-bottom:2px solid #0075c2;
  border-left:none;
  font-size: 1.9rem;
}

.re .post-body h3::before{
	display: none;
}

.re .post-body h4 {
  margin:2rem 0;
  padding:1rem 0;
  color: #1B1B1B;
  font-weight: bold;
  font-size: 1.8rem;
  position:relative;
}

.re .post-body h4::before {
  content: "";
  margin-right: 5px;
  width: 15px;
  height: 3px;
  background: #0075c2;
  display: inline-block;
  position: relative;
  top: -5px
}

.re .post-body .ts-fab-header h4{
font-size:1.5rem;
font-weight:700;
margin:0 0 .2rem;
}
.re .post-body .ts-fab-header h4::before{
font-family: FontAwesome;
content: "\f15b";
padding-right: 5px;
color: #959595;
background:none;
width:auto;
height:auto;
margin:0;
top:0;
}
@media only screen and (max-width: 1000px) {
.re .post-body .ts-fab-header h4{
font-size:1.7rem;
}
}

.re .post-body img {
  border: solid 2px silver;
}

.re .post-body a{
  text-decoration: underline;
}
.re .post-body #outline a{
text-decoration:none;
}

.re .post-body a:visited{
  color: #4B11A8;
}
.re .post-body a.btn-style:hover{
/* background-color:#f857a6; */
}
.re .post-body a.btn-style:visited{
/*
background-color:#008cff;
color:#fff;
*/
}

.re .post-body blockquote {
	margin: 10px;
	position: relative;
    padding: 30px 15px 8px 15px;
    box-sizing: border-box;
    font-style: italic;
    background: #efefef;
    color: #555;
}

.re .post-body blockquote:before{
    display: inline-block;
    position: absolute;
    top: 13px;
    left: 15px;
    content: "\f10d";
    font-family: FontAwesome;
    color: #cfcfcf;
    font-size: 28px;
    line-height: 1;
    font-weight: 900;
}

.re .post-body blockquote p {
    padding: 0;
    margin: 10px 0;
    line-height: 2.7;
}

.re .post-body blockquote cite {
    display: block;
    text-align: right;
    color: #888888;
    font-size: 0.9em;
}

.re .post-body blockquote a {
    display: block;
	color: #888888;
	font-size: 0.9em;
    text-align: center;
    margin-bottom: 10px;
}

.re .post-body .list_1 ul, .re .post-body .list_1 ol {
  margin: 10px 10px 30px 10px;
  background: #ffffd6;
  padding: 0.5em 0.5em 0.5em 2em;
}
.re .post-body .list_1 ul li, .re .post-body .list_1 ol li {
  line-height: 1.5;
  padding: 0.5em 0;
}
.re .box{
margin-bottom:28px;
}
.re .post-content .post-body table tr:nth-child(even) td{
background:#fff;
}
.re .post-content .post-body table:not(.not-bold) tr td:first-of-type{
font-weight:normal;
}
.re .post-content .post-body table th{
text-align:center;
font-weight:bold;
}
.re .post-content .post-body table td{
text-align:center;
}
.re .box dl{
border-radius:.7rem;
overflow:hidden;
}
.re .box dt{
padding:1.4rem 1rem 1.1rem;
font-size:1.6rem;
font-weight:bold;
line-height:1.4;
position:relative;
}
.re .box dd{
padding:1rem;
line-height:1.5;
}

.re .titlebox{
border:2px solid #ffd6d6;
}
.re .titlebox dt{
background:#ffd6d6;
}
.re .titlebox dd{
}
.re .numberbox{
border:2px solid #d6ffea;
}
.re .numberbox dt{
background:#d6ffea;
padding-left:5.4rem;
}
.re .numberbox dt span{
display:inline-block;
width:36px;
height:40px;
line-height:36px;
background:#61da9c;
color:#fff;
font-weight:bold;
position:absolute;
top:0;
left:10px;
text-align:center;
}
.re .numberbox dt span::after{
content:"";
width: 0;
height: 0;
border-style: solid;
border-width: 0 18px 8px 18px;
border-color: transparent transparent #d6ffea transparent;
display:block;
position:absolute;
bottom:0;
left:0;
}
.re .stepbox{
border:2px solid #d6d6ff;
}
.re .stepbox span{
display:block;
background:#c391ea;
padding:3px 0 1px;
border-radius:0 100px 100px 0;
color:#fff;
margin-top:-.3rem;
margin-bottom:5px;
margin-left:-1rem;
width:100px;
text-align:center;
}
.re .stepbox span::before{
content:"STEP.";
}
.re .stepbox dt{
background:#d6d6ff;
}
.re .fukidashi{
border-radius:.7rem;
margin:0 0 0 36px;
background:#fff0c6;
padding:1.2rem 1.2rem 1rem;
line-height:1.5;
position:relative;
}
.re .fukidashi::before,
.re .fukidashi::after{
content:"";
display:block;
position:absolute;
border-radius:100px;
background:#fff0c6;
}
.re .fukidashi::before{
content:"";
width:14px;
height:14px;
bottom:5px;
left:-36px;
}
.re .fukidashi::after{
content:"";
width:24px;
height:24px;
bottom:15px;
left:-20px;
}
.re .post-body .blogcard{
border-radius:8px;
border:1px solid #ddd;
padding:1.5rem;
display:flex;
cursor:pointer;
}
.re .post-body .blogcard img{
border:none;
max-width:100%;
}
.re .post-body .blogcard figure{
min-width:300px;
width:300px;
margin-right:1.3rem;
}
.re .post-body .blogcard dt{
padding:0;
margin-bottom:5px;
}
.re .post-body .blogcard dt a{
font-size:2rem;
font-weight:bold;
text-decoration:none;
color:#1b1b1b;
}
.re .post-body .blogcard dd{
font-size:1.3rem;
color:#777;
padding:0;
}

@media screen and (max-width: 640px) {
.scrolltable{
overflow-x: auto;
-webkit-overflow-scrolling: touch;
padding:0 10px;
}
.re .box{
padding:0 10px;
}
.re .post-content .post-body table.scroll_table th,
.re .post-content .post-body table.scroll_table td{
width:100px !important;
}
.re .post-body .blogcard{
padding:1rem;
display:block;
}
.re .post-body .blogcard figure{
width:100%;
margin-right:0;
margin-bottom:5px;
}
.re .post-body .blogcard dd{
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
overflow: hidden;
}
}

/* さわやか */
.refreshing{
color: #668ad8;
border: dashed 2px #668ad8;
background: #f1f8ff;
padding:1em;
line-height: 1.5;
font-size:16px;
}
.refreshing li{
padding: 0.5em 0;
}
.refreshing li::before{
content:"・";
margin-right:3px;
}
/* ステッチ付きリボン */
.ribbon-wrapper {  
display: block;
position: relative;
margin: 15px auto;
padding: 10px 0;
/* width: 300px; */
background: #f1f8ff;
}

.ribbon{
display: inline-block;
position: relative;
box-sizing: border-box;
padding: 5px 0;
margin: 0 0 0 -20px;
/* width: calc(100% - 50%); */
color: white;
background: #70a6ff;
/* box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2); */
}
.ribbon .ttl{
margin: 0;
padding: 0 30px 0 15px;
border-top: dashed 1px #FFF;
border-bottom: dashed 1px #FFF;
font-size:1.8rem;
line-height: 46px;
}
.ribbon:after {
position: absolute;
content: '';
z-index: 1;
top: 0;
right: 0;
width: 0px;
height: 0px;
border-width: 30px 15px 30px 0px;
border-color: transparent #f1f8ff transparent transparent;
border-style: solid;
}
.ribbon:before {
position: absolute;
content: '';
top: 100%;
left: 0;
border: none;
border-bottom: solid 15px transparent;
border-right: solid 20px #6081b7;
}
.ribbon-wrapper .txt{
font-size:16px;
line-height:1.6;
padding:1rem;
}
@media screen and (max-width: 640px) {
.ribbon-wrapper {
margin-left:15px;
}
}

/* 横いっぱいにボックス */
.y_box{
margin: 2em 0;
background: #fbf1c7;
}
.y_box .box-title {
font-size: 1.8rem;
background: #f7c706;
padding:1.2rem 0;
text-align: center;
color: #FFF;
font-weight: bold;
letter-spacing: 0.05em;
}
.y_box .txt{
padding: 15px 20px;
margin: 0;
font-size:16px;
line-height:1.6;
}

@media screen and (max-width: 640px) {
.spwrap{
padding:0 1rem;
}
}


