/*ここからsp_css（〜750px）*/
.pc {
  display: none !important;
}

.sp {
  display: block !important;
}

body {
  margin: 0;
  padding: 0;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "ヒラギノ角ゴ ProN W3", 'Hiragino Kaku Gothic Pro', "Meiryo UI", "メイリオ", "Meiryo", "MS Pゴシック", "MS PGothic", sans-serif;
  font-weight: bold;
  text-decoration: none;
  color: inherit;
  font-feature-settings: "palt";
}

h2 {
  font-family: Montserrat, "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, 游ゴシック体, "ヒラギノ角ゴ Pro W3", メイリオ, sans-serif;
  letter-spacing: 0.1em;
  text-align: center;
  font-size: 8vw;
  margin-bottom: 10vw;
}

h2 span {
  display: block;
  font-size: 2vw;
  text-align: center;
}

/*↓load*/
#loader-bg {
  background-color: #fff;
  height: 100%;
  left: 0px;
  position: fixed;
  top: 0px;
  width: 100%;
  z-index: 300;
}

#loader-bg img {
  width: 20vw;
  left: 50%;
  position: fixed;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 301;
}

/*↑load*/
/*ここからtop*/
#top {
  position: relative;
}

#top_logo_b {
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  width: 46vw;
  top: 5vw;
  z-index: 50;
}

/*ここからdeco*/
#top_deco {
  position: absolute;
  width: 7.5vw;
  top: 95vw;
  left: 3.5vw;
z-index: 109;
}

/*ここまでdeco*/
/* 矢印ここから */

#top .b-text-scroll {
  position: absolute;
  top: 32vw;
  left: 6vw;
  width: 2%;
  margin: 0 auto;
  text-align: center;

  z-index: 101;
}

#top .b-text-scroll .arrow {
  position: absolute;
  width: 60%;
  /*bottom: -220%;*/
  bottom: calc(-500 / 1920 * 100vw);
  left: 2px;
  animation: sdb 1.5s infinite;
}

@keyframes sdb {
  0% {
    transform: translate(0, 0);
    opacity: 0;
  }

  50% {
    opacity: 1;
  }

  100% {
    transform: translate(0, 15px);
    opacity: 0;
  }
}

/* 矢印ここまで */
/*ここからスライド*/
.out {
  position: relative;
  margin-top: 33vw;
  width: 84vw;
  height: 105vw;
  float: right;
}

.in img {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: .5s;
  z-index: 0;
}

img {
  display: block;
  width: 100%;
  height: auto;
}

input {
  display: none;
}

.in {
  float: right;
  margin-right: 5vw;
  display: flex;
  justify-content: center;
}

label span {
  display: block;
  width: 10px;
  height: 10px;
  padding: 7px;
  margin: 96vw 0 0;
  border-radius: 100%;
  cursor: pointer;
  position: relative;
  z-index: 2;
}

label span::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: #fff;
  opacity: 0.5;
  border-radius: 100%;
}

input:nth-of-type(1):checked~.in label:nth-of-type(1) span::before,
input:nth-of-type(2):checked~.in label:nth-of-type(2) span::before,
input:nth-of-type(3):checked~.in label:nth-of-type(3) span::before,
input:nth-of-type(4):checked~.in label:nth-of-type(4) span::before {
  background: rgba(0, 0, 0, 0.5);
  opacity: 1;
}

label span::before {
  animation: slidebutton 14s infinite;
}

@keyframes slidebutton {
  0% {
    opacity: 0.5;
    background: rgba(0, 0, 0, 0.5);
  }

  3.5% {
    opacity: 1;
    background: #fff;
  }

  /* b÷x×100=y */
  25% {
    opacity: 1;
    background: #fff;
  }

  /* 100÷c=z */
  28.5% {
    opacity: 0.5;
    background: rgba(0, 0, 0, 0.5);
  }

  /* y+z */
}

label:nth-of-type(2) span::before,
label:nth-of-type(2) img {
  animation-delay: 3.5s;
}

label:nth-of-type(3) span::before,
label:nth-of-type(3) img {
  animation-delay: 7s;
}

label:nth-of-type(4) span::before,
label:nth-of-type(4) img {
  animation-delay: 10.5s;
}

input:nth-of-type(1):checked~.in label:nth-of-type(1) img,
input:nth-of-type(2):checked~.in label:nth-of-type(2) img,
input:nth-of-type(3):checked~.in label:nth-of-type(3) img,
input:nth-of-type(4):checked~.in label:nth-of-type(4) img {
  opacity: 1;
  z-index: 1;
}

.in img {
  animation: slide 14s infinite;
  /* (a+b)×c=x */
  opacity: 0;
}

