/* リセットCSS */
@import url('reset.css');

/* GoogleFonts */
@import url('https://fonts.googleapis.com/css2?family=Anton&family=Noto+Sans+JP:wght@100..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');

/* Font Awesome */
@import url('https://use.fontawesome.com/releases/v7.3.0/css/all.css');

/* 全体 */
body {
    background: #000000;
    color: #FFFFFF;
    font-size: 14px;
    font-family: "Noto Sans JP", sans-serif;
}
p {
    line-height: 1.5;
}
img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
}

/* 戻るボタン */
.back_button {
    font-size: 14px;
    font-family: "Orbitron", sans-serif;
    text-align: center;
    width: 100px;
    height: 100px;
    border-radius: 20%;
    background: #DC143C;
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 2;
    opacity: 0; /* 非表示 */
    transform: translateY(20px);
    transition: all .5s ease;
}
.back_button a {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #FFFFFF;
    width: 100%;
    height: 100%;
    text-decoration: none;
    font-size: 25px;
    transition: all .5s ease;
}
.back_button a:hover {
    opacity: .7;
}
.back_button.is-show {
    opacity: 1; /* 表示 */
    transform: translateY(0);
}

/* ボタン */
.button a {
    background: #DC143C;
    color: #FFFFFF;
    border-radius: 3px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 200px;
    padding: 20px;
    transition: 0.3s ease-in-out;
}
.button a:hover {
    background: #FFFFFF;
    color: #DC143C;
}

/* ヘッダー */
.profile {
    display: flex;
    border: 1px solid #FFFFFF;
}
.profile_img {
    width: 25%;
    height: 25%;
}
.name_plate {
    width: 85%;
    border-left: 1px solid #FFFFFF;
}
.name {
    border-bottom: 1px solid #FFFFFF;
    padding: 30px;
}
h1 {
    font-size: 30px;
    font-family: "Anton", sans-serif;
    font-weight: normal;
    color: #FFFFFF;
    letter-spacing: 1px;
    padding-bottom: 10px;
}
.main_sns {
    padding: 30px;
}
.main_sns ul {
    list-style: none;
    display: flex;
    margin-top: 30px;
}
.main_sns li {
    margin-right: 10px;
}
.main_sns img {
    width: 35px;
    height: 35px;
}

/* メイン */
.sns_list {
    display: grid;
    grid-template-columns: 50% 50%; /* 2列 */
    gap: 30px; /* ブロックの隙間 */
    margin: 30px 0px;
    padding: 0 15%;
}
.link {
    text-align: center;
    border: 1px solid #FFFFFF;
}
.link a {
    color: #FFFFFF;
    text-decoration: none;
    display: block;
    padding: 20px 0;
}
.link a:hover {
    background: #DC143C;
    transition: background 1s;
}
.link img {
    width: 15px;
    height: 15px;
}

/* フッター */
footer {
    background: #DC143C;
    color: #000000;
    font-size: 12px;
    height: 100px;
    text-align: center;
    display: flex;
    justify-content: center; /* 左右中央 */
    align-items: center;     /* 上下中央 */
    line-height: auto;
}

/* レスポンシブ */
@media screen and (max-width: 1024px) {
.profile_img {
    width: auto;
    height: auto;
}
}

/* レスポンシブ */
@media screen and (max-width: 768px) {
/* ヘッダー */
.profile {
    display: block;
}
.profile_img {
    width: 100%;
    height: 100%;
}
.name_plate {
    width: auto;
    border-left: none;
}
.name {
    padding: 10px;
}
h1 {
    font-size: 25px;
}
.main_sns {
    padding: 10px;
}
.main_sns ul {
    margin-top: 10px;
}
.main_sns img {
    width: 25px;
    height: 25px;
}

/* メイン */
.sns_list {
    display: grid;
    grid-template-columns: 100%; /* 1列 */
    gap: 20px; /* ブロックの隙間 */
    margin: 20px 0px;
    padding: 0 5%;
}
}