@charset "utf-8";

/* -------------------------------------------------------------------------------------- base pc */

#wapper, #header, #visual, #visualnav, #container, #footer { width:100%; }
#wapper {
	font-size:1.2rem;
}

.inner { width:960px; margin:0 auto; }
.innerhd { width:960px; margin:0 auto; }

#container .inner.two-column {
	display:table;
	width:960px;
	padding:40px 0 62px;
}
#container .inner.two-column #contents,
#container .inner.two-column #sidebar {
	display:table-cell;
	vertical-align:top;
}
#container .inner.two-column #contents {
	width:680px;
	border-right:1px #ccc dotted;
	padding:0 40px 0 0;
}
#container .inner.two-column #sidebar { width:280px; }
#container .inner.two-column #sidebar .inner {
	width:240px;
	margin:0 0 0 40px;
}

#build-menu, #mobile-bar { display:none; }

/* -------------------------------------------------------------------------------------- header */

#header {
	background:#fff;
	border-bottom:1px #ccc solid;
	-moz-box-shadow: 0px 0px 3px 0px rgba(000, 000, 000, 0.3);
	-webkit-box-shadow: 0px 0px 3px 0px rgba(000, 000, 000, 0.3);
	box-shadow: 0px 0px 3px 0px rgba(000, 000, 000, 0.3);
}
#header .inner { width:962px;  margin:0 auto; }
#header .innerhd { width:962px;  margin:0 auto; }
#header a {  }
#header h1 {}
#hdbox {
	clear: both;
}
#hdl {
	width: 240px;
	float: left;
	padding: 40px 0px 20px 0px;
}

#hdr {
	width: 320px;
	float: right;
	padding: 70px 0px 20px 0px;
	text-align: right;
}

#hdr h2 {
	font-size: 16px;
	font-weight: noimal;
	margin-bottom: 8px;
}
#hdr_news a:link {
	display: block;
	width: 140px;
	border: solid 1px #8f8f8f;
	color:#3f3f3f;
	text-align: center;
	text-decoration: none;
	font-size: 16px;
	line-height: 30px;
	height: 30px;
	float: right;
	margin-top: 20px;
	background-color: #ECECEC;
}
#hdr_news a:visited {
	width: 140px;
	border: solid 1px #8f8f8f;
	color:#3f3f3f;
	text-align: center;
	text-decoration: none;
	font-size: 16px;
	line-height: 30px;
	height: 30px;
	background-color: #ECECEC;
}
#hdr_news a:hover {
	width: 140px;
	border: solid 1px #8f8f8f;
	color:#3f3f3f;
	text-align: center;
	text-decoration: none;
	font-size: 16px;
	line-height: 30px;
	height: 30px;
	background-color: #FFFFFF;
}
#hdr_news a:active {
	width: 140px;
	border: solid 1px #8f8f8f;
	color:#3f3f3f;
	text-align: center;
	text-decoration: none;
	font-size: 16px;
	line-height: 30px;
	height: 30px;
	background-color: #FFFFFF;
}
.pd01 {
	padding-top: 30px;
}


/* ----------------------------------------- global navi */

#gnv ul {
	display:table;
	width:100%;
	border-left:#ccc 1px solid;
}
#gnv ul li {
	display:table-cell;
	width:20%;
	text-align:center;
	border-right:#ccc 1px solid;
}

#gnv ul li a {
	display:block;
	font-size: 1.3rem;
	font-family: 'Lato-Light', sans-serif;
	padding:10px 0;
}
#gnv ul li a:hover {}

/* -------------------------------------------------------------------------------------- visual */

#visual .inner { padding: 16px 0 20px; }

/* home */
#visual #sliders { height:360px; }

#visual #underlayer { height:160px; }

/* ----------------------------------------- visual navi */

#visualnav ul {
	display:table;
	width:100%;
}
#visualnav ul li {
	display:table-cell;
	width:50%;
	text-align:right;
	vertical-align:top;
}
#visualnav ul li:first-child {
	text-align:left;
}

#visualnav.unders {
	background: url(images/stripe.jpg);
	padding: 10px 0;
	border-bottom:1px #ccc solid;
} 


/* -------------------------------------------------------------------------------------- container */

