/*  RESET   */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

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

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}
q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none;
}

a img {
  border: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}
/*
 Base format

 */

@font-face {
	font-family: '源柔ゴシック';
	src:url('font/GenJyuuGothicX-P-Heavy.ttf') format('truetype');
	src:url('font/GenJyuuGothicX-P-Heavy.woff') format('woff');
}


html {
	font-size: 62.5%;
}
body {
  font-size: 1.4rem;
  color: #333;
  font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  height: 100%;
  line-height: 1.6;
  width: 100%;
}

p {
  margin-top: 0;
}

img {
  height: auto;
  max-width: 100%;
}

.oldie img {
  width: auto;
}

.cf:before,
.cf:after {
  content: "";
  display: table;
}

.cf:after {
  clear: both;
}

figure {
  margin: 0;
}


input[type="submit"] {
	-webkit-appearance: none;
	border-radius: 0;
}

/* table */

table {
  width: 100%;
  font-family:"メイリオ", Meiryo, sans-serif;
  border-collapse:collapse;
}

table th {
  font-weight:normal;
  vertical-align:top;
}

table th, table td {
	border-bottom:1px #CCCCCC solid;
	padding:13px;
	text-align: left;
}


/* margin */

.m-0 { margin: 0;}
.mt-0 { margin-top: 0;}
.mb-0 {  margin-bottom: 0px;}
.mb-5 {  margin-bottom: 5px;}
.mb-10 { margin-bottom:10px;}
.mb-20 { margin-bottom:20px;}
.mb-30 { margin-bottom:30px;}
.mb-40 { margin-bottom:40px;}
.mb-50 { margin-bottom:50px;}
.mb-60 { margin-bottom:60px;}
.mb-70 { margin-bottom:70px;}
.mb-80 { margin-bottom:80px;}
.mb-90 { margin-bottom:90px;}
.mb-100 { margin-bottom:100px;}

@media screen and (min-width: 768px) {
	.col-1 { width: 8.33333%; }
	.col-2 { width: 16.66667%; }
	.col-3 { width: 25%; }
	.col-4 { width: 33.33333%; }
	.col-5 { width: 41.66667%; }
	.col-6 { width: 48%; }
	.col-7 { width: 58.33333%; }
	.col-8 { width: 66.66667%; }
	.col-9 { width: 75%; }
	.col-10 { width: 83.33333%; }
	.col-11 { width: 91.66667%; }
	.col-12 { width: 100%; }
}

/* status */

.inner {
	max-width:980px;
	margin-right:auto;
	margin-left:auto;
}

.right { text-align: right; }
.center { text-align: center; }

.txt_s { font-size:1.2rem; }
.txt_m { font-size:1.6rem; }

.bold {
	font-family:"ヒラギノ角ゴ Pro W6", "Hiragino Kaku Gothic Pro", sans-serif;
	font-weight:bold;
}

@media screen and (min-width: 768px) {
	.overflow { overflow: hidden; }

	.fl-l { float: left; }
	.fl-r { float: right; }
	.pc-none { display:none; }
}
@media screen and (max-width: 767px) {
	.inner {
		width:90%;
	}
	.fl-l {
		margin-bottom:20px;
	}
	.sp-none { display:none; }
	.br:after {
		content: "\A" ;
		white-space: pre ;
	}
}

/* link */

a {
	outline: none;
	color:#CC0000;
	-webkit-transition: all .3s;
	transition: all .3s;
}
a:hover {
	text-decoration:none;
}
.opa:hover {
	opacity:0.8;
}

[class*="btn-type"] {
	display:inline-block;
	text-decoration:none;
}
.btn-type01 {
	font-size:1.6rem;
	font-weight:bold;
	color:#CC0000;
	background:#FFF000;
	border:3px #CC0000 solid;
	border-radius:4px;
	padding:12px 0;
	margin:0 3px 3px 0;
	position:relative;
	text-align:center;
	box-shadow:3px 3px 0px 0px #CC0000;
	-moz-box-shadow:3px 3px 0px 0px #CC0000;
	-webkit-box-shadow:3px 3px 0px 0px #CC0000;
}
.btn-type01:after {
	content:url(img/common/icn_blank_b.png);
	position:absolute;
	top:5px;
	right:5px;
	line-height:0;
}
.btn-type01:hover {
	margin:3px 0 0 0;
}

