@charset "UTF-8";

/* paddingを枠内で調整してくれる */
* {
	box-sizing: border-box;
}

/* clearfix */
.clearfix:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: ".";
  clear: both;
  height: 0;
}

img {
	width: 100%;
	vertical-align: top;
}

a {
	display: block;
	text-decoration: none;
}

/* ----- デバイズごとの改行 ----- */
.all_br {
	display: block;
}

.pc_br {
	display: inline;
}

@media print, screen and (min-width: 769px) {
	.pc_br {
		display: block;
	}
}

.pc_tablet_br {
	display: inline;
}

.sp_br {
	display: block;
}

@media print, screen and (min-width: 426px) {
	.pc_tablet_br {
		display: block;
	}
	.sp_br {
		display: inline;
	}
}

.sp_tablet_br {
	display: block;
}

@media print, screen and (min-width: 769px) {
	.sp_tablet_br {
		display: inline;
		padding: 0 0 0 1em;
	}
}

/* ----- デバイスごとの表示・非表示 ----- */
.sp {
	display: block;
}

.sp_tablet {
	display: block;
}

.pc_tablet {
	display: none;
}

.pc {
	display: none;
}

@media print, screen and (min-width: 426px) {
	.sp {
		display: none;
	}
	.pc_tablet {
		display: block;
	}
}

@media print, screen and (min-width: 769px) {
	.sp_tablet {
		display: none;
	}
	.pc {
		display: block;
	}
}
 
body {
	position: relative;
	margin: 0;
	color: #222;
	font-size: 1em;
	font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3','メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'Helvetica Neue', Helvetica, Arial, sans-serif;
	-webkit-text-size-adjust: 100%;
}

@media print {
	body {
		width: 1010px;
	}
}

.container {
	width: 100%;
	padding: 0;
}

section {
	width: 100%;
}



/* --------------------------------------------------------------------------------
   ヘッダー
-------------------------------------------------------------------------------- */
header {
	position: fixed;
	width: 100%;
	height: 50px;
	background: #fff;
	box-shadow: 0 4px 4px rgba(0, 0, 0, 0.2);
	z-index: 9999;
}

@media print, screen and (min-width: 769px) {
	header {
		height: 100px;
	}
	header.small {
		height: 66px;
	}
}

@media print {
	 header {
	 	position:  static;
		height: 70px;
	 	box-shadow: none;
	 }
}

@media print, screen and (min-width: 769px) {
	.header_wrap {
		max-width: 1010px;
		margin: 15px auto;
		padding: 0 15px;
	}
}

@media print {
	.header_wrap {
		width: 1010px;
	}
}

.header_box_wrap {
	position: relative;
}

@media print, screen and (min-width: 769px) {
	.header_box_wrap {
		display: flex;
		justify-content: space-between;
		align-items: center;
		height: 70px;
	}
}

@media print {
	.header_box_wrap {
		margin: 0;
	}
}

/* ----- ヘッダー／ロゴ ----- */
.header_box_wrap .header_logo {
	width: 174.05px;
	padding: 10px 15px;
}

@media print, screen and (min-width: 769px) {
	.header_box_wrap .header_logo {
		width: 288px;
		padding: 0;
	}
}

@media print {
	.header_box_wrap .header_logo {
		width: 200px;
	}
}

.header_box_wrap .header_logo a {
	transition: 0.5s;
}

.header_box_wrap .header_logo a:hover {
	opacity: 0.7;
}

/* ----- ヘッダー／オンラインショップボタン ----- */
.link_shop {
	position: absolute;
	top: 0;
	right: 50px;
}

@media print, screen and (min-width: 769px) {
	.link_shop {
		top: -15px;
		right: 15px;
	}
}

@media print {
	.link_shop {
		top: 0;
	}
}

.link_shop a {
	width: 50px;
	padding: 10px;
	color: #fff;
	font-size: 1.25em;
	font-family: serif;
	text-align: center;
	background: #996699;
	transition: background 0.5s;
}

@media print, screen and (min-width: 426px) {
	.link_shop a {
		width: 185px;
		padding: 14.5px 15px;
    display: flex;
	}
}

@media print, screen and (min-width: 769px) {
	.link_shop a {
		display: block;
		width: auto;
		padding: 10px 15px;
		font-size: 1em;
	}
}

.link_shop a span {
	display: none;
}

@media print, screen and (min-width: 426px) {
	.link_shop a span {
		display: inline;
		font-size: 0.7em;
	}
}

@media print, screen and (min-width: 769px) {
	.link_shop a span {
		font-size: 1em;
	}
}

.link_shop a:hover {
	background: #450e44;
}

/* ----- ヘッダー／グローバルナビ ----- */
.g_nav input {
	display: none;
}

.g_nav label {
	position: fixed;
	top: 0;
	right: 0;
	width: 50px;
	height: 50px;
}

.g_nav label::before {
	content: url(../images/menu_btn_open.png);
}

.g_nav input[type="checkbox"].on_off:checked ~ label::before {
	content: url(../images/menu_btn_close.png);
}

.g_nav input[type="checkbox"].on_off ~ ul {
	height: 0;
	overflow: hidden;
	transition: 0.5s;
}

.g_nav input[type="checkbox"].on_off:checked ~ ul {
	height: 100vh;
	overflow: scroll;
	margin: 0;
	padding: 0;
	background: rgba(0, 0, 0, 0.3);
}

.g_nav input[type="checkbox"].on_off ~ ul > li {
	width: 100%;
	border-bottom: 2px solid #fff;
}

.g_nav input[type="checkbox"].on_off ~ ul > li:last-child {
	border-bottom: none;
}

.g_nav input[type="checkbox"].on_off ~ ul > li > a {
	margin: 0;
	padding: 10px;
	color: #222;
	font-size: 0.9em;
	font-family: serif;
	text-align: center;
	background: #ece2ed;
	transition: 0.5s;
}

.g_nav input[type="checkbox"].on_off ~ ul > li ul {
	display: none;
}

@media screen and (min-width: 769px) {
	.g_nav input[type="checkbox"].on_off ~ ul > li > a {
		transition: 0.5s;
	}
	.g_nav input[type="checkbox"].on_off ~ ul > li ul {
		transition: 0.5s;
	}
	.g_nav input[type="checkbox"].on_off ~ ul > li ul li a {
		transition: 0.5s;
	}
}

@media print, screen and (min-width: 769px) {
	.g_nav {
		position: absolute;
    right: 15px;
    bottom: -5px;
		width: 610px;
	}
	.g_nav label {
		display: none;
	}
	.g_nav input[type="checkbox"].on_off ~ ul {
		display: flex;
		justify-content: space-between;
		width: 100%;
		height: auto;
		overflow: visible;
	}
	.g_nav input[type="checkbox"].on_off ~ ul > li {
		position: relative;
		width: auto;
		border-bottom: none;
	}
	.g_nav input[type="checkbox"].on_off ~ ul > li > a {
		padding: 0 0 3px 0;
		font-size: 0.95em;
		background: none;
		border-bottom: 3px solid #fff0;
	}
	.g_nav input[type="checkbox"].on_off ~ ul > li > a.on,
	.g_nav input[type="checkbox"].on_off ~ ul > li:hover > a {
		border-bottom: 3px solid #aa89bd;
	}
	.g_nav input[type="checkbox"].on_off ~ ul > li ul {
		position: absolute;
    width: 10em;
    top: 0;
		left: 50%;
		transform: translateX(-50%);
		display: block;
    visibility: hidden;
    opacity: 0;
		z-index: -1;
	}
	.g_nav input[type="checkbox"].on_off ~ ul > li:hover ul {
		top: 100%;
		padding: 10px 0 0;
    visibility: visible;
    opacity: 1;
	}
	.g_nav input[type="checkbox"].on_off ~ ul > li ul li a {
		padding: 8px;
		color: #222;
		font-size: 0.9em;
		font-family: serif;
		text-align: center;
		background: #fff;
		box-shadow: 0 4px 4px rgba(0, 0, 0, 0.2);
	}
	.g_nav input[type="checkbox"].on_off ~ ul > li ul li a:hover {
		background: #ece2ed;
	}
}

@media print {
	.g_nav {
		display: none;
	}
}



/* --------------------------------------------------------------------------------
   トップページ／下層ページ　共通
-------------------------------------------------------------------------------- */
.section_wrap {
	margin: 0 0 20px;
}

@media print, screen and (min-width: 769px) {
	.section_wrap {
		margin: 0 0 80px;
	}
}

.section_inner {
	padding: 20px 15px;
}

@media print, screen and (min-width: 769px) {
	.section_inner {
		max-width: 1010px;
    margin: 0 auto;
		padding: 40px 15px;
	}
}

.box_title {
	margin: 0 0 30px;
	text-align: center;
}

@media print, screen and (min-width: 426px) {
	.box_title {
		margin: 0 0 40px;
	}
}

@media print, screen and (min-width: 769px) {
	.box_title {
		margin: 0 0 60px;
	}
}

.box_title img {
	width: 60px;
	margin: 0 0 10px;
}

@media print, screen and (min-width: 769px) {
	.box_title img {
		width: 100px;
		margin: 0 0 25px;
	}
}

