@media screen and (min-width: 980px) , print {
	.top-bodyArea {
		padding: 142px 0 0;
	}
}

@media screen and (max-width: 979px) {
	.top-bodyArea {
		padding: 90px 0 0;
	}
}

.top-keyvisual {
	width: 100%;
	margin: 0;
	padding: 0;
	color: #fff;
	background: #000;
}

.top-keyvisual li.slick-slide {
	width: 100%;
	margin: 0;
	position: relative;
	z-index: 1;
}

.top-keyvisual li:before {
	display: none;
}

.top-keyvisual a {
	position: relative;
	z-index: 2;
	font-weight: bold;
	color: #fff;
	display: inline-block;
	text-align: center;
	text-decoration: none;
}

.top-keyvisual a[target="_blank"] span:after {
    content: '';
    background-image: url(/shared/svg/icons_window_fff.svg);
    background-repeat: no-repeat;
    display: inline-block;
    vertical-align: top;
}

.top-keyvisual__background {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
}

.top-keyvisual__background .image {
	width: 100%;
	height: 100%;
	display: block;
}

.top-keyvisual__background figure {
	width: 100%;
	display: block;
}

.top-keyvisual .slick-dots li button:before {
	color: rgba(255, 255, 255, 0.5);
}

.top-keyvisual .slick-dots li.slick-active button:before {
	color: white;
}

.top-keyvisual .slick-dots {
	width: 100%;
	position: absolute;
}

@media screen and (min-width: 980px) , print {
	.top-keyvisual li.slick-slide,
	.top-keyvisual__background .image img {
		min-height: 43vw;
		height: 100%;
	}

	.top-keyvisual li.slick-slide {
		height: 100%;
		padding: 0 0 32px;
	}

	.top-keyvisual__txt-area {
		width: 100%;
		padding: 8vw 6% 0 53%;
		font-size: 5vw;
		display: block;
	}

	.top-keyvisual__txt-area span {
		display: block;
	}

	.top-keyvisual__sub-tit {
		margin: 0 0 11px;
		font-size: 45.7%;
	}

	.top-keyvisual__tit {
		margin: 0 0 18px;
		font-size: 100%;
		line-height: 1.1714285;
		font-weight: bold;
	}

	.top-keyvisual__txt {
		margin: 0 0 20px;
		font-size: 28.57%;
		line-height: 1.75;
	}

	.top-keyvisual a {
		margin: 0 0 0 53%;
		padding: 14px 95px;
		font-size: 16px;
		overflow: hidden;
		position: relative;
		border-radius: 40px;
	}

	.top-keyvisual a:after {
		content: "";
		display: block;
		position: absolute;
		border-radius: 40px;
		z-index: 1;
		width: 100%;
		height: 100%;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		border: 1px solid #fff;
	}

	.top-keyvisual a:before {
		content: "";
		display: block;
		position: absolute;
		border-radius: 40px;
		z-index: -1;
		transform: translatez(0);
		width: 70%;
		height: 70%;
		opacity: 0;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		margin: auto;
		transition: all 0.4s cubic-bezier(0.23, 1, 0.58, 1);
		background-color: #fff;
	}


	.top-keyvisual a[target="_blank"]:after {
	    margin: 0;
	    width: 100%;
	    height: 100%;
	    background-image: none;
	}

	.top-keyvisual a[target="_blank"] span:after {
	    margin: 0 0 0 10px;
	    width: 17px;
	    height: 21px;
	    background-size: 17px 16px;
	    background-position: right 5px;
	}

	.top-keyvisual a:hover {
		color: #000;
	}

	.top-keyvisual a:hover:before,
	.top-keyvisual a:active:before {
		width: 100%;
		height: 100%;
		opacity: 1;
	}

	.top-keyvisual a[target="_blank"]:hover span:after {
	    background-image: url(/shared/svg/icons_window_000.svg);
	}

	a + .top-keyvisual__background img.imgExpansion {
		backface-visibility: hidden;
		-webkit-backface-visibility: hidden;
		transition: transform 0.5s ease-out;
		transition: transform 0.5s ease-out, -webkit-transform 0.5s ease-out;
	}

	a:hover + .top-keyvisual__background img.imgExpansion {
		transform: scale(1.075) rotate(0.001deg);
		transition: transform 2s ease-out;
		transition: transform 2s ease-out, -webkit-transform 2s ease-out;
	}

	.top-keyvisual .slick-slide img.spInline {
		display: none;
	}

	.top-keyvisual .slick-prev,
	.top-keyvisual .slick-next {
		width: 52px;
		height: 42px;
	}

	.top-keyvisual .slick-prev {
		top: 50%;
		left: 30px;
		margin-left: 0;
		margin-top: -21px;
	}

	.top-keyvisual .slick-next {
		top: 50%;
		right: 1px;
		margin-right: 0;
		margin-top: -21px;
	}

	.top-keyvisual .slick-prev:before,
	.top-keyvisual .slick-next:before {
		width: 24px;
		background-image: url(/shared/svg/icons_arrow_fff.svg);
		background-size: 24px 42px;
		background-position: 0;
	}

	.top-keyvisual .slick-prev,
	.top-keyvisual .slick-next {
		transition: transform 0.3s ease;
	}

	.top-keyvisual .slick-prev:hover {
		transform: translateX(-10px);
	}

	.top-keyvisual .slick-next:hover {
		transform: translateX(10px);
	}
	
	.top-keyvisual .slick-next:active:before {
		transform: translateY(0px);
	}

	.top-keyvisual .slick-dots {
		bottom: 20px;
	}
}

