@charset "UTF-8";

html, body{
	height:100%;
}

body{
	background-color:#fff;
}

img{
	height:auto;
	max-width:100%;
}

.sp, .sp-top{
	display:none;
}

.pc{
	display:block;
}

/* loading */
#loading {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  z-index: 99999;
  background: #fff;
  text-align: center;
}

#loading_logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

#loading .kvArea {
  width: 100%;
}

#loading .kvArea .img_box {
  text-align: center;
	width:8%;
  margin:30px auto;
}

#loading .kvArea .img_box img {
  max-width: 100%;
  height: auto;
}

/* 全体の文字とリンク */
h4, p, ul li, a, dt, dd, th, td{
	line-height:2.5;
	letter-spacing:3px;	
	overflow-wrap: break-word;
	text-align: justify;
	text-decoration: none;
}

h1, h2{
	line-height:1.7;
	letter-spacing:3px;
}

ul li{
	list-style-type: none;	
}

p, ul li, a, dt, dd, .small, th, td{
	font-family: 'Noto Sans JP', sans-serif;
}

p{
	font-size:1.4rem;
}

/* アイテムリスト */
.new-item-list{
	width:100%;
	box-sizing: border-box;
}

.new-item-list li{
	font-size:1rem;
	margin:7px 0;
}

.notbuy{
	color:#808080;
}

.text-buy{
	text-decoration: underline;
}

.text-buy:link, .text-buy:visited{
	color:#c7b299;
}

.text-buy:hover{
	color:#fff;
	-webkit-transition: all .3s;
	transition: all .3s;
}

.buy_button {
  display: inline-block;
  width: 50px;
  font-size:10px;
  font-weight:bold;
  text-align: center;
  text-decoration: none;
  outline: none;
  background-color: #fff;
  color: #364f72;
}
.buy_button::before,
.buy_button::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}
.buy_button,
.buy_button::before,
.buy_button::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}

.buy_button:hover {
  background-color: #364f72;
  color:#fff!important;
}

.link-button a {
    background: #007F76;
    border-radius: 5px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 30px auto;
    max-width: 200px;
    padding: 5px 15px;
    color: #666!important;
	font-size:1.5rem;
    transition: 0.3s ease-in-out;
    font-weight: 700;
}

.link-button a:hover {
    background: #FBB03B;
    color: #FFF!important;
}

.link-button a:after {
    content: '';
    width: 10px;
    height: 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 50%;
    right: 20px;
    border-radius: 1px;
    transition: 0.3s ease-in-out;
}

.link-button a:hover:after {
    border-color: #FFF;
}

/*inview*/
.fadeIn {
  opacity: 0;
  transition: 2s;
  transition-delay: .5s;
}
.fadeIn.is-show {
  opacity: 1;
}

.fadeIn_up {
  opacity: 0;
  transform: translate(0, 20%);
  transition: 2s;
}
.fadeIn_up.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

/*戻るボタンの設定*/

.big_button a{
	height:100%;
	display: block;
	width:500px;
	margin:70px auto 30px;
	-webkit-border-radius: 30px;
	-moz-border-radius: 30px;
	border-radius: 30px;
}

.back{
	color:#fff;
	font-weight:900;
	font-size:14px;
	text-align: center!important;
}

.back_button{
	width:240px;
	padding:10px 5px;
	text-align: center;
}

.back_button{
	background-color:#364f72;
}


.back_button:hover{
	background-color:#4E709F;
}

/*フッター*/
footer{
	width:100%;
}

#footer{
	box-sizing: border-box;
	padding:40px 30px 30px;
	margin-top:50px;
	text-align: center;
}

#footer a img{
	width:60px;
	margin-bottom:20px;
}

#footer a{
	font-size:1.2rem;
}

.credit{
	font-size:1rem;
	text-align: center;
	color:#000;
}

.footer a:link, .footer a:visited{
	text-decoration:none;
}

/*戻るボタン*/
#p-top{
	display:block;
    position: fixed;
	background-color:#fff;
    bottom: 5%;
    right: 3%;
	z-index:1000;
	padding:0.7% 1%;
	filter:alpha(opacity=70);
    -moz-opacity: 0.7;
    opacity: 0.7;
}

#p-top::after{
	content:'\f077';
	font-family:'FontAwesome';
	color:#604c3f;
	font-size:2.5rem;
}

#p-top:hover {
	filter:alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
	-webkit-transition: opacity 0.3s ease-out;
	-moz-transition: opacity 0.3s ease-out;
	-ms-transition: opacity 0.3s ease-out;
	transition: opacity 0.3s ease-out;
}

/*左と右を囲う全体のエリア*/
#wrapper{
  position: relative;/*position stickyの基点にするため relativeをかける*/
    display: flex;/*左エリア、右エリア横並び指定*/
  flex-wrap: wrap;/*ボックスの折り返し可*/
}

/*左エリア*/
#fixed-area{
  /*左固定記述*/
    position: -webkit-sticky;/*Safari用*/
    position: sticky;
  top:0;
  /*横半分50%　縦を100vhにする*/
  width: 30%;
  height: 100vh;
  /*装飾のためのCSS*/
  display: flex;
  justify-content: center;
  align-items: center;
  background:url("img/bg.jpg") no-repeat center;
  background-size:cover;
  color:#fff;
}

