@charset "utf-8";
.topcontents::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 1200px;
  background-image: url("../img/bg_radiation_gr-w50.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  top: 0;
  z-index: -1;
  filter: blur(1px);
  -ms-filter: blur(3px);
  background-position: center;
  opacity: .5;
  background-color: #ebf3fb;
}
@media screen and (min-width: 681px) {
  #site_top #contents {
    padding-bottom: 20px;
    padding-top: 20px;
    top: 70px;
  }
}
@media screen and (max-width: 680px) {
  .topcontents::after {
    height: 6000px;
    background-position-x: 76%;
  }
}
.topcontents .catch_copy {
	font-family: 'BIZ UDPGothic', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Meiryo, "メイリオ", "ＭＳ Ｐゴシック", sans-serif !important;
	/*padding: 50px 0 20px;*/
	padding: 30px 0 20px;
	text-shadow: 1px 1px 8px rgb(255, 255, 255), -1px 1px 8px rgb(255, 255, 255), 1px -1px 8px rgb(255, 255, 255), -1px -1px 8px rgba(255, 255, 255);
	font-weight: 600;
	/*line-height: 1.3;*/
	line-height: 1.2;
	font-size: calc(1.1rem + .7vw) !important;
	position: relative;
	color: #282828;
	text-align: center;
	border: none;
	margin: 0 0 30px;
	z-index: 9;
}
@media screen and (max-width: 680px) {
  .topcontents .catch_copy {
    font-size: calc(1rem + 2vw) !important;
  }
}
h3.catch_copy {
  border: none;
  padding: 0;
  text-align: center;
  padding: 20px 0 10px;
}
.topcontents-wrap {
	padding: 0 20px;
	max-width: 1420px;
	margin: 0 auto;
	position: relative;
}
.topcontents-wrap .jigyou-wrap {
	width: 100vw;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	box-sizing: border-box;
	background-color: #093660;
	padding: 20px 0;
	border-top: 1px solid rgba(128,128,128,.1);
	border-bottom: 1px solid rgba(255,255,255,.6);
	backdrop-filter: blur(5px);
	/* margin-bottom: 20px; */
	z-index: 1;
}
.topmenu-container.jigyou {
	display: flex;
	margin: 0 auto;
	gap: 20px;
	padding: 0 20px;
	max-width: 1480px;
	margin-top: -50px;
	margin-bottom: 0px;
}
.topmenu-container.jigyou div.topmenu-item {
	position: relative;
	min-height: 360px;
	border-radius: 10px;
	/* overflow: hidden; */
	transition: 0.3s;
}
.topmenu-container.jigyou div.topmenu-item:hover {
	transform: scale(1.02);
	transition: .3s;
}
.topmenu-container.jigyou div.topmenu-item.crm {
	width: 52%;
}
.topmenu-container.jigyou div.topmenu-item.crm h2 {
	font-size: clamp(1.6em, 3vw,2.8em) !important;
}
.topmenu-container.jigyou div.topmenu-item.settlement {
  width: 24%;
}
.topmenu-container.jigyou div.topmenu-item.region {
  width: 24%;
}
.topmenu-container.jigyou .category {
	display: flex;
	/* width: 90px; */
	height: 40px;
	justify-content: flex-start;
	align-items: center;
	color: #fff;
	font-size: clamp(1.1em, 1.6vw, 1.4em);
	/*flex-direction: column;*/
	line-height: 1.2;
	font-family: 'BIZ UDPGothic', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Meiryo, "メイリオ", "ＭＳ Ｐゴシック", sans-serif !important;
	z-index: 5;
	position: relative;
	flex-direction: inherit;
	/* top: 40px; */
	font-weight: bold;
	padding: 0 20px 0 20px;
	background-color: #282828;
	border-radius: 3em;
	/* height: 40px; */
	width: fit-content;
	margin: 20px 0 10px 15px;
}
@media screen and (min-width: 681px) and (max-width: 999px) {
.topmenu-container.jigyou .category {
    font-size: clamp(1.4em, 2vw, 1.6em);
}
}
.topmenu-container.jigyou .crm .category {
	/* background-color: #339966; */
}
.topmenu-container.jigyou .settlement .category {
  /* background-color: #3399cc; */
}
.topmenu-container.jigyou .region .category {
  /* background-color: #ac3542; */
}
#contents .topmenu-container .topmenu-item a h2 {
	font-size: clamp(1.4em, 2vw,1.9em);
	text-shadow: 1px 1px 8px rgb(255, 255, 255), -1px 1px 8px rgb(255, 255, 255), 1px -1px 8px rgb(255, 255, 255), -1px -1px 8px rgba(255, 255, 255);
	line-height: 1.2;
	padding: 0 5px 0 1rem;
	margin: 0;
	font-weight: 600;
	text-align: left;
	font-family: 'BIZ UDPGothic', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Meiryo, "メイリオ", "ＭＳ Ｐゴシック", sans-serif !important;
	min-height: 85px;
}
@media screen and (min-width: 681px) and (max-width: 999px) {
.topmenu-container.jigyou div.topmenu-item.crm h2 {
    font-size: clamp(2.4em, 3vw,2.8em) !important;
}
}
@media screen and (min-width: 681px) and (max-width: 999px) {
#contents .topmenu-container .topmenu-item a h2 {
    font-size: clamp(1.8em, 4vw, 2.2em);
}
}
@media screen and (max-width: 680px) {
#contents .topmenu-container .topmenu-item a h2 {
	font-size: 1.8em ;
}
}
#contents .topmenu-container .topmenu-item a h2 em {
  display: inline-block;
}
@media screen and (max-width: 680px) {
#contents .topmenu-container .topmenu-item.crm a h2 {
	font-size: 2.2em !important;
}
}
#contents .topmenu-container .topmenu-item a h3 {
	font-family: var(--font-biz);
	border: none;
	line-height: 1;
	width: fit-content;
	padding: 5px 3%;
	border-radius: 5px;
	margin: 0 auto 0;
	font-weight: bold;
	color: #165084;
	display: flex;
	align-items: center;
	gap: 20px;
}
@media screen and (max-width: 680px) {
#contents .topmenu-container .topmenu-item a h3 {
	flex-direction: column;
	gap: 5px;
	font-size: clamp(1.1em,2vw,1.6em);
	width: auto;
}
}
.topmenu-container ul.kw_wrap {
	list-style: none;
	font-size: 0;
	background: none;
	min-height: inherit;
	margin: 0;
	/* top: 170px; */
	/* left: 5px; */
	/* width: calc(100% - 5px); */
	padding: 10px 5px 20px 10px ;
	z-index: 3;
	display: inline-block;
	text-align: left;
	/* position: absolute; */
	transition: .3s;
}
.topmenu-container ul.kw_wrap li {
	margin: 0 5px 3px 0;
	display: inline-block;
	border-width: 1px ;
	background-color: #ffffff;
	color: #3e3e3e;
	line-height: 1.3;
	padding: 0px 0px 0px 35px;
	font-size: 1rem;
	font-family: 'BIZ UDPGothic', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Meiryo, "メイリオ", "ＭＳ Ｐゴシック", sans-serif !important;
	margin-bottom: 10px;
}
.topmenu-container.subline, .topmenu-container.subline::before {
  background-color: #2c9f52;
}
.topmenu-container.subline:first-child {
  display: block;
  max-width: 1400px;
  margin: 0 auto;
  padding: 10px 10px 10px;
  border-radius: 0 8px 8px 0;
  margin-top: 20px;
  position: relative;
}
.topmenu-container.subline:first-child::before {
  content: "";
  position: absolute;
  width: 50px;
  left: 0px;
  display: block;
  height: 22px;
  top: -22px;
  background: linear-gradient(0deg, #2C9F52, #0d8033);
}
.topmenu-container.subline:nth-child(2) {
  display: block;
  max-width: 1400px;
  margin: 4px auto 0;
  padding: 10px 10px 10px;
  border-radius: 0 8px 8px 8px;
  position: relative;
}
.topmenu-container.subline:first-child {
  padding: 6px 10px;
}
.topmenu-container.subline:first-child {
	border-radius: 0 8px 8px 8px;
}
.topmenu-container.subline:nth-child(2) {
  padding: 6px 10px;
}
@media screen and (max-width: 680px) {
  .topmenu-container.subline:nth-child(2) {
    margin: 20px auto 0;
  }
}
.topmenu-container.subline:nth-child(2)::before {
  content: "";
  position: absolute;
  width: 50px;
  height: 10px;
  top: -10px;
  left: 0px;
  display: block;
}
@media screen and (max-width: 680px) {
  .topmenu-container.subline:nth-child(2)::before {
    height: 20px;
    top: -20px;
  }
}
.ec_li {
  text-align: center;
  list-style: none;
  margin: 0;
  border: 2px solid #31859c;
  width: 20%;
  position: relative;
  box-shadow: 1px 1px 2px rgba(25, 48, 78, .1), -1px 1px 2px rgba(25, 48, 78, .1), 1px -1px 2px rgba(25, 48, 78, .1), -1px -1px 2px rgba(25, 48, 78, .1);
  background-color: #ffffff;
}
.ec_li.shopify, .ec_li.magento {
  width: 39%;
}
.ec_li.shopify {

}
.ec_li:first-child {
  border: none;
  box-shadow: none;
  background-color: inherit;
  padding: unset;
}
.ec_li.magento {}
.ec_li.shopify::before {
  content: "";
  width: 20px;
  height: 20px;
  /*display: block;*/
  position: absolute;
  top: 0;
  left: 0;
  background-color: #396;
  display: none;
}
.ec_li.magento::before {
  content: "";
  width: 20px;
  height: 20px;
  /*display: block;*/
  position: absolute;
  top: 0;
  left: 0;
  background-color: #396;
  display: none;
}
.topmenu-container.ec a {
  border: none;
  box-shadow: none;
  padding: 5px 5px;
  width: 100%;
  display: block;
  height: 100%;
  /* min-height: 125px; */
  font-size: calc(1rem + .2vw);
  font-weight: 600;
  font-family: 'BIZ UDPGothic', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Meiryo, "メイリオ", "ＭＳ Ｐゴシック", sans-serif !important;
  position: relative;
  text-shadow: none;
  line-height: 1.2;
  color: #282828;
}
.topmenu-container div.topmenu-item.ec a {
  border: none;
  box-shadow: none;
  padding: 5px 5px;
  width: 100%;
  display: block;
  height: 100%;
  min-height: 80px;
  font-size: calc(1rem + .2vw);
  font-weight: 600;
  font-family: 'BIZ UDPGothic', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Meiryo, "メイリオ", "ＭＳ Ｐゴシック", sans-serif !important;
  position: relative;
  color: #fff;
  text-shadow: none;
  line-height: 1.2;
  letter-spacing: 1px;
}
.topmenu-container div.topmenu-item.ec a::before {
  content: "";
  position: absolute;
  bottom: 4px;
  left: 4px;
  height: 78px;
  width: calc(100% - 8px);
  background-size: cover;
  background-repeat: no-repeat;
}
.ec_li.ec_li.shopify .logo, .ec_li.ec_li.magento .logo {
  width: 100%;
  font-size: 24px;
  line-height: 1.5;
  letter-spacing: 1px;
  margin-bottom: 5px;
}
.movmark {
	right: 0;
	bottom: 0;
	left: inherit;
	top: inherit;
	background-color: rgb(28, 128, 177);
	padding-top: 30px;
	width: 30px;
}
.movmark::before {
  animation: inherit;
  border: solid #fff;
  border-width: 0 0 2px 2px;
  content: "";
  display: inline-block;
  margin: auto;
  position: absolute;
  top: 7px;
  right: 7px;
  left: 0;
  transform: rotate(-135deg);
  width: 15px;
  height: 15px;
}
.movmark::after {
	content: "詳しく見る";
	position: absolute;
	top: 4px;
	width: max-content;
	right: 37px;
	font-size: 1rem;
	color: #00699c;
	font-family: var(--font-biz);
}
.topmenu-container.column .movmark::after {
	color: #ffffff;
}
.gyoushu_ul {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  gap: 1%;
}
.gyoushu_li {
  text-align: center;
  list-style: none;
  margin: 0;
  border: 2px solid #31859c;
  width: 19%;
  position: relative;
  box-shadow: 1px 1px 2px rgba(25, 48, 78, .1), -1px 1px 2px rgba(25, 48, 78, .1), 1px -1px 2px rgba(25, 48, 78, .1), -1px -1px 2px rgba(25, 48, 78, .1);
  background-color: #ffffff;
}
.gyoushu_li:first-child {
  border: none;
  box-shadow: none;
  background-color: inherit;
  width: 20%;
}
.gyoushu_li::before {
  content: "";
  width: 20px;
  height: 20px;
  /*display: block;*/
  position: absolute;
  top: 0;
  left: 0;
  background-color: #396;
  display: none;
}
.gyoushu_li:first-child::before {
  content: "";
  display: none;
}
#contents .topmenu-container.gyoushu h2, #contents .topmenu-container.ec h2 {
  padding: 0;
  /*text-shadow: 1px 1px 4px rgb(255, 255, 255), -1px 1px 4px rgb(255, 255, 255), 1px -1px 4px rgb(255, 255, 255), -1px -1px 4px rgba(255, 255, 255);*/
  line-height: 1.2;
  text-align: left;
  font-size: calc(1rem + .3vw);
  font-weight: 600;
  font-family: 'BIZ UDPGothic', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Meiryo, "メイリオ", "ＭＳ Ｐゴシック", sans-serif !important;
  margin: 0;
  padding-left: 40px;
  color: #ffffff;
}
.topmenu-container.ec ul.ec_ul {
  display: flex;
  gap: 1%;
  padding: 0;
  margin: 0;
}
.topmenu-container.gyoushu a {
  border: none;
  box-shadow: none;
  padding: 6px 5px;
  width: 100%;
  display: block;
  height: 100%;
  min-height: 80px;
  font-size: calc(1rem + .2vw);
  font-weight: 600;
  font-family: 'BIZ UDPGothic', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Meiryo, "メイリオ", "ＭＳ Ｐゴシック", sans-serif !important;
  position: relative;
  text-shadow: 1px 1px 4px rgb(255, 255, 255), -1px 1px 4px rgb(255, 255, 255), 1px -1px 4px rgb(255, 255, 255), -1px -1px 4px rgb(255, 255, 255);
  line-height: 1.2;
  color: #282828;
  z-index: 1;
}
.topmenu-container.gyoushu a, .topmenu-container.ec a {
  font-size: calc(.8rem + .3vw);
}
.topmenu-container.gyoushu a::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 48px;
  width: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  z-index: -1;
}
.topmenu-container.gyoushu .hotel a::before {
  background-image: url("../column/img/img_hotel.jpg");
  background-color: #e3e0db;
  background-position: center 70%;
}
.topmenu-container.gyoushu .setubi a::before {
  background-image: url("../service/img/img_setubi29753548.jpg");
  background-color: #e3e0db;
  background-position: center 20%;
}
.topmenu-container.gyoushu .apparel a::before {
  background-image: url("../service/img/img_apprel25972479.jpg");
  background-color: #e3e0db;
  background-position: center 50%;
}
.topmenu-container.gyoushu .ja_crm a::before {
  background-image: url("../column/img/img_ja_crm.jpg");
  background-color: #e3e0db;
  background-position: center 50%;
}
.topmenu-container.gyoushu a > em {
  background-color: inherit;
  color: inherit;
  padding: 0;
  display: inline-block;
}
.topmenu-container.news {
	display: block;
	width: calc(100% - 214px);
	margin: 0 auto;
	position: relative;
	background-color: #ffffff;
	padding: 10px;
	border-radius: 10px;
}
.topmenu-container.news .rss {
  position: absolute;
  top: 7px;
  left: 7em;
}
.topmenu-container.news .topic_link {
  position: absolute;
  top: 0;
  width: 100%;
}
.topmenu-container.news .topic_link .arrow-button {
  right: 10px;
  position: absolute;
  top: 6px;
}
.topmenu-container.news dl:nth-child(n+6) {
  display: none;
}
.topmenu-container.news .arrow-button {
  box-shadow: none;
  border: none;
}
.news dl {
  font-size: inherit;
}
.news dl dt {
  padding: 5px 0;
}
.news dl dd a {
  font-size: 1em;
  padding: 5px 0;
  color: #282828;
}
.newicon {
  margin: 6px 10px 6px 0;
}
.topmenu_img {
	overflow: hidden;
	display: block;
	height: 30px;
	top: 0;
	position: absolute;
	width: 100% !important;
	left: 0;
	border-radius: 10px 10px 0 0;
	/* border: 2px solid #fff; */
}
@media screen and (max-width: 680px) {
  .topmenu_img {
    height: 30px;
  }
  .topmenu-container.ec a {
    font-size: calc(1rem + .4vw);
	padding: 10px;
  }
}
.topmenu_img img {
  width: 100%;
  height: auto;
}
.topmenu-container div.topmenu-item.crm .topmenu_img img {
	/* width: auto; */
	/* height: 100%; */
	margin-top: -50px;
}
.topmenu-container.jigyou div.topmenu-item.settlement .topmenu_img img {
	/* width: auto; */
	/* height: 260%; */
	/* margin: -160px auto auto -260px; */
	margin: -60% 0 0 -60%;
	width: 170%;
}
@media screen and (max-width: 680px) {
  .topmenu-container.jigyou div.topmenu-item.settlement .topmenu_img img {
    width: 200%;
    height: auto;
    margin: -60% auto auto -50%;
    max-width: inherit;
  }
}
.topmenu-container.jigyou div.topmenu-item.region .topmenu_img img {
	/* width: auto; */
	/* height: 100%; */
	margin: -80px 0 0 0;
}
@media screen and (max-width: 680px) {
  .topmenu-container.jigyou div.topmenu-item.region .topmenu_img img {
    width: 120%;
    height: auto;
    max-width: inherit;
  }
}
.topmenu-container.jigyou div.topmenu-item a:hover img {
  opacity: 1;
}
.topmenu-container.jigyou div.topmenu-item a:hover, .topmenu-container.jigyou div.topmenu-item a:hover h2 {
  opacity: .8;
}
.topmenu-container.jigyou div.topmenu-item a:hover ul.kw_wrap li {
  color: #5c5c5c;
}
.topmenu-container div.topmenu-item.crm .topmenu_img {
  background-color: #0d8033;
}
.topmenu-container div.topmenu-item {
	transform: scale(1);
	transition: .1s ease-out;
	box-shadow: 1px 1px 2px rgba(25, 48, 78, .1), -1px 1px 2px rgba(25, 48, 78, .1), 1px -1px 2px rgba(25, 48, 78, .1), -1px -1px 2px rgba(25, 48, 78, .1);
	background-color: #ffffff;
	/* border: 2px solid #333; */
}
/*.topmenu-container div.topmenu-item, .topmenu-container div.topmenu-item, .topmenu-container.subline, .topmenu-container.column {
  box-shadow: 1px 1px 8px rgba(255, 255, 255, .5), -1px 1px 8px rgba(255, 255, 255, .5), 1px -1px 8px rgba(255, 255, 255, .5), -1px -1px 8px rgba(255, 255, 255, .5);
}*/
.topmenu-container div.topmenu-item, .topmenu-container div.topmenu-item, .topmenu-container.subline {
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
}
.topmenu-container.column {
	width: 200px;
	height: 180px;
	display: block;
	border-radius: 10px;
}
.topmenu-container.column a {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	border: none;
	font-size: 1.1em;
	background-position-y: 200px;
	padding: 0;
	display: block;
	background-color: #336699;
	/* width: 200px; */
	/* height: 200px; */
	position: relative;
	height: 100%;
	border-radius: 10px;
}
.topmenu-container.column h3 {
  padding: 50px 5px 0 5px;
  font-size: calc(1rem + .2vw);
  font-weight: 700;
  line-height: 1.3;
  color: #ffffff;
  margin: 0;
  min-height: inherit;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  border: none;
}
.topmenu-container.column h3::before {
  content: "";
  background-image: url("../column/img/icon-idea900x900-wht_tr.png");
  width: 60px;
  height: 60px;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 40px;
  left: calc(50% - 30px);
}
.viewmax {
	max-width: 1400px;
	margin: 0 auto;
	margin-top: 10px;
}
.viewmax h3 {
  text-align: left;
}
.kanren-wrap {
  padding: 0 0 0 0;
  width: 93%;
}
.topmenu-container a:visited {
  color: #282828;
}
header.mega_menu.transform .menu-container {
  box-shadow: 0 5px 5px 0 rgba(0, 0, 0, .05);
}
@media screen and (min-width: 681px) and (max-width: 999px) {
.topmenu-container.jigyou div.topmenu-item {
	margin: 0 auto;
	width: 80% !important;
	min-height: inherit;
}
}
@media screen and (min-width: 681px) and (max-width: 960px) {
  .topmenu-container ul.kw_wrap {
    top: 230px;
  }
  .topmenu-container.gyoushu a {
    min-height: 80px;
  }
}
.f_smallline {
  font-size: calc(.7rem + .2vw);
  line-height: 1.2;
  display: inline-block;
  margin-bottom: 5px;
}
@media screen and (min-width: 681px) and (max-width: 999px) {
.topmenu-container.jigyou {
	flex-direction: column;
}
}
@media screen and (max-width: 680px) {
  .topmenu-container.jigyou {
	display: block;
	width: 96%;
  }
  .topmenu-container.jigyou div.topmenu-item {
    width: 100% !important;
    margin-bottom: 30px;
  }
  .topmenu-container.jigyou div.topmenu-item {
    min-height: 320px;
  }
  .topmenu-container ul.kw_wrap {
    top: 160px;
  }
  .gyoushu_ul {
    display: block;
  }
  .gyoushu_li {
    width: 80%;
    margin: 0 auto 15px;
  }
  .f_smallline {
    display: none;
  }
  #contents .topmenu-container.ec h2, #contents .topmenu-container.gyoushu h2 {
    padding: 0;
  }
  .gyoushu_li:first-child {
    width: 100%;
  }
  .topmenu-container.subline:first-child::before {
    content: unset;
  }
  #contents .topmenu-container.gyoushu h2::before {
    content: "CRMプラットフォームフォーム事業";
    width: max-content;
    display: block;
  }
  .topmenu-container.gyoushu a {
    font-size: 1.3em;
    min-height: 80px;
  }
  .topmenu-container.ec ul.ec_ul {
    display: block;
  }
  .ec_li {
    width: 80%;
    margin: 0 auto 15px;
  }
  .ec_li.shopify, .ec_li.magento {
    width: 80%;
  }
  .ec_li:first-child {
    width: 100%;
  }
  .viewmax {
    display: block;
  }
  .topmenu-container.news {
    width: 100%;
    margin-bottom: 20px;
  }
  .topmenu-container.column {
    margin: 0px auto 30px;
  }
  .topmenu-container.news .topic_link .arrow-button {
    right: 0;
    position: absolute;
    background-color: #ffffff;
  }
}
.topmenu-container.subline a:hover {
  opacity: .8;
  transition: none;
  background-color: rgba(254, 249, 228, 0.6);
}
.topmenu-container.news a:hover {
  transition: none;
  background-color: rgba(254, 249, 228, 0.6);
  color: #336699;
}
.topmenu-container.column a:hover {
  opacity: .8;
}
.topmenu-container.jigyou div.topmenu-item a {
	display: block;
	padding-top: 30px;
	height: 100%;
}
#site_top #contents {
	min-height: inherit ;
}
.topmenu-container.news .rss {
	position: absolute;
	top: 7px;
	left: 6em;
}
#site_top #contents .news h3, #site_top #contents .topic-wrap h3 {
    font-weight: normal;
    border: none;
    padding: 0;
    font-size: 1.1rem;
}
.carousel-track li:hover {
	opacity: .8;
}
.carousel-track li a {
	min-height: 100px;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	position: relative;
	z-index: 1;
}
#contents .carousel-track li h4 {
	font-family: 'BIZ UDPGothic', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Meiryo, "メイリオ", "ＭＳ Ｐゴシック", sans-serif !important;
	font-weight: bold;
	margin: 0;
	/*font-size: clamp(16px, 1.6vw, 18px);*/
	font-size: clamp(15px, 1vw, 18px);
	padding: 5px 3%;
	display: inline-block;
	border-radius: 5px 0 0 0;
}
#contents .carousel-track li h4 em {
	display: inline-block;
}
.carousel-track li.poitomo {
}
.carousel-track li.poitomo::before {
	content: "";
	background-image: url("../service/poitomo/img/imagebg_poitomo.jpg");
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: 0;
	background-size: 140%;
	background-position: 30% 20%;
	opacity: .7;
}
.carousel-track li.poitomo:hover:before {
    background-size: 135%;
}
@media screen and (max-width: 680px) {
.carousel-track li.poitomo::before {
	background-size: 220%;
	background-position: 46% 10%;
}
}
.carousel-track li p {
	text-align: left;
	padding: 10px;
	text-shadow: 1px 1px 0 #fff, -1px 1px 0 #fff, 1px -1px 0 #fff, -1px -1px 0 #fff, 1px 0px 0 #fff, -1px 0px 0 #fff, 0px 1px 0 #fff, 0px -1px 0 #fff;
	font-size: 1.16em;
	line-height: 1.3;
	margin: 0;
	max-height: 72px;
	/* font-weight: bold; */
	font-family: var(--font-biz);
}
@media screen and (max-width: 680px) {
.carousel-track li p {
	font-size: 1em;
}
}
.carousel-track li.poitomo a {
}
.carousel-track li.poitomo div {
}
.carousel-track li.poitomo h4 {
	background-color: #4a888a;
	color: #ffffff;
}
.carousel-track li.p_gift {
}
.carousel-track li.p_gift::before {
	content: "";
	background-image: url("../img/pickupimage_point-gift.jpg");
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: 0;
	background-position: right 0;
	background-repeat: no-repeat;
}
.carousel-track li.p_gift div {
	width: 100%;
}
.carousel-track li.p_gift h4 {
    background-color: #224495;
    color: #ffffff;
}
.carousel-track li.ec_shopify {
}
.carousel-track li.ec_shopify::before {
	content: "";
	background: linear-gradient(to right bottom, #194375, #000);
	/*background-image: url("../service/ec/img/shopify_bg.png");*/
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: 0;
	background-size: 140%;
	background-position: 40% 20%;
}
.carousel-track li.ec_shopify div {
}
.carousel-track li.ec_shopify h4 {
	background-color: #050d17;
	color: #ffffff;
}
.carousel-track li.ec_shopify p {
	color: #ffffff;
	text-shadow: none;
}
.carousel-track li.start-point {
}
.carousel-track li.start-point::before {
    content: "";
    background-image: url("../img/pickupimage_start-pointsystem.jpg");
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 0;
    background-position: center;
    opacity: 1;
    background-repeat: no-repeat;
}
.carousel-track li.start-point div {
	width: 100%;
}
.carousel-track li.start-point h4 {
    background-color: #161122;
    color: #ffffff;
}
.carousel-track li.start-point p {
	text-shadow: 1px 1px 0 #fff, -1px 1px 0 #fff, 1px -1px 0 #fff, -1px -1px 0 #fff, 1px 0px 0 #fff, -1px 0px 0 #fff, 0px 1px 5px #fff, 0px -1px 5px #fff;
	color: #000000;
}
.carousel-track li.event_management {
}
.carousel-track li.event_management::before {
	content: "";
	background-image: url("../img/pickupimage_event_management.jpg");
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: 0;
	opacity: 1;
	background-repeat: no-repeat;
    background-position: center;
}
.carousel-track li.event_management div {
	width: 100%;
}
.carousel-track li.event_management h4 {
    background-color: #af5055;
    color: #ffffff;
}
.carousel-track li.event_management p {
    color: #ffffff;
    text-shadow: 1px 1px 0 #333, -1px 1px 0 #333, 1px -1px 0 #333, -1px -1px 0 #333, 1px 0px 0 #333, -1px 0px 0 #333, 0px 1px 0 #333, 0px -1px 0 #333;
}
.carousel-track li.pointsystem {
}
.carousel-track li.pointsystem::before {
    content: "";
    background-image: url("../img/pickupimage_pointsystem.jpg");
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 0;
    background-position: right;
    opacity: 1;
    background-repeat: no-repeat;
}
.carousel-track li.pointsystem div {
	width: 100%;
}
.carousel-track li.pointsystem h4 {
    background-color: #161122;
    color: #ffffff;
}

.carousel-track li::before {
	transition: .3s;
	border-radius: 5px;
    background-size: 410px;
}
.carousel-track li:hover:before {
    background-size: 400px;
}
@media screen and (max-width: 680px) {
.carousel-track li::before {
	background-size: cover !important;
	/*height: 160px !important;*/
	/*max-width: 400px;*/
}
}
.carousel-track li.ec_shopify:hover::before {
	background-size: 160%;
}
.cpss_logo {
	position: absolute;
	width: 70px;
	height: 70px;
	bottom: 5px;
	left: 10px;
}
@media screen and (max-width: 680px) {
.cpss_logo {
	position: relative;
	top: 0;
	right: 0;
}
}
.topmenu-container ul.kw_wrap.checkbox-list li {
	position: relative;
}
.checkbox-list li::before {
	content: "";
	position: absolute;
	left: 4px;
	top: 0px;
	width: 24px;
	height: 24px;
	border: 2px solid #2563eb;
	border-radius: 4px;
	background-color: #eff6ff;
	box-sizing: border-box;
}
.checkbox-list li:not(.kw)::after {
	content: "";
	position: absolute;
	left: 12px;
	top: 4px;
	width: 7px;
	height: 12px;
	border: solid #2563eb;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}
.checkbox-list li:last-child::before, .checkbox-list li:last-child::after {
	display: none;
}
.checkbox-list li.kw::after {
	content: "※";
	color: #3e3e3e;
	margin-left: 4px;
	display: inline-block;
	position: absolute;
	left: 8px;
	top: 0px;
}
.sh {
	padding: 0 5px;
}
.topmenu-container .grd {
	background-image: linear-gradient(180deg, #f9f9f9 0%, #ffffff 50%, #ffffff 100%);
	padding-top: 10px;
	border-radius: 0 0 0 10px;
}
.topmenu-container .grd ul.kw_wrap li {
	background-color: transparent;
}
.topmenu-container .crm .grd ul.kw_wrap {
	min-height: 150px;
}
.pcidss_logo {
	position: absolute;
	left: 5px;
	bottom: 0;
	border-radius: 5px;
}
.field {
	position: absolute;
	top: 10px;
	right: 9px;
	z-index: 5;
	font-family: var(--font-biz);
	color: #ffffff;
	text-shadow: 1px 1px 0 rgba(0,0,0,.1), -1px 1px 0 rgba(0,0,0,.1), 1px -1px 0 rgba(0,0,0,.1), -1px -1px 0 rgba(0,0,0,.1), 1px 0px 0 rgba(0,0,0,.1), -1px 0px 0 rgba(0,0,0,.1), 0px 1px 8px rgba(0,0,0,.5), 0px -1px 8px rgba(0,0,0,.5);
	font-weight: bold;
	font-size: 1.1em;
}
@media screen and (max-width: 680px) {
    .field {
        top: 5px;
    }
}
.carousel-track li div.movmark {
	width: 30px;
}
.carousel-track li div.movmark::after {
	display: none;
}

/* ==========================================
   カルーセル基本設定・変数
========================================== */
:root {
    --gap: 16px;            /* カード間の余白 */
    --visible-items: 3;    /* 表示枚数 (PC初期値) */
    --peek-size: 80px;     /* 左右チラ見せ幅 (PC初期値) */
	--max-width: 1380px;  /* 1380pxを変数化 */
}
@media screen and (min-width: 1000px) {
    :root {
        --visible-items: 3;
        --peek-size: 80px;
    }
}
@media screen and (min-width: 681px) and (max-width: 999px) {
    :root {
        --visible-items: 2;
        --peek-size: 70px;
    }
}
@media screen and (max-width: 680px) {
    :root {
        --visible-items: 1;
        --peek-size: 40px;
    }
}

.carousel-wrapper {
    position: relative;
    width: 100%;
	max-width: var(--max-width);
    margin: 0 auto;
    margin-bottom: 10px;
    box-sizing: border-box;
    user-select: none;
    -webkit-user-select: none;
}
/* 静止した親コンテナ（画面上で動かず常にタッチを検知） */
.carousel-container {
    width: 100%;
	overflow: visible;
    padding-left: var(--peek-size);
    padding-right: var(--peek-size);
    box-sizing: border-box;
    touch-action: pan-y; /* 縦スクロールをブラウザに許可 */
    background-color: rgb(227, 233, 242);
    mask-image: linear-gradient(to right, transparent 0px, black 50px, black calc(100% - 50px), transparent 100%);
}
/* トラック本体 */
.carousel-track {
    display: flex;
    gap: var(--gap);
    margin: 0;
    padding: 10px 0;
    list-style: none;
    width: 100%; /* 【重要】子要素全員分の横幅を確保し、画面外への消失を防ぐ */
    transition: transform 0.4s ease-out;
    will-change: transform;
    cursor: grab;
	position: relative;
}
.carousel-track.is-dragging {
    cursor: grabbing;
    transition: none !important;
}
/* カード要素の幅設定 */
.carousel-track li {
    /* 親コンテナの表示幅（100vw相当）を基準に正確に算出 */
    width: calc((100% - (var(--gap) * (var(--visible-items) - 1))) / var(--visible-items)) !important;
    box-sizing: border-box;
    flex-shrink: 0;
    border-radius: 12px 12px 0 12px;
    background: transparent;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    transition: .1s;
	overflow: hidden;
	/* border: 2px solid #ffffff; */
}
.carousel-track li a {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    text-decoration: none;
    box-sizing: border-box;
    -webkit-user-drag: none; /* 【重要】iOS/Androidでのリンクドラッグ暴発を防止 */
    user-drag: none;
    position: relative;
    min-height: 130px;
    align-items: flex-start;
    z-index: 1;
}
@media screen and (max-width: 680px) {
    .carousel-track li a {
        min-height: 150px;
    }
}
/* ナビゲーション矢印ボタン */
.carousel-btn {
    position: absolute;
    top: 45%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 50%;
    cursor: pointer;
    z-index: 10;
    font-size: 18px;
    color: #4a5568;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
	transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
@media screen and (max-width: 680px) {
    .carousel-btn {
        display: none;
    }
}
.carousel-btn.prev {
    left: calc(var(--peek-size) / 2 - 30px);
}
.carousel-btn.next {
    right: calc(var(--peek-size) / 2 - 30px);
}
.carousel-btn:hover {
    background-color: #333;
    color: #fff;
    transform: translateY(-50%) scale(1.1);
}
/* ドットインジケーター */
.carousel-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 10px;
}
.carousel-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #cbd5e0;
    border: none;
    cursor: pointer;
    padding: 0;
    transition: all 0.3s ease;
}
.carousel-dot.active {
    background: #3182ce;
    width: 24px;
    border-radius: 5px;
}