@media screen and (max-width: 979px) {
	.top-keyvisual li.slick-slide {
		padding: 25px 25px 196.5px;
	}

	.top-keyvisual li.slick-slide,
	.top-keyvisual__background .image img {
		min-height: 120vw;
		height: 100%;
	}

	.top-keyvisual__txt-area {
		width: 100%;
		display: block;
		text-align: center;
	}

	.top-keyvisual__txt-area span {
		display: block;
	}

	.top-keyvisual__sub-tit {
		margin: 0 0 3px;
		font-size: 16px;
	}

	.top-keyvisual__tit {
		margin: 0 0 4px;
		font-size: 35px;
		line-height: 1.2857142;
		font-weight: bold;
	}

	.top-keyvisual__txt {
		margin: 0 0 18px;
		font-size: 12px;
		line-height: 1.583;
	}

	.top-keyvisual a {
		width: 63%;
		margin: 0 auto;
		padding: 12px 0;
		font-size: 14px;
		display: block;
		border: 1px solid #fff;
		border-radius: 24px;
	}

	.top-keyvisual a:after {
		display: none;
	}

	.top-keyvisual a[target="_blank"] span:after {
		margin: 0 0 0 8px;
		width: 13.5px;
		height: 17px;
		background-size: 13.5px 13px;
		background-position: right 4px;
	}

	.top-keyvisual .slick-slide img.pcInline {
		display: none;
	}

	.top-keyvisual .slick-dots {
		max-width: 100%;
		bottom: 27px;
	}
}

.top-about {
	width: 100%;
	background-size: cover;
	background-position: center bottom;
	background-repeart: center bottom;
	position: relative;
}

.top-about .figcaption {
	max-width: calc(100% - 10px);
	color: #fff;
	text-align: right;
	text-shadow: 0 0 9px rgba(0, 0, 0, 0.25);
	position: absolute;
}

@media screen and (min-width: 980px) , print {
	.top-about {
		padding: 91px 0 0;
		min-height: 720px;
	}

	.top-about.white-shadow {
		color: #fff;
		text-shadow: 0px 0px 21.25px rgba(0, 0, 0, 0.1);
	}

	.top-about h1, .top-about p {
		width: 100%;
		padding: 0 50% 0 10vw;
	}

	.top-about h1 {
		margin-bottom: 20px;
		font-size: 42px;
		line-height: 1.4047619;
	}

	.top-about p {
		margin-top: 20px;
		margin-bottom: 19px;
		font-size: 20px;
		line-height: 2;
	}

	.top-about .figcaption {
		bottom: 5px;
		right: 5px;
		font-size: 10px;
	}
}

