@charset "UTF-8";
@import url("html5reset-1.6.1.css");
@import url('https://fonts.googleapis.com/css?family=Noto+Serif+JP');
@import url('https://fonts.googleapis.com/css2?family=Source+Serif+Pro&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Pinyon+Script&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+Display:wght@500&display=swap');

/*--------------------テンプレート情報--------------------*/
/*template　Maison de R*/
/*url　https://maisonder.web.fc2.com/*/
/*title　MARIANNE*/
/*code　CSS3*/

/*--------------------ライセンス--------------------*/

/*HTML5 Reset Stylesheet
html5doctor.com Reset Stylesheet v1.6.1
License : CC0 Public Domain Dedication, MIT License
Author : Richard Clark
http://html5doctor.com/html-5-reset-stylesheet/
https://creativecommons.org/publicdomain/zero/1.0/
https://opensource.org/licenses/MIT
*/

/*
jQuery v3.6.1
License : MIT License
https://jquery.com/
https://jquery.org/license/
https://www.tldrlegal.com/l/mit
*/

/*
Smooth scroll
TechAcademyマガジン
https://techacademy.jp/magazine/9532
*/

/*
Google Fonts

"Source Serif Pro"
Designer : Frank Grießhammer
License : SIL Open Font License
https://fonts.google.com/
https://scripts.sil.org/OFL

"Noto Serif Japanese"
Designer : Google
License : SIL Open Font License
https://fonts.google.com/
https://scripts.sil.org/OFL

"Noto Serif Display"
Designer : Google
License : SIL Open Font License
https://fonts.google.com/
https://scripts.sil.org/OFL

"Pinyon Script"
Designer : Nicole Fally
License : SIL Open Font License
https://fonts.google.com/
https://scripts.sil.org/OFL
*/

/*
Font Awesome(Font)
License : SIL Open Font License 1.1
https://fontawesome.com/v4.7.0/
http://scripts.sil.org/OFL
Font Awesome(Code)
License : MIT license
https://fontawesome.com/v4.7.0/
http://opensource.org/licenses/mit-license.php
*/

@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@300..700&family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap');


/*--------------------PCファースト/すべての画面サイズでベースとなるCSS--------------------*/

/*--------------------全体の設定--------------------*/

* {
    /*paddingとborderを幅と高さに含める*/
    box-sizing: border-box;
    /*単語の途中でも必ず改行される*/
    word-break: break-all;
    /*フォーム周辺のデザインをリセット*/
    -webkit-appearance: none;
    -moz-appearance: none;
}



.snow {
  /*雪の色*/
  color: snow;
  /*雪の大きさ*/
  font-size: 10px;
  /*初期位置*/
  position: fixed;
  top: -5%;
  /*雪を適当な幅で降らせる*/
  text-shadow:
  5vw   -100px 2px,
  10vw  -400px 3px,
  20vw  -500px 4px,
  30vw  -580px 1px,
  39vw  -250px 2px,
  42vw  -340px 5px,
  56vw  -150px 2px,
  63vw  -180px 0,
  78vw  -220px 4px,
  86vw  -320px 9px,
  94vw  -170px 7px;
  /*雪アニメーション1*/
  animation: roll 5s linear infinite;
}
  /*2つめの雪アニメーション*/
.snow2nd{animation: anim 8s linear infinite;}

@keyframes roll {
    0% {transform:rotate(0deg);}
   90% {opacity:1;}
   100% {transform:rotate(20deg);top:100%;opacity:0;}
}
@keyframes anim {
  100% {color:transparent;top:150%;}
}


html {}

body {
    font-family: 'Zen Maru Gothic', 'Noto Serif JP', serif;
    font-size: 14px;
    line-height: 1.7;
    color: #333333;
    letter-spacing: 0.05em;
    text-align: left;
    background: #84B9CB;
    /*モバイル端末でのテキストサイズの自動調整対策*/
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    text-size-adjust: 100%;
}



/*--------------------主要タグの設定--------------------*/

/*フロート解除*/
.clearfix:after {
    content: "";
    display: block;
    clear: both;
}



