@charset "UTF-8";
@import url("html5reset-1.6.1.css");
@import url('https://fonts.googleapis.com/css?family=Alex+Brush&display=swap');
@import url('https://fonts.googleapis.com/css?family=Josefin+Sans&display=swap');

/*--------------------テンプレート情報--------------------*/
/*template　Maison de R*/
/*url　https://maisonder.web.fc2.com/*/
/*title　Alice*/
/*code　CSS3*/

/*--------------------ライセンス--------------------*/

/*HTML5 Reset Stylesheet
html5doctor.com Reset Stylesheet v1.6.1
http://html5doctor.com/html-5-reset-stylesheet/
Copyright Richard Clark - http://richclarkdesign.com
Released under the CC0 Public Domain Dedication and MIT License
http://opensource.org/licenses/mit-license.php
*/

/*
jQuery v3.3.1
http://jquery.com/
(c) JS Foundation and other contributors
Released under the MIT license
http://jquery.org/license
http://opensource.org/licenses/mit-license.php
*/

/*
jQuery Smooth scroll
Handy Web Design
https://handywebdesign.net/2017/10/jquery-smooth-scroll/
*/

/*
Google Fonts
"Alex Brush" is lisenced under the SIL Open Font License
http://scripts.sil.org/OFL
https://fonts.google.com/(TypeSETit)
"Josefin Sans" is lisenced under the SIL Open Font License
http://scripts.sil.org/OFL
https://fonts.google.com/(Santiago Orozco)
*/


/*
Font Awesome(Font License)
"font-awesome" is lisenced under the SIL Open Font License 1.1
http://scripts.sil.org/OFL
https://fontawesome.com/v4.7.0/
*/

/*
Font Awesome(Code License)
https://fontawesome.com/v4.7.0/
Released under the MIT license
https://fontawesome.com/v4.7.0/license/
http://opensource.org/licenses/mit-license.php
*/


/*------------PCファーストで記述------------*/


/*------------リセット&初期設定の追加------------*/

* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    word-break: break-all;
    -webkit-appearance: none;
    -moz-appearance: none;
    /*プラットフォームのスタイルをリセット*/
}


html {}

body {
    overflow-x: hidden;
    /*横スクロールバーが表示される場合の一時的な対策*/
    letter-spacing: 0.05em;
    line-height: 2.0;
    font-family: 'Noto Serif JP','しっぽり明朝Medium', serif;
    font-size: 15px;
    color: #1c1c1c;
    /*モバイル端末でのテキストサイズの自動調整対策*/
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

/*背景画像*/

body::before {
    background: url('bg01.jpg') no-repeat top center #fffafa;
    background-size: cover;
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: "";
    z-index: -2;
}


/*背景画像に色を被せる*/

body::after {
    background: rgba(255, 245, 245, 0.6);
    background-size: cover;
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: "";
    z-index: -1;
}

a {
    color: #403b37;
    text-decoration: none;
    border-bottom: dotted 1px #ecc7d2;
    -webkit-transition: 0.2s;
    transition: 0.2s;
    /*アニメーション*/
}

a:hover {
    color: #ecc7d2;
}

img {
    /*画像の伸縮設定*/
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
    /*画像の縦の隙間対策*/
}

em {
    font-style: normal;
}

strong {
    font-weight: normal;
}

ul,
ol {
    list-style-position: inside;
    /*リストマークを内側に表示*/
}

ul {
    list-style-type: none;
}

ol {
    list-style-type: decimal-leading-zero;
}

table th {
    font-weight: normal;
}

input,
textarea {
    /*フォーム入力エリア*/
    font-family: 'Noto Serif JP','しっぽり明朝Medium', serif;
    /*bodyの値と合わせること*/
    resize: none;
    /*領域のサイズを変更させない*/
    line-height: 2.0;
    /*bodyの値と合わせること*/
    letter-spacing: 0.05em;
    /*bodyの値と合わせること*/
    font-size: 14px;
    /*bodyの値と合わせること*/
    color: #403b37;
    background: white;
    border: 1px solid #faecf0;
    border-radius: 0;
}




hr {
    /*水平線 段落の区切り*/
    border-top: 1px dashed #f5e4e9;
}


/*------------パーツ------------*/


/*clearfix フロート解除*/

.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    font-size: 0;
    clear: both;
    visibility: hidden;
}