.h2_boxTit {
	font-size: 1.5em;
	font-family: serif;
	font-weight: normal;
}

.h2_boxTit span {
	display: block;
	font-size: 0.6em;
}

@media print, screen and (min-width: 769px) {
	.h2_boxTit {
		font-size: 1.9em;
	}
}

.link_purple {
	margin: 30px 0 0;
}

@media print, screen and (min-width: 426px) {
	.link_purple {
		display: flex;
		justify-content: center;
		margin: 40px 0 0;
	}
}

@media print, screen and (min-width: 769px) {
	.link_purple {
		margin: 60px 0 0;
	}
}

.link_purple li:not(:last-child) {
	margin: 0 0 20px 0;
}

@media print, screen and (min-width: 426px) {
	.link_purple li:not(:last-child) {
		margin: 0 30px 0 0;
	}
}

@media print, screen and (min-width: 769px) {
	.link_purple li:not(:last-child) {
		margin: 0 70px 0 0;
	}
}

.link_purple li a {
	padding: 10px;
	color: #450e44;
	font-size: 1em;
	text-align: center;
	font-family: serif;
	border: 1px solid #450e44;
	border-radius: 10px;
	transition: 0.5s;
}

@media print, screen and (min-width: 426px) {
	.link_purple li a {
		width: 16em;
		font-size: 1.1em;
	}
}

@media print, screen and (min-width: 769px) {
	.link_purple li a {
		width: 18.5em;
		font-size: 1.2em;
	}
}

.link_purple li a i.fa-chevron-right {
	padding: 0 0 0 1em;
}

.link_purple li a i.fa-shopping-cart,
.link_purple li a i.fa-fax {
	padding: 0 0.5em 0 0;
}

.link_purple li a:hover {
	color: #fff;
	background: #450e44;
}

.link_wh {
	margin: 30px 0 0;
}

@media print, screen and (min-width: 426px) {
	.link_wh {
		display: flex;
		justify-content: center;
		margin: 20px 0 0;
	}
}

@media print, screen and (min-width: 769px) {
	.link_wh {
		margin: 40px 0 0;
	}
}

.link_wh li:not(:last-child) {
	margin: 0 0 20px;
}

@media print, screen and (min-width: 426px) {
	.link_wh li:not(:last-child) {
		margin: 0 20px 0 0;
	}
}

@media print, screen and (min-width: 769px) {
	.link_wh li:not(:last-child) {
		margin: 0 30px 0 0;
	}
}

.link_wh li a {
	padding: 10px;
	color: #fff;
	font-size: 1em;
	text-align: center;
	font-family: serif;
	border: 1px solid #fff;
	border-radius: 10px;
	transition: 0.5s;
}

@media print, screen and (min-width: 426px) {
	.link_wh li a {
		width: 14em;
	}
}

@media print, screen and (min-width: 769px) {
	.link_wh li a {
		width: 15.5em;
		font-size: 1.1em;
	}
}

.link_wh li a i.fa-chevron-right {
	padding: 0 0 0 1em;
}

.link_wh li a i.fa-shopping-cart,
.link_wh li a i.fa-fax,
.link_wh li a i.fa-envelope {
	padding: 0 0.5em 0 0;
}

.link_wh li a:hover {
	color: #450e44;
	background: #fff;
}

.h3_tit {
	margin: 0 0 20px;
	padding: 0 0 3px;
	color: #450e44;
	font-size: 1.3em;
	font-weight: normal;
	font-family: serif;
	border-bottom: 2px solid #aa89bd;
}

@media print, screen and (min-width: 426px) {
	.h3_tit {
		font-size: 1.4em;
	}
}

@media print, screen and (min-width: 769px) {
	.h3_tit {
		margin: 0 0 30px;
		font-size: 1.7em;
	}
}

.h4_tit {
	margin: 0 0 15px;
	padding: 0 0 0 0.5em;
	color: #450e44;
	font-size: 1.1em;
	line-height: 1em;
	font-weight: normal;
	font-family: serif;
	border-left: 10px solid #aa89bd;
}

@media print, screen and (min-width: 426px) {
	.h4_tit {
		margin: 0 0 15px;
	}
}

@media print, screen and (min-width: 769px) {
	.h4_tit {
		margin: 0 0 20px;
		font-size: 1.3em;
	}
}

/* ----- オンラインショップガイド　ここから ----- */
.guide_wrap {
	text-align: center;
}

.guide_wrap h3 {
	margin: 0 0 20px;
	padding: 10px;
	color: #450e44;
	font-size: 1em;
	font-family: serif;
	font-weight: normal;
	line-height: 1.8;
	background: url(../images/bg_purple.png) repeat 0 0;
}

@media print, screen and (min-width: 426px) {
	.guide_wrap h3 {
		padding: 20px;
		font-size: 1.3em;
	}
}

@media print, screen and (min-width: 769px) {
	.guide_wrap h3 {
		margin: 0 0 40px;
		padding: 30px;
		font-size: 1.5em;
		line-height: 2;
	}
}

.guide_wrap h4 {
	display: inline-block;
	color: #450e44;
	font-size: 1.6em;
	font-family: serif;
	font-weight: normal;
	border-bottom: 2px solid #aa89bd;
}

@media print, screen and (min-width: 426px) {
	.guide_wrap h4 {
		font-size: 1.8em;
	}
}

@media print, screen and (min-width: 769px) {
	.guide_wrap h4 {
		font-size: 2.2em;
	}
}

.guide_wrap h4 span:not(.sp_br) {
	font-size: 0.8em;
}

.guide_wrap .tel {
	margin: 20px 0 0;
}

@media print, screen and (min-width: 769px) {
	.guide_wrap .tel {
		margin: 40px 0 0;
	}
}

.guide_wrap .tel dl {
	color: #450e44;
	font-family: serif;
	font-weight: normal;
}

.guide_wrap .tel dl dt {
	font-size: 1.2em;
}

@media print, screen and (min-width: 426px) {
	.guide_wrap .tel dl dt {
		font-size: 1.3em;
	}
}

@media print, screen and (min-width: 769px) {
	.guide_wrap .tel dl dt {
		font-size: 1.5em;
	}
}

.guide_wrap .tel dl dd a {
	display: flex;
	justify-content: center;
	align-items: center;
	color: #450e44;
	font-size: 1.7em;
}

@media print, screen and (min-width: 426px) {
	.guide_wrap .tel dl dd a {
		font-size: 2.4em;
	}
}

@media print, screen and (min-width: 769px) {
	.guide_wrap .tel dl dd a {
		font-size: 2.8em;
		pointer-events: none;
	}
}

.guide_wrap .tel dl dd a i {
	padding: 0 0.5em 0 0;
	font-size: 0.8em;
}

.guide_wrap .tel dl dd a i.fa-fax {
	padding: 0 0.5em;
}

.guide_wrap .tel p {
	margin: 5px 0 0;
	color: #450e44;
	font-size: 0.9em;
	font-family: serif;
	font-weight: normal;
}

@media print, screen and (min-width: 426px) {
	.guide_wrap .tel p {
		font-size: 1.1em;
	}
}

@media print, screen and (min-width: 769px) {
	.guide_wrap .tel p {
		margin: 10px 0 0;
		font-size: 1.2em;
	}
}
/* ----- オンラインショップガイド　ここまで ----- */

/* ----- SNSシェアボタン　ここから ----- */
.share_button {
	margin: 40px 0 0;
}

@media print, screen and (min-width: 769px) {
	.share_button {
		margin: 80px 0 0;
	}
}

@media print {
	.share_button {
		display: none;
	}
}

.sns_share {
	display: flex;
	justify-content: flex-end;
}

.sns_share li {
	height: 28px;
}

.sns_share li:first-child {
	width: 112px;
}

/*
.sns_share li:first-child iframe {
	width: 112px !important;
}
*/

.sns_share li:not(:last-child) {
	margin: 0 40px 0 0;
}
/* ----- SNSシェアボタン　ここまで ----- */

/* ----- プリント時の改ページ　ここから ----- */
@media print {
	.newpage {
		padding: 15px 0 0;
		page-break-before: always;
	}
}
/* ----- プリント時の改ページ　ここまで ----- */



/* --------------------------------------------------------------------------------
   .top_main_wrap　トップページ／スライドショー
-------------------------------------------------------------------------------- */
.top_main_wrap {
	margin: 0 0 6px;
	padding: 50px 0 24px;
}

@media print, screen and (min-width: 769px) {
	.top_main_wrap {
		margin: 0 0 16px;
		padding: 100px 0 24px;
	}
}

@media print {
	.top_main_wrap {
		padding: 0;
	}
	.top_main_wrap img {
		width: 1010px;
		height: auto;
	}
	#top_main {
		width: 1010px;
		height: auto;
	}
}

#top_main {
	position: relative;
}

#top_main .top_slider .img {
	display: block !important;
}

#top_main .top_copy {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 100%;
	padding: 0 15px;
	color: #fff;
	font-family: serif;
	text-shadow: 0 0 5px #000, 0 0 10px #000, 0 0 15px #000;
}

@media print, screen and (min-width: 769px) {
	#top_main .top_copy {
		max-width: 1010px;
	}
}

#top_main .top_copy h3 {
	font-size: 0.9em;
	font-weight: normal;
}

