﻿/* -----------------------------------
共通
-------------------------------------*/

html {
	overflow: auto;
}

body {
	text-align: center;
	font-family: 'Avenir', 'Helvetica Neue', 'Helvetica', 'Arial', 'Hiragino Sans', 'ヒラギノ角ゴシック', YuGothic, 'Yu Gothic', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic'
}

#wrap {
	width: 960px;
	margin: 0 auto;
}

img {
	max-width: 100%;
	vertical-align: bottom;
}

.clear {
	clear: both;
}

a img:hover {
	opacity: 0.7;
}

.ft_fixed {
	position: fixed;
	width: 100%;
	height: auto;
	bottom: 0;
	background: #383635;
	z-index: 10000;
}

.ft_fixed img {
	width: calc(88% / 3);
	float: left;
	padding: 2%;
}

@media only screen and (min-width: 767px) {
	.ft_fixed {
		display: none;
	}
}

/* -----------------------------------
ヘッダー
-------------------------------------*/

.fix-menu {
	height: auto;
	z-index: 9999;
	width: 100%;
	background: #FFFFFF;
	top: 0;
}

#header-box {
	width: 100%;
	border-top: solid 8px #e60012;
	position: relative;
	overflow: hidden;
	padding-bottom: 10px;
}

.mainLogo {
	position: absolute;
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 260px;
	padding-top: 5px;
}

.mainContact {
	width: 240px;
	float: right;
	padding: 7px 30px 0 0;
}

.acceptance {
	padding: 5px 0;
}

.acceptance p {
	font-size: 12px;
	display: inline;
}

@media (max-width: 1024px) and (min-width: 768px) {
	#css {
		width: 98%;
		margin: 0 1%;
	}

	#wrap {
		width: 768px;
		margin: 0 auto;
	}

	h1 {
		left: 272px;
	}

	.mainContact {
		padding: 7px 10px 0 0;
	}

	#header-nav li {
		font-size: 14px;
		display: inline;
		padding: 0 10px !important;
		font-weight: bold;
	}
}


/* -----------------------------------
ナビ→
-------------------------------------*/

#header-nav {
	width: 100%;
	text-align: center;
	padding-bottom: 10px;
}

#header-nav li {
	font-size: 14px;
	display: inline;
	padding: 0 20px;
	font-weight: bold;
}

#header-nav a {
	text-decoration: none;
	color: #000;
}

#header-nav li a:hover {
	opacity: 0.5;
}


/* -----------------------------------
フッター 
-------------------------------------*/

#pc_footer {
	width: 100%;
	height: 130px;
	background-color: #383635;
	position: relative;
	overflow: hidden;
}

#pc_footer p {
	font-size: 1vw;
	font-weight: bold;
	color: #FFF;
	text-align: left;
	line-height: 25px;
}

#pc_footer a {
	font-size: 1vw;
	font-weight: bold;
	color: #FFF;
	text-align: left;
	line-height: 25px;
}

.footer_left {
	position: absolute;
	top: 20%;
	left: 20%;
}

.footer_center {
	position: absolute;
	top: 20%;
	left: 30%;
}

.footer_right {
	position: absolute;
	top: 20%;
	left: 53%;
}

#pc_footer img {
	position: absolute;
	top: 20%;
	right: 15%;
}

#sp_footer {
	width: 100%;
	height: 200px;
	background-color: #383635;
	position: relative;
	padding-bottom: 100px;
}

#sp_footer p {
	padding: 10px 20px;
	font-size: 12px;
	font-weight: bold;
	color: #FFF;
	text-align: left;
	line-height: 25px;
}

#sp_footer a {
	padding: 10px 20px;
	font-size: 12px;
	font-weight: bold;
	color: #FFF;
	text-align: left;
	line-height: 25px;
}

#sp_footer p:first-child {
	text-align: center !important;
	padding: 5px 0 0 0;
}

@media only screen and (min-width: 768px) {
	#sp_footer {
		display: none;
	}

	#topMain_sp {
		display: none;
	}
}

@media only screen and (max-width: 767px) {
	#pc_footer {
		display: none;
	}

	#topMain {
		display: none;
	}
}


/* -----------------------------------
topMain - トップメイン
-------------------------------------*/

#swiper-wrapper-bg {
	position: relative;
}

.swiper-container {
	width: 100%;
}

#visualImg {
	position: relative;
}

#topMain {
	position: absolute;
	bottom: 0px;
	z-index: 999;
	background: rgba(255, 255, 255, 0.2);
	width: 100%;
	height: 0 auto;
}

#topMain ul {
	margin: 0 auto;
	display: inline;
}

#topMain ul li {
	display: inline-block;
	width: 10%;
	padding: 1%;
}

#topMain ul li img {
	width: 100%;
	height: 0 auto;
}

#topMain ul li a:hover img {
	background-color: rgba(255, 255, 255, 0.5);
	border-radius: 8px;
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
}

#topMain_sp {
	position: relative;
	background-color: #cf1522;
	width: 100%;
	height: 0 auto;
}

#topMain_sp ul {
	width: 100%;
	margin: 0 auto;
	display: inline;
}

#topMain_sp ul li {
	display: inline-block;
	width: 25%;
	padding: 2%;
}

#topMain_sp ul li img {
	width: 100%;
	height: 0 auto;
}


#topContents {
	width: 700px;
	margin: 0 auto;
	padding: 24px 0 80px 0;
	overflow: hidden;
}

.topInfo {
	clear: both;
	padding-bottom: 18px;
}

.topInfo p {
	font-size: 13px;
	padding: 5px 0 0 0;
}

.topBanner img {
	padding-bottom: 17px;
}

.topBottom-left {
	width: 215px;
	float: left;
}

.topBottom-right {
	padding-top: 35px;
	width: 420px;
	text-align: center;
	float: right;
}

.topBottom-right p:first-child {
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 1px;
}

.topBottom-right p:nth-child(2) {
	font-size: 28px;
	padding: 15px 0;
}

.topBottom-right p:nth-child(3) {
	font-size: 13px;
	letter-spacing: 1px;
}

.topFacebook {
	padding-top: 7px;
}

#map {
	width: 100%;
	height: 550px;
}


@media only screen and (max-width: 767px) {

	#map {
		width: 100%;
		height: 350px;
	}

	#wrap {
		width: 100%;
	}

	#topContents {
		width: 95%;
	}

	.topFacebook {
		width: 100%;
	}

	.topBottom-left {
		width: 100%;
		padding: 20px 0;
	}

	.topBottom-left img {
		width: 100%;
	}

	.topBottom-right {
		width: 100%;
	}

	.topBottom-right p:first-child {
		font-size: 17px;
	}

	.mainContact {
		width: 150px;
		padding: 7px 10px 0 0;
	}

	.acceptance {
		padding: 2px 0;
		float: left;
	}

	#header-box {
		padding-bottom: 10px;
	}

	#header-nav {
		display: none;
	}

	#header-nav-sp {
		width: 100%;
		text-align: center;
		padding-bottom: 10px;
	}

	#header-nav-sp li {
		font-size: 12px;
		display: inline;
		padding: 0 7px;
		font-weight: bold;
		line-height: 1.5rem;
	}

	#header-nav-sp a {
		text-decoration: none;
		color: #000;
	}

	.mainLogo {
		position: absolute;
		left: 0;
		right: 0;
		margin: 0 20px;
		width: 140px;
		padding-top: 15px;
	}

	#topMain ul li {
		width: 10%;
		padding: 9px;
	}

	footer {
		width: 100%;
		height: 50px;
		background-color: #3f3b3a;
		position: relative;
	}

	footer ul {
		text-align: center;
		padding-top: 13px;
	}

	footer ul li {
		font-size: 9px;
		font-weight: bold;
		display: inline;
		padding: 0 22px;

	}

	footer img {
		display: none;
	}
}

@media only screen and (min-width: 767px) {
	#header-nav-sp {
		display: none;
	}
}



/* -----------------------------------
recommended - おすすめ商品ページ
-------------------------------------*/
#wrap-recommended {
	width: 1100px;
	margin: 0 auto;
	position: relative;
}

.star-1 {
	position: absolute;
	top: 189px;
	left: 0;
	z-index: 2;
}

.star-2 {
	position: absolute;
	top: 688px;
	left: 0;
	z-index: 2;
}

.star-3 {
	position: absolute;
	top: 1340px;
	left: 0;
	z-index: 2;
}

.star-4 {
	position: absolute;
	top: 1993px;
	left: 0;
	z-index: 2;
}

#recommended {
	width: 960px;
	margin: 0 auto;
	padding: 30px 0;
	overflow: hidden;
	position: relative;
}

.recommended-top {
	position: relative;
	width: 100%;
	overflow: hidden;
}

.recommended-top img:nth-child(2) {
	float: right;
}


.plan-1 {
	background-color: #fbfaee;
	margin: 20px 0 50px 0;
	height: auto;
	padding-bottom: 20px;
}


.plan-1 img:first-child {
	width: 90%;
	display: block;
	margin: 0 auto;
	padding-top: 20px;
}

.plan-1 img:nth-child(5) {
	width: 90%;
	display: block;
	margin: 0 auto;
	padding-top: 20px;
}


.plan-menu {
	width: 90%;
	padding-top: 10px;
	margin: 0 auto;
}

.plan-menu-left {
	float: left;
	width: 50%;
	background-color: #8c5f32;
	color: #FFFFFF;
	text-align: center;
	font-size: 30px;
	font-weight: bold;
}

.plan-menu-right {
	float: right;
	width: 49%;
	background-color: #f3a52a;
	color: #FFFFFF;
	text-align: center;
	font-size: 30px;
	font-weight: bold;
}

.plan-menu-bottom {
	overflow: hidden;
	width: 90%;
	padding-top: 15px;
	margin: 0 auto;
}

