@charset "UTF-8";

/* ───────────────────────────────────
base
─────────────────────────────────── */
body {
	font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 14px;
	line-height: 1.42857;
	color:#212121;
	-webkit-text-size-adjust: 100%;
}
/* link
─────────────────────────────────── */
a {
	outline: none;
}

/* ───────────────────────────────────
font
─────────────────────────────────── */


/* ───────────────────────────────────
header
─────────────────────────────────── */

#hero {
	position:relative;
	width: 100%;
}

/* ───────────────────────────────────
contact
─────────────────────────────────── */
#contact {
	position:relative;
	overflow: hidden;
	width: 100%;
	background-color: #222;
	padding: 20px 0;
	text-align: left;
}
#contact .row > *:not(.col-sm-6) {
	padding: 0;
}
#contact .row > *:nth-child(n+2) {
	margin-top: 10px;
}
#contact img {
	text-align: center;
}
#contact .logo :is(img,svg) {
	width: 114px;
	max-width: 80%;
}
#contact h3,
#contact .tel {
	width: 320px;
	max-width: 100%;
	text-align: center;
}
#contact h3 {
	display: block;
	margin: 0;
}
#contact h3 a {
	transition: all .3s;
	display: block;
	font-size: 1.6rem;
	font-weight: bold;
	color: #fff;
	margin: 0;
	padding: .5em;
	border: 1px solid;
	border-radius: 50px;
	text-decoration: none;
}
#contact h3 a:hover {
	opacity: 0.6;
}
#contact p {
	color: #fff;
	margin-bottom: 0;
	font-size: 20px;
	font-size:2.0rem;
	line-height: 1;
}
#contact .tel {
	font-size:4rem;
	font-weight: bold;
	margin-top: .3em;
}
#contact .tel span {
	font-size: 2.8rem;
}
#contact .tel a {
	color: #fff;
	text-decoration: none;
}
#contact i.fa-phone {
	margin-right: 10px;
}
#contact .cap {
	font-size: 14px;
	font-size:1.4rem;
	text-align: left;
}

#contact .qr {
	display: flex;
	justify-content: flex-end;
}
#contact .qrcode {
	flex-direction: row;
	align-items: center;
	text-align: left;
}
#contact .qr-txt {
	flex-direction: row;
	align-items: center;
	align-self: center;
	margin: 0;
	padding: 0;
	font-size: 16px;
	font-size:1.6rem;
	font-weight: bold;
	line-height: 1.6;
	text-align: left;
}
#contact .qrcode {
	margin: 0 0 0 10px;
}

#contact dl {
	color: #fff;
	text-align: left;
}
#contact dl dt {
	font-size: 18px;
	font-size:1.8rem;
	font-weight: bold;
}
#contact dl dd {
	font-size: 16px;
	font-size:1.6rem;
}
@media screen and (min-width:768px){
	#contact .row > *:nth-child(3){
		margin-top: 42px;
	}
}
@media screen and (max-width:767px){
	#contact {
		padding: 30px 0 30px;
		text-align: center;
	}
	#contact h3,
	#contact .tel {
		width: auto;
	}
	#contact .qr {
		justify-content: center;
	}
	#contact .qr img {
		width: 80px;
		height: auto;
	}
	#contact p {
		color: #fff;
		margin-bottom: 10px;
	}
	#contact .tel {
		font-size: 32px;
		font-size:3.2rem;
	}
	#contact .row > [class*='col-']{
	}
	#contact .qr {
		width: 90%;
		margin-left: auto;
		margin-right: auto;
	}
	#contact .qrcode img {
		width: 70px;
		height: auto;
	}
	#contact .qr-txt {
		font-size: 14px;
		font-size:1.4rem;
		margin-left: 0px;
	}
	#contact h3 {
		padding: 0 20px;
	}

}


/* ───────────────────────────────────
access
─────────────────────────────────── */
#access {
	position:relative;
	overflow: hidden;
	width: 100%;
	padding-top:20px;
	padding-bottom:20px;
}
.access-inner {
	position:relative;
	text-align: center;
}

