@charset "utf-8";
/* =======================================

  Brands Character Profile CSS
  元サイト(corporate.sanrio.co.jp)のCSSを適用

======================================= */

/* -----------------------------------------------
   コンテンツコンテナ 余白 (元: #main)
----------------------------------------------- */
.sg25-about-sanrio-container {
    margin-top: 0;
    padding-top: 100px;
    padding-bottom: 100px;
    font-weight: 600;
    color: #333333;
}

/* -----------------------------------------------
   キャラクタープロフィール
   元サイトの .brands.detail セクションに相当
----------------------------------------------- */
.sg25-character-profile {
    width: 80.52%;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    padding: 0 0 72px;
}

/* キャラクター名 (元: h2.title_c.txt_upper) */
.sg25-character-profile .sg25-character-name {
    color: #1c63b7;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.6666em;
    font-weight: 600;
    line-height: 1.45;
    text-align: center;
    text-transform: uppercase;
    margin: 0 0 40px;
}

/* キャラクター画像 (元: .brands.detail figure img) */
.sg25-character-profile .sg25-character-image {
    text-align: center;
}

.sg25-character-profile .sg25-character-image img {
    display: block;
    margin: 0 auto;
    border-radius: 16px;
    max-width: 100%;
    height: auto;
}

/* 説明文 (元: .brands.detail .background) */
.sg25-character-profile .sg25-character-description {
    margin-top: 40px;
    line-height: 1.777;
}

/* プロフィールテーブル (元: .list_block dl の構造をtableで再現) */
.sg25-character-profile table {
    width: 100%;
    margin-top: 40px;
    border-collapse: collapse;
}

.sg25-character-profile table tr {
    display: flex;
    position: relative;
    border-top: 1px solid #CDD6DD;
    padding: 20px 0;
}

.sg25-character-profile table tr:last-child {
    border-bottom: 1px solid #CDD6DD;
}

/* dt相当の青いアクセントライン */
.sg25-character-profile table tr::before {
    content: "";
    width: 20px;
    height: 1px;
    background: #1C63B7;
    position: absolute;
    left: 0;
    top: -1px;
}

.sg25-character-profile table th {
    color: #1C63B7;
    font-weight: 600;
    width: 20%;
    text-align: left;
    vertical-align: top;
    padding: 0;
    border: none;
    background: transparent;
}

.sg25-character-profile table td {
    width: 80%;
    padding: 0;
    border: none;
    background: transparent;
}

/* SNSリスト (元: .brands.detail .sns) */
.sg25-character-profile .sns-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 40px;
    list-style: none;
    padding: 0;
}

.sg25-character-profile .sns-list li {
    width: 64px;
    height: 64px;
    overflow: hidden;
    border-radius: 50%;
    margin: 0 10px 10px;
}

.sg25-character-profile .sns-list li a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.sg25-character-profile .sns-list li:last-child {
    margin-right: 0;
}

.sg25-character-profile .sns-list li img {
    width: 100%;
    height: auto;
}

/* Instagramアイコンだけ少し小さく表示 */
.sg25-character-profile .sns-list li img[alt="Instagram"] {
    width: 80%;
}

/* Backボタン (元: .btn_back_block / .btn_back) */
.sg25-character-profile .btn_back_block {
    margin: 80px 0 40px;
    border-top: 1px solid #CDD6DD;
}

.sg25-character-profile .btn_back {
    display: flex;
    align-items: center;
    font-weight: 600;
    color: #333333;
    text-decoration: none;
    margin: 40px 0 40px auto;
}

.sg25-character-profile .btn_back.left {
    justify-content: flex-start;
    margin-left: 0;
}

.sg25-character-profile .btn_back:hover {
    text-decoration: none;
    color: #0080ff;
}

.sg25-character-profile .btn_back::before {
    width: 55px;
    height: 55px;
    content: '';
    background: url(/en/business-info/images/right_arrow_circle_blue.png) no-repeat;
    background-size: contain;
    margin-right: 1em;
    transform: scale(-1, 1);
    transition: 0.5s;
    flex-shrink: 0;
}

.sg25-character-profile .btn_back:hover::before {
    transform: scale(-1, 1) translateX(8px);
}

/* -----------------------------------------------
   レスポンシブ (768px以下)
----------------------------------------------- */
@media only screen and (max-width: 768px) {
    .sg25-about-sanrio-container {
        padding-top: 8.53vw;
        padding-bottom: 8.53vw;
    }

    .sg25-character-profile {
        width: 100%;
        padding: 8.53vw 4.1%;
    }

    .sg25-character-profile .sg25-character-name {
        margin-bottom: 8.53vw;
    }

    .sg25-character-profile .sg25-character-image img {
        border-radius: 2.963vw;
    }

    .sg25-character-profile .sg25-character-description {
        margin-top: 8.53vw;
    }

    .sg25-character-profile table {
        margin-top: 8.53vw;
    }

    .sg25-character-profile table tr {
        display: block;
        padding: 2.6666vw 0;
    }

    .sg25-character-profile table th,
    .sg25-character-profile table td {
        width: 100%;
        display: block;
    }

    .sg25-character-profile .sns-list {
        margin-top: 8.53vw;
    }

    .sg25-character-profile .sns-list li {
        width: 8.333vw;
        height: 8.333vw;
        border-radius: 4.167vw;
        margin: 0 1.3vw 1.3vw;
    }

    .sg25-character-profile .btn_back_block {
        margin: 19.2vw 0 8.53vw;
    }

    .sg25-character-profile .btn_back {
        margin: 8.53vw 0 8.53vw auto;
    }

    .sg25-character-profile .btn_back::before {
        width: 12vw;
        height: 12vw;
    }
}

/* -----------------------------------------------
   PC幅固定 (1280px以上)
----------------------------------------------- */
@media only screen and (min-width: 1280px) {
    .sg25-character-profile {
        width: 1100px;
    }
}