@media print, screen and (min-width: 426px) {
	#top_main .top_copy h3 {
		font-size: 1.6em;
	}
}

@media print, screen and (min-width: 769px) {
	#top_main .top_copy h3 {
		font-size: 2em;
	}
}

#top_main .top_copy h2 {
	margin: 0 0 5px;
	font-size: 1.1em;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}

@media print, screen and (min-width: 426px) {
	#top_main .top_copy h2 {
		font-size: 2.1em;
	}
}

@media print, screen and (min-width: 769px) {
	#top_main .top_copy h2 {
		font-size: 2.6em;
	}
}

#top_main .top_copy p {
	font-size: 0.8em;
}

@media print, screen and (min-width: 426px) {
	#top_main .top_copy p {
		font-size: 1.15em;
	}
}

@media print, screen and (min-width: 769px) {
	#top_main .top_copy p {
		font-size: 1.45em;
	}
}

/* ----- slick用　ここから ----- */
.slick-dotted.slick-slider {
	margin-bottom: 0;
}

.slick-dots {
	position: absolute;
	bottom: -24px;
	display: block;
	width: 100%;
	padding: 0;
	margin: 0;
	list-style: none;
	text-align: center;
}

.slick-dots li {
	position: relative;
	display: inline-block;
	margin: 0 10px;
	padding: 0;
	width: 10px;
	height: 10px;
	cursor: pointer;
}

.slick-dots li button {
	font-size: 0;
	line-height: 0;
	display: block;
	width: 10px;
	height: 10px;
	padding: 5px;
	cursor: pointer;
	color: transparent;
	border: 0;
	outline: none;
	background: #ccc;
	border-radius: 50%;
}

.slick-dots li button:hover {
	background: #ba9934;
}

.slick-dots li.slick-active button {
	background: #ba9934;
}

.slick-loading .slick-list {
    background: #fff url(../images/ajax-loader.gif) center center no-repeat;
}
/* ----- slick用　ここまで ----- */



/* --------------------------------------------------------------------------------
   #top_news　トップページ／お知らせ
-------------------------------------------------------------------------------- */
.top_news_wrap {
	margin: 0 0 20px;
	background: url(../images/ryusuimon_left_w600.png) no-repeat 0 0;
	background-size: 320px;
}

@media print, screen and (min-width: 426px) {
	.top_news_wrap {
		min-height: 500px;
		margin: 0 0 40px;
		background: url(../images/ryusuimon_left_w600.png) no-repeat 0 0;
		background-size: 500px;
	}
}

@media print, screen and (min-width: 769px) {
	.top_news_wrap {
		min-height: 600px;
		margin: 0 0 40px;
		background: url(../images/ryusuimon_left_w600.png) no-repeat 0 0;
		background-size: 600px;
	}
}

@media print, screen and (min-width: 426px) {
	#top_news .box_wrap {
		display: flex;
		justify-content: space-between;
	}
}

@media print, screen and (min-width: 426px) {
	#top_news .box_wrap .news_box {
		width: 80%;
	}
}

@media print, screen and (min-width: 769px) {
	#top_news .box_wrap .news_box {
		width: 700px;
	}
}

#top_news .box_wrap .news_box .box:not(:last-child) {
	margin: 0 0 30px;	
}

@media print, screen and (min-width: 769px) {
	#top_news .box_wrap .news_box .box:not(:last-child) {
		margin: 0 0 60px;	
	}
}

#top_news .box_wrap .news_box .box .cate_date {
	display: flex;
	align-items: center;
	margin: 0 0 10px;
	font-size: 0.85em;
	font-family: serif;
}

@media print, screen and (min-width: 769px) {
	#top_news .box_wrap .news_box .box .cate_date {
		margin: 0 0 20px;
		font-size: 0.95em;
	}
}

#top_news .box_wrap .news_box .box .cate_date .cate {
	width: 8.5em;
	margin: 0 1em 0 0;
	padding: 4px;
	color: #fff;
	text-align: center;
}

#top_news .box_wrap .news_box .box .cate_date .cate.cate_01 {
	background: #a6937c;
}

#top_news .box_wrap .news_box .box .cate_date .cate.cate_02 {
	background: #b7aa00;
}

#top_news .box_wrap .news_box .box .cate_date .cate.cate_03 {
	background: #95b393;
}

#top_news .box_wrap .news_box .box dl.news_txt dt {
	margin: 0 0 10px;
	font-size: 1em;
	font-weight: bold;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	border-bottom: 2px solid #aa89bd;
}

@media print, screen and (min-width: 769px) {
	#top_news .box_wrap .news_box .box dl.news_txt dt {
		margin: 0 0 20px;
		font-size: 1.1em;
	}
}

#top_news .box_wrap .news_box .box dl.news_txt dd {
	font-size: 0.85em;
	line-height: 1.8;
}

#top_news .box_wrap .news_box .box dl.news_txt dd a {
	display: inline-block;
	color: #996699;
	text-decoration: underline;
}

#top_news .box_wrap .news_box .box dl.news_txt dd a:hover {
	text-decoration: none;
}

@media print, screen and (min-width: 769px) {
	#top_news .box_wrap .news_box .box dl.news_txt dd {
		font-size: 0.9em;
		line-height: 2;
	}
}



/* --------------------------------------------------------------------------------
   #top_aboutUs　トップページ／青木玉初堂について
-------------------------------------------------------------------------------- */
.top_aboutUs_wrap {
	width: 100%;
	background: url(../images/top_aboutUs_img.jpg) no-repeat 100% center;
	background-size: cover;
}

@media print, screen and (min-width: 769px) {
	.top_aboutUs_wrap {
		background: url(../images/top_aboutUs_img.jpg) no-repeat center center;
		background-size: cover;
	}
}

#top_aboutUs {
	padding: 40px 15px;
	color: #fff;
	font-family: serif;
	text-align: center;
}

@media print, screen and (min-width: 769px) {
	#top_aboutUs {
		padding: 85px 15px;
	}
}

#top_aboutUs h2 {
	margin: 0 0 20px;
	font-size: 1.3em;
	font-weight: normal;
	line-height: 1.5;
}

@media print, screen and (min-width: 426px) {
	#top_aboutUs h2 {
		font-size: 1.6em;
	}
}

@media print, screen and (min-width: 769px) {
	#top_aboutUs h2 {
		margin: 0 0 25px;
		font-size: 2.2em;
		line-height: 1.8;
	}
}

#top_aboutUs h2 span {
	display: block;
}

@media print, screen and (min-width: 426px) {
	#top_aboutUs h2 span {
		display: inline;
		padding: 0 0 0 0.5em;
	}
}

#top_aboutUs h3 {
	font-size: 1em;
	font-weight: normal;
}

@media print, screen and (min-width: 769px) {
	#top_aboutUs h3 {
		font-size: 1.2em;
	}
}

#top_aboutUs h3 span {
	display: block;
}

@media print, screen and (min-width: 426px) {
	#top_aboutUs h3 span {
		display: inline;
	}
}



/* --------------------------------------------------------------------------------
   #top_greetings　トップページ／ごあいさつ
-------------------------------------------------------------------------------- */
.top_greetings_wrap {
	background: url(../images/ryusuimon_right_w600.png) no-repeat 100% 100%;
	background-size: 320px;
}

@media print, screen and (min-width: 426px) {
	.top_greetings_wrap {
		background: url(../images/ryusuimon_right_w600.png) no-repeat 100% 100%;
		background-size: 500px;
	}
}

@media print, screen and (min-width: 769px) {
	.top_greetings_wrap {
		background: url(../images/ryusuimon_right_w600.png) no-repeat 100% 100%;
		background-size: 600px;
	}
}

#top_greetings .box_wrap .img {
	width: 60%;
	margin: 0 auto 30px;
}

@media print, screen and (min-width: 426px) {
	#top_greetings .box_wrap {
		display: flex;
		justify-content: space-between;
	}
	#top_greetings .box_wrap .img {
		width: 26%;
		margin: 0;
	}
	#top_greetings .box_wrap .txt {
		width: 67%;
	}
}

#top_greetings .box_wrap .txt p {
	font-size: 0.9em;
	line-height: 1.8;
}

@media print, screen and (min-width: 769px) {
	#top_greetings .box_wrap .txt p {
		font-size: 0.95em;
		line-height: 2.2;
	}
}

#top_greetings .box_wrap .txt p:not(:last-child) {
	margin: 0 0 20px;
}

@media print, screen and (min-width: 769px) {
	#top_greetings .box_wrap .txt p:not(:last-child) {
		margin: 0 0 40px;
	}
}



/* --------------------------------------------------------------------------------
   #top_recommend　トップページ／取り扱い商品
-------------------------------------------------------------------------------- */
.top_items_wrap {
	margin: 0 0 20px;
	background: url(../images/ryusuimon_left_w600.png) no-repeat 0 100%;
	background-size: 320px;
}

@media print, screen and (min-width: 426px) {
	.top_items_wrap {
		margin: 0 0 40px;
		background: url(../images/ryusuimon_left_w600.png) no-repeat 0 100%;
		background-size: 500px;
	}
}