#access .map {
	max-width: 1230px;
	margin: 0 auto;
	padding: 60px 30px;
	gap: 30px;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	font-size: 14px;
	line-height: 1.8;
}
#access .map :is(p,figure) {
	margin: 0;
	font-size: inherit;
	line-height: inherit;
}
#access .map img {
	width: 100%;
	height: auto;
	margin-bottom: 10px;
}
#access .row > * {
	padding: 0;
}
#access h2 {
	margin-top: 50px;
	font-weight: bold;
	text-align:left;
	margin-bottom: 20px;
}
#access p {
	font-size:18px;
	font-size:1.8rem;
	line-height: 1.4;
	text-align:left;
}
#access p.cap {
	font-size:14px;
	font-size:1.4rem;
	line-height: 1.4;
	text-align:left;
}
#access dl {
	font-size:14px;
	font-size:1.4rem;
	line-height: 1.4;
	text-align:left;
}

.map-inner{
	margin: 0 auto;
	padding: 0;
	width: 100%;
}
#map_canvas_01{
	padding: 0;
	width: 100%;
    min-height: 340px;
	margin: 0 auto 0em;
}

@media screen and (max-width:991px){
	#access p {
	}
	#map_canvas_01{
		min-height: 300px;
	}
}
@media screen and (max-width:767px){
	#access .map {
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}
	.access-info {
		text-align: center;
		width: 90%;
		margin: 0 auto 20px;
	}
	#access h2 {
		margin-top: 1em;
		text-align:center;
	}
	#access p {
		font-size:14px;
	font-size:1.4rem;
		line-height: 1.8;
		text-align:left;
		margin-bottom: 20px;
	}
	.map-inner{
		margin: 0 auto 20px;
		text-align: center;
		padding: 0;
		width: 100%;
	}
	#map_canvas_01{
		padding: 0;
		width: 90%;
		min-height: 240px;
		margin: 0 auto;
	}
}
.accessmap{
	text-align:center;
	margin-bottom: 20px;
}
.accessmap img{
	margin: 0 auto;
	padding: 0;
	text-align: center;
	width: 122rem;
}
@media screen and (min-width:767px){
.accessmapsp{
	display: none;
}
}
@media screen and (max-width:767px){
.accessmap{
	display: none;
}	
}

@media screen and (max-width:767px){
.accessmapsp{
	text-align:center;
	margin-bottom: 20px;
}	
.accessmapsp img{
	margin: 0 auto;
	padding: 0;
	text-align: center;
	width: 100%;
}
}
@media screen and (max-width:479px){
}

/* ───────────────────────────────────
contents blog
─────────────────────────────────── */
#blog ._inner {
	box-sizing: boder-box;
	width: 100%;
	margin: 0 auto;
	color: #fff;
	text-align: center;
}
#blog .row > * {
	padding: 0;
}
#blog .lane-container,
#blog .blog-container {
	margin-top: 1em;
}
#blog .lane-txt,
#blog .blog-txt {
	margin: 0 1em 0;
	padding: 0;
	font-size: 20px;
	font-size:2rem;
	font-weight: 600;
	line-height: 1.6;
}
#blog .lane-txt::before,
#blog .blog-txt::before {
	content: "\f0c0";
	font-family: "Font Awesome 5 Pro";
	font-weight: 400;
	display: block;
	line-height: 1;
	font-size: 49px;
	margin-bottom: 20px;
}
#blog .blog-txt::before {
	content: "\f7e7";
}
#blog a {
	display: block;
	color: #fff;
	padding: 50px 0px;
	background: url("../img/lane-bg.jpg") center / cover no-repeat;
}
#blog a:hover {
	text-decoration: none;
	opacity: .8;
}
#blog .row > div:nth-child(2) a {
	background-image: url("../img/blog-bg.jpg");
}
@media screen and (max-width:767px){
	#blog p span {
		display: inline-block;
	}
	#blog .lane-txt,
	#blog .blog-txt {
		font-size: 16px;
		font-size:1.6rem;
	}
}
@media screen and (max-width:479px){
}