@keyframes slide {
  0% {
    opacity: 0;
  }

  3.5% {
    opacity: 1;
    z-index: 1;
  }

  /* b÷x×100=y */
  25% {
    opacity: 1;
  }

  /* 100÷c=z */
  28.5% {
    opacity: 0;
    z-index: 0;
  }

  /* y+z */
}

input:checked~.in img,
input:checked~.in span::before {
  animation: none;
}

.in:hover img,
.in:hover span::before {
  animation-play-state: paused;
  /* マウスを載せると一時停止 */
}

/*ここまでスライド*/
/*ここまでtop*/
/*ここからSNS*/
.sns {
  background-color: #000000;
  z-index: 50;
  position: fixed;
  right: 0;
  top: 40vw;
  ;
  width: 7vw;
  padding: 2vw;
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
}

.sns a:first-child img {
  margin-bottom: 1vw;
}

/*ここまでSNS*/
/*ここからdummy*/
#dummy {
  height: 160vw;
}

/*ここまでdummy*/
#main {
  width: 89vw;
  margin: auto;
}

/*ここからtopic*/
#topic {
  padding: 0vw 0vw 15vw 0vw;
}

.view_more {
  width: 32vw;
  margin: auto;
}

.topic_box {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.topic_item {
  width: 42.2vw;
  margin-bottom: 12vw;
  border-bottom: 0.8vw solid #000000;
}

.t_i_first {
  width: 89vw;
}

.topic_item:hover {
  border-bottom: 0.8vw solid #E8410B;
}

p.topic_t {
  font-size: 2.5vw;
  letter-spacing: 0.08em;
  margin-top: 3vw;
  width: 42.2vw;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-text-overflow: ellipsis;
  -o-text-overflow: ellipsis;
}

p.time {
  font-weight: normal;
  font-size: 2.4vw;
}

.time {
  padding: 0 0 0 5.4vw;
  background-image: url(../images/top/time.svg);
  background-repeat: no-repeat;
  background-position: 0vw;
}

/*ここまでtopic*/
/*ここからconcept*/
#concept {
  padding: 0vw 0vw 15vw 0vw;
}

#concept .view_more img {
  width: 32vw;
  margin: auto 0 10vw;
}

#concept h3 {
  font-size: 5vw;
  line-height: 5vw;
  font-weight: 500;
  text-align: center;
}

#concept_txt {
  margin: 8vw 0 5vw;
}

#concept_txt p {
  font-size: 2.8vw;
  font-weight: 500;
  line-height: 5vw;
  letter-spacing: 0.05em;
  text-align: center;
}

#concept_txt p br {
  display: block;
  content: "";
  margin: 3vw 0vw;
}

#concept img {
  margin-left: -8vw;
  width: 89vw;
}

/*ここまでconcept*/
/*ここからshop*/
#shop {
  padding: 0vw 0vw 15vw 0vw;
}

.shop_box {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.shop_item {
  width: 78vw;
  margin-bottom: 3vw
}

/*ここまでshop*/
/*ここからinsta*/
#insta {
  width: 100vw;
}

/* slider */
#insta_slider {
  padding: 0;
}

.insta__item {
  padding: 0 1.5px;
}

.insta__item img {
  height: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}

/* slick css（高さを揃える） */
.slick-track {
  display: flex;
}

.slick-slide {
  height: auto !important;
}

/*
右から左へ
----------------------------*/
@keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-100%);
  }
}

/*
IE11対策
----------------------------*/
_:-ms-lang(x)::-ms-backdrop,
.d-demo {
  display: -ms-grid;
  overflow: hidden;
}

/*----------------------------*/

.d-demo__wrap {
  display: flex;
  overflow: hidden;
}

.d-demo__list {
  display: flex;
  list-style: none;
}

.d-demo__list--left {
  width: 200vw;
  padding: 0;
  animation: infinity-scroll-left 20s infinite linear 0.5s both;
}

.d-demo__item {
  width: calc(200vw / 6);
}

.d-demo__item>img {
  width: 100%;
}

/*ここまでinsta*/
.annotation_main{margin-right: 2vw;
  margin-left: auto;}
