@charset "UTF-8";

/* 背景画像 */
body {
    background: url(../img/bg.png) repeat 50% 100px;
    background-size: 2880px auto ;
}

/* パンくずリスト */
.breadcrumb-trail {
    display: none;
}

/* トップイメージ */
.top-img {
    width: 100%;
    position: absolute;
    z-index: -1;
    /* background: #eeeeee; */
}

.top-img2 {
    display: block;
    width: 100%;
    height: auto;

    /* border-bottom: 2px solid gray; */

    background: url(../img/index-p2.png) no-repeat, url(../img/index-p1.png) no-repeat, url(../img/top_img.jpg) no-repeat;
    background-size: 2880px auto, 2880px auto, 100% auto;
    background-position: 50% 0;
}

main {
    z-index: 100;
    width: 1000px;
    padding: 0 20px;
}

/*  */
.spacer {
    display: block;
    margin: auto;
    width: 100%;
    height: auto;
    /* border: 2px solid blue; */
}

/* 文字の縁取り処理 */
h2 {
    font-size: 3.2em;
    color: #ff4400;
    /*  */
    text-shadow: 2px 1px 0 #FFF, -2px -1px 0 #FFF,
                 -2px 1px 0 #FFF, 2px -1px 0 #FFF,
                 0 1px 0 #FFF,  0 -1px 0 #FFF,
                 -2px 0 0 #FFF, 2px 0 0 #FFF;
}

h2::before {
    content: none;
}

p {
    font-size: 1em;
    line-height: 1.8;
}

/* レイアウト */
/* .flex-columns {
    margin: 0 20px;
} */

.flex-columns:first-child {
    margin-top: 100px;
}

/* コンテンツ部分 */
.category-description {
    flex-basis: 40%;
    align-self: center;
}

/* それぞれの図 */
.category-figure {
    flex-basis: 60%;
    text-align: right;
}

.category-figure.res {
    text-align: left;
}

.category-figure img {
    display: inline-block;
    width: 95%;
    height: auto;
    
}

/* コンテンツメニュー */
.contents-menu-list {
    position: relative;
    margin-top: 3em;
    width: 100%;
    z-index: 1;
}

.contents-menu-list a {
    text-decoration: none;
    font-size: 1.5em;
    font-weight: bold;
    text-align: center;
    line-height: 3;
    height: 3em;
    /* z-index: 1; */
}

.contents-menu-list li {
    margin-top: 5px;
}

.contents-menu-list > li > ul {
    position: absolute;
    width: 100%;
    z-index: -1;
    display: none;
    opacity: 0;
}

.contents-menu-list > li > ul.fadeIn {
    opacity: 1.0;
    animation: fadeIn 300ms ease-in 0ms;
}

@keyframes fadeIn {
    0% {
        opacity: 0;
    }
    25% {
        opacity: 0;
    }
    50% {
        opacity: 0.2;
    }
    100% {
        opacity: 1;
    }
}

/* サブメニューのデザイン */
.contents-menu-list > li > ul > li > a {
    border: 1px solid #ff4400;
    color: #ff4400;
    display: block;
    background: url(../img/index-menu-bg.png) no-repeat -400px 0 / 400px 100% #ffffff;

    transition: all 300ms 0s ease-in-out;
}

/* サブメニュー */
.contents-menu-list > li > ul > li > a:hover {
    background: url(../img/index-menu-bg.png) no-repeat 0 0 / 400px 100% #ffffff;
    color: white;
}

.contents-menu-list > li > ul > li > a::after {
    font-family: 'Material Icons';

    content: "\e5e1";
    display: inline-block;
    width: 1.2em;
    height: 2.5em;
    line-height: 2.5;
    position: absolute;
    right: 15px;
    margin-top: 0.2em;
}

.contents-menu-list > li:first-child {
    position: relative;
    z-index: 1;
}

.contents-menu-list > li:first-child > a {
    display: block;
    color: #ffffff;
    background: #ff4400;
}

.contents-menu-list > li:first-child > a::after {
    font-family: sans-serif;
    content: "+";
    font-size: 1.2em;
    /* font-weight: bolder; */
    display: inline-block;
    position: absolute;
    line-height: 2.5;
    right: 15px;
    margin-top: 0;
}

.contents-menu-list > li:first-child > a.ex::after {
    content: "－";
}

.contents-menu-list > li:first-child > a:hover {
    background: #ff1100;
}

.content, main {
    width: 100%;
    max-width: inherit;
    padding: 0;
}

/* 各 article 要素のパララックス的設定 */
article:nth-child(even) {
    width: 100%;
    background: url(../img/bg.png) repeat-y 50% 50%;
    /* background-size: 2880px auto ; */
    background-attachment: fixed;
}

article > div {
    /* border: 1px solid yellow; */
    width: 960px;
    margin: auto;
}

/* スマホ用のトップイメージ */
.top-img-sp {
    display: none;
}

