@charset "utf-8";

/*
Theme Name: NEWS IT DESIGN
Theme URI: http://www.news-co.jp
Description: ニューズコーポレーションIT企画部の専用サイト
Author: IT企画部
*/

/* ***************************************************************** 
*	基本設定
* ***************************************************************** */

html {
  font-size: 62.5%;
}

body {
    font-family: "Kosugi", 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
    font-size: 1.6rem;
    -webkit-font-smoothing: antialiased;
}

body.home {
	overflow: hidden
}

.home #container {
    display: table;
    width: 100%;
    height: 100vh;
}

main {
    padding: 160px 0 256px;
}

main .inner {
    max-width: 1366px;
    margin: auto;
    width: 100%;
    padding: 0 28px;
}

.single_box,.single_blogbox {
    max-width: 1000px;
    width: 100%;
    margin: auto;
    line-height: 1.5;
}

*,*:before,*:after {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

h2 {
    line-height: 1.8;
    font-size: 3rem;
    letter-spacing: 0.2rem;
}

h3 {
    margin: 0 0 40px;
    border-bottom: 1px solid #000;
    padding: 0 0 15px;
    font-size: 1.8rem;
    text-align: center;
    font-family: Arial, Helvetica, sans-serif !important;
    letter-spacing: 0.1rem;
}

h4 {
    background: #f2f2f2;
    padding: 5px 0 5px 30px;
    margin: 0 0 10px;
    font-weight: normal;
}

img {
    border: 0;
    padding: 0px;
    margin: 0px;
    width: auto;
    max-width: 100%;
    height: auto;
}

a {
	color: #48b2d2;
	text-decoration: none;
}

li {
    list-style: none;
}


/* micro clearfx */
.cf:before,
.cf:after{
    content: "";
    display: table;
}
.cf:after{ clear: both; }
.cf{ zoom: 1; } /* For IE 6/7 */


/*ヘッダー トップのみ*/

.home #header {
    display: table-cell;
    width: 100%;
    padding: 0 0 48px;
    vertical-align: middle;
    text-align: center;
}

.home #header #logo {
        position: relative;
        top: 0;
        left: 0;
        margin: 0 0 40px;
    }

.home #header #logo img {
    width: 280px;
    height: auto;
}

.home #header .nav_list {
    position: relative;
    top: 0;
    right: 0;
    left: 0;
}

/*ヘッダー 共通*/

/* 下矢印 */
.init-bottom:after {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    margin: 0 0 0 15px;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

/* floatクリア */
.menu:before,
.menu:after {
    content: " ";
    display: table;
}

.menu:after {
    clear: both;
}

.menu {
    *zoom: 1;
}

/*横からスライドのアンダーライン*/
#header .nav_list li a {
    position: relative;
    display: inline-block;
    text-decoration: none;
  }
  #header .nav_list li a::after {
    position: absolute;
    bottom: -6px;
    left: 0;
    content: '';
    width: 100%;
    height: 3px;
    background: #333;
    transform: scale(0, 1);
    transform-origin: left top;
    transition: transform .3s;
  }
  #header .nav_list li a:hover::after {
    transform: scale(1, 1);
  }
  #header .nav_list li {
  background-color: transparent; /* default value */
}

  #header .nav_list li.selected a:after {
    position: absolute;
    bottom: -6px;
    left: 0;
    content: '';
    height: 3px;
    background: #333;
    transform-origin: left top;
    transition: transform .3s;
    width: 100%;
    transform: scale(1, 1);
}


#header .nav_list {
	letter-spacing: -1rem;
}

#header .nav_list li {
    display: inline-block;
    *display: inline;
    *zoom: 1;
    vertical-align: top;
    padding: 0 12px 0;
    font-family: Arial, Helvetica, sans-serif !important;
    font-weight: bold;
    letter-spacing: 0;
    font-size: 1.6rem;
}

#header .nav_list li a {
    color: #000;
    text-decoration: none;
}

#header .f_nav {
    top: auto;
    bottom: 20px;
    right: 40px;
    transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    position: fixed;
}

#header .f_nav a {
    font-family: Arial, Helvetica, sans-serif !important;
    font-weight: bold;
    letter-spacing: 0;
    color: #000;
}

#header #logo {
    position: fixed;
    top: 42px;
    left: 48px;
    z-index: 99999;
}

#header #logo img {
    width: 140px;
    height: auto;
}

#header .nav_list {
    position: fixed;
    top: 48px;
    right: 48px;
    z-index: 99999;
}

