@charset "UTF-8";

html {
	font-size:62.5%;
}
body {
	width: 100%;
	font-size:1.4rem;
	background: url("img/bg_b.jpg") no-repeat center;
	background-size: cover;
	background-position: 0 0;
	color: #FFF;
}
*, *::before, *::after {
	box-sizing:border-box;
}
.clearfix::after {
	content:'';
	display:block;
	clear:both;
}

img {
	width: 100%;
}

#wrap {
	width: 100%;
	margin: 0 auto;
}

header {
	max-width: 1000px;
	margin: 0 auto;
	text-align: center;
	padding: 30px 0;
}

header h1 {
	order: 2;
	flex: 2;
}

header .about {
	order: 1;
	flex: 1;
}

header .new_info {
	order: 3;
	flex: 1;
}

header h1 img {
	width: 20rem;
	height: auto;
}

header h2 {
	font-size: 2rem;
	margin-bottom: 1rem;
}

.new_info p {
	font-size: 1.6rem;
	margin-bottom: 1rem;
	text-align: center;
}

.new_info ul {
	display: flex;
	justify-content: center;
}

.about p {
	font-size: 1.5rem;
	line-height: 2.4rem;
}

main {
	max-width: 1000px;
	margin: 0 auto;
}

.kokubushuzo, .meguri {
	margin-bottom: 2vh;
}

section h1 {
	font-size: 2.4rem;
	margin-bottom: 25px;
	border-bottom: 2px solid #333;
	border-image: linear-gradient(to right, #333, #d01818) 1;
	padding: 0 0 8px 0;
}

#sec02 ul {
	display: flex;
	flex-wrap: wrap;
}

#sec02 ul li {
	width: 25%;
	padding: 0 1%;
	margin-bottom: 25px;
	text-align: center;
}

#sec02 ul li img {
	margin-bottom: 10px;
}


footer {
	width: 100%;
	background: #000;
	padding: 30px 0;
	text-align: center;
}

footer .inner {
	max-width: 1000px;
	margin: 0 auto;
}

footer .inner ul {
	display: flex;
	justify-content: center;
	margin-bottom: 30px;
}

footer .inner ul li {
	margin: 0 30px;
	border-bottom: 2px solid #333;
	border-image: linear-gradient(to right, #333, #d01818) 1;
	padding: 0 0 8px 0;
}

.pay img {
	width: 600px;
	height: auto;
}

#sec02 table {
	width: 100%;
	font-size: 1.6rem;
	line-height: 2.4rem;
}

#sec02 table h2 {
	font-size: 1.8rem;
	margin-bottom: 10px;
}

.mb15 {
	margin-bottom: 15px;
}

.mb30 {
	margin-bottom: 30px;
}

#sec02 table h2 {
	font-size: 1.8rem;
	margin-bottom: 10px;
	border-bottom: 1px solid #333;
	border-image: linear-gradient(to right, #333, #d01818) 1;
	padding: 0 0 8px 0;
}

#sec02 table th {
	width: 20%;
	vertical-align: middle;
	background-color: rgba(102,102,102,0.4);
	opacity: 0.8;
	border-bottom: 2px solid rgba(0,0,0,0.8);
	text-align: center;
	padding: 16px 12px;
}

#delivery table {
	width: 100%;
}

#delivery table th {
	width: 35%;
	vertical-align: middle;
	background-color: rgba(102,102,102,0.4);
	opacity: 0.8;
	border-bottom: 2px solid rgba(0,0,0,0.8);
	text-align: center;
	padding: 16px 12px;
	font-size: 1.4rem;
}

#sec02 table td {
	padding: 16px 0 16px 24px;
}

#delivery table td {
	padding: 16px 0;
	vertical-align: middle;
	text-align: center;
	border: 1px solid rgba(102,102,102,0.4);
}

.map {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	/* 16:9のアスペクト比 */
	height: 0;
	margin-bottom: 15px;
}

.map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.totop {
	text-align: center;
	padding: 30px 0;
}

.totop div{
	display: inline-block;
	font-size: 3rem;
	border-bottom: 1px solid #333;
	border-image: linear-gradient(to right, #333, #d01818) 1;
	padding: 0 0 8px 0;
}

#order, #payment, #delivery, #cancel {
	font-size: 1.6rem;
	line-height: 2.4rem;
	margin-bottom: 40px;
}

#order h2, #payment h2, #delivery h2, #cancel h2 {
	font-size: 1.8rem;
	margin-bottom: 10px;
}

