@charset "UTF-8";
/* ======================
　TOP
====================== */

.siteTopWrap {
	overflow: hidden;
}
.siteTopWrap > * {
	text-align: center;
}
/* mainVisual
------------------------------------------ */
.mainVisual {
	position: relative;
	margin-top: 30px;
}
.titleSub {
	display: block;
	font-size: 2.4rem;
	font-weight: normal;
}
.titleSub span {
	display: inline-block;
	white-space: nowrap;
}
.mainVisual .titleSub {
	margin-top: 0.6em;
	font-size: 3.0rem;
	text-shadow: 0 0 10px rgba(0,0,0,0.9);
}
/*.mainVisual > figure > img,
.imgLink > a > figure > img {
	width: 100%;
}*/
.mainVisual .scroll {
	display: none;
	position: absolute;
	bottom: 75px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	-o-transform: translateX(-50%);
	transform: translateX(-50%);
	color: #ffffff;
}
.mainVisual .scroll span {
	position: relative;
	display: inline-block;
	color: #ffffff;
}
.mainVisual .scroll span:before,
.mainVisual .scroll span:after {
	position: absolute;
	content: '';
	left: 50%;
	-webkit-transform: translateX(-50%) rotate(45deg);
	-moz-transform: translateX(-50%) rotate(45deg);
	-ms-transform: translateX(-50%) rotate(45deg);
	-o-transform: translateX(-50%) rotate(45deg);
	transform: translateX(-50%) rotate(45deg);
	border-right: 1px solid #ffffff;
	border-bottom: 1px solid #ffffff;
}
.mainVisual .scroll span:before {
	top: -42px;
	width: 20px;
	height: 20px;
	opacity: 0.7;
}
.mainVisual .scroll span:after {
	top: -36px;
	width: 26px;
	height: 26px;
}
.mainVisual .uponImg {
	display: none;
}
.imgLink {
	position: relative;
	margin-top: 70px;
	font-size: 6.0rem;
}
.imgLink a img {
	/*-webkit-transition: none;
	-moz-transition: none;
	-ms-transition: none;
	-o-transition: none;
	transition: none;*/
}
.uponImg {
	position: absolute;
	top: 50%;
	left: 50%;
	max-width: 1200px;
	-webkit-transform: translate(-50%, -50%) perspective(0);
	-moz-transform: translate(-50%, -50%) perspective(0);
	-ms-transform: translate(-50%, -50%) perspective(0);
	-o-transform: translate(-50%, -50%) perspective(0);
	transform: translate(-50%, -50%) perspective(0);
	color: #ffffff;
	background-color: inherit;
}
.imgLink .uponImg {
	margin-top: -50px;
	width: 100%;
}
.imgLink .uponImg.type02{
	margin-top: -16px;
}
.imgLink a {
	outline: none;
}
.uponImg .link {
	position: relative;
	/*font-weight: 900;*/
}
.uponImg .link.type02 {
	font-size: 83%;
	line-height: normal;
}
.uponImg .link.type02:before {
	top: 108%;
}
.uponImg .link.type02:after {
	top: 121%;
}
.imgLink .uponImg.type03{
	margin-top: -22px;
	left: 56.5%;
}
.uponImg .type03 {
	color: #333333;
	font-size: 100%;
	line-height: normal;
}
.uponImg .type03 .titleSub{
	margin-top: 13px;
}
.red{
	color: #FF0004;
	font-weight: bold;
}
.imgLinkText{
	color: #1f477f;
}