/* ───────────────────────────────────
sns
─────────────────────────────────── */
#sns {
	position:relative;
	overflow: hidden;
	width: 100%;
	padding-top:20px;
	padding-bottom:20px;
	text-align: center;
	background: #e9eaed;
	font-size: 2rem;
	font-weight: bold;
}
#sns .row > [class*='col-']{
	text-align: center;
	padding: 10px 0;
	border: solid #fff;
	border-width: 0 1px;
}
#sns .row > [class*='col-']:nth-child(n+2){
	border-width: 0 1px 0 0;
}
#sns a {
	color: #3B5998;
}
#sns a::before {
	font-family: "Font Awesome 5 Brands";
	font-weight: 400;
	font-size: 34px;
	vertical-align: middle;
	margin-right: .5em;
}
#sns a[href*="facebook"]::before {
	content: "\f082";
}
#sns a[href*="twitter"] {
	color: #00ACED;
}
#sns a[href*="twitter"]::before {
	content: "\f099";
}
#sns a[href*="x.com"] {
	color: #333;
}
#sns a[href*="x.com"] svg {
	width: 31px;
	height: auto;
	vertical-align: middle;
	margin-right: .5em;
}
#sns a[href*="line"] {
	color: #00C300;
}
#sns a[href*="line"]::before {
	content: "\f3c0";
}

.sns-content {
	max-width: 440px;
	height: 300px;
	overflow: hidden;
	padding: 0;
	margin-left: auto;
	margin-right: auto;
}
.sns-content .fb-page,
.sns-content .twitter-timeline{
	width: 100%;
	padding: 0;
}


#line {
	position:relative;
	overflow: hidden;
	width: 100%;
	padding-top:40px;
	padding-bottom:20px;
	background: #00c300;
}
#line .row{
	margin:0 auto;
	padding-bottom: 0px;
}
#line .row > [class*='col-']{
	text-align: center;
	padding: 0px 0;
}
#line h2 {
	position: relative;
	margin:10px auto 0;
	padding-bottom: 0px;
}
#line p {
	font-size:18px;
	font-size:1.8rem;
	line-height: 1.8;
	color: #fff;
	letter-spacing: 5px;
	font-weight: bold;
	text-align: left;
}

.btn-line {
	display:inline-block;
	margin:0 auto;
	padding:0em 1em;
	line-height:3em;
	color:#fff;
	font-size: 16px;
	font-size:1.6rem;
	font-weight: normal;
	text-align:center;
	background-color: #00c300;
	border: 2px solid #fff;
	border-radius:50px;
	letter-spacing: 1px;
}
.btn-line:hover {
	background: #fff;
	border: 2px solid #00c300;
	color: #00c300;
	-webkit-transition: all .3s;
		transition: all .3s;
}


@media screen and (max-width:991px){
}
@media screen and (max-width:767px){
	#sns .row > [class*='col-']{
		border: none !important;
	}
	#sns img {
		margin:0 auto 0px;
		text-align: center;
		max-height: 30px;
	}

	#line {
		padding-top:20px;
		padding-bottom:30px;
		background: #00c300;
	}
	#line .row{
		margin:0 auto;
		padding-bottom: 0px;
	}
	#line .row > [class*='col-']{
		text-align: center;
		padding: 0px 0;
	}
	#line h2 {
		position: relative;
		margin:10px auto 0;
		padding-bottom: 20px;
	}
	#line p {
		font-size:14px;
		font-size:1.4rem;
		letter-spacing: 0px;
		text-align: left;
		padding-bottom: 20px;
	}
	#line p br {
		display: none;
	}

	.btn-line {
		font-size: 15px;
		font-size:1.5rem;
		padding:0em 1.5em;
		line-height:3em;
	}
	.btn-line:hover {
		background: #fff;
		border: 2px solid #00c300;
		color: #00c300;
		-webkit-transition: all .3s;
			transition: all .3s;
	}
}
@media screen and (max-width:479px){
	.sns-content .fb-page,
	.sns-content .twitter-timeline{
		width: 90%;
	}
}