#container { background:#fff; }

/* -------------------------------------------------------------------------------------- container contents */

#contents { padding:40px 0 62px; }
#contents h1 {
	font-family: 'Lato-Light', sans-serif;
	font-size:4.4rem;
	margin: 0 0 28px;

}
#contents .section h2 {
	border-top:2px #3f3f3f solid;
	border-bottom:1px #efefef solid;
	font-family: 'Lato-Regular', sans-serif;
	font-size:2rem;
	color:#3f3f3f;
	padding:0.5em 0;
	margin: 0 0 16px;
}
#contents .section { margin: 0 0 44px; }
#contents .works.section { margin: 0 0 20px; }
#contents .section:last-child { margin:0; }
#contents .section p {
	font-size:1.2rem;
	line-height:2;
}

#contents .inner-section { margin: 0 0 24px; }

/* News top page */
#contents #news h2 {
	border:none;
	font-size: 1.8rem;
	font-family: 'Lato-Regular', sans-serif;
	margin: 0 0 10px;
}

/* English and Japanese */
#contents h2.jestyle {
	display: table;
	width: 100%;
}
#contents h2.jestyle span,
#contents h2.jestyle strong {
	display: table-cell;
	vertical-align:middle;
}
#contents h2.jestyle strong {
	text-align:right;
	font-size: 1.2rem;
}

/* accordion　*/
#contents h3 {
	font-size: 1.6rem;
	font-family: 'Lato-Regular', sans-serif;
}

/* quotations */
#contents h2.quotations {
  border: none;
  font-size: 2rem;
  line-height: 1.6;
  padding: 20px 36px;
  position: relative;
}
#contents h2.quotations:before {
  content: "“";
  font-size: 400%;
  line-height: 1;
  font-family: 'Marcellus SC', sans-serif;
  color: #999;
  position: absolute;
  left: 0;
  top: 0;
}
#contents h2.quotations:after {
  content: "”";
  font-size: 400%;
  line-height: 0;
  font-family: 'Marcellus SC', sans-serif;
  color: #999;
  position: absolute;
  right: 0;
  bottom: 0;
}

/* -------------------------------------------------------------------------------------- sidebar */

#sidebar { }
#sidebar h2 {
	border-top:2px #3f3f3f solid;
	border-bottom:1px #efefef solid;
	font-family:'Marcellus SC', sans-serif;
	font-size:1.4rem;
	color:#3f3f3f;
	padding:0.5em 0;
	margin: 0 0 16px;
}
#sidebar .section { margin: 0 0 24px; }
#sidebar .section:last-child { margin: 0; }

