.wrap {
    display: block;
    margin: 0px auto 50px;
    width: 980px;
    line-height: 1.5
}

@media screen and (max-width: 768px) {
    .wrap {
        margin: 10% auto;
        width: 90%
    }
}

.contents p,
.contents b,
.contents table,
.contents ul,
.contents ol {
    font-size: 1rem;
    line-height: 1.7;
    letter-spacing: 1px
}

.contents p a,
.contents td a,
.contents li a {
    color: #0693e3;
    border-bottom: 1px solid #0693e3
    text-decoretion; none;
}

.contents p a:hover,
.contents td a:hover,
.contents li a:hover { opacity: 0.7; }
.contents a img {
    /* 透明度の変化に0.3秒かけてアニメーション効果を追加 */
    transition: opacity 0.3s ease;
}
.contents a img:hover {
    opacity: 0.7;
}

.contents p img {
    width: auto;
}

.contents p,
.contents img,
.contents table,
.contents ul,
.contents ol {
    margin-bottom: 2rem
}

h1 {
    font-size: 2.2rem;
    margin: 0 0 2rem;
    letter-spacing: 1px
}

.contents h2 {
    font-size: 2rem;
    margin: 0 0 2rem;
    padding: .5rem 1rem;
    letter-spacing: 1px;
    font-weight: bold;
    background-color: #e4e4e4;
    background-image: -webkit-gradient(linear, left bottom, left top, from(#e4e4e4), color-stop(50%, #ffffff), to(#eaeaea));
    background-image: linear-gradient(0deg, #e4e4e4 0%, #ffffff 50%, #eaeaea 100%);
    border-top: solid 4px #034097
}

.contents h3 {
    font-size: 1.7rem;
    margin: 0 0 2rem;
    padding: .4rem 1rem;
    letter-spacing: 1px;
    font-weight: bold;
    border-left: solid 7px #034097;
    background: #d5e2f9
}

.contents h4 {
    font-size: 1.5rem;
    margin: 0 0 1.8rem;
    padding: .4rem 0rem;
    letter-spacing: 1px;
    font-weight: bold;
    border-bottom: solid 5px #034097
}

.contents h5 {
    font-size: 1.3rem;
    margin: 2rem 0 1rem;
    letter-spacing: 1px;
    padding: .1rem .5rem;
    font-weight: bold;
    border-left: solid 4px #034097
}

.contents h6 {
    font-size: 1.1rem;
    margin: 0 0 .3rem;
    letter-spacing: 1px
}

.contents .article-img {
    margin-bottom: 2rem
}

.contents .article-img img {
    display: block;
    margin: 0 auto
}

.contents ul {
    margin-left: 2rem;
    list-style: disc
}

.contents ol {
    margin-left: 2rem;
    list-style: decimal
}

.contents table {
    border-collapse: collapse
}

.contents th,
.contents td {
    padding: .6rem;
    vertical-align: middle;
}

table tr td:first-child {
    white-space: nowrap;
}

.contents figure {
    max-width: 100%
}

.contents__date {
    font-size: 1.1rem;
    margin-bottom: 0
}

.contents__ttl {
    font-size: 34px;
    margin: 20px 0;
    font-weight: bold
}

.contents__sum {
    margin-bottom: 2%
}

@media screen and (max-width: 768px) {
    .contents__ttl {
        font-size: 24px;
        margin: 1% 0
    }
}

.contents__box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.youtube {
    position: relative;
    width: 100%;
    padding-top: 56.25%
}

.youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important
}

.wp-block-embed iframe {
    width: 100%;
    height: 540px
}

@media screen and (max-width: 768px) {
    .wp-block-embed iframe {
        height: auto
    }
}