@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');

html { scroll-behavior: smooth;}

body .sp-item {
	display: none;
}

body .pc-item {
  display: block;
}

@media screen and (max-width: 640px) {
	body {
		min-width: inherit;
		height:100%;
	}

	body .sp-item {
		display: block;
	}

	body .pc-item {
		display: none;
	}

	body .sp-item img {
		width:100%;
	}
}

/* ----------------------------------------------------
    共通
---------------------------------------------------- */

body {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	line-height: 1.5;
	font-size: 20px;
	color:#333;
	text-align: center;
	overflow-x: hidden;
	max-width: 2000px;
	margin: 0 auto;
}

body {
 background-image:url("../images/bg.jpg"); 	 /*--背景画像 --*/
	background-color:#f9f9f9; /*-- 背景色 --*/
	}

img {
	margin: 0 auto;
	width: 100%;
}

video {
	width: 100%;
}

p {
	font-feature-settings: "palt";
	text-align: justify;
}

.sentence {
	margin-top: 40px;
}

.sentence p {
	margin-top: 40px;
}

.sentence p:first-of-type {
	margin-top: 0;
}

.inner {
	width: 724px;
	margin: 0 auto;
}

.marker {
	color: #333;
	background: linear-gradient(to top, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 10%, rgba(255,255,150,1) 10%, rgba(255,255,150,1) 90%, rgba(255,255,255,1) 90%, rgba(255,255,255,1) 100%);
}

@media screen and (max-width: 640px) {
	/* img {
		max-width: 100%;
	} */

	body {
		width: 100%;
	}


	.inner {
		width: 94%;
	}
}

/* ----------------------------------------------------
    CTA
---------------------------------------------------- */
.btn {
	transition: all .2s;
}
.btn:hover {
	opacity: 0.8;
}
.yureru-j {
	animation: yureru-j 2s infinite;
}
@keyframes yureru-j {
	0% {
			transform: translate(0px, 2px);
	}
	5% {
			transform: translate(0px, -2px);
	}
	10% {
			transform: translate(0px, 2px);
	}
	15% {
			transform: translate(0px, -2px);
	}
	20% {
			transform: translate(0px, 2px);
	}
	25% {
			transform: translate(0px, -2px);
	}
	30% {
			transform: translate(0px, 0px);
	}
}

/* @media screen and (max-width: 640px) {} */
/* ----------------------------------------------------
    スマホ版横幅
---------------------------------------------------- */
.sec-wrap{
	max-width: 750px;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	box-shadow: 0px 0px 30px -8px #777777;
	background-color: #fff !important;
}


/* ----------------------------------------------------
    CTA
---------------------------------------------------- */
.cta {
	/* background: url(../images/cta-bg.webp) no-repeat center center / cover; */
	background-color: #fff;
}
.cta-frame {
	margin: 0 auto;
	position: relative;
}
.btns {
	width: 640px;
	margin: 0 auto;
	position: absolute;
	bottom: 130px;
	left: 50%;
	transform: translateX(-50%);
}

.line:hover {
	/* box-shadow: 0px 0px 15px 2px rgba(0, 0, 0, 0.2); */
  /* transform: scale(0.9); */
	opacity: 0.7;
}

@media screen and (max-width: 640px) {
	.cta {
		padding: 0;
		background: none;
	}
	.cta-frame {
		width: 100%;
	}
	.btns {
		width: 90%;
		bottom: 15%;
	}
}

/* ----------------------------------------------------
    上下左右に揺れるボタン
---------------------------------------------------- */
.yureru-js {
	animation: yureru-js 0.4s infinite;
}
@keyframes yureru-js {
	0% {
			transform: translate(1px, 1px);
	}
	25% {
			transform: translate(1px, -1px);
	}
	50% {
			transform: translate(-1px, -1px);
	}
	75% {
			transform: translate(-1px, 1px);
	}
	100% {
			transform: translate(1px, 1px);
	}
}