@media print, screen and (min-width: 769px) {
	.top_items_wrap {
		margin: 0 0 40px;
		background: url(../images/ryusuimon_left_w600.png) no-repeat 0 100%;
		background-size: 600px;
	}
}

#top_items .box_wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 0 20px;
}

@media print, screen and (min-width: 769px) {
	#top_items .box_wrap {
		margin: 0 0 120px;
	}
}

#top_items .box_wrap .box {
	width: 47%;
	margin: 0 0 40px;
}

@media print, screen and (min-width: 426px) {
	#top_items .box_wrap .box {
		width: 28%;
	}
}

@media print, screen and (min-width: 426px) {
	#top_items .box_wrap .box:nth-of-type(1),
	#top_items .box_wrap .box:nth-of-type(2),
	#top_items .box_wrap .box:nth-of-type(3) {
		margin: 0 0 80px;
	}
}

#top_items .box_wrap .box .img {
	transition: 0.5s;
}

#top_items .box_wrap .box .txt {
	margin: 15px 0 0;
}

@media print, screen and (min-width: 769px) {
	#top_items .box_wrap .box .txt {
		margin: 25px 0 0;
	}
}

#top_items .box_wrap .box .txt dl {
	transition: 0.5s;
}

#top_items .box_wrap .box .txt dl dt {
	margin: 0 0 10px;
	padding: 0 0 5px;
	color: #450e44;
	font-size: 1em;
	text-align: center;
	font-family: serif;
	border-bottom: 1px solid #aa89bd;
}

@media print, screen and (min-width: 426px) {
	#top_items .box_wrap .box .txt dl dt {
		font-size: 1.2em;
	}
}

@media print, screen and (min-width: 769px) {
	#top_items .box_wrap .box .txt dl dt {
		margin: 0 0 25px;
		font-size: 1.5em;
	}
}

#top_items .box_wrap .box .txt dl dd {
	color: #222;
	font-size: 0.8em;
	line-height: 1.8;
}

@media print, screen and (min-width: 426px) {
	#top_items .box_wrap .box .txt dl dd {
		font-size: 0.85em;
	}
}

@media print, screen and (min-width: 769px) {
	#top_items .box_wrap .box .txt dl dd {
		font-size: 0.9em;
		line-height: 2;
	}
}

#top_items .box_wrap .box a:hover .img,
#top_items .box_wrap .box a:hover .txt dl {
	opacity: 0.6;
}

#top_items .box_wrap .box .txt p {
	margin: 10px 0 0;
	padding: 10px;
	color: #450e44;
	font-size: 0.9em;
	text-align: center;
	font-family: serif;
	background: #ece2ed;
	transition: 0.5s;
}

@media print, screen and (min-width: 769px) {
	#top_items .box_wrap .box .txt p {
		display: inline-block;
		margin: 20px 0 0;
		padding: 8px 12px;
		text-align: left;
		float: right;
	}
}

#top_items .box_wrap .box .txt p i {
	padding: 0 0 0 0.5em;
}

#top_items .box_wrap .box a:hover .txt p {
	color: #fff;
	background: #450e44;
}



/* --------------------------------------------------------------------------------
   下層ページ　【青木玉初堂について】
-------------------------------------------------------------------------------- */
.about_wrap,
.products_wrap,
.delivery_wrap,
.inquiry_wrap,
.privacy_wrap {
	margin: 0 0 20px;
	padding: 50px 0 0;
	background: url(../images/ryusuimon_left_w600.png) no-repeat 0 120px,url(../images/ryusuimon_right_w600.png) no-repeat 100% 100%;
	background-size: 320px;
}

@media print, screen and (min-width: 426px) {
	.about_wrap,
	.products_wrap,
	.delivery_wrap,
	.inquiry_wrap,
	.privacy_wrap {
		margin: 0 0 40px;
		background: url(../images/ryusuimon_left_w600.png) no-repeat 0 150px,url(../images/ryusuimon_right_w600.png) no-repeat 100% 100%;
		background-size: 500px;
	}
}

@media print, screen and (min-width: 769px) {
	.about_wrap,
	.products_wrap,
	.delivery_wrap,
	.inquiry_wrap,
	.privacy_wrap {
		margin: 0 0 40px;
		padding: 100px 0 0;
		background: url(../images/ryusuimon_left_w600.png) no-repeat 0 300px,url(../images/ryusuimon_right_w600.png) no-repeat 100% 100%;
		background-size: 600px;
	}
}

@media print {
	.about_wrap,
	.products_wrap,
	.delivery_wrap,
	.inquiry_wrap,
	.privacy_wrap {
		padding: 0;
		background: url(../images/ryusuimon_left_w600.png) no-repeat 0 200px,url(../images/ryusuimon_right_w600.png) no-repeat 100% 100%;
	}
}

.about_wrap .pagetop_img {
	height: 70px;
	background: url(../images/about_pagetop_img.jpg) no-repeat center center;
	background-size: cover;
}

@media print, screen and (min-width: 426px) {
	.about_wrap .pagetop_img {
		height: 100px;
		background: url(../images/about_pagetop_img.jpg) no-repeat center center;
		background-size: cover;
	}
}

@media print, screen and (min-width: 769px) {
	.about_wrap .pagetop_img {
		height: 200px;
		background: url(../images/about_pagetop_img.jpg) no-repeat center center;
		background-size: cover;
	}
}

#about .box_wrap:not(:nth-of-type(4)) {
	margin: 0 0 50px;
}

#about .box_wrap:nth-of-type(3) {
	margin: 0 0 74px;
}

@media print, screen and (min-width: 426px) {
	#about .box_wrap:not(:nth-of-type(4)) {
		margin: 0 0 70px;
	}
	#about .box_wrap:nth-of-type(3) {
		margin: 0 0 94px;
	}
}

@media print, screen and (min-width: 769px) {
	#about .box_wrap:not(:nth-of-type(4)) {
		margin: 0 0 120px;
	}
	#about .box_wrap:nth-of-type(3) {
		margin: 0 0 144px;
	}
}

#about .box_wrap .main_box .txt {
	margin: 0 0 30px;
}

@media print, screen and (min-width: 426px) {
	#about .box_wrap .main_box {
		display: flex;
		justify-content: space-between;
	}
	#about .box_wrap .main_box .txt {
		width: 70%;
		margin: 0;
	}
	#about .box_wrap .main_box .img {
		width: 25%;
	}
}

#about .box_wrap .main_box .txt h3 {
	margin: 0 0 20px;
	color: #450e44;
	font-size: 1.25em;
	font-family: serif;
	font-weight: normal;
}

@media print, screen and (min-width: 426px) {
	#about .box_wrap .main_box .txt h3 {
		font-size: 1.6em;
	}
}

@media print, screen and (min-width: 769px) {
	#about .box_wrap .main_box .txt h3 {
		font-size: 2.1em;
	}
}

#about .box_wrap .main_box .txt h4 {
	margin: 0 0 30px;
	color: #aa89bd;
	font-size: 1.1em;
	font-family: serif;
	font-weight: normal;
}

@media print, screen and (min-width: 426px) {
	#about .box_wrap .main_box .txt h4 {
		margin: 0 0 40px;
		font-size: 1.2em;
	}
}

@media print, screen and (min-width: 769px) {
	#about .box_wrap .main_box .txt h4 {
		font-size: 1.4em;
	}
}

#about .box_wrap .main_box .txt p {
	font-size: 0.9em;
	line-height: 1.8;
}

#about .box_wrap .main_box .txt p:not(:last-child) {
	margin: 0 0 20px;
}

@media print, screen and (min-width: 769px) {
	#about .box_wrap .main_box .txt p {
		font-size: 0.95em;
		line-height: 2.2;
	}
}

/* ----------------------------------------
   青木玉初堂について　＞　お店のご紹介
---------------------------------------- */
#about .about_shop_slider {
	position: relative;
}

#about .about_shop_slider::before {
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	width: 10%;
	height: 100%;
	background: #fff8;
	z-index: 2;
}

#about .about_shop_slider::after {
	position: absolute;
	content: "";
	top: 0;
	right: 0;
	width: 10%;
	height: 100%;
	background: #fff8;
	z-index: 2;
}

#about .about_shop_slider .slide {
	display: block !important;
}

#about .about_shop_slider .prev,
#about .about_shop_slider .next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 3;
	padding: 8px 13px;
	color: #fff;
	font-size: 0.8em;
	background: #450e44;
	cursor: pointer;
	transition: 0.5s;
}

@media print, screen and (min-width: 426px) {
	#about .about_shop_slider .prev,
	#about .about_shop_slider .next {
		padding: 10px 15px;
	}
}

#about .about_shop_slider .prev {
	left: 0;
}

#about .about_shop_slider .next {
	right: 0;
}

#about .about_shop_slider .prev:hover,
#about .about_shop_slider .next:hover {
	background: #9A6699;
}

/* ----------------------------------------
   青木玉初堂について　＞　アクセスマップ
---------------------------------------- */
#about .info_wrap {
	margin: 40px 0 0;
	padding: 20px;
	background: url(../images/bg_purple.png) repeat 0 0;
}

@media print, screen and (min-width: 769px) {
	#about .info_wrap {
		padding: 30px;
	}
}

