@charset "UTF-8";
/* #mainImg 下層ページ
================================================ */
/*  #home
================================================ */
/* loader
------------------------------------------------ */
@-webkit-keyframes hide { 0% { opacity: 1;
    visibility: visible; }
  100% { opacity: 0;
    visibility: hidden; } }
@keyframes hide { 0% { opacity: 1;
    visibility: visible; }
  100% { opacity: 0;
    visibility: hidden; } }

#loader { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: #000; z-index: 5000; }

#loader.is_start { background: none; }

#loader .inner { position: relative; width: 100%; height: 100%; }

#loader .bg01, #loader .bg02 { position: absolute; top: 0; width: 200%; height: 100%; background: #000; -webkit-transform: skew(-30deg); -ms-transform: skew(-30deg); transform: skew(-30deg); -webkit-transition: all 1s cubic-bezier(0.77, 0, 0.175, 1); transition: all 1s cubic-bezier(0.77, 0, 0.175, 1); }

#loader .bg01 { left: 0; -webkit-transform-origin: 0 0; -ms-transform-origin: 0 0; transform-origin: 0 0; }

#loader .bg02 { right: 0; -webkit-transform-origin: 100% 100%; -ms-transform-origin: 100% 100%; transform-origin: 100% 100%; }

#loader .progress { position: absolute; top: 50%; left: 0; height: 1px; background: #9ecb3a; opacity: 1; -webkit-transition: width 2s ease, opacity 1s 0.7s, -webkit-transform 0.8s cubic-bezier(0.77, 0, 0.175, 1); transition: width 2s ease, opacity 1s 0.7s, -webkit-transform 0.8s cubic-bezier(0.77, 0, 0.175, 1); transition: width 2s ease, transform 0.8s cubic-bezier(0.77, 0, 0.175, 1), opacity 1s 0.7s; transition: width 2s ease, transform 0.8s cubic-bezier(0.77, 0, 0.175, 1), opacity 1s 0.7s, -webkit-transform 0.8s cubic-bezier(0.77, 0, 0.175, 1); }

#loader .progress.is_loaded { left: 50%; margin-left: -250%; -webkit-transform: rotate(480deg); -ms-transform: rotate(480deg); transform: rotate(480deg); opacity: 0; }

#loader .copy { position: absolute; top: 50%; left: 50%; display: none; width: 80%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); opacity: 1; -webkit-transition: opacity .7s ease; transition: opacity .7s ease; }

#loader .copy path { fill: none; stroke: #fff; stroke-width: 20; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 10; stroke-dasharray: 1500; /* この行を追加 */ stroke-dashoffset: 1500; /* この行を追加 */ }

#loader .copy.is_show { display: block; }

#loader .skipBtn{
	position: absolute;
	z-index: 99;
	right: 0;
	bottom: 15px;
	padding: 0 15px;
	width: 200px;
	box-sizing: border-box;
}
#loader .skipBtn a{padding-top: 6px;padding-bottom: 6px;}

#loader.is_animated { -webkit-animation: hide .01s 1s ease forwards; animation: hide .01s 1s ease forwards; }

#loader.is_animated .bg01 { left: -200%; }

#loader.is_animated .bg02 { right: -200%; }

#loader.is_animated .copy { opacity: 0; }

#loader.is_animated .skipBtn { opacity: 0; }

#loader.is_loader_end .skipBtn { display: none; }

@media screen and (min-width: 600px) {
	#loader .copy { width: 980px; height: 431px; }
	#loader .skipBtn{
		right: 30px;
		bottom: 30px;
		padding: 0;
		margin: 0;
		width: 240px;
		box-sizing: border-box;
	}
	#loader .skipBtn a{width: 100%;padding-top: 12px;padding-bottom: 11px;}
}

/* contentsBg
------------------------------------------------ */
.contentsBg { position: relative; }

@media screen and (min-width: 600px) { .contentsBg:before { content: ""; position: absolute; top: -200px; height: 675px; width: 1920px; display: block; left: 50%; padding: 0; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); background: url(../img/common/bg_contents01_pc.png) no-repeat top center; background-size: cover; z-index: 0; }
  .contentsBg .scroll { position: absolute; top: -170px; right: 20px; z-index: 5; } }

