@charset "UTF-8";
/* CSS Document */
html {
	word-break: normal;
	overflow-wrap: break-word;
	line-break: strict;
}



header {



  background:#335D2D;
  height: 60px;
}
header div {
  padding-top: 16px;
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
}
header div ul:first-child {
  max-width: 300px !important;
  width: 20%;
}
ul {
  padding-left: 0px;
}
ol.numero01 {
    list-style-type: decimal;
	padding-left: 20px;
}

ol.numero01 > li {
    list-style-type: auto!important;
    text-align: left!important;
	margin-bottom: 30px;
	line-height: 1.8;
}
ol.numero02 > li {
	list-style-type: none;
	counter-increment: cnt;
	text-align: left!important;
	margin-bottom: 30px;
	line-height: 1.8;
}
 
ol.numero02 > li::before {
	content: "(" counter(cnt) ")";
	display:inline-block;
	margin-left: -1.5em;
    width: 1.7em;
}

ol.numero03 {
    list-style-type: decimal;
	padding-left: 30px;
}

ol.numero03 > li {
	list-style-type: none;
	counter-increment: cnt;
	text-align: left!important;
	margin-bottom: 30px;
	line-height: 1.8;
}
 
ol.numero03 > li::before {
	content: "(" counter(cnt) ")";
	display:inline-block;
	margin-left: -1.5em;
    width: 2.2em;
}
@media (max-width: 1150px) {
  header div ul:nth-child(2),
  header div ul:last-child {
    display: none;
  }
}
@media (min-width: 1150.1px) {
  header div ul:nth-child(2) {
    width: 80%;
    display: flex;
    justify-content: right;
    margin: 0 auto;
    padding-top: 3px;
  }
  .cp_fullscreenmenu {
    display: none;
  }
  header div ul:last-child li img {
    width: 40%;
    margin-top: 2px;
  }
}
@media screen and (min-width: 1000.1px) and (max-width:1024px) {
	header div li {
 font-size: 11px!important;
}
header div li a:visited {
	margin: 0 0 0 3px!important;}
	}
@media screen and (min-width: 1024.1px) and (max-width:1145px) {
header div li {
 font-size: 12px!important;
}
header div li a:visited {
	margin: 0 0 0 6px!important;}
}


header div ul {
  padding-left: 0px;
}
header div li:first-child {
  list-style-type: none;
  background: none !important;
}
header div li {
  list-style-type: none;
  background: url("../images/nanamesen.png") no-repeat 0 3px;
  font-weight: 999;
  font-size: 14px;
}

header div li a:link {
  color: #fff !important;
  margin: 0 9px 0 16px;
  text-decoration: none;
}
header div li a:hover {
  color: #ffe400 !important;
}
header div li a:visited {
  margin: 0 5px 0 12px;
	color:#fff;
}
.yellow {
  color: #ffe400;
}
@media (max-width: 575px) {
  footer div {
    padding: 0 10px;
  }
}
@media (min-width: 576px) {
  footer div {
    max-width: 540px;
  }
}
@media (min-width: 768px) {
  footer div {
    max-width: 90vw;
  }
}
@media (min-width: 992px) {
  footer div {
    max-width: 960px;
  }
}
@media (min-width: 1200px) {
  header div {
    max-width: 1150px;
    margin: 0 auto;
  }
  footer div {
    max-width: 1150px;
    margin: 0 auto;
  }
}
h1, h2, h3 {
  font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 700;
  font-style: normal;
  text-align: center;
	margin-top: 0;
}
h4 {
  line-height: 1.5em;
}
.font-color {
  color: #F2984F;
}
p {
  font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 1.6em;
}
li {
  list-style-type: none;
}
p.orange {
  color: #F2984F;
}
a img:hover {
  opacity: 0.8;
}
a:hover {
  text-decoration: none;
}
.color-red {
  color: #FF0003;
}
h1 {
  width: 80%;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.title2 {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 100px;
  margin-bottom: 100px;
}
.bg-blue {
  background-color: #6B9AD3;
}
span.line {
  border-bottom: 2px solid #FF0004;
}
.sideline {
  position: relative;
}
.sideline:before {
  content: "";
  border-left-width: 2px;
  border-left-style: solid;
  margin-right: 5px;
}
.sideline:after {
  content: "";
  border-right-width: 2px;
  border-right-style: solid;
  margin-left: 5px;
}
.line2 {
  border-top-width: 2px;
  border-top-style: solid;
  padding-top: 30px;
  padding-bottom: 30px;
}
.btn1 {
  width: 130px;
  margin-top: 5px;
  margin-right: 5px;
  margin-bottom: 5px;
  margin-left: 5px;
}
.loopSlide {
  position: relative;
  display: flex;
  width: 100vw;
  overflow: hidden;
}
.loopSlide ul {
  padding: 0;
  width: 100vw;
  display: flex;
  flex-shrink: 0;
}
.loopSlide ul:first-child {
  animation: slide1 60s -30s linear infinite;
}
.loopSlide ul:last-child {
  animation: slide2 60s linear infinite;
}
.loopSlide ul li {
  display: inline-block;
  width: 100%;
  margin-right: 20px;
  list-style: none;
  text-align: center;
}
.loopSlide ul li img {
  display: block;
  width: 100%;
  height: auto;
}
@keyframes slide1 {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes slide2 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}
.bg-back {
  background-color: #335D2D;
  height: 100vh;
}
.bg-back2 {
  background-color: #335D2D;
  width: 100%;
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  color: #fff;
  text-align: center;
}
.bg-back2 h4 {
  width: 25%;
    margin: 0;
    text-align: left;
}
.bg-back2 p span {
  display: block;
}
/* スマホ: 追尾CTA（下部固定バー）にフッターのロゴ・著作権が隠れないよう下部余白を確保 */
@media (max-width: 767.98px) {
  footer.bg-back2 {
    padding-bottom: 100px;
  }
}
.bg-back3 {
  background-color: #ededed;
  width: 100%;
  display: flex;
  justify-content: space-between;
  padding: 60px 50px;
  text-align: center;
  flex-wrap: wrap;
}
.bg-back3 div {
  background: #fff;
  padding: 60px;
  margin: 0 auto;
  width: 90vw;
  max-width: 1150px;
}
.bg-back3 h4 {
  width: 20%;
}
.bg-back3 p {
  width: 100%;
  font-size: 15px;
  margin: 0 auto;
  text-align: left;
  line-height: 2.4em;
}
.bg-back3 p span {
  display: block;
}
.bg-back4 {
  width: 90%;
    padding: 100px 50px;
    text-align: center;
    margin: 0 auto;
    max-width: 1150px;
}
.bg-back4 p {
	text-align: left;
}


.logo {
  position: absolute;
  top: calc(50% - 110px);
  left: calc(50% - 110px);
  width: 220px;
  height: auto;
  z-index: 100;
}
.scroll {
  position: absolute;
  bottom: calc(0% + 10px);
  left: calc(50% - 25px);
  width: 50px;
  height: auto;
  z-index: 1000;
}
.outer {
  display: table;
  width: 100%;
}
.inner {
  display: table-cell;
  vertical-align: middle;
  width: 80%;
}
.bg-food {
  background-color: #FEF5ED;
}
.slider img {
  height: auto;
  width: 100%;
}
/*slick setting*/
.slick-prev:before, .slick-next:before {
  color: #000;
}
hr {
  border-top: 1px solid #F2984F;
  border-bottom-width: 0px;
}
.news {
  background-color: #FFFFFF;
  padding-top: 20px;
  padding-right: 20px;
  padding-bottom: 20px;
  padding-left: 20px;
  text-align: left;
}
.news li {
  font-family: fot-tsukubrdgothic-std, sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #F2984F;
  list-style-type: none;
  padding-top: 10px;
  padding-right: 10px;
  padding-bottom: 10px;
  padding-left: 10px;
}
.sns {
  text-align: center;
  width: 100%;
  display: flex;
  justify-content: center;
  padding-left: 0px;
  position: absolute;
  bottom: 20%;
  z-index: 10;
}
.sns li {
  list-style-type: none;
  padding-top: 0px;
  padding-right: 30px;
  padding-bottom: 0px;
  padding-left: 30px;
}
.sns li img {
  width: 30px;
  height: auto;
}
.footer {
  text-align: center;
  width: 100%;
  display: flex;
  justify-content: center;
  padding-left: 0px;
}
.footer li {
  font-family: fot-tsukubrdgothic-std, sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #F2984F;
  list-style-type: none;
  padding-top: 0px;
  padding-right: 15px;
  padding-bottom: 0px;
  padding-left: 15px;
  font-size: 120%;
  border-right: 1px solid #FfF;
}
.footer li a {
  color: #FfF;
}
.footer li:last-child {
  border-right: 0px solid #FfF;
}
@media (max-width: 767.98px) {
  p {
    font-size: 100%;
  }
  .scroll {
    position: absolute;
    bottom: calc(0% + 30px);
    left: calc(50% - 15px);
    width: 30px;
    height: auto;
    z-index: 100;
  }
  .footer {
    text-align: center;
    width: 100%;
    display: inherit;
    justify-content: center;
    padding-left: 0px;
    padding-bottom: 15px;
    font-size: 80%;
  }
  .footer li {
    border-right: 0px solid #F2984F;
    border-top: 1px solid #F2984F;
    padding-top: 5px;
    padding-bottom: 5px;
  }
  .footer li:last-child {
    border-bottom: 1px solid #F2984F;
  }
}
.cp_fullscreenmenu {
  position: fixed;
  z-index: 1001;
  right: 60px;
}
/*menuコンテンツ*/
.cp_fullscreenmenu .menu {
  position: fixed;
  display: flex;
  visibility: hidden;
  width: 100%;
  height: 100%;
  pointer-events: none;
  outline: 1px solid transparent;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  justify-content: center;
  left: 50%;
  transform: translate(-50%, 0);
  -webkit-transform: translate(-50%, 0);
  -moz-transform: translate(-50%, 0);
}
@media all and (-ms-high-contrast: none) {
  .cp_fullscreenmenu .menu {
    overflow: hidden;
    width: 200%;
    height: 100%;
  }
}
.cp_fullscreenmenu .menu > div {
	display: flex;
	overflow: hidden;
	width: 200vw;
	height: 100vh;
	transition: all 0.4s ease;
	-webkit-transform: scale(0);
	transform: scale(0);
	text-align: center;
	background-color: #009b37;
	flex: none;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	align-items: center;
	justify-content: center;
}
@media (max-width: 991.98px) {
  .cp_fullscreenmenu .menu > div {
    width: 300vw;
    height: 100vh;
  }
}
@media (max-width: 991.98px) and (-ms-high-contrast: none) {
  .cp_fullscreenmenu .menu {
    overflow: hidden;
    width: 300%;
    height: 100%;
  }
}
@media screen and (max-width: 575.98px) {
  .cp_fullscreenmenu {
    position: fixed;
    z-index: 1001;
    top: 0px;
    right: 70px;
  }
}

.cp_fullscreenmenu .menu ul {
    position: absolute;
    top: 0;
    left: 50%;
    margin: 0;
    padding: 0;
    list-style-type: none;
    transition: all 0.3s ease-in-out;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}
.cp_fullscreenmenu .menu > div > ul > li {
  font-family: fot-tsukubrdgothic-std, sans-serif;
    font-weight: 400;
    font-style: normal;
    color: #000 !important;
    font-size: 18px;
    display: block;
    width: 100vw;
    border-bottom: 1px solid #fff;
    text-align: left;
}
.cp_fullscreenmenu .menu > div > ul > li > a {
    position: relative;
    display:block;
    cursor: pointer;
    transition: color 0.4s ease;
    color: #FFF;
	text-decoration: none;
	width: 100vw;
	padding: 15px 30px;
}
.cp_fullscreenmenu .menu > div > ul > li > div > a:hover {
	color: #ffe400;
}
.cp_fullscreenmenu .menu > div > ul > li > div > a:hover:after {
  width: 100%;
}
.cp_fullscreenmenu .menu > div > ul > li > div > a:after {
  position: absolute;
  z-index: 1;
  bottom: -0.15em;
  left: 0;
  width: 0;
  height: 2px;
  content: '';
  transition: width 0.4s ease;
  background: #e5e5e5;
}
/*クリックしたらメニューが開閉の動作*/
.cp_fullscreenmenu .toggle1 {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  width: 60px;
  height: 60px;
  cursor: pointer;
  opacity: 0;
}
.cp_fullscreenmenu .toggle1:checked + .hamburger > span {
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  background: #fff;
	width: 30px;
}
.cp_fullscreenmenu .toggle1:checked + .hamburger > span:before, .cp_fullscreenmenu .toggle1:checked + .hamburger > span:after {
  top: 0;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
	width: 100%;
}
.cp_fullscreenmenu .toggle1:checked + .hamburger > span:after {
  opacity: 0;
}
.cp_fullscreenmenu .toggle1:checked ~ .menu {
  visibility: visible;
  pointer-events: auto;
}
.cp_fullscreenmenu .toggle1:checked ~ .menu > div {
  transition-duration: 0.75s;
  -webkit-transform: scale(1);
  transform: scale(1);
}
.cp_fullscreenmenu .toggle1:checked ~ .menu > div > ul {
  opacity: 1;
}
.cp_fullscreenmenu .toggle1:checked ~ .menu > div > ul li.top {
  background-color: #000000;
  border-radius: 20px;
  width: 120px;
  margin-left: auto;
  margin-right: auto;
  font-family: ten-mincho, serif;
  font-size: 120%;
  margin-top: 0px;
  padding-top: 5px;
  padding-bottom: 5px;
  -webkit-box-shadow: 2px 2px 5px hsla(0, 0%, 0%, 0.72);
  box-shadow: 2px 2px 5px hsla(0, 0%, 0%, 0.72);
}
.cp_fullscreenmenu .toggle1:checked ~ .menu > div > ul li:nth-of-type(1) {
  transition-delay: 0.2s;
}
.cp_fullscreenmenu .toggle1:checked ~ .menu > div > ul li:nth-of-type(2) {
  transition-delay: 0.3s;
}
.cp_fullscreenmenu .toggle1:checked ~ .menu > div > ul li:nth-of-type(3) {
  transition-delay: 0.4s;
}
.cp_fullscreenmenu .toggle1:checked ~ .menu > div > ul li:nth-of-type(4) {
  transition-delay: 0.5s;
}
.cp_fullscreenmenu .toggle1:checked ~ .menu > div > ul li:nth-of-type(5) {
  transition-delay: 0.6s;
}
.cp_fullscreenmenu .toggle1:checked ~ .menu > div > ul li:nth-of-type(6) {
  transition-delay: 0.7s;
}
.cp_fullscreenmenu .toggle1:checked ~ .menu > div > ul li:nth-of-type(7) {
  transition-delay: 0.8s;
}
.cp_fullscreenmenu .toggle1:checked ~ .menu > div > ul li:nth-of-type(8) {
  transition-delay: 0.9s;
}
.cp_fullscreenmenu .toggle1:checked ~ .menu > div > ul li:nth-of-type(9) {
  transition-delay: 1.0s;
}
.cp_fullscreenmenu .toggle1:hover + .hamburger {
  box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.1);
}
.cp_fullscreenmenu .toggle1:checked:hover + .hamburger > span {
  -webkit-transform: rotate(225deg);
  transform: rotate(225deg);
  background: #fff;
}
/*ハンバーガー*/
.cp_fullscreenmenu .hamburger {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  display: block;
  width: 60px;
  height: 60px;
  padding:0 0.8em;
  cursor: pointer;
  transition: box-shadow 0.4s ease;
  border-radius: 5em;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.cp_fullscreenmenu .hamburger p {
  position: absolute;
  bottom: -10px;
  color: #fff;
  font-size: 0.8em;
}
.cp_fullscreenmenu .hamburger > span:before,.cp_fullscreenmenu .hamburger > span:after {
	width: 160px;
}
.cp_fullscreenmenu .hamburger > span {
  position: relative;
  top: 34%;
  display: block;
  width: 76%;
  height: 2px;
  transition: all 0.4s ease;
  background: #fff;
  box-shadow: 0px 0px 10px #7B7B7B;
  -webkit-box-shadow: 0px 0px 10px #7B7B7B;
}
.cp_fullscreenmenu .hamburger > span:before, .cp_fullscreenmenu .hamburger > span:after {
  position: absolute;
  z-index: 1;
  top: -8px;
  left: 0;
  display: block;
  width: 130%;
  height: 2px;
  content: '';
  transition: all 0.4s ease;
  background: inherit;
  box-shadow: 0px 0px 10px #7B7B7B;
  -webkit-box-shadow: 0px 0px 10px #7B7B7B;
}
.cp_fullscreenmenu .hamburger > span:after {
  top: 8px;
	
}
.fuwafuwa {
  animation-name: fuwa;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  animation-duration: 1.5s;
}
@keyframes fuwa {
  0% {
    transform: translate(0, 0px);
  }
  100% {
    transform: translate(0, -15px)
  }
}
.slick-next {
  right: 50px;
}
.slick-prev {
  left: 50px;
  z-index: 20;
}

.smp-br {
  display: none;
}
.footer-p, .jyusyo-p {
  font-size: 80%;
}
@media (max-width: 575.98px) {
  .pc-br {
    display: none;
  }
  .smp-br {
    display: inline;
  }
  .honbun {
    font-size: 80%;
  }
  
}
@media screen and (max-width: 560px) {
  .news li {
    font-size: 80%;
  }
  .web-p {
    font-size: 80%;
  }
  .footer-p, .jyusyo-p {
    font-size: 70%;
  }
  .iframe-responsive {
    position: relative;
    width: 100%;
    padding: calc(315 / 560 * 100%) 0 0;
  }
  .iframe-responsive iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
	.dflex2 {
  background:none!important;
  background-size: 20%;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  width: 90%;
  margin: 0px auto;
  padding-left: 0;
  max-width: 1150px;
  padding-top: 0px;
		padding-bottom: 0px!important;
}
}
p.honbun2 {
  line-height: 1em !important;
}
.text-center img {
  margin: 0 auto;
}
.imax80 {
  max-width: 80%;
}
.dflex {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: flex-end;
	width: 90vw;
	max-width:1090px;
}
.dflex .imax80 {max-width:100%;}
.dflex2 {
  background: url("../images/kazoku3.png") no-repeat right bottom;
  background-size: 20%;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  width: 90%;
  margin: 0px auto;
  padding-left: 0;
  max-width: 1150px;
  padding-top: 0px;
	padding-bottom: 150px
}
.dflex2 h3 {
  margin: 0px auto 30px;
}
.dflex2 h4 {
  margin: 0px auto 10px;
  font-weight: 900;
  color: #009b37;
  min-height: 37px;
}
.dflex2 h4.n1 {
  background: url("../images/1.png")no-repeat 0 0;
  padding-left: 40px;
	width: 100%;
}
.dflex2 h4.n2 {
  background: url("../images/2.png")no-repeat 0 0;
  padding-left: 40px;
	width: 100%;
}
.dflex2 h4.n3 {
  background: url("../images/3.png")no-repeat 0 0;
  padding-left: 40px;
	width: 100%;
}
.dflex2 p {
  padding-left: 40px;
}
.dflex3 > table:nth-child(2n) {
	width: 238px;
	margin-left: 10px;
	margin-right: 10px;
}
.dflex3 > table:nth-child(2n+1) {
	width: 238px;
	margin-left: 10px;
	margin-right: 10px;
}
.dflex3 table td {
	font-size:12px;
		text-align: left;
		vertical-align:top; 
	}
.dflex3 table {
		margin-bottom:20px;
	}
	.dflex3 table tr>td:first-child {
		width: 30%;
		vertical-align: top;
	}
	.dflex3 table th {
	vertical-align: top;
		text-align: left;
	}
	.dflex3 table th.shopimage{
		height: 110px;
	}
	.dflex3 .shoph5l {
		height: 35px;
	}
	.dflex3 .shoph5 {
		height: 21px;
	}
.dflex3 {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  width: 93%;
  margin: 0px auto;
  padding-left: 0;
  max-width: 1150px;
}
.dflex3 h5 {
  margin: 0px auto 5px;
  font-size: 12px;
  font-weight: bold;
text-align: left;
}
.dflex3 p {
  margin-bottom: 5px;
  font-size: 12px;
  padding-left: 26px;
}
.tejyun01 span, .tejyun03 span {
  color: #009b37;
}

.tejyun01 h3, .tejyun02 h3,.tejyun02_ h3, .tejyun03 h3 {
  text-align: center;
	margin: 0 0 20px;
}
.green {
  color: #335d2d;
}
.accordion {
  margin:0 auto;
  max-width: 1150px;
  width: 90%;
}
.toggle {
  display: none;
}
.option {
  position: relative;
}
.title, .content {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: translateZ(0);
  transition: all 0.3s;
  text-align: left;
}
.title {
  padding: 40px 60px;
  display: block;
  color: #333;
  font-weight: bold;
  background: url("../images/q.png") no-repeat 0 center;
  cursor: pointer;
  border-top: 1px solid #335D2D;
}
.content {
  background: url("../images/a.png") no-repeat 0 0;
  padding-left: 40px;
}
.title::before {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 3px solid #335D2D;
  border-right: 3px solid #335D2D;
  -webkit-transform: rotate(45deg);
  position: absolute;
  top: calc(50% - 3px);
  right: 20px;
  transform: rotate(135deg);
}
.toggle:checked + .Label::before {
  transform: rotate(-45deg) !important;
}
.content {
  max-height: 0;
  overflow-x: hidden;
}
.content p {
  margin: 0;
  padding: 10px 0 40px 20px;
  font-size: 0.9em;
  line-height: 1.5;
}
.toggle:checked + .title + .content {
  max-height: 1500px;
  transition: all 1.5s;
}
.toggle:checked + .title::before {
  transform: rotate(360deg) !important
}
.toggle:checked + .title::before {
  transform: rotate(313deg) !important;
}
.toggle:checked + .title::after {
  transform: rotate(135deg) !important;
}
.bg-back3 table {
  margin-bottom: 5em;
}
.bg-back3 th, .bg-back3 td {
  text-align: left;
  vertical-align: top;
}
.bg-back3 th {
  padding-bottom: 20px;
  width: 20%;
}
.bg-back3 th span {
  background: #335d2d;
  text-align: center;
  color: #fff;
  width: 100%;
  padding: 5px 10px;
  display: block;
}
.bg-back3 td {
  padding: 5px 0px 20px 50px;
}
.border_b {
	border-bottom:1px solid #009b37;
}


.page-top{
  position: fixed;
  right: 15px;
  bottom: 90px!important;
  cursor: pointer;
  transition: .3s;
  
  /*デフォルトで非表示にする*/
  opacity: 0;
  visibility: hidden;
	z-index: 999;
}

/*このクラスが付与されると表示する*/
.active{
  opacity: 1;
  visibility: visible;
}


/*このクラスが付与されると表示する*/
.absolute{
  position: absolute;
  bottom: 0;
}

/*スライダー*/
@keyframes tonext {
  75% {
    left: 0;
  }
  95% {
    left: 100%;
  }
  98% {
    left: 100%;
  }
  99% {
    left: 0;
  }
}

@keyframes tostart {
  75% {
    left: 0;
  }
  95% {
    left: -300%;
  }
  98% {
    left: -300%;
  }
  99% {
    left: 0;
  }
}

@keyframes snap {
  96% {
    scroll-snap-align: center;
  }
  97% {
    scroll-snap-align: none;
  }
  99% {
    scroll-snap-align: none;
  }
  100% {
    scroll-snap-align: center;
  }
}


.carousel {
  position: relative;
  padding-top: 75%;
  filter: drop-shadow(0 0 10px #0003);
  perspective: 100px;
	width: 90%;
	margin: 0 auto;
}

.carousel__viewport {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  overflow-x: scroll;
  counter-reset: item;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
}

.carousel__slide {
  position: relative;
  flex: 0 0 100%;
  width: 100%;
  background-color: #f99;
  counter-increment: item;
}

.carousel__slide:nth-child(even) {
  background-color: #99f;
}

.carousel__slide:before {
  content: counter(item);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%,-40%,70px);
  color: #fff;
  font-size: 2em;
}

.carousel__snapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  scroll-snap-align: center;
}

