/*
-------------------------------
-- .comp_hero for Japanese top
-------------------------------
*/
.comp_hero {
	position: relative;
	z-index: 1;
	border-bottom: 10px solid #006ec8;
}

@media only screen and (max-width: 640px) {
	.comp_hero {
		margin-right: -3.75%;
		margin-left: -3.75%;
	}
}
.comp_hero > div {
	overflow: hidden;
}
@media print { 
	.comp_hero {
		width: 1040px !important;
	}
	.comp_hero .swiper-wrapper
	{
		transform: translate3d(0, 0, 0) !important;
	}
	.comp_hero .swiper-wrapper .swiper-slide:not(.swiper-slide-active)
	{
		display: none !important;
	}
}

.comp_hero .swiper-container {
	overflow: visible;
	margin: 0 auto;
}

.comp_hero .swiper-container .swiper-slide {
	width: 100% !important;
}

.comp_hero .swiper-hero-button-prev {
	position: absolute;
	z-index: 3;
	top: 50%;
	cursor: pointer;
	background: no-repeat 50% 50% url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2MCA2MCI+PGNpcmNsZSBmaWxsPSIjZmZmIiBjeD0iMzAiIGN5PSIzMCIgcj0iMjkiLz48cGF0aCBmaWxsPSIjMTkyRjYwIiBkPSJNMzAgMmMxNS40MzkgMCAyOCAxMi41NjEgMjggMjhTNDUuNDM5IDU4IDMwIDU4IDIgNDUuNDM5IDIgMzAgMTQuNTYxIDIgMzAgMm0wLTJDMTMuNDMxIDAgMCAxMy40MzEgMCAzMHMxMy40MzEgMzAgMzAgMzAgMzAtMTMuNDMxIDMwLTMwUzQ2LjU2OSAwIDMwIDB6Ii8+PHBhdGggZmlsbD0iIzE5MmY2MCIgZD0iTTIyLjg1NCAzMGw5Ljk1NCA5Ljk1NCAyLjMzOS0yLjMzOUwyNy41NDggMzBsNy41OTgtNy42MTUtMi4zMzktMi4zMzlMMjIuODU0IDMweiIvPjwvc3ZnPg==);
	background-size: cover;
	touch-action: manipulation;
}

@media print, screen and (min-width: 641px) {
	.comp_hero .swiper-hero-button-prev {
		left: 45px;
		width: 60px;
		height: 60px;
	}
}

@media only screen and (max-width: 640px) {
	.comp_hero .swiper-hero-button-prev {
		left: 3.75%;
		width: 45px;
		width: 13vw;
		height: 45px;
		height: 13vw;
		top: 63%;
	}
}

.comp_hero .swiper-hero-button-next {
	position: absolute;
	z-index: 3;
	top: 50%;
	cursor: pointer;
	background: no-repeat 50% 50% url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2MCA2MCI+PGNpcmNsZSBmaWxsPSIjZmZmIiBjeD0iMzAiIGN5PSIzMCIgcj0iMjkiLz48cGF0aCBmaWxsPSIjMTkyZjYwIiBkPSJNMzAgMmMxNS40MzkgMCAyOCAxMi41NjEgMjggMjhTNDUuNDM5IDU4IDMwIDU4IDIgNDUuNDM5IDIgMzAgMTQuNTYxIDIgMzAgMm0wLTJDMTMuNDMxIDAgMCAxMy40MzEgMCAzMHMxMy40MzEgMzAgMzAgMzAgMzAtMTMuNDMxIDMwLTMwUzQ2LjU2OSAwIDMwIDB6Ii8+PHBhdGggZmlsbD0iIzE5MkY2MCIgZD0iTTI3LjE5MyAyMC4wNDZsLTIuMzM5IDIuMzM5TDMyLjQ1MiAzMGwtNy41OTggNy42MTUgMi4zMzkgMi4zMzlMMzcuMTQ2IDMwbC05Ljk1My05Ljk1NHoiLz48L3N2Zz4=);
	background-size: cover;
	touch-action: manipulation;
}

@media print, screen and (min-width: 641px) {
	.comp_hero .swiper-hero-button-next {
		right: 45px;
		width: 60px;
		height: 60px;
	}
}

@media only screen and (max-width: 640px) {
	.comp_hero .swiper-hero-button-next {
		right: 3.75%;
		width: 45px;
		width: 13vw;
		height: 45px;
		height: 13vw;
		top: 63%;
	}
}

.comp_hero .swiper-hero-pagination {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
}

.comp_hero .swiper-hero-pagination .swiper-pagination-bullet {
    margin: 0 5px;
    width: 15px;
    height: 15px;
    vertical-align: middle;
    background-color: #fff;
    opacity: 1;
    border: 1px solid  #192f60;
}
.comp_hero .swiper-hero-pagination .swiper-pagination-bullet-active {
    background-color: #192f60;
    border: 1px solid #fff;
}


