@charset "utf-8";
html {font-size: 62.5%;}
body {padding:0; margin:0;}
a{text-decoration: none; color: #000;}
a img:hover{opacity: 0.8;}

/*#mw_content_wrap {
	width:100%;
	padding: 5% 0 0;
	margin:0;
	background-color: #e1ddd8;
}*/
#MW_wrap {
	clear: both;
	width:100%;
	max-width: 680px;
	padding: 0;
	margin:0 auto -7%;
	 font-family: "Inter", sans-serif;
	/*font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";*/
	/*font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";*/
	font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
	 color: #000;
	/*background-color: #fbf1f3;*/
}
#MW_wrap p {padding:0;margin:0;}
.sp {display:block;}
.pc {display:none;}
.clear {clear:both;}
.red{color: #ed1b24; font-weight: 700;}
.sml{font-size: 65%; letter-spacing: inherit; }
.bold{font-weight: bold; font-size: 110%;}

#MW_wrap img{display: block; margin: 0; padding: 0;}

.main {width: 100%; margin:0 auto ;}

.Lead_pc {display: none;}

.Lead_sp {
	width: 100%;
	display: block;
	text-align:center;
	font-size:15px;
	margin:0 auto 15%;
	line-height:2em;
}

.txtx_col_pk{color: #c95469;}

h2{width: 50%; margin: 5% auto 5%; font-size: 26px; text-align: center; border-bottom: 1px solid #000; font-weight: 500; }
/*h3{width: 100%; margin: 5% auto 3%;  font-size: 18px; text-align: center;font-weight: 600; text-decoration: underline; padding: 2px 5px; border-left: 4px solid #15365E;}*/



#mw_content_wrap .loading {
  position: fixed;
  top: 6%;
  left: 0;
	width: 100%;
	height: 110svh;
	/*height: 800px;*/
  z-index: 110;
 /* background-color: #fff;*/
  display: flex;
  align-items: center;
  justify-content: center;
  animation: fadeOut 2s 8s forwards;
}

@keyframes fadeOut {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    visibility: hidden;
  }
}



#mw_content_wrap .open_wrap{width: 100%; margin: 0 auto; height: 110svh; height: 800px; position: relative;}
/*
.bg-fade {
   初期化（変化前の背景色） 
  background-color: #ffffff;
  
   アニメーションの設定 (名前 変化時間 1回再生 終了後の状態を維持) 
  animation: changeBg 2.5s 1.5s ease 1 forwards;
}

@keyframes changeBg {
  0% {
    background-color: #ffffff;  開始時の背景色 
  }
  100% {
    background-color: #ffe700;  終了時の背景色 
  }
}*/

.anime01{width: 70%; position: absolute; bottom: 8%; right: 0;}
.anime02{width: 60%; position: absolute; top: 0; left: 0;}
.anime03{width: 52%; position: absolute; bottom: 16%; left: 25%;}
.anime04{width: 42%; position: absolute; top: 10%; left: 30%;}


.bg-animation {
  position: relative;
  width: 100%;
  height: 400px;
  background-color: #ffffff; 

  /* 2秒後から、2秒かけてじんわり背景色を変更 */
  animation-name: changeBg;
  animation-duration: 2s;
  animation-delay: 2s;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}

/* 画像の基本スタイル */
.bg-animation img {
  position: absolute;
  opacity: 0; /* 初期状態は非表示 */
}

/* --- 画像ごとのアニメーション設定 --- */

/* 1枚目：0秒から表示 → 4秒（背景変化完了時）で消える */
.img-1 {
  animation: showImage 4s linear 0s forwards;
}

/* 2枚目：1秒後から表示 → 4秒（背景変化完了時）で消える */
.img-2 {
  animation: showImage 3s linear 1s forwards;
}

/* 3枚目：4秒後から表示 → 8秒時点で消える（合計4秒間表示） */
.img-3 {
  animation: fadeInImage 4s linear 4s forwards;
}

/* 4枚目：5秒後から表示 → 8秒時点で消える（合計3秒間表示） */
.img-4 {
  animation: fadeInImage 3s linear 5s forwards;
}

.img-5 {
  animation: keepImage 0.1s linear 8s forwards;
}

/* --- キーフレーム定義 --- */

/* 背景色の変化 */
@keyframes changeBg {
  0% {
    background-color: #ffffff;
  }
  100% {
    background-color: #ffe700;
  }
}

/* 画像表示用キーフレーム */
@keyframes showImage {
  0%, 99% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

@keyframes fadeInImage {
  0% {
    opacity: 0;
  }
  /* 全体時間に対して「最初の0.5秒」の割合で100%（不透明）にする計算 */
  12.5% { 
    opacity: 1;
  }
  99% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

@keyframes keepImage {
  0%, 100% {
    opacity: 1;
  }
}


.purupuru {
    animation: shake 1s infinite;
    transform: rotate(10deg);
}

@keyframes shake {
    50% {
        transform: rotate(-10deg);
    }

    100% {
        transform: rotate(10deg);
    }
}

/*.cmt{width: 100%; margin: 3% auto 0; font-size: 14px;  text-align: left; line-height: 1.6em; padding: 5%; border: 1px solid #694B1F; box-sizing: border-box; font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";}*/


/*item*/
.item_content {width: 100%; margin: 0 auto ; background-image: url("../images/bk_img.png");  background-size:  contain; background-repeat: repeat-y;}
.item_wrap {width: 98%; margin: 0 auto ; padding: 10% 0;  position: relative; height: 670vw; }

.cmt2{width: 76%; position: absolute; top: 0; right: 0; font-size: 12px; font-weight: 500;  text-align: left; line-height: 1.3em; z-index: 100;}
.cmt3{ top: -1%; right: 0; }

.item_box {width: 96%;/* margin: 0 auto 15%;*/ display:flex; flex-wrap:wrap;	justify-content: space-between; background-color: #fff; padding: 5%; box-sizing: border-box; z-index: 50; position: absolute; top: 6%; left: 2%;}
.item1{width: 47%; margin: 0 ;}


.slider_box01 {width: 96%; background-color: #fff; padding: 5%; box-sizing: border-box; z-index: 50; position: relative; position: absolute; top: 23%; left: 2%;}
.slider_box02 {width: 96%; background-color: #fff; padding: 5%; box-sizing: border-box; z-index: 50; position: relative; position: absolute; top: 33%; left: 2%;}
.slider {    width: 100%;    display: flex;    gap: 5px;    overflow-x: auto;}
.slide {width: 100%; margin-bottom: 5%;}
.slide img { width: 160px; max-width: inherit;}


.slider_arrow {
  position: relative;
 /* display: inline-block;*/ /* 画像のサイズに合わせる場合 */
 /* max-width: 100%;*/
}

/*.image-container img {
  display: block;
  width: 100%;
  height: auto;
}
*/
/* 疑似要素の共通スタイル（矢印の共通設定） */
.slider_arrow::before,
.slider_arrow::after {
  content: '';
  position: absolute;
  top: 45%; 
  width: 14px;  /* 矢印の幅 */
  height: 14px; /* 矢印の高さ */
  border-top: 3px solid #ffe700; 
  border-right: 3px solid #ffe700;
  pointer-events: none; /* 矢印の上をクリックしても下の要素に透過させる */
}

.slider_arrow::before {
  left: -14px; /* 左からの位置 */
  transform: translateY(-50%) rotate(-135deg); /* 上下中央＋左向きに回転 */
}

.slider_arrow::after {
  right: -14px; /* 右からの位置 */
  transform: translateY(-50%) rotate(45deg); /* 上下中央＋右向きに回転 */
}



.item_no_01{width: 40%; position: absolute; top: 2.5%; left: 30%;}

.line01{width: 25%; position: absolute; top: 2.5%; right: 7%; z-index: 10}
.tweety01{width: 26%; position: absolute; top: 14%; right: 0; z-index: 100;}
.line02{width: 68%; position: absolute; top: 15.8%; left: 7%; z-index: 10}

.line03{width: 10%; position: absolute; top: 30%; left: 1%; z-index: 60}
.txt_good{width: 22%; position: absolute; top: 41.2%; left: 1%; z-index: 100}
.line04{width: 96%; position: absolute; top: 43.5%; left: 3%; z-index: 60}
.tweety02{width: 26%; position: absolute; top: 47.5%; left: 37%; z-index: 100;}

.item_no_02{width: 40%; position: absolute; top: 56.5%; left: 30%;}
.item_box02 {width: 96%;/* margin: 0 auto 15%;*/ display:flex; flex-wrap:wrap;	justify-content: space-between; background-color: #fff; padding: 5%; box-sizing: border-box; z-index: 50;  position: absolute; top: 71.5%; left: 2%;}
.item2{width: 47%; margin: 0 0 5% ;}
.item_box03 {width: 96%; z-index: 50;  position: absolute; top: 60%; left: 2%; z-index: 100;}

.line05{width: 20%; position: absolute; top: 67%; left:0; z-index: 20}
.tweety03{width: 14%; position: absolute; top: 89%; left: 3%; z-index: 100;}
.line06{width: 92%; position: absolute; top: 88.7%; left:5%; z-index: 20}

/*.credit_box{width: 60%; margin: 6% 0 0;}*/
.credit{width: 100%; margin: 2% auto 0; font-weight: 400; text-align:center; font-family: "Roboto", sans-serif;/* display:flex;	flex-wrap:wrap;	justify-content: space-between; box-sizing: border-box;*/}
.item_n{width: 100%;  font-size: 13px;  margin: 0 0 2%;  line-height: 1.3em; }
.item_p{width: 100%; font-size: 13px;	margin:0; }
.item_d{width: 40%;	margin:5% 0 0;}
.tax{font-size: 70%;}

.foot_box {width: 96%; z-index: 50; position: absolute; top: 92.5%; left: 2%;}
.logo {width: 40%; margin: 10% auto 8%;}
.copy {width: 45%; margin: 5% auto;}

/* General button style (reset) */
.btn {
	border: none;
	font-family: inherit;
	color: inherit;
	background: none;
	cursor: pointer;
	display: inline-block;
	text-align: center;
	letter-spacing: 1px;
	outline: none;
	position: relative;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s;
}


/* Button 1 */
.btn-1 {
	width: 100%;
    margin: 0 auto;
    padding: 6px 0px;
    font-size: 14px;
	font-weight: 500; 
	letter-spacing: 2px;
}
.btn-2 {
	width: 70%;
    display: block;
    margin: 0 auto 5%;
    padding: 10px 0px 8px;
    font-size: 20px;
	 color: #000;
	border: 1px solid #000;
	background-color: #fff;
	font-weight: 600; 
	 letter-spacing: 1px;
	border-radius: 60px;
	line-height: 1em;
	/*position: relative;*/
}

.btn:hover {
	color: #fff;
	background-color: #FFB742;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s;
	/*border: 1px solid #565656;*/
	
}

/*.btn::after {
  content: "▶";       
  font-size: 0.8em;   
  margin-left: 8px;   
  display: inline-block;
position: absolute; 
	top: 5%; 
	left: 3%;
}*/

.btn-2:before {
	display: block;
	content: "";
	position: absolute;
	top: 46%;
	right: 25px;
	width: 0;
	height: 0;
	margin-top: -5px;
	border: 8px solid transparent;        /*top right bottom を透明化 */ 
	border-left: 8px solid #000;
}

.btn-2:hover:before {
	border-left: 8px solid #fff;
}

.img_box {
	position: relative;
	width: 100%;
	height: 48vw;
	margin: 0 auto 2%;
}

.image {
	position: absolute;
	width: 100%;
	opacity: 0;
	animation: change-img-anim 4s infinite;
}

.image:nth-of-type(1) {
	animation-delay: 0s;
}
.image:nth-of-type(2) {
	animation-delay: 2s;
}

@keyframes change-img-anim {
	0% {opacity: 0;}
	0.01% {opacity: 1;}
	49.99% {opacity: 1;}
	50% {opacity: 0;}
}




@media only screen and (min-width: 650px) {
	#MW_wrap {width: 650px; margin: 0 auto; padding: 0;}
	.main {width: 100%;  margin:0 auto ; padding: 0;}
	.pc {display:block;}
	.sp {display:none;}
	
	.Lead_pc {
		width: 100%;
		margin: 0 auto 8%;
		display: block;
		text-align:center;
		font-size:20px;
		padding:0 ;
		line-height:2em;
	}

	.Lead_sp {display: none;}



	
	#mw_content_wrap .loading {
		  position: fixed;
		  top: 8%;
		  left: 0;
		height:900px;
		width: 100%;
		}
	
	#mw_content_wrap .open_wrap{width: 100%; margin: 0 auto; height:900px; }
	
	.open_box{ width: 100%; max-width: 1200px;  margin: 0 auto; height:900px; position: relative;}
	
	.anime01{width: 30%; position: absolute; bottom: 4%; right: 0;}
	.anime02{width: 25%; position: absolute; top: 5%; left: 5%;}
	.anime03{width: 22%; position: absolute; bottom: 12%; left: 41%;}
	.anime04{width: 18%; position: absolute; top: 4%; left: 43%;}
	
	
		
	#sticky__container{display: flex; min-height: 100vh; }
	.cara_left {width: 40%; height: 100vh; position: sticky;
			left: 0; top: 0;}
	/*.cara_right {width: 25%; height: 100vh; position: sticky;
			right: 0; top: 0;}*/

	.cara_left img{width: 60%; position: absolute; top: 13%; left: 30%;}
	
	
/*item*/
	/*.item_content {width: 100%; margin: 5% auto ; }*/
	.item_wrap {width: 85%; margin: 0 auto; height: 3700px; }
	/*.item_box {width: 45%; margin: 0 auto 15% ; height: 800px;}*/

	.img_box { height: 268px;}
	.slide img { width: 220px; max-width: inherit;}
	
	/*.credit {
		width: 100%;
		margin:2% auto 0;
	}*/

	.item_n{ width: 100%; margin: 0 0 0.5%; font-size: 18px; }
	.item_p{ width: 100%; font-size: 15px;}
	.item_d{ width: 30%; margin: 5% 0 0; font-size: 13px; }
	
	
	/* Button 1 */
	.btn-1 {width: 100%; margin: 0 auto; padding: 6px 0px; font-size: 16px; letter-spacing: 2px;	}	
	.btn-2 {width: 70%; display: block; margin: 0 auto 5%; padding: 12px 0px 10px; font-size: 24px; letter-spacing: 1px;	}	

	
}
