@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap');


/* =====================
　　共通、既存カスタマイズ
===================== */

/*  sp_content
------------------------*/
.sp_content {
	font-family: "Yu Gothic", "游ゴシック体","Noto Sans", "Noto Sans JP",-apple-system, "ヒラギノ角ゴ ProN W3", BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", "Meiryo", sans-serif;
  font-feature-settings: "palt" 1;
  hanging-punctuation: allow-end;  /* Safari用ぶら下がり */
	line-break: strict; /* 厳格な禁則処理 */
  overflow-wrap: anywhere;
	color: #333;
  margin-bottom: 70px;
	text-align: center;
	font-weight: 400;
}

/*  テキスト、見出し
------------------------*/
.sp_content p,
.sp_content h1,
.sp_content h2,
.sp_content h3,
.sp_content h4 {
	margin: 0;
	padding: 0;
	text-align: center;	
	letter-spacing: .2em;
	line-height: 2;
}

.sp_content h1 {
	font-size: 18px;
	line-height: 2;
	margin-top: 30px;
	letter-spacing: .26em;
}

.sp_content h2 {
	font-size: 18px;
	line-height: 1.6;
}

.sp_content h3 {
	font-size: 15px;
	margin-top: 16px;
}

.sp_content h4 {
	font-size: 14px;
}

.sp_content p {
	font-size: 14px;
	margin-top: 18px;
	letter-spacing: .15em;
	font-feature-settings: "halt" 1;
}

.sp_content ul p {
	text-align: justify;
  text-justify: inter-ideograph;
	margin-top: 8px;
	font-size: 13px;
}

.sp_content p span.p_small {
	font-size: 11px;
	display: block;
	margin-top: 10px;
	line-height: 1.7;
}
.sp_content p.p_caution {
	font-size: 10px;
	color: #999;
}

/*  freearea
------------------------*/
.freearea {
	margin: 0;
}

/*  a
------------------------*/
.sp_content a {
	-webkit-tap-highlight-color: transparent; /* iOS用 */
	color: #333;	
	transition: color 0.3s ease;
	text-decoration: none;
}
.sp_content a:active {
	color: #999;
	text-decoration: none;
}
.sp_content a.a_underline {
	text-decoration: underline;
}

/* a  画像フェードインアウト
------------------------*/
.sp_content a:active img {
	opacity: 0.6;
}
.sp_content a img {
	transition: opacity 0.3s ease-out;
	backface-visibility: hidden;/* アニメーションを滑らかに */
}

/*  ul flexbox指定
------------------------*/
.sp_content ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
}

.sp_content > article > section ul {
 margin: 30px 5vw 0;
}

/*  section
------------------------*/
#contents .sp_content > article > section:nth-of-type(n+2),
#contents .sp_content > article > div.content_line_wrap {
	margin-top: 40px;
	padding-top: 10px;
}

.sp_content > article > section:nth-of-type(n+2)::before,
.sp_content > article > div.content_line_wrap::before {
  background: url("/sp/stamp/images/line_smp.jpg") repeat;
  content: "";
  display: block;
  width: 70%;
  height: 7px;
  background-size: contain;
  margin: 0 auto 30px;
  opacity: 0.6;
}

/*  スライドショー
------------------------*/
.sp_content .slide_show {
	margin: 0 auto;
	position: relative;
}
.sp_content .slide_show img {
	display: none;
	position: absolute;
	top: 0;
	left: 0;
}

/*  フェードインアニメーション
------------------------*/
.sp_content .sa {
	opacity: 0;
	transition: opacity 1.6s ease;
}
.sp_content .sa.show {
	opacity: 1;
	transform: none;
}

/*  閲覧履歴レコメンド非表示
------------------------*/
#fsrecommenddiv7 {
	display: none;
}


/*  もっと見るボタン
------------------------*/
.sp_content .more {
	position: relative;
	line-height: 4.2em;
	margin: 40px auto 20px;
	text-align: center;
}
.sp_content .more a {
	width: 70%;
	margin: 0 auto;
	display: block;
	border: 2px solid #eee;
	font-size: 13px;
	box-sizing: border-box;
	letter-spacing: .15em;
	border-radius: 6px;
	text-decoration: none;
	font-weight: bold;
}
.sp_content .more a:active {
	border: 2px solid #eee;
	background-color: #eee;
}

.sp_content .close {
	display: none;
	position: relative;
	text-align: center;
	line-height: 4.2em;
	margin: 40px auto 20px;
}
.sp_content .close a {
	width: 70%;
	margin: 0 auto;
	display: block;
	border: 2px solid #eee;
	font-size: 13px;
	box-sizing: border-box;
	letter-spacing: .15em;
	border-radius: 6px;
	text-decoration: none;
	font-weight: bold;
}

.sp_content .close a:active {
	border: 2px solid #eee;
	background-color: #eee;
}


/* =====================
　　メイン
===================== */

#sp_main .slide_show {
	height: 60vw;
}

.sp_content #sp_main p {
	margin-top: 20px;
	line-height: 2.3;
}