.comp_hero .swiper-slide [role="img"] {
	background: 50% 50% no-repeat;
	background-size: cover;
}

@media only screen and (min-width: 641px)  {
	.comp_hero .swiper-slide [role="img"] {
		height: 538px;
	}
}

@media only screen and (max-width: 640px) {
	.comp_hero .swiper-slide [role="img"] {
		height: 131.25vw;
	}
}

.comp_hero .comp_hero_control_btns {
	position: absolute;
	z-index: 3;
	display: flex;
}

@media print, screen and (min-width: 641px)
{
	.comp_hero .comp_hero_control_btns
	{
		bottom: 30px;
		left: 45px;
	}
}

@media only screen and (max-width: 640px)
{
	.comp_hero .comp_hero_control_btns
	{
		bottom: 18px;
		bottom: 5.625vw;
		left: 3.75%;
	}
}

.comp_hero .comp_hero_control_btn {
	width: 36px;
	height: 36px;
}

.comp_hero .comp_hero_control_btn img[aria-hidden="true"] {
	display: none;
	speak: none;
}

.comp_hero .comp_hero_control_btn + .comp_hero_control_btn {
	margin-left: 10px;
}

.comp_hero_overlay {
	position: absolute;
	z-index: 2;
	top: 50%;
	left: 0;
	height: 100%;
	transform: translate(0, -50%);
}
@media only screen and (max-width: 640px) {
	.comp_hero_overlay {
		display: none;
	}
}
.comp_hero_overlay img {
	height: 100%;
}

.comp_hero_link {
	display: block;
	transition: opacity .25s ease;
	opacity: 1;
}
.comp_hero_link:hover img {
	opacity: 1;
}
.comp_hero_link[data-active="true"] .swiper-container {
	cursor: pointer !important;
}
.comp_hero_link[data-active="true"]:hover {
	transition: opacity .25s ease;
	opacity: .9;
}

.comp_hero_heading {
	position: absolute;
	z-index: 4;
	width: 100%;
	pointer-events: none;
}
@media print, screen and (min-width: 641px){
	.comp_hero_heading {
		top: 50%;
		right: 50%;
		transform: translate(50%, -50%);
	}
}
@media only screen and (max-width: 640px) {
	.comp_hero_heading {
		top: 5%;
		left: 0;
	}
}
.comp_hero_heading[data-active="true"] {
	transition: opacity .15s ease;
	opacity: 1;
}
.comp_hero_heading[data-active="false"] {
	transition: opacity .15s ease;
	opacity: 0;
}

.comp_hero_heading > div {
	height: inherit;
	margin: 0 auto;
}
@media print, screen and (min-width: 641px){
	.comp_hero_heading > div {
		max-width: 1040px;
		padding: 0 100px;
	}
}

@media only screen and (max-width: 640px) {
	.comp_hero_heading > div {
		padding: 0 3.75%;
	}
}

.comp_hero_heading h1 {
	font-weight: 700;
	color: #fff;
}
.comp_hero_heading h1.var_black {
	color: #000;
}
.comp_hero_heading h1.var_red {
	color: #CF0000;
}

.comp_hero_heading h1.var_letter_spacing {
	letter-spacing: -5px;
}
.comp_hero_heading h1.var_weight_900 {
	font-weight: 900;
}
.comp_hero_heading h1.var_letter_spacing {
	letter-spacing: -4px;
}
.comp_hero_heading h1.var_weight_800 {
	font-weight: 800;
}
.comp_hero_heading h1.var_weight_700 {
	font-weight: 700;
}
.comp_hero_heading h1.var_weight_600 {
	font-weight: 600;
}

@media print, screen and (min-width: 641px) {
	.comp_hero_heading h1 {
		font-size: 50px;
		line-height: 1.2;		
		text-shadow: 0 1.5px 1.5px #192f60,
		0 0 1.5px #192f60,
		1.5px 0 1.5px #192f60,
		0 -1.5px 1.5px #192f60,
		-1.5px -1.5px 1.5px #192f60,
		-1.5px 0 1.5px #192f60;
	}
	.comp_hero_heading h1.var_black, .comp_hero_heading h1.var_red {
		text-shadow: 0 1.5px 1.5px #fff,
		0 0 1.5px #fff,
		1.5px 0 1.5px #fff,
		0 -1.5px 1.5px #fff,
		-1.5px -1.5px 1.5px #fff,
		-1.5px 0 1.5px #fff;
	}
	.comp_hero_heading h1.var_large {
	    font-size: 58px;
	}
	.comp_hero_heading h1.var_small {
	    font-size: 44px;
	}
}

