/*メニュー*/

.nav-logo{
	width: 27%;
}

/*太字*/

.bold{
	font-weight: bold;
}

/*背景色*/
.gray{
	background-color: #b9b9b9;
}

.silk{
	background-color: #f5f0dd;
}

.seagreen{
	background-color: #115740 !important;
}

.feldspar{
	background-color: #8094d7;
}

.teal{
	background-color: #3fa381;
}

.darkorange{
	background-color: #e28801;
}

.richblue{
	background-color: #00b9e7;
}

.whitesmoke{
	background-color: #efefef;
}

.white{
	background-color: #ffffff;
}

.blue-grad{
	background: linear-gradient(to right, #00b9e7, #00a2ca);
}

.red-grad{
	background: linear-gradient(to right, #e81277, #de4231);
}

/*Table用*/
table{
}

.my-th{
	width: 18%;
	vertical-align: top;
}

.my-th2{
	width: 26%;
}

.b-lt{
	border-left: solid 2px;
	padding-left: 20px; 
}

.b-lt-pc{
	border-left: solid 1px;
}

.b-rt-pc{
	border-right: solid 1px;
}

.b-tp{
	border-top: solid 2px;
}

.b-tp-00b9e7{
	border-top: solid 2px #00b9e7;
}

.b-bt{
	border-bottom: solid 2px;
}

/*フォントサイズ*/

.f-12{
	font-size: 12px;
}

.f-14{
	font-size: 14px;
}

.f-18{
	font-size: 18px;
}

.f-20{
	font-size: 20px;
}

.f-24{
	font-size: 24px;
}

.f-28{
	font-size: 28px;
}

.f-30{
	font-size: 30px !important;
}

.f-34{
	font-size: 34px;
}

.f-40{
	font-size: 40px;
}

.f-54{
	font-size: 54px;
}

.f-70{
	font-size: 70px;
}

/*フォントカラー*/

.f-seagreen{
	color: #115740;
}

.f-feldspar{
	color: #8094d7;
}

.f-teal{
	color: #3fa381;
}

.f-darkorange{
	color: #e28801;
}

.f-violetred{
	color: #e81277;
}

.f-richblue{
	color: #00b9e7;
}

.events{
	color: #8094d7;
	border: solid 1px #8094d7;
	padding: 0 1px;
}

.reports{
	color: #3fa381;
	border: solid 1px #3fa381;
	padding: 0 1px;
}

.others{
	color: #e28801;
	border: solid 1px #e28801;
	padding: 0 1px;
}

/*ボーダーカラー*/

.b-seagreen{
	border-color: #115740 !important;
}

.b-feldspar{
	border-color: #8094d7 !important;
}

.b-teal{
	border-color: #3fa381 !important;
}

.b-darkorange{
	border-color: #e28801 !important;
}

/*背景*/
.img-back{

}

/*その他*/

.top3{
	height: 340px;
}

.more-rounded{
	border-radius: 1em;
}

.circle3 > li{
	display: inline-block;
	margin: 0 80px;
	text-align: center;
	width: 7em;
}

.my-li{
	height: 7em;
	line-height: 7em;
	border-radius: 50%;
	border: solid 1.2px;
	position: relative;
	background-color: #fff;
}

.my-li::before{
	content: '';
	position: absolute;
	top: 3.5em;
	left: -170px;
	width: 170px;
	height: 1px;
	background: black;
	z-index: -1;
}

.my-li::after{
	content: 'STEP';
	position: absolute;
	top: -1.5em;
	left: 3.5em;
	transform: translateX(-50%);
}

.my-li:first-child::before{
	display: none;
}

.center{
	position: relative;
}

.center > img{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
}

ul {
	list-style: none;
}

.w-50-100{
	width: 50%;
}

.flow-text{
	text-align: center;
	font-weight: bold;
}

/*改行*/

.br-pc{
	display: inline;
}

.br-sp{
	display: none;
}

/*レスポンシブ*/

.block-pc{
	display: block;
}

.block-sp{
	display: none;
}

/*img*/

.img-cover{
	width: 240px;
	object-fit: cover;
}

/*ヘッダー*/

.header{
	width: 100%;
}

.top_header {
    height: 90vh;
    position: relative;
    background-size: cover;
}

.top_header > img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	width: 50%;
}

/*Google Map*/
.map {
	height: 0;
	overflow: hidden;
	padding-bottom: 56.25%;
	position: relative;
}

.map iframe {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
}

/*マスク*/
.mask{
	-webkit-background-clip: text;
	color: transparent;
}

/*ページネーション*/
.page-numbers{
	margin: 0 5px !important;
	font-size: 24px !important;
	color: black !important;
}

/*トップ文言*/
.top-text{
	position: relative;
}

.top-text > .text1{
	position: absolute;
	top: 20%;
	left: 8%;
}

.top-text > .text2{
	position: absolute;
	top: 10px;
	left: 10px;
}

.top-text > .text3{
	position: absolute;
	bottom: 0;
	left: 10px;
}

/*フッターメニュー*/
.ul-border > li:first-child{
	border: none;
}

.ul-border > li{
	border-left: solid 1px #1B1B1B;
}

/*上下中央*/
.top-down-center{
	position: relative;
}

.top-down-center > .top-down-inner{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

/*数字箇条書き*/
ol  {
  margin: 0;
  padding: 0
}

ol li  {
  list-style: none;
  padding-left: 1.3em;
  text-indent: -1.3em;
}

/*Youtube動画*/
.yt-movie{
	position: relative;
	width: 100%;
	height: 0;
	overflow: hidden;
	padding-bottom: 56.25%;
}

.yt-movie > iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/*その他*/
.justify-content-center-left{
	-ms-flex-pack:center !important;
	justify-content:center !important;
}

.ul-border2 > li{
	border-bottom: solid 2px #d9d9d9;
}

.ul-border2 > li:last-child{
	border-bottom: none !important;
}

.w-90px{
	width: 90px;
}

.w-150px{
	width: 150px;
}

.w-400px{
	width: 400px;
}

.postall{
	border: solid 0.5px #aaaaaa;
	border-radius: 0.6em;
	box-shadow: 6px 6px 8px rgba(135, 189, 199, 0.4);
}

.g-recaptcha{
	margin-right:auto;
	margin-left:auto;
	text-align: center;
	width:300px;
	margin-bottom: 40px;
}

@media screen and (max-width: 768px){
	.nav-logo{
		width: 60%;
	}

	.br-pc{
		display: none;
	}

	.br-sp{
		display: inline;
	}

	.block-pc{
		display: none;
	}

	.block-sp{
		display: block;
	}

	.my-th{
		width: 40%;
	}

	.my-th2{
		width: 40%;
	}

	.b-lt-pc{
		border-left: none;
	}

	.b-rt-pc{
		border-right: none;
	}

	.sp-100{
		width: 100% !important;
	}

	.sp-240px{
		width: 240px;
	}

	.sp-h-220px{
		height: 220px;
	}

	.sp-text-center{
		text-align: center !important;
	}

	.circle3 > li{
		margin: 0 2px;
		width: 6em;
	}

	.my-li{
		height: 6em;
		line-height: 6em;
	}

	.my-li::before{
		left: -10px;
		width: 10px;
		top: 3em;
	}

	.my-li::after{
		left: 3em;
	}

	.header{
		object-fit: cover;
		height: 160px;
	}

	.top_header {
	    height: 240px;
	}

	.top_header > img {
		width: 90%;
	}

	.w-50-100{
		width: 100%;
	}

	.flow-text{
		text-align: left;
	}

	.sp-inline-block{
		display: inline-block !important;
	}

	.ul-border > li{
		border: none;
		text-align: left !important;
	}

	.justify-content-center-left{
		-ms-flex-pack:left !important;
		justify-content:left !important;
	}

	.text-center-sp{
		text-align: center;
	}

	.text-left-sp{
		text-align: left !important;
	}

	.text-right-sp{
		text-align: right !important;
	}

	.w-90px{
		width: auto;
	}
	
	.w-150px{
		width: auto;
	}
	
	.w-400px{
		width: 100%;
	}

	.f-14-sp{
		font-size: 14px !important;
	}
	
  　.example-item{
		flex-wrap: wrap !important;
	}
	
	.example-item .silk{
		flex-wrap: wrap !important;
	}
}

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

	.lum-img {
    max-width: 120vw !important;  /* 軽くスワイプで左端から右端まで動かせる量 */
    max-height: 85vh !important;  /* 上下に適度に余白 */
  }

}

/*ボタンcss*/

.simple_square_btn4 {
	display: block;
	position: relative;
	width: 180px;
	padding: 0.8em;
	text-align: center;
	text-decoration: none;
	border-radius: 30px;
	border:0px solid #1B1B1B;
	-webkit-backface-visibility: hidden; 
	-moz-backface-visibility: hidden;
    backface-visibility: hidden;
}

@media screen and (max-width: 768px){
	.simple_square_btn4{
		width: 130px;
	}
}

.simple_square_btn4:hover {
	 cursor: pointer;
	 text-decoration: none;
	-webkit-animation: simple_square_btn4 0.4s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
	-moz-animation: simple_square_btn4 0.4s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
	        animation: simple_square_btn4 0.4s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}
@-webkit-keyframes simple_square_btn4{
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(0.85);
            transform: scale(0.85);
  }
}
@-moz-keyframes simple_square_btn4{
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(0.85);
            transform: scale(0.85);
  }
}
@keyframes simple_square_btn4 {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(0.85);
            transform: scale(0.85);
  }
}

