﻿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: top
}
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
}
* {
	margin: 0;
	padding: 0px;
	font-family: 'Lato', sans-serif
}
body {
	background: #fff;
	margin: 0;
	color: #5a5a5a;
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", Hiragino Kaku Gothic Pro, "ＭＳ Ｐゴシック", sans-serif
}
h1, h2, h3, h4, h5, h6 {
	font-family: 'Lato', sans-serif;
	font-weight: 300
}
.w {
	display: inline-block
}
p {
	padding: 0;
	margin-bottom: 12px;
	font-family: 'Lato', sans-serif;
	font-weight: 300;
	line-height: 26px;
	color: #666;
	margin-top: 10px
}
html, body {
	height: 100%
}
.alignleft {
	float: left
}
.alignright {
	float: right
}
.aligncenter {
	margin-left: auto;
	margin-right: auto;
	display: block;
	clear: both
}
.centered {
	text-align: center
}
.mt {
	margin-top: 50px
}
.mb {
	margin-bottom: 50px
}
.mtb {
	margin-top: 50px;
	margin-bottom: 50px
}
.mtb2 {
	margin-top: 100px;
	margin-bottom: 100px
}
.ptb {
	padding-top: 80px;
	padding-bottom: 80px
}
.clear {
	clear: both;
	display: block;
	font-size: 0;
	height: 0;
	line-height: 0;
	width: 100%
}
::-moz-selection {
color:#fff;
text-shadow:none;
background:#2B2E31
}
::selection {
	color: #fff;
	text-shadow: none;
	background: #2B2E31
}
*, *:after, *:before {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding: 0;
	margin: 0
}
a {
	padding: 0;
	margin: 0;
	text-decoration: none;
	-webkit-transition: background-color .4s linear, color .4s linear;
	-moz-transition: background-color .4s linear, color .4s linear;
	-o-transition: background-color .4s linear, color .4s linear;
	-ms-transition: background-color .4s linear, color .4s linear;
	transition: background-color .4s linear, color .4s linear;
	color: #4183D7
}
a:hover, a:focus {
	text-decoration: none;
	color: #696E74
}
.nopadding {
	padding: 0px !important;
	margin: 0px
}
.mv_msg {
	background: rgba(255,255,255,0.9);
	padding: .25em .5em;
	margin-top: .5em
}
.mv_msg p {
	font-weight: 700;
	color: #e00;
	font-size: 22px
}
.mv_msg small {
	display: inline-block;
	margin-top: .25em;
	font-size: .85em
}
#h {
	background: url(../img/header.jpg) no-repeat center top;
	text-align: center;
	background-attachment: relative;
	background-position: center center;
	height: 670px;
	width: 100%;
	color: white;
	-webkit-background-size: 100%;
	-moz-background-size: 100%;
	-o-background-size: 100%;
	background-size: 100%;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	-moz-justify-content: center;
	-ms-justify-content: center;
	justify-content: center;
	-ms-flex-pack: center;
	-webkit-align-items: center;
	-moz-align-items: center;
	-ms-align-items: center;
	align-items: center
}
#h .visual__catch {
	position: absolute;
	left: 15px;
	top: 15px
}
#h .visual__catch h1 {
	text-align: left;
	color: #fff;
	letter-spacing: 1px;
	text-shadow: 0 0 4px rgba(0,0,0,0.5);
	margin-right: 150px
}
#h .title {
	background: #e00;
	background: rgba(238,0,0,0.8);
	width: 100%;
	min-width: 30%;
	margin: auto;
	color: #fff;
	padding: 1em 2em
}
#h .title>p {
	color: #fff;
	font-size: 2em
}
#h .title .logo p {
	color: #fff;
	font-size: 3em;
	display: inline-block
}
#h .title .logo .logo__img {
	width: 320px;
	margin-left: 10px;
	vertical-align: -30px
}
#h .visual__col {
	position:fixed;
	right: 20px;
	top: 20px;
	padding: 1em;
	font-size: 20px;
	background: #e00;
	line-height: 1.5em;
	z-index: 1000;
}
#h .visual__col .tel {
	color: #fff
}
#h .visual__col .btn {
	margin-top: .5em;
	display: inline-block;
	background: #fff;
	padding: .5em 1em;
	color: #e00;
	border-radius: 5px;
	line-height: 1.25em
}
.event-banner {
	margin: 4em auto
}
.event-banner>h2 {
	font-size: 2em;
	font-weight: 700;
	color: #e00;
	text-align: center;
	margin-bottom: .25em
}
.event-banner .col {
	max-width: 640px;
	margin-left: auto;
	margin-right: auto;
	padding: 15px;
	text-align: center;
	background: #e00;
	position: relative
}
.event-banner .col>*+* {
	margin-top: .5em
}
.event-banner .col+* {
	margin-top: .75em
}
.event-banner .col p {
	color: #fff;
	font-weight: 700
}
.event-banner .col p.catch {
    font-size: 2em;
    line-height: 1.5em;
}
.event-banner .col .illust-01, .event-banner .col .illust-02 {
	position: absolute;
	display: block
}
.event-banner .col .illust-01 {
	left: -80px;
	top: -20px
}
.event-banner .col .illust-02 {
	right: -70px;
	bottom: -20px
}
.event-banner>p {
	text-align: center
}
#g {
	padding-bottom: 80px;
	padding-top: 80px;
	background: #f8f8f8
}
.event-banner .zeikomi   {
    font-size: 0.6em;
}
i {
	font-size: 60px
}
#f {
	padding-top: 40px;
	padding-bottom: 40px;
	background: #2f2f2f;
	color: white;
	text-align: center
}
#f h5 {
	text-transform: uppercase;
	letter-spacing: 1px;
	line-height: 24px
}
.contact-form label {
	color: #999
}
.contact-form input, .contact-form textarea {
	padding: 10px 12px;
	border-radius: 0;
	box-shadow: none;
	font-size: 14px;
	height: auto
}
.contact-form .form-send {
	text-align: center
}
.contact-form .form-send button {
	background: #52B3D9;
	border: 0;
	padding: 10px 30px;
	color: #fff;
	transition: 0.4s;
	cursor: pointer;
	font-size: 11px;
	letter-spacing: 1px;
	text-transform: uppercase;
	margin-top: 15px
}
.contact-form .form-send button:hover {
	background: #57c3ed
}
.contact-form .validate {
	display: none;
	color: red;
	margin: 0 0 15px 0;
	font-weight: 400;
	font-size: 13px
}
.contact-form .loading {
	display: none;
	color: #555;
	background: #fff;
	text-align: center;
	padding: 15px;
	margin: 15px 0
}
.contact-form .loading:before {
	content: "";
	display: inline-block;
	border-radius: 50%;
	width: 24px;
	height: 24px;
	border: 3px solid #18d26e;
	border-top-color: #eee;
	-webkit-animation: animate-loading 1s linear infinite;
	animation: animate-loading 1s linear infinite
}
@-webkit-keyframes animate-loading {
0% {
-webkit-transform:rotate(0deg);
transform:rotate(0deg)
}
100% {
-webkit-transform:rotate(360deg);
transform:rotate(360deg)
}
}
@keyframes animate-loading {
0% {
-webkit-transform:rotate(0deg);
transform:rotate(0deg)
}
100% {
-webkit-transform:rotate(360deg);
transform:rotate(360deg)
}
}
.contact-form .error-message {
	display: none;
	color: #fff;
	background: #ed3c0d;
	text-align: center;
	padding: 15px;
	font-weight: 600;
	margin: 15px 0
}
.contact-form .sent-message {
	display: none;
	color: #fff;
	background: #18d26e;
	text-align: center;
	padding: 15px;
	font-weight: 600;
	margin: 15px 0
}
body img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom
}
section {
	background: #fff
}
section:nth-child(2n) {
	background: #f8f8f8
}
section .container {
	padding: 60px 15px;
	max-width: 1200px;
	margin: 0 auto;
	position: relative;
	text-align: center;
	background-color: white;
}
section h2 {
	font-size: 1.5em;
	line-height: 1.5em;
	text-align: center;
	margin-bottom: 1.5em
}
section *+h2 {
	margin-top: 2em
}
section h3 {
	font-size: 1.25em;
	margin-bottom: 1em
}
section a {
	color: #e00;
	transition: .3s all
}
section a:hover, section a:focus {
	opacity: .7;
	color: #e00
}
section a.btn {
	display: inline-block;
	padding: 1em;
	font-size: 1.25em;
	background: #e00;
	color: #fff;
	border-radius: 5px;
	font-weight: 700
}
section .imgs_and_text {
	margin: 2em auto;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	-moz-justify-content: space-between;
	-ms-justify-content: space-between;
	justify-content: space-between;
	-ms-flex-pack: space-between;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap
}
section .imgs_and_text li {
	width: 30%
}
section .cols {
	margin-top: 2em;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	-moz-justify-content: space-between;
	-ms-justify-content: space-between;
	justify-content: space-between;
	-ms-flex-pack: space-between;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap
}
section .cols li {
	margin-top: 40px;
	width: 30%
}
section p, section ul, section dl, section table {
	line-height: 1.75em
}
section table {
	max-width: 100%;
	margin: 0 auto
}
section table th {
	padding-right: 2em
}
section ul.list {
	text-align: left;
	max-width: 65em;
	margin: .5em auto;
	padding-left: 1em
}
section ul.list li {
	list-style: disc
}
section ul.note {
	max-width: 60em;
	margin: .5em auto;
	text-align: left
}
section ul.note li {
	text-indent: -1em;
	padding-left: 1em
}
section ul.note li:before {
	content: "※"
}
section ul.note li * {
	text-indent: 0
}
section .gmap {
	position: relative;
	overflow: hidden;
	height: 450px;
	max-width: 100%
}
section .gmap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%
}
section .calendar {
	position: relative;
	overflow: hidden;
	width: 800px;
	height: 600px;
	max-width: 100%
}
section .calendar iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%
}
.sec01 {
	overflow: hidden;
	text-align: center
}
.sec01 .container:nth-child(2) {
	padding: 0;
	max-width: 100%
}
.sec02 .imgs_and_text li {
	width: 23%;
	margin-bottom: 40px
}
.sec02 .imgs_and_text li :nth-last-child(-n+4) {
	margin-bottom: 0
}
.sec04 .cols li {
	width: 40%
}
.sec04 .cols li:nth-child(1), .sec04 .cols li:nth-child(3) {
	width: 25%
}
.sec04 a {
	color: #666;
	text-decoration: none
}
.sec04 a:hover, .sec04 a:focus {
	color: #666;
	opacity: 1
}
.sec05 h2.option {
	margin-top: 3em
}
.sec05 table {
	font-size: 1.25em;
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: #CCCCCC;
}
.sec05 table th, .sec05 table td {
	border-bottom: 1px solid #ccc;
	padding: .5em
}
.sec05 table th {
	text-align: center;	
}
.sec05 table.option {
	width: 100%;
	max-width: 100%
}
.sec05 .cols {
	max-width: 640px;
	margin-left: auto;
	margin-right: auto
}
.sec05 .cols table {
	width: 65%
}
.sec08 .cols.ban {
	margin-bottom: 2em
}
.sec08 .cols.ban li {
	width: 23%;
	background: #ddd;
	font-weight: 700;
	padding: 2em .5em
}
.sec09 .num {
	font-size: 3em
}
.sec09 .num a:hover, .sec09 .num a:after {
	opacity: 1
}
.sec10 .calendar {
	margin: 1em auto
}
.sec11 .num {
	font-weight: 700;
	font-size: 1.5em;
	display: inline-block
}
.sec11 h2+p {
	margin-top: 1em
}
.sec11 a {
	color: #1b1b1b;
	text-decoration: underline
}
.sec11 a:hover, .sec11 a:focus {
	opacity: 1
}
.sec11 .contact-form {
	margin: 1em auto 0
}
.sec11 .form-note {
	color: #ff625f;
	margin: 1em auto 0
}
.sec11 .form-table {
	max-width: 60em;
	width: 100%;
	margin: 1em auto .5em;
	border-collapse: collapse;
	text-align: left;
	line-height: 1.25
}
.sec11 .form-table th, .sec11 .form-table td {
	padding: .5em
}
.sec11 .form-table th {
	width: 12em;
	font-weight: 700;
	text-align: right
}
.sec11 .form-table th em {
	color: #ff625f;
	font-style: normal;
	font-weight: 700
}
.sec11 .form-table input[type="text"], .sec11 .form-table input[type="email"], .sec11 .form-table input[type="tel"], .sec11 .form-table input[type="num"], .sec11 .form-table textarea {
	vertical-align: middle;
	box-sizing: border-box;
	width: 100%;
	border: 1px solid #ccc;
	font-size: 1em;
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", Hiragino Kaku Gothic Pro, "ＭＳ Ｐゴシック", sans-serif;
	padding: .5em .1em
}
.sec11 .form-table input[name="name"], .sec11 .form-table input[name="tel"] {
	max-width: 16em
}
.sec11 .form-table input[type="email"] {
	max-width: 32em
}
.sec11 .form-table input[type="email"], .sec11 .form-table input[name="tel"] {
	ime-mode: disabled
}
.sec11 .form-table textarea {
	min-height: 12em;
	padding: .1em
}
.sec11 .form-submit {
	margin-top: 2em;
	text-align: center
}
.sec11 .form-submit button {
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", Hiragino Kaku Gothic Pro, "ＭＳ Ｐゴシック", sans-serif;
	letter-spacing: 0;
	display: inline-block;
	background: #e00;
	color: #fff;
	padding: .75em 0;
	min-width: 250px;
	width: 40%;
	text-decoration: none;
	border: none;
	cursor: pointer;
	transition: all .3s;
	font-size: 1em;
	border-radius: 5px
}
.sec11 .form-submit button:hover {
	opacity: 0.7
}
.sec11 .form-error {
	color: #ff625f
}
.sec11 .privacy_col {
	margin: 1em auto;
	max-width: 100%;
	width: 75em;
	background: #fff;
	border: 1px solid #ccc;
	font-size: .85em;
	text-align: left;
	padding: 1em;
	overflow: auto;
	height: 15em
}
.sec11 .privacy_col p, .sec11 .privacy_col dl, .sec11 .privacy_col ul {
	line-height: 1.5em
}
.sec11 .privacy_col p {
	margin: 0
}
.sec11 .privacy_col .privacy-sign {
	text-align: right
}
.sec11 .privacy_col .privacy-sign+p {
	margin-top: 1em
}
.sec11 .privacy_col dt {
	margin-top: 1em;
	text-indent: -2em;
	padding-left: 2em
}
.sec11 .privacy_col dd {
	margin-bottom: 1em
}
.sec11 .privacy_col dd li {
	text-indent: -1em;
	padding-left: 1em
}
.sec11 .privacy_col .privacy-contact {
	margin-top: 1em
}
.sec11 .privacy_col a {
	color: #666;
	text-decoration: none
}
.sec11 .privacy_col a:hover, .sec11 .privacy_col a:focus {
	color: #666;
	opacity: 1
}
#sitemap {
	background: #f8f8f8
}
#sitemap .sitemap {
	padding: 3em 0;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	-moz-justify-content: center;
	-ms-justify-content: center;
	justify-content: center;
	-ms-flex-pack: center;
	-webkit-align-items: center;
	-moz-align-items: center;
	-ms-align-items: center;
	align-items: center;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap
}
#sitemap .sitemap li {
	margin: 1em
}
#sitemap .sitemap li a {
	color: #666
}
#copyrights {
	background: #222222;
	padding: 20px 0;
	text-align: center
}
#copyrights p {
	margin-bottom: 5px;
	color: #fff;
	font-size: 15px
}
#copyrights a {
	color: #52B3D9
}
#price .priceList {
    display: flex
}
#price .priceList table th {
    background-color: #fdfdfd; 
}