/*WORKSページ*/
/*
.single_works {
    max-width: 1000px;
    margin: auto;
    width: 100%;
}

.single_box {
    letter-spacing: -1rem;
}

.single_leftbox {
    width: 48%;
    display: inline-block;
}

.single_rightbox {
    width: 48%;
    display: inline-block;
    vertical-align: top;
    letter-spacing: normal;
    margin: 0 0 0 4%;
}
*/

.works_subtitle {
    font-size: 1.8rem;
    text-align: center;
}

.works_subtitle_s {
    font-size: 12px;
    text-align: center;
    margin: 20px 0 0;
}

.work_pdf {
    margin-top: 30px;
}

.work_pdf a {
    display: block;
    text-align: center;
    padding: 10px 20px;
    border-radius: 10px;
    font-size: 15px;
    border: 1px solid #222;
    color: #222;
}

h2.title {
    font-size: 3.8rem;
    font-family: Arial, Helvetica, sans-serif !important;
    text-align: center;
    margin: 0 0 30px;
}

.s_title {
    font-size: 1rem;
    margin: 10px 0;
    letter-spacing: 2px;
}

ul.thum_box {
    display: flex;
    flex-wrap: wrap;
}

.thum_box li {
    overflow: hidden;
    letter-spacing: normal;
    margin: 0 3% 20px 0;
    width: 31.333333%;
    flex: 0 0 31.333333%;
    line-height: 0;
}

.thum_box li:nth-child(3n) {
    margin: 0 0 20px 0;
}

.works_inner {
    display: flex;
    flex-wrap: wrap;
    margin-top: 60px;
}

.works_left {
    width: 73%;
    margin: 0 4% 0 0;
}

.works_side {
    width: 23%;
}

.works_title {
    margin: 60px 0 0;
    text-align: left;
    font-size: 1.6rem;
}

.works_url {
    margin: 30px 0 0;
}

.works_url a {
    color: #000;
    text-decoration: underline;
    letter-spacing: 0.15rem;
}

.works_url span {
    display: block;
    font-size: 14px;
    margin-bottom: 5px;
}

.works_info {
    margin: 20px 0 0;
}

.work_img {
    letter-spacing: -1rem;
    margin: 20px 0 0;
}

.work_left_img {
    display: inline-block;
    width: 48%;
}

.work_right_img {
    display: inline-block;
    width: 48%;
    margin: 0 0 0 4%;
}

/*関連ページ*/
.about_list {
    margin: 80px 0 0;
}

.about_list p,.about_list img {
    margin: 2px 0;
}

.about_list img {
    border: 1px solid #ddd;
}

.about_list ul {
	letter-spacing: -1rem;
}

.about_list li {
    width: 25%;
    padding: 5px;
    display: inline-block;
    letter-spacing: normal;
    font-size: 1.3rem;
    vertical-align: top;
    margin: 0 0 10px;
}

.about_list li a {
	color: #333;
}

a.index_button {
    display: block;
    text-align: center;
    margin: 80px auto;
    width: 50%;
    border: 1px solid #ddd;
    padding: 15px;
    color: #333;
    font-family: Arial, Helvetica, sans-serif !important;
    letter-spacing: 0.2rem;
}

a:hover.index_button {
	background: #ddd;
}

.thum_box li {
/*   background-color: #000000; */
  border: 1px solid #ccc;
}

.thum_box li img {
	/*透過させる*/
/* 	opacity: 0.9; */
}


/*画像を拡大させる*/
.thum_box li img {
  -webkit-transform: scale(1);
  transform: scale(1);
  -webkit-transition: .3s ease-in-out;
  transition: .3s ease-in-out;
  display: block;
}

.thum_box li:hover img {
  -webkit-transform: scale(1.3);
  transform: scale(1.3);
}

/*画像の上に文字を表示、左からスライドさせる*/
figure.hover-parent {
width: 100%;
height: auto;
position: relative;
/*margin-bottom: 30px;*/
overflow: hidden;
}
figcaption.hover-mask {
width: 100%;
height: auto;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
background: rgba(0,0,0,0.5);
opacity: 0;
color: #fff;
display: flex;
align-items: center;
text-align: center;
padding: 20px;
line-height: 1.5;
}

figcaption.hover-mask {
opacity: 1;
transition:all 0.6s ease;
left: -100%;
letter-spacing: 0.1rem;
}
figure.hover-parent:hover .hover-mask {
left: 0;
}


/*セレクトボックスデザイン*/
.works_sel {
    overflow: hidden;
    width: 100%;
    margin: 2em 0;
    text-align: center;
}

.works_sel select {
    width: 100%;
    padding-right: 1em;
    cursor: pointer;
    text-indent: 0.01px;
    text-overflow: ellipsis;
    border: none;
    outline: none;
    background: transparent;
    background-image: none;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
}