.btn-width{
	width: 32vw;
}

@media screen and (max-width: 768px){
	.btn-width{
		width: 60vw;
	}
}

/*三角*/
.tri{
	position: relative;
}

.tri::after{
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	-webkit-transform: translate(50%, -50%);
	transform: translate(50%, -50%);
	width: 0;
	height: 0;
	border-top: solid 15px transparent;
	border-right: solid 15px transparent;
	border-bottom: solid 15px transparent;
	border-left: solid 15px #006fb7;
}

@media screen and (max-width: 768px){
	.tri::after{
		content: "";
		position: absolute;
		bottom: 0;
		right: 50%;
		-webkit-transform: translate(50%, 150%);
		transform: translate(50%, 150%);
		width: 0;
		height: 0;
		border-top: solid 15px #006fb7;
		border-right: solid 15px transparent;
		border-bottom: solid 15px transparent;
		border-left: solid 15px transparent;
	}
}

/* 吹き出し会話 */
.oneArea {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  max-width: 1024px;
  margin: 50px auto;
  padding: 0 10px;
}
.oneArea .onebox {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.oneArea .onebox:nth-child(even) {
  flex-direction: row-reverse;
  margin-top: 20px;
}
.oneArea .onebox .imgArea {
  width: 16%;
  position: relative;
}
.oneArea .onebox .imgArea img {
  width: 100%;
  max-width: 130px;
  position: absolute;
  top: 0;
}
.oneArea .onebox:nth-child(odd) .imgArea img {
  left: 0;
  padding-right: 30px;
}
.oneArea .onebox:nth-child(even) .imgArea img {
  right: 0;
  padding-left: 30px;
}
.oneArea .onebox .fukiArea {
  width: 63%;
}
.oneArea .onebox .fukidasi {
  width: 100%;
  position: relative;
  padding: 25px;
  background-color: #7bd0e6;
  font-size: 18px;
  color: #231815;
  border-radius: 12px;
  box-sizing: border-box;
}
.oneArea .onebox .fukidasi::before {
  content: '';
  position: absolute;
  display: block;
  top: 22px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 15px 30px 15px 0;
  border-color: transparent #7bd0e6 transparent transparent;
}
.oneArea .onebox:nth-child(odd) .fukidasi::before {
  left: -20px;
}
.oneArea .onebox:nth-child(even) .fukidasi {
  background-color: #fde5e5;
}
.oneArea .onebox:nth-child(even) .fukidasi::before {
  right: -20px;
  border-color: transparent #fde5e5 transparent transparent;
  transform: rotate(180deg);
}
@media screen and (max-width: 1024px) {
  .oneArea .onebox .imgArea img {
    max-width: 70%;
  }
  .oneArea .onebox .fukidasi {
    padding: 15px;
    font-size: 14px;
  }
  .oneArea .onebox .fukidasi::before {
    top: 8px;
  }
}
@media screen and (max-width: 420px) {
  .oneArea {
    margin: 30px auto;
  }
  .oneArea .onebox:nth-child(even) {
    margin-top: 15px;
  }
  .oneArea .onebox .imgArea {
    width: 34%;
  }
  .oneArea .onebox .fukidasi {
    padding: 10px 15px;
    font-size: 12px;
  }
}

/* モーダル */
.modalArea {
  display: none;
  position: fixed;
  z-index: 10; /*サイトによってここの数値は調整 */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.modalBg {
  width: 100%;
  height: 100%;
  background-color: rgba(30,30,30,0.9);
}

.modalWrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform:translate(-50%,-50%);
  width: 70%;
  max-width: 500px;
  padding: 10px 30px;
  background-color: #fff;
}

.closeModal {
  position: absolute;
  top: 0.5rem;
  right: 1rem;
  cursor: pointer;
}




.floating-banner {
    position: fixed; /* 追従 */
    z-index: 99999; /* 他の要素の下に隠れないように */
    top: 80px; /* バナーの上下の位置 */
    right: 40px; /* バナーの左右の位置 */
}
.pc {
    width: 300px; /* バナーの横幅を指定 */
}
.floating-banner:hover {
    opacity: .8; /* ホバーで少し透過 */
}
.sp {
    display: none; /* PCではスマホ用のバナーは非表示に */
}
@media screen and (max-width: 990px) { /* タブレット用のブレイクポイントを指定 */
    .pc {
        display: none; /* タブレットサイズ以下でPC用のバナーを非表示に */
    }
}

@media screen and (max-width: 560px) { /* スマホ用のブレイクポイントを指定 */
    .sp {
        display: inline-block; /* 消していたスマホ用のバナーを表示させる */
        width: 100%; /* スマホの画面幅いっぱいにバナーを表示 */
    }
    .floating-banner  {
        top: unset; /* PCで指定していた上下の位置指定をクリア */
        right: 0; /* 左右の隙間が空かないように */
        bottom: 0; /* 画面の最下部にぴったりくっつくように指定 */
    }
}


.fixed_btn
{
  position: fixed;
  bottom: 10px;
  right: 10px;
  padding: 6px 40px;
}
