@charset "UTF-8";

/* ---- 
  ----  ----  ---- ここからＰＣのメニュー
---- */
.dropmenu {
  width: 100%;
  /* width: 200px; */
  margin: 0 auto;
  display: flex;
  list-style: none;
}
.dropmenu li {
  min-width: 225px;
  padding-right: 10px;
	position: relative;
  /* display: inline-block; */
}

.dropmenu li::marker {
  content: none;
}
.dropmenu li a.cat-a {
	display: block;
	margin: 0;
	padding: 13px 15px;
	font-size: 14px;
	line-height: 1;
	cursor: pointer;
	background: #2d88d6;
	color: #ffffff;
}
.dropmenu li:hover a {
	background: #efefef;
	color: #000;
}
.dropmenu li a.cat-a:after {
	content: '';
	display: inline-block;
	position: absolute;
	right: 20px;
	top: 40%;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 8px 5px 0 5px;
	border-color: #FFFFFF transparent transparent transparent;
}

.dropmenu li:hover a:after {
	border-color: #2d88d6 transparent transparent transparent;
}

.dropmenu li.no-icon a:after {
	content: none;
}
.dropmenu li .f1nav-wrap {
  position: absolute;
  z-index: 99;
  width: 665px;
  background-color: #efefef;
  overflow: hidden;
  height: 0;
}
.dropmenu li .f1nav-wrap.l-box {
  left: -225px;
}

.dropmenu li .f1nav-wrap.r-box {
    right: 10px;
}

.dropmenu li .f1nav-wrap ul {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin: 15px 5px;
}

.dropmenu li .f1nav-wrap ul li {
    /* width: 50%; */
    min-width: 10px;
    padding-right: 0;
    overflow: hidden;
    height: 0;
    transition: .2s;
}
/* .dropmenu li .f1nav-wrap li:after {
    content: "";
    margin: 0 10px;
    border-right: 1px solid #000;
    height: 50%;
} */
.dropmenu li .f1nav-wrap ul li a {
	display: block;
	margin: 0;
	padding: 13px 15px;
	font-size: 14px;
	line-height: 1;
	cursor: pointer;
	/* border-top: 1px solid #dddddd; */
	background: #efefef;
	color: #333333;
}

.dropmenu li .f1nav-wrap ul li a:hover {
    opacity: 1;
    text-decoration: underline;
}
.dropmenu li .f1nav-wrap ul li a:after {
    content: "";
    margin: 0 10px;
    border-right: 1px solid #000;
    position: absolute;
    height: 50%;
}

.dropmenu li .f1nav-wrap li:first-child a{
	border-top: none;
}


@media screen and (min-width: 641px) {
	.dropmenu li:hover a.cat-a:after {
		transform: rotate(180deg);
		transition: .1s;
	}

	.dropmenu li:hover .f1nav-wrap{
		overflow: visible;
		/* height: 40px; */
    height: auto;
	}
	.dropmenu li:hover .f1nav-wrap ul li{
		overflow: visible;
		/* height: 40px; */
    height: auto;
	}
	.dropmenu li .f1nav-wrap ul li a:hover {
		/* background: #ffd999;
		transition: .5s; */
	}
}


@media screen and (max-width: 640px) {
  .dropmenu {
  margin: 0 auto;
  flex-direction: column;
}
	.dropmenu li {
    /* min-width: 30%; */
  }

  .dropmenu li.active_sp a.cat-a:after {
		transform: rotate(180deg);
		transition: .1s;
	}
	.dropmenu li.active_sp ul li {
    width:100%;
		overflow: visible;
		/* height: 40px; */
    height: auto;
	}
	.dropmenu li.active_sp ul li a {
    min-width: 100%;
  }

}
/* ---- 
  ----  ----  ---- ここまでＰＣのメニュー
---- */



/* ---- 
  ----  ----  ---- ここからスマホのメニュー
---- */
.cat-link-box {
  position: fixed;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  /* height: auto; */
  background: #efefef;
  /* background: rgba(0, 0, 0, 0.7); */
  opacity: 0;
  /* pointer-events: none; */
  visibility: hidden;
  transition: all 1s ease;
  transition-property: opacity, pointer-events, visibility;
  padding: 80px 15px 30px 15px;
  box-sizing: border-box;
  z-index: 101;
  overflow-y: scroll;
  /* scrollbar-color: rebeccapurple green; */
  scrollbar-width: thin;
}
.cat-link-box.is-show {
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
}

.cat-link_content {
  width: 100%;
  height: 100%;
  /* max-width: 150px; */
  /* padding: 30px 15px; */
  /* background: #efefef; */
  text-align: center;
  box-sizing: border-box;
}

.cat-link_content__title {
  margin: 0 0 8px;
  font-size: 20px;
  font-weight: bold;
}

.cat-link_list {
  list-style: none;
  margin: 0;
  padding-top: 0;
  padding-bottom: 150px;
  padding-left: 0;
  padding-right: 0;
  font-size: 1.6rem;
  border-top: 1px solid #666;
  /* display: flex;
  flex-direction: row;
  flex-wrap: wrap; */
}

.cat-link_item {
  color: #333;
  border-bottom: 1px solid #333;
}
.cat-link_item a {
  display: block;
  padding: 10px 0;
  color: inherit;
  text-decoration: none;
}

.cat-button-box {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  row-gap: 10px;
  /* background: #444857; */
  color: #fff;
  margin: 7px 0 30px;
}

.b-style {
  /* width: 30%; */
  width: 45%;
  margin: 0 auto;
  padding: 13px 5px;
  font-size: 14px;
  line-height: 1;
  display: block;
  position: relative;
  /* cursor: pointer; */
  background: #2d88d6;
  color: #ffffff;
  text-align: center;
}

.b-style .b-icon{
  display: block;
  position: absolute;
  top: 46%;
  right: 10%;
  width: 12px;
  height: 1px;
  /* margin: -1.5px 0 0 -5px; */
  background: #fff;
  /* transition: .2s; */
}
.b-style .b-icon:before, .b-icon:after{
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 12px;
  height: 1px;
  background: #fff;
  /* transition: .3s; */
}
.b-style .b-icon:before{
  margin-top: -6px;
}
.b-style .b-icon:after{
  margin-top: 5px;
}

/* .cat-button.b-style::after {
	content: '';
	display: inline-block;
	position: absolute;
	right: 10%;
	top: 40%;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 8px 5px 0 5px;
	border-color: #FFFFFF transparent transparent transparent;
} */
/* .b-style:hover {
  opacity: 0.7;
} */
.no-cat-list.b-style a {
  width: 100%;
  display: block;
  color: #fff;
  text-decoration:none;
}
/* .cat-button:before {
  content: ">";
} */

.cat-link-box-button-close {
  /* margin: 4px 0 0; */
  /* padding: 2px; */
  margin: 15px;
  padding: 20px;
  /* border: 1px solid #333; */
  background: #333;
  border-radius: 50%;
  display: inline-block;
  /* cursor: pointer; */
  /* position: relative; */
  position: absolute;
  top: 0;
  right: 0;
}

.cat-link-box-button-close::before {
  content: '';
  height: 18px;
  width: 2px;
  display: block;
  background: #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 27%;
  left: 49%;
}
.cat-link-box-button-close::after {
  content: '';
  height: 18px;
  width: 2px;
  display: block;
  background: #fff;
  transform: rotate(-45deg);
  position: absolute;
  top: 27%;
  left: 49%;
}


@media screen and (min-width: 641px) {

}
@media screen and (max-width: 640px) {
}

