@charset "utf-8";
/* CSS Document */

/* ===== Simple Reset CSS ===== */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body {
  height: 100%;
  font-family: sans-serif;
  line-height: 1.5;
  color: #333;
  background: #fff;
}

img, video {
  max-width: 100%;
  height: auto;
  display: block;
}

ul, ol {
  list-style: none;
}

a {
  text-decoration: none;
  color: inherit;
}

button, input, select, textarea {
  font: inherit;
  border: none;
  background: none;
  outline: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}
/* ===== Simple Reset CSS ===== */
  #Wrap {
            max-width: 100%;
            overflow-x: hidden;
        }


		/*ローディング*/
		    /* ページ全体初期非表示 */
    body.loaded .main-content {
      opacity: 1;
      pointer-events: auto;
    }
    .main-content {
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.8s ease;
    }

    /* ローディング画面 */
    .loading-screen {
      position: fixed;
      top: 0; left: 0;
      width: 100%; height: 100%;
      background-color: #fff;
      display: flex;
      justify-content: center;
      align-items: center;
      z-index: 9999;
      flex-direction: column;
    }

    .logo {
      width: auto;
      height: 100px;
      margin-bottom: 20px;
    }

    .spinner {
      width: 60px;
      height: 60px;
      border: 6px solid #ccc;
      border-top: 6px solid #AA8F38;
      border-radius: 50%;
      animation: spin 1.2s linear infinite;
    }

    @keyframes spin {
      0%   { transform: rotate(0deg); }
      100% { transform: rotate(360deg); }
    }

    /* ローディング非表示 */
    body.loaded .loading-screen {
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.8s ease;
    }
 /*ローディング*/
		.fv {
   
    width: 100%;
    position: relative;
    padding-bottom: 200px;
}
		


.inner-content{
    background: url(../img/bk.png);
    background-repeat: repeat-y;
    background-size: cover;
	position: relative;
   overflow: hidden;
}


.parallax-image {
  position: absolute;
  width: 300px; /* 画像サイズ調整 */
  height: 300px;
  background-size: cover;
  background-repeat: no-repeat;
  background-attachment: fixed;
  pointer-events: none;
  z-index: 1;
}

/* 各画像に異なる背景画像・位置を設定 */
.parallax1 {
    top: 10%;
  left: 10%;
  background-image: url('../img/mark3.png');
}

.parallax2 {
    top: 16%;
    right: 0%;
    width: 30%;
    height: 200px;
    background-image: url(../img/mark4.png);
}

.parallax3 {
 top: 20%;
  left: 6%;
 background-image: url('../img/mark5.png');
	width: 167px;
    height: 186px;
}

		
.parallax4 {
    top: 24%;
  right: 10%;
  background-image: url('../img/mark3.png');
}

.parallax5 {
    top: 26%;
    right: 0%;
    width: 30%;
    height: 200px;
    background-image: url(../img/mark4.png);
}

.parallax6 {
 top: 20%;
  left: 5%;
 background-image: url('../img/mark5.png');
	width: 167px;
    height: 186px;
}
		
.inner-content > *:not(.parallax-image) {
  position: relative;
  z-index: 2;
}


.inner-content2{
	 background: url(../img/bk2.png);
    background-repeat:repeat-y;
   background-size: contain;
	padding: 100px 0;
}

.inner-content3{
    background: url(../img/bk.png);
    background-repeat: repeat-y;
    background-size: cover;
}

		.campaign-badge{
			max-width: 730px;
			width: 80%;
			margin: 0 auto;
			position: relative;
			padding: 100px 0 0;
		}
		.mv_title{
  position: absolute;
  top: 43%;
  left: 50%;
  transform: translate(-50%, -33%);
		}


		
		.wave01{
			position: absolute;
			bottom: 15%;
			left: 0%;
			  animation: slow-rotate-wave 5s linear infinite;
  transform-origin: center center; /* 回転中心 */
		}
		
		.wave02{
			
			position: absolute;
			bottom: 15%;
			right: 0%;
			animation: slow-rotate-wave02 5s linear infinite;
  transform-origin: center center;
		}
		.reverse{
			  transform: scaleX(-1); /* 左右反転 */
			
		}
		
@keyframes slow-rotate-wave {
  0%   { transform: rotate(0deg); }
  50%  { transform: rotate(5deg); }
  100% { transform: rotate(0deg); }
}
@keyframes slow-rotate-wave02 {
  0%   { transform: rotate(5deg); }
  50%  { transform: rotate(0deg); }
  100% { transform: rotate(5deg); }
}