@media screen and (max-width: 979px) {
	.top-about {
		padding: 54px 25px 398px;
	}

	.top-about.white-shadow {
		color: #fff;
	}

	.top-about h1, .top-about p {
		text-align: center;
	}

	.top-about h1 {
		margin-bottom: 18px;
		font-size: 25px;
		line-height: 1.46;
	}

	.top-about p {
		margin-bottom: 13px;
		font-size: 16px;
		line-height: 2;
	}

	.top-about .figcaption {
		bottom: 5px;
		right: 5px;
		font-size: 9px;
	}
}

.top-featured-activities {
	width: 100%;
	margin: 0;
	padding: 0;
}

.top-featured-activities li {
	width: 100%;
	margin: 0;
}

.top-featured-activities li:before {
	display: none;
}

@media screen and (min-width: 980px) , print {
	.top-featured-activities {
		position: relative;
	}

	.top-featured-activities__background {
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: -1;
	}

	.top-featured-activities__background .image {
		width: 100%;
		height: 100%;
	}

	.top-featured-activities__background figure {
		width: 100%;
	}

	.top-featured-activities__background img.imgExpansion {
		backface-visibility: hidden;
		-webkit-backface-visibility: hidden;
		transition: transform 0.5s ease-out;
		transition: transform 0.5s ease-out, -webkit-transform 0.5s ease-out;
	}

	.btn li a:hover + .top-featured-activities__background img.imgExpansion {
		transform: scale(1.075) rotate(0.001deg);
		transition: transform 2s ease-out;
		transition: transform 2s ease-out, -webkit-transform 2s ease-out;
	}
}

@media screen and (min-width: 980px) , print {
	.top-activity .bodyAreaBg {
		padding-top: 70px;
		padding-bottom: 8px;
	}

	.top-activity .tab__contents {
		border: 0;
		padding: 0;
		margin: 0;
	}

	.top-activity .tab__contents .sectionBody__pc-980 {
		padding-bottom: 12px;
	}

	.top-activity h2 {
		margin-top: 0;
		margin-bottom: 0;
	}

	.top-activity ul.tabType {
		margin-top: 29px;
		margin-bottom: 45px;
		-ms-flex-pack: justify;
    /*--- IE10 ---*/
    /*--- safari（PC）用 ---*/
		justify-content: center;
	}

	.top-activity ul.tabType li {
		width: 485px;
		margin-left: 5px;
		margin-right: 5px;
	}

	.top-activity ul.listLinkType3 {
		margin-bottom: 5px;
	}

	.top-activity ul.listLinkType3 li {
		margin-bottom: 47px;
	}
}
@media screen and (max-width: 979px) and (min-width: 757px) {
	ul.listLinkType3 li {
		margin-bottom: 47px;
	}
}
@media screen and (max-width: 979px) {
	.top-activity {
		padding-top: 73px;
	}
	
	.top-activity .tab__contents{
		padding: 0;
		margin-bottom: 0;
	}

	.top-activity ul.tabType {
		margin: 32px auto 0;
	}

	.top-activity .tab__contents .sectionBody__sp {
		padding-bottom: 56.5px;
	}

	.top-activity ul.listLinkType3 {
		margin-top: 40px;
	}
}

@media screen and (min-width: 980px) , print {
	.top-campaign .sectionBody__pc-980 {
		padding-top: 70px;
		padding-bottom: 39px;
	}

	.top-campaign h2 {
		margin: 0 0 28px;
	}

	.top-campaign .twoColumnsType {
		padding: 0;
		margin-bottom: 0;
	}

	.top-campaign .twoColumnsType .column {
		padding: 11px 0 10px;
		margin-bottom: 31px;
	}

	.top-campaign .twoColumnsType .column.columnEnd {
		padding: 0;
		margin-bottom: 0;
	}
}

@media screen and (max-width: 979px) {
	.top-campaign .sectionBody__sp {
		padding-top: 72px;
		padding-bottom: 31px;
	}
	.top-campaign h2,.top-campaign .titStyle1 {
		margin-bottom: 26px;
	}
}

