@charset "UTF-8";

.ex-motion {transform: translate3d(0,0,0);}

/* =========
フォントサンプル用
 =================== */
 .Mitimasu {
  font-family: mitimasu, sans-serif;
  font-weight: 400;
  font-style: normal;
}

.Chiaro {
  font-family: fot-chiaro-std, sans-serif;
  font-weight: 700;
  font-style: normal;
}
.Zen-Kurenaido {
  font-family: zen-kurenaido, sans-serif;
  font-weight: 400;
  font-style: normal;
}
.Honoka-Maru-Gothic {
  font-family: honoka-maru-gothic, sans-serif;
  font-weight: 400;
  font-style: normal;
}
.ShueiNMinStd {
  font-family: dnp-shuei-nmincho-std, sans-serif;
  font-weight: 400;
  font-style: normal;
}

/* =========
/フォントサンプル用
 =================== */


@font-face {
  /*フォントの名前*/
  font-family: "hanatyo";
  /*フォントファイルへのパス（複数指定の場合、上から順に読み込まれる）*/
  src: url("/assets/font/hanatyo.woff2") format("woff2"),
       url("/assets/font/hanatyo.woff") format("woff");
}
.hanatyoClass{
  font-family: "hanatyo";
}



@font-face {
  /*フォントの名前*/
  font-family: "mamelon";
  /*フォントファイルへのパス（複数指定の場合、上から順に読み込まれる）*/
  src: url("/assets/font/mamelon.woff2") format("woff2"),
       url("/assets/font/mamelon.woff") format("woff");
}
.mamelonClass{
  font-family: "mamelon";
}

.main-read01 {
    font-size: 5rem;
    line-height: 64px;
    text-shadow: 1px 0 8px #000;
}
.main-read02 {
    /*font-family: 'Zen Old Mincho', serif;*/
    font-size: 32px;
    line-height: 54px;
}
.ichido {
    font-size: 28px;
    line-height: 54px;
}
.main-read03 {
    /*font-family: 'Zen Old Mincho', serif;*/
    font-size: 32px;
    line-height: 64px;
}




/*========= オープニングアニメーション ===============*/

.loading {
  width: 100vw;
  height: 100vh;
  transition: all 1s;
  background-color: #FFF;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  opacity: 1;
  visibility: visible;
}

.loading.is-active {
  opacity: 0;
  visibility: hidden;
}

.loading-animation {
  width: 100vw;
  height: 100vh;
  transition: all 1s;
  background: url(/assets/images/top/opa01_01-min.jpg) no-repeat center center / cover  ;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
}

.loading-animation.is-active {
  opacity: 1;
  visibility: visible;
}

/*========= 1文字ずつ出現させるためのCSS オープニングリード ===============*/

.optyp {
  opacity: 0;
  }
.optyp span {
  opacity: 0;
  }

.one-second , .two-second , .three-second , .four-second , .five-second , .six-second {
    opacity: 0;
}






.btn-skip a {
  display: block;
  width: 180px;
  height: 35px;
  line-height: 35px;
  font-size: 18px;
  text-align: center;
  border: solid 1px #000;
  margin: 0 auto;
}
.btn-skip a:hover {
  background: #cdcdcd;
  color: #000;
}



/*========= 1文字ずつ出現させるためのCSS ===============*/

.eachTextAnime {opacity: 0;}
.eachTextAnime.appeartext {opacity: 1;}
.eachTextAnime.appeartext span{
  animation:text_anime_on 1s ease-out forwards;
  opacity:0;
}
@keyframes text_anime_on {
  0% {opacity:0;}
  100% {opacity:1;}
}


.top-slider {
	position: relative;
  width: 100%;
  /*min-height: 660px;*/
  height: 100vh;
}
.top-slider-catch {
    position: absolute;
    width: 100%;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    z-index: 2;
    text-align: center;
}
.swiper-container {
  height: 100%;
}


.typ {
  opacity: 0;
  }
.typ span {
  opacity: 0;
  }

