@charset "utf-8";

html {
	width: 100%;
	height: 100%;
	color: #000;
	margin: 0;
	padding: 0;
	font-feature-settings: "palt" 1;
}
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td,figure {
	margin: 0;
	padding: 0;
}

body{
	font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","游ゴシック体", YuGothic,"游ゴシック","Yu Gothic","メイリオ",Meiryo,"ＭＳ Ｐゴシック","Verdana",sans-serif;
	line-height: 2;
	counter-reset:number;
	height: 100%;
	letter-spacing: 0.1em;
	-webkit-text-size-adjust: none;
}

table {
	font: 100%;
	font-size: inherit;
	border-collapse: collapse;
	border-spacing: 0;
}
caption,th { text-align:left; }

fieldset,img { border: 0;}

h1,h2,h3,h4,h5,h6 {
	font-size: 100%;
	font-weight: normal;
}
address,caption,cite,code,dfn,em,th,var {
	font-style: normal;
	font-weight: normal;
}
ol,ul { list-style: none;}

q:before,q:after { content:'';}
abbr,acronym {
	border: 0;
	font-variant: normal;
}
sup { vertical-align: text-top; }
sub { vertical-align: text-bottom;}
input,textarea,select {
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	outline: 0;
}
legend{ color: inherit;}

select,input,button,textarea{ font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","游ゴシック体", YuGothic,"游ゴシック","Yu Gothic","メイリオ",Meiryo,"ＭＳ Ｐゴシック","Verdana",sans-serif; }

pre,code,kbd,samp,tt{
	font-family: monospace;
	line-height: 100%;
}

main { display: block; }

a {
	color: inherit;
	outline: none;
	text-decoration: none;
}
a:hover {
	text-decoration: none;
}
a:focus { text-decoration: none; }
a:active { text-decoration: none; }

a img { border: none; }

li img,
dt img,
dd img{ vertical-align: top; }

img {
	max-width: 100%;
	vertical-align: middle;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

html, body {
	height: 100%;
	text-align: justify;
	text-justify: inter-ideograph;
}
body { -webkit-text-size-adjust: 100%; }

.clear { clear: both; }
.cf:after {
	content: "";
	display: block;
	clear: both;
}
#wrapper {
	overflow: hidden;
}

/* 共通スタイル */
a:hover {
	opacity: 0.7;
}
/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
header
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */ 
#wrapper > header {
	top: 0;
	right: 0;
	width: 100%;
	position: fixed;
	z-index: 50;
}
#wrapper > header .icon {
	font-size: 0;
    top: 0;
    right: 0;
    z-index: 50;
    cursor: pointer;
    position: absolute;
	background-color: #000;
}
#wrapper > header .icon span {
	cursor: pointer;
	position: absolute;
	background: url(../images/nav_ham_close.svg) no-repeat;
	background-size: 100%;
	background-position: center;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transition-duration: .2s;
	-moz-transition-duration: .2s;
	-webkit-transition-duration: .2s;
}
#wrapper > header.open .icon {
	top: 0;
	right: 0;
	z-index: 50;
	cursor: pointer;
	position: absolute;
	background-color: transparent;
}
#wrapper > header.open .icon span {
	cursor: pointer;
	position: absolute;
	background: url(../images/nav_ham_open.svg) no-repeat;
	background-size: 100%;
	background-position: center;
}
#wrapper > header nav {
	top: 0;
    color: #fff;
    z-index: 30;
    height: 100vh;
    right: -100%;
    width: 100%;
    overflow: auto;
    font-size: 18px;
    line-height: 2.6;
    position: absolute;
    box-sizing: border-box;
    background: rgba(50,50,50,.8);
    transition-duration: .3s;
    -moz-transition-duration: .3s;
    -webkit-transition-duration: .3s;
    display: flex;
    align-items: center;
}

#wrapper > header.open nav {
	right: 0;
}
#wrapper > header nav a {
	display: block;
	padding: 0 15px;
	transition-duration: .3s;
    -moz-transition-duration: .3s;
    -webkit-transition-duration: .3s;
}
#wrapper > header nav a:hover {
	color: #fff;
	background: #000;
}

