@charset "UTF-8";

/* reset */
html,
body {
	margin: 0;
	padding: 0;
	font-size: 100%;
	line-height: 100%;
}

p,
blockquote,
address,
div,
p,
hr,
noscript {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font-weight: normal;
}

ul,
ol,
li,
dl,
dt,
dd {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
}

pre {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
}

a,
img,
map,
q,
sub,
sup,
span,
bdo {
	margin: 0;
	padding: 0;
	border: 0;
}

br {
	margin: 0;
	padding: 0;
	border: 0;
	letter-spacing: 0;
}

tt,
i,
b,
big,
small {
	margin: 0;
	padding: 0;
	border: 0;
}

code,
samp,
var {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
}

strong,
dfn,
kbd,
cite,
abbr,
acronym,
em {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font-style: normal;
	font-weight: bold;
}

ins {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font-style: normal;
	font-weight: bold;
	text-decoration: none;
}

del {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font-style: normal;
}

form,
fieldset {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
}

legend,
label,
select,
optgroup,
option,
button {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
}

table {
	border: 0;
	border-collapse: collapse;
}

* {
	word-break: break-all
}

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

.clearfix {
	display: inline-block
}

/* Hides from IE-mac \*/
* html .clearfix {
	height: 1%
}

.clearfix {
	display: block
}

.clear {
	clear: both;
}

body {
	background: #FFF;
	text-align: left;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
	color: #464646;
}

body #txt_img {
	/*width:918px;*/
	margin-bottom: 5px;
}

.thanks_msg {
	max-width: 1038px;
	min-width: 680px;
	width: 60%;
	margin: 5px auto;
	text-align: left;
}

h2 {
	font-size: 36px;
	font-weight: bold;
	color: #ff0000;
	margin-bottom: 20px;
	line-height: 1.2;
}

.thanks_msg p {
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 20px;
	line-height: 1.5;
}

.thanks_msg p img {
	vertical-align: text-top;
}

.thanks_msg p span {
	font-size: 28px;
	color: #ff0000;
}

.p_address {
	padding-top: 10px;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.2;
}

.shop_img {
	margin-bottom: 30px;
}

.shop_img img {
	height: 400px;
	margin: 5px auto;
}

.shop_logo {
	display: block;
	margin: 60px auto 20px;
}

/*Header*/
#header,
#address {
	border-bottom: #f15403 10px solid;
}

#header h1 {
	width: 60%;
	margin: 0 auto;
	padding: 30px 0;
}

/*Body*/
#body {
	background-image: url(../img/bg.jpg);
}

.area1 {
	background-color: #FFFF99;
	padding-bottom: 10px;
	text-align: center;
}

.area1-h1 {
	padding: 40px 0 40px 0;
	color: #ff0000;
	font-size: 60px;
	font-weight: bold;
	text-decoration: underline;
	text-decoration-thickness: 3px;
}

.area1-txt {
	font-size: 28px;
	font-weight: bold;
	line-height: 1.5;
}

.area2 {
	padding: 10px 0 10px 0;
}

.area2-txt {
	font-size: 30px;
	font-weight: bold;
	line-height: 1.5;
	text-align: center;
}

.area2-h2 {
	font-size: 30px;
	background-color: #ff0000;
	color: #ffffff;
	width: 840px;
	margin: 0 auto;
	padding: 5px 0 5px 0;
	text-align: center;
}

.grid-container {
	margin: 10px auto;
	width: 814px;

	display: grid;
	grid-template-columns: 50% 1fr 1fr;
	grid-template-rows: auto auto auto;

	display: -ms-grid;
	-ms-grid-columns: 50% 1fr 1fr;
	-ms-grid-rows: auto auto auto;
	border: solid 2px #000000;
	padding: 5px 10px 5px 10px;
}


.grid-item-store-name {
	font-size: 20px;
	font-weight: bold;
	line-height: 1.5;
	-ms-grid-column: 1;
	-ms-grid-row: 1;
}

.grid-item-store-info {
	font-size: 18px;
	font-weight: bold;
	line-height: 1.5;
}

.store-name {
	font-size: 40px;
}