.read-bg {
  background: url(/assets/images/top/opa01_02-min.png) no-repeat center center / cover  ;

/*    background-image: url(/assets/images/top/5169.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100% 100%;*/
    background-blend-mode: multiply;
}

.top-movie-news {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 80px;
  z-index: 1;
  background: rgba(63,74,182,0.85);
}






.top-slider-icon {
	position: absolute;
	bottom: -15px;
	right: 10px;
	width: 200px;
  height: 200px;
  z-index: 1;
}
.top-slider-icon a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.index01 {
	width: 100%;
	background: url(/assets/images/top/top-shop_02-min.png) no-repeat center right / 60% auto;
	margin-bottom: 100px;
  /*  padding-top: 50px;*/
}
.index01-2 {
	padding: 80px 5%;
}
.index-title01 {
	height: 70px;
	text-align: start;
}
.index-title01 img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    font-family: "object-fit: contain;";
    object-position: left;
}
.index-title02 {
	font-size: 12px;
	font-weight: 600;
}
.index-title03 {
	font-size: 24px;
	font-weight: 600;
	line-height: 32px;
}
.index-title05 {
  width: 600px;
  height: 90px;
  text-align: center;
}
.index-title05 img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    font-family: "object-fit: contain;";
}

.index-text {
  font-size: 14px;
  line-height: 28px;
}
.index-text-new {
  font-size: 16px;
  line-height: 32px;
}
.index02-2 {
	/*padding: 80px 10px;*/
  /*width: 300px;*/
  width: 90%;
  margin: 0 auto;
}
.index03-2 {
	/*padding: 50px 0;*/
  /*width: 230px;*/
  width: 90%;
  margin: 0 auto;
}

.btn02 a {
	position: relative;
    display: block;
    width: 180px;
    border: solid 2px #fff;
    border-radius: 30px;
    color: #fff;
    font-size: 14px;
    line-height: 26px;
    text-align: center;
    text-decoration: none;
	transition: all 0.6s ease 0s;
    margin: 0 auto;
}
.btn02 a:hover {
    display: block;
    width: 180px;
    border: solid 2px #fff;
    border-radius: 30px;
    background-color: #fff;
    color: #876b58;
    font-size: 14px;
    line-height: 26px;
    text-align: center;
    text-decoration: none;
    transition: all 0.6s ease 0s;
}
.btn02 a:after {
    position: absolute;
    top: 12px;
    right: -10px;
    content: "";
    height: 2px;
    background: #fff;
    width: 20px;
	transition: all 0.6s ease 0s;
}
.btn02 a:hover:after {
    position: absolute;
    top: 12px;
    right: 0;
    content: "";
    height: 2px;
    background: #fff;
    width: 0px;
	transition: all 0.6s ease 0s;
}

.btn-news a {
  position: relative;
    display: block;
    width: 160px;
    border: solid 2px #fff;
    border-radius: 30px;
    color: #fff;
    font-size: 12px;
    line-height: 24px;
    text-align: center;
    text-decoration: none;
  transition: all 0.6s ease 0s;
    margin: 0 auto;
}
.btn-news a:hover {
    display: block;
    width: 160px;
    border: solid 2px #fff;
    border-radius: 30px;
    background-color: #fff;
    color: #0A1E6F;
    font-size: 12px;
    line-height: 24px;
    text-align: center;
    text-decoration: none;
    transition: all 0.6s ease 0s;
}
.btn-news a:after {
    position: absolute;
    top: 12px;
    right: -10px;
    content: "";
    height: 2px;
    background: #fff;
    width: 20px;
  transition: all 0.6s ease 0s;
}
.btn-news a:hover:after {
    position: absolute;
    top: 12px;
    right: 0;
    content: "";
    height: 2px;
    background: #fff;
    width: 0px;
  transition: all 0.6s ease 0s;
}

.index01-bg {
	position: relative;
	width: 100%;
	height: 400px;
	background: url(/assets/images/top/top-shop02.jpg);
	background-attachment: fixed;
	background-size: cover;
	background-position: center;
	margin-bottom: 100px;
}
.index01-bg img {
	position: absolute;
	bottom: -40px;
	left: 50px;
	width: 500px;
}


