@charset "utf-8";

*{
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
}


html, body, div, span, object, iframe,
blockquote, pre,abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	margin:0;
	padding:0;
	border:0;
	outline:0;
	font-size:14px;
	vertical-align:baseline;
	background:transparent;
}

h1, h2, h3, h4, h5{
	margin:0;
	padding:0;
	list-style:none;
	font-size:1.2em;
	font-weight:normal;
	line-height:1.8em;
}
 
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
	display:block;
}

ul {
	list-style:none;
}

nav ul {
	list-style:none;
}
 
a {
	color:#444;
	margin:0;
	padding:0;
	vertical-align:baseline;
	text-decoration:none;
	background:transparent;
}
a:hover{
	color:#c00;
}

a:hover img {
    opacity: 0.7;
}

table {
	border-collapse:collapse;
	border-spacing:0;
}

hr {
	display:block;
	height:1px;
	border:0;   
	border-top:1px solid #cccccc;
	margin:1em 0;
	padding:0;
}
 
input,button,select{
	margin:0;
	padding:0;
	background:none;
	border:none;
	border-radius:0;
	outline:none;
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;
	font-family:HelveticaNeue,"HiraKakuProN-W3","メイリオ",sans-serif;
}

/**************** ↑RESET *****************/

html{
	width:100%;
	height:100%;
}

body {
	font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
	background: #fff;
	margin:0px;
	padding:0px;
	font-size:14px;
	line-height:24px;
}

p {
	line-height:1.8em;
	margin-bottom:1.0em;
}

@font-face {
	font-family: 'abelregular';
	src: url('font/abel-regular-webfont.woff2') format('woff2'),
	url('font/abel-regular-webfont.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}

.abel { 
	font-family: 'abelregular';
	letter-spacing:0.1em;
}


.header{
	min-width:1000px;
	position:relative;
	display:block;
	padding:20px 0 0 0;
	border-top:6px #666 solid;
}
@media screen and (max-width:640px){
	.header{
		min-width:0;
		width:100%;
		display:block;
		border-top:6px #666 solid;
	}
}

.footer{
	min-width:1000px;
	position:relative;
	display:block;
	padding:20px 0 0 0;
	background-color:#ccc;
	border-top:10px #eee solid;
	border-bottom:6px #666 solid;
	margin-top:80px;
}
@media screen and (max-width:640px){
	.footer{
		min-width:0;
		width:100%;
		display:block;
		background-color:#ccc;
		border-top:10px #eee solid;
		border-bottom:6px #666 solid;
	}
}

.main,
.pancuz{
	min-width:1000px;
	position:relative;
	display:block;
}


@media screen and (max-width:640px){
	.main,
	.pancuz{
		min-width:0;
		width:100%;
		display:block;
	}
}

.header .header-in,
.main .main-in{
	width:1000px;
	display:table;
	margin:0 auto;
}

@media screen and (max-width:640px){
	.header .header-in,
	.main .main-in{
		display:block;
		width:100%;
		padding:0 15px;
		box-sizing: border-box
	}
}

.footer .footer-in,
.pancuz .pancuz-in{
	width:1000px;
	margin:0 auto 20px auto;
	padding:0;
}
@media screen and (max-width:640px){
	.footer .footer-in,
	.pancuz .pancuz-in{
		display:block;
		width:100%;
		padding:0 15px;
		box-sizing: border-box
	}
}

.bg_gray{
	background-color:#ccc;
}

@media screen and (max-width:640px){
	.footer .footer-in,
	.pancuz .pancuz-in{
		width:100%;
		padding:0 15px;
	}
}

.logo{
	display:table-cell;
	width:130px;
	padding-bottom:10px;
	position:relative;
	z-index:10;
}
@media screen and (max-width:640px){
	.logo{
		display:table-cell;
		width:160px;
		margin:20px auto;
	}
}

/**************** global_navi *****************/

.nav{
	display:table-cell;
	width:870px;
	vertical-align:bottom;
}
@media screen and (max-width:640px){
	.nav{
		display:none;
	}
}

.nav ul{
	float:right;
	overflow:hidden;
}

.nav ul li{
	display:table-cell;
	width:165px;
	height:65px;
	text-align:center;
	vertical-align:middle;
}

.nav ul li a{
	display:block;
	line-height:60px;
}

.nav ul li:hover {
    color: #c00;
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAA8CAYAAABfESsNAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAxSURBVHjaYvz//z8DMYCJgUgwqnBU4ajCUYWjCkcVjiocVUhXhYxnlJT+DxfPAAQYAJ0CBYMd+0nnAAAAAElFTkSuQmCC) repeat-x bottom left;
}

.utility{
	width:1000px;
	margin:-105px auto 0 auto;
	text-align:right;
	position: relative;
	z-index:5;
}
@media screen and (max-width:640px){
	.utility{
		display:none;
	}
}

.utility ul{
}

.utility ul li{
	display:inline-block;
	margin-left:30px;
}

.utility ul li input[type="text"]{
	width:120px;
	font-size:0.8rem;
	height:24px;
	line-height:24px;
	border:1px solid #ccc;
	background:#fff;
	vertical-align:bottom;
}
.utility ul li input[type="submit"]{
	text-indent:-9999px;
	overflow:hidden;
	width:26px;
	height:26px;
	background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAmCAYAAACoPemuAAACiElEQVR42s2Yj2dVYRjHz7lttdTd3G2CWLM0YHLXXIpZqK5qNgUS5AbMkIhJQVEkhGCRGdB/0KgE925jt1DacLebFpXYVm3Isnb6vryXx+Oce5733PN29/Dhfc/d+9zPfd+9v47reZ4jiL3gPDgNekEnaAPbYBUsgSKYAq/AX6fWUGJVaAcPwE9PHl/BGNgXkrsq1T68Cta86LEMzsYpthtM+nzRe3AN9OmedMEucACcALfBEmuzDe7ov61JTElNseQfwBmDpMPgM8vxuFYx3lMPIw5FDyiwXDejiuVYohu1/PNqxkm+LdBvKtYGVmLoKT9mSN4F0Ggidp81dmLkKJvdOanYHtYwG7NYZempxJxU7AKbgY4FXLaEHAxrk8Dif4psBBOOnVD73rQuu2AorIESS5P6rGMvnpDycYnYEVJftCi2TMqHJGJJUt+wKPaDlFMSMXrucZ0dEkrsF6m3WPyudlJekYiVSL3bolgXKX+UiBVJfcCiWI6Ui5ITbJYsfmVLC2wTW2C7JCt/A/hCGg5ZELtO8udNNvEx0vCTPk/FJdWne6kSF03E9rNTZyFGsRLJOwsSpgfFQfbLHsUg9Y7k+20yEvzBPXaKLUQc1mNgkeVS9WRUMXU8eepzT7xkIDUC/gRc6fJSOdfnJq62pbvgFtuivoFnYAaUwbp+rm7kh8FJcAU0kTab4DvoIM8K4FzovlzFOutzTzSJNyANUuCtac9JFsZRQ8EiuMxmn7GcK3ypoiKjX6qk9dA16+eremjnwAswH9A+pV+49IqG1dIWFIS45/63mFiuHmIiuXqJhcrVUyxITu02SZNZaSv8ZuvznSCmohW81HLqDpKt91BSWsFrkFH1f906J/LEovPgAAAAAElFTkSuQmCC) no-repeat center center;
	background-size:14px 14px;
	background-color:#000;
	padding:5px;
	border-style: none;
	cursor: pointer;
}

/**************** sp_menu *****************/

#spmenu {
	display:none;
}
@media screen and (max-width:640px){
	#spmenu {
		display:block;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 60px;
		z-index: 2;
	}
	#spnenu::after {
		content: "";
		clear: both;
		display: block;
	}
}