.works_sel select::-ms-expand {
    display: none;
}
.works_sel.cp_sl02 {
	position: relative;
	border-bottom: 1px solid #666;
	border-radius: 2px;
	background: #ffffff;
}
.works_sel.cp_sl02::before {
	position: absolute;
	top: 1em;
	right: 0;
	width: 0;
	height: 0;
	padding: 0;
	content: '';
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 6px solid #666666;
	pointer-events: none;
}

/*
.works_sel.cp_sl02:after {
	position: absolute;
	top: 0;
	right: 2.5em;
	bottom: 0;
	width: 1px;
	content: '';
	border-left: 1px solid #bbbbbb;
}
*/

.works_sel.cp_sl02 select {
	padding: 8px 38px 8px 8px;
	color: #333;
	font-size: 1.6rem;
	font-family: Arial, Helvetica, sans-serif !important;
	line-height: 1.5;
	font-weight: bold;
}


/*SERVICEページ*/
.ser_text {
    line-height: 2.6;
    font-size: 1.8rem;
    margin: 60px 0 0;
    letter-spacing: 0.05rem;
}

.inner.service {
    max-width: 800px;
    width: 100%;
}


.ser_box {
    letter-spacing: -1rem;
    margin: 100px auto;
}

.ser_box li {
    margin: 0 0 80px;
}

.ser_img {
    width: 20%;
    display: inline-block;
    vertical-align: top;
}


.ser_content {
    width: 73%;
    margin: 0 0 0 7%;
    display: inline-block;
    letter-spacing: normal;
    font-size: 1.2rem;
    line-height: 1.8;
    vertical-align: top;
}

.ser_content h3 {
    font-size: 1.6rem;
    margin: 0 0 20px;
    padding: 0 0 5px 0;
}

.sp_serblock {
	display: none;
}

.concept {
    padding: 30px;
    border: 1px solid #ddd;
    font-size: 1.3rem;
    line-height: 1.8;
}

/*DESIGNページ*/
ul.thum_box_d {
    display: flex;
    flex-wrap: wrap;
}

.thum_box_d li {
    width: 47%;
    flex: 0 0 47%;
    letter-spacing: normal;
    margin: 0 6% 60px 0;
    vertical-align: top;
}

.thum_box_d li:nth-child(2n) {
    margin: 0 0 60px 0;
}

ul.thum_box_d li img {
    border: 1px solid #ddd;
}

.thum_box_d li p {
    margin: 10px 0 0;
    color: #333;
}

.design_text {
    margin: 0 0 30px;
    font-size: 1.4rem;
    line-height: 1.8;
}

.design_price_button {
    background: url(/wp-content/themes/news-it/img/link_icon.png) no-repeat;
    background-size: 20px;
    width: 100%;
    background-position: right 20px center;
}

.design_price_button a {
    padding: 10px;
    text-align: center;
    border: solid 2px #333;
    display: block;
    color: #333;
}


/*PRICEページ*/

ul.price_list {
    letter-spacing: -1rem;
    margin: 80px 0 0 -3%;
}

ul.price_list li {
    display: inline-block;
    letter-spacing: normal;
    margin: 0 0 40px 3%;
    width: 47%;
    vertical-align: top;
}


.price_button a {
    padding: 10px 15px;
    border: 1px solid #333;
    text-align: center;
    display: block;
    color: #333;
}

.price_button {
    background: url(/wp-content/themes/news-it/img/link_icon.png) no-repeat;
    background-size: 20px;
    width: 100%;
    background-position: right 20px center;
    margin: 0 0 15px;
}

/*ブログのスタイルを表示*/

ul.category-list {
    display: table;
    padding: 40px 0 0;
    margin: auto;
}

ul.category-list li {
    display: inline-block;
    margin: 5px;
}

ul.category-list li {
    display: inline-block;
    line-height: 1.5;
}


ul.category-list li a {
    display: block;
    padding: 10px 30px;
    border: 1px solid #ddd;
    border-radius: 20px;
    font-size: 1.4rem;
}

ul.category-list li a:hover {
	background: #f2f2f2;
}

ul.category-list li.selected a {
	background: #f2f2f2;
}

ul.blog_list {
    margin: 80px 0 0 0;
}


.blog_img {
    display: table-cell;
    width: 50%;
    padding: 0 24px 0 0;
    vertical-align: top;
}

.blog_img img {
	border: 1px solid #ddd;
}

.blog_info {
    display: table-cell;
    width: 50%;
    padding-bottom: 16px;
    vertical-align: top;
    border-bottom: 1px solid #999;
}