#yoando2025 p{
	    text-align: left;
}


.day{
	
    text-align: center;
    max-width: 730px;
    margin: 0 auto;
    width: 100%;

}

#yoando2025 .day p{
	text-align: center;
	font-size: 24px;
	margin: 20px auto;
}
#yoando2025 p.toptext{
	font-size: 20px;
	text-align: center;
	margin: 150px auto;
	line-height: 2.2em;
}

/*youtube*/
.video {
    max-width: 800px;
    width: 100%;
    aspect-ratio: 16 / 9;
    margin: 0 auto;
	position: relative;
}

.video iframe {
   
    width: 100%;
    height: 100%;
	    margin-bottom: 150px;
}
/*youtube*/

/*挨拶*/

h2{
  width: 40%;
    margin: 30px auto;
    max-width: 226px; }


.movie {
  position: relative;
  background-color: rgb(240 255 248 / 80%);
  padding: 200px 0 200px;
  overflow: hidden;
  z-index: 1;
}

/*挨拶*/



/*2大プラン*/
.plan{
	max-width: 730px;
	width: 90%;
	margin: 0px auto 250px;
		
}
.plan_in{
	
    margin: 10px auto;
    padding: 30px;
    border-radius: 15px;
    border: 10px solid #9a1e23;
    background-color: #ffffff69;

}
.plan_no{
	border-bottom: 7px dotted #fff;
    padding-bottom: 30px;
}
.plan_no.boderno{
	border-bottom: none;
}
.plan_no img{
    max-width: 226px;
    width: 40%;
    margin: 15px auto;
}

#yoando2025 .plan_no p{
	text-align: center;
}

.plan a{
	display: block;
	color: #aa8f38;
	font-weight: bold;
	text-align: center;
	text-decoration: underline;
}
.plan_item{
	max-width: 800px;
	width: 85%;
	margin: 0 auto ;
	padding-bottom: 200px;
}
.plan_title{
	display: flex;
    justify-content: center;
}
    .fade-fuwa  {
      opacity: 0;
      transform: translateY(60px); /* 下から */
      transition: opacity 1.2s ease-out, transform 1.2s ease-out;
    }

    .fade-fuwa.visible {
      opacity: 1;
      transform: translateY(0);
     /* animation: fuwaFuwa 3s ease-in-out infinite;*/
    }


@keyframes fuwaFuwa {
      0% { transform: translateY(0); }
      50% { transform: translateY(-8px); }
      100% { transform: translateY(0); }
    }






.setname{
	font-size: 36px;
	font-weight: bold;
	text-align: center;
	margin: 20px auto;
	
}
.text{
	font-size: 18px;
	margin-bottom: 30px;
	
}

a.btn-red,a.btn-red:visited a.btn-red, a.btn-red:visited {
    display: block;
    padding: 5px 30px;
    background-color: #aa8f38;
    color: #fff;
    font-size: 20px;
    text-align: center;
    border-radius: 50px;
    text-decoration: none;
    transition: background-color 0.3s ease;
    max-width: 200px;
    width: 100%;
    margin: 0 auto 20px;
}

.btn-red:hover {
opacity: 0.6;
}

.btn-red .arrow {
  display: inline-block;
  margin-left: 8px;
  font-size: 12px; /* 少し小さめ */
  vertical-align: middle;
}

/* item */




.item_title{
	color: #920303;
	font-size: 36px;
	font-weight: bold;
}

.specialset{
	margin-bottom: 80px;
}

.item_name{
	font-size: 20px;
	margin: 20px 0;
	color: #aa8f38;
	font-weight: bold;
}
.item_name span{
	display: block;
	font-size: 0.8em;
}
#yoando2025 p.set {
    display: block;
    border: 1px solid;
    padding: 5px;
    margin-bottom: 20px;
    width: 120px;
    text-align: center;
}
.setitem{
	margin-bottom: 20px;
}

#yoando2025 p.price_befor{
	margin-bottom: 20px;
	text-align: center;
}

.price{
	color: #920303;
	font-size: 36px;
	font-weight: bold;
	display: block;
}

.price span{
	font-size: 24px;
}

hr{
	margin: 20px auto;
}

.item_list{
	margin-bottom: 200px;
	border: 10px solid #aa8f38;
	padding: 70px 30px 30px;
    background: #fff;
	position: relative;
}

