@charset "UTF-8";

html {
  font-size: 100%;
  scroll-behavior: smooth;
  scroll-padding-top: 80px;
}



/* パソコンでは"pc-br"のclassがついた改行が効く */
.pc-br {
  display: block !important;
}

.tab-br {
  display: none !important;
}

.sp-br {
  display: none !important;
}



/* パソコンでは"pc"の部分が表示される */
.pc {
  display: block !important;
}

.tab {
  display: none !important;
}

.sp {
  display: none !important;
}


body {
  color: #1f1f1f;
  font-family: "Zen Maru Gothic", "Kosugi Maru", "Noto Sans JP", sans-serif;
  /*font-family: "Kosugi Maru", sans-serif;*/
  
  text-spacing-trim: trim-both;
  /* 括弧の前後両方の余白を詰める */
  font-feature-settings: "palt";
  /* または "pwid" */

  
  
  background: url(../../godzilla-sanrio/bg.jpg);
  background-size: contain;
  background-position: center;
  /* 画像を中央に配置 */
  background-attachment: fixed;
  /* スクロールしても背景を固定 */
  
  /*background-color: rgb(255 255 255 / 100%);*/

}

img {
  max-width: 100%;
  vertical-align: bottom;
}

li {
  list-style: none;
}

a {
  color: inherit;
  text-decoration: none;
  transition: all 0.3s ease;
}

a:hover {
  color: inherit;
  /* 親要素の色を継承 */
  /*opacity: 0.7;*/
  text-decoration: none;
}

/* 訪問済みのリンク */
a:visited {
  color: inherit;
  /* 色を変えない */
  text-decoration: none;
}

/* クリック中 */
a:active {
  color: inherit;
  /* 色を変えない */
  text-decoration: none;
}




/*-------------------------------------------
Header
-------------------------------------------*/

.hamburger {
  display: none;
}

/* BEGIN ハンバーガーメニュー*/

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}


.menu a {
    color: #333333;
    text-decoration: none;
    /*display: block;*/
}

ul li {
    list-style: none;
    width: 100px;
    border: 1px solid yellow;
}

.menu {
    display: block;
    line-height: 45px;
    padding-left: 10px;
    border: 0px solid red;
    font-size: 1.1rem;
    font-weight: bold;
    font-family: "Noto Sans JP", sans-serif;
}

/*
.goodsmenu {
    display: block;
    line-height: 40px;
    padding-left: 10px;
    border: 0px solid yellow;
}*/


header nav {
    position: fixed;
    width: 350px;
    top: 0;
    right: -350px;
    background-color: rgba(255, 255, 255, 0.8);
    height: 100%;
    padding-top: 60px;
    z-index: 100;
}

header nav ul li {
    width: 100%;
    border: 0px solid red;
}

header nav ul li a {
    color: #FFF;
    padding-left: 20px;
}


header nav ul li a:hover {
    /*color:red;*/
    color: darkgray;
}

header .btn-gnavi {
    position: fixed;
    top: 20px;
    right: 20px;
    width: 30px;
    height: 24px;
    z-index: 103;
    cursor: pointer;
    transition: all 400ms;
    -webkit-transition: all 400ms;
}

header .btn-gnavi span {
    position: absolute;
    width: 30px;
    height: 4px;
    background: #939598;
    /*三本線の色*/
    border-radius: 10px;
    -webkit-transition: all 400ms;
    transition: all 400ms
}

header .btn-gnavi span:nth-child(1) {
    top: 0;
}

header .btn-gnavi span:nth-child(2) {
    top: 10px;
}

header .btn-gnavi span:nth-child(3) {
    top: 20px;
}

header .btn-gnavi.hb-open {
    transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
}

header .btn-gnavi.hb-open span {
    background: #939598;
    /*矢印の色*/
}

header .btn-gnavi.hb-open span:nth-child(1) {
    width: 24px;
    transform: translate(-7px, 17px) rotate(45deg);
    -webkit-transform: translate(-7px, 17px) rotate(45deg);
}

header .btn-gnavi.hb-open span:nth-child(3) {
    width: 24px;
    transform: translate(-7px, -17px) rotate(-45deg);
    -webkit-transform: translate(-7px, -17px) rotate(-45deg);
}

/* END ハンバーガーメニュー*/

.stripe-diagonal {
  width: 100%;
  height: 30px;
  background-image: repeating-linear-gradient(-45deg,
      /* 傾き */
      #ffed61,
      /* ストライプの色1 */
      #ffed61 15px,
      /* 色1の幅 */
      #ffffff 15px,
      /* 色2の幅（10pxで色1を止めて2を始める） */
      #ffffff 30px
      /* 色2の幅（20pxで終える） */
    );
}