@media only screen and (max-width: 640px) {
	.comp_hero_heading h1 {
		font-size: 30px;
		font-size: 8vw;
		line-height: 1.2;
		padding-top: 20px;
		text-shadow: 0 1px 1px #192f60,
		0 0 1px #192f60,
		1px 0 1px #192f60,
		0 -1px 1px #192f60,
		-1px -1px 1px #192f60,
		-1px 0 1px #192f60;
		padding-top: 20px;
	}
	.comp_hero_heading h1.var_black, .comp_hero_heading h1.var_red {
		text-shadow: 0 1px 1px #fff,
		0 0 1px #fff,
		1px 0 1px #fff,
		0 -1px 1px #fff,
		-1px -1px 1px #fff,
		-1px 0 1px #fff;
	}
	.comp_hero_heading h1.var_small {
		font-size: 7.8vw;
	}
    .comp_hero_heading h1.var_large {
		font-size: 9.2vw;
    }
}

.comp_hero_heading h1::after {
	display: block;
	margin-top: 20px;
	content: "";
	background-color: #fff;
}
.comp_hero_heading h1.var_black::after {
	background-color: #000;
}

@media print, screen and (min-width: 641px) {
	.comp_hero_heading h1::after {
		width: 129px;
		height: 4px;
	}
}
@media only screen and (max-width: 640px) {
	.comp_hero_heading h1::after {
		width: 60px;
		height: 4px;
	}
}
.comp_hero_heading .text {
	font-weight: 700;
	color: #fff;
	padding-top: 30px;
}
.comp_hero_heading .text.var_black {
	color: #000;
}

@media print, screen and (min-width: 641px) {
	.comp_hero_heading .text {
		font-size: 32px;
		line-height: 1.5;
		text-shadow: 0 1.5px 1.5px #192f60,
		0 0 1.5px #192f60,
		1.5px 0 1.5px #192f60,
		0 -1.5px 1.5px #192f60,
		-1.5px -1.5px 1.5px #192f60,
		-1.5px 0 1.5px #192f60;
	}
	.comp_hero_heading .text.var_black {
		text-shadow: 0 3px 3px #fff,
		0 0 3px #fff,
		3px 0 3px #fff,
		0 -3px 3px #fff,
		-3px -3px 3px #fff,
		-3px 0 3px #fff;
	}
}

@media only screen and (max-width: 640px) {
	.comp_hero_heading .text
	{
		font-size: 18px;
		font-size: 6vw;
		line-height: 1.2;
		text-shadow: 0 1px 1px #192f60,
		0 0 1px #192f60,
		1px 0 1px #192f60,
		0 -1px 1px #192f60,
		-1px -1px 1px #192f60,
		-1px 0 1px #192f60;
    	letter-spacing: -1px;
	}
	.comp_hero_heading .text.var_black {
		text-shadow: 0 1px 1px #fff,
		0 0 1px #fff,
		1px 0 1px #fff,
		0 -1px 1px #fff,
		-1px -1px 1px #fff,
		-1px 0 1px #fff;
	}
}
.comp_hero_heading .promo {
	font-weight: 700;
	color: #fff;
	padding-top: 30px;
}
.comp_hero_heading .promo span {
	background: #000;
	padding: 5px 8px;
}
@media print, screen and (min-width: 641px) {
	.comp_hero_heading .promo {
		font-size: 24px;
		line-height: 1.2;
	}
}
@media only screen and (max-width: 640px) {
	.comp_hero_heading ,promo {
		font-size: 16px;
		font-size: 5.5vw;
		line-height: 1.5;
	}
}
.comp_hero_heading .promo span.var_red {
	background: #CF0000;
}
@media only screen and (max-width: 640px) {
  .comp_hero_heading .promo span {
	display: block;
	width: fit-content;
  }
}
.comp_hero_heading .info {
	padding-top: 30px;
}
@media only screen and (max-width: 640px) {
  .comp_hero_heading .info {
	padding-top: 20px;
  }
}
.comp_hero_heading .info p, .comp_hero_heading .info li {
	font-weight: 700;
	color: #fff;
	line-height: 1.2em;
	text-shadow: 0 1.5px 1.5px #192f60,
	0 0 1.5px #192f60,
	1.5px 0 1.5px #192f60,
	0 -1.5px 1.5px #192f60,
	-1.5px -1.5px 1.5px #192f60,
	-1.5px 0 1.5px #192f60;
}
.comp_hero_heading .info.var_black p, .comp_hero_heading .info.var_black li {
	color: #000;
	text-shadow: 0 3px 3px #fff,
	0 0 3px #fff,
	3px 0 1.5px #fff,
	0 -3px 3px #fff,
	-3px -3px 1.5px #fff,
	-3px 0 3px #fff;
}
@media only screen and (max-width: 640px) {
  .comp_hero_heading .sp_width80r {
     width: 80%;
  }
}

.elem_text_list ul li {
    margin: 0 0 5px;
    background: url(/library/new/common/img/ico_dotted.png) no-repeat left 0.4em;
    padding: 0 0 0 15px;
    line-height: 1.5;
}
.elem_text_list > ul > li  ul.var_nodot > li {
  background: none;
  padding-left: 0;
}