#about .info_wrap .info {
	margin: 0 0 30px;
	padding: 0 0 30px;
	text-align: center;
	border-bottom: 1px solid #aa89bd;
}

@media print, screen and (min-width: 426px) {
	#about .info_wrap .info {
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
		text-align: left;
	}
}

#about .info_wrap .info .txt {
	margin: 0 0 20px;
}

@media print, screen and (min-width: 426px) {
	#about .info_wrap .info .txt {
		margin: 0;
	}
}

#about .info_wrap .info .txt img {
	width: 230px;
	margin: 0 0 10px;
}

#about .info_wrap .info .txt p {
	font-size: 0.9em;
	line-height: 2;
}

#about .info_wrap .info .txt p a {
	display: inline;
	color: #222;
}

@media print, screen and (min-width: 769px) {
	#about .info_wrap .info .txt p a {
		pointer-events: none;
	}
}

#about .info_wrap .info .link_map a {
	padding: 10px 30px;
	color: #450e44;
	font-size: 1em;
	text-align: center;
	font-family: serif;
	background: #fff;
	border: 1px solid #450e44;
	border-radius: 10px;
	transition: 0.5s;
}

#about .info_wrap .info .link_map a:hover {
	color: #fff;
	background: #450e44;
}

@media print, screen and (min-width: 426px) {
	#about .info_wrap .access {
		display: flex;
		justify-content: space-between;
	}
}

#about .info_wrap .access dl {
	padding: 20px;
	background: #fff7;
	border-radius: 10px;
}

@media print, screen and (min-width: 426px) {
	#about .info_wrap .access dl {
		width: 32%;
	}
}

#about .info_wrap .access dl:not(:last-child) {
	margin: 0 0 20px;
}

@media print, screen and (min-width: 426px) {
	#about .info_wrap .access dl:not(:last-child) {
		margin: 0;
	}
}

#about .info_wrap .access dl dt {
	margin: 0 0 15px;
	padding: 0 0 0 0.5em;
	color: #450e44;
	font-size: 1.1em;
	line-height: 1em;
	font-weight: normal;
	font-family: serif;
	border-left: 10px solid #aa89bd;
}

@media print, screen and (min-width: 426px) {
	#about .info_wrap .access dl dt {
		margin: 0 0 15px;
	}
}

@media print, screen and (min-width: 769px) {
	#about .info_wrap .access dl dt {
		margin: 0 0 20px;
		font-size: 1.3em;
	}
}

#about .info_wrap .access dl dd {
	font-size: 0.9em;
	line-height: 2;
}



/* --------------------------------------------------------------------------------
   下層ページ　【取り扱い商品】
-------------------------------------------------------------------------------- */
.products_wrap .pagetop_img {
	height: 70px;
	background: url(../images/products_pagetop_img.jpg) no-repeat center center;
	background-size: cover;
}

@media print, screen and (min-width: 426px) {
	.products_wrap .pagetop_img {
		height: 100px;
		background: url(../images/products_pagetop_img.jpg) no-repeat center center;
		background-size: cover;
	}
}

@media print, screen and (min-width: 769px) {
	.products_wrap .pagetop_img {
		height: 200px;
		background: url(../images/products_pagetop_img.jpg) no-repeat center center;
		background-size: cover;
	}
}

.products_menu {
	margin: 0 0 50px;
}

.products_menu ul li:not(:last-child) {
	margin: 0 0 10px;
}

@media print, screen and (min-width: 426px) {
	.products_menu ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.products_menu ul li {
		width: 32%;
		margin: 0 0 20px;
	}
}

.products_menu ul li a {
	position: relative;
	display: flex;
	align-items: center;
	padding: 10px;
	color: #450e44;
	font-size: 1em;
	font-family: serif;
	border: 1px solid #ccc;
	border-radius: 10px;
	transition: 0.5s;
}

@media print, screen and (min-width: 769px) {
	.products_menu ul li a {
		font-size: 1.2em;
	}
}

.products_menu ul li a::after {
	position: absolute;
	right: 15px;
	content: "\f078";
	color: #aa89bd;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
}

.products_menu ul li a img {
	width: 20%;
	margin: 0 1em 0 0;
}

@media print, screen and (min-width: 426px) {
	.products_menu ul li a img {
		margin: 0 0.5em 0 0;
	}
}

@media print, screen and (min-width: 769px) {
	.products_menu ul li a img {
		width: 30%;
	}
}

.products_menu ul li a:hover {
	background: rgb(170 137 189 / 20%);
}

#products .box_wrap {
	padding: 30px 0 0;
	border-top: 1px solid #aa89bd;
}

#products .box_wrap:not(.last) {
	padding: 30px 0;
}

@media print, screen and (min-width: 426px) {
	#products .box_wrap {
		padding: 40px 0 0;
	}
	#products .box_wrap:not(.last) {
		padding: 40px 0;
	}
}

@media print, screen and (min-width: 769px) {
	#products .box_wrap {
		padding: 60px 0 0;
	}
	#products .box_wrap:not(.last) {
		padding: 60px 0;
	}
}

#products .box_wrap .main_box h3 {
	margin: 0 0 20px;
	padding: 10px 15px;
	color: #450e44;
	font-size: 1.2em;
	font-weight: normal;
	font-family: serif;
	background: url(../images/bg_purple.png) repeat 0 0;
	border-left: 10px solid #aa89bd;
}

@media print, screen and (min-width: 426px) {
	#products .box_wrap .main_box h3 {
		margin: 0 0 30px;
		padding: 10px 20px;
		font-size: 1.6em;
	}
}

@media print, screen and (min-width: 769px) {
	#products .box_wrap .main_box h3 {
		font-size: 2.2em;
	}
}

#products .box_wrap .main_box h4 {
	margin: 0 0 20px;
	padding: 0 0 0 15px;
	color: #450e44;
	font-size: 1em;
	font-weight: normal;
	font-family: serif;
	line-height: 2;
	border-left: 10px solid #ece2ed;
}

@media print, screen and (min-width: 426px) {
	#products .box_wrap .main_box h4 {
		margin: 0 0 30px;
		padding: 0 0 0 20px;
		font-size: 1.2em;
	}
}

@media print, screen and (min-width: 769px) {
	#products .box_wrap .main_box h4 {
		font-size: 1.7em;
	}
}

#products .box_wrap .main_box h5 {
	padding: 0;
	color: #aa89bd;
	font-size: 1em;
	font-weight: normal;
	font-family: serif;
	line-height: 2;
}

@media print, screen and (min-width: 426px) {
	#products .box_wrap .main_box h5 {
		padding: 0 0 0 30px;
		font-size: 1.1em;
	}
}

@media print, screen and (min-width: 769px) {
	#products .box_wrap .main_box h5 {
		font-size: 1.4em;
	}
}

#products .box_wrap .main_box .inner {
	margin: 20px 0 0;
}

@media print, screen and (min-width: 426px) {
	#products .box_wrap .main_box .inner {
		display: flex;
		justify-content: space-between;
		margin: 30px 0 0;
	}
}

#products .box_wrap .main_box .inner .txt {
	position: relative;
	padding: 0;
}

@media print, screen and (min-width: 426px) {
	#products .box_wrap .main_box .inner .txt {
		width: 60%;
		padding: 0 0 0 30px;
	}
}

#products .box_wrap .main_box .inner .txt::after {
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: -1;
	content: url(../images/ryusuimon_murasaki_w300.png);
	opacity: 0.6;
}

@media print, screen and (min-width: 426px) {
	#products .box_wrap .main_box .inner .txt::after {
		top: -50px;
		right: -50%;
		bottom: auto;
	}
}

@media print, screen and (min-width: 426px) {
	#products .box_wrap .main_box .inner .txt::after {
		top: -35px;
		right: -250px;
		content: url(../images/ryusuimon_murasaki_w600.png);
	}
}

@media print, screen and (min-width: 769px) {
	#products .box_wrap .main_box .inner .txt::after {
		top: 0;
	}
}

#products .box_wrap .main_box .inner .txt p {
	font-size: 0.9em;
	line-height: 2;
}

#products .box_wrap .main_box .inner .txt p:not(:last-child) {
	margin: 0 0 15px;
}

@media print, screen and (min-width: 426px) {
	#products .box_wrap .main_box .inner .txt p:not(:last-child) {
		margin: 0 0 20px;
	}
}

#products .box_wrap .main_box .inner .img {
	width: 70%;
	margin: 20px auto 0;
}

@media print, screen and (min-width: 426px) {
	#products .box_wrap .main_box .inner .img {
		width: 35%;
		margin: 0;
	}
}

#products .box_wrap .sub_box {
	margin: 30px 0 0;
	padding: 30px 0 0;
	border-top: 1px dotted #aa89bd;
}

#products .box_wrap .sub_box dl {
	width: 90%;
	margin: 0 auto;
}

#products .box_wrap .sub_box dl:not(:last-child) {
	margin: 0 auto 30px;
}

@media print, screen and (min-width: 426px) {
	#products .box_wrap .sub_box {
		display: flex;
		justify-content: space-between;
		margin: 40px 0 0;
		padding: 40px 0 0;
	}
	#products .box_wrap .sub_box dl {
		width: 30%;
		margin: 0;
	}
	#products .box_wrap .sub_box dl:not(:last-child) {
		margin: 0;
	}
}