@media screen and (min-width:751px){
	/* PC版スタイル  */
	body { font-size: 14px; }
	.sp { display: none !important; }

	#wrapper > header .icon {
		width: 80px;
		height: 80px;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	#wrapper > header .icon span {
		width: 35px;
		height: 35px;
	}
	#wrapper > header.open nav {
		right: 0;
	}
	#wrapper > header.open nav ul {
		width: 500px;
		margin: 0 auto;
		text-align: center;
	}
	#wrapper > header nav a {
		padding: 48px 0;
		line-height: 1;
	}
	#wrapper > header .nav_concept a img {
		width: 150px;
		height: 32px;
	}
	#wrapper > header .nav_menu a img,
	#wrapper > header .nav_shop a img {
		width: 92px;
		height: 32px;
	}
}

@media screen and (max-width:750px){
	/* SP版スタイル */
	body { font-size: 12px; }
	.pc { display: none !important; }

	#wrapper > header .icon {
		width: calc(80px / 2);
		height: calc(80px / 2);
		display: flex;
		justify-content: center;
		align-items: center;
	}
	#wrapper > header .icon span {
		width: calc(35px / 2);
		height: calc(35px / 2);
	}
	#wrapper > header nav {
		height: 100vh;
		font-size: 14px;
		color: #fff;
		padding-top: calc((322px / 2) - 21px);
		top: 0;
		right: -100%;
		width: 100%;
		overflow: auto;
		display: flex;
		justify-content: center;
		text-align: center;
		align-items: start;
		z-index: 30;
	}
	#wrapper > header nav li {
		position: relative;
	}
	#wrapper > header nav li::after {
		position: absolute;
		content: "";
		background: url(../images/arrow_w.svg) no-repeat;
		width: 15px;
		height: 15px;
		top: 0;
		bottom: 0;
		right: 20px;
		margin: auto;
		transform: rotate(90deg);
		-webkit-transform: rotate(90deg);
		-ms-transform: rotate(90deg);
	}
	#wrapper > header nav a {
		display: block;
		padding: 17px 20px;
		line-height: 1;
	}
	#wrapper > header .nav_concept a img {
		width: calc(191px / 2);
		height: calc(42px / 2);
	}
	#wrapper > header .nav_menu a img,
	#wrapper > header .nav_shop a img {
		width: calc(117px / 2);
		height: calc(40px / 2);
	}
}
/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#inner
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */ 
#inner {
	position: relative;
}
@media screen and (min-width:751px){
}
@media screen and (max-width:750px){
}
/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#mainVis
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */ 
#mainVis {
	position: relative;
}
#mainVis .mainVis_ttl {
	position: absolute;
    margin: auto;
    z-index: 10;
}
@media screen and (min-width:751px){
	#mainVis {
		height: 100vh;
		margin-bottom: 60px;
	}
	#mainVis .mainVis_ttl {
		width: 506px;
		height: 355px;
		top: 80px;
		right: 0;
		left: 0;
	}
}
@media screen and (max-width:750px){
	#mainVis {
		margin-bottom: calc(166px / 2);
	}
	/*#mainVis::after {
		position: absolute;
		content: "";
		background: url(../images/icon_arrow_g.svg) no-repeat;
		background-size: 100%;
		background-position: center;
		width: calc(50px / 2 );
		height: calc(25px / 2 );
		bottom: -36px;
		left: 0;
		right: 0;
		margin: auto;
	}*/
	#mainVis .mainVis_ttl {
		width: calc(480px / 2);
		height: calc(338px / 2);
		top: calc(123px / 2);
		right: 0;
		left: 0;
	}
}

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
.slider
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */ 
.slider {
    height: auto;
}
.slider > ul {
	display: block;
	position: relative;
}
.slider li.slider-item {
	font-size: 0;
}
.slider {
	position:relative;
	z-index: 1;
	/*↑z-indexの値をh1のz-indexの値よりも小さくして背景に回す*/
	height: 100vh;
}

/*ドットナビゲーションの設定*/
.slick-dots {
	position: relative;
	z-index: 3;
    text-align:center;
}
.slick-dots li {
    display:inline-block;
}
.slick-dots button {
	color: transparent;
    display: block;
    border-radius: 50%;
    background: transparent;
    border: 1px solid #dda900;
    padding: 0;
}
.slick-dots .slick-active button{
    background:#dda900;/*ドットボタンの現在地表示の色*/
}