.btn-type02 {
	font-size:2.4rem;
	font-weight:bold;
	color:#FFF000;
	background:#CC0000;
	border-radius:12px;
	padding:30px 0;
	position:relative;
	box-shadow:0px 5px 0px 0px #9F0000;
	-moz-box-shadow:0px 5px 0px 0px #9F0000;
	-webkit-box-shadow:0px 5px 0px 0px #9F0000;
	line-height: 1;
}
.btn-type02:after {
	content:url(img/common/icn_blank_y.png);
	position:absolute;
	top:10px;
	right:10px;
	line-height:0;
}
.btn-type02:hover {
	box-shadow:none;
	-moz-box-shadow:none;
	-webkit-box-shadow:none;
	margin-top:5px;
	margin-bottom:-5px;
}
.btn-type02 span {
	font-size: 50%;
}

.btn-type03 {
	background:#FFF;
	padding:10px 15px;
	border-radius:3px;
	color:#CC0000;
	text-align:center;
}
.btn-type03:hover {
	background:#9F0000;
	color:#FFF;
}
.btn-type04 {
	font-size:1.6rem;
	font-weight:600;
	color:#333;
	background:#FFF;
	border-radius:3px;
	padding:5px 0;
	width:100%;
}
.btn-type04:hover {
	color:#CC0000;
}
.btn-type04:after {
	content:"\f0a9";
	font-family:FontAwesome;
	color:#CC0000;
	margin-left:5px;
}

@media screen and (min-width: 768px) {
	.btn-type01 {
		width:240px;
	}
	.btn-type02 {
		width:400px;
	}
}

@media screen and (max-width: 767px) {
	[class*="btn-type"] {
		width:100%;
	}
	.btn-type03 {
		padding:10px 0;
	}
}


/* title */
.title {
	font-family: '源柔ゴシック', sans-serif;
	font-size:3rem;
	text-align:center;
	letter-spacing:1px;
	color:#CC0000;
	margin-bottom:30px;
}
.title.white {
	color:#FFF;
	text-shadow:1px 1px 0px #9F0000,2px 2px 0px #9F0000;
}

[class*="ttl-type"] {
	font-size:1.6rem;
	font-family:"ヒラギノ角ゴ Pro W6", "Hiragino Kaku Gothic Pro", sans-serif;
	font-weight:bold;
	color:#CC0000;
	border-radius:4px;
}

.ttl-type01 {
	background:#FFF000;
	border:#CC0000 3px solid;
	box-shadow:3px 3px 0px 0px #CC0000;
	-moz-box-shadow:3px 3px 0px 0px #CC0000;
	-webkit-box-shadow:3px 3px 0px 0px #CC0000;
	padding:5px 10px;
	margin-bottom:12px;
}

.ttl-type02 {
	background:#FFD6D6;
	padding:12px 15px;
	margin-bottom:20px;
}

/* box */
.box-type01 {
	background:#FFF;
	padding:20px;
	border-radius:12px;
}

.box-type02 {
	border:#e53b3b 4px solid;
	border-radius:12px;
	background:#FFF;
}

.box-type02 h3 {
	font-family: '源柔ゴシック', sans-serif;
	font-size:2.4rem;
	letter-spacing:1px;
	color:#FFF;
	text-shadow:1px 1px 0px #9F0000,2px 2px 0px #9F0000;
	text-align:center;
	background:#e53b3b;
	padding:20px;
	position:relative;
}

.box-type02 h3:after {
	content:"";
	width:100%;
	height:5px;
	background:url(img/common/bg_wave_t.png) repeat-x;
	transform: scale(1, -1);
	position:absolute;
	bottom:0;
	left:0;
}

.box-type02 .box-inner {
	padding:25px 35px;
}

.box-type03 {
	border:#FFD6D6 3px solid;
	width:98%;
	margin-left:auto;
	margin-right:auto;
}