@media print, screen and (min-width: 769px) {
	#products .box_wrap .sub_box dl {
		width: 28%;
	}
}

#products .box_wrap .sub_box dl dt {
	margin: 0 0 10px;
	padding: 0 0 0 0.5em;
	color: #450e44;
	font-size: 1.1em;
	line-height: 1em;
	font-weight: normal;
	font-family: serif;
	border-left: 10px solid #aa89bd;
}

@media print, screen and (min-width: 426px) {
	#products .box_wrap .sub_box dl dt {
		margin: 0 0 15px;
	}
}

@media print, screen and (min-width: 769px) {
	#products .box_wrap .sub_box dl dt {
		font-size: 1.2em;
	}
}

#products .box_wrap .sub_box dl dd.img img {
	border-radius: 10px;
}

#products .box_wrap .sub_box dl dd.txt {
	margin: 10px 0 0;
	font-size: 0.9em;
	line-height: 1.8;
}

@media print, screen and (min-width: 426px) {
	#products .box_wrap .sub_box dl dd.txt {
		margin: 15px 0 0;
	}
}



/* --------------------------------------------------------------------------------
   下層ページ　【ご注文・配送について】
-------------------------------------------------------------------------------- */
.delivery_wrap .pagetop_img {
	height: 70px;
	background: url(../images/delivery_pagetop_img.jpg) no-repeat center center;
	background-size: cover;
}

@media print, screen and (min-width: 426px) {
	.delivery_wrap .pagetop_img {
		height: 100px;
		background: url(../images/delivery_pagetop_img.jpg) no-repeat center center;
		background-size: cover;
	}
}

@media print, screen and (min-width: 769px) {
	.delivery_wrap .pagetop_img {
		height: 200px;
		background: url(../images/delivery_pagetop_img.jpg) no-repeat center center;
		background-size: cover;
	}
}

/* ----------------------------------------
   ご注文・配送について　＞　ご注文方法
---------------------------------------- */
#delivery .box_wrap .guide_wrap {
	margin: 0 0 30px;
}

@media print, screen and (min-width: 769px) {
	#delivery .box_wrap .guide_wrap {
		margin: 0 0 60px;
	}
}

#delivery .box_wrap:not(:nth-of-type(3)) {
	margin: 0 0 50px;
}

#delivery .box_wrap .box:not(:last-child),
#inquiry .box_wrap .box:not(:last-child) {
	margin: 0 0 40px;
}

@media print, screen and (min-width: 769px) {
	#delivery .box_wrap:not(:nth-of-type(3)) {
		margin: 0 0 120px;
	}
	#delivery .box_wrap .box:not(:last-child) {
		margin: 0 0 60px;
	}
}

#delivery .box_wrap .box > p {
	font-size: 0.9em;
	line-height: 2;
}

#delivery .box_wrap .box ul.note_red {
	margin: 20px 0 0;
}

#delivery .box_wrap .box ul.note_red li {
	padding: 0 0 0 1em;
	color: #C36;
	font-size: 0.8em;
	text-indent: -1em;
}

#delivery .box_wrap .box ul.note_red li:not(:last-child),
#delivery .box_wrap .box ul.note li:not(:last-child) {
	margin: 0 0 5px;
}

#delivery .box_wrap .box ul.note {
	margin: 15px 0 0;
}

#delivery .box_wrap .box ul.note li {
	padding: 0 0 0 1em;
	font-size: 0.9em;
	text-indent: -1em;
}

/* ----- ショップ特典 ----- */
#delivery .box_wrap .box .shop_wrap {
	margin: 20px 0 0;
}

#delivery .box_wrap .box .shop_wrap .inner {
	margin: 0 0 20px;
	padding: 15px;
	background: url(../images/bg_purple.png) repeat 0 0;
	border-radius: 20px;
}

@media print, screen and (min-width: 426px) {
	#delivery .box_wrap .box .shop_wrap .inner {
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin: 0;
	}
	#delivery .box_wrap .box .shop_wrap .inner:not(:last-child) {
		margin: 0 0 20px;
	}
}

#delivery .box_wrap .box .shop_wrap .inner h5 {
	margin: 0 0 10px;
	padding: 5px;
	color: #fff;
	font-size: 1.1em;
	text-align: center;
	background: #aa89bd;
	border-radius: 10px;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}

#delivery .box_wrap .box .shop_wrap .inner p {
	font-size: 0.9em;
}

@media print, screen and (min-width: 426px) {
	#delivery .box_wrap .box .shop_wrap .inner h5 {
		width: 15%;
		margin: 0;
		font-size: 1.1em;
	}
	#delivery .box_wrap .box .shop_wrap .inner p {
		width: 83%;
		font-size: 0.9em;
	}
}

@media print, screen and (min-width: 769px) {
	#delivery .box_wrap .box .shop_wrap .inner h5 {
		width: 20%;
		font-size: 1.3em;
	}
	#delivery .box_wrap .box .shop_wrap .inner p {
		width: 75%;
		font-size: 1em;
	}
}

#delivery .box_wrap .box .shop_wrap .inner p span {
	color: #aa89bd;
	font-size: 1.3em;
	font-weight: bold;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}

/* ----- お振込み先 ----- */
#delivery .box_wrap .box .payee_wrap .inner {
	margin: 0 0 20px;
}

@media print, screen and (min-width: 769px) {
	#delivery .box_wrap .box .payee_wrap {
		display: flex;
		justify-content: space-between;
	}
	#delivery .box_wrap .box .payee_wrap .inner {
		width: 48%;
		margin: 0;
	}
}

#delivery .box_wrap .box .payee_wrap .inner p {
	margin: 0 0 10px;
	padding: 12px;
	color: #450e44;
	font-size: 1em;
	font-weight: bold;
	line-height: 1em;
	background: #ece2ed;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}

#delivery .box_wrap .box .payee_wrap .inner dl {
	font-size: 0.9em;
	border-top: 1px solid #ccc;
	border-right: 1px solid #ccc;
}

#delivery .box_wrap .box .payee_wrap .inner dl dt {
	padding: 8px;
	background: #fafafa;
	border-bottom: 1px solid #ccc;
	border-left: 1px solid #ccc;
}

#delivery .box_wrap .box .payee_wrap .inner dl dd {
	padding: 8px;
	border-bottom: 1px solid #ccc;
	border-left: 1px solid #ccc;
}

#delivery .box_wrap .box .payee_wrap .inner dl {
	display: flex;
	flex-wrap: wrap;
}

#delivery .box_wrap .box .payee_wrap .inner dl dt {
	width: 45%;
}

#delivery .box_wrap .box .payee_wrap .inner dl dd {
	width: 55%;
}

@media print, screen and (min-width: 426px) {
	#delivery .box_wrap .box .payee_wrap .inner dl dt {
		width: 35%;
	}
	#delivery .box_wrap .box .payee_wrap .inner dl dd {
		width: 65%;
	}
}

#delivery .box_wrap .box .payee_wrap .inner ul.note_red {
	margin: 10px 0 0;
}

/* ----------------------------------------
   ご注文・配送について　＞　配送・送料について
---------------------------------------- */
/* ----- 送料表 ----- */
#delivery table.postage {
	width: 100%;
	margin: 15px 0 0;
	background: #fff7;
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
}

#delivery table.postage th,
#delivery table.postage td {
	padding: 10px;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}

#delivery table.postage th {
	color: #450e44;
	font-size: 0.9em;
	font-weight: bold;
	background: #ece2ed;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}

@media print, screen and (min-width: 769px) {
	#delivery table.postage th {
		font-size: 1em;
	}
}

#delivery table.postage th span {
	font-size: 0.75em;
}

#delivery table.postage th.price {
	width: 40%;
}

@media print, screen and (min-width: 426px) {
	#delivery table.postage th.price {
		width: auto;
	}
}

#delivery table.postage td {
	font-size: 0.85em;
}

#delivery table.postage th.price,
#delivery table.postage td.price {
	text-align: center;
}

#delivery p.postage_note {
	margin: 10px 0 0;
	color: #C36;
	font-size: 0.8em !important;
	text-align: right;
}



/* --------------------------------------------------------------------------------
   下層ページ　【お問い合わせ】
-------------------------------------------------------------------------------- */
.inquiry_wrap .pagetop_img {
	height: 70px;
	background: url(../images/inquiry_pagetop_img.jpg) no-repeat center center;
	background-size: cover;
}

@media print, screen and (min-width: 426px) {
	.inquiry_wrap .pagetop_img {
		height: 100px;
		background: url(../images/inquiry_pagetop_img.jpg) no-repeat center center;
		background-size: cover;
	}
}

@media print, screen and (min-width: 769px) {
	.inquiry_wrap .pagetop_img {
		height: 200px;
		background: url(../images/inquiry_pagetop_img.jpg) no-repeat center center;
		background-size: cover;
	}
}

/* ----------------------------------------
   お問い合わせ　＞　入力ページ
---------------------------------------- */
#inquiry .box_wrap {
	margin: 0 auto 30px;
}

@media print, screen and (min-width: 426px) {
	#inquiry .box_wrap {
		width: 90%;
		margin: 0 auto 40px;
	}
}

