@charset "UTF-8";
/* CSS Document */


/* ////////////////////////////////////////////////////////////////////////////////

	Common

//////////////////////////////////////////////////////////////////////////////// */
@font-face {
	font-family: 'sns_ico';
	src:
		url('../fonts/sns_ico.ttf?sij4de') format('truetype'),
		url('../fonts/sns_ico.woff?sij4de') format('woff'),
		url('../fonts/sns_ico.svg?sij4de#sns_ico') format('svg');
	font-weight: normal;
	font-style: normal;
}

i.snsIcon {
	font-family: 'sns_ico' !important;
	speak: never;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;

	-moz-osx-font-smoothing: grayscale;
	color: #000;
}

.icon-ap:before { content: "\e900";}
.icon-blo:before { content: "\e901";}
.icon-fb:before { content: "\e902";}
.icon-hp:before { content: "\e903";}
.icon-in:before { content: "\e904";}
.icon-line:before { content: "\e905";}
.icon-spo:before { content: "\e906";}
.icon-tt:before { content: "\e907";}
.icon-tw:before { content: "\e908";}
.icon-yt:before { content: "\e909";}
.icon-x:before { content: "\e90a";}
.icon-wb:before { content: "\e90b";}


html {
	scroll-behavior: smooth;
  overflow-x: hidden;
}
body {
  font-family: "IBM Plex Sans JP", sans-serif;
	font-size: min(3.2vw, 14px);
	line-height: 1.8;
  letter-spacing: 0.05em;
	-webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  width: 100vw;
}

img {
	max-width: 100%;
	height: auto;
}
ul { list-style: none;}

.contentWrap {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 min(5vw, 60px);
}

a { color: #000;}

@media screen and (min-width: 821px) {

  body {
    overflow-x: hidden;
  }

	.sp { display: none !important;}

	a { transition: all 0.3s ease-out;}
	a:hover { opacity: 0.5;}

}
@media screen and (max-width: 820px) {

	.pc { display: none !important;}

}


/* ////////////////////////////////////////////////////////////////////////////////

	Header

//////////////////////////////////////////////////////////////////////////////// */

header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding: min(4vw, 20px) min(4vw, 30px);
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 1000;
  background-color: rgba(255,255,255,1.00);
  transition: background 0.3s ease-out;
  gap: min(4vw, 20px);
}
header.posTop,
header.menuOpen {
  background-color: rgba(255,255,255,0.00);
}
header .hdrLeft,
header .hdrRight {
  display: flex;
  align-items: center;
  gap: min(6vw, 30px);
}
header .hdrRight {
  gap: min(4vw, 25px);
}
header h1 {
  width: min(30vw, 180px);
  line-height: 0;
  position: relative;
}
header h1 img {
  transition: opacity 0.3s ease-out;
  opacity: 1;
}
header.menuOpen h1 img {
  opacity: 0;
}
header h1::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("../images/ftr_logo.svg") no-repeat center center;
  transition: opacity 0.3s ease-out;
  opacity: 0;
  pointer-events: none;
}
header.menuOpen h1::after {
  opacity: 1;
}

header .hdrTicker {
  width: 28vw;
  border: #000 solid 2px;
  border-radius: 6px;
  overflow: hidden;
  padding: min(1vw, 8px) 0 min(1vw, 6px);
  display: flex;
  transition: all 0.3s ease-out;
}
header.menuOpen .hdrTicker {
  border: #fff solid 2px;
}

header .hdrTicker > div {
  display: flex;
  animation: ticker 10s linear 0s infinite;
  will-change: transform,animation,position;
  width: fit-content;
  min-width: 200%;
}
header .hdrTicker p {
  white-space: nowrap;
  font-size: min(2.8vw, 12px);
  width: fit-content;
  padding: 0 min(3vw, 15px);
  flex: none;
  min-width: 50%;
}
@keyframes ticker {
  0% { transform: translateX(0);}
  100% { transform: translateX(-50%);}
}
header .hdrTicker p a {
  text-decoration: none;
}
header.menuOpen .hdrTicker p,
header.menuOpen .hdrTicker p a {
  color: #fff;
}


header .hdrCart {
  display: block;
  width: min(6.7vw, 31px);
  line-height: 0;
  position: relative;
}
header .hdrCart::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("../images/ico_cart_wh.svg") no-repeat center center;
  transition: opacity 0.3s ease-out;
  opacity: 0;
}
header .hdrSearchIco {
  display: block;
  width: min(6vw, 26px);
  line-height: 0;
  position: relative;
  transition: opacity 0.2s ease-out;
}
header .hdrSearchIco::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("../images/ico_search_wh.svg") no-repeat center center;
  transition: opacity 0.3s ease-out;
  opacity: 0;
}

header .hdrCal {
  display: block;
  width: min(6.2vw, 28px);
  line-height: 0;
  position: relative;
  transition: opacity 0.3s ease-out;
  align-self: stretch;
}

header .hdrCal .icoCal {
  cursor: pointer;
  position: relative;
  height: 100%;
}
header .hdrCal .icoCal::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("../images/ico_calendar_wh.svg") no-repeat center center;
  transition: opacity 0.3s ease-out;
  opacity: 0;
}
header .hdrCal .icoCal img {
  height: 100%;
  width: 100%;
  object-fit: contain;
}

header .hdrCal .event_ddmenu {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  background-color: #000;
  padding: min(1vw, 5px) min(3vw, 15px);
  border-radius: 6px;
  min-width: 120px;
  display: none;
  overflow: hidden;
}
header .hdrCal .event_ddmenu a {
  display: block;
  white-space: nowrap;
  color: #fff;
  text-decoration: none;
  line-height: 1.8;
  font-size: min(3vw, 12px);
  font-weight: bold;
  padding: min(1.5vw, 6px) 0;
}
header .hdrCal .event_ddmenu a + a {
  border-top: #555 solid 1px;
}

header .hdrShop {
  display: block;
  width: min(7.6vw, 35px);
  line-height: 0;
  position: relative;
  transition: opacity 0.3s ease-out;
}
header .hdrShop::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("../images/ico_shop_wh.svg") no-repeat center center;
  transition: opacity 0.3s ease-out;
  opacity: 0;
}

header .hdrCart img,
header .hdrSearchIco img,
header .hdrShop img,
header .hdrCal .icoCal img {
  transition: opacity 0.3s ease-out;
  opacity: 1;
}
header.menuOpen .hdrCart img,
header.menuOpen .hdrSearchIco img,
header.menuOpen .hdrShop img,
header.menuOpen .hdrCal .icoCal img {
  opacity: 0;
}

header.menuOpen .hdrCart::after,
header.menuOpen .hdrSearchIco::after,
header.menuOpen .hdrShop::after,
header.menuOpen .hdrCal .icoCal::after {
  opacity: 1;
}



header .hdrSearch input[type="text"] {
  background: #fff;
  width: min(24vw, 320px);
  border-radius: 100px;
  padding: min(1.2vw, 7px) min(4vw, 20px) min(1.2vw, 6px) min(10vw, 50px);
  font-size: 14px;
  font-weight: bold;
  color: #000;
  border: #000 solid 2px;
  display: block;
}


header .hdrSearch label {
  position: relative;
}
header .hdrSearch .searchSubmit {
  background: url(../images/ico_search.svg) no-repeat min(3vw, 15px) center;
  background-size: auto 50%;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  aspect-ratio: 1 / 1;
}


#menuButton {
  display: block;
  width: min(7vw, 35px);
  height: min(7vw, 35px);
  position: relative;
}
#menuButton span {
  display: block;
  background: #000;
  width: 100%;
  height: 1px;
  position: absolute;
  top: 50%;
  left: 0;
  transition: all 0.4s;
}
#menuButton.active span {
  background: #fff;
}
#menuButton span:nth-child(1) { transform: translateY(-600%) rotate(0deg);}
#menuButton span:nth-child(2) { transform: translateY(500%) rotate(0deg);}
#menuButton span:nth-child(3) { transform: translateY(-50%);}
#menuButton.active span:nth-child(1) { transform: translateY(-50%) rotate(45deg); }
#menuButton.active span:nth-child(2) { transform: translateY(-50%) rotate(-45deg);}
#menuButton.active span:nth-child(3) { opacity: 0;}


#globalNavi {
  position: fixed;
  top: 0;
  left: 0;
  background-color: #222;
  color: #fff;
  z-index: 999;
  width: 100%;
  padding: min(28vw, 140px) 0 min(6vw, 60px);
  display: none;
}
#globalNavi .contentWrap {
  max-width: 1300px;
  display: flex;
  justify-content: space-between;
}
#globalNavi .menuWrap {
  width: 69%;
}
#globalNavi a {
  color: #fff;
  text-decoration: none;
}

#globalNavi .meinNavi {
  display: flex;
  gap: 0 30px;
  margin-bottom: min(7vw, 40px);
}
#globalNavi .meinNavi > ul {
  width: calc((100% - 60px) / 3);
}
#globalNavi .meinNavi > ul li {
  border-bottom: #555 solid 1px;
}
#globalNavi .meinNavi > ul li a {
  display: block;
  font-size: min(3.6vw, 16px);
  font-weight: 900;
  line-height: 1.4;
  padding: min(3vw, 12px) 0;
}
#globalNavi .meinNavi > ul li a[target="_blank"]::after {
  content: "";
  display: inline-block;
  width: 0.5em;
  height: 0.5em;
  background: url("../images/ico_blank.svg") no-repeat center center;
  background-size: contain;
  vertical-align: middle;
  margin-left: 0.3em;
}

#globalNavi .menuBnr {
  line-height: 0;
  width: 26%;
}

#globalNavi .btmWrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 0 min(6vw, 30px);
  line-height: 1.6;
}
#globalNavi .btmWrap p {
  margin-bottom: min(3vw, 15px);
  font-size: min(3vw, 12px);
  white-space: nowrap;
}
#globalNavi .btmWrap .snsList {
  display: flex;
  gap: min(5vw, 25px);
}
#globalNavi .btmWrap .snsList li a i {
  color: #fff;
  font-size: min(5.8vw, 28px);
}

#globalNavi .btmWrap .subNavi {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: min(1vw, 5px) min(3.5vw, 20px);
}
#globalNavi .btmWrap .subNavi li a {
  font-size: min(3vw, 12px);
}

@media screen and (min-width: 821px) {

  header .hdrCal .icoCal:hover {
    opacity: 0.5;
    transition: opacity 0.3s ease-out;
  }

}
@media screen and (min-width: 1041px) {

  header .hdrSearchIco {
    display: none !important;
  }
  header .hdrSearch {
    display: block !important;
  }

}
@media screen and (max-width: 1040px) {

  header {
    position: sticky;
    top: 0;
    padding-top: min(4vw, 20px);
    font-size: min(2.8vw, 12px);
  }
  header.posTop {
    padding-bottom: 0;
  }
  header:has(.hdrTicker) {
    top: -3em;
    padding-top: calc(3em + min(4vw, 20px));
  }

	header .hdrSearch {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background-color: #222;
    width: 100vw;
    padding: min(2vw, 10px) min(4vw, 20px);
  }
  header .hdrSearch input[type="text"] {
    width: 100%;
    font-size: 16px;
  }

  header .hdrTicker {
    line-height: 1.6;
    padding: 0.7em 0 0.6em;
    border-radius: 0;
    border: none;

    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: min(2vw, 10px);
    width: 100%;
    border-top: #000 solid 1px;
    border-bottom: #000 solid 1px;
  }
  header.menuOpen .hdrTicker {
    border: none;
  }
  header .hdrTicker p {
    font-weight: bold;
    font-size: 1em;
  }

}

@media screen and (max-width: 820px) {

  header .hdrCal {
    padding: min(1vw, 5px) 0;
  }

  #globalNavi {
    overflow: auto;
    max-height: 100vh;
    max-height: 100svh;
  }
  #globalNavi .contentWrap {
    flex-direction: column;
    gap: min(10vw, 80px);
  }
  #globalNavi .menuWrap {
    width: 100%;
  }
  #globalNavi .meinNavi {
    flex-direction: column;
  }
  #globalNavi .meinNavi > ul {
    width: 100%;
  }

  #globalNavi .btmWrap {
    flex-direction: column-reverse;
    align-items: flex-start;
    gap: min(8vw, 30px);
  }
  #globalNavi .btmWrap .naviSns {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
  }
  #globalNavi .btmWrap p {
    margin-bottom: 0;
  }

  #globalNavi .btmWrap .subNavi {
    justify-content: flex-start;
  }
  #globalNavi .menuBnr {
    width: 70%;
    max-width: 400px;
    margin: 0 auto;
  }

}


/* ////////////////////////////////////////////////////////////////////////////////

	Footer

//////////////////////////////////////////////////////////////////////////////// */

footer {
  background-color: #222;
  color: #fff;
  overflow: hidden;
}
footer .ftrMain {
  display: flex;
  justify-content: space-between;
  max-width: 1180px;
  margin: 0 auto;
  padding: min(10vw, 80px) min(6vw, 60px);
}
footer .ftrMain .logoAndSns {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  width: 24%;
}
footer .ftrMain .logoAndSns .ftrLogo {
  width: 80%;
  line-height: 0;
  margin-bottom: min(6vw, 60px);
}
footer .ftrMain .logoAndSns .ftrSns p {
  text-align: center;
}
footer .ftrMain .logoAndSns .ftrSns .snsList {
  display: flex;
  justify-content: center;
  gap: min(7vw, 25px);
  margin-top: min(3vw, 10px);
}
footer .ftrMain .logoAndSns .ftrSns .snsList a {
  text-decoration: none;
}
footer .ftrMain .logoAndSns .ftrSns .snsList a i {
  color: #fff;
  font-size: min(7.4vw, 30px);
}

footer .ftrMain .ftrMenu {
  width: 72%;
  border-left: #555 solid 1px;
  padding-left: min(8vw, 50px);
}