.sb-toggle-right {
	position: absolute;
	top: 25px;
	right: 15px;
	width:38px;
	height:38px;
	background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAjCAYAAAD8BaggAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAACrSURBVHjaYpw5cyYDFDgCsTsQazPQF1wF4p1AvB/EYYEKxgJxGMPAAG0olgHixSzQkBkoxyADkBueMEGjabAAd6YBSDN4o4+JYZCBUQeNOmjYOYiFGEVpaWk+1LBs1qxZW0ajjC5RRkxQjybq0UQ9mqhHE/Vooh5N1KNRNuqgUQdRz0FXB5F7roIctHMQOWgnyEGggaJVg8AxIDfsh5XUi4H4CcMgGEEDCDAAF1snWmDjW7UAAAAASUVORK5CYII=) no-repeat center center;
	text-indent:-9999px;
	overflow: hidden;
}

.sb-slidebar ul {
	padding: 0;
}

.sb-slidebar li {
	list-style: none;
	line-height:48px;
	border-top: 1px dotted #fff;
}

.sb-slidebar.sb-right {
	-webkit-overflow-scrolling: touch;
}

.sb-right-inner {
	color:#fff;
	background-color:#ccc;
	border: none;
	width: 100%;
	padding:15px;
	height: 100%;
}

/**************** other *****************/

img.img_full{
	width:100%;
}
img.img_max{
	max-width:100%;
}

.for_pc{display:block!important;}
.for_sp{display:none!important;}
@media screen and (max-width:640px){
	.for_sp{display:block!important;}
	.for_pc{display:none!important;}
}

.right{text-align:right!important;}
.center{text-align:center!important;}
.left{text-align:left!important;}
.center_block{margin:0 auto;}

.normal{font-weight:normal;}
.bold{font-weight:bold;}

/**************** panel *****************/

.top_panel{
	width:100%;
	min-width:1000px;
	height:470px;
	display:block;
	margin-top:79px;
	border-top:10px #eee solid;
	border-bottom:10px #eee solid;
	margin-bottom:30px;
	background-color:#aaa;

}

@media screen and (max-width:640px){
	.top_panel{
		min-width:0;
		width:100%;
		display:block;
		margin:0;
		height:auto;
		border-top:0;
		border-bottom:0;
	}
}

.panelbtn{
	margin-top:-70px;
}

.paneltxt{
	font-size:24px;
	color:#fff;
	background-color: rgba(0,0,0,0.8);
	padding:5px 12px;
}

a:hover .paneltxt{
	display;block;
	font-size:24px;
	color:#fff;
	background-color: rgba(204,0,0,1)!important;
	padding:4px 10px;
}

.panelcap{
	margin-top:55px;
	font-size:14px;
}

/**************** title *****************/
.ttl_lv1{
	font-size:2.0em;
	font-weight:normal;
	line-height:1.0em;
}
.ttl_lv2{
	font-size:1.7em;
	border-bottom:1px solid #ccc;
	font-weight:normal;
	padding-bottom:6px;
}
.ttl_lv2e{
	font-size:2.5em;
	border-bottom:1px solid #ccc;
	font-weight:normal;
}
.ttl_lv2.ttl_lv2-sub{
	font-size:1.2em;
}

@media screen and (max-width:640px){
	.ttl_lv1{
		margin-top:30px;
	}
	.ttl_lv2{
		font-size:1.4em;
		border-bottom:0;
		font-weight:normal;
		padding-bottom:4px;
		margin-top:30px;
	}
	h2 br{display: none;}
}

