@charset "utf-8";

/* object fit --------------------- */
.of-wrap {
    width: 100%;
    display: block;
}
.of-wrap img {
    width: 100%;
    height: 100%;
}
.of-wrap.of-1x1 {aspect-ratio: 1/1;}
.of-wrap.of-2x1 {aspect-ratio: 2/1;}
.of-wrap.of-3x2 {aspect-ratio: 3/2;}
.of-wrap.of-4x3 {aspect-ratio: 4/3;}
.of-wrap.of-16x9 {aspect-ratio: 16/9;}

.of-wrap.of-cover img {object-fit: cover}
.of-wrap.of-contain img {object-fit: contain}

/* --------------------------------------
    media style
 -------------------------------------- */
/* --------------------------------------
    一覧・詳細 共通パーツ
 -------------------------------------- */
#pagetitle {
    background-image: url(../img/media/pagetitle.jpg);
}
#pagetitle::before {
    content: none;
}
#pagetitle .txt {
    background: url(../img/media/ttl-logo.png) no-repeat center center / contain;
    text-indent: -9999999px;
    max-width: 70%;
    width: 460px;
    aspect-ratio: 46/37;
    height: auto;
    margin-top: 30px;
}
@media (max-width: 768px) {
    #pagetitle .txt {
        width: 320px;
    }
}

.detail #pagetitle {
    height: 300px;
    overflow: hidden;
}
.detail #pagetitle .txt {
    width: 360px;
    margin-top: 45px;
    background-image: url(../img/media/ttl-logo2.png);
}
@media (max-width: 768px) {
    .detail #pagetitle {
        height: 250px;
    }
}
@media (max-width: 480px) {
    .detail #pagetitle .txt {
        margin-top: 30px;
    }
}



.t-date {
    display: inline-block;
    padding-right: 10px;
    color: #999;
}

.t-cat {
    display: inline-block;
    background-color: #dad4c0;
    text-align: center;
    line-height: 1.3;
    padding: 0 10px;
    color: #666;
}

.tag-row {
    display: flex;
    gap: 5px;
}

.t-tag,
a.t-tag {
    display: inline-block;
    padding: 0 8px;
    color: #999;
    /*border: 1px solid currentColor;*/
    background-color:rgba(0,0,0,0.08);
    border-radius: 3px;
    font-size: 1.4rem;
    line-height: 1.4;
    border-radius: 99999px;
}

/* --------------------------------------
    一覧 共通パーツ
 -------------------------------------- */
.list-wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.list-wrap .list-ttl {
    width: 75px;
}

/* カテゴリ一覧 */
.cat-list {
    display: flex;
    justify-content: flex-start;
    gap: 0 2px;
    /*width: 100%;*/
    overflow-y: hidden;
}

.cat-list .cat-item {
    display: block;
    padding: 5px 20px;
    background-color: #fff;
    color: #333;
    white-space: nowrap;
    font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
}

.cat-list .cat-item.is-active {
    color: #666;
    background-color: #dad4c0;
}

/* タグ一覧 */
.tag-list {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.tag-list .t-tag {
    font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
}

.tag-list .t-tag.is-active {
    color: #dad4c0;
    background-color: #666;
    border-color: #666;
}

.thum-list .sbox-article .cont-box {
    background-color: #fff;
}
.thum-list .sbox-article .cont-box .txt-area {
    padding: 10px;
}
.thum-list .sbox-article .cont-box .txt-area .sttl-media {
    padding-bottom: 15px;
    line-height: 1.5;
}

/* --------------------------------------
   詳細
 -------------------------------------- */
/* タイトル */
.media-ttl {
    border-bottom: 1px solid #dfdfdf;
}

.media-ttl .tag-row {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 20px;
}

@media (max-width: 480px) {
    .media-ttl {
        padding-bottom: 15px;
        margin-bottom: 15px;
    }
}

/* 画像 */
.media-thumb img {
    width: 100%;
    height: auto;
}


/* イントロ */
.media-intro {}

/* 目次 */
.media-index {
    padding: 20px 30px;
    background-color: #efebdd;
    counter-reset: section;
}

.media-index .index {
    display: flex;
    flex-direction: column;
    gap: 5px 0;
}

.media-index .index .list:not(:last-child) {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.media-index .index .list a {
    display: block;
    padding-block: 5px;
}

.media-index .index .list a::before {
    counter-increment: section 1;
    content: counter(section, decimal-leading-zero) ".";
    display: inline-block;
    padding-right: 0.5rem;
}

@media (min-width: 769px) {
    .media-index .index .list a:hover {
        opacity: 0.7;
    }
}


/* セクション */
.media-section {}

.media-section .sections {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.media-section .sections .sec-mediattl {
    padding: 5px 5px 5px 15px;
    background-color: #efebdd;
    position: relative;
    margin-bottom: 20px;
}
.media-section .sections .sec-mediattl::before {
    content: "";
    width: 5px;
    height: 100%;
    background-color: #dad1b3;
    position: absolute;
    top: 0;
    left: 0;
}

/*吹き出しパーツ*/
.media-section .hav-balloon {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
}
.hav-balloon > span {
    display: inline-block;
    padding: 10px;
    background-color: #fff;
    position: relative;
    margin-left: 15px;
    border-radius: 10px;
    border: 1px solid rgba(0, 0, 0, 0.2);
    flex: 1;
    max-width: fit-content;
}
.hav-balloon > span::before,
.hav-balloon > span::after  {
    content: "";
    position: absolute;
}
.hav-balloon > span::before {
    content: "";
    position: absolute;
    width: 10px;
    height: 15px;
    top: calc(10px + 1em - 7.5px);
    left: -10px;
    background-color: rgba(0, 0, 0, 0.2);
    clip-path: polygon(0% 50%, 100% 0%, 100% 100%);
}
.hav-balloon > span::after {
    content: "";
    position: absolute;
    width: 10px;
    height: 15px;
    top: calc(10px + 1em - 7.5px);
    left: -8px;
    background-color: #fff;
    clip-path: polygon(0% 50%, 100% 0%, 100% 100%);
}