.box-type03 h4 {
	font-size:16px;
	font-weight:bold;
	text-align:center;
	color:#CC0000;
	background:#FFEAEA;
	padding:10px 0;
}
.box-type03 .box-inner {
	padding:20px;
}

@media screen and (max-width: 767px) {
	.box-type02 .box-inner,
	.box-type03 .box-inner  {
		padding:5%;
	}
}

/* list */

ul.circle li {
	padding-left:20px;
	position:relative;
	margin-bottom:15px;
}
ul.circle li:before {
	content:"";
	width:10px;
	height:10px;
	background:#e53b3b;
	position:absolute;
	border-radius:100px;
	left:0;
	top:5px;
}

ul.caution li:before{
	content:"※";
}
/* -----------------------------

         #header

-----------------------------*/
#header {
	background:#CC0000;
	padding:20px 0;
	text-align:center;
	margin-bottom:50px;
}
.logo img {
	max-height:100px;
}

/* -----------------------------

         footer

-----------------------------*/

#footer_wrap {
	background:#CC0000;
	color:#FFF;
}

#footer {
	max-width:980px;
	margin:0 auto;
	padding:25px 0;
}

#footer .copy {
	font-size:1rem;
}
#footer p a {
	color:#FFF;
}
#footer p a:hover {
	text-decoration:none;
}

@media screen and (min-width: 768px) {
	#footer .copy {
		text-align:right;
	}
}

@media screen and (max-width: 767px) {
	#footer {
		width:90%;
		text-align:center;
	}
}

/*entry */
ul.entry-list li {
	padding-bottom:5px;
	overflow:hidden;
}
@media screen and (min-width: 769px) {
	ul.entry-list li {
		display:inline-block;
		margin:0 10px;
	}
}
@media screen and (max-width: 767px) {
	ul.entry-list li {
		margin-bottom:15px;
	}
}

/* -----------------------------

         main

-----------------------------*/

.main_wrap {
	background:url(img/main/bg_main_2026.jpg) no-repeat center bottom;
	background-size:cover;
	text-align:center;
	padding-bottom:70px;
}

.main_wrap .date {
	max-width:980px;
	margin:0 auto 20px;
	position:relative;
	z-index:1;
}

.main_wrap .description {
	max-width:940px;
	margin:0 auto;
	font-size:1.6rem;
	font-weight:bold;
	color:#CC0000;
}

.main_wrap .main {
	position:relative;
	max-width:980px;
	margin:0 auto;
}


@media screen and (min-width: 768px) {
	.main_wrap .main {
		height:650px;
	}

	.main .title {
		position:absolute;
		top:135px;
		left:0;
		right:0;
		margin:auto;
	}

	.main .bbq {
		position:absolute;
		right:18px;
		top:255px;
	}
	.main .person {
		position:absolute;
		right:18px;
		bottom:-40px;
	}
	.main_wrap .fl-l:nth-child(2){
		margin-left:10px;
	}
}
@media screen and (max-width: 767px) {
	.main .title {
		margin-top:-10%;
	}
	.main .bbq, .main .person {
		display:none;
	}
	.main_wrap .main, .main_wrap .date {
		width:90%;
	}
	.main_wrap .box-type01 {
		width:80%;
		padding:5%;
	}
}

/* -----------------------------

         news

-----------------------------*/

ul.news_list {
	overflow-y:scroll;
	height:265px;
}
ul.news_list dl {
	padding:10px 0;
	border-bottom:#BBBBBB 1px dotted;
}

ul.news_list dd a{
	color:#CC0000;
	font-weight:bold;
}
ul.news_list dd a:hover {
	text-decoration:none;
}

/* -----------------------------

         about

-----------------------------*/
.about {
	background:#00B8EE url(img/about/bg_about.jpg) no-repeat center bottom;
	padding:55px 0;
	position:relative;
}

.about:before, .about:after {
	content:"";
	width:100%;
	height:5px;
	background:url(img/common/bg_wave_t.png) repeat-x;
	position:absolute;
}

.about:before {
	top:0;
}

.about:after {
	bottom:0;
	transform: scale(1, -1);
}