@media screen and (min-width:751px){
	/*　背景画像設定　*/
	.slider-item01 {
		background:url(../images/slide_img01.jpg);
	}
	.slider-item02 {
		background:url(../images/slide_img02.jpg);
	}
	.slider-item03 {
		background:url(../images/slide_img03.jpg);
	}
	.slider-item {
		width: 100%;/*各スライダー全体の横幅*/
		height: 100vh;/*各スライダー全体の縦幅*/
		background-repeat: no-repeat;
		background-position: center;
		background-size: cover;
	}

	/*ドットナビゲーションの設定*/
	.slick-dots {
		margin:-50px 0 0 0;/*ドットの位置*/
	}
	.slick-dots li {
		margin:0 5px;
	}
	.slick-dots button {
		width: 12px;
		height: 12px;
	}
}
@media screen and (max-width:750px){
	/*　背景画像設定　*/
	.slider-item01 {
		background:url(../images/slide_sp_img01.jpg);
	}
	.slider-item02 {
		background:url(../images/slide_sp_img02.jpg);
	}
	.slider-item03 {
		background:url(../images/slide_sp_img03.jpg);
	}
	.slider-item {
		width: 100%;/*各スライダー全体の横幅*/
		height: 100vh;/*各スライダー全体の縦幅*/
		background-repeat: no-repeat;
		background-position: center;
		background-size: cover;
	}

	/*ドットナビゲーションの設定*/
	.slick-dots {
		margin: -19px 0 0 0;/*ドットの位置*/
	}
	.slick-dots li {
		margin: 0 3px;
	}
	.slick-dots button {
		width: 6px;
		height: 6px;
	}
}

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
.anc_area
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */ 
.anc_area {
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
}
.anc_area li a {
	font-size: 0;
	display: block;
	position: relative;
}
.anc_area li.flex_concept a {
	background: url(../images/nav_concept.svg) no-repeat;
	background-size: 100%;
	background-position: top;
	position: relative;
	width: 141px;
	height: 44px;
}
.anc_area li.flex_concept a:hover {
	background: url(../images/nav_concept_hover.svg) no-repeat;
	background-size: 100%;
	background-position: top;
	width: 141px;
}
.anc_area li.flex_menu a {
	background: url(../images/nav_menu.svg) no-repeat;
	background-size: 100%;
	background-position: top;
	width: 84px;
	height: 44px;
}
.anc_area li.flex_menu a:hover {
	background: url(../images/nav_menu_hover.svg) no-repeat;
	background-size: 100%;
	background-position: top;
	width: 84px;
}
.anc_area li.flex_shop a {
	background: url(../images/nav_shop.svg) no-repeat;
	background-size: 100%;
	background-position: top;
	width: 77px;
	height: 44px;
}
.anc_area li.flex_shop a:hover {
	background: url(../images/nav_shop_hover.svg) no-repeat;
	background-size: 100%;
	background-position: top;
	width: 77px;
}

@media screen and (min-width:751px){
	.anc_area {
		width: 434px;
		margin-bottom: 147px;
	}
}
@media screen and (max-width:750px){
}
/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#concept
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */ 
#concept .concept_inner {
	background: #dda900;
	position: relative;
}
#concept .concept_ttl::before,
#concept .concept_ttl::after,
#concept .concept_txt::before,
#concept .concept_txt::after {
	position: absolute;
    content: "";
    margin: auto;
    z-index: 1;
}
#concept .concept_ttl {
	position: absolute;
}
#concept .concept_ttl img {
    position: absolute;
    margin: auto;
}
#concept .concept_txt {
	position: relative;
	text-align: center;
}