.plan-menu-bottom-left {
	float: left;
	width: 50%;
	position: relative;
}

.plan-menu-bottom-left img:first-child {
	width: 100%;
	position: absolute;
	top: -20px;
}

.plan-menu-bottom-right {
	float: right;
	width: 49%;
}

.plan-menu-plus {
	width: "100%";
	height: 450px;
	position: relative;
}

.plan-menu-plus img:first-child {
	width: 250px;
	position: absolute;
	bottom: 0;
	right: 550px;
}

.plan-menu-plus img:last-child {
	width: 500px;
	position: absolute;
	bottom: 0;
	right: 20px;
}

.drink-menu {
	width: 90%;
	background-color: #8ec31f;
	margin: 0 auto;
	margin-top: 15px;
}

.drink-menu p {
	color: #FFFFFF;
	text-align: center;
	font-size: 30px;
	font-weight: bold;
}

@media (max-width: 1024px) and (min-width: 768px) {
	#css {
		width: 98%;
		margin: 0 1%;
	}

	#wrap-recommended {
		width: 100%;
		position: relative;
	}

	.star-1 {
		position: absolute;
		top: 166px;
		left: -10px;
		z-index: 2;
	}

	.star-2 {
		position: absolute;
		top: 581px;
		left: -10px;
		z-index: 2;
	}

	.star-3 {
		position: absolute;
		top: 1140px;
		left: -10px;
		z-index: 2;
	}

	.star-4 {
		position: absolute;
		top: 1703px;
		left: -10px;
		z-index: 2;
	}

	#recommended {
		width: 95%;
	}

	.plan-menu-plus {
		height: 370px;
	}

	.recommended-top p {
		position: absolute;
		top: 120px;
		left: 245px;
		display: inline-block;
		font-size: 13px;
		font-weight: bold;
	}

}



@media only screen and (min-device-width:320px) and (max-device-width:321px) {

	.plan-menu-plus img:last-child {
		width: 100%;
		position: absolute;
		top: 330px !important;
		bottom: 0;
		right: 0;
	}

	.plan-menu-plus {
		margin-bottom: 30px !important;
	}
}






@media only screen and (max-width: 767px) {

	#wrap-recommended {
		width: 100%;
		position: relative;
		height: auto;
	}

	.star-1 {
		position: absolute;
		top: 3.5%;
		left: -10px;
		z-index: 2;
	}

	.star-2 {
		position: absolute;
		top: 24%;
		left: -10px;
		z-index: 2;
	}

	.star-3 {
		position: absolute;
		top: 48%;
		left: -10px;
		z-index: 2;

	}

	.star-4 {
		position: absolute;
		top: 72%;
		left: -10px;
		z-index: 2;

	}

	#recommended {
		width: 95%;
		padding: 20px 0;
	}

	.recommended-top p {
		position: absolute;
		top: -0.5vh;
		left: 30vw;
		display: inline-block;
		font-size: 11px;
		font-weight: bold;
		text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.5);
	}

	.plan-1 {
		background-color: none;
	}

	.plan-1 img:first-child {
		width: 100%;
		padding-top: 0;
	}

	.plan-menu {
		display: none;
	}

	.plan-menu-bottom-left {
		width: 100%;
		position: relative;
	}

	.plan-menu-bottom-left img:first-child {
		width: 100%;
		position: absolute;
		top: 0px;
	}

	.plan-menu-bottom-right {
		width: 100%;
	}

	.plan-menu-plus {
		height: 10%;
		position: static;
	}

	.plan-menu-plus img:first-child {
		display: none;
	}

	.plan-menu-plus img:last-child {
		width: 100%;
		position: static;
	}
}





/* -----------------------------------
dish - 単品メニューページ
-------------------------------------*/

.dish-bg {
	position: relative;
}

.dish-bg-img {
	background-image: url(../../images/03_dish/dish_bg.jpg);
	background-size: cover;
	margin-top: 50px;
	height: 800px;
}

.dish-main {
	position: absolute;
	padding: 50px;
}

.dish-main p {
	position: absolute;
	font-weight: bold;
	font-size: 24px;
	top: 200px;
	color: #FFFFFF;
}

.dish_bt_1 {
	width: 30%;
	position: absolute;
	top: 490px;
	left: 250px;
}

.dish_bt_2 {
	width: 30%;
	position: absolute;
	top: 270px;
	left: 50px;
}

.dish_bt_3 {
	width: 30%;
	position: absolute;
	top: 490px;
	left: 650px;
}

.dish_bt_4 {
	width: 30%;
	position: absolute;
	top: 240px;
	left: 450px;
}


@media (max-width: 1024px) and (min-width: 768px) {
	#css {
		width: 98%;
		margin: 0 1%;
	}

	.dish_bt_1 {
		width: 30%;
		position: absolute;
		top: 490px;
		left: 150px;
	}

	.dish_bt_2 {
		width: 30%;
		position: absolute;
		top: 270px;
	}

	.dish_bt_3 {
		width: 30%;
		position: absolute;
		top: 490px;
		left: 500px;
	}

	.dish_bt_4 {
		width: 30%;
		position: absolute;
		top: 240px;
		left: 350px;
	}


}

@media only screen and (max-width: 767px) {

	.dish-main p {
		position: absolute;
		font-weight: bold;
		font-size: 13px;
		top: 80%;
		color: #FFFFFF;
	}

	.dish-bg-img {
		background-size: cover;
		margin-top: 20px;
		height: 700px;
	}

	.dish-main {
		position: absolute;
		top: -15px;
		padding: 0;
	}

	.dish_bt_1 {
		width: 55%;
		position: absolute;
		top: 200px;
		left: 45%;
	}

	.dish_bt_2 {
		width: 55%;
		position: absolute;
		top: 100px;
		left: 0;
	}

	.dish_bt_3 {
		width: 55%;
		position: absolute;
		top: 400px;
		left: 45%;
	}

	.dish_bt_4 {
		width: 55%;
		position: absolute;
		top: 300px;
		left: 0;
	}

}

/* -----------------------------------
dish-link - 単品メニューリンクページ
-------------------------------------*/

.dish-link-main {
	padding: 50px 0 0 0;
	overflow: hidden;
	position: relative;
}

.drink-bottle-1 {
	width: 250px;
}

.drink-bottle-2 {
	width: 40%;
	float: right;
}

.dish-link-box {
	padding-bottom: 50px;
	text-align: left;
}

.dish-link-box p {
	padding-top: 30px;
	font-size: 14px;
	font-weight: bold;
	letter-spacing: 0.1em;
}

.dish-link-box img:nth-child(2) {
	float: right;
}

table.dish-set-table-1 {
	width: 100%;
	border-collapse: collapse;
	text-align: left;
	line-height: 1.5;
	border-top: none;
	font-size: 16px;
}

table.dish-set-table-1 th {
	width: 50%;
	padding: 10px;
	vertical-align: top;
	border: 1px solid #ccc;
}

table.dish-set-table-1 td {
	width: 50%;
	padding: 10px;
	vertical-align: top;
	border: 1px solid #ccc;
}

table.dish-set-table-2 {
	width: 100%;
	border-collapse: collapse;
	text-align: center;
	line-height: 1.5;
	border-top: none;
	font-size: 22px;
}

table.dish-set-table-2 th {
	width: 50%;
	padding: 10px;
	vertical-align: top;
	border: 1px solid #ccc;
}

table.dish-set-table-2 td {
	width: 50%;
	padding: 10px;
	vertical-align: top;
	border: 1px solid #ccc;
}

table.dish-set-table-3 {
	width: 100%;
	border-collapse: collapse;
	text-align: left;
	line-height: 1.5;
	border-top: none;
	font-size: 22px;
	margin-top: 4vh;
}

table.dish-set-table-3 th {
	width: 60%;
	padding: 10px;
	vertical-align: top;
	border: 1px solid #ccc;
}

table.dish-set-table-3 td {
	width: 20%;
	padding: 10px;
	vertical-align: top;
	text-align: center;
	border: 1px solid #ccc;
}

table.dish-set-table-4 {
	width: 100%;
	border-collapse: collapse;
	text-align: left;
	line-height: 1.5;
	border-top: none;
	font-size: 22px;
	margin-top: 4vh;
}

table.dish-set-table-4 th {
	width: 30%;
	padding: 10px;
	vertical-align: top;
	border: 1px solid #ccc;
}

table.dish-set-table-4 td {
	width: 20%;
	padding: 10px;
	vertical-align: top;
	text-align: center;
	border: 1px solid #ccc;
}

.dish-link-main-footer {
	padding: 50px 0;
	overflow: hidden;
	position: relative;
	text-align: left;
}


@media (max-width: 1024px) and (min-width: 768px) {
	#css {
		width: 98%;
		margin: 0 1%;
	}

	.dish-link-main {
		width: 95%;
		margin: 0 auto;
	}

	.dish-link-main-footer {
		width: 95%;
		margin: 0 auto;
		padding: 0 0 50px 0;
		overflow: hidden;
		position: relative;
		text-align: left;
	}

}

@media only screen and (max-width: 767px) {

	.drink-bottle-1 {
		width: 100%;
	}

	.drink-bottle-2 {
		width: 100%;
		padding: 10px 0;
	}

	.dish-link-box img:nth-child(2) {
		padding: 10px 0;
	}

	.dish-link-main img {
		width: 100%;
	}

	.dish-link-main {
		padding-top: 10px;
		width: 95%;
		margin: 0 auto;
	}

	.dish-link-main-footer {
		width: 95%;
		margin: 0 auto;
		padding: 0 0 30px 0;
		overflow: hidden;
		position: relative;
	}

	.dish-link-main p {
		font-size: 12px;
		padding-top: 20px;
	}

	.dish-link-box {
		padding-bottom: 20px;
	}

	.dish-set-table-2 {
		position: inherit;
	}

	table.dish-set-table-3 {
		margin-top: 0px;
	}

	.dish-set-table-1 td {
		font-size: 50%;
	}

	.dish-set-table-2 td {
		font-size: 50%;
	}

	.dish-set-table-3 th {
		font-size: 50%;
	}

	.dish-set-table-3 td {
		font-size: 50%;
	}

	.dish-set-table-4 th {
		font-size: 50%;
	}

	.dish-set-table-4 td {
		font-size: 50%;
	}

	.dish-set-table-4 p {
		display: inline;
	}
}



