@charset "UTF-8";

/*====================
common
====================*/
img {
  display: block;
  margin: 0 auto;
}
#GFoot {
  padding: 10px 0 0;
}
#GFoot ul.caution{
  width: 100%;
  max-width: 600px;
  margin: 0 auto 50px;
  padding: 0 16px;
  line-height: 1.4;
  box-sizing: border-box;
  font-size: 11px;
}
#GFoot ul li{
  position: relative;
}
#contents section{
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
}
@media all and (min-width: 601px){
  #GFoot {
    padding: 30px 0 0;
  }
  .notes{
    font-size: 14px;
    line-height: 1.4;
  }
  #section_second ul{
    width: 88%;
    display: block;
    margin: 17px auto 31px;
  }
  #section_second ul li{
    margin-bottom: 0px;
  }
}
@media only screen and (max-width: 600px){
  #GFoot .copyBlock {
      margin-top: 70px;
      /* padding-bottom: 120px; */
      font-size: 10px;
      font-size: 1rem;
  }
}
  @media only screen and (min-width: 601px), print {
  #GFoot .copyBlock {
      margin-top: 50px;
      /* padding-bottom: 220px; */
      font-size: 12px;
      font-size: 1.2rem;
  }
}

/*====================
scroll_header
====================*/
.header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  background-color: #000;
}
.header img {
  width: 65%;
  height: auto;
  display: block;
  margin: 13px auto 12px;
  max-width: 470px;
}
.max_content {
  position: relative;
  width: 100%;
  max-width: 660px;
  margin: 65px auto 0;
}

@media all and (min-width: 660px){
  .max_content {
    margin: 86px auto 0;
}
}

/*====================
add
====================*/
.bottom_txt {
  background-color: #fff;
}
.bottom_txt img {
  width: 100%;
  max-width: 660px;
  margin: 0 auto;
}
.btn_re {
  position: relative;
}
.btn_ab {
  position: absolute;
  margin: 0 auto;
  top: 0;
  right: 0;
  left: 0;
}
.btn01{
  width: 71%;
  max-width: 535px;
  display: grid;
  row-gap: 8%;
}
.btn01 label {
  transition: .3s;
  font-size: 360%;
  font-weight: 400;
}
.btn01 label:hover {
  opacity: .7;
}
/*------ popup modal ------*/
body.open {
  height: 100vh;
  overflow-y: hidden;
}
.overlay {
  position: fixed;
  width: 100%;
  height: 100%;
  background: #000000;
  opacity: .6;
  z-index: 999;
  top: 0;
  left: 0;
  right: 0;
  visibility: hidden;
}

.overlay.open {
  visibility: visible;
}

.modal {
  max-width: 660px;
  width: 80%;
  height: 86%;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 9998;
  overflow-y: scroll;
  display: none;
}

.modal img{
  width: 100%;
  margin-top: 60px;
}

.modal::-webkit-scrollbar {
  display: none;
}

.modal.open {
  display: block;
  overflow-x: hidden;
}

.clause-icon_wrapper {
  position: relative;
}

.clause-icon {
  position: absolute;
  width: 36px;
  height: 36px;
  top: 0;
  right: 0;
  border: solid 4px #fff;
  border-radius: 30px;
  cursor:pointer;
}

.clause-icon::after,
.clause-icon::before {
  content: "";
	position: absolute;
	top: 12px;
	width: 24px;
	height: 24px;
  border-top: solid 4px #ffffff;
}

.clause-icon::after {
  left: -2.5px;
  -webkit-transform: rotate(45deg);
	transform: rotate(45deg);

}

.clause-icon::before{
  right: -2.5px;
  -webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}


/*====================
CLOSE
====================*/

.after_close {
  position: fixed;
  width: 100%;
  height: 100vh;
  background: #00000082;
  z-index: 3;
}

.after_close_contents {
  position: absolute;
  width: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 660px;
}

@media all and (min-width: 660px){
  .after_close_contents {
      top: 56%;
      left: 50%;
      transform: translate(-50%, -50%);
  }
}

.after_close img {
  height: auto;
  display: block;
  margin: auto;
}

.after_close .img01 {
  width: 60%;
  max-width: 500px;
}

@media all and (max-width: 660px){
  .after_close .img01 {
    width: 80%;
  }
}

.after_close .img02 {
    width: 80%;
    max-width: 660px;
    margin-top: 15px;
  }

@media all and (max-width: 660px){
  .after_close .img02 {
    width: 95%;
    max-width: 660px;
  }
}

  .after_close .img03 {
    width: 60%;
    max-width: 500px;
    margin-top: 20px;
  }

@media all and (max-width: 660px){
  .after_close .img03 {
    width: 80%;
  }
}

/*====================
nikunohi2026 FV SLIDER
====================*/
.fv{ position: relative; }

.fv .slider { top: 1.1vw; }
.fv .slider02{ top: 30vw; }

@media (max-width: 660px){
  .fv .slider { top: 1.1vw; }     /* 統一 */
  .fv .slider02{ top: 30vw; }     /* 統一 */
}

.fv .slider,
.fv .slider02{
  width: 100%;
  overflow: hidden;
  position: relative;
}
.fv .slider,
.fv .slider02{
  /* transform: scale(0.65); */
  transform-origin: center;
  position: absolute;
}

.fv .slider {
	top: 1.1vw;
}

.fv .slider02 {top: 77%;}

.fv .slider__track{
  display: flex;
  align-items: center;
  width: max-content;
  will-change: transform;
}

.fv .slider__track img{
  display: block;
  height: auto;
  flex-shrink: 0;
}

.fv .slider__track--left{
  animation: marqueeLeft 15s linear infinite;
}

.slider__track--left img {
	width: 1370px;
}
.slider__track--right img {
	width: 1240px;
}

.fv .slider__track--right{
  animation: marqueeRight 15s linear infinite;
}

@keyframes marqueeLeft{
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

@keyframes marqueeRight{
  from { transform: translateX(-50%); }
  to   { transform: translateX(0); }
}



@media all and (max-width: 660px) {
	.fv .slider {
		top: 0.3%;
	}
	.fv .slider02 {
		top: 75.7%;
	}
	.slider__track--left img {
	width: 229.33vw;
	}
	.slider__track--right img {
		width: 208vw;
	}
}







.footer_banner {
  position: relative;
}

.footer_banner_fixed {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 12%;
  margin: auto;
  width: 90%;
  z-index: 1;
}

/* 固定時だけ親を fixed にする */
.footer_banner_fixed.is-fixed {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  top: auto;
  margin: auto;
  padding: 12px 0;
  width: 100%;
  z-index: 1;
  transition: none !important;
  animation: none !important;
  background: #000000;
}
.footer_banner_fixed.is-fixed img {
  width: min(320px, 100%);
  height: auto;
}

.footer_banner_fixed img {
  width: 100%;
  height: auto;
  display: block;
}