@charset "utf-8";
@import url('https://fonts.googleapis.com/earlyaccess/roundedmplus1c.css');
@import url('https://fonts.googleapis.com/css?family=Oswald');
@import url('https://fonts.googleapis.com/css?family=Sacramento');
/*リセット*/
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, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, input, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, object, embed {
	margin: 0px;
	padding: 0px;
	border: 0px;
	outline: 0px;
}
dl, dt, dd, ol, ul, li {
	list-style: none;
}
img {
	border: 0;
}
li {
	list-style: none;
}
input, button, textarea, select, optgroup, option {
	font-family: inherit;
	font-size: inherit;
	font-style: inherit;
	font-weight: inherit;
}
b {
	font-weight: bold
}
.sponly {
	display: none
}
/***************************************
 * Global
 ***************************************/
 
* {
	padding: 0;
	margin: 0;
}
html {
	height: 100%;
}
body {
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
	font-size: 14px;
  /* for IE6/7 */
  *font-size:small;
  /* for IE Quirks Mode */
  *font:x-small;
	line-height: 1.5;
	color: #484848;
	width: 100%;
	height: 100%;
	overflow-x: hidden;
}
/***************************************
 * Common
 ***************************************/


.clearfix:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
.clearfix {
	min-height: 1px;
}
* html .clearfix {
	height: 1px; /*¥*//*/ height: auto; overflow: hidden;/**/
}
a {
	color: #0857a9;
	text-decoration: none;
}
img {
	vertical-align: bottom;
}
a:hover {
	text-decoration:none;
}
a:active {
	text-decoration:none;
}
input, select, textarea {
	font-size: 100%;
}
button {
	padding: 5px 40px;
	border-radius: 5px;
	color: #fff;
	font-size: 90%;
	font-weight: bold;
	cursor: pointer;
}
.element2 {
	display: block;
}
.gray {
	background-color: #eeeeee;
}
.fl_left {
	float: left
}
.fl_right {
	float: right
}
.clear {
	clear: both
}
/***************************************
 * Layout
 ***************************************/
 
#container {
	width: 100%;
	height: 100%;
	margin: 0;
}
div.wrap {
	width: 960px;
	padding: 0;
	margin: 0 auto;
	position: relative;
}
/*==================
 * Header
 */
.sp_only_320, .sp_only {
	display: none
}
header {
	padding: 5px 0
}
header h1 a {
	display: block;
	background: url(../images/logo.svg) no-repeat;
	width: 277px;
	height: 50px;
	text-indent: -9999px;
	float: left;
	background-size: 100%
}
div#mainImg {
	background: url(../images/mainImg.jpg) no-repeat center top;
	background-size: cover;
	width: 100%;
	height: 550px;
	position: relative;
}
div#mainImg div.h1Wrap {
	position: absolute;
	bottom: -2px;
	width: 100%;
	height: 50px
}
div#mainImg div.h1Wrap div.wrap {
	width: 960px;
	position: relative;
	height: 100%
}
div#mainImg div.wrap {
	height: 100%
}
div#mainImg h1 {
	background: url(../images/title_new2.png) no-repeat;
	width: 811px;
	height: 206px;
	position: absolute;
	bottom: 20px;
	left: 0;
	text-indent: -9999px
}
div#mainImg div.wrap img {
	position: absolute;
	right: 0;
	top: 220px
}
div#mainImg div.wrap p.copy {
	background: url(../images/copy.png) no-repeat;
	width: 709px;
	height: 120px;
	position: absolute;
	top: 20px;
	left: 0%;
	text-indent: -9999px
}
div#mainImg div.wrap a.tel {
	display: block;
	width: 214px;
	height: 214px;
	border-radius: 50%;
	color: white;
	text-align: center;
	background: #ed89aa;
	box-sizing: border-box;
	padding: 30px 0 0 0;
	position: absolute;
	right: 0px;
	top: -30px
}
div#mainImg div.wrap a.tel h2 {
	background: url(../images/tel.svg) no-repeat 30px center;
	font-size: 18px;
	background-size: 20%;
	margin-bottom: 5px;
	line-height: 1.4em
}
div#mainImg div.wrap a.tel p.number {
	font-family: 'Oswald', sans-serif;
	font-size: 26px;
	line-height: 1.6em;
	margin-bottom: 5px
}
div#mainImg div.wrap a.tel p.number strong {
	font-size: 38px
}
div#mainImg div.wrap a.tel p.small {
	font-size: 12px
}