/* -----------------------------------
price - 料金ページ
-------------------------------------*/

#price-main {
	width: 80%;
	margin: 0 auto;
	padding: 40px 0;
	overflow: hidden;
	padding-bottom: 125px;
}

.price-box-top {
	width: 12%;
}

.price-box-top p {
	font-weight: bolder;
	font-size: 27px;
	text-align: center;
}

.price-box-bottom {
	border-top: solid 1px #221815;
	position: relative;
}

.price-box-bottom p {
	padding-top: 2vh;
	font-size: 20px;
	font-weight: bold;
	position: absolute;
	top: 2vh;
	left: 5vw;
	line-height: 4vh;
}

.price-box-2 {
	margin-top: 25vh;
	width: 100%;
}

.price-box-2 img {
	margin: 0 0.5vw;
	width: calc(89% / 3);
}

@media (max-width: 1024px) and (min-width: 768px) {
	#css {
		width: 98%;
		margin: 0 1%;
	}

	#price-main {
		width: 90%;
	}

	.price-box-bottom p {
		font-size: 2vw;
		position: absolute;
		top: 1.5vh;
		left: 5vw;
	}

	.price-box-2 {
		margin-top: 18vh;
		width: 104%;
	}
}

@media only screen and (max-width: 767px) {
	#price-main {
		width: 90%;
		padding: 10px 0 80px 0;
	}

	#price-main img {
		width: 100%;
		margin-bottom: 20px;
	}

	.price-box-bottom p {
		font-size: 14px;
		line-height: 2.5vh;
	}

	.price-box-top {
		width: 30%;
	}

}

/* -----------------------------------
howto - ご利用の流れ
-------------------------------------*/

#howto {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding: 30px 0;
	overflow: hidden;
	position: relative;
}

.howto-1 {
	width: 100%;
	height: 6vh;
	padding: 3vh 0;
	position: relative;
}

.howto-1 p {
	position: absolute;
	font-size: 24px;
	font-weight: bold;
	left: 2vw;
}

.howto-2 {
	background-color: #f0f0f0;
	margin: 20px 0 50px 0;
	height: auto;
	padding-bottom: 20px;
}

.howto-2 img {
	display: block;
	margin: 0 auto;
	padding-top: 4vh;
}

.howto-item {
	width: 95%;
}

.howto-arrow {
	width: 3%;
	padding: 5vh 3vh 1vh 3vh;
	clear: both;
}

.howto-2 p {
	font-size: 16px;
	float: right;
	margin: 1vh 2vw 0 0;
}

.howto-3 {
	padding-bottom: 5vh;
	margin-left: auto;
	margin-right: auto;
}

.howto-3 p {
	padding: 2vh 0 0 0;
	font-size: 20px;
	font-weight: 500;
}

.howto-small-1 {
	width: 100%;
	padding-bottom: 5vh;
}

.howto-small-1 p {
	font-size: 14px;
}

.howto-small-2 {
	width: 100%;
	padding-bottom: 5vh;
}

.howto-small-2 p {
	font-size: 14px;
}

.howto-4 {
	text-align: center;
	padding: 5vh
}

@media (max-width: 1024px) and (min-width: 768px) {
	#css {
		width: 98%;
		margin: 0 1%;
	}

	#howto {
		width: 90%;
	}

	.howto-2 img {
		padding-top: 3vh;
	}

	.howto-1:first-child {
		margin: -30px 0 -25px 0;
	}

	.howto-small-1 {
		padding-bottom: 3vh;
		width: 80%;
	}

	.howto-small-2 {
		padding-bottom: 3vh;
		width: 90%;
	}

	.howto-arrow {
		padding: 0;
	}

	.howto-3 p {
		padding: 3vh 0 0 3vw;
		font-weight: 500;
	}
}

@media only screen and (max-width: 767px) {
	#howto {
		width: 95%;
	}

	.howto-1 p {
		position: absolute;
		font-size: 16px;
		left: 2vw;
	}

	.howto-2 p {
		font-size: 14px;
		float: right;
		margin: 1vh 2vw 0 0;
	}

	.howto-2 img {
		padding-top: 2vh;
	}

	.howto-2 img:last-child {
		width: 90%;
		margin-top: 1vw;
		margin: 0 auto;
	}

	.howto-1:first-child {
		margin: -5vh 0 -7vh 0;
	}

	.howto-3 p {
		font-size: 16px;
	}

	.howto-small-1 p {
		font-size: 14px;
	}
}

/* -----------------------------------
dogrun - ドッグラン
-------------------------------------*/

#dogrunMain {
	width: 960px;
	margin-left: auto;
	margin-right: auto;
	padding: 30px 0;
	overflow: hidden;
	position: relative;
}

.dogrunBox_01_inner_01 {
	position: relative;
}

.dogrunBox_01_inner_01 p {
	position: absolute;
	float: right;
	font-size: 1.5rem;
	top: 80px;
	left: 120px;
	font-weight: 600;
}

.dogrunBox_01_inner_02 {
	width: 960px;
	border-top: solid #221815;
	padding-top: 2vh;
}

.dogrunBox_01_inner_02_item {
	float: right;
	width: 32%;
}

.dogrunBox_01_inner_02_item p {
	font-size: 0.8rem;
	letter-spacing: 2px;
	padding: 0 0 10px 0;
}

.dogrunBox_02 {
	padding: 50px 0;
	line-height: 2rem;
}

.dogrunBox_02_inner_01 p {
	font-size: 1.5rem;
	font-weight: 600;
	display: inline;
}

.dogrunBox_02_inner_02 {
	width: 960px;
	border-top: solid #221815;
	padding-top: 15px;
}

.dogrunBox_02_inner_02_left {
	width: 50%;
	float: left;
}

.dogrunBox_02_inner_02_right {
	float: right;
	width: 50%;
}

.dogrunBox_02_inner_02 p {
	font-size: 1.2rem;
}

.dogrunBox_02_inner_02_left_leftside {
	width: calc(100% / 3);
	float: left;
}

.dogrunBox_02_inner_02_left_center {
	width: calc(120% / 3);
	float: left;
}

.dogrunBox_02_inner_02_left_rightside {
	width: calc(50% / 3);
	float: right;
}

.dogrunTextbox {
	background: #f01d88;
	float: right;
	border-radius: 1em;
}

.dogrunTextbox p {
	color: #FFFFFF;
	font-size: 0.7rem;
}

.dogrunBox_02_inner_02_right p {
	display: inline;
}

.dogrunBox_02_inner_03 {
	clear: both;
	width: 960px;
	text-align: center;
	padding-top: 20px;
}

.dogrunBox_02_inner_03 img {
	width: calc(95% / 3);
	padding: 0 5px 10px 5px;
}

.dogrunBox_03 {
	line-height: 2rem;
}

table.dogrun_set_table_01 {
	width: 100%;
	border-collapse: collapse;
	text-align: center;
	line-height: 1.5;
	border-top: none;
	font-size: 1.8vw;
}

table.dogrun_set_table_01 td {
	vertical-align: middle;
	width: calc(95% / 5);
	padding: 10px;
	border: 1px solid #ccc;
	font-size: 1rem;
}

.dogrunBox_04 {
	line-height: 2rem;
	padding: 50px 0 400px 0;
}

.dogrunBox_04_inner_left {
	width: 45%;
	height: 300px;
	float: left;
}

.dogrunBox_04_inner_right {
	width: 50%;
	float: right;
}

table.dogrun_set_table_02 {
	width: 100%;
	border-collapse: collapse;
	text-align: center;
	line-height: 1.5;
	border-top: none;
	font-size: 1.8vw;
}

table.dogrun_set_table_02 th {
	vertical-align: middle;
	padding: 10px;
	border: 1px solid #ccc;
	font-size: 1rem;
	background-color: #F8F8F8;
	  width: 10ch; /* 5文字分の幅を確保 */
  min-width: 120px; /* 縮みすぎ防止したいなら追加 */
}

table.dogrun_set_table_02 td {
	vertical-align: middle;
	padding: 10px;
	border: 1px solid #ccc;
	font-size: 1rem;
}

table.dogrun_set_table_03 {
	width: 47%;
	margin: 0 auto;
	border-collapse: collapse;
	text-align: center;
	line-height: 1.5;
	border-top: none;
	font-size: 1.8vw;
	padding-left: 15px;
}

table.dogrun_set_table_03 th {
	vertical-align: middle;
	padding: 10px;
	border: 1px solid #ccc;
	font-size: 1rem;
	background-color: #F8F8F8;
}

table.dogrun_set_table_03 td {
	vertical-align: middle;
	padding: 10px;
	border: 1px solid #ccc;
	font-size: 1rem;
}


table.dogrun_set_table_04 {
	width: 80%;
	margin: 0 auto;
	border-collapse: collapse;
	text-align: center;
	line-height: 1.5;
	border-top: none;
	font-size: 1.8vw;
	padding-left: 15px;
}

table.dogrun_set_table_04 th {
	vertical-align: middle;
	padding: 10px;
	border: 1px solid #ccc;
	font-size: 1rem;
	background-color: #F8F8F8;
}

table.dogrun_set_table_04 td {
	vertical-align: middle;
	padding: 10px;
	border: 1px solid #ccc;
	font-size: 1rem;
}


