/*ここからsp_css（〜750px）*/
.pc { display: none !important; }
.sp { display: block !important; }	
ul{list-style: none;}
a:link, a:visited, a:active,a:hover {
   color: inherit;}
a{text-decoration: underline;}
/*ここからheader*/
/*　ハンバーガーメニューボタン　*/
header{
position: fixed;
width: 100vw;
height: 70px;
z-index : 100;}
.left_logo{
	margin-top: 20px;
	margin-left: 20px;
	width: 15vw;}
.hamburger {
  display : block;
  position: fixed;
  z-index : 3;
  right : 20px;
  top   : 20px;
  width : 42px;
  height: 42px;
  cursor: pointer;
  text-align: center;
}
.hamburger span {
  display : block;
  position: absolute;
  width   : 30px;
  height  : 2px ;
  left    : 6px;
  background : #000000;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition   : 0.3s ease-in-out;
  transition        : 0.3s ease-in-out;
}
.hamburger span:nth-child(1) {
  top: 10px;
}
.hamburger span:nth-child(2) {
  top: 20px;
}
.hamburger span:nth-child(3) {
  top: 30px;
}

/* スマホメニューを開いてる時のボタン */
.hamburger.active span:nth-child(1) {
  top : 16px;
  left: 6px;
  background :#fff;
  -webkit-transform: rotate(-45deg);
  -moz-transform   : rotate(-45deg);
  transform        : rotate(-45deg);
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
  top: 16px;
  background :#fff;
  -webkit-transform: rotate(45deg);
  -moz-transform   : rotate(45deg);
  transform        : rotate(45deg);
}

/* メニュー背景　*/
nav.globalMenuSp {
  position: fixed;
  z-index : 2;
  top  : 0;
  right : 0;
  color: #fff;
  background: rgba( 100,100,100,0.95 );
  text-align: left;
  width: 55vw;
  transform: translateX(100%);
  transition: all 0.6s;
padding: 10vw;
}
.header_logo{width: 21vw;
margin-bottom: 7vw;}
nav.globalMenuSp ul {
  margin: 0 auto;
  padding: 0;
  width: 55vw;
}

nav.globalMenuSp ul li {
  list-style-type: none;
  padding: 0;
  width: 55vw;
  transition: .4s all;
}
nav.globalMenuSp ul li ul li a{
		font-size: 4vw;
}
nav.globalMenuSp ul li:last-child {
  padding-bottom: 0;
}
nav.globalMenuSp ul li:hover{

}

nav.globalMenuSp ul li a {
  display: block;
  color: #fff;
  padding: 0.5em 0;
  text-decoration :none;
	width: 35vw;
}
nav.globalMenuSp ul li ul li a {
	width: 55vw;
	font-size: 3vw;
}

/* クリックでjQueryで追加・削除 */
nav.globalMenuSp.active {
  opacity: 100;
  display: block;
   transform: translateX(0%);
}
/*ここまでheader*/
/*ここからsite*/
#site{width: 70vw;
margin:10vw auto;
}
.yojiyasite img{margin-bottom: 5vw;}
/*ここまでsite*/
/*ここからスタッフ*/
#staff{
	padding:10vw;
	background-color: black;
}
#staff:hover{
  background: #e8410b;
  transition: 0.2s ease-out;
}
#staff a{
text-decoration: none;
	}
.btn_re {
  font-size: 4vw;
  color: #fff;
  width:40vw;
  text-align: center;
  border-radius: 10px;
  padding: 1.3vw 2vw;
  position: relative; /* 追記 */
  margin:0 auto;
  font-family : "游ゴシック","Yu Gothic" ,"游ゴシック体",sans-serif;
	letter-spacing: 0.1vw;
  border: 1px solid #fff;
}
.btn_re:hover {
  font-size: 4vw;
  color: #fff;
  width:40vw;
  text-align: center;
  background: #e8410b;
  border-radius: 10px;
  padding: 10px 15px;
  position: relative; /* 追記 */
  margin:0 auto;
  font-family : "游ゴシック","Yu Gothic" ,"游ゴシック体",sans-serif;
  border: 1px solid #fff;
  
}

.btn_re::after {
  content: "";
	 width: 2vw;
  height: 2vw;
border: 0px;
  border-top: solid 2px #ffffff;
  border-right: solid 2px #ffffff;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 3.2vw;
  right: 15px;
}
.btn_re a{
	text-decoration: none;
	color:#fff;
	}