/*  #parallax01
================================================ */
#parallax01 { position: absolute; bottom: 0; width: 100%; height: calc(100% - 200px); overflow: hidden; z-index: 0; }

#parallax01 .inner { width: 100%; height: 100%; background: url(../img/home/bg_parallax01.png) center; background-size: cover; background-attachment: fixed; position: relative; }

#parallax01 .inner:before { content: ''; background: #282828; -webkit-transform: skewY(30deg); -webkit-transform-origin: left top; -ms-transform: skewY(30deg); transform: skewY(30deg); -ms-transform-origin: left top; transform-origin: left top; width: 100%; height: 600px; position: absolute; top: -316px; right: 0; }

#parallax01 .inner:after { content: ''; background: #282828; -webkit-transform: skewY(30deg); -webkit-transform-origin: right bottom; -ms-transform: skewY(30deg); transform: skewY(30deg); -ms-transform-origin: right bottom; transform-origin: right bottom; width: 100%; height: 316px; position: absolute; bottom: -316px; left: 0; }

@media screen and (min-width: 600px) { #parallax01 { top: 190px; bottom: auto; height: 600px; }
  #parallax01 .inner { max-width: 1920px; margin: 0 auto; }
  #parallax01 .inner:before { height: 1200px; top: -1000px; }
  #parallax01 .inner:after { height: 600px; bottom: -1200px; } }

/*  #newsWrap
================================================ */
#newsWrap { position: relative; margin-top: -200px; }

#newsWrap .inner { position: relative; z-index: 1; padding-bottom: 40px; }

#newsWrap #news .secTit { position: relative; color: #fff; padding-bottom: 10px; }

#newsWrap #news .secTit:before { content: ''; position: absolute; left: 0; bottom: 0; width: 25px; height: 1px; background: #fff; }

#newsWrap #news .secTit .en { font-size: 2rem; font-weight: 700; line-height: 1.3; }

#newsWrap #news .secTit .ja { display: inline-block; padding-left: 10px; font-size: 1.2rem; }

#newsWrap #news .list .item { border-bottom: 1px solid #3c3c3c; }

#newsWrap #news .list .item a { padding-left: 0; padding-right: 0; }

#newsWrap #news .btn { width: 255px; margin: 30px auto 0; }

#newsWrap #release { margin-top: 50px; }

#newsWrap #release .secTit { position: relative; color: #fff; padding-bottom: 10px; }

#newsWrap #release .secTit:before { content: ''; position: absolute; left: 0; bottom: 0; width: 25px; height: 1px; background: #fff; }

#newsWrap #release .secTit .en { font-size: 2rem; font-weight: 700; line-height: 1.3; }

#newsWrap #release .secTit .ja { display: inline-block; padding-left: 10px; font-size: 1.2rem; line-height: 2; }

#newsWrap #release .list .item { border-bottom: 1px solid #3c3c3c; }

#newsWrap #release .list .item a { padding-left: 0; padding-right: 0; }

#newsWrap #release .btn { width: 255px; margin: 30px auto 0; }

@media screen and (min-width: 600px) { #newsWrap { position: relative; margin-top: 0; }
  #newsWrap .newsIn { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-wrap: nowrap; flex-wrap: nowrap; }
  #newsWrap .inner { position: relative; z-index: 1; padding-top: 50px; padding-bottom: 80px; }
  #newsWrap #news { position: relative; width: 530px; padding-bottom: 100px; }
  #newsWrap #news .secTit { padding-bottom: 10px; }
  #newsWrap #news .secTit:before { width: 30px; }
  #newsWrap #news .secTit .en { font-size: 3.6rem; }
  #newsWrap #news .secTit .ja { padding-left: 15px; font-size: 1.6rem; }
  #newsWrap #news .list { margin-top: 20px; }
  #newsWrap #news .list .item a { padding-left: 30px; padding-right: 30px; }
  #newsWrap #news .btn { position: absolute; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); bottom: 0; width: 300px; margin: 40px auto 0; }
  #newsWrap #release { position: relative; width: 530px; padding-bottom: 100px; margin-top: 0; }
  #newsWrap #release .secTit { padding-bottom: 10px; }
  #newsWrap #release .secTit:before { width: 30px; }
  #newsWrap #release .secTit .en { font-size: 3.6rem; }
  #newsWrap #release .secTit .ja { padding-left: 15px; font-size: 1.6rem; }
  #newsWrap #release .list { margin-top: 20px; }
  #newsWrap #release .list .item a { padding-left: 30px; padding-right: 30px; }
  #newsWrap #release .btn { position: absolute; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); bottom: 0; width: 300px; margin: 40px auto 0; } }

/*  #infoWrap
================================================ */
#infoWrap .link a { display: block; position: relative; }

#infoWrap .link a .itemIn { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -ms-flex-wrap: wrap; flex-wrap: wrap; height: 235px; }

#infoWrap .link a:before { content: ''; position: absolute; bottom: 15px; right: 15px; width: 29px; height: 10px; background: url(../img/common/ico_arrow01_white.png) no-repeat center/contain; }

#infoWrap .link#company a { background: url(../img/home/bg_company01.png) no-repeat center/cover; }

#infoWrap .link#information a { background: url(../img/home/bg_ir01.png) no-repeat center/cover; }

@media screen and (min-width: 600px) { #infoWrap .links { max-width: 1920px; margin: 0 auto; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  #infoWrap .link { width: 50%; }
  #infoWrap .link a .itemIn { height: 600px; width: 100%; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
  #infoWrap .link a:before { bottom: 30px; right: 30px; width: 31px; height: 11px; }
  #infoWrap .link a:hover .itemIn { background-color: rgba(158, 203, 58, 0.9); } }

/*  #group
================================================ */
#group { background: #fff; }

#group .inner { padding-top: 45px; padding-bottom: 50px; }

#group .links { margin-top: 15px; }

#group .links + .links { margin-top: 0; }

#group .link a { display: block; position: relative; }

#group .link a .linkIn { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -ms-flex-line-pack: center; align-content: center; -ms-flex-wrap: wrap; flex-wrap: wrap; height: 235px; }

#group .link a:before { content: ''; position: absolute; bottom: 15px; right: 15px; width: 10px; height: 10px; background: url(../img/common/ico_window02.png) no-repeat center/contain; }

#group .link.group01 a { background: url(../img/home/bg_group01_sp.png) no-repeat center/cover; }

#group .link.group02 a { background: url(../img/home/bg_group02_sp.png) no-repeat center/cover; }

#group .link.group03 a { background: url(../img/home/bg_group03_sp.png) no-repeat center/cover; }

#group .link.group04 a { background: url(../img/home/bg_group04.jpg) no-repeat center/cover; }

#group .link.group05 a { background: url(../img/home/bg_group05_sp.jpg) no-repeat center/cover; }

#group .link.group06 a { background: url(../img/home/bg_group06_sp.jpg) no-repeat center/cover; }

#group .link.group07 a { background: url(../img/home/bg_group07_sp.jpg) no-repeat center/cover; }

#group .link.group08 a { background: url(../img/home/bg_group08_sp.jpg) no-repeat center/cover; }

#group .link .tit { position: relative; width: 100%; padding-bottom: 10px; text-align: center; font-size: 2rem; font-weight: 700; line-height: 1.5; color: #fff; }

#group .link .tit:after { content: ''; position: absolute; bottom: 0; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); width: 25px; height: 1px; background: #fff; }

#group .link .txt { margin-top: 10px; text-align: center; color: #fff; }

#group .bnrs { margin-top: 30px; padding: 0 15px; }

#group .bnrs .bnr a { position: relative; display: block; }

#group .bnrs .bnr a .bnrIn { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -ms-flex-wrap: wrap; flex-wrap: wrap; box-sizing: border-box; width: 100%; padding: 55px 10px; color: #fff; font-weight: 700; }

#group .bnrs .bnr a .bnrIn span { width: 100%; text-align: center; font-size: 1.3rem; }

#group .bnrs .bnr a .bnrIn:before { content: ''; position: absolute; bottom: 15px; right: 15px; width: 29px; height: 10px; background: url(../img/common/ico_arrow01_white.png) no-repeat center/contain; }

#group .bnrs .bnr a .bnrIn img { width: 80%; image-rendering: -webkit-optimize-contrast; }

#group .bnrs .bnr + .bnr { margin-top: 15px; }

#group .bnrs .bnr01 a { background: url(../img/home/bg_bnr01_sp.jpg) no-repeat center/cover; }

#group .bnrs .bnr02 a { background: url(../img/home/bg_bnr02_sp.jpg) no-repeat center/cover; }

#group .bnrs .bnr03 a { background: url(../img/home/bg_bnr03.jpg) no-repeat center/cover; }

#group .bnrs .bnr04 a { border: 1px solid #a7a7a7; }

@media screen and (min-width: 600px) { #group .inner { padding-top: 110px; padding-bottom: 90px; }
  #group .links { max-width: 1920px; margin: 60px auto 0; display: -webkit-box; display: -ms-flexbox; display: flex; }
  #group .link { width: 50%; }
  #group .link a .linkIn { height: 400px; width: 100%; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
  #group .link a .txt { position: relative; bottom: -5px; opacity: 0; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
  #group .link a:before { right: 10px; bottom: 10px; width: 15px; height: 15px; }
  #group .link a:hover .linkIn { background-color: rgba(158, 203, 58, 0.9); }
  #group .link a:hover .txt { bottom: 0; opacity: 1; }
  #group .link.group01 a { background: url(../img/home/bg_group01_pc.png) no-repeat center/cover; }
  #group .link.group02 a { background: url(../img/home/bg_group02_pc.png) no-repeat center/cover; }
  #group .link.group03 a { background: url(../img/home/bg_group03_pc.png) no-repeat center/cover; }
  #group .link.group05 a { background: url(../img/home/bg_group05_pc.jpg) no-repeat center/cover; }
  #group .link.group06 a { background: url(../img/home/bg_group06_pc.jpg) no-repeat center/cover; }
  #group .link.group07 a { background: url(../img/home/bg_group07_pc.jpg) no-repeat center/cover; }
  #group .link.group08 a { background: url(../img/home/bg_group08_pc.jpg) no-repeat center/cover; }
  #group .link .tit { padding-bottom: 10px; font-size: 2.1rem; letter-spacing: .04em; }
  #group .link .tit:after { width: 30px; }
	#group .link .tit span{ display: inline-block; }
  #group .link .txt { margin-top: 15px; }
  #group .bnrs { width: 1100px; margin: 70px auto 0; padding: 00; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  #group .bnrs .bnr { width: 260px; display: -webkit-box; display: -ms-flexbox; display: flex; align-items: center;}
	#group .bnrs .bnr a { width: 100%; height: 100%; display: -webkit-box; display: -ms-flexbox; display: flex; align-items: center; }
  #group .bnrs .bnr a .bnrIn { padding: 80px 10px; font-size: 1.7rem; }
  #group .bnrs .bnr a .bnrIn span { display: inline-block; padding-top: 10px; font-size: 1.4rem; font-weight: 500; }
  #group .bnrs .bnr a .bnrIn:before { bottom: 30px; right: 30px; width: 31px; height: 11px; }
	#group .bnrs .bnr a .bnrIn img { width: 96%; }
	#group .bnrs .bnr01 a { background: url(../img/home/bg_bnr01_pc.jpg) no-repeat center/cover; }
	#group .bnrs .bnr02 a { background: url(../img/home/bg_bnr02_pc.jpg) no-repeat center/cover; }
  #group .bnrs .bnr + .bnr { margin-top: 0; } }

@media screen and (min-width:600px) and ( max-width:1380px) {
	#group .link .tit{font-size: 2rem;}
	#group .link .txt{font-size: 1.5rem;}
}