@media (max-width: 1024px) and (min-width: 768px) {
	#css {
		width: 98%;
		margin: 0 1%;
	}

	#dogrunMain {
		width: 95%;
	}

	.dogrunBox_01_inner_02 {
		width: 100%;
	}

	.dogrunBox_02_inner_03 {
		width: 100%;
	}

	.dogrunBox_02_inner_02 {
		width: 100%;
	}

	.dogrunBox_01_inner_01 p {
		top: 4vh;
	}

	.dogrunBox_01_inner_02_item p {
		font-size: 0.5rem;
		letter-spacing: 1px;
		padding: 0 0 10px 0;
	}
}

@media only screen and (max-width: 767px) {
	#dogrunMain {
		width: 95%;
	}

	#dogrunMain img {
		width: 100%;
	}

	.dogrunBox_01_inner_02 {
		width: 100%;
		border: none;
	}

	.dogrunBox_02_inner_03 {
		width: 100%;
	}

	.dogrunBox_02_inner_02 {
		width: 100%;
	}

	.dogrunBox_01_inner_01 img {
		display: none;
	}

	.dogrunBox_01_inner_01 p {
		display: none;
	}

	.dogrunBox_02 {
		clear: both;
	}

	.dogrunBox_01_inner_02 img {
		width: 45% !important;
		float: center;
		margin: 0 5px;
	}

	.dogrunBox_01_inner_02_item {
		margin: 3vh 0;
		clear: both;
		width: 100%;
	}

	.dogrunBox_01_inner_02_item img {
		margin-top: 3vh;
		width: 100% !important;
	}

	.dogrunBox_04_inner_right {
		width: 100%;
	}

	.dogrunBox_04_inner_left {
		width: 100%;
		margin-bottom: 3vh;
	}

	.dogrunBox_02_inner_02_right {
		float: none;
		width: 100%;
	}

	.dogrunBox_02_inner_02_left {
		width: 100%;
	}

	.dogrunBox_02_inner_02 p {
		font-size: 12px;
	}

	.dogrunBox_02_inner_01 p:nth-child(2) {
		font-size: 5px !important;
	}
}


/* -----------------------------------
areamap - エリアマップ
-------------------------------------*/


.areamapMain {
	width: 960px;
	margin-left: auto;
	margin-right: auto;
	padding: 30px 0;
	overflow: hidden;
	position: relative;
}

.areamapBox_01 img {
	padding-top: 20px;
}

.areamapBox_01_inner {
	text-align: center;
	padding-top: 10px;
}


.areamapBox_01_inner p {
	font-size: 1.5rem;
	display: inline;
}

.areamapBox_01_inner p:nth-child(2) {
	padding-left: 2vw;
	font-size: small;
}

.areamapBox_02 {
	padding: 50px 0 30px 0;
}

.areamapBox_02 p {
	font-size: 3rem;
	display: inline;
}

.areamapBox_02 p:nth-child(2) {
	padding-left: 2vw;
}

.areamapBox_03 {
	width: 100%;
	display: table;
	padding-bottom: 80px;
}

.areamapBox_03 img {
	margin-bottom: 1vh;
}

.areamapBox_03_innerLeft {
	width: 320px;
	display: table-cell;
	table-layout: fixed;
}

.areamapBox_03_innerLeft p {
	font-size: 1.7rem;
	margin-bottom: -5px;
}

.areamapBox_03_innerLeft img {
	margin-top: 10px;
}

.areamapBox_03_innerLeftBox {
	width: 270px;
}

.areamapBox_03_innerLeftBox p {
	font-size: small;
	padding: 10px 0 30px 0;
}

.areamapBox_03_innerCenter {
	width: 320px;
	display: table-cell;
	table-layout: fixed;
}

.areamapBox_03_innerCenter p {
	font-size: 1.7rem;
	margin-bottom: -5px;
}

.areamapBox_03_innerCenter img {
	margin-top: 10px;
}

.areamapBox_03_innerCenterBox {
	width: 270px;
}

.areamapBox_03_innerCenterBox p {
	font-size: small;
	padding: 10px 0 30px 0;
}

.areamapBox_03_innerRight {
	width: 320px;
	display: table-cell;
	table-layout: fixed;
}

.areamapBox_03_innerRight p {
	font-size: 1.7rem;
	margin-bottom: -5px;
}

.areamapBox_03_innerRight img {
	margin-top: 10px;
}

.areamapBox_03_innerRightBox {
	width: 270px;
}

.areamapBox_03_innerRightBox p {
	font-size: small;
	padding: 10px 0 30px 0;
}

@media (max-width: 1024px) and (min-width: 768px) {
	#css {
		width: 98%;
		margin: 0 1%;
	}

	.areamapMain {
		width: 90%;
	}

	.areamapBox_03_innerLeftBox {
		width: 230px;
		margin-right: 5px;
	}

	.areamapBox_03_innerCenterBox {
		width: 230px;
		margin-right: 5px;
	}

	.areamapBox_03_innerRightBox {
		width: 230px;
		margin: 0 5px;
	}

}

@media only screen and (max-width: 767px) {

	.areamapBox_01_inner p {
		display: inherit;
	}

	.areamapBox_01_inner p:nth-child(2) {
		padding-left: none;
		padding-top: 10px;
	}

	.areamapMain {
		padding-top: 0;
		width: 100%;
	}

	.areamapBox_02 p {
		display: inherit;
		text-align: center;
	}

	.areamapBox_02 p:first-child {
		font-size: 3em;
	}

	.areamapBox_03 {
		padding-bottom: 0;
	}

	.areamapBox_03_innerLeft {
		float: left;
		text-align: center;
		min-width: 100%;
		padding-bottom: 8vh
	}

	.areamapBox_03_innerLeftBox {
		min-width: 100%;
	}

	.areamapBox_03_innerCenter {
		float: left;
		text-align: center;
		min-width: 100%;
		padding-bottom: 8vh
	}

	.areamapBox_03_innerCenterBox {
		min-width: 100%;
	}

	.areamapBox_03_innerRight {
		float: left;
		text-align: center;
		min-width: 100%;
		padding-bottom: 8vh
	}

	.areamapBox_03_innerRightBox {
		min-width: 100%;
	}

	.areamapBox_02 p:nth-child(2) {
		padding-left: none;
	}
}

/* -----------------------------------
rooftop - 屋上BBQ
-------------------------------------*/

#rooftopMain {
	width: 960px;
	margin-left: auto;
	margin-right: auto;
	padding: 30px 0;
	overflow: hidden;
	position: relative;
}

.rooftopBox_01 img:first-child {
	float: right;
	padding-bottom: 30px;
}

.rooftopBox_02 {
	padding: 30px 0 10px 0;
	line-height: 2rem;
}

.rooftopBox_02_inner_01 p {
	font-size: 1.5rem;
	font-weight: 600;
	display: inline;
}

.rooftopBox_03 {
	width: 480px;
	float: left;
}

.rooftopBox_03_inner_01 {
	margin-bottom: 20px;
}

.rooftopBox_03_inner_01 p {
	font-size: 0.9rem;
	line-height: 1.5em;
}

.rooftopBox_04 {
	float: right;
	width: 480px;
	margin-top: 32px;
}

.rooftopBox_04 img {
	width: 48%;
	float: left;
}

.rooftopBox_04 img:nth-child(1) {
	margin: 0 6px 0 0;
}

.rooftopBox_04 img:nth-child(2) {
	margin: 0 0 0 6px;
}

.rooftopBox_04 img:nth-child(n + 3) {
	margin: 12px 6px 0 0;
}

.rooftopBox_05 img:nth-child(1) {
	width: 100%;
	margin: 10px 0 30px 0;
}

.rooftopBox_inner_left {
	width: 49%;
	float: left;
	margin-bottom: 30px;
}

.rooftopBox_inner_right {
	width: 49%;
	float: right;
	margin-bottom: 30px;
}

.rooftopPc_01 {
	overflow: hidden;
	padding: 20px 0;
}

.rooftopPc_01 img {
	float: left;
}

.rooftopPc_inner_01 {
	padding-left: 15px;
	margin-bottom: 20px;
}

.rooftopPc_inner_01 h2 {
	font-size: 1.5rem;
	font-weight: 600;
	display: inline;
	padding-left: 20px;
}

.rooftopPc_inner_01 p {
	font-size: 1.5rem;
	font-weight: 600;
	display: inline;
	padding-left: 20px;
}

.rooftopPc_02 img {
	width: calc(94% / 4);
	padding: 5px;
}

.rooftopPc_inner_01 p:nth-child(n + 3) {
	font-size: 0.9rem;
	line-height: 1.5em;
}


@media (max-width: 1024px) and (min-width: 768px) {
	#css {
		width: 98%;
		margin: 0 1%;
	}

	.rooftopPc_inner_01 p {
		padding-left: 15px;
	}

	.rooftopPc_02 img {
		width: calc(92% / 4);
		padding: 5px;
	}

	#rooftopMain {
		width: 90%;
	}

	.rooftopBox_02 {
		margin-top: 10px;
	}

	.rooftopBox_03 {
		width: 100%;
	}

	.rooftopBox_04 {
		width: 100%;
		margin-top: 32px;
	}

	.rooftopBox_03_inner_01 {
		width: 100%;
	}
}

