@charset "UTF-8";

/* ---------------------------------------------
	グラフィック コラムページ
--------------------------------------------- */
/* --------------- タイトル --------------- */
#ttlWrap{
    background: url("../column/img/ttl_bg.png") repeat center center;
    background-size: 200px 200px;
    position: relative;
    overflow: hidden;
}
.cx_smartphoneview #ttlWrap{ padding-top: 100px;}
#ttlWrap > div{
    width: 1200px;
    height: 450px;
    margin: 0 auto;
    position: relative;
    padding-bottom: 2em;
}
.cx_smartphoneview #ttlWrap > div{
    width: 100%;
    height: 560px;
}
#ttlWrap::before{
    content: "";
    display: block;
    background: url("../column/img/ttl_parts01.png") no-repeat center 0;
    width: 30%;
    height: 0;
    padding-top: calc(88.41% * 0.3);
    position: absolute;
    top: 0;
    left: -120px;
    background-size: contain;
}
.cx_smartphoneview #ttlWrap::before{
    width: 60%;
    padding-top: calc(88.41% * 0.6);
    top: 100px;
}
#ttlWrap::after{
    content: "";
    display: block;
    background: url("../column/img/ttl_parts02.png") no-repeat center 0;
    /*width: 14%;
    height: 0;
    padding-top: calc(166.25% * 0.14);*/
    width: 380px;
    height: 450px;
    position: absolute;
    bottom: 0;
    right: -120px;
    background-size: contain;
}
.cx_smartphoneview #ttlWrap::after{
    width: 410px;
    height: 620px;
    bottom: -20px;
    right: -180px;
}
@media screen and (min-width: 1700px) {
    #ttlWrap::after{
        width: 380px;
        height: 540px;
        bottom: -70px;
        right: 1vw;
    }
}
#ttlWrap h2{
    background: url("../column/img/title_01.png") no-repeat center 0;
    width: 75%;
    height: 0;
    padding-top: calc(40.39% * 0.75);
    background-size: contain;
    position: absolute;
    top: 10%;
    left: 0;
    text-indent: -300%;
    white-space: nowrap;
    overflow: hidden;
    margin-left: 3%;
    z-index: 555;
}
.cx_smartphoneview #ttlWrap h2{
    width: 94%;
    padding-top: calc(40.39% * 0.94);
    top: 24%;
}
#ttlWrap .name{
    background: url("../column/img/title_02.png") no-repeat center 0;
    width: 65%;
    height: 0;
    padding-top: calc( 67.56% * 0.65);
    background-size: contain;
    position: absolute;
    top: -6%;
    right: 1%;
    text-indent: -300%;
    white-space: nowrap;
    overflow: hidden;
    z-index: 333;
}
.cx_smartphoneview #ttlWrap .name{
    width: 95%;
    padding-top: calc( 67.56% * 0.95);
    top: 14%;
}
#ttlWrap .h3Wrap{
    display: flex;
    flex-wrap: wrap;
    position: absolute;
    bottom: 0;
    left: 120px;
    z-index: 777;
    font-feature-settings: "palt";
    line-height: 1.0;
    font-size: 200%;
    margin-bottom: 1em;
    align-items: center;
}
#ttlWrap .h3Wrap p{
    font-size: 140%;
    font-weight: bold;
    background-color: #000;
    color: #fff;
    padding: 0.1em 0.5em;
}
#ttlWrap h3{
    background-color: rgba(255,255,255,0.8);
    padding: 0.2em 0.6em;
}
.cx_smartphoneview #ttlWrap .h3Wrap{
    font-size: 150%;
    left: 20px;
    box-sizing: border-box;
    width: calc( 100% - 40px);
}
.cx_smartphoneview #ttlWrap h3{
    width: 100%;
    box-sizing: border-box;
}

/* --------------- プロフィール --------------- */
#introWrap{ padding: 1em 0 0;}
.cx_smartphoneview #introWrap{ padding-top: 0.3em;}
#profWrap{
    background-color: rgba(0,0,0,0.16);
    padding: 0.5em;
    margin: 0.5em 0 0;
}
#profWrap > div{
    border: solid 2px #fff;
    padding: 1.5em;
}
#profWrap h3{
    padding-bottom: 0.3em;
}
#profWrap p{
    line-height: 1.8;
    font-size: 94%;
}
.list-inline li{
    display: inline-block;
    margin-right: 2em;
    font-size: 94%;
    line-height: 1.2;
    padding-bottom: 0.4em;
}
.list-inline l:nth-last-of-type(1){ margin-right: 0;}