.annotation_main p {
    text-align: right;
    font-size: 2vw;
}
/*ここまでsp_css（〜750px）*/
/*ここから（751〜1300px）*/
@media screen and (min-width:751px) {

  /* パソコンで見たときは"pc"のclassがついた画像が表示される */
  .pc {
    display: block !important;
  }

  .sp {
    display: none !important;
  }

  h2 {
    letter-spacing: 0.1em;
    text-align: left;
    font-size: 3.3vw;
    margin-top: -0.7vw;
    margin-bottom: 2vw;
    display: inline-block
  }

  h2 span {
    display: block;
    font-size: 1.1vw;
    text-align: left;
  }

  /*↓load*/
  #loader-bg img {
    width: 10vw;
    max-width: 200px
  }

  /*↑load*/
  #top_logo_b {
    margin: auto 0 0 6vw;
    width: 19vw;
    top: 4vw;
    z-index: 110;
  }

  /*ここからdeco*/
  #top_deco {
    position: absolute;
    width: 5vw;
    top: 37vw;
    left: 8vw;
  }

  /*ここまでdeco*/
  /* 矢印ここから */

  #top .b-text-scroll {
    position: absolute;
    top: 30vw;
    left: 3vw;
    width: 1vw;
    z-index: 50;
  }

  #top .b-text-scroll .arrow {
    position: absolute;
    width: 60%;
    /*bottom: -220%;*/
    bottom: calc(-230 / 1920 * 100vw);
    left: 2px;
  }

  /* 矢印ここまで */
  /*ここからスライド*/
  .out {
    position: relative;
    margin-top: 8.46vw;
    height: 50vw;
  }

  .in img {}

  img {
    display: block;
    width: 100%;
    height: auto;
  }

  input {
    display: none;
  }

  .in {}

  label span {
    display: block;
    width: 10px;
    height: 10px;
    padding: 7px;
    margin: 51vw 0 0;
    border-radius: 100%;
    cursor: pointer;
    position: relative;
    z-index: 2;
  }

  label span::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: #fff;
    opacity: 0.5;
    border-radius: 100%;
  }

  input:nth-of-type(1):checked~.in label:nth-of-type(1) span::before,
  input:nth-of-type(2):checked~.in label:nth-of-type(2) span::before,
  input:nth-of-type(3):checked~.in label:nth-of-type(3) span::before,
  input:nth-of-type(4):checked~.in label:nth-of-type(4) span::before {
    background: rgba(0, 0, 0, 0.5);
    opacity: 1;
  }

  label span::before {
    animation: slidebutton 14s infinite;
  }

  label:nth-of-type(2) span::before,
  label:nth-of-type(2) img {
    animation-delay: 3.5s;
  }

  label:nth-of-type(3) span::before,
  label:nth-of-type(3) img {
    animation-delay: 7s;
  }

  label:nth-of-type(4) span::before,
  label:nth-of-type(4) img {
    animation-delay: 10.5s;
  }

  input:nth-of-type(1):checked~.in label:nth-of-type(1) img,
  input:nth-of-type(2):checked~.in label:nth-of-type(2) img,
  input:nth-of-type(3):checked~.in label:nth-of-type(3) img,
  input:nth-of-type(4):checked~.in label:nth-of-type(4) img {
    opacity: 1;
    z-index: 1;
  }

  .in img {
    animation: slide 14s infinite;
    /* (a+b)×c=x */
    opacity: 0;
  }

  input:checked~.in img,
  input:checked~.in span::before {
    animation: none;
  }

  .in:hover img,
  .in:hover span::before {
    animation-play-state: paused;
    /* マウスを載せると一時停止 */
  }

  /*ここまでスライド*/
  /*ここからSNS*/
  .sns {
    right: 0;
    top: 30vw;
    ;
    width: 3vw;
    padding: 1vw;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
  }

  .sns img:hover {
    opacity: 0.8;
  }

  .sns a:first-child img {
    margin-bottom: 0.5vw;
  }

  /*ここまでSNS*/
  /*ここからdummy*/
  #dummy {
    height: 75vw;
  }

  /*ここまでdummy*/
  #main {
    width: 84.6vw;
    margin: auto;
  }

  /*ここからtopic*/
  #topic {
    position: relative;
    padding: 0vw 0vw 30vw 0vw;
  }

  .view_more {
    width: 15.3vw;
    float: left;
  }

  #topic .view_more {
    margin-top: 15.5vw;
  }

  .topic_box {
    width: 63vw;
    float: right;
  }

  .topic_item {
    width: 19.4vw;
    margin-bottom: 0vw;
    border-bottom: 0.4vw solid #000000;
  }

  .topic_item:hover {
    border-bottom: 0.4vw solid #E8410B;
  }

  p.topic_t {
    font-size: 1vw;
    margin-top: 1.5vw;
    width: 19.4vw;
  }

  p.time {
    font-size: 1vw;
  }

  .time {
    padding: 0 0 0 2vw;
    background-repeat: no-repeat;
    background-position: 0vw;
  }

  /*ここまでtopic*/
  /*ここからconcept*/
  #concept {
    padding: 0vw 0vw 45vw 0vw;
  }

  .consept_right {
    float: right;
    width: 38vw;
  }

  .consept_right .view_more {
    margin-top: 0.8vw;
  }

  #concept .view_more img {
    width: 15.3vw;
    margin: auto 0 10vw;
  }

  #concept h3 {
    font-size: 1.8vw;
    line-height: 1.5vw;
    letter-spacing: 0.1em;
    text-align: left;
  }

  #concept_txt {
    margin: 3.5vw 0 2vw;
  }

  #concept_txt p {
    font-size: 1.15vw;
    line-height: 1.2vw;
    text-align: left;
  }

  #concept img {
    margin-left: -8vw;
    width: 52vw;
    float: left;
  }

  /*ここまでconcept*/
  /*ここからshop*/
  #shop {
    padding: 0vw 0vw 10vw 0vw;
  }

  .shop_box {
    width: 84.6vw;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }

  .shop_item {
    width: 41vw;
    margin-bottom: 2.8vw
  }

  /*ここまでshop*/
  /*ここからinsta*/
  #insta {
    width: 100vw;
  }

  .d-demo__list--left {
    width: 120vw;
  }

  /*ここまでinsta*/
	.annotation_main{margin-right: 7.9vw;
  margin-left: auto;}