/*ここまでスタッフ*/
/*ここからfooter*/
footer{background-color: #DCDDDD;
padding: 10vw 5vw}

#fotter_logo{width:  25vw;
margin: auto;}
footer a{text-decoration: none;
line-height: 2em;
letter-spacing: 0.12em;}
#fotter_menu{margin: 0vw;}
#fotter_menu ul li ul{padding-left: 3vw;}
#fotter_menu li{
	line-height: 2em;
	font-size: 3vw;}
#fotter_menu ul li:nth-child(3){padding: 3vw 0vw;}
#fotter_menu ul li ul li:nth-child(3){padding:0vw;}
#copy{
margin-top: 10vw;
text-align: center;
font-size: 2.5vw;
font-weight: 400;
letter-spacing: 0.1em;}
/*ここまでfooter*/
/*ここからtopback*/
.topback{
  position: fixed;
  right: 0;
  bottom: 0;
  width: 13vw;
  padding: 20px;
  cursor: pointer;
  transition: .3s;
  /*デフォルトで非表示にする*/
  opacity: 0;
  visibility: hidden;
z-index: 105;
}

/*このクラスが付与されると表示する*/
.active{
  opacity: 1;
  visibility: visible;
}
/*ここまでtopback*/
/*ここまでsp_css（〜750px）*/

/*ここからpc_css（751〜1300px）*/
@media screen and (min-width:751px) {
/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }
/*ここからheader*/
header{
position: fixed;
width: 100vw;
	background-color: rgba(0,0,0,0,0);}
.hamburger {
	display: none;
}
ul.menu{
	right: 0;}
nav.globalMenuSp {
position: relative;
  z-index : 2;
  top  : 0;
  right : 0;
  background:none;
  text-align: left;
  width: 100vw;
height: 8.46vw;
  transform: translateX(0%);
  transition: all 0.6s;
	display: flex;
		flex-direction: row;
padding: 0vw;
	float: right;
	background-color: #fff;}
.header_logo{width: 6vw;
margin: 2vw;
position:absolute;
z-index: 200;
}
.header_logo_1{width: 6vw;
margin: 2vw;
position:absolute;
z-index: 200;
/*デフォルトで非表示にする*/
  opacity: 0;
	transition: opacity 2s;}
/*このクラスが付与されると表示する*/
.active{
  opacity: 1;
  visibility: visible;
}
nav.globalMenuSp ul {
width: 46vw;
margin-top: 2vw;
  margin-right: 0;
  padding: 0;
position:absolute;
}
nav.globalMenuSp ul li {
  list-style-type: none;
  padding: 0;
  width: 10vw;
  transition: .4s all;
display: inline-block;
}
nav.globalMenuSp ul li ul{
position: absolute;
width: 18vw;
display: none;
margin-top: 0;
}

nav.globalMenuSp ul li:hover ul {
  display: block;
  height: auto;
  position: absolute;
  margin-left: -5px;
}
nav.globalMenuSp ul li ul li{
  display: block;
}
	
nav.globalMenuSp ul li ul > li {
  display: block;
}
nav.globalMenuSp ul li ul li{
 display: block;
width: 18vw;
min-width: 145px;
background-color: #fff;
}
	
nav.globalMenuSp ul li ul li a{
		font-size: 1vw;
	width: 18vw;
	letter-spacing: 0.15em;
	padding: 1vw;
}
nav.globalMenuSp ul li ul li:nth-child(2) a{
		font-size: 1vw;
	width: 18vw;
	letter-spacing: 0.15em;
	padding: 0vw 1vw;
}
nav.globalMenuSp ul li ul li a:hover{
	color: #E8410B;
}
nav.globalMenuSp ul li:nth-child(2) {
  margin-right: 3vw;
}
nav.globalMenuSp ul li:last-child {
  padding-bottom: 0;
}

nav.globalMenuSp ul li a {
  display: block;
  color: #000000;
  padding: 0.5em 0;
  text-decoration :none;
	width: 10vw;
}
	

/*ここまでheader*/
/*ここからsite*/
#site{width: 59vw;
margin:10vw auto;
display: flex;
	justify-content: space-between;
}
#site img{width: 28.3vw;}
.yojiyasite img{margin-bottom: 0vw;}
/*ここまでsite*/
/*ここからスタッフ*/
#staff{
	padding:85px;
	margin-top:126px;
	background-color: black;

}
.btn_re {
  font-size: 2vw;
  color: #fff;
  width:30vw;
  text-align: center;
  border-radius: 15px;
  padding: 15px 15px;
  position: relative; /* 追記 */
  margin:0 auto;
  font-family : "游ゴシック","Yu Gothic" ,"游ゴシック体",sans-serif;
	letter-spacing: 0.1vw;
  border: 1px solid #fff;
}
.btn_re:hover {
font-size: 2vw;
  color: #fff;
  width:30vw;
  text-align: center;
  background: #e8410b;
  border-radius: 15px;
  padding: 15px 15px;
  position: relative; /* 追記 */
  margin:0 auto;
  font-family : "游ゴシック","Yu Gothic" ,"游ゴシック体",sans-serif;
  border: 1px solid #fff;
  
}