.round-btn a {
	display:block;
	font-size:1.4rem;
	color:#fff;
	font-family:'Marcellus SC', sans-serif;
	background:#758eb7;
	padding:0.75em 1.5em;
	-moz-border-radius: 2.5em;
	-webkit-border-radius: 2.5em;
	-o-border-radius: 2.5em;
	border-radius: 2.5em;
}
.round-btn a:hover {
	background:#4f6890;
	background-image: -moz-linear-gradient(top, #758eb7, #4f6890);
	background-image: -ms-linear-gradient(top, #758eb7, #4f6890);
	background-image: -o-linear-gradient(top, #758eb7, #4f6890);
	background-image: -webkit-gradient(linear, center top, center bottom, from(#758eb7), to(#4f6890));
	background-image: -webkit-linear-gradient(top, #758eb7, #4f6890);
	background-image: linear-gradient(top, #758eb7, #4f6890);
}

ul.round-box-btn li { margin:0 0 6px; }
ul.round-box-btn li a {
	display:block;
	font-family:'Marcellus SC', sans-serif;
	border:1px solid #7d99ca;
	background-color: #fff;
	padding:1em;
	-moz-border-radius: 8px;
	-webkit-border-radius: 8px;
	-o-border-radius: 8px;
	border-radius: 8px;
}
ul.round-box-btn li a:hover { background:#fffee4; }

ul.archives {
	list-style: outside disc;
	margin:0 0 0 1.5em;
}
ul.archives li {
	padding:5px 0;
}
#sidebar span.rolling { display:none; }


/* -------------------------------------------------------------------------------------- footer */

#footer {
	background:#fff;
	border-top:1px #ccc solid;
	padding:44px 0;
	-moz-box-shadow: 0px 0px 3px 0px rgba(000, 000, 000, 0.3);
	-webkit-box-shadow: 0px 0px 3px 0px rgba(000, 000, 000, 0.3);
	box-shadow: 0px 0px 3px 0px rgba(000, 000, 000, 0.3);
}

#footer .section {
	display:table;
	width:100%;
	font-size:1.1rem;
}
#footerline, #footerlink { display:table-cell; }

#footerline{
	width:360px;
	line-height:1.6;
}
#footerline dt {
	width:170px;
	margin:0 0 12px;
}
#footerline dt img {
	width:100%;
	height:auto;
}

#slidemenu li {
	display:inline-block;
	margin:0 1em 0 0;
} 

.aside {
	font-size:1.0rem;
	padding: 20px 0 0;
}

.footb {
	font-size: 16px!important;
	font-weight: normal!important;
}

/* -------------------------------------------------------------------------------------- selecter in contents */

/* ------------------------------------------------ news-list-addimg (top) */

ul.news-list-addimg {
	border-top:1px solid #ccc;
}
ul.news-list-addimg li {	
	border-bottom:1px solid #ccc;
}
ul.news-list-addimg a {
	display: block;
	color:#333;
	padding: 20px 0;
}
ul.news-list-addimg dl {
	display:table;
	width:100%;
}
ul.news-list-addimg dt,
ul.news-list-addimg dd {
	display:table-cell;
	vertical-align:top;
}
ul.news-list-addimg .date { width: 193px; }
ul.news-list-addimg .iconimg  { width: 80px; }
ul.news-list-addimg .iconimg img {
	width:100%;
	height:auto;
}
ul.news-list-addimg .coments {
	background: url(images/arrow.png) no-repeat right center;
	font-size:1.2rem;
	line-height:1.4;
	padding: 0 70px 0 32px;
}
ul.news-list-addimg .coments h3 {
	font-size:1.6rem;
	line-height:1.4;
	margin:0 0 14px;
}

/* ------------------------------------------------ tablelist */

.tablelist dl {
	display:table;
	width:100%;
	margin:0;
}
.tablelist dl:first-child { border-top:1px #ccc solid; }
.tablelist dl dt, .tablelist dl dd {
	display:table-cell;
	border-bottom:1px #ccc solid;
	border-right:1px #ccc solid;
	vertical-align:middle;
	line-height:1.6;
	padding:1em;
}
.tablelist dl dt{
	border-left:1px #ccc solid;
	width:20%;
	background:#efefef;
}


.works .tablelist dl dt{
	width:48%;
	background:#efefef;
	border-left:none;
	border-right:none;
	font-size:1.3rem;
	line-height:1.6;
}
.works .tablelist dl dd{
	border-right:none;
	font-size:1.1rem;
	line-height:1.4;
}

.menbers .tablelist dl {
	margin:0 0 16px;
}
.menbers .tablelist dl.lastitem {
	margin:0;
}
.menbers .tablelist dl dt{
	width:90px;
	background:none;
	border-left:none;
	border-right:none;
	text-align:center;
	padding:12px 0;
}
.menbers .tablelist dl dt > img{
	width:100%;
	height:auto;
}
.menbers .tablelist dl dd{
	border-right:none;
	font-size:1.3rem;
	line-height:1.8;
	padding:12px 0 12px 2em;
}
.menbers .tablelist dl dd h4 {
	font-size:1.4rem;
	margin:0 0 4px;
}
#contents .menbers .tablelist dl dd p{
	font-size:1.1rem;
	line-height:1.8;
}
.menbers .toggles { margin: 16px 0 0; }

.menbers .tgmen { margin: 16px 0 0; }

/* -------------------------------------------------------------------------------------- card style */

.card-style,
.inner-card-style {
	border:4px #efefef solid;
	padding:16px 20px;
	-webkit-box-shadow: 0px 1px 4px 0px #aaa;
	-moz-box-shadow: 0px 1px 4px 0px #aaa;
	box-shadow: 0px 1px 4px 0px #aaa;
	-moz-border-radius: 8px;
	-webkit-border-radius: 8px;
	border-radius: 8px;
}
.inner-card-style {
	padding:16px 32px;
	margin: 0 0 20px;
}
.inner-card-style h3 {
	font-size:1.4rem;
	border-bottom:2px #3f3f3f solid;
	padding: 0 0 8px;
	margin: 0 0 12px;
}

/* newspage */
#newspage .card-style { padding:20px 40px; margin-bottom:20px;}
#newspage .date { text-align:right; }

/* ------------------------------------------------ wapper-article */

.wapper-article p { 
	margin:0 0 20px;
}

/* ------------------------------------------------ pinch-dashed */

ul.pinch-dashed {
	/* border-top:1px dashed #ccc; */
	margin:16px 0 0;
}
ul.pinch-dashed li {	
	border-bottom:1px dotted #ccc;
}
ul.pinch-dashed li a {
	display:block;	
}
ul.pinch-dashed li a:hover{
	background:#fffee4;
}
ul.pinch-dashed li dl{
	display:table;
	width:100%;
}
ul.pinch-dashed li dl dt,
ul.pinch-dashed li dl dd {
	display:table-cell;
	line-height:1.8;
	vertical-align:middle;
}
ul.pinch-dashed li dl dt{
	width:8em;
	padding:8px 0;
}
ul.pinch-dashed li dl dd{
	padding:8px 0;
}

/* ------------------------------------------------ pinch-dashed-all */

ul.pinch-dashed-all {
	border-top:1px dotted #7d99ca;
	font-size:1.2rem;
	margin:16px 0 0;
}
ul.pinch-dashed-all li {	
	border-bottom:1px dotted #7d99ca;
}
ul.pinch-dashed-all li a {
	display:block;	
}
ul.pinch-dashed-all li a:hover{
	background:#fffee4;
}
ul.pinch-dashed-all li dl{
	overflow:hidden;
	line-height:1.8;
	width:100%;
}
ul.pinch-dashed-all li dl dt{
	float:left;
	width:90px;
	padding:12px 0;
	margin:0 0 0 10px;
}
ul.pinch-dashed-all li dl dd{
	float:right;
	width:560px;
	padding:12px 0;
	margin:0 10px 0 0;
}

/* ------------------------------------------------ pinch-dashed-block */

ul.pinch-dashed-block { border-top:1px dotted #7d99ca; margin:16px 0 0; }
ul.pinch-dashed-block li{
	border-bottom:1px dotted #7d99ca;
	vertical-align:top;
}
ul.pinch-dashed-block li a{
	display:table;
	width:100%;
	padding:16px 0 12px;
	background-color: #fff;
}
ul.pinch-dashed-block li a:hover{ background:#fffee4; }
ul.pinch-dashed-block li a div, ul.pinch-dashed-block li a dl { display:table-cell; }
ul.pinch-dashed-block li a div {
	/* image width */
	width:110px;
	line-height:0;
	vertical-align:middle;
	padding:0 20px 0 10px;
}
ul.pinch-dashed-block li a dl { width:570px; }
ul.pinch-dashed-block li a dl dt {
	font-size:1.3rem;
	height:1.5em;
	line-height:1;
	border-bottom:1px #ccc dotted;
	margin:0 0 8px;
	overflow:hidden;
}

/* ------------------------------------------------ flatlist */

#sidebar .flatlist li a { display:block; }

#sidebar .flatlist dl {
	display:table;
	width:100%;
	margin:0;
}
#sidebar .flatlist dl dt, .flatlist dl dd {
	display:table-cell;
	vertical-align:middle;
	padding:5px 0;
}
#sidebar .flatlist dl dd{
	line-height:1.6;
	padding:0 0 0 20px;
}
#sidebar .flatlist dl dd h3 {
	font-weight:bold;
	margin:0 0 4px;
}
#sidebar .flatlist dl dd h3:before {
	content:"▶";
}
#sidebar .flatlist dl dt{ width:80px; }
#sidebar .flatlist dl dt img { width:80px;  height:auto; }