.mainvisual {
  margin: 0 auto;
  width: 900px;
  /*background-color: #FFF;*/
}

.mainvisual img {
  text-align: center;
}



/*-------------------------------------------
Main
-------------------------------------------*/

main {
}


.contents-wrapper {
  width: 1100px;
  outline: 0px solid red;
  margin: 0px auto;
  padding: 40px 20px;
  text-align: center;
  border-radius: 0px;
  border: 0px solid gainsboro;
}

.intro {
  font-family: "Kosugi Maru", sans-serif;
  font-size: 25px;
  font-weight: bold;
  line-height: 1.6;
  font-weight: bold;
  letter-spacing: 0.1px;
  margin-bottom: 30px;
  color: #512F1F;
  -webkit-text-stroke: 10px #FFF;
  paint-order: stroke;
}


.entry-banner {
  font-family: "Kosugi Maru", sans-serif;
  width: 70%;
  margin: 0 auto 20px auto;
  border-radius: 20px;
  border: 5px solid #E83A31;
  padding: 15px;
  background-color: #E83A31;
  box-shadow: 0 5px 0 #821711;
  font-size: 34px;
  line-height: 40px;
  font-weight: bold;
  transition: all 0.3s;
  color: #FFF;
}


.entry-banner:hover {
  box-shadow: none;
  transform: translateY(5px);
}

.sanrio-banner {
  margin: 0 auto 40px auto;
}

.sanrio-banner img { 
  width: 600px;
}

/* クリック時 */
.entry-banner:active {
  box-shadow: none;
  transform: translateY(5px);
}


.button-container {
  display: flex;
  gap: 10px;
  justify-content: center;
  margin-bottom: 60px;
}

.button-container button {
  padding: 12px 30px;
  font-size: 30px;
  font-weight: bold;
  /*font-family: "Zen Maru Gothic", sans-serif;*/
  font-family: "Coiny", system-ui;
  letter-spacing: 1px;
  margin-right: 10px;
  line-height: 1.3;
  width: 290px;


  /*background-color: #FFD150; */
  background-color: #FAC15A;
  background-color: #FFED61;
  box-shadow: 0 5px 0 #FAC15A;
  border-radius: 25px;
  color: #532D1C;
  /*color: #FFF;*/
  cursor: pointer;
  text-decoration: none;
  transition: all 0.3s;
}

/* ホバー時 */
button:hover {
  box-shadow: none;
  transform: translateY(5px);
}

/* クリック時 */
button:active {
  box-shadow: none;
  transform: translateY(5px);
}

.subtext {
  display: block;
  font-size: 15px;
  font-family: "Kosugi Maru", sans-serif;
}

h3 {
  margin: 0 auto;
  text-align: center;
  /*font-family: "Cherry Bomb One", system-ui;*/
  font-family: "Coiny", system-ui;
  font-size: 40px;
  font-weight: bold;
  letter-spacing: 1px;
  color: #E83A31;
}

.characters-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 65px;
  /*縦、横*/
  justify-content: center;
  outline: 0px solid red;
  margin-bottom: 40px;
}



.chara-box {
  outline: 0px solid blue;
  height: 30%;
  box-sizing: border-box;
  position: relative;
  display: inline-block;
  /* 画像のサイズに合わせる */
  z-index: 1;
  /* 円より上に来るように設定 */
}

/*
.chara-box1,
.chara-box2,
.chara-box3 {
  outline: 0px solid blue;
  height: 30%;
  box-sizing: border-box;
  position: relative;
  display: inline-block;*/
/* 画像のサイズに合わせる */
/*z-index: 1;*/
/* 円より上に来るように設定 */
/*}*/

.chara-box1::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  /* 中央配置 */
  width: 300px;
  /* 円の大きさ */
  height: 300px;
  /* 円の大きさ */
  background-color: #dfdfe3;
  /* #fce5e2; 円の色 */
  border-radius: 50%;
  /* 正円にする */
  z-index: -1;
  /* 画像の下に配置 */
}


.chara-box2::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  /* 中央配置 */
  width: 300px;
  /* 円の大きさ */
  height: 300px;
  /* 円の大きさ */
  background-color: #d3f1ff;
  /*円の色 */
  border-radius: 50%;
  /* 正円にする */
  z-index: -1;
  /* 画像の下に配置 */
}


.chara-box3::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  /* 中央配置 */
  width: 300px;
  /* 円の大きさ */
  height: 300px;
  /* 円の大きさ */
  background-color: #f9dcdf;
  /*#fce5e2; 円の色 */
  border-radius: 50%;
  /* 正円にする */
  z-index: -1;
  /* 画像の下に配置 */
}