@media only screen and (max-width: 767px) {

	#rooftopPc {
		display: none;
	}

	#rooftopMain {
		width: 95%;
		padding-top: 0;
	}

	.rooftopBox_03 {
		width: 100%;
	}

	.rooftopBox_04 {
		width: 100%;
	}

	.rooftopBox_03_inner_02 {
		text-align: center;
	}

	.rooftopBox_01 img {
		display: none;
	}

	.rooftopBox_05 img:first-child {
		width: 100%;
	}

	.rooftopBox_02_inner_01 {
		clear: both;
	}

	.rooftopBox_inner_right table {
		margin-bottom: 5vh;
	}

	.rooftopBox_inner_left {
		width: 100%;
		margin-bottom: 2vh;
	}

	.rooftopBox_inner_right {
		width: 100%;
		margin-bottom: 2vh;
	}

	.dogrun_set_table_02 tr th {
		font-size: 1.5em;
			  width: 10ch; /* 5文字分の幅を確保 */
  min-width: 120px; /* 縮みすぎ防止したいなら追加 */
	}

	table.dogrun_set_table_03 {
		width: 95%;
		margin-bottom: 20px;
	}

	.dogrun_set_table_03 tr th {
		font-size: 1.5em;
	}
}

@media only screen and (min-width: 767px) {
	#rooftopSp {
		display: none;
	}
}

/* -----------------------------------
contact - お問合せフォーム
-------------------------------------*/
#contact {
	text-align: left;
	font-weight: bold;
	font-size: 18px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding: 45px 0 60px 0;
	overflow: hidden;
	position: relative;
}

#contact h2 {
	padding-bottom: 30px;
}

.contactClear {
	padding: 30px 0 10px 0;
	clear: both;
	border-bottom: #000000 solid 1px;
}

.formbox {
	overflow: hidden;
	padding: 10px 0;
	width: 100%;
	height: 73px;
	border-bottom: #000000 solid 1px;
	box-sizing: border-box;
}

.formboxArea {
	overflow: hidden;
	padding: 10px 0;
	width: 100%;
	height: 200px;
	border-bottom: #000000 solid 1px;
	box-sizing: border-box;
}

.item {
	padding-top: 15px;
	width: 17%;
	float: left;
}

.form1 {
	width: 83%;
	height: 53px;
	box-sizing: border-box;
}

.form2 {
	width: 30%;
	height: 53px;
	float: left;
}

.form3 {
	width: 47%;
	height: 53px;
	float: left;
}

.freeArea {
	width: 83%;
	height: 180px;
	box-sizing: border-box;
}

.formword {
	padding-top: 15px;
	padding-left: 20px;
	height: 53px;
	float: left;
}

.formword2 {
	box-sizing: border-box;
	padding-top: 15px;
	width: 7.5%;
	height: 70px;
	float: left;
	text-align: center;
}

.radio {
	float: left;
	padding-top: 10px;
}

.send {
	text-align: center;
	padding: 30px;
}

.send input {
	margin-top: 3vh;
	width: 25%;
}

@media (max-width: 1024px) and (min-width: 768px) {
	#css {
		width: 98%;
		margin: 0 1%;
	}

	#contact {
		width: 90%;
		font-size: 16px;
	}

	.item {
		width: 30%;
	}

	.form1 {
		width: 70%;
	}

	.form2 {
		width: 18%
	}

	.form3 {
		width: 70%;
	}

	.freeArea {
		width: 70%;
	}

	.formword2 {
		width: 5%;
	}
}

@media only screen and (max-width: 767px) {
	#contact {
		padding-top: 0;
	}

	form {
		width: 90%;
		margin: 0 auto;
		font-size: 14px;
	}

	form p:first-child {
		padding-bottom: 3vh;
	}

	.item {
		float: none;
		width: 50%;
		padding-top: 0;
	}

	.formbox {
		height: auto;
	}

	.formboxArea {
		height: auto;
	}

	.form1 {
		width: 100%;
		float: none;
	}

	.formword {
		height: auto;
	}

	.form2 {
		width: 40%
	}

	.form3 {
		width: 100%
	}

	.freeArea {
		width: 100%;
		float: none;
	}

	.send input {
		width: 100%;
	}
}

/* -----------------------------------
agreement - 利用規約ページ
-------------------------------------*/
.agreement {
	font-size: 22px;
	text-align: center;
	margin-top: 20px;
}

.agreementBox {
	margin-bottom: 15px;
}

.agreementBox p {
	margin-bottom: 5px;
}

@media only screen and (max-width: 767px) {
	.agreement {
		margin-top: 10%;
	}

	.agreementBox {
		width: 90%;
		margin: 0 auto 15px;
	}
}

/* -----------------------------------
sample - 見出し
-------------------------------------*/

.sample_h2 {
	padding: 0.5em;
	/*文字周りの余白*/
	margin-top: 20px;
	margin-bottom: 20px;
	color: #494949;
	/*文字色*/
	font-size: 25px;
	/*背景色*/
	border-left: solid 10px #00AEE0;
}


.sample_h3 {
	padding: 0.2em 0.5em;
	color: #494949;
	font-size: 20px;
	margin-top: 30px;
	margin-bottom: 20px;
	border-left: solid 10px #00AEE0;
}


.box {
	margin: 10px 0;
	float: left;
	width: 100%;
	background: #ffffa1;
}

.box img {
	max-width: 40%;
	float: left;
}

.box p {
	margin: 0;
	padding: 10px;
}

.right {
	width: 60%;
	float: left;
}


.sample_left {
	float: left;
	margin-right: 2em;
	margin-bottom: 1em;
}

.sample_left img {
	float: left;
	margin-right: 10px;
}


.sample2_h2 {
	padding: 0.5em;
	/*文字周りの余白*/
	margin-bottom: 20px;
	color: #494949;
	/*文字色*/
	font-size: 25px;
	/*背景色*/
	border-left: solid 10px #FF0000;
}


.sample2_h3 {
	color: #494949;
	font-size: 20px;
	margin-top: 30px;
	margin-bottom: 20px;
	border-left: solid 10px #FF0000;
}

.sample p {
	font-weight: 700;
	font-size: 20px;
	margin: 10px 10px;
	padding: 10px;
	border-left: solid 10px #00AEE0;
}



/* -----------------------------------
breadcrumb - パンくずリスト
-------------------------------------*/

.breadcrumb_ol li {
	display: inline;
	list-style-type: none;
	font-weight: bold;
}

.breadcrumb_ol li:after {
	content: '>';
	padding: 0 3px;
	color: #555;
}

.breadcrumb_ol li:last-child:after {
	content: '';
}

.breadcrumb_ol li a {
	text-decoration: none;
	color: #00AEE0
}

.breadcrumb_ol li a:hover {
	text-decoration: underline;
}

/* -----------------------------------
responsive -　テキスト右
-------------------------------------*/

.sample_img {
	float: left;
	margin: 0 50px 10px 0;
}

/* -----------------------------------
responsive - レスポンシブ
-------------------------------------*/



@media screen and (min-width: 641px) {
	p_sample {
		max-width: 640px;
		height: auto;
	}
}

@media screen and (max-width: 640px) {
	p_sample {
		max-width: 320px;
		height: auto;
	}
}

/* -----------------------------------
responsive - 小タイトル
-------------------------------------*/

.sample_p {
	margin-top: 20px;
	border-bottom: solid 3px #FF8C00;
	position: relative;
}

.sample_p p {
	font-size: 20px;
	font-weight: 600;
	padding-bottom: 5px;
}

.sample_p:after {
	font-size: 20px;
	position: absolute;
	content: " ";
	display: block;
	border-bottom: solid 3px #FFDAB9;
	bottom: -3px;
	width: 30%;
}


/* -----------------------------------
リンク
-------------------------------------*/

.hanamiBox_inner_left {
	width: 49%;
	text-align: left;
	float: left;

}

.hanamiBox_inner_right {
	width: 49%;
	text-align: left;
	float: right;
}

.hanamiereaBox_inner_left {
	font-size: 17px;
	font-weight: 600;
	width: 49%;
	margin-top: 20px;
	margin-bottom: 20px;
	text-align: left;
	float: left;

}

.hanamiereaBox_inner_right {
	width: 49%;
	margin-top: 30px;
	margin-bottom: 20px;
	text-align: left;
	float: right;
}

.hanamiereaBox_inner_right img {
	margin-top: 20px;
	margin-bottom: 20px;
}


/* -----------------------------------
見出し２
-------------------------------------*/


.hanami_h2 {
	padding: 0.5em;
	/*文字周りの余白*/
	margin-top: 60px;
	margin-bottom: 20px;
	color: #000000;
	/*文字色*/
	font-size: 30px;
	/*背景色*/
	border-left: solid 10px #FF0000;
}


.hanami_h3 {
	padding: 0.1em 0.5em;
	color: #000000;
	font-size: 20px;
	margin-top: 50px;
	margin-bottom: 20px;
	border-left: solid 10px #FF0000;
}

.erea_h2 {
	margin-top: 100px;
	margin-bottom: 30px;
	color: #000000;
	/*文字色*/
	font-size: 25px;
	/*背景色*/
	border-left: solid 10px #FFA500;
}


.erea_h3 {
	color: #000000;
	font-size: 20px;
	margin-bottom: 10px;
	border-left: solid 10px #FFA500;
}

/* -----------------------------------
枠
-------------------------------------*/

.box1 {
	padding: 0.5em 1em;
	margin: 2em 0;
	font-weight: bold;
	border: solid 3px #FF0000;
}

.box1 p {
	margin: 0;
	padding: 0;
	color: red;
}


.red {
	color: #FF0000;
}




.table_td1 {
	color: #000000;
	font-size: 15px;
	font-weight: bold;

}

.table_tr1 {
	color: #3f3f3f;
	font-size: 11px;
	font-weight: bold;

}

@media screen and (min-width: 768px) {
	a[href^="tel:"] {
		pointer-events: none;
	}
}



/* -----------------------------------
枠２
-------------------------------------*/


.box5 {
	padding: 0.5em 1em;
	margin: 2em 0;
	font-weight: bold;
	font-size: 15px;
	color: gray;
	background: #adff2f;
	border: solid 3px #adff2f;
}


.box5 p {
	margin: 0;
	padding: 0;
}



.box6 {
	padding: 0.5em 1em;
	margin: 2em 0;
	font-weight: bold;
	font-size: 15px;
	color: gray;
	background: #ffb6c1;

}


