@charset "UTF-8";

/* ******************************
* 基本設定
****************************** */
html{scroll-behavior: smooth;}
body{
  color:#666666;
  font-size: 1.25rem;
  font-family: "M PLUS Rounded 1c";
  background-color:#fefefe;
  scroll-behavior: smooth;
}
main{overflow-x:hidden;}
article,section{width: 100vw;}
p,ul,ol,dl,figure{margin: 0;}
ul{list-style: none;}
ul li{margin-bottom:0.25rem;}
img,iframe{max-width: 100%;}
figure,iframe{text-align: center;}
a{
  color:#666666;font-weight: bold;
  text-decoration: none;
  border-bottom: 1px solid #666666;
  padding-bottom: 2px;
}
a:visited {color:;}
a:active {color:;}
a:hover{opacity: 0.66;}

/* ******************************
* レイアウト
****************************** */
.grid_lo{display: grid;}
.dl_grid{
  grid-template-columns: auto 1fr;
  grid-column-gap: .5rem;
}
.dl_grid dt{
  grid-column: 1;
  text-align: center;
  color:#fdfdfd;
  font-weight: bolder;
  background-color: #aaaaaa;
  border-bottom: solid .5px #fdfdfd;
  padding: 0.25rem;
}
.dl_grid dd{
  grid-column: 2;
  border-bottom: solid .5px #aaaaaa;
  padding: 0.25rem;
}
.col2,.col2_nosep{grid-template-columns: 1fr 1fr;grid-gap: 1rem;}
.repeat_col{
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  grid-gap:2.5rem;
  width: 80vw;
  margin-left: auto;
  margin-right: auto;
}

/* ******************************
* header
****************************** */
header{
  width: 100vw;
  height: 60px;
  background-color: #fefefe;
  position: fixed;
  top:0;
  z-index: 10;
  display:flex;
  justify-content: space-between;
  padding: 1vh 1vw 1vh 1vw;
}
.sss_logo img{display: block;}
.tab_input,.triger_box,.sp_menu_bg{display:none;}
.menu_list{
  display: grid;
  grid-template-rows:auto;
  grid-template-columns: repeat(6,1fr);
  grid-column-gap:.5rem;
  margin-bottom: 0;
  align-items: center;
  font-size: 0.5rem;
}
.menu_list li{
  padding: 0.1rem;
  background-color: #aaaaaa;
  border-radius: 3px;
  text-align: center;
}
.menu_list li:hover{opacity: 0.66}
.menu_list li a{font-size:.75rem;color:#ffffff;border-bottom: none;}


/* ******************************
* main
****************************** */
#main_article{
  scroll-snap-type: y mandatory;
}
#main_article section{
  margin-bottom: 10rem;
  scroll-snap-align: start;
}
 /* main visual */
#main_visu{
  margin-top: 60px;
  width: 100vw;
  margin-bottom: 0;
  position:relative;
}
.main_bnr_sp{display: none}
.to_marker_box{
  position: absolute;
  bottom:1rem;left:0;right:0;
}
.to_marker{
  text-align: center;
  display:block;
  margin: auto;
  font-size: 2rem;
}
.to_marker:hover{
  transform: scale(1.5,1.5);
}
/* article */
.section_title{
  font-size: 3rem;
  margin-left: 5vw;
  font-family:'Hachi Maru Pop', cursive;,cursive,sans-serif;
}
.section_title span{
  font-size:33%;
  margin-left: 1rem;
}

.glassmorphism{
  padding: 2.5vh 2.5vw 5vh 2.5vw;
  border-radius: 10px;
  backdrop-filter: blur(5px);
  background-color: rgba(225,225,225, 0.1);
  box-shadow: rgba(210, 210, 210, 0.3) 2px 8px 8px;
  border: 1px rgba(128,128,128,0.05) solid;
  border-bottom: 1px rgba(0,0,0,0.3) solid;
  border-right: 1px rgba(0,0,0,0.3) solid;
}
.glass_r{
  width: 83vw;
  margin:2.5rem 0 2.5rem auto;
  padding-right:17vw;
}
.glass_c{
  width: 85vw;
  margin:2.5rem auto 2.5rem auto;
  padding-left:1.5rem;
  padding-right:1.5rem;
}
.glass_l{
  width: 83vw;
  margin:2.5rem auto 2.5rem 0;
  padding-left:17vw;
}