/*右エリア*/
#container{
  /*横半分50%にする*/
  width:70%;
}
/*右各セクション 装飾のためのCSS*/
section{
  /*min-height: 100vh;*/
  padding:30px;
}

section:nth-of-type(2n){
/*装飾のためのCSS*/
  background:#eee;
}

.fancy-flex-container{
	width:90%;
	margin:30px auto 50px;
	display: flex;
	align-content: flex-start;
	gap:30px 10px;
	flex-wrap: wrap;
}

.img-box{
	width:calc((100% - 10px * 2)/ 3);
}

.main-img{
	position:relative;
	z-index:1;
	margin-bottom:0;
}

.main-img a:hover{
	opacity:0.7;
	-webkit-transition: opacity 0.3s ease-out;
	-moz-transition: opacity 0.3s ease-out;
	-ms-transition: opacity 0.3s ease-out;
	transition: opacity 0.3s ease-out;
}

.detail-img{
	position:absolute;
	width:15%;
	height:15%;
	bottom:-15px;
	right:0;
}

.hidden{
	display:none;
}

.staff-name, .item-info h1{
	text-align: center;
	font-family: 'Roboto', sans-serif;
	color:#000;
	box-sizing: border-box;
	padding:5px;
}

.staff-name h1{
	font-weight:700;
	font-size:1.5rem;
}

.shopname{
	display:block;
	font-weight:700;
	font-style: italic;
	font-size:1rem;
}

.staff-name h3{
	font-weight:500;
	font-size:0.8rem;
	line-height:2.5;
	letter-spacing:2px;
}

.item-info h1{
	font-size:1.7rem;
	margin-bottom:20px;
}

.item-info{
	width:80%;
	margin:30px auto;
	box-sizing: border-box;
}

.item-flex{
	display:flex;
	align-items: center;
	justify-content: space-between;
	box-sizing: border-box;
}

.item-img{
	width:50%;
}

.item-spec{
	width:45%;
}

.item-info dl{
	line-height:2.5;
	letter-spacing:2px;
	display: flex;
	flex-wrap: wrap;
}

.item-info dt, .item-info dd{
	font-family: 'Roboto', sans-serif;
	color:#000;
	margin-bottom:5px;
}

.item-info dt{
	font-weight:700;
	font-size:1.2rem;
	width:25%;
}

.item-info dd{
	font-weight:400;
	font-size:1.2rem;
	width:75%;
}

.link-button{
	text-align: center;
	display:block;
	width:90%;
	padding:5px;
	background-color:#364f72;
	border-radius:15px;
	margin:30px auto;
	font-weight:bold;
	color:#fff;
	font-size:1.2rem;
	font-family: 'Roboto', sans-serif;
}

.link-button:hover{
	background-color:#4E709F;
	-webkit-transition:0.3s ease-out;
	-moz-transition:0.3s ease-out;
	-ms-transition:0.3s ease-out;
	transition:0.3s ease-out;
	color:#fff!important;
}


/*＝＝＝＝＝＝＝＝＝＝＝768px以下の見え方＝＝＝＝＝＝＝＝＝＝＝＝＝*/

@media screen and (max-width:768px){

	a{
		-webkit-tap-highlight-color:rgba(0,0,0,0);
		cursor:pointer;
	}

	#loading .kvArea .img_box{
		width:25%;
	}

	#wrapper{
	  display: block;/*display:flex;を解除*/
	  width:100%;
	}
	section{
	  min-height:auto;/*縦を100vh⇒解除*/
	}

	#fixed-area{
		position:relative!important;/*position stickyを解除*/
		width:100%;/*横幅を100%にして1列に見せる*/
		height: 100%;
		background:none;
	}
	
	.sp-top{
		display:block;
		width:100%;
	}
	
	.sp-top img{
		width:100%;
		height:auto;
		position: absolute;
		top:0;
		left:0;
		z-index:2;
	}

	#container{
	  width:100%;/*横幅を100%にして1列に見せる*/
	}
	
	.fancy-flex-container{
		width:90%;
		margin:750px auto 0;
		display: block;
		padding:0 0 20px;
	}
	
	.main-img a:hover, .main-img a:active{
		opacity:0.7;
		-webkit-transition: opacity 0.3s ease-out;
		-moz-transition: opacity 0.3s ease-out;
		-ms-transition: opacity 0.3s ease-out;
		transition: opacity 0.3s ease-out;
	}
	
	.img-box{
		width:100%;
		margin-bottom:40px;
	}
	
	.item-flex{
		display:block;
	}
	
	.item-img, .item-spec{
		width:100%;
	}

	.item-spec{
		margin-top:30px;
	}
	
	.item-info dt dd{
		text-align:left!important;
	}
	
	.item-info dt{
		width:35%;
	}

	.item-info dd{
		width:65%;
	}
	
	section:nth-of-type(2n){
		padding:30px 20px!important;
	}


	#p-top{
		padding:4% 4% 3%;
	}
	
	.big_button a{
		width:80%;
		text-align: center;
	}

	#footer{
		width:100%;
		padding:20px 0;
	}

}

/*スマホ用*/
@media screen and (max-width:640px){

	.pc{
		display:none;
	}

	.sp{
		display:block;
	}
}
/* CSS Document */