@media screen and (min-width:751px){
	#concept .concept_ttl {
		width: 400px;
		height: 310px;
		left: 0;
		right: 0;
		margin: auto;
	}
	#concept .concept_ttl::before {
		background: url(../images/concept_shishi03.png) no-repeat;
		background-size: 100%;
		background-position: center;
		width: calc(1390px / 2);
		height: calc(926px / 2);
		top: -13px;
		left: -803px;
	}
	#concept .concept_ttl::after {
		background: url(../images/concept_kumo01.png) no-repeat;
		background-size: 100%;
		background-position: center;
		width: calc(434px / 2);
		height: calc(267px / 2);
		top: -25px;
		right: -317px;
	}
	#concept .concept_ttl img {
		width: 400px;
		height: 310px;
		top: -56px;
		left: 0;
		right: 0;
	}
	#concept .concept_txt {
		width: 586px;
		padding: 310px 0 106px;
		margin: 0 auto;
	}
	#concept .concept_txt::before {
		background: url(../images/concept_kumo02.png) no-repeat;
		background-size: 100%;
		background-position: center;
		width: calc(434px / 2);
		height: calc(267px / 2);
		bottom: -115px;
		left: -243px;
	}
	#concept .concept_txt::after {
		background: url(../images/concept_shishi04.png) no-repeat;
		background-size: 100%;
		background-position: center;
		width: calc(1390px / 2);
		height: calc(926px / 2);
		bottom: -149px;
		left: 554px;
	}
	#concept .concept_txt img {
		width: 586px;
		height: 333px;
	}
}
@media screen and (max-width:750px){
	#concept .concept_ttl_sp {
		width: calc(279px / 2);
		height: calc(56px / 2);
		margin: 0 auto 48px;
	}
	#concept .concept_ttl {
		width: 200px;
		height: calc(287px / 2);
		right: 0;
		left: 0;
		margin: auto;
	}
	#concept .concept_ttl::after {
		background: url(../images/concept_sp_kumo01.png) no-repeat;
		background-size: 100%;
		background-position: center;
		width: calc(198px / 2);
		height: calc(122px / 2);
		top: calc(138px / 2);
		right: calc(-186px / 2 );
	}
	#concept .concept_ttl img {
		width: calc(400px / 2);
		height: calc(310px / 2);
		top: -30px;
		left: 0;
		right: 0;
	}
	#concept .concept_txt {
		width: 256px;
		padding: 142px 0 59px;
		margin: 0 auto;
	}
	#concept .concept_txt::before {
		background: url(../images/concept_sp_kumo02.png) no-repeat;
		background-size: 100%;
		background-position: center;
		width: calc(218px / 2);
		height: calc(135px / 2);
		bottom: -18px;
		left: calc(-162px / 2 );
	}
	#concept .concept_txt img {
		width: calc(511px / 2);
		height: calc(472px / 2);
	}
}
@media (orientation: landscape) and (max-width: 750px){

}

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#menu
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */ 
#menu .menu_ttl {
	text-align: center;
}
#menu .menu_flex {
    margin: 0 auto;
	display: flex;
    justify-content: space-between;
	flex-wrap: wrap;
}
#menu .menu_flex_item figure {
	width: auto;
}
#menu .menu_flex_item figure img {
	width: auto;
}
#menu .menu_flex_item .menu_txt {
	color: #505050;
}
#menu .menu_flex_item.kumo04 {
	position: relative;
}
#menu .menu_flex_item.kumo04::before {
	position: absolute;
    content: "";
    margin: auto;
    z-index: 1;
}

