<style>
@charset "UTF-8";

/* Template & Designed by Towako. */
/* https://ninawas.me */

/* ウェブフォントの読み込み */
@import url('https://fonts.googleapis.com/css?family=EB+Garamond|Noto+Serif+JP&display=swap');

@font-face {
    font-family: 'はんなり明朝';
    font-display: swap;
    src: url('https://cdn.leafscape.be/hannari/hannari_web.woff2') format("woff2");
}

/*-------------------------------------------------
このフォントはIPAフォントライセンスv1.0の下で提供されています。
http://ipafont.ipa.go.jp/ipa_font_license_v1.html
-------------------------------------------------*/

/* 全体に適用する */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-weight: normal;
    font-family: 'EB Garamond', 'Noto Serif JP', serif;
}

/* 基本設定 */
body {
    background-color: #acc3cf;
    line-height: 1.7;
    text-align: center;
    letter-spacing: 0.1em;
    font-size: 13px;
    color: #000;
}

/* リンク */
a {
    transition: .8s color;
    text-decoration: none;
    font-weight: bold;
    color: #34669e;
}

/* ホバー */
a:hover {
    color: #fff;
}

/* 花びら */
#topimage {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    width: 100%;
    height: 100px;
    background: url('画像URL') center bottom/cover;
}

/* ヘッダー上部余白 */
header {
    padding-top: 120px;
}

/* 大見出し */
header h1 {
    margin: 0 auto;
    width: 200px;
    border-bottom: thin solid #000;
    font-size: 1.6em;
    font-family: 'はんなり明朝';
}

/* フォントサイズ */
header span {
    font-size: 11px;
}

/* ナビゲーション */
header nav {
    margin: 3em auto;
    width: 200px;
    text-align: left;
}

header nav ol {
    list-style-position: inside;
}

header nav ol li {
    margin: 1em auto;
    border-bottom: thin dashed #000;
}

/* 補足情報 */
header aside {
    color: #666;
}

/* セクション */
section {
    margin: 0 auto;
    padding: 120px 3em 3em;
    text-align: justify;
    word-break: break-all;
}

/* セクション内共通 */
section span {
    font-weight: bold;
    color: #6c2463;
}

section mark {
    background: linear-gradient(transparent 50%, #acacc4 50%);
}

section em {
    border-bottom: thin dashed red;
}

section strong {
    font-weight: bold;
    color: red;
}

section .borderright {
    margin-right: 0.5em;
    padding-right: 0.5em;
    border-right: 5px solid #acacc4;
}

section .link {
    display: inline-block;
    margin: 0.3em auto;
    padding: 0.1em 0.5em;
    border: thin solid #34669e;
}

/* リスト系 */
section dl,
section ul,
section p,
footer {
    margin: 1em auto 1.5em;
}

section dd {
    margin-left: 1em;
    margin-bottom: 0.5em;
}

section ul {
    list-style-type: none;
}

section ul.yoko li {
    display: inline;
    margin: 0 0.3em;
}

/* 右揃え */
section .right {
    text-align: right;
}

/* フォーム系 */
textarea,
input[type] {
    -webkit-appearance: none;
    padding: 0.2em 0.5em;
    background-color: #fff;
    border: none;
    border-bottom: thin solid #34669e;
    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;
    }

    /* 画像サイズ */
    #topimage {
        height: 180px;
        background-size: contain;
    }

    /* コンテナ */
    #wrap {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        max-width: 700px;
        margin: 0 auto;
        padding-top: 200px;
    }

    /* ヘッダーとセクション */
    header,
    section {
        padding: 3em;
        flex-basis: 50%;
    }

    /* セクション */
    section {
        margin: 0;
    }
}

/* 横幅1024px以上で読み込む */
@media screen and (min-width:1024px) {

    /* フォントサイズ */
    body {
        font-size: 15px;
    }

    /* コンテナ */
    #wrap {
        max-width: 1000px;
    }

    /* ヘッダーとセクション */
    header,
    section {
        flex-basis: 33%;
    }

}

/* 雨（必要なければここから下を消す） */
.rain {
    position: fixed;
    top: 0;
    left: 0;
    z-index: -100;
    width: 100%;
    height: 100vh;
}

.rain > div {
    -webkit-animation: rain 500ms linear infinite;
    animation: rain 500ms linear infinite;
    background-color: rgba(255, 255, 255, 0.25);
    position: absolute;
    left: 0;
    top: -20vh;
    width: 1px;
    height: 20vh;
    -webkit-transform-origin: center center;
    transform-origin: center center;
}

.rain > div:nth-child(1) {
    -webkit-animation-delay: 100ms;
    animation-delay: 100ms;
    -webkit-animation-duration: 441ms;
    animation-duration: 441ms;
    left: 98vw;
}

.rain > div:nth-child(2) {
    -webkit-animation-delay: 200ms;
    animation-delay: 200ms;
    -webkit-animation-duration: 402ms;
    animation-duration: 402ms;
    left: 52vw;
}

.rain > div:nth-child(3) {
    -webkit-animation-delay: 300ms;
    animation-delay: 300ms;
    -webkit-animation-duration: 479ms;
    animation-duration: 479ms;
    left: 78vw;
}

.rain > div:nth-child(4) {
    -webkit-animation-delay: 400ms;
    animation-delay: 400ms;
    -webkit-animation-duration: 538ms;
    animation-duration: 538ms;
    left: 85vw;
}