@media screen and (min-width: 980px) , print {
	ul.bannerLink.bannerLink__banner_top {
		-ms-flex-pack: justify;
    /*--- IE10 ---*/
    /*--- safari（PC）用 ---*/
		justify-content: center;
		-ms-flex-align: center;
    /*--- IE10用 ---*/
    /*--- safari（PC）用 ---*/
		align-items: center;
	}

	ul.bannerLink.bannerLink__banner_top li,
  ul.bannerLink.bannerLink__banner_top li:nth-child(3n+2):last-child {
		margin-left: 25px;
		margin-right: 25px;
	}
}
@media screen and (max-width: 979px) and (min-width: 757px) {
	ul.bannerLink.bannerLink__banner_top {
		-ms-flex-pack: justify;
    /*--- IE10 ---*/
    /*--- safari（PC）用 ---*/
		justify-content: center;
		-ms-flex-align: center;
    /*--- IE10用 ---*/
    /*--- safari（PC）用 ---*/
		align-items: center;
	}
	ul.bannerLink.bannerLink__banner_top li,
  ul.bannerLink.bannerLink__banner_top li:nth-child(3n+2):last-child {
		margin-left: 25px;
		margin-right: 25px;
	}
}

@media screen and (min-width: 980px) , print {
	.top-notice .bodyAreaBg {
		padding-bottom: 22px;
	}
}
@media screen and (max-width: 979px) {
	.top-notice .bodyAreaBg > .sectionBody__sp > .btn:last-of-type:last-child {
		margin-bottom: 80px;
	}
}
.initial-modal {
	margin: auto 0 0 -435px;
	position: fixed;
	top: 300vh;
	left: 50%;
	z-index: 21;
	opacity: 0;
}

.initial-modal__overlay {
	position: fixed;
	z-index: 20;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
	cursor: pointer;
	opacity: 0;
	display: none;
}

.initial-modal__body {
	position: relative;
}

.initial-modal p.initial-modal__close {
	display: block;
	position: absolute;
	cursor: pointer;
	line-height: 0;
}

.initial-modal__close img {
	width: 100%;
	height: auto;
}

.initial-modal__title {
	background: #fff;
}

.initial-modal h1 {
	margin: 0;
	text-align: center;
	background-image: url(/shared/svg/icons_logo.svg);
	background-position: top center;
	background-repeat: no-repeat;
}

.initial-modal p {
	margin: 0;
}

.initial-modal__Link {
	background: #edead7;
}

.initial-modal__link {
	padding: 0;
	margin: 0 auto;
}

.initial-modal__link li:before {
	display: none;
}

.initial-modal__link li .strongType {
	font-weight: bold;
}

.initial-modal__link li a {
	width: 100%;
	color: #000;
	text-decoration: none;
	border-radius: 10px;
	background-repeat: no-repeat;
	display: block;
	background-color: #fff;
}

.initial-modal__link li.beginner a {
	background-image: url(/shared/svg/icons_beginner.svg);
}

.initial-modal__link li.support a {
	background-image: url(/shared/svg/icons_support.svg);
}

.initial-modal__link li.corporation a {
	background-image: url(/shared/svg/icons_corporation.svg);
}

.initial-modal__link li.press a {
	background-image: url(/shared/svg/icons_press.svg);
}

.initial-modal__link_top {
	padding: 0;
	margin: 0 auto;
	text-align: center;
}

.initial-modal__link_top li {
	margin: 0 auto;
	color: #fff;
	text-align: center;
	font-weight: bold;
	cursor: pointer;
}

