@charset "utf-8";

/*------------------------------------------------------------
LP
------------------------------------------------------------*/
* {
margin: 0;
padding: 0;
}

/*パンくずリスト*/
.bread-crumbs .bread-crumbs-inner{
	display: none;
}


/*自動取得 Pick Up News*/
 .pick-up-news {
   /* margin-top: 100px;*/
 }
 .pick-up-news__anchor {
    display: block;
    width: 100%;
	margin: 0 auto;
	text-align: center;
 }
 
.pick-up-news__anchor img{
	width: 100%;
	margin: 0 auto;
	text-align: center;
}
 .pick-up-news__title {
   margin-bottom: 0px;
	 padding-top: 50px;
   font-size: 18px;
   text-align: center;
 }
/*.pick-up-news__list {
      width: 48%;
      margin: 0 auto;
      position: relative;
      text-align: center;
}
.pick-up-news__cta, .pick-up-news__cta:link, .pick-up-news__cta:visited {
      color: #fff;
      background-color: #a7a7a7;
      border: 1px solid #a7a7a7;
      border-radius: 5rem;
      box-sizing: border-box;
      font-size: 1.4rem;
      display: inline-block;
      line-height: 3rem;
      width: 20rem;
      height: 3rem;
}*/
.pick-up-news .pick-up-news__list a{
	width: 200px;
	height: 30px;
	display: block;
	margin: 0 auto 90px;
	color: #ffffff;
}
.pick-up-news__cta{
	background-color: #a7a7a7;
	border-radius: 50px;
	font-size: 14px;
	line-height: 30px;
	color: #ffffff;
	text-align: center;
	letter-spacing: 0.8px;
}
 @media screen and (max-width: 640px) {
   .pick-up-news {
    /* margin-top: 9.9vw;*/
   }
	 .pick-up-news__title {
		font-size: 3.4vw;
		padding-top: calc(60/780*100vw);
		margin-bottom: calc(10/780*100vw);
	 }
	 .pick-up-news__anchor {
     width: 82%;
		 max-width: 630px;
     margin: 0 auto ;
    }
  .pick-up-news__cta, .pick-up-news__cta:link, .pick-up-news__cta:visited {
     width: 40vw;
     height: 5.6vw;
     margin: 0 auto;
     border-radius: 7.8125vw;
     font-size: 2.8125vw;
     /* line-height: 5.625vw;*/
     display: flex;
     align-items: center;
     justify-content: center;
   }
 }


