@charset"utf-8";

@keyframes blur {
  0% {
  	opacity: 0;
    filter: blur(5px);
  }
  100% {
  	opacity: 1;
    filter: blur(0);
  }
}



/* UTYLITY */

.clearfix:after {
  content: "";
  display: block;
  clear: both;
  height: 0
}

.pc-hidden {
  display: block
}

.sp-hidden {
  display: none
}

img {
  max-width: 100%;
  width: auto
}
a[target^="_blank"]::after {
	display: inline-block;
	margin-left: 4px;
/*	font-weight: 400; */
	content: "\f2d2";
	font-family: "Font Awesome 5 Free";
}

@media screen and (min-width: 900px) {
  .sp-hidden {
    display: block
  }
  .pc-hidden {
    display: none
  }
  img {
    max-width: initial;
    width: auto
  }
  a[href^="tel:"] {
    pointer-events: none
  }
}


/*[ LAYOUT ] ------------------------------------------*/

#wrap {
  position: relative;
  overflow-x: hidden;
}

main {
  display: block
}

.inner {
  max-width: 95vw;
  margin: 0 auto;
  position: relative
}
.center {
	text-align: center;
}

section {
  transition: all .3s;
}
section.blur {
  animation-name: blur;
  animation-duration: 1.5s;
  opacity: 1;
}


@media screen and (min-width: 900px) {
  article {}
  .inner {
    max-width: 1000px;
    margin: 0 auto
  }
}


/*[ header ] ------------------------------------------*/

header {
  width: 100%;
  background: #ffda00;
  padding: 2.5vw 0;
}
.drawer-open header {
  z-index: 10;
 }

header.fixed {
  width: 100%;
  position: fixed;
  z-index: 10;
  transition: .2s;
   -webkit-box-shadow: 0 0 4px 0 rgba(0, 0, 0, .25);
  box-shadow: 0 0 4px 0 rgba(0, 0, 0, .25)
}
header.fixed.hide {
  transform: translateY(-100%)
}

header .siteid {
	padding: 0 2.5vw;
	max-width: 75vw; max-height: 15vw;
}
header .siteid a {
	display: block;
	background: url(../img/siteid.svg) no-repeat;
	overflow: hidden; white-space: nowrap;
	text-indent: 100%;
}
.drawer-hamburger-icon, .drawer-hamburger-icon:after, .drawer-hamburger-icon:before {
	background: #005DAB;
	height: 4px;
}
.drawer-nav {
  background: #ffda00;
}
.drawer-navbar .drawer-navbar-header {
	background: transparent;
	border: none;
}
.drawer-open .drawer-nav {
  height: 100%;
}

.drawer--top.drawer-open .drawer-nav {
     overflow: auto;
    -webkit-overflow-scrolling: touch;
}

.drawer-navbar .drawer-menu {
  margin: 5vw auto;
  padding: 0;
}
.drawer-nav .drawer-menu .drawer-menu-item {
	display: block;
  background: #FA4A12;
  text-align: center;
  margin: 5vw 2.5vw;
	font-weight: 700;
	color: #fff;
	font-size: 1.1rem;
	border-radius: 4px;
}
.drawer-nav .bnr a {
	display: block;
  background: #427930;
  text-align: center;
  padding: 0.75rem;
  margin: 5vw 2.5vw;
	font-weight: 700;
	color: #fff;
	font-size: 1rem;
	line-height: 1.2;
	border-radius: 4px;
	position: relative;
}
.drawer-nav .bnr a span {
	color: #fff; font-size: 0.8rem;
}
.drawer-nav .bnr a::before {
	display: inline-block; 
	width: 2rem; height: 2rem;
	position: absolute;
	left: 1rem; top: 0; bottom: 0; margin: auto;
	content: "";
	background: url(../img/icon_line.svg);
	background-size: contain;
}
.drawer-nav .drawer-menu .drawer-menu-item:hover {
	text-decoration: none;
}
.contact {
	display: flex;
	justify-content: space-between;
	margin: 2.5vw auto;
}
.drawer-nav .contact {
	margin: 2.5vw;
}
.contact li {
	flex-basis: 48.5%;
	border-radius: 4px;
	display: flex;
	align-content: center;
	align-items: center;
	justify-content: center;
	padding: 2.5vw 0;
}
.contact li:first-child {
	background: rgba(255,255,255,0.5);
}
.contact li:first-child a {
	display: block;
	color: #333;
	font-weight: 700;
	padding: 2.5vw 2.5vw 2.5vw 1.5rem;
	font-size: 0.9rem;
	line-height: 1;
	position: relative;
}
.contact li:first-child a:before {
	display: inline-block;
	margin-right: 4px;
/*	font-weight: 700; */
	content: "\f3cd";
	font-family: "Font Awesome 5 Free";
	font-size: 1.5rem;
	position: absolute;
	left: 0; top: 0; bottom: 0; margin: auto;
	width: 1.5rem; height: 1.5rem;
	color: #FA4A12;
}
.contact li:first-child span {
	color: #333;
	font-weight: normal;
	font-size: 0.68rem;
}
.contact li:last-child {
	background: #FA4A12;
}
.contact li:last-child a {
	display: block;
	color: #fff;
	font-weight: 700;
	padding: 2.5vw 1.5rem 2.5vw 1.5rem;
	font-size: 0.85rem;
	line-height: 1;
	position: relative;
}
.contact li:last-child a:before {
	display: inline-block;
/*	font-weight: 400; */
	content: "\f0e0";
	font-family: "Font Awesome 5 Free";
	font-size: 1.25rem;
	position: absolute;
	left: 0; top: 0; bottom: 0; margin: auto;
	width: 1.25rem; height: 1rem;
}
.contact li:last-child a:after {
	display: inline-block;
/*	font-weight: 400; */
	content: "\f054";
	font-family: "Font Awesome 5 Free";
	font-size: 1rem;
	position: absolute;
	right: 0; top: 0; bottom: 0; margin: auto;
	width: 1rem; height: 1rem;
	text-align: right;
}