footer .ftrMain .ftrMenu .ftrMenuMain {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  height: 7.4em;
  margin-bottom: min(6vw, 30px);
  gap: min(1vw, 5px) 0;
}
footer .ftrMain .ftrMenu .ftrMenuMain li {
  width: calc(100% / 3);
  line-height: 1.6;
}
footer .ftrMain .ftrMenu .ftrMenuMain a {
  color: #fff;
  text-decoration: none;
  font-size: min(3.4vw, 14px);
}
footer .ftrMain .ftrMenu .ftrMenuMain a[target="_blank"]::after {
  content: "";
  display: inline-block;
  width: 0.5em;
  height: 0.5em;
  background: url(../images/ico_blank.svg) no-repeat center center;
  background-size: contain;
  vertical-align: middle;
  margin-left: 0.3em;
}

footer .ftrMain .ftrMenu .ftrMenuSub {
  display: flex;
  gap: min(2vw, 5px) min(4vw, 20px);
  flex-wrap: wrap;
}
footer .ftrMain .ftrMenu .ftrMenuSub li a {
  color: #fff;
  text-decoration: none;
  font-size: min(3vw, 12px);
}
footer .ftrMain .ftrMenu .ftrMenuSub .recruitopen {
  font-size: min(3vw, 12px);
  padding-top: 3px;
  position: relative;
}
footer .ftrMain .ftrMenu .ftrMenuSub .recruit_ddmenu {
  display: none;
  margin-top: 0px;
  padding-bottom: 5px;
  margin-bottom: 0px;
  position: absolute;
  top: 110%;
  left: 50%;
  transform: translateX(-50%);
  background-color: #000;
  padding: min(1vw, 5px) min(3vw, 15px);
  border-radius: 6px;
  min-width: 120px;
  overflow: hidden;
  font-size: min(3vw, 12px);
}
footer .ftrMain .ftrMenu .ftrMenuSub .recruit_ddmenu a {
  display: block;
  white-space: nowrap;
  color: #fff;
  text-decoration: none;
  line-height: 1.8;
  font-size: min(3vw, 12px);
  font-weight: bold;
  padding: min(1.5vw, 6px) 0;
}
footer .ftrMain .ftrMenu .ftrMenuSub .recruit_ddmenu a + a {
  border-top: #555 solid 1px;
}


footer .ftrBottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: min(6vw, 30px) min(6vw, 60px);
  border-top: #555 solid 1px;
}
footer .ftrBottom .copyright {
  font-size: min(2.8vw, 10px);
}
footer .ftrBottom .toTop a {
  display: block;
  border: #fff solid 1px;
  color: #fff;
  text-decoration: none;
  text-align: center;
  padding: min(1vw, 5px) min(3vw, 15px) min(1vw, 5px) min(4vw, 20px);
  border-radius: 100px;
  font-size: min(3vw, 12px);
  font-feature-settings: "palt";
}

@media screen and (max-width: 820px) {

  footer .ftrMain {
    flex-direction: column;
    gap: min(8vw, 60px);
  }
	footer .ftrMain .logoAndSns {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
  }

  footer .ftrMain .logoAndSns .ftrLogo {
    width: 50%;
  }

  footer .ftrMain .ftrMenu {
    width: 100%;
    border-left: none;
    padding-left: 0;
    padding-top: min(6vw, 30px);
    border-top: #555 solid 1px;
  }

  footer .ftrMain .ftrMenu .ftrMenuMain {
    justify-content: space-between;
    flex-direction: row;
    flex-wrap: wrap;
    height: auto;
    gap: min(1.4vw, 5px) 0;
  }
  footer .ftrMain .ftrMenu .ftrMenuMain li {
    width: 48%;s
  }


  footer .ftrBottom {
    flex-direction: column-reverse;
    gap: min(6vw, 30px);
  }
}


/* ////////////////////////////////////////////////////////////////////////////////

	Index

//////////////////////////////////////////////////////////////////////////////// */
#mainVisual {
  background-color: #fef200;
  background-image: url("../images/mv_illust.png");
  background-repeat: no-repeat;
/*
  background-position: left bottom;
  background-size: 41vw;
*/
  background-position: -6% 480%;
  background-size: 44vw;
  width: 100vw;
  padding: 9vw 0 4vw;
  position: relative;
  transition: background-color .2s;
}

.typeDefault #mainVisual {
  background-image: url("../images/mv_illust.webp");
}
.type01 #mainVisual {
  background-image: url("../images/mv_illust01.webp");
  background-color: #e93a24;
}
.type02 #mainVisual {
  background-image: url("../images/mv_illust02.webp");
  background-position: -6% 400%;
  background-color: #f9daff;
}
.type03 #mainVisual {
  background-image: url("../images/mv_illust03.webp");
  background-color: #03ff00;
}
.type04 #mainVisual {
  background-image: url("../images/mv_illust04.webp");
  background-color: #7bebcd;
}
.type05 #mainVisual {
  background-image: url("../images/mv_illust05.webp");
  background-position: -6% 380%;
  background-color: #ff54ff;
}
.type06 #mainVisual {
  background-image: url("../images/mv_illust06.webp");
  background-position: -6% 420%;
  background-color: #00aa5f;
}
.type07 #mainVisual {
  background-image: url("../images/mv_illust07.webp");
  background-position: -6% 500%;
  background-color: #fff002;
}
.type08 #mainVisual {
  background-image: url("../images/mv_illust08.webp");
  background-position: -6% 460%;
  background-color: #5199b0;
}

#mainVisual .mvBnr {
  width: 65%;
  margin-left: 35%;
  transform: translateX(10px);
}
#mainVisual .mvBnr {
  opacity: 0;
  transition: opacity 0.6s ease 0.5s;
  height: 32vw;
  pointer-events: none;
}
#mainVisual .mvBnr.is-loaded {
  opacity: 1;
  height: auto;
  pointer-events: auto;
}
#mainVisual .mvBnr .slick-list li {
/*  padding: 0 0 0 min(4vw, 20px);*/
  padding: 0 min(2vw, 10px);
  overflow: hidden;
}
#mainVisual .mvBnr .slick-list li a {
  aspect-ratio: 1/1;
  line-height: 0;
  box-shadow: 0px 6px 8px 0px rgba(0, 0, 0, 0.2);
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  margin-bottom: 5px;
}
#mainVisual .mvBnr li .slick-list a img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}


#mainVisual .diagnosis {
  position: absolute;
  bottom: 30px;
  right: 0;
  z-index: 1;
}
#mainVisual .diagnosis a {
  display: block;
  background: #0fb65c url("../images/diagnosis_illust.png") no-repeat center bottom;
  background-size: 100%;
  padding: min(4vw, 20px) min(3.6vw, 19px) 130%;
  line-height: 0;
  width: min(11vw, 60px);
  border-top: #000 solid 2px;
  border-left: #000 solid 2px;
  border-bottom: #000 solid 2px;
  border-radius: 12px 0 0 12px;
  box-shadow: 0px 6px 8px 0px rgba(0, 0, 0, 0.2);
}
#mainVisual .diagnosis a img {
  width: 100%;
}

.emergency {
  position: absolute;
  background-color: rgba(255,255,255,0.9);
  border-radius: 6px;
  padding: min(4vw, 20px);
  width: 32%;
  bottom: 4%;
  left: 2%;
  backdrop-filter: blur(5px);
  z-index: 5;
  border: #000 solid 2px;
  box-shadow: 0px 6px 10px 0px rgba(0, 0, 0, 0.3);
}
.emergency .date {
  font-family: "Roboto", sans-serif;
  font-weight: 900;
  font-size: min(3.2vw, 14px);
  margin-bottom: min(1vw, 5px);
}
.emergency .title a {
  color: #000;
  font-weight: bold;
  text-decoration: none;
}

.emergency .close {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 40px;
  aspect-ratio: 1/1;
  background-color: #000;
  border-radius: 50%;
  transform: translate(30%, -30%);
  cursor: pointer;
}
.emergency .close::before,
.emergency .close::after {
  content: "";
  display: block;
  width: 50%;
  height: 2px;
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
}
.emergency .close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.emergency .close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.topSlide {
  padding: min(8vw, 60px) 0;
}

.topSlide li {
  line-height: 0;
  padding: 0 min(2vw, 12px);
}
.topSlide li a {
  display: block;
  width: 100%;
  aspect-ratio: 10 / 5.7;
  box-shadow: 0px 6px 8px 0px rgba(0, 0, 0, 0.2);
  overflow: hidden;
}
.topSlide li a img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.indexSection {
  padding-bottom: min(10vw, 80px);
}
.indexSection .sectionTitle {
  margin-bottom: min(8vw, 60px);
}

.indexSection h2 {
  font-family: "Roboto", sans-serif;
  font-weight: 900;
  font-size: min(4.2vw, 24px);
  padding: min(4vw, 30px) min(14vw, 80px) 0 min(5vw, 40px);
  border-radius: 0 100px 0 0;
  width: fit-content;
  position: relative;
  z-index: 1;
  line-height: 1.2;
}

.indexSection h2 span {
  font-family: "IBM Plex Sans JP", sans-serif;
  font-size: 0.6em;
  margin-left: min(2vw, 10px);
}


#topTopics .sectionTitle {
  border-bottom: #000 solid 1px;
}
#topTopics h2 {
  border-top: #000 solid 1px;
  border-right: #000 solid 1px;
  background-color: #fff;
  margin-bottom: -1px;
}
#topTopics .moreBtn{
  margin-top: min(4vw, 20px);
}
.topicsTab {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: min(8vw, 60px);
  gap: min(1.2vw, 10px);
}
.topicsTab li {
  width: min(20vw, 160px);
}
.topicsTab li a {
  padding: min(1.2vw, 8px) min(1vw, 5px) min(1vw, 7px);
  border: #000 solid 2px;
  text-decoration: none;
  border-radius: 6px;
  display: block;
  font-weight: 600;
  text-align: center;
  font-size: min(2.8vw, 13px);
  line-height: 1.4;
}
.topicsTab li a.current {
  background-color: #000;
  color: #fff;
}

.topTopicsList {
  display: none;
}
#topicsAll {
  display: block;
}
.topTopicsList .topicsItem {
  position: relative;
  width: calc((100% - 40px) / 3);
  margin-bottom: min(9vw, 50px);
  padding: min(1vw, 10px);
  line-height: 0;
}
.topTopicsList .topicsItem:last-child {
  margin-bottom: 0;
}

.topTopicsList .topicsItem .catTag {
  position: absolute;
  top: 0;
  left: 0;
  width: 32%;
  aspect-ratio: 1/1;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "Roboto", sans-serif;
  font-weight: 800;
  font-size: min(1.4vw, 12px);
  letter-spacing: 0;
  text-align: center;
  line-height: 1.2;
  z-index: 1;
  transform: translate(-15%, -25%);
  clip-path: polygon(46% 0%, 58% 18%, 77% 6%, 75% 28%, 97% 30%, 82% 48%, 100% 62%, 79% 67%, 84% 89%, 63% 81%, 55% 100%, 43% 83%, 23% 95%, 25% 72%, 2% 71%, 17% 53%, 0 39%, 21% 34%, 16% 11%, 37% 19%);
}
.topTopicsList .topicsItem .cat01 { background: #ea5220;}
.topTopicsList .topicsItem .cat02 { background: #f6b02e;}
.topTopicsList .topicsItem .cat03 { background: #0fb65c;}
.topTopicsList .topicsItem .cat04 { background: #36bce5;}
.topTopicsList .topicsItem .cat05 { background: #286ec4;}
.topTopicsList .topicsItem .cat06 { background: #482f89;}
.topTopicsList .topicsItem .cat07 { background: #ff6599;}

.topTopicsList .topicsItem .catTag::before {
  white-space: pre;
  display: block;
}
.topTopicsList .topicsItem .cat01::before { content: "CAMPAIGN";}
.topTopicsList .topicsItem .cat02::before { content: "INSOTRE\A EVENT";}
.topTopicsList .topicsItem .cat03::before { content: "POPUP";}
.topTopicsList .topicsItem .cat04::before { content: "BOOK";}
.topTopicsList .topicsItem .cat05::before { content: "GOODS";}
.topTopicsList .topicsItem .cat06::before { content: "MUSIC";}
.topTopicsList .topicsItem .cat07::before { content: "ONLINE";}

#topSelect {
  background: #222;
  color: #fff;
  position: relative;
}
#topSelect .sectionTitle {
  background-color: #fff;
  mix-blend-mode: color-dodge;
}
#topSelect h2 {
  background-color: #000;
}

.cardWrap {
  width: 100%;
  aspect-ratio: 10/4.2;
  position: relative;
}
.cardWrap .selectCard {
  width: 22.3%;
  aspect-ratio: 10 / 6.5;
  position: absolute;
}

.cardWrap .selectCard:nth-child(1) {
  top: 15.6%;
  left: 54.3%;
  transform: rotate(15deg) scale(1.41);
  z-index: 7;
}
.cardWrap .selectCard:nth-child(2) {
  top: 47%;
  left: 24.9%;
  transform: rotate(-15deg) scale(1.41);
  z-index: 6;
}
.cardWrap .selectCard:nth-child(3) {
  top: 11%;
  left: 15%;
  transform: rotate(2deg);
  z-index: 2
}
.cardWrap .selectCard:nth-child(4) {
  top: 60%;
  left: 56%;
  transform: rotate(30deg);
  z-index: 3;
}

.cardWrap .selectCard a {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: 100%;
  height: 100%;
  font-size: min(1.7vw, 22px);
  text-decoration: none;
  font-weight: bold;
  line-height: 1.4;
  position: relative;
  padding-bottom: 9%;
  background: #fff350;
  border: #000 solid 3px;
}
.cardWrap .selectCard:nth-child(1) a,
.cardWrap .selectCard:nth-child(2) a {
  font-size: min(1.6vw, 18px);
}
.cardWrap .selectCard a::before {
  content: "";
  display: block;
  background: url("../images/card_logo.svg") no-repeat center center;
  background-size: contain;
  width: 38%;
  aspect-ratio: 10/2.6;
  position: absolute;
  bottom: 6%;
  left: 4%;
  opacity: 0.4;
}

.cardWrap .selectCard a p {
  position: relative;
  z-index: 1;

  width: 11em;
  line-height: 1.5em;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  word-break: break-all;
}
.cardWrap .selectCard a span {
  background: linear-gradient(0deg, rgba(255,100,76, 1) 32%, rgba(255,100,76, 0) 32%);
  padding: 0 min(1vw, 5px);
}


.bgCard {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 0;
  width: 100%;
  height: 100%;
  opacity: 0.3;
  overflow: hidden;
  pointer-events: none;
  max-width: 1400px;
  transform: translateX(-50%);
}
.bgCard li {
  width: 16.3%;
  aspect-ratio: 10 / 6.5;
  position: absolute;
  background: #fff350;
  border: #000 solid 3px;
}
.bgCard li::before {
  content: "";
  display: block;
  background: url("../images/card_logo.svg") no-repeat center center;
  background-size: contain;
  width: 38%;
  aspect-ratio: 10/2.6;
  position: absolute;
  bottom: 6%;
  left: 4%;
  opacity: 0.4;
}

.bgCard li:nth-child(1) {
  top: 36.3%;
  left: 11.2%;
  transform: rotate(45deg);
}
.bgCard li:nth-child(2) {
  top: 59%;
  left: 11.7%;
  transform: rotate(15deg);
}
.bgCard li:nth-child(3) {
  top: 28%;
  left: 32.9%;
  transform: rotate(-30deg);
}
.bgCard li:nth-child(4) {
  top: 63.2%;
  left: 40.4%;
  transform: rotate(0deg);
}
.bgCard li:nth-child(5) {
  top: 29.8%;
  left: 66.7%;
  transform: rotate(-15deg);
}
.bgCard li:nth-child(6) {
  top: 46.3%;
  left: 72.4%;
  transform: rotate(45deg);
}
.bgCard li:nth-child(7) {
  top: 66%;
  left: 72%;
  transform: rotate(15deg);
}


#topSelect {
  padding-bottom: min(10vw, 80px);
}
#topSelect .seekbarWrap {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: min(4vw, 20px);
  margin-top: min(6vw, 30px);
}
#topSelect .seekbarWrap .seekbar {
	width: min(30vw, 160px);
	height: 1px;
	background-color: #fff;
	position: relative;
}
#topSelect .seekbarWrap .seekbar::before {
	content: "";
	display: block;
	width: 0%;
	height: 100%;
	background-color: #fff350;
	position: absolute;
	top: 0;
	left: 0;
}
#topSelect .slick-active .seekbarWrap .seekbar::before {
	animation: seek 5s linear 0s forwards;
}
@keyframes seek {
	0% { width: 0%;}
	100% { width: 100%;}
}