.grid-item-item-txt {
	font-size: 20px;
	font-weight: bold;
	place-content: center;
	line-height: 1.5;
	text-align: center;
	-ms-grid-column: 2;
	-ms-grid-row: 1;
}

@media all and (-ms-high-contrast: none) {
	.grid-item-item-txt {
		padding-top: 20%;
	}
}

.grid-item-item-qr {
	place-content: center;
	line-height: 1.5;
	text-align: center;
	display: inline-block;
	-ms-grid-column: 3;
	-ms-grid-row: 1;
}

.grid-item-item-qr img {
	width: 150px;
	height: 150px;
}

/*Footer*/
#footer {
	width: 978px;
	height: 51px;
	margin: 0 auto 10px;
	border-left: 1px solid #EEE;
	border-right: 1px solid #EEE;
	overflow: hidden;
}

#footer div.left {
	width: 129px;
	height: 51px;
	border-right: 1px solid #eee;
	float: left;
}

#footer div.left a {
	width: 90px;
	height: 41px;
	padding: 5px 0 0 19px;
	display: block;
}

#footer div.right div.top ul {
	padding: 15px 0 0 15px;
	display: inline-block;
	list-style: none;
}

#footer div.right div.top ul li {
	height: 10px;
	margin: 2px auto;
	float: left;
}

#footer div.right div.top ul {
	padding: 15px 0 0 15px;
	display: inline-block
}

#footer div.right div.top ul li.au {
	width: 44px
}

#footer div.right div.top ul li.corporation {
	width: 100px
}

#footer div.right div.top ul li.company {
	width: 99px
}

#footer div.right div.top ul li.bar {
	width: 1px;
	margin: 0 14px 0 0
}

#footer div.right div.top ul li a {
	display: block;
	overflow: hidden;
	font-size: 10px;
	text-indent: -9999px;
	background-repeat: no-repeat
}

#footer div.right div.top ul li a:hover {
	opacity: .7;
	filter: alpha(opacity=70)
}

#footer div.right div.top ul li.au a {
	width: 42px;
	background-image: url(../img/link_btn_au.gif)
}

#footer div.right div.top ul li.corporation a {
	width: 113px;
	background-image: url(../img/link_btn_corporation.gif)
}

#footer div.right div.top ul li.company a {
	width: 83px;
	background-image: url(../img/link_btn_company.gif)
}

#footer div.right div.top img.copyright {
	padding: 21px 15px 0 0;
	float: right
}

#footer-sp {
	display: none
}

/*twitter*/
div.followme {
	display: table;
	margin: 0 auto 20px;
}

div.followme img,
div.followme p {
	display: table-cell;
	vertical-align: bottom;
}

div.followme p {
	padding-right: 10px;
	padding-bottom: 5px;
}

div.followme p a {
	color: #666;
}

/*reservation*/
.reservation_link {
	margin-top: 3em;
}

.reservation_link ul {
	list-style: none;
	display: table;
	margin: 0 auto;
}

.reservation_link ul li {
	display: table-cell;
	padding: 0 3em;
}

p.pc {
	display: inline
}

p.sp {
	display: none
}

.shop_info {
	display: grid;
	grid-template-columns: repeat(2, 540px);
	justify-content: center;
	gap: 10px 10px;
}

div.mall-map {
	margin-top: 5px;
	width: 500px;
	height: 398px;
	border: 1px solid #ddd;
	overflow: hidden;
}

