@charset "UTF-8";
/* ---------------------------------------------
*   l-contents
--------------------------------------------- */
html {
  scroll-behavior: smooth;
}
body{
    font-size: 1.2vw;
    color:#fff;
    background-color: #010512;
    position:relative;
}
a:hover{
    opacity:.8;
    transition: opacity 300ms;
    color:#ddd;
}
a:visited {
  color: #fff;
}
.pc{display:block !important;}
.sp{display:none !important;}
 
 .sample{
        width:100%;
  position: absolute;
  top: 327px;
  z-index: 9;
  opacity: .5;
  /*display:none;*/
 }

.specialBanner{
width: 18vw;
  position: fixed;
  right: 0;
  bottom: 150px;
  z-index: 9999;
  transition: all 0.3s ease 0s;
    visibility: visible;
    opacity: 1;
    
    &.is-hidden2 {
        visibility: hidden;
        opacity: 0;
    }
}

.specialBanner2{
width: 18vw;
  position: fixed;
  right: 0;
  bottom: 150px;
  z-index: 9999;
  transition: all 0.3s ease 0s;
    visibility: visible;
    opacity: 1;
    
    &.is-hidden {
        visibility: hidden;
        opacity: 0;
    }
}

/*メニューが2つ*/ 
 .l-header-nav__list {
  width: 45vw;
}
 /* ---------------------------------------------
*   ページ内リンクのズレ調整
--------------------------------------------- */
#anchor-2{
    padding-top: 130px;
    margin-top:-130px;
}
#anchor-nav1{
    padding-top: 70px;
    margin-top:-70px;
}
#anchor-nav6{
    padding-top: 70px;
    margin-top:-70px;
}
/* ---------------------------------------------
*   c-section-01
--------------------------------------------- */
.c-section-01 {
  position: relative;
  height: 100vh !important;
  overflow: hidden;
      z-index:9;
}
.c-section-01 video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-section-01 .overlay {
  position: absolute;
  inset: 0;
  background: black;
  opacity: 0;
  transition: none; /* JSで制御するので不要 */
}
.c-section-01 .title-img {
  position: absolute;
  bottom: 20%;
  left: 50%;
  transform: translateX(-50%);
  opacity: 0;
  width:45vw;
}


.scroll-hint {
  position: absolute;
  bottom: 100px;
  left: 20px;
  writing-mode: vertical-rl; /* 縦書き */
  text-orientation: mixed;
  font-size: 18px;
  font-family: sans-serif;
  color: #fff;
  z-index: 9999;
  pointer-events: none;
  text-align: center;
  letter-spacing: 2px;
}

.scroll-hint .text {
  display: block;
  margin-bottom: 8px;
}

.scroll-hint .line {
  display: block;
  width: 1px;
  height: 115px;
  margin: 0 auto;
  background: linear-gradient(
    to bottom,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0.9) 50%,
    rgba(255,255,255,0) 100%
  );
  background-size: 100% 200%;
  animation: lineFlow 2s infinite;
}

@keyframes lineFlow {
  0%   { background-position: 0% 0%; }
  100% { background-position: 0% 100%; }
}


/*
.c-section-01 {
    position: relative;
    overflow: hidden;
    height:94.5vh;
    display: flex;
  justify-content: center;
  align-items: center;
}

.c-section-01__ttl-outer {
width: 42vw;
}

.main-visual-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}
*/
/* ---------------------------------------------
*   c-section-02
--------------------------------------------- */
.c-section-02 {
    position: relative;
    background: url(../img/sec2-1.webp) 0 0 ;
     background-size: cover;
  width: 100%;
    height: 72.5vw;
    margin-top:-0.1vw;
    z-index:9;
}
.c-section-02 h2{
width: 42.5vw;
  padding-top: 16.3vw;
  margin-left: 51vw;
}
.c-section-02 .note{
width: 44.1vw;
  margin: 32.5vw auto;
}
/* ---------------------------------------------
*   c-section-03
--------------------------------------------- */