.blog_list li {
    margin: 0 0 80px;
    cursor: pointer;
    display: table;
}

.blog_list li a {
    color: #333;
}

.blog_header {
    margin: 0 0 40px;
    border-top: 1px solid #333;
    border-bottom: 1px solid #333;
    padding: 15px 0;
}

.a_blog_title {
    font-size: 2rem;
    line-height: 1.5;	
}

.blog_title {
    font-size: 2.2rem;
    line-height: 1.6;
    margin: 0 0 10px;
}

.blog_time {
    background: #f2f2f2;
    padding: 5px 20px;
    color: #999;
    font-size: 1.2rem;
    display: inline-block;
}

ul.blog_info_timesns {
    margin: 0 0 15px;
    padding: 0 0 10px;
    border-bottom: 1px solid #ddd;
}

li.blog_time {
	float: left;
}

li.blog_time img {
	margin: 0;
}

li.blog_snslink {
    float: right;
}

.blog_content {
    margin: 20px 0 0;
    line-height: 1.8;
    font-size: 1.4rem;
}

.blog_icatch_img {
	text-align: center;
	border: 1px solid #ddd;
	line-height: 0;
}

.blog_icatch_img img {
    width: 100%;
    margin: 0!important;
}

ul.ul_tag {
    margin: 10px 0 0;
}

ul.ul_tag li {
    display: inline-block;
    margin: 2px;
    font-size: 1.2rem;
    background: #eee;
    padding: 5px;
    border-radius: 5px;
}

.single_blogbox p,.single_blogbox img {
	margin: 5px 0;
}

.single_blogbox {
	letter-spacing: -1rem;
	margin: 80px auto 0 auto;
}

.single_content {
    width: 66%;
    display: inline-block;
    letter-spacing: normal;
}

.single_content h2 {
    margin: 30px 0 0;
    padding: 10px 0 10px 20px;
    font-size: 2rem;
    background: #f2f2f2;
    color: #333;
    font-weight: normal;
}

.archive_text {
    margin: 10px 0;
}

/*ブログサイドバー*/
.side {
    width: 30%;
    margin: 0 0 0 4%;
    display: inline-block;
    vertical-align: top;
    letter-spacing: normal;
}

ul.side_bloglist li {
    margin: 0 0 10px;
    padding: 0 0 10px;
    border-bottom: 1px solid #ddd;
    letter-spacing: -1rem;
}

.blog_thumb {
    width: 40%;
    display: inline-block;
}

.blog_thumbtitle {
    display: inline-block;
    width: 56%;
    font-size: 1.2rem;
    vertical-align: top;
    margin: 0 0 0 4%;
    letter-spacing: normal;
}

.widgettitle:first-child {
    margin: 0 0 10px;	
}

.widgettitle {
    padding: 5px 0;
    background: #333;
    text-align: center;
    margin: 30px 0 10px;
    font-size: 1.3rem;
    letter-spacing: 0.6rem;
    font-weight: normal;
    color: #fff;
    font-family: Arial, Helvetica, sans-serif !important;
}

.tagcloud a {
	font-size: 1.4rem!important;
	margin: 0 5px;
}

ul#my_sidebar_tag,ul#my_sidebar_category {
    display: flex;
    flex-wrap: wrap;
}

ul#my_sidebar_tag li {
    margin: 3px;
    flex: 1 1 auto;
    display: flex;
    justify-content: center;
}

ul#my_sidebar_tag li a {
    font-size: 1.2rem;
    padding: 5px 10px;
    background: #e7f5fe;
    flex: 1 1 auto;
    display: flex;
    justify-content: center;
}

ul#my_sidebar_category li {
    margin: 3px;
    flex: 1 1 auto;
    justify-content: center;
    font-size: 1.2rem;
}

ul#my_sidebar_category li a {
    display: block;
    padding: 5px 10px;
    border: 1px solid #ddd;
    border-radius: 20px;
    text-align: center;
}

/*ブログ*/
.blog_info .day {
    font-size: 12px;
    padding: 5px;
    margin: 10px 0 0;
    background: #f2f2f2;
    display: inline-block;
    color: #999;
}


/*画像ホバー*/
ul.thum_box_d li a,.blog_list li > a,ul.side_bloglist li,.about_list li,.price_button {
  opacity: 1;
  -webkit-transition: .3s ease-in-out;
  transition: .3s ease-in-out;
  display: inline-block;
  zoom: 1;
}
ul.thum_box_d li a:hover,.blog_list li > a:hover,ul.side_bloglist li:hover,.about_list li:hover,.price_button:hover {
  opacity: .5!important;
}