.gray_title{
	background-color:#ddd;
	padding:5px 10px;
	border-left:6px #aaa solid;
}
.gray_title2{
	font-size:16px;
	background-color:#ccc;
	padding:8px;
	border-top: 10px #eee solid;
}
.gray_title3{
	background-color:#999;
	padding:5px 10px;
	border-left: 6px #666 solid;
	color:#fff;
}
.gray_border{
	padding:5px 7px;
	border: 1px #aaa solid;
}

.gray_title_L{
	font-size:1.7em;
	background-color:#eee;
	padding:5px 20px;
	border-left:6px #ccc solid;
}

.pink_title{
	background-color:#ffcce0;
	padding:5px 10px;
	border-left:6px #ff99bb solid;
}

.arrow_g{
	display:inline-block;
	padding-left:30px;
	background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAATCAYAAACZZ43PAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAACOSURBVHjaYvz//z8DJYCJgUJAsQEsq1evBtF5QFwKxDJE6nsCxN1APImFDM0MULWlMC+QqhnFECY8mpcSYwgTHs0xQJxPMBBxiEdD6RgoPZFUA4g2hIWACwkaQvOUCAvMPFxeYKJEMz4DiNJMTDRGExMGTwgYgjdTMUFz1RMyIgCcI0EGTCLDEHh2BggwAHihIMA7d28mAAAAAElFTkSuQmCC) no-repeat left top;
}

.arrow_w{
	display:inline-block;
	padding-left:30px;
	background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAATCAYAAACZZ43PAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAB7SURBVHjatFNBDsAgCEPf4Rv9yL6xvYz9o4PFg5chimvSBGNaLWICQBFkCmKbQRWyEE5y08gKqELGPFRTkxbiUxYT3NkQXw6DQh/XO/V5WzwTZOy5TGhwwNCEHN02TcKD9GuEUBO3PeMQW0b50GJF/Gq7rDz7E1X7CDAAjS6IRG6CEc0AAAAASUVORK5CYII=) no-repeat left top;
}

.arrow_g:hover,
.arrow_w:hover{
	background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAATCAYAAACZZ43PAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAACXSURBVHjaYvz//z8DJYCJgUJAsQEsZxkZQXQeEJcCsQyR+p4AcTcQT2IhQzMDVC1IDwPjGQaGxyRqRnEJEx7NS4lxCRMezTFAnE8wEHGIR0PpGCg9kVQDiDaEhYALCRpC85QIC8w8XF5gokQzPgOI0kxMNEYTEwZPCBhCMCl34zGEYI5kTmNgOAlk/AViXSDmIzU7AwQYACW9IYFP38K8AAAAAElFTkSuQmCC) no-repeat left top;
}



/**************** breadcrumb *****************/

.pancuz{
	position:relative;
	color:#666;
	height:95px;
}
.pancuz .pancuz-in{
	display:table;
	height:20px;
}
.pancuz ol{
	display:table-cell;
	vertical-align:bottom;
}
.pancuz ol li{
	display:inline;
	vertical-align:top;
	padding-right:5px;
}
.pancuz ol li:after{
	content:">";
	display:inline-block;
	padding-left:5px;
}
.pancuz ol li:last-child:after{
	content:"";
}
.pancuz ol li a:link,
.pancuz ol li a:visited{
	color:#666;
	text-decoration:underline;
}
.pancuz ol li a:hover{
	color:#c00;
}
@media screen and (max-width:640px){
	.pancuz{
		display:none;
	}
}

/**************** block_layout *****************/

.tier{
	margin-top:30px;
	font-size:0;
}

.tier .box{
	display:inline-block;
	font-size:1.0rem;
	vertical-align:top;
}
.tier .box *:first-child{
	margin-top:0;
}

.tier .box img{
	max-width:100%;
	height:auto;
}

@media screen and (max-width:640px){
	.tier{
		margin-top:20px;
	}
	.tier .box:first-child{
		margin-top:0!important;
	}
}


/**** row-2 ****/
.tier.row-2{
	padding-right:20px;
}
.tier.row-2 .box{
	width:50%;
	margin-right:20px;
}
.tier.row-2 .box:nth-child(n+3){
	margin-top:40px;
}

@media screen and (max-width:640px){
	.tier.row-2{
		padding-right:0;
	}
	.tier.row-2 .box{
		width:100%;
		margin-right:0;
		display:block;
		margin-top:15px;
	}
	.tier.row-2 .box:nth-child(n+3){
		margin-top:15px;
	}
}

.tier.row-2 .box:nth-child(2n){
	margin-right:-20px;
}
@media screen and (max-width:640px){
	.tier.row-2 .box:nth-child(2n){
		margin-right:0;
	}
}

/**** panel-2 ****/
.tier.panel-2{
	padding-right:100px;
	text-align:center;
}
.tier.panel-2 .box{
	width:30%;
	margin-right:100px;
}
.tier.panel-2 .box:nth-child(n+3){
	margin-top:40px;
}

@media screen and (max-width:640px){
	.tier.panel-2{
		padding-right:0;
	}
	.tier.panel-2 .box{
		width:100%;
		margin-right:0;
		display:block;
		margin-top:15px;
	}
	.tier.panel-2 .box:nth-child(n+3){
		margin-top:15px;
	}
}

.tier.panel-2 .box:nth-child(2n){
	margin-right:-100px;
}
@media screen and (max-width:640px){
	.tier.panel-2 .box:nth-child(2n){
		margin-right:0;
	}
}

/**** row-3 ****/
.tier.row-3{
	padding-right:20px;
}
.tier.row-3 .box{
	width:33%;
	margin-right:20px;
}
.tier.row-3 .box:nth-child(n+4){
	margin-top:40px;
}

@media screen and (max-width:640px){
	.tier.row-3{
		padding-right:0;
	}
	.tier.row-3 .box{
		width:100%;
		margin-right:0;
		display:block;
		margin-top:15px;
	}
	.tier.row-3 .box:nth-child(n+4){
		margin-top:15px;
	}
}