/*! pc & tb 
------------------------------------------*/
@media screen and (min-width: 768px) {
	
	.sp_view{
		display: none;
	}


/*LPの横幅制限を解除*/
main .contents-inner{
	max-width: none!important;
}
/*LP用の背景画像が見切れるのを防ぐ*/
.footer-logos{
	margin: 0 auto;
	padding: 5rem 0;
	background-color: #ffffff;
}

.footer .footer-inner{
	margin-top: 0!important;
	padding-top: 10rem!important;
}

.contents-inner{
	width: 100%!important;
	/*max-width: 1240px!important;*/
	max-width: auto!important;
	max-width: none;
	margin: 0 auto;
	font-family: "linotype-sabon","Times New Roman", Times, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", serif;
	/*font-family: "linotype-sabon","Times New Roman", Times,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;*/
	font-size: 15px;
	color: #7d7d7d;
	/*background-color: #090f3f;*/
}



/*疑似要素で画像を配置*/
body{
background-color: #090f3f;
}
.f-topbar-fixed{
	padding-top: 0!important;
}
body:before{
content:""; 
display:block;
width:100%; /*横幅いっぱいに表示*/
height:100vh; /*立幅いっぱいに表示*/
position:fixed; /*固定*/
z-index:-1; /*全ての要素より順位を下げる*/
background: url("/photo/page/251121_rh_holiday/img/body_bg.jpg") repeat-y;
background-size: cover;
}

/* PCのみキラキラ背景 */
.kira_bg{
	position: relative;
}
.kira_wrap{
	width: 100vw;
	height: 100vh;
	position: fixed;
	left: 0;
	top: 0;
	z-index: -1;
}
.kira_wrap .bg_txt_left{
	position: absolute;
	display: flex;
	width: 23%;
	min-width: 300px;
	right: calc(50% + 300px);
	height: 100vh;
	justify-content: center;
	align-items: center;
}
.kira_wrap .bg_txt_right{
	position: absolute;
	display: flex;
	width: 23%;
	min-width: 300px;
	left: calc(50% + 300px);
	height: 100vh;
	justify-content: center;
	align-items: center;
}
.kira_bg_left1{
	position: absolute;
	display: flex;
	width:18px;
	width:25px;
	top:13%;
	right:calc(50% + 500px);/*50%=中央。中央から左に500px*/
}
.kira_bg_left2{
	position: absolute;
	display:flex;
	width:21px;
	width:31px;
	top:18%;
	right: calc(50% + 400px);
}
.kira_bg_left3{
	position: absolute;
	display:flex;
	width:20px;
	width:30px;
	bottom:25%;
	right: calc(50% + 520px);
}
.kira_bg_left4{
	position: absolute;
	display:flex;
	width:23px;
	width:34px;
	top:50%;
	right: calc(50% + 680px);
}
.kira_bg_left5{
	position: absolute;
	display:flex;
	width:20px;
	width:25px;
	top:40%;
	right: calc(50% + 380px);
}
.kira_bg_right1{
	position: absolute;
	display:flex;
	width:23px;
	width:34px;
	top:50%;
	left: calc(50% + 530px);
}
.kira_bg_right2{
	position: absolute;
	display:flex;
	width:17px;
	width:25px;
	top:10%;
	left: calc(50% + 430px);
}
.kira_bg_right3{
	position: absolute;
	display:flex;
	width:20px;
	width:28px;
	top:60%;
	left:calc(50% + 450px);
}
.kira_bg_right4{
	position: absolute;
	display:flex;
	width:15px;
	width:25px;
	bottom:23%;
	left:calc(50% + 650px);
}
.kira_bg_right5{
	position: absolute;
	display:flex;
	width:17px;
	width:21px;
	bottom:23%;
	left:calc(50% + 380px);
}

/* section */
.section{
	display:block;
	height:100%;
}

.sec_first{
	/*width: 500px;*/
	width: 100%;
	max-width: 630px;
	margin: 0 auto;
	padding: 0;
	background-color: #ffffff;
}

.sec_second{
	width: 100%;
	margin: 0 auto;
	/* padding: 120px 0 0; */
	text-align:center;
	background-color: #ffffff;
}

.sec_ttl{
	font-size: 25px;
	padding-top: 50px;
	text-align: center;
	color: #414042;
}
	
.sec_ttl_s{
	font-size: 18px;
	padding: 50px 0;
	text-align: center;
	color: #414042;
}


/* ページ内リンク・サイドメニュー
======================*/
.side_link {
	writing-mode: vertical-rl;
	/*display: grid;*/
	align-items: center;
	height: 30px;
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
	text-align: center;
	right: 0px;
	/*left: calc(50% + 350px);*/
  z-index: 999;
	display: none;
	height: 360px;
	background-color: #ffffff;
	padding: 10px 5px;
	border-radius: 3px 0 0 3px;
	letter-spacing: -0.5px;
}
.header__nav{
}
.header__list {
  list-style: none;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.header__item a {
	color: #555555;
}
.header__link {
  position: relative;
  transition: all 0.2s ease-in-out;
  display: block;
  font-size: 15px;
  text-decoration: none;
  padding: 13px 5px;
	/*background-color: #ffffff;*/
	border-radius: 3px;
}

/* スクロールで該当のsectionが現れた時、テキストを変化させる*/
.header__link.is-active {
 /*color: #FFFFFF;*/
	font-size: 19px;
	color: #414042;
	font-weight: 700;
	transition: 1s;
	letter-spacing: -0.5px;
}

.header__link.is-active::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  /*background-color: #000000;*/
  width: 100%;
  height: 100%;
   z-index: -1;
	border-radius: 3px;
}



/* main
======================*/
.main_box{
	background-color: #ffffff;
	padding: 100px 0 50px;
}
.main_ttl{
	width: calc(500 / 780 *100%);
	text-align: center;
	margin: 0 auto;
	padding: 0;
}
.main_ttl_txt{
	width: 90%;
	margin: 0 auto;
	padding: 40px 0 0;
	font-size: 17px;
	color: #7D7D7D;
	line-height: 2.8;
	text-align: center;
	font-weight: 600;
}
.main_txt{
	width: 90%;
	margin: 0 auto;
	padding: 20px 0 20px;
	font-size: 15px;
	color: #7D7D7D;
	line-height: 2.8;
	text-align: center;
	/*text-align: justify;*/
	font-weight: 600;
}

/* heighlight
======================*/
.heighlight_wrap{
	padding-bottom: 90px;
}
.heighlight_wrap .sec_txt{
	margin: 50px auto;
}

/* menu
======================*/
.menu_wrap{
	background-color: #39445b;
	color: #ffffff;
	margin: 0 0 80px;
	padding: 60px 0;
}
.menu_box{
	padding: 50px 0;
	}
.menu_box a{
	color: #ffffff;;
}
.menu_dot{
	width: 12px;
	height: 1px;
	background-color: #888888;
	margin: 0 auto;
}
.menu_ttl{
	width: calc(584/780*100%);
	height: 32px;
	margin: 0 auto;
	padding: 0;
	font-size: 20px;
	text-align: center;
	line-height: 1;
	background: url("/photo/page/251121_rh_holiday/img/menu_bg_left.svg") no-repeat left top;
	position: relative;
}
.menu_ttl:after{
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	width: 100%;
	height: 32px;
	display: block;
	background: url("/photo/page/251121_rh_holiday/img/menu_bg_right.svg") no-repeat 100% 0%; /*フレーム下部画像*/
}
.menu_list{
	width: calc(584/780*100%);
	margin: 0 auto;
	padding: 0;
	display: flex;
	flex-wrap: wrap;/*改行許可*/
	justify-content: space-between;/*両端配置・アイテムの間にスペースを均等に割り付け*/
	align-items: flex-start;/*上揃え*/
	position: relative;
}
.menu_list a {
	display: block;
	width: calc(272/584*100%);
}
.menu_list a.txt_s{
	width: calc(168/584*100%);
}
.menu_list a.txt_l{
	margin: 0 auto;
	width: calc(320/584*100%);
}

.menu_txt{
	font-size: 16px;
	width: calc(272/584*100%);
	width: 100%;
	line-height: 32px;
	margin: 25px 0 0;
	text-align: center;
	background: url("/photo/page/251121_rh_holiday/img/menu_bg_left.svg") no-repeat left top;
	position: relative;
	color: #ffffff;
	}
.menu_txt:after{
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	width: 100%;
	height: 32px;
	display: block;
	background: url("/photo/page/251121_rh_holiday/img/menu_bg_right.svg") no-repeat 100% 0%; /*フレーム下部画像*/
	}

.menu_list a.txt_center{
	margin: 0 auto;
}


/* sec01
======================*/
.sec01_wrap{
	padding-bottom: 90px;
}
.sec01_img_wrap{
	width: calc(624/780*100%);
	margin: 0 auto;
	padding-bottom: 120px;
}

.sec01_img{
	padding-bottom: 50px;
	overflow: hidden;
}

/*画像の大きさ*/
.sec01_wrap .img_345{
	width: calc(345/624*100%);
}
.sec01_wrap .img_440{
	width: calc(440/624*100%);
}
.sec01_wrap .img_540{
	width: calc(540/624*100%);
}

/*画像の位置*/	
.sec01_wrap .img_left{
	margin-left: 0;
}
.sec01_wrap .img_right{
	margin-left: auto;
	margin-right: 0;
}
.sec01_wrap .img_center{
	margin: 0 auto;
}
.sec01_wrap .img_full{
	width: calc(500 / 500 * 100%)!important;
	margin: 0 auto;
}

/*画像の重なり*/
.img_stickybox{
 position: relative;
}
.img_stickybox .sec01_img{
	display: block;
	/*background-color: #ffffff;*/
}
.img_stickybox .style02, .img_stickybox .style03, .img_stickybox .style04{
  position: -webkit-sticky;
  position: sticky;
  top: 0;
}
.img_stickybox .style06, .img_stickybox .style07, .img_stickybox .style08{
  position: -webkit-sticky;
  position: sticky;
  top: 0;
}
.img_stickybox .style10, .img_stickybox .style11{
  position: -webkit-sticky;
  position: sticky;
  top: 0;
}
.img_stickybox .style14, .img_stickybox .style15{
  position: -webkit-sticky;
  position: sticky;
  top: 0;
}
.img_stickybox .style18, .img_stickybox .style19, .img_stickybox .style20{
  position: -webkit-sticky;
  position: sticky;
  top: 0;
}


/*画像の重なりBOXの位置調整*/
/* jewelry */
.sec_jewelry .stickybox_wrap{
	position: relative;
	top: -130px;
}
.sec_jewelry .img_stickybox{
	 margin-bottom: -130px;/*top:-130px;分の余白の相殺 */
}
/* women */
.sec_women .stickybox_wrap{
	position: relative;
	top: -100px;
}
.sec_women .img_stickybox{
	margin-bottom: -100px;/*top:-130px;分の余白の相殺 */
}


/* 個別画像の位置調整 */
.sec_women .style09{
	position: relative;
	z-index: 100;
}

/* sec02
======================*/
.sec_txt{
	font-size: 14px;
	text-align: center;
	line-height: 2;
	width: 85%;
	max-width: 760px;
	margin: 50px auto 0;
/*	padding-bottom: 90px;*/
}
	.sec_img_l{
		max-width: 630px;
		margin: 0 auto 35px;
	}
	.sec_box{
		padding-bottom: 90px;
	}
	#link_sec02{
		padding-bottom: 90px;
	}