/* --------------- メイン --------------- */
#mainWrap{ padding-bottom: 5em;}
#mainWrap h3{
    font-size: 150%;
    line-height: 1.2;
    border-bottom: solid 0.3em #000;
    margin-bottom: 0.8em;
    font-feature-settings: "palt";
}
#mainWrap h3 span{
    font-size: 180%;
    background-color: #000;
    color: #fff;
}
#mainWrap h4{
    font-size: 130%;
    line-height: 1.1;
    margin: 3em 0 0.5em;
    font-feature-settings: "palt";
    background-color: #006a29;
    color: #fff;
    padding: 0.2em 0.4em;
}
#mainWrap h5{
   /* background: url("../column/img/ttl_bg.png") repeat center center;
    background-size: 10%;*/
    /*background-color: #006a29;
    color: #fff;*/
    line-height: 1.2;
    font-size: 120%;
    /*padding: 0.3em 0.5em;*/
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    display: inline-block;
    position: relative;
}
.cx_smartphoneview #mainWrap h5{ padding: 0 0.5em;}
#mainWrap h6{
    line-height: 1.2;
    font-size: 120%;
    margin-top: 2em;
    margin-bottom: 0.8em;
    display: flex;
    align-items: center;
}
#mainWrap h6::before{
    content: "◆";
    color: #f8a200;
    margin-right: 0.2em;
}
#mainWrap p{
    line-height: 2;
    margin-bottom: 1em;
}
.cx_smartphoneview #mainWrap p{ text-align: justify;}
.cx_smartphoneview #mainWrap > p,
.cx_smartphoneview #mainWrap .clearfix > p{
    padding-left: 0.6em;
    padding-right: 0.6em;
}
#mainWrap ul.anchor li{
    margin-bottom: 0.9em;
    line-height: 1.6;
}
#mainWrap ul.anchor dl{
    display: flex;
    flex-wrap: wrap;
}
.cx_smartphoneview #mainWrap ul.anchor dl{
    display: block;
    padding: 0 0.6em;
}
#mainWrap ul.anchor dl > *{ flex-shrink: 0;}
#mainWrap ul.anchor dt{
    font-weight: bold;
    width: 11em;
    line-height: 1.2;
    background-color: #006a29;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 0.5em 0;
}
/*#mainWrap ul.anchor dt::before{
    content: "・";
}*/
.ss{ font-size: 88%; width: 100%;}
#mainWrap ul.anchor dd{
    width: calc(100% - 11em);
    box-sizing: border-box;
    padding: 0 0 0 0.5em;
}
.cx_smartphoneview #mainWrap ul.anchor dt{
    width: auto;
    min-width: 4em;
    display: inline-block;
    text-align: left;
    padding: 0.5em 0.5em;
}
.cx_smartphoneview #mainWrap ul.anchor dd{
    width: 100%;
    padding-left: 0;
}

#mainWrap .photoAllWrap{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
#mainWrap .photoAllWrap > *{ flex-shrink: 0;}

.photoWrap.fRight{ margin-left: 1.5%;}
.photoWrap.fLeft{ margin-right: 1.5%;}
.photoWrap.fRight.w40{ width: 40%;}
.cx_smartphoneview .photoWrap.fRight{ margin-left: 0;}
.cx_smartphoneview .photoWrap.fLeft{ margin-right: 0;}
.cx_smartphoneview .photoWrap.fRight.w40{ width: 100%;}
#mainWrap .photoAllWrap.len3 .photoWrap{
    width: 32%;
    height: auto;
    margin-right: 2%;
}
#mainWrap .photoAllWrap.len3 .photoWrap:nth-of-type(3n){ margin-right: 0;}
.cx_smartphoneview #mainWrap .photoAllWrap.len3 .photoWrap{
    width: 49%;
    margin-right: 1%;
}
.cx_smartphoneview #mainWrap .photoAllWrap.len3 .photoWrap:nth-of-type(3n){ margin-right: 1%;}
.cx_smartphoneview #mainWrap .photoAllWrap.len3 .photoWrap:nth-of-type(2n){ margin-right: 0;}
#mainWrap .photoAllWrap.len4 .photoWrap{
    width: 23.5%;
    height: auto;
    margin-right: 2%;
}
#mainWrap .photoAllWrap.len4 .photoWrap:nth-of-type(4n){ margin-right: 0;}
.cx_smartphoneview #mainWrap .photoAllWrap.len4 .photoWrap{
    width: 49%;
    margin-right: 1%;
}
.cx_smartphoneview #mainWrap .photoAllWrap.len4 .photoWrap:nth-of-type(2n){ margin-right: 0;}