.uponImg .link .bold {
	vertical-align: 0.01em;
}
.uponImg .link:before {
	position: absolute;
	content: '';
	width: 50px;
	height: 50px;
	bottom: -1.1em;
	left: 50%;
	margin-left: -25px;
	border: 1px solid #ffffff;
	-webkit-border-radius: 25px;
	-moz-border-radius: 25px;
	border-radius: 25px;
}
.uponImg .link:after {
	position: absolute;
	content: '';
	width: 20px;
	height: 20px;
	bottom: -1.1em;
	left: 50%;
	margin-bottom: 14px;
	margin-left: -14px;
	border-right: 1px solid #ffffff;
	border-bottom: 1px solid #ffffff;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.linkExpand.on figure img {
	opacity: 0.7;
}
.topHeadline01 {
	font-size: 6rem;
}
.topHeadline01 > .bisomac > img {
	padding-bottom: 18px;
}
.galleryWrap {
	padding: 50px 0;
	border-top: 1px solid #cecece;
	border-bottom: 1px solid #cecece;
}
.galleryWrap .btnType03 {
	margin-top: 0;
}
.galleryWrap .linkExpand img {
	-webkit-transition: opacity 0.2s ease-in-out;
	-moz-transition: opacity 0.2s ease-in-out;
	-ms-transition: opacity 0.2s ease-in-out;
	-o-transition: opacity 0.2s ease-in-out;
	transition: opacity 0.2s ease-in-out;
	backface-visibility: hidden;
	background-color: inherit;
	-webkit-transform: perspective(0);
	-moz-transform: perspective(0);
	-ms-transform: perspective(0);
	-o-transform: perspective(0);
	transform: perspective(0);
}
.galleryWrap .linkExpand.on img {
	opacity: 0.8;
}
.galleryWrap .btnType03 a,
.galleryWrap .btnType03 a span {
	width: 100%;
}
.galleryWrap .btnType03 a {
	display: table;
	min-width: 1%;
}
.galleryWrap .btnType03 a span {
	display: table-cell;
	vertical-align: middle;
}

.newsBody {
	display: table;
	margin: 0 auto;
}
/*.newsBody > .col {
	display: table-cell;
	padding-right: 40px;
	vertical-align: middle;
}
.newsList li + li {
	margin-top: 36px;
}*/
.newsBlock {
	display: table;
}
.newsBlock + .newsBlock {
	margin-top: 10px;
}
.newsBlock > * {
	display: table-cell;
	vertical-align: middle;
}
.newsText span[class*="news"] + [class*="news"]{
	margin-left: 20px;
	display: inline-block;
}
.newsBlock [class*="newsIcon"] {
	min-width: 7em;
	line-height: 1.3;
	padding: 3px;
	text-align: center;
	font-size: 1.5rem;
	color: #ffffff;
}
.newsBlock .newsIcon01 {
	background-color: #3482b4;
}
.newsBlock .newsIcon02 {
	background-color: #455162;
}
.newsText {
	min-width: 550px;
	max-width: 1020px;
	padding-right: 20px;
	text-align: left;
}
.newsImg {
	width: 160px;
	text-align: center;
}
/* ======================
　トップ追加パーツ
====================== */
.contentsArea01 {
	background-repeat: no-repeat;
	background-color: #FFFFFF;
	margin: 0 auto;
	position: relative;
}
.contentInner01 {
	position: absolute;
	top: 16%;
	left: 6.6%;
	width: 100%;
}
.contentInnerText {
	font-size: 60px;
	font-weight: 900 !important;
}
.contentInnerText .titleSub {
	font-size: 28px;
	line-height: 28px;
}
/* -----link -----*/
.linkText {
	margin-left: 10px;
	font-size: 32px;
}
.linkTypeCustom {
	margin-top: 6.3%;
	margin-left: -1%;
}
.linkTypeCustom img{
	padding-bottom: 19px;
	padding-right: 5px;
}
.linkTypeCustom a:hover img {
	opacity: 1;
}
.linkTypeCustom > a,link:hover,.linkTypeCustom > a,link:active {
	color: #1f477f;
	text-decoration: none;
}
.linkTypeCustom > a:hover {
	color: #FFFFFF;
	text-decoration: underline;
}
.linkTypeCustom.ver02 > a:hover {
	color: #1f477f;
	text-decoration: underline;
}


/* ======================
　clearfix
====================== */
.headerBody,
#content {
  min-height: 1%;
}
.headerBody:after,
#content:after {
  content: "";
  display: block;
  clear: both;
}