@media (max-width:1400px) {
}

@media (max-width:959px) {
div#mainImg div.h1Wrap svg {
	position: absolute;
	bottom: 0;
}
div#mainImg div.wrap img {
	right: 10px;
	top: 180px;
	width: 180px
}
div#mainImg div.wrap {
	background-size: 150%;
}
div#mainImg div.wrap h1 {
	bottom: 40px;
	width: 100%;;
	background-size: 100%;
}
div.wrap {
	width: 100%
}
div#mainImg div.wrap p.copy {
	width: 40%;
	height: 150px;
	background-size: 100%;
	left: 10px
}
div#mainImg div.wrap a.tel {
	display: block;
	width: 180px;
	height: 180px;
	padding: 20px 0 0 0;
	right: 10px;
}
div#mainImg div.wrap a.tel h2 {
	font-size: 16px;
	background-position: 25px center
}
div#mainImg div.wrap a.tel p.number {
	font-size: 24px;
	line-height: 1.4em;
}
div#mainImg div.wrap a.tel p.number strong {
	font-size: 36px
}
}

@media (max-width:768px) {
header h1 a {
	width: 180px;
	height: 30px
}
div.wrap {
	width: 100%
}
div#mainImg {
	background: url(../images/mainImg_sp.jpg) no-repeat center center;
	background-size: cover;
	height: 70%;
	position: relative
}
div#mainImg h1 {
	background: url(../images/title_new2.png) no-repeat;
	background-position: left center;
	background-size: 80%;
	height: 240px;
	width: 100%;
	left: 0;
	margin-left: 0;
	bottom: 50px
}
div#mainImg div.wrap img {
	width: 120px;
	top: 150px;
	right: 10px
}
div#mainImg div.wrap p.copy {
	background: url(../images/copy.png) no-repeat;
	top: 50px;
	width: 50%;
	height: 200px;
	left: 0px;
	background-size: 100%
}
div#mainImg div.wrap a.tel {
	width: 120px;
	height: 120px;
	padding: 15px 0 0 0;
	right: 10px
}
div#mainImg div.wrap a.tel a {
	color: white
}
div#mainImg div.wrap a.tel h2 {
	background: url(../images/tel.svg) no-repeat 15px center;
	font-size: 12px;
	background-size: 18%;
	margin-bottom: 5px;
	line-height: 1.2em
}
div#mainImg div.wrap a.tel p.number {
	font-family: 'Oswald', sans-serif;
	font-size: 15px;
	line-height: 1.2em;
	margin-bottom: 5px
}
div#mainImg div.wrap a.tel p.number strong {
	font-size: 22px
}
div#mainImg div.wrap a.tel p.small {
	font-size: 10px;
	line-height: 1.2em
}
	div#mainImg div.wrap a.tel:active {
	text-decoration: none;
	opacity: 0.7
}

.pc_only {
	display: none
}
.sp_only {
	display: block
}
.fl_left {
	float: none
}
.fl_right {
	float: none
}
	@media only screen and (orientation:landscape) {
		div#mainImg{ height:  80%; background-image: url(../images/mainImg.jpg);}
		div#mainImg div.wrap h1{bottom:20px}
		div#mainImg div.wrap p.copy{ top: 10px;width: 40%}
		div#mainImg h1{ background-size: 80%!important; height:140px}
		div#mainImg div.wrap img{ bottom: 10px}
	}
}