@media screen and (min-width: 768px) {
	.about {
		background-size:cover;
	}
	.about .box-type01{
		position:relative;
	}
	.about .box-type01:before {
		content:"";
		position:absolute;
		top:0;
		bottom:0;
		left:0;
		right:0;
		margin:auto;
		width: 2px;
		height: 95%;
		border-right:#e53b3b 2px dotted;
	}
}

/* -----------------------------

         info

-----------------------------*/

.info .box-type03 dl {
	margin-bottom:18px;
}

.info .box-type03 dt {
	font-weight:bold;
}

/* -----------------------------

         schedule

-----------------------------*/

.bg_blue {
	background:#FFEAEA;
	padding:80px 0;
}
ul.schedule dl {
	overflow:hidden;
	margin-bottom:10px;
}
ul.schedule dt, ul.schedule dd {
	float:left;
}
ul.schedule dt {
	color:#CC0000;
	font-weight:bold;
}

@media screen and (min-width: 768px) {
	.bg_blue .box-type02 {
		min-height:325px;
	}
	ul.schedule dt {
		width:20%;
	}
	ul.schedule dd {
		max-width:80%;
	}
}
@media screen and (max-width: 767px) {
	ul.schedule dt {
		width:25%;
	}
	ul.schedule dd {
		width:75%;
	}
}

/* -----------------------------

         youtube

-----------------------------*/
.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

/* -----------------------------

         entry

-----------------------------*/

.entry {
	background:#FFF000;
	padding:40px 0;
	text-align:center;
	color:#CC0000;
}

/* -----------------------------

         news

-----------------------------*/
.ttl-type01 span {
	font-size:1.2rem;
}
.news-body {
	padding-bottom:50px;
}
.result-btn {
    display: block;
    margin: 35px auto 30px;
}

/* ---------------------------------------

                contact

--------------------------------------- */
.form th span {
	font-size:1.2rem;
	font-weight:bold;
	background:#CE0000;
	color:#FFF;
	padding:0 5px;
	border-radius:3px;
	display:inline-block;
}
[class*="input-"],textarea,select {
	font-family: "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", 游ゴシック体, "Yu Gothic", YuGothic, メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size:1.4rem;
	padding:10px;
	border:solid 1px #ccc;
	border-radius:3px;
}
.input-m {
	width:240px;
}
.input-l {
	width:380px;
}
textarea {
	width:380px;
	height:200px;
}
.send {
	font-family: "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", 游ゴシック体, "Yu Gothic", YuGothic, メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	cursor:pointer;
	-webkit-transition: all .3s;
  	transition: all .3s;
}
@media screen and (min-width: 769px) {
	.form th {
		position:relative;
		padding-left:45px;
	}
	.form th span {
		position:absolute;
		left:0;
	}
}
@media screen and (max-width: 768px) {
	[class*="input-"],textarea,select {
		width: calc(100% - 20px);
}
}


/*///////////////////////////

190426

////////////////////////// */
.infoSudden{
	padding: 40px 15px;
}

.infoSudden h2{
	font-size:16px;
	font-weight:bold;
	text-align:center;
	margin-bottom:10px;
}

.infoSudden p{
	text-align:center;
}

@media screen and (max-width: 768px) {
	.infoSudden p{
		text-align:left;
	}
}


/*///////////////////////////

220329

////////////////////////// */
.btn-flex {
	display: flex;
	display: -webkit-flex;
	flex-wrap: wrap;
	justify-content: left;
}

@media screen and (min-width: 769px) {
	.btn-flex p:first-child {
		margin-right: 20px;
	}
}

@media screen and (max-width: 768px) {
	.btn-flex p {
		width: 100%;
	}
	.btn-flex p:first-child {
		margin-bottom: 10px;
	}
}


/*///////////////////////////

240726

////////////////////////// */
@media screen and (max-width: 767px) {
	.corsemap-gm {
		height: 330px;
	}
}


/*///////////////////////////

260209

////////////////////////// */
.bbq-ph-area {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.bbq-ph-area img {
  width: calc((100% - 60px) / 4);
  height: auto;
  display: block;
}
@media screen and (max-width: 767px) {
  .bbq-ph-area img {
    width: calc((100% - 20px) / 2);
  }
}

a.gray {
	pointer-events: none!important;
	filter: grayscale(1)!important;
}