@media screen and (min-width: 980px) , print {
	.initial-modal {
		width: 870px;
		margin-left: -435px;
	}
	.initial-modal__pc {
		width: 870px;
		margin: 0 0 30px;
		display: -ms-flexbox;
    /*--- IE10 ---*/
    /*--- safari（PC）用 ---*/
		display: flex;
		background: #fff;
		border-radius: 10px;
	}

	.initial-modal__close {
		width: 20px;
		height: 20px;
		right: 20px;
		top: 20px;
		opacity: 0.245;
		transition: opacity 0.25s cubic-bezier(0.23, 1, 0.58, 1);
	}

	.initial-modal__close:hover {
		opacity: 1;
	}

	.initial-modal__pc_title {
		width: 430px;
		padding: 50px 60px 52px;
		background: #fff;
		border-radius: 10px 0 0 10px;
	}

	.initial-modal h1 {
		padding: 177px 0 15px;
		font-size: 42px;
		line-height: 1.1875;
		background-size: 100px 151px;
	}

	.initial-modal small {
		margin: 0 0 13px;
		font-size: 24px;
		display: block;
	}

	.initial-modal p {
		font-size: 18px;
		line-height: 2;
	}

	.initial-modal__pc_Link {
		width: 440px;
		padding: 60px;
		border-radius: 0 10px 10px 0;
	}

	.initial-modal__link li {
		width: 320px;
		margin: 0 0 20px;
		font-size: 16px;
		line-height: 1.8;
	}

	.initial-modal__link li a {
		padding: 14px 18px 14px 90px;
		background-position: 25px center;
		background-size: 47px 47px;
	}

	.initial-modal__link li a::before,
	.initial-modal__link li a::after {
		content: '';
		width: 320px;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}
	.initial-modal__link li a::before {
		border: 5px solid #fff;
		border-radius: 9px;
		z-index: 10;
	}
	.initial-modal__link li a::after {
		border: 2px solid #16c1b6;
		border-radius: 10px;
		z-index: 1;
	}
	.initial-modal__link li a:hover::before {
		-webkit-animation: crossfadeOff 0.25s linear 0s 1 forwards;
		-ms-transition: crossfadeOff 0.25s linear 0s 1 forwards;
		animation: crossfadeOff 0.25s linear 0s 1 forwards;
	}

	.initial-modal__link li .strongType {
		font-size: 20px;
	}

	.initial-modal__link_top li {
		width: 262px;
		padding: 13px 0;
		font-size: 16px;
		border-radius: 28px;
		overflow: hidden;
		position: relative;
		z-index: 2;
	}

	.initial-modal__link_top li:after {
		content: "";
		display: block;
		position: absolute;
		border-radius: 28px;
		z-index: 1;
		width: 100%;
		height: 100%;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		border: 1px solid #fff;
	}

	.initial-modal__link_top li:before {
		content: "";
		display: block;
		position: absolute;
		border-radius: 28px;
		z-index: -1;
		transform: translatez(0);
		width: 70%;
		height: 70%;
		opacity: 0;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		margin: auto;
		transition: all 0.4s cubic-bezier(0.23, 1, 0.58, 1);
		background-color: #fff;
	}

	.initial-modal__link_top li:hover {
		color: #000;
	}

	.initial-modal__link_top li:hover:before {
		width: 100%;
		height: 100%;
		opacity: 1;
	}
}