.box6 p {
	margin: 0;
	padding: 0;
}




.moji1 {
	color: red;
	font-size: 50px;
	font-weight: bold;

}

.moji2 {
	color: red;
	font-size: 20px;
	font-weight: bold;

}

.moji3 {
	margin-top: 1%;
	color: black;
	font-size: 20px;
	font-weight: bold;
}


.box3 {
	padding: 0.5em 1em;
	margin: 2em 0;
	color: #2c2c2f;
	background: #cde4ff;
	/*背景色*/
}

.box3 p {
	margin: 0;
	padding: 0;
}

.center2 {
	display: block;
	margin-left: auto;
	margin-right: auto;
}


/* -----------------------------------
リンク
-------------------------------------*/

.link_sample {
	text-align: center;
	padding-top: 40px;
}



.btn {
	display: inline-block;
	max-width: 80%;
	text-align: left;
	background-color: red;
	border: 1px solid red;
	font-size: 16px;
	color: white;
	text-decoration: none;
	font-weight: bold;
	margin-top: 10px;
	margin-bottom: 80px;
	padding: 15px 30px;
	border-radius: 3px;
	transition: .5s;
}

.btn:hover {
	background-color: white;
	border-color: red;
	color: red;
}

.link_area {
	text-align: center;
	padding-top: 40px;
}



.btn_area {
	display: inline-block;
	max-width: 80%;
	text-align: left;
	background-color: white;
	border: 3px solid black;
	font-size: 16px;
	color: black;
	text-decoration: none;
	font-weight: bold;
	margin-top: 10px;
	margin-bottom: 80px;
	padding: 15px 10px;
	border-radius: 3px;
	transition: .5s;
}

.btn_area:hover {
	background-color: black;
	border-color: black;
	color: white;
}




/* -----------------------------------
テーブル
-------------------------------------*/

table.dogrun_set_table_07 {
	width: 100%;
	border-collapse: collapse;
	text-align: center;
	line-height: 1.5;
	border: 1px solid #2f4f4f;
}

table.dogrun_set_table_07 th {
	vertical-align: middle;
	padding: 16px;
	border: none;
	font-size: 20px;
	font-weight: bold;
	background-color: #f4a460;
}

table.dogrun_set_table_07 td {
	vertical-align: middle;
	padding: 5px;
	border: dashed 1px #dcdcdc;
	font-size: 15px;
}

table.dogrun_set_table_08 {
	width: 49%;
	border-collapse: collapse;
	text-align: center;
	line-height: 1.5;
	border: 1px solid #2f4f4f;
}

table.dogrun_set_table_08 th {
	vertical-align: middle;
	padding: 16px;
	border: none;
	font-size: 20px;
	font-weight: bold;
	background-color: #f4a460;
}

table.dogrun_set_table_08 td {
	vertical-align: middle;
	padding: 5px;
	border: dashed 1px #dcdcdc;
	font-size: 15px;
}




/* -----------------------------------
見出し0315
-------------------------------------*/

.price_h3 {
	position: relative;
	color: white;
	background: #3399ff;
	line-height: 1.4;
	padding: 0.5em 0.5em 0.5em 1.8em;
	margin-top: 30px;
	margin-bottom: 50px;
	font-size: 20px;
}

.price_h3:after {
	font-family: "Font Awesome 5 Free";
	content: "\f14a";
	position: absolute;
	left: 0.5em;
	/*左端からのアイコンまでの距離*/
}


.park_h2 {
	position: relative;
	color: white;
	background: #3399ff;
	line-height: 1.4;
	padding: 0.5em 0.5em 0.5em 1.8em;
	margin-top: 30px;
	margin-bottom: 50px;
	font-size: 20px;
}

.park_h2:after {
	font-family: "Font Awesome 5 Free";
	content: "\f14a";
	position: absolute;
	left: 0.5em;
	/*左端からのアイコンまでの距離*/
}

.box8 {
	max-width: 100%;
	margin: 2em 0;
	z-index: 1;
	border: solid 2px #f4a460;
}

.box8 .box-title {
	font-size: 1.2em;
	border: solid 2px #f4a460;
	background: #f4a460;
	padding: 10px;
	text-align: center;
	color: #FFF;
	font-weight: bold;
	letter-spacing: 0.05em;
}

.box8 p {
	padding: 15px 20px;
	margin: 0;
}


.box8 a {
	text-decoration: underline;
	text-decoration-color: Orange;
	color: #FF9900;
}


.box8 ul {
	margin-top: 5px;
	padding: 0.5em 1em 0.5em 2.3em;
	position: relative;
}

.box8 ul li {
	color: black;
	line-height: 1.5;
	padding: 0.2em 2em;
	list-style-type: none !important;
	font-size: 15px;
	font-weight: bold;
}

.box8 ul li:before {

	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f044";
	position: absolute;
	left: 1em;
	/*左端からのアイコンまでの距離*/
	color: black;
	/*アイコン色*/
}


.box10 {
	max-width: 80%;
	padding: 0.5em 1em;
	margin: 5px 0;
	color: white;
	background: red;
	font-weight: bold;
	font-size: 20px;
}

.box3 p {
	margin: 0;
	padding: 0;
}


/* -----------------------------------
ページトップ
-------------------------------------*/
.scrollTop {
	position: fixed;
	right: 20px;
	bottom: 150px;
	z-index: 10001;
	opacity: 0;
	transition: all 0.4s ease-in-out 0s;
}

.scrollTop a {
	font-size: 18px;
	color: #fff;
	background: #1856C9;
	padding: 20px;
}

.scrollTop a:hover {
	background: #44CAFF;
}

/* -----------------------------------
SDGsテーブル
-------------------------------------*/

table.dogrun_set_table_09 {
	width: 100%;
	border-collapse: collapse;
	text-align: center;
	line-height: 1.5;
	border: 2px solid #d3d3d3;
}

table.dogrun_set_table_09 th {
	vertical-align: middle;
	padding: 10px;
	border: none;
	color: black;
	font-size: 16px;
	font-weight: bold;
	background-color: #d3d3d3;
}

table.dogrun_set_table_09 td {
	vertical-align: middle;
	padding: 5px;
	border: dashed 1px #dcdcdc;
	font-size: 15px;
}

.box9 {
	max-width: 98%;
	margin: 2em 0;
	border: solid 2px #d3d3d3;
}

.box9 .box-title {
	font-size: 1.2em;
	border: solid 2px #d3d3d3;
	background: #d3d3d3;
	padding: 10px;
	text-align: center;
	color: #000000;
	font-weight: bold;
	letter-spacing: 0.05em;
}

.box9 p {
	padding: 15px 20px;
	margin: 0;
}


.box9 a {
	text-decoration: none;
	color: black;
}


.box9 ul {
	padding: 0.5em 1em 0.5em 2.3em;
	position: relative;
}

.box9 ul li {
	color: black;
	border-bottom: dotted 1px #000000;
	line-height: 1.5;
	padding: 0.2em 2em;
	list-style-type: none !important;
	font-size: 13px;
	font-weight: bold;
}

.box9 ul li:before {

	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f044";
	position: absolute;
	left: 0.5em;
	/*左端からのアイコンまでの距離*/
	color: black;
	/*アイコン色*/
}



.textline {
	font-size: 30px;
	font-weight: bold;
	color: #00AA00;
	border-bottom: solid 3px black;
	border-color: #00AA00;
	display: inline-block;
	padding-bottom: 10px;
}

.textline_p {
	font-size: 20px;
	padding-bottom: 50px;
}


/* -----------------------------------
見出し利用方法
-------------------------------------*/

.how_h3 {
  position: relative;
  color: #ffffff;
  background: #e60000;
  line-height: 1.4;
  padding: 0.5em 0.5em 0.5em 1.8em; /* 左にアイコン分の余白 */
  margin-top: 50px;
  margin-bottom: 10px;
  font-size: 20px;
}

.how_h3:after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;        /* Font Awesome の場合必須 */
  content: "\f14a";
  position: absolute;
  top: 50%;                /* 要素の高さの50%位置 */
  left: 0.5em;             /* 左余白 */
  transform: translateY(-50%); /* アイコン自身の高さ分ずらして中央に */
}

.how_h2 {
	position: relative;
	color: white;
	background: #ff3333;
	line-height: 1.4;
	padding: 0.5em 0.5em 0.5em 1.8em;
	margin-top: 30px;
	margin-bottom: 10px;
	font-size: 20px;
	color: #ffffff;
}

.how_h2:after {
	font-family: "Font Awesome 5 Free";
	content: "\f14a";
	position: absolute;
	left: 0.5em;
	transform: translateY(-50%); /* アイコン自身の高さ分ずらして中央に */
	/*左端からのアイコンまでの距離*/
}



/* -----------------------------------
見出し手順
-------------------------------------*/




.flow_table {
	width: 95%;
	border-collapse: collapse;
	margin: 0 auto;
	border: solid 0.5px black;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.22);

}

.flow_table tr {
	border: solid 0.5px black;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.22);
}

.flow.table tr:last-child {
	border-bottom: none;
}

.flow_table th {
	position: relative;
	text-align: left;
	width: 30%;
	background-color: #ff3333;
	color: white;
	text-align: center;
	padding: 10px;
	font-size: 18px;
	font-weight: bold;
}

.flow_table th p {
	font-size: 12px;
	font-weight: normal;
	margin: 0 auto;
}

.flow_table th:after {
	display: block;
	content: "";
	width: 0px;
	height: 0px;
	position: absolute;
	top: calc(50% - 10px);
	right: -10px;
	border-left: 10px solid #ff3333;
	border-top: 10px solid transparent;
	border-bottom: 10px solid transparent;
}

.flow_table td {
	text-align: left;
	width: 70%;
	text-align: center;
	background-color: #ffffff;
	padding: 20px;
	font-size: 16px;
	font-weight: bold;
}