.c-section-03 h2{
width: 31vw;
  padding-top: 12.5vw;
  margin: 0 auto 7vw;
}
.c-section-03 .txt1 {
width: 37vw;
  margin: 0 auto 5.5vw;
}
.c-section-03 .txt2 {
width: 48vw;
  margin: 0 auto;
}

.c-section-03  .bg-image-clip {
  position: absolute;
  left: 0;
  width: 100%;
  height: 105.8vw;
  clip-path: inset(0); /* 切り抜き */

}
.c-section-03  {
  .bg-image-fixed {
    background-image: url(../img/sec11-1.webp);
  }
}
.c-section-03 .overlay {
  position: absolute;
  top:0; left:0;
  width:100%; height:100%;
  background: rgba(0,12,35,1);
  opacity: 0;
  pointer-events: none;
  z-index: 1;
}

.c-section-03{
  position: relative;
  background-size: cover;
  background-position: center;
  width: 100%;
    height: 105.8vw;
  overflow: hidden;
}

/* ---------------------------------------------
*   c-section-04
--------------------------------------------- */
.c-section-04 {
    position: relative;
    background: url(../img/sec4-1.webp) 0 0;
     background-size: cover;
  width: 100%;
    background-color:;
    height:89vw;
}
.c-section-04 h2{
width: 31.5vw;
  padding-top: 12vw;
  margin: 0 auto 12vw;
}
.c-section-04 .txt1 {
width: 82vw;
  margin-left: 13vw;
}
.c-section-04 .txt2 {
width: 24vw;
  margin-left: 12vw;
  margin-top: -6.5vw;
}

/* ---------------------------------------------
*   c-section-05
--------------------------------------------- */
.c-section-05 {
    position: relative;
    background: url(../img/sec5-1.webp) 0 0;
     background-size: cover;
  width: 100%;
    background-color:;
    height:54.2vw;
}

.c-section-05 .txt1 {
width: 59vw;
  margin: auto;
  padding-top: 12.5vw;
}
.c-section-05 .txt2 {
width: 48vw;
  margin: 7.6vw 0 0 49vw;
}

/* ---------------------------------------------
*   c-section-06
--------------------------------------------- */
.c-section-06 {
    position: relative;
    background: url(../img/sec6-1.webp) 0 0;
     background-size: cover;
  width: 100%;
    background-color:;
    height:65vw;
}
.c-section-06 .txt1 {
width: 84vw;
  margin-left: 2.8vw;
  padding-top: 12.9vw;
}
.c-section-06 .txt2 {
width: 24vw;
  margin-left: 57vw;
  margin-top: -9vw;
}

/* ---------------------------------------------
*   c-section-07
--------------------------------------------- */
.c-section-07 {
    position: relative;
    background: url(../img/sec7-1.webp) 0 0;
     background-size: cover;
  width: 100%;
    background-color:;
    height:51.9vw;
}

.c-section-07 .txt1 {
width: 59vw;
  margin: auto;
  padding-top: 12.5vw;
}
.c-section-07 .txt2 {
width: 48vw;
  margin: 8.8vw 0 0 49vw;
}

/* ---------------------------------------------
*   c-section-08
--------------------------------------------- */
.c-section-08 {
    position: relative;
    background: url(../img/sec8-1.webp) 0 0;
     background-size: cover;
  width: 100%;
    background-color:;
    height:67.3vw;
}
.c-section-08 .txt1 {
width: 85vw;
  margin-left: 13vw;
  padding-top: 12.5vw;
}
.c-section-08 .txt2 {
width: 24vw;
  margin-left: 12vw;
  margin-top: -6.5vw;
}

/* ---------------------------------------------
*   c-section-09
--------------------------------------------- */
.c-section-09 {
    position: relative;
    background: url(../img/sec9-1.webp) 0 0;
     background-size: cover;
  width: 100%;
    background-color:;
    height:51.9vw;
}