/* =====================
　　メニュー
===================== */
#sp_menu ul {
	justify-content: center;
	gap: 10px;
	/*margin: 0 15px;*/
}
#sp_menu li {
	width: 100px;
	padding: 10px 0;
	border: solid 2px #eee ;
	box-sizing: border-box;
	border-radius: 8px;
}
#sp_menu li a {
	font-size: 13px;
	font-weight: bold;
	letter-spacing: .2em;
	display: block;
}

/* =====================
　　ABOUT
===================== */
#sp_about li:nth-child(n+2) {
	margin-top: 34px;
}

/* ストアアイテム紹介 */
#sp_about a.lim_ink {
	display: flex;
	align-items: flex-start;
	gap: 20px;
	margin-top: 18px;
}
#sp_about a.lim_ink > img {
	flex: 0 0 82px;
	width: 82px;
}
#sp_about a.lim_ink > p {
	flex: 1; /* 残りの幅をすべて使う */
	font-size: 12px;
	margin-top: 0;
}
#sp_about a.lim_ink > p > span.p_caution {
	color: #999;
	font-size: 10px;
	display: block;
	margin-top: 5px;
}

/* =====================
　　LINEUP
===================== */

#sp_lineup h3 {
	margin-top: 10px;
	font-size: 14px;
}

#sp_lineup li {
	width: 47%;
	margin-right: 6%;
}
#sp_lineup li:nth-child(even) {
	margin-right: 0;
}
#sp_lineup li:nth-child(n+3) {
	margin-top: 30px;
}
#sp_lineup li a p {
	font-size: 11px;
	text-align: center;
	margin-top: 0;
}
#sp_lineup li a p span.brown {
 color: #8D5906;
}

#sp_lineup li > p {
	margin-top: 5px;
	font-size: 12px;
}

/* =====================
　　GALLERY
===================== */

/* my-gallery
------------------------*/
.my-gallery {
	margin: 30px 5vw 0;
}
.my-gallery figure {
	opacity: 1;
	transition: all 0.5s ease 0s;
	transition: all 0s ease 0s;
	margin: 0;
	float:left;
	width: 48%;
}
.my-gallery figure:nth-child(n+3) {
	margin-top: 15px;
}
.my-gallery figure:nth-child(2n) {
	margin-left: 4%;
}
/*
.my-gallery figure img {
	width: 100%;
	margin-bottom: 5px;
}
*/
.my-gallery figure.is-hidden-gallery {
	opacity: 0;
	height: 0;
	margin: 0;
	margin-bottom: 0px;
	cursor: none;
}


/* photoswipe
------------------------*/
.pswp--open {
    z-index: 4000!important;
}
.pswp__bg {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: #fff!important;
	opacity: 0.5;
	opacity: 0;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-backface-visibility: hidden;
	will-change: opacity;
}
.pswp__button.pswp__button--share {
	display:none!important;
}
.pswp__ui--fit .pswp__top-bar, .pswp__ui--fit .pswp__caption {
    background-color: #fff!important;
}
.pswp__ui--fit .pswp__top-bar, .pswp__ui--fit .pswp__caption {
	background-color: #fff!important;
}
.pswp__top-bar, .pswp__caption {
    background-color: #fff!important;
}
.pswp__caption__center {
	text-align: center!important;
	max-width: 900px!important;
}
.pswp__caption__center .caption_l {
	display: block;
	padding-bottom: 10px;
}
.pswp__button--arrow--left:before, .pswp__button--arrow--right:before {
	background-color: #fff!important;
}
.pswp__button--arrow--left:before, .pswp__button--arrow--right:before {
	content: '';
	top: 35px;
	background-color: rgba(0, 0, 0, 0.3);
	width: 41px!important;
	height: 37px!important;
	position: absolute;
}
.pswp__counter {
	color: #333!important;
}
.pswp__caption__center {
	color: #333!important;
}
.clearfix::after {
	content: "";
	display: block;
	clear: both;
}

/* =====================
  レコメンド
===================== */

#sp_recommend ul {
	margin: 30px 8vw 0;
}
#sp_recommend ul li {
	width: 100%;
	margin: 30px 0 0;
}
#sp_recommend ul li:first-child {
	margin-top: 0;
}
#sp_recommend a {
	display: flex;
}
#sp_recommend ul li img {
	width: 80px;
	height: 80px;
	object-fit: cover;
	margin-right: 20px;
}
#sp_recommend ul li p {
	display: inline-block;
	align-self: center;
	font-size: 13px;
	font-weight: bold;
	text-align: justify;
  text-justify: inter-ideograph;
	margin: 0;
}

/* =====================
　　Instagram
===================== */

/* インスタ紹介 */
.insta_info {
	text-align: center;
	margin-top: -10px;
	margin-bottom: -5px;
}

/* ボタン */
a.insta_info_btn {
	padding: 0.5em;
	margin: 24px auto 0 -15px;
	display: inline-block;
	font-weight: bold;
	font-size: 15px;
}
a.insta_info_btn:before {
	content: "";
	display: inline-block;
	width: 30px;
	height: 30px;
	margin: -3px 15px 0 0;
	background: url("/sp/stamp/images/Instagram_Glyph_Gradient.png") no-repeat;
	background-size: contain;
	vertical-align: middle;
}
.sp_content a.insta_info_btn:active {
	opacity: .5;
}

#sp_instagram > p {
	margin-top: 50px;
	font-size: 13px;
}
