﻿#cateHD {
  margin: 20px -20px 10px;
  padding-bottom: 20px;

  &:not(:has(.cateTopBannerArea)) {
    margin-top: 30px;
  }
}

.cateTopBannerArea {
  margin-bottom: 28px;
  padding-right: 20px;
  padding-left: 20px;
}

.cateTopBanner {
  display: block;
  width: 100%;
  height: auto;
}

.cateTopTitle {
  position: relative;
  margin-bottom: 20px;
  line-height:1;
  text-align: center;

  &:before {
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    width: 100vw;
    height: 1px;
    background-color: #333;
    content: "";
  }

  & img {
    position: relative;
    z-index: 1;
  }
}

#cateHD .catettl {	text-align: center;	position: relative;	z-index: 50;top: 10px;	margin-bottom: 20px; line-height:1;}
#cateHD .arw1::before {
margin: 0 10px 0 0;overflow: hidden;display: inline-block;text-indent: 200%;white-space: nowrap;vertical-align: middle;line-height: 1;
background-image: url('/sp/images/common-img-sprite.png?ver=3.75.2');
background-repeat: no-repeat;width: 15px;height: 8px;
-moz-background-size: 152px auto;
-o-background-size: 152px auto;
-webkit-background-size: 152px auto;
background-size: 152px auto;
background-position: 0 -483px;
content: "";}
#cateHD .close::before {
margin: 0 10px 0 0;
overflow: hidden;
display: inline-block;
text-indent: 200%;
white-space: nowrap;
vertical-align: middle;
line-height: 1;
background-image: url('/sp/images/common-img-sprite.png?ver=3.75.2');
background-repeat: no-repeat;
width: 15px;
height: 8px;
-moz-background-size: 152px auto;
-o-background-size: 152px auto;
-webkit-background-size: 152px auto;
background-size: 152px auto;
background-position: 0 -508px;
content: "";}
.catettl::after {    position: absolute;    top: 50%;    right: -20px;    left: -20px;    content: "";    display: block;    border-bottom: 1px solid #333;    z-index: -1;}
#cateHD .bnr li {	vertical-align: top; box-sizing: border-box;	width: 49%;	text-align: center;	list-style: none;	display: inline-block;	margin: 0;	padding: 0 3px 0 0;}
#cateHD div[id^="cateTop"] .bnr {
    display: flex;
    overflow: auto;
    margin-bottom: 10px;
    flex-wrap: nowrap;
}
#cateHD div[id^="cateTop"] .bnr::after {
	content: '';
	flex-basis: 15px;
	flex-shrink: 0;
}
#cateHD div[id^="cateTop"] .bnr li {	vertical-align: top; box-sizing: border-box;width: calc(50% - 20px);flex-shrink: 0;	text-align: center;	list-style: none;	display: inline-block;	margin: 0;	padding: 0 5px 10px 5px;}
#cateHD div[id^="cateTop"] .bnr li:first-child {margin-left:15px;}
#cateHD .bnr li a {	color: #333;	text-decoration: none;}
#cateHD .bnr li img {	width: 100%;	margin: 10px 0 0;	padding: 0; height: auto;}
#cateHD .button {	font-weight: bold;	letter-spacing: 0.05em;	color: #666;	font-size: 1.4rem;	text-align: center;	cursor: pointer;	display: block;	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	border: 1px solid #ccc;	border-radius: 4px;	width: 80%;	height: 40px;	background: #fff;	margin: 10px auto;	line-height: 40px;}
#main-contents h1.mod-pagetitle, .mod-relation-link {display:none;}
#cateHD .bnrbox {margin: 0 -20px;}

/* ----- karte ----- */
#karte_embed_test {
  margin: 20px -20px 0;
  padding-right: 20px;
  padding-left: 20px;
  width: 100vw;
  height: 340px;
  overflow: hidden;

  #cateHD ~ & {
    margin-top: -10px;
  }
}

@media screen and (max-width: 640px) {
  #karte_embed_test {
    height: 345px;
  }
}
