@charset "utf-8";


/*ページ内リンク
---------------------------------------------------------------------------*/
.cateWrap2 li {
	margin-left: 0rem;
}

.cateWrap2 a {
	display: contents;
}

/*プロダクトカスタムパーツ一覧*/
/*.cateWrap2 {
	padding: 20px 20px;
	background-color: #F3F3F3;
	margin-left: auto;
	margin-right: auto;
}

.cateList2 {
	display: flex;
	flex-wrap: wrap;
	margin-left: auto;
	justify-content: space-between;
	margin-right: auto;
}
*/
.cateButton2 {
	width: 100%;
	align-items: center;
	padding: 10px 13px;
	font-size: 1rem;
	font-weight: 600;
	background-color: #FFF;
	border-radius: 5px;
	line-height: 1.5em;
}

input[type=submit],
button {
	cursor: pointer;
}

/*
.cateList_item2 {
	width: 100%;
height: 55px;
	margin-top: 5px;
	margin-right: 10px;
	margin-bottom: 0px;
	}
*/

/*プロダクトカスタムパーツ一覧*/

.cateWrap2 a {
	display: contents;
}

/*
.cateWrap2 {
	padding: 10px 10px;
	background-color: #F3F3F3;
	margin-left: auto;
	margin-right: auto;
}

.cateList2 {
	display: flex;
	flex-wrap: wrap;
	margin-left: auto;
	margin-right: auto;
}
*/



.cateList2 {
	display: grid;
	gap: 0.5rem;
	grid-template-columns: repeat(4, 1fr);
	list-style: none;
	margin: 0 0 6rem 0;
	/*padding: 0;*/
}

@media only screen and (max-width: 782px) {
	.cateList2 {
		grid-template-columns: repeat(2, 1fr);
		/*margin: 20px 0*/
	}
}

@media only screen and (max-width: 480px) {
	.ateList2 {
		grid-template-columns: repeat(2, 1fr);
		/*grid-template-columns:1fr*/
	}
}


.buttonLink2 {
	display: block;
	width: 100%;
	height: 100%;
}

/*
a {
color: #444;
text-decoration: none;
}

.cateButton2 {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	padding: 5px 8px;
	padding: 5px 8px;
	color: #444;
	border: 1px solid #DCE0E0;
	font-size: 12px;
	font-weight: 600;
	background-color: #FFF;
	border-radius: 5px;
}
input[type=submit], button {
cursor: pointer;
}
*/
/*
.cateList_item2 {
	width: 48%;
height: 55px;
	margin-top: 5px;
	margin-right: 5px;
	margin-bottom: 0px;
	}
*/
/*
  @media screen and (max-width:1080px) {
.cateList_item2:nth-of-type(-n+4) {
	margin-top: 5px;
}
.cateList_item2:nth-of-type(4n) {
	margin-right: 5px;
}

		}

@media screen and (max-width:782px) {
  .cateList_item2:nth-of-type(-n+2) {
	margin-top: 5px;
}
.cateList_item2:nth-of-type(2n) {
	margin-right: 0px;
}
}
@media screen and (max-width:480px) {
  .cateList_item2:nth-of-type(-n+2) {
	margin-top: 5px;
}
.cateList_item2:nth-of-type(2n) {
	margin-right: 0px;
}
}
*/