.cx_smartphoneview #mainWrap .photoAllWrap.len3.len1_sp .photoWrap{
    width: 100%;
    margin-right: 0;
}

#mainWrap .photoAllWrap.len2 .photoWrap{
    width: 49%;
    height: auto;
    margin-right: 2%;
}
#mainWrap .photoAllWrap.len2 .photoWrap:nth-of-type(2n){ margin-right: 0;}
#mainWrap .photoAllWrap.len2_margin0 .photoWrap{
    width: 50%;
    height: auto;
}
.cx_smartphoneview #mainWrap .photoAllWrap.len2 .photoWrap,
.cx_smartphoneview #mainWrap .photoAllWrap.len2_margin0 .photoWrap,
.cx_smartphoneview #mainWrap .clearfix .photoWrap{
    width: 100%;
    margin-right: 0;
}
#mainWrap .photoAllWrap.len5 .photoWrap{
    width: 19.5%;
    height: auto;
    margin-right: 0.625%;
    margin-bottom: 0.5em;
}
#mainWrap .photoAllWrap.len5 .photoWrap:nth-of-type(5n){ margin-right: 0;}
.cx_smartphoneview #mainWrap .photoAllWrap.len2.len2_sp .photoWrap,
.cx_smartphoneview #mainWrap .photoAllWrap.len4.len2_sp .photoWrap,
.cx_smartphoneview #mainWrap .photoAllWrap.len5.len2_sp .photoWrap{
    width: 49%;
    height: auto;
    margin-right: 2%;
}
.cx_smartphoneview #mainWrap .photoAllWrap.len2.len2_sp .photoWrap:nth-of-type(2n),
.cx_smartphoneview #mainWrap .photoAllWrap.len4.len2_sp .photoWrap:nth-of-type(2n),
.cx_smartphoneview #mainWrap .photoAllWrap.len5.len2_sp .photoWrap:nth-of-type(2n){ margin-right: 0;}

#mainWrap .photoAllWrap .arrow{
    display: flex;
    align-items: center;
}
#mainWrap .photoAllWrap .arrow::before{
    content: "";
    display: block;
    width: 1.5em;
    height: 1em;
    background-color: #007c30;
    margin-top: -1em;
}
#mainWrap .photoAllWrap .arrow::after{
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 1.4em 0 1.4em 1.2em;
    border-color: transparent transparent transparent #007c30;
    margin-top: -1em;
}
#mainWrap .photoAllWrap.len2plus .photoWrap{
    width: 43%;
    height: auto;
    margin: 0 1%;
}
.cx_smartphoneview #mainWrap .photoAllWrap.len2plus .photoWrap{ width: 98%;}
/*.cx_smartphoneview #mainWrap .photoAllWrap.len2plus .photoWrap img{ width: 60%;}*/
.cx_smartphoneview #mainWrap .photoAllWrap .arrow{
    display: block;
    text-align: center;
}
.cx_smartphoneview #mainWrap .photoAllWrap .arrow::before{
    width: 1em;
    height: 1.5em;
    margin: -0.4em auto 0;
}
.cx_smartphoneview #mainWrap .photoAllWrap .arrow::after{
    border-width: 1.2em 1.4em 0 1.4em;
    border-color: #007c30 transparent transparent transparent;
    margin: 0 auto;
}