/* 最新情報 */
.flex-columns.whats-new {
    width: 100%;
    border: 1px solid #707070;
    background: #f0f0f0;
    width: 960px;
    margin: 50px auto;
    color: #333333;
    /* align-items: center; */
    /* max-height: 80px; */
    padding: 10px 0 10px 15px;
    position: relative;
    overflow: hidden;
}

.flex-columns.whats-new > * {
    padding: 15px;
    
}

.flex-columns.whats-new > div {
    text-align: center;
    border-right: 1px solid #707070;
    width: 140px;
    line-height: 50px;
    font-weight: bold;
}

.flex-columns.whats-new > ul {
    position: relative;
    overflow-y: auto;
    padding: 0 15px;
    width: 100%;
    height: 80px;
}

.flex-columns.whats-new > ul > li {
    padding: 1px 0;
    line-height: 1.4;
}

.flex-columns.whats-new > ul > li:nth-of-type(1) {
    padding: 0 0 1px;
}

.flex-columns.whats-new > ul > li > time {
    display: inline-block;
    padding-right: 20px;
}

.flex-columns.whats-new > ul > li > a::before {
    content: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20enable-background%3D%22new%200%200%2020%2020%22%20height%3D%2218px%22%20viewBox%3D%220%200%2020%2020%22%20width%3D%2218px%22%20fill%3D%22%23FF4400%22%3E%3Cg%3E%3Cg%3E%3Crect%20fill%3D%22none%22%20height%3D%2220%22%20width%3D%2220%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3Cg%3E%3Cpolygon%20points%3D%224.59%2C16.59%206%2C18%2014%2C10%206%2C2%204.59%2C3.41%2011.17%2C10%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E');
    /* position: absolute; */
    /* left: 0px; */
    /* margin-top: 0.5em; */
    vertical-align: -2px;
}


/** --------------------------------
* タブレット
*/
/* PC用トップイメージ */
.wrapper.tablet .top-img2 {
    display: none;
}
/* スマホ用のトップイメージ */
.wrapper.tablet .top-img-sp {
    display: block;
    width: 100%;
    height: inherit;
}

.wrapper.tablet main {
    /* width: 100%; */
    padding: 400px 25px 370px;
    /* margin: inherit; */

    /* border: 1px solid green; */
}


/** --------------------------------
* sp
*/
@media screen and (max-width: 767px) {
    body {
        background: url(../img/bg.png) repeat-y 50% 6em;
        background-size: 300% auto;
    }

 
    /* トップイメージ */
    .top-img {
        width: 100%;
        position: relative;
        z-index: -1;
		padding-top:100px;
        /* background: #eeeeee; */
    }
    /* PC用トップイメージ */
    .top-img2 {
        display: none;
    }
    /* スマホ用のトップイメージ */
    .top-img-sp {
        display: block;
        width: 100%;
        height: inherit;
    }
    /* スマホ用ではスペーサは消す */
    .spacer {
        display: none;
    }

    /*  */
    main {
        width: 100%;
        /* padding-bottom: 150px; */
    }

    article {
        padding: 0 1.5em;
    }

    article > div {
        width: 100%;
    }

    .flex-columns.col, .flex-columns.first-column.col {
        /* margin: 0 1em; */
        flex-direction: column;
    }

    .flex-columns.rev {
        /* margin: 0 1em; */
        flex-direction: column-reverse;
    }

    .flex-columns:first-child {
        margin-top: 0;
    }
    
    /*  */
    .flex-columns.first-column {
        margin-top: 0;
    }

    /* コンテンツ部分 */
    .category-description {
        width: 100%;
        flex-basis: 100%;
        align-self: flex-start;
    }

    /* それぞれの図 */
    .category-figure {
        width: 100%;
        flex-basis: 100%;
        text-align: center;
    }

    .category-figure img {
        width: 100%;
    }

    /* 見出し */
    h2 {
        font-size: 2em;
        color: #ff4400;
    }

    p {
        font-size: 1em;
        /* letter-spacing: -1px; */
    }

    /* コンテンツメニュー */
    .contents-menu-list {
        width: 100%;
        margin-top: 1.5em;
    }

    .contents-menu-list a {
        font-size: 1em;
        line-height: 3;
        height: 3em;
    }

    .category-figure img {
        margin: 20px 0;
    }

    .contents-menu-list > li:first-child > a:hover {
        background: #ff4400;
    }

    /* 最新情報 */
    .flex-columns.whats-new {
        flex-direction: column;
        width: 100%;
        padding: 0px 15px 5px;
    }

    .flex-columns.whats-new > div {
        border-right: none;
        padding: 0;
        border-bottom: 1px solid #707070;
        margin-bottom: 15px;
        width: 100%;
    }

    .flex-columns.whats-new > ul {
        padding: 0 13px 0 0;
        max-height: 75px;
    }

    .flex-columns.whats-new > ul > li > time {
        display: block;
        padding: 0 0 3px 0;
        font-weight: bold;
    }

    .flex-columns.whats-new > ul > li:nth-of-type(1) {
        border-top: none;
        padding: 0 0 5px;
    }

    .flex-columns.whats-new > ul > li {
        border-top: 1px dotted #707070;
        padding: 3px 0 5px;
    }

}