/* sec04
======================*/
#link_sec04 .sec_ttl{
	padding-bottom: 50px;
}
.qr_wrap{
	padding-bottom: 90px;
}
.qr_box{

}
.qr_icon{
	width: 40px;
	margin: 0 auto;
	padding-bottom: 30px;
}
.qr_code{
	width: 150px;
	margin: 0 auto;
	padding-bottom: 30px;
}
.qr_txt{
	width: 120px;
	margin: 0 auto;
	padding-bottom: 30px;
}

.qr_code_wrap{
	width: 52%;
	margin: 0 auto;
	padding: 0;
	display: flex;
	flex-wrap:nowrap;/*改行*/
	justify-content: space-between;/*両端配置・アイテムの間にスペースを均等に割り付け*/
	align-items: flex-start;/*上揃え*/
}
.qr_code_box{
}
.sec_last{
	margin: 0 auto 75px;
}
.sec04_inner{
	padding-bottom: 75px;
}

/* ポエム
======================*/
.poem_inner{
	width: calc(780/780*100%);
	margin: 0 auto;
	padding: 280px 0 240px;
	background-color: #2f3b52;
	position: relative;
}
.poem_txt{
	width: calc(520/780*100%);
	margin: 0 auto;
	padding-bottom: 130px;
}
.poem_logo{
	width: calc(170/780*100%);
	margin: 0 auto;
}
.ornament_1{
	position: absolute;width: calc(90/780*100%);
	top: 110px;
	right: 140px;
}
.ornament_2{
	position: absolute;width: calc(90/780*100%);
	top: 195px;
	right: 40px;
}
.ornament_3{
	position: absolute;width: calc(90/780*100%);
	top: 320px;
	right: 20px;
}
.ornament_4{
	position: absolute;width: calc(90/780*100%);
	top: 570px;
	right: -40px;
}
.ornament_5{
	position: absolute;width: calc(90/780*100%);
	bottom: 330px;
	right: 30px;
}
.ornament_6{
	position: absolute;width: calc(90/780*100%);
	bottom: 280px;
	right: 100px;
}
.ornament_7{
	position: absolute;width: calc(90/780*100%);
	bottom: 130px;
	left: 160px;
}
.ornament_8{
	position: absolute;width: calc(90/780*100%);
	bottom: 310px;
	left: 60px;
}
.ornament_9{
	position: absolute;width: calc(90/780*100%);
	bottom: 430px;
	left: -40px;
}
.ornament_10{
	position: absolute;width: calc(90/780*100%);
	top: 450px;
	left: 5px;
}
.ornament_11{
	position: absolute;width: calc(90/780*100%);
	top: 140px;
	left: 80px;
}


/* リンクバナー
======================*/
.sec05_wrap{
	padding: 70px 0 120px;
	background-color: #d8d0d0;
}
.sec05_inner{
	padding: 50px 0 0;
	margin: 0 auto;
	text-align: center;
}
.sec05_inner img{
	width: 70%;
	text-align: center;
	max-width: 630px;
	margin: 0 auto;
	padding: 0 0 35px;
}

/* ボタン大
======================*/
	.footer_btn_wrap{
		/*border-top: 1px solid #dadada;*/
		margin: 0px auto;
	}

	.footer_btn_wrap a{
		width: 320px;
		/*height: 30px;*/
		display: block;
		margin: 0 auto 30px;
	}
	.footer_btn{
		background-color: #a7a7a7;
		border-radius: 5px;
		font-size: 14px;
		line-height: 40px;
		height: 40px;
		color: #ffffff;
		text-align: center;
		letter-spacing: 0.8px;
	}

	.font_jp{
		font-size: 13px;
		letter-spacing: -0.7px;
	}
	.txt_space_jp{
		letter-spacing: -1px;
	}

/* View More ボタン大
======================*/
.sec_btn_wrap a{
	width: 150px;
	height: 30px;
	display: block;
	margin: 0 auto;
}

.sec_btn_wrap a.news_index{
		padding-top: 20px;
	}