.chara-box p {
  font-size: 17px;
  /*color: #E83A31;*/
  color: #512F1F;
  font-family: "Kosugi Maru", sans-serif;
  font-weight: bold;
  line-height: 1.5;
  -webkit-text-stroke: 8px #FFF;
  paint-order: stroke;
}


/*
.chara-box1,
.chara-box2,
.chara-box3,
p {
  font-size: 17px;
  color: #512F1F;
  font-family: "Kosugi Maru", sans-serif;
  font-weight: bold;
  line-height: 1.5;
  -webkit-text-stroke: 8px #FFF;
  paint-order: stroke;
}*/


.year {
  letter-spacing: -0.1em;
  outline: 0px solid red;

}


.chara-box img {
  width: 300px;
  object-fit: cover;
  /* 画像が歪まないようにする */
}


/**GOODS**/

/* 親要素(アイテム) */

.goods_comingsoon {
  font-family: "Coiny", system-ui;
  color: #512F1F;
  /*color: #898888;*/
  font-size: 43px;
  margin: 0px auto 65px auto;
}


.goods-container {
  margin: 0 auto 40px auto;
  width: 90%;
  border: 0px solid red;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-content: center;
}

/* 子要素(アイテム) */

.goods-item {
  width: 280px;
  /*height: 535px;リンクあり*/
  /*height: 440px;*/
  text-align: center;
  margin: 5px 10px 10px 0px;
  position: relative;
  border: 2px solid #ccc;
  border-radius: 10px;
  padding: 0px 15px 18px 15px;
  font-family: "Kosugi Maru", sans-serif;
  color: #512F1F;
  background-color: #FFF;
}

.goods_img img {
  border: 0px solid red;
  width: 100%;

}

.goods_name {
  font-size: 17px;
  width: 85%;
  height: 60px;
  margin: 10px auto 5px auto;
  font-weight: bold;
  line-height: 1.5em;
  border: 0px solid red;
  text-align: left;
}


.goods_price {
  font-size: 15px;
  width: 85%;
  /*height:93px;*/
  margin: 5px auto 8px auto;
  font-weight: bold;
  text-align: left;
}

.store-link {
  display: block;
  outline: 0px solid red;
  margin-top: 20px;
}


.btn {
  /*background-color: #F18B3C;*/
  background-color: #FAC15A;
  color: #FFF;
  border-radius: 15px;
  padding: 8px;
  width: 90%;
  margin: 0px auto 0 auto;
  border: 0px solid red;
  font-size: 0.9rem;
  /*position: absolute;
  bottom: 15px;
  left: 50%;
  transform: translateX(-50%);*/

}

.btn:hover {
  background-color: #f9ca75;
}

.item-caution {
  width: 70%;
  padding: 20px auto 0 auto;
  font-size: 0.8rem;
  line-height: 1.7em;
  margin: 20px auto 0 auto;
  text-align: left;
  border: 0px solid #000;

}

.spacer {
  width: 100%;
}
.Shop-Caption {
  font-family: "Kosugi Maru", sans-serif;
  font-size: 25px;
  font-weight: bold;
  line-height: 1.6;
  font-weight: bold;
  letter-spacing: 0.1px;
  margin-bottom: 20px;
  color: #512F1F;
}


.Shop-sub-Caption {
  font-family: "Kosugi Maru", sans-serif;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.6;
  font-weight: bold;
  letter-spacing: 0.1px;
  margin-bottom: 30px;
  color: #512F1F;
}


/*-------------------------------------------
Footer
-------------------------------------------*/
footer {
  background-color: #ffed61;
  padding: 40px 0 20px 0;
  margin: 0 auto;
  text-align: center;
}

footer .banner {
  width: 300px;
  margin: 0 auto 15px auto;
}

footer .copy {
  font-size: 10px;
  color: #1f1f1f;
}


/*~~~~~~~~~~~~~~~~~~~~~~~~~
ページTOP
~~~~~~~~~~~~~~~~~~~~~~~~~~*/
#page-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  font-size: 14px;
  line-height: 1;
  z-index: 99;
}

#page-top a {
  background: #E83A31;
  color: white;
  font-size: 15px;
  font-weight: bold;
  /* ボタンのサイズと角丸 */
  width: 80px;
  height: 80px;
  border-radius: 50%;
  /* ③上向きの三角と、TOPの文字の位置を揃える */
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  opacity: 0.9;
  transition: all .3s ease;
}

#page-top a::before {
  /* ④絶対必要 */
  content: "";
  display: block;
  /* ⑤三角のサイズ */
  width: 12px;
  height: 12px;
  /* ⑥三角の線と回転角度 */
  border-top: 4px solid white;
  border-right: 4px solid white;
  transform: rotate(-45deg);
  margin-bottom: 5px;
}


#page-top a:hover {
  text-decoration: none;
  opacity: 0.6;
}