/*リンク*/
a {
    color: #333333;
    transition: 0.2s;
    /*アニメーション*/
    text-decoration: none;
    /*マーカー風ライン*/
    background: linear-gradient(transparent 90%, #ffffff 90%);
}

a:hover {
    color: #333333;
}

/*画像*/
img {
    /*フルードイメージ（親要素の幅に応じて縦横比を保持したまま自動的に画像の拡大縮小をする）*/
    max-width: 100%;
    height: auto;
    /*ディセンダー対策（画像の下の隙間を無くす）*/
    vertical-align: bottom;
}

a img {
    /*画像リンクの枠線を消す*/
    border: 0;
}

/*段落*/
p {}

.more {
    /*もっと読むボタン*/
    margin-top: 0.5em;
}

/*newマーク*/
.new::after {
    content: "new";
    margin-left: 0.5em;
    background: #333333;
    color: white;
    padding: 0 5px;
}

/*ulリスト共通*/
ul {
    /*リストマークを非表示*/
    list-style-type: none;
    /*リストマークを内側に表示*/
    list-style-position: inside;
}

/*ulリストタイプ1（横並びリスト）*/
.ultype1 {}

.ultype1 li {
    display: inline;
    margin-right: 0.5em;
}

.ultype1 li:last-child {
    margin-right: 0;
}

/*dlリストタイプ1（項目と説明のリスト）*/
.dltype1 {}

.dltype1 dt {
    float: left;
}

.dltype1 dt::after {
    content: "-";
    margin: 0 0.5em;
}

.dltype1 dd {}

.dltype1 dd span {
    /*更新履歴で使用 カテゴリ名をspanで囲う*/
    margin-right: 0.8em;
}

/*--------------------テキスト関連の設定--------------------*/
/*フォントの種類 太さ*/
h1,
h2,
h2 span,
.sub1 {
    font-weight: 500;
    font-family: 'Zen Maru Gothic', serif;
}

.sub2 {
    font-family: 'Pinyon Script', cursive;
}

/*テキスト 行の高さ*/
h1,
h2,
.sub1,
.sub2 {
    line-height: 1;
}

.new::after {
    line-height: 1;
}

.pagenav {
    line-height: 1;
}

/*テキスト 文字間隔*/
h1 {
    letter-spacing: 0.1em;
}

h2 {
    letter-spacing: 0.1em;
}

h2 span {
    letter-spacing: 0;
}

.sub1 {
    letter-spacing: 0.05em;
}

.sub2 {
    letter-spacing: 0;
}

.pagenav {
    letter-spacing: 0.1em;
}

/*--------------------構造関連の設定--------------------*/

/*ページ全体のフレーム*/
html:before,
html:after,
body:before,
body:after {
    content: "";
    background: white;
    position: fixed;
    display: block;
    z-index: 100;
}

/* 上 */
html:before {
    height: 10px;
    width: 100vw;
    left: 0;
    top: 0;
}

/* 右 */
html:after {
    width: 10px;
    height: 100vh;
    right: 0;
    top: 0;
}

/* 下 */
body:before {
    height: 10px;
    width: 100vw;
    bottom: 0;
    left: 0;
}

/* 左 */
body:after {
    width: 10px;
    height: 100vh;
    top: 0;
    left: 0;
}

/*ボディ*/
#all {
    width: 100%;
    /*横スクロールバー非表示（.sub2はみ出し対策）*/
    overflow-x: hidden;
}

/*コンテナ1*/
.container1 {
    width: 100%;
    padding: 50px;
}

/*コンテナ2*/
.container2 {
    width: 100%;
    max-width: 1000px;
    padding-left: 170px;
}

/*ボックス1*/
.box1 {
    /*位置固定*/
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    width: 180px;
    border-right: 2px solid white;
}

/*ボックス2*/
.box2 {
    width: 100%;
}

/*ヘッダー*/
header {
    position: relative;
    top: 50px;
    left: 50px;
}

header a {
    color: white;
    text-decoration: none;
    border-bottom: 0;
    display: inline-block;
    background: none;
}

header a:hover {
    color: white;
}

.titlebox {
    /*テキストを折り返さない*/
    white-space: nowrap;
    /*縦書き 右から左へ*/
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}

/*タイトル*/
h1 {
    font-size: 35px;
}

/*サブタイトル・URLなど*/
.sub1 {
    font-size: 16px;
    margin-right: 15px;
}