@media screen and (min-width: 900px) {
header {
  padding: 0;
  background: 
}
header .catch {
  padding: 4px 0;
  background: rgba(255,255,255,0.8);
  font-size: 0.9rem; color: #555;
}

header .siteid {
	padding: 20px 0;
	max-width: 300px; max-height: 65px;
}
.drawer-nav {
  background: #ffda00;
}
.drawer-container {
	display: flex;
	justify-content: space-between;
}
.drawer-open .drawer-nav {
  height: auto;
}
.drawer-nav {
  flex-basis: 52.5%;
  flex-shrink: 1;
}

.drawer--top.drawer-open .drawer-nav {
     overflow: auto;
    -webkit-overflow-scrolling: touch;
}

.drawer-navbar .drawer-menu {
  margin: auto;
}
.drawer-nav .drawer-menu,
.drawer-nav .bnr {
	display: none;
}

.contact {
	margin: 20px auto;
}
.drawer-nav .contact {
	margin: 20px auto;
}
.contact li {
	padding: 0;
  transition: .2s;
}
.contact li:first-child a {
	padding: 20px 20px 20px 2.75rem;
	font-size: 1.25rem;
}
.contact li:first-child a:before {
	text-align: center;
	font-size: 2.5rem;
	width: 2.5rem; height: 2.5rem;
}
.contact li:first-child span {
	font-size: 1rem;
}
.contact li:last-child a {
	padding: 20px 2rem 20px 2.75rem;
	font-size: 1.25rem;
}
.contact li:last-child:hover {
	background: #005DAB;
}
.contact li:last-child a:before {
	font-size: 2.25rem;
	width: 2.25rem; height: 2rem;
}
.contact li:last-child a:after {
	font-size: 1.5rem;
	width: 1.5rem; height: 1.5rem;
}


[data-current-nav="top"] header nav.sp-hidden {
	display: none;
}

header nav.sp-hidden {
	background: #FA4A12;
	position: relative;
}
header nav.sp-hidden:before {
	display: block;
	content: "";
	width: 100%;
	height: 1rem;
	border-radius:50% 50% 0 0 / 100% 100% 0 0 ;
background:#FA4A12;
position: absolute;
top: -0.5rem; left: 0; right: 0; margin: auto;
}
header nav.sp-hidden:after {
	display: block;
	content: "";
	width: 100%;
	height: 1rem;
	border-radius:0 0 50% 50% /0 0 100% 100%;
	background: #FA4A12;
	position: absolute; z-index: -1;
bottom: -0.5rem; left: 0; right: 0; margin: auto;
}
header nav.sp-hidden ul {
	display: flex;
	justify-content: space-between;
	font-weight: 700;
	color: #fff;
	width: 90%; margin: 0 auto;
	font-size: 1.5rem;
}
header nav.sp-hidden ul li {
	padding: 1rem;
	letter-spacing: 0.1rem;
	position: relative;
}
header nav.sp-hidden ul li strong {
	font-size: 1.75rem;
}
header nav.sp-hidden ul li a {
	display: block;
	color: #fff;
	transition: all .2s;
}
header nav.sp-hidden ul li a:hover {
	transform: scale(1.2);
}



}