#mainWrap .photoWrap img{ width: 100%; height: auto; display: none;}
#mainWrap .photoWrap p{
    text-align: center;
    font-size: 94%;
    line-height: 1.5;
    padding-top: 0.3em;
}
#mainWrap .photoWrap p.left{
    padding: 0.3em 0.7em 0;
    text-align: justify;
}
.cx_smartphoneview #mainWrap .photoWrap p.left{
    font-feature-settings: "palt";
    letter-spacing: 0.03em;
}
#mainWrap .photoWrap p.zoom{
    background-color: #000;
    color: #fff;
    font-weight: bold;
    padding-top: 0.5em;
    padding-bottom: 0.5em;
    display: flex;
    align-items: center;
    justify-content: center;
}
.photoWrap p.zoom::after{
    content: "";
    display: inline-block;
    width: 1.4em; height: 1.4em;
    background: url("../column/img/icn_zoom.svg") no-repeat center center;
    background-size: contain;
    margin-left: 0.2em;
}

#mainWrap .border{
    border: solid 0.3em #000;
    padding: 1em;
    margin-bottom: 0.3em;
}
#mainWrap .border .tab{
    background-color: #000;
    color: #fff;
    display: inline-block;
    font-weight: bold;
    line-height: 1.2;
    padding: 0.2em 0.5em;
}
#mainWrap .supp{
    background-color: rgba(0,0,0,0.16);
    padding: 1.5em 2em;
    font-size: 88%;
    box-sizing: border-box;
}
.cx_smartphoneview #mainWrap .supp{ padding: 1em 1em;}
#mainWrap .supp p{ margin-bottom: 0;}
.w100{ width: 100%;}
.w33{ width: 33%; margin: 0 auto;}
.w50{ width: 49%; margin: 0 auto;}
.w66{ width: 66%;}
.w33 + .w66{ width: 65.5%; margin-left: 0;}
.d-flex{ display: flex; justify-content: center;}
#mainWrap .attention{ font-size: 88%; line-height: 1.6;}

.cx_smartphoneview #mainWrap .border > div{ text-align: center;}
.cx_smartphoneview #mainWrap .border .w33{ width: 100%;}
.cx_smartphoneview #mainWrap .border .w33 img{ width: 50%;}
.cx_smartphoneview #mainWrap .border .w66,
.cx_smartphoneview #mainWrap .d-flex .w66{ width: 100%;}
.cx_smartphoneview #mainWrap .border .fLeft,
.cx_smartphoneview #mainWrap .border .fRight{ float: none;}

.photo__profile p{ text-align: left; font-size: 90%; line-height: 1.8;}
.cx_smartphoneview .photo__profile p{
    padding-left: 1em;
    padding-right: 1em;
}
.arrow{ position: relative;}
.arrow::after{
    content: "";
    display: block;
    position: absolute;
    top: 50%; left: -1.6em;
	margin:-0.6em 0 0 0;
	display: block;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 0.6em 1.6em 0.6em 0;
	border-color: transparent #000 transparent transparent;
}
.cx_smartphoneview .arrow::after{
    top: -1.4em;
    left: 0; right: 0;
    margin: 0 auto;
    transform: rotate(-270deg);
	border-width: 0.6em 1.4em 0.6em 0;
}

/* --------------- アーカイブ --------------- */
#pagerWrap ul{
    display: flex;
    width: 1000px;
    flex-wrap: wrap;
    justify-content: space-between;
}
#pagerWrap li{
    flex-shrink: 0;
    float: none;
    box-shadow: 1px 1px 10px rgba(0,0,0,0.16);
    width: 23%;
    margin: 0 0 1em 0;
    display: flex;
}
#pagerWrap li:nth-last-of-type(1){ margin:  0 0 1em 0;}
#pagerWrap li.here{
    border-bottom: solid 0.4em #f8a200;
}
#pagerWrap li.comingsoon{
    box-shadow: none;
}
/* #pagerWrap li.comingsoon{
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: bold;
    line-height: 1.4;
} */
#pagerWrap li a{ display: block;}
#pagerWrap li .thum{
    /*height: 150px;*/
    overflow: hidden;
}
#pagerWrap li .thum img{
    width: 100%; height: auto;
    /*margin-top: -10px;*/
}
#pagerWrap li .num{
    background-color: #000;
    color: #fff;
    font-size: 88%;
    font-weight: bold;
    line-height: 1.0;
    padding: 0.3em 0.6em;
}
#pagerWrap li dt{
    font-size: 90%;
    font-weight: bold;
    line-height: 1.4;
    padding: 0.6em;
    font-feature-settings: "palt";
}
.cx_smartphoneview #pagerWrap li dt{ font-size: 80%;}