.sec_btn_wrap_last a{
	width: 150px;
	height: 30px;
	display: block;
	margin: 50px auto 70px;
}
.sec_btn{
	background-color: #a7a7a7;
	border-radius: 50px;
	font-size: 14px;
	line-height: 30px;
	color: #ffffff;
	text-align: center;
	letter-spacing: 0.8px;
}

.sec_second .footer_btn_wrap a{
	margin: 0 auto!important;
	padding-bottom: 100px;
}

/* コンテンツ内のキラキラ 
======================*/
.sec01_wrap{
	position: relative;
}
.kira01_01{
	position: absolute;
	width: calc(32/780*100%);
	top: -20px;
	right: calc(200/780 * 100%);
}
.kira01_02{
	position: absolute;
	width: calc(27/780*100%);
	top: 20px;
	right: calc(165/780 * 100%);
}
.kira01_03{
	position: absolute;
	width: calc(22/780*100%);
	top: 900px;
	left: calc(100/780 * 100%);
}

.sec_goods{
	position: relative;
}
.kira01_04{
	position: absolute;
	width: calc(22/780*100%);
	bottom: 60px;
	left: calc(65/780 * 100%);
}
.sec_jewelry{
	position: relative;
}
.kira01_05{
	position: absolute;
	width: calc(30/780*100%);
	top: -90px;
	right: calc(140/780 * 100%);
}
.kira01_06{
	position: absolute;
	width: calc(25/780*100%);
	top: -50px;
	right: calc(170/780 * 100%);
}
.kira01_07{
	position: absolute;
	width: calc(30/780*100%);
	top: 650px;
	right: calc(85/780 * 100%);
}
.kira01_08{
	position: absolute;
	width: calc(32/780*100%);
	bottom: 40px;
	left: calc(45/780 * 100%);
}
.kira01_09{
	position: absolute;
	width: calc(27/780*100%);
	bottom: 0px;
	left: calc(95/780 * 100%);
}
.sec_women{
	position: relative;
}
.kira01_10{
	position: absolute;
	width: calc(30/780*100%);
	top: 600px;
	right: calc(20/780 * 100%);
}
.sec_men{
	position: relative;
}
.kira01_11{
	position: absolute;
	width: calc(32/780*100%);
	top: 110px;
	left: calc(0/624 * 100%);
}
.kira01_12{
	position: absolute;
	width: calc(26/780*100%);
	top: 1100px;
	right: calc(-50/624 * 100%);
}
.kira01_13{
	position: absolute;
	width: calc(26/780*100%);
	bottom: 0px;
	left: calc(0/624 * 100%);
}
.kira01_14{
	position: absolute;
	width: calc(32/780*100%);
	bottom: -50px;
	left: calc(50/624 * 100%);
}
.sec_kids{
	position: relative;
}
.kira01_15{
	position: absolute;
	width: calc(26/780*100%);
	top: 500px;
	right: calc(-20/624 * 100%);
}




}/*! //pc & tb */