#topSelect .seekbarWrap .slideNum {
  font-size: min(3.4vw,16px);
}
#topSelect .seekbarWrap .cardPrev,
#topSelect .seekbarWrap .cardNext {
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(8vw, 40px);
  height: min(8vw, 40px);
  border: #fff solid 2px;
  border-radius: 6px;
  color: #fff;
  text-decoration: none;
  font-size: min(3.8vw, 16px);
  padding-top: 0.2em;
}
#topSelect .seekbarWrap .cardPrev::before { content: "←";}
#topSelect .seekbarWrap .cardNext::before { content: "→";}

#topSelect .moreBtn {
  position: relative;
  z-index: 1;
}
#topSelect .moreBtn a {
  border: #fff solid 2px;
  color: #fff;
}

#topGoods {
  padding-bottom: min(8vw, 60px);
  position: relative;
  background-color: #f4f4f4;
}
#topGoods .sectionTitle {
  background-color: #fff;
  border-bottom: #000 solid 1px;
}
#topGoods h2 {
  background-color: #f4f4f4;
  border-top: #000 solid 1px;
  border-right: #000 solid 1px;
  margin-bottom: -1px;
}

#topEvent {
  padding-bottom: min(8vw, 60px);
  position: relative;
}
#topEvent .sectionTitle {
  border-bottom: #000 solid 1px;
  background-color: #f4f4f4;
}
#topEvent h2 {
  background-color: #fff;
  border-top: #000 solid 1px;
  border-right: #000 solid 1px;
  margin-bottom: -1px;
}

#topOnline {
  padding-bottom: min(8vw, 60px);
  background-color: #f4f4f4;
}
#topOnline .sectionTitle {
  border-bottom: #000 solid 1px;
  background-color: #fff;
}
#topOnline h2 {
  margin-bottom: -1px;
  background-color: #f4f4f4;
  border-top: #000 solid 1px;
  border-right: #000 solid 1px;
}

#topPopupEvent {
  padding-bottom: min(8vw, 60px);
}
#topPopupEvent .sectionTitle {
  border-bottom: #000 solid 1px;
  background-color: #f4f4f4;
}
#topPopupEvent h2 {
  background-color: #fff;
  border-top: #000 solid 1px;
  border-right: #000 solid 1px;
  margin-bottom: -1px;
}

#topInfo {
  padding-bottom: min(8vw, 60px);
}
#topInfo .sectionTitle {
  border-bottom: #000 solid 1px;
  background-color: #f4f4f4;
}
#topInfo h2 {
  background-color: #fff;
  border-top: #000 solid 1px;
  border-right: #000 solid 1px;
  margin-bottom: -1px;
}

.eventList {
  display: flex;
  flex-wrap: wrap;
  gap: min(8vw, 40px) 4%;
}
.eventList li {
  width: calc(92% / 3);
  position: relative;
}
.eventList li.new::before {
  content: "";
  display: block;
  position: absolute;
  top: max(-25px, -4vw);
  right: max(-25px, -3vw);
  width: min(10vw, 65px);
  height: min(10vw, 65px);
  background: url("../images/ico_new.png") no-repeat center center;
  background-size: contain;
  pointer-events: none;
  z-index: 1;
}
.eventList li .date {
  position: absolute;
  top: 0;
  left: 0;
  transform-origin: top right;
  transform: translateX(-100%) rotate(-90deg);
  font-family: "Roboto", sans-serif;
  font-weight: 900;
  font-size: min(3.4vw, 16px);
  line-height: 1;
}
.eventList li .thumb {
  width: calc(100% - 2em);
  margin-left: auto;
  margin-bottom: min(3vw, 15px);
  line-height: 0;
  aspect-ratio: 1 / 0.88;
  border-radius: 6px;
  overflow: hidden;
}

.eventList li .thumb a {
  display: block;
  width: 100%;
  height: 100%;
}
.eventList li .thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}


.eventList li .title {
  line-height: 1.6;
  font-size: min(3vw, 14px);
  font-weight: bold;
}
.eventList li .title a {
  text-decoration: none;
}

.eventList li .eventTag {
  margin-top: min(3vw, 15px);
  display: flex;
  gap: min(1vw, 8px) min(1vw, 6px);
}
.eventList li .eventTag a {
  display: block;
  text-decoration: none;
  border: #000 solid 1.5px;
  border-radius: 100px;
  font-size: min(2.6vw, 12px);
  font-weight: bold;
  padding: 1px min(2.2vw, 12px) 0;
  background-color: #f2f2f2;
  letter-spacing: 0;
}

.newsList li {
  display: flex;
  justify-content: space-between;
  padding: min(3vw, 15px) 0;
  border-bottom: #ccc solid 1px;
}
.newsList li .date {
  font-family: "Roboto", sans-serif;
  font-weight: 900;
  font-size: min(3.4vw, 16px);
  line-height: 1.6;
  width: 120px;
}
.newsList li .title {
  width: calc(100% - 140px);
}

.shopTopicsWrap {
  display: none;
}
#topicsCat01.shopTopicsWrap {
  display: block;
}

.btnWrap {
  display: flex;
  justify-content: flex-end;
  gap: min(2.5vw, 30px);
  margin-top: min(8vw, 60px);
}

.moreBtn {
  width: fit-content;
  margin-left: auto;
  margin-top: min(8vw, 60px);
}
.btnWrap .moreBtn {
  margin: 0;
}
.moreBtn a {
  padding: min(2vw, 10px) min(3vw, 30px) min(1.6vw, 10px);
  border: #000 solid 2px;
  text-decoration: none;
  border-radius: 6px;
  display: block;
  font-weight: 600;
    letter-spacing: 0;
}

.calBtn {
  width: fit-content;
  margin-left: auto;
  margin-top: min(8vw, 60px);
}
.btnWrap .calBtn {
  margin: 0;
}
.calBtn a {
  padding: min(2vw, 10px) min(3vw, 20px) min(1.6vw, 10px);
  border: #000 solid 2px;
  text-decoration: none;
  border-radius: 6px;
  display: flex;
  align-items: center;
  gap: 0.8em;
  font-weight: 600;
  background-color: #fff350;
    letter-spacing: 0;
}
.calBtn a::before {
  content: "";
  display: block;
  background: url("../images/ico_calendar.svg") no-repeat center center;
  width: 1.6em;
  aspect-ratio: 1/1;
}

#topStaffRecommend {
  background-color: #f4f4f4;
}
#topStaffRecommend .sectionTitle {
  background-color: #222;
  border-bottom: #000 solid 1px;
}
#topStaffRecommend h2 {
  border-top: #000 solid 1px;
  border-right: #000 solid 1px;
  background-color: #f4f4f4;
  margin-bottom: -1px;
}

.staffRecommendWrap {
  width: 100%;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  padding: min(6vw, 30px) 0;
  gap: min(6vw, 50px);
}
.staffRecommendWrap > ul {
  width: fit-content;
  display: flex;
}

.staffRecommendWrap .staffRecommendList:nth-child(1),
.staffRecommendWrap .staffRecommendList:nth-child(3) {
  animation: srt_rtl 20s linear 0s infinite;
}
@keyframes srt_rtl {
  0% { transform: translateX(0);}
  100% { transform: translateX(-50%);}
}
.staffRecommendWrap .staffRecommendList:nth-child(2) {
  animation: srt_ltr 20s linear 0s infinite;
}
@keyframes srt_ltr {
  0% { transform: translateX(-50%);}
  100% { transform: translateX(0%);}
}

.staffRecommendWrap > ul li {
  display: flex;
  justify-content: space-between;
  background-color: #fff;
  width: 540px;
/*  border-radius: 0 100px 100px 0;*/
  padding-right: 80px;
/*  border: #000 solid 1px;*/
  position: relative;
  margin-right: 60px;
  box-shadow: 0px 5px 6px 0px rgba(0, 0, 0, 0.2);
}
.staffRecommendWrap > ul li::before {
  content: "";
  display: block;
  clip-path: polygon(0 15%, 100% 0, 100% 100%, 0 85%);
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  width: 4%;
  height: 100%;
  transform: translateX(-100%);
}
.staffRecommendWrap > ul li::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: -3%;
  transform: translateY(-50%);
  width: 2%;
  padding-top: 2%;
  border-radius: 50%;
  background-color: #f4f4f4;
  box-shadow: inset 0px 5px 6px 0px rgba(0, 0, 0, 0.2);
}
.staffRecommendWrap > ul li .thumb {
  line-height: 0;
  width: 120px;
  aspect-ratio: 1/1;
  border-right: #000 solid 1px;
}
.staffRecommendWrap > ul li .thumb a {
  display: block;
  width: 100%;
  height: 100%;
}
.staffRecommendWrap > ul li .thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.staffRecommendWrap > ul li .txt {
  width: calc(100% - 140px);
  padding: min(2vw, 10px) 0;
}
.staffRecommendWrap > ul li .txt .date {
  font-family: "Roboto", sans-serif;
  font-weight: 900;
  font-size: min(3vw, 12px);
}
.staffRecommendWrap > ul li .txt h3 {
  font-size: min(3vw, 12px);
  font-weight: bold;
}
.staffRecommendWrap > ul li .txt h3 a {
  text-decoration: none;
}

.staffRecommendWrap > ul li .srtTag {
  margin-top: min(1vw, 5px);
  display: flex;
  gap: min(3vw, 15px);
}
.staffRecommendWrap > ul li .srtTag a {
  display: block;
  text-decoration: none;
  border: #000 solid 1.5px;
  border-radius: 100px;
  font-size: min(2.6vw, 10px);
  font-weight: bold;
  padding: 1px min(2.2vw, 12px) 0;
  background-color: #f2f2f2;
}

.staffRecommendWrap > ul li .staffThumb {
  position: absolute;
  top: -20px;
  right: -10px;
  width: 70px;
  z-index: 1;

  line-height: 0;
  border-radius: 50% 50% 50% 0;
  overflow: hidden;
}
.staffRecommendWrap > ul li .staffThumb img {
  width: 100%;
  height: auto;
  clip-path: url(#staffClip);
}

#clipSvg {
  width: 0;
  height: 0;
  position: absolute;
}

.staffRecommendWrap > ul li .recoTag {
  font-family: "Roboto", sans-serif;
  font-weight: 900;
  position: absolute;
  top: 0;
  right: 0;
  background-color: #c7c6d1;
  font-size: min(2.8vw, 10px);
  padding: min(0.4vw, 2px) 70px min(0.4vw, 2px) min(4vw, 20px);
}
.staffRecommendWrap > ul li .recoTag::before {
  content: "";
  display: block;
  clip-path: polygon(0 0, 0% 100%, 100% 100%);
  background-color: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
  height: 100%;
  width: min(2vw, 10px);
}