/* ------------------------------------------------ flatlist */

#contents .flatlist li a {
	display:table;
	width:100%;
	margin:0;
}
#contents .flatlist h3, #contents .flatlist p {
	display:table-cell;
	vertical-align:middle;
}
#contents .flatlist h3{
	width:150px;
	padding:5px 0;
}
#contents .flatlist h3 img { width:150px; height:auto; }
#contents .flatlist p {
	padding:5px 0 5px 20px;
}


/* ------------------------------------------------ zumash */

.cl {
	clear: both;
}
.zumashcon {
	width: 100%;
	clear: both;
	padding: 40px 0px 40px 0px;
}
.zumashbox {
	width: 290px;
	float: left;
	margin: 0px 10px;
}

.zumashbox img{
	width: 280px;
	margin-bottom: 14px;

}


.roop-table {
	padding: 20px 0px 30px 0px;
}

.roop-table table{
    border: none;
	padding: 0px 0px 0px 0px;
    width: 100%;
    border-spacing:0;
    border-collapse:separate;
    *border-collapse:collapse; /* ie6,7 */
}

.roop-table th {
    padding: 8px 4px 8px 0px;
    white-space: nowrap;
    width: 10%;
	text-align: left;
vertical-align: top;
font-weight: normal;
line-height:1.6;
}