.tier.row-3 .box:nth-child(3n){
	margin-right:-60px;
}
@media screen and (max-width:640px){
	.tier.row-3 .box:nth-child(3n){
		margin-right:0;
	}
}

/**** panel-3 ****/
.tier.panel-3{
	padding-right:80px;
}
.tier.panel-3 .box{
	width:280px;
	margin-right:80px;
}
.tier.panel-3 .box:nth-child(n+4){
	margin-top:40px;
}

.tier.panel-3 .box a:hover img {
	opacity: 1.0;
}

@media screen and (max-width:640px){
	.tier.panel-3{
		padding-right:0;
	}
	.tier.panel-3 .box{
		width:100%;
		margin-right:0;
		display:block;
		margin-top:15px;
	}
	.tier.panel-3 .box:nth-child(n+4){
		margin-top:15px;
	}
}

.tier.panel-3 .box:nth-child(3n){
	margin-right:-160px;
}
@media screen and (max-width:640px){
	.tier.panel-3 .box:nth-child(3n){
		margin-right:0;
	}
}



/**** row-4 ****/
.tier.row-4{
	padding-right:36px;
}
.tier.row-4 > .box{
	width:25%;
	margin-right:12px;
}
.tier.row-4 > .box:nth-child(n+5){
	margin-top:30px;
}
.tier.row-4.cols-panel > .box:nth-child(n+5){
	margin-top:12px;
}

@media screen and (max-width:640px){
	.tier.row-4{
		padding-right:15px;
	}
	.tier.row-4 > .box{
		width:50%;
		margin-right:15px;
	}
	.tier.row-4 > .box:nth-child(n+5){
		margin-top:15px;
	}
	.tier.row-4 > .box:nth-child(n+3){
		margin-top:15px;
	}
	.tier.row-4.cols-panel > .box:nth-child(n+5){
		margin-top:15px;
	}
}

.tier.row-4 > .box:nth-child(4n){
	margin-right:-36px;
}
@media screen and (max-width:640px){
	.tier.row-4 > .box:nth-child(4n){
		margin-right:-15px;
	}
	.tier.row-4 > .box:nth-child(2n){
		margin-right:-15px;
	}
}

/**** row2_with_side ****/
/* 1-2 */
.tier.row-2 > .box.with_side_2of3{
	width:66.6%;
	margin-right:40px;
}
.tier.row-2 > .box.with_side_1of3{
	width:33.3%;
	margin-right:40px;
}
/* 1-3 */
.tier.row-2 > .box.with_side_3of4{
	width:700px;
	margin-right:40px;
}
.tier.row-2 > .box.with_side_1of4{
	width:240px;
	margin-right:40px;
}

@media screen and (max-width:640px){
	.tier.row-2 > .box.with_side_2of3,
	.tier.row-2 > .box.with_side_1of3,
	.tier.row-2 > .box.with_side_3of4,
	.tier.row-2 > .box.with_side_1of4{
			width:100%;
			margin-right:0;
			display:block;
			margin-top:15px;
	}
}

/***** common *****/
.tier.row-2 > .box:nth-child(2n){
	margin-right:-40px;
}
@media screen and (max-width:640px){
	.tier.row-2 > .box:nth-child(2n){
		margin-right:0;
	}
}

.tier > .box.border1{
	border:1px solid #ccc;
}

/*** border_box_aside ***/

.border_box_aside{
	border:0;
	background-color:#eee;
	padding:12px 20px 20px 20px;
}
.border_box_aside > *:first-child{
	margin-top:0;
}
.border_box_aside + .border_box_aside{
	margin-top:10px;
}

.border_box{
	border:1px solid #ccc;
	padding:20px;
}
.border_box > *:first-child{
	margin-top:0;
}
.border_box + .border_box{
	margin-top:0px;
}


.border_box_small{
	border:1px solid #ccc;
	padding:10px;
}
.border_box_small > *:first-child{
	margin-top:0;
}
.border_box_small + .border_box_small{
	margin-top:0px;
}

/**************** blockquote *****************/

blockquote{
  display:block;
  background: #fff;
  padding: 15px 20px 15px 45px;
  margin: 0 0 20px;
  position: relative;
  
  /*Font*/
  font-size: 16px;
  line-height: 1.2;
  color: #666;
  text-align: justify;
  
  /*Borders - (Optional)*/
  border-left: 15px solid #eee8aa;
  border-right: 2px solid #eee8aa
  
  /*Box Shadow - (Optional)*/
  -moz-box-shadow: 2px 2px 15px #ccc;
  -webkit-box-shadow: 2px 2px 15px #ccc;
  box-shadow: 2px 2px 15px #ccc;
}

blockquote::before{
  content: "\201C"; /*Unicode for Left Double Quote*/
  
  /*Font*/
  font-family: Georgia, serif;
  font-size: 60px;
  font-weight: bold;
  color: #999;
  
  /*Positioning*/
  position: absolute;
  left: 10px;
  top:5px;
}

blockquote::after{
  /*Reset to make sure*/
  content: "";
}

blockquote a{
  text-decoration: none;
  background: #eee;
  cursor: pointer;
  padding: 0 3px;
  color: #c76c0c;
}

blockquote a:hover{
 color: #666;
}

blockquote em{
  font-style: italic;
}

/**************** news_list *****************/
ul.news_list{
}
ul.news_list > li{
	border-bottom:1px dotted #666;
	padding:18px 0;
	display:table;
	table-layout:fixed;
	width:100%;
}
ul.news_list > li > span{
	display:table-cell;
	vertical-align:top;
}
ul.news_list > li > span.news_list-date{
	width:7em;
	padding-right:10px;
	-moz-box-sizing:content-box;
	-webkit-box-sizing:content-box;
	box-sizing:content-box;
}
ul.news_list > li > span.news_list-icon{
	width:7em;
	padding-right:10px;
	-moz-box-sizing:content-box;
	-webkit-box-sizing:content-box;
	box-sizing:content-box;
}
ul.news_list > li > span.news_list-text{
	width:auto;
}
ul.news_list > li > span.news_list-text a{
	font-weight:normal;
}