@media screen and (min-width: 821px) {

  #mainVisual .mvBnr {
    overflow: hidden;
  }

  #mainVisual .mvBnr > div a:hover {
    opacity: 1;
  }
  #mainVisual .mvBnr > div a img {
    transition: transform 0.3s ease-out;
  }
  #mainVisual .mvBnr > div a:hover img {
    transform: scale(1.03);
  }

  .emergency .close {
    transition: all 0.3s ease-out;
  }
  .emergency .close:hover {
    transform: translate(30%, -30%) scale(1.1);
  }


  .topSlide li a:hover {
    opacity: 1;
  }
  .topSlide li a img {
    transition: transform 0.3s ease-out;
  }
  .topSlide li a:hover img {
    transform: scale(1.07);
  }


  .topicsTab li a:hover {
    opacity: 1;
    color: #fff;
    background-color: #000;
  }

  .cardWrap .selectCard a:hover {
    opacity: 1;
    transform: scale(1.1);
  }
  .eventList li .thumb a:hover {
    opacity: 1;
  }
  .eventList li .thumb a img {
    transition: transform 0.4s ease-out;
  }
  .eventList li .thumb a:hover img {
    transform: scale(1.07);
  }
  .moreBtn a:hover {
    opacity: 1;
    color: #fff;
    background-color: #000;
  }

  #topSelect .moreBtn a:hover {
    color: #000;
    background-color: #fff;
  }
}
@media screen and (max-width: 1040px) {

  #mainVisual {
    padding: 6vw 0;
  }
  #mainVisual::before {
    content: "";
    display: block;
    background-color: #fef200;
    position: absolute;
    top: -130px;
    left: 0;
    width: 100%;
    height: 150px;
    z-index: -1;
  }

  .type01 #mainVisual::before { background-color: #e93a24;}
  .type02 #mainVisual::before { background-color: #f9daff;}
  .type03 #mainVisual::before { background-color: #03ff00;}
  .type04 #mainVisual::before { background-color: #7bebcd;}
  .type05 #mainVisual::before { background-color: #ff54ff;}
  .type06 #mainVisual::before { background-color: #00aa5f;}
  .type07 #mainVisual::before { background-color: #fff002;}
  .type08 #mainVisual::before { background-color: #5199b0;}

}
@media screen and (min-width: 821px) {
  .topTopicsList {
    min-height: 300px;
  }
}
@media screen and (max-width: 820px) {

  #mainVisual {
    padding: 66vw 0 11vw;
    background: #fef200 url(../images/mv_illust.png) no-repeat center -5%;
    background-size: 110%;
    overflow: visible;
  }
  .type02 #mainVisual {
    background-position: center -5%;
  }

  .type05 #mainVisual {
    background-position: center -5%;
  }
  .type06 #mainVisual {
    background-position: center -5%;
  }
  .type07 #mainVisual {
    background-position: center -5%;
  }
  .type08 #mainVisual {
    background-position: center -5%;
  }

/*
  #mainVisual::before {
    content: "";
    display: block;
    background-color: #fef200;
    position: absolute;
    top: -130px;
    left: 0;
    width: 100%;
    height: 150px;
    z-index: -1;
  }
*/

  #mainVisual .mvBnr {
    width: 100%;
    margin: 0 auto;
/*    box-shadow: 0px 6px 8px 0px rgba(0, 0, 0, 0.2);*/
    line-height: 0;
    height: 68vw;
    transform: translateX(0px);
  }

  #mainVisual .mvBnr .slick-list li {
    padding: 0 min(3vw, 15px);
  }
  #mainVisual .mvBnr .slick-list li a {
/*    box-shadow: none;
    margin-bottom: 0;*/
    margin-bottom: 12px;
  }

  #mainVisual .diagnosis {
    top: 6%;
    bottom: auto;
  }
  #mainVisual .diagnosis a {
    border-radius: 10px 0 0 10px;
  }

  #mainVisual .slick-dots {
    bottom: -20px;
  }
  #mainVisual .slick-dots li button {
    background-color: #fff;
  }
  #mainVisual .slick-dots li.slick-active button {
    background-color: #000;
  }

  .emergency {
    position: fixed;
    width: 90%;
    bottom: 4%;
    left: 5%;
  }
  .emergency .close {
    width: 34px;
  }

  .cardWrap {
    aspect-ratio: 10/12;
  }
  .cardWrap .selectCard {
    width: 40%;
  }

  .cardWrap .selectCard:nth-child(1) {
    top: 26%;
    left: 47%;
    transform: rotate(5deg) scale(1.41);
  }
  .cardWrap .selectCard:nth-child(2) {
    top: 53%;
    left: 11%;
  }
  .cardWrap .selectCard:nth-child(3) {
    top: 15%;
    left: 1%;
    transform: rotate(-10deg);
  }
  .cardWrap .selectCard:nth-child(4) {
    top: 69%;
    left: 56%;
    transform: rotate(20deg);
  }

  .cardWrap .selectCard a {
    font-size: 3.6vw;
    border: #000 solid 2px;
  }
  .cardWrap .selectCard:nth-child(1) a,
  .cardWrap .selectCard:nth-child(2) a {
    font-size: 3vw;
  }


  .bgCard li {
    width: 34%;
  }
  .bgCard li:nth-child(1) {
    top: 17%;
    left: 18%;
    transform: rotate(29deg);
  }
  .bgCard li:nth-child(2) {
    top: 16%;
    left: 51.7%;
    transform: rotate(-9deg);
  }
  .bgCard li:nth-child(3) {
    top: 41%;
    left: 4%;
    transform: rotate(11deg);
  }
  .bgCard li:nth-child(4) {
    top: 46%;
    left: 47%;
    transform: rotate(-5deg);
  }
  .bgCard li:nth-child(5) {
    top: 59%;
    left: 64%;
    transform: rotate(-18deg);
  }
  .bgCard li:nth-child(6) {
    top: 70%;
    left: 6%;
    transform: rotate(5deg);
  }
  .bgCard li:nth-child(7) {
    top: 75%;
    left: 44%;
    transform: rotate(-7deg);
  }


  .indexSection h2 span {
    display: block;
    margin: min(1vw, 5px) 0 0 0;
  }



  .topicsTab {
    flex-wrap: wrap;
  }
  .topicsTab li {
    width: 48%;
  }
  .topicsTab li a {
    padding: min(2.2vw, 10px) min(1vw, 10px) min(2vw, 10px);
  }


  .topTopicsList .topicsItem {
    width: calc(50% - 10px);
  }
  .topTopicsList .topicsItem:first-child {
    width: 100%;
    padding: 0 10%;
    margin-bottom: min(10vw, 60px);
  }

  .topTopicsList .topicsItem .catTag {
    width: 40%;
    font-size: min(1.9vw, 12px);
    transform: translate(-15%, -40%);
  }
  .topTopicsList .topicsItem:first-child .catTag {
    width: 28%;
    transform: translate(-8%, -16%);
    font-size: min(2.8vw, 14px);
  }

  .eventList {
    justify-content: space-between;
  }
  .eventList li {
    width: 46%;
  }

  .newsList li .date {
    width: 24vw;
  }
  .newsList li .title {
    width: calc(100% - 25vw);
  }

  .staffRecommendWrap > ul li {
    width: 460px;
    margin-right: 50px;
    padding-right: 60px;
  }
  .staffRecommendWrap > ul li .staffThumb {
    top: -15px;
    right: -10px;
    width: 55px;
  }

  .staffRecommendWrap > ul li .recoTag {
    padding: min(0.4vw, 2px) 55px min(0.4vw, 2px) min(4vw, 20px);
  }
}



/* ////////////////////////////////////////////////////////////////////////////////

	診断

//////////////////////////////////////////////////////////////////////////////// */
#diagnosis {
  background-color: #0fb65c;
  padding: min(8vw, 60px) 0 min(14vw, 80px);
  min-height: 100vh;
}

.type01 #diagnosis { background-color: #e93a24;}
.type02 #diagnosis { background-color: #f9daff;}
.type03 #diagnosis { background-color: #03ff00;}
.type04 #diagnosis { background-color: #7bebcd;}
.type05 #diagnosis { background-color: #ff54ff;}
.type06 #diagnosis { background-color: #00aa5f;}
.type07 #diagnosis { background-color: #fff002;}
.type08 #diagnosis { background-color: #5199b0;}

.diagnosisHead {
  margin-bottom: min(10vw, 60px);
}
.diagnosisHead h2 {
  width: min(47vw, 340px);
  line-height: 0;
}

.diagnosIllust {
  text-align: center;
  height: min(45vw, 280px);
}
.diagnosIllust img {
  object-fit: contain;
  width: 100%;
  height: 100%;
}




#diagnosisOp .diagnosisHead h2 {
  margin: 0 auto;
  width: min(56vw, 380px);
}
#diagnosisOp .diagnosIllust {
  margin-bottom: min(6vw, 30px);
}
.diagnosisOpTxt {
  max-width: 600px;
  margin: 0 auto min(6vw, 30px);
  color: #fff;
}
.diagnosisOpTxt h3 {
  text-align: center;
  font-size: min(4.6vw, 24px);
  margin-bottom: min(6vw, 30px);
  line-height: 1.4;
}
.diagnosisOpTxt h3 span {
  font-size: 0.6em;
}
.diagnosisOpTxt p {
  font-size: min(3.2vw, 16px);
  font-weight: bold;
}

#diagnosisOp .backBtn a {
  border: #fff solid 2px;
  color: #fff;
  background-color: transparent;
  font-size: min(3.2vw, 14px);
}
#diagnosisOp .backBtn .btnStart {
  border: #fff solid 2px;
  color: #0fb65c;
  background-color: #fff;
  font-size: min(4.2vw, 18px);
  margin-bottom: min(4vw, 20px);
  padding: min(2vw, 10px) min(14vw, 80px) min(1.8vw, 8px);
}

.diagnosIllustSlide .diagnosIllust {
  height: min(56vw, 280px);
}

.diagnosIllustSlide ul {
  height: min(62vw, 310px);
  opacity: 0;
  transition: opacity 0.5s ease 0.3s;
}
.diagnosIllustSlide ul.is-loaded {
  height: auto;
  opacity: 1;
}

.questionwrap {
  display: none;
}

.questionwrap .questionInr {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
.questionwrap .questionInr .questionTxt {
  width: 40%;
}
.questionwrap .questionInr .questionOption {
  width: 55%;
}
.questionwrap .questionInr .diagnosDot {
  width: 100%;
}

.questionwrap h3 {
  color: #fff;
  text-align: center;
  letter-spacing: 0.1em;
  margin-bottom: min(2vw, 10px);
  font-size: min(3.2vw, 18px);
}
.questionwrap .qTtl {
  color: #fff;
  text-align: center;
  font-size: min(4.4vw, 24px);
  font-weight: bold;
  margin-bottom: min(5vw, 30px);
}

.questionwrap .optionsList {
  display: flex;
  flex-direction: column;
  gap: min(2vw, 10px) 0;
  margin: 0 auto;
}
.questionwrap .optionsList li {
  width: 100%;
}
.questionwrap .optionsList li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: #fff;
  border-radius: 14px;
  padding: min(2vw, 15px) min(4vw, 20px);
  color: #0fb65c;
  text-decoration: none;
  text-align: left;
  font-size: min(3.2vw, 16px);
  font-weight: bold;
  position: relative;
  height: 100%;
}
.questionwrap .optionsList li a p {
  width: 85%;
}
.questionwrap .optionsList li a p::before {
/*
  position: absolute;
  top: min(3vw, 20px);
  left: min(3vw, 20px);
*/
  color: #0fb65c;
  font-size: min(3.6vw, 18px);
  font-weight: bold;
  line-height: 1;
  margin-right: 0.5em;
}
.questionwrap .optionsList li:nth-child(1) a p::before { content: "A.";}
.questionwrap .optionsList li:nth-child(2) a p::before { content: "B.";}
.questionwrap .optionsList li:nth-child(3) a p::before { content: "C.";}
.questionwrap .optionsList li:nth-child(4) a p::before { content: "D.";}


.questionwrap .optionsList li .thumb {
  width: 10%;
  aspect-ratio: 1 / 1;
  line-height: 0;
  margin: 0;
}
.questionwrap .optionsList li .thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.questionwrap .diagnosDot {
  display: flex;
  justify-content: center;
  gap: min(1vw, 10px);
  margin-top: min(6vw, 30px);
}
.questionwrap .diagnosDot span {
  width: min(2vw, 10px);
  height: min(2vw, 10px);
  background-color: #fff;
  border-radius: 50%;
}
.questionwrap .diagnosDot span.current {
  background-color: #156a3c;
}


.resultWrap {
  display: none;
  text-align: center;
  color: #fff;
}
.resultWrap .diagnosisHead h2 {
  width: min(59vw, 430px);
}

.resultWrap .resultInr {
  display: flex;
  justify-content: space-between;
  margin-bottom: min(7vw, 40px);
}
/*
.resultWrap .resultInr {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: min(12vw, 80px);
}
*/
.resultWrap .resultTxt {
  width: 48%;
}
.resultWrap h3 {
  font-size: min(4.2vw, 24px);
  margin-bottom: min(2vw, 10px);
}
.resultWrap .typeResult {
  font-size: min(8.4vw, 48px);
  font-weight: 900;
  line-height: 1.2;
  margin-bottom: min(4vw, 15px);
}

.resultWrap .resultLead {
  font-weight: 600;
  font-size: min(3.8vw, 20px);
  line-height: 1.6;
  margin-bottom: min(5vw, 30px);
}

.resultWrap .resultDetail {
  width: 48%;
  font-size: min(3.6vw, 18px);
  font-weight: 600;
  background-color: #666;
  padding: min(6vw, 30px);
  border-radius: 10px;
  text-align: left;
  mix-blend-mode: luminosity;
}
.resultWrap .resultDetail p {
  margin-bottom: min(4vw, 20px);
}
.resultWrap .genre {
  display: flex;
  flex-wrap: wrap;
  gap: min(1.5vw, 10px);
  margin-top: min(6vw, 30px);
}
.resultWrap .genre span {
  display: block;
  text-decoration: none;
  border-radius: 100px;
  font-size: min(2.8vw, 14px);
  font-weight: bold;
  padding: 2px min(3vw, 20px) 1px;
  background-color: #fff;
  color: #000;
  border: #000 solid 1.5px;
  letter-spacing: 0;
}


.resultWrap .resultIllust {
  height: min(72vw, 360px);
}
.resultWrap .resultIllust img {
  object-fit: contain;
  width: 100%;
  height: 100%;
}

.resultWrap .backBtn .baloon {
  background-color: #fedc00;
  color: #000;
  border: #000 solid 2px;
  border-radius: 100px;
  padding: min(3vw, 10px) min(5vw, 30px);
  width: fit-content;
  margin: 0 auto min(6vw, 30px);
  position: relative;
  font-weight: 600;
  font-size: min(3.4vw, 18px);
}
.resultWrap .backBtn .baloon::before,
.resultWrap .backBtn .baloon::after {
  content: "";
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 10px solid transparent;
  border-left: 10px solid transparent;
  border-bottom: 0;
  transform: translateX(-50%);
}
.resultWrap .backBtn .baloon::before {
  top: 100%;
  left: 50%;
  border-top: 16px solid #000;
  z-index: 1;
}
.resultWrap .backBtn .baloon::after {
  top: calc(100% - 4px);
  left: 50%;
  border-top: 16px solid #fedc00;
  z-index: 2;
}
.resultWrap .backBtn a {
  border: #fff solid 2px;
  color: #fff;
  background-color: transparent;
}