/*フッター*/
#footer {
    padding: 0 0 16px 48px;
    color: #666;
    font-size: 0.750rem;
    font-family: Arial, Helvetica, sans-serif !important;
}


/*====================================
 * ペジャーのレイアウトを整える
 * ====================================*/
.pagination {
  clear: both;
  padding: 60px 0;
  position: relative;
  font-size: 14px;
  line-height: 14px;
        text-align: center;
}
.pagination-box {
  display: inline-block;
}
.pagination span, .pagination a {
  display: block;
  float: left;
  margin: 2px 2px 2px 0;
  padding: 10px 15px 10px 15px;
  text-decoration: none;
  width: auto;
  color: #333; /* 通常の文字色 */
  background: #f2f2f2; /* 通常の背景色 */
}
.pagination a:hover{
  color: #333;
  background: #e7f5fe;
}
.pagination .current {
  padding: 10px 15px 10px 15px;
  color: #333;
  background: #e7f5fe;
}
@media only screen and (max-width: 413px) {
.pagination {
  font-size: 12px;
  line-height: 12px;
}
.pagination span, .pagination a {
  padding: 8px 10px 8px 10px;
}
.pagination .current{
  padding: 8px 10px 8px 10px;
}
}

@media screen and (max-width: 640px) {
    #header #logo {
        top: 20px;
        left: 18px;
    }
	.home #header #logo img {
    width: 180px;
    height: auto;
	}
    #header .nav_list li {
        padding: 0 8px 0;
        margin: 0 0 15px;
        font-size: 1.4rem;
    }
    #header .nav_list {
        top: 115px;
        right: auto;
        left: 10px;
    }
    main {
        padding: 200px 0 256px;    
    }
    main .inner {
        padding: 0 15px;
    }
	.thum_box_d li p,#header .f_nav {
		font-size: 1.3rem;
		line-height: 1.5;
	}
	figcaption.hover-mask {
		font-size: 1.1rem;
		line-height: 1.5;	
	}
	h2,h1.design_text,.a_blog_title {
		font-size: 1.8rem;
	}
	h3 {
		text-align: left;
	}
	.about_list li {
		width: 50%;
	}
	.ser_text,.single_blogbox p {
		font-size: 1.3rem;		
		line-height: 1.8;
	}
	.blog_title {
    font-size: 2rem;
    }
	
	ul#my_sidebar_tag li a,ul#my_sidebar_category li a {
		padding: 10px;
	}
	
	.blog_img {
		width: auto;
		display: block;
		padding: 0;
	}
	
	.blog_info {
		width: auto;
		display: block;
	}
	
	.a_blog_title {
		margin: 10px 0;
	}
	
	h2.title {
		font-size: 3rem;
	}
	
	.sp_serblock {
	display: block;
	}
	
	.ser_img {
	display: none;
	}
	
	.ser_content {
		width: auto;	
		margin: 0;
	}
	.ser_box {
		margin: 60px auto;
	}
	.ser_box li {
		margin: 0 0 40px;
	}
	.sp_serblock {
    width: 80px;
    display: inline-block;
    line-height: 0;
	}
	
	h3 .ser_title {
    display: inline-block;
    margin: 0 0 0 5%;
    vertical-align: top;
    line-height: 80px;
	}
	
	.works_subtitle {
    font-size: 1.6rem;
	}
	
	ul.price_list {
		margin: 80px auto 0;
	}
	
	ul.price_list li {
    width: auto;
    display: block;
    margin: 0 0 80px;
	}
	
	li.blog_time,li.blog_snslink {
		float: none;
		margin: 0 0 15px;
	}

    .works_left {
        width: 100%;
        margin: 0;
    }

  }

@media screen and (max-width: 768px) {
	.single_content,.side {
    width: auto;
    display: block;
	}

	.side {
		margin: 60px 0 0;
	}
	
    ul.category-list {
        display: flex;
        flex-wrap: wrap;
	}
	
    ul.category-list li {
        margin: 3px;
        flex: 1 1 auto;
        display: flex;
        justify-content: center;
	}
	
    ul.category-list li a {
        flex: 1 1 auto;
        display: flex;
        justify-content: center;
        font-size: 1.2rem;
        padding: 10px;
        border: 1px solid #ddd;
        border-radius: 20px;
	}

    .thum_box li,
    .thum_box li:nth-child(3n),
    .thum_box_d li,
    .thum_box_d li:nth-child(2n) {
        width: 100%;
        flex: 0 0 100%;
        margin: 0 0 30px 0;
    }

    .works_side {
        width: 100%;
    }

}