/*Google Fonts*/

header h1,
section h1 {
    font-family: 'Alex Brush', cursive;
    font-weight: normal;
}

#introduction,
nav,
section h2 {
    font-family: 'Josefin Sans', sans-serif;
    font-weight: normal;
}


/*テキスト位置*/

header,
footer {
    text-align: center !important;
}


/*テキスト行の高さ*/

header h1,
section h2,
nav,
.pagetop {
    line-height: 1;
}

#introduction {
    line-height: 1.4;
}

section h1 {
    line-height: 1.2;

}

section h1 span {
    line-height: 1.8;

}

section h2 {
    line-height: 1.8;
}



/*テキスト文字間隔*/

nav,
#introduction,
section h2 {
    letter-spacing: 0.08em;
}

section h1 span {
    letter-spacing: 0.1em;
}

.pagetop {
    letter-spacing: 0 !important;
}




/*span 共通*/

.ul1 span,
.dl1 dt span,
.form1 .spanform {
    background: #faecf0;
    border-radius: 4px;
    margin-right: 1em;
}





/*タイトル*/

header h1 {
    font-size: 22px;
    font-weight: bold;

}

header h1 a {
    border: 0 !important;
    color: #403b37;
}


/*サイトの説明*/

#introduction {
    font-size: 11px;
    margin-top: 1em;
}


/*小見出し*/

section h1 {
    padding-left: 20px;
    border-left: 3px double #cbcbcb;
    text-align: left;
    font-size: 26px;
    margin-bottom: 30px;

}

section h1 span {
    display: block;
    font-size: 16px;
    margin-top: 10px;
    font-family: 'Noto Serif JP','しっぽり明朝Medium', serif;

}

section h2 {
    font-family: 'Noto Serif JP','しっぽり明朝Medium', serif;
    font-size: 18px;
    margin-bottom: 1em;
    border-left: 6px solid white;
    border-left: 5px solid #eb6ea0;
    padding-left: 15px;
}

section h2 span {
    display: block;
    font-size: 14px;
    margin-top: 1.4;
    font-family: 'Noto Serif JP','しっぽり明朝Medium', serif;
}


h3 {
    font-size: 16px;
    margin-bottom: ;
    /*見出し左側のラインデザイン*/
    position: relative;
    display: inline-block;
    padding-left: 30px;
}

h3:before {
    /*見出し左側のラインデザイン*/
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 20px;
    height: 1px;
    background: #777777;
}

h3:before {
    /*見出し左側のラインデザイン*/
    left: 0;
}



/*強調*/

em {}

    /*太字*/
em4{
	font-style: normal;
	font-weight: bold;
	}


    /*黄緑色*/
em2{
	color: #84a500;
	font-style: normal;
	font-weight: normal;
	}


    /*薄紫色*/
em3{
	color: #7982c6;
	font-style: normal;
	font-weight: normal;
	}

    /*先頭ハート*/
em::before {
    /*FontAwesome*/
    content: "\f1d1";
    margin-right: 0.5em;
    color: #f9ccc1;
    font-size: 11px;
    font-family: FontAwesome;
}

/*重要*/

    /*ハート付薄黄マーカー*/
strong {
    background: #fffde8;
    padding: 0 0.5em;
    border-radius: 2px;
}

    /*薄黄マーカー*/
strong3 {
    background: #fffde8;
    padding: 0 0.5em;
    border-radius: 2px;
}


    /*青色*/
strong4{
	color: #4169e1;
	font-weight: normal;
	}

    /*コスモス色*/
strong2{
	color: #dc6b9a;
	font-weight: normal;
	}

    /*ダイアモンド*/
strong::before {
    /*FontAwesome*/
    content: "\f219";
    margin-right: 0.5em;
    color: #f7d3ca;
    font-size: 16px;
    font-family: FontAwesome;
}


/*強調2*/

b{
	color: #3cb371;
	font-weight: normal;
	}


/*小説記述*/


pre {
	width: 100%;
	overflow: auto;
	white-space: pre-wrap;
	word-wrap: break-word;
	white-space: -moz-pre-wrap;
	font-size: 100%;
    font-family: 'Noto Serif JP','しっぽり明朝Regular', serif;
}


