@charset "utf-8";

html,body{
    height: 100%;
}

body {
    margin: 0px;
    padding: 0px;
    /*全体の文字色*/
    color: #666;
    /*フォント種類（公式サイトに準じる）*/
    font-family: "M PLUS Rounded 1c", sans-serif;
    /* 文字サイズ */
    font-size: 13px;
    /*行間*/
    line-height: 2;
    /*背景色*/
    background-image: 
        url(../img/bg_pattern.png),
        linear-gradient(
            135deg,
            #F8F1B6 0%, 
            #F8D1E2 25%, 
            #D2FFFF 50%,
            #C9FFD7 75%,
            #F8F1B6 100%)
            ;
    background-size: 10%,100%;
    background-repeat: repeat,no-repeat;    
    background-position: 0px,0px;
    -webkit-text-size-adjust: none;
}


h1,h2,h3,h4{
    font-weight: 600;
}

ul{ 
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-size: 3em;
}

header{
    position: -webkit-sticky;
    position: sticky;
    z-index: 900;
    top: 0;
    padding-left: 1em;
    padding-top: 0.5em;
    background: #ffffff;
}

header p {
    font-family: 'Noto Serif JP', serif;
    font-size: xx-small;
    position: relative;
    top: -1em;
}

/* h2の下線アニメーション */
.line-scroll:after{
    position: absolute;
    content: '';
    width: 0%;
    left: 0;
    top:1.75em;
    border-bottom: #666 solid 1px;
    transition: 1.2s cubic-bezier(.85, 0, 0, 1);
}

.line-scroll.on:after{
    width: 100%;
}

/* スタッフクレジット */
.staff-credits{
    margin-top: 4em;
    margin-bottom: 4em;
    text-align: center;
    font-size: xx-small;
}


/* 全体のマージン */
#contents, footer{
    margin: 2em;
    z-index: 50;
}

#contents{
    background-color: rgba(255, 255, 255, 0.75);
    padding: 0.25em;
}

h2{
    position: relative;
    text-align: center;
    color: #ff2192;
    font-weight: 700;
}

/* トップページのマイキャライメージ */
#top_img
{
    padding-top: 1.25em;
    display: block;
    margin: auto;
    width: 70%;
    height: auto;
}

/* 読み込み時ロゴアニメーション */
#movie{
    width: 100%;
    height: auto;
    position: absolute;
    top: 30%;
    opacity: 1;
}

/* コンテンツ */
.content-text{
    margin-top: 5px;
    margin-bottom: 30px;
    margin-left: 15px;
    margin-right: 15px;
    line-height: 2em;
}

/* フッター */
#footer-line{
    border-bottom: #666 solid 1px;
    margin-bottom: 5px;
}

footer p{
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-weight: 400;
    margin:0px;
    text-align: center;
    font-size: 0.5em;
}

/* ロゴサイズ */
.logo{
    height: 1.5em;
    width: auto;
}


/* スクロールすると浮き上がるセレクタ */
.scroll-up {
    transition: 0.8s ease-in-out;
    transform: translateY(30px);
    opacity: 0;
}

/* JSでの挙動追加 */
.scroll-up.on {
    transform: translateY(0);
    opacity: 1.0;
}


/*ハンバーガーアイコン*/
.btn-burger {
    cursor: pointer;
    display: block;
    width: 56px;
    height: 60px;
    z-index: 90;
    position: absolute;
    top: 1.25em;
    right: 10px;
}

/*ハンバーガーアイコンを作る三本線*/
.icon,
.icon:before,
.icon:after {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    /*線の太さ*/
    height: 6px;
    /*線の長さ*/
    width: 35px;
    background-color: #ff2192;
    border-radius: 2px;
    display: block;
    content: '';
    cursor: pointer;
    margin: auto;
}

/*三本線の間隔*/
.icon:before {
    top: 20px;
}

.icon:after {
    top: -20px;
}

/*チェックボックス非表示*/
.nav-toggle {
    display: none;
}

.nav-toggle:checked~.btn-burger .icon{
    background: transparent;
}

.nav-toggle:checked~.btn-burger .icon::before{
    transform: rotate(-45deg);
    top: 0;
}

.nav-toggle:checked~.btn-burger .icon::after{
    transform: rotate(45deg);
    top: 0;
}

.icon, .icon::before, .icon::after{
    transition: all 0.5s;
}

.menu-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 100%;
    z-index: 80;
    background-color: #ffffff;
    transition: all .5s;
}

.menu-content ul {
    padding: 70px 10px 0;
}

/* リスト内セパレート線 */
.menu-content ul li {
    border-bottom: solid 2px;
    border-image: linear-gradient(to right, #F84DB5, #168AF2) 1;
    list-style: none;
    transform-origin: right;
}

/* リスト内文字色 */
.menu-content ul li a {
    display: block;
    width: 100%;
    font-size: 0.7em;
    box-sizing: border-box;
    color:#F84DB5;
    font-weight: 800;
    text-decoration: none;
    padding: 9px 15px 10px 0;
    position: relative;
    transition: all 0.5s cubic-bezier(.55, 0, .45, 1);
}

/* リストメニューホバー時 */
.menu-content ul li a:hover{
    background-color: #F84DB5;
    color: #fff;
}

/*メニューを画面内へ*/
.nav-toggle:checked ~ .menu-content {
    left: 40%;
}

/* テキスト表示部分の基本設定 */
.information-container {
    text-align: center;
    background-color: aliceblue;
    border-radius: 10px;
    padding: 4px;
    margin-left: 15px;
    margin-right: 15px;
    margin-bottom: 2em;
    box-shadow: 4px 4px 0px 0px rgba(34, 115, 128, 1);
}

/* 枠内ヘッダ */
.information-container h3 {
    display: inline-block;
    text-align: center;
    margin-top: 2em;
    margin-bottom: 2em;
    border-bottom: 1px solid rgb(34, 115, 128);
}

/* 枠内テキスト */
.information-contents {
    text-align: left;
}

.information-contents p,
.information-container p {
    margin: 1em;
    margin-bottom: 2em;
}

.caption{
    font-size: 0.5em
}

/* 更新情報 */
dl {
    background-color: rgba(102, 102, 102, 0.75);
    border: aliceblue solid 2px;
    position: relative;
}

.new-content dt{
    margin-top: -5px;
}

.new-content::before {
    font-family: 'Roboto', sans-serif;
    content: "NEW";
    font-size: 0.75em;
    background-color: #F84DB5;
    color: aliceblue;
    padding: 5px 10px;
    position: relative;
    top: -11px;
    left: -8px;
    border-radius: 3px 0px 0px 0px;
}

/* 更新情報　日付 */
dl dt {
    margin-top: 10px;
    margin-left: 5px;
    line-height: 1em;
    font-size: 1em;
    font-family: 'Roboto', sans-serif;
}

.information-contents dt{
    font-size: 1.5em;
    padding-top: 0.5em;
    padding-bottom: 0.5em;
}

dd {
    margin-left: 10px;
}


/* i-phone SEなどの横幅が小さいデバイス */
@media screen and (max-width:400px) {
    .menu-content ul li a{
        font-size: 0.5em;
    }
}

/* PC用の設定 */
@media screen and (min-width:751px) {
    header {
        padding-left: 1em;
        padding-top: 1.5em;
    }

    /* ロゴサイズ */
    .logo {
        height: 2.25em;
        width: auto;
    }

    header p {
        font-size: x-small;
        position: relative;
        top: -15px;
        left: 104px;
    }

    /*ハンバーガーアイコン*/
    .btn-burger {
        top: 2em;
    }
}