/*========= SEARCHBOX ===============*/

.map-search {
  position: relative;
  /*background: url(/assets/images/top/top-lineup_map-min.jpg) no-repeat center center / cover ;
  min-height: 450px;*/
}
.map-search img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.btn-map a {
  display: block;
  width: 135px;
  border-radius: 20px;
  border: solid 2px #0A1E6F;
  background: #ffffff;
  color: #0A1E6F;
  text-align: center;
  font-size: 12px;
  font-weight: 600;
  padding: 2px 0;
}
.btn-map a:hover {
  background: #0A1E6F;
  color: #fff;
}
.btn-map01 {
  position: absolute;
  top: 35%;
  right: 10%;
}
.btn-map02 {
  position: absolute;
  top: 50%;
  left: 15%;
}
.btn-map03 {
  position: absolute;
  top: 50%;
  right: 20%;
}
.btn-map04 {
  position: absolute;
  top: 70%;
  right: 15%;
}
.btn-map05 {
  position: absolute;
  bottom: 10px;
  right: 10px;
}



.searchbox {
	background: url(/assets/images/common/index-search-top.png) no-repeat top center / cover ;
	height: 160px;
}
.index-title04 {
	height: 70px;
	text-align: start;
}
.index-title04 img {
    width: 100%;
    height: 100%;
    object-fit: contain;
	font-family: "object-fit: contain;";
    object-position: center;
}

/* =============
  tab
========================= */
.tab-wrap {
  display: flex;
  flex-wrap: wrap;
  margin:20px 0;
}
/*.tab-wrap:after {
  content: '';
  width: 100%;
  height: 1px;
  background: #000;
  display: block;
  order: -1;
}*/
.tab-label {
  color: #fff;
  background: #cdcdcd;
  font-size: .8rem;
  white-space: nowrap;
  text-align: center;
  padding: 10px .5em;
  order: -1;
  position: relative;
  z-index: 1;
  cursor: pointer;
  border-radius: 10px 10px 0 0;
  flex: 1;
  margin-bottom: unset;
}
.tab-label:not(:last-of-type) {
  margin-right: 5px;
}
.tab-content {
  width: 100%;
  height: 0;
  overflow: hidden;
  opacity: 0;
}
.tab-switch:checked+.tab-label {
  background: #000;
}
.tab-switch:checked+.tab-label+.tab-content {
  height: auto;
  overflow: auto;
  /*padding: 15px;*/
  opacity: 1;
  transition: .5s opacity;
  background: #fff;
  border: solid 1px #000;
}
.tab-switch {
  display: none;
}
.ml-20 {
	margin-left: 35%;
}
.mr-20 {
	margin-right: 35%;
}




/*ラインナップ*/

.lineup-title {
	background: url(/assets/images/top/index-bar@2x.png) no-repeat bottom left / 100% 2px ;
}
.swiper-custom-parent {
  position: relative;
}
.slider1 , .slider2 , .slider3 {
  position: unset;
  width: 90%;
}
.Bbox-img {
	position: relative;
	height: 250px;
}
.recommend .Bbox-img {
  height: 500px;
}
.Bbox-img img {
	position: absolute;
	top: 0;
	left: 0;
	border-radius: 10px;
}
.Bbox-img a:hover{
	background-color:#FFF;
	filter:alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.5;
}

.Bwrap .swiper-button-next {
  background: url(/assets/images/common/slider-arrow-right@2x.png) no-repeat center center / 25px 25px;
  right: 10px;
  z-index: unset;
}
.Bwrap .swiper-button-next:after {
  display: none;
}
.Bwrap .swiper-button-prev {
  background: url(/assets/images/common/slider-arrow-left@2x.png) no-repeat center center / 25px 25px;
  left: 10px;
  z-index: unset;
}
.Bwrap .swiper-button-prev:after {
  display: none;
}


