@charset "UTF-8";

/* =Reset default browser CSS. Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
  background: transparent;
  border: 0;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  -webkit-text-size-adjust: none;
  max-height: 999999px;
}
body {line-height: 1;}

h1, h2, h3, h4, h5, h6 {
  clear: both;
  font-size: 100%;
  font-weight: normal;
  overflow: hidden;
  line-height: 140%;
}
ol, ul {list-style: none;}

blockquote {quotes: none;}

blockquote:before, blockquote:after {
  content: '';
  content: none;
}
del {text-decoration: line-through;}

/* tables still need 'cellspacing="0"' in the markup */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

th{font-weight: normal;}

a img {border: none;}

a {
  text-decoration: none;
  outline: none;
}

img {
  vertical-align: bottom;
  image-rendering: -webkit-optimize-contrast;
}

.clearfix {width:100%; margin: 0;}
.clearfix:after{
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
  }
     
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  }
  



/*------------------------------------
	Value
------------------------------------*/
.mtop0 { margin-top: 0!important; }
.mtop5 { margin-top: 5px; }
.mtop10 { margin-top: 10px; }
.mtop15 { margin-top: 15px; }
.mtop20 { margin-top: 20px; }
.mtop25 { margin-top: 25px; }
.mtop30 { margin-top: 30px; }
.mtop35 { margin-top: 35px; }
.mtop40 { margin-top: 40px; }
.mtop50 { margin-top: 50px; }
.mtop60 { margin-top: 60px; }
.mtop70 { margin-top: 70px; }
.mtop100 { margin-top: 100px; }


.mbtm0 { margin-bottom: 0; }
.mbtm5 { margin-bottom: 5px; }
.mbtm10 { margin-bottom: 10px; }
.mbtm15 { margin-bottom: 15px; }
.mbtm20 { margin-bottom: 20px; }
.mbtm25 { margin-bottom: 25px; }
.mbtm30 { margin-bottom: 30px; }
.mbtm35 { margin-bottom: 35px; }
.mbtm40 { margin-bottom: 40px; }
.mbtm50 { margin-bottom: 50px; }
.mbtm60 { margin-bottom: 60px; }
.mbtm70 { margin-bottom: 70px; }
.mbtm100 { margin-bottom: 100px; }

.mleft5 { margin-left: 5px; }
.mleft10 { margin-left: 10px; }
.mleft15 { margin-left: 15px; }
.mleft20 { margin-left: 20px; }

.mright5 { margin-right: 5px; }
.mright10 { margin-right: 10px; }
.mright15 { margin-right: 15px; }
.mright20 { margin-right: 20px; }

.mauto {margin: auto;}

.p10 { padding: 10px; }
.p20 { padding: 20px; }
.p30 { padding: 30px; }
.p40 { padding: 40px; }

.ptop10 { padding-top: 10px; }
.ptop15 { padding-top: 15px; }
.ptop30 { padding-top: 30px; }

.ptop50 { padding-top: 50px; }

.ptop100 { padding-top: 100px; }

.pbtm10 { padding-bottom: 10px; }
.pbtm30 { padding-bottom: 30px; }


.pleft5 { padding-left: 5px; }
.pleft10 { padding-left: 10px; }
.pleft15 { padding-left: 15px; }
.pleft20 { padding-left: 20px; }



.pright5 { padding-right: 5px; }
.pright10 { padding-right: 10px; }
.pright15 { padding-right: 15px; }
.pright20 { padding-right: 20px; }



@media screen and (max-width: 1000px) {
  .mtop20 { margin-top: 2%; }
  .mtop25 { margin-top: 2.5%; }
  .mtop30 { margin-top: 3%; }
  .mtop40 { margin-top: 4%; }
  .mtop50 { margin-top: 5%; }
  .mtop60 { margin-top: 6%; }
  .mtop70 { margin-top: 7%; }  
  .mtop100 { margin-top: 10%; }

  .mbtm20 { margin-bottom: 2%; }
  .mbtm25 { margin-bottom: 2.5%; }
  .mbtm30 { margin-bottom: 3%; }
  .mbtm40 { margin-bottom: 4%; }
  .mbtm50 { margin-bottom: 5%; }
  .mbtm60 { margin-bottom: 6%; }
  .mbtm70 { margin-bottom: 7%; }
  .mbtm100 { margin-bottom: 10%; }
  
  .ptop50 { padding-top: 5%; }
  .ptop100 { padding-top: 10%; }
  
  .p40 { padding: 4%; }  
}