#order a, .em {
	text-decoration: underline;
	font-size: 2.2rem;
}

#payment .pay {
	padding: 15px 0;
}

.notice {
	font-size: 1.4rem;
}

.meguri_txt {
	font-size: 1.6rem;
	line-height: 2.8rem;
}

.meguri_sec h2 {
	font-size: 1.8rem;
	margin-bottom: 15px;
}

@media screen and (min-width:1000px) {
	.report {
		width: 262px;
	}
}

@media screen and (max-width:768px) {
	.pc {
		display: none;
	}
	header, main, footer {
		width: 100%;
	}
	.pay img {
		width: 80%;
	}
	header {
		padding: 15px 4%;
		text-align: center;
	}
	header h1 {
		margin-bottom: 1rem;
	}
	header h1 img {
		width: 100%;
	}
	.sp_mv {
		margin-bottom: 15px;
	}
	.about {
		margin-bottom: 20px;
		border-bottom: 2px solid #333;
		border-image: linear-gradient(to right, #333, #d01818) 1;
		padding: 0 0 8px 0;
	}
	.new_info ul {
		align-items: flex-start;
	}
	.new_info ul li {
	}
	.new_info ul li img {
		width: 70%;
		height: auto;
		align-self: flex-start;
	}
	section {
		padding: 15px 4%;
	}
	section h1 {
		font-size: 1.9rem;
		margin-bottom: 15px;
		padding: 0 0 6px 0;
	}
	#sec02 ul li {
		width: 50%;
		padding: 0 2%;
		margin-bottom: 15px;
	}
	footer {
		padding: 0 0 15px;
	}
	footer .inner ul {
		margin-bottom: 10px;
		flex-wrap: wrap;
	}
	footer .inner ul li {
		margin: 0 10px 10px;
		padding: 0 0 6px 0;
		font-size: 1.1rem;
		width: 40%;
	}
	#sec02 table {
		width: 100%;
		font-size: 1.4rem;
		line-height: 1.8rem;
	}
	#sec02 table th {
		width: 32%;
	}
	#sec02 table th {
		padding: 12px 0;
	}

	#sec02 table td {
		padding: 12px 0 12px 12px;
	}
	#sec02 table h2 {
		font-size: 1.6rem;
	}
	.totop {
		padding: 10px 0 15px;
	}

	.totop div{
		display: inline-block;
		font-size: 2rem;
		padding: 0 0 4px 0;
	}
	
	#order h2, #payment h2, #delivery h2, #cancel h2 {
		font-size: 1.6rem;
		margin-bottom: 5px;
	}
	#order a, .em {
		text-decoration: underline;
		font-size: 1.8rem;
	}
	#order, #payment, #delivery, #cancel {
		font-size: 1.4rem;
		line-height: 2rem;
		margin-bottom: 0;
		padding: 10px 4%;
	}
	#payment .pay02 {
		padding: 10px 0;
	}
	.mb30 {
		margin-bottom: 10px;
	}
	.pay {
		margin-bottom: 10px;
	}
	#delivery table th {
		width: 30%;
		padding: 10px  ;
		font-size: 1.2rem;
	}
	#delivery table td {
		padding: 10px 0;
		font-size: 1.2rem;
	}
	.meguri_txt {
		font-size: 1.4rem;
		line-height: 2.2rem;
	}
	.meguri_sec {
		margin-bottom: 20px;
	}
	.meguri_sec h2 {
		font-size: 1.6rem;
		margin-bottom: 10px;
	}
	.mb15 {
		margin-bottom: 10px;
	}
}

@media screen and (min-width:769px) {
	header {
		display: flex;
		flex-direction: row;
		align-items: flex-end;
	}
	.about {
		text-align: start;
	}
	.sp {
		display: none;
	}
	.new_info {
		text-align: end;
	}
	.report {
/*		width: 25.5vw;*/
		position: absolute;
		top: 2rem;
		right: 2rem;
	}
	#sec01 {
		position: relative;
		max-width: 100vw;
		margin-bottom: 30px;
	}
	.insta, .blog {
		padding: 0 10px 0 0;
	}
	a[href^="tel:"]{
		pointer-events: none;
	}
	.pay {
		margin-bottom: 15px;
	}
	.pay02 {
		padding: 10px 0;
	}
	.pay02 img {
		width: 470px;
	}
	article {
		display: flex;
		flex-wrap: wrap;
	}
	.meguri_sec {
		padding: 15px;
		width: calc(100% / 2);
	}
}