@charset "utf-8";
/* ======================================================
index.css
====================================================== */

@media only screen and (min-width: 641px), print {
	/* Override
	------------------------------------------------------ */
	.top #mainContainer {
		min-width: 1250px;
		padding: 20px 0 0;
		background-color: #fff;
		overflow: hidden;
	}
	
	/* emergencyArea
	------------------------------------------------------ */
	/*　.emergencyArea　*/
	.top .emergencyArea {
		width: 1200px;
		margin: 40px auto;
		text-align: center;
		color: #000000;
		font-weight: bold;
	}
	
	/* top-main-visual
	------------------------------------------------------ */
	.top-main-visual {
		position: relative;
		width: 100%;
		padding: 0 25px 180px;
		background-color: #f2f2f2;
	}
	.top-main-visual + * {
		position: relative;
		margin-top: -180px !important;
		z-index: 1;
	}
	.top-main-visual::before,
	.top-main-visual::after {
		display: block;
		position: absolute;
		left: 50%;
		width: 100%;
		min-width: 1920px;
		height: 300px;
		transform: translateX(-50%);
		content: "";
	}
	.top-main-visual::before {
		top: 0;
		background-image: linear-gradient(to bottom right, #fff 0%, #fff 50%, #f2f2f2 50.2%, #f2f2f2 100%);
	}
	.top-main-visual::after {
		bottom: 0;
		background-image: linear-gradient(to bottom left, #f2f2f2 0%, #f2f2f2 50%, #fff 50.2%, #fff 100%);
	}
	.top-main-visual > * {
		position: relative;
		width: 1200px;
		margin-left: auto;
		margin-right: auto;
		z-index: 1;
	}
	.top-main-visual > *:first-child,
	.top-main-visual > section:first-child > [class*="top-heading-lv"] {
		margin-top: 0 !important;
	}
	
	/* top-content
	------------------------------------------------------ */
	.top-content {
		padding: 60px 25px 50px;
	}
	.top-content > * {
		width: 1200px;
		margin-left: auto;
		margin-right: auto;
	}
	.top-content > *:first-child,
	.top-content > section:first-child > [class*="top-heading-lv"] {
		margin-top: 0 !important;
	}
	
	/* top-foot
	------------------------------------------------------ */
	.top-foot {
		padding: 50px 25px;
		background-color: #0078ca;
	}
	.top-foot > .foot_inner >  * {
		width: 1200px;
		margin-left: auto;
		margin-right: auto;
	}
	.top-foot > .foot_inner > *:first-child,
	.top-foot > .foot_inner > section:first-child > [class*="top-heading-lv"] {
		margin-top: 0 !important;
	}
	
	/* top-heading-lv2
	------------------------------------------------------ */
	.top-heading-lv2 {
		margin-top: 45px;
	}
	#mainContents.top-heading-lv2 + * {
		margin-top: 25px;
	}
	.top-heading-lv2 > .block {
		display: block;
		color: #333;
		text-align: center;
	}
	.top-heading-lv2 .heading_title {
		font-size: 3.2rem;
		text-align: center;
		line-height: 1.25;
	}
	.top-heading-lv2 .heading_subtitle {
		margin-top: 5px;
		color: #007bcf;
		font-size: 1.8rem;
		text-align: center;
		line-height: 1.25;
	}
	
	/* top-hero-layout
	------------------------------------------------------ */
	.top-hero-layout {
		width: auto;
		margin: 0 -25px;
		overflow: hidden;
	}
	.top-hero-layout .hero_carousel {
		position: relative;
		width: 1300px;
		max-width: 100%;
		margin: 0 auto;
	}
	.top-hero-layout .hero_carousel .hero_carousel_item {
		display:  block !important;
		padding: 0 50px;
	}
	.top-hero-layout .hero_carousel:not(.slick-initialized) .hero_carousel_item + .hero_carousel_item {
		display: none;
	}
	.top-hero-layout .hero_carousel .hero_carousel_item > .block {
		display: flex;
		flex-flow: row-reverse nowrap;
		align-items: center;
		position: relative;
		padding-left: 345px;
		color: #fff;
		text-decoration: none !important;
	}
	.top-hero-layout .hero_carousel .hero_carousel_caption {
		display: flex;
		flex-flow: column wrap;
		justify-content: center;
		position: absolute;
		left: 0;
		bottom: 40px;
		width: 500px;
		height: 300px;
		padding: 0 50px;
		background: linear-gradient(to right,  rgba(0,123,207,1) 0%,rgba(0,95,161,1) 100%);
		box-shadow: 0 3px 10px 2px rgba(0,0,0,.3);
		overflow: hidden;
		transition: box-shadow .2s ease-out 0s;
	}
	.top-hero-layout .hero_carousel .hero_carousel_caption::before {
		position: absolute;
		top: 0;
		left: 0;
		width: 468px;
		height: 80px;
		background: url(../img/index_main_bg01.png) no-repeat 0 0;
		content: "";
	}
	.top-hero-layout .hero_carousel .hero_carousel_caption > * {
		position: relative;
		z-index: 1;
	}
	.top-hero-layout .hero_carousel a:hover .hero_carousel_caption {
		box-shadow: 0 3px 15px 4px rgba(0,0,0,.4);
	}
	.top-hero-layout .hero_carousel .hero_carousel_caption > *:first-child {
		margin-top: 0 !important;
	}
	.top-hero-layout .hero_carousel .hero_carousel_title {
		margin-top: 10px;
		font-size: 4rem;
		line-height: 1.5;
	}
	.top-hero-layout .hero_carousel .hero_carousel_subtitle {
		margin-top: 10px;
		font-size: 2rem;
		font-weight: bold;
	}
	.top-hero-layout .hero_carousel .hero_carousel_subtitle2 {
		margin-top: 10px;
		font-size: 2rem;
	}
	.top-hero-layout .hero_carousel .hero_carousel_button {
		margin-top: 10px;
	}
	.top-hero-layout .hero_carousel .hero_carousel_button .hero_carousel_button_label {
		display: inline-block;
		padding: 8px 22px 7px;
		border: 1px solid #fff;
		background-color: #0070be;
		font-size: 1.6rem;
		font-weight: bold;
		line-height: 1.25;
		vertical-align: top;
		transition: background-color .2s ease-out 0s, color .2s ease-out 0s;
	}
	.top-hero-layout .hero_carousel a:hover .hero_carousel_button .hero_carousel_button_label {
		background-color: #fff;
		color: #0070be;
	}
	.top-hero-layout .hero_carousel .slick-list {
		overflow: visible;
	}
	.top-hero-layout .hero_carousel .slick-arrow {
		display: inline-block;
		position: absolute;
		top: 50%;
		z-index: 10;
		width: 50px;
		height: 50px;
		margin: -25px 0 0 0;
		padding: 0;
		border: none;
		background: none;
		text-indent: -9999em;
		outline: none;
		cursor: pointer;
	}
	.top-hero-layout .hero_carousel .slick-arrow::before {
		position: absolute;
		top: 50%;
		width: 32px;
		height: 32px;
		margin-top: -16px;
		border-left: 2px solid #007bcf;
		border-bottom: 2px solid #007bcf;
		content: "";
		transition: opacity .2s ease-out 0s;
	}
	.top-hero-layout .hero_carousel .slick-arrow:hover::before {
		opacity: .8;
	}
	.top-hero-layout .hero_carousel .slick-arrow.slick-prev {
		left: -25px;
	}
	.top-hero-layout .hero_carousel .slick-arrow.slick-prev::before {
		left: 16px;
		transform: rotate(45deg);
	}
	.top-hero-layout .hero_carousel .slick-arrow.slick-next {
		right: -25px;
	}
	.top-hero-layout .hero_carousel .slick-arrow.slick-next::before {
		left: 0;
		transform: rotate(-135deg);
	}
	.top-hero-layout .hero_carousel .slick-dots {
		display: flex;
		flex-flow: row wrap;
		align-items: center;
		position: absolute;
		bottom: 0;
		left: 50%;
		width: 1200px;
		margin-left: -600px;
		padding-left: 35px;
		z-index: 1;
	}
	.top-hero-layout .hero_carousel .slick-dots > li {
		margin-right: 18px;
	}
	.top-hero-layout .hero_carousel .slick-dots > li:last-child {
		margin-right: 0;
	}
	.top-hero-layout .hero_carousel .slick-dots button {
		display: block;
		width: 12px;
		height: 12px;
		max-width: 100%;
		padding: 0;
		border: none;
		border-radius: 50%;
		background-color: #ccc;
		text-indent: -9999px;
		outline: none;
		overflow: hidden;
		cursor: pointer;
		transition: background-color .2s ease-out 0s;
	}
	.top-hero-layout .hero_carousel .slick-dots button + button {
		display: none;
	}
	.top-hero-layout .hero_carousel .slick-dots button:hover,
	.top-hero-layout .hero_carousel .slick-dots .slick-active button {
		background-color: #007bcf;
	}
	.top-hero-layout .hero_carousel .slick-dots .home-carousel-button {
		position: absolute;
		top: 0;
		left: 0;
		width: 10px;
		height: 12px;
		text-indent: -9999px;
		overflow: hidden;
		transition: width .2s ease-out 0s;
	}
	.top-hero-layout .hero_carousel .slick-dots .home-carousel-button:before {
		display: block;
		position: absolute;
		top: 50%;
		left: 0;
		width: 100%;
		height: 100%;
		border-left: 3px solid #007bcf;
		border-right: 3px solid #007bcf;
		cursor: pointer;
		box-sizing: border-box;
		transform: translateY(-50%);
		content: "";
	}
	.top-hero-layout .hero_carousel .slick-dots .home-carousel-button.is-paused {
		width: 15px;
	}
	.top-hero-layout .hero_carousel .slick-dots .home-carousel-button.is-paused:before {
		display: block;
		position: absolute;
		width: 0;
		height: 0;
		border-top: 6px solid transparent;
		border-right: 15px solid transparent;
		border-bottom: 6px solid transparent;
		border-left: 15px solid #007bcf;
		cursor: pointer;
		box-sizing: border-box;
		content: "";
		transition: border-width .2s ease-out 0s;
	}
	
	/* top-search-layout
	------------------------------------------------------ */
	.top-search-layout {
		width: 700px;
		margin: 30px auto;
	}
	.top-search-layout .search_form {
		display: block;
		position: relative;
		width: 100%;
		border-top: 2px solid #007bcf;
		box-shadow: 0 3px 10px 2px rgba(0,0,0,.05);
	}
	.top-search-layout .search_form .search_text {
		width: 100%;
		height: 60px;
		margin: 0;
		padding: 0 0 0 20px;
		border: none;
		border-radius: 0;
		background: #fff;
		box-shadow: none;
		color: #555;
		font-size: 1.6rem;
		vertical-align: top;
		outline: none;
	}
	.top-search-layout .search_form .search_text::placeholder { color: #555; }
	.top-search-layout .search_form .search_submit {
		display: inline-block;
		position: absolute;
		top: 0;
		right: 0;
		width: 60px;
		height: 60px;
		padding: 0;
		border: none;
		border-radius: 0;
		background: url(../img/index_search_ic01.png) no-repeat 50% 50% #fff;
		text-indent: -9999em;
		vertical-align: top;
		overflow: hidden;
		outline: none;
		cursor: pointer;
		transition: opacity .2s ease-out 0s;
	}
	.top-search-layout .search_form .search_submit:hover {
		opacity: .8;
	}
	
	/* top-index-layout
	------------------------------------------------------ */
	.top-index-layout {
		display: flex;
		flex-flow: row wrap;
		margin-top: 30px;
	}
	.top-index-layout > .index_item {
		width: calc(((100% - 2px) / 3) - 0.1px);
		margin: 1px 0 0 1px;
	}
	.top-index-layout > .index_item:nth-child(3n+1) {
		margin-left: 0 !important;
	}
	.top-index-layout > .index_item:nth-child(-n+3) {
		margin-top: 0 !important;
	}
	.top-index-layout > .index_item > .block {
		display: block;
		position: relative;
		box-shadow: 0 3px 10px 2px rgba(0,0,0,.05);
		color: #fff;
		text-decoration: none;
		transition: box-shadow .2s ease-out 0s;
		overflow: hidden;
	}
	.top-index-layout > .index_item > a.block:hover {
		box-shadow: 0 3px 15px 2px rgba(0,0,0,.2);
	}
	.top-index-layout > .index_item > a.block::before {
		content: "";
		display: block;
		position: absolute;
		right: 0;
		bottom: 0;
		width: 30px;
		height: 30px;
		background: #007bcf;
		z-index: 2;
	}
	.top-index-layout > .index_item > a.block::after {
		content: "";
		display: block;
		position: absolute;
		right: 11px;
		bottom: 10px;
		width: 10px;
		height: 10px;
		border-top: 3px solid #fff;
		border-right: 3px solid #fff;
		transform: rotate(45deg);
		box-sizing: border-box;
		z-index: 3;
	}
	.top-index-layout > .index_item .index_caption {
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		padding: 50px 18px 0;
		background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0.6) 30%, rgba(0,0,0,0.6) 100%);
		transition: bottom .2s ease-out 0s;
	}
	.top-index-layout > .index_item > .block:hover .index_caption {
		bottom: 0 !important;
	}
	.top-index-layout > .index_item .index_title {
		padding-bottom: 20px;
		font-size: 2.4rem;
		font-weight: bold;
		line-height: 1.25;
	}
	.top-index-layout > .index_item .index_detail {
		padding-bottom: 20px;
	}
	/* v2 */
	.top-index-layout-v2 {
		display: flex;
		flex-flow: row wrap;
		margin-top: 30px;
	}
	.top-index-layout-v2 > .index_item {
		width: calc(((100% - 108px) / 4) - 0.1px);
		margin: 30px 0 0 36px;
	}
	.top-index-layout-v2 > .index_item:nth-child(4n+1) {
		margin-left: 0 !important;
	}
	.top-index-layout-v2 > .index_item:nth-child(-n+4) {
		margin-top: 0 !important;
	}
	.top-index-layout-v2 > .index_item > .block {
		display: block;
		color: #333;
		text-decoration: none
	}
	.top-index-layout-v2 > .index_item .index_image {
		box-shadow: 0 3px 10px 2px rgba(0,0,0,.05);
		transition: box-shadow .2s ease-out 0s;
	}
	.top-index-layout-v2 > .index_item > a.block:hover .index_image {
		box-shadow: 0 3px 15px 2px rgba(0,0,0,.2);
	}
	.top-index-layout-v2 > .index_item .index_image img {
		transition: opacity .2s ease-out 0s;
	}
	.top-index-layout-v2 > .index_item > a.block:hover .index_image img {
		opacity: .8;
	}
	.top-index-layout-v2 > .index_item .index_caption {
		margin-top: 20px;
	}
	.top-index-layout-v2 > .index_item .index_title {
		font-size: 1.8rem;
		font-weight: bold;
	}
	.top-index-layout-v2 > .index_item > a.block:hover .index_title {
		text-decoration: underline;
	}
	.top-index-layout-v2 > .index_item > a.block .index_title::after {
		display: inline-block;
		position: relative;
		top: -2px;
		width: 6px;
		height: 6px;
		margin-left: 5px;
		border-right: 3px solid #007bcf;
		border-bottom: 3px solid #007bcf;
		transform: rotate(-45deg);
		content: "";
	}
	
	/* top-banner-list
	------------------------------------------------------ */
	.top-banner-list {
		display: flex;
		flex-flow: row wrap;
	}
	.top-banner-list > li {
		width: calc(((100% - 72px) / 3) - 0.1px);
		margin: 20px 0 0 36px;
		background-color: #fff;
	}
	.top-banner-list > li:nth-child(3n+1) {
		margin-left: 0 !important;
	}
	.top-banner-list > li:nth-child(-n+3) {
		margin-top: 0 !important;
	}
	.top-banner-list > li a img {
		transition: opacity .2s ease-out 0s;
	}
	.top-banner-list > li a:hover img {
		opacity: .8;
	}
	
	/* top-news-layout
	------------------------------------------------------ */
	.top-news-layout {
		display: flex;
		flex-flow: row wrap;
		margin: 30px -30px 0;
	}
	.top-news-layout > .news_item {
		width: calc((100% / 4) - 0.1px);
		margin: 20px 0 0;
		padding: 0 30px;
		border-left: 1px solid #ddd;
	}
	.top-news-layout > .news_item:nth-child(4n+1) {
		border-left: none;
	}
	.top-news-layout > .news_item:nth-child(-n+4) {
		margin-top: 0 !important;
	}
	.top-news-layout > .news_item > .block {
		display: block;
		color: #333;
		text-decoration: none;
	}
	.top-news-layout .news_icon {
		display: inline-block;
		min-width: 80px;
		margin-bottom: 15px;
		padding: 4px 5px 3px;
		background-color: #007bcf;
		color: #fff;
		font-size: 1.3rem;
		text-align: center;
		line-height: 1;
	}
	.top-news-layout .news_date {
		color: #333;
		font-size: 1.5rem;
		font-weight: bold;
	}
	.top-news-layout .news_date .news_date_new {
		display: inline-block;
		margin-left: 10px;
		color: #007bcf;
		font-weight: bold;
	}
	.top-news-layout .news_title {
		margin-top: 10px;
	}
	.top-news-layout > .news_item > a.block:hover .news_title {
		text-decoration: underline;
	}
	/* v2 */
	.top-news-layout-v2 {
		display: flex;
		flex-flow: row wrap;
		margin-top: 30px;
	}
	.top-news-layout-v2 > .news_item {
		width: calc(((100% - 108px) / 4) - 0.1px);
		margin: 20px 0 0 36px;
	}
	.top-news-layout-v2 > .news_item:nth-child(4n+1) {
		margin-left: 0 !important;
	}
	.top-news-layout-v2 > .news_item:nth-child(-n+4) {
		margin-top: 0 !important;
	}
	.top-news-layout-v2 > .news_item > .block {
		display: block;
		position: relative;
		color: #333;
		text-decoration: none;
	}
	.top-news-layout-v2 .news_icon {
		display: inline-block;
		position: absolute;
		top: 0;
		left: 0;
		min-width: 80px;
		margin-bottom: 15px;
		padding: 4px 5px 3px;
		background-color: #007bcf;
		color: #fff;
		font-size: 1.3rem;
		text-align: center;
		line-height: 1;
		z-index: 1;
	}
	.top-news-layout-v2 .news_image {
		margin-bottom: 15px;
		border-top: 2px solid #e7e7e7;
	}
	.top-news-layout-v2 .news_image img {
		transition: opacity .2s ease-out 0s;
	}
	.top-news-layout-v2 > .news_item > a.block:hover .news_image img {
		opacity: .8;
	}
	.top-news-layout-v2 .news_date {
		color: #333;
		font-size: 1.5rem;
		font-weight: bold;
	}
	.top-news-layout-v2 .news_date .news_date_new {
		display: inline-block;
		margin-left: 10px;
		color: #007bcf;
		font-weight: bold;
	}
	.top-news-layout-v2 .news_title {
		margin-top: 10px;
	}
	.top-news-layout-v2 > .news_item > a.block:hover .news_title {
		text-decoration: underline;
	}
	
	/* top-button-link
	------------------------------------------------------ */
	.top-button-link {
		margin-top: 50px;
		text-align: center;
	}
	.top-button-link > a {
		display: inline-block;
		min-width: 340px;
		padding: 15px;
		background-color: #191919;
		color: #fff;
		font-size: 1.6rem;
		font-weight: bold;
		text-decoration: none;
		transition: background-color .2s ease-out 0s;
	}
	.top-button-link > a:hover {
		background-color: #5e5e5e;
	}
}