.c-section-09 .txt1 {
width: 59vw;
  margin: auto;
  padding-top: 12.5vw;
}
.c-section-09 .txt2 {
width: 19vw;
  margin: 8.8vw 0 0 77.5vw;
}


/* ---------------------------------------------
*   c-section-10
--------------------------------------------- */
.c-section-10 {
    position: relative;
    background: #374c5e;
  width: 100%;
    background-color:;
    height:184.2vw;
}

.c-section-10 .txt1 {
width: 59vw;
  padding-top: 12.3vw;
  margin: auto;
}
.c-section-10 .txt2 {
width: 79vw;
  padding-top: 11.3vw;
  margin-left: 13vw;
}
.c-section-10 .txt3 {
width: 79vw;
  padding-top: 10vw;
  margin-left: 7.5vw;
}
.c-section-10 .txt4 {
width: 8.6vw;
  margin-top: -4vw;
  margin-left: 59vw;
}
.c-section-10 .txt5 {
width: 79.5vw;
  padding-top: 13.3vw;
  margin-left: 13vw;
}

/* ---------------------------------------------
*   Morris
--------------------------------------------- */
/* ---------------------------------------------
*   パララックス
--------------------------------------------- */
.section-wrapper {
  position: relative;
}
.bg-image-fixed {
  position: fixed; /* 背景を固定 */
  top: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
}

.l-contents3 .bg-image-clip {
  position: absolute;
  left: 0;
  width: 100%;
  height: 96.8vw;
  clip-path: inset(0); /* 切り抜き */

}
.l-contents3  {
  .bg-image-fixed {
    background-image: url(../img/sec11-1.webp);
  }
}
.l-contents3 .overlay {
  position: absolute;
  top:0; left:0;
  width:100%; height:100%;
  background: rgba(0,12,35,1);
  opacity: 0;
  pointer-events: none;
  z-index: 1;
}

.l-contents3{
  position: relative;
  background-size: cover;
  background-position: center;
  height: 96.8vw;
  overflow: hidden;
}

.l-contents3 .morris_area{
	text-align:center;
padding-top: 11vw;
z-index:2;
}
.l-contents3 h2{
width: 55.8vw;
  margin: auto;
}
.l-contents3 .txt1{
width: 24vw;
  margin: 7.5vw auto 2.5vw;
}
.l-contents3 .txt2{
  width: 40vw;
  margin: 0 auto 7vw;
}
.l-contents3 .txt3{
width: 53vw;
  margin: auto;
}

/* ---------------------------------------------
*   100年後も、美しい世界へ。
--------------------------------------------- */
.l-contents4 {
osition: relative;
  background: #2e3c49;
  width: 100%;
  height: 47vw;
  padding-top: 12.5vw;
}
.l-contents4 .txt1{
width: 73.5vw;
  margin: auto;
}
/* ---------------------------------------------
*   open close
--------------------------------------------- */
nav{display:none;}
.set-open,.set-open2,.set-open3,.set-open4{
    display:block;
    cursor: pointer;
}
.btn_close,.btn_close2,.btn_close3,.btn_close4,.dnone{
    display:none !important;
}
.btn_close.selected,.btn_close2.selected,.btn_close3.selected,.btn_close4.selected{
    display:flex !important;
}
.c-section-02.bksize{height:288vw !important;}
.c-section-03.bksize{height:217vw !important;}
.c-section-04.bksize{height:214vw !important;}

.btn_open,.btn_open2,.btn_open3{
width: 20.5vw;
  margin: 0 auto 1vw;
}
.btn_open:hover,.btn_open2:hover,.btn_open3:hover{
    opacity:.8;
    transition: opacity 300ms;
}
.btn_close,.btn_close2,.btn_close3{
width: 20.5vw;
  margin: 3.2vw auto 4.3vw;
}
.btn_close:hover,.btn_close2:hover,.btn_close3:hover{
    opacity:.8;
    transition: opacity 300ms;
}
.footer{margin:0;}


	/**********/
	/**GIFT**/
	/**********/
	

	