/*[ aside ] ------------------------------------------*/

aside {
}
aside a {
}


@media screen and (min-width: 900px) {
aside {
}
}



/*[ footer ] ------------------------------------------*/

footer {
  width: 100%;
  background: #ffda00;
  padding: 10vw 0 5vw;
  position: relative;
}

footer .footer-siteaddress {
	padding-left: 25vw;
	position: relative;
}
footer .footer-siteaddress:before {
	display: inline-block;
	content: ""; width: 21.6vw; height: 26.6666667vw;
	background: url(../img/footer_siteid.svg) no-repeat;
	background-size: cover;
	position: absolute;
	left: 0; top: 0; bottom: 0; margin: auto;
}
footer h1 {
	font-weight: normal;
}
address {
	font-style: normal;
}
footer .copyright {
	font-size: 0.85rem;
	text-align: center;
	margin: 2.5vw auto 10vw;
}
.snslink li {
	display: inline-block;
	margin-right: 2.5vw;
}
.snslink a {
	color: #333;
	font-size: 2.5rem;
}
.pagetop {
	position: fixed;
	z-index: 2;
	right: 2.5vw;
	font-size: 3rem;
}
.snslink span,
.pagetop span {
	display: none;
}

.snslink a:after {
	display: none;
}


@media (min-width:900px) {
footer {
  padding: 60px 0 20px;
}
footer .footer-siteaddress {
	padding-left: 0;
	display: flex;
	justify-content: space-between;
}
footer .footer-siteaddress:before {
	display: none;
}
footer .footer-siteid {
	padding: 20px 0 0 100px;
}
footer .footer-siteid:before {
	display: inline-block;
	content: ""; width: 81px; height: 100px;
	background: url(../img/footer_siteid.svg) no-repeat;
	background-size: cover;
	position: absolute;
	left: 0; top: 0; bottom: 0; margin: auto;
}
footer .footer-info {
	text-align: right;
}
footer .footer-link {
	display: flex;
}
footer .footer-link a {
	color: #333;
}
footer .footer-link a:before {
	content: "｜";
	padding: 0 1rem;
}
footer .footer-link li:first-child a:before {
	display: none;
}


footer .copyright {
	margin: auto;
	text-align: right;
}
.snslink li {
	display: inline-block;
	margin-right: 10px;
}
.snslink a {
	font-size: 2rem;
}
footer .contact {
	display: none;
}
footer a:hover {
	color: #005DAB;
}

.pagetop {
	right: 60px;
	font-size: 3rem;
}
.snslink span,
.pagetop span {
	display: none;
}

}


/*[ map-area ] ------------------------------------------*/
.map-area {
  width: 100%;
  background: rgba(255,217,0,0.1) url(../img/map_bg.webp) center bottom repeat-x;
  background-size: 90%;
  padding: 15vw 0 5vw;
  position: relative;
}
.map-area:before {
	display: block;
	content: "";
	width: 100%;
	height: 2.5vw;
	border-radius:0 0 50% 50% /0 0 100% 100%;
background:#fff;
position: absolute;
top: 0; z-index: 0;
	left: 0; right: 0; margin: auto;
}
.map-area:after {
	display: block;
	content: "";
	width: 100%;
	height: 2.5vw;
	border-radius:0 0 50% 50% /0 0 100% 100%;
	background: #fff url(../img/fees_bg.webp) bottom;
	background-size: 80%;
	position: absolute;
	top: 0;
	left: 0; right: 0; margin: auto;
}
.map-area h2 {
	margin: 5vw auto 2.5vw;
	font-size: 1.25rem;
	position: relative;
}
.map-area h2 strong {
	font-size: 1.75rem;
	color: #FA4A12;
	background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 313.03 18.93"><g id="zigzag" data-name="zigzag"><g id="zigzag-2" data-name="zigzag1"><polyline points="2.01 5.46 20.19 13.46 38.37 5.46 56.54 13.46 74.72 5.46 92.89 13.46 111.06 5.46 129.23 13.46 147.41 5.46 165.58 13.46 183.76 5.46 201.94 13.46 220.12 5.46 238.29 13.46 256.47 5.46 274.65 13.46 292.83 5.46 311.01 13.46" style="fill:none;stroke:#ffda00;stroke-miterlimit:10;stroke-width:10px"/></g></g></svg>') center 95% no-repeat;
	background-size: 100% auto;
}
.map-area h2 strong:before {
	display: block;
	color: #333; font-size: 1rem;
	content: "＼お気軽にどうぞ！／";
	line-height: 1; letter-spacing: 0.1rem;
}
.map-area p.notes {
	margin-bottom: 10vw;
}