.rain > div:nth-child(5) {
    -webkit-animation-delay: 500ms;
    animation-delay: 500ms;
    -webkit-animation-duration: 563ms;
    animation-duration: 563ms;
    left: 100vw;
}

.rain > div:nth-child(6) {
    -webkit-animation-delay: 600ms;
    animation-delay: 600ms;
    -webkit-animation-duration: 548ms;
    animation-duration: 548ms;
    left: 31vw;
}

.rain > div:nth-child(7) {
    -webkit-animation-delay: 700ms;
    animation-delay: 700ms;
    -webkit-animation-duration: 448ms;
    animation-duration: 448ms;
    left: 66vw;
}

.rain > div:nth-child(8) {
    -webkit-animation-delay: 800ms;
    animation-delay: 800ms;
    -webkit-animation-duration: 598ms;
    animation-duration: 598ms;
    left: 50vw;
}

.rain > div:nth-child(9) {
    -webkit-animation-delay: 900ms;
    animation-delay: 900ms;
    -webkit-animation-duration: 447ms;
    animation-duration: 447ms;
    left: 38vw;
}

.rain > div:nth-child(10) {
    -webkit-animation-delay: 1000ms;
    animation-delay: 1000ms;
    -webkit-animation-duration: 459ms;
    animation-duration: 459ms;
    left: 90vw;
}

.rain > div:nth-child(11) {
    -webkit-animation-delay: 1100ms;
    animation-delay: 1100ms;
    -webkit-animation-duration: 422ms;
    animation-duration: 422ms;
    left: 9vw;
}

.rain > div:nth-child(12) {
    -webkit-animation-delay: 1200ms;
    animation-delay: 1200ms;
    -webkit-animation-duration: 507ms;
    animation-duration: 507ms;
    left: 96vw;
}

.rain > div:nth-child(13) {
    -webkit-animation-delay: 1300ms;
    animation-delay: 1300ms;
    -webkit-animation-duration: 569ms;
    animation-duration: 569ms;
    left: 32vw;
}

.rain > div:nth-child(14) {
    -webkit-animation-delay: 1400ms;
    animation-delay: 1400ms;
    -webkit-animation-duration: 553ms;
    animation-duration: 553ms;
    left: 37vw;
}

.rain > div:nth-child(15) {
    -webkit-animation-delay: 1500ms;
    animation-delay: 1500ms;
    -webkit-animation-duration: 610ms;
    animation-duration: 610ms;
    left: 16vw;
}

.rain > div:nth-child(16) {
    -webkit-animation-delay: 1600ms;
    animation-delay: 1600ms;
    -webkit-animation-duration: 391ms;
    animation-duration: 391ms;
    left: 73vw;
}

.rain > div:nth-child(17) {
    -webkit-animation-delay: 1700ms;
    animation-delay: 1700ms;
    -webkit-animation-duration: 509ms;
    animation-duration: 509ms;
    left: 61vw;
}

.rain > div:nth-child(18) {
    -webkit-animation-delay: 1800ms;
    animation-delay: 1800ms;
    -webkit-animation-duration: 482ms;
    animation-duration: 482ms;
    left: 41vw;
}

.rain > div:nth-child(19) {
    -webkit-animation-delay: 1900ms;
    animation-delay: 1900ms;
    -webkit-animation-duration: 382ms;
    animation-duration: 382ms;
    left: 65vw;
}

.rain > div:nth-child(20) {
    -webkit-animation-delay: 2000ms;
    animation-delay: 2000ms;
    -webkit-animation-duration: 515ms;
    animation-duration: 515ms;
    left: 96vw;
}

.rain > div:nth-child(21) {
    -webkit-animation-delay: 2100ms;
    animation-delay: 2100ms;
    -webkit-animation-duration: 424ms;
    animation-duration: 424ms;
    left: 19vw;
}

.rain > div:nth-child(22) {
    -webkit-animation-delay: 2200ms;
    animation-delay: 2200ms;
    -webkit-animation-duration: 550ms;
    animation-duration: 550ms;
    left: 35vw;
}

.rain > div:nth-child(23) {
    -webkit-animation-delay: 2300ms;
    animation-delay: 2300ms;
    -webkit-animation-duration: 504ms;
    animation-duration: 504ms;
    left: 81vw;
}

.rain > div:nth-child(24) {
    -webkit-animation-delay: 2400ms;
    animation-delay: 2400ms;
    -webkit-animation-duration: 531ms;
    animation-duration: 531ms;
    left: 53vw;
}

.rain > div:nth-child(25) {
    -webkit-animation-delay: 2500ms;
    animation-delay: 2500ms;
    -webkit-animation-duration: 522ms;
    animation-duration: 522ms;
    left: 81vw;
}

@-webkit-keyframes rain {
    from {
        -webkit-transform: rotate(-5deg) translateY(-20vh);
        transform: rotate(-5deg) translateY(-20vh);
    }

    to {
        -webkit-transform: rotate(-5deg) translateY(120vh);
        transform: rotate(-5deg) translateY(120vh);
    }
}

@keyframes rain {
    from {
        -webkit-transform: rotate(-5deg) translateY(-20vh);
        transform: rotate(-5deg) translateY(-20vh);
    }

    to {
        -webkit-transform: rotate(-5deg) translateY(120vh);
        transform: rotate(-5deg) translateY(120vh);
    }
}

</style>