@media screen and (max-width:640px) {
	body #txt_img {
		width: 90%;
	}

	p.pc {
		display: none;
	}

	p.sp {
		display: inline-block;
	}

	.p_address {
		text-align: left;
	}

	h2 {
		font-size: calc(100vw * 36 / 740);
	}

	.thanks_msg {
		width: 96%;
		max-width: 96%;
		min-width: 96%;
	}

	.thanks_msg p {
		font-size: calc(100vw * 24 / 740);
	}

	.thanks_msg p span {
		font-size: calc(100vw * 30 / 740);
	}

	.shop_img img {
		width: 90%;
	}

	.shop_logo img {
		width: 75%;
	}

	.shop_info {
		display: grid;
		grid-template-columns: repeat(1, 100%);
		justify-content: center;
		gap: 10px 0px;
	}

	div.mall-map {
		width: 90%;
		height: 90%;
		margin-top: 0px;
		margin-left: 20px;
	}

	.reservation_link img {
		width: 100%;
	}

	#header h1 {
		width: 100%;
	}

	div#address ul.shop_info {
		width: 100%;
		border: none;
	}

	div#address ul.shop_info li {
		margin: 0px auto;
		padding: 0;
	}

	/*----------------------------footer----------------------------*/
	#footer {
		width: 505px;
		display: none
	}

	#footer-sp {
		width: 100%;
		background-color: #fff;
		display: block;
		overflow: hidden
	}

	* html #footer-sp {
		text-align: center
	}

	#footer-sp div.inner {
		width: 100%;
		margin: 0 auto
	}

	#footer-sp div.inner a:hover {
		opacity: .7;
		filter: alpha(opacity=70)
	}

	#footer-sp div.inner div.sns-container {
		border-top: 1px solid #DDD;
		padding: 15px 0 15px 20px
	}

	#footer-sp div.inner div.list-container {
		padding: 0 10px 15px;
		background: #EEE;
		border-top: 1px solid #DDD
	}

	#footer-sp div.inner div.list-container ul {
		text-align: center
	}

	#footer-sp div.inner div.list-container ul li {
		display: inline-block;
		margin: 15px 10px 0 0
	}

	#footer-sp div.inner div.list-container ul li.last {
		margin-left: 0
	}

	#footer-sp div.inner div.list-container ul li a {
		height: 15px;
		display: block;
		overflow: hidden;
		text-indent: -9999px;
		font-size: 16px;
		background-repeat: no-repeat;
		line-height: 1em;
		text-decoration: none;
	}

	#footer-sp div.inner ul.company-container li.au a {
		width: 42px;
		background-image: url(../img/sp/spn_link_btn_au.gif)
	}

	#footer-sp div.inner ul.company-container li.corporation a {
		width: 113px;
		background-image: url(../img/sp/spn_link_btn_corporation.gif)
	}

	#footer-sp div.inner ul.company-container li.company a {
		width: 83px;
		background-image: url(../img/sp/spn_link_btn_company.gif)
	}

	#footer-sp div.inner div.logo-container {
		border-top: 1px solid #DDD
	}

	#footer-sp div.inner div.logo-container div.kddi {
		height: 75px;
		float: left
	}

	#footer-sp div.inner div.logo-container div.kddi img {
		margin: 17px 0 17px 15px
	}

	#footer-sp div.inner div.logo-container div.copyright {
		height: 75px;
		float: right
	}

	#footer-sp div.inner div.logo-container div.copyright img {
		margin: 33px 15px 33px 0
	}

	.area1-h1 {
		padding: 40px 0 40px 0;
		color: #ff0000;
		font-size: 40px;
		font-weight: bold;
		text-decoration: underline;
		text-decoration-thickness: 3px;
	}

	.area2-txt {
		font-size: 20px;
		margin: 0 10px 0 10px;
	}

	.area1-txt {
		font-size: 18px;
	}

	.area1 img,
	.area2 img {
		width: 98%;
	}

	.area2-h2 {
		font-size: 18px;
		width: 98%;
		margin: 0 auto;
		padding: 5px 0 5px 0;
	}

	.grid-container {
		margin: 10px auto;
		grid-template-columns: 50% 20% 1fr;
		width: 96%;
		padding: 5px;
	}

	.grid-item-store-name {
		font-size: 16px;
		font-weight: bold;
		line-height: 1.5;
	}

	.grid-item-store-info {
		font-size: 18px;
		font-weight: bold;
		line-height: 1.5;
	}

	.store-name {
		font-size: 26px;
	}

	.grid-item-item-txt {
		font-size: 15px;
		font-weight: bold;
		place-content: center;
		line-height: 1.5;
		text-align: center;
	}

	.grid-item-item-qr {
		place-content: center;
		line-height: 1.5;
		text-align: center;
	}

	.grid-item-item-qr img {
		width: 100%;
		height: 100%;
	}
}