.map-area .g-map {
height: 0;
overflow: hidden;
padding-bottom: 56.25%;
position: relative;
}
.map-area .g-map iframe {
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
}

.map-area .bnr {
	margin: 10vw auto ;
}
.map-area .bnr li {
	margin-bottom: 2.5vw;
}
.map-area .bnr li a {
	display: block;
	padding: 0.5rem 0;
	color: #fff;
	vertical-align: middle;
	font-weight: bold;
	border-radius: 4px;
}
.map-area .bnr li i {
	display: inline-block;
	font-size: 1.25rem;
}


.map-area .bnr li.trial a {
	background: #FA4A12;
}
.map-area .bnr li.cafe a {
	background: #427930;
	position: relative;
	line-height: 1.2;
	padding-left: 10vw;
}
.map-area .bnr li.cafe a span {
	color: #fff; font-size: 0.8rem;
}
.map-area .bnr li.cafe a::before {
	display: inline-block; 
	width: 7.5vw; height: 7.5vw;
	position: absolute;
	left: 5vw; top: 0; bottom: 0; margin: auto;
	content: "";
	background: url(../img/icon_line.svg) no-repeat;
	background-size: contain;
}


@media (min-width:900px) {
.map-area {
  width: 100%;
  background: rgba(255,217,0,0.1) url(../img/map_bg.webp) center bottom repeat-x;
  background-size: auto;
  padding: 5% 0 2.5%;
}
.map-area:before {
	width: 100%;
	height: 2rem;
}
.map-area:after {
	width: 100%;
	height: 2rem;
	background: #fff;
	background-size: auto;
}
.map-area h2 {
	margin: 5% auto 2.5%;
	font-size: 40px;
}
.map-area h2 strong {
	font-size: 60px;
}
.map-area h2 strong:before {
	font-size: 20px;
	margin: 0 45% 0 10%;
}
.map-area p.notes {
	margin-bottom: 5%;
}

.map-area .bnr {
	margin: 5% auto;
}
.map-area .bnr li {
	margin: 0 auto 2.5%;
	width: 60%;
}
.map-area .bnr li a {
	display: block;
	padding: 1rem 0;
	font-size: 1.5rem;
	transition: all .2s;
}
.map-area .bnr li i {
	display: inline-block;
	font-size: 2rem;
}
.map-area .bnr li a:hover {
	transform: scale(1.1);
}
.map-area .bnr li.cafe a {
	line-height: 1.2;
	padding-left: 10%;
}
.map-area .bnr li.cafe a span {
	font-size: 1rem;
}
.map-area .bnr li.cafe a::before {
	width: 4rem; height: 4rem;
	left: 5%;
}

}


/*[ more-btn ] ------------------------------------------*/
.more-btn {
	text-align: center; margin: 5vw auto;
	line-height: 1;
}
.more-btn a {
	display: inline-block;
	padding: 0.75rem 4rem;
	border-radius: 2rem;
	color: #fff; font-weight: bold;
	background: #FA4A12;
	position: relative;
}
.more-btn a:after {
display: inline-block;
/*font-weight: 700; */
content: "\f054";
font-family: "Font Awesome 5 Free";
font-size: 1rem;
position: absolute;
right: 1rem;
top: 0; bottom: 0;
margin: auto;
width: 1rem;
height: 1rem; line-height: 1;
text-align: right;
}

@media screen and (min-width: 900px) {
.more-btn {
	margin: 2.5% auto;
}
.more-btn a {
	font-size: 20px;
	padding: 1rem 6rem;
}
.more-btn a:hover {
	opacity: 0.7;
	color: #FA4A12;
	background: #fff;
}
.more-btn a:after {
font-size: 20px;
width: 20px;
height: 20px;
right: 4rem;
  transition: all .3s
}
.more-btn a:hover:after {
	right: 3rem;
}
}