#news_ttl {
	font-size:2.4rem;
	margin:10px 0;
}
#news_list_ttl {
	font-size:2.4rem;
	font-weight:normal;
}
#newsbody {
	display:block;
	margin:40px 0;
}
#newsbody img {
}

#newsbody ul{padding-left:20px;list-style-type: disc;}

#newsbody img.img_full {
	max-width: 100%;
}
@media screen and (max-width:640px){
	ul.news_list{
		margin-top:15px;
	}
	ul.news_list > li{
		padding:8px 0;
		display:block;
		width:100%;
	}
	ul.news_list > li > span{
		display:inline-block;
		vertical-align:middle;
	}
	ul.news_list > li > span.news_list-date{
	}
	ul.news_list > li > span.news_list-icon{
	}
	ul.news_list > li > span.news_list-text{
		display:block;
		margin-top:5px;
	}
	#news_ttl {
		font-size:1.6rem;
		margin:10px 0;
	}
	#news_list_ttl {
		font-size:1.6rem;
		font-weight:normal;
	}
	#newsbody {
		width:100%;
	}
	#newsbody img {
		max-width:100%;
		height:auto;
	}
	
	#newsbody img.img_full {
		width:100%;
	}
}

/*** icon ***/
span[class^="i_"]{
	-moz-box-sizing:content-box;
	-webkit-box-sizing:content-box;
	box-sizing:content-box;
	display:inline-block;
	width:6em;
	padding:0 6px;
	text-align:center;
	border-radius:6px;
}
.i_update{
	background-color:#f93;
	color:#fff;
}
.i_event{
	background-color:#c6c;
	color:#fff;
}
.i_news{
	background-color:#687;
	color:#fff;
}
.i_info{
	background-color:#46a;
	color:#fff;
}
.i_campaign{
	background-color:#d13;
	color:#fff;
}


/*** list_link ***/
ul.list_link,
ol.list_link{
	margin-top:15px;
}
ul.list_link > li,
ol.list_link > li{
	margin-top:5px;
}

/*** list ***/
ul.list_normal,
ol.list_normal{
	margin-top:20px;
}
.list_no_mark{
	list-style:none !important;
}

/**** normal ****/
ul.list_normal > li{
	list-style-type:disc;
	margin-left:2em;
	margin-top:5px;
}
ul.list_normal > li.list_normal-inline{
	float:left;
	margin-right:10px;
}
ol.list_normal > li{
	list-style-type:decimal;
	margin-left:2em;
	margin-top:5px;
}

/**************** footer *****************/
.footer_link li{
	font-size:0.9em;
	margin-bottom:0.5em;
}

/**************** pages *****************/
.page_header{
	width:100%;
	height:200px;
	background-color: #777;
	display:block;
	margin:79px auto 10px auto;
	border-top:10px #eee solid;
	border-bottom:10px #eee solid;
}

.no_page_header{
	width:1000px;
	height: 10px;
	display:block;
	margin:79px auto 10px auto;
	background-color: #eee;
}
@media screen and (max-width:640px){
	.page_header{
		min-width:0;
		width:100%;
		display:block;
		margin:0;
		height:auto;
		border-top:0;
		border-bottom:0;
	}
	.no_page_header{
		min-width:0;
		width:100%;
		display:block;
		margin:0;
		height:auto;
		background-color: #eee;
	}
}

.philosophy_title{width:1000px; background:url(/images/bg_phi.jpg) no-repeat center center;}
.branding_title{width:1000px; background:url(/images/bg_bra.jpg) no-repeat center center;}
.information_title{width:1000px; background:url(/images/bg_inf.jpg) no-repeat center center;}
.works_title{width:1000px; background:url(/images/bg_wks.jpg) no-repeat center center;}
.company_title{width:1000px; background:url(/images/bg_com.jpg) no-repeat center center;}
.contact_title{width:1000px; background:url(/images/bg_con.jpg) no-repeat center center;}

@media screen and (max-width:640px){
	.philosophy_title{width:100%; background:url(/images/bg_phi_sp.jpg) no-repeat center center;}
	.branding_title{width:100%; background:url(/images/bg_bra_sp.jpg) no-repeat center center;}
	.information_title{width:100%; background:url(/images/bg_inf_sp.jpg) no-repeat center center;}
	.works_title{width:100%; background:url(/images/bg_wks_sp.jpg) no-repeat center center;}
	.company_title{width:100%; background:url(/images/bg_com_sp.jpg) no-repeat center center;}
	.contact_title{width:100%; background:url(/images/bg_con_sp.jpg) no-repeat center center;}
}

.pagetitle{
	display: inline-block;
	font-size:24px;
	color:#fff;
	background-color: rgba(0,0,0,0.8);
	padding:10px 16px;
	margin:70px 25px;
}
@media screen and (max-width:640px){
	.pagetitle{
		display: inline-block;
		margin:65px 10px;
	}
}