/* ----------------------------------------------------
    sec01
---------------------------------------------------- */
.sec01 {
	width: 100%;
}


/* ----------------------------------------------------
    sec02
---------------------------------------------------- */
.sec02 {
	width: 100%;
}

/* ----------------------------------------------------
    sec03
---------------------------------------------------- */

.sec03 {
	width: 100%;
}
/* ----------------------------------------------------
    sec04
---------------------------------------------------- */

.sec04 {
	width: 100%;
}
/* ----------------------------------------------------
    sec05
---------------------------------------------------- */

.sec05 {
	width: 100%;
}
/* ----------------------------------------------------
    sec06
---------------------------------------------------- */


/* ----------------------------------------------------
    sec07
---------------------------------------------------- */

/* ----------------------------------------------------
    sec08
---------------------------------------------------- */


/* ----------------------------------------------------
    sec10
---------------------------------------------------- */

.sec10_ttl {
	font-size: 50px;
	padding: 20px 0;
	margin: 0;
	background-color: #60aeb9;
	color: #fff;
	margin-bottom: 50px;
	font-weight: bold;
}

.sec10_txt {
 color: #ff3333;
 font-weight: bold;
}

.map_box {
	padding: 20px;
}
.sec10_img {
	padding: 20px;
}
.sec10_inner {
  margin: 0 auto;
}
.sec10_table {
  width: 95%;
  border-collapse: collapse;
  margin: 0 auto;
}
.sec10_table th,
.sec10_table td {
  padding: 10px;
  border: 1px solid #333;
}
.sec10_table th {
  width: 120px;
  background-color: #f5f5f5;
  text-align: center;
  vertical-align: top;
  font-weight: bold;
}
.sec10_table td {
  line-height: 1.6;
  text-align: justify;
}

a.tel-link {
	color: #007BFF;
	text-decoration: none;
	font-weight: bold;
}
a.tel-link:hover {
	text-decoration: underline;
}

@media screen and (max-width: 640px) {
  .sec10 {
    padding-bottom: 40px;
  }
  .sec10_table th,
  .sec10_table td {
    padding: 15px;
  }
  .sec10_table th {
    width: 90px;
    font-size: 17px;
  }
  .sec10_table td {
    font-size: 16px;
  }
  .map_box {
		padding: 10px;
	}
	.sec10_img {
		padding: 10px;
	}
	.sec10_ttl {
		font-size: 40px;
		font-weight: bold;
	}
  
}

/* ----------------------------------------------------
    footer
---------------------------------------------------- */
.footer {
	font-size: 16px;
	text-align: center;
	padding: 20px 0;
	background-color: #60aeb9;
	color: #fff;
	font-weight: 500;
}
.footer p {
	text-align: center;
	text-decoration: none;
	color: #fff;
}

@media screen and (max-width: 640px) {
	.footer {
		font-size: 16px;
		padding: 10px 0;
		line-height: 1.3;
	}
}


/* ----------------------------------------------------
    固定ボタン
---------------------------------------------------- */
.fixed-bottom-link {
	position: fixed;
	bottom: 0;
	padding: 0 0;
	background-color: #000000da;
	z-index: 100;
	width: 100%;
	display: none; /* 初期状態では非表示 */
	left: 0;
}

.fixed-bottom-link.show {
	display: block; /* クラスが付与されたら表示 */
}

.fixed_btn {
	display: flex;
	justify-content: space-between;
	gap: 8px;
	margin: 0 auto;
	width: 600px;
}

.fixed_btn a:hover {
	opacity: 0.8;
}

/*フッターまでスクロールしたら消す*/
.is-hidden {
  visibility: hidden;
  opacity: 0;
}

@media screen and (max-width: 640px) {
	.fixed-bottom-link {
		padding: 0 0;
	}

	.fixed_btn {
		gap: 4px;
		width: 92%;
	}
}