#main_content.visid.w_100vw {
	overflow-x: clip;
}

#main_content.visid > div {
	max-width: 1200px;
	margin-right: auto;
	margin-left: auto;
}
#main_content.visid img {
	height: auto;
}



/*------------------------------------------------- 
	main
----------------------------------------------------- */
.main {
	position: relative;
}

.main .img__box {
	width: 100%;
}
.main .img__box img {
	object-fit: cover;
	width: 100%;
	height: auto;
	min-height: 360px;
	max-height: 422px;
}
.main .title__box {
	position: absolute;
	top: 3rem;
	left: 1.6rem;
}
.main .title__box h1 {
	margin-top: .5rem;
}

@media screen and (min-width: 768px) {
	.main .title__box {
		top: 40px;
		left: 30px;
	}
}


/*------------------------------------------------------- 
	local navi : .cv_black
--------------------------------------------------------- */
@media screen and (min-width: 1024px) {
	.visid .local_navi {
	    width: 1200px;
	}

	.visid .local_navi.style_block.cv_black {
	    background: #666;
	}
	.visid .local_navi.style_block.cv_black .local_navi_menu_level1 > li:hover > a,
	.visid .local_navi.style_block.cv_black .local_navi_menu_level1 > li.current > a {
	    background: #000;
	}
	.local_navi.style_block.cv_black .local_navi_menu_level2 > li a {
	    background: #333;
	    color: #fff;
	}
	.local_navi.style_block.cv_black .local_navi_menu_level2 > li a:hover {
	    background: #999;
	}

}


.linkarrow_bnr_box {
	background: #e6e6e6;
	padding: 1em;
	margin-top: 4rem;
}
@media screen and (min-width: 768px) {
	.linkarrow_bnr_box {
		padding: 20px 30px;
	}
}
.linkarrow_bnr_inner {
	background: #fff;
	padding: 1rem;
	cursor: pointer;
}
.linkarrow_bnr_inner.row{
	display: grid;
	gap: 30px 40px;
}
@media screen and (min-width: 1024px) {
	.linkarrow_bnr_inner.row{
		grid-template-columns: 400px 1fr;
	}
}
.linkarrow_bnr_inner.row .img_box {
	text-align: center;
	max-height: 300px;
}
@media screen and (min-width: 1024px) {
	.linkarrow_bnr_inner.row .img_box {
		min-height: 150px;
	}
}



/* ----------------------------------------
	swiper
---------------------------------------- */

.swiper {
	overflow: visible;
	padding: 47px 20px 40px;
}
.swiper-slide {
	width: 250px;
	margin-right: 20px;
}


.swiper-slide a {
	display: block;
	text-align: center;
	outline: 1px #ccc solid;
	outline-offset: -1px;
}
.swiper-slide a:hover {
	outline: 1px #000 solid;
	outline-offset: -1px;
}
.swiper-slide a img:hover {
	opacity: 1;
}



.swiper-slide:last-child {
	margin-right: 0;
}

@media screen and (min-width: 768px) {
	.swiper {
		padding-right: 30px;
		padding-left: 30px;
	}
	.swiper-slide {
		margin-right: 30px;
	}
}

@media screen and (min-width: 1280px) {
	.swiper {
		overflow: hidden;
		padding: 47px 0 0;
	}
}


/* controller -------------------- */

.swiper-controller {
	display: flex;
	position: absolute;
	top: 0;
	right: 0;
}
.swiper-button-prev,
.swiper-button-next {
	position: relative;
	cursor: pointer;
	width: 30px;
	height: 30px;
	margin-right: 20px;
}
.swiper-button-prev::before,
.swiper-button-next::before {
	content: "";
	position: absolute;
	top: -7px;
	left: -7px;
	transition: .2s;
	width: 44px;
	height: 44px;
	background-image: url(/content/dam/jp-ext-hp-com/jp/ja/ec/common/images/arrow/square.svg);
	background-repeat: no-repeat;
	background-position: center center;
}
.swiper-button-prev:hover::before,
.swiper-button-next:hover::before {
	background-image: url(/content/dam/jp-ext-hp-com/jp/ja/ec/common/images/arrow/square_hover.svg);
}
.swiper-button-prev::before,
.swiper-button-prev:hover::before {
	transform: rotate(180deg);
}
.swiper-button-disabled {
	opacity: .3;
	pointer-events: none;
}

@media screen and (min-width: 768px) {
	.swiper-controller {
		right: 10px;
	}
}

@media screen and (min-width: 1280px) {
	.swiper-controller {
		right: -20px;
	}
}


/* pagination -------------------- */

