@charset "UTF-8";

* { box-sizing: border-box;}

html { height: 100%; font-size: 62.5%;}
html, body { height: 100%;}

body { margin: 0; padding: 0; font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, Verdana, Meiryo, sans-serif; font-size: 1.6rem; line-height: 1.8em; color: #666; letter-spacing: 0.1em; font-feature-settings: "palt";}

a:link { color: #333; text-decoration: none;}
a:visited { color: #333;}
a:hover { color: #666; text-decoration: underline;}
a:active { color: #333;}

/* コンテナ */
#outer_wrapper { padding: 60px 0;}
#bottom_wrapper { padding: 40px 0 60px 0; background: #e4eae8;}


/* bootstrapガターなしレイアウト */
.row .nongutter { margin: 0;}
.nongutter>.col-sm-6, .nongutter>.col-xs-12, .nongutter>.col-sm-4 { padding: 0 !important; text-align: center;}

/* bootstrap最大幅 */
@media (min-width: 1200px) {
  .container { width: 1170px !important; position: relative;}
}

h2 { font-size: 3.0rem; color: #647577; font-family: 'Mukta Vaani', sans-serif; letter-spacing: 0em; margin: 0 0 20px 0; padding: 26px 0 0 0; position: relative;}
h2 span { font-size: 1.2rem; letter-spacing: 0.055em; position: absolute; top: 0;}
h2 span:after { content: ""; width: 80px; border: 1px solid #997484; position: absolute; left: 0; top: 18px}
h3 { font-size: 2.0rem; font-weight: normal; line-height: 1.6em; letter-spacing: 0.05em; margin: 0 0 20px 0; padding: 0; color: #666;}
h3.reverse { display: inline-block; font-size: 1.6rem; font-weight: normal; letter-spacing: 0.05em; line-height: 1.4em; margin: 0 0 12px 0; padding: 0 12px; background: #c1c8c9;}
h4 { font-size: 1.8rem; font-weight: normal; line-height: 1.6em; letter-spacing: 0.05em; margin: 0 0 6px 0; padding: 0 0 6px 0; color: #666; border-bottom: 1px solid #ddd;}
h5 {  font-size: 1.6rem; font-weight: normal; line-height: 1.6em; letter-spacing: 0.05em; margin: 0 0 10px 0; padding: 0; color: #666;}

p { margin: 0; padding: 0 0 30px 0; text-align: justify;}
p.center { text-align: center;}
p.catch { color: #647577; font-size: 1.8rem;}

.caption { font-size: 1.2rem;}

.onlypc { display: block;}
.onlysmp { display: none;}

@media screen and (max-width: 767px) {
.onlypc { display: none;}
.onlysmp { display: block;}
}

/* pc版クリアランス */
.cl_pc80 { margin-bottom: 80px !important;}
.cl_pc50 { margin-bottom: 50px !important;}
.cl_pc30 { margin-bottom: 30px !important;}

@media screen and (max-width: 767px) {
.cl_pc80 { margin-bottom: 40px !important;}
.cl_pc50 { margin-bottom: 25px !important;}
.cl_pc30 { margin-bottom: 15px !important;}
}

/* smp版クリアランス */

.cl_sm20 { margin-bottom: 10px !important;}
.cl_sm40 { margin-bottom: 20px !important;}

@media screen and (max-width: 767px) {
.cl_sm20 { margin-bottom: 20px !important;}
.cl_sm40 { margin-bottom: 40px !important;}
 .sm_cl40 { margin-bottom: 40px;}
}

/* smp版改行 */

br.brlong { display: none !important; width: 0 !important; height: 0 !important; visibility: hidden !important; content: ""; font-size:0;}

@media screen and (max-width: 767px) {
br.brlong { display: block !important;}	
}

/* ローディング */

/* #loading { position: absolute; left: 50%; top: 50%; margin-left: -40px; margin-top: -40px; z-index: 10;} */
#loader-bg { position: absolute; width: 100%; height: 100%; top: 0px; left: 0px; background: #545c5d; z-index: 300 !important;}


#loading, #loading:after { border-radius: 50%; width: 8em; height: 8em;}
#loading { margin: 30% auto 0 auto; font-size: 10px; position: relative; text-indent: -9999em; border-top: 0.4em solid rgba(255, 255, 255, 0.2); border-right: 0.4em solid rgba(255, 255, 255, 0.2); border-bottom: 0.4em solid rgba(255, 255, 255, 0.2); border-left: 0.4em solid #ffffff; -webkit-transform: translateZ(0); -ms-transform: translateZ(0); transform: translateZ(0); -webkit-animation: load8 1.1s infinite linear; animation: load8 1.1s infinite linear;}

@-webkit-keyframes load8 {
  0% { -webkit-transform: rotate(0deg); transform: rotate(0deg);}
  100% { -webkit-transform: rotate(360deg); transform: rotate(360deg);}
}
@keyframes load8 {
  0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); }
  100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); }
}

@media screen and (max-width: 767px) {
	#loading { margin-top: 76%;}
}

/* ****************************************************************

　ヘッダー

****************************************************************　*/

header.menu-container { width: 100%; height: 80px; background: rgba(0,0,0,0.8); position:fixed; z-index: 100; -webkit-transition: 1.0s; transition: 1.0s;}

header h2 { margin: 10px 0 0 0; padding: 0; font-size: 1rem;}
header h2.headlogo a { display: block; width: 180px; height: 40px; margin: 0; background-image: url(../images/logo_head.png); background-size: cover; text-indent: -500em; position: absolute; top: 12px; left: 0;}

@media screen and (max-width: 1199px) {
	header h2.headlogo a { width: 180px; height: 40px; top: 2px;}
}

@media screen and (max-width: 767px) {
	header h2.headlogo a { width: 180px; height: 40px; top: 2px;}
}

/* ****************************************************************

　ヘッダーナビ

****************************************************************　*/

header.menu-container nav { width: 100%; letter-spacing: 0em; text-align: left;}
header.menu-container ul { margin: 0; padding: 0; float: right;}
header.menu-container ul li { display: inline-block; font-size: 1.5rem; font-family: 'Mukta Vaani', sans-serif; text-align: center;}
header.menu-container ul li a { display: block; padding: 20px 10px;}
header.menu-container ul li a:link { color: #fff; text-decoration: none;}
header.menu-container ul li a:visited { color: #fff;}
header.menu-container ul li a:hover { color: #fff;}
header.menu-container ul li a:active { color: #fff;}

header.menu-container ul li>ul { display: none; width: 100% !important; padding: 40px; left: 0; background: rgba(0,0,0,0.8); text-align: left; position: absolute; top: 80px;}
header.menu-container ul li>ul li { width: 32.4%; font-size: 1.2rem !important; margin: 4px; text-align: left; float: left; box-sizing: border-box;}
header.menu-container ul li>ul li a { border: 1px solid rgba(255,255,255,0.7); padding: 0 4px; position: relative;}
header.menu-container ul li>ul li a:link { color: #fff;}
header.menu-container ul li>ul li a:visited { color: #fff;}
header.menu-container ul li>ul li a:hover { border: 1px solid rgba(255,255,255,1.0) !important; color: #fff;}
header.menu-container ul li>ul:hover { display: block;}
header.menu-container ul li>ul.open { display: block;}

header.menu-container ul li>ul li a i { position: absolute; top: 30px; right: 10px;}

header.menu-container ul li>ul li:first-child { height: 170px; border: none;}
header.menu-container ul li>ul li h2 { font-size: 26px; margin: 0; padding: 0 0 10px 0; color: #fff; text-align: center;}

header.menu-container ul li>ul.sub01 li:first-child { background: url("../images/menu_icon_about.png") no-repeat center center;}
header.menu-container ul li>ul.sub02 li:first-child { background: url("../images/menu_icon_business.png") no-repeat center center;}

header nav ul li a { padding: 0 5px; color: #fff; text-transform: uppercase; text-align: center; position: relative; text-decoration: none; display:inline-block;}

header nav ul li a::before { content: ""; position: absolute; top: 0; left: 0; display: block; width: 100%; height: 100%; z-index: -1; background-color: #000; -webkit-transform: scaleY(.3); transform: scaleY(.3); opacity: 0; transition: all .3s}

header nav ul li a:hover { color:#000;}
header nav ul li a:hover::before { opacity: 1; background-color: rgba(255,255,255,0.8); -webkit-transform: scaleY(1); transform: scaleY(1); transition: -webkit-transform .6s cubic-bezier(.08, .35, .13, 1.02), opacity .4s; transition: transform .6s cubic-bezier(.08, .35, .13, 1.02), opacity}

/* Toggle(Button) */

#navToggle { display: none; position:absolute; right:13px; top:18px; width:30px; height:25px; cursor:pointer; z-index: 5;}
#navToggle div {position:relative}
#navToggle span { display:block; position:absolute; width:100%; border-bottom:solid 3px #fff; -webkit-transition: .35s ease-in-out; -moz-transition: .35s ease-in-out; transition: .35s ease-in-out}
	
#navToggle span:nth-child(1) {top:0}
#navToggle span:nth-child(2) {top:11px}
#navToggle span:nth-child(3) {top:22px}

/* スマホナビ */
@media screen and (max-width: 1199px) {
header nav { position: absolute; left: 0; top: -800px; margin-top: 0; width:100%; padding:0; background: #060606; -webkit-transition:.5s ease-in-out; -moz-transition:.5s ease-in-out; -o-transition:.5s ease-in-out; transition:.5s ease-in-out; text-align: left;}

header.menu-container { width: 100%; height: 60px; position: relative;}
header.menu-container ul { padding: 0; margin: 0; background: #060606; float: none;}
header.menu-container ul li { display:block; margin:0; padding: 10px 0 0 0; border-top: 1px solid #666;}
header.menu-container ul li a { display:block; margin: 0; padding: 0 0 10px 0; position: relative;}
header.menu-container ul li a i.first-level { display: table; width: 50px; height: 50px; background: #152d91; position: absolute; right: 0; top: -10px; padding-top: 18px; color: #fff;}
 
/* スマホナビ第2階層 */
header.menu-container ul li>ul { padding: 0; position: relative; top: 0; margin-bottom: 8px;}
header.menu-container ul li>ul li { width: 100%; text-align: center; font-size: 1.4rem; margin: 0 !important; padding: 0; float: none; border: none;}
header.menu-container ul li>ul li a { border: none; padding: 4px;}
header.menu-container ul li>ul li a:link { color: #fff;}
header.menu-container ul li>ul li a:visited { color: #fff;}
header.menu-container ul li>ul li a:hover { border: none !important;}
header.menu-container ul li>ul.open { display: block;}
header.menu-container ul li>ul li:first-child { display: none;}

/* Toggle(Button) */
#navToggle {display: block;}
/* Click Toggle(Button) */
.openNav #navToggle span:nth-child(1) { top: 11px; -webkit-transform:rotate(-45deg); transform:rotate(-45deg)}
.openNav #navToggle span:nth-child(2), .openNav #navToggle span:nth-child(3) { top: 11px; -webkit-transform:rotate(45deg); transform:rotate(45deg)}

/*header menu*/
.openNav nav { -webkit-transform: translateY(860px); transform: translateY(860px)}
}

/* menu cover */
.menu_cover { display: none; background: rgba(0,0,0,0.8);}
.menu_cover.open { display: block; width: 100%; height: 100%; position: absolute; z-index: 10;}

/* ****************************************************************

　フッター

****************************************************************　*/

footer { width: 100%; padding: 60px 0; font-size: 1.4rem; color: #fff; background: #575757;}
footer ul { margin: 0 0 30px 0; padding: 0; list-style-type: none;}
footer ul li { width: 210px; letter-spacing: 0em; float: left;}
footer ul li a:link { color: #fff;}
footer ul li a:visited { color: #fff;}
footer ul li a:hover { color: #fff;}
footer ul li a:active { color: #fff;}
footer p { text-align: right;}

@media screen and (max-width: 991px) {
	footer { padding: 30px 0 50px 0;}
	footer ul { margin-bottom: 40px;}
	footer ul li { width: 100%; float: none; margin-bottom: 20px; text-align: center; background: #444;}
 footer ul li>ul { margin-bottom: 0;}
 footer ul li>ul li { background: #555 !important; margin-bottom: 0;}
 footer p { text-align: center;}
}

/* ****************************************************************

　共通パーツ

****************************************************************　*/

/* ページ先頭に戻るボタン */

#btnTop { display: table; width: 40px; height: 40px; background-color: rgba(0,0,0,0.6); text-align: center; color: #FFF; position: fixed; bottom: -50px; right: 40px; z-index: 1; border-radius: 2px;
-webkit-transition:1.0s ease-in-out;
	-moz-transition:1.0s ease-in-out;
	-o-transition:1.0s ease-in-out;
	transition:1.0s ease-in-out;
}
#btnTop a:hover { text-decoration: none !important;}
#btnTop i { display: table-cell; vertical-align: middle; font-size: 3.0rem;}

#btnTop.disp { bottom: 40px; z-index: 6;}

@media screen and (max-width: 767px) {
	#btnTop { right: 20px;}
	#btnTop.disp { bottom: 20px;}
}

/* moreボタン */

a.btn_more { display: block; width: 20%; margin: 0 auto; text-align: center; border-radius: 6px; background: #fff; border: 1px solid #aaa; padding: 6px 10px;　-webkit-transition: all .3s; transition: all .3s;}
a:link.btn_more { color: #333; text-decoration: none;}
a:visited.btn_more { color: #666;}
a:hover.btn_more { background-color: #eee; border: 1px solid #eee;}

a.btn_more.download { width: 100%; text-align: left; padding-left: 40px;}
a.btn_more.download.ai { background-image: url("../images/icon_file_ai.svg"); background-repeat: no-repeat; background-position: 10px center; background-size: 4%;}
a.btn_more.download.pdf { background-image: url("../images/icon_file_pdf.svg"); background-repeat: no-repeat; background-position: 10px center; background-size: 4%;}

@media screen and (max-width: 767px) {
a.btn_more { width: 85%; margin-bottom: 60px;}
}

/* more囲みなし */
a.link_more { display: inline-block; padding-right: 20px; -webkit-transition: all .3s; transition: all .3s; position: relative;}
a.link_more:after { position: absolute; top: 0; right: 0; content: '\f105'; color: #997484; font-size: 1.6rem; font-family: fontAwesome;}
a:link.link_more { color: #333;}
a:visited.link_more { color: #666;}
a:hover.link_more { padding-right: 30px;}

/* 文字ノセボタン */
.btn_char { position: relative;}
.btn_char span { position:absolute; width: 100%; color: #fff; text-align: center; top: 38%; z-index: 1;}

/* アコーディオン */
dl.accordion dd { display: none;}


/* ****************************************************************

　トップページ

****************************************************************　*/

/* メインカテゴリー */

.main_category { height: 280px; width: 100%; position: relative; overflow: hidden !important; cursor: pointer;}
.main_category .inner_h3 { display: table; width: 100%; height: 280px; background-color: rgba(0,0,0,0.8); top: 280px; padding-top: 10px; left: 0; -webkit-transition: .3s; transition: .3s; position: relative;}
.main_category h3 { font-size: 1.4rem; line-height: 1.8em; color: #fff; padding: 0; margin: 0; text-align: center; top: 160px; left: 0;
}
.main_category:hover .inner_h3 { top: 0; opacity: 1;}
.main_category:hover .inner_h3 h3 { display: table-cell; vertical-align: middle;}
.main_category a:hover { color: #fff;}
.main_category a.pagelink { font-weight: normal !important;}
.main_category a.pagelink:link { color: #fff; text-decoration: none;}
.main_category a.pagelink:hover { color: #fff;}

.main_category.category01 { background-image: url("../images/top_menu01.jpg"); background-repeat: no-repeat; background-size: cover; background-position: center center;}
.main_category.category02 { background-image: url("../images/top_menu02.jpg"); background-repeat: no-repeat; background-size: cover; background-position: center center;}
.main_category.category03 { background-image: url("../images/top_menu03.jpg"); background-repeat: no-repeat; background-size: cover; background-position: center center;}
.main_category.category04 { background-image: url("../images/top_menu04.jpg"); background-repeat: no-repeat; background-size: cover; background-position: center center;}
.main_category.category05 { background-image: url("../images/top_menu05.jpg"); background-repeat: no-repeat; background-size: cover; background-position: center center;}
.main_category.category06 { background-image: url("../images/top_menu06.jpg"); background-repeat: no-repeat; background-size: cover; background-position: center center;}
.main_category.category07 { background-image: url("../images/top_menu07.jpg"); background-repeat: no-repeat; background-size: cover; background-position: center center;}
.main_category.category08 { background-image: url("../images/top_menu08.jpg"); background-repeat: no-repeat; background-size: cover; background-position: center center;}
.main_category.category09 { background-image: url("../images/top_menu09.jpg"); background-repeat: no-repeat; background-size: cover; background-position: center center;}
.main_category.category10 { background-image: url("../images/top_menu10.jpg"); background-repeat: no-repeat; background-size: cover; background-position: center center;}

@media screen and (max-width: 767px) {
 .main_category { height: 180px;}
 .main_category .inner_h3 { height: 180px; top: 180px;}
}

/* 画像アニメーション */

.animate { overflow: hidden !important;}
.ver01 { position: relative; display: block;}
.ver01:before { position: absolute; width: 100%; height: 100%; content: ''; background-color: #575757; transition: all; transition-duration: 0.8s;}
.ver01:before { left: -100%;}
.ver01.moving:before { left: 100%; transition-delay: 1.2s}
.ver01 img { vertical-align: bottom;}

.white:before { width: 100%; height: 100%; content: ''; background: #fff; opacity: 1.0; transition: all 0.5s; position: absolute;}
.white.moving:before { transition-delay: 1.0s; opacity: 0.0; transition-duration: 1.0s;}
.white02:before { width: 100%; height: 100%; content: ''; background: #fff; opacity: 1.0; transition: all 0.5s; position: absolute;}
.white02.moving:before { transition-delay: 1.0s; opacity: 0.0; transition-duration: 1.0s;}

/* ****************************************************************

　汎用リスト・テーブル

****************************************************************　*/

/* マーク付きリスト */

.list_disc { margin-left: 28px; list-style-type: disc;}

/* 番号リスト */

ol.list { margin: 0 0 0 28px; padding: 0; list-style-type: decimal;}

/* チェックリスト */
ul.check_list { margin: 0; padding: 0; list-style-type: none;}
ul.check_list li { padding: 0 0 0 24px; position: relative;}
ul.check_list li:before { position: absolute; top: 0; left: 0; content: '\f046'; color: #997484; font-family: fontAwesome;}


/* 汎用リスト */

ul.list { margin: 0; padding: 0; list-style-type: none;}
ul.list li { padding: 12px 0; border-bottom: 1px solid #d5d1d3;}
ul.list li a:before { content: ""; margin-left: 20px;}

@media screen and (max-width: 767px) {
 ul.list li a:before { content: "\A"; white-space: pre; margin-left: 0;}
}

/* イベントリスト */

ul.event_list { margin: 0; padding: 0; list-style-type: none;}
ul.event_list li { padding: 12px 0; border-bottom: 1px solid #d5d1d3;}
ul.event_list li h3 { display: inline-block; margin: 0 10px 0 0;}
ul.event_list li h3 i { margin-right: 6px;}

/* 汎用テーブル */

table.general { width: 86%; margin: 0 auto 30px auto; border-collapse: collapse; }
table.general tbody th { width: 20%; padding: 10px 0; border-bottom: 1px solid #ddd; text-align: left; font-weight: 600;}
table.general tbody td { padding: 10px 0; border-bottom: 1px solid #ddd;}

table.general tbody td.rest_time { text-align: center;}

@media screen and (max-width: 1199px) {
	table.general { width: 100%;}
}
	
@media screen and (max-width: 767px) {
table.general { border: none;}
table.general tbody th { display:block; width: 100%; background: #ededed; text-align: center; border: none;}
table.general tbody td { display:block; width: 100%; padding: 10px 0; margin-bottom: 0; border: none;}
	table.general tbody td.rest_time { border-top: 1px solid #ddd;}
}

/* 横並びリスト */

ul.float { margin: 0; padding: 0; list-style-type: none;}
ul.float li { display: inline-block; margin: 0 20px 0 6px;}

/* カルーセル */

.owl-carousel { width: 100%; height: 340px; margin: 40px auto 0 auto; padding: 0; list-style-type: none; position: relative;}
.owl-carousel li { text-align: center;}

.owl-carousel-disc { width: 100%; height: 250px; margin: 40px auto 0 auto; padding: 0; list-style-type: none; position: relative;}
.owl-carousel-disc li { display: table; text-align: center;}

.owl-carousel-book { width: 100%; height: 352px; margin: 40px auto 0 auto; padding: 0; list-style-type: none; position: relative;}
.owl-carousel-book li { display: table; width: 220px; height: 352px; text-align: center;}
.owl-carousel-book li div { display: table-cell; min-height: 1px; vertical-align: bottom;}
.owl-carousel-book li p { font-size: 1.4rem; line-height: 1.4em; text-align: center; margin-top: 6px; padding-bottom: 0; height: 52px;}

@media screen and (max-width: 768px) {
 .owl-carousel { width: 90%; height: 260px;}
 .owl-carousel-disc { width: 90%; height: 190px;}
 .owl-carousel-book { width: 100%; height: 420px;}
 .owl-carousel-book li { width: 70%; margin: 0 auto; height: 420px;}
}

.owl-theme .owl-controls .owl-nav .owl-prev, .owl-theme .owl-controls .owl-nav .owl-next { font-size: 3.2rem; position: absolute; top: 36%; margin: 0; padding: 0 20px; -webkit-transform: scaleX(0.5); transform: scaleX(0.5);}

.owl-theme .owl-controls .owl-nav .owl-prev { left: -60px;}
.owl-theme .owl-controls .owl-nav .owl-next { right: -60px;}

@media screen and (max-width: 767px) {
  .owl-theme .owl-controls .owl-nav .owl-prev, .owl-theme .owl-controls .owl-nav .owl-next {
    padding: 0 10px;}
}

@media screen and (max-width: 767px) {
  .owl-theme .owl-controls .owl-nav .owl-prev { left: 5px;}
 .owl-theme .owl-controls .owl-nav .owl-next { right: 5px;}
}

/* ****************************************************************

　ボトムページ

****************************************************************　*/

/* ボトムページヘッダー */

.bottom_header { width: 100%; height: 600px; position: relative;}
.bottom_header h1 { width: 280px; font-size: 2.8rem; color: #fff; font-family: 'Mukta Vaani', sans-serif; letter-spacing: 0em; margin: 0; padding: 4px 0 4px 12px; background: rgba(0,0,0,0.8); position: absolute; top: 46%; left: 6%;}

.bottom_header#visual_publish { background: url("../images/visual_publish.jpg") no-repeat; background-size: cover; background-position: center top;}
.bottom_header#visual_retail { background: url("../images/visual_retail.jpg") no-repeat; background-size: cover; background-position: center top;}
.bottom_header#visual_retail_news { background: url("../images/visual_retail_news.jpg") no-repeat; background-size: cover; background-position: right top;}
.bottom_header#visual_disc { background: url("../images/visual_disc.jpg") no-repeat; background-size: cover; background-position: center top;}
.bottom_header#visual_logistics { background: url("../images/visual_logistics.jpg") no-repeat; background-size: cover; background-position: center top;}
.bottom_header#visual_wholesale { background: url("../images/visual_wholesale.jpg") no-repeat; background-size: cover; background-position: center top;}
.bottom_header#visual_promotion { background: url("../images/visual_promotion.jpg") no-repeat; background-size: cover; background-position: center top;}
.bottom_header#visual_book { background: url("../images/visual_book.jpg") no-repeat; background-size: cover; background-position: left top;}
.bottom_header#visual_print { background: url("../images/visual_print.jpg") no-repeat; background-size: cover; background-position: left top;}
.bottom_header#visual_plastic { background: url("../images/visual_plastic.jpg") no-repeat; background-size: cover; background-position: left top;}
.bottom_header#visual_reuse { background: url("../images/visual_reuse.jpg") no-repeat; background-size: cover; background-position: left top;}
.bottom_header#visual_corporate { background: url("../images/visual_corporate.jpg") no-repeat; background-size: cover; background-position: left top;}
.bottom_header#visual_shops { background: url("../images/visual_retail_news.jpg") no-repeat; background-size: cover; background-position: right top;}

@media screen and (max-width: 767px) {
 .bottom_header { height: 400px;}
}

/* 出版 */

ul.flow_publish { width: 620px; height: 125px; margin: 40px auto 60px auto; background: url("../images/publish_flow.png") no-repeat; background-size: contain;}
ul.flow_publish li { display: none;}

@media screen and (max-width: 767px) {
 ul.flow_publish { width: 100%; height: 260px; margin: 40px auto; background: url("../images/publish_flow_smp.png") no-repeat; background-size: contain; background-position: center center;}
}

/* ディクス製造 */

ul.flow_disc { width: 620px; height: 125px; margin: 40px auto 60px auto; background: url("../images/disc_flow.png") no-repeat; background-size: contain;}
ul.flow_disc li { display: none;}

@media screen and (max-width: 767px) {
 ul.flow_disc { width: 100%; height: 260px; margin: 40px auto; background: url("../images/disc_flow_smp.png") no-repeat; background-size: contain; background-position: center center;}
}
 

/* ロジスティクス */

ul.flow_logistics { width: 880px; height: 125px; margin: 40px auto 60px auto; background: url("../images/logistics_flow.png") no-repeat; background-size: contain;}
ul.flow_logistics li { display: none;}

@media screen and (max-width: 991px) {
 ul.flow_logistics { width: 100%; margin: 30px auto 40px auto;}
}

@media screen and (max-width: 767px) {
 ul.flow_logistics { width: 100%; height: 190px; margin: 40px auto; background: url("../images/logistics_flow_smp.png") no-repeat; background-size: contain; background-position: center center;}
}

/* 印刷 */

ul.flow_print { width: 751px; height: 125px; margin: 40px auto 60px auto; background: url("../images/print_flow.png") no-repeat; background-size: contain;}
ul.flow_print li { display: none;}

@media screen and (max-width: 767px) {
 ul.flow_print { width: 100%; height: 240px; margin: 40px auto; background: url("../images/print_flow_smp.png") no-repeat; background-size: contain; background-position: center center;}
}
 
/* リテール */

dl.shops dt { padding: 18px; margin-bottom: 12px; background-color: #c1c8c9; position: relative; cursor: pointer; color: #333; font-weight: normal;}
dl.shops dt:after { content: "\f0d7"; font-size: 2.0rem; color: #647577; font-family: FontAwesome; position: absolute; top: 14px; right: 18px;}
dl.shops dt.open:after { content: "\f0d8";}

dl.shops dd { padding: 0 18px; display: none;}
dl.shops dd h3 { margin-bottom: 4px;}
dl.shops dd ul.shop_list li { padding: 18px 0; border-bottom: 1px solid #d5d1d3;}
dl.shops dd ul.shop_list li:last-child { border: none;}
dl.shops dd ul.shop_list li:after { content: ""; clear: both; display: block;}

dl.shops dd ul.shop_list .service_icon img { float: left; margin: 0 10px 6px 0;}
dl.shops dd ul.shop_list ul.shop_info li { padding: 2px 0 2px 70px; border: none; position: relative;}
/*dl.shops dd ul.shop_list ul.shop_info li .item_name { display: inline-block; width: 68px; position: absolute; left: 0;}*/ gkd
dl.shops dd ul.shop_list ul.shop_info li .item_name { display: inline-block; width: 200px; position: absolute; left: 0;}

dl.shops dd ul li .shop_name { width: 40%; float: left; font-weight: bold;}
dl.shops dd ul li .shop_name .icon_open { padding: 2px 4px; border-radius: 4px; margin-right: 6px; font-size: 10px; font-weight: normal; color: #fff; background: #997484;}
dl.shops dd ul li .shop_name .icon_ready { padding: 2px 4px; border-radius: 4px; margin-right: 6px; font-size: 10px; font-weight: normal; color: #fff; background: #aaa;}
dl.shops dd ul li .shop_address { width: 60%; float: left;}

@media screen and (max-width: 767px) {
	dl.shops dd { padding: 10px 0;}
	dl.shops dd ul li .shop_name, dl.shops dd ul li .shop_address { width: 100%;}
}

/* 個別店舗情報 */
.shop_photo { margin-bottom: 40px;}
.shop_photo img { width: 100%; height: auto; margin-bottom: 10px;}
.shop_photo i { font-size: 2.6rem; margin-right: 10px;}

.service_icon img { float: left; margin: 0 10px 6px 0;}
ul.shop_info li { padding: 2px 0 2px 80px; border: none; position: relative;}
ul.shop_info li .item_name { display: inline-block; width: 80px; position: absolute; left: 0;}

/* トピックス・イベント・インフォ */

#article_wrapper { border-bottom: 1px solid #ddd; margin-bottom: 60px;}
#article_wrapper h1 { font-size: 2.2rem; line-height: 1.6em; margin: 0 0 30px 0; padding: 0; color: #997484;}
#article_wrapper h2 { font-size: 2.0rem; line-height: 1.6em; margin: 0 0 20px 0; padding: 0;}
#article_wrapper h3 { font-size: 1.8rem; line-height: 1.6em; margin: 0 0 20px 0; padding: 0; color: #333;}
#article_wrapper h4 { font-size: 1.6rem; line-height: 1.6em; margin: 0 0 10px 0; padding: 0; border: none;}
#article_wrapper p.date { font-size: 1.4rem; line-height: 1.2em; color: #aaa; padding-bottom: 10px;}
#article_wrapper img { display: block; margin: 40px auto;}

#article_wrapper .event_date { font-size: 2.0rem; line-height: 1.6em; margin-bottom: 20px;}
#article_wrapper .event_date i { margin: 0 10px;}

h3.place { display: inline; font-size: 1.6rem; padding: 2px 6px; background: #000; color: #fff; margin-bottom: 6px;}

@media screen and (max-width: 767px) {
 #article_wrapper img { width: 100%; height: auto;}
}

ul.page_navi { margin: 0; padding: 0; text-align: center;}
ul.page_navi li { list-style: none; display: inline-block; margin: 0; padding: 0;}
ul.page_navi li.current { padding: 0 8px; border: 1px #000 solid; border-radius: 6px;
  color: #000; font-weight: normal;}
ul.page_navi li a { text-decoration: none; display: inline-block; padding: 0 8px; border: 1px solid #ddd; border-radius: 6px;}
ul.page_navi li a:hover { background-color: #eee;}

/* 企業概要 */

dl.corporate { width: 100%;}
dl.corporate dt { width: 20%; font-weight: normal; border-top: 1px solid #ddd; padding: 26px 20px; float: left;}
dl.corporate dd { width: 80%; border-top: 1px solid #ddd; padding: 26px 20px; float: left;}
dl.corporate dd:after, dl.corporate dd:before { content:""; clear: both; display: block;}
dl.corporate dd p:last-child { padding-bottom: 0;}
dl.corporate dd h4 { font-size: 1.6rem; border: none; color: #647577;}

#tab_wrapper { position: relative;}
#tab_wrapper .tab { position: absolute; right: 0; top: -50px; border: none;}
#tab_wrapper .tab li.active { border-top: 2px solid #997484;}
#tab_wrapper .tab a { border: none; border-radius: 0;}
#tab_wrapper .tab a:hover { background: none; border: none;}

@media screen and (max-width: 767px) {
 dl.corporate dt, dl.corporate dd { width: 100%; float: none;}
 dl.corporate dt { padding: 12px 0; text-align: center; background: #e4eae8;}
}

/* 店舗について */
.shops_wrapper div { padding-top: 260px;}
.shops_wrapper div h4 { border: none; text-align: center; position: relative; z-index: 1;}
.shops_wrapper div h4 span { background: #fff; padding: 0 10px;}
.shops_wrapper div h4:after { content: ""; width: 80%; border: 1px solid #997484; position: absolute; left: 10%; top: 12px; z-index: -1;}
.shops_wrapper div p { width: 70%; margin-left: auto; margin-right: auto;}

.shops_wrapper div#shop_cd { background: url("../images/shop_image01.jpg") no-repeat center 20px;}
.shops_wrapper div#shop_guitar { background: url("../images/shop_image02.jpg") no-repeat center 20px;}
.shops_wrapper div#shop_culture { background: url("../images/shop_image03.jpg") no-repeat center 20px;}
.shops_wrapper div#shop_event { background: url("../images/shop_image04.jpg") no-repeat center 20px;}
.shops_wrapper div#shop_net { background: url("../images/shop_image05.jpg") no-repeat center 20px;}

@media screen and (max-width: 767px) {
 .shops_wrapper div p { width: 80%;}
}

/* コンタクト */
.contact_wrapper div { padding-top: 140px; background: url("../images/icon_phone.png") no-repeat center 20px;}
.contact_wrapper div h4 { border: none; text-align: center; position: relative; z-index: 1;}
.contact_wrapper div h4 span { background: #fff; padding: 0 20px;}
.contact_wrapper div h4:after { content: ""; width: 80%; border: 1px solid #647577; position: absolute; left: 10%; top: 12px; z-index: -1;}
.contact_wrapper div p { font-size: 4.0rem; color: #647577; font-family: 'Mukta Vaani', sans-serif; letter-spacing: 0em; text-align: center;}

@media screen and (max-width: 767px) {
 .contact_wrapper div h4:after { width: 100%; left: 0;}
}

/* お問い合わせフォーム */
.wpcf7 .wpcf7-response-output { padding: 15px; margin-bottom: 20px; border: 1px solid transparent; border-radius: 4px;}
.wpcf7 .wpcf7-validation-errors { }
.wpcf7 .wpcf7-mail-sent-ok { }
.req { font-size: 1.2rem; line-height: 1.8em; font-weight: normal; vertical-align: 2px; margin-left: 5px;}
.wpcf7 .label-danger { background: #997484;}
.wpcf7 .control-label { text-align: left;}
.wpcf7 .btn-warning { background: #997484;}

.wpcf7 h3 { text-align: center; padding-top: 120px; background: url("../images/icon_mail.png") no-repeat center top;}

.wpcf7 input[type="confirm"] { padding: 10px 20px; margin: 40px auto 0 auto; background: #997484; color: #fff; border-radius: 4px; border: none !important; cursor: pointer;}
.wpcf7 input[type="submit"] { padding: 10px 20px; margin: 40px auto 0 auto; background: #997484; color: #fff; border-radius: 4px; border: none !important; cursor: pointer;}
.wpcf7 input.wpcf7c-btn-back { padding: 10px 20px; margin: 40px auto 0 auto; background: #aaa; color: #fff; border-radius: 4px; border: none !important; cursor: pointer;}
.wpcf7 label { white-space: nowrap;}


/* Contact Form 7 add confirmのスタイル上書き */
input.wpcf7c-conf, textarea.wpcf7c-conf { background-color: transparent !important; border: none !important;}
select.wpcf7c-conf { -moz-appearance: none; -webkit-appearance: none; appearance: none; border-radius: 0; border: 0; margin: 0; padding: 0; background: none transparent; vertical-align: middle; font-size: inherit; color: inherit; box-sizing: content-box;}