@media (hover: hover) {
  .carousel__snapper {
    animation-name: tonext, snap;
    animation-timing-function: ease;
    animation-duration: 4s;
    animation-iteration-count: infinite;
  }

  .carousel__slide:last-child .carousel__snapper {
    animation-name: tostart, snap;
  }
}

@media (prefers-reduced-motion: reduce) {
  .carousel__snapper {
    animation-name: none;
  }
}

.carousel:hover .carousel__snapper,
.carousel:focus-within .carousel__snapper {
  animation-name: none;
}

.carousel__navigation {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  text-align: center;
}

.carousel__navigation-list,
.carousel__navigation-item {
  display: inline-block;
}

.carousel__navigation-button {
  display: inline-block;
  width: 1.5rem;
  height: 1.5rem;
  background-color: #333;
  background-clip: content-box;
  border: 0.25rem solid transparent;
  border-radius: 50%;
  font-size: 0;
  transition: transform 0.1s;
}

.carousel::before,
.carousel::after,
.carousel__prev,
.carousel__next {
  position: absolute;
  top: 0;
  margin-top: 37.5%;
  width: 4rem;
  height: 4rem;
  transform: translateY(-50%);
  border-radius: 50%;
  font-size: 0;
  outline: 0;
}

.carousel::before,
.carousel__prev {
  left: -1rem;
}

.carousel::after,
.carousel__next {
  right: -1rem;
}

.carousel::before,
.carousel::after {
  content: '';
  z-index: 1;
  background-color: #333;
  background-size: 1.5rem 1.5rem;
  background-repeat: no-repeat;
  background-position: center center;
  color: #fff;
  font-size: 2.5rem;
  line-height: 4rem;
  text-align: center;
  pointer-events: none;
}



.carousel::before {
  background: url("../images/le_lp_111.png") no-repeat 0 0!important;
	background-size: 45px!important;
}

.carousel::after {
  background: url("../images/lp_111.png") no-repeat 0 0!important;
	background-size: 45px!important;
}

.period_extended {
  text-align: center;
  padding: 30px 0;
  width: 80%;
  position: relative;
  margin: auto;
  background-color: #fff;
}

.period_ttl  {
  colior: #FF8401;
  font-size: 26px;
}

.period_extended p {
  font-size: 20px;
  margin: 0;
  font-weight: bold;
  color: orange;
  border-bottom: 2px dot;
}

.period_extended::before {
    content: "";
    width: 100%;
    height: 5%;
    background-color: orange;
    position: absolute;
    top: -15%;
    left: 0;
}

@media screen and (max-width: 480px) {
  .period_ttl {
    font-size: 16px;
    }
  .period_extended p {
    font-size: 15px;
   }
   }

.period_ttl {
    background-color: #fff;
    position: absolute;
    width: 100%;
    height: 20%;
    bottom: -2%;
    margin: 0;
    }


@media screen and (max-width: 350px) {
  .period_extended::before {
    content: "";
    width: 100%;
    height: 5%;
    background-color: orange;
    position: absolute;
    top: -11%;
    left: 0;
}}

/* Add IF */
.main_contents {
	flex-grow: 1;
}
.text-green {
	color: #335d2d;
}
.banner50 {
	max-width: 50%;
	margin: 0 auto 80px!important;
}
.banner50s {
	max-width: 50%;
	margin: 0 auto!important;
}
.banner100 {
	max-width: 90%;
	margin: 0 auto!important;
}
#header_logo a {
	margin-left: 0;
}
header li.header_instagram {
	text-align: right;
}
header li.header_instagram a {
	margin-right: 0!important;
}
.kazoku_left {
	position: absolute;
	left: 30px;
	top: 20px;
}
.kazoku_left img {
	width: 200px;
	height: auto;
}
.kazoku_right {
	position: absolute;
	right: 30px;
	bottom: -50px;
}
.kazoku_right img {
	width: 200px;
	height: auto;
}
ul#shop_list {
	display: flex;
	flex-wrap: wrap;
	width: 90%;
	max-width: 1230px;
	margin: 0 auto 60px;
	justify-content: space-between;
}
ul#shop_list li {
	width: 100%;
	border: 1px solid #dedede;
	margin-bottom: 26px;
	text-align: left;
}
ul#shop_list li a {
	display: block;
	width: 100%;
	height: 100%;
	clear: both;
}
ul#shop_list li a:hover {
	border: 1px solid #ccc;
}
ul#shop_list li p {
	margin: 0;
}
ul#shop_list li p.shop_img {
	width: 34%;
	float: left;
}
ul#shop_list li p.shop_img img {
	width: 100%;
	height: auto
}
ul#shop_list li div.shop_detail {
	width: 66%;
	float: right;
	padding: 8px 14px 0;
}
ul#shop_list li p.shop_exp {
	padding: 2px 6px;
	background: #888;
	color: #fff;
	font-size: 0.6em;
	display: inline;
}
ul#shop_list li h5 {
	width: 100%;
	font-size: 1em;
	border-bottom: 1px dotted #666;
	margin-top: 14px;
	margin-bottom: 14px;
	padding-bottom: 14px;
	color: #000;
}
ul#shop_list li h5 span {
	position: relative;
	display: block;
}
ul#shop_list li h5 span::after {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
	width: 0.8em;
	height: 0.8em;
	border-top: 2px solid #000;
	border-right: 2px solid #000;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
ul#shop_list li p.shop_tel {
	font-size: 0.9em;
	color: #000;
}
#footer_menu {
	text-align: center;
}
#footer_menu a {
	padding: 0 4px;
}
#sp_phone_img.sp {
	width: 100%;
	margin: 0 auto 20px;
}
#sp_phone_img.sp img {
	width: 100%;
	height: auto;
}
.sp_instagram.sp {
	margin-top: 24px;
}
#copyright {
	margin-bottom: 1.5rem;
}
@media (min-width: 979.1px) {
	ul#shop_list li {
		width: 49%;
	}
}
#pankuzu {
	width: 100%;
	background: #f7f6f5;
	padding: 8px 0;
}
#pankuzu ul {
	max-width: 1150px;
	margin: 0 auto;
	display: flex;
}
#pankuzu ul li {
	font-size: 0.9em;
}
#pankuzu ul > * + * {
	margin-left: 0.5em;
}
#pankuzu ul > * + *::before {
	content: ">";
	margin-left: 0.5em;
	margin-right: 0.5em;
}
#pankuzu ul li a {
	text-decoration: none;
	color: #000;
}
#pankuzu ul li a:hover {
	opacity: 0.7;
}
#shop_main {
	max-width: 1150px;
	margin: 40px auto;
}
#shop_main #shop_main_img {
	width: 25%;
	float: left;
}
#shop_main #shop_main_img img {
	width: 100%;
	height: auto;
}
#shop_main #shop_main_detail {
	width: 75%;
	float: right;
	padding: 10px 0 0 40px;
	margin-bottom: 140px;
}
#shop_main #shop_main_detail p.shop_main_exp {
	padding: 2px 6px;
	background: #888;
	color: #fff;
	font-size: 0.8em;
	display: inline;
}
#shop_main #shop_main_detail h2 {
	text-align: left;
	font-size: 25px;
	border-bottom: 1px dotted #666;
	margin-top: 20px;
	margin-bottom: 20px;
	padding-bottom: 20px;
}
#shop_main #shop_main_detail p.shop_main_sns span,
#shop_main #shop_main_detail p.shop_main_sns a {
	margin-left: 10px;
	color: #000;
}