.roop-table td {
    padding: 8px 4px 8px 14px;
    width: 85%;
vertical-align: top;
line-height:1.6;
}

#tgbox{ 
 display: none;
}

.flobox {
	clear: both;
	padding-bottom: 30px;
}

.flobox02 {
	clear: both;
	padding-bottom: 20px;
	padding-top: 20px;
}
.flobox01l {
	width: 30%;
	float: left;
}

.flobox01r {
	width: 67%;
	float: right;
}
.flobox01r h3 {
	margin-bottom: 14px;
}

.flobox02l {
	width: 45%;
	float: left;
}

.flobox02r {
	width: 52%;
	float: right;
}



.tabletype01 {
	padding: 20px 0px 30px 0px;
}

.tabletype01 table{
	table-layout: fixed;
    border: none;
	padding: 0px 0px 0px 0px;
    width: 100%;
    border-spacing:0;
    border-collapse:separate;
    *border-collapse:collapse; /* ie6,7 */
}

.tabletype01 th {
    padding: 8px 4px 8px 0px;
    white-space: nowrap;
    width: 15%;
	text-align: left;
vertical-align: top;
font-weight: normal;
line-height:1.6;
}


.tabletype01 td {
    padding: 8px 4px 8px 14px;
    width: 80%;
vertical-align: top;
line-height:1.6;
}

.align-r {
	text-align: right;
}

#scenarioinfo {
    border: 4px double #45bfe0;
    margin: 2em 0;
    padding: 2em;
	background-image: url(images/infobk.png),url(images/stripe.jpg);
	background-repeat: no-repeat,repeat;
	background-position: left center, left;
	padding-left: 70px;
}


#scenarioinfo a:link {
	font-size: 16px!important;
	color: #313131!important;
	text-decoration: underline!important;
}

#scenarioinfo a:visited {
	font-size: 16px!important;
	color: #313131!important;
	text-decoration: underline!important;
}

#scenarioinfo a:hover {
	font-size: 16px!important;
	color: #313131!important;
	text-decoration: underline!important;
}

#scenarioinfo a:active {
	font-size: 16px!important;
	color: #313131!important;
	text-decoration: underline!important;
}


.bgbox {
	clear: both;
	margin-bottom: 20px;
}

.bgclear{
	clear: both;
}
.bgbox p{
	line-height: 1.6;
}

.bgbox-left {
	float: left;
	width: 38%;
	text-align: center;
}
.bgbox-left img{
	margin-bottom: 10px;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.bgbox-right {
	float: right;
	width: 60%;
}
.bgbox2 {
	clear: both;
	margin-bottom: 20px;
}
.bgbox2 p{
	line-height: 1.6;
}
.bgbox2-left {
	float: left;
	width: 60%;
	padding-right: 0px;
}
.bgbox2-right {
	float: right;
	width: 38%;
	text-align: center;
}
.bgbox2-right img{
	margin-bottom: 10px;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

#snsbox {
	width: 100%;
}
#snsboxleft {
	width: 48%;
	float: left;
}
#snsboxright {
	width: 48%;
	float: right;
}