/**************** accordion_sp ****************/
@media screen and (max-width:640px){
	.accordion_sp{
		border:1px solid #ccc;
		padding:15px;
	}
	.accordion_sp > *:first-child{
		margin-top:0;
	}
	.accordion_sp .accordion_sp-content{
		display:none;
	}
	.accordion_sp .accordion_sp-trigger{
		position:relative;
	}
	.accordion_sp .accordion_sp-trigger.heading_lv2{
		padding-bottom:0;
		border-bottom:none;
	}
	.accordion_sp .accordion_sp-trigger:before{
		content:"";
		position:absolute;
		top:11px;
		right:0;
		width:13px;
		height:13px;
		border-top:1px solid #000;
		border-right:none;
	}
	.accordion_sp .accordion_sp-trigger:after{
		content:"";
		position:absolute;
		top:5px;
		right:-7px;
		width:13px;
		height:13px;
		border-left:1px solid #000;
	}

	.accordion_sp.open .accordion_sp-trigger.heading_lv2{
		padding-bottom:4px;
		border-bottom:1px solid #ccc;
	}
	.accordion_sp.open .accordion_sp-trigger:before{
	}
	.accordion_sp.open .accordion_sp-trigger:after{
		border-left:none;
	}

}

/**************** inquiry *****************/