/*! sp 
------------------------------------------*/
@media screen and (max-width: 767px) {
	 /* 画面サイズが768px未満の場合の設定 */

	.pc_view{
		display: none;
	}
	main .contents-inner{
		margin: 0 0 0;
		/*font-family: "linotype-sabon","Times New Roman", Times,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;*/
		font-family: "linotype-sabon","Times New Roman", Times, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", serif;
		color: #7d7d7d;
	}

/* sp section
======================*/
.section{
	display:block;
	height:100%;
}

.sec_first{
	width: 100%;
	margin: 0 auto;
	padding: 0;
}

.sec_second{
	width: 100%;
	margin: 0 auto;
	padding: 0;
	text-align:center;
	background-color: #ffffff;
	/* padding: 0 0 calc(10/500*100vw); */
}

.sec_ttl{
	font-size: 4.3vw;
	text-align: center;
	color: #414042;
	position: relative;
	padding-top: calc(160/780*100vw);
	margin-bottom: calc(60/780*100vw);
}
.sec_ttl_s{
	font-size: 3.4vw;
	text-align: center;
	color: #414042;
	position: relative;
	padding-top: calc(60/780*100vw);
	margin-bottom: calc(60/780*100vw);
}


/* sp ページ内リンク・サイドメニュー
======================*/
.side_link {
	writing-mode: vertical-rl;
	/*display: grid;*/
	align-items: center;
	height: 30px;
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
	text-align: center;
	right: 0vw;
	/*left: calc(50% + 350px);*/
  z-index: 999;
	display: none;
	height: 360px;
	letter-spacing: -0.05vw;
}
.header__nav{
}
.header__list {
  list-style: none;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.header__item a {
	color: #666666;
}
.header__link {
  position: relative;
  transition: all 0.2s ease-in-out;
  display: block;
  font-size: 3.2vw;
	font-size: 14px;
  text-decoration: none;
  padding: 13px 5px;
	/*background-color: #ffffff;*/
	border-radius: 3px;
}

/* スクロールで該当のsectionが現れた時、テキストを変化させる*/
.header__link.is-active {
 /*color: #FFFFFF;*/
	font-size: 4.3vw;
	font-size: 17px;
	color: #414042;
	font-weight: 600;
	/*font-weight: normal;*/
	transition: 1s;
	letter-spacing: 0.5px;
	color: #414042;
}

.header__link.is-active::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  /*background-color: #000000;*/
  width: 100%;
  height: 100%;
   z-index: -1;
	border-radius: 3px;
}



/* sp main
======================*/
.cri-liveact-player{
	max-width: 768px!important;
}
/* .main_poem{
	background: url("/photo/page/251121_rh_holiday/img/poem_btm.png") no-repeat bottom center;
	background-size: contain;
	padding-bottom: calc(330 / 780 * 100vw);
	margin: 0 auto calc(80 / 780 * 100vw);
}
.main_logo{
	width: 100%;
  margin: 0 auto;
	padding-bottom: calc(130 / 780 * 100vw);
}
.main_poem_txt{
	width: calc(480 / 780 * 100vw);
	margin: 0 auto;
	} */

.main_img{
	width: 100%;
}

.main_box{
	background-color: #ffffff;
	padding: calc(180 / 780 * 100vw) 0 0;
}

.main_ttl{
		width: calc(620 / 780 * 100%);
	font-size: 4.8vw;
	text-align: center;
  margin: 0 auto;
	padding: 0 0 calc(90 / 780 * 100vw);
}
.main_ttl_txt{
	width: calc(700 / 780 * 100%);
	margin: 0 auto;
	padding: 0 0 calc(75 / 780 * 100vw);
	font-size: 3.8vw;
	color: #7D7D7D;
	line-height: 2.3;
	text-align: center;
	font-weight: 600;
}
.main_txt{
	width: calc(700 / 780 * 100%);
	margin: 0 auto;
	padding: calc(0 / 780 * 100vw) 0 0;
	font-size: 3.3vw;
	color: #7D7D7D;
	line-height: 2.3;
	text-align: center;
	font-weight: 600;
}

/* heighlight
======================*/
.heighlight_wrap{
	padding-bottom: calc(160 / 780 * 100vw);
	
}
.heighlight_wrap .sec_txt{
	margin: 0 auto calc(60 / 780 * 100vw);
}


/*sp menu
======================*/
.menu_wrap{
	background-color: #39445b;
	color: #ffffff;
	margin: 0;
	padding: calc(80/780*100vw) 0;
}
.menu_box{
	padding: calc(50/780*100vw) 0;
}
.menu_box a{
	color: #ffffff;;
}
.menu_dot{
	width: calc(15/780*100vw);
	height: 1px;
	background-color: #888888;
	margin: 0 auto;
}
.menu_ttl{
	width: calc(584/780*100%);
	font-size: 4.3vw;
	text-align: center;
	line-height: 1;
	height: 5vw;
	margin: 0 auto;
	padding: 0;
	background: url("/photo/page/251121_rh_holiday/img/menu_bg_left.svg") no-repeat 0% 0%;
	position: relative;
}
.menu_ttl:after{
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	width: 100%;
	height: 5vw;
	display: block;
	background: url("/photo/page/251121_rh_holiday/img/menu_bg_right.svg") no-repeat 100% 0%; /*フレーム下部画像*/
	}
.menu_list{
	width: calc(584/780*100%);
	margin: 0 auto;
	padding: 0;
	display: flex;
	flex-wrap: wrap;/*改行許可*/
	justify-content: space-between;/*両端配置・アイテムの間にスペースを均等に割り付け*/
	align-items: flex-start;/*上揃え*/
	position: relative;
}
.menu_list a {
	display: block;
	width: calc(272/584*100%);
}
.menu_list a.txt_s{
	width: calc(168/584*100%);
}
.menu_list a.txt_l{
	margin: 0 auto;
	width: calc(410/584*100%);
}
.menu_txt{
	font-size: 3.4vw;
	width: calc(272/584*100%);
	width: 100%;
	height: 5vw;
	line-height: 5vw;
	margin: calc(50/780*100vw) 0 0;
	text-align: center;
	background: url("/photo/page/251121_rh_holiday/img/menu_bg_left.svg") no-repeat 0% 0%;
	/*background-size: auto 100%;*/
	position: relative;
	color: #ffffff;
	}
.menu_txt:after{
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	width: 100%;
	height: 5vw;
	display: block;
	background: url("/photo/page/251121_rh_holiday/img/menu_bg_right.svg") no-repeat 100% 0%; /*フレーム下部画像*/
	}

.menu_list a.txt_center{
	margin: 0 auto;
}


/* sp view more ボタン*/

.sec_btn_wrap a{
	width: 30vw;
	height: 5.625vw;
	display: block;
	margin: 0 auto;
	/*padding-bottom: calc(160/780*100%);*/
}
.sec01_wrap .sec_btn_wrap a{
		margin: calc(10/780*100vw) auto 0;
}
.sec_btn{
	background-color: #a7a7a7;
	border-radius: 7.8125vw;
	font-size: 2.8125vw;
	line-height: 5.625vw;
	color: #ffffff;
	text-align: center;
	letter-spacing: 0.1vw;
}
.sec_btn_wrap a.news_index{
		padding-top: calc(40/780*100vw);
	}

/* sp ボタン大*/
.footer_btn_wrap{
	/*border-top: 1px solid #dadada;*/
	margin: 9vw auto 13vw;
}

.footer_btn_wrap a{
	width: 63vw;
	height: 5.625vw;
	display: block;
	margin: 0 auto 8vw;
}
.footer_btn{
	text-align: center;
	letter-spacing: 0.8px;
	background-color: #a7a7a7;
	border-radius: 1vw;
	font-size: 2.8125vw;
	line-height: 5.625vw;
	line-height: 8vw;
	color: #ffffff;
	text-align: center;
	letter-spacing: 0.1vw;
}
.font_jp{
	font-size: 2.7vw;
	letter-spacing: -0.2vw;
}


/* sp sec01
======================*/
.sec01_wrap{
	/*padding-bottom: calc(170/780*100vw);*/
}
.sec01_img_wrap{
	width: calc(624/780*100%);
	margin: 0 auto;
	padding-bottom: calc(170/780*100vw);
}

.sec01_img{
	padding-bottom: calc(50/780*100vw);
	overflow: hidden;
}

/*画像の大きさ*/
.sec01_wrap .img_345{
	width: calc(345/624*100%);
}
.sec01_wrap .img_440{
	width: calc(440/624*100%);
}
.sec01_wrap .img_540{
	width: calc(540/624*100%);
}

/*画像の位置*/	
.sec01_wrap .img_left{
	margin-left: 0;
}
.sec01_wrap .img_right{
	margin-left: auto;
	margin-right: 0;
}
.sec01_wrap .img_center{
	margin: 0 auto;
}
.sec01_wrap .img_full{
	width: calc(500 / 500 * 100%)!important;
	margin: 0 auto;
}

/*画像の重なり*/
.img_stickybox{
 position: relative;
}
.img_stickybox .sec01_img{
	display: block;
	/*background-color: #ffffff;*/
}
.img_stickybox .style02, .img_stickybox .style03, .img_stickybox .style04{
  position: -webkit-sticky;
  position: sticky;
  top: 0;
}
.img_stickybox .style06, .img_stickybox .style07, .img_stickybox .style08{
  position: -webkit-sticky;
  position: sticky;
  top: 0;
}
.img_stickybox .style10, .img_stickybox .style11{
  position: -webkit-sticky;
  position: sticky;
  top: 0;
}
.img_stickybox .style14, .img_stickybox .style15{
  position: -webkit-sticky;
  position: sticky;
  top: 0;
}
.img_stickybox .style18, .img_stickybox .style19, .img_stickybox .style20{
  position: -webkit-sticky;
  position: sticky;
  top: 0;
}

/*画像の重なりBOXの位置調整*/
/* jewelry */
.sec_jewelry .stickybox_wrap{
	position: relative;
	top: calc(-130/780*100vw);
}
.sec_jewelry .img_stickybox{
	 margin-bottom: calc(-130/780*100vw);/*top:-130;分の余白の相殺 */
}
/* women */
.sec_women .stickybox_wrap{
	position: relative;
	top: calc(-100/780*100vw);
}
.sec_women .img_stickybox{
	margin-bottom: calc(-100/780*100vw);/*top:-130px;分の余白の相殺 */
}


/* 個別画像の位置調整 */
.sec_women .style09{
	position: relative;
	z-index: 100;
}


/* sp sec02
======================*/
.sec_txt{
	font-size: 3vw;
	text-align: center;
	line-height: 2;
	width: 92%;
	max-width: 760px;
	margin: 0 auto;
	/*padding-bottom: calc(70/780*100vw);*/
}
	.sec_img_l{
		width: 82%;
		max-width: 630px;
		margin: 0 auto calc(60/780*100vw);
	}
	.sec_box{
		padding-bottom: calc(100/780*100vw);
	}
	#link_sec02{
		/*padding-bottom: calc(120/780*100vw);*/
	}