.item_list.plan1{
	margin-bottom: 300px;
}
.planimg{ 
    position: absolute;
    top: -50px;
    left: 50%;
    transform: translateX(-50%);
}
.itemimg{
	max-width: 600px;
	width: 100%;
	margin: 0 auto 20px;
}
.lineimg{
	
	width: 100%;
	margin: 0 auto 20px;
}
.headimg{
	max-width: 690px;
	width: 100%;
	margin: 0 auto 20px;
}
.nmn18000text{
	margin: 50px auto;
}
.nmn18000 ul{
	display: flex;
	justify-content: space-between;
	    margin: 50px auto;
}

.nmn18000 ul li:first-child{
	width: 27%;
}
.nmn18000 ul li:last-child{
	width: 70%;
}

#yoando2025 p.item_name,
#yoando2025 p.price{
	text-align: center;
}

.item_in{
	margin: 50px auto;
}
/* itemセクション全体 */
.item {
  position: relative;
  z-index: 1;
  overflow: hidden;
  padding-top: 300px;
}

/* 上下背景画像 */
.item::before,
.item::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100vw;
  height: 200px;
  background-image: url('../img/bk_03.png');
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  z-index: -2;
}

.item::before {
  top: 0;
}

.item::after {
  bottom: 0;
  transform: scaleY(-1);
}

/* item_wrap */
.item_wrap {
  max-width:730px;
  width: 85%;
  margin: 200px auto;
  font-size: 20px;
  position: relative;
  z-index: 2;
}

/* デコレーション背景画像（右上・左中・右下） */
.bg_deco {
  position: absolute;
  width: 615px;
  height: 283px;
  background-repeat: no-repeat;
  background-size: contain;
  opacity: 0.5;
  z-index: -1;
  pointer-events: none;
  transition: transform 0.2s ease;
}

 .bg_deco.forpro {
  width: 500px;
	 height: 1000px;}

/* 右上 */
.bg_deco1 {
  top: 10%;
	transform: translateY(-10%);
  right: 0;
  background-image: url('../img/mark3.png');
}

/* 左中央 */
.bg_deco2 {
  top:20%;
  left: 0;
  transform: translateY(-20%);
  background-image: url('../img/mark4.png');
}

/* 右下 */
.bg_deco3 {
  bottom: 30%;
	transform: translateY(-30%);
  right: 0;
  background-image: url('../img/mark5.png');
}






/* 右上 */
.bg_deco4 {
  top: 0%;
  right: 0;
  background-image: url('../img/deco_07.png');
}

/* 左中央 */
.bg_deco5 {
  top:10%;
  left: 0;
  transform: translateY(-10%);
  background-image: url('../img/deco_07.png');
}

/* 右下 */
.bg_deco6 {
  bottom: 15%;
	transform: translateY(-15%);
  right: 0;
  background-image: url('../img/deco_07.png');
}


.xset {
  position: relative;
background-image: url('../img/bk_04.jpg');
  overflow: hidden;
	background-repeat: no-repeat;
	background-size: cover;
	
	    padding: 150px 0 0;
}
.cap{
	font-size: 14px;
}
#Contents{
	margin-bottom: 0;
}



.inner-content3.complete {
  position: relative;
  overflow: hidden;
  min-height: 1000px;
}

.bg-deco {
  position: absolute;
  width: 300px;
  height: 300px;
  background-size: contain;
  background-repeat: no-repeat;
  pointer-events: none;
  z-index: 1;
}

.bg-deco-top-right {
  top: 0;
  right: 0;
  background-image: url('../img/mark7.png');
}

.bg-deco-bottom-left {
   position: absolute;
  left: 0;
  bottom: 0;
  background-image: url('../img/mark8.png'); /* ← 差し替え済み画像 */
  width: 300px;
  height:200px;
  background-repeat: no-repeat;
  background-size: contain;
 
}

.ribbon-box {
 position: relative;
    display: block;
    padding: 10px 40px;
    border: 2px solid #a51414;
    color: #a51414;
    font-weight: bold;
    font-size: 18px;
    background-color: #fff;
    transform: skewX(-25deg);
    margin: 30px auto;
    max-width: 500px;
	width: 100%;
}
				#yoando2025 .ribbon-box p{
					 color: #a51414;
  font-weight: bold;
					 transform: skewX(25deg);
					text-align: center;
					 font-family: 'Sawarabi Mincho', serif;
					 letter-spacing: 0.1em;
					font-size: 20px;
				}
/* 左下の外向き三角 */
.ribbon-box::before{
    content: "";
    position: absolute;
    top: -2px;
    left: -20px;
    width: 0;
    height: 0;
    border-bottom: 20px solid transparent;
    border-right: 20px solid #a51414;
}