/*-------------------------タブレット：860pxまで-------------------------*/
@media screen and (max-width: 860px) {
.event-banner .col .illust-01, .event-banner .col .illust-02 {
	width: 100px
}
.event-banner .col .illust-01 {
	left: -7px
}
.event-banner .col .illust-02 {
	right: -7px
}
}
a.leadPrice , a:link.leadPrice  {
  padding-top: 10px;
  padding-bottom: 10px;
  display: block;
  margin-bottom: 10px;
  margin-top: 10px;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
  background-color: #ffff00;
  width: 240px;
  height: auto;
  color: #393939;
  padding-right: 3px;
  border-radius: 6px;
  padding-left: 3px;
  -webkit-border-radius: 6px;
}

/*-------------------------スマートフォン：640pxまで-------------------------*/
@media screen and (max-width: 640px) {
section .container {
	padding: 40px 8px
}
section h2 {
	margin-bottom: 1em
}
section p, section ul, section table {
	font-size: 14px
}
section ul.list {
	padding-left: 1.5em
}
section .calendar {
	height: 400px
}
.mv_msg p {
	line-height: 1.25;
	font-size: 16px
}
#h {
	height: 500px
}
#h .container {
	margin-top: 4em
}
#h .visual__catch {
	position: absolute;
	left: 8px;
	top: 8px
}
#h .visual__catch h1 {
	letter-spacing: 0;
	font-size: 14px
}
#h .title {
	padding: 6px 20px 10px
}
#h .title>p {
	font-size: 1em
}
#h .title .logo p {
	font-size: 1.5em;
	display: block
}
#h .title .logo .logo__img {
	width: 240px;
	margin-left: 0;
	vertical-align: bottom
}
#h .visual__col {
	top: 10px;
	right: 10px;
	font-size: 14px;
	padding: .5em
}
.event-banner {
	margin: 3em auto
}
.event-banner>h2 {
	font-size: 1.5em
}
.event-banner .col {
	padding: 30px 8px
}
.event-banner .col p.catch {
	font-size: 1.5em
}
.event-banner .col .illust-01, .event-banner .col .illust-02 {
	width: 80px
}
.event-banner .col .illust-01 {
	left: -7px;
	top: -8px
}
.event-banner .col .illust-02 {
	right: -7px;
	bottom: -10px
}
.sec01 .imgs_and_text li {
	width: 48%
}
.sec01 .imgs_and_text li:nth-child(3) {
	margin-top: 20px;
	width: 100%
}
.sec01 .container:nth-child(2) .gmap {
	height: 400px
}
.sec02 .imgs_and_text li {
	width: 49%
}
.sec02 .imgs_and_text li p {
	font-size: .9em
}
.sec04 .container>table {
	width: 100%;
	display: block
}
.sec04 .container>table thead, .sec04 .container>table tbody, .sec04 .container>table tr, .sec04 .container>table th, .sec04 .container>table td {
	display: block
}
.sec04 .container>table tr {
	border-bottom: 1px solid #ccc
}
.sec04 .container>table th {
	padding-top: .5em
}
.sec04 .container>table td {
	margin-left: 2em;
	margin-bottom: .5em
}
.sec04 .cols li {
	width: 100% !important
}
.sec05 table {
	font-size: 1em
}
.sec05 table th {
	width: 30%
}
.sec08 .cols.ban li {
	margin-top: 1em;
	width: 48%;
	font-size: .9em
}
.sec09 .num {
	font-size: 2em
}
.sec11 .container>p, .sec11 .container .form-note {
	text-align: left
}
.sec11 .form-table {
	display: block;
	margin-bottom: 1.5em
}
.sec11 .form-table thead, .sec11 .form-table tbody, .sec11 .form-table tr, .sec11 .form-table th, .sec11 .form-table td {
	display: block;
	padding: 0;
	width: 100%;
	text-align: left
}
.sec11 .form-table td {
	margin-top: .25em
}
.sec11 .form-table tr+tr {
	margin-top: 1em
}
.sec11 input {
	margin-top: 0
}
	#price .priceList {
    display: flex;
    flex-direction: column;
}
	#price .priceList table {
    margin-bottom: 30px
}

}