p.shop_main_sns span,
p.shop_main_sns a {
	margin-left: 10px;
	color: #000;
}
.shop_main_sns {
	border-bottom: 1px dotted #666;
	padding-bottom: 15px;
}
.prfs21 {
	font-size:21px;
}
#shop_main #shop_main_detail table,#shop_main_detail2 table {
	margin-bottom: 1rem;
	width: 100%;
	border-top: 1px dotted #666;
}
#shop_main #shop_main_detail table th,#shop_main_detail2 table th {
	font-weight: normal;
	line-height: 2rem;
	vertical-align: top;
	border-bottom: 1px dotted #666;
	padding-top: 10px;
	padding-bottom: 10px;
}
#shop_main #shop_main_detail table td,#shop_main_detail2 table td {
	line-height: 2rem;
	border-bottom: 1px dotted #666;
	padding-top: 10px;
	padding-bottom: 10px;
}
#shop_top_button {
	clear: both;
	margin-bottom: 80px;
}
#footer-inner {
	padding-right: 0;
	padding-left: 0;
}
@media (max-width: 1199px) {
	#pankuzu ul {
		max-width: 100%;
		padding: 0 12px;
	}
	#header_logo a {
		margin-left: 12px;
	}
	header li.header_instagram {
		text-align: left;
	}
	header li.header_instagram a {
		margin-right: 16px!important;
	}

	#shop_main {
		max-width: 100%;
		padding: 0 26px;
	}
	#shop_main #shop_main_img {
		width: 100%;
		float: none;
	}
	#shop_main #shop_main_detail {
		width: 100%;
		float: none;
		padding: 10px 0 0;
		margin-bottom: 30px;
	}
}
@media (min-width: 1200px) {
	#shop_main #shop_main_detail p.shop_main_sns a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}
}
@media (max-width: 575px) {
	ul#shop_list li div.shop_detail {
		padding: 4px 14px 0;
	}
	ul#shop_list li h5 {
		margin-top: 4px;
		margin-bottom: 4px;
		padding-bottom: 4px;
	}
}
dl#tokushou {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
dl#tokushou dt,
dl#tokushou dd {
	margin: 10px;
	box-sizing: border-box;
	text-align: left!important;
}
dl#tokushou dt {
	flex-basis: calc(35% - 20px);
}
dl#tokushou dd {
	flex-basis: calc(65% - 20px);
}
@media (max-width: 1199px) {
	dl#tokushou dt,
	dl#tokushou dd {
		flex-basis: 100%;
	}
}
#faq {
	width: 100%;
}
#instagram {
	width: 100%;
	background: #f7f6f5;
	margin-top: 0;
	padding: 70px 0;
}
#instagram h2 {
	margin-bottom: 60px;
}
#instagram ul#instagram_list {
	width: 90%;
	max-width: 1230px;
	margin: 0 auto;
	padding: 0 0 40px;
	column-count: 6;
}
@media (max-width: 1199px) {
	#instagram ul#instagram_list {
		column-count: 3;
	}
}
#instagram ul#instagram_list li {
	margin-bottom: 20px;
}
#instagram ul#instagram_list li img {
	width: 100%;
	height: auto;
}

