/*
-------------------------------------------------*/
* {
	box-sizing: border-box;
}
body {
	position: relative;
	display: flex;
	flex-direction: column;
	background-color: #fff;
	background-image: url(../images/bg.gif);
	margin: 0;
	padding: 0;
	font: 16px "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color: #333;
	line-height: 1.6;
	-webkit-text-size-adjust: 100%;
}
h1,h2,h3,h4,h5,
div,p,dl,dt,dd,
ul,ol,li,
figure,form {
	margin: 0;
	padding: 0;
	font-size: 1em;
}
/* link ----------------------*/
a {
	color: #06f;
	transition: 0.5s;
}
a:hover {
	color: #f60;
	text-decoration: none;
}
a:focus {
	outline: none;
}

/* text --------------------*/
.com	{ padding: 10px 20px;	overflow: hidden; }
p+p	{ margin-top: 10px; }
.c	{ text-align: center; }
.r	{ text-align: right; }
.fl	{ float: left; }
.fr	{ float: right; }
.red	{ color: red; }
.blue	{ color: blue; }
.green	{ color: green; }
.pink	{ color: pink; }
.orange	{ color: orange; }
.purple	{ color: purple; }
.grey	{ color: grey; }
.brown	{ color: brown; }
.big	{ font-size: 1.25em; }
.small	{ font-size: 0.85em; }
[data-mark]		{ display: flex; }
[data-mark]::before	{ display: block; content: attr(data-mark); margin-right: 3px; }

/* list --------------------*/
ul {
	list-style-type: none;
}

/* image --------------------*/
img {
	border: none;
	vertical-align: bottom;
	max-width: 100%;
	width: auto;
	height: auto;
	user-select: none;
}
img.fl {
	margin-right: 10px;
	margin-bottom: 5px;
}
img.fr {
	margin-left: 10px;
	margin-bottom: 5px;
}

/* table --------------------*/
table {
	border: 1px solid #aaa;
	border-collapse: collapse;
}
table th,
table td {
	border: 1px solid #aaa;
	padding: 6px;
	text-align: left;
	font-weight: normal;
}

/* flexbox --------------------*/
[data-column] {
	display: flex;
	flex-wrap: wrap;
}
[data-column="2"]>*	{ width: calc(100% / 2); }
[data-column="3"]>*	{ width: calc(100% / 3); }
[data-column="4"]>*	{ width: calc(100% / 4); }
[data-column="5"]>*	{ width: calc(100% / 5); }
[data-column="6"]>*	{ width: calc(100% / 6); }


/*基本設定
==========================================================*/
/* レイアウト
------------------------------*/
#wrapper {
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	max-width: 1100px;
	width: 100%;
	min-width: 1100px;
	min-height: 100vh;
	height: 100%;
	margin: 0 auto;
}
header {
	position: relative;
	width: 100%;
	margin: auto;
}
.contents {
	position: relative;
/*	display: flex;*/
	flex: 1 1 auto;
	width: 100%;
	margin: 0 auto 15px;
	padding: 0;
}
footer {
	width: 100%;
	margin-top: auto;
	margin: auto;
	color: #00c;
}


/* header
------------------------------*/
header {
	position: relative;
	display: flex;
	align-items: center;
	background: orange;
	width: 98%;
	margin: 30px auto 0;
	padding: 10px 38px;
	text-align: center;
	color: #fff;
	line-height: 1.3;
}
header::before,
header::after {
	position: absolute;
	top: 0;
	content: '';
	width: 0;
	height: 0;
	z-index: 1;
}

header::before {
	left: 0;
	border-width: 38px 0 38px 20px;
	border-color: transparent transparent transparent #fff;
	border-style: solid;
}

header::after {
	right: 0;
	border-width: 38px 20px 38px 0;
	border-color: transparent #fff transparent transparent;
	border-style: solid;
}
header .inner {
	width: 100%;
}
header h1 {
	font-size: 1.5em;
}
header .head-date {
	font-size: 1.2em;
}