@media screen and (max-width: 750px) {
  .mtop20 { margin-top: 2.6%; }
  .mtop25 { margin-top: 3.3%; }
  .mtop30 { margin-top: 4%; }
  .mtop40 { margin-top: 5.3%; }
  .mtop50 { margin-top: 6.6%; }  

  .mbtm20 { margin-bottom: 2.6%; }
  .mbtm25 { margin-bottom: 3.3%; }
  .mbtm30 { margin-bottom: 4%; }
  .mbtm40 { margin-bottom: 5.3%; }
  .mbtm50 { margin-bottom: 6.6%; }
  
  .ptop50 { padding-top: 6.6%; }
  
  .p40 { padding: 5.3%; }    
}


@media screen and (max-width: 480px) {
  .mtop20 { margin-top: 2.6%; }
  .mtop25 { margin-top: 3.3%; }
  .mtop30 { margin-top: 4%; }
  .mtop40 { margin-top: 5.3%; }
  .mtop50 { margin-top: 30px; }  

  .mbtm20 { margin-bottom: 2.6%; }
  .mbtm25 { margin-bottom: 3.3%; }
  .mbtm30 { margin-bottom: 4%; }
  .mbtm40 { margin-bottom: 5.3%; }
  .mbtm50 { margin-bottom: 30px; }
  
  .ptop50 { padding-top: 30px; }
  
  .p40 { padding: 5.3%; }  
}

/*----------------------------------------
	basis
----------------------------------------*/
html {
  font-size: 62.5%; /*標準サイズ*/
  width: 100%;
  overflow-x: hidden;
}

@media screen and (max-width: 1080px) {
  html {
    font-size: 56.25%;/*9/16*/
  }
}

@media screen and (max-width: 750px) {
  html {
    font-size: 50%;/*8/16*/
  }
}

@media screen and (max-width: 480px) {
  html {
    font-size: 43.75%;/*7/16*/
  }
}


p {
  line-height: 170%;
}

a {
  transition : all 0.5s ease;
}

a:hover {
	opacity: 0.7;
}

p a , table a , li a , 
.txt-link {
  color: #E50012;
  text-decoration: underline;
}

p a:hover , table a:hover , li a:hover ,
.txt-link:hover {
  text-decoration: none;
  opacity: 1;
}

.ofh { overflow: hidden; }
.center { text-align: center; }
.left { text-align: left; }
.right { text-align: right; }
.bold { font-weight: bold; }
.normal { font-weight: normal; }
.relative { position: relative; }

.w100per { max-width: 100%; }