@media (max-width:480px) {
div#mainImg {
	background-position: center top
}
div#mainImg div.h1Wrap {
	height: 150px
}
div#mainImg div.wrap img {
	width: 80px;
	top: 100px;
	right: 25px
}
div#mainImg h1 {
	height: 20vh;
	margin-top: -20px;
	background-size: 95%;
	bottom: 20px
}
div#mainImg div.wrap p.copy {
	height: 100px;
	width: 60%
}
}
/*コンテンツボーダー*/
section.contents.blue {
	background: #eae2ee;
}
#bigHalfCircle path {
	width: 100%!important;
	fill: #eae2ee;
	stroke: #eae2ee;
}
section.contents {
	position: relative
}
section.contents #bigHalfCircle {
	bottom: 0;
	position: absolute;
	width: 100%!important;
}
section.contents.blue #bigHalfCircle path {
	fill: #fff;
	stroke: #fff;
}
section.contents.blue #extendCircle path {
	fill: #fff;
	stroke: #fff;
}
section.contents .wrap {
	padding: 30px 0 30px 0
}
section.contents h2 {
	text-align: center;
	font-size: 30px;
	padding: 30px 0;
	font-family: 'Rounded Mplus 1c';
}
/*魅力*/
section.contents #point {
	padding: 20px 0 100px 0
}
section.contents #point h2:before {
	content: "";
	display: inline-block;
	width: 120px;
	height: 100px;
	background: url(../images/point_r.png) no-repeat right center;
	vertical-align: middle;
	margin-right: 10px
}
section.contents #point h2:after {
	content: "";
	display: inline-block;
	width: 120px;
	height: 100px;
	background: url(../images/point_l.png) no-repeat;
	vertical-align: middle;
	margin-left: 10px
}
section #point ul {
	margin: 30px 0 0px 0
}
section #point ul li {
	position: relative;
	float: left;
	width: 33%;
	text-align: center;
}
/*section #point ul li:before {
	font-family: 'Sacramento', cursive;
	font-weight: 500;
	font-size: 70px;
	color:#e1f5f8; -webkit-text-stroke:2px #555; -moz-text-stroke:2px #555;text-stroke:2px #555;* position: absolute;
	left: 0;
	top: -20px
}*/
section #point ul li:nth-child(1) {
	/*content: "1";*/
	background: url(../images/one.png) no-repeat 20px top;
}
section #point ul li:nth-child(2){
	/*content: "2";*/
	background: url(../images/two.png) no-repeat left top;
}
section #point ul li:nth-child(3) {
	/*content: "3";*/
	background: url(../images/three.png) no-repeat left top;
}
section #point ul li h3 {
	padding-top: 20px;
	padding-bottom: 20px;
}
section #point ul li p {
	padding: 10px 20px;
	text-align: left;
	height: 8em;
}

@media (max-width:768px) {
section.contents #bigHalfCircle {
	height: 30px!important
}
#extendCircle {
}
section.contents .wrap {
	padding: 10px 0 30px 0
}
section.contents h2 {
	font-size: 24px
}
	section.contents #point{ padding:30px 0}