@media screen and (min-width: 641px) and (max-width: 1400px) {
	.top-hero-layout .hero_carousel .slick-arrow.slick-prev {
		left: 0;
	}
	.top-hero-layout .hero_carousel .slick-arrow.slick-next {
		right: 0;
	}
}

@media only screen and (max-width: 640px) {
	/* Override
	------------------------------------------------------ */
	.top #mainContainer {
		padding: 0 15px;
	}
	.top #mainContainer #contentContainer #mainContents {
		padding: 0;
	}
	
	/* emergencyArea
	------------------------------------------------------ */
	/*　.emergencyArea　*/
	.top .emergencyArea {
		margin: 20px 10px;
		color: #000000;
		font-weight: bold;
	}

	/* top-main-visual
	------------------------------------------------------ */
	.top-main-visual {
		position: relative;
		margin: 0 -15px;
		padding: 0 15px 60px;
		background-color: #f2f2f2;
	}
	.top-main-visual + * {
		position: relative;
		margin-top: -60px !important;
		z-index: 1;
	}
	.top-main-visual::after {
		display: block;
		position: absolute;
		left: 50%;
		width: 100%;
		height: 100px;
		transform: translateX(-50%);
		content: "";
	}
	.top-main-visual::after {
		bottom: 0;
		background-image: linear-gradient(to bottom left, #f2f2f2 0%, #f2f2f2 50%, #fff 50.2%, #fff 100%);
	}
	.top-main-visual > * {
		position: relative;
		z-index: 1;
	}
	.top-main-visual > *:first-child,
	.top-main-visual > section:first-child > [class*="top-heading-lv"] {
		margin-top: 0 !important;
	}
	
	/* top-content
	------------------------------------------------------ */
	.top-content {
		padding: 35px 0 40px;
	}
	.top-content > *:first-child,
	.top-content > section:first-child > [class*="top-heading-lv"] {
		margin-top: 0 !important;
	}
	
	/* top-foot
	------------------------------------------------------ */
	.top-foot {
		margin: 0 -15px;
		padding: 30px 15px;
		background-color: #0078ca;
	}
	.top-foot > .foot_inner > *:first-child,
	.top-foot > .foot_inner > section:first-child > [class*="top-heading-lv"] {
		margin-top: 0 !important;
	}
	
	/* top-heading-lv2
	------------------------------------------------------ */
	.top-heading-lv2 {
		margin-top: 30px;
	}
	#mainContents.top-heading-lv2 + * {
		margin-top: 20px;
	}
	.top-heading-lv2 > .block {
		display: block;
		color: #333;
		text-align: center;
	}
	.top-heading-lv2 .heading_title {
		font-size: 2.4rem;
		text-align: center;
	}
	.top-heading-lv2 .heading_subtitle {
		color: #007bcf;
		font-size: 1.3rem;
		text-align: center;
	}
	
	/* top-hero-layout
	------------------------------------------------------ */
	.top-hero-layout {
		position: relative;
		margin: 0 -15px;
		padding-bottom: 140px;
		background-color: #fff;
		overflow: hidden;
	}
	.top-hero-layout::before {
		display: block;
		position: absolute;
		left: 50%;
		bottom: 0;
		width: 100%;
		height: 100px;
		background-image: linear-gradient(to bottom right, #fff 0%, #fff 50%, #f2f2f2 50.2%, #f2f2f2 100%);
		transform: translateX(-50%);
		content: "";
	}
	.top-hero-layout + * {
		position: relative;
		margin-top: -120px !important;
		z-index: 1;
	}
	.top-hero-layout .hero_carousel {
		position: relative;
		text-align: center;
	}
	.top-hero-layout .hero_carousel .hero_carousel_item {
		display:  block !important;
	}
	.top-hero-layout .hero_carousel:not(.slick-initialized) .hero_carousel_item + .hero_carousel_item {
		display: none;
	}
	.top-hero-layout .hero_carousel .hero_carousel_item > .block {
		display: block;
		position: relative;
		color: #fff;
		text-decoration: none !important;
	}
	.top-hero-layout .hero_carousel .hero_carousel_caption {
		display: flex;
		flex-flow: column wrap;
		justify-content: center;
		position: relative;
		min-height: 120px;
		padding: 10px 15px;
		background: linear-gradient(to right, rgba(0,123,207,1) 0%, rgba(0,95,161,1) 100%);
		box-shadow: 0 3px 10px 2px rgba(0,0,0,.3);
		text-align: center;
		overflow: hidden;
	}
	.top-hero-layout .hero_carousel .hero_carousel_item > a.block .hero_carousel_caption {
		padding-right: 120px;
		text-align: left;
	}
	.top-hero-layout .hero_carousel .hero_carousel_caption::before {
		position: absolute;
		top: 0;
		left: 0;
		width: 219px;
		height: 40px;
		background: url(../img/index_main_bg01.png) no-repeat 0 0;
		background-size: 219px 40px;
		content: "";
	}
	.top-hero-layout .hero_carousel .hero_carousel_caption > * {
		position: relative;
		z-index: 1;
	}
	.top-hero-layout .hero_carousel .hero_carousel_caption > *:first-child {
		margin-top: 0 !important;
	}
	.top-hero-layout .hero_carousel .hero_carousel_title {
		margin-top: 10px;
		font-size: 2rem;
	}
	.top-hero-layout .hero_carousel .hero_carousel_subtitle {
		margin-top: 10px;
		font-size: 1.3rem;
		font-weight: bold;
	}
	.top-hero-layout .hero_carousel .hero_carousel_subtitle2 {
		margin-top: 10px;
		font-size: 1.3rem;
	}
	.top-hero-layout .hero_carousel .hero_carousel_button {
		position: absolute;
		bottom: 15px;
		right: 15px;
	}
	.top-hero-layout .hero_carousel .hero_carousel_button .hero_carousel_button_label {
		display: inline-block;
		width: 100px;
		padding: 8px 0 7px;
		border: 1px solid #fff;
		background-color: #0070be;
		font-size: 1.2rem;
		font-weight: bold;
		text-align: center;
		vertical-align: top;
	}
	.top-hero-layout .hero_carousel .slick-list {
		overflow: visible;
	}
	.top-hero-layout .hero_carousel .slick-arrow {
		display: inline-block;
		position: absolute;
		top: 50%;
		z-index: 10;
		width: 40px;
		height: 40px;
		margin: -90px 0 0 0;
		padding: 0;
		border: none;
		background: none;
		text-indent: -9999em;
		outline: none;
		cursor: pointer;
	}
	.top-hero-layout .hero_carousel .slick-arrow::before {
		position: absolute;
		top: 50%;
		width: 20px;
		height: 20px;
		margin-top: -10px;
		border-left: 2px solid #007bcf;
		border-bottom: 2px solid #007bcf;
		content: "";
	}
	.top-hero-layout .hero_carousel .slick-arrow.slick-prev {
		left: 0;
	}
	.top-hero-layout .hero_carousel .slick-arrow.slick-prev::before {
		left: 16px;
		transform: rotate(45deg);
	}
	.top-hero-layout .hero_carousel .slick-arrow.slick-next {
		right: 0;
	}
	.top-hero-layout .hero_carousel .slick-arrow.slick-next::before {
		left: 0;
		transform: rotate(-135deg);
	}
	.top-hero-layout .hero_carousel .slick-dots {
		display: inline-flex;
		flex-flow: row wrap;
		align-items: center;
		justify-content: center;
		position: relative;
		margin-top: 15px;
		padding-left: 25px;
		vertical-align: top;
		z-index: 1;
	}
	.top-hero-layout .hero_carousel .slick-dots > li {
		margin-right: 14px;
	}
	.top-hero-layout .hero_carousel .slick-dots > li:last-child {
		margin-right: 0;
	}
	.top-hero-layout .hero_carousel .slick-dots button {
		display: block;
		width: 10px;
		height: 10px;
		max-width: 100%;
		padding: 0;
		border: none;
		border-radius: 50%;
		background-color: #ccc;
		text-indent: -9999px;
		outline: none;
		overflow: hidden;
		cursor: pointer;
		transition: background-color .2s ease-out 0s;
	}
	.top-hero-layout .hero_carousel .slick-dots button + button {
		display: none;
	}
	.top-hero-layout .hero_carousel .slick-dots .slick-active button {
		background-color: #007bcf;
	}
	.top-hero-layout .hero_carousel .slick-dots .home-carousel-button {
		position: absolute;
		top: 0;
		left: 0;
		width: 10px;
		height: 10px;
		text-indent: -9999px;
		overflow: hidden;
		transition: width .2s ease-out 0s;
	}
	.top-hero-layout .hero_carousel .slick-dots .home-carousel-button:before {
		display: block;
		position: absolute;
		top: 50%;
		left: 0;
		width: 100%;
		height: 100%;
		border-left: 3px solid #007bcf;
		border-right: 3px solid #007bcf;
		cursor: pointer;
		box-sizing: border-box;
		transform: translateY(-50%);
		content: "";
	}
	.top-hero-layout .hero_carousel .slick-dots .home-carousel-button.is-paused {
		width: 13px;
	}
	.top-hero-layout .hero_carousel .slick-dots .home-carousel-button.is-paused:before {
		display: block;
		position: absolute;
		width: 0;
		height: 0;
		border-top: 5px solid transparent;
		border-right: 13px solid transparent;
		border-bottom: 5px solid transparent;
		border-left: 13px solid #007bcf;
		cursor: pointer;
		box-sizing: border-box;
		content: "";
		transition: border-width .2s ease-out 0s;
	}
	
	/* top-search-layout
	------------------------------------------------------ */
	.top-search-layout {
		margin: 15px 0;
	}
	.top-search-layout .search_form {
		display: block;
		position: relative;
		width: 100%;
		border-top: 2px solid #007bcf;
		box-shadow: 0 3px 10px 2px rgba(0,0,0,.1);
	}
	.top-search-layout .search_form .search_text {
		width: 100%;
		height: 40px;
		margin: 0;
		padding: 0 0 0 15px;
		border: none;
		border-radius: 0;
		background: #fff;
		box-shadow: none;
		color: #555;
		font-size: 1.3rem;
		vertical-align: top;
		outline: none;
	}
	.top-search-layout .search_form .search_text::placeholder { color: #555; }
	.top-search-layout .search_form .search_submit {
		display: inline-block;
		position: absolute;
		top: 0;
		right: 0;
		width: 40px;
		height: 40px;
		padding: 0;
		border: none;
		border-radius: 0;
		background: url(../img/index_search_ic01.png) no-repeat 50% 50% #fff;
		background-size: 20px 20px;
		text-indent: -9999em;
		vertical-align: top;
		overflow: hidden;
		outline: none;
		cursor: pointer;
	}
	
	/* top-index-layout
	------------------------------------------------------ */
	.top-index-layout {
		margin-top: 25px;
	}
	.top-index-layout > .index_item + .index_item {
		margin-top: 20px;
	}
	.top-index-layout > .index_item > .block {
		display: block;
		position: relative;
		box-shadow: 0 3px 10px 2px rgba(0,0,0,.1);
		color: #fff;
		text-decoration: none;
		overflow: hidden;
	}
	.top-index-layout > .index_item > a.block::before {
		content: "";
		display: block;
		position: absolute;
		right: 0;
		bottom: 0;
		width: 30px;
		height: 30px;
		background: #007bcf;
		z-index: 2;
	}
	.top-index-layout > .index_item > a.block::after {
		content: "";
		display: block;
		position: absolute;
		right: 11px;
		bottom: 10px;
		width: 10px;
		height: 10px;
		border-top: 3px solid #fff;
		border-right: 3px solid #fff;
		transform: rotate(45deg);
		box-sizing: border-box;
		z-index: 3;
	}
	.top-index-layout > .index_item .index_caption {
		position: absolute;
		left: 0;
		bottom: 0 !important;
		width: 100%;
		padding: 30px 15px 15px;
		background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0.6) 30%, rgba(0,0,0,0.6) 100%);
	}
	.top-index-layout > .index_item .index_title {
		font-size: 2rem;
		font-weight: bold;
	}
	.top-index-layout > .index_item .index_detail {
		margin-top: 10px;
	}
	/* v2 */
	.top-index-layout-v2 {
		display: flex;
		flex-flow: row wrap;
		margin-top: 20px;
	}
	.top-index-layout-v2 > .index_item {
		display: flex;
		width: calc((100% - 15px) / 2);
		margin: 15px 0 0 15px;
	}
	.top-index-layout-v2 > .index_item:nth-child(2n+1) {
		margin-left: 0 !important;
	}
	.top-index-layout-v2 > .index_item:nth-child(-n+2) {
		margin-top: 0 !important;
	}
	.top-index-layout-v2 > .index_item > .block {
		display: flex;
		justify-content: center;
		align-items: center;
		position: relative;
		width: 100%;
		padding: 12px 25px;
		background-color: #fff;
		box-shadow: 0 3px 10px 2px rgba(0,0,0,.1);
		color: #333;
		text-decoration: none
	}
	.top-index-layout-v2 > .index_item .index_image {
		display: none;
	}
	.top-index-layout-v2 > .index_item .index_caption {
		text-align: center;
	}
	.top-index-layout-v2 > .index_item .index_title {
		font-size: 1.5rem;
		font-weight: bold;
	}
	.top-index-layout-v2 > .index_item > a.block::after {
		display: inline-block;
		position: absolute;
		top: 50%;
		right: 10px;
		width: 6px;
		height: 6px;
		margin-top: -4px;
		border-right: 2px solid #007bcf;
		border-bottom: 2px solid #007bcf;
		transform: rotate(-45deg);
		content: "";
	}
	
	/* top-banner-list
	------------------------------------------------------ */
	.top-banner-list {
		margin-top: 20px;
	}
	.top-banner-list > li {
		text-align: center;
	}
	.top-banner-list > li + li {
		margin-top: 20px;
	}
	
	/* top-news-layout
	------------------------------------------------------ */
	.top-news-layout {
		margin-top: 25px;
	}
	.top-news-layout > .news_item {
		border-bottom: 1px solid #ddd;
	}
	.top-news-layout > .news_item:first-child {
		border-top: 1px solid #ddd;
	}
	.top-news-layout > .news_item > .block {
		display: block;
		position: relative;
		padding: 15px 20px 15px 10px;
		background-color: #fff;
		color: #333;
		text-decoration: none;
	}
	.top-news-layout > .news_item > a.block::after {
		display: inline-block;
		position: absolute;
		top: 50%;
		right: 2px;
		width: 6px;
		height: 6px;
		margin-top: -4px;
		border-right: 2px solid #007bcf;
		border-bottom: 2px solid #007bcf;
		transform: rotate(-45deg);
		content: "";
	}
	.top-news-layout .news_icon {
		display: inline-block;
		min-width: 65px;
		margin-bottom: 10px;
		padding: 3px 5px;
		background-color: #007bcf;
		color: #fff;
		font-size: 1.1rem;
		line-height: 1;
		text-align: center;
	}
	.top-news-layout .news_date {
		color: #333;
		font-size: 1.3rem;
		font-weight: bold;
	}
	.top-news-layout .news_date .news_date_new {
		display: inline-block;
		margin-left: 10px;
		color: #007bcf;
		font-weight: bold;
	}
	.top-news-layout .news_title {
		margin-top: 5px;
		font-size: 1.3rem;
	}
	/* v2 */
	.top-news-layout-v2 {
		margin-top: 25px;
	}
	.top-news-layout-v2 > .news_item {
		border-bottom: 1px solid #ddd;
	}
	.top-news-layout-v2 > .news_item:first-child {
		border-top: 1px solid #ddd;
	}
	.top-news-layout-v2 > .news_item > .block {
		display: block;
		position: relative;
		padding: 15px 20px 15px 10px;
		background-color: #fff;
		color: #333;
		text-decoration: none;
	}
	.top-news-layout-v2 > .news_item > a.block::after {
		display: inline-block;
		position: absolute;
		top: 50%;
		right: 2px;
		width: 6px;
		height: 6px;
		margin-top: -4px;
		border-right: 2px solid #007bcf;
		border-bottom: 2px solid #007bcf;
		transform: rotate(-45deg);
		content: "";
	}
	.top-news-layout-v2 .news_icon {
		display: inline-block;
		min-width: 65px;
		margin-bottom: 10px;
		padding: 3px 5px;
		background-color: #007bcf;
		color: #fff;
		font-size: 1.1rem;
		line-height: 1;
		text-align: center;
	}
	.top-news-layout-v2 .news_content {
		display: flex;
		flex-flow: row nowrap;
	}
	.top-news-layout-v2 .news_image {
		flex-shrink: 0;
		width: 140px;
		margin-right: 10px;
	}
	.top-news-layout-v2 .news_caption {
		width: 100%;
	}
	.top-news-layout-v2 .news_date {
		color: #333;
		font-size: 1.3rem;
		font-weight: bold;
	}
	.top-news-layout-v2 .news_date .news_date_new {
		display: inline-block;
		margin-left: 10px;
		color: #007bcf;
		font-weight: bold;
	}
	.top-news-layout-v2 .news_title {
		margin-top: 5px;
		font-size: 1.3rem;
	}
	
	/* top-button-link
	------------------------------------------------------ */
	.top-button-link {
		margin-top: 20px;
		text-align: center;
	}
	.top-button-link > a {
		display: inline-block;
		min-width: 280px;
		padding: 12px 10px;
		background-color: #444;
		color: #fff;
		font-size: 1.6rem;
		font-weight: bold;
		text-decoration: none;
	}
}

@media only print {
}