.inquiry{
	padding:20px;
	background-color:#f0f0f0;
	box-sizing:content-box;
	margin:0 auto;
}
.inquiry2{
	width:70%;
	padding:20px;
	background-color:#f0f0f0;
	box-sizing:content-box;
	margin:-30px auto 0 auto;
}
@media screen and (max-width:640px){
	.inquiry,.inquiry2{
		width:80%;
	}
}
.inquiry .small_box{
	display:table;
	text-align:center;
	vertical-align:middle;
	width:100%;
}
.tel{
	color:#c22;
	font-size:24px;
	line-height:44px;
	font-weight:bold;
	padding-left:42px;
	display:inline-block;
	background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAH3SURBVHjavFftbcIwECVW/+MRUhYg3SAb4BHCBE0nACYoGxAmKExQBqjUZALaDZwNakvn6pSe4zMxPelEEpK75/t4Z2cfi8UsQpTRldHcqDRawPPWqDb6ZfRk9Mw1+MB4xzrbgHPpeadA1xWAsUBe4NorIuB8a/QTjMqISEn45grgowFIcLyJdEzZcYuQXAAFIC9m6cRrUxCI3yeueiwaf2yLf3I+9EECqANht621M9olSMfW3WTAA/lYoRhZG21QW14ngrCt+Wh/BWo3ObLyBt1bsjkmSMUep0CNvNwQz04J6mHlAFjn80C47gHARkGJwOpnRGpsDRwSdUUpwODoSwQ9V6kISjD6fkUASCVzC2DJmIZq0AW7lBHgyDMRhXMKBILJbCVRrFUCVuxEaMOA5DCoFw3AMIgelM2IAnLK7ds3giMciG+0VePWSCsiSaUkOEDDgClRNG2NPDFSdHHDSAfYkGLCNSN9iogaTpcUN1KrgrleMNI2tojfYVRHFo+b63aEv3rYtIL/fKuv8bZcw3jc3NBKNWiDCrokKBzL3qUvGxxMWgYzTpUOp04QVd7f0Xk/jIzw9HV/R+c6dC5ooai6xGHPwTbrZOTIZTcxGj3YKHycwTkb5rAJ7SMdH+Hb7dTTsUY7IAXqOH+JQqwhxJcYYvsRYADTQnf6tdajcAAAAABJRU5ErkJggg==) center left no-repeat;
}
.pc{
	background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAA5UlEQVRYR+2X0Q2CQBBE31SgJdiBdqB2YAdqB1qJdKB2YAdqB1iBlGAHa1YDMQQNMRzwcfvLsTP3NmQH0XGpY32igYKAmS2APTAMPJYHsJZ0cp1PAxdgGlg8b3+VNPtm4AZsAhlJgDHw00DxsGkTZpZTjgYigUggEogE+k2g6RVQ1a+SwAFYtqEOHCWtyuvYg0ioNVy+VyLJg0nPMqGZ7YBJ4DGkkra5xiuSmZnjP7cgnuumwNzHoD/F/QbepFweNAc1Cb5NmNkdGNV8yY9lgH8xVeXj83RdtzI3YHVPhzgX/4wigSfEIrYGonPfCwAAAABJRU5ErkJggg==) center left no-repeat;
	padding-left:42px;
	z-index:10;
}
.button {cursor: pointer;color: #ffffff;margin:0 auto;line-height: 24px;font-size: 16px;font-weight: bold; background-color: #c22;border:0px; -webkit-border-radius: 6px;-moz-border-radius: 6px;-khtml-border-radius: 6px;border-radius: 6px;}
.button { display: inline-block; text-decoration: none; padding: 10px 20px;}
.button:hover{ background-color:#ff7777;}




/**************** company ****************/


.company_table{
	display:table;
	width:100%;
	margin-top:15px;
	margin-bottom:20px;
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
	border-right: 1px solid #ccc;
	border-spacing: 0;
}
.company_table th{
	white-space: nowrap;
	background-color:#ddd;
	padding:10px 15px;
	border-bottom: 1px solid #ccc;
	vertical-align:middle;
}
.company_table th.no_bold{
	letter-spacing: 0.2em;
	font-weight:normal;
	background-color:#ddd;
	padding:10px 15px;
	border-bottom: 1px solid #ccc;
	vertical-align:middle;
}
.company_table td{
	padding:10px 15px;
	border-bottom: 1px solid #ccc;
	vertical-align:middle;
}
.company_table td.bold,
.company_table td.bold2{
	font-weight:bold;
	padding:10px 15px;
	border-top: 0;
	border-bottom: 1px solid #ccc;
	vertical-align:middle;
}
.company_table td.middle{
	padding:10px 15px;
	border-bottom: 1px solid #ccc;
	vertical-align:middle;
}
.company_table th .pref,
.company_table td .pref{
	display:block;
}
dd.ind{
	margin-left:20px;
	margin-bottom:10px;
}
.gmap{
	width:100%
}


@media screen and (max-width:640px){

	.company_table,
	.company_table thead,
	.company_table tbody,
	.company_table tfoot,
	.company_table tr,
	.company_table th,
	.company_table td{
		display: block;
	}
	.company_table td.middle{
	padding:10px 15px 0 15px;
	border-bottom: 0px;
	}
	.company_table td.bold{
	font-weight:bold;
	padding:10px 15px;
	border-top: 10px solid #d0d0d0;
	border-bottom: 1px solid #ccc;
	vertical-align:middle;
	}
	.company_table td.bold{
	font-weight:bold;
	padding:10px 15px;
	border-bottom: 1px solid #ccc;
	vertical-align:middle;
	}
	.company_table th .pref,
	.company_table td .pref{
	display:inline-block;
	height:16px;
	margin:0 10px;
	}
}

.za_orange{
	-moz-box-sizing:content-box;
	-webkit-box-sizing:content-box;
	box-sizing:content-box;
	display:inline-block;
	width:8em;
	font-size:1.0rem;
	padding:0 4px;
	text-align:center;
	border-radius:6px;
	background-color:#fa6;
	margin:0 0 10px 0;
	color:#fff;
}

/*** normal_table_noBlock ***/
.ta_01{
	width: 100%;
	border-collapse: collapse;
}
.ta_01 th{
	text-align:center;
	padding: 4px;
	vertical-align: top;
	color: #333;
	background-color: #eee;
	border: 1px solid #b9b9b9;
}
.ta_01 td{
	text-align:center;
	background-color: #fff;
	border: 1px solid #b9b9b9;
}
.ta_01 td.lu{
	text-align:center;
	background-color:#fff;
	border-top:0;
	border-left:0;
}

dl.indent_list {  
    width: 100%;  
    overflow: hidden;
}
dl.indent_list dt {
    float: left;
    padding: 5px 0;
}
dl.indent_list dd {
    padding: 5px 0 5px 100px;
}
dl.indent_list dd a {
    font-weight: bold;
} 

/**************** blog ****************/
.blog_panel{
	width:100%;
	min-width:1000px;
	color:#fff;
	height:170px;
	display:block;
	margin-top:79px;
	border-top:10px #eee solid;
	border-bottom:10px #eee solid;
	margin-bottom:10px;
	background:url(/images/blog_bg.png);
	overflow:hidden;
}
@media screen and (max-width:640px){
	.blog_panel{
		min-width:0;
		width:100%;
		display:block;
		margin:0;
		height:auto;
		border-top:0;
		border-bottom:0;
	}
}
.blog_header{
	width:1000px;
	display:block;
	margin:0 auto;
	padding:30px 0;
}
.bigtitle{
	display: inline-block;
	font-size:48px;
	color:#fff;
	background-color: rgba(0,0,0,0.8);
	padding:20px 16px;
	margin:0;
}
@media screen and (max-width:640px){
	.bigtitle{
		display: inline-block;
		font-size:36px;
		color:#fff;
		background-color: rgba(0,0,0,0.8);
		padding:20px 16px;
		margin:0;
	}
}
.blog_thum{
	display:block;
	width:320px;
	height:180px;
	overflow:hidden;
}
@media screen and (max-width:640px){
	.blog_thum{
		display:block;
		width:100%;
		height:auto;
		overflow:hidden;
	}
}
.contain {
  object-fit: contain;
  width: 320px;
  height: 180px;
  background-color: #444;
}
@media screen and (max-width:640px){
	.contain {
		width: 100%;
		height:auto;
	}
}

.blog_entry_title{
	width:320px;
	height:70px;
	color:#fff;
	background-color:#000;
	display:table;
	box-sizing:border-box;
	padding:5px 10px;
}
@media screen and (max-width:640px){
	.blog_entry_title {
		width: 100%;
		height:70px
		margin-top:-10px;
	}
}
.title_txt{
	display:table-cell;
	vertical-align:middle;
}

.main_in img{
	width:auto;
}
@media screen and (max-width:640px){
	.main_in img {
		width: 100%;
		height:auto;
	}
}

.blog_date{
	line-height:14px!important;
	margin-bottom:5px;
	font-size:0.8rem;
}
span[class^="cat_label_"]{
	-moz-box-sizing:content-box;
	-webkit-box-sizing:content-box;
	box-sizing:content-box;
	display:inline-block;
	width:7em;
	font-size:0.7rem;
	padding:3px;
	text-align:center;
	border-radius:4px;
}
.cat_label_brand{
	background-color:#f93;
	color:#fff;
}
.cat_label_marketing{
	background-color:#c6c;
	color:#fff;
}
.cat_label_advertising{
	background-color:#46a;
	color:#fff;
}
.cat_label_opinion{
	background-color:#687;
	color:#fff;
}
.cat_label_others{
	background-color:#999;
	color:#fff;
}
.previous_link{
	-moz-box-sizing:content-box;
	-webkit-box-sizing:content-box;
	box-sizing:content-box;
	display:inline-block;
	width:5em;
	color:#fff;
	margin-right:10px;
	font-size:1.0rem;
	padding:0 6px 0 15px;
	text-align:center;
	border-radius:6px;
	background: #aaa  url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAOCAYAAAAi2ky3AAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAACZSURBVHjaYvz//z8DNQATBXqjgNiMEoOMgfgkEC8FYlFyDJIA4jlAfAbZJTDAQoQBbEBcBMTVQMyDSxEhgwKBuAuIVQjZhssgLSCeDMROlMbaFyD+SI3ofwTEQUDsAMQXqJGODgKxIRCnAPFraiTIuUCsCsR9QPwLqwpQFiERqwDxuv8Q4A0TZ6Qgr3kA8QtYGDJSK9MCBBgAGBRSqLiKid8AAAAASUVORK5CYII=) left center no-repeat;
}
.next_link{
	-moz-box-sizing:content-box;
	-webkit-box-sizing:content-box;
	box-sizing:content-box;
	display:inline-block;
	width:5em;
	color:#fff;
	margin-right:10px;
	font-size:1.0rem;
	padding:0 6px 0 15px;
	text-align:center;
	border-radius:6px;
	background: #aaa  url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAOCAYAAAAi2ky3AAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAACFSURBVHjaYvz//z8DNQAjDoPMgFgFiJcRbRLIICzY+z8EnARiYxxqUDAhg2BgDhBLUMMgEPgMxBVAzEapQTBwG4gDqWEQDOwFYi2YHiYKYvwjEH8hNtawgfNAbE+J114BcTIlsfYTiHuBmJ+S6F8HxCrEJEhcWcQAiEWBeDeleY1kABBgAGuqI443fe+GAAAAAElFTkSuQmCC) left center no-repeat;
}

.prev_nav a:hover .previous_link,
.next_nav a:hover .next_link{
	background-color:#d00;
}

/**************** /staff ****************/

.portrait_big{
	width:70%;
	height:auto;
	margin:10px auto;
}
.portrait_small{
	width:40%;
	height:auto;
	margin:10px auto;
}
.name{
	margin:0 10px 20px 10px;
}
.profile{
	padding:0 20px;
	margin-bottom:20px;
	text-align:left;
}

/**************** contact ****************/
form{
	letter-spacing:normal;
}
input,button,select{
	margin:0;
	padding:0;
	background:none;
	border:none;
	border-radius:0;
	outline:none;
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;
	font-family:HelveticaNeue,"HiraKakuProN-W3","メイリオ",sans-serif;
}
select::-ms-expand{
	display:none;
}
input[type="text"]{
	height:40px;
	border:1px solid #ccc;
	line-height:40px;
	padding:0 10px;
	font-size:1.6rem;
}

input[type="submit"]{
	cursor:pointer;
}
select{
	border:1px solid #ccc;
	height:40px;
	line-height:40px;
	padding:0 30px 0 10px;
	width:100%;
	background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAPCAMAAADnP957AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAF1QTFRFCQkJAwMD29vbBgYGurq6ycnJISEhn5+fS0tLpaWlz8/P7e3tvb29gYGBioqKmZmZTk5Ot7e3EhISh4eH8PDwzMzMFRUVDAwMJCQkoqKiOTk5kJCQMzMzAAAA////jo60/wAAAFhJREFUeNqcjVcOwDAIQ8nq3nvB/Y9ZSNOo330Ssi2BAWL0UYkQ8LgF1RiCXZHpJgm5Qc9WEJz4AinQh1+hhVjXAM3JY80ua2Xmv/ThplY4uFhgLy1yCzAACn4SXg3d8PwAAAAASUVORK5CYII=) no-repeat right 10px center;
		cursor:pointer;
}

/*text*/
input::-ms-clear{
	display:none;
}
.contact_table{
	display:table;
	width:100%;
	margin-top:15px;
	margin-bottom:20px;
	border-top: 1px solid #ccc;
	border-right: 1px solid #ccc;
	border-bottom:0;
	border-left: 1px solid #ccc;
	border-spacing: 0;
}
.contact_table th{
	background-color:#eee;
	padding:15px;
	border-bottom: 1px solid #ccc;
	text-align:left;
	vertical-align:middle;
	font-weight:normal;
}
.contact_table th.req{
	text-align:left;
	padding:15px 50px 15px 15px;
	background:url(/contact/images/required.png) #eee no-repeat right center;
}
.contact_table th.e_req{
	text-align:left;
	padding:15px 70px 15px 15px;
	background:url(/contact/images/e_required.png) #eee no-repeat right center;
}
.contact_table td{
	padding:15px;
	border-bottom: 1px solid #ccc;
	vertical-align:middle;
}
.contact_table td.catalog{
	padding:10px;
	border:0;
	vertical-align:top;
}
.contact_table td.remarks{
	background-color:#f3ffec;
	font-size:0.8em;
	vertical-align:middle;
}

.contact_table input.border{border:1px #ccc solid;padding:7px;}

textarea {
	width:100%;
	height:9em;
	line-height:1.5em;
	font-family:HelveticaNeue,"HiraKakuProN-W3","メイリオ",sans-serif;
	border:1px #ccc solid;padding:7px;
}
.contact_table input[type="text"]{
	height:40px;
	width:80%;
	border:1px solid #ccc;
	line-height:40px;
	padding:0 10px;
	font-size:1.0rem;
}
.contact_table input.error,
.contact_table select.error,
.contact_table textarea.error{
background-color: #fdd;
}
.contact_table td.error_remarks{
	background-color:#fdd;
	color:#d00;
	font-weight:bold;
	font-size:0.8em;
	vertical-align:middle;
}

@media screen and (max-width:640px){
	.contact_table{
		display:block;
		width:100%;
		margin-top:15px;
		margin-bottom:20px;
		border-top:0;
		border-right: 1px solid #ccc;
		border-bottom: 1px solid #ccc;
		border-left: 1px solid #ccc;
	}
	.contact_table,
	.contact_table thead,
	.contact_table tbody,
	.contact_table tfoot,
	.contact_table tr,
	.contact_table th,
	.contact_table td{
		display: block;
		width:100%;
	}
	.contact_table input[type="text"]{
		width:100%;
	}
	.contact_table th{
		border-bottom:0;
		border-top: 1px solid #ccc;
		text-align:left;
		vertical-align:middle;
		font-weight:normal;
	}
	.contact_table td{
		padding:15px;
		border-bottom:0;
	}
	.contact_table td.remarks{
		border-top:0;
	}
}

.contact_table .inner_table,
.contact_table .inner_table tr,
.contact_table .inner_table td{
	margin:0;
	padding:0 10px 0 0;
	border: 0;
}
