@charset "UTF-8";

/* Novel index page CSS */

/* ウェブフォント */
@import url('https://fonts.googleapis.com/css?family=Noto+Serif+JP&display=swap');

/* 源暎こぶり明朝 */
@font-face {
    font-family: '源暎こぶり明朝';
    font-display: swap;
    src: url('ここに源暎こぶり明朝のwoff2') format("woff2");
}


/*-------------------------------------------------
  全体
-------------------------------------------------*/

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-weight: normal;
    font-family: 'Noto Serif JP', serif;
}


body {
    text-align: center;
    background-color: #fff;
    line-height: 1.7;
    letter-spacing: 0.1em;
    font-size: 13px;
    color: #666;
}


/*-------------------------------------------------
  リンク
-------------------------------------------------*/

a {
    text-decoration: none;
    background: linear-gradient(transparent 60%, #dceeee 40%);
    color: #666;
}


/*-------------------------------------------------
  ヘッダー
-------------------------------------------------*/

header {
    margin: 0 auto;
    padding: 5em 0;
    background-color: #333;
    color: #fff;
}


/* フォント */

header h1 span,
section h2,
article h1 {
    font-family: '源暎こぶり明朝', serif;
}


/* 見出し */

header h1 {
    position: relative;
    margin: 0 auto;
    padding: 1.5em;
    width: 220px;
    height: 220px;
    text-align: justify;
    word-break: break-all;
    border: thin solid #fff;
    font-size: 1.2em;
}


header h1::before {
    position: absolute;
    display: block;
    content: '';
    top: 5%;
    left: 5%;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.1);
}


/* フェードイン */

header span {
    animation: FadeIn 5s;
}


/* 補足テキスト */

header p {
    margin: 3em auto;
    color: #e8f5f5;
}


/*-------------------------------------------------
  セクション
-------------------------------------------------*/

section {
    margin: 3em auto;
    padding: 3em;
    text-align: justify;
    word-break: break-all;
}


/* 見出し */

section h2 {
    margin-bottom: 0.5em;
    border-bottom: thin solid #666;
    font-size: 1.3em;
}


/*-------------------------------------------------
  リスト
-------------------------------------------------*/

section ul {
    list-style-type: none;
}


section ol {
    list-style-position: inside;
    list-style-type: decimal-leading-zero;
}


section li {
    margin: 0.5em auto;
}


/* 段落 */

section p {
    margin: 0 auto 1em;
    width: 95%;
    font-size: 12px;
    color: #666;
}


/*-------------------------------------------------
  フッター
-------------------------------------------------*/

footer {
    margin: 1em auto 1.5em;
}


/*-------------------------------------------------
  Article
-------------------------------------------------*/

article {
    margin: 3em auto;
    width: 80%;
    max-width: 500px;
}


article p {
    margin: 1em auto 1.5em;
    text-align: justify;
    word-break: break-all;
}


/*-------------------------------------------------
  メニュー
-------------------------------------------------*/

.menu {
    margin: 1em auto 1.5em;
}


.menu li {
    display: inline-block;
    margin: 0 0.5em;
}


/*-------------------------------------------------
  線
-------------------------------------------------*/

#line {
    width: 100%;
    height: 80px;
    background-color: #69c5c5;
}


/*-------------------------------------------------
  アニメーション
-------------------------------------------------*/

@keyframes FadeIn {

    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }

}


/*-------------------------------------------------
  フォーム
-------------------------------------------------*/

textarea,
input[type] {
    -webkit-appearance: none;
    padding: 0.2em 0.5em;
    background-color: #e8f5f5;
    border: none;
    border-radius: 0;
}


textarea {
    width: 200px;
    height: 70px;
}


input[type=text] {
    width: 80px;
}


input[type=submit] {
    width: auto;
}


/*-------------------------------------------------
  768px以上
-------------------------------------------------*/

@media screen and (min-width: 768px) {

    body {
        font-size: 14px;
    }


    /* ヘッダー */

    header {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }


    header h1 {
        margin: 0;
        margin-left: auto;
    }


    /* 補足情報 */

    header aside {
        flex-basis: 400px;
        margin-left: 80px;
        margin-right: auto;
        text-align: justify;
        word-break: break-all;
    }


    /* メイン */

    main {
        margin: 3em auto;
        max-width: 700px;
    }


    /* セクション2カラム */

    section {
        columns: auto 1;
    }


    /* 見出しを横切る */

    section h2 {
        column-span: all;
          border-bottom: 3px solid #666
    }


    section li {
        padding-right: 1em;
    }

}


/*-------------------------------------------------
  1024px以上
-------------------------------------------------*/

@media screen and (min-width: 1024px) {

    main {
        max-width: 1000px;
    }

}