@media print, screen and (min-width: 769px) {
	#inquiry .box_wrap {
		width: 80%;
		margin: 0 auto 90px;
	}
}

#inquiry .box_wrap .box:not(:last-child) {
	margin: 0 0 40px;
}

#inquiry .box_wrap .box > p,
#confirm .box_wrap .box > p,
#commit .box_wrap .box > p {
	font-size: 0.9em;
	line-height: 2;
}

#inquiry .box_wrap .box > p a {
	display: inline-block;
	color: #996699;
	transition: 0.5s;
}

#inquiry .box_wrap .box > p a:hover {
	opacity: 0.7;
}

#inquiry .box_wrap .box > p span.red {
	color: #C36;
}

#inquiry .box_wrap.form_wrap {
	margin: 0 auto;
	padding: 20px 0 0;
}

@media print, screen and (min-width: 426px) {
	#inquiry .box_wrap.form_wrap {
		padding: 30px 0 0;
	}
}

@media print, screen and (min-width: 769px) {
	#inquiry .box_wrap.form_wrap {
		padding: 30px 0 0;
	}
}

#inquiry .tel p a {
	display: flex;
	align-items: center;
	color: #450e44;
	font-size: 1.7em;
	line-height: 1em;
	font-family: serif;
	font-weight: normal;
}

@media print, screen and (min-width: 769px) {
	#inquiry .tel p a {
		font-size: 2.8em;
		pointer-events: none;
	}
}

#inquiry .tel p a i {
	padding: 0 0.5em 0 0;
	font-size: 0.8em;
}

#inquiry .tel ul {
	margin: 10px 0 0;
}

#inquiry .tel ul li {
	color: #450e44;
	font-size: 1em;
	font-family: serif;
	float: left;
}

@media print, screen and (min-width: 769px) {
	#inquiry .tel ul li {
		font-size: 1.2em;
	}
}

#inquiry .tel ul li:not(:last-child) {
	margin: 0 1.5em 0 0;
}

#inquiry .form_wrap form {
	margin: 15px 0 0;
}

#inquiry .form_wrap .form_inner dl {
	margin: 0 0 10px;
	font-size: 0.9em;
	border: 1px solid #ccc;
}

@media print, screen and (min-width: 426px) {
	#inquiry .form_wrap .form_inner dl {
		display: flex;
		margin: 0;
		border-bottom: none;
	}
}

#inquiry .form_wrap .form_inner dl:last-child {
	border-bottom: 1px solid #ccc;
}

#inquiry .form_wrap .form_inner dl dt {
	padding: 10px;
	background: #faf5fa;
}

@media print, screen and (min-width: 426px) {
	#inquiry .form_wrap .form_inner dl dt {
		width: 35%;
		padding: 17px 10px;
		border-right: 1px solid #ccc;
	}
}

#inquiry .form_wrap .form_inner dl dt span.hissu,
#confirm .form_wrap .input_box dl dt span.hissu {
	padding: 0 0 0 1em;
	color: #C36;
}

#inquiry .form_wrap .form_inner dl dd {
	position: relative;
	padding: 10px;
}

@media print, screen and (min-width: 426px) {
	#inquiry .form_wrap .form_inner dl dd {
		width: 65%;
	}
}

#inquiry .form_wrap .form_inner dl dd.list_zip::before {
	content: "\3012";
	position: absolute;
	padding: 6px 0;
}

#inquiry .form_wrap .form_inner dl dd select {
	width: 100%;
	padding: 6px 15px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: 1px solid #ccc;
	border-radius: 5px;
	background: #fff;
	cursor: pointer;
}

#inquiry .form_wrap .form_inner dl dd input[type="text"],
#inquiry .form_wrap .form_inner dl dd input[type="tel"],
#inquiry .form_wrap .form_inner dl dd input[type="email"],
#inquiry .form_wrap .form_inner dl dd textarea {
	width: 100%;
	padding: 6px 15px;
	background: #fff7;
	border: 1px solid #ccc;
	border-radius: 5px;
}

#inquiry .form_wrap .form_inner dl dd.list_zip input {
	width: calc(100% - 1.5em) !important;
	float: right;
}

#inquiry .form_wrap .form_inner dl dd input::placeholder {
	color: #ccc;
}

#inquiry .form_wrap .form_inner dl dd textarea::placeholder {
	color: #ccc;
}

#inquiry .form_wrap .form_inner dl dd textarea {
	max-width: 100%;
	min-height: 300px;
}

#inquiry .form_wrap .form_inner dl dd input[type="text"]:focus,
#inquiry .form_wrap .form_inner dl dd input[type="tel"]:focus,
#inquiry .form_wrap .form_inner dl dd input[type="email"]:focus,
#inquiry .form_wrap .form_inner dl dd select:focus,
#inquiry .form_wrap .form_inner dl dd textarea:focus {
	border: 1px solid #aa89bd;
	outline: none;
	box-shadow: 0 0 5px 1px rgba(170, 137, 189, 0.5);
}

.submit-btn {
	margin: 30px 0 0;
	text-align: center;
}

@media print, screen and (min-width: 426px) {
	.submit-btn {
		margin: 50px 0 0;
	}
}

@media print, screen and (min-width: 426px) {
	.submit-btn ul {
		display: flex;
		justify-content: center;
	}
}

.submit-btn ul li:last-child {
	margin: 15px 0 0;
}

@media print, screen and (min-width: 426px) {
	.submit-btn ul li:last-child {
		margin: 0 0 0 30px;
	}
}

.submit-btn button {
	width: 100%;
	padding: 10px;
	color: #450e44;
	font-size: 1em;
	text-align: center;
	font-family: serif;
	background: #fff;
	border: 1px solid #450e44;
	border-radius: 10px;
	cursor: pointer;
	transition: 0.5s;
}

.submit-btn button i {
	padding: 0 0 0 1em;
}

@media print, screen and (min-width: 426px) {
	.submit-btn button {
		width: auto;
		padding: 10px 30px;
		font-size: 1.1em;
	}
}

@media print, screen and (min-width: 769px) {
	.submit-btn button {
		font-size: 1.2em;
	}
}

.submit-btn button:hover {
	color: #fff;
	background: #450e44;
}

.submit-btn button:focus {
	outline: none;
	box-shadow: none;
}

/* ----------------------------------------
   お問い合わせ　＞　入力内容確認ページ
---------------------------------------- */
.confirm_wrap {
	margin: 0 0 20px;
	padding: 50px 0 0;
	background: url(../images/ryusuimon_left_w600.png) no-repeat 0 50px,url(../images/ryusuimon_right_w600.png) no-repeat 100% 100%;
	background-size: 320px;
}

@media print, screen and (min-width: 426px) {
	.confirm_wrap {
		margin: 0 0 40px;
		background: url(../images/ryusuimon_left_w600.png) no-repeat 0 50px,url(../images/ryusuimon_right_w600.png) no-repeat 100% 100%;
		background-size: 500px;
	}
}

@media print, screen and (min-width: 769px) {
	.confirm_wrap {
		margin: 0 0 40px;
		padding: 100px 0 0;
		background: url(../images/ryusuimon_left_w600.png) no-repeat 0 100px,url(../images/ryusuimon_right_w600.png) no-repeat 100% 100%;
		background-size: 600px;
	}
}

@media print {
	.confirm_wrap {
		padding: 0;
		background: url(../images/ryusuimon_left_w600.png) no-repeat 0 0,url(../images/ryusuimon_right_w600.png) no-repeat 100% 100%;
	}
}

@media print, screen and (min-width: 426px) {
	#confirm .box_wrap {
		width: 90%;
		margin: 0 auto;
	}
}

@media print, screen and (min-width: 769px) {
	#confirm .box_wrap {
		width: 80%;
	}
}

#confirm .input_box {
	margin: 15px 0 0;
}

#confirm .input_box dl {
	margin: 0 0 10px;
	font-size: 0.9em;
	border: 1px solid #ccc;
}

@media print, screen and (min-width: 426px) {
	#confirm .input_box dl {
		display: flex;
		margin: 0;
		border-bottom: none;
	}
}

#confirm .input_box dl:last-child {
	border-bottom: 1px solid #ccc;
}

#confirm .input_box dl dt {
	padding: 10px;
	background: #faf5fa;
}

@media print, screen and (min-width: 426px) {
	#confirm .input_box dl dt {
		width: 35%;
		border-right: 1px solid #ccc;
	}
}

#confirm .input_box dl dd {
	padding: 10px;
}

@media print, screen and (min-width: 426px) {
	#confirm .input_box dl dd {
		width: 65%;
	}
}

#confirm .input_box dl.w_full dd {
	line-height: 2;
}

/* ----------------------------------------
   お問い合わせ　＞　送信完了ページ
---------------------------------------- */
.commit_wrap {
	margin: 0 0 20px;
	padding: 50px 0 0;
	background: url(../images/ryusuimon_left_w600.png) no-repeat 0 50px;
	background-size: 320px;
}

@media print, screen and (min-width: 426px) {
	.commit_wrap {
		margin: 0 0 40px;
		background: url(../images/ryusuimon_left_w600.png) no-repeat 0 50px;
		background-size: 500px;
	}
}