.annotation_main p {
    text-align: right;
    font-size: 1vw;
}
	
}

/*ここまでpc_css（751〜1300px）*/
/*ここから調整用*/
@media screen and (min-width:751px) and (max-width:780px) {
  #concept_txt p {
    letter-spacing: 0em;
  }
}

@media screen and (min-width:850px) and (max-width:1000px) {
  #topic .view_more {
    margin-top: 15.3vw;
  }
}

@media screen and (min-width:1001px) and (max-width:1300px) {
  #topic .view_more {
    margin-top: 15vw;
  }
}

/*ここまで調整用*/

/*ここからpc_css（1301px以上）*/
@media screen and (min-width:1301px) {
  h2 {
    font-size: 43px;
    margin-bottom: 26px;
    margin-top: -8px;
  }

  h2 span {
    font-size: 15px;
  }

  #top_logo_b {
    width: 247px;
  }

  /*ここからSNS*/
  .sns {
    right: 0;
    top: 390px;
    width: 39px;
    padding: 13px;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
  }

  .sns a:first-child img {
    margin-bottom: 7px;
  }

  /*ここまでSNS*/
  #main {
    width: 1100px;
    margin: auto;
  }

  /*ここからtopic*/
  #topic {
    padding: 0px 0px 390px 0px;
  }

  .view_more {
    width: 200px;
    float: left;
  }

  #topic .view_more {
    margin-top: 191px;
  }

  .topic_box {
    width: 819px;
    float: right;
  }

  .topic_item {
    width: 252px;
    border-bottom: 5px solid #000000;
  }

  .topic_item:hover {
    border-bottom: 5px solid #E8410B;
  }

  p.topic_t {
    font-size: 13px;
    margin-top: 20px;
    width: 252px;
  }

  p.time {
    font-size: 13px;
  }

  .time {
    padding: 0 0 0 26px;
    background-repeat: no-repeat;
    background-position: 0vw;
  }

  /*ここまでtopic*/
  /*ここからconcept*/
  #concept {
    padding: 0px 0px 585px 0px;
  }

  .consept_right {
    float: right;
    width: 494px;
  }

  #concept .view_more img {
    width: 200px;
    margin: auto 0 130px;
  }

  .consept_right .view_more {
    margin-top: 11px;
  }

  #concept h3 {
    font-size: 23px;
    line-height: 20px;
    letter-spacing: 0.1em;
  }

  #concept_txt {
    margin: 40px 0 26px;
  }

  #concept_txt p {
    font-size: 16px;
    line-height: 15px;
  }

  #concept img {
    border-radius: 30px;
    margin-left: -104px;
    width: 676px;
  }

  img#con_img {
    margin-left: 0px;
    width: 570px;
    height: 469px;
    object-fit: cover;
    object-position: 100% 100%;
  }

  /*ここまでconcept*/
  /*ここからshop*/
  #shop {
    padding: 0px 0px 130px 0px;
  }

  .shop_box {
    width: 1100px;
  }

  .shop_item {
    width: 533px;
    margin-bottom: 36px
  }

  /*ここまでshop*/
  /*ここからinsta*/
  #insta {
    width: 100vw;
  }

  .d-demo__wrap {
    display: flex;
    overflow: hidden;
  }


  .d-demo__item {
    width: 300px;
  }

  .d-demo__item>img {
    width: 100%;
  }

  /*ここまでinsta*/
	.annotation_main{margin-right:calc((100% - 1100px) / 2);}
.annotation_main p {
    font-size: 13px;
}
}

/*ここまでpc_css（1301px以上）*/