@charset "UTF-8";

.bnr_line {
	position: absolute;
	right: 0;
	top: 100px;
	z-index: 10;
}

.fv {
	overflow: hidden;
	max-height: 687px;
	position: relative;
	z-index: 1;
}
.fv img {
	width: 100%;
}

.fire img{
  animation: fadezoom 8s 0s forwards;
}
.ie .fv {
	max-height: none;
}
.ie .fire img {
	animation: none;
	
}

@keyframes fadezoom {
  0% {
    transform: scale(1.2);
  }
  100% {
    transform: scale(1);
  }
}

.fv .txt {
	position: absolute;
	left: 10%;
	top: 20%;
	z-index: 5;
}
.ie .fv .txt {
	top: 5vw;
}

.fv .txt * {
	color: #fff;
	font-family: 'Sawarabi Mincho', sans-serif;
	font-style: italic;
}
.fv .txt .headline {
	font-size: calc(100vw / 22);
}
.fv .txt p {
	font-size: calc(100vw / 35);
	line-height: 1;
	margin-bottom: 15px;	
}
.fv .txt p span {
	display: inline-block;
	position: relative;
	overflow: hidden;
}
.fv .txt p .txtbg {
	display: inline-block;
	
}
.fv .txt p .txtbg:after {
	background: #fff;
	content: '';
	display: block;	
	height: 100%;
	width: 0;
	position: absolute;
	left: 0;
	top: 0;
}
.fv .txt p:last-of-type .txtbg {
	padding-bottom: 20px;
}
.fv .txt p:last-of-type .txtbg:after {
	height:calc(100% - 20px);
}

.fv .fire .txt p .txtbg:after{
   animation: txtBg 5s ease-in-out forwards;
}
.fv .fire .txt p:nth-of-type(2) .txtbg:after {
	animation-delay: 0.2s;
}
.fv .fire .txt p:nth-of-type(3) .txtbg:after {
	animation-delay: 0.3s;
}
.fv .fire .txt p:nth-of-type(4) .txtbg:after {
	animation-delay: 0.4s;
}

@keyframes txtBg {
  15% {
    width: 0;
  }
  25% {
   width: 100%;
	 left: 0;
  }
	28% {
   width: 100%;
	 left: 0;
  }
	34% {
		width: 100%;
		left: 100%;
	}
	100% {
		width: 100%;
		left: 100%;
	}
}

.fv .txt p:last-of-type .txtbg:before {
	background: #fccf00;
	content: '';
	display: block;
	height: 40%;
	position: absolute;
	left: 0;
	bottom: 0px;
	width: 100%;
}
.fv .fire .txt p:last-of-type .txtbg:before {
	animation: txtBgLast 5s ease-in-out forwards;
}
@keyframes txtBgLast {
	0% {
		left: 0;
		width: 0;
	}
	48% {
    left: 0;
		width: 0;		
  }
  54% {
		width: 98%;
		left: 0;
	}
	100% {
		width: 98%;
		left: 0;
	}
}


.fv .fire .txt p .passtxt {
	opacity: 0;
	animation: passTxt 5s ease-in-out forwards;
	padding-right: 20px;
}
.fv .fire .txt p:nth-of-type(2) .passtxt {
	animation-delay: 0.2s;
}
.fv .fire .txt p:nth-of-type(3) .passtxt {
	animation-delay: 0.3s;
}
.fv .fire .txt p:nth-of-type(4) .passtxt {
	animation-delay: 0.4s;
}

@keyframes passTxt{
	20% { opacity:0; }
	32% { opacity:1; }
	100% { opacity:1; }
}

@media screen and (max-width: 767px) {
	.fv {
		height: 300px;
	}
	.fv img {
		object-fit: cover;
		height: 300px;
		width: 100%;
	}
	.fv .txt {
		left: 5%;
		top: calc(50% - 15vw);
	}
	.fv	.txt .headline {
		font-size: calc(100vw / 14);
	}
	.fv .txt p {
		font-size: calc(100vw / 24);
		margin-bottom: 5px;
	}
	.fv .txt p:last-of-type .txtbg {
		padding-bottom: 10px;
	}
	.fv .txt p:last-of-type .txtbg:after {
		height: calc(100% - 10px);
	}
}

/*news*/
.news {
	
}
.news .inner {
	max-width: 1078px;
	position: relative;
}
.news .news_box {
	align-items: stretch;
	background: #161616;
	padding: 30px 0;
	position: absolute;
	top: -75px;
	z-index: 1;
}
.news .news_box .head {
	justify-content: center;
	align-items: center;
	border-right: 1px solid #fff;
	width: 240px;
}
.news .news_box .head .headline {
	color: #fccf00;
	font-size: 1.8rem;
	text-align: center;
	font-family: 'Open Sans', sans-serif;
	font-style:italic;
}
.news .news_box .content {
	padding: 0 0 0 40px;
	width: 716px;
}
.news .news_box .content .unit {	
	justify-content: space-between;
	width: 100%;
}