.howto {
	background: url(/assets/images/top/top-howto.jpg) no-repeat top center / cover;
	width: 100%;
	height: 350px;
}
.howtoilust {
	height: 350px;
	display: table-cell;
	vertical-align: bottom;
}
.howto01 {
	font-size: 70px;
    line-height: 60px;
	font-weight: 600;
}
.howto02 {
	font-size: 32px;
	line-height: 32px;
	font-weight: 600;
}
.howto03 {
	font-size: 18px;
	line-height: 24px;
}


.news01 {
	font-size: 26px;
    padding: 0;
}
.news02 {
	font-size: 12px;
}
.news03 {
	font-size: 16px;
	font-weight: 600;
	line-height: 20px;
}

.p-access__map {
    height: 450px;
}
.gm-style-mtc {
  display: none;
}
.map-name {
position: absolute;
    top: 55%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    text-align: center;
    width: 100%;
    padding: 5px;
    font-size: 20px;
    font-weight: 600;
    color: #0b1e6f;
    text-shadow: 1px 1px 0 #FFF, -1px -1px 0 #FFF, -1px 1px 0 #FFF, 1px -1px 0 #FFF, 0px 1px 0 #FFF, 0-1px 0 #FFF, -1px 0 0 #FFF, 1px 0 0 #FFF;
}



.searchbox-title {
  font-size: 18px;
}
.searchbox-title02 {
  font-size: 14px;
}
.sb-btn01 {
  position: relative;
  border: solid 2px #000;
  border-radius: 5px;
}
.sb-btn02 {
  width: 30px;
  height: 30px;
}
.sb-btn03 {
  font-size: 12px;
  font-weight: 600;
}
.sb-btn04 {
  background: #fff;
  border: solid 2px #000;
  border-radius: 10px 0 0 10px;
  height: 35px;
  font-size: 12px;
}
.sb-btn05 {
  background: #fff;
  border: solid 2px #000;
  border-radius: 0 10px 10px 0;
  background: url(/assets/images/common/box-serch@2x.png) no-repeat center center / contain #000;
}


.news-blog-box {
  height: 90px;
}

@media (min-width: 992px) {


.sample2 {
  overflow:   hidden;
  position:   relative;
}
.btn-title {
  position: absolute;
  font-size:    22px;
  font-weight: 600;
  top: 50%;
  left: 15px;
  transform: translateY(-50%);
  -webkit- transform: translateY(-50%);
  color:      #fff;
  z-index: 1;
  -webkit-transition: all 0.6s ease;
  transition:   all 0.6s ease;
}
.sample2 .caption {
  position: absolute;
  bottom: 0;
  left: 15px;
  font-size:    12px;
  color:      #fff;
  -webkit-transition: all 0.6s ease;
  transition:   all 0.6s ease;
}
.sample2 .mask {
  width:      100%;
  height:     100%;
  position:   absolute;
  top:      0;
  left:    0;
  opacity:    0;  /* マスクを表示しない */
  background-color: rgba(0,0,0,0.4);
  -webkit-transition: all 0.6s ease;
  transition:   all 0.6s ease;
}
.sample2:hover .mask {
  opacity:    1;  /* マスクを表示する */
}
.sample2:hover .mask .caption {
    bottom: 15%;
}
.sample2:hover .btn-title {
  position: absolute;
  font-size:    22px;
  font-weight: 600;
  top: 45%;
  left: 15px;
  transform: translateY(-50%);
  -webkit- transform: translateY(-50%);
  color:      #fff;
  z-index: 1;
}
.sample2 a {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 2;
}


}

/*@media screen and (min-width:640px) and ( max-width:991.98px) {
  .map-search {
    background: url(/assets/images/top/top-lineup_map-min.jpg) no-repeat top left / cover ;
    min-height: 350px;
  }
}
*/


/*@media (max-width: 640px) {
  .map-search {
    background: url(/assets/images/top/top-lineup_map-min.jpg) no-repeat top left / cover ;
    min-height: 200px;
  }

}*/