section.contents #point h2{ padding-top: 10px}
section.contents #point h2:before {
	width: 40px;
	height: 80px;
	background-size: 100%
}
section.contents #point h2:after {
	width: 50px;
	height: 80px;
	background-size: 100%
}
section #point ul {
	margin: 20px 0 10px 0
}
section #point ul li {
	float: none;
	width: auto;
	margin-bottom: 30px
}
section #point ul li:nth-child(1),
	section #point ul li:nth-child(2),
	section #point ul li:nth-child(3){ background-position: 30px top}
	section #point ul li p{
	height: auto
	}
}
/*電話*/
article.tel_line {
	text-align: center;
	box-sizing: border-box;
	bottom: -30px;
	z-index: 100;
	position: relative
}
article.tel_line h2 {
	padding: 0;
	font-size: 22px;
	margin-bottom: 10px;
	line-height: 1.4em;
	color: #ff6a5f;
}
article.tel_line a.number {
	display: block;
	width: 40%;
	margin: auto;
	background: #ed89aa;
	color: white;
	border-radius: 40px;
	-moz-border-radius: 40px;
	-webkit-border-radius: 40px;
	padding: 10px 10px 0 10px;
	font-size: 24px
}
article.tel_line a.number span {
	display: inline-block;
	font-family: 'Oswald', sans-serif;
	font-size: 36px;
	line-height: 1.4em;
	margin-bottom: 5px;
	padding-left: 20px;
	vertical-align: middle;
	padding-bottom: 5px
}
article.tel_line a.number span:before {
	content: "";
	display: inline-block;
	width: 30px;
	height: 30px;
	background: url(../images/tel.svg) no-repeat center center;
	background-size: 100%
}

article.tel_line a.link {
	display: block;
	width: 60%;
	margin: auto;
	background: #ed89aa;
	color: white;
	border-radius: 40px;
	-moz-border-radius: 40px;
	-webkit-border-radius: 40px;
	padding: 20px 0px;
	font-size: 24px;
}
article.tel_line.last { padding-bottom: 20px}

article.tel_line a.link:hover{ opacity: 0.7}

article.tel_line p.small {
	font-size: 14px;
	color: #ed89aa;
	padding-top: 5px
}
article.tel_line a {
	color: white
}

@media (max-width:1200px) {
article.tel_line a.number {
	width: 60%;
}
}