.news .news_box .content .unit + .unit {
	margin-top: 15px;
}

.news .news_box .content .unit p {
	color: #fff;
	margin-bottom: 5px;
	overflow: hidden;	
	text-overflow: ellipsis;
	white-space: nowrap;
	width: 80%;
	}
.news .news_box .content .unit .date {
	color: #fccf00;
	margin-right: 30px;
}

.news .news_box .content .unit .more {
	color: #fff;
}
.news .news_box .content .unit:hover .more:before {
	right: -8px;
}
.news .news_box .content .unit:hover .more:after {
	width: calc(100% + 8px);
}
.news .news_box .foot {
	position: relative;
	width: 122px;
}
.news .news_box .foot .toggle {
	cursor: pointer;
	display: inline-block;
	box-sizing: border-box;
	position: absolute;
	right: 42px;
	top: calc(50% - 10px);
	width: 25px;
	height: 21px;		
	z-index: 10;
	}
.news .news_box .foot .toggle:hover {
	opacity: 1;
}
.news .news_box .foot .toggle span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
	position: absolute;
	left: 0;
	width: 100%;
	height: 3px;
	background-color: #fccf00;
	border-radius: 0;
	transform: scale(1, 1);
}

@keyframes onTop {
	0% {
		top: 0;
	}
	50% {
		transform: scale(3, 1);
	}
	100% {
		transform: scale(3, 1);
		top: -4px;
	}
	}
	@keyframes offTop {
	0% {
		transform: scale(3, 1);
		top:-4px;
	}
	50% {
		transform: scale(1, 1);
	}
	100% {
		top:0;
	}
}

@keyframes onBtm{
	0% {
		bottom: 0;
	}
	50% {
		transform: scale(3, 1);
	}
	100% {
		transform: scale(3, 1);
		bottom: -4px;
	}
}
	@keyframes offBtm {
	0% {
		transform: scale(3, 1);
		bottom:-4px;
	}
	50% {
		transform: scale(1, 1);
	}
	100% {
		bottom:0;
	}
}
.news .news_box .foot .toggle span:nth-of-type(1) {
	animation: .4s ease-in offTop forwards;
}
.news .news_box .foot .toggle span:nth-of-type(2) {
	top: 9px;
}
.news .news_box .foot .toggle span:nth-of-type(3) {
	animation: .4s ease-in offBtm forwards;
}

.news .news_box .foot .toggle.active span:nth-of-type(1){
	animation: .4s ease-in onTop forwards;
}
.news .news_box .foot .toggle.active span:nth-of-type(2){
	opacity: 0;
}
.news .news_box .foot .toggle.active span:nth-of-type(3){
	animation: .4s ease-in onBtm forwards;
}

.news .news_box .foot .toggle:after {
	color: #fccf00;
	content: 'MORE';
	display: block;
	position: absolute;
	top: 0px;
	left: -6px;
	text-align: center;
	opacity: 0;
	transition-delay: 0.2s;
	transition-duration: 0.4s;
}
.news .news_box .foot .toggle.active:after {
	opacity: 1;
	transition-delay: 0s;
}

@media screen and (max-width: 767px) {
	.news {
		background: #161616;
	}
	.news .news_box {
		padding:20px 0;
		position: static;
	}
	.news .news_box .head {
		border-right: none;
		margin-bottom: 5px;
		width: 100%;
	}
	.news .news_box .head .headline {
		text-align: left;
	}
	.news .news_box .content {
		padding: 0;
		width: 100%;
	}
	.news .news_box .content .unit {
		text-align: right;
	}
	.news .news_box .content .unit .date {
		display: block;
	}
	.news .news_box .content .unit .more {
		display: inline-block;
		padding: 0 20px 0 0;
	}
	.news .news_box .content .unit:nth-of-type(n+2) {
		display: none;
	}
	
	.news .news_box .foot {
		margin: 10px 0 0;
		text-align: center;
		width: 100%;
	}
	.news .news_box .foot .more {
		display: inline-block;
		color: #fccf00;
	}
	.news .news_box .foot .more:before, .news .news_box .foot .more:after {
		background: #fccf00;
	}
}



.bg_index {
	background: url("../images/index/bg_index.png") no-repeat top;
	background-size: cover;
	margin-top: 135px;
}
@media screen and (max-width: 767px) {
	.bg_index {
		background: url("../images/index/bg_index_sp.png") no-repeat top;
		background-size: cover;
		margin-top: 0;
	}
}