.btn_re::after {
  content: "";
	 width: 1.5vw;
  height: 1.5vw;
border: 0px;
  border-top: solid 2px #ffffff;
  border-right: solid 2px #ffffff;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 20px;
  right: 20px;
}



.btn_re a{
	text-decoration: none;
	color:#fff;
	}
/*ここまでスタッフ*/	
/*ここからfooter*/
footer{background-color: #DCDDDD;
padding: 30px 40px}

#fotter_logo{width: 100px;
float: left;}
footer a{text-decoration: none;
line-height: 2em;}
#fotter_menu{margin: 0px 0px 20px 0px;
float: right;
display: block;}
#fotter_menu ul{
display: flex;}
#fotter_menu ul li{
width: 90px;}
#fotter_menu ul li:nth-child(3){
width: 130px;}
#fotter_menu ul li ul{padding-left: 0vw;
display: block;}
#fotter_menu li{
	line-height:2.5em;
	font-size: 7px;}
#fotter_menu ul li:nth-child(3){padding: 0vw;}
#fotter_menu ul li ul li:nth-child(3){padding:0vw;}
#copy{
margin-top: 130px;
display: block;
clear:both;
text-align: right;
font-size: 5px;
font-weight: 400;
letter-spacing: 0.1em;}
/*ここまでfooter*/
/*ここからtopback*/
.topback{
  width: 4.6vw;
  padding: 50px;
}
/*ここまでtopback*/
}
/*ここまでpc_css（751〜1300px）*/

/*ここからpc_css（1301px以上）*/
@media screen and (min-width:1301px) {
	nav.globalMenuSp {
height: 110px;}
.header_logo{width: 78px;
margin: 26px;}
nav.globalMenuSp ul {
width: 598px;
margin-top: 26px;
}
nav.globalMenuSp ul li {
  width: 130px;
}
nav.globalMenuSp ul li ul{
width: 195px;
}
	nav.globalMenuSp ul li ul li{width: 234px}	
nav.globalMenuSp ul li ul li a{
		font-size: 13px;
	width: 234px;
	padding: 13px;
}

	nav.globalMenuSp ul li ul li:nth-child(2) a{
		font-size: 13px;
	width: 234px;
	padding: 0px 13px;
}
nav.globalMenuSp ul li:nth-child(2) {
  margin-right: 39px;
}
nav.globalMenuSp ul li:last-child {
  padding-bottom: 0;
}

nav.globalMenuSp ul li a {
	width: 130px;
}
/*ここまでheader*/
/*ここからsite*/
#site{width: 768px;
margin:130px auto;
}
#site img{width: 368px;}
/*ここまでsite*/
/*ここからスタッフ*/
#staff{
	padding:85px;
	margin-top:126px;
	background-color: black;

}

.btn_re {
  font-size: 26px;
  color: #fff;
  width:390px;
	letter-spacing: 1px;
}
.btn_re:hover {font-size: 26px;
  color: #fff;
  width:390px;
	letter-spacing: 1px;
}

.btn_re::after {
  content: "";
	 width: 20px;
  height: 20px;
border: 0px;
  border-top: solid 2px #ffffff;
  border-right: solid 2px #ffffff;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 22px;
  right: 20px;
}
.btn_re a{
	text-decoration: none;
	color:#fff;
	}
/*ここまでスタッフ*/
/*ここからfooter*/
/*ここまでfooter*/
/*ここからtopback*/
.topback{
  width: 60px;
}
/*ここまでtopback*/
}
/*ここまでpc_css（1301px以上）*/
/*ここから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以上）*/