/* ───────────────────────────────────
Footer
─────────────────────────────────── */
footer {
	background:#fff;
	text-align: left;
	margin:0 auto;
	padding: 20px 0;
}
footer .copyright {
	text-align: center;
	margin-bottom: 0;
}
footer small {
	color:#666;
}
footer .row > [class*='col-']{
	text-align: center;
	padding: 10px 0;
}
footer .navbar-nav a:hover {
	background-color: transparent;
}

@media screen and (max-width:767px){
	footer a.footer-logo {
		display: block;
		margin-top:10px;
		margin-bottom: 20px;
	}
	footer .footer-nav {
		float: none !important;
		writing-mode: horizontal-tb;
	-ms-writing-mode: lr-tb;
	-webkit-writing-mode:horizontal-tb;
	}
	footer .footer-nav li a{
		display: block;
		border-bottom: 1px solid #e9e9e9;
		margin: 0em;
		padding: 0.8em;
		line-height: 2.4em;
	}
	footer .footer-nav li a span{
		transform: rotate( 0deg );
	}
	
}
.footer_lg { margin:0; text-align:center; position:relative; }
.footer_lg img { height: 10rem; width: auto; display: inline-block;}

@media screen and (max-width:767px) {
  .footer_lg { display: flex; max-width: 100%; margin: 0; padding: 0 .5rem; text-align: center; justify-content: center;}
  .footer_lg img { height: 23vw; max-height: 6.5em;}
}
@media screen and (max-width:479px){
}


/* animation
─────────────────────────────────── */

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 9%, 0);
    transform: translate3d(0, 9%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 9%, 0);
    transform: translate3d(0, 9%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}


/* ───────────────────────────────────
contents
─────────────────────────────────── */
/* btn
─────────────────────────────────── */
.btn-more i {
	margin-left:0.5em;
	margin-right:0.5em;
}
.btn-more {
	display:inline-block;
	margin:0 auto;
	padding:0em 1em;
	line-height:3em;
	color:#fff;
	font-size: 18px;
	font-size:1.8rem;
	font-weight: bold;
	text-align:center;
	border-bottom: 2px solid #fff;
	border-radius:0px;
	z-index: 10;
}
.btn-more span {
	letter-spacing: 0.2em;
	margin-left:0.5em;
}
.btn-more:visited {
	color:#fff;
}
.btn-more:hover {
	color:#000;
	border-bottom: 2px solid #000;
		-webkit-transition: all .3s;
		transition: all .3s;
}
.btn-more:active {
	color:#fff;
}

@media screen and (max-width:991px){
}
@media screen and (max-width:767px){
	.btn-more {
		padding:0em 0.5em;
		line-height:3em;
		color:#fff;
		font-size: 16px;
		font-size:1.6rem;
	}
	.btn-more i {
		margin-left:0.2em;
		margin-right:0.2em;
	}
	.btn-more span {
		letter-spacing: 0em;
		margin-left:0em;
	}
}
@media screen and (max-width:479px){
	.btn-more {
		font-size: 14px;
		font-size:1.4rem;
	}
}

/* headline
─────────────────────────────────── */
h2 {
	font-size: 22px;
	font-size:2.2rem;
}
p {
	font-size: 16px;
	font-size:1.6rem;
}

@media screen and (max-width:991px){
	h2 {
		font-size: 22px;
		font-size:2.2rem;
	}
}
@media screen and (max-width:767px){
	h2 {
		font-size: 20px;
		font-size:2.0rem;
		margin-bottom: 20px;
		letter-spacing: 0px;
	}
	h3 {
		font-size: 18px;
		font-size:1.8rem;
	}
	p {
		font-size: 14px;
		font-size:1.4rem;
	}
}

@media screen and (max-width:479px){

}