#loadingScreen {
  display: none;
}
#loadingScreen .loadingScreenInr {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: min(3vw, 15px);
  height: 60vh;
}
#loadingScreen .diagnosIllust {
  height: min(50vw, 300px);
  margin-bottom: min(4vw, 20px);
}
#loadingScreen .loadingTxt {
  color: #fff;
  font-size: min(3.8vw, 18px);
  font-weight: bold;
}
#loadingScreen .loadingBar {
  width: min(70vw, 400px);
  height: min(4vw, 20px);
  background-color: #fff;
  border-radius: 100px;
  padding: 2px;
  overflow: hidden;
}
#loadingScreen .loadingBar span {
  display: block;
  width: 0%;
  height: 100%;
  background-image: repeating-linear-gradient(-45deg, #fedc00, #fedc00 5px, transparent 5px, transparent 9px);
  border-radius: 100px;
  transition: all 2.5s linear;
}
#loadingScreen.show .loadingBar span {
  width: 100%;
}



@media screen and (min-width: 821px) {

  #diagnosisOp .backBtn a:hover {
    opacity: 0.5;
  }

  .questionwrap .optionsList li a:hover {
    opacity: 1;
    background-color: #fedc00;
  }
  .resultWrap .backBtn a:hover {
    color: #000;
    background-color: rgba(255,255,255,1.00);
  }

}
@media screen and (max-width: 820px) {

  .questionwrap .questionInr {
    flex-direction: column;
    gap: min(8vw, 60px);
  }
  .questionwrap .questionInr .questionTxt,
  .questionwrap .questionInr .questionOption {
    width: 100%;
  }

  .questionwrap .optionsList li .thumb {
    width: 12%;
  }


  .resultWrap .diagnosisHead h2 {
    margin: 0 auto;
  }
  .resultWrap .resultInr {
    flex-direction: column;
    gap: min(2vw, 10px);
  }
  .resultWrap .resultTxt,
  .resultWrap .resultDetail {
    width: 100%;
  }

  .questionwrap .diagnosDot {
    margin-top: 0;
  }
}



/* ////////////////////////////////////////////////////////////////////////////////

	List

//////////////////////////////////////////////////////////////////////////////// */
main {
  margin-top: min(17vw, 100px);
}

.topicPath {
  padding: min(6vw, 30px) min(6vw, 60px);
  display: flex;
  flex-wrap: wrap;
  gap: min(1vw, 5px) min(1.6vw, 8px);
  margin-bottom: min(4vw, 20px);
  font-size: min(3vw, 12px);
}
.topicPath p + p::before {
  content: "/";
  margin-right: min(1.6vw, 8px);
}
.topicPath p a {
  text-decoration: none;
}

#search {
  background-color: #fff350;
  padding: min(3vw, 20px) 0 min(3vw, 20px);
}
#search input[type="text"] {
  background: #fff url("../images/ico_search.svg") no-repeat min(3vw, 15px) center;
  background-size: auto 50%;
  width: 100%;
  border-radius: 100px;
  padding: min(1.2vw, 6px) min(4vw, 20px) min(1.2vw, 6px) min(10vw, 50px);
  font-size: 16px;
  font-weight: bold;
  color: #000;
  border: #000 solid 2px;
  box-shadow: 2px 2px 0px 0px rgba(0, 0, 0, 1);
  margin-bottom: min(3vw, 20px);
  display: block;
}
#search input[type="text"]:focus {
  outline: none;
}

#search .searchBtnList {
  padding-bottom: min(4vw, 20px);
}
#search .searchBtnList > dt {
  font-size: min(3.2vw, 16px);
  font-family: "Roboto", sans-serif;
  font-weight: 900;
  padding-left: 2em;
  margin-bottom: min(1.5vw, 10px);
}
#search .searchBtnList > dt.searchTopics {
  background: url("../images/ico_search01.png") no-repeat left center;
  background-size: auto 80%;
}
#search .searchBtnList > dt.searchSelect {
  background: url("../images/ico_search02.png") no-repeat left center;
  background-size: auto 80%;
}
#search .searchBtnList > dt.searchStaff {
  background: url("../images/ico_search03.png") no-repeat left center;
  background-size: auto 80%;
}
#search .searchBtnList > dt.searchShop {
  background: url("../images/ico_search04.png") no-repeat left center;
  background-size: auto 80%;
}
#search .searchBtnList > dd + dt {
  margin-top: min(2vw, 10px);
}
#search .searchBtnList > dd {
  display: flex;
  flex-wrap: wrap;
  gap: min(1.2vw, 10px) min(2vw, 15px);
}
#search .searchBtnList > dd a {
  display: block;
  background-color: #fff;
  text-decoration: none;
  padding: min(1vw, 5px) min(3vw, 20px) min(1vw, 4px);
  border-radius: 6px;
  font-size: min(2.6vw, 12px);
  font-weight: bold;
  text-align: center;
  min-width: min(14vw, 150px);
}
#search .searchBtnList > dd a.current {
  background-color: #000;
  color: #fff;
}

.searchToggle a {
  display: flex;
  align-items: center;
  gap: min(2vw, 10px);
  width: fit-content;
  margin: 0 auto;
  text-align: center;
  text-decoration: none;
  font-size: min(3.2vw, 14px);
  font-weight: 600;
}
.searchToggle a::before {
  content: "";
  display: block;
  width: 0.7em;
  height: 0.7em;
  border-top: #000 solid 3px;
  border-right: #000 solid 3px;
  transform: translateY(20%) rotate(-45deg);
  transition: all 0.3s ease-out;
}
.searchToggle a.on::before {
  transform: translateY(-20%) rotate(135deg);
}

#listMain {
  padding-bottom: min(10vw, 80px);
}
#listMain.shopTopics {
  background-color: #f4f4f4;
  padding: min(10vw, 80px) 0;
}
#listMain h3 {
  font-size: min(4.6vw, 28px);
  font-weight: bold;
  line-height: 1.6;
  border-bottom: #000 solid 2px;
  margin-bottom: min(8vw, 60px);
  padding-bottom: min(3vw, 15px);
  display: flex;
  align-items: center;
}
#listMain h3 img {
  width: 1.2em;
  height: auto;
  margin-right: 0.4em;
  margin-bottom: 0.1em;
}

#listMain.shopTopics h3 {
  display: flex;
  align-items: center;
  gap: min(3vw, 15px);
}
#listMain.shopTopics h3::before {
  content: "";
  display: block;
  width: 1.2em;
  aspect-ratio: 1/1;
  background: url("../images/ico_shoptopics.png") no-repeat center center;
  background-size: contain;
}

.pager {
  display: flex;
  justify-content: center;
  gap: min(2vw, 10px);
  margin: min(8vw, 60px) 0;
}
.pager a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(9vw, 40px);
  height: min(9vw, 40px);
  border: #000 solid 2px;
  border-radius: 50%;
  text-decoration: none;
  text-align: center;
  font-size: min(3.2vw, 14px);
  font-weight: bold;
  line-height: 1;
}
.pager a.current {
  background-color: #000;
  color: #fff;
}
.pager span {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-size: min(3.6vw, 18px);
  font-weight: bold;
}

.backBtn a {
  display: block;
  border-radius: 6px;
  border: #000 solid 2px;
  text-align: center;
  width: fit-content;
  padding: min(2vw, 10px) min(7vw, 50px) min(1.8vw, 8px);
  margin: 0 auto;
  text-decoration: none;
  font-size: min(3.4vw, 16px);
  font-weight: bold;
  background-color: #fff;
}


#staffRecommend {
  background-color: #f4f4f4;
  padding: min(8vw, 60px) 0;
}
#staffRecommend h2 {
  font-family: "Roboto", sans-serif;
  font-weight: 900;
  font-size: min(4.2vw, 24px);
  padding: 0 min(5vw, 40px);
  position: relative;
  line-height: 1.2;
  margin-bottom: min(4vw, 20px);
}
#staffRecommend h2 span {
    font-family: "IBM Plex Sans JP", sans-serif;
    font-size: 0.6em;
    margin-left: min(2vw, 10px);
}



#shopRecommend {
  padding: min(10vw, 80px) 0;
}

#shopRecommend .shopRecommendList {
  margin-bottom: min(8vw, 60px);
}

#shopRecommend .shopRecommendList ul.few-slides .slick-track {
  display: flex !important;
  justify-content: center;
  transform: none !important;
}
#shopRecommend .shopRecommendList ul.few-slides .slick-slide {
  max-width: calc((100% - 120px) / 3);
}

#shopRecommend h3 {
  font-size: min(4.6vw, 28px);
  font-weight: bold;
  line-height: 1.6;
  margin-top: min(7vw, 40px);
  border-bottom: #000 solid 2px;
  margin-bottom: min(7vw, 40px);
  padding-bottom: min(3vw, 15px);
  display: flex;
  align-items: center;
  gap: min(3vw, 15px);
}
#shopRecommend h3:first-child {
  margin-top: 0;
}

#shopRecommend h3::before {
  content: "";
  display: block;
  width: 1.2em;
  aspect-ratio: 1/1;
  background: url("../images/ico_shoprecommend.png") no-repeat center center;
  background-size: contain;
}
#shopRecommend .shopRecruit h3::before {
  background: url("../images/ico_shoprecruit.png") no-repeat center center;
  background-size: contain;
}
#shopRecommend .shopRecommendList li {
  padding: 0 min(2vw, 10px);
}
#shopRecommend .shopRecommendList li .shopRecommendBox {
  border: #000 solid 2px;
  border-radius: 10px;
  overflow: hidden;
}
#shopRecommend .shopRecommendList li .shopRecommendBox .img {
  line-height: 0;
}
#shopRecommend .shopRecommendList li .shopRecommendBox .txt {
  padding: min(4vw, 20px);
}
#shopRecommend .shopRecommendList li .shopRecommendBox .txt p {
  font-size: min(3vw, 12px);
}

#shopRecommend .shopRecommendList .slick-slide:nth-child(even) {
  margin-top: min(6vw, 40px);
}

#shopRecommend .shopOther {
  display: flex;
  justify-content: space-between;
  margin-bottom: min(8vw, 60px);
}
#shopRecommend .shopOther > div {
  width: 48%;
}


#shopRecommend .shopRecruit p {
  margin-bottom: min(6vw, 30px);
}
#shopRecommend .shopRecruit p.note {
  font-size: min(3vw, 12px);
}

#shopRecommend .shopRecruit .recruitBtn {
  margin-bottom: min(2vw, 10px);
}
#shopRecommend .shopRecruit .recruitBtn a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: min(2vw, 8px);
  text-align: center;
  border: #000 solid 2px;
  border-radius: 6px;
  padding: min(2vw, 10px) min(6vw, 30px);
  width: fit-content;
  text-decoration: none;
  font-weight: bold;
}
#shopRecommend .shopRecruit .recruitBtn a::after {
  content: "";
  display: block;
  width: 0.8em;
  aspect-ratio: 1/1;
  background: url("../images/ico_blank_b.svg") no-repeat center center;
  background-size: contain;
}

#articleMain .shopSns {
  margin-top: min(8vw, 60px);
}
#articleMain .shopSns h3 {
  font-size: min(4.6vw, 28px);
  font-weight: bold;
  line-height: 1.6;
  border-bottom: #000 solid 2px;
  margin-bottom: min(7vw, 40px);
  padding-bottom: min(3vw, 15px);
  display: flex;
  align-items: center;
  gap: min(3vw, 15px);
}
#articleMain .shopSns h3::before {
  content: "";
  width: 1.2em;
  aspect-ratio: 1/1;
  display: flex;
  align-items: center;
  gap: min(3vw, 15px);
  background: url("../images/ico_shopsns.png") no-repeat center center;
  background-size: contain;
}
.shopSns .timeline {
  position: relative;
  margin: 0 auto;
  max-width: 860px;
}


@media screen and (min-width: 821px) {

  .backBtn a:hover,
  #search .searchBtnList > dd a:hover,
  .pager a:hover {
    opacity: 1;
    color: #fff;
    background-color: #000;
  }
}
@media screen and (max-width: 1040px) {
  main {
    margin-top: 0;
  }
}
@media screen and (max-width: 820px) {

  #staffRecommend h2 span {
      display: block;
      margin: min(1vw, 5px) 0 0 0;
  }

  .titleArea .shopTitle {
    width: 100%;
  }
  .articleBody table .buyIcon {
    flex-wrap: wrap;
  }
}



/* ////////////////////////////////////////////////////////////////////////////////

	Detail

//////////////////////////////////////////////////////////////////////////////// */

#articleMain {
  padding-bottom: min(10vw, 80px);
}

.dateTab {
  background-color: #fff;
  border-bottom: #000 solid 2px;
  margin-bottom: min(6vw, 30px);
}
.dateTab p {
  font-family: "Roboto", sans-serif;
  font-weight: 900;
  font-size: min(3.4vw, 16px);
  padding: min(2vw, 10px) min(8vw, 50px) min(2vw, 10px) min(5vw, 25px);
  border-radius: 0 30px 0 0;
  width: fit-content;
  position: relative;
  z-index: 1;
  line-height: 1.2;
  border-top: #000 solid 2px;
  border-right: #000 solid 2px;
  background-color: #cfd8dc;
  margin-bottom: -2px;
}

.titleArea {
  margin-bottom: min(8vw, 60px);
}
.titleArea h3 {
  font-size: min(4.2vw, 26px);
  line-height: 1.5;
  margin-bottom: min(3vw, 20px);
}


.titleArea .shopTitle {
/*
  display: flex;
  align-items: center;
  gap: min(3vw, 20px);
*/
}
.titleArea .shopTitle h3 {
  margin-bottom: 0;
  display: inline;
}
.titleArea .shopTitle .taxTag {
  line-height: 0;
  width: min(12vw, 60px);
  display: inline-block;
  vertical-align: text-bottom;
  margin-left: min(3vw, 15px);
}

.articleInfo {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: min(6vw, 30px);
}

.articleInfo .tagList {
  display: flex;
  gap: min(2vw, 8px);
}
.articleInfo .tagList li a {
  display: block;
  text-decoration: none;
  border: #000 solid 2px;
  border-radius: 100px;
  font-size: min(3vw, 12px);
  font-weight: bold;
  padding: 2px min(3vw, 12px) 0;
  background-color: #f2f2f2;
  letter-spacing: 0;
}