.red { color: #ff0000; }

.bg-white {background-color: #fff}
.bg-gray {background: #f7f7f7; }


.opacity:hover { opacity: 0.7; }


.block { display: block;}
.inline-block { display: inline-block;}
.inline { display: inline;}


.a10 {
  padding-left :1em;
  text-indent: -1em;
  margin-top: 10px;
  font-size: 12px;
  color: #545454;
  line-height: 160%;  
}

.a10-list {
  margin-top: 10px;
}

.a10-list li {
  padding-left :1em;
  text-indent: -1em;
  font-size: 12px;
  color: #545454;
  line-height: 160%;  
}

.annotation {
  font-size: 12px;
  color: #545454;
  line-height: 160%;
}

.spbr {display: none;}
.br1000 {display: none;}
.pcbr {display: inline;}
.pc_inlineblock {display: inline-block;}
.sp_inlineblock {display: none;}
.sp_block {display: none;}

.basic_layout {
  width: 88%;
  margin: 0 auto;
  max-width: 1080px;
  position: relative;
}

main {
  position: relative;
}
.medium {font-weight: 500;}
.semi_bold {font-weight: 600;}

@media screen and (max-width: 1000px) {
  .br1000 {display: inline;}
}

@media screen and (max-width: 500px) {
  .spbr {display: inline;}
  .pcbr {display: none;}
  .pc_inlineblock {display: none;}
  .sp_inlineblock {display: inline-block;}
  .sp_block {display: block;}

}
/*----------------------------------------
	インデント
----------------------------------------*/
.indent {
  padding-left :1em;
  text-indent: -1em;
}


.list-indent li {
  padding-left: 1em;
  text-indent: -1em;
}
/*----------------------------------------
	basis_2
----------------------------------------*/
body {
  font-family: "Noto Sans JP", sans-serif, "Helvetica", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro","メイリオ","Meiryo", ＭＳ Ｐゴシック, MS PGothic, sans-serif;
  color: #386489;
  font-size: 1.8rem;
  line-height: 180%;
  width: 100%;
  overflow-x: hidden;
}


.inner {
	max-width: 500px;
  width: 90%;
	margin: auto;
}

@media screen and (max-width: 750px) {
  body {
    line-height: 160%;
  }
}

@media screen and (max-width: 480px) {
  body {
    line-height: 150%;
  }
}

/*----------------------------------------
	bg
----------------------------------------*/
.bg {
    background-image: url(../images/bg.jpg);
    background-size: 1920px;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    padding-right: 38%;
    z-index: 0;
}

.logo_area {
  padding: 30px 0 0 30px;
  display: flex;
  column-gap: 30px;
  margin-bottom: 200px;
}
.nav_wrapper {
  padding-left: 70px;
  color: #386489;
  font-size: 18px;
}
.nav_list a {
  color: #386489;
  text-decoration: none;
}
.nav_list li {
  margin-bottom: 15px;
}
.nav_list li a:hover {
  opacity: 0.5;
}
.nav_list li ul li {
  margin: 0 0 0 1em;
}


/*----------------------------------------
	main
----------------------------------------*/



.main {
  background: #fff;
  width: 500px;
  position: relative;
  margin-left: 62%;
  box-shadow: 0px 0px 60px 5px rgba(56, 100, 137, 0.4);
}

/*----------------------------------------
	fv
----------------------------------------*/

.fv_img {
  position: relative;
  padding-bottom: 452px;
}
.fv_img img {
  width: 100%;
}
img.fv_img2 {
  position: absolute;
  bottom: 0;
  display: block;
  width: 107.2%;
  left: -17px;
}
.lead_area {
  position: relative;
}
.lead_txt {
  font-size: 18px;
  padding: 40px 0;
}
.deco_01,
.deco_02 {
  position: absolute;
}

.deco_01 img,
.deco_02 img {
  width: 100%;
}
.deco_01 {
  right: -22px;
  top: 15px;
  width: 89px;
}
.deco_02 {
  left: -14px;
  bottom: 15px;
  width: 79px;
}

/*----------------------------------------
	section-1
----------------------------------------*/

.sec_ttl {
  background-image: url(../images/sec_bg.png);
  background-repeat: no-repeat;
  background-size: 100%;
  font-size: 36px;
  color: #fff;
  padding: 19px 0 21px;
  font-weight: 600;
}
.sec1_bg {
  background-image: url(../images/sec1_bg.jpg);
  background-size: 100%;
  padding: 50px 0;
  background-position: center top 96px;
}
.sec_inner {
  width: 90%;
  margin: 0 auto;
}
.location_box {
  margin-bottom: 45px;
  background-color: #fff;
  border-radius: 30px;
  border: 6px solid #c7e7e9;
  position: relative;
  padding: 20px 15px;
  text-align: center;
}
.location_box:last-of-type {
    margin-bottom: 25px;
}
.loca_rbn {
  display: block;
  font-weight: 600;
  color: #fff;
  font-size: 24px;
  background-image: url(../images/sec1_rbn.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 184px;
  padding: 5px 0px;
  margin: -47px 0 15px;
}
.place {
  font-size: 36px;
  font-weight: 600;
  background-image: url(../images/sec1_line.jpg);
  background-repeat: repeat-x;
  background-position: left bottom;
  background-size: 363px;
  margin: 0 auto 10px;
}
.location_box:nth-of-type(1) .place {width: 193px;}
.location_box:nth-of-type(3) .place {width: 375px;}
.location_box:nth-of-type(4) .place {width: 403px;}
.location_box:nth-of-type(5) .place {width: 298px;}

.location_box:nth-of-type(2) .place {
    width: 100%;
    font-size: 31px;
}


.address {
  margin-bottom: 10px;
}
.date {
  color: #63b0dc;
  font-size: 36px;
  font-weight: 600;
}
.date span {
  font-size: 20px;
}
.time {
  color: #63b0dc;
  font-size: 18px;
}

.star_1,.star_2,.star_3,.star_4,
.star_5,.star_6,.star_7,.star_8 {
  position: absolute;
}
.star_1 img,.star_2 img,.star_3 img,.star_4 img,
.star_5 img,.star_6 img,.star_7 img,.star_8 img {
  width: 100%;
}

.star_1 {
  width: 84px;
  left: -12px;
  top: -44px;
}
.star_2 {
  width: 66px;
  right: 7px;
  top: -50px;
}
.star_3 {
  width: 53px;
  left: 11px;
  top: -61px;
}
.star_4 {
  width: 41px;
  right: 12px;
  top: -28px;
}
.star_5 {
  width: 84px;
  left: -12px;
  top: -45px;
}
.star_6 {
  width: 34px;
  right: 13px;
  top: -25px;
}
.star_7 {
  width: 41px;
  left: -22px;
  top: 31px;
}
.star_8 {
  width: 66px;
  right: 5px;
  top: -38px;
}

/*----------------------------------------
	section-2
----------------------------------------*/
.section-2 .sec_inner {
  width: 87.2%;
}
.offer_txt {
  margin: 40px 0 30px;
}
.offer_img {
  position: relative;
  background-color: #ebf6f8;
  padding: 20px 15px;
  margin-bottom: 50px;
}
.offer_img img {
  width: 100%;
}
img.sec2_deco {
  position: absolute;
  width: 84px;
  bottom: -17px;
  right: -20px;
}

/*----------------------------------------
	section-3
----------------------------------------*/

.section-3 .sec_inner {
  width: 88%;
}
.sec3_ttlimg {
  margin: 30px 0 40px;
}
.sec3_ttlimg img {
  width: 100%;
}
.sec3_subttl {
  font-size: 26px;
  font-weight: 600;
  margin-bottom: 45px;
}
.goods_list {
  display: flex;
  flex-wrap: wrap;
  row-gap: 30px;
  justify-content: space-between;
  margin-bottom: 70px;
}
.goods_item {
  width: 48.87%;
}
.goods_item a:hover {
  opacity: 0.5;
}
.goods_img {
  background-color: #ebf6f8;
  position: relative;
  margin-bottom: 10px;
  aspect-ratio: 1;
}
.goods_img img {
  width: 100%;
}
img.zoom_icon {
  width: 25px;
  position: absolute;
  top: 10px;
  right: 10px;
}
.goods_txt {
  font-size: 18px;
  line-height: 1.4;
}

.sec3_subttl.pink {
  font-size: 25px;
}
.goods_img.pink {
  background-color: #fdf4f8;
}
.order_info_wrap {
  padding-top: 20px;
}
.order_info {
  margin-bottom: 45px;
  background-color: #fff;
  border-radius: 30px;
  border: 6px solid #c7e7e9;
  position: relative;
  padding: 39px 27px 28px;
  text-align: center;
}
.order_info h3 {
  font-size: 36px;
  margin-bottom: 15px;
  font-weight: 600;
}
.deco_cup {
  position: absolute;
  width: 72px;
  top: -22px;
  left: 0;
  right: 0;
  margin: auto;
}
.deco_cup img {
  width: 100%;
}


/*----------------------------------------
	section-4
----------------------------------------*/
.sec_ttl.shadow {
  text-shadow: 2px 2px 0 #92d1d3, -2px -2px 0 #92d1d3, -2px 2px 0 #92d1d3, 2px -2px 0 #92d1d3, 0px 2px 0 #92d1d3, 0 -2px 0 #92d1d3, -2px 0 0 #92d1d3, 2px 0 0 #92d1d3;
}
.popup_img {
  position: relative;
  margin: 40px 0;
}
.popup_img img {
  width: 100%;
}

.contacts_txt {
  margin-bottom: 15px;
}
	
.contacts_txt a {
  color: #386489;
}
.attention {
  color: #888888;
  font-size: 14px;
  line-height: 1.5;
  text-align: left;
  letter-spacing: -1px;
}






.deco_flower {
  position: absolute;
  width: 105px;
  top: -36px;
  left: 0;
  right: 0;
  margin: auto;
}
.deco_flower img {
  width: 100%;
}

.copyright {
  width: 72.5%;
  margin: 0 auto;
  padding-bottom: 45px;
}
.copyright img {
  width: 100%;
}




@media screen and (max-width: 1333px) {
  .main {
      margin-left: calc(100% - 500px);
  }
}

@media screen and (max-width: 1000px) {
  .logo_area {
      display: block;
      text-align: center;
      width: 221px;
      margin-bottom: 50px;
  }
  .logo_area img {
    display: inline-block;
    margin-bottom: 20px;
  }
  .nav_wrapper {
    padding-left: 30px;
  }
}

@media screen and (max-width: 800px) {
  .bg {
    display: none;
  }
  .main {
    margin-left: 0;
    width: 100%;
  }
  .fv_img {
    padding-bottom: 90vw;
  }
  img.fv_img2 {
    left: -3.6vw;
    bottom: inherit;
    top: 98vw;
    width: calc(100% + 7.6vw);
  }
  .location_list {
    max-width: 450px;
    margin: 0 auto;
  }
}

@media screen and (max-width: 500px) {
  p {
    font-size: 15px;
  }
  .sec_ttl {
    background-size: 500px;
    background-position: center;
  }
  .lead_txt {
    padding: 50px 5%;
    font-size: 16px;
  }
  .deco_01 {
    width: 77px;
    top: 2px;
    right: -10px;
  }
  .deco_02 {
    width: 60px;
    bottom: 8px;
  }

  .sec_ttl {
    font-size: 28px;
  }
  .sec1_bg {
    padding: 50px 0 10px;
  }
  .loca_rbn {
    font-size: 20px;
    background-size: 160px;
    padding: 10px 0;
  }
  .place {
    font-size: 30px;
  }
  .location_box:nth-of-type(1) .place {
    width: 170px;
  }
  .location_box:nth-of-type(2) .place {
    width: 232px;
    font-size: 28px;
  }
	.location_box:nth-of-type(3) .place {
    width: auto;
    max-width: 308px;
  }
  .location_box:nth-of-type(4) .place {
    width: auto;
    max-width: 320px;
    font-size: 28px;
  }
  .location_box:nth-of-type(5) .place {
    width: auto;
    max-width: 255px;
  }
  .date {
    font-size: 30px;
    margin-bottom: 10px;
  }


  .goods_txt {
    font-size: clamp(13px, 3.3vw, 18px);
  }



  .order_info h3 {
    font-size: 30px;
  }

  .deco_flower {
    width: 80px;
    top: -30px;
  }
  .attention {
    font-size: 13px;
  }
  
}



/*----------------------------------------
	アニメーション
----------------------------------------*/


/*----------------------------
scroll_up ｜下から上へ出現
----------------------------*/
.scroll_up {
  transition: 0.8s ease-in-out;
  transform: translateY(30px);
  opacity: 0;
}
.scroll_up.on {
  transform: translateY(0);
  opacity: 1.0;
}

/*----------------------------
scroll_left ｜左から出現
----------------------------*/
.scroll_left {
    -webkit-transition: 0.8s ease-in-out;
    -moz-transition: 0.8s ease-in-out;
    -o-transition: 0.8s ease-in-out;
    transition: 0.8s ease-in-out;
    transform: translateX(-30px);
    opacity: 0;
    filter: alpha(opacity=0);
    -moz-opacity: 0;
}
.scroll_left.on {
    opacity: 1.0;
    filter: alpha(opacity=100);
    -moz-opacity: 1.0;
    transform: translateX(0);
}

/*----------------------------
scroll_right ｜右から出現
----------------------------*/
.scroll_right {
    -webkit-transition: 0.8s ease-in-out;
    -moz-transition: 0.8s ease-in-out;
    -o-transition: 0.8s ease-in-out;
    transition: 0.8s ease-in-out;
    transform: translateX(30px);
    opacity: 0;
    filter: alpha(opacity=0);
    -moz-opacity: 0;
}
.scroll_right.on {
    opacity: 1.0;
    filter: alpha(opacity=100);
    -moz-opacity: 1.0;
    transform: translateX(0);
}

/*----------------------------
出現タイミングを調整
----------------------------*/

.timing02 {transition-delay: .2s;}