.gift-00,.l-contents-gift {
    background-color:#646C90;
}
.gift-lead{
width: 88vw;
  margin-top: 3.7vw;
  display: block;
  margin-left: 3vw;
  margin-bottom: 7.5vw;
}
.gift-h{
    width: 19vw;
  display: block;
  margin: auto;
}
.pro-lead{
    width:57vw;
      display: block;
  margin: auto;
}
/* ---------------------------------------------
*   g-section-00
--------------------------------------------- */
.g-section-00{
     background-color:#38406d;
}
.g-section-00 .title{
width: 57vw;
  margin: auto;
  padding: 11vw 0 4.3vw;
}
.g-section-00 .lead{
width: 58vw;
  margin: auto;
  padding-bottom: 4.5vw;
}
.g-section-00 .price{
width: 33.5vw;
  margin: auto;
  padding-bottom: 2.2vw;
}
.g-section-00 .gift-btn{
width: 21vw;
  margin: auto;
  padding-bottom: 5vw;
}
.g-section-00 .detail{
width: 74vw;
  margin: auto;
  padding-bottom: 10.5vw;
}
.gift-000 {
    position: relative;
    background: url(../img/gift_02-01.png) 0 0;
     background-size: contain;
  width: 100%;
    background-color:#eeebe5;
    height: 37vw;
}
.gift-000 .lead{
width: 46vw;
  margin: auto;
  padding-top: 10.5vw;
}
/* ---------------------------------------------
*   g-section-01
--------------------------------------------- */
.g-section-01 {
    position: relative;
    background-color:#414974;
    height: 71vw;
}
.g-section-01 .title{
    width: 19vw;
  margin: auto;
  padding: 10vw 0 7vw;
}
.g-section-01 .lead{
    width: 52vw;
  margin: auto;
  padding-bottom: 4.5vw;
}
.g-section-01 .item_area{
display: flex;
  width: 65vw;
  margin: auto;
}
.g-section-01 .ser_img{
width: 27vw;
  margin: 0 auto;
}
.g-section-01 .set_text {
width: 28vw;
}
.g-section-01 .set_text .name{
width: 25.5vw;
  padding-bottom: 2.5vw;
}
.g-section-01 .set_text .gift-btn{
width: 21vw;
  padding-bottom: 2vw;
}
.g-section-01 .set_text .note{
width: 23vw;
}

/* ---------------------------------------------
*   g-section-02
--------------------------------------------- */
.g-section-02 {
    position: relative;
    background: url(../img/gift_04-01.png) 0 0;
     background-size: contain;
  width: 100%;
    background-color:#eeebe5;
    height: 52.5vw;
}
.g-section-02 .title{
width: 31vw;
  margin: auto;
  padding: 9vw 0 1.5vw;
}
.g-section-02 .item_area{
display: flex;
  width: 69vw;
  margin: auto;
}
.g-section-02 .ser_img{
width: 32vw;
}
.g-section-02 .set_text {
width: 28vw;
margin-left: 7vw;
}
.g-section-02 .set_text .name{
width: 15.5vw;
  padding-bottom: 2.5vw;
  margin-top: 6.5vw;  
}
.g-section-02 .set_text .gift-btn{
width: 21vw;
  padding-bottom: 2vw;
}