.articleInfo .shareList {
  display: flex;
  align-items: center;
  background-color: #cfd8dc;
  border-radius: 60px 0 0 60px;
  padding: min(1vw, 5px) min(4vw, 20px);
  gap: min(3vw, 15px);
  margin-left: auto;
}
.articleInfo .shareList p {
  font-family: "Roboto", sans-serif;
  font-weight: 900;
  font-size: min(3.2vw, 14px);
  display: flex;
  align-items: center;
  gap: min(1vw, 4px);
}
.articleInfo .shareList p::after {
  content: "";
  display: inline-block;
  width: 0.54em;
  height: 0.54em;
  border-top: #000 solid 2px;
  border-right: #000 solid 2px;
  transform: rotate(45deg);
}
.articleInfo .shareList a {
  text-decoration: none;
  font-size: min(3.8vw, 20px);
}


.articleBody {
  margin-bottom: min(8vw, 60px);
}
.articleBody h4 {
  font-size: min(4vw, 20px);
  font-weight: bold;
  border-left: #cfd8dc solid 8px;
  padding-left: min(2vw, 10px);
  line-height: 1.6;
  margin-top: min(8vw, 60px);
  margin-bottom: min(6vw, 30px);
}
.articleBody h4:first-child {
  margin-top: 0;
}
.articleBody h5 {
  font-size: min(3.4vw, 16px);
  font-weight: bold;
  margin-top: min(6vw, 30px);
  margin-bottom: min(2vw, 10px);
}
.articleBody p {
  margin-bottom: min(4vw, 20px);
}
.articleBody img {
  display: block;
  border: #000 solid 2px;
  border-radius: 10px;
  max-width: min(100%, 860px);
  margin: min(7vw, 40px) auto;
}

.articleBody a {
  color: rgb(35, 111, 161);
}

.articleBody ul {
  list-style: disc;
  padding-left: min(4vw, 20px);
  margin-bottom: min(6vw, 30px);
}

.articleBody ol {
  list-style: decimal;
  padding-left: min(4vw, 20px);
  margin-bottom: min(6vw, 30px);
}

.articleBody table {
  width: 100%;
  overflow: hidden;
  border-collapse: separate;
  border-spacing: 0px;
  border-radius: 10px;
  outline: #000 solid 1px;
  margin: min(6vw, 30px) 0;
}
.articleBody table th {
  background-color: #fef200;
  padding: min(2vw, 10px) min(2vw, 15px);
  border: #000 solid 1px;
  vertical-align: middle;
}
.articleBody table tbody th {
  min-width: 120px;
}
.articleBody table td {
  background-color: #fff;
  padding: min(2vw, 10px) min(3vw, 30px);
  border: #000 solid 1px;
}

.articleBody table thead tr:first-child th:first-child,
.articleBody table thead tr:first-child td:first-child { border-top-left-radius: 10px;}
.articleBody table thead tr:first-child th:last-child,
.articleBody table thead tr:first-child td:last-child { border-top-right-radius: 10px;}

.articleBody table tbody tr:first-child th:first-child,
.articleBody table tbody tr:first-child td:first-child { border-top-left-radius: 10px;}
.articleBody table tbody tr:first-child th:last-child,
.articleBody table tbody tr:first-child td:last-child { border-top-right-radius: 10px;}
.articleBody table tbody tr:last-child th:first-child,
.articleBody table tbody tr:last-child td:first-child { border-bottom-left-radius: 10px;}
.articleBody table tbody tr:last-child th:last-child,
.articleBody table tbody tr:last-child td:last-child { border-bottom-right-radius: 10px;}

.articleBody table thead + tbody tr:first-child th:first-child,
.articleBody table thead + tbody tr:first-child td:first-child { border-top-left-radius: 0px;}
.articleBody table thead + tbody tr:first-child th:last-child,
.articleBody table thead + tbody tr:first-child td:last-child { border-top-right-radius: 0px;}

.articleBody .alignRight {
  text-align: right;
}
.articleBody .alignLeft {
  text-align: right;
}
.articleBody .alignCenter {
  text-align: center;
}

.articleBody .eventLinkBtn {
  margin-top: min(6vw, 30px);
}
.articleBody .eventLinkBtn a {
  display: block;
  width: fit-content;
  min-width: min(62vw, 320px);
  max-width: 100%;
  margin: 0 auto;
  background-color: #fef200;
  border: #000 solid 2px;
  text-decoration: none;
  border-radius: 6px;
  padding: min(3vw, 15px) min(7vw, 50px) min(2.8vw, 13px);
  font-size: min(3.4vw, 16px);
  font-weight: bold;
  text-align: center;
}

.floatRight {
  float: right;
}

.articleBody table .buyIcon {
  line-height: 0;
  display: flex;
  flex-wrap: wrap;
  gap: min(2vw, 10px);
}
.articleBody table .buyIcon img {
  width: min(8vw, 70px);
  margin: 0;
  border: #dddddd solid 1px;
  border-radius: 0;
}


.writer {
  border: #000 solid 1px;
  padding: min(6vw, 30px);
  border-radius: 8px;
}
.writer h5 {
  border-bottom: #ccc solid 1px;
  font-size: min(3.6vw, 18px);
  font-weight: bold;
  padding-bottom: min(2vw, 10px);
  margin-bottom: min(4vw, 20px);
}
.writer .writerProfile {
  display: flex;
  justify-content: space-between;
  margin-bottom: min(4vw, 20px);
}
.writer .writerProfile .thumb {
  width: 140px;
}
.writer .writerProfile .thumb > div {
  line-height: 0;
  width: 80px;
  max-width: 100%;
  aspect-ratio: 1/1;
  margin: 0 auto min(1vw, 5px);
  border-radius: 50%;
  overflow: hidden;
  border: #000 solid 1px;
}
.writer .writerProfile .thumb > p {
  text-align: center;
  font-size: min(2.8vw, 14px);
  font-weight: bold;
}

.writer .writerProfile .txt {
  width: calc(100% - 160px);
  padding-top: 1em;
  font-size: min(3vw, 14px);
}

#commentList {
  padding-bottom: min(8vw, 60px);
}
#commentList .goodBtnWrap {
  background-color: #f4f4f4;
  padding: min(3vw, 15px) min(6vw, 60px);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: min(4vw, 20px);
  margin-bottom: min(6vw, 30px);
}
#commentList .goodBtnWrap p {
  font-size: min(3.2vw, 16px);
  font-weight: bold;
}
#commentList .goodBtnWrap .goodBtn button {
  display: flex;
  text-decoration: none;
  color: #000;
  background-color: #fff;
  padding: min(1vw, 5px) min(3vw, 15px);
  border-radius: 100px;
  border: #cfd8dc solid 1px;
  gap: min(1vw, 5px);
}
#commentList .goodBtnWrap .goodBtn button::before {
  content: "";
  display: block;
  width: 1em;
  aspect-ratio: 1/1;
  background: url("../images/ico_goodbtn.png") no-repeat center center;
  background-size: contain;
}

#commentList h3 {
  padding-bottom: min(3vw, 15px);
  margin-bottom: min(6vw, 30px);
  border-bottom: #ccc solid 1px;
  font-size: min(3.8vw, 18px);
  display: flex;
  align-items: center;
  gap: min(2vw, 10px);
}
#commentList h3::before {
  content: "";
  display: block;
  width: 1.4em;
  aspect-ratio: 1/1;
  background: url("../images/ico_comment.png") no-repeat center center;
  background-size: contain;
}
#commentList h3 > span {
  font-size: 0.8em;
}
#commentList .commentList li {
  padding-bottom: min(4vw, 20px);
  border-bottom: #ccc solid 1px;
  margin-bottom: min(4vw, 20px);
}
#commentList .commentList li .name {
  font-size: min(3.4vw, 16px);
  font-weight: bold;
  margin-bottom: min(2vw, 10px);
}
#commentList .commentList li .name span {
  font-size: 0.8em;
  font-weight: normal;
  margin-left: min(6vw, 30px);
}

#commentForm {
  background-color: #edede0;
  padding: min(8vw, 60px) 0;
}
#commentForm h3 {
  padding-bottom: min(3vw, 15px);
  margin-bottom: min(6vw, 30px);
  border-bottom: #000 solid 1px;
  font-size: min(3.8vw, 18px);
  display: flex;
  align-items: center;
  gap: min(2vw, 10px);
}
#commentForm h3::before {
  content: "";
  display: block;
  width: 1.4em;
  aspect-ratio: 1/1;
  background: url("../images/ico_comment_form.png") no-repeat center center;
  background-size: contain;
}

.formWrap {
  margin-bottom: min(6vw, 40px);
  padding-bottom: min(6vw, 40px);
  border-bottom: #000 solid 1px;
}
.formWrap dl {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: min(4vw, 20px) 0;
  margin-bottom: min(4vw, 20px);
}
.formWrap dl dt {
  width: 160px;
  font-weight: bold;
}
.formWrap dl dd {
  width: calc(100% - 180px);
}
.formWrap dl dd input[type="text"],
.formWrap dl dd textarea {
  width: 100%;
  background-color: #fff;
  padding: min(1vw, 5px) min(4vw, 20px);
  border-radius: 8px;
  border: #000 solid 2px;
  font-size: 16px;
}
.formWrap dl dd textarea {
  height: 140px;
}
.formWrap input[type="submit"] {
  font-size: min(3.2vw, 14px);
  display: block;
  background-color: #000;
  color: #fff;
  padding: min(2vw, 10px) min(8vw, 60px);
  margin: 0 auto;
  border-radius: 6px;
}

#commentForm h4 {
  font-size: min(3.2vw, 16px);
  margin-bottom: min(4vw, 20px);
}
#commentForm .notes {
  font-size: min(3vw, 14px);
  letter-spacing: 0.04em;
  padding-left: min(5vw, 25px);
}


#storeList {
  background-color: #f4f4f4;
  padding: min(8vw, 60px) 0;
}

.storeHead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: min(4vw, 30px);
  margin-bottom: min(6vw, 30px);
}
.storeHead h3 {
  font-size: min(5.4vw, 24px);
  font-weight: bold;
  letter-spacing: 0.1em;
  display: flex;
  gap: min(3vw, 10px);
  padding: min(2vw, 10px) min(6vw, 30px) min(2vw, 10px) 0;
  border-right: #000 dotted 2px;
  width: 180px;
}
.storeHead h3::before {
  content: "";
  background: url("../images/ico_store.png") no-repeat center center;
  background-size: contain;
  width: min(5vw, 20px);
}
.storeHead p {
  font-weight: bold;
  width: calc(100% - 210px);
}


.areaTab {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-bottom: min(6vw, 30px);
}
.areaTab li {
  width: calc((100% - 80px) / 5);
}
.areaTab li a {
  display: block;
  border: #000 solid 2px;
  border-radius: 6px;
  padding: min(2vw, 10px);
  text-decoration: none;
  text-align: center;
  font-weight: bold;
  background-color: #fff;
}
.areaTab li a.current {
  background-color: #000;
  color: #fff;
}

.icoIntroList {
  display: flex;
  flex-wrap: wrap;
  gap: min(2vw, 15px) min(3vw, 15px);
  margin-bottom: min(4vw, 20px);
}
.icoIntroList li {
  display: flex;
  align-items: center;
  gap: min(1.5vw, 8px);
}
.icoIntroList li i {
  display: block;
  width: min(6vw, 30px);
  line-height: 0;
}
.icoIntroList li p {
  font-size: min(3vw, 12px);
  font-weight: bold;
}


.storeListWrap {
  border: #000 solid 2px;
  padding: min(2vw, 10px) min(6vw, 40px) min(6vw, 30px);
  background-color: #fff;
  margin-bottom: min(8vw, 60px);
}

.storeArea {
  display: none;
}

.storeListWrap > dl > dt {
  border-bottom: #000 solid 1px;
  font-size: min(4.2vw, 20px);
  font-weight: bold;
  padding: min(3vw, 15px) min(8vw, 60px) min(3vw, 15px) 0;
  letter-spacing: 0.12em;
  position: relative;
  cursor: pointer;
}
.storeListWrap > dl > dt span {
  display: block;
  width: min(6vw, 30px);
  aspect-ratio: 1/1;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.storeListWrap > dl > dt span::before,
.storeListWrap > dl > dt span::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #000;
}
.storeListWrap > dl > dt span::before {
  width: 100%;
  height: 1px;
}
.storeListWrap > dl > dt span::after {
  width: 1px;
  height: 100%;
  transition: all 0.3s ease-out;
}
.storeListWrap > dl > dt.on span::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.storeListWrap > dl > dd {
  padding: min(4vw, 30px) 0;
  display: none;
}
.storeBlock {
  padding: min(4vw, 20px) 0 min(4vw, 20px) min(3vw, 15px);
  border-bottom: #ccc solid 1px;
}
.storeBlock .storeName {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: min(5vw, 25px);
}
.storeBlock .storeName h4 {
  font-size: min(4vw, 18px);
  font-weight: bold;
}
.storeBlock .storeName .storeIco {
  display: flex;
  gap: min(1vw, 5px);
}
.storeBlock .storeName .storeIco li {
  line-height: 0;
  width: min(6vw, 30px);
}

.storeBlock .soreInfo {
  display: flex;
  flex-wrap: wrap;
}
.storeBlock .soreInfo dt {
  width: 160px;
}
.storeBlock .soreInfo dd {
  width: calc(100% - 160px);
}

.storeBlock .storeName .taxTag {
  line-height: 0;
  width: min(12vw, 60px);
}

.storeBlock .storeName .storeNameFlex {
  display: flex;
  align-items: center;
  gap: min(2vw, 10px) min(4vw, 20px);
}
.storeBlock .storeName .pin {
  font-size: min(3.2vw, 14px);
  display: flex;
  gap: min(2vw, 10px);
  align-items: center;
  white-space: nowrap;
}
.storeBlock .storeName .pin::before {
  content: "";
  display: block;
  background: url("../images/ico_pin.png") no-repeat center center;
  background-size: contain;
  width: min(4vw, 20px);
  aspect-ratio: 1/1;
}