/* contents
------------------------------*/
.contents {
	margin-top: 20px;
}
.gurucyari-main-com {
	width: 96%;
	margin: auto;
	font-size: 1.1em;
}
.gurucyari-main-image {
	margin: 15px auto;
	text-align: center;
}
/* 楽しみ方 */
.gurucyari-enjoy {
	width: 94%;
	margin: auto;
}
.gurucyari-enjoy .enjoy-ttl {
	display: flex;
	align-items: center;
	font-size: 1.7em;
}
.gurucyari-enjoy .enjoy-ttl::before {
	content: url(images/cyari1.jpg);
}
.gurucyari-enjoy .enjoy-data {
	width: 94%;
	margin: auto;
}
.gurucyari-enjoy .enjoy-data dt {
	font-weight: bold;
}
.gurucyari-enjoy .enjoy-data dd {
	padding-left: 18px;
}
.gurucyari-enjoy .enjoy-data>div+div {
	margin-top: 15px;
}
/* 期間 */
.gurucyari-enjoy .enjoy-data .kikan dt,
.gurucyari-enjoy .enjoy-data .kikan dd [data-mark]::before {
	color: orange;
}
/* 参加 */
.gurucyari-enjoy .enjoy-data .sanka dt,
.gurucyari-enjoy .enjoy-data .sanka dd [data-mark]::before {
	color: #748e33;
}
/* レンタル */
.gurucyari-enjoy .enjoy-data .rental dt,
.gurucyari-enjoy .enjoy-data .rental dd [data-mark] {
	color: #748e33;
	font-weight: bold;
}
.gurucyari-enjoy .enjoy-data .rental dd .rental-tbl {
	margin: 10px 0 10px 18px;
	margin-left: 18px;
}
.gurucyari-enjoy .enjoy-data .rental dd .rental-tbl th {
	width: 600px;
}
.gurucyari-enjoy .enjoy-data .rental dd .rental-tbl td {
	width: 120px;
	text-align: center;
}
.gurucyari-enjoy .enjoy-data .rental dd .rental-note {
	margin-left: 18px;
	font-size: 0.95em;
}
/* 参加料金 */
.gurucyari-enjoy .enjoy-data .ryokin dt {
	color: #748e33;
}
/* その他 */
.gurucyari-enjoy .enjoy-data .etc dt {
	color: #748e33;
}

/* ギャラリー */
.gallery {
	width: 95%;
	margin: 20px auto;
}
.gallery>* {
	padding: 6px;
	text-align: center;
}
.gallery>* p {
	margin-top: 5px;
	text-align: left;
	font-size: 0.85em;
}

/* 問合せ */
.gurucyari-contact {
	text-align: center;
}
.gurucyari-contact .org {
	margin-bottom: 10px;
	font-size: 1.1em;
	color: #03f;
	font-weight: bold;
}

/* 問合せ */
.gurucyari-link {
	display: flex;
	justify-content: center;
	margin: 15px auto;
}
.gurucyari-link>* {
	padding: 10px;
}
.gurucyari-link>* a {
	display: flex;
	justify-content: center;
	align-items: center;
/*	border: 1px solid #ccc;
/*	width: 280px;
	height: 80px;*/
	text-align: center;
	text-decoration: none;
}
.gurucyari-link>* a img {
	width: 260px;
	height: 112px;
}

/* footer
------------------------------*/
footer {
	text-align: center;
}
footer small::before {
	content: "Copyright";
	margin-right: 5px;
}
footer small::after {
	content: "All Rights Reserved.";
	margin-left: 5px;
}


/*
#container {
/*	max-width: 1000px;
	width: 100%;*/