/*メインビジュアル*/
.mainvisual {
    background: url(img/bg01.png) no-repeat top center;
    max-width: 600px;
    height: 400px;
    display: block;
    margin-bottom: 70px;
    box-shadow: 10px 10px white;
    position: relative;
}

/*サブタイトル・キャッチコピーなど*/
.sub2 {
    position: absolute;
    bottom: 0;
    right: 0;
    /*テキストを折り返さない*/
    white-space: nowrap;
    color: white;
    transform: rotate(-15deg);
    font-size: 40px;
    margin-right: -100px;
}

/*メイン*/
main {}

/*メインセクション*/
.mainsection {
    margin-top: 40px;
}

.mainsection:first-child {
    margin-top: 0;
}

h2 {
    margin-bottom: 40px;
    color: white;
    display: inline-block;
    font-size: 40px;
}

h2 span {
    font-size: 40px;
    background: #333333;
    color: white;
    display: inline-block;
    text-align: center;
    width: 60px;
    height: 60px;
    line-height: 60px;
    margin-right: 20px;
}

/*インフォメーションセクション*/
.infosection {
    margin-top: 50px;
    background: white;
    padding: 20px;
    box-shadow: 10px 10px #333333;
}

.infosection h2 {
    display: none;
}

.infosection a {
    background: linear-gradient(transparent 90%, #debecc 90%);
}

/*セクション内のタグ間の設定（セクション直下の階層のタグのみ対象）*/
section>p,
section>ul,
section>dl {
    margin-top: 1em;
}

/*見出しに隣接したタグの上マージンをリセット*/
h2+p,
h2+ul,
h2+dl {
    margin-top: 0;
}

/*ページナビ*/
.pagenav {
    text-align: left;
    margin-top: 50px;
}

.pagenav a {
    text-align: center;
    background: #333333;
    color: white;
    text-decoration: none;
    margin: 0 5px;
    padding: 10px 0;
    width: 75px;
    display: inline-block;
    border-bottom: 0;
}

.pagenav a:first-child {
    margin-left: 0;
}

.pagenav a:last-child {
    margin-right: 0;
}

/*フッター*/
footer {
    margin-top: 50px;
    text-align: left;
}

footer ul {}

footer ul li {
    display: inline-block;
    margin-right: 0.8em;
}

footer ul li:last-child {
    margin-right: 0;
}

footer ul li span {
    margin-right: 0.5em;
}

/*------------画面サイズ（横幅）1000px以下用------------*/

@media screen and (max-width:1000px) {

    .container2 {
        padding-left: 0;
        max-width: 800px;
        margin: 0 auto;
    }

    .box1 {
        position: static;
        height: auto;
        border: 0;
        width: 100%;
        text-align: center;
    }

    header {
        position: static;
    }

    .titlebox {
        white-space: normal;
        -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
        writing-mode: horizontal-tb;
    }

    h1 {
        font-size: 35px;
    }

    .sub1 {
        margin-right: 0;
        margin-top: 15px;
    }

    .mainvisual {
        background: url(img/bg01.png) no-repeat top center;
        margin: 40px auto 70px;
    }

    .sub2 {
        margin-right: -40px;
    }

    .pagenav {
        text-align: center;
    }

    /*コンテンツページ用設定*/
    .contents {
        margin-top: 50px !important;
    }

}

/*------------画面サイズ（横幅）600px以下用------------*/
@media screen and (max-width:600px) {
    html:before {
        height: 4px;
    }

    html:after {
        width: 4px;
    }

    body:before {
        height: 4px;
    }

    body:after {
        width: 4px;
    }

    .container1 {
        padding: 50px 20px;
    }

    h1 {
        font-size: 30px;
    }

    h2 {
        font-size: 30px;
        margin-bottom: 30px;
    }

    h2 span {
        font-size: 30px;
        width: 48px;
        height: 48px;
        line-height: 48px;
        margin-right: 15px;
    }

    .sub1 {
        font-size: 16px;
    }

    .sub2 {
        margin-right: 15px !important;
        font-size: 30px;
    }

    .mainvisual {
        max-width: none;
        box-shadow: none;
        /*要素を画面いっぱいに広げる*/
        width: 100vw;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
    }

    .infosection {
        box-shadow: 4px 4px #333333;
    }
}

/*ベンダープレフィックス設定済*/
/*エラーチェック済*/