/* ---------------------------------------------
*   g-section-03
--------------------------------------------- */
.g-section-03 {
    position: relative;
    background-color:#414974;
    height: 50.3vw;
}
.g-section-03 .title{
width: 49vw;
  margin: auto;
  padding: 9vw 0 1.5vw;
}
.g-section-03 .item_area{
display: flex;
  width: 69vw;
  margin: auto;
}
.g-section-03 .ser_img{
width: 32vw;
}
.g-section-03 .ser_img .item{
width: 25vw;
  margin: 3vw 0 0 8vw;
}
.g-section-03 .set_text {
width: 28vw;
margin-left: 7vw;
}
.g-section-03 .set_text .name{
width: 22.7vw;
  padding-bottom: 2.2vw;
  margin-top: 7.3vw; 
}
.g-section-03 .set_text .gift-btn{
width: 21vw;
  padding-bottom: 2vw;
}

/* ---------------------------------------------
*   g-section-04
--------------------------------------------- */
.g-section-04 {
    position: relative;
    background: url(../img/gift_06-01.png) 0 0;
     background-size: contain;
  width: 100%;
    background-color:#eeebe5;
    height: 51.5vw;
}
.g-section-04 .title{
width: 54vw;
  margin: auto;
  padding: 9vw 0 1.5vw;
}
.g-section-04 .item_area{
display: flex;
  width: 69vw;
  margin: auto;
}
.g-section-04 .ser_img{
width: 32vw;
}
.g-section-04 .ser_img .item{
width: 18.5vw;
  margin-left: 13.5vw;
}
.g-section-04 .set_text {
width: 28vw;
margin-left: 7vw;
}
.g-section-04 .set_text .name{
width: 20.6vw;
  padding-bottom: 2.5vw;
  margin-top: 7.6vw; 
}
.g-section-04 .set_text .gift-btn{
width: 21vw;
  padding-bottom: 2vw;
}
.g-section-04 .set_text .note{
width: 29vw;
}

/* ---------------------------------------------
*   g-section-05
--------------------------------------------- */
.g-section-05 {
    position: relative;
    background-color:#414974;
    height: 50.3vw;
}
.g-section-05 .title{
width: 43vw;
  margin: auto;
  padding: 9vw 0 1vw;
}
.g-section-05 .item_area{
display: flex;
  width: 69vw;
  margin: auto;
}
.g-section-05 .ser_img{
width: 32vw;
}
.g-section-05 .ser_img .item{
width: 15vw;
  margin-left: 14.5vw;
}
.g-section-05 .set_text {
width: 28vw;
margin-left: 7vw;
}
.g-section-05 .set_text .name{
width: 20.5vw;
  padding-bottom: 2.2vw;
  margin-top: 6.3vw;
}
.g-section-05 .set_text .gift-btn{
width: 21vw;
  padding-bottom: 2vw;
}
/* ---------------------------------------------
*   g-section-06
--------------------------------------------- */
.g-section-06 {
    position: relative;
    background: url(../img/gift_08-01.png) 0 0;
     background-size: contain;
  width: 100%;
    background-color:#eeebe5;
    height: 51.5vw;
}
.g-section-06 .title{
width: 49vw;
  margin: auto;
  padding: 9vw 0 1.5vw;
}
.g-section-06 .item_area{
display: flex;
  width: 69vw;
  margin: auto;
}
.g-section-06 .ser_img{
width: 32vw;
}
.g-section-06 .ser_img .item{
width: 17vw;
  margin: 3.5vw 0 0 13vw;
}
.g-section-06 .set_text {
width: 28vw;
margin-left: 7vw;
}
.g-section-06 .set_text .name{
width: 23vw;
  padding-bottom: .5vw;
  margin-top: 5vw;
}
.g-section-06 .set_text .gift-btn{
width: 21vw;
  padding-bottom: 2vw;
}
.g-section-06 .set_text .note{
width: 8.4vw;
  padding-bottom: 2vw;
}