/* 右上の外向き三角 */
.ribbon-box::after {
  content: "";
  position: absolute;
  bottom: -2px;
  right: -20px;
  width: 0;
  height: 0;
  border-top: 20px solid transparent;
  border-left: 20px solid #a51414;
}
	
#plan1,#plan2,#plan3,#plan4 {
  padding-top:180px;
	  margin-top: -180px
}

.to-top {
  position: fixed;
  bottom: 30px;
  right: 30px;
  background-color: #a51414;
  color: #fff;
  padding: 10px 14px;
  border-radius: 50%;
  text-align: center;
  font-size: 18px;
  text-decoration: none;
  z-index: 1000;
  display: none; /* 初期は非表示 */
  transition: opacity 0.3s;
	    line-height: 1.5em;
}

.to-top:hover {
  background-color: #7c1010;
}
@media screen and (max-width: 800px) {

	.fv {
 
    padding-bottom: 100px;
}
	
	.item {
 
  padding-top: 100px;
}
.mv_title {
  
    top: 49%;
   width: 24%;
	}
	#yoando2025 .day p {
		font-size: 16px;
	}
	#yoando2025 p.mv_text01{
    top: 49%;
    right: 10%;
    font-size: 16px;
}	
	#yoando2025 p.toptext {
    font-size: 16px;
    text-align: center;
    margin: 100px auto;
    width: 95%;
}
	p.mv_text02{
    top: 59%;
    font-size: 16px;
}
	
	.video iframe{
		margin-bottom: 100px;
	}
.wave01{
        bottom: inherit;
        left: 0%;
        width: 77%;
    }
	.wave02  {
        bottom: 5%;
        right: 0%;
        width: 59%;
    }
	
	
	.movie{
		padding: 100px 0 200px;
	}
	.plan {
   
    margin: 0px auto 150px;
}
	.plan_in {
    margin: 10px auto;
		padding: 10px;}
	
	.mark {
    position: absolute;
    left: -7%;
    top: -16%;
    width: 35%;
}
	
	.mark.plan02 {
    position: absolute;
     left: -7%;
		top: -55%;}
	
	.setname{
		font-size: 24px;
	}
	
	.text {
		font-size: 16px;}
	
	.bg_deco.forpro {
    width: 300px;
    height: 600px;
		
}
	.bg_deco{
		opacity: 0.3;
	}
	.item_title{
		font-size: 24px;
	}
	
	.item_wrap{
        font-size: 16px;
        margin-bottom: 0;
    }
	.price {
		font-size: 20px;}
	.price span {
    font-size: 0.7em;
}
	.bg_deco4 {
    top: 0%;
    left: 0;
	}
	
	.bg_deco5 {
    top: 1%;
    left: 0;
	}
	.bg_deco6 {
   bottom: 19%;
    left: 0;
	}
	
	.nmn18000 ul{
		flex-wrap: wrap
	}
	.nmn18000 ul {
    display: flex;
    justify-content: space-between;
    margin: 10px auto;
}
	.nmn18000 ul li:first-child,.nmn18000 ul li:last-child{
		width: 100%;	}
	.nmn18000 ul li:first-child img{
		margin: 0 auto;
		max-width: 110px;
	}
	
	.item_name {
		font-size: 18px;}
	
	
	.parallax2 {
    top: 16%;
    right: 0;
    width: 50%;
    height: 115px;
    background-image: url(../img/mark4.png);
}
	
	.parallax3 {
    top: 20%;
    left: -16%;
    background-image: url(../img/mark5.png);
    width: 167px;
    height: 186px;
}
	
	.parallax4 {
    top: 24%;
    right: -10%;
    background-image: url(../img/mark3.png);
}
	
	.parallax5  {
        top: 26%;
        right: 0;
        width: 84px;
        height: 87px;
    }
	.parallax6 {
    top: 20%;
    left: -18%;
    background-image: url(../img/mark5.png);
    width: 167px;
    height: 186px;
}
	.item_list{
		margin-bottom: 100px;
	}
	.item_list.plan1{
	margin-bottom:200px;
}
	.ribbon-box{
		transform: skewX(-15deg);
		padding: 10px 10px;}
	
	#yoando2025 .ribbon-box p{
		        font-size: 18px;
        line-height: 1.2em;
	transform: skewX(15deg);}
	
	.ribbon-box::before{border-bottom: 40px solid transparent;}
	.ribbon-box::after{border-top: 40px solid transparent;}
	
	
	a.btn-red, a.btn-red:visited a.btn-red, a.btn-red:visited{
		font-size: 18px;
	}
	
	}