.storeBlock .storeName .parking {
  width: min(4vw, 20px);
  aspect-ratio: 1/1;
  background: url("../images/ico_parking.png") no-repeat center center;
  background-size: contain;
}

#keyword {
  margin-bottom: min(10vw, 80px);
}

.keywordSearch {
  position: relative;
}
.keywordSearch input[type="text"] {
  background: #fff url("../images/ico_search.svg") no-repeat min(3vw, 15px) center;
  background-size: auto 50%;
  width: 100%;
  border-radius: 100px;
  padding: min(1.2vw, 6px) min(4vw, 20px) min(1.2vw, 6px) min(10vw, 50px);
  font-size: 16px;
  font-weight: bold;
  color: #000;
  border: #000 solid 2px;
  box-shadow: 2px 2px 0px 0px rgba(0, 0, 0, 1);
  margin-bottom: min(3vw, 20px);
  display: block;
}
.keywordSearch input[type="text"]:focus {
  outline: none;
}
.keywordSearch .searchSubmit {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  aspect-ratio: 1 / 1;
}

#current {
  margin-bottom: min(10vw, 80px);
}
.currentLocationBox {
  padding: 0 min(6vw, 40px);
  margin-bottom: min(8vw, 60px);
}

.currentLocationBox #findBtn {
  display: block;
  width: 100%;
  max-width: 640px;
  margin: 0 auto;
  border: #000 solid 2px;
  padding: min(2vw, 10px) min(7vw, 50px) min(1.8vw, 8px);
  border-radius: 6px;
  font-size: min(3.4vw, 16px);
  font-weight: bold;
  background-color: #fff;
}

.currentLocationBox .status {
  text-align: center;
  font-size: min(3.4vw, 16px);
  font-weight: bold;
  margin-top: min(6vw, 30px);
}

#wordSearch {
  background: #333;
  background-size: min(102vw, 1460px) auto;
  padding: min(10vw, 80px) 0 min(8vw, 50px);
  position: relative;
}
#wordSearch h3 {
  background-color: #fff;
  padding: min(2.5vw, 12px) min(5vw, 30px);
  width: fit-content;
  border: #000 solid 2px;
  border-radius: 100px;
  font-size: min(3.8vw, 20px);
  position: absolute;
  top: 0;
  left: auto;
  transform: translateY(-50%);
}
#wordSearch h3::after {
  content: "";
  display: block;
  clip-path: polygon(0 0, 100% 100%, 100% 0);
  position: absolute;
  top: 99%;
  left: 15%;
  width: 8%;
  aspect-ratio: 1/1;
  background: linear-gradient(45deg, #000 60%, #fff 60%);
}

.shopInfo {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
}

.shopInfo .map {
  width: 42%;
}
.shopInfo .map > div {
  position: relative;
  width: 100%;
  height: 100%;
}
.shopInfo .map > div iframe {
  position: absolute;
  width: 100%;
  height: 100%;
}
.shopInfo table {
  width: 55%;
  margin: 0;
}