/* ---------------------------------------------
*   c-section-12
--------------------------------------------- */
.l-contents2 {
     background-color:#414974;
     padding-top: 9vw;
     padding-bottom:9vw;

}
.c-section-12 li{
    cursor: pointer;
}
.c-section-12 li:hover{
    opacity:.6;
}
.c-section-12 .nav_area{
    margin-bottom:4vw;
}
.c-section-12 .nav_area ul{
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #001E62;
}
.c-section-12 .nav_area ul li{
    width:36.5vw;
}
.c-section-12 .nav_area ul.nav2{
}
.c-section-12 .nav_area .nav2_box{
    display:none;
}
.c-section-12 .nav_area_sub{
    margin-bottom: 5.2vw;
}
.c-section-12 .nav_area_sub ul{
  display: flex;
  justify-content: start;
}
.c-section-12 .nav_area_sub ul.nav1,.c-section-12 .nav_area_sub ul.nav2{
    margin-top:-1vw;
}
.c-section-12 .nav_area_sub ul.nav1 li{
    width: 24.6vw;
     border-left: 1px solid #fff;
}
.c-section-12 .nav_area_sub ul.nav1 li:hover,.c-section-12 .nav_area_sub ul.nav2 li:hover{
background-color: rgba(200, 200, 200, 0.2);
opacity:1;
}
.c-section-12 .nav_area_sub ul.nav1 li img{
    width: 11vw;
    margin: 0.5vw auto;
    display: block;
}
.c-section-12 .nav_area_sub ul.nav1 li:nth-child(2) img{
    width: 12vw;
}
.c-section-12 .nav_area_sub ul.nav1 li:nth-child(3) img{
    width: 10vw;
}
.c-section-12 .nav_area_sub ul.nav1 li:last-child{
     border-right: 1px solid #fff;
}
.c-section-12 .nav_area_sub ul.nav2{

}
.c-section-12 .nav_area_sub .nav2_sub_box{
    display:none;
}
.c-section-12 .nav_area_sub ul.nav2 li{
    width:18.5vw;
    border-left: 1px solid #fff;
    padding: 5px;
}
.c-section-12 .nav_area_sub ul.nav2 li img{
    width: 13vw;
    margin: auto;
    display: block;
}
.c-section-12 .nav_area_sub ul.nav2 li:last-child{
     border-right: 1px solid #fff;
}

.c-section-12 ul {
   width:74vw;
  display:flex;
  flex-wrap: wrap;
  margin:2vw auto;
  justify-content: start;
}
.c-section-12 .product_list ul li{
   width:17.26vw;
   background-color:#fff;
   margin: 0.62vw 0.62vw;
   padding: 1.5vw;
}
.c-section-12 .product_list ul li .copy{
    color:#001E62;
    text-align:center;
    font-size: 1.1vw;
    font-family: 'Noto Serif JP', serif;
}
.c-section-12 .product_list  ul li .name,.c-section-12 .product_list ul li .price{
    color:#6D6B6A;
    text-align:center;
    font-size: 0.9vw;
    margin-top:1vw;
}
.c-section-12 .product_list  ul li .day{
    color: #6D6B6A;
    text-align: center;
    font-size: 0.8vw;
    margin: 0.5vw auto -0.7vw;
    border: 1px solid;
    width: 9em;
}
.c-section-12 .product_list .title-kind{
    text-align: center;
    font-size: 1.5vw;
    font-family: 'Noto Serif JP', serif;
    color:#fff;
    margin-top: -100px;
  padding-top: 100px;
}
.c-section-12 .product_list .title-price{
    text-align: center;
    color: #fff;
    font-size: 1.5vw;
    font-family: 'plantin', 'ten-mincho-text', serif;
        margin-top: -100px;
  padding-top: 100px;
}
.price_list{
    display:none;
}
#kind-01,#kind-02,#kind-03,#price-01,#price-02,#price-03,#price-04{
    margin-bottom:3vw;
}
.c-section-12__bnr img{
  width: 69vw;
  margin: 10vw auto;
}


/* ---------------------------------------------
*   種類で選ぶ、価格で選ぶ open close
--------------------------------------------- */
.dnone{
    display:none !important;
}
.dblock{
    display:block !important;
}