/*コンセプト*/
#sec_lead{}

.concept_box
{

}
.concept_text{padding:1rem;}
.preceding_cut_box{
  display: flex;
  align-items:center;
  gap:0.5rem;
}
.preceding_cut_box a{
  display:block;
  text-decoration: none;
  border-bottom: none;
  padding-bottom: 0;
}
.preceding_cut_box a:hover{opacity: 0.5;}


/* 書誌情報 */
#sec_book{}
.sec_mount{margin-top: 3rem;font-size:1.1rem;}
.book_type{text-align: center;margin-bottom: 0.5rem;}
.book_info h2{text-align: center;margin-bottom: 0.5rem;}
.book_info .dl_grid{font-size:0.8rem;}

/* 店舗特典 */
#sec_gift{}
.hol_scroll{
  width: 80%;
  display: flex;
  align-items:center;
  gap:2rem;
  margin: auto;
  overflow-x: auto;
}
.book_sp_info{
  grid-template-columns: 1fr 1fr;grid-gap: 1rem;
}
.book_sp_info h3{font-size:1.25rem;}
.hol_scroll li{flex-shrink: 0;}
.hol_scroll figcaption{font-size:.5rem;}


/* ニュース */
#sec_news{}
.news_list{}
.news_list li{
  display: grid;
  grid-template-columns:auto 1fr;
  grid-column-gap:2rem;
}
.news_article{
  background-color:rgba(64,64,64,.01);
  padding:.25vh 1.5vw .25vh 1.5vw;
  margin-top: 1rem;
  margin-bottom: 2rem;
  border-radius: 5px;
}
.news_article hr{
  background-color:#aaaaaa;
  height:1px;
  border:none;
}
.news_mount h2{
  display: grid;
  grid-template-columns: auto 1fr;
  grid-gap:1rem;
  margin-bottom: 1rem;
  align-items: center;
}
.news_mount p{margin-bottom: 1rem;}
.news_mount div{margin-top: 1.5rem;margin-bottom: 1.5rem;}
.news_mount a{font-weight:bolder;}
.news_list .news_date{color:#888888;}
.news_date{
  display: block;
  font-size: 1.25rem;
  color:#aaaaaa;
}
.news_title{
  display: block;
  font-size: 1.5rem;
}
.atention{font-size: 80%;}
ul.atention{padding-left: 2rem;}
ul.atention li{
  text-indent: -1rem;
}
ul.atention li::before{
  content: '※';
  display: inline-block;
  margin-right: 1rem;
}
.to_top_link{
  text-align: center;
  font-family: 'Tangerine',cursive;
  font-size:2rem;
  margin-top: 2.5rem;
  margin-bottom: 5rem;
}

/* リリースイベント */
.event_explain{text-align: center;}
.event_mount{
  width: 80vw;
  margin-left: auto;margin-right: auto;
}
.event_explain,.event_box{margin-bottom: 2rem;font-size:1rem;}
.bg_sign_box{margin-bottom: 5rem;}

/* 最終ブロック飾り */
.bg_sign{margin-bottom: 5rem;}


/* ******************************
* 背景
****************************** */

/* ******************************
* footer
****************************** */
footer{
  width: 100vw;height: 15vh;
  background-color: #aaaaaa;
  padding-top: 2.5rem;
}
.copyright{
  text-align: center;
  color:#fefefe;
  font-family:'IBM Plex Sans', sans-serif;
  font-size:0.9rem;

}
/* add */
.notice{
  text-align: left;
  font-size: 0.8rem;
}
.attention{
  padding-left: 1.5rem;
  margin-top:0.25rem;
}
.attention li{
  text-indent: -0.5rem;
  margin-bottom: 0.25rem;
}
.attention li:before{
  content:'※';
  display: inline-block;
  margin-right: 1rem;
}
.num_1:before{
  content:'①';
  display: inline-block;
  margin-right: 1rem;
}
.num_2:before{
  content:'②';
  display: inline-block;
  margin-right: 1rem;
}
.num_3:before{
  content:'③';
  display: inline-block;
  margin-right: 1rem;
}
.num_4:before{
  content:'④';
  display: inline-block;
  margin-right: 1rem;
}
.num_5:before{
  content:'⑤';
  display: inline-block;
  margin-right: 1rem;
}
.notice_txt p,.notice_txt li{
  font-size:0.9rem;
  margin-bottom: 0.5rem;
}
