@charset "utf-8";

/* Just ear */

/* fontstyle
regular: 'SST W55 Regular'
bold:    'SST W55 Bold'
light:   'SST W55 Light'
*/

/*
 * common
 */
@media screen and (max-width: 1189px) and (min-width: 641px){
	#tmpl_content{min-width:1190px;}
}

#tmpl_content {
	font-size:62.5%;
	background: #fff;
	font-family: Arial, Roboto, "Droid Sans", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	height: 100%;
	min-height: 100%;
	width:100%;
}
#tmpl_main {
	font-size: 140%;
	/*padding-top: 81px;  fixed */
	width:100%;
	-webkit-text-size-adjust: 100%;
}

div#top, div#comimity {
	padding-top: 0; /* fixed */
}

#tmpl_content a {
	color: #000;
	transition: opacity 0.3s;
}

/* #tmpl_content a:hover {
	opacity: 0.7;
} */

#tmpl_content a:visited {
	color: #000;
}

#tmpl_content b {
	font-weight: bold;
}

#tmpl_content br.spOnly {
	display: none;
}

#tmpl_content .clearfix:after {
    content: ".";
    display:block;
    clear:both;
    height:0px;
    visibility:hidden;
}

#tmpl_content noscript p {
	margin: 0 8px 8px 8px;
	padding: 10px;
	font-size: 13px;
	border: solid 1px #ccc;
	border-radius: 3px;
}

div.generalWrap {
	width: 960px;
	margin: auto;
}

div.generalWrap h2 {
	font-size: 230%;
	font-weight: normal;
	padding: 80px 0;
}

/* 共通メイン画像 */
#mainimage-sub-wrap {
	width:100%;
	height:auto;
	padding-top:81px;
}

#mainimage-sub-wrap img {
	width:100%;
	height:auto;
}

/* h2真下に英語サブタイトルが入る場合のマージン変更 */

div.generalWrap h2.subtitle {
    padding: 80px 0 0 0;
    margin:0;
}

div.generalWrap h2.subtitle.nonsub {
    padding: 80px 0;
}

#tmpl_content p.h2-subtitle {
    font-size: 80%;
    margin-bottom:80px;
}

/* .sp {
	display: none;
} */

@media screen and (max-width:640px) {
	#tmpl_content *{box-sizing:border-box;}

	#tmpl_content {
		-webkit-overflow-scrolling: touch;
	}
	#tmpl_content br.spOnly {
		display: inline;
	}
	#tmpl_content br.pcOnly {
		display: none;
	}
	#tmpl_content div.generalWrap {
		width: 100%;
		padding: 0 30px;
	}
	#tmpl_content h1 {
		line-height: 0.8;
	}
	#tmpl_content div.generalWrap h2 {
		padding: 50px 0;
	}
	#tmpl_content div.generalWrap h2.subtitle {
		padding: 50px 0 0 0;
		font-size: 171%;
	}
	#tmpl_content div.generalWrap h2.subtitle.nonsub {
		margin-bottom:50px;
	}
	#tmpl_content p.h2-subtitle {
		font-size: 79%;
		margin-bottom:50px;
	}
}


/*
 * header
 */
#gnav {
	position: absolute;
	width: 100%;
	z-index: 100;
	background: rgba(255,255,255,0.95);
	-webkit-transition: top 0.5s ease-out;
	transition: top 0.5s ease-out;
}
#gnav.fixTop {
	position: fixed;
	top: 0px;
	left: 0;
	right: 0;
	width: 100%;
	z-index: 100;
	border-bottom: solid 1px #f2f2f2;
	background: rgba(255,255,255,0.95);
	-webkit-transition: top 0.5s ease-out;
	transition: top 0.5s ease-out;
}

#tmpl_content #news #gnav {
	border-bottom: solid 1px #f2f2f2;
}

#gnav ul {
	list-style: none;
}

#gnav ul.mainMenu {
	display: table-cell;
	width: 80%;
	text-align: right;
	vertical-align: middle;
	transition: width 0.1s;
}

#gnav ul.mainMenu li {
	display: inline-block;
}

#gnav ul.mainMenu li a {
	display: block;
	padding: 30px 6px 27px;
	margin: 0 2px;
	color: #000;
	border-bottom: solid 3px rgba(158, 158, 158, 0);
	transition: border-color 0.5s;
}

#gnav ul.mainMenu li a.active {
	border-bottom: solid 3px #9e9e9e;
}

#gnav ul.mainMenu li a:hover {
	border-color: rgba(158, 158, 158, 1);
	opacity: 1;
}

@media all and (-ms-high-contrast: none){
	#gnav ul.mainMenu li:last-child a{
		 padding-bottom:28px; /* IE10以上 */
	}
}

/* 960pxまでのサイズ制御 */
@media screen and (max-width: 1140px) {
	#gnav h1{
		width: 18%;
	}
	#gnav ul.mainMenu {
		width: 72%;
		text-align: right;
	}
}