/* sec04
======================*/
#link_sec04 .sec_ttl{
	padding-top: calc(60/780*100vw);
	margin-bottom: calc(60/780*100vw);
}
#link_sec04 .sec_txt{
	padding-bottom: 0;
}
.qr_wrap{
	padding-bottom:calc(120/780*100vw);
}
.qr_box{

}
.qr_icon{
	width: calc(50/780*100vw);
	margin: 0 auto;
	padding-bottom: calc(15/780*100vw);
}
.qr_code{
	width: calc(200/780*100vw);
	margin: 0 auto;
	padding-bottom: calc(15/780*100vw);
}
.qr_txt{
	width: calc(200/780*100vw);
	margin: 0 auto;
	padding-bottom: calc(40/780*100vw);
}

.qr_code_wrap{
	width: 55%;
	margin: 0 auto;
	padding: 0;
	display: flex;
	flex-wrap:nowrap;/*改行*/
	justify-content: space-between;/*両端配置・アイテムの間にスペースを均等に割り付け*/
	align-items: flex-start;/*上揃え*/
}
.qr_code_box{
}
.sec_last{
	margin: 0 auto 75px;
}
.sec04_inner{
	padding-bottom: calc(75/780*100vw);
}


/* sp ポエム
======================*/
.poem_inner{
	width: calc(780/780*100%);
	margin: 0 auto;
	padding: calc(320/780*100vw) 0 calc(280/780*100vw);
	background-color: #2f3b52;
	position: relative;
	overflow: hidden;
}
.poem_txt{
	width: calc(600/780*100vw);
	margin: 0 auto;
	padding-bottom: calc(120/780*100vw);
}
.poem_logo{
	width: calc(200/780*100vw);
	margin: 0 auto;
}
.ornament_1{
	position: absolute;width: calc(90/780*100vw);
	top: calc(160/780*100vw);
	right: calc(140/780*100vw);
}
.ornament_2{
	position: absolute;width: calc(90/780*100vw);
	top: calc(245/780*100vw);
	right: calc(40/780*100vw);
}
.ornament_3{
	position: absolute;width: calc(90/780*100vw);
	top: calc(370/780*100vw);
	right: calc(20/780*100vw);
}
.ornament_4{
	position: absolute;width: calc(90/780*100vw);
	top: calc(630/780*100vw);
	right: calc(-20/780*100vw);
}
.ornament_5{
	position: absolute;width: calc(90/780*100vw);
	bottom: calc(350/780*100vw);
	right: calc(30/780*100vw);
}
.ornament_6{
	position: absolute;width: calc(90/780*100vw);
	bottom: calc(290/780*100vw);
	right: calc(100/780*100vw);
}
.ornament_7{
	position: absolute;width: calc(90/780*100vw);
	bottom: calc(160/780*100vw);
	left: calc(160/780*100vw);
}
.ornament_8{
	position: absolute;width: calc(90/780*100vw);
	bottom: calc(340/780*100vw);
	left: calc(60/780*100vw);
}
.ornament_9{
	position: absolute;width: calc(90/780*100vw);
	bottom: calc(460/780*100vw);
	left: calc(-20/780*100vw);
}
.ornament_10{
	position: absolute;width: calc(90/780*100vw);
	top: calc(450/780*100vw);
	left: calc(5/780*100vw);
}
.ornament_11{
	position: absolute;width: calc(90/780*100vw);
	top: calc(180/780*100vw);
	left: calc(80/780*100vw);
}
/* sp リンクバナー
======================*/
.sec05_wrap{
	padding: 0 0 calc(170/780*100vw);
	background-color: #d8d0d0;
}
.sec05_inner{
	padding: 0 0;
	margin: 0 auto;
	text-align: center;
}
.sec05_inner img{
	width: 65%;
	text-align: center;
	max-width: 630px;
	margin: 0 auto calc(60/780*100vw);
}
/* sp ボタン大
======================*/
.footer_btn_wrap{
	/*border-top: 1px solid #dadada;*/
	margin: 0 auto 0;
}