/*	margin: 0 auto;
	padding: 0;
}
header {
	display: block;
	background: none;
	border: 0;
	height: auto;
	text-align: center;
}
header h1 img {
	width: auto;
	height: auto;
}
.contents {
	display: block;
	border: 0;
	margin-top: 30px;
	padding: 0;
}
footer {
	border: 0;
}
.page-ttl {
	position: relative;
	display: flex;
	align-items: center;
	background: orange;
	width: 98%;
	margin: 0 auto 20px;
	padding: 10px 30px;
	line-height: 1.3;
}
.page-ttl::before, .page-ttl::after {
  position: absolute;
  content: '';
  width: 0px;
  height: 0px;
  z-index: 1;
}

.page-ttl::before {
  top: 0;
  left: 0;
  border-width: 25px 0px 25px 15px;
  border-color: transparent transparent transparent #fff;
  border-style: solid;
}

.page-ttl::after {
  top: 0;
  right: 0;
  border-width: 25px 15px 25px 0px;
  border-color: transparent #fff transparent transparent;
  border-style: solid;
}
.page-ttl h2 {
	width: auto;
	margin: 0 auto 0 0;
	text-shadow: none;
	font-size: 1.5em;
	color: #fff;
}
.page-ttl .date {
	font-size: 1.3em;
	color: #fff;
}

h3 {
	position: relative;
	display: flex;
	align-items: center;
	max-width: 900px;
	width: 98%;
	height: 60px;
	margin: 0 auto 10px;
	font-size: 1.7em;
	color: #333;
	font-weight: bold;
	text-shadow: none;
}
.play-ttl {
	background: url(images/cyari1.jpg) no-repeat;
	background-size: auto 55px;
	padding-left: 70px;
}
.sansaku-ttl {
	background: url(images/cyari2.jpg) no-repeat;
	background-size: auto 55px;
	padding-left: 70px;
}
h3+p {
	max-width: 900px;
	width: 98%;
	margin: 0 auto 20px;
}
.page-com {
	max-width: 900px;
	width: 98%;
	margin: 0 auto 20px;
	font-size: 1.2em;
}
.page-image {
	width: 98%;
	margin: 10px auto 20px;
	text-align: center;
}
.map {
	width: 98%;
	margin: 40px auto 0;
	text-align: center;
}
.shop {
	width: 98%;
	margin: 40px auto 0;
	text-align: center;
}

/* 内容 *//*
.note {
	max-width: 900px;
	width: 98%;
	margin: 0 auto;
}
.note dt {
	font-size: 1.1em;
	font-weight: bold;
}
.note dt.green {
	color: #748e33;
}
.note dt.orange {
	color: orange;
}
.note dd {
	margin-left: 20px;
}
.note dd ul li+li {
	margin-top: 5px;
}
.note dd ul.green>li::before {
	color: #748e33;
}
.note dd ul.orange>li::before {
	color: orange;
}
.note dd+dt {
	margin-top: 15px;
}
.note dd ol {
	counter-reset: cnt 0;
	list-style: none;
}
.note dd ol li {
	position: relative;
	padding-left: 22px;
}
.note dd ol li::before {
	counter-increment: cnt 1;
	position: absolute;
	left: 0;
	top: 3px;
	content: counter(cnt);
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	background: orange;
	width: 17px;
	height: 17px;
	padding-top: 1px;
	text-align: center;
	font-size: 0.9em;
	color: #fff;
}
.note.bg01 {
/*	background: url(images/cyari-image001.jpg) no-repeat;
	background-position: bottom right;*/
}
/* 予約受付 *//*
.yoyaku {
	max-width: 900px;
	width: 98%;
	margin: 20px auto;
}
.yoyaku .name {
	font-size: 1.5em;
	color: orange;
	font-weight: bold;
}
.yoyaku .telfax {
	display: flex;
}
.yoyaku .telfax b {
	font-size: 1.6em;
	margin-left: 10px;
}
.yoyaku .telfax .fax {
	margin-left: 50px;
}
.yoyaku p {
	color: #fb977f;
}

/* 問合せ *//*
.contact {
	max-width: 900px;
	width: 98%;
	margin: 20px auto;
}

/*--------------- 追記 -----------------*//*
.course-tbl {
	width: 90%;
	margin-top: 20px;
}
.course-tbl td dl.route {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}
.course-tbl td dl.route dt {
	width: 60px;
	margin: 0;
	font-size: 0.95em;
	font-weight: normal;
}
.course-tbl td dl.route dd {
	width: calc(100% - 100px);
}
.rental-tbl {
	width: 90%;
	margin-top: 10px;
}
.rental-tbl th {
	width: calc(100% - 100px);
	text-align: left;
	font-weight: normal;
}
.rental-tbl td {
	width: 100px;
	text-align: center;
}*/