/*== ボタン共通設定 */
.catebtn {
	height: 5rem;
	/*アニメーションの起点とするためrelativeを指定*/
	position: relative;
	overflow: hidden;
	/*ボタンの形状*/
	text-decoration: none;
	display: inline-block;
	border: 1px solid #555;
	/* ボーダーの色と太さ */
	text-align: center;
	outline: none;
	/*アニメーションの指定*/
	transition: ease .2s;
	background-image: url(https://www.wangan357.jp/data/wangan357/image/door/btn_bg01.jpg);
	background-size: 100% 100%;
}

/*ボタン内spanの形状*/
.catebtn span {
	position: relative;
	z-index: 2;
	/*z-indexの数値をあげて文字を背景よりも手前に表示*/
	color: #333;
}

.catebtn:hover span {
	color: #fff !important;
}

/*== 背景が流れる（左から右） */
.bgleft:before {
	content: '';
	/*絶対配置で位置を指定*/
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	/*色や形状*/
	background: #333;
	/*背景色*/
	background-image: url(https://www.wangan357.jp/data/wangan357/image/door/btn_bg02.jpg);
	background-size: 100% 100%;
	width: 100%;
	height: 100%;
	/*アニメーション*/
	transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
	transform: scale(0, 1);
	transform-origin: right top;
}

/*hoverした際の形状*/
.bgleft:hover:before {
	transform-origin: left top;
	transform: scale(1, 1);
}


/*card 商品一覧
---------------------------------------------------------------------------*/

.card h3 {
	font-family: "Reddit Sans", "Noto Sans JP", sans-serif;
	font-size: 1.4rem;
	letter-spacing: 0.1em;
	border-bottom: 3px solid var(--text-color);
	line-height: 1.5;
	margin: 3rem 0 2rem 0;

}

.card h3 .hosoku {
	display: block;
	font-weight: normal;
	font-size: 1.2rem;
}

.card h4 {
	font-size: 1.4rem;
	border-bottom: 3px solid var(--text-color);
	margin: 3rem 0 2rem 0;
}

.card li {
	margin: 0px !important;
}

.card-item a {
	display: block;
	/*color: #000;*/
}

.card-items {
	display: grid;
	gap: 1.6rem;
	grid-template-columns: repeat(4, 1fr);
	list-style: none;
	margin: 0 0 6rem 0;
	padding: 0;
}

@media only screen and (max-width: 782px) {
	.card-items {
		grid-template-columns: repeat(2, 1fr);
		/*margin: 20px 0*/
	}
}

@media only screen and (max-width: 480px) {
	.card-items {
		grid-template-columns: repeat(2, 1fr);
		/*grid-template-columns:1fr*/
	}
}

@media only screen and (max-width: 1080px) {
	.card-item-link {
		border-radius: 10px
	}
}

.card-item-link .card-imgframe {
	transition: transform .3s;
}

.card-item-link:hover .card-imgframe {
	transform: scale(1.1)
}

.card-skin {
	overflow: hidden;
	border-radius: 20px;
	box-shadow: 0 4px 15px rgba(0, 0, 0, .2);
}

/*
    .card-imgframe {
      width: 100%;
      height: auto;
      padding-top: 66.66%;
      background: url(https://placehold.jp/640x360.png) no-repeat center;
      background-size: cover;
      box-sizing: border-box;
    }
*/
.card-imgframe img {
	width: 100%;
}

.card-textbox {
	width: 100%;
	height: auto;
	padding: 20px 18px;
	background: #ffffff;
	box-sizing: border-box;
}

.card-textbox>*+* {
	margin-top: 10px;
}

.card-titletext {
	font-size: 1rem;
	font-weight: bold;
	line-height: 125%;
}

.card-overviewtext {
	font-size: 0.9rem;
	line-height: 150%;
}

/* btn arrow
 ----------------------------------------------- */
.card-items a:hover .btn2.arrow>span::after {
	width: 130%;
	transition-duration: .3s;
	transition: .4;
}

.btn2.arrow a,
.btn2.arrow>span {
	position: relative;
	cursor: pointer;
	font-size: 0.8rem;
}

.btn2.arrow a::after,
.btn2.arrow>span::after {
	content: "";
	display: inline-block;
	width: 120%;
	height: 6px;
	border-right: 1px solid #191919;
	border-bottom: 1px solid #191919;
	transform: skewX(45deg);
	position: absolute;
	bottom: -4px;
	left: -2%;
	transition: .4s;
}

.btn2.arrow a:hover::after,
.btn2.arrow>span:hover::after {
	width: 130%;
	transition-duration: .3s;
	transition: .4;
}

.btn2.arrow a span,
.btn2.arrow>span span {
	font-size: 1.8rem;
	font-weight: 500;
}

/* color */
.btn2.arrow.gr a,
.btn2.arrow.gr>span {
	color: #009933;
	position: relative;
	cursor: pointer;
}

.btn2.arrow.gr a::after,
.btn2.arrow.gr>span::after {
	border-color: #009933;
}