@media screen and (min-width:751px){
	#menu {
		margin: 115px auto 127px;
	}
	#menu .menu_ttl {
		margin-bottom: 70px;
	}
	#menu .menu_ttl img {
		width: 166px;
		height: 56px;
	}
	#menu .menu_flex {
		width: 780px;
	}
	#menu .menu_flex_item {
		width: calc((780px - 78px) / 2);
		margin-bottom: 81px;
	}
	#menu .menu_flex_item figcaption {
		margin-top: 40px;
		margin-bottom: 21px;
	}
	#menu .menu_flex_item .menu_txt {
		font-size: 14px;
	}
	#menu .menu_flex_item.kumo04::before {
		background: url(../images/menu_kumo01.png) no-repeat;
		background-size: 100%;
		background-position: center;
		width: calc(375px / 2);
		height: calc(231px / 2);
		top: -115px;
		right: -190px;
	}
}
@media screen and (max-width:750px){
	#menu {
		margin: 65px auto 60px;
	}
	#menu .menu_ttl {
		margin-bottom: 33px;
	}
	#menu .menu_ttl img {
		width: calc(166px / 2 );
		height: calc(56px / 2 );
	}
	#menu .kumo01,
	#menu .kumo02,
	#menu .kumo03,
	#menu .kumo04 {
		position: relative;
	}
	#menu .kumo01::before {
		position: absolute;
		content: "";
		background: url(../images/menu_sp_kumo01.png) no-repeat;
		background-size: 100%;
		background-position: center;
		width: calc(292px / 2);
		height: calc(180px / 2);
		top: calc(-172px / 2);
		right: calc(-178px / 2);
	}
	#menu .kumo02::after {
		position: absolute;
		content: "";
		background: url(../images/menu_sp_kumo02.png) no-repeat;
		background-size: 100%;
		background-position: center;
		width: calc(237px / 2);
		height: calc(146px / 2);
		top: calc(-92px / 2);
		left: calc(-136px / 2);
		z-index: -1;
	}
	#menu .menu_flex {
		width: auto;
		padding: 0 75px;
		position: relative;
	}
	#menu .menu_flex_item {
		width: auto;
		margin-bottom: calc(105px / 2);
	}
	#menu .menu_flex_item:last-child{
		margin-bottom: 0;
	}
	#menu .menu_flex_item figcaption {
		margin-top: calc(39px / 2 );
		margin-bottom: calc(29px / 2);
	}
	#menu .menu_flex_item .menu_txt {
		font-size: 12px;
	}
	#menu .kumo03::before {
		position: absolute;
		content: "";
		background: url(../images/menu_sp_kumo03.png) no-repeat;
		background-size: 100%;
		background-position: center;
		width: calc(227px / 2);
		height: calc(140px / 2);
		top: calc(-92px / 2);
		right: calc(-139px / 2);
		z-index: -1;
	}
	#menu .kumo04::after {
		position: absolute;
		content: "";
		background: url(../images/menu_sp_kumo04.png) no-repeat;
		background-size: 100%;
		background-position: center;
		width: calc(235px / 2);
		height: calc(145px / 2);
		top: calc(-104px / 2);
		left: calc(-160px / 2);
		z-index: -1;
	}
}

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#shop
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
#shop {
	position: relative;
}
#shop .shop_ttl {
	position: relative;
	text-align: center;
	margin: 0 auto;
}
#shop .shop_ttl::before {
	position: absolute;
    content: "";
    margin: auto;
    z-index: 1;
}
#shop .add {
	text-align: center;
}
#shop figure {
    margin: 0 auto;
	position: relative;
}

#shop .shop_btn {
    display: block;
	text-align: center;
	position: relative;
	margin: 0 auto;
}
#shop .shop_btn::after {
	position: absolute;
    content: "";
    margin: auto;
    z-index: 1;
}

#shop .shop_logo {
	text-align: center;
}
/**********2023.01.16_start******************************/
#shop .shop_open {
	text-align: center;
	font-size: 20px;
}
#shop .shop_ec_txt {
	text-align: center;
}
/**********2023.01.16_end******************************/
#shop .shop_btn01 {
    background: #dda900;
	border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
	margin: 0 auto;
	transition-duration: .4s;
}
#shop .shop_btn01:hover {
	background: #000;
    opacity: 1;
}
@media screen and (min-width:751px){
	#shop {
		margin-bottom: 202px;
	}
	#shop .shop_ttl {
		margin-bottom: 49px;
		width: 152px;
	}
	#shop .shop_ttl::before {
		background: url(../images/shop_kumo01.png) no-repeat;
		background-size: 100%;
		background-position: center;
		width: calc(557px / 2);
		height: calc(364px / 2);
		top: -102px;
		left: -513px;
	}
	#shop .shop_ttl img {
		width: 152px;
		height: 56px;
	}
	#shop .add {
		margin-bottom: 52px;
	}
	#shop .add img {
		width: 600px;
		height: 387px;
	}
	#shop figure {
		width: 730px;
		height: 390px;
		margin-bottom: 30px;
	}
	#shop figure::after {
		position: absolute;
		content: "";
		background: url(../images/shop_kumo02.png) no-repeat;
		background-size: 100%;
		background-position: center;
		width: calc(589px / 2);
		height: calc(364px / 2);
		bottom: -194px;
		right: -447px;
	}
	#shop .shop_btn {
		width: 491px;
		margin-bottom: 100px;
	}
	
	#shop .shop_btn img {
		width: 491px;
		height: 36px;
	}
/**********2022.12.06_start******************************/
	#shop .shop_open {
		margin-bottom: 100px;
	}
	#shop .shop_open img {
		width: 500px;
		height: 256px;
	}
	#shop .shop_ec_txt {
		margin-bottom: 20px;
	}
	#shop .shop_ec_txt img {
		width: 500px;
		height: 22px;
	}
