@charset "utf-8";

/*-------------------------*/
/*カタログ詳細*/
/*-------------------------*/

#theme {
    background-image: url("../img/tree.png"), url("../img/backimg01.png");
    background-repeat: no-repeat, repeat;
    background-position: right bottom -80px, left top;
    background-size: 40vw, auto;
    height: auto;
    padding-top: 80px;
    padding-bottom: 80px;
    margin-bottom: 30px;
    color: #3c2786;
}

/*見出し*/
#theme .read {
    padding-right: 35vw;
}
#theme .read h1 {
    /*24-38*/
    font-size: clamp(1.5rem, 1.325rem + 0.88vw, 2.375rem);
    margin: 0 0 10px -10px;
    line-height: 100%;
}
#theme .read p {
    /*16-20*/
    font-size: clamp(1rem, 0.95rem + 0.25vw, 1.25rem);
    font-weight: bold;
    margin: 0;
    line-height: 120%;
}

/*ステータス*/
#theme .status {
    color: #000;
    margin-top: 20px;
}
#theme .status p {
    margin: 0;
}
#theme .status p span {
    display: inline-block;
    margin-right: 5px;
    min-width: 70px;
    text-align:justify;
    text-align-last:justify;
}

/*レイアウト（左右２：１）*/
.column {
    display: flex;
    flex-wrap: wrap;
}
.column .col-l {
    flex: 1;
}
.column .col-r {
    width: calc((100% / 3) - 40px);
    margin-left: 40px;
}

/*レイアウト（左右１：１）*/
.column-2 {
    display: flex;
    flex-wrap: wrap;
}
.column-2 .col-l {
    width: calc(50% - 20px);
    margin-right: 20px;
}
.column-2 .col-r {
    width: calc(50% - 20px);
    margin-left: 20px;
}

/*区切り*/
.section~.section {
    margin-top: 50px;
}

/*画像初期設定*/
.section figure {
    width: 100%;
    margin: 0 auto;
    padding: 10px 40px;
}
.section figure figcaption {
    text-align: center;
}
.section figure img {
    max-width: auto;
    display: block;
    margin: 0 auto;
}

/*画像サイズ*/
.section figure.fig300 {
    max-width: 300px;
}
.section figure.fig400 {
    max-width: 400px;
}
.section figure.fig500 {
    max-width: 500px;
}
.section figure.fig600 {
    max-width: 600px;
}
.section figure.fig700 {
    max-width: 700px;
}
.section figure.fig800 {
    max-width: 800px;
}
.section figure.fig900 {
    max-width: 900px;
}
.section figure.fig1000 {
    max-width: 1000px;
}
.section figure.fig1100 {
    max-width: 1100px;
}
.section figure.fig1200 {
    max-width: 1200px;
}
.section figure.fig1300 {
    max-width: 1300px;
}

/*見出し：線付き*/
.headline {
    margin-top: 50px;
    margin-bottom: 50px;
}

/*見出し：背景*/
.section h3 {
    padding: 0 10px 5px 10px;
    border-bottom: 1px #eee solid;
}
.section h3 span {
    border-left: 5px #ddd solid;
    padding-left: 13px;
}


/*関連リンク*/
.takebox {
    width: 100%;
    max-width: 800px;
    margin: 40px auto 20px;
}

/*参考文献*/
.reference {
    width: 100%;
    max-width: 1000px;
    margin: 30px auto;
}
.reference dl {
    margin: 0;
}
.reference dt {
    margin: 0 0 10px 0;
    font-weight: bold;
}
.reference dd {
    margin: 0;
    line-height: 140%;
}
.reference li~li {
    margin-top: 5px;
}

/*戻るボタン*/
.pageback {
    margin-top: 50px;
    text-align: center;
}
.pageback a {
    display: inline-block;
    background:url("../img/icon_arrow_w_l.png") no-repeat left 14px center;
    background-size: 20px;
    background-color: #005aba;
    color: #fff;
    font-weight: bold;
    text-decoration: none;
    line-height: 100%;
    padding: 12px 20px 12px 40px;
    border-radius: 50px;
}
.pageback a:hover {
    transition: all .5s;
    background-color: #b1d558;
}



/*-------------------------*/
/*グラフ*/
/*-------------------------*/
/*グラフヘッドライン*/
.graph-headline {
    font-weight: bold;
    line-height: 140%;
    text-align: center;
    /*18-24*/
    font-size: clamp(1.125rem, 1.05rem + 0.38vw, 1.5rem);
}

/*グラフ（２カラム）*/
.graph-2 {
    display: flex;
    flex-wrap: wrap;
}
.graph-2 .graph {
    width: 50%;
    margin: 0;
}
.graph-2 .graph-headline {
    width: 100%;
}

/*調整用*/
.graph-2 .graph-headline,
.graph .takebox {
   padding: 0 40px;
}




/****************************/
/*レスポンシブ*/
/****************************/
@media screen and (max-width: 1279px) {
    #theme {
        background-position: right bottom, left top;
    }
    .section figure {
        padding: 10px 20px;
    }
    .takebox dt {
        width: 140px;
        padding-top: 60px;
    }
    .takebox dl#action dt {
        background-size: 50px;
    }
    .takebox dl#search dt {
        background-size: 50px;
    }
    .graph .takebox {
       padding: 0 20px;
    }
}

@media screen and (max-width: 979px) {
    .headline {
        margin-bottom: 20px;
    }
    
    .column-2 {
        flex-direction: column;
    }
    .column-2 .col-l {
        width: 100%;
        margin-right: 0;
    }
    .column-2 .col-r {
        width: 100%;
        margin-left: 0;
    }
    
    .takebox dt {
        width: 120px;
        padding-top: 45px;
    }
    .takebox dl#action dt {
        background-size: 40px;
    }
    .takebox dl#search dt {
        background-size: 40px;
    }

    .graph .takebox {
       padding: 0 20px;
    }

    .section ul {
        margin-left: 30px;
        padding-left: 0;
    }
}
@media screen and (max-width: 779px) {
    #theme {
        background:url("../img/backimg01.png") repeat center center;
        padding-top: 30px;
        padding-bottom: 30px;
    }
    #theme .read {
        padding-right: 0;
    }
    #theme .read h1 {
        margin: 0 0 10px 0;
    }
    .column {
        flex-direction: column;
    }
    .column .col-r {
        width: 100%;
        margin-left: 0;
    }

    .graph-2 {
        flex-direction: column;
    }
    .graph-2 .graph {
        width: 100%;
    }
    .graph-2 .graph~.graph {
        margin-top: 40px;
    }
    .graph-2 .graph-headline,
    .graph .takebox {
       padding: 0 20px;
    }

}
@media screen and (max-width: 579px) {  
    .section figure {
        padding: 10px 0;
    }  
    .graph-2 .graph-headline,
    .graph .takebox {
       padding: 0 0px;
    }
    .graph-2 .graph~.graph {
        margin-top: 20px;
    }
    .takebox {
        flex-direction: column;
    }
    .takebox dl {
        padding: 10px 20px 15px;
    }
    .takebox dt {
        width: 100%;
        margin: 5px 0 10px 0;
        padding: 1px 0 1px 40px;
        text-align: left;
        min-height: 30px;
        line-height: 100%;
        display: flex;
        align-items: center;
        border-width: 0;
    }
    .takebox dl#action dt {
        background-position: left center;
        background-size: 30px;
    }
    .takebox dl#search dt {
        background-position: left center;
        background-size: 30px;
    }
    .takebox dd ul {
        margin-left: 30px;
    }
}
@media screen and (max-width: 379px) {

}