.footer_btn_wrap a{
	width: 63vw;
	height: 5.625vw;
	display: block;
	margin: 0 auto 8vw;
}
.footer_btn{
	text-align: center;
	letter-spacing: 0.8px;
	background-color: #a7a7a7;
	border-radius: 1vw;
	font-size: 2.8125vw;
	line-height: 5.625vw;
	line-height: 8vw;
	color: #ffffff;
	text-align: center;
	letter-spacing: 0.1vw;
}
.font_jp{
	font-size: 2.7vw;
	letter-spacing: -0.2vw;
}


/* sp コンテンツ内のキラキラ 
======================*/
.sec01_wrap{
	position: relative;
}
.kira01_01{
	position: absolute;
	width: calc(32/780*100vw);
	top: 10vw;
	right: calc(200/780 * 100%);
}
.kira01_02{
	position: absolute;
	width: calc(27/780*100vw);
	top: 16vw;
	right: calc(165/780 * 100%);
}
.kira01_03{
	position: absolute;
	width: calc(27/780*100vw);
	top: 160vw;
	left: calc(100/780 * 100%);
}

.sec_goods{
	position: relative;
}
.kira01_04{
	position: absolute;
	width: calc(27/780*100vw);
	bottom: 60px;
	left: calc(65/624 * 100%);
}
.sec_jewelry{
	position: relative;
}
.kira01_05{
	position: absolute;
	width: calc(30/780*100vw);
	top: -15vw;
	right: calc(110/624 * 100%);
}
.kira01_06{
	position: absolute;
	width: calc(25/780*100vw);
	top: -10vw;
	right: calc(150/624 * 100%);
}
.kira01_07{
	position: absolute;
	width: calc(32/780*100vw);
	top: 100vw;
	right: calc(85/780 * 100%);
}
.kira01_08{
	position: absolute;
	width: calc(35/780*100vw);
	bottom: 10vw;
	left: calc(35/624 * 100%);
}
.kira01_09{
	position: absolute;
	width: calc(30/780*100vw);
	bottom: 5vw;
	left: calc(85/624 * 100%);
}
.sec_women{
	position: relative;
}
.kira01_10{
	position: absolute;
	width: calc(30/780*100vw);
	top: 90vw;
	right: calc(10/780 * 100%);
}
.sec_men{
	position: relative;
}
.kira01_11{
	position: absolute;
	width: calc(32/780*100vw);
	top: 10vw;
	left: calc(0/624 * 100%);
}
.kira01_12{
	position: absolute;
	width: calc(26/780*100vw);
	top: 175vw;
	right: calc(0/624 * 100%);
}
.kira01_13{
	position: absolute;
	width: calc(26/780*100vw);
	bottom: 10vw;
	left: calc(0/624 * 100%);
}
.kira01_14{
	position: absolute;
	width: calc(32/780*100vw);
	bottom: 0vw;
	left: calc(50/624 * 100%);
}
.sec_kids{
	position: relative;
}
.kira01_15{
	position: absolute;
	width: calc(26/780*100vw);
	top: 120vw;
	right: calc(70/624 * 100%);
}


}/*! //sp */




/*! tablet 
------------------------------------------*/
@media screen and  (min-width: 641px) and (max-width: 767px) {
/* tb section
======================*/

.sec01_img_wrap{
	padding-bottom: 80px;
}

.footer_btn_wrap a{
	width: 320px;
}

}/*! //tablet */





/*@media screen and (max-width: 1200px) and (min-width: 768px) and (orientation: portrait) {
}
*/












/*タイトル タイピングアニメーション start
=========================*/
.eachTextAnime span{opacity: 0;}
.eachTextAnime.appeartext span{ animation:text_anime_on1 1s ease-out forwards; }

.line1 .eachTextAnime.appeartext span{ animation:text_anime_on1 1s ease-out forwards; }
.line2 .eachTextAnime.appeartext span{ animation:text_anime_on2 1s ease-out forwards; }
.line3 .eachTextAnime.appeartext span{ animation:text_anime_on2 1.5s ease-out forwards; }
@keyframes text_anime_on1 {
  0% {opacity:0;}
  100% {opacity:1;}
}
	@keyframes text_anime_on2 {
  0% {opacity:0;}
  50% {opacity:0;}
  100% {opacity:1;}
}
/*タイトル タイピングアニメーション end
=========================*/


/*画像回転アニメーション start
=========================*/
.itemAnmTrigger {
	opacity: 0;
}
.itemAnmActive {
	opacity: 1;
}
.style01 .itemAnmActive{
	animation: item_anm_zoom 2s ease-out 1;
}
.style02 .itemAnmActive{
	animation: item_anm_right 2s ease-out 1;
}
.style05 .itemAnmActive{
	animation: item_anm_up 2s ease-out 1;
}
.style06 .itemAnmActive{
	animation: item_anm_left 2s ease-out 1;
}
.style09 .itemAnmActive{
	animation: item_anm_right 2s ease-out 1;
}
.style10 .itemAnmActive{
	animation: item_anm_left 2s ease-out 1;
}
.style13 .itemAnmActive{
	animation: item_anm_up 2s ease-out 1;
}
.style16 .itemAnmActive{
	animation: item_anm_zoom 2s ease-out 1;
}
.style17 .itemAnmActive{
	animation: item_anm_up 2s ease-out 1;
}
.style20 .itemAnmActive{
	animation: item_anm_zoom 2s ease-out 1;
}


/*過去の設定*/


/*.style04 .itemAnmActive{
	animation: item_anm_left 2s ease-out 1;
}
.style07 .itemAnmActive{
	animation: item_anm_left 2s ease-out 1;
}
.style08 .itemAnmActive{
	animation: item_anm_right 2s ease-out 1;
}


.style11 .itemAnmActive{
	animation: item_anm_left 2s ease-out 1;
}

.style15 .itemAnmActive{
	animation: item_anm_zoom 2s ease-out 1;
}*/