.flow_table td p {
	font-size: 12px;
	font-weight: normal;
	margin: 0 auto;
}


/* -----------------------------------
3列
-------------------------------------*/
.dantai_h2 {
	text-align: left;
	position: relative;
	display: inline-block;
	margin-bottom: 1em;
	padding-bottom: 0.5em;
	/*文字周りの余白*/
	margin-top: 20px;
	color: #494949;
	/*文字色*/
	font-size: 25px;
}

.dantai_h2:before {
	content: '';
	position: absolute;
	bottom: -5px;
	display: inline-block;
	width: 60px;
	height: 5px;
	left: 0;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	background-color: red;
	text-align: left;
}

.newsbox {
	padding: 0.5em 1em;
	margin: 2em 0;
	background: -webkit-repeating-linear-gradient(-45deg, #ff830f, #ffb14b 3px, #ffb14b 3px, #ffb14b 7px);
	background: repeating-linear-gradient(-45deg, hsl(41, 100%, 65%), #ffb14b 3px, #ffb14b 3px, #ffb14b 7px);
}

.newsbox1 {
	display: inline-block;
	background: #000000;
	/*背景色*/
	padding: 0.3em 0.5em;
	/*文字周りの余白*/
	margin: 0 0.1em;
	font-size: 15px;
	font-weight: bold;
	color: white;
	/*文字を白に*/
	border-radius: 0.5em;
	/*角の丸み*/
}

.newsbox1_large {
	font-size: 18px;
	font-weight: bold;
	color: #ea5514;
	margin-top: 5px;
}

.newsbox1_small {
	font-size: 13px;
	font-weight: bold;
	color: #000000;
	margin: 0.5em 0;
}





.sp_hanami {
	display: none !important;
}


@media only screen and (max-width: 750px) {
	.pc_hanami {
		display: none !important;
	}

	.sp_hanami {
		display: block !important;
	}

	.img_hanami {
		max-width: 100%;
	}
}



.shiping {
	display: inline-block;
	background: #000000;
	/*背景色*/
	padding: 10px;
	/*文字周りの余白*/
	font-size: 13px;
	font-weight: bold;
	color: white;
	/*文字を白に*/
}

/*追加*/
@media screen and (min-width: 767px) {
	.area_img_container {
		display: flex;
		flex-wrap: wrap;
	}

	.area_img_container a {
		width: calc(100% / 3)
	}

}

.area_img_container a img {
	width: 100%;
	object-fit: contain;
}

.gentei_kakaku {
	max-width: 100%;
	margin: 2em 0;
	z-index: 1;
	border: solid 2px #f4a460;
}

.gentei_kakaku .box-title {
	font-size: 1.2em;
	border: solid 2px #f4a460;
	background: #f4a460;
	padding: 10px;
	text-align: center;
	color: #FFF;
	font-weight: bold;
	letter-spacing: 0.05em;
}

.gentei_kakaku ul {
	padding: 0.5em 1em 0.5em 2.3em;
	position: relative;
}

.gentei_kakaku ul li {
	color: black;
	line-height: 1.5;
	padding: 0.2em 2em;
	list-style-type: none !important;
	font-size: 15px;
	font-weight: bold;
}

.google_map iframe {
	-webkit-filter: grayscale(100%);
	-moz-filter: grayscale(100%);
	-ms-filter: grayscale(100%);
	-o-filter: grayscale(100%);
	filter: grayscale(100%);
}

.sns_icon {
	width: 250px;
	margin: 20px auto 40px;
	display: flex;
	justify-content: space-between;
}

.sns_icon a {
	width: calc(30% - 20px);
}

@media (max-width: 767px) {
	.sns_icon {
		margin: 20px auto;
	}
}

/*end*/


/**
大阪城BBQ.html
flex
追加
**/

.rooftopBox {
	display: flex;
	flex-wrap: nowrap;
	gap: 1%;
	justify-content: flex-start;
}

.rooftopBox_inner {
	flex-basis: calc((100% / 4) - 1%);

}

@media only screen and (max-width: 767px) {
	.rooftopBox {
		display: flex;
		flex-wrap: wrap;
		gap: 2vh 1%;
		justify-content: space-between;
	}

	.rooftopBox_inner {
		flex-basis: 49%;
	}
}

.addition-grid .addition-list {
	margin-top: 60px;
}

.addition-grid .addition-list .addition-items {
	width: 23%;
	margin-right: 2%;
	margin-bottom: 40px;
}

.addition-grid .addition-list .addition-items:nth-child(4n) {
	margin-right: 0;
}

.addition-list .addition-items h3 {
	font-size: 18px;
	margin-bottom: 10px;
}

.addition-list .addition-items .price {
	font-size: 32px;
}

.addition-list .addition-items .price span {
	font-size: 16px;
}

.addition-grid .addition-list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}

.addition-list .addition-items .price {
	color: #e60012;
	font-weight: bold;
	text-align: center;
}


/**/
@media only screen and (max-width: 767px) {
	.addition-grid .addition-list {
		margin-top: 5%;
	}

	.addition-grid .addition-list .addition-items {
		width: 49%;
		margin-right: 2%;
		margin-bottom: 3%;
	}

	.addition-grid .addition-list .addition-items:nth-child(2n) {
		margin-right: 0;
	}

	.addition-list .addition-items h3 {
		font-size: 4vw;
		margin-bottom: 2%;
	}

	.addition-list .addition-items .price {
		font-size: 6vw;
	}

	.addition-list .addition-items .price span {
		font-size: 4vw;
	}
}


.ttl-box {
	text-align: center;
}

.ttl-box h2 {
	display: inline-block;
	font-weight: bold;
	text-align: center;
	position: relative;
	margin-bottom: 2%;
}



.ttl-box h2::before,
.ttl-box h2::after {
	position: absolute;
	left: 0;
	content: '';
	width: 100%;
	height: 6px;
	box-sizing: border-box;
}

.ttl-box h2::before {
	top: 0;
	border-top: 2px solid #000000;
	border-bottom: 1px solid #000000;
}

.ttl-box h2::after {
	bottom: 0;
	border-top: 1px solid #000000;
	border-bottom: 2px solid #000000;
}

@media screen and (min-width: 1025px) {
	.ttl-box {
		margin: 160px 0 60px 0;
	}

	.ttl-box {
		text-align: center;
	}
}

@media only screen and (max-width: 767px) {
	.ttl-box h2 {
		min-width: 200px;
		font-size: 4.6vw;
		padding: 2% 3% 1% 3%;
		margin-bottom: 2%;
	}

	.ttl-box {
		margin: 10rem 0 10% 0;
	}

}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
	.ttl-box {
		margin: 160px 0 40px 0;
	}

	.ttl-box h2 {
		min-width: 220px;
		font-size: 22px;
		padding: 8px 20px 5px 20px;
		margin-bottom: 2%;
	}
}

@media screen and (min-width: 1025px) {
	.ttl-box h2 {
		min-width: 220px;
		font-size: 26px;
		padding: 8px 20px 5px 20px;
		margin-bottom: 2%;
	}
}

summary {
	/* display: list-item;以外を指定してデフォルトの三角形アイコンを消します */
	display: block;
}

summary::-webkit-details-marker {
	/* Safariで表示されるデフォルトの三角形アイコンを消します */
	display: none;
}

.summary_inner {
	cursor: pointer;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	padding: 16px 24px;
	border: 1px solid #fff0f0;
	font-weight: bold;
	color: #002255;
}

/* --------アイコンを作ります-------- */
.icon {
	display: block;
	position: relative;
	width: 24px;
	margin-left: 6px;
	flex-shrink: 0;
	transform-origin: center 43%;
	transition: transform 0.4s;
}

/* アコーディオンが開いた時のスタイル */
details[open] .icon {
	transform: rotate(180deg);
}

/* アイコンのバーのスタイル */
.icon::before,
.icon::after {
	content: "";
	position: absolute;
	display: block;
	width: 15px;
	height: 3px;
	background-color: #ff5050;
}

.icon::before {
	left: 0;
	transform: rotate(45deg);
}

.icon::after {
	right: 0;
	transform: rotate(-45deg);
}

/* --------summaryタグの疑似要素でアイコンを作る場合-------- */
.wrapper_pseudoElementsIcon .summary_inner::after {
	content: "";
	display: block;
	width: 25px;
	height: 16px;
	margin-left: 6px;
	flex-shrink: 0;
	background-image: url("icon.svg");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	transform-origin: center 43%;
	/* アコーディオンが閉じる時にアイコンをアニメーションさせます */
	animation: 0.4s close-animation;
}

@keyframes close-animation {
	from {
		transform: rotate(180deg);
	}

	to {
		transform: rotate(0deg);
	}
}

/* アコーディオンが開いた時にアイコンをアニメーションさせます */
details[open] .summary_inner::after {
	animation: 0.4s open-animation forwards;
}

@keyframes open-animation {
	from {
		transform: rotate(0deg);
	}

	to {
		transform: rotate(180deg);
	}
}