/**********2022.12.06_end******************************/
	#shop .shop_logo {
		margin-bottom: 40px;
	}
	#shop .shop_logo img {
		width: 239px;
		height: 64px;
	}
	#shop .shop_btn01 {
		width: 500px;
		height: 80px;
	}
	#shop .web {
		margin-bottom: 34px;
	}
	#shop .web img {
		width: 373px;
		height: 28px;
	}
	#shop .online img {
		width: 234px;
		height: 24px;
	}
}
@media screen and (max-width:750px){
	#shop {
		margin-bottom: calc(198px / 2);
	}
	#shop .shop_ttl {
		width: 76px;
		margin-bottom: calc(53px / 2);
	}
	#shop .shop_ttl::before {
		background: url(../images/shop_sp_kumo02.png) no-repeat;
		background-size: 100%;
		background-position: center;
		width: calc(258px / 2);
		height: calc(159px / 2);
		top: -70px;
		right: calc(-343px / 2);
	}
	#shop .shop_ttl img {
		width: calc(152px / 2);
		height: calc(56px / 2);
	}
	#shop .add {
		margin-bottom: calc(52px / 2);
	}
	#shop .add img {
		width: calc(600px / 2);
		height: calc(387px / 2);
	}
	#shop figure {
		width: calc(730px / 2);
		height: calc(390px / 2);
		margin-bottom: calc(25px / 2);
	}

	#shop .shop_btn {
		margin-bottom: calc(123px / 2);
	}
	#shop .shop_btn img {
		width: calc(491px / 2);
		height: calc(36px / 2);
	}
/**********2022.12.06_start******************************/
	#shop .shop_open {
		margin-bottom: 60px;
		text-align: center;
		font-size: 13px;
	}
	#shop .shop_open img {
		width: calc(500px / 2);
		height: calc(256px / 2);
	}
	#shop .shop_ec_txt {
		margin-bottom: 10px;
	}
	#shop .shop_ec_txt img {
		width: calc(500px / 2);
		height: calc(22px / 2);
	}
/**********2022.12.06_end******************************/
	#shop .shop_logo {
		margin-bottom: 40px;
	}
	#shop .shop_logo img {
		width: calc(239px / 2);
		height: calc(64px / 2);
	}
	#shop .shop_btn01 {
		width: calc(500px / 2);
		height: calc(80px / 2);
	}
	#shop .web {
		margin-bottom: calc(32px / 2);
	}
	#shop .web img {
		width: calc(373px / 2);
		height: calc(28px / 2);
	}
	#shop .online img {
		width: calc(234px / 2);
		height: calc(24px / 2);
	}
}

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
footer
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
footer {
	background: #000;
	position: relative;
}
footer .ttl_foot-logo {
	position: absolute;
	width: 100%;
}
footer .ttl_foot-logo img {
	position: absolute;
    margin: auto;
}
footer .ttl_footer,
footer .copy {
    text-align: center;
    color: #fff;
}

/*page_top*/
#page_top {
	position: relative;
}
#page_top a {
	position: absolute;
    content: "";
    background: url(../images/btn_top.svg) no-repeat;
    background-size: 100%;
    background-position: center;
    width: 60px;
    height: 60px;
    top: 0;
    bottom: 0;
    right: 45px;
    margin: auto;
    z-index: 9;
	transition-duration: .4s;
}
#page_top a:hover {
	position: absolute;
    content: "";
    background: url(../images/btn_top_hover.svg) no-repeat;
    background-size: 100%;
    background-position: center;
    width: 60px;
    height: 60px;
    top: 0;
    bottom: 0;
    right: 45px;
    margin: auto;
    z-index: 9;
	opacity: 1;
}

@media screen and (min-width:751px){
	footer .ttl_foot-logo {
		height: 100px;
	}
	footer .ttl_foot-logo img {
		width: 250px;
		height: 194px;
		top: -128px;
		left: 0;
		right: 0;
	}
	footer .ttl_footer {
		font-size: 12px;
		padding-top: 100px;
	}
	footer .copy {
		font-size: 12px;
		padding-bottom: 82px;
	}
}
@media screen and (max-width:750px){
	footer .ttl_foot-logo {
		height: calc(78px / 2);
	}
	footer .ttl_foot-logo img {
		width: calc(250px / 2);
		height: calc(194px / 2);
		top: calc(-127px / 2);
		left: 0;
		right: 0;
	}
	footer .ttl_footer {
		font-size: 6px;
		padding-top: calc(78px / 2);
	}
	footer .copy {
		font-size: 6px;
		padding-bottom: calc(84px / 2);
	}
}