/**************************/
/*******Common Parts*******/
/**************************/
.main-contents .section-inner.diff-section-inner-1100{
    max-width: 1100px;
}

.font-red-a{
    color: #c31b2b;
}

.font-red-b{
    color: #a30b1a
}

.u-content-a{
    padding:20px 60px;
    margin:0 auto;
}

.u-uline-ffd9d9{
	    background: linear-gradient(transparent 60%, #ffd9d9 60%);
}

.u-lead-c6c6c0{
    border:#c6c6c0 2px solid;
    padding: 15px 30px;
    color: #0b406b;
    font-size: 1.5rem;
}

.u-lead-c6c6c0 > a{
   color: #0b406b;
}

.u-lead-c6c6c0 > a:hover{
    color: #57564f;
}

.u-flw-hddn{
    overflow:hidden;
}

.u-wb-all{
    word-break: break-all;
}

.u-fs-itlc{
    -webkit-transform: skewX(-15deg);
    -moz-transform: skewX(-15deg);
    -o-transform: skewX(-15deg);
    transform: skewX(-15deg);
    display: inline-block;
}

@media print, screen and (max-width: 480px) {
    .u-content-a{
        padding: 20px 16px;
    }    
}

ol.list-order-a.diff-lst-paren li {
	list-style-type: none;
	counter-increment: cnt;
}
 
ol.list-order-a.diff-lst-paren li::before {
	content: "(" counter(cnt) ") ";
}

/* MVタイトル 中央寄せ */
.diff-title-vertical-center{
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    text-align: center;
}

@media only screen and (max-width: 767px) {
    .diff-title-vertical-center{
        position: relative;
        top: 50%;
        -webkit-transform: none;
        transform: none;
        -ms-transform: translateY(-50%);
        text-align: center;
    }
}

/*本文に戻る テキストリンク*/
.c-back-content{
    position: relative;
    padding-right: 10px;
    display: inline-block;
    padding-left:8px;
}

.c-back-content span{
    color:#999999!important;
    font-size:1.2rem;
}

.c-back-content span::before{
    position: absolute;
    top: 50%;
    right: 0;
    display: block;
    width: 8px;
    height: 8px;
    margin-top: -10px;
    content:url(/global/imagesgig5/icon_arrow_up_tcm100-4827619_tcm100-2750236-32.png)
}

/*ランキング タイトル*/
.c-rank-ttl-a{
    font-size:2.8rem;
}

.c-rank-ttl-a:before{
    content: url(/global/imagesgig5/icon_ranking_tcm100-4827635_tcm100-2750236-32.png);
    margin: 0 10px 0 0;
    position: relative;
    top: 2px;
}

/*検索ラベル*/
.c-search-a:before{
    content: url(/global/imagesgig5/icon_search_tcm100-4827634_tcm100-2750236-32.png);
    margin: 0 10px 0 0;
    position: relative;
    top: 6px;
}

/*ナンバーラベル*/
.c-number-a{
    color:#6f6f6f!important;
    font-size: 1.4rem;
}

.c-number-a:before{
    content: url(/global/imagesgig5/icon_number_tcm100-4827628_tcm100-2750236-32.png);
    margin: 0 10px 0 0;
    position: relative;
    top: 0;
}

/*日付ラベル*/
.c-date-a{
    color:#6f6f6f!important;
    font-size: 1.5rem;
}

.c-date-b{
    color:#fff!important;
    font-size: 1.2rem;
}

.c-date-a:before,
.c-date-b:before{
    content: url(/global/imagesgig5/icon_date_tcm100-4827624_tcm100-2750236-32.png);
    margin: 0 10px 0 0;
    position: relative;
    top: 0;
}

/*キーワードラベル*/
.c-keyword-a,.c-keyword-a a{
    color:#9a0314!important;
    font-size: 1.2rem;
}

.c-keyword-b, .c-keyword-b a {
    color: #fff!important;
    font-size: 1.2rem;
}

.c-keyword-a a,
.c-keyword-b a{
    text-decoration: none;
}

.c-keyword-a:before,
.c-keyword-b:before{
    content: url(/global/imagesgig5/icon_keyword_tcm100-4827626_tcm100-2750236-32.png);
    margin: 0 10px 0 0;
    position: relative;
    top: 2px;
}

/*著者ラベル*/
.c-author-a{
    color:#6f6f6f!important;
    font-size: 1.4rem;
}

@media print, screen and (max-width: 480px) {
    .c-author-a{
         color:#6f6f6f!important;
         font-size: 1.4rem;
        display: block;
    }
}

.c-author-a:before{
    content: url(/global/imagesgig5/icon_author_tcm100-4827620_tcm100-2750236-32.png);
    margin: 0 10px 0 0;
    position: relative;
    top: 4px;
}

/*パネル下タイトル*/
.c-title-a{
    font-size: 1.6rem;
    font-weight: 700;
    margin-top: 0 !important;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1;
}

/*ボタン タイプ:PDF*/
.c-btn-lyt .btn-pdf{
    padding: 10px 24px;
    font-size: 1.6rem;
    color: #a30b1a !important;
    background:#fff;
    border: 1px solid #a30b1a;
    position: relative;
    display: inline-block;
    padding: 8px 34px 8px 22px;
    text-align: center;
    line-height: 1.4;
    text-decoration: none !important;
    box-shadow: 0 1px 2px rgba(0,0,0,.18);
    transition: background .2s;
}

.c-btn-lyt .btn-pdf::before{
    position: absolute;
    top: 50%;
    right: 24px;
    display: block;
    width: 8px;
    height: 8px;
    margin-top: -9px;
    content:url(//www.fujitsu.com/imgv5/common/icon/icon-pdf-01.png)
}

.c-btn-lyt .btn-pdf:hover{
    background: #f6cfd3;
}

.c-category-a{
    color: #b22b30;
    background: #fff;
    padding: 1.5px 4px;
    margin-right: 9px;
    font-weight: 700;
}

.lyt-col-feature-a.diff-custom-lst a{
    display:inline;
}

.btn-a.diff-under{
    padding: 8px 64px 8px 52px;
}

.btn-a.diff-under::before {
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}

	/*RSSボタン*/
.news-rss-wrapper{
	position: relative;
}

.news-rss-wrapper .news-rss-icon{
    position: absolute;
    top: calc(50% - 18px);
    right: calc(50% - 130px);
}

.news-rss-wrapper.diff-kv-ttl .news-rss-icon{
		top: calc(50% - 8px);
		right: -30px;
}

.news-rss-wrapper	.news-rss-icon a{
		display: flex;
}

/***********************************/
/*******タブエリア　カスタム********/
/***********************************/

.tab-a.diff-tab-a-3col .lists{
    padding-top:0;
}

.tab-a.diff-tab-a-3col .lists .tab-list-a-wrapper{
    padding-left: 0;
    padding-right:0;
}

.tab-a.diff-tab-a-3col .tab-list-a > li{
    width: calc(100% / 3);
    padding-left: 8px;
}
@media print, screen and (max-width: 768px) {
    .tab-a.diff-tab-a-3col .tab-list-a > li{
        width: 100%;
        padding-left: 0;
    }    
}

.tab-a.diff-tab-a-3col .tabs-a,
.tab-a.diff-tab-a-3col .tabs-a .tab-panel{
    padding:0;
}

.c-top-ttl-a{
    font-size: 4rem;
}


/*********************************/
/****テクニカルレビュー トップ****/
/*********************************/
.c-lyt-ftr-top{
    max-width:1280px;
    margin: 0 auto;
}

.c-lyt-ftr-top .c-lyt-ftr-top__inner{
    display: flex;
    flex-wrap:wrap;
}

.c-lyt-ftr-top .c-lyt-ftr-top__srch{
    background: #eee;
    border: 1px solid #c6c6c0;
    padding: 24px 80px 30px;
    margin-top: 40px;
    text-align:center;
}

.c-lyt-ftr-top .c-lyt-ftr-top__srch p{
    font-size: 1.8rem;
    text-align:center;
}

.c-lyt-ftr-top .c-lyt-ftr-top__srch .btn{
    font-size: 2rem;
    color: #fff;
    background:#b22b30;
    padding: 8px 34px 12px 22px;
    text-align: center;
    text-decoration: none !important;
    display: inline-block;
    line-height: 1.4;
    position: relative;
    transition: background .2s;
    box-shadow: 0 1px 2px rgba(0,0,0,.18);
    margin-top: 16px!important;
    max-width: 1100px;
}

.c-lyt-ftr-top .c-lyt-ftr-top__srch .btn:hover{
    opacity:0.8;
    transition: background .2s;
    background: #d11124;
}

.c-lyt-ftr-top__srch .btn .c-search-a::after {
    display: inline-block;
    position: relative;
    content: "";
    top: -3px;
    left:12px;
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

@media print, screen and (max-width: 768px) {

    .c-lyt-ftr-top .c-lyt-ftr-top__srch {
      padding: 24px 20px 30px;  
      margin-top:0;
    }

    .c-lyt-ftr-top .c-lyt-ftr-top__srch p {
        text-align: left;
    }

    .c-lyt-ftr-top__srch .btn .c-search-a::after {
        display: block;
        position: absolute;
        right: 14px;
        left: initial;
        content: "";
        top: 50%;
        margin-top: -4px;
    }
}


.c-lyt-ftr-top .c-lyt-ftr-top__inner .visual,
.c-lyt-ftr-top .c-lyt-ftr-top__inner .desc{
    width: 50%;
    padding-bottom: 30%;
}

.c-lyt-ftr-top .c-lyt-ftr-top__inner .desc {
    background: #1b1b1b;
    color: #fff;
    padding: 50px 30px 20px 30px;
}
.c-lyt-ftr-top .c-lyt-ftr-top__inner .desc h2{
    font-size: 2.8rem;   
}

.c-lyt-ftr-top .c-lyt-ftr-top__inner .desc p{
    font-size: 1.4rem;
    line-height:24px;
}

.c-lyt-ftr-top .c-lyt-ftr-top__inner__sub{
    display:flex;
    flex-wrap:wrap;
}

.c-lyt-ftr-top .c-lyt-ftr-top__inner__sub .visual,
.c-lyt-ftr-top .c-lyt-ftr-top__inner__sub .desc{
    width: 25%;
}

.c-lyt-ftr-top .c-lyt-ftr-top__inner__sub .desc {
    background: #626262;
    color: #fff;
    padding: 20px 30px 20px 20px;    
}

.c-lyt-ftr-top .c-lyt-ftr-top__inner__sub .desc h2{
    font-size: 2rem;
}

.c-lyt-ftr-top .c-lyt-ftr-top__inner__sub .desc {
    font-size: 1.4rem;
}

.cover{
    display: inline-block;
    background-color: #ccc;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

.c-lyt-ftr-top .c-lyt-ftr-top__inner .visual:hover,
.c-lyt-ftr-top .c-lyt-ftr-top__inner__sub .visual:hover {
    opacity:0.8;
    transition: background .2s;
}

.c-lyt-ftr-top .c-lyt-ftr-top__inner .desc a,
.c-lyt-ftr-top .c-lyt-ftr-top__inner__sub .desc a{
    color: #fff;
    text-decoration: none;    
}

.c-lyt-ftr-top .c-lyt-ftr-top__inner .desc a:hover,
.c-lyt-ftr-top .c-lyt-ftr-top__inner__sub .desc a:hover{
    text-decoration: underline; 
}


@media print, screen and (max-width: 768px) {
    .c-lyt-ftr-top .c-lyt-ftr-top__inner .desc h2{
        font-size: 2rem;
    }

    .c-lyt-ftr-top .c-lyt-ftr-top__inner,
    .c-lyt-ftr-top .c-lyt-ftr-top__inner__sub {
        flex-direction:column;
    }
    .c-lyt-ftr-top .c-lyt-ftr-top__inner .visual,
    .c-lyt-ftr-top .c-lyt-ftr-top__inner .desc,
    .c-lyt-ftr-top .c-lyt-ftr-top__inner__sub .visual,
    .c-lyt-ftr-top .c-lyt-ftr-top__inner__sub .desc{
        width: 100%;
    }

    .c-lyt-ftr-top .c-lyt-ftr-top__inner .visual,
    .c-lyt-ftr-top .c-lyt-ftr-top__inner__sub .visual{
        padding-bottom:50%;
    }

    .c-lyt-ftr-top .c-lyt-ftr-top__inner__sub .desc,
    .c-lyt-ftr-top .c-lyt-ftr-top__inner .desc{
        padding: 16px;
    }

}

@media print, screen and (max-width: 480px) {
    .c-lyt-ftr-top .c-lyt-ftr-top__inner .visual,
    .c-lyt-ftr-top .c-lyt-ftr-top__inner__sub .visual{
        height: 200px;
    }
}

.lyt-col-feature-a.diff-custom-rank a {
    display: inline;
}
    
.lyt-col-feature-a.diff-custom-rank > .col {
    width: 20%;
    padding: 0 0 40px 40px;
    position:relative;
}

.lyt-col-feature-a.diff-custom-rank > .col h3{
    font-size: 1.5rem;
    line-height:22px;
}

.lyt-col-feature-a.diff-custom-rank > .col p.visual{
    margin-bottom:15px;
}

.lyt-col-feature-a.diff-custom-rank > .col .ribbon{
    position: absolute;
    top: -10px;
    left: 45px;
    z-index: 11;
    padding: 7px 12px;
    color: #fff;
    line-height: 1;
    background-color: #e83440;
    font-size: 2rem;
}

@media print, screen and (max-width: 640px) {
    .lyt-col-feature-a.diff-custom-rank {
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin: 0 0 -40px -16px !important;
    }
}

@media print, screen and (max-width: 768px) {
    .lyt-col-feature-a.diff-custom-rank > .col {
        width:33.333%;
    }

    .lyt-col-feature-a.diff-custom-rank > .col .ribbon {
        top: -10px;
        left: 48px;
    }
}
 @media print, screen and (max-width: 767px) {

    .lyt-col-feature-a.diff-custom-rank{
        margin: 0 0 -40px -40px !important;
    }

    .lyt-col-feature-a.diff-custom-rank > .col {
        padding: 0 0 40px 40px;
    }

}

@media print, screen and (max-width: 480px) {
    .lyt-col-feature-a.diff-custom-rank > .col {
        width:100%;
    }

    .lyt-col-feature-a.diff-custom-rank > .col .ribbon {
        top: -10px;
        left: 48px;
    }
}

.hero-area-b.ftr-kv-top-bg{
	    min-height: 300px;
	    max-height: 300px;
	    padding: 16px;
	    margin-top: 16px;
	    margin-bottom: 40px;
	}

	.hero-area-b.ftr-kv-top-bg .content {
	    padding-top: 50px;
	    max-width: 1280px;
	    margin: 0 auto 0 auto;
	    width: 100%;
	    position: relative;
	    z-index: 1;
	    text-shadow: 0px 0px 5px #ffffff,0px 0px 10px #fff,0px 0px 15px #fff;
	}

	.hero-area-b.ftr-kv-top-bg .content .main-txt {
	    margin-bottom: 8px;
	}

	.hero-area-b.ftr-kv-top-bg .content .main-txt > * {
	    font-size: 4.5rem;
	    color: #000;
	    display: inline-block;
	    background: none;
	    line-height: 1.3;
	    padding: 0 5px;
	    font-weight: 700;
	}

	.hero-area-b.ftr-kv-top-bg .content .sub-txt > * {
	    font-size: 1.6rem;
	    color: #000;
	    display: inline-block;
	    background: none;
	    line-height: 2;
	    padding: 4px 5px;
	    font-weight: normal;
	}

	.hero-area-b.ftr-kv-top-bg .content .sub-txt a{
	    text-decoration: none;
	}

	.hero-area-b.ftr-kv-top-bg .visual > img, .hero-area-b .visual > a > img {
	    width: auto;
	    height: 100%;
	    max-width: inherit;
	    min-width: inherit;
	    left: 70%;
	    -webkit-transform: translateX(-67%);
	    transform: translateX(-67%);
	}

	@media only screen and (max-width: 768px){
	    .hero-area-b.ftr-kv-top-bg .content {
	        margin: auto !important;
	        padding: 50px 16px 16px;
	    }
		
		  .hero-area-b.ftr-kv-top-bg{
			   max-height: inherit;
				 min-height: inherit;
			   padding: 0;
			}
	}

	@media only screen and (max-width: 767px){
	  .hero-area-b.ftr-kv-top-bg .content {
	        left: 0;
				  padding: 0
	  }
		.hero-area-b.ftr-kv-top-bg .visual {
        height: calc(300vw*100/767);
	      max-height: 250px;
	      left: -10%;
		}
		
		.hero-area-b.ftr-kv-top-bg{
		      margin-bottom:0;
		}

		.hero-area-b.ftr-kv-top-bg .content .content-inner {
		    background: #F6F3EE;
		    padding: 20px 16px 16px;
		}

	    .hero-area-b.ftr-kv-top-bg .content .main-txt > * {
	        font-size: 2.4rem;
	    }

	    .hero-area-b.ftr-kv-top-bg .content .sub-txt > * {
	        margin-top: 0;
	        font-size: 1.6rem;
	    }

	}

/**************************/
/*****　特集　トップ　*****/
/**************************/
.diff-section-ttl .c-top-flx-lyt-2col{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
}

.diff-section-ttl .c-btn-lyt.diff-top-lyt{
    display: flex;
    justify-content: flex-end;
}

@media print, screen and (max-width: 480px) {
    .diff-section-ttl .c-top-flx-lyt-2col{
        display: block;
    }
    .diff-section-ttl .c-btn-lyt.diff-top-lyt{
        justify-content: center;
    }
}

.c-top-relation-a{
    display:flex;
    flex-wrap: wrap;
    justify-content:space-between;
    max-width: 980px;
    margin: 0 auto;
}

.c-top-relation-a .col {
    width: calc(33.333% - 8px);
    margin-bottom: 40px;
}

.c-top-relation-a .col a{
    text-decoration: none;
}

.c-top-relation-a .col a:hover {
    opacity: 0.8;
    transition: .2s;
}


@media print, screen and (max-width: 480px) {
    .c-top-relation-a .col {
        width: calc(50% - 8px);
        margin-bottom: 16px;
    }
}

/**************************/
/******特集インデックス****/
/**************************/
.c-top-ttl__sub{
    font-size: 2.4rem;
    font-weight: 700;
    margin-bottom: 40px;
}

.c-top-ttl__sub > span:first-child {
    font-size: 2.6rem;
}

@media only screen and (max-width: 480px) {
    .c-top-ttl__sub > span:first-child {
        font-size: 2.2rem;
    }
}

.c-top-ttl__sub > span:last-child {
    font-size: 2.4rem;
}


@media only screen and (max-width: 480px) {
    .c-top-ttl__sub > span:last-child {
        font-size: 1.8rem;
    }
}


.c-top-ttl__sub .label{
    padding-left: 16px;
}

.c-top-ttl__sub .label .label__lft{
    padding: 2px 20px;
    background-color: #706f67;
    color: #fff;
    border: 2px #706f67 solid;
}

.c-top-ttl__sub .label .label__rght{
        padding: 2px 30px;
        color: #706f67;
        border: 2px #706f67 solid;
}

.c-lyt-visual-a.diff-c-lyt-visual-a{
        background:#dddddd;
        padding:0 8px;
}

.c-lyt-visual-a.diff-c-lyt-visual-a .c-lyt-visual-a__titlearea{
        padding: 60px 20px 50px 0px;
}


.btn-a.diff-under::before {
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}

@media print, screen and (max-width: 1000px) {
    .c-lyt-visual-a.diff-c-lyt-visual-a{
        padding:0 16px;
    }
}

@media print, screen and (max-width: 768px) {
    .c-lyt-visual-a.diff-c-lyt-visual-a {
        padding:0;
    }

    .c-top-ttl__sub {
        margin-bottom: 16px;
    }

    .c-top-ttl__sub .label{
        display:block;
        padding-left: 0;
    }

    .c-lyt-visual-a.diff-c-lyt-visual-a .c-lyt-visual-a__titlearea{
        padding: 16px 20px 16px 20px;
    }
}

/******************************************/
/*****　富士通テクニカルレビューとは　*****/
/******************************************/

/* 2col lyt */
.u-mt-h3-sp {
    margin-top: 0px!important;
}

.c-lyt-5col {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    text-align: center;
    margin: 0 auto;
    justify-content: space-around;
    /*justify-content: center;*/
}

.c-lyt-5col .col-img {
    display: block;
    margin: 12px 52px;
    /*max-width: 100px;*/
}

.c-lyt-5col .col-img .caption {
    display: block;
    font-size: 1.2rem;
    margin-top: 4px;
}

/**************************/
/******背景*******/
/**************************/

.u-bg-gry-a{
    background:url(/global/imagesgig5/feature_bg_tcm100-4827615_tcm100-2750236-32.jpg) repeat;
    margin:0 -200%;
    padding:0 200%;
    background-position: bottom;
    background-repeat: repeat-x;
}

.u-bg-gry-b{
    background: #595959;
    margin:0 -200%;
    padding:0 200%;
}

.u-bg-gry-c{
    background:url(/global/imagesgig5/feature_bg_tcm100-4827615_tcm100-2750236-32.jpg) repeat;
    background-position: bottom;
    background-repeat: repeat-x;
}

.u-bg-grid{
    background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAMAAACelLz8AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3NpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoxYzViM2IxNS0wMjZiLTRmZDEtODRhNi0wN2FkZGJmMDliMTMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDhBQ0IzMTMwMTkzMTFFOUE4RjVBODJDMTU1OTIwNTgiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDhBQ0IzMTIwMTkzMTFFOUE4RjVBODJDMTU1OTIwNTgiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MWM1YjNiMTUtMDI2Yi00ZmQxLTg0YTYtMDdhZGRiZjA5YjEzIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjFjNWIzYjE1LTAyNmItNGZkMS04NGE2LTA3YWRkYmYwOWIxMyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PikSLO8AAAASUExURfr6+uzs7Ovr6+7u7u/v7+3t7cReBkwAAACYSURBVHjafJFRDsAgCEMp2PtfeVDR7Ecgm8746Ci2gshgLq7AIlgHFvaMsHUzzDOht9tMwai7h4SepPCmdnXmfWjdVYrM5RlbJ5QQ69JkFXwGlKUY3WPpVa1J63hwOBdVp7MbbOZoov940sKP4fW9epw8xOVcurydTm6E7qL9Wz2r0syPwfn/fNl07WaKrRG9857Y0NcnwAAPhAIHx+XWDgAAAABJRU5ErkJggg=="),#eaeaea;
    background-size: auto !important;
    margin:0 -200%;
    padding:0 200%;
}

.u-bg-grid-b{
    background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAMAAACelLz8AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3NpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoxYzViM2IxNS0wMjZiLTRmZDEtODRhNi0wN2FkZGJmMDliMTMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDhBQ0IzMTMwMTkzMTFFOUE4RjVBODJDMTU1OTIwNTgiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDhBQ0IzMTIwMTkzMTFFOUE4RjVBODJDMTU1OTIwNTgiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MWM1YjNiMTUtMDI2Yi00ZmQxLTg0YTYtMDdhZGRiZjA5YjEzIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjFjNWIzYjE1LTAyNmItNGZkMS04NGE2LTA3YWRkYmYwOWIxMyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PikSLO8AAAASUExURfr6+uzs7Ovr6+7u7u/v7+3t7cReBkwAAACYSURBVHjafJFRDsAgCEMp2PtfeVDR7Ecgm8746Ci2gshgLq7AIlgHFvaMsHUzzDOht9tMwai7h4SepPCmdnXmfWjdVYrM5RlbJ5QQ69JkFXwGlKUY3WPpVa1J63hwOBdVp7MbbOZoov940sKP4fW9epw8xOVcurydTm6E7qL9Wz2r0syPwfn/fNl07WaKrRG9857Y0NcnwAAPhAIHx+XWDgAAAABJRU5ErkJggg=="),#eaeaea;
    background-size: auto !important;
    padding: 18px 32px;
}

/**********************/
/**** flex 4col layout*/
/**********************/

.u-flx-lyt-4col{
    display: flex;
    flex-wrap:wrap;
}

.u-flx-lyt-4col > .col{
    width: calc(100% / 4);
    padding: 16px;
    text-align: center;
}

.u-flx-lyt-4col > .col > .visual > img {

    border-radius: 50%;

}

.u-flx-lyt-4col > .col .caption{
    margin-top: 8px;
}

.u-flx-lyt-4col > .col .caption__company{
    font-size:1.6rem;
    margin-bottom:0;
    display:block;
}

.u-flx-lyt-4col > .col .caption__sub{
    font-size:1.4rem;
    margin-bottom:0;
    display:block;
}

.u-flx-lyt-4col > .col .caption__name{
    font-size:1.8rem;
    margin-bottom:0;
    display:block;
}

.list-order-a.diff-lft-a,
.list-a.diff-lft-a{
    padding-left: 0;
}

@media print, screen and (max-width: 480px) {
    .u-flx-lyt-4col > .col {
        width:100%;
        padding:0;
        margin-bottom:16px;
    }

}

@media print, screen and (max-width: 480px) {
    .u-flx-lyt-4col.diff-join-a .col{
        display: flex;     
    }

    .u-flx-lyt-4col.diff-join-a .col .visual {
        width: calc(40% - 16px);
        margin-left: 16px;
    }

    .u-flx-lyt-4col.diff-join-a .col .caption{
        width: calc(60% - 16px);
        margin-left: 16px;
        margin-top : 0;
        text-align: left;
        display: flex;
        justify-content: center;
        flex-direction: column;
    }

    .u-flx-lyt-4col.diff-join-a .col .caption .caption__campany{
        font-size: 1.6rem;
    }

    .u-flx-lyt-4col.diff-join-a .col .caption .caption__sub{
        font-size: 1.6rem;
    }

    .u-flx-lyt-4col.diff-join-a .col .caption .caption__name{
        font-size: 1.8rem;
    }
}

/****************************
***** 特集ひな形 A css ******
*****************************/

.diff-bg-gry-a{
    background-color: #f2f2f2;
}

.diff-bg-gry-b{
    background-color: #eeeeee;
}


/* 著者紹介 */
.u-flx-lyt-4col-b > .col > .caption > .caption__name {
    font-size: 1.9rem;
}

.u-flx-lyt-4col-b {
    display: flex;
    flex-wrap: wrap;
}

.u-flx-lyt-4col-b.diff-join-a .col {
    display: flex;
}



.u-flx-lyt-4col-b > .col {
    width: 100%;
    padding: 0;
    margin-bottom: 16px;
}

.u-flx-lyt-4col-b > .col {
    width: 100%;
    padding: 16px;
    display: flex;
}

.u-flx-lyt-4col-b.diff-join-a .col .visual {
    width: calc(40% - 16px);
    margin-left: 16px;
}

.u-flx-lyt-4col-b > .col {
    text-align: center;
}

.u-flx-lyt-4col-b.diff-join-a .col > img {
    border-radius: 50%;
}

.u-flx-lyt-4col-b.diff-join-a .col .caption {
    text-align: left;
}

.u-flx-lyt-4col-b.diff-join-a .col .caption {

    width: calc(80% - 32px);
    margin-left: 16px;
    margin-top: 0;
    text-align: left;
    display: flex;
    justify-content: center;
    flex-direction: column;

}

.u-flx-lyt-4col-b.diff-join-a .col .caption .caption__sub {
    font-size: 1.6rem;
}

.u-flx-lyt-4col-b.diff-join-a .col .caption .caption__name {
    font-size: 1.8rem;
}

.u-flx-lyt-4col-b > .col > .caption > .caption__present {
    font-size: 1.5rem;
}

.diff-div-3col {
    display: flex;
    flex-wrap: wrap;
}

.div-col-txt:first-child {
    background: #dad9d6;
    text-align: center;
    padding: 10px 16px;
}

.div-col-txt {
    border-bottom: 1px solid #b1b1ac;
    background: #fff;
    padding: 10px 16px;
}


.div-col {
    border: 1px solid #b1b1ac;
    width: 33.33333%;
}


@media only screen and (max-width: 768px) {
    .u-flx-lyt-4col-b.diff-join-a .col {
        display: block;
    }
}

@media only screen and (max-width: 768px) {
    .u-flx-lyt-4col-b.diff-join-a .col .caption {
        width: 100%;
        margin-left: 0px;
        margin-top: 12px;
        text-align: center;
        display: flex;
        justify-content: center;
        flex-direction: column;
    }
}

@media only screen and (max-width: 768px) {
    .u-flx-lyt-4col-b.diff-join-a .col .caption .caption__present {
        margin-top: 12px;
    }
}


@media only screen and (max-width: 768px) {
    .diff-div-3col {
        display: block;
        flex-wrap: inherit;
    }
}



@media only screen and (max-width: 768px) {
    .div-col {
        border: 1px solid #b1b1ac;
        width: 100%;
        border-bottom: none;
    }
}



/****************************
***** common parts        ***
***** 2-column Table  　  ***
*****************************/

.c-lyt-2col-tbl li{
    border-bottom: 1px solid #c6c6c0;
}

.c-lyt-2col-tbl li.contents,
.c-lyt-2col-tbl-nb li.contents{
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    padding: 22px 0px;
}

.c-lyt-2col-tbl li.contents .ttl,
.c-lyt-2col-tbl-nb li.contents .ttl{
  width: 10%;
}
.c-lyt-2col-tbl li.contents .desc,
.c-lyt-2col-tbl-nb li.contents .desc{
  width: calc(90% - 30px);
  margin-left: 30px;
}

.c-lyt-2col-tbl-nb.diff-lyt-b li.contents .ttl{
  width: 6%;
}

.c-lyt-2col-tbl-nb.diff-lyt-b li.contents .desc{
  width: calc(94% - 30px);
  margin-left: 30px;
}

@media only screen and (max-width: 768px) {
    .c-lyt-2col-tbl li.contents,
    .c-lyt-2col-tbl-nb li.contents{
        display: block;
    }
    .c-lyt-2col-tbl li.contents .ttl,
    .c-lyt-2col-tbl li.contents .desc,
    .c-lyt-2col-tbl-nb li.contents .ttl,
    .c-lyt-2col-tbl-nb li.contents .desc{
        width: 100%!important;
        margin: 0!important;
    }
}

/****************************
***** common parts        ***
***** 2-column Table  　  ***
***** col1:35% col2:65%   ***
*****************************/

.c-lyt-2col-tbl-nc li.contents{
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    padding: 22px 0px;
}

.c-lyt-2col-tbl-nc li.contents .ttl {
    width: calc(35% - 60px);
    padding-left: 60px;
}

.c-lyt-2col-tbl-nc li.contents .desc {
    width: calc(65% - 30px);
    margin-left: 30px;
}

.c-lyt-2col-tbl-nc li.contents .ttl a,
.c-lyt-2col-tbl-nc li.contents .desc a{
    text-decoration: none;
}

@media only screen and (max-width: 768px) {

    .c-lyt-2col-tbl-nc li.contents .ttl {
        padding-left: 0px;
    }

    .c-lyt-2col-tbl-nc li.contents{
        display: block;
    }

    .c-lyt-2col-tbl-nc li.contents .ttl,
    .c-lyt-2col-tbl-nc li.contents .desc{
        width: 100%;
        margin: 0;
    }
}
/****************************/
/******お問い合わせエリア ***/
/****************************/

.section .section-inner.diff-section-contact{
    padding: 0 20px!important;
    color: #fff;
}

.c-contact-area{
    padding-top: 30px;
    padding-bottom: 30px;
}

.c-lyt-contact-a .c-list-contact-a {
    width: 100%;
    margin-left: 0;
}

.c-lyt-contact-a .c-list-contact-a>li:first-child {
    border-right: 1px solid #fff;
}

.c-lyt-contact-a .c-list-contact-a>li {
    width: 50%;
    padding: 2vw;
}

.c-lyt-contact-a .c-list-contact-a>li .c-type-form {
    font-weight: bold;
    font-size: 2.5rem;
}

.c-lyt-contact-a .c-list-contact-a>li .c-type-form::before {

    display: none;
}

.lyt-contact-a .list-contact-a > li.type-contact .contact-inner::before {
    background-position: -50px -50px;
    width: 20px;
    height: 20px;
    margin-top: -10px;
}

.lyt-contact-a .list-contact-a > li h3{
    text-align: center;
    font-size: 2rem;
    margin:16px 0;
}

@media screen and (max-width: 768px){
    .section .section-inner.diff-section-contact {
        padding: 20px 30px;
    }

    .c-contact-area {
        padding-top: 30px;
        padding-bottom: 0;
    } 

    .section .section-inner.diff-section-contact .c-contact-area .lyt-contact-a  .list-contact-a .type-tel a{
        padding: 24px 15px 24px 15px;
    }

    .c-lyt-contact-a .c-list-contact-a>li:first-child {
        border-right: none;
        border-bottom: 1px solid #fff;
    }

    .c-lyt-contact-a .c-list-contact-a>li {
        width: inherit;
        padding: 20px 0;
    }
}


@media only screen and (max-width: 767px){
    .lyt-contact-a .list-contact-a a {
        padding-left: 34px;
    }
}

@media screen and (max-width: 480px){
   .lyt-contact-a .list-contact-a .c-tel-sp {
      pointer-events: auto; 
   }
}


/**********************************/
/***** Common SNS追従バナー *******/
/**********************************/

.u-lnk-aside{
    display: block;
    position: fixed;
    width: 100%;
    max-width: inherit;
    top: 25%;
    right: 0;
    z-index: 2000;
}

.u-lnk-aside ul.u-lnk-aside__inner{
    position: absolute;
    right: 0;
    top: 25%;
    background: #ddd;
    padding: 24px 8px 24px 14px;
    border-radius: 11px 0 0 11px;
}

.u-lnk-aside ul.u-lnk-aside__inner a:hover{
    opacity:0.8
}

.u-lnk-aside ul.u-lnk-aside__inner li:not(:last-child){
    margin-bottom: 24px;
}

@media only screen and (max-width: 480px) {
    .u-lnk-aside ul.u-lnk-aside__inner{
        background-color: rgba(221,221,221,0.7);
    }
}


/**********************************/
/*****  common search page  *******/
/**********************************/

.search-area {
    width: 100%;
    background-color: #f2f2f2;
    padding: 20px 16px 8px;
}

.search-area-submit {
    text-align: center;
}
.search-area-submit .btn{
    font-size: 2rem;
    color: #fff;
    background:#b22b30;
    padding: 0 16px 6px 20px;
    text-align: center;
    text-decoration: none !important;
    display: inline-block;
    line-height: 1.4;
    position: relative;
    transition: background .2s;
    box-shadow: 0 1px 2px rgba(0,0,0,.18);
    margin-top: 16px!important;
    max-width: 360px;
}

.search-area-submit .btn:hover{
    opacity:0.8;
    transition: background .2s;
    background: #d11124;
}

.search-area .u-flex {
    display: flex;
    flex-wrap: wrap;
}

.search-area ul li {
    margin-bottom: 8px;
}

input[type="checkbox"] {
    display: none;
}

input[type="checkbox"]+label,
input[type="radio"]+label {
	display: block;
	position: relative;
	padding: 0 20px;
	margin-bottom: 20px;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
}

input[type="checkbox"]+label:last-child,
input[type="radio"]+label:last-child {
	margin-bottom: 4px;
}


input[type="checkbox"]+label:before {
	content: '';
	display: block;
	width: 15px;
	height: 15px;
	border: 1px solid #000;
	position: absolute;
	left: 0;
	top: 4px;
	opacity: .6;
	-webkit-transition: all .12s, border-color .08s;
	transition: all .12s, border-color .08s;
}

input[type="radio"]+label:before {
	content: '';
	display: block;
	width: 20px;
	height: 20px;
	border: 1px solid #000;
	border-radius: 50%;
	position: absolute;
	left: 0;
	top: 0;
}

input[type="radio"]+label:after {
	content: '';
	display: block;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: transparent;
	position: absolute;
	top: 5px;
	left: 5px;
	opacity: .6;
	-webkit-transition: all .12s, border .08s;
	transition: all .12s, background .08s;
}

input[type="checkbox"]:checked+label:before {
	width: 10px;
	top: 0;
	left: 5px;
	border-radius: 0;
	opacity: 1;
	border-top-color: transparent;
	border-left-color: transparent;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

input[type="checkbox"][disabled="disabled"] + label{
	color: rgb(84, 84, 84);
	cursor: default;
}

input[type="checkbox"][disabled="disabled"] + label::before{
	border-color: rgb(84, 84, 84);
	background-color: #bfbfbf;
}

/* 画像内文字 - 右下/左下/白枠有無　
	-----------------------------*/
	.c-visual-inner-cont-lft,
	.c-visual-inner-cont-lft-w,
	.c-visual-inner-cont-rht,
	.c-visual-inner-cont-rht-w{
	  position: relative;
	}

	.c-visual-inner-cont-lft span,
	.c-visual-inner-cont-lft-w span{
	  position: absolute;
	  bottom: 0;
	  left: 10px;
	}
	.c-visual-inner-cont-rht span,
	.c-visual-inner-cont-rht-w span{
	  position: absolute;
	  bottom: 0;
	  right: 10px;
	}

	.c-visual-inner-cont-lft-w span,
	.c-visual-inner-cont-rht-w span{
	  text-shadow: #fff 1px 0px 0px, #fff -1px 0px 0px, #fff 0px -1px 0px, #fff 0px 1px 0px, #fff 1px 1px 0px, #fff -1px 1px 0px, #fff 1px -1px 0px, #fff -1px -1px 0px, #fff 1px 1px 0px, #fff -1px 1px 0px, #fff 1px -1px 0px, #fff -1px -1px 0px, #fff 1px 1px 0px, #fff -1px 1px 0px, #fff 1px -1px 0px, #fff -1px -1px 0px, #fff 1px 1px 0px, #fff -1px 1px 0px, #fff 1px -1px 0px, #fff -1px -1px 0px;
	}