/* --------アコーディオンの中身のスタイル-------- */
.content {
	background-color: #fff0f0;
	padding: 24px 48px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

/* --------レイアウト用のスタイル-------- */
.wrapper {
	display: flex;
	margin: 0 auto;
	flex-direction: column;
}

.wrapper details {
	margin-bottom: 16px;
}

.wrapper details:last-child {
	margin-bottom: 0;
}

.wrapper_normalIcon,
.wrapper_pseudoElementsIcon {
	width: 700px;
	display: flex;
	flex-direction: column;
}

@media (min-width: 1071px) {
	.wrapper_normalIcon {
		margin-right: 24px;
	}
}

@media (max-width: 1070px) {
	.wrapper {
		flex-direction: column;
	}

	.wrapper_normalIcon {
		margin-bottom: 24px;
	}
}

@media (max-width: 760px) {

	.wrapper_normalIcon,
	.wrapper_pseudoElementsIcon {
		width: 100%;
	}
}

.wrapper_title {
	font-size: 22px;
}

/*------- Q&A -------*/
/* .faq-guide .faq-grid .faq-items dt {
	background: #e60012;
	color: #ffffff;
	font-weight: bold;
	text-align: center;
}

@media only screen and (max-width: 767px) {
	.faq-guide .faq-grid .faq-items dt {
		padding: 2%;
		font-size: 3.8vw;
	}

	.faq-guide .faq-grid .faq-items dd {
		font-size: 3.6vw;
		padding: 2% 3%;
	}
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
	.faq-guide .faq-grid .faq-items dt {
		padding: 10px;
		font-size: 16px;
	}

	.faq-guide .faq-grid .faq-items dd {
		font-size: 14px;
		padding: 10px 20px;
	}
}

@media screen and (min-width: 1025px) {
	.faq-guide .faq-grid .faq-items dt {
		padding: 10px;
		font-size: 18px;
	}

	.faq-guide .faq-grid .faq-items dd {
		font-size: 16px;
		padding: 20px 40px;
	}
} */

/* -------　出張BBQの流れ　------- */
.flow-grid .p-caption {
	text-align: center;
}

.flow-grid .p-caption span {
	background: linear-gradient(transparent 70%, #fff100 70%);
}

.flow-grid .flow-list {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	max-width: 1200px;
	margin: auto;
}

.flow-grid .flow-list-items {
	position: relative;
}

.flow-grid .flow-list-items::after {
	font-family: "Font Awesome 5 Free";
	font-weight: bold;
	content: "\f138";
	color: #000000;
	-webkit-font-smoothing: antialiased;
	display: inline-block;
	position: absolute;
	top: 50%;
	transform: translate(0%, -50%);
}

.flow-grid .flow-list-items:last-child::after {
	content: none;
}

@media only screen and (max-width: 767px) {
	.flow-grid .p-caption {
		font-size: 3.8vw;
		margin-bottom: 3%;
	}

	.flow-grid .flow-list-items {
		width: 33%;
		padding: 0 3%;
		margin-bottom: 3%;
	}

	.flow-grid .flow-list-items::after {
		font-size: 4vw;
		right: -6%;
	}

	.flow-grid .flow-list-items:nth-child(3)::after {
		content: none;
	}
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
	.flow-grid .p-caption {
		font-size: 18px;
		margin-bottom: 20px;
	}

	.flow-grid .p-caption br.sp_br {
		display: block;
	}

	.flow-grid .flow-list-items {
		width: 28%;
		padding: 0 20px;
		margin-bottom: 30px;
	}

	.flow-grid .flow-list-items::after {
		font-size: 24px;
		right: -12px;
	}

	.flow-grid .flow-list-items:nth-child(3)::after {
		content: none;
	}
}

@media screen and (min-width: 1025px) {
	.flow-grid .p-caption {
		font-size: 20px;
		margin-bottom: 30px;
	}

	.flow-grid .flow-list-items {
		flex-basis: calc((100% / 5) - 40px);
		padding: 0 20px;
	}

	.flow-grid .flow-list-items::after {
		font-size: 24px;
		right: -12px;
	}
}

.rooftopBox_inner_right table{
		margin-bottom: 2em;
}

.rooftopBox_inner_right .img_container{
	text-align: center;
}
.rooftopBox_inner_right .img_container img{
	width: 60%;
	margin-top: 2em;
	float: none;
}

.box10 {
    padding: 0.5em 1em;
    margin: 2em 0;
    font-weight: bold;
    border: solid 3px #000000;
	width: 100%;
}
.box10 p {
    margin: 0; 
    padding: 0;
}

.flex_box {
	width: 100%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 2%;
   }

@media only screen and (max-width: 767px) {
	.flex_box {
		width: 33%;
		display: flex;
		justify-content: space-between;
		margin-bottom: 2%;
	   }
	}

   .box30 {
    margin: 2em 0;
    background: #fbfaee;
	border-radius: 10px;
	padding: 15px 20px;
}
.box30 .box-title {
    font-size: 2.2em;
    background: #5fc2f5;
    padding: 4px;
    text-align: center;
    color: #FFF;
    font-weight: bold;
    letter-spacing: 0.05em;
	margin-bottom: 5%;
}
.box30 p {
    padding: 20px 0;
    margin: 0;
}

.img-box {
	text-align:center;
 }

.group_table {
	max width :100%;
	text-align: center;
	border-collapse: collapse;
	margin-bottom: 2%;
	display: table;
   }
   .group_table th {
	padding: 20px;
	background-color: #e3faf8;
	border: solid 2px #748ca5;
	vertical-align: middle;
	font-size: 1.2rem;
	font-weight: bold;
   }
   .group_table td {
	padding: 20px;
	border: solid 2px #748ca5;
	vertical-align: middle;
   }
   .group_table td p {
	color: #ff8c00;
	font-weight: bold;
	font-size: 1.2rem;
   }
   .group_table td:first-child {
	background: #e3faf8;
	font-weight: bold;
   }

   .nedan {
	display: inline-block;
   }

   .btn--orange,
a.btn--orange {
  color: #fff;
  padding: 5px 20px;
  background-color: #eb6100;
  border-radius: 20px;
  display: inline-block;
  margin-top: 5%;
}

.information_text {
color: #ea5514;
font-weight: bold;
}

.heads_up {
    padding: 0.5em 1em;
    margin: 2em 0;
    font-weight: bold;
	font-size: 20px;
	color: #ff0000;
    border: solid 3px #ff0000;	
	background-color: #FFF;
}

.heads_up p {
    margin: 0; 
    padding: 0;
}

/* -------　キャンペーンバナー　------- */

#popup-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6); /* 黒の半透明背景 */
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: all 0.5s ease;
  z-index: 9999;
}

#popup-modal.show {
  opacity: 1;
  visibility: visible;
}

.modal-content {
  background: #fff;
  padding: 30px 40px;
  border-radius: 12px;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
  text-align: center;
  font-size: 18px;
  max-width: 90%;
}

#modal-close {
  margin-top: 20px;
  background-color: #444;
  color: #fff;
  border: none;
  padding: 10px 20px;
  border-radius: 8px;
  cursor: pointer;
}

.guidance{
		max-width: 100%;
	margin: 2em 0;
	z-index: 1;
	border: solid 2px #f4a460;
}

.guidance .box-title {
	font-size: 1.2em;
	border: solid 2px #f4a460;
	background: #f4a460;
	padding: 10px;
	text-align: center;
	color: #FFF;
	font-weight: bold;
	letter-spacing: 0.05em;
}

.guidance p {
	padding: 15px 20px;
	margin: 0;
}


/*ビアガーデン用CSS*/

.brgn {
background: #ffde00;
padding: 50px 0;
font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;

}

.brgn img {
  border-radius: 12px;
  margin-top: 50px;
  margin-bottom: 50px;
  max-width: 700px;
  width: 100%;
}

.brgn-container {
  display: flex;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
}

.brgn-card {
  background: #fff;
  border: 2px solid #0066cc;
  border-radius: 16px;
  width: 320px;
  padding: 16px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.brgn-card h2 {
  background: #0072ce;
  color: #fff;
  padding: 10px; /* ここはそのままでOK（内側の余白） */
  margin: 0 0 10px 0; /* 上・左右を0、下に10pxのマージン */
  border-radius: 12px;
  font-size: 1.3rem;
  text-align: center;
  font-weight: bold;
}

.brgn-card img {
  width: 100%;
  border-radius: 12px;
  margin: 12px 0;
}

.brgn-price {
  font-size: 1.2rem;
  color: #333;
  text-align: center;
}

.brgn-note {
  text-align: center;
  color: #8b5e3c;
  font-weight: bold;
}

.brgn-menu {
  background: #f5f5f5;
  padding: 10px;
  border-radius: 12px;
  margin-top: 10px;
}

.brgn-menu h3 {
  margin: 0 0 6px;
  font-size: 1rem;
  font-weight: bold;
  color: #333;
  padding-top: 20px;
}

.brgn-menu p {
  font-size: 0.9rem;
  color: #000000;
  line-height: 1.6;
}

@media (max-width: 768px) {
  .brgn-container {
    flex-direction: column;
    align-items: center;
  }

  .brgn-card {
    width: 90%;
  }
}

.jewelry {
  overflow: hidden;
  border-radius: 20px;
}

.jewelry img {
    padding: 20px 0;
	border-radius: 20px;
}

.map-container {
  position: relative;
  width: 100%;
  padding-top: 56.25%; /* 16:9比率（9/16 = 0.5625） */
  border-radius: 20px;
  overflow: hidden;
  margin-top: 20px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
}

.map-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.Caution-Text {
	padding: 10px 0;
	font-size: 24px;
	font-weight: bold;
}

.jewelry-introduction {
	background-color: #000;
}

.app-container {
  max-width: 980px;
  margin: 0 auto;
  padding: 20px;
  display: grid;
  gap: 20px;
  grid-template-columns: 1fr;
  box-sizing: border-box;
}

@media (min-width: 768px) {
  .app-container {
    grid-template-columns: 1fr 1fr;
  }
}

.app-item {
  padding: 20px;
  align-items: center;
}

.app-item img {
  border-radius: 15px;
}

.app-item h3 {
  color: #fff;
  padding: 20px;
  font-size: 24px;
    font-family: "Shippori Mincho B1", serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.3rem;
}

.app-item p {
  color: #fff;
  padding: 20px;
  font-size: 14px;
    font-family: "Shippori Mincho B1", serif;
  font-style: normal;
}

.Caution-Text-line {
	text-decoration: underline;
  text-decoration-color: yellow;
  text-decoration-thickness: 5px;
}