/*リスト*/


/*ul1 縦並びテキスト画像用*/

.ul1 {}

.ul1 li {}

.ul1 li img {
    margin: 5px 0;
    line-height: 1;
    vertical-align: middle;
}

.ul1 span {
    vertical-align: middle;
    font-size: 16px;
    padding: 0 0.5em;
}


/*ul2 横並びテキスト用*/

.ul2 {
    font-size: 0;
    /*隙間対策*/
}

.ul2 li {
    font-size: 16px;
    /*bodyのfont-sizeと同じ値を入れてください*/
    display: inline-block;
    margin-right: 13.5px;
    /*bodyのfont-sizeと同じ値を入れてください*/
}


/*ul3 横並び画像用*/

.ul3 {
    font-size: 0;
    /*隙間対策*/
}

.ul3 li {
    line-height: 1;
    font-size: 16px;
    /*bodyのfont-sizeと同じ値を入れてください*/
    display: inline-block;
    margin: 5px 10px 5px 0;
}


/*定義リスト*/


/*dl1*/

.dl1 {}

.dl1 dt {
    margin-top: 1em;
}

.dl1 dt:first-child {
    margin-top: 0;
}

.dl1 dt span {
    vertical-align: middle;
    padding: 0 0.5em;
}


/*図表*/


/*figure1*/

.figure1 {
    border: 0px solid white;
    background: white;
}

.figure1 figcaption {
    font-size: 9px;
    text-align: center !important;
    padding: 0.5em 1em;
    background: #faecf0;
}


/*テーブル*/


/*table1*/

.table1 {
    /*表の大枠*/
    border: 1px solid white;
}

.table1 caption {
    /*表のキャプション*/
    text-align: left !important;
    margin: 0.5em 0;
}

.table1 tr {
    /*表の行*/
    text-align: center !important;
}

.table1 th {
    /*見出しセル*/
    padding: 0.5em 1em;
    border: 1px solid white;
    background: #faecf0;
}

.table1 td {
    /*表のセル*/
    padding: 0.5em 1em;
    border: 1px solid white;
    background: #fff9fa;
}


/*装飾ボックス*/

.textbox {
    background: white;
    border: 1px solid #faecf0;
    padding: 1em;
}


/*フォーム*/


/*form1*/

.form1 {
    width: 100%;
    max-width: 350px;
}

.form1 .spanform {
    /*項目*/
    font-size: 16px;
    padding: 0 0.5em;
    display: inline-block;
}

.form1 input,
.form1 textarea {
    /*入力エリア*/
    margin-top: 0.5em;
    padding: 0.5em;
    width: 100%;
    display: block;
}

.form1 .button {
    /*送信ボタン*/
    width: 100px;
    text-align: center !important;
    margin-top: 1.5em;
}


/*画像リンク*/

.imglink {
    border: 0 !important;
    background: transparent;
}

.imglink:hover {
    background: transparent;
}


/*------------レイアウト------------*/


/*全体*/

#all {
    display: flex;
    align-items: center;
    justify-content: center;}

#wrap {
    text-align: left;
    max-width: 1500px;

}

/*背景色共通*/

header,
#wrapmain {
    background: rgba(255, 255, 255, 0.95);
}


/*ヘッダー*/

header {}

#headerbox {}

#title {}





/*　ハンバーガーボタン　*/
.hamburger {
    display: block;
    position: fixed;
    z-index: 3;
    right: 13px;
    top: 12px;
    width: 42px;
    height: 42px;
    cursor: pointer;
    text-align: center;
}

.hamburger span {
    display: block;
    position: absolute;
    width: 30px;
    height: 2px;
    left: 6px;
    background: #333333;
    transition: 0.3s ease-in-out;
}

.hamburger span:nth-child(1) {
    top: 10px;
}

.hamburger span:nth-child(2) {
    top: 20px;
}

.hamburger span:nth-child(3) {
    top: 30px;
}

/* ナビ開いてる時のボタン */
.hamburger.active span:nth-child(1) {
    top: 16px;
    left: 6px;
    transform: rotate(-45deg);
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
    top: 16px;
    transform: rotate(45deg);
}