@media (max-width:768px) {
article.tel_line {
	margin-top: -60px
}
article.tel_line a {
	color: white
}
article.tel_line h2 {
	font-size: 14px;
}
article.tel_line a.number {
	width: 95%;
	font-size: 16px;
	box-sizing: border-box
}
article.tel_line a.number span {
	font-size: 24px;
	padding-left: 10px;
}
article.tel_line a.number span:before {
	width: 20px;
	height: 20px;
}
article.tel_line p.small {
	font-size: 12px
}
article.tel_line a.number:active {
	text-decoration: none;
	opacity: 0.7
}
article.tel_line a.link {
	width: 90%;
	border-radius: 40px;
	-moz-border-radius: 40px;
	-webkit-border-radius: 40px;
	padding: 10px 0px;
	font-size: 16px;
}
}
/*スケジュール*/
section.contents #schedule {
	padding: 30px 0 20px 0
}
section.contents #schedule h2 span {
	background: linear-gradient(transparent 50%, yellow 50%);
}
section.contents #schedule h2:before {
	content: "";
	display: inline-block;
	width: 200px;
	height: 80px;
	background: url(../images/flag_l.png) no-repeat right center;
	vertical-align: middle;
	margin-right: 10px;
	background-size: 100%;
}
section.contents #schedule h2:after {
	content: "";
	display: inline-block;
	width: 200px;
	height: 80px;
	background: url(../images/flag_r.png) no-repeat left center;
	vertical-align: middle;
	margin-left: 10px;
	background-size: 100%;
}
section.contents #schedule dl.scBox {
	padding: 20px
}
section.contents #schedule dl.scBox.date {
	border-bottom: 1px dotted #ccc;
}
section.contents #schedule dl.scBox.date.oneline dd{
	padding-top: 35px
}
section.contents #schedule dl.scBox:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
section.contents #schedule dl.scBox dt {
	width: 100px;
	height: 100px;
	border-radius: 50%;
	color: white;
	text-align: center;
	background: #84cdcf;
	box-sizing: border-box;
	line-height: 100px;
	float: left;
	font-size: 20px
}
section.contents #schedule dl.scBox dd {
	width: 80%;
	float: left;
	margin-left: 20px
}
section.contents #schedule dl.scBox dd strong {
	font-size: 20px
}
section.contents #schedule dl.scBox dd ol {
	counter-reset: circle;
	font-size: 18px
}
section.contents #schedule dl.scBox dd ol li:before {
	counter-increment: circle;
	content: counter(circle);
	display: inline-block;
	width: 1.8em;
	height: 1.8em;
	background: #84cdcf;
	border-radius: 50%;
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
	color: white;
	text-align: center;
	line-height: 1.8em;
	margin-right: 5px;
	font-size: 14px;
	position: absolute;
	left: -2.4em;
	top:3px;
}
section.contents #schedule dl.scBox.date dd {
	padding-top: 0px
}
section.contents #schedule dl.scBox.date dd ol li {

	margin-bottom: 30px;
	box-sizing: border-box;
	padding-right: 10px;
	line-height: 1.8em;
	position: relative;
	margin-left: 2.4em
}
section.contents #schedule dl.scBox.date dd ol li strong{ display: inline-block; /*width: 11em*/}
section.contents #schedule dl.scBox.place dd {
	padding-top: 20px
}
section.contents #schedule dl.scBox.place dd ol li {
	margin-bottom: 10px
}
section.contents #schedule h3{ font-size:24px; text-align: center;border-top: 2px dotted #ccc;  border-bottom: 2px dotted #ccc; padding: 15px;  margin: 10px auto}
section.contents #schedule ul.map {
	margin: 20px 0 20px 0;
	border-bottom: 1px dotted #ccc;
	padding-bottom: 20px
}
section.contents #schedule ul.map li { /*width:30%; margin:10px 1.5%; float:left;*/
	text-align: center
}
section.contents #schedule ul.map li p {
	font-size: 18px;
	padding: 10px 0 5px 0
}
section.contents #schedule ul.map li p.small{ font-size: 12px}
section.contents #schedule ul.map li a:before {
	content: ">";
	font-family: 'Oswald', sans-serif;
	color: #ff7098;
	font-size: 16px;
	margin-right: 5px
}
section.contents #schedule ul.map li a:hover {
	text-decoration: none;
	background: #efefef
}
section.contents #schedule table {
	margin: 20px 0;
	font-size: 16px;
}
section.contents #schedule table th, section.contents #schedule table td {
	padding: 20px;
	box-sizing: border-box
}
section.contents #schedule table th {
	width: 10%;
}
section.contents #schedule table th span {
	color: #84cdcf;
	font-size: 20px;
	border-bottom: 3px solid #84cdcf;
	padding: 3px
}
section.contents #schedule table td {
	padding-right: 40px
}
section.contents #schedule table td strong {
	font-size: 20px
}
section.contents #schedule ul.attention {
	/*padding: 20px 10px 20px 20px*/
}
section.contents #schedule ul.attention li {
	margin-bottom: 5px
}
section.contents #schedule ul.attention li:before {
	content: "※";
	margin-right: 3px
}
section.contents #schedule h3.table{  padding: 20px 0 0 20px; border: none; text-align: left}
section.contents #schedule h3.table span {
	color: #84cdcf;
	font-size: 20px;
	border-bottom: 3px solid #84cdcf;
	padding: 3px
}

span.end{ color: red; font-size: 16px}
span.add{ background: red; color: white; font-size: 16px; display: inline-block; padding: 2px 5px; margin-bottom: 10px}
@media (max-width:768px) {
	span.end{font-size: 14px}
section.contents #schedule {
	padding: 30px 0 50px 0
}
section.contents #schedule h2 {
	position: relative
}
section.contents #schedule h2:before {
	width: 60px;
	height: 50px;
	margin-right: 10px;
	display: block;
	margin: 0 auto;
	background: url(../images/flag_l_sp.png) no-repeat right center;
	background-size: 100%;
	position: absolute;
	top: 10%;
	left: 10px
}
section.contents #schedule h2:after {
	width: 60px;
	height: 50px;
	display: block;
	margin: 0 auto;
	background: url(../images/flag_r_sp.png) no-repeat right center;
	background-size: 100%;
	position: absolute;
	top: 10%;
	right: 10px
}
	section.contents #schedule h3{ font-size:18px; text-align: center;border-top: 2px dotted #ccc;  border-bottom: 2px dotted #ccc; padding: 10px; }
	section.contents #schedule dl.scBox{ padding: 10px}