/*-------------------------------------------
タブレット
-------------------------------------------*/
@media screen and (max-width: 1024px) {


  /* スマートフォンでは"sp-br"が改行される */
  .pc-br {
    display: none !important;
  }

  .tab-br {
    display: block !important;
  }

  .sp-br {
    display: none !important;
  }

    

  /* タブレットでは"tab"の部分が表示される */
  .pc {
    display: none !important;
  }

  .tab {
    display: block !important;
  }

  .sp {
    display: none !important;
  }

    
  .hamburger {
    display: block;
  }

  .mainvisual {
    width: 90%;
  }

  .mainvisual img {
    outline: 0px solid red;
  }

  .intro {
    font-size: 20px;
    line-height: 1.6;
  }

  .contents-wrapper {
    width: 100%;
    margin: 0 auto;
    outline: 0px solid red;
  }

  .entry-banner {
    width: 90%;
    font-size: 28px;
    line-height: 35px;
  }

  /*キャラクター紹介*/

  .chara-box img {
    width: 210px;
  }

  .chara-box1::before {
    width: 210px;
    height: 210px;
  }


  .chara-box2::before {
    width: 210px;
    height: 210px;
  }


  .chara-box3::before {
    width: 210px;
    height: 210px;
  }

  .button-container {
    flex-wrap: wrap;
    gap: 20px;

  }

  .goods-container {
    width: 95%;
  }


  footer {
    width: 100%;
  }


}

/*-------------------------------------------
スマートフォン
-------------------------------------------*/
@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }

  /* スマートフォンでは"sp-br"が改行される */
  .pc-br {
    display: none !important;
  }

  .tab-br {
    display: none !important;
  }

  .sp-br {
    display: block !important;
  }

  
  /* スマートフォンでは"sp"の部分が表示される */
  .pc {
    display: none !important;
  }

  .tab {
    display: none !important;
  }

  .sp {
    display: block !important;
  }

  
    
  .hamburger {
    display: block;
  }



  .stripe-diagonal {
    width: 100%;
    height: 20px;
    background-image: repeating-linear-gradient(-45deg,
        /* 傾き */
        #ffed61,
        /* ストライプの色1 */
        #ffed61 10px,
        /* 色1の幅 */
        #ffffff 10px,
        /* 色2の幅（10pxで色1を止めて2を始める） */
        #ffffff 20px
        /* 色2の幅（20pxで終える） */
      );
  }



  .contents-wrapper {
    width: 100%;
    outline: 0px solid red;
    margin: 0 auto;
    padding: 20px 20px;
  }

  .intro {
    font-size: 18px;
    line-height: 1.3;
    font-weight: bold;
  }

  
  .entry-banner {
    width: 95%;
    font-size: 20px;
    padding: 5px;
    line-height: 30px;
  }


  .mainvisual {
    width: 100%;
  }


  .mainvisual img {
    width: 98%;
  }

    

  .button-container {
    flex-wrap: wrap;
    display: flex;
    gap: 15px;
    justify-content: center;
    margin-bottom: 30px;
  }

    
  .button-container button {
    padding: 10px 10px;
    font-size: 17px;
    letter-spacing: 0.05px;
    /*margin-right: 10px;*/
    line-height: 1.3;
    width: 150px;
    border-radius: 15px;
  }

      
      
  .subtext {
    display: block;
    font-size: 11px;
  }


  .goods-container {
    margin: 0 auto 40px auto;
    width: 100%;
    border: 0px solid red;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-content: center;
  }

  .goods-item {
    width: 155px;
    text-align: center;
    margin: 5px 8px 10px 0px;
    position: relative;
    border: 2px solid #ccc;
    border-radius: 10px;
    padding: 0px 8px;
    font-family: "Kosugi Maru", sans-serif;
    color: #512F1F;
  }

    
  .goods_name {
    font-size: 13.5px;
    width: 95%;
    margin: 10px auto 10px auto;
  }

  .goods_price {
    font-size: 12px;
    width: 95%;
    /*height:93px;*/
  }

  .store-link {
    display: block;
    outline: 0px solid red;
    margin: 20px 0px;
  }

    
  .btn {
    width: 90%;
    border: 0px solid red;
    font-size: 15px;
  }

  .Shop-Caption {
    width: 95%;
    margin: 0 auto;
    text-align: center;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.4;
    font-weight: bold;
    letter-spacing: 0px;
    margin-bottom: 30px;
    color: #512F1F;
  }

  

  .Shop-sub-Caption {
      width: 95%;
      margin: 0 auto;
      text-align: center;
      font-size: 11px;
      font-weight: bold;
      line-height: 1.4;
  }




  /*-------------------------------------------
  Footer
  -------------------------------------------*/

}