@media (max-width: 991.98px) {


.main-read01 {
    font-size: 2.5rem;
    line-height: 2rem;
}

.main-read02 {
    font-size: 1.5rem;
    line-height: 2rem;
}
.ichido {
    font-size: 1.3rem;
    line-height: 2rem;
}
.main-read03 {
    font-size: 1.1rem;
    line-height: 2rem;
}

/*.op-wrap {
  width: 90%;
}*/

.kurukuru {
  height: 30px;
}
.svg_img{
  height: 30px;
}
.svg_img02{
  height: 30px;
}
.top-slider-catch {
    top: 50%;
    width: 98%;
}
.top-movie-news {
  position: unset;
  width: 100%;
  height: auto;
  padding: 20px 0 5px;

}





.top-slider {
  /*min-height: unset;*/
  height: calc(100vh - 200px);
}
.top-slider-icon {
    width: 150px;
    height: auto;
    bottom: 150px;
}
.index01 {
  background: url(/assets/images/top/top-shop@2x.png) no-repeat top center / 120% auto ;
  padding-top: 120%;
}
.index01-2 {
  padding: unset;
}

.index01-bg {
    height: 200px;
    margin-bottom: 30px;
    background-attachment: unset;
}
.index01-bg img {
    left: 10%;
    width: 80%;
    bottom: -20px;
}

.index-title01 {
  height: 60px;
  text-align: center;
}
.index-title01 img {
    object-position: center;
}
.index-title02 {
  text-align: center;
}
.index-title03 {
    font-size: 18px;
    line-height: 24px;
    text-align: center;
    padding-bottom: 20px;
}
.index-text-new {
  font-size: 14px;
  line-height: 28px;
}


.btn-map a {
  display: block;
  width: 130px;
  border-radius: 20px;
  border: solid 2px #0A1E6F;
  background: #ffffff;
  color: #0A1E6F;
  text-align: center;
  font-size: 12px;
  font-weight: 600;
  padding: 2px 0;
}
.btn-map a:hover {
  background: #0A1E6F;
  color: #fff;
}
.btn-map01 {
  position: absolute;
  top: 5px;
  right: 5px;
}
.btn-map02 {
  position: absolute;
  top: 35px;
  right: 5px;
  left: unset;
}
.btn-map03 {
  position: absolute;
  top: 65px;
  right: 5px;
}
.btn-map04 {
  position: absolute;
  top: 95px;
  right: 5px;
}
.btn-map05 {
  position: absolute;
  bottom: 10px;
  right: 5px;
}




.index02-2 {
  padding: 10px 0;
  width: 100%;
}
.index03-2 {
  padding: 10px 0;
  width: 100%;
}
.mr-20 {
    margin-right: 0;
}
.ml-20 {
    margin-left: 0;
}


.howto {
  height: auto;
}
.howtoilust {
  height: auto;
}



/*ラインナップ*/

.slider1 , .slider2 , .slider3 {
  position: unset;
  width: 88%;
}

.Bbox-img {
  height: 210px;
}
.recommend .Bbox-img {
  height: 420px;
}
.Bbox-img02 {
  height: 160px;
}
.Bwrap .swiper-button-prev {
    left: 5px;
    z-index: 2;
}
.Bwrap .swiper-button-next {
    right: 5px;
    z-index: 2;
}
.Bbox-price {
    line-height: 16px;
}

.font28 {
  font-size: 28px;
}
.font32 {
  font-size: 32px;
}

.news03 {
  font-size: 14px;
  line-height: 18px;
}


.news-blog-box {
  height: auto;
}



.sample2 {
  overflow:   hidden;
  position:   relative;
}
.btn-title {
  position: absolute;
  font-size:    22px;
  font-weight: 600;
  top: 45%;
  left: 15px;
  transform: translateY(-50%);
  -webkit- transform: translateY(-50%);
  color:      #fff;
  z-index: 1;

}
.sample2 .caption {
  position: absolute;
  bottom: 20px;
  left: 15px;
  font-size:    14px;
  color:      #fff;

}
.sample2 .mask {
  width:      100%;
  height:     100%;
  position:   absolute;
  top:      0;
  left:    0;
  opacity:    1;  /* マスクを表示しない */

}

.sample2 a {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 2;
}



.index-title05 {
  width: 300px;
}








}