@media screen and (max-width: 979px) {
	.initial-modal {
		width: 90%;
		margin-left: -45%;
	}

	.initial-modal__sp {
		width: 100%;
		margin: 0 0 20px;
	}

	.initial-modal__close {
		width: 13px;
		height: 13px;
		right: 15px;
		top: 15px;
	}

	.initial-modal__sp_title {
		padding: 25px 30px 18.5px;
		border-radius: 10px 10px 0 0;
	}

	.initial-modal h1 {
		padding: 93px 0 11px;
		font-size: 25px;
		line-height: 1.1875;
		background-size: 50px 75.5px;
	}

	.initial-modal small {
		margin: 0 0 6px;
		font-size: 14px;
		display: block;
	}

	.initial-modal p {
		font-size: 12px;
		line-height: 1.75;
	}

	.initial-modal__sp_Link {
		padding: 5px;
		border-radius: 0 0 10px 10px;
	}

	.initial-modal__link li {
		width: 50%;
		padding: 5px;
		margin: 0;
		font-size: 9px;
		line-height: 1.6;
		float: left;
	}

	.initial-modal__link li .strongType {
		font-size: 12px;
	}

	.initial-modal__link li a {
		padding: 37px 0 6px;
		text-align: center;
		background-position: center 10px;
		background-size: 23px 23px;
	}

	.initial-modal__link_top li {
		width: 235px;
		padding: 13px 0 14px;
		font-size: 14px;
		border-radius: 25px;
		border: 1px solid #fff;
	}

	.initial-modal__link_top li:before {
		display: none;
	}
}
.recommendationList .slick-dots li button:before {
	color: #fff;
}
.recommendationList .slick-dots li.slick-active button:before {
	color: #000;
}
.recommendationList .text p.title {
	line-height: 1.5;
}
@media screen and (min-width: 980px) , print {
	.recommendation {
		padding: 3px 0 77px;
	}
	.recommendationList {
		margin: 39px 0 0;
	}
	.recommendationList li {
		width: 100%;
		padding: 0 70px;
		margin: 0;
		position: relative;
	}
	.recommendationList li:after {
		content: '';
		width: calc(100% - 440px);
		height: 540px;
		position: absolute;
		top: 0;
		left: 70px;
	}
	.recommendationList li a {
		width: 100%;
		height: 540px;
		padding: 0;
		border-radius: 0;
		-ms-flex-align: start;
		align-items: start;
	}
	.recommendationList .image {
		width: calc(100% - 300px);
		height: 540px;
	}
	.recommendationList .image figure {
		width: 100%;
		height: 540px;
	}
	.recommendationList .text {
		width: 300px;
		padding: 34px 30px 81px;
	}
	.recommendationList .text p.title {
		margin-bottom: 17px;
	}
	.recommendationList .slick-slide img.spInline {
		display: none;
	}
	.recommendationList .slick-prev,
	.recommendationList .slick-next {
		height: 32px;
		top: 50%;
		margin-top: -36px;
	}
	.recommendationList .slick-prev {
		left: -7px;
		margin-left: 0;
	}
	.recommendationList .slick-next {
		right: -7px;
		margin-right: 0;
	}
	.recommendationList .slick-prev:before,
	.recommendationList .slick-next:before {
		height: 32px;
		background-size: 17px 32px;
	}
	.recommendationList .slick-dots {
		margin-top: 12px;
	}
	.recommendationList .slick-dots li {
		width: 12px;
		height: 12px;
		margin: 0 9px;
		padding: 0;
	}
}
@media screen and (max-width: 979px) {
	.recommendation {
		margin: 0;
		padding: 67px 0 70px;
		position: relative;
	}
	.recommendationList {
		margin: 33px 0 7.5px;
	}
	.recommendationList li {
		width: 300px;
		margin: 0 10px;
	}
	.recommendationList li a {
		width: 100%;
		min-height: 497.5px;
		padding: 0;
		border-radius: 0;
		background-color: 0;
		position: relative;
	}
	.recommendationList li a .image {
		width: 100%;
		height: 497.5px;
		margin-bottom: 0;
	}
	.recommendationList .image figure {
		height: 497.5px;
	}
	.recommendationList .image img {
		object-position: bottom center;
		font-family: 'object-fit: cover; object-position: bottom 50%;';
	}
	.slick-slide img.pcInline {
		display: none;
	}
	.recommendationList .text {
		width: calc(100% - 40px);
		margin: 0;
		padding: 15px 15px 19px;
		position: absolute;
		bottom: 24px;
		left: 20px;
		background: #fff;
		border-radius: 10px;
	}
	.recommendationList .text p {
		margin-bottom: 4px;
	}
	.recommendationList .text p.title {
		margin-bottom: 8px;
	}
	.recommendationList .link {
		margin: 0;
	}
	.recommendationList .slick-dots {
		width: 100%;
		max-width: 100%;
		padding: 0 9px;
		margin-top: 8px;
	}
	.recommendationList .slick-dots li {
		width: 12px;
		margin: 0 7.5px;
	}
	.recommendationList figure figcaption {
		bottom: 1px;
	}
}