section.contents #schedule dl.scBox dt {
	width: 60px;
	height: 60px;
	line-height: 60px
}
	section.contents #schedule dl.scBox.date.oneline dd{
	padding-top: 35px
}
section.contents #schedule dl.scBox.date dd, section.contents #schedule dl.scBox.place dd {
	padding-top: 5px;
	width: 75%;
	margin-left: 10px
}
	section.contents #schedule dl.scBox.date dd ol li{ float: none; width: 100%!important}
section.contents #schedule dl.scBox dd strong {
	font-size: 18px
}


section.contents #schedule table {
	margin: 20px 0;
	font-size: 16px;
	width: 100%
}
section.contents #schedule table th, section.contents #schedule table td {
	display: block;
	width: 100%;
	text-align: center;
	padding: 10px
}
	section.contents #schedule h3.table{ text-align:center; padding:20px 0 0 0}
}
section.contents #schedule table th.top{ vertical-align: top;}

section.contents #company{ margin: 20px 0; padding: 30px; /*background:#eae2ee;*/ border: 2px solid #ccc; border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; box-sizing: border-box}
section.contents #company h3{ font-size: 22px; text-align: center; padding-bottom: 10px; font-family: 'Rounded Mplus 1c'}
section.contents #company img{ float: right}

section.contents.info {
	background-image: url(../images/info_back_town.png);
	background-repeat: repeat-x;
	background-position: left bottom
}
section.contents #info {
	padding: 60px 0 100px 0;
}
section.contents #info h2 {
	padding: 10px 0 10px 0
}
section.contents #info article.infoBox { /*background:url(../images/info_back.png) repeat-y;*/
	background: white;
	width: 877px;
	box-sizing: border-box;
	padding: 20px 40px 60px 40px;
	margin: 0 auto;
	position: relative
}
/*section.contents #info article.infoBox:before{ content: ""; background: url(../images/info_back_before.png) no-repeat; 
	width: 875px; height: 148px; display: block; position: absolute; top:-50px; left: 0}
section.contents #info article.infoBox:after{ content: ""; background: url(../images/info_back_after.png)no-repeat; 
	width: 875px; height: 44px; display: block;position: absolute; bottom:-20px; left: 0}*/
section.contents #info article.infoBox p {
	padding: 10px;
}

@media (max-width:768px) {
	section.contents #company{ margin: 10px; width: auto; padding: 20px}
	section.contents #company img{ padding-bottom: 10px; float: none; width: 250px; display: block; margin: 0 auto}
	section.contents #company h3{ font-size: 18px}
section.contents.info {
	background-size: 100%
}
section.contents #info {
	padding: 60px 0 50px 0
}
section.contents #info article.infoBox {
	width: 95%;
	margin: 0 auto;
	background-size: 100%;
	padding: 10px 20px 20px 20px
}
section.contents #info article.infoBox:before {
	width: 100%;
	background-size: 100%
}
section.contents #info article.infoBox:after {
	width: 100%;
	background-size: 100%;
	bottom: -30px;
}
section.contents #info h2 {
	padding: 30px 0 10px 0
}
	section.contents #schedule table td.left{ text-align: left; font-size: 14px}

}
article.tel_line.last {
	margin-top: 0px;
	margin-bottom: 50px
}
footer {
	padding: 20px 0;
	text-align: center;
	font-size: 12px;
	background: #ccc;
}


@media (min-width:769px) {
a.tel,  article.tel_line a {
	/*pointer-events: none;*/
}
}