@media print, screen and (min-width: 769px) {
	.commit_wrap {
		margin: 0 0 40px;
		padding: 100px 0 0;
		background: url(../images/ryusuimon_left_w600.png) no-repeat 0 100px;
		background-size: 600px;
	}
}

@media print {
	.commit_wrap {
		padding: 0;
		background: url(../images/ryusuimon_left_w600.png) no-repeat 0 0;
	}
}

@media print, screen and (min-width: 426px) {
	#commit .box_wrap {
		width: 90%;
		margin: 0 auto;
	}
}

@media print, screen and (min-width: 769px) {
	#commit .box_wrap {
		width: 80%;
	}
}

#commit .box_wrap .box > p.note {
	margin: 20px 0 0;
	padding: 0 0 0 1em;
	text-indent: -1em;
}



/* --------------------------------------------------------------------------------
   下層ページ　【プライバシーポリシー】
-------------------------------------------------------------------------------- */
.privacy_wrap .pagetop_img {
	height: 70px;
	background: url(../images/privacy_pagetop_img.jpg) no-repeat center center;
	background-size: cover;
}

@media print, screen and (min-width: 426px) {
	.privacy_wrap .pagetop_img {
		height: 100px;
		background: url(../images/privacy_pagetop_img.jpg) no-repeat center center;
		background-size: cover;
	}
}

@media print, screen and (min-width: 769px) {
	.privacy_wrap .pagetop_img {
		height: 200px;
		background: url(../images/privacy_pagetop_img.jpg) no-repeat center center;
		background-size: cover;
	}
}

@media print, screen and (min-width: 769px) {
	#privacy .box_wrap {	
		width: 80%;
		margin: 0 auto;
	}
}

#privacy .box_wrap .box:not(:last-child) {
	margin: 0 0 40px;
}

@media print, screen and (min-width: 769px) {
	#privacy .box_wrap .box:not(:last-child) {
		margin: 0 0 60px;
	}
}

#privacy .box_wrap h3 {
	margin: 0 0 60px;
	padding: 20px;
	font-size: 1em;
	font-weight: normal;
	font-family: serif;
	line-height: 1.8;
	border: 1px solid #ccc;
}

#privacy .box_wrap .box > p {
	font-size: 0.9em;
	line-height: 2;
}

#privacy .box_wrap .box ul.note,
#privacy .box_wrap .box ul.info {
	margin: 20px 0 0;
}

#privacy .box_wrap .box ul.note li {
	padding: 0 0 0 1em;
	font-size: 0.85em;
	text-indent: -1em;
}

#privacy .box_wrap .box ul.note li:not(:last-child),
#privacy .box_wrap .box ul.info li:not(:last-child) {
	margin: 0 0 5px;
}

#privacy .box_wrap .box ul.info li {	
	padding: 0 0 0 1em;
	font-size: 0.9em;
	text-indent: -1em;
}

#privacy .box_wrap .box ul.info li.tel a {
	display: inline;
	color: #222;
}

@media print, screen and (min-width: 769px) {
	#privacy .box_wrap .box ul.info li.tel a {
		pointer-events: none;
	}
}

#privacy .box_wrap .box ul.info li img {
	width: auto;
	height: 22px;
}



/* --------------------------------------------------------------------------------
   下層ページ　【サイトマップ】
-------------------------------------------------------------------------------- */
.sitemap_wrap {
	margin: 0 0 20px;
	padding: 50px 0 0;
	background: url(../images/ryusuimon_left_w600.png) no-repeat 0 50px,url(../images/ryusuimon_right_w600.png) no-repeat 100% 100%;
	background-size: 320px;
}

@media print, screen and (min-width: 426px) {
	.sitemap_wrap {
		margin: 0 0 40px;
		background: url(../images/ryusuimon_left_w600.png) no-repeat 0 50px,url(../images/ryusuimon_right_w600.png) no-repeat 100% 100%;
		background-size: 500px;
	}
}

@media print, screen and (min-width: 769px) {
	.sitemap_wrap {
		margin: 0 0 40px;
		padding: 100px 0 0;
		background: url(../images/ryusuimon_left_w600.png) no-repeat 0 100px,url(../images/ryusuimon_right_w600.png) no-repeat 100% 100%;
		background-size: 600px;
	}
}

@media print {
	.sitemap_wrap {
		padding: 0;
		background: url(../images/ryusuimon_left_w600.png) no-repeat 0 0,url(../images/ryusuimon_right_w600.png) no-repeat 100% 100%;
	}
}

.sitemap_nav {
	width: 80%;
	margin: 0 auto;
	font-size: 0.9em;
}

@media print, screen and (min-width: 426px) {
	.sitemap_nav {
		display: flex;
		justify-content: space-between;
		font-size: 0.95em;
	}
}

.sitemap_nav > ul:not(:last-child) {
	margin: 0 0 35px;
}

.sitemap_nav ul li:not(:last-child) {
	margin: 0 0 35px;
}

.sitemap_nav ul li a {
	color: #222;
}

.sitemap_nav > ul > li > a {
	padding: 0 0 0 0.5em;
	line-height: 1;
	border-left: 10px solid #aa89bd;
}

.sitemap_nav ul li a:hover {
	color: #996699;
}

.sitemap_nav ul.sub {
	margin: 20px 0 0 20px;
	font-size: 0.9em;
}

.sitemap_nav ul.sub li:not(:last-child) {
	margin: 0 0 10px;
}



/* --------------------------------------------------------------------------------
   フッター
-------------------------------------------------------------------------------- */
/* ----------------------------------------
   フッター／ナビ
---------------------------------------- */
.footer_nav {
	background: #450e44;
}

.footer_nav nav > ul {
	border-top: 1px dashed #fff;
}

.footer_nav nav > ul.sub {
	border-top: none;
}

@media print, screen and (min-width: 426px) {
	.footer_nav nav > ul {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		border-top: none;
	}
}

.footer_nav nav > ul:last-child {
	margin: 0 0 20px;
}

@media print, screen and (min-width: 426px) {
	.footer_nav nav > ul.sub {
		margin: 20px 0 0;
	}
	.footer_nav nav > ul:last-child {
		margin: 20px 0 0;
	}
}

@media print, screen and (min-width: 426px) {
	.footer_nav nav ul li:not(:last-child) {
		margin: 0 30px 0 0;
	}
}

.footer_nav nav ul li a {
	position: relative;
	padding: 10px;
	color: #fff;
	font-size: 0.95em;
	font-family: serif;
	border-bottom: 1px dashed #fff;
	transition: 0.5s;
}

@media print, screen and (min-width: 426px) {
	.footer_nav nav ul li a {
		padding: 0;
		border-bottom: none;
	}
}

.footer_nav nav ul li a::after {
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
	content: "\f054";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
}

@media print, screen and (min-width: 426px) {
	.footer_nav nav ul li a::after {
		content: "";
	}
}

.footer_nav nav ul li a:hover {
	opacity: 0.5;
}

.footer_nav nav ul.sp li a {
	padding: 10px 0 10px 40px;
}

/* ----------------------------------------
   フッター／ボトム
---------------------------------------- */
.footer_wrap {
	position: relative;
	background: url(../images/bg_purple.png) repeat 0 0;
}

.footer_wrap_inner {
	padding: 40px 15px 15px;
}

.footer_wrap .box_wrap {
	margin: 0 0 30px;
}

/* ----- フッター／ロゴ ----- */
.footer_wrap .box_wrap .footer_logo {
	width: 170px;
	margin: 0 auto;
}

@media print, screen and (min-width: 769px) {
	.footer_wrap .box_wrap .footer_logo {
		width: 200px;
	}
}

.footer_wrap .box_wrap .footer_logo a {
	transition: 0.5s;
}

.footer_wrap .box_wrap .footer_logo a:hover {
	opacity: 0.7;
}

/* ----- ページトップボタン ----- */
.footer_wrap .box_wrap .pagetop_btn {
	position: fixed;
	right: 0;
	bottom: 20px;
	background: #996699;
	box-shadow: 0 0 5px 5px #fff;
	z-index: 8888;
}

.footer_wrap .box_wrap .pagetop_btn a {
	padding: 12px;
	color: #fff;
	font-size: 1.4em;
	line-height: 1em;
	text-align: center;
}

.footer_wrap .box_wrap .pagetop_btn a:hover {
	opacity: 0.7;
}

/* ----- 住所 ----- */
.footer_wrap .address {
	margin: 0 0 20px;
	font-size: 0.85em;
	text-align: center;
	font-family: serif;
	line-height: 1.8;
}

.footer_wrap .address p a {
	display: inline;
	color: #222;
}

@media print, screen and (min-width: 426px) {
	.footer_wrap .address p span.sp_br {
		padding: 0 0 0 1em;
	}
}

@media print, screen and (min-width: 769px) {
	.footer_wrap .address {
		margin: 0 0 30px;
		font-size: 0.9em;
		line-height: 2;
	}
	.footer_wrap .address p a {
		pointer-events: none;
	}
}

/* ----- コピーライト ----- */
.footer_wrap .copyright {
	font-size: 0.8em;
	text-align: center;
	font-family: serif;
}

@media screen and (min-width: 769px) {
	.footer_wrap .copyright {
		font-size: 0.9em;
	}
}