/* 第6回トップページ */
.v6-top {
	background: linear-gradient(180deg, #fffdf6 0%, #ffffff 48%, #f4faf2 100%);
	background-image: linear-gradient(180deg, #fffdf6 0%, #ffffff 48%, #f4faf2 100%) !important;
	background-size: auto !important;
	box-sizing: border-box;
	display: block !important;
	width: 100%;
	min-height: 0;
	overflow: visible;
	padding: 56px 20px 24px;
	word-break: normal;
}
.mcontainer.v6-top {
	align-items: stretch;
	justify-content: initial;
}
.v6-top * {
	box-sizing: border-box;
	word-break: normal;
}
.v6-top p {
	width: auto;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}
.mcontainer.v6-top span {
	animation: none;
	background: transparent;
}
.v6-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 280px;
	gap: 42px;
	align-items: center;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto 28px;
	padding: 38px 42px;
	background: #ffffff;
	border: 3px solid #dcefd6;
	border-radius: 8px;
	box-shadow: 0 18px 38px rgba(51, 93, 45, 0.14);
	position: relative;
	overflow: hidden;
}
.v6-hero::before,
.v6-hero::after {
	content: "";
	position: absolute;
	border-radius: 999px;
	background: rgba(242, 152, 79, 0.16);
}
.v6-hero::before {
	width: 220px;
	height: 220px;
	right: -70px;
	top: -90px;
}
.v6-hero::after {
	width: 160px;
	height: 160px;
	left: -72px;
	bottom: -88px;
	background: rgba(0, 155, 55, 0.12);
}
.v6-hero__text,
.v6-phone {
	position: relative;
	z-index: 1;
}
.v6-hero__badge {
	display: inline-block;
	margin: 0 0 16px;
	padding: 8px 18px;
	background: #ffe400;
	color: #335d2d;
	border-radius: 999px;
	font-weight: 700;
	line-height: 1.3;
}
.v6-hero h1 {
	width: auto;
	max-width: none;
	margin: 0 0 14px;
	color: #335d2d;
	font-size: 56px;
	line-height: 1;
	text-align: left;
	letter-spacing: 0;
	white-space: nowrap;
	word-break: keep-all;
}
.v6-hero__lead {
	margin: 0 0 22px;
	color: #2b3b28;
	font-size: 20px;
	font-weight: 700;
}
.v6-hero__benefit {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 8px 12px;
	margin: 0 0 22px;
	color: #335d2d;
	font-weight: 700;
}
.v6-hero__benefit strong {
	color: #f2984f;
	font-size: 44px;
	line-height: 1;
}
.v6-hero__schedule {
	margin: 0 0 16px;
}
.v6-hero__schedule div {
	display: grid;
	grid-template-columns: 92px minmax(0, 1fr);
	gap: 12px;
	margin-bottom: 10px;
	align-items: start;
}
.v6-hero__schedule dt {
	padding: 4px 8px;
	background: #335d2d;
	color: #ffffff;
	border-radius: 4px;
	text-align: center;
	font-weight: 700;
}
.v6-hero__schedule dd {
	margin: 0;
	color: #243321;
	font-weight: 700;
	line-height: 1.65;
}
.v6-hero__schedule dd span,
.v6-hero__register {
	color: #5f6b5a;
	font-size: 14px;
	font-weight: 700;
}
.v6-hero__register {
	margin: 0;
}
.v6-phone {
	width: 244px;
	margin: 0 auto;
	padding: 14px;
	background: #263228;
	border-radius: 34px;
	box-shadow: 0 16px 32px rgba(0, 0, 0, 0.20);
}
.v6-phone__screen {
	min-height: 360px;
	padding: 62px 22px 28px;
	background: linear-gradient(180deg, #ffffff 0%, #f4faf2 100%);
	border-radius: 24px;
	text-align: center;
}
.v6-phone__logo {
	margin-bottom: 56px;
	color: #335d2d;
	font-size: 34px;
	font-weight: 800;
	line-height: 1;
}
.v6-phone__logo span {
	color: #f2984f;
	margin-left: 4px;
}
.v6-phone__button {
	margin: 0 auto 14px;
	padding: 14px 12px;
	background: #009b37;
	color: #ffffff;
	border: 2px solid #009b37;
	border-radius: 7px;
	font-weight: 700;
}
.v6-phone__button--outline {
	background: #ffffff;
	color: #009b37;
}
.v6-info-cards {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 12px;
	width: min(1120px, 100%);
	margin: 0 auto 22px;
	padding: 0;
}
.v6-info-cards li {
	min-height: 104px;
	padding: 18px 12px;
	background: #ffffff;
	border: 2px solid #dcefd6;
	border-radius: 8px;
	color: #335d2d;
	font-size: 15px;
	font-weight: 700;
	text-align: center;
	box-shadow: 0 8px 18px rgba(51, 93, 45, 0.08);
}
.v6-info-cards li span {
	display: block;
	margin-bottom: 6px;
	color: #f2984f;
	font-size: 22px;
	line-height: 1.2;
}
.v6-stamp-banner {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 24px;
	width: min(980px, 100%);
	margin: 0 auto 28px;
	padding: 22px 26px;
	background: linear-gradient(135deg, #fff3a8 0%, #ffd36b 52%, #f2984f 100%);
	border: 3px solid #ffbf3f;
	border-radius: 8px;
	color: #3d3216;
	box-shadow: 0 12px 26px rgba(242, 152, 79, 0.22);
}
.v6-stamp-banner--compact {
	margin-top: 8px;
	margin-bottom: 46px;
}
.v6-stamp-banner p {
	margin: 0;
	font-weight: 700;
	line-height: 1.5;
}
.v6-stamp-banner__title {
	color: #335d2d;
	font-size: 28px;
}
.v6-stamp-banner a {
	flex: 0 0 auto;
	padding: 12px 20px;
	background: #335d2d;
	color: #ffffff;
	border-radius: 6px;
	font-weight: 700;
}
.v6-stamp-banner__items {
	display: grid;
	grid-template-columns: repeat(3, 42px);
	gap: 8px;
	align-items: end;
}
.v6-stamp-card,
.v6-stamp,
.v6-gift {
	display: block;
	position: relative;
}
.v6-stamp-card {
	width: 42px;
	height: 54px;
	background: #ffffff;
	border: 3px solid #335d2d;
	border-radius: 6px;
	box-shadow: inset 0 -12px 0 rgba(0, 155, 55, 0.12);
}
.v6-stamp-card::before {
	content: "";
	position: absolute;
	width: 9px;
	height: 9px;
	left: 8px;
	top: 10px;
	background: #f2984f;
	border-radius: 50%;
	box-shadow: 16px 0 #f2984f, 0 17px #f2984f, 16px 17px #f2984f;
}
.v6-stamp {
	width: 40px;
	height: 40px;
	background: #ffffff;
	border: 4px solid #f04b2f;
	border-radius: 50%;
}
.v6-stamp::after {
	content: "";
	position: absolute;
	width: 18px;
	height: 8px;
	left: 7px;
	top: -11px;
	background: #f04b2f;
	border-radius: 4px 4px 0 0;
}
.v6-gift {
	width: 42px;
	height: 38px;
	background: #ffffff;
	border: 3px solid #335d2d;
	border-radius: 5px;
}
.v6-gift::before {
	content: "";
	position: absolute;
	left: 17px;
	top: -3px;
	width: 5px;
	height: 38px;
	background: #f2984f;
}
.v6-gift::after {
	content: "";
	position: absolute;
	left: -3px;
	top: 12px;
	width: 42px;
	height: 5px;
	background: #f2984f;
}
@media (max-width: 991px) {
	.v6-top {
		padding: 28px 14px 18px;
	}
	.v6-hero {
		grid-template-columns: 1fr;
		gap: 28px;
		padding: 30px 22px;
	}
	.v6-hero h1 {
		font-size: 44px;
		text-align: center;
		white-space: normal;
	}
	.v6-hero__text {
		text-align: center;
	}
	.v6-hero__schedule div {
		grid-template-columns: 1fr;
	}
	.v6-info-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.v6-stamp-banner {
		flex-direction: column;
		gap: 14px;
		text-align: center;
	}
}
@media (max-width: 575px) {
	.v6-hero {
		padding: 24px 16px;
	}
	.v6-hero__benefit {
		justify-content: center;
	}
	.v6-hero__benefit strong {
		font-size: 34px;
	}
	.v6-phone {
		width: 220px;
	}
	.v6-phone__screen {
		min-height: 360px;
		padding-top: 58px;
	}
	.v6-info-cards {
		grid-template-columns: 1fr;
	}
	.v6-info-cards li {
		min-height: auto;
	}
	.v6-stamp-banner__title {
		font-size: 24px;
	}
}

/* 第6回トップ リニューアル上書き */
.v6-top {
	background:
		radial-gradient(circle at 8% 16%, rgba(255, 228, 0, 0.26) 0 70px, transparent 72px),
		radial-gradient(circle at 88% 8%, rgba(242, 152, 79, 0.20) 0 110px, transparent 112px),
		linear-gradient(180deg, #f3ffe9 0%, #fffdf2 48%, #ffffff 100%) !important;
	display: block !important;
	position: relative;
	overflow: hidden;
	padding: 42px 20px 34px;
	word-break: normal;
}
.v6-top::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: 86px;
	background: linear-gradient(135deg, transparent 0 42%, rgba(0, 155, 55, 0.13) 42% 58%, transparent 58% 100%);
	background-size: 92px 86px;
}
.v6-confetti {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image:
		linear-gradient(45deg, #ffe400 0 8px, transparent 8px),
		linear-gradient(-25deg, #f2984f 0 8px, transparent 8px),
		linear-gradient(15deg, #7bd46d 0 8px, transparent 8px);
	background-size: 180px 180px, 220px 220px, 260px 260px;
	background-position: 18px 28px, 110px 80px, 44px 138px;
	opacity: 0.32;
}
.v6-top * {
	box-sizing: border-box;
	word-break: normal;
}
.v6-top p {
	width: auto;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}
.v6-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 430px;
	gap: 30px;
	align-items: center;
	width: min(1200px, 100%);
	min-height: 520px;
	margin: 0 auto 20px;
	padding: 42px 42px 38px;
	background:
		linear-gradient(#fff 0 0) padding-box,
		linear-gradient(135deg, #ffde58, #7bd46d, #009b37) border-box;
	border: 5px solid transparent;
	border-radius: 22px;
	box-shadow: 0 20px 46px rgba(51, 93, 45, 0.18);
	position: relative;
	overflow: hidden;
}
.v6-hero::before {
	content: "";
	position: absolute;
	left: -90px;
	bottom: -70px;
	width: 360px;
	height: 220px;
	background: rgba(103, 198, 215, 0.28);
	border-radius: 50%;
}
.v6-hero::after {
	content: "";
	position: absolute;
	right: -80px;
	top: -70px;
	width: 250px;
	height: 250px;
	background: rgba(255, 228, 0, 0.28);
	border-radius: 50%;
}
.v6-hero__text,
.v6-hero__art {
	position: relative;
	z-index: 1;
}
.v6-hero__badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 14px;
	padding: 9px 18px;
	background: #ffe400;
	color: #335d2d;
	border: 3px solid #335d2d;
	border-radius: 999px;
	font-weight: 800;
	box-shadow: 4px 4px 0 rgba(51, 93, 45, 0.18);
}
.v6-hero__badge::before {
	content: "";
	width: 14px;
	height: 14px;
	background: #f04b2f;
	border-radius: 50%;
	box-shadow: 18px 0 #7bd46d;
}
.v6-hero h1 {
	width: auto;
	max-width: none;
	margin: 0 0 12px;
	color: #335d2d;
	font-size: clamp(58px, 6vw, 88px);
	font-weight: 900;
	line-height: 0.95;
	text-align: left;
	letter-spacing: 0;
	white-space: nowrap;
	word-break: keep-all;
	text-shadow: 0 5px 0 #fff2a7;
}
.v6-hero h1 span {
	color: #009b37;
}
.v6-hero__lead {
	max-width: 670px;
	margin: 0 0 18px;
	color: #243321;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.75;
}
.v6-hero__benefit {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 8px 12px;
	margin: 0 0 18px;
	padding: 14px 18px;
	background: #fff8cf;
	border: 3px solid #f2984f;
	border-radius: 16px;
	color: #335d2d;
	font-weight: 800;
	box-shadow: 7px 7px 0 rgba(242, 152, 79, 0.18);
}
.v6-hero__benefit strong {
	color: #f04b2f;
	font-size: clamp(34px, 4.2vw, 54px);
	line-height: 1;
}
.v6-hero__schedule {
	display: grid;
	gap: 10px;
	margin: 0 0 18px;
}
.v6-hero__schedule div {
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr);
	gap: 12px;
	align-items: start;
}
.v6-hero__schedule dt {
	padding: 7px 10px;
	background: #335d2d;
	color: #fff;
	border-radius: 999px;
	text-align: center;
	font-weight: 800;
}
.v6-hero__schedule dd {
	margin: 0;
	color: #243321;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.65;
}
.v6-hero__schedule dd span {
	display: inline-block;
	margin-top: 2px;
	color: #b83622;
	font-size: 14px;
}
.v6-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 16px;
	align-items: center;
}
.v6-hero__actions a,
.v6-stamp-banner a,
.v6-secure__note a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 12px 24px;
	background: #f04b2f;
	color: #fff !important;
	border-radius: 999px;
	font-weight: 800;
	text-decoration: none;
	box-shadow: 0 8px 0 #b83622, 0 14px 24px rgba(240, 75, 47, 0.24);
}
.v6-hero__actions a::after,
.v6-stamp-banner a::after {
	content: ">";
	margin-left: 10px;
}
.v6-hero__actions span {
	color: #335d2d;
	font-size: 14px;
	font-weight: 800;
}
.v6-hero__art {
	min-height: 440px;
}
.v6-town {
	position: absolute;
	left: -42px;
	right: -12px;
	bottom: -4px;
	width: 440px;
	max-width: none;
	filter: drop-shadow(0 10px 12px rgba(51, 93, 45, 0.15));
}
.v6-phone {
	position: absolute;
	right: 40px;
	top: 10px;
	z-index: 2;
	width: 238px;
	margin: 0;
	padding: 14px;
	background: linear-gradient(180deg, #293429 0%, #101710 100%);
	border-radius: 36px;
	box-shadow: 0 20px 34px rgba(0, 0, 0, 0.26);
}
.v6-phone::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 8px;
	width: 62px;
	height: 6px;
	background: #0b100b;
	border-radius: 999px;
	transform: translateX(-50%);
}
.v6-phone__screen {
	min-height: 360px;
	padding: 72px 22px 28px;
	background:
		radial-gradient(circle at 20% 18%, rgba(255, 228, 0, 0.22) 0 42px, transparent 44px),
		linear-gradient(180deg, #ffffff 0%, #f1ffe9 100%);
	border-radius: 25px;
	text-align: center;
}
.v6-phone__logo {
	margin-bottom: 62px;
	color: #335d2d;
	font-size: 35px;
	font-weight: 900;
	line-height: 1;
	white-space: nowrap;
}
.v6-phone__logo span {
	color: #f2984f;
	margin-left: 4px;
}
.v6-phone__button {
	margin: 0 auto 14px;
	padding: 14px 10px;
	background: #009b37;
	color: #fff;
	border: 3px solid #009b37;
	border-radius: 10px;
	font-weight: 800;
	box-shadow: 0 5px 0 rgba(51, 93, 45, 0.16);
}
.v6-phone__button--outline {
	background: #fff;
	color: #009b37;
}
.v6-mascot {
	position: relative;
	width: 56px;
	height: 56px;
	background: #fff;
	border: 4px solid #335d2d;
	border-radius: 50%;
	box-shadow: 0 8px 0 rgba(51, 93, 45, 0.16);
}
.v6-mascot::before,
.v6-mascot::after {
	content: "";
	position: absolute;
	top: 20px;
	width: 7px;
	height: 7px;
	background: #335d2d;
	border-radius: 50%;
}
.v6-mascot::before {
	left: 17px;
}
.v6-mascot::after {
	right: 17px;
}
.v6-mascot span {
	position: absolute;
	left: 17px;
	top: 32px;
	width: 18px;
	height: 8px;
	border-bottom: 4px solid #f04b2f;
	border-radius: 0 0 999px 999px;
}
.v6-mascot--hero {
	position: absolute;
	right: 16px;
	bottom: 58px;
	z-index: 3;
}
.v6-info-cards {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 14px;
	width: min(1160px, 100%);
	margin: 0 auto 22px;
	padding: 0;
	position: relative;
	z-index: 1;
}
.v6-info-cards li {
	position: relative;
	min-height: 124px;
	padding: 17px 12px 14px;
	background: #fff;
	border: 3px solid #d5efc9;
	border-radius: 18px;
	color: #335d2d;
	font-size: 15px;
	font-weight: 800;
	text-align: center;
	box-shadow: 0 8px 0 rgba(0, 155, 55, 0.12), 0 14px 22px rgba(51, 93, 45, 0.08);
}
.v6-info-cards li::after {
	content: "";
	position: absolute;
	right: 10px;
	top: 10px;
	width: 14px;
	height: 14px;
	background: #ffe400;
	border-radius: 50%;
}
.v6-info-cards li span {
	display: block;
	margin: 8px 0 4px;
	color: #f04b2f;
	font-size: 22px;
	line-height: 1.2;
}
.v6-icon {
	display: block;
	width: 38px;
	height: 38px;
	margin: 0 auto;
	background: #f2984f;
	border: 3px solid #335d2d;
	border-radius: 12px;
	position: relative;
}
.v6-icon--percent::before {
	content: "%";
	position: absolute;
	inset: 0;
	color: #fff;
	font-size: 23px;
	font-weight: 900;
	line-height: 32px;
}
.v6-icon--ticket {
	background: #ffe400;
}
.v6-icon--ticket::before {
	content: "";
	position: absolute;
	inset: 9px 6px;
	border-top: 4px dashed #335d2d;
	border-bottom: 4px dashed #335d2d;
}
.v6-icon--coin {
	border-radius: 50%;
	background: #ffdd56;
}
.v6-icon--coin::before {
	content: "¥";
	position: absolute;
	inset: 0;
	color: #335d2d;
	font-size: 23px;
	font-weight: 900;
	line-height: 32px;
}
.v6-icon--limit::before {
	content: "";
	position: absolute;
	left: 9px;
	top: 8px;
	width: 14px;
	height: 17px;
	background: #fff;
	border-radius: 999px 999px 6px 6px;
}
.v6-icon--card::before {
	content: "";
	position: absolute;
	left: 6px;
	top: 10px;
	width: 22px;
	height: 4px;
	background: #fff;
	box-shadow: 0 10px #fff;
}
.v6-stamp-banner {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 24px;
	width: min(1040px, 100%);
	margin: 0 auto 28px;
	padding: 24px 28px;
	background:
		radial-gradient(circle at 12% 18%, rgba(255, 255, 255, 0.55) 0 34px, transparent 36px),
		linear-gradient(135deg, #fff4a5 0%, #ffd45f 48%, #f2984f 100%);
	border: 4px solid #ffbd35;
	border-radius: 24px;
	color: #3d3216;
	box-shadow: 0 12px 0 rgba(242, 152, 79, 0.18), 0 18px 30px rgba(242, 152, 79, 0.20);
	position: relative;
	z-index: 1;
	overflow: hidden;
}
.v6-stamp-banner::after {
	content: "";
	position: absolute;
	right: 18px;
	top: 14px;
	width: 110px;
	height: 50px;
	background: repeating-linear-gradient(90deg, rgba(255,255,255,0.44) 0 8px, transparent 8px 16px);
	transform: rotate(-12deg);
}
.v6-stamp-banner--compact {
	margin-top: 8px;
	margin-bottom: 46px;
}
.v6-stamp-banner p {
	margin: 0;
	font-weight: 800;
	line-height: 1.55;
}
.v6-stamp-banner__title {
	color: #335d2d;
	font-size: 31px;
	text-shadow: 0 3px 0 rgba(255,255,255,0.55);
}
.v6-stamp-banner a {
	position: relative;
	z-index: 1;
	flex: 0 0 auto;
}
.v6-stamp-banner__items {
	display: grid;
	grid-template-columns: repeat(4, 42px);
	gap: 10px;
	align-items: end;
	position: relative;
	z-index: 1;
}
.v6-stamp-card,
.v6-stamp,
.v6-gift {
	display: block;
	position: relative;
}
.v6-stamp-card {
	width: 46px;
	height: 60px;
	background: #fff;
	border: 4px solid #335d2d;
	border-radius: 8px;
	box-shadow: inset 0 -14px 0 rgba(0, 155, 55, 0.13);
}
.v6-stamp-card::before {
	content: "";
	position: absolute;
	width: 9px;
	height: 9px;
	left: 8px;
	top: 10px;
	background: #f2984f;
	border-radius: 50%;
	box-shadow: 18px 0 #f2984f, 0 19px #f2984f, 18px 19px #f2984f;
}
.v6-stamp {
	width: 44px;
	height: 44px;
	background: #fff;
	border: 5px solid #f04b2f;
	border-radius: 50%;
}
.v6-stamp::after {
	content: "";
	position: absolute;
	width: 20px;
	height: 9px;
	left: 7px;
	top: -13px;
	background: #f04b2f;
	border-radius: 5px 5px 0 0;
}
.v6-gift {
	width: 46px;
	height: 42px;
	background: #fff;
	border: 4px solid #335d2d;
	border-radius: 6px;
}
.v6-gift::before {
	content: "";
	position: absolute;
	left: 18px;
	top: -4px;
	width: 6px;
	height: 42px;
	background: #f2984f;
}
.v6-gift::after {
	content: "";
	position: absolute;
	left: -4px;
	top: 13px;
	width: 46px;
	height: 6px;
	background: #f2984f;
}
.v6-mascot--stamp {
	width: 42px;
	height: 42px;
	align-self: center;
}
.v6-mascot--stamp::before,
.v6-mascot--stamp::after {
	top: 15px;
}
.v6-mascot--stamp::before {
	left: 12px;
}
.v6-mascot--stamp::after {
	right: 12px;
}
.v6-first-guide {
	width: min(1040px, 100%);
	margin: 0 auto;
	padding: 22px;
	background: rgba(255, 255, 255, 0.92);
	border: 3px dashed #8ad36f;
	border-radius: 22px;
	position: relative;
	z-index: 1;
}
.v6-first-guide h2 {
	margin: 0 0 18px;
	color: #335d2d;
	font-size: 25px;
	text-align: center;
}
.v6-first-guide ol {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin: 0;
	padding: 0;
	counter-reset: v6step;
}
.v6-first-guide li {
	position: relative;
	padding: 18px 16px 18px 58px;
	background: #f7fff1;
	border-radius: 16px;
	color: #335d2d;
	font-weight: 800;
	text-align: left;
	counter-increment: v6step;
}
.v6-first-guide li::before {
	content: counter(v6step);
	position: absolute;
	left: 15px;
	top: 18px;
	width: 30px;
	height: 30px;
	background: #f2984f;
	color: #fff;
	border-radius: 50%;
	text-align: center;
	line-height: 30px;
}
.v6-first-guide span {
	display: block;
	margin-top: 5px;
	color: #55634f;
	font-size: 14px;
	font-weight: 700;
}
.v6-secure {
	background:
		radial-gradient(circle at 12% 12%, rgba(255, 228, 0, 0.18) 0 80px, transparent 82px),
		linear-gradient(180deg, #fff8cf 0%, #ffffff 100%);
	padding: 58px 20px;
}
.v6-secure__inner {
	width: min(1120px, 100%);
	margin: 0 auto;
	padding: 34px;
	background: #fff;
	border: 4px solid #d5efc9;
	border-radius: 26px;
	box-shadow: 0 16px 36px rgba(51, 93, 45, 0.12);
}
.v6-secure__heading {
	text-align: center;
}
.v6-secure__heading p {
	display: inline-block;
	margin: 0 0 10px;
	padding: 8px 18px;
	background: #009b37;
	color: #fff;
	border-radius: 999px;
	font-weight: 800;
}
.v6-secure__heading h2 {
	margin: 0 0 12px;
	color: #335d2d;
	font-size: clamp(30px, 4vw, 46px);
	line-height: 1.2;
}
.v6-secure__heading span {
	display: block;
	color: #4f5f49;
	font-weight: 700;
	line-height: 1.7;
}
.v6-secure__diagram {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	gap: 18px;
	align-items: center;
	margin: 30px 0 22px;
}
.v6-secure__card {
	min-height: 210px;
	padding: 26px;
	border-radius: 22px;
	text-align: center;
	font-weight: 800;
	position: relative;
	overflow: hidden;
}
.v6-secure__card::after {
	content: "";
	position: absolute;
	right: -28px;
	bottom: -28px;
	width: 110px;
	height: 110px;
	background: rgba(255,255,255,0.35);
	border-radius: 50%;
}
.v6-secure__card--green {
	background: #e8fbdf;
	border: 3px solid #8ad36f;
	color: #335d2d;
}
.v6-secure__card--orange {
	background: #fff1d7;
	border: 3px solid #f2984f;
	color: #6a3e18;
}
.v6-secure__card i {
	display: block;
	width: 76px;
	height: 76px;
	margin: 0 auto 16px;
	background: #fff;
	border: 4px solid currentColor;
	border-radius: 20px;
	position: relative;
}
.v6-secure__card--green i::before {
	content: "";
	position: absolute;
	left: 21px;
	top: 25px;
	width: 28px;
	height: 14px;
	border-left: 7px solid #009b37;
	border-bottom: 7px solid #009b37;
	transform: rotate(-45deg);
}
.v6-secure__card--orange i::before {
	content: "";
	position: absolute;
	left: 20px;
	top: 17px;
	width: 27px;
	height: 38px;
	border: 6px solid #f04b2f;
	border-radius: 14px;
}
.v6-secure__card strong {
	display: block;
	margin-bottom: 8px;
	font-size: 22px;
}
.v6-secure__card p {
	margin: 0;
	line-height: 1.7;
}
.v6-secure__arrow {
	padding: 10px 16px;
	background: #ffe400;
	border-radius: 999px;
	color: #335d2d;
	font-weight: 900;
}
.v6-secure__note {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	align-items: center;
	justify-content: space-between;
	padding: 18px 20px;
	background: #f4faf2;
	border-radius: 18px;
}
.v6-secure__note p {
	margin: 0;
	color: #335d2d;
	font-weight: 800;
	line-height: 1.7;
}
.v6-secure__note a {
	background: #335d2d;
	box-shadow: 0 8px 0 #1f3a1c, 0 14px 24px rgba(51, 93, 45, 0.22);
}
/* 旧3Dセキュア画像ブロックは第6回専用の図解に置き換える */
.tejyun02_ {
	display: none !important;
}
.side-menu .anime-link3 {
	filter: drop-shadow(0 8px 12px rgba(0, 0, 0, 0.18));
}
@media (max-width: 991px) {
	.v6-top {
		padding: 24px 14px 28px;
	}
	.v6-hero {
		grid-template-columns: 1fr;
		min-height: 0;
		gap: 22px;
		padding: 28px 18px 24px;
	}
	.v6-hero h1 {
		font-size: 52px;
		text-align: center;
		white-space: normal;
	}
	.v6-hero__text {
		text-align: center;
	}
	.v6-hero__benefit {
		justify-content: center;
	}
	.v6-hero__schedule div {
		grid-template-columns: 1fr;
	}
	.v6-hero__art {
		min-height: 420px;
	}
	.v6-town {
		left: 50%;
		width: 410px;
		transform: translateX(-50%);
	}
	.v6-phone {
		left: 50%;
		right: auto;
		transform: translateX(-50%);
	}
	.v6-mascot--hero {
		right: calc(50% - 150px);
	}
	.v6-info-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.v6-stamp-banner {
		flex-direction: column;
		gap: 16px;
		text-align: center;
	}
	.v6-first-guide ol,
	.v6-secure__diagram {
		grid-template-columns: 1fr;
	}
	.v6-secure__arrow {
		justify-self: center;
	}
}
@media (max-width: 575px) {
	html,
	body {
		max-width: 100%;
		overflow-x: hidden;
	}
	.v6-top {
		width: 100%;
		padding-left: 10px;
		padding-right: 10px;
		overflow: hidden;
	}
	.v6-hero {
		width: calc(100vw - 20px);
		max-width: calc(100vw - 20px);
		padding: 24px 14px;
		border-width: 4px;
		margin-left: auto;
		margin-right: auto;
	}
	.v6-hero * {
		max-width: 100%;
	}
	.v6-hero__text {
		width: min(100%, 310px);
		min-width: 0;
		margin-left: 0;
		margin-right: auto;
	}
	.v6-hero h1 {
		font-size: 42px;
	}
	.v6-hero__lead {
		width: min(100%, 310px);
		max-width: 100%;
		margin-left: 0;
		margin-right: auto;
		font-size: 16px;
		overflow-wrap: anywhere;
		word-break: break-all;
		line-break: strict;
	}
	.v6-hero__benefit {
		display: grid;
		width: min(100%, 310px);
		max-width: 100%;
		justify-items: center;
		margin-left: 0;
		margin-right: auto;
		padding: 12px 8px;
		text-align: center;
	}
	.v6-hero__benefit strong {
		font-size: 32px;
		white-space: nowrap;
	}
	.v6-hero__schedule dd {
		overflow-wrap: anywhere;
		word-break: break-all;
	}
	.v6-hero__schedule {
		width: min(100%, 310px);
		margin-left: 0;
		margin-right: auto;
	}
	.v6-hero__actions {
		width: min(100%, 310px);
		margin-left: 0;
		margin-right: auto;
		justify-content: center;
	}
	.v6-hero__actions span {
		display: block;
		width: 100%;
		overflow-wrap: anywhere;
		word-break: break-all;
	}
	.v6-hero__art {
		min-height: 380px;
	}
	.v6-phone {
		width: 218px;
		max-width: calc(100vw - 96px);
	}
	.v6-phone__screen {
		min-height: 330px;
		padding-top: 58px;
	}
	.v6-town {
		width: 360px;
		max-width: calc(100vw - 20px);
	}
	.v6-info-cards {
		grid-template-columns: 1fr;
	}
	.v6-info-cards li {
		min-height: auto;
	}
	.v6-stamp-banner__title {
		font-size: 25px;
	}
	.v6-secure {
		padding: 36px 12px;
	}
	.v6-secure__inner {
		padding: 22px 14px;
	}
}


/* ============================================================
   第6回トップ最終デザイン
   現行サイトの画像見出し・バナー・CTA密度を、非人物イラストで再構成する
   ============================================================ */
.top_page_b {
	overflow-x: hidden;
}
.v6-festival {
	--v6-green: #009b37;
	--v6-deep: #2f5a2b;
	--v6-light: #d8f5c8;
	--v6-yellow: #ffe449;
	--v6-orange: #f49a45;
	--v6-red: #f04b2f;
	--v6-blue: #5fc6d8;
	background:
		radial-gradient(circle at 6% 18%, rgba(255, 228, 73, 0.42) 0 86px, transparent 88px),
		radial-gradient(circle at 91% 7%, rgba(244, 154, 69, 0.26) 0 128px, transparent 130px),
		linear-gradient(180deg, #f2ffe9 0%, #fff8d2 44%, #ffffff 74%, #effbe9 100%) !important;
	padding: 26px 18px 42px;
	position: relative;
	isolation: isolate;
}
.v6-festival::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image:
		linear-gradient(45deg, transparent 0 46%, rgba(255, 228, 73, 0.55) 46% 54%, transparent 54%),
		radial-gradient(circle, rgba(240, 75, 47, 0.22) 0 5px, transparent 6px),
		radial-gradient(circle, rgba(0, 155, 55, 0.22) 0 5px, transparent 6px);
	background-size: 150px 120px, 170px 170px, 220px 220px;
	background-position: 0 16px, 42px 96px, 125px 30px;
	opacity: 0.8;
	z-index: -1;
}
.v6-festival::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 82px;
	background:
		linear-gradient(135deg, transparent 0 43%, rgba(0, 155, 55, 0.16) 43% 57%, transparent 57% 100%);
	background-size: 88px 82px;
	z-index: -1;
}
.v6-hero-stage {
	width: min(1220px, 100%);
	min-height: 650px;
	margin: 0 auto 20px;
	padding: 44px 48px 54px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 420px;
	gap: 28px;
	align-items: center;
	position: relative;
	overflow: hidden;
	background:
		linear-gradient(#ffffff 0 0) padding-box,
		linear-gradient(135deg, var(--v6-yellow), #86dc63 48%, var(--v6-green)) border-box;
	border: 7px solid transparent;
	border-radius: 30px;
	box-shadow: 0 24px 0 rgba(0, 155, 55, 0.12), 0 34px 58px rgba(47, 90, 43, 0.22);
}
.v6-hero-stage::before,
.v6-hero-stage::after {
	content: "";
	position: absolute;
	border-radius: 999px;
	pointer-events: none;
}
.v6-hero-stage::before {
	width: 360px;
	height: 360px;
	left: -145px;
	top: -120px;
	background: rgba(255, 228, 73, 0.45);
}
.v6-hero-stage::after {
	width: 260px;
	height: 260px;
	right: -78px;
	top: -84px;
	background: rgba(244, 154, 69, 0.22);
}
.v6-townscape {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 62%;
	opacity: 0.20;
	z-index: 0;
}
/* テキスト可読性のための白スクリム（左と上を少し白く、右下は素通し） */
.v6-hero-scrim {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background:
		linear-gradient(90deg, rgba(255,255,255,0.90) 0%, rgba(255,255,255,0.66) 32%, rgba(255,255,255,0) 58%),
		linear-gradient(180deg, rgba(255,255,255,0.50) 0%, rgba(255,255,255,0) 28%);
}
/* ヒーローの人物（店員）— スマホ・文字を避けて右下の街角でお出迎え */
.v6-hero-person {
	position: absolute;
	z-index: 2;
	right: 8px;
	bottom: 0;
	width: clamp(132px, 13.5vw, 172px);
	height: auto;
	pointer-events: none;
	filter: drop-shadow(0 12px 12px rgba(47, 90, 43, 0.22));
}
@media (max-width: 768px) {
	.v6-hero-person { display: none; }
	.v6-hero-scrim {
		background: linear-gradient(180deg, rgba(255,255,255,0.62) 0%, rgba(255,255,255,0.10) 34%, rgba(255,255,255,0) 55%);
	}
}
/* ヒーローのスマホ画像（現行サイトの本番素材 sp_main_img2.png） */
.v6-hero-appshot {
	position: relative;
	z-index: 2;
	display: block;
	width: auto;
	max-width: 100%;
	max-height: 520px;
	margin: 0 auto;
	filter: drop-shadow(0 18px 26px rgba(47, 90, 43, 0.26));
}
.v6-hero-copy,
.v6-hero-visual {
	position: relative;
	z-index: 2;
}
.v6-hero-copy {
	max-width: 690px;
}
.v6-hero__badge {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 14px;
	padding: 10px 20px;
	background: var(--v6-yellow);
	color: var(--v6-deep);
	border: 4px solid var(--v6-deep);
	border-radius: 999px;
	font-size: 17px;
	font-weight: 900;
	box-shadow: 5px 5px 0 rgba(47, 90, 43, 0.2);
	transform: rotate(-1.5deg);
}
.v6-hero__badge span {
	display: inline-block;
	width: 16px;
	height: 16px;
	background: var(--v6-red);
	border-radius: 50%;
	box-shadow: 20px 0 #7bd46d, 40px 0 #fff;
}
.v6-hero-stage h1 {
	margin: 0 0 12px;
	color: var(--v6-deep);
	font-size: clamp(72px, 7vw, 112px);
	font-weight: 900;
	line-height: 0.9;
	letter-spacing: 0;
	white-space: nowrap;
	text-shadow: 0 7px 0 #fff0a6, 0 13px 0 rgba(0, 155, 55, 0.12);
}
.v6-hero-stage h1 span {
	color: var(--v6-green);
}
.v6-hero__lead {
	display: inline;
	margin: 0;
	padding: 4px 0;
	color: #20331e;
	font-size: 24px;
	font-weight: 900;
	line-height: 1.65;
	background: linear-gradient(transparent 62%, rgba(255, 228, 73, 0.65) 62%);
}
.v6-hero__benefit {
	display: grid;
	grid-template-columns: 118px minmax(0, 1fr);
	gap: 16px;
	align-items: center;
	width: min(640px, 100%);
	margin: 22px 0 12px;
	padding: 18px 22px;
	background:
		linear-gradient(135deg, rgba(255,255,255,0.94), rgba(255,248,207,0.96)) padding-box,
		linear-gradient(135deg, var(--v6-orange), var(--v6-yellow)) border-box;
	border: 5px solid transparent;
	border-radius: 22px;
	box-shadow: 9px 9px 0 rgba(244, 154, 69, 0.22);
	position: relative;
}
.v6-hero__benefit::after {
	content: "";
	position: absolute;
	right: 16px;
	top: -17px;
	width: 56px;
	height: 34px;
	background: repeating-linear-gradient(90deg, rgba(240, 75, 47, 0.22) 0 8px, transparent 8px 16px);
	transform: rotate(10deg);
}
.v6-hero__benefit i {
	display: grid;
	place-items: center;
	width: 112px;
	height: 112px;
	margin: 0;
	background: var(--v6-red);
	color: #fff;
	border: 6px solid #fff;
	border-radius: 50%;
	box-shadow: 0 0 0 5px var(--v6-red), 0 10px 0 rgba(240, 75, 47, 0.22);
	font-style: normal;
	font-size: 22px;
	font-weight: 900;
	line-height: 1.15;
	text-align: center;
}
.v6-hero__benefit span,
.v6-hero__benefit em {
	display: block;
	color: var(--v6-deep);
	font-style: normal;
	font-size: 18px;
	font-weight: 900;
}
.v6-hero__benefit strong {
	display: block;
	color: var(--v6-red);
	font-size: clamp(46px, 5vw, 70px);
	line-height: 1;
	letter-spacing: 0;
}
.v6-hero__sub {
	margin: 0 0 18px;
	color: var(--v6-deep);
	font-size: 17px;
	font-weight: 800;
	line-height: 1.7;
}
.v6-hero__schedule {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	width: min(650px, 100%);
	margin: 0 0 20px;
}
.v6-hero__schedule div {
	display: block;
	margin: 0;
	padding: 14px 16px;
	background: rgba(255, 255, 255, 0.95);
	border: 3px solid #bfe6b2;
	border-left: 9px solid var(--v6-green);
	border-radius: 16px;
	box-shadow: 0 8px 0 rgba(0, 155, 55, 0.08);
}
.v6-hero__schedule dt {
	display: inline-block;
	margin: 0 0 7px;
	padding: 4px 12px;
	background: var(--v6-deep);
	color: #fff;
	border-radius: 999px;
	font-weight: 900;
}
.v6-hero__schedule dd {
	margin: 0;
	color: #20331e;
	font-size: 15px;
	font-weight: 900;
	line-height: 1.65;
}
.v6-hero__schedule dd span {
	display: block;
	margin-top: 2px;
	color: #bd331e;
	font-size: 13px;
}
.v6-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 16px;
	align-items: center;
}
.v6-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 58px;
	padding: 14px 28px;
	color: #fff !important;
	text-decoration: none !important;
	font-size: 18px;
	font-weight: 900;
	border-radius: 999px;
	background:
		linear-gradient(135deg, rgba(255,255,255,0.18), transparent 44%),
		linear-gradient(180deg, #ff6448 0%, var(--v6-red) 100%);
	box-shadow: 0 9px 0 #b8321d, 0 18px 30px rgba(240, 75, 47, 0.28);
	position: relative;
	overflow: hidden;
}
.v6-cta::before {
	content: "";
	display: none; /* ●装飾はテキストに重なるため非表示（QA: 詳しくはこちら/3Dセキュア…が欠ける問題の修正） */
	position: absolute;
	left: 16px;
	top: 10px;
	width: 42px;
	height: 42px;
	background:
		radial-gradient(circle at 50% 50%, #fff 0 3px, transparent 4px),
		linear-gradient(135deg, #ffe449, #fff2a7);
	border-radius: 12px;
	transform: rotate(-9deg);
	opacity: 0.95;
}
.v6-cta::after {
	content: ">";
	margin-left: 6px;
	font-size: 22px;
	line-height: 1;
	position: relative;
}
.v6-cta i {
	width: 38px;
	height: 30px;
	position: relative;
	z-index: 1;
}
.v6-cta i::before {
	content: "";
	position: absolute;
	left: 7px;
	top: 5px;
	width: 24px;
	height: 20px;
	border: 4px solid #fff;
	border-radius: 4px;
}
.v6-hero__actions span {
	max-width: 280px;
	color: var(--v6-deep);
	font-size: 14px;
	font-weight: 900;
	line-height: 1.65;
}
.v6-hero-visual {
	min-height: 505px;
}
.v6-phone {
	position: absolute;
	right: 74px;
	top: 30px;
	width: 248px;
	padding: 15px;
	background: linear-gradient(180deg, #273329, #0d130f);
	border-radius: 40px;
	box-shadow: 0 24px 36px rgba(0,0,0,0.28);
}
.v6-phone::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 8px;
	width: 64px;
	height: 7px;
	background: #070b08;
	border-radius: 999px;
	transform: translateX(-50%);
}
.v6-phone__screen {
	min-height: 382px;
	padding: 76px 23px 30px;
	background:
		radial-gradient(circle at 17% 18%, rgba(255, 228, 73, 0.38) 0 45px, transparent 47px),
		linear-gradient(180deg, #fff 0%, #f4ffe9 100%);
	border: 4px solid rgba(255,255,255,0.22);
	border-radius: 28px;
	text-align: center;
}
.v6-phone__logo {
	margin-bottom: 66px;
	color: var(--v6-deep);
	font-size: 38px;
	font-weight: 900;
	line-height: 1;
	white-space: nowrap;
	text-shadow: 0 4px 0 rgba(255, 228, 73, 0.35);
}
.v6-phone__logo span {
	color: var(--v6-orange);
	margin-left: 4px;
}
.v6-phone__button {
	margin: 0 auto 14px;
	padding: 15px 12px;
	background: var(--v6-green);
	color: #fff;
	border: 3px solid var(--v6-green);
	border-radius: 12px;
	font-weight: 900;
	box-shadow: 0 6px 0 rgba(47, 90, 43, 0.22);
}
.v6-phone__button--outline {
	background: #fff;
	color: var(--v6-green);
}
.v6-float {
	position: absolute;
	z-index: 3;
	display: grid;
	place-items: center;
	filter: drop-shadow(0 10px 8px rgba(47, 90, 43, 0.18));
}
.v6-float--ticket {
	left: 22px;
	top: 68px;
	width: 86px;
	height: 58px;
	background: #fff8cf;
	border: 5px solid var(--v6-deep);
	border-radius: 14px;
	color: var(--v6-red);
	font-size: 34px;
	font-weight: 900;
	transform: rotate(-12deg);
}
.v6-float--bag {
	right: 6px;
	top: 244px;
	width: 74px;
	height: 78px;
	background: #fff;
	border: 5px solid var(--v6-deep);
	border-radius: 15px 15px 24px 24px;
	transform: rotate(9deg);
}
.v6-float--bag::before {
	content: "";
	position: absolute;
	left: 17px;
	top: -22px;
	width: 31px;
	height: 28px;
	border: 5px solid var(--v6-deep);
	border-bottom: 0;
	border-radius: 22px 22px 0 0;
}
.v6-float--bag::after {
	content: "";
	position: absolute;
	left: 19px;
	top: 25px;
	width: 28px;
	height: 20px;
	background: var(--v6-orange);
	border-radius: 0 0 999px 999px;
}
.v6-leaf-buddy {
	position: absolute;
	right: 38px;
	bottom: 86px;
	z-index: 4;
	width: 64px;
	height: 64px;
	background: #fff;
	border: 5px solid var(--v6-deep);
	border-radius: 54% 46% 54% 46%;
	box-shadow: 0 10px 0 rgba(47, 90, 43, 0.18);
	transform: rotate(-10deg);
}
.v6-leaf-buddy::before,
.v6-leaf-buddy::after {
	content: "";
	position: absolute;
	top: 25px;
	width: 7px;
	height: 7px;
	background: var(--v6-deep);
	border-radius: 50%;
}
.v6-leaf-buddy::before {
	left: 20px;
}
.v6-leaf-buddy::after {
	right: 20px;
}
.v6-leaf-buddy span {
	position: absolute;
	left: 22px;
	top: 39px;
	width: 20px;
	height: 8px;
	border-bottom: 4px solid var(--v6-red);
	border-radius: 0 0 999px 999px;
}
.v6-leaf-buddy--mini {
	position: relative;
	right: auto;
	bottom: auto;
	width: 46px;
	height: 46px;
	align-self: center;
}
.v6-info-cards {
	width: min(1160px, 100%);
	margin: 0 auto 26px;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 12px;
	position: relative;
	z-index: 2;
}
.v6-info-cards li {
	list-style: none;
	min-height: 132px;
	padding: 17px 12px 14px;
	background:
		linear-gradient(#fff 0 0) padding-box,
		linear-gradient(180deg, #fff, #bfe6b2) border-box;
	border: 4px solid transparent;
	border-radius: 20px;
	color: var(--v6-deep);
	font-weight: 900;
	text-align: center;
	box-shadow: 0 8px 0 rgba(0,155,55,0.13);
	position: relative;
	overflow: hidden;
}
.v6-info-cards li::before {
	content: "";
	position: absolute;
	right: -16px;
	top: -16px;
	width: 52px;
	height: 52px;
	background: var(--v6-yellow);
	border-radius: 50%;
}
.v6-info-cards li span {
	display: block;
	margin: 8px 0 3px;
	color: var(--v6-red);
	font-size: 20px;
	line-height: 1.25;
	position: relative;
}
.v6-info-cards li small {
	display: block;
	color: var(--v6-deep);
	font-size: 13px;
	line-height: 1.45;
	position: relative;
}
.v6-icon {
	display: block;
	width: 42px;
	height: 42px;
	margin: 0 auto;
	background: var(--v6-orange);
	border: 4px solid var(--v6-deep);
	border-radius: 13px;
	position: relative;
	z-index: 1;
}
.v6-stamp-banner {
	width: min(1080px, 100%);
	margin: 0 auto 28px;
	padding: 28px 34px;
	display: grid;
	grid-template-columns: 230px minmax(0, 1fr) auto;
	gap: 24px;
	align-items: center;
	background:
		radial-gradient(circle at 12% 16%, rgba(255,255,255,0.7) 0 44px, transparent 46px),
		radial-gradient(circle at 86% 78%, rgba(255,255,255,0.34) 0 86px, transparent 88px),
		linear-gradient(135deg, #fff08a 0%, #ffd24f 44%, #f49a45 100%);
	border: 6px solid #ffbd35;
	border-radius: 32px;
	color: #3d3216;
	box-shadow: 0 14px 0 rgba(244,154,69,0.24), 0 22px 36px rgba(244,154,69,0.24);
	position: relative;
	overflow: hidden;
	z-index: 2;
}
.v6-stamp-banner::before {
	content: "";
	position: absolute;
	inset: 12px;
	border: 3px dashed rgba(255,255,255,0.72);
	border-radius: 23px;
	pointer-events: none;
}
.v6-stamp-banner::after {
	content: "";
	position: absolute;
	right: 150px;
	top: -10px;
	width: 124px;
	height: 54px;
	background: repeating-linear-gradient(90deg, rgba(255,255,255,0.42) 0 9px, transparent 9px 18px);
	transform: rotate(-10deg);
}
.v6-stamp-banner--compact {
	margin-top: 10px;
	margin-bottom: 46px;
	grid-template-columns: 190px minmax(0, 1fr) auto;
}
.v6-stamp-banner__items {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: repeat(4, 46px);
	gap: 10px;
	align-items: end;
}
.v6-stamp-banner__label {
	display: inline-block;
	margin: 0 0 6px;
	padding: 4px 12px;
	background: var(--v6-red);
	color: #fff;
	border-radius: 999px;
	font-size: 14px;
	font-weight: 900;
}
.v6-stamp-banner p {
	margin: 0;
	font-weight: 900;
	line-height: 1.55;
	position: relative;
	z-index: 1;
}
.v6-stamp-banner__title {
	color: var(--v6-deep);
	font-size: clamp(30px, 4vw, 44px);
	line-height: 1.05 !important;
	text-shadow: 0 4px 0 rgba(255,255,255,0.58);
}
.v6-stamp-card {
	width: 58px;
	height: 74px;
	background: #fff;
	border: 5px solid var(--v6-deep);
	border-radius: 10px;
	box-shadow: inset 0 -17px 0 rgba(0,155,55,0.13), 0 8px 0 rgba(47,90,43,0.14);
	transform: rotate(-8deg);
}
.v6-stamp-card::before {
	width: 10px;
	height: 10px;
	left: 9px;
	top: 13px;
	background: var(--v6-orange);
	box-shadow: 22px 0 var(--v6-orange), 0 24px var(--v6-orange), 22px 24px var(--v6-orange);
}
.v6-stamp {
	width: 56px;
	height: 56px;
	background: #fff;
	border: 6px solid var(--v6-red);
	border-radius: 50%;
	transform: rotate(11deg);
}
.v6-stamp::after {
	width: 25px;
	height: 12px;
	left: 9px;
	top: -16px;
	background: var(--v6-red);
}
.v6-gift {
	width: 56px;
	height: 50px;
	background: #fff;
	border: 5px solid var(--v6-deep);
	border-radius: 8px;
	transform: rotate(-3deg);
}
.v6-gift::before {
	left: 22px;
	top: -5px;
	width: 7px;
	height: 50px;
	background: var(--v6-red);
}
.v6-gift::after {
	left: -5px;
	top: 17px;
	width: 56px;
	height: 7px;
	background: var(--v6-red);
}
.v6-first-guide {
	width: min(1040px, 100%);
	margin: 0 auto;
	padding: 22px 24px 24px;
	background: rgba(255,255,255,0.94);
	border: 4px solid #bfe6b2;
	border-radius: 26px;
	box-shadow: 0 10px 0 rgba(0,155,55,0.10);
	position: relative;
	z-index: 2;
}
.v6-first-guide h2 {
	margin: 0 0 18px;
	color: var(--v6-deep);
	font-size: 26px;
	font-weight: 900;
	text-align: center;
}
.v6-first-guide ol {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin: 0;
	padding: 0;
	counter-reset: v6step;
}
.v6-first-guide li {
	list-style: none;
	position: relative;
	padding: 18px 18px 18px 64px;
	background: #f3ffe9;
	border-radius: 18px;
	color: var(--v6-deep);
	font-weight: 900;
	counter-increment: v6step;
}
.v6-first-guide li::before {
	content: counter(v6step);
	position: absolute;
	left: 17px;
	top: 18px;
	width: 34px;
	height: 34px;
	background: var(--v6-orange);
	color: #fff;
	border-radius: 50%;
	text-align: center;
	line-height: 34px;
	box-shadow: 0 5px 0 rgba(244,154,69,0.22);
}
.v6-first-guide span {
	display: block;
	margin-top: 5px;
	color: #53654d;
	font-size: 14px;
}
.v6-secure--rich {
	background:
		radial-gradient(circle at 10% 16%, rgba(255,228,73,0.22) 0 90px, transparent 92px),
		linear-gradient(180deg, #fff9dc 0%, #ffffff 100%);
	padding: 70px 20px;
}
.v6-secure--rich .v6-secure__inner {
	width: min(1130px, 100%);
	padding: 38px;
	background:
		linear-gradient(#fff 0 0) padding-box,
		linear-gradient(135deg, #ffe449, #86dc63, #009b37) border-box;
	border: 6px solid transparent;
	border-radius: 32px;
	box-shadow: 0 18px 0 rgba(0,155,55,0.10), 0 28px 44px rgba(47,90,43,0.14);
}
.v6-secure--rich .v6-secure__heading p {
	background: var(--v6-green);
	border: 3px solid var(--v6-deep);
	box-shadow: 4px 4px 0 rgba(47,90,43,0.18);
}
.v6-secure--rich .v6-secure__heading h2 {
	color: var(--v6-deep);
	font-size: clamp(34px, 4.5vw, 52px);
	font-weight: 900;
	text-shadow: 0 4px 0 #fff1a9;
}
.v6-secure__stage {
	display: grid;
	grid-template-columns: 340px minmax(0, 1fr);
	gap: 26px;
	align-items: center;
	margin-top: 28px;
}
.v6-secure__illust {
	width: 100%;
	max-width: 340px;
	justify-self: center;
	filter: drop-shadow(0 14px 12px rgba(47,90,43,0.14));
}
.v6-secure--rich .v6-secure__diagram {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin: 0 0 18px;
}
.v6-secure--rich .v6-secure__arrow {
	display: none;
}
.v6-secure--rich .v6-secure__card {
	min-height: 210px;
	padding: 22px 18px;
	border-radius: 22px;
	box-shadow: 0 8px 0 rgba(47,90,43,0.10);
}
.v6-secure__card--yellow {
	background: #fff8cf;
	border: 3px solid #ffcf45;
	color: #6a3e18;
}
.v6-secure__card--yellow i::before {
	content: "";
	position: absolute;
	left: 18px;
	top: 15px;
	width: 31px;
	height: 42px;
	background: #f49a45;
	border-radius: 6px;
	box-shadow: 0 17px 0 #fff;
}
.v6-secure--rich .v6-secure__note {
	border: 3px dashed #8ad36f;
	background: #f4fff0;
}
.v6-secure--rich .v6-cta--secure {
	background: linear-gradient(180deg, #335d2d, #243f20);
	box-shadow: 0 8px 0 #162a14, 0 14px 24px rgba(47,90,43,0.22);
}

/* 旧サイトの人物・既存画像CTAを第6回の非人物装飾に置き換える */
.kazoku_left,
.kazoku_right {
	display: none !important;
}
.dflex2 {
	background:
		radial-gradient(circle at 92% 92%, rgba(255,228,73,0.36) 0 72px, transparent 74px) !important;
	padding-bottom: 80px;
	position: relative;
}
.dflex2::after {
	content: "";
	position: absolute;
	right: 8%;
	bottom: 20px;
	width: 96px;
	height: 88px;
	background:
		linear-gradient(#fff 0 0) padding-box,
		linear-gradient(135deg, #f49a45, #009b37) border-box;
	border: 5px solid transparent;
	border-radius: 20px 20px 30px 30px;
	box-shadow: 0 10px 0 rgba(47,90,43,0.13);
}
.dflex2::before {
	content: "";
	position: absolute;
	right: calc(8% + 27px);
	bottom: 94px;
	width: 42px;
	height: 35px;
	border: 7px solid #335d2d;
	border-bottom: 0;
	border-radius: 28px 28px 0 0;
	z-index: 1;
}
.top_page_b .anime-link:link,
.top_page_b .anime-link:visited,
.top_page_b .anime-link:hover,
.top_page_b .anime-link2:link,
.top_page_b .anime-link2:visited,
.top_page_b .anime-link2:hover,
.top_page_b .anime-link3:link,
.top_page_b .anime-link3:visited,
.top_page_b .anime-link3:hover {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 430px !important;
	max-width: 90vw;
	min-height: 64px;
	height: auto;
	margin: 0 auto;
	padding: 12px 58px 12px 28px;
	background:
		radial-gradient(circle at 30px 50%, #fff 0 6px, transparent 7px),
		linear-gradient(180deg, #ff6448 0%, #f04b2f 100%) !important;
	border: 4px solid #fff;
	border-radius: 999px;
	box-shadow: 0 9px 0 #b8321d, 0 16px 28px rgba(240,75,47,0.24);
	color: #fff !important;
	text-decoration: none;
	font-size: 18px;
	font-weight: 900;
	position: relative;
}
.top_page_b .anime-link::before {
	content: "ご利用はこちら";
}
.top_page_b .anime-link-instagram::before {
	content: "Instagramを見る";
}
.top_page_b .anime-link2::before {
	content: "3DセキュアのFAQを見る";
}
.top_page_b .anime-link3::before {
	content: "ご利用はこちら";
}
.top_page_b .anime-link::after,
.top_page_b .anime-link2::after,
.top_page_b .anime-link3::after {
	content: ">";
	position: absolute;
	right: 24px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 24px;
}
.top_page_b .anime-link .link-txt,
.top_page_b .anime-link2 .link-txt,
.top_page_b .anime-link3 .link-txt,
.top_page_b .anime-link .arrow-wrap,
.top_page_b .anime-link2 .arrow-wrap,
.top_page_b .anime-link3 .arrow-wrap {
	display: none !important;
}
.top_page_b .anime-link-instagram:link,
.top_page_b .anime-link-instagram:visited,
.top_page_b .anime-link-instagram:hover {
	background:
		radial-gradient(circle at 32px 50%, #fff 0 6px, transparent 7px),
		linear-gradient(135deg, #ffdf51 0%, #f49a45 46%, #f04b2f 100%) !important;
	box-shadow: 0 9px 0 #b86a1f, 0 16px 28px rgba(244,154,69,0.24);
}
.side-menu .anime-link3:link,
.side-menu .anime-link3:visited,
.side-menu .anime-link3:hover {
	width: 250px !important;
	min-height: 72px;
	padding-left: 28px;
	padding-right: 56px;
	border-color: #ffe449;
}

@media (max-width: 991px) {
	.v6-hero-stage,
	.v6-secure__stage {
		grid-template-columns: 1fr;
	}
	.v6-hero-stage {
		min-height: 0;
		padding: 32px 22px 40px;
	}
	.v6-hero-copy {
		max-width: none;
		text-align: center;
	}
	.v6-hero-stage h1 {
		white-space: normal;
		font-size: 58px;
	}
	.v6-hero__schedule {
		grid-template-columns: 1fr;
		margin-left: auto;
		margin-right: auto;
	}
	.v6-hero__actions {
		justify-content: center;
	}
	.v6-hero-visual {
		min-height: 455px;
	}
	.v6-phone {
		left: 50%;
		right: auto;
		transform: translateX(-50%);
	}
	.v6-float--ticket {
		left: calc(50% - 170px);
	}
	.v6-float--bag {
		right: calc(50% - 168px);
	}
	.v6-leaf-buddy {
		right: calc(50% - 142px);
	}
	.v6-info-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.v6-stamp-banner,
	.v6-stamp-banner--compact {
		grid-template-columns: 1fr;
		justify-items: center;
		text-align: center;
	}
	.v6-secure--rich .v6-secure__diagram {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 575px) {
	.v6-festival {
		padding: 18px 10px 30px;
	}
	.v6-hero-stage {
		width: calc(100vw - 20px);
		max-width: calc(100vw - 20px);
		padding: 24px 14px 34px;
		border-width: 5px;
		border-radius: 24px;
	}
	.v6-townscape {
		width: 900px;
		left: 50%;
		right: auto;
		transform: translateX(-50%);
	}
	.v6-hero__badge {
		font-size: 14px;
		padding: 8px 14px;
	}
	.v6-hero-stage h1 {
		font-size: 45px;
	}
	.v6-hero__lead {
		display: block;
		font-size: 17px;
	}
	.v6-hero__benefit {
		grid-template-columns: 1fr;
		justify-items: center;
		padding: 15px 12px;
	}
	.v6-hero__benefit i {
		width: 86px;
		height: 86px;
		font-size: 18px;
	}
	.v6-hero__benefit strong {
		font-size: 38px;
	}
	.v6-hero__schedule {
		width: 100%;
	}
	.v6-hero-visual {
		min-height: 390px;
	}
	.v6-phone {
		width: 218px;
		top: 18px;
	}
	.v6-phone__screen {
		min-height: 334px;
		padding-top: 62px;
	}
	.v6-float--ticket {
		left: 4px;
		top: 50px;
		width: 66px;
		height: 46px;
	}
	.v6-float--bag {
		right: 0;
		top: 230px;
		width: 58px;
		height: 62px;
	}
	.v6-leaf-buddy {
		right: 14px;
		bottom: 48px;
	}
	.v6-info-cards {
		grid-template-columns: 1fr;
	}
	.v6-info-cards li {
		min-height: auto;
	}
	.v6-stamp-banner {
		padding: 22px 16px;
		border-radius: 24px;
	}
	.v6-stamp-banner__items {
		grid-template-columns: repeat(4, 38px);
		gap: 7px;
	}
	.v6-stamp-card,
	.v6-stamp,
	.v6-gift {
		transform: scale(0.82);
		transform-origin: center bottom;
	}
	.v6-first-guide ol {
		grid-template-columns: 1fr;
	}
	.v6-secure--rich {
		padding: 42px 12px;
	}
	.v6-secure--rich .v6-secure__inner {
		padding: 24px 14px;
		border-radius: 24px;
	}
	.v6-secure__illust {
		max-width: 280px;
	}
	.top_page_b .anime-link:link,
	.top_page_b .anime-link:visited,
	.top_page_b .anime-link:hover,
	.top_page_b .anime-link2:link,
	.top_page_b .anime-link2:visited,
	.top_page_b .anime-link2:hover,
	.top_page_b .anime-link3:link,
	.top_page_b .anime-link3:visited,
	.top_page_b .anime-link3:hover {
		width: calc(100vw - 44px) !important;
		font-size: 16px;
	}
}

/* 第6回トップ最終調整：背景イラストとスマホ折り返し */
.v6-hero-stage {
	padding-bottom: 86px;
}
.v6-townscape {
	bottom: -72px;
	opacity: 0.82;
}
.v6-hero__schedule div {
	background: rgba(255,255,255,0.98);
}
@media (max-width: 991px) {
	.v6-hero-stage {
		padding-bottom: 46px;
	}
	.v6-hero-copy {
		width: min(100%, 660px);
		margin: 0 auto;
	}
	.v6-townscape {
		bottom: -58px;
	}
}
@media (max-width: 575px) {
	.v6-hero-stage {
		width: calc(100vw - 20px);
		max-width: calc(100vw - 20px);
		padding: 24px 14px 36px;
		overflow: hidden;
	}
	.v6-hero-copy {
		width: min(100%, 318px);
		min-width: 0;
		margin: 0 auto;
	}
	.v6-hero__lead,
	.v6-hero__sub,
	.v6-hero__schedule,
	.v6-hero__actions {
		width: 100%;
		max-width: 318px;
		margin-left: auto;
		margin-right: auto;
		overflow-wrap: anywhere;
		word-break: break-all;
	}
	.v6-hero__schedule dd,
	.v6-hero__actions span {
		overflow-wrap: anywhere;
		word-break: break-all;
	}
	.v6-townscape {
		width: 760px;
		bottom: -54px;
		opacity: 0.72;
	}
}

/* 第6回トップ表示確認後の最終補正 */
.v6-townscape {
	clip-path: inset(0 0 0 30%);
}
.v6-hero__actions {
	position: relative;
	z-index: 3;
}
@media (max-width: 575px) {
	.v6-townscape {
		clip-path: none;
	}
	.v6-hero-copy,
	.v6-hero__lead,
	.v6-hero__sub,
	.v6-hero__benefit,
	.v6-hero__schedule,
	.v6-hero__actions {
		width: 100%;
		max-width: 100%;
		margin-left: 0;
		margin-right: 0;
	}
	.v6-hero__lead,
	.v6-hero__sub {
		font-size: 16px;
		overflow-wrap: anywhere;
		word-break: break-all;
	}
	.v6-hero__benefit {
		padding-left: 10px;
		padding-right: 10px;
	}
	.v6-hero__benefit strong {
		font-size: 34px;
	}
	.v6-hero__schedule div {
		padding-left: 12px;
		padding-right: 12px;
	}
}

/* 第6回最終仕上げ: 人物・小物・CTAのにぎわいをトップ専用で追加 */
.v6-festival {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 12% 18%, rgba(255, 228, 73, 0.5), transparent 24%),
		radial-gradient(circle at 88% 12%, rgba(244, 154, 69, 0.34), transparent 22%),
		linear-gradient(180deg, #fafff7 0%, #ecffe8 54%, #fff 100%);
}
.v6-hero-stage {
	overflow: hidden;
	box-shadow: 0 24px 0 rgba(0, 155, 55, 0.12), 0 38px 70px rgba(51, 93, 45, 0.22);
}
.v6-hero-stage::before {
	background:
		radial-gradient(circle, rgba(255, 255, 255, 0.96) 0 42%, transparent 43%) 0 0 / 72px 72px,
		linear-gradient(135deg, rgba(255, 228, 73, 0.36), rgba(255, 255, 255, 0));
	opacity: 0.58;
}
.v6-hero-copy {
	position: relative;
	z-index: 6;
}
.v6-hero-visual {
	z-index: 7;
}
.v6-townscape {
	clip-path: none;
	left: 50%;
	transform: translateX(-50%);
	width: min(1180px, 108vw);
	opacity: 0.96;
}
.v6-hero-people {
	position: absolute;
	right: min(3vw, 34px);
	bottom: 18px;
	z-index: 3;
	width: min(50vw, 620px);
	max-height: 250px;
	pointer-events: none;
	filter: drop-shadow(0 12px 0 rgba(51, 93, 45, 0.13));
}
.v6-hero-person-mini {
	position: absolute;
	left: -42px;
	bottom: 72px;
	z-index: 6;
	width: 84px;
	height: 136px;
	filter: drop-shadow(0 10px 0 rgba(51, 93, 45, 0.14));
}
.v6-hero-person-mini::before {
	content: "";
	position: absolute;
	left: 20px;
	top: 0;
	width: 44px;
	height: 44px;
	border: 6px solid #335d2d;
	border-radius: 50%;
	background: #ffd8b8;
	box-shadow: inset 0 17px 0 #533c2a;
}
.v6-hero-person-mini::after {
	content: "";
	position: absolute;
	left: 12px;
	top: 55px;
	width: 60px;
	height: 74px;
	border: 6px solid #335d2d;
	border-radius: 24px 24px 14px 14px;
	background:
		radial-gradient(circle at 63% 18%, #fff 0 5px, transparent 6px),
		linear-gradient(180deg, #ffcf4f 0%, #f49a45 100%);
	box-shadow: -27px 35px 0 -16px #fff7cf, -27px 35px 0 -11px #335d2d;
}
.v6-person {
	transform-box: fill-box;
	transform-origin: center bottom;
}
.v6-person--shopper {
	animation: v6-bob 4.2s ease-in-out infinite;
}
.v6-person--shopkeeper {
	animation: v6-bob 4.8s ease-in-out infinite 0.4s;
}
.v6-person--senior {
	animation: v6-bob 5.2s ease-in-out infinite 0.8s;
}
@keyframes v6-bob {
	0%, 100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-7px);
	}
}
.v6-hero__badge {
	box-shadow: 8px 8px 0 rgba(51, 93, 45, 0.16);
}
.v6-hero__lead {
	display: inline-block;
	background: rgba(255, 255, 255, 0.9);
	border: 3px dashed rgba(0, 155, 55, 0.32);
	border-radius: 22px;
	padding: 13px 18px;
	box-shadow: 0 12px 24px rgba(51, 93, 45, 0.12);
}
.v6-hero__benefit {
	transform: rotate(-1deg);
	box-shadow: 0 16px 0 rgba(240, 75, 47, 0.16), 0 22px 34px rgba(51, 93, 45, 0.17);
}
.v6-info-cards {
	position: relative;
	z-index: 8;
}
.v6-info-cards li {
	min-height: 174px;
	border-width: 4px;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 252, 224, 0.96)),
		radial-gradient(circle at 92% 18%, rgba(255, 228, 73, 0.42), transparent 24%);
	box-shadow: 0 12px 0 rgba(51, 93, 45, 0.1), 0 20px 34px rgba(51, 93, 45, 0.12);
}
.v6-info-cards li:nth-child(even) {
	transform: translateY(10px) rotate(0.7deg);
}
.v6-info-cards li:nth-child(odd) {
	transform: rotate(-0.5deg);
}
.v6-info-cards li span {
	font-size: clamp(19px, 1.7vw, 25px);
	line-height: 1.25;
}
.v6-info-cards li::after {
	content: "";
	position: absolute;
	right: 14px;
	bottom: 12px;
	width: 42px;
	height: 34px;
	border: 4px solid #335d2d;
	border-radius: 8px 8px 14px 14px;
	background: #ffcf4f;
	transform: rotate(-8deg);
	opacity: 0.78;
}
.v6-stamp-banner {
	position: relative;
	overflow: hidden;
	border: 5px solid #335d2d;
	background:
		radial-gradient(circle at 9% 18%, #fff 0 4px, transparent 5px) 0 0 / 28px 28px,
		linear-gradient(135deg, #ffe54d 0%, #ffc24a 44%, #ff8d3a 100%);
	box-shadow: 0 18px 0 rgba(244, 154, 69, 0.24), 0 28px 48px rgba(92, 64, 24, 0.18);
}
.v6-stamp-banner::before {
	content: "";
	position: absolute;
	inset: -18px;
	background:
		linear-gradient(90deg, transparent 0 7%, rgba(255, 255, 255, 0.38) 8% 10%, transparent 11% 100%),
		radial-gradient(circle, rgba(240, 75, 47, 0.52) 0 4px, transparent 5px) 10px 10px / 48px 48px;
	pointer-events: none;
}
.v6-stamp-banner > * {
	position: relative;
	z-index: 2;
}
.v6-stamp-person {
	position: relative;
	display: inline-block;
	width: 70px;
	height: 110px;
	margin-left: 4px;
}
.v6-stamp-person::before {
	content: "";
	position: absolute;
	left: 17px;
	top: 6px;
	width: 40px;
	height: 40px;
	border: 5px solid #335d2d;
	border-radius: 50%;
	background: #ffd8b8;
	box-shadow: inset 0 16px 0 #4e3b2d;
}
.v6-stamp-person::after {
	content: "";
	position: absolute;
	left: 8px;
	top: 51px;
	width: 56px;
	height: 54px;
	border: 5px solid #335d2d;
	border-radius: 18px 18px 12px 12px;
	background: #67c86b;
	box-shadow: 22px -17px 0 -6px #fff8d8, 22px -17px 0 -1px #335d2d;
}
.v6-stamp-banner a,
.anime-link,
.anime-link3 {
	filter: drop-shadow(0 9px 0 rgba(51, 93, 45, 0.22));
}
.v6-header-register {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0 18px;
	border: 3px solid #fff;
	border-radius: 999px;
	background: linear-gradient(180deg, #ff704f 0%, #f04b2f 100%);
	color: #fff !important;
	font-weight: 900;
	line-height: 1;
	text-decoration: none !important;
	box-shadow: 0 0 0 4px rgba(255, 228, 73, 0.96), 0 8px 0 rgba(0, 0, 0, 0.16);
	white-space: nowrap;
}
.v6-header-register::after {
	content: "▶";
	display: inline-block;
	margin-left: 8px;
	color: #ffe54d;
	font-size: 0.88em;
}
.v6-header-register:hover {
	transform: translateY(2px);
	box-shadow: 0 0 0 4px rgba(255, 228, 73, 0.96), 0 5px 0 rgba(0, 0, 0, 0.16);
}
header > div {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	max-width: 1220px;
	margin: 0 auto;
}
header > div > ul {
	display: flex;
	align-items: center;
	margin: 0;
}
header > div > ul:nth-child(2) {
	flex: 1 1 auto;
	flex-wrap: nowrap;
	justify-content: center;
	min-width: 0;
	gap: 7px;
}
header > div > ul:nth-child(3) {
	flex: 0 0 auto;
	gap: 16px;
}
header a.yellow {
	display: inline-block;
	white-space: nowrap;
	font-size: 12px;
	letter-spacing: 0;
	line-height: 1.15;
}
header .header_instagram img {
	min-width: 28px;
	width: 32px !important;
}
.v6-stamp-banner a {
	border: 4px solid #fff;
	box-shadow: 0 0 0 5px #f04b2f, 0 14px 0 rgba(51, 93, 45, 0.16);
}
.v6-first-guide {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
	align-items: center;
	gap: 18px;
	border: 4px solid rgba(51, 93, 45, 0.18);
	background:
		linear-gradient(90deg, #fff 0%, #f4ffe8 52%, #fff5c9 100%);
}
.v6-first-guide h2 {
	grid-column: 1 / -1;
}
.v6-guide-illust {
	position: relative;
	min-height: 142px;
}
.v6-guide-phone {
	position: absolute;
	left: 42%;
	top: 4px;
	width: 80px;
	height: 128px;
	border: 8px solid #263522;
	border-radius: 22px;
	background: #f7fff1;
	box-shadow: 0 12px 0 rgba(51, 93, 45, 0.15);
}
.v6-guide-phone::before {
	content: "SMS";
	position: absolute;
	left: 12px;
	top: 28px;
	right: 12px;
	height: 24px;
	border-radius: 12px;
	background: #ffe54d;
	color: #335d2d;
	font-size: 13px;
	font-weight: 900;
	line-height: 24px;
	text-align: center;
}
.v6-guide-phone::after {
	content: "";
	position: absolute;
	left: 19px;
	top: 69px;
	width: 42px;
	height: 12px;
	border-radius: 6px;
	background: #009b37;
	box-shadow: 0 20px 0 #8fda7f;
}
.v6-guide-person {
	position: absolute;
	bottom: 8px;
	width: 58px;
	height: 92px;
}
.v6-guide-person::before {
	content: "";
	position: absolute;
	left: 15px;
	top: 0;
	width: 31px;
	height: 31px;
	border: 5px solid #335d2d;
	border-radius: 50%;
	background: #ffd8b8;
}
.v6-guide-person::after {
	content: "";
	position: absolute;
	left: 8px;
	top: 39px;
	width: 46px;
	height: 48px;
	border: 5px solid #335d2d;
	border-radius: 16px 16px 12px 12px;
	background: #f06f48;
}
.v6-guide-person--parent {
	left: 18%;
}
.v6-guide-person--child {
	left: 70%;
	width: 48px;
	height: 78px;
	transform: scale(0.78);
}
.v6-guide-person--child::after {
	background: #5fc6d8;
}
.v6-secure--rich {
	background:
		radial-gradient(circle at 14% 16%, rgba(255, 228, 73, 0.4), transparent 22%),
		radial-gradient(circle at 90% 0%, rgba(240, 75, 47, 0.18), transparent 28%),
		linear-gradient(180deg, #f5fff1 0%, #ffffff 100%);
}
.v6-secure__stage {
	position: relative;
}
.v6-secure__person {
	position: absolute;
	left: -10px;
	bottom: -8px;
	z-index: 3;
	width: min(23vw, 210px);
	filter: drop-shadow(0 12px 0 rgba(51, 93, 45, 0.14));
}
.v6-secure__diagram {
	position: relative;
	z-index: 4;
	padding-left: min(18vw, 150px);
}
.v6-secure--rich .v6-secure__card {
	box-shadow: 0 12px 0 rgba(51, 93, 45, 0.12);
}
.tejyun01,
.tejyun02,
.tejyun03 {
	position: relative;
	overflow: hidden;
	border-radius: 28px;
}
.tejyun01::before,
.tejyun02::before,
.tejyun03::before {
	content: "";
	position: absolute;
	inset: 18px;
	z-index: 0;
	border-radius: 28px;
	background:
		radial-gradient(circle at 8% 18%, rgba(255, 228, 73, 0.28), transparent 16%),
		radial-gradient(circle at 92% 16%, rgba(95, 198, 216, 0.22), transparent 18%);
	pointer-events: none;
}
.tejyun01 > *,
.tejyun02 > *,
.tejyun03 > * {
	position: relative;
	z-index: 1;
}
.bgfff,
.bggrn {
	box-shadow: 0 14px 0 rgba(51, 93, 45, 0.12), 0 20px 34px rgba(51, 93, 45, 0.12);
}
body {
	overflow-x: hidden;
}
@media (max-width: 991px) {
	.v6-hero-people {
		right: -40px;
		bottom: 8px;
		width: 560px;
		opacity: 0.44;
	}
	.v6-first-guide {
		grid-template-columns: 1fr;
	}
	.v6-guide-illust {
		order: 2;
		min-height: 120px;
	}
	.v6-first-guide ol {
		order: 3;
	}
	.v6-secure__person {
		left: auto;
		right: -20px;
		bottom: -22px;
		width: 150px;
		opacity: 0.72;
	}
	.v6-secure__diagram {
		padding-left: 0;
	}
	.v6-header-register {
		display: none;
	}
}
@media (max-width: 1180px) {
	header a.yellow {
		font-size: 12px;
	}
	header > div > ul:nth-child(2) {
		gap: 7px;
	}
}
@media (max-width: 575px) {
	.v6-hero-stage {
		box-shadow: 0 14px 0 rgba(0, 155, 55, 0.12), 0 22px 44px rgba(51, 93, 45, 0.18);
	}
	.v6-hero-people {
		left: 50%;
		right: auto;
		bottom: 6px;
		width: 520px;
		max-width: none;
		transform: translateX(-50%);
		opacity: 0.24;
	}
	.v6-hero__lead {
		display: block;
		padding: 12px 10px;
	}
	.v6-info-cards li,
	.v6-info-cards li:nth-child(even),
	.v6-info-cards li:nth-child(odd) {
		min-height: 134px;
		transform: none;
	}
	.v6-stamp-person {
		width: 50px;
		height: 82px;
	}
	.v6-stamp-person::before {
		left: 12px;
		width: 31px;
		height: 31px;
		border-width: 4px;
	}
	.v6-stamp-person::after {
		left: 6px;
		top: 42px;
		width: 42px;
		height: 38px;
		border-width: 4px;
	}
	.v6-guide-phone {
		left: 42%;
	}
	.v6-secure__person {
		display: none;
	}
	.v6-hero-person-mini {
		left: 10px;
		bottom: -8px;
		transform: scale(0.7);
		opacity: 0.82;
	}
}

/* 第6回方針: 小物モチーフへ統一 */
.v6-hero-people,
.v6-hero-person-mini,
.v6-stamp-person,
.v6-guide-person,
.v6-secure__person,
.v6-mascot,
.v6-person,
.kazoku_left,
.kazoku_right {
	display: none !important;
}

.top_page_b .dflex2 {
	background: none !important;
	padding-bottom: 46px !important;
}

.v6-guide-bag,
.v6-guide-stamp {
	position: absolute;
	display: block;
	border: 5px solid #335d2d;
	box-shadow: 0 10px 0 rgba(51, 93, 45, 0.14);
}

.v6-guide-bag {
	left: 19%;
	bottom: 8px;
	width: 70px;
	height: 66px;
	background: linear-gradient(180deg, #fffdf2 0%, #ffcf4f 100%);
	border-radius: 10px 10px 22px 22px;
}

.v6-guide-bag::before {
	content: "";
	position: absolute;
	left: 18px;
	top: -27px;
	width: 28px;
	height: 24px;
	border: 6px solid #335d2d;
	border-bottom: 0;
	border-radius: 24px 24px 0 0;
}

.v6-guide-bag::after {
	content: "";
	position: absolute;
	left: 14px;
	right: 14px;
	top: 28px;
	height: 8px;
	background: #f04b2f;
	border-radius: 999px;
}

.v6-guide-stamp {
	right: 18%;
	bottom: 20px;
	width: 62px;
	height: 62px;
	background: #ffffff;
	border-color: #f04b2f;
	border-radius: 50%;
}

.v6-guide-stamp::before {
	content: "";
	position: absolute;
	left: 15px;
	top: -24px;
	width: 22px;
	height: 20px;
	background: #f04b2f;
	border-radius: 8px 8px 0 0;
}

.v6-guide-stamp::after {
	content: "OK";
	position: absolute;
	inset: 0;
	color: #f04b2f;
	font-size: 18px;
	font-weight: 900;
	line-height: 52px;
	text-align: center;
}

.v6-secure--rich .v6-secure__diagram {
	padding-left: 0 !important;
}

.v6-secure__stage::after {
	content: "";
	position: absolute;
	left: 18px;
	bottom: 8px;
	width: 112px;
	height: 82px;
	border: 6px solid #335d2d;
	border-radius: 18px;
	background:
		linear-gradient(90deg, #335d2d 0 100%) 14px 24px / 82px 9px no-repeat,
		linear-gradient(90deg, #f49a45 0 100%) 14px 50px / 46px 9px no-repeat,
		linear-gradient(135deg, #fff8d8 0%, #ffffff 100%);
	box-shadow: 0 12px 0 rgba(51, 93, 45, 0.12);
	pointer-events: none;
}

.v6-secure__stage::before {
	content: "";
	position: absolute;
	left: 93px;
	bottom: 60px;
	z-index: 2;
	width: 46px;
	height: 46px;
	border: 6px solid #335d2d;
	border-radius: 50%;
	background: #ffe449;
	box-shadow: inset 0 -16px 0 rgba(244, 154, 69, 0.35);
	pointer-events: none;
}

.v6-secure__stage .v6-secure__diagram,
.v6-secure__stage .v6-secure__note {
	position: relative;
	z-index: 3;
}

@media (max-width: 991px) {
	.v6-secure__stage::before,
	.v6-secure__stage::after {
		display: none;
	}
}

@media (max-width: 575px) {
	.v6-guide-bag {
		left: 10%;
		transform: scale(0.86);
	}
	.v6-guide-stamp {
		right: 8%;
		transform: scale(0.86);
	}
}

.v6-leaf-buddy,
.v6-leaf-buddy--mini {
	width: 58px;
	height: 58px;
	border: 5px solid #335d2d;
	border-radius: 70% 0 70% 0;
	background: linear-gradient(135deg, #d7ff9a 0%, #7bd46d 100%);
	transform: rotate(-28deg);
	box-shadow: 0 10px 0 rgba(51, 93, 45, 0.14);
}

.v6-leaf-buddy::before {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	top: 8px;
	width: 5px;
	height: 40px;
	background: #335d2d;
	border-radius: 999px;
	transform: translateX(-50%) rotate(38deg);
}

.v6-leaf-buddy::after,
.v6-leaf-buddy span {
	display: none !important;
}

.v6-leaf-buddy--mini {
	width: 42px;
	height: 42px;
}

.v6-phone__button,
.v6-phone__button--outline {
	width: 100%;
	min-height: 58px;
	background: #ffffff !important;
	color: #009b37 !important;
	border: 3px solid #009b37 !important;
	border-radius: 10px;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.25;
	white-space: nowrap;
	word-break: keep-all;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* ========================================================
   第6回 華やか化：ChatGPT画像のあしらい（2026-06-20）
   ※白＋グリーン基調は維持。人物は装飾として配置。
   ======================================================== */

/* 3Dセキュア：4ステップ図解（主役ビジュアル） */
.v6-secure__figure {
	margin: 24px auto 6px;
	width: 100%;
}
.v6-secure__figure img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 20px;
	box-shadow: 0 12px 0 rgba(0,155,55,0.08), 0 18px 34px rgba(47,90,43,0.16);
}
/* 3Dセキュア：カード右上の人物あしらい */
.v6-secure--rich .v6-secure__inner {
	position: relative;
}
.v6-secure__person {
	position: absolute;
	right: 14px;
	top: 10px;
	width: clamp(112px, 12vw, 150px);
	height: auto;
	z-index: 3;
	filter: drop-shadow(0 10px 14px rgba(47,90,43,0.18));
	pointer-events: none;
}
@media (max-width: 900px) {
	.v6-secure__person { display: none; }
}

/* ユーザー登録：見出し横の案内人物 */
.v6-reg-head {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	flex-wrap: wrap;
}
.v6-reg-person {
	width: clamp(110px, 12vw, 150px);
	height: auto;
	filter: drop-shadow(0 10px 14px rgba(47,90,43,0.18));
	pointer-events: none;
}
@media (max-width: 768px) {
	.v6-reg-person { display: none; }
}

/* 使えるお店：水辺の街並み 区切り背景（上下を白フェード） */
.v6-area-divider {
	position: relative;
	width: min(1230px, 92%);
	margin: 8px auto 4px;
	height: clamp(130px, 20vw, 220px);
	overflow: hidden;
	border-radius: 22px;
}
.v6-area-divider img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 58%;
	display: block;
}
.v6-area-divider::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg,
		#fff 0%,
		rgba(255,255,255,0) 32%,
		rgba(255,255,255,0) 64%,
		rgba(255,255,255,0.92) 100%);
	pointer-events: none;
}
.v6-area-divider__label {
	position: absolute;
	left: 50%;
	bottom: 12px;
	transform: translateX(-50%);
	padding: 6px 18px;
	background: rgba(255,255,255,0.86);
	border: 2px solid #b9e3aa;
	border-radius: 999px;
	color: #2f5a2b;
	font-weight: 800;
	font-size: clamp(13px, 1.6vw, 16px);
	white-space: nowrap;
}

/* スタンプラリー：バナー画像をメインビジュアルに */
.v6-stamp-banner__items--img {
	display: block;
	grid-template-columns: none;
	flex: 0 0 auto;
}
.v6-stamp-banner__items--img img {
	display: block;
	width: clamp(140px, 19vw, 210px);
	height: auto;
	filter: drop-shadow(0 8px 14px rgba(242,152,79,0.28));
}

/* 基本情報カード：ギフト＆クーポンのあしらい */
.v6-info-cards {
	position: relative;
}
.v6-gift-accent {
	position: absolute;
	right: -20px;
	bottom: -30px;
	width: clamp(76px, 8vw, 98px);
	height: auto;
	z-index: 2;
	filter: drop-shadow(0 8px 14px rgba(47,90,43,0.16));
	pointer-events: none;
}
@media (max-width: 768px) {
	.v6-gift-accent {
		width: 70px;
		right: -8px;
		bottom: -22px;
	}
}

/* === ヒーロー背景：最終確定（旧townscape上書きルールを打ち消し、ドライブの街並みを淡く全面に）=== */
.v6-townscape {
	position: absolute;
	inset: 0;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	transform: none;
	clip-path: none;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 60%;
	opacity: 0.2;
	z-index: 0;
}

/* ========================================================
   スマホでかんたん 3つの流れ（華やか化 2026-06-21）
   番号バッジ＋SVGアイコン＋カード＋矢印。白＋緑基調・上品に。
   ※旧 .v6-first-guide / .v6-guide-* は要素廃止により不使用。
   ======================================================== */
.v6-flow {
	position: relative;
	width: min(1080px, 100%);
	margin: 10px auto 0;
	padding: 42px 28px 46px;
	background:
		radial-gradient(circle at 13% 14%, rgba(255,228,73,0.20) 0 58px, transparent 60px),
		radial-gradient(circle at 88% 86%, rgba(0,155,55,0.09) 0 74px, transparent 76px),
		linear-gradient(180deg, #ffffff 0%, #f4fff0 100%);
	border: 3px solid #dcefd6;
	border-radius: 26px;
	box-shadow: 0 12px 0 rgba(0,155,55,0.06), 0 22px 42px rgba(47,90,43,0.12);
	overflow: hidden;
}
.v6-flow__title {
	margin: 0 0 30px;
	text-align: center;
	color: #2f5a2b;
	font-size: clamp(22px, 3vw, 30px);
	font-weight: 900;
}
.v6-flow__steps {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: stretch;
	justify-content: center;
	gap: 6px;
}
.v6-flow__step {
	position: relative;
	flex: 1 1 0;
	max-width: 280px;
	margin-top: 16px;
	padding: 34px 18px 24px;
	background: #ffffff;
	border: 2px solid #e3f2dc;
	border-radius: 20px;
	box-shadow: 0 8px 18px rgba(51,93,45,0.10);
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}
.v6-flow__num {
	position: absolute;
	top: -17px;
	left: 50%;
	transform: translateX(-50%);
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(180deg, #2fb257, #009b37);
	color: #fff;
	font-size: 18px;
	font-weight: 900;
	border-radius: 50%;
	border: 3px solid #fff;
	box-shadow: 0 4px 0 rgba(0,155,55,0.22);
}
.v6-flow__icon {
	width: 76px;
	height: 76px;
	margin: 6px 0 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: radial-gradient(circle at 50% 36%, #eafbe3, #d6f2ca);
	border-radius: 50%;
	box-shadow: inset 0 0 0 2px #fff, 0 6px 12px rgba(51,93,45,0.12);
}
.v6-flow__icon svg {
	width: 42px;
	height: 42px;
	display: block;
}
.v6-flow__step strong {
	color: #2f5a2b;
	font-size: 17px;
	font-weight: 900;
	line-height: 1.3;
}
.v6-flow__desc {
	margin-top: 7px;
	color: #5a6b54;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.55;
}
.v6-flow__arrow {
	list-style: none;
	flex: 0 0 auto;
	align-self: center;
	position: relative;
	width: 36px;
	height: 36px;
}
.v6-flow__arrow::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 13px;
	height: 13px;
	border-top: 4px solid #7fcf63;
	border-right: 4px solid #7fcf63;
	transform: translate(-65%, -50%) rotate(45deg);
}
@media (max-width: 760px) {
	.v6-flow__steps { flex-direction: column; align-items: center; gap: 2px; }
	.v6-flow__step { width: 100%; max-width: 330px; flex: 0 0 auto; }
	.v6-flow__arrow { width: 36px; height: 26px; }
	.v6-flow__arrow::before { transform: translate(-50%, -65%) rotate(135deg); }
}

/* === フェーズ2: 承認済みイラスト配置（人物は主役にせず、控えめな案内役） === */
/* 共通: スマホで絶対に溢れさせない */
.v6-stamp-card img,
.v6-section-char img,
.v6-accent-illust img { max-width: 100%; height: auto; }

/* スタンプラリー告知バナー（白＋グリーン基調・角丸カード）。文言は画像内に内包 */
.v6-stamp-card { width: min(1100px, 100%); margin: 0 auto 44px; padding: 0 16px; text-align: center; box-sizing: border-box; }
.v6-stamp-card__link { display: block; width: 100%; border-radius: 20px; overflow: hidden; background: #fff; box-shadow: 0 8px 26px rgba(0,0,0,.08); }
.v6-stamp-card__link img { display: block; width: 100%; border-radius: 20px; }

/* 小さな案内役キャラ（1セクション最大1人・見出し直下に独立配置＝見出しを切らない） */
.v6-section-char { text-align: center; margin: 4px 0 6px; line-height: 0; }
.v6-section-char img { height: 104px; width: auto; }
@media (max-width: 575px) { .v6-section-char img { height: 74px; } }

/* 地域/家族の控えめアクセント（主役にしない・中央寄せ・小サイズ） */
.v6-accent-illust { text-align: center; margin: 8px auto 0; }
.v6-accent-illust img { width: 60%; max-width: 300px; }
@media (max-width: 575px) { .v6-accent-illust img { width: 66%; max-width: 220px; } }