/*左から右に移動・透過なし・はみ出さない*/
@keyframes item_anm_left {
0%   {transform: scale(1) rotate(0) translateX(-50px); opacity: 1;}
100% {transform: scale(1) rotate(0) translateX(0); opacity: 1;}
}
/*右から左に移動・透過なし・はみ出さない*/
@keyframes item_anm_right {
0%   { transform: scale(1) rotate(0) translateX(50px); opacity: 0;}
100% { transform: scale(1) rotate(0) translateX(0); opacity: 1;}
}
/*その場で縮小表示*/
@keyframes item_anm_zoom {
0%   {transform: scale(1.2) rotate(0) translate3d(0,0,0); opacity: 0;}
100% {transform: scale(1) rotate(0) translate3d(0,0,0); opacity: 1;}
}
/*下から上に移動・透過なし・はみ出さない*/
@keyframes item_anm_up {
0%   {opacity:0;transform:translate3d(0,50px,0);}
100% {opacity:1;transform:translate3d(0,0,0);}
}
/*下から上に移動*/
/*@keyframes item_anm4 {
0%   {opacity:0;transform:translate3d(0,50px,0);}
100% {opacity:1;transform:none;}
}
@keyframes item_anm5 {
0%   {opacity:0;transform:translate3d(0,500px,0);}
100% {opacity:1;transform:translate3d(0,0,0);}
}
@keyframes item_anm6 {
0%   {opacity:0;transform:translate3d(0,500px,0);}
100% {opacity:1;transform:translate3d(0,0,0);}
}*/



.imgFrame{
	overflow: hidden;
}
.imgFrame img{
	overflow: hidden;
}

/*画像回転アニメーション end
=========================*/






/*   ふわっと表示 start
=========================*/
/* ----- effects ----- */
  .effFI, .effFIU, .effFID, .effFIR, .effFIL { opacity:0; }
  .effFI.effanm { -webkit-animation:effFI 2.5s both; animation:effFI 2.5s both; }
  .effFIU.effanm { -webkit-animation:effFIU 1.5s both; animation:effFIU 1.5s both; }
  .effFID.effanm { -webkit-animation:effFID 1.5s both; animation:effFID 1.5s both; }
  .effFIR.effanm { -webkit-animation:effFIR 1.5s both; animation:effFIR 1.5s both; }
  .effFIL.effanm { -webkit-animation:effFIL 1.5s both; animation:effFIL 1.5s both; }

/*その場でフェードイン*/
  @-webkit-keyframes effFI {0%{opacity:0}100%{opacity:1}}
  @keyframes effFI {0%{opacity:0}100%{opacity:1}}

/*下から上へフェードイン*/
  @-webkit-keyframes effFIU {0%{opacity:0;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}
  @keyframes effFIU {0%{opacity:0;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}

/*上から下へフェードイン*/
  @-webkit-keyframes effFID {0%{opacity:0;-webkit-transform:translate3d(0,-50px,0);transform:translate3d(0,-50px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}
  @keyframes effFID {0%{opacity:0;-webkit-transform:translate3d(0,-50px,0);transform:translate3d(0,-50px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}

/*右から左へフェードイン*/
  @-webkit-keyframes effFIR {0%{opacity:0;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}
  @keyframes effFIR {0%{opacity:0;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}

/*右から左へフェードイン*/
  @-webkit-keyframes effFIL {0%{opacity:0;-webkit-transform:translate3d(-50px,0,0);transform:translate3d(-50px,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}
  @keyframes effFIL {0%{opacity:0;-webkit-transform:translate3d(-50px,0,0);transform:translate3d(-50px,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}
/*   ふわっと表示 end
=========================*/


/*   ふわっと表示：拡大×2しながら start
=========================*/
/* ----- effects ----- */
  .effKira1, .effKira2, .effKira_bg1, .effKira_bg2, .effKira_bg3, .effKira_bg4, .effKira_bg5, .effKira_bg6, .effKira_bg7 { opacity:0; }
  .effKira1.effanm { animation:effKira1 0.8s both; }
  .effKira2.effanm { animation:effKira2 0.8s both; }
  .effKira_bg1.effanm { animation:effKira_bg1 5s infinite;}
  .effKira_bg2.effanm { animation:effKira_bg2 5s infinite; animation-delay: 0.7s;}
  .effKira_bg3.effanm { animation:effKira_bg1 5s infinite; animation-delay: 1.5s;}
  .effKira_bg4.effanm { animation:effKira_bg2 5s infinite; animation-delay: 2.0s;}
  .effKira_bg5.effanm { animation:effKira_bg1 5s infinite; animation-delay: 2.5s;}
  .effKira_bg6.effanm { animation:effKira_bg2 5s infinite; animation-delay: 2.7s;}
  .effKira_bg7.effanm { animation:effKira_bg1 5s infinite; animation-delay: 3.0s;}

  @keyframes effKira1{
	0% {transform: scale(0.3);opacity: 0;}
	30% {transform: scale(0.8);opacity: 1;}
	60%{transform: scale(0.5);opacity: 0;}
	100% {transform: scale(1.0);opacity: 1;}}
  @keyframes effKira2{
	0% {transform: scale(0.3);opacity: 0;}100%{transform: scale(1.0);opacity: 1;}}

  @keyframes effKira_bg1{
	0% {transform: scale(0.5);opacity: 0;}
	5% {transform: scale(1.0);opacity: 1;}
	10%{transform: scale(0.5);opacity: 0;}
	25%{transform: scale(1.0);opacity: 1;}
	40%{transform: scale(0.5);opacity: 0;}
	100% {transform: scale(0.5);opacity: 0;}}

   @keyframes effKira_bg2{
	0% {}
	30% {transform: scale(0.5);opacity: 0;}
	35% {transform: scale(1.0);opacity: 1;}
	40%{transform: scale(0.5);opacity: 0;}
	55% {transform: scale(1.0);opacity: 1;}
	70% {transform: scale(0.5);opacity: 0;}
	100% {transform: scale(0.5);opacity: 0;}} 


/*   ふわっと表示：拡大×2しながら end
=========================*/

  .effLarge { opacity:0; }
  .effLarge.effanm { animation:effLarge 0.8s both; }
   @keyframes effLarge{
	0% {transform: translateY(20px) scale(0.7);opacity: 0;}
	100%{transform: translateY(0px) scale(1);opacity: 1;}}