#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: 0;
	left: 0;
	padding: 3rem 1.6rem;
}
.main .title__box h1 {
	margin-top: .5rem;
}

@media screen and (min-width: 768px) {
	.main .title__box {
		padding: 40px 30px;
	}
}


/*------------------------------------------------------- 
	local navi : .cv_black
--------------------------------------------------------- */
@media screen and (min-width: 1024px) {
	.visid .local_navi {
	    width: 100%;
	    max-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;
	}
}



/* ----------------------------------------
	wsms__lineup swiper
---------------------------------------- */

.wsms__lineup.swiper {
	overflow: visible;
	padding: 47px 20px 40px;
}
.wsms__lineup .swiper-slide {
	width: 250px;
	margin-right: 20px;
}


.wsms__lineup .swiper-slide a {
	display: block;
	text-align: center;
	outline: 1px #ccc solid;
	outline-offset: -1px;
}
.wsms__lineup .swiper-slide a:hover {
	outline: 1px #000 solid;
	outline-offset: -1px;
}
.wsms__lineup .swiper-slide a img:hover {
	opacity: 1;
}



.wsms__lineup .swiper-slide:last-child {
	margin-right: 0;
}

@media screen and (min-width: 768px) {
	.wsms__lineup.swiper {
		padding-right: 30px;
		padding-left: 30px;
	}
	.wsms__lineup .swiper-slide {
		margin-right: 30px;
	}
}

@media screen and (min-width: 1280px) {
	.wsms__lineup.swiper {
		overflow: hidden;
		padding: 47px 0 0;
	}
	.wsms__lineup .swiper-wrapper {
	display: flex;
	/*justify-content: center;*/
	}
	/*
	.wsms__lineup .swiper-controller {
       display: none!important;
    }*/
}


/* controller -------------------- */

.wsms__lineup .swiper-controller {
	display: flex;
	position: absolute;
	top: 0;
	right: 0;
}
.wsms__lineup .swiper-button-prev,
.wsms__lineup .swiper-button-next {
	position: relative;
	cursor: pointer;
	width: 30px;
	height: 30px;
	margin-right: 20px;
}
.wsms__lineup .swiper-button-prev::before,
.wsms__lineup .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;
}
.wsms__lineup .swiper-button-prev:hover::before,
.wsms__lineup .swiper-button-next:hover::before {
	background-image: url(/content/dam/jp-ext-hp-com/jp/ja/ec/common/images/arrow/square_hover.svg);
}
.wsms__lineup .swiper-button-prev::before,
.wsms__lineup .swiper-button-prev:hover::before {
	transform: rotate(180deg);
}
.wsms__lineup .swiper-button-disabled {
	opacity: .3;
	pointer-events: none;
}

@media screen and (min-width: 768px) {
	.wsms__lineup .swiper-controller {
		right: 10px;
	}
}

@media screen and (min-width: 1280px) {
	.wsms__lineup .swiper-controller {
		right: 0;
	}
}


/* pagination -------------------- */

.wsms__lineup .swiper-pagination {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	text-align: center;
	line-height: 1;
}
.wsms__lineup .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;
}
.wsms__lineup .swiper-pagination-bullet-active {
	width: 60px;
	background-color: #000;
}


@media screen and (min-width: 1280px) {
	.wsms__lineup .swiper-pagination {
		display: none;
	}
}


/* スライダー非活性時 -------------------- */


.wsms__lineup.swiper:not(.swiper-initialized) .swiper-controller {
	display: none;
}

.wsms__lineup.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;
}
/*-------------------------------------------------- 
	tab_trigger
---------------------------------------------------- */
.tab_trigger {
	display: flex;
	justify-content: space-around;
	margin: 0 -5px;
}
.tab_trigger li{
	width: calc((100% / 3) - 10px);	
	background-color: #a7a5a6;
	color: #fff;
	padding: 1rem 2rem;
	line-height: 1.3;
	margin: 0 5px;
}
.tab_trigger.row02 li{
	width: calc((100% / 2) - 10px);
}

.tab_trigger li:hover{
	background-color: #231f20;
}


.tab_trigger li.tab_current{
	background-color: #231f20;
    /*border: 1px solid #666666;*/
    border-bottom: none;
	color: #fff;
	position: relative;
}

.tab_trigger li.tab_current::after{
	content: "";
    position: absolute;
    bottom: -16px;
    background: #231f20;
    height: calc(tan(60deg) * 26px / 2);
    width: 26px;
    clip-path: polygon(50% 0, 100% 100%, 0 100%);
    transform: rotate(3.142rad);
    left: calc(50% - 13px);
}

@media screen and (min-width: 1024px) {
	.tab_trigger li p{
		font-size: 24px;
	}
	.tab_trigger li span{
		font-size: 30px;
	}
}

/*-------------------------------------------------- 
	model_top_box
---------------------------------------------------- */
.model_top_box {
	display: flex;
	flex-direction: column; /* 画像を上にする場合は column-reverse にしてください */
	background: #7b7979; /*#ffeae8*/
	color: #fff;
	margin-top: 4rem;
}

.model_top_box .title {
	background: #231f20;
}
/*
.model_top_box .subtitle {
	background: #ffb4ad;
}
*/
.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 {
		margin-top: 60px;
	}

	.model_top_box .text_area .inner {
		padding-right: 25px;
		padding-left: 25px;
	}
}

@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_top_box .text_area .inner h3.xl > span{
	font-size: 85%!important;
}

@media screen and (min-width: 1920px) {
	.model_top_box .text_area .inner h3.xl > span{
		font-size: 75%!important;
		line-height: 0.5;
	    white-space: nowrap;
	}
}

/*---------------------------------- 
model_point_box
---------------------------------------- */

.model_point_box {
	background: #e9e8e8;
	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: 1023px) {
	.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__introduction {
	margin-top: 2rem;
}*/
.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 .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%;
}

/*----------------------------------------------- omni */
@media screen and (min-width: 768px) {
	.brand__box > li.brand_omnibook {
		width: calc((100% - 2rem) / 2);
	}
}
@media screen and (min-width: 768px) {
	.brand__box .brand_omnibook a {
		display: flex;
		flex-flow: wrap;
		align-items: center;
		justify-content: center;
	}
	.brand__box .brand_omnibook .b_ttl{
		width: 100%;
	}
	.brand__box .brand_omnibook .b_ttl::after {
		background: #ffd099;
	}
	.brand__box .brand_omnibook .b_name {
		font-size: 24px;
		line-height: 1.3;
	}
	.brand__box .brand_omnibook .b_cmt {
		font-size: 18px;
		margin-top: 10px;
	}
}

/*------------------------------------------------ background */
.brand__box .brand_omnibook { background: #fff3e5; }
.brand__box .brand_spectre { background: #e5f4fb; }
.brand__box .brand_envy { background: #e5f4fb; }
.brand__box .brand_probook { background: #e5f4fb; }
.brand__box .brand_hp { background: #e5f4fb; }
.brand__box .brand_workstation { background: #fff4f3; }
.brand__box .brand_pos { 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%;
	}
}



.hr1 {
	margin-top: 30px;
	position: relative;
	height: 3px;
	border-width: 0;
	background-color: #0096d6;
}
@media screen and (min-width: 768px) {
	.hr1 {
		margin-top: 50px;
		position: relative;
		height: 3px;
		border-width: 0;
		background-color: #0096d6;
	}
}


.brand__box > li.brand_workstation .b_ttl::after{
	background: #ffb4ad;
}
.brand__box > li.brand_pos .b_ttl::after{
	background: #c2bbfb;
}