.shopSnsList {
  display: flex;
  gap: min(1.5vw, 7px);
}
.shopSnsList a {
  text-decoration: none;
}
.shopSnsList a i {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 2.2em;
  height: 2.2em;
  font-size: min(3.6vw, 20px);
  border-radius: 50%;
  color: #fff;
}
.shopSnsList a i.icon-line { background-color: #06c755;}
.shopSnsList a i.icon-in { background-color: #ff0077;}
.shopSnsList a i.icon-x { background-color: #000;}
.shopSnsList a i.icon-tt { background-color: #25f4ee; color: #000;}
.shopSnsList a i.icon-red { background: #ff2442 url("../images/ico_red.gif") no-repeat center center; background-size: 65%;}


.wordSearchTag {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: min(4vw, 20px) min(3vw, 15px);
  margin-bottom: min(6vw, 30px);
}
.wordSearchTag li {
  display: none;
}
.wordSearchTag li a {
  display: block;
  text-decoration: none;
  border-radius: 100px;
  font-size: min(3.2vw, 14px);
  font-weight: bold;
  padding: 2px min(4vw, 20px) 1px;
}
.wordSearchTag li:nth-child(11n+1) a { background-color: #b4eaed;}
.wordSearchTag li:nth-child(11n+2) a { background-color: #fff1ad;}
.wordSearchTag li:nth-child(11n+3) a { background-color: #f4b9f3;}
.wordSearchTag li:nth-child(11n+4) a { background-color: #cef4b9;}
.wordSearchTag li:nth-child(11n+5) a { background-color: #dacbbb;}
.wordSearchTag li:nth-child(11n+6) a { background-color: #f4b9b9;}
.wordSearchTag li:nth-child(11n+7) a { background-color: #f7c6a3;}
.wordSearchTag li:nth-child(11n+8) a { background-color: #add0ff;}
.wordSearchTag li:nth-child(11n+9) a { background-color: #d6bef0;}
.wordSearchTag li:nth-child(11n+10) a { background-color: #bbdad1;}
.wordSearchTag li:nth-child(11n+11) a { background-color: #cfd8dc;}


.wordMoreBtn {
  text-align: center;
}
.wordMoreBtn a {
  font-size: min(3.6vw, 14px);
  font-weight: bold;
  text-decoration: none;
  position: relative;
  display: block;
  width: fit-content;
  margin: 0 auto;
  padding-left: 2em;
  color: #fff;
}
.wordMoreBtn a::before {
  content: "";
  display: block;
  width: 1em;
  height: 1em;
  border-right: #fff solid 3px;
  border-bottom: #fff solid 3px;
  position: absolute;
  top: 36%;
  left: 0.2em;
  transform: translateY(-50%) rotate(45deg);
}
.wordMoreBtn a.close::before {
  top: 60%;
  transform: translateY(-50%) rotate(-135deg);
}


.selectList {
  display: flex;
  flex-wrap: wrap;
  gap: min(4vw, 20px) 2%;
}
.selectList li {
  width: 32%;
  aspect-ratio: 10 / 6.5;
}
.selectList li a {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: 100%;
  height: 100%;
  font-size: min(3.6vw, 24px);
  text-decoration: none;
  font-weight: bold;
  line-height: 1.4;
  position: relative;
  padding-bottom: 11%;
  background: #fff350;
  border: #000 solid 3px;
}
.selectList li a::before {
    content: "";
    display: block;
    background: url(../images/card_logo.svg) no-repeat center center;
    background-size: contain;
    width: 38%;
    aspect-ratio: 10 / 2.6;
    position: absolute;
    bottom: 6%;
    left: 4%;
    opacity: 0.4;
}
.selectList li a span {
    background: linear-gradient(0deg, rgba(255, 100, 76, 1) 32%, rgba(255, 100, 76, 0) 32%);
    padding: 0 min(1vw, 5px);
}

.selectList li a p {
  width: 11em;
  line-height: 1.5em;
/*  height: calc(1.5em * 3);*/
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  word-break: break-all;
}


.vvSelectIntro {
  background-color: #fff350;
  padding: min(4vw, 20px) min(6vw, 30px);
  border: #000 solid 3px;
  margin-bottom: min(8vw, 60px);
}
.vvSelectIntro h3 {
  background: linear-gradient(0deg, rgba(255, 100, 76, 0) 10%, rgba(255, 100, 76, 1) 10%, rgba(255, 100, 76, 1) 34%, rgba(255, 100, 76, 0) 34%);
  width: fit-content;
  margin-bottom: min(4vw, 20px);
  font-size: min(4vw, 20px);
}
.vvSelectIntro p:last-child {
  margin-bottom: 0;
}


.selectIndex {
  border: #cfd8dc solid 2px;
  border-radius: 8px;
}
.articleBody .selectIndex h4 {
  background-color: #cfd8dc;
  text-align: center;
  padding: min(2vw, 10px);
  font-size: min(3.6vw, 18px);
}
.selectIndex .selectIndexList {
  margin-left: min(4vw, 30px);
  margin-right: min(4vw, 30px);
  display: flex;
  flex-direction: column;
  gap: min(2vw, 10px);
}
.selectIndex .selectIndexList a {
  color: #000;
}

.vvSelectItem {
  background-color: #f4f4f4;
  border-radius: min(4vw, 10px);
  padding: min(6vw, 30px);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.vvSelectItem .txt {
  width: 70%;
}
.vvSelectItem .txt h5 {
  margin-top: 0;
  margin-bottom: min(3vw, 15px);
}
.vvSelectItem .txt p {
    margin-bottom: min(3vw, 15px);
}
.vvSelectItem .txt p:last-child {
  margin-bottom: 0;
}

.vvSelectItem .img {
  width: 25%;
  line-height: 0;
}
.vvSelectItem .img img {
  margin: 0;
}

.vvSelectItem .storeBtn {
  margin-top: min(6vw, 30px);
}
.vvSelectItem .storeBtn a {
  padding: min(2vw, 10px) min(7vw, 40px) min(1.6vw, 10px);
  border: #000 solid 2px;
  text-decoration: none;
  border-radius: 6px;
  display: block;
  font-weight: 600;
  width: fit-content;
  background-color: #fff;
  color: #000;
}


.searchResults + .searchResults {
  margin-top: min(12vw, 80px);
}
.searchResults .listBlockTtl {
  font-size: min(4vw, 20px);
  font-weight: bold;
  border-left: #cfd8dc solid 8px;
  padding-left: min(2vw, 10px);
  line-height: 1.6;
  margin-top: min(8vw, 60px);
  margin-bottom: min(6vw, 30px);
}
.searchResults .searchList {
  margin-top: min(6vw, 30px);
}
.searchResults .searchList > li {
  display: flex;
  justify-content: space-between;
  padding: min(4vw, 20px) 0;
  border-bottom: #ccc solid 1px;
}
.searchResults .searchList .date {
  width: 170px;
}
.searchResults .searchList .date p {
  font-size: min(3.2vw, 14px);
  font-weight: bold;
  margin-bottom: min(2vw, 10px);
}
.searchResults .searchList .date .tagList {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: min(1vw, 5px);
}
.searchResults .searchList .date .tagList li a {
  display: block;
  text-decoration: none;
  border: #000 solid 2px;
  border-radius: 100px;
  font-size: min(2vw, 10px);
  font-weight: bold;
  padding: 3px min(1.4vw, 7px) 2px;
  background-color: #f2f2f2;
  width: fit-content;
  line-height: 1.3;
  letter-spacing: 0;
}
.searchResults .searchList .txt {
  width: calc(100% - 200px);
}
.searchResults .searchList .txt h5 {
  font-size: min(3.4vw, 16px);
  font-weight: bold;
  margin-bottom: min(2vw, 10px);
}
.searchResults .searchList .txt h5 a {
  text-decoration: none;
}

.searchResults .searchList .txt p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -webkit-line-clamp: 5;
  text-overflow: ellipsis;
}


@media screen and (min-width: 821px) {
  .areaTab li a:hover {
    opacity: 1;
    color: #fff;
    background-color: #000;
  }
}
@media screen and (max-width: 820px) {


  .articleInfo {
    gap: min(4vw, 20px);
    align-items: flex-start;
    flex-direction: column;
  }
  .articleInfo .tagList {
    flex-wrap: wrap;
    width: 100%;
  }
  .articleInfo .shareList {
    margin-left: auto;
  }

  .titleArea .shopTitle {
    align-items: flex-start;
  }
  .titleArea .shopTitle:has(div) h3 {
    max-width: calc(100% - 14vw);
  }
  .titleArea .shopTitle .taxTag {
    width: 11.2vw;
  }


  #wordSearch {
    background-size: min(400vw, 1460px) auto;
  }

  .storeHead {
    flex-direction: column;
  }
  .storeHead h3 {
    width: 100%;
    border-right: none;
    padding: 0;
    line-height: 1.4;
  }
  .storeHead p {
    width: 100%;
  }

  .areaTab {
    gap: 2vw;
  }
  .areaTab li {
    width: calc(50% - 1vw);
  }

  .currentLocationBox {
    padding: 0;
  }
  .storeBlock {
    padding: min(4vw, 20px) 0;
  }
  .storeBlock .storeName {
    align-items: flex-start;
    gap: min(3vw, 15px);
  }
  .storeBlock .storeName h4 {
    width: calc(100% - 60px);
  }
  .storeBlock .storeName .storeIco {
    width: 100%;
    justify-content: flex-end;
  }
  .storeBlock .soreInfo dt {
    width: 21vw;
  }
  .storeBlock .soreInfo dd {
    width: calc(100% - 21vw);
  }

  .storeBlock .storeName .storeNameFlex {
    width: calc(100% - 60px);
    flex-wrap: wrap;
  }
  .storeBlock .storeName .storeNameFlex h4 {
    width: 100%;
  }


  .shopInfo {
    flex-direction: column;
    gap: min(6vw, 30px);
  }
  .shopInfo .map {
    width: 100%;
    aspect-ratio: 1/0.7;
  }
  .shopInfo table {
    width: 100%;
  }

  .shopSnsList a i {
    width: 2.2em;
    height: 2.2em;
  }

  #shopRecommend .shopOther {
    flex-direction: column;
    gap: min(6vw, 30px);
  }
  #shopRecommend .shopOther > div {
    width: 100%;
  }

  .selectList {
    justify-content: space-between;
    gap: min(4vw, 20px) 0;
  }
  .selectList li {
    width: 48%;
  }

  .vvSelectItem {
    flex-direction: column;
    gap: min(8vw, 50px);
  }
  .vvSelectItem .txt {
    width: 100%;
  }
  .vvSelectItem .img {
    width: 80%;
    margin: 0 auto min(2vw, 10px);
  }

  .searchResults .searchList > li {
    flex-direction: column;
    gap: min(3vw, 15px);

  }
  .searchResults .searchList .date {
    width: 100%;
    display: flex;
    flex-direction: row;
    gap: min(4vw, 20px);
  }
  .searchResults .searchList .date p {
    margin: 0;
    white-space: nowrap;
  }
  .searchResults .searchList .date .tagList {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: min(1.5vw, 10px);
  }
  .searchResults .searchList .date .tagList li a {
    border: #000 solid 1px;
  }
  .searchResults .searchList .txt {
    width: 100%;
  }

  .writer .writerProfile {
    margin-bottom: min(6vw, 30px);
  }
  .writer .writerProfile .thumb {
    width: 65px;
  }
  .writer .writerProfile .txt {
    width: calc(100% - 80px);
    padding-top: 0;
  }

  #commentList .goodBtnWrap p {
    line-height: 1.6;
  }
  .formWrap dl {
    gap: min(1vw, 5px) 0;
    margin-bottom: 0;
  }
  .formWrap dl dt,
  .formWrap dl dd {
    width: 100%;
  }
  .formWrap dl dd {
    margin-bottom: min(3vw, 15px);
  }

}


/* ////////////////////////////////////////////////////////////////////////////////

	Calendar

//////////////////////////////////////////////////////////////////////////////// */


.calHead {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: min(6vw, 40px);
}
.calHead .selctMonth {
  display: flex;
  align-items: center;
  gap: min(2vw, 10px) min(4vw, 20px);
}
.calHead .selctMonth h4 {
  font-family: "Roboto", sans-serif;
  font-weight: 900;
  font-size: min(8.2vw, 40px);
  line-height: 1.2;
  margin-right: min(2vw, 10px);
}
/*.calHead .selctMonth input[type="month"],*/
.calHead .selctMonth select {
  border: #000 solid 2px;
  border-radius: 6px;
  font-size: 16px;
  padding: min(0.6vw, 3px) min(3vw, 15px);
}
.calHead .selctMonth select {
  padding: min(0.6vw, 3px) min(7vw, 38px) min(0.5vw, 2px) min(3vw, 15px);
}

.calHead .selctMonth .selectBoxWrap {
  position: relative;
}
.calHead .selctMonth .selectBoxWrap::after {
  content: "";
  display: block;
  width: 0.8em;
  height: 0.8em;
  border-right: #000 solid 2px;
  border-bottom: #000 solid 2px;
  position: absolute;
  top: 45%;
  right: 1em;
  transform: translateY(-50%) rotate(45deg);
}

.listSwitch a {
  display: block;
  width: min(6vw, 30px);
  height: min(6vw, 30px);
}
.listSwitch a.calView {
  background: url("../images/ico_callist.svg") no-repeat center center;
  background-size: 100%;
}
.listSwitch a.listView {
  background: url("../images/ico_calgrid.svg") no-repeat center center;
  background-size: 80%;
}

.calBody {
  margin-bottom: min(8vw, 60px);
}

.calBody .weekList {
  display: flex;
}
.calBody.listView .weekList {
  display: none;
}
.calBody .weekList li {
  width: calc(100% / 7);
  text-align: center;
  color: #fff;
  background-color: #000;
  font-family: "Roboto", sans-serif;
  font-weight: 900;
  line-height: 1.4;
  padding: min(2vw, 10px);
}



.calBody .eventCal {
  display: flex;
}
.calBody .eventCal li .day {
  font-family: "Roboto", sans-serif;
  font-weight: 900;
}
.calBody .eventCal li .event h5 a {
  text-decoration: none;
  transition: opacity 0.3s ease-out;
}

.calBody.calView .eventCal {
  flex-wrap: wrap;
  background-color: #fef200;
  border: #000 solid 2px;
  border-bottom: none;
  position: relative;
}
.calBody.calView .eventCal::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #000;
}
.calBody.calView .eventCal li {
  width: calc(100% / 7);
  border-right: #000 solid 2px;
  border-bottom: #000 solid 2px;
}
.calBody.calView .eventCal li:nth-child(7n) {
  border-right: none;
}
.calBody.calView .eventCal li .day {
  font-size: min(3.6vw, 18px);
  line-height: 1;
  padding: min(3vw, 15px) min(2vw, 10px) 0;
}
.calBody.calView .eventCal li.lastMonth .day,
.calBody.calView .eventCal li.nextMonth .day {
  opacity: 0.3;
}
.calBody.calView .eventCal li .day span {
  display: none;
}

.calBody.calView .eventCal li .event {
  padding: min(3vw, 15px) min(2vw, 10px);
}
.calBody.calView .eventCal li .event + .event {
  border-top: #000 solid 2px;
}

.calBody.calView .eventCal li .event .thumb {
  margin-bottom: min(2vw, 10px);
}
.calBody .eventCal li .event .thumb a {
  display: block;
  width: 100%;
  aspect-ratio: 1/1;
  position: relative;
  border-radius: 6px;
  overflow: hidden;
}
.calBody .eventCal li .event .thumb a img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.calBody.calView .eventCal li .event h5 {
  font-size: min(3vw, 12px);
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.04em;
  word-break: break-all;
}
.calBody.calView .eventCal li .event .storeTag {
  font-size: min(2.8vw, 10px);
  width: fit-content;
  margin-top: min(1vw, 5px);
  border-radius: 4px;
  color: #fff;
  font-weight: 600;
  padding: 0 min(2vw, 10px);
}
.calBody .eventCal li .event .storeTag.shimokitazawa { background-color: #1baa8d;}
.calBody .eventCal li .event .storeTag.shibuya { background-color: #b024ae;}
.calBody .eventCal li .event .storeTag.nagoya { background-color: #ea5220;}
.calBody .eventCal li .event .storeTag.sapporo { background-color: #482f89;}
.calBody .eventCal li .event .storeTag.plus { background-color: #1f54c1;}
.calBody .eventCal li .event .storeTag.other { background-color: #df8800;}

.calBody.calView .eventCal li .event .eventInfo {
  display: none;
}


.calBody.listView .eventCal {
  display: flex;
  flex-direction: column;
  gap: min(3vw, 15px);
}
.calBody.listView .eventCal li {
  background-color: #fef200;
  display: flex;
  justify-content: space-between;
}
.calBody.listView .eventCal li.lastMonth,
.calBody.listView .eventCal li.nextMonth {
  display: none;
}

.calBody.listView .eventCal li .day {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  background-color: #000;
  color: #fff;
  font-size: min(3.6vw, 18px);
  width: 60px;
  padding: min(3vw, 15px) 0;
}
.calBody.listView .eventCal li .day span {
  font-size: 0.8em;
}
.calBody.listView .eventCal li .eventWrap {
  width: calc(100% - 90px);
  padding-right: min(5vw, 30px);
}
.calBody.listView .eventCal li .event {
  padding: min(5vw, 30px) 0;
  display: flex;
  justify-content: space-between;
}
.calBody.listView .eventCal li .event + .event {
  border-top: #000 solid 2px;
}
.calBody.listView .eventCal li .event .thumb {
  width: 16%;
}

.calBody.listView .eventCal li .event .txt {
  width: 80%;
}
.calBody.listView .eventCal li .event .txt h5 {
  font-size: min(3.6vw, 18px);
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.04em;
  margin-bottom: min(2vw, 10px);
}

.calBody.listView .eventCal li .event .tagWrap {
  display: flex;
  flex-wrap: wrap;
  gap: min(2vw, 10px);
  margin: min(2vw, 10px) 0 min(2vw, 15px);
}
.calBody.listView .eventCal li .event .storeTag {
  font-size: min(2.6vw, 12px);
  width: fit-content;
  margin-top: min(2vw, 10px);
  border-radius: 4px;
  color: #fff;
  font-weight: 600;
  padding: 2px min(2vw, 10px) 0;
}
.calBody.listView .eventCal li .event .tagWrap .storeTag {
  margin: 0;
}
.calBody.listView .eventCal li .event .eventInfo {
  margin-top: min(2vw, 10px);
  font-weight: 600;
  font-size: min(3.2vw, 14px);
  line-height: 1.6;
}


@media screen and (min-width: 821px) {
  .calBody .eventCal li .event .thumb a:hover {
    opacity: 1;
  }
  .calBody .eventCal li .event .thumb a img {
    transition: all 0.3s ease-out;
  }
  .calBody .eventCal li .event .thumb a:hover img {
    transform: scale(1.06);
  }

  .calBody.calView .eventCal li .eventWrap {
    min-height: 60px;
  }
}
@media screen and (max-width: 820px) {

  .calHead {
    position: relative;
  }
  .calHead .selctMonth {
    flex-wrap: wrap;
    gap: min(2vw, 10px) 2%;
  }
  .calHead .selctMonth h4 {
    width: 100%;
    margin-right: 0;
  }
  .calHead .selctMonth input[type="month"],
  .calHead .selctMonth .selectBoxWrap {
    width: 49%;
  }
  .calHead .selctMonth select {
    width: 100%;
  }

  .calHead .listSwitch {
    position: absolute;
    top: min(2vw, 10px);
    right: 0;
  }


  .calBody.calView {
    overflow: auto;
  }
  .calBody .weekList {
    min-width: 740px;
  }
  .calBody.calView .eventCal {
    min-width: 740px;
  }
  .calBody.calView .eventCal li .event .storeTag {
    padding: 1px min(2vw, 10px) 0;
  }

  .calBody.listView .eventCal li .day {
    font-size: min(3.2vw, 18px);
    width: 11vw;
  }
  .calBody.listView .eventCal li .eventWrap {
    width: calc(100% - 16vw);
  }

  .calBody.listView .eventCal li .event .thumb {
    width: 30%;
  }
  .calBody.listView .eventCal li .event .txt {
    width: 65%;
  }
}


/* ////////////////////////////////////////////////////////////////////////////////

	Company

//////////////////////////////////////////////////////////////////////////////// */

.titleTab {
  background-color: #fff;
  border-bottom: #000 solid 2px;
  margin-bottom: min(6vw, 30px);
}
.titleTab h2 {
  font-family: "Roboto", sans-serif;
  font-weight: 900;
  font-size: min(3.8vw, 20px);
  padding: min(2.1vw, 12px) min(8vw, 50px) min(2vw, 10px) min(5vw, 25px);
  border-radius: 0 30px 0 0;
  width: fit-content;
  position: relative;
  z-index: 1;
  line-height: 1.2;
  border-top: #000 solid 2px;
  border-right: #000 solid 2px;
  background-color: #cfd8dc;
  margin-bottom: -2px;
}

.companyBody {
  margin-bottom: min(10vw, 80px);
}
.companyBody p {
  margin-bottom: min(4vw, 20px);
}
.companyBody h4 {
  font-size: min(4vw, 20px);
  font-weight: bold;
  border-left: #cfd8dc solid 8px;
  padding-left: min(2vw, 10px);
  line-height: 1.6;
  margin-bottom: min(6vw, 30px);
  margin-top: min(8vw, 60px);
}
.companyBody h4:first-child {
  margin-top: 0;
}
.companyBody hr {
  display: block;
  height: 1px;
  width: 100%;
  background-color: #ccc;
  outline: none;
  border: none;
  margin: min(8vw, 60px) 0;
}
.companyBody .leadTxt {
  text-align: center;
  margin: min(7vw, 50px) 0 min(8vw, 60px);
  font-size: min(4.2vw, 26px);
  font-weight: 600;
  line-height: 2;
}

.companyBody .alignRight {
  text-align: right;
}


.companyBody ul {
    list-style: disc;
    padding-left: min(4vw, 20px);
    margin-bottom: min(6vw, 30px);
}

.companyBody ol {
  padding:0;
  margin-bottom: min(6vw, 30px);
}
.companyBody ol li {
  list-style-type:none;
  list-style-position:inside;
  counter-increment: cnt;
  position: relative;
  padding:0 0 0 2em;
}
.companyBody ol li::before {
  display: marker;
  content: "(" counter(cnt) ")";
  position: absolute;
  top: 0;
  left: 0;
}


.faqBox {
  border-radius: 8px;
  border: #cfd8dc solid 1px;
}
.faqBox + .faqBox {
  margin-top: min(4vw, 20px);
}
.faqBox dt {
  position: relative;
  padding: min(3vw, 15px) min(11vw, 60px) min(3vw, 15px) min(9vw, 50px);
  font-size: min(3.4vw, 16px);
  font-weight: 600;
  cursor: pointer;
}
.faqBox dt::before {
  content: "Q.";
  position: absolute;
  top: min(3vw, 15px);
  left: min(4vw, 20px);
  font-size: min(3.4vw, 16px);
}
.faqBox dt span {
  position: absolute;
  top: 50%;
  right: min(4vw, 20px);
  transform: translateY(-50%);
  background-color: #cfd8dc;
  width: 1.6em;
  height: 1.6em;
  border-radius: 50%;
}
.faqBox dt span::before,
.faqBox dt span::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: #000;
  transform: translate(-50%, -50%);
}
.faqBox dt span::before {
  width: 35%;
  height: 2px;
}
.faqBox dt span::after {
  height: 35%;
  width: 2px;
  transition: all 0.3s ease-out;
}
.faqBox dt.on span::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.faqBox dd {
  position: relative;
  padding: min(2vw, 12px) min(4vw, 20px) min(2vw, 12px) min(9vw, 50px);
  display: none;
}
.faqBox dd::before {
  content: "A.";
  position: absolute;
  top: min(2vw, 10px);
  left: min(4vw, 20px);
  font-size: min(3.4vw, 16px);
  font-weight: 600;
}


.telBox {
  border: #000 solid 1px;
  border-radius: 8px;
  padding: min(4vw, 20px);
  margin-bottom: min(6vw, 30px);
}
.telBox p {
  margin-bottom: min(1vw, 5px);
}
.telBox .tel {
  font-size: min(8.4vw, 46px);
  font-family: "Roboto", sans-serif;
  font-weight: 900;
  line-height: 1.2;
  display: flex;
  gap: min(3vw, 15px);
  margin-bottom: 0;
}
.telBox .tel::before {
  content: "";
  display: block;
  width: 1.2em;
  background: url("../images/ico_freedial.jpg") no-repeat center center;
  background-size: contain;
}
.telBox .tel a {
  text-decoration: none;
}

@media screen and (max-width: 820px) {


  .companyBody .leadTxt {
    line-height: 1.8;
    letter-spacing: 0.02em;
  }
  .companyBody .leadTxt br {
    display: none;
  }


}

.wp-block-embed-youtube .wp-block-embed__wrapper {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9; /* 横:縦 を指定 */
}

.wp-block-embed-youtube .wp-block-embed__wrapper iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

.wp-block-quote{
margin-bottom:32px;
}

.wp-block-quote img{
margin:0px;
}

figure video{
max-width:100%;
width:400px;
}