@charset "utf-8";

@media all {
	.g-header {
		background-color: transparent;
		border-bottom-color: rgba(0,0,0,0);
		transition: .6s cubic-bezier(.75, 0, .35, 1);
	}
	
	.g-header__logo a {
		position: relative;
	}
	
	.g-header__logo a:hover {
		opacity: .9;
	}
	
	.g-header__logo a:hover img {
		opacity: 0;
	}
	
	.is-scroll .g-header__logo a:hover img {
		opacity: .9;
	}
	
	.g-header__logo a:before {
		content: '';
		width: 100%;
		height: 100%;
		display: block;
		background: url("/_assets/img/common/logo-basic-jp@none-message.svg") no-repeat center left / 100% auto;
		position: absolute;
		top: 0;
		left: 0;
	}
	
	.g-header__logo img {
		opacity: 0;
		transition: .3s cubic-bezier(.75, 0, .35, 1);
	}
	
	.is-scroll .g-header__logo a:before {
		opacity: 0;
	}
	
	.is-scroll .g-header__logo img {
		opacity: 1;
	}
	
	
	
	.is-gnavi-active .g-header {
		background: #fff;
		border-bottom-color: rgba(0,0,0,.15);
	}
	
	.is-scroll .g-header {
		background: #fff;
		border-bottom-color: rgba(0,0,0,.15);
	}
	
	.g-naviBase {
		top: -100vh;
	}
	
	.is-gnavi-active .g-naviBase {
		top: calc(-100vh + 80px);
	}
	
	.home-page .g-main {
		padding-top: 0;
	}
	
	.c-kv {
		margin-top: 0;
		margin-bottom: 0;
	}
	
	.c-kv__items {
		opacity: 0;
		transition: 1s cubic-bezier(.75, 0, .35, 1);
	}
	
	.c-kv__items.slick-initialized{
		opacity: 1;
	}
	
	.c-kv__title {
		width: 21.5%;
		margin: 29.25% 16.5% 0 0;
		position: absolute;
		top: 0;
		right: 0;
		z-index: 10;
		opacity: 0;
		transform: translate(0,50%);
		transition: 1.5s 1.5s;
	}
	
	.is-loaddone .c-kv__title {
		transform: translate(0,0);
		opacity: 1;
	}
	
/*
	.c-kv img {
		transition: 2s cubic-bezier(.75, 0, .35, 1);
		filter: brightness(200%) contrast(200%);
	}
*/
	
/*
	.c-kv .slick-active img {
		filter: brightness(100%) contrast(100%);
	}
*/
	
	.slick-dots {
		right: 130px;
		bottom: 30px;
		z-index: 100;
	}
	
	.slick-dots button {
		text-indent: -9999px;
		width: 40px;
		height: 5px;
		margin: 0 3px;
		background: #fff;
		overflow: hidden;
		transition: .3s cubic-bezier(.75, 0, .35, 1);
	}
	
	.no-touch .slick-dots button:hover,
	.slick-dots .slick-active button {
		background: #294197;
	}
	
	.slick-dots {
		display: flex;
	}
	
	.home-page .c-kv {
		margin-top: 0;
	}
	
	.home-page .c-kv img {
		position: relative;
		top: auto;
		left: auto;
		transform: none;
	}
	
	.is-loaddone.home-page .c-kv img {
		transform: none;
	}
	
	.c-corner1 {
		padding: 0 0 180px;
		background: url("/_assets/img/home/bg-01.jpg") no-repeat center top / 100% auto;
	}
	
	.c-productList {
		margin-top: 0;
		padding-top: 120px;
	}
	
	.c-productList__inner {
		padding: 0 30px 30px;
		background: rgba(27,52,140,.9);
		border-radius: 5px;
	}
	
	.c-productList__title {
		text-align: center;
		padding: 60px 0 0;
	}
	
	.c-productList__title a {
		color: #fff;
		font-weight: 400;
		margin-left: 2em;
	}
	
	.c-productList__title a:hover {
		color: #fff;
	}
	
	.c-productList__title .u-icon:after {
		margin-left: 1em;
		transform: translate(0,-.25em);
	}
	
	.c-productList__items {
		margin: 50px -3px 0;
		display: flex;
	}
	
	.c-productList__item {
		text-align: center;
		width: calc(100% / 3);
		padding: 0 3px;
	}
	
	.c-productList__item img {
		position: absolute;
		top: 50%;
		left: 0;
		transform: translate(0,-50%);
		transition: 2s;
	}
	
	.c-productList__item a {
		color: #000;
		display: block;
		background: #fff;
	}
	
	.c-productList__item a:hover {
		color: #fff;
		text-decoration: none;
		background: #2c4ec6;
	}
	
	.c-productList__item em {
		padding: 30px 0;
		display: block;
	}
	
	.c-productList__item figure {
		padding: 54.75% 0 0;
		position: relative;
		overflow: hidden;
	}
	
	.c-productList__item a:hover img {
		transform: scale(1.075) translate(0,-50%);
	}
	
	.c-reason__title {
		color: #000;
		font-size: 2.4rem;
		font-weight: 400;
		letter-spacing: .1em;
		text-align: center;
		padding: 40px 0 0;
	}
	
	.c-reason__items {
		margin: 80px -3px 0;
		display: flex;
	}
	
	.c-reason__item {
		text-align: center;
		width: calc(100% / 3);
		padding: 0 3px;
	}
	
	.c-reason__item a {
		color: #000;
		min-height: 300px;
		padding: 0 0 100px;
		background: rgba(255,255,255,.925);
		display: block;
		position: relative;
	}
	
	.c-reason__item a:hover {
		color: #fff;
		text-decoration: none;
		background: #294197;
	}
	
	.c-reason__number {
		color: #294197;
		font-size: 1.4rem;
		letter-spacing: .1em;
		padding: 40px 0 0;
		display: block;
		transition: .3s cubic-bezier(.75, 0, .35, 1);
	}
	
	.c-reason__number:after {
		content: attr(data-num)'';
		font-family: 'Times New Roman', 'Noto Serif JP' !important;
		font-size: 2.8rem;
		letter-spacing: 0;
		margin: 5px 0 0;
		display: block;
	}
	
	.c-reason__item a:hover .c-reason__number {
		color: #fff;
	}
	
	.c-reason__catch {
		font-size: 2.2rem;
		font-weight: 300;
		line-height: 1.75;
		width: 100%;
		margin: 33% 0 0;
		display: block;
		position: absolute;
		top: 0;
		left: 0;
	}
	
	.c-reason__catch--line3 {
		margin-top: calc(33% - 1em);
	}
	
	.c-reason__button {
		font-size: 1.2rem;
		width: 100%;
		display: block;
		position: absolute;
		bottom: 30px;
		left: 0;
	}
	
	.c-primaryContents {
		margin-top: 0;
		padding: 60px 0 90px;
		background: #f5f6f9;
	}
	
	.c-news__title {
		font-size: 2.4rem;
		font-weight: 400;
		text-align: center;
		padding: 20px 0 0;
	}
	
	.u-newsList {
		margin: 50px 0 0;
	}
	
	.c-news__button {
		text-align: center;
		margin: 50px 0 0;
	}
	
	.u-newsList .u-icon:after {
		display: none;/*トップページでPDFアイコンは非表示*/
	}
	
	.c-splash {
		width: 100%;
		height: 100%;
		background: #294197;
		display: block;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 10000;
	}
	
	.c-splash__inner {
		width: 18.5%;
		min-width: 260px;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
	}
	
	.c-splash__catch {
		position: relative;
		opacity: 0;
	}
	
	.c-splash__catch:after {
		content: '';
		width: 0;
		height: 2px;
		margin: 0 0 -15%;
		display: block;
		background: #fff;
		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translate(-50%,0);
		transition: .4s 1.4s;
	}
	
	.c-splash__name {
		width: 53%;
		margin: 25% auto 0;
		display: block;
		position: relative;
		opacity: 0;
	}
	
	.is-loaddone .c-splash__catch {
		opacity: 0;
		transform: translate(0,10px);
		animation: anim-splash-catch .4s 1s both;
	}
	
	.is-loaddone .c-splash__catch:after {
		width: 20%;
	}
	
	.is-loaddone .c-splash__name {
		opacity: 0;
		transform: translate(0,10px);
		animation: anim-splash-catch .6s 1.8s both;
	}
	
	.is-loaddone .c-splash {
		visibility: visible;
		opacity: 1;
		animation: anim-splash-hide 1s 3.5s both;
	}
	
	.is-loaddone .c-splash__inner {
		animation: anim-splash__inner-hide 1.5s 3.5s both;
	}
	
}/* END Media all */

@keyframes anim-splash-catch {
	0% {
		transform: translate(0,10px);
		opacity: 0;
	}
	100% {
		transform: translate(0,0);
		opacity: 1;
	}
}

@keyframes anim-splash__inner-hide {
	0% {
		transform: translate(-50%,-50%);
	}
	100% {
		transform: translate(-50%,-65%);
	}
}

@keyframes anim-splash-hide {
	0% {
		visibility: visible;
		opacity: 1;
		z-index: 10000;
	}
	100% {
		visibility: hidden;
		opacity: 0;
		z-index: 0;
	}
}

.is-scrollRock {
	position: fixed;
}