/*feature*/
.feature {	
	padding: 35px 0 0;
	position: relative;
	overflow-x: hidden;
}
.feature .headline {
	color: #fccf00;	
	font-family: 'Open Sans', sans-serif;
	font-style:italic;
	font-size: 7.5rem;
	margin-bottom: 36px;
	padding-left: 6%;
}
.feature .headline span {
	font-size: 2.4rem;
	font-family: 'Noto Sans JP', sans-serif;
	display: block;
}
.feature .img {
	width: 78%;
}
.feature .img img {
	width: 100%;
}
.feature .txt {
	background: #fccf00;
	margin: 0 0 0 auto;
	position: absolute;
	top: calc(50% - 150px);
	height: 500px;
	right: 10%;
	padding: 70px 90px;
	max-width: 730px;
	width: 50%;
	z-index: 2;
}
.feature .txt .catch {
	font-size: 2.4rem;
	font-weight: bold;
	margin-bottom: 30px;
}
.feature .txt p {
	letter-spacing: -0.2px;
	line-height: 2.4;
}

/*cs*/
.cs {	
	padding: 30px 0 70px;
	position: relative;
}
.cs .headline {
	margin-bottom: 36px;
	padding: 0 6% 0 0;
	text-align: right;
}

.cs .img {
	margin: 0 0 0 auto;
}

.cs .txt {
	right: auto;
	left: 10%;
}

@media screen and (max-width: 1300px) {
	.feature .txt {
		height: 450px;
		padding: 50px 50px;
	}
	.feature .txt {
		top:calc(50% - 120px);
	}
	.cs .txt {
		top:calc(50% - 150px);
	}
}

@media screen and (max-width: 767px) 
{
	.feature {
		position: static;
	}
	.feature .headline {
		line-height: 1.2;
		font-size: 4.8rem;
		padding-left: 5%;
	}
	.feature .headline span {
		font-size: 1.6rem;
	}
	.feature .txt {
		height: auto;
		padding: 20px 5%;
		position: static;
		margin-top: -40px;
		width: 100%;
	}
	.feature .txt .catch {
		font-size: 2rem;
		margin-bottom: 10px;
	}
	.feature .txt .arrowbtn.btnwrap{
		margin: 15px auto 5px;
	}
}

.cs .txt .btnwrap {
	margin: 5% 0 0 auto;
}

/*message*/
.message {
	position: relative;
	overflow-x: hidden;
}
.message .img {
	margin: 0 0 0 auto;
	width: 74%;
}
.message .img img {
	width: 100%;
}

.message .txt {
	position: absolute;
	top: calc(50% - 175px);
	left: 6%;
}

.message .txt .headline {
	font-size: 4.6rem;
	font-style: italic;
	margin-bottom: 20px;
}
.message .txt p {
	font-size: 2.4rem;	
}
.message .txt p span.txtbg2 {
	display: inline-block;
	padding: 13px 20px;
	position: relative;
	margin-bottom: 10px;
	overflow: hidden;
	z-index: 1;
}
.message .txt p span:after {
	content: '';
	display: block;
	background: #fff;
	height: 100%;
	transition: 0.3s;
	position: absolute;
	left: 0;
	top: 0;
	width: 0;
	z-index: -1;
}

.message .txt p span.passtxt {
	opacity: 0;
}
.message .txt.aos-animate p .txtbg2:after{
  animation: txtBg2 5s ease-in-out forwards;
}
.message .txt.aos-animate p:nth-of-type(2) .txtbg2:after {
	animation-delay: 0.2s;
}

@keyframes txtBg2 {
  15% {
    width: 0;
  }
  25% {
   width: 100%;
  }
	100% {
		width: 100%;
	}
}

.message .txt.aos-animate p .passtxt {
	animation: passTxt 5s ease-in-out forwards;
}
.message .txt.aos-animate p:nth-of-type(2) .passtxt {
	animation-delay: 0.2s;
}


.message .txt .arrowbtn.btnwrap {
	margin: 20px 0 0;
}
.message .txt .arrowbtn.btnwrap .btn {
	background: #fccf00;
	width: 220px;
}
.message .txt .arrowbtn.btnwrap .more {
	right: -5px
}
.message .txt .arrowbtn.btnwrap .btn:hover + .more {
	right: -10px;
}

@media screen and (max-width: 767px) 
{
	.message {
		background: url("../images/index/img_message.jpg") no-repeat center 7rem;
		background-size: cover;
		padding: 0 5%;
	}
	.message .img {
		display: none;
	}
	.message .txt {		
		position: static;
		padding-bottom: 40px;
	}
	.message .txt .headline {
		font-size: 3.5rem;
		margin-bottom: 60px;
	}
	.message .txt p {
		font-weight: bold;
		font-size: 1.6rem;
	}
	.message .txt p span.txtbg2 {
		margin-bottom: 5px;
	}
	.message .txt .arrowbtn.btnwrap {
		margin: 30px auto 0;
	}
}