/*ハンバーガーメニュー*/
nav.globalMenuSp {
    position: fixed;
    z-index: 2;
    top: 0;
    right: 0;
    color: #333333;
    background: rgba(255,249,252,0.9);
    text-align: center;
    transform: translateX(100%);
    transition: all 0.6s;
    width: 200px;
    height: 100vh;
    padding-top: 60px;
}

nav.globalMenuSp ul {
    margin: 0 auto;
    padding: 0;
    width: 100%;
}

nav.globalMenuSp ul li {
    list-style-type: none;
    padding: 0;
    width: 100%;
    font-size: 16px;
}

nav.globalMenuSp ul li:last-child {
    padding-bottom: 0;
    border-bottom: none;
}

nav.globalMenuSp ul li:hover {
    background: #fbfbf6;
}

nav.globalMenuSp ul li a {
    display: block;
    color: #504946;
    padding: 1em 0;
    text-decoration: none;
}

/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
    transform: translateX(0%);
}






/*メイン*/

#wrapmain {
    width: 850px;
    margin-left: auto;
    /*左寄せ*/
    padding: 0 50px 50px;
}

#main {
    margin: 0 auto;
}



/*ナビ*/

nav {
    margin-top: ;
}

nav #navlist {
    /*ベンダープレフィックス設定済み*/
    font-size: 16px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    /*フレックスボックス*/
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    /*並び方*/
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    /*折り返す*/
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    /*横配置*/
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    /*縦配置*/
}

nav #navlist li {
    margin: 0.7em 0;
}

nav #navlist li a {
    border: 0 !important;
}

/*セクション*/

section {}

.section1 {
    padding-top: 50px;
    /*ページ内リンクの位置調整*/
}

.section2 {
    margin-top: 30px;
}

.contentarea {}


/*本文（必要に応じて追加）*/

section p,
section ul,
section ol,
section dl,
section figure,
section table,
section form,
section .textbox {
    margin-top: 12px;
    /*emではfont-size:0の箇所が無効になるためpxで指定*/
    /*bodyのfont-sizeのpxと同じ値を指定してください*/
}


/*最初の要素*/

section p:first-child,
section ul:first-child,
section ol:first-child,
section dl:first-child,
section figure:first-child,
section table:first-child,
section form:first-child,
section .textbox:first-child {
    margin-top: 0;
}


/*ページトップボタン*/

.pagetop {
    position: fixed;
    /*固定*/
    bottom: 0;
    right: 0;
}

.pagetop a {
    border: 0 !important;
    text-align: center !important;
    padding: 10px;
    display: inline-block;
    /*リンク範囲の調整*/
}


/*フッター*/

footer {
    margin: 50px auto 0;
}


/*配布元表示*/

#licence {
    font-size: 0;
    /*隙間対策*/
}

#licence li {
    font-size: 10px;
    /*隙間対策 再指定*/
    display: inline-block;
    /*横並び*/
    margin: 0.2em 0.5em;
}


/*------------画面サイズ768px以下用（スマホ向け）------------*/

@media screen and (max-width:768px) {
    #wrap {
        padding-top: 10px;
        /*固定ヘッダーを解除したので自由な値を入れてください*/
        max-width: none;
        padding-right: 0;
    }


    #headerbox {
        width: 100%;
    }


    #wrapmain {
        background: transparent;
        /*背景色をリセット*/
        margin: 10px 0 50px;
        width: 100%;
        /*幅の再指定*/
        padding: 0;
    }


    .section1 {
        margin-top: 100px;
        padding: 50px 30px;
    }

    .section1:first-child {
        margin-top: 0;
    }

    footer {
        padding: 15px 30px;
    }

    .section1,
    footer {
        background: rgba(255, 255, 255, 0.95);
    }
}



/*PCでは無効（改行しない）*/
.sma{
    display: none;
}

/*スマートフォンでは有効（改行する）*/
@media screen and (max-width:768px) {
    .sma{
        display: block;
    }
}


/*-- PC版のみ表示CSS  --*/
pc_area{
  display:block;
}
phone_area{
  display:none;
}


/*-- スマホ版のみ表示CSS  --*/
@media screen and (max-width: 768px){
  pc_area{
    display:none;
  }
  phone_area{
    display:block;
  }
}


/*コーディング確認済*/