.swiper-pagination {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	text-align: center;
	line-height: 1;
}
.swiper-pagination-bullet {
	display: inline-block;
	cursor: pointer;
	width: 9px;
	height: 9px;
	margin: 0 4px;
	background-color: rgba(0,0,0,.2);
	background-clip: padding-box;
	border: 2px solid transparent;
	border-radius: 20px;
}
.swiper-pagination-bullet-active {
	width: 60px;
	background-color: #000;
}

@media screen and (min-width: 1280px) {
	.swiper-pagination {
		display: none;
	}
}


/* スライダー非活性時 -------------------- */

.swiper:not(.swiper-initialized) .swiper-controller {
	display: none;
}
.swiper:not(.swiper-initialized) .swiper-wrapper {
	margin: 0;
}
-->

.ttl_box {
	padding: 1em 1em 3rem;
}
@media screen and (min-width: 1024px) {
	.ttl_box {
		padding: 10px 0 40px;
	}
}
.ttl_box h2 {
	border-bottom: 1px #000 solid;
	padding-bottom: 5px;
}



/*-------------------------------------------------- 
	model_top_box
---------------------------------------------------- */
.model_top_box {
	display: flex;
	flex-direction: column; /* 画像を上にする場合は column-reverse にしてください */
	background: #4cb5e2; /*#99d5ef;*/
	color: #fff;
}

.model_top_box .title {
	background: #0096d6;
}
.model_top_box .title .inner,
.model_top_box .subtitle .inner {
	padding: 15px 20px;
}
.model_top_box .text .inner {

	padding: 20px;
}
.model_top_box .list {
	margin-top: 20px;
}
.model_top_box .list > li {
	padding: .5em 0;
	border-bottom: 1px solid #000;
}
.model_top_box .img_area img {
	object-fit: cover;
	width: 100%;
	height: auto;
}

@media screen and (min-width: 768px) {
	.model_top_box .text_area .inner {
		padding-right: 30px;
		padding-left: 30px;
	}
}

@media screen and (min-width: 768px) and (max-width: 1279px) {
	.model_top_box .img_area img {
		height: 450px;
	}
}

@media screen and (min-width: 1280px) {
	.model_top_box {
		flex-direction: row;
		min-height: 400px;
	}
	.model_top_box.reverse_lg {
		flex-direction: row-reverse;
	}

	.model_top_box .text_area {
		width: 400px;
	}
	.model_top_box .text_area .inner {
		max-width: 100%;
		margin-left: auto;
	}
	.model_top_box .img_area {
		width: 800px;
	}
	.model_top_box .img_area img {
		max-width: 800px;
		height: 100%;
	}
}


/*---------------------------------- 
model_point_box
---------------------------------------- */

.model_point_box {
	background: #cceaf7;
	padding: 6rem 2rem 4rem;
}
@media screen and (min-width: 768px) {
	.model_point_box {
		padding: 70px 20px 40px;
	}
}
@media screen and (min-width: 1024px) {
	.model_point_box {
		padding: 30px 20px 40px;
	}
}


/*------------------------------------ 
	slider
-------------------------------------- */
.slider {
	display: none;
}
.slider.slick-initialized {
	display: block;
}
@media screen and (max-width: 768px) {
	.slider > div > div > div {
		background: #fff;
		padding: .5rem;
		margin: 0 10px;
	}

	.slider .txt__box {
		padding: 1rem;
	}
}
@media screen and (min-width: 1024px) {
	.slider {
		display: flex	;
		margin: 0 -10px;
	}
	.slider > div {
		flex: 1;
		background: #fff;
		padding: 10px;
		margin: 0 10px;
	}

	.slider .txt__box {
		padding: 15px;
	}
}



/*------------------------------------------------------ 	slick slider height */
.slick-track {
	display: flex;
}
.slick-slide {
	height: auto !important;
}
/*------------------------------------------------------ 	slick-prev slick-next */
.visid_slider .slick-prev, .visid_slider .slick-next {
	transition: .2s;
	width: 30px;
	height: 30px;
	text-align: center;
	background: none;
	border-radius: 0;
	z-index: 1;
	border: 1px #000 solid;
}
.visid_slider .slick-prev::before, .visid_slider .slick-next::before {
	display: inline-block;
	content: "\E90c";
	position: absolute;
	top: 0;
	font-family: HPIcons;
	color: #000;
	font-size: 16px;
	line-height: 30px;
	opacity: 1;
}
.slick-prev, .slick-next {
	top: -30px;
}

.visid_slider .slick-prev {
	left: calc(100% - 70px);
}
.visid_slider .slick-next {
	right: 0;
}

.visid_slider .slick-prev::before {
	transform: rotate(90deg);
	right: 7px;
}
.visid_slider .slick-next::before {
	transform: rotate(270deg);
	left: calc(100% - 21px);
}

.visid_slider .slick-prev:hover::before, .visid_slider .slick-next:hover::before{
	color: #fff;
}



/*---------------------------------------------- linkarrow_btn_area */
.linkarrow_btn_area {
	margin-top: 6rem;
	text-align: center;
}
.linkarrow_btn_area .button {
	font-size: 120%;
}
@media screen and (min-width: 1024px) {
	.linkarrow_btn_area {
		margin-top: 4rem;
	}
	.linkarrow_btn_area .button {
		font-size: 130%;
	}
}


/*--------------------------------------------------------  
	laptop_brand
-------------------------------------------------------- */
.laptop_brand_box {
	border: 1px #000 solid;
	padding: 1em 1rem 3rem;
}
@media screen and (min-width: 1024px) {
	.laptop_brand_box {
		padding: 20px 30px 30px;
	}
}

/*-------------------------------------------------------- */

.brand__box {
	display: flex;
	flex-flow: wrap;
	justify-content: center;
	margin: 0 -.5rem;
}
.brand__box > li {
	background: #f2f2f2;
	border-radius: .5rem;
	margin: 1rem .5rem;
	text-align: center;
	width: calc((100% - 2rem) / 2);
}

.brand__box.one_clms > li {
	width: calc(100% - 1rem);
}

.brand__box > li > * + * {
	margin-top: .5rem;
}

.brand__box a {
	color: #000;
	display: inline-block;
	padding: 1rem;
	height: 100%;
}
.brand__box a:hover {
	text-decoration: none;
}

.brand__box > li:hover {
	opacity: 0.85;
	outline: 1px #ccc solid;
	outline-offset: -1px;
}
@media screen and (min-width: 768px) {
	.brand__box > li {
		width: calc((100% - 4rem) / 4);
	}
	.brand__box.three_clms > li {
		width: calc((100% - 3rem) / 3);
	}
	.brand__box.two_clms > li {
		width: calc((100% - 2rem) / 2);
	}
	.brand__box.one_clms > li {
		width: calc(100% - 1rem);
	}
	
	.brand__others > div > .brand__box > li {
		width: calc((100% - 2rem) / 2);
	}
	
}


/*---------------------------------------------- */
.brand__box .brand__imgbox img {
	height: auto;
}

.brand__box .b_ttl {
	font-size: 115%;
	line-height: 1.2;
	position: relative;
	padding-bottom: 5px;
	margin-bottom: 5px;
}
.brand__box .b_ttl::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 30px;
	height: 2px;
	background: #99d5ef;
}

.brand__box .brand_gaming .b_ttl::after {
	background: #ffd4d0;
}
.brand__box .brand_chromebook .b_ttl::after {
	background: #dcd8fd;
}
.brand__box .brand_omnibook .b_ttl::after {
	background: #ffd099;
}

.brand__box .brand__txtbox {
    margin-top: .5rem;
}

.brand__box .b_name {
	font-size: 130%;
	line-height: 1.2;
}
.brand__box .b_name > span {
	font-size: 52%;
	display: block;
}
.brand__box .b_cmt {
	font-size: 110%;
	margin-top: .5rem;
}
.brand__box .b_cmt sup{
	font-size: 60%;
}
/*------------------------------------------------ background */
.brand__box .brand_omnibook { background: #fff3e5; }
.brand__box .brand_spectre { background: #e5f4fb; }
.brand__box .brand_envy { background: #e5f4fb; }
.brand__box .brand_pavilion { background: #e5f4fb; }
.brand__box .brand_hp { background: #e5f4fb; }
.brand__box .brand_gaming { background: #fff4f3; }
.brand__box .brand_chromebook { background:#f6f5fe; }



/*--------------------------------------------- brand__others */

.brand__others.col1.space > *:nth-of-type(n+2) {
	margin-top: 30px;
}
@media screen and (min-width: 768px) {
	.brand__others.col1.space > *:nth-of-type(n+2) {
		margin-top: 0;
	}
	.brand__others > div > .brand__box > li {
		width: calc((100% - 2rem) / 2);
	}
}

.brand__others > div {
	position: relative;
	padding: 1rem 1rem .5rem;
	border: 1px dotted #999;
	border-radius: 5px;
}


.brand__others > div .brd_sub_ttl {
	position: absolute;
	top: -.5em;
	left: 10px;
	padding: 0 10px;
	color: #000;
	font-size: 18px;
	font-weight: 400;
	line-height: 1;
	background: #fff;
}

@media screen and (min-width: 768px) {
	.brand__others.col2_md.space > div:nth-child(1) {
		width: 65%;
	}
	.brand__others.col2_md.space > div:nth-child(2) {
		width: 33%;
	}
}