@media screen and (max-width:640px) {
	#gnav div.gnav_navwrap {
		position: relative;
		display: block;
		min-width: 0;
		max-width: none;
		margin: 0 auto;
		padding: 15px 30px;

	}
	#gnav h1 {
		display: block;
		width: 100%;
		vertical-align: middle;
	}
	#gnav h1 img {
		width: 150px;
		height: auto;
	}
	#gnav ul.mainMenu {
		display: none;
		width: 100%;
		margin-top: 15px;
		text-align: center;
	}
	#gnav ul.mainMenu li {
		display: block;
		margin: 5px 0;
	}
	#gnav ul.mainMenu li a {
		display: block;
		padding: 15px 0;
		margin: 0;
		color: #000;
		border-bottom: none;
	}
	#gnav ul.mainMenu li a.active {
		background: rgba(0, 0, 0, 0.1);
		border-bottom: none;
		border-radius: 4px;
	}
	#gnav div a.sp {
		position: absolute;
		right: 20px;
		top: 7px;
		display: block;
		padding: 10px;
	}
	#mainimage-sub-wrap{padding-top:59px;}
}


/*
 * footer
 */

#footerMenu {
	background: #4d4d4d;
}

#footerMenu a.pageTopBtn {
	position: absolute;
	top: 25px;
	left: 50%;
	display: block;
	margin-left: -21px;
	width: 43px;
	height: 21px;
}

#footerMenu a.pageTopBtn img {
	vertical-align: bottom;
}

#footerMenu .siteMap {
	padding-top: 70px;
}

#footerMenu .siteMap>h3 {
	float: left;
	width: 29%;
	padding-top: 15px;
}

#footerMenu .siteMap>ul {
	float: left;
	list-style: none;
	width: 60%;
}

#footerMenu .siteMap>ul li {
	float: left;
	width: 32%;
}

#footerMenu .siteMap>ul li a {
	color: #fff;
	font-size: 86%;
	line-height: 2.2;
}

#footerMenu .siteMap>div {
	float: left;
	width: 30%;
	text-align: right;
	padding-top: 15px;
}

#footerMenu .snsButtons {
	text-align: right;
	margin-top: 35px;
}

#footerMenu .snsButtons .facebook, #footerMenu .snsButtons .twitter, #footerMenu .snsButtons .hatena {
	display: inline-block;
	margin-left: 10px;
}

#footerMenu .otherLinks {
	margin-top: 15px;
}

#footerMenu .otherLinks ul {
	float: left;
	list-style: none;
	margin:0;
	padding:0;
}

#footerMenu .otherLinks ul li {
	float: left;
	font-size: 79%;
	margin-right: 20px;
}

#footerMenu .otherLinks ul li a {
	color: #fff;
}

#footerMenu .otherLinks ul li a img {
	margin-left: 3px;
	padding-bottom: 1px;
}

#footerMenu .otherLinks div {
	float: right;
	color: #fff;
	font-size: 79%;
}

@media screen and (max-width:640px) {
	#footerMenu .siteMap {
		padding-top: 30px;
	}

	#footerMenu .siteMap>h3 {
		float: none;
		width: 100%;
		padding-top: 0;
		margin: 15px 0;
	}

	#footerMenu .siteMap>h3 img {
		width: 150px;
	}

	#footerMenu .siteMap>ul {
		float: none;
		list-style: none;
		width: 100%;
	}

	#footerMenu .siteMap>ul li {
		float: none;
		width: 100%;
	}

	#footerMenu .siteMap>ul li a {
		display: inline-block;
		color: #fff;
		font-size: 86%;
		line-height: 1.33;
		padding: 10px 0;
	}

	#footerMenu .siteMap>div {
		float: none;
		width: 100%;
		text-align: left;
		padding-top: 15px;
	}

	#footerMenu .siteMap>div img {
		width: 28px;
		height: auto;
	}

	#footerMenu .snsButtons {
		text-align: left;
		margin-top: 25px;
	}

	#footerMenu .snsButtons .facebook, #footerMenu .snsButtons .twitter, #footerMenu .snsButtons .hatena {
		margin: 0 5px 5px 0;
	}

	#footerMenu .otherLinks {
		margin-top: 40px;
		border-top: solid 1px #999;
		padding-top: 30px;
	}

	#footerMenu .otherLinks ul {
		float: none;
		margin-bottom: 20px;
	}

	#footerMenu .otherLinks ul li {
		float: none;
		font-size: 79%;
		margin-right: auto;
	}

	#footerMenu .otherLinks ul li a {
		display: inline-block;
		color: #fff;
		padding: 10px 0;
	}

	#footerMenu .otherLinks div {
		float: none;
		color: #fff;
		font-size: 79%;
	}
	#footerMenu .footerWrap {
		width: 100%;
		max-width: none;
		min-width: 0;
		padding: 20px 30px 30px 30px;
	}
	#tmpl_content a.anchor {
		border-bottom: 1px solid #426ed0 !important;
		color: #426ed0 !important;
	}
	#tmpl_content a.anchor:visited {
		color: #426ed0 !important;
	}
}
