﻿@charset "utf-8";
/* --------------------------------------------------
	基本定義
-------------------------------------------------- */
.bpts_both {
		clear: both;
		font-size: 0px;
		line-height: 0px;
}
/* スペーサー　 */
.bpts_spacer_h5 {
		margin: 0px;
		padding: 0px;
		width: 100%;
		height: 5px;
}
.bpts_spacer_h7 {
		margin: 0px;
		padding: 0px;
		width: 100%;
		height: 7px;
}
.bpts_spacer_h10 {
		margin: 0px;
		padding: 0px;
		width: 100%;
		height: 10px;
}
.bpts_spacer_h15 {
		margin: 0px;
		padding: 0px;
		width: 100%;
		height: 15px;
}
.bpts_spacer_h20 {
		margin: 0px;
		padding: 0px;
		width: 100%;
		height: 20px;
		line-height: 20px;
}
.bpts_spacer_h30 {
		margin: 0px;
		padding: 0px;
		width: 100%;
		height: 30px;
		line-height: 20px;
}
.bpts_spacer_h40 {
		margin: 0px;
		padding: 0px;
		width: 100%;
		height: 40px;
		line-height: 20px;
}
.bpts_spacer_h80 {
		margin: 0px;
		padding: 0px;
		width: 100%;
		height: 80px;
		line-height: 20px;
}
.bpts_spacer_h30_onoff {
		margin: 0px;
		padding: 0px;
		width: 100%;
		height: 30px;
		line-height: 20px;
}
/* 768以下になったらスペーサーの高さをゼロにするオプション*/
.op_768off {}
@media (max-width: 768px) {
		.op_768off {
				height: 0px;
				line-height: 0px;
		}
}
/* --------------------------------------------------
	ヘッダー
-------------------------------------------------- */
/* レスポンシブメニュー　 */
/* 正方形（土台） */
#panel-btn {
		display: inline-block;
		position: relative;
		width: 50px;
		height: 50px;
		background: #2d287f;
		/*background-color:transparent;*/
		float: right;
		z-index: 100;
		/*margin-right:-15px;*/
		/*
	display: flex;
	align-items: center;
*/
}
#panel-btn-icon {
		/*	color:white;*/
		color: #FDD000;
		text-align: center;
		line-height: 3em;
		text-indent: -0.8em;
		font-size: 0.6em;
}
/* 上下の線 */
#panel-btn-icon:before, #panel-btn-icon:after {
		display: block;
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		width: 14px;
		height: 2px;
		/*  background:white;*/
		background-color: #fdd000;
		transition: .3s;
}
#panel-btn-icon:before {
		margin-top: -12px;
}
#panel-btn-icon:after {
		margin-top: 8px;
}
/* 真ん中の線 */
#panel-btn-icon {
		display: block;
		position: absolute;
		top: 44%;
		left: 26%;
		width: 25px;
		height: 4px;
		/*margin: -1px 0 0 -7px;*/
		/*  background: white;*/
		background-color: #fdd000;
		transition: .2s;
}
/* 開いた時 */
#panel-btn-icon:before, #panel-btn-icon:after {
		display: block;
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 25px;
		height: 4px;
		/*  background: white;*/
		background-color: #fdd000;
		transition: .3s;
}
#panel-btn-icon:before {
		margin-top: -8px;
}
#panel-btn-icon:after {
		margin-top: 8px;
}
/* 閉じた時 */
#panel-btn .close {
		background: transparent;
}
#panel-btn .close:before, #panel-btn .close:after {
		margin-top: 0;
}
#panel-btn .close:before {
		transform: rotate(-45deg);
		-webkit-transform: rotate(-45deg);
}
#panel-btn .close:after {
		transform: rotate(-135deg);
		-webkit-transform: rotate(-135deg);
}
/* ドロワーメニュー（クリック後） */
#panel {
		display: none;
		/* background-color:rgba(83,71,65,0.9); */
		background-color: rgba(255, 255, 255, 0.7);
		position: absolute;
		top: 0px;
		right: 0;
		width: 100%;
		/*    height:100%;*/
		padding: 60px 0 20px 20px;
		z-index: 50;
		text-align: center;
}
.peke {
		background-position: -35px 0;
}
.drawr {
		display: none;
		background-color: #FDD000;
		position: absolute;
		top: 0px;
		right: 0;
		width: 260px;
		padding: 60px 0 20px 20px;
		z-index: 100;
}
#menu li {
		width: 80%;
		background-color: #2d287f;
		margin: 13px auto;
		text-align: center;
}
#menu li:hover {
		width: 80%;
		/*	background-color:rgba(177,38,13,1.00);*/
		background-color: #FDD000;
		margin: 13px auto;
		text-align: center;
}
#menu li a {
		/*    color: #333333;*/
		/*    color: rgba(251,248,184,1.00);*/
		color: white;
		font-size: 1.4em;
		text-decoration: none;
		display: block;
		padding: 15px;
}
#menu li:hover {
		width: 80%;
		/*	background-color:rgba(177,38,13,1.00);*/
		background-color: #FDD000;
		margin: 13px auto;
		text-align: center;
}
#menu li a {
		/*    color: #333333;*/
		/*    color: rgba(251,248,184,1.00);*/
		color: white;
		font-size: 1.4em;
		text-decoration: none;
		display: block;
		padding: 15px;
}
/* メインロゴ　 */
.bpts_header_logo {
		text-align: center;
		width: auto;
		padding-top: 18px;
}
@media (max-width: 768px) {}
/* ナビゲーション　 */
.bpts_header_navi {
		box-sizing: border-box;
		margin: 25px auto 8px auto;
		max-width: 380px;
		padding: 5px;
		text-align: center;
		background-image: url(../image/common/img-border-green.png);
		background-repeat: repeat-x;
}
.bpts_header_navi p {
		font-size: .8em;
		color: #2D287F; /*テキスト用暗紺*/
}
.bpts_header_navi a {
		padding: 6px 10px;
}
.bpts_header_navi a:not(:first-of-type) {
		margin-left: 10px;
}
@media (min-width: 769px) {
		.bpts_header_navi a, .bpts_header_navi a:link, .bpts_header_navi a:visited {
				color: rgb(0, 0, 0); /*テキスト用黒*/
		}
		.bpts_header_navi a:hover {
				color: white;
				background-color: #2D287F;
				text-decoration: none;
		}
		.bpts_header_navi a:active {
				color: rgba(45, 40, 127, 1.00); /*テキスト用暗紺*/
		}
}
@media (max-width: 768px) {
		.bpts_header_navi {
				width: auto;
				max-width: 320px;
				margin: 0 auto;
				padding: 3px;
				background-color: rgba(35, 53, 109, 0.59);
		}
		.bpts_header_navi a {
				box-sizing: border-box;
				padding-left: 20px;
				color: black;
				background: url("../image/common/icon-sidemenu-active.png") center left no-repeat;
				background-size: 15px;
		}
		.bpts_header_navi a:not(:first-of-type) {
				margin-left: 1%;
		}
}
/* お電話はこちら */
.bpts_header_tel {
		margin: 25px auto 8px auto;
		width: 95%;
		max-width: 380px;
		padding: 1px 0px;
		text-align: center;
		border-radius: 3px;
		background-color: rgba(66, 55, 47, 0.70);
}
/* レスポンシブメニュー　 */
.bpts_header_menu {
		display: none;
}
@media (max-width: 768px) {
		.bpts_header_menu {
				display: inherit;
		}
}
/* --------------------------------------------------
	いろいろなパーツ
-------------------------------------------------- */
.bpts_alignedlist {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		margin: 0px;
}
.bpts_alignedlist li {
		float: left;
		width: 16em;
}
/* --------------------------------------------------
	Flexboxの各設定
-------------------------------------------------- */
/* ========= flexの作成 ============*/
/*　(1)flex（レスポンシブで横並びを解除する） */
.bpts_flexbox_onoff {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
}
/* (2)レスポンシブで横並びを解除しない */
.bpts_flexbox_noblock {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
}
/* -------------(1)折り返す時のカスタマイズ ------------*/
/* ========= 折り返しの有無 ============*/
/* 折り返したいとき */
.bpts_flexbox_onoff.wrap {
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
}
/* ========= 揃え位置 ============*/
/* 両端ぞろえにしたいとき */
.bpts_flexbox_onoff.justify {
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
}
/* センターに集めたいとき */
.bpts_flexbox_onoff.center {
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
}
/* 左（先頭）揃えにしたいとき */
.bpts_flexbox_onoff.start {
		-webkit-box-pack: start;
		-ms-flex-pack: start;
		justify-content: flex-start;
}
/* 右揃え（最後）揃えにしたいとき */
.bpts_flexbox_onoff.end {
		-webkit-box-pack: end;
		-ms-flex-pack: end;
		justify-content: flex-end;
}
/* ========= 縦に積む ============*/
/* 縦に並べる */
.bpts_flexbox_nobloc.column {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		flex-direction: column;
}
/* ========= 中の要素の位置 ============*/
/* 要素を上下中央に寄せる */
.bpts_flexbox_onoff.item_center {
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
}
/* 要素を下に寄せる */
.bpts_flexbox_onoff.item_end {
		-webkit-box-align: end;
		-ms-flex-align: end;
		align-items: flex-end;
}
/* ========= その他 ============*/
/* flexで揃えた要素に5pxずつのmarginを加えるとき */
.bpts_flexbox_onoff.plus_5px div {
		margin: 5px;
}
@media (max-width: 768px) {
		/* レスポンシブでflexを解除する */
		.bpts_flexbox_onoff {
				display: block;
				-webkit-box-pack: center;
				-ms-flex-pack: center;
				justify-content: center;
		}
}
/* -------------(2)折り返さない時のカスタマイズ ------------*/
/* ========= 揃え位置 ============*/
/* 両端ぞろえにしたいとき */
.bpts_flexbox_noblock.justify {
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
}
/* センターに集めたいとき */
.bpts_flexbox_noblock.center {
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
}
/* 左（先頭）揃えにしたいとき */
.bpts_flexbox_noblock.start {
		-webkit-box-pack: start;
		-ms-flex-pack: start;
		justify-content: flex-start;
}
/* 右揃え（最後）揃えにしたいとき */
.bpts_flexbox_noblock.end {
		-webkit-box-pack: end;
		-ms-flex-pack: end;
		justify-content: flex-end;
}
/* ========= 中の要素の位置 ============*/
/* 要素を上下中央に寄せる */
.bpts_flexbox_noblock.item_center {
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
}
/* 要素を下に寄せる */
.bpts_flexbox_noblock.item_end {
		-webkit-box-align: end;
		-ms-flex-align: end;
		align-items: flex-end;
}
/* --------------------------------------------------
	フッター
-------------------------------------------------- */
.bpts_footer {
		margin: 0 auto;
}
.bpts_footer_wrapper:before {
		top: 0;
		right: 0;
		width: 35%;
		height: 100%;
		content: '';
		position: absolute;
		background-position: left top;
		background-repeat: repeat;
		background-image: url(../image/common/bgi-footer.png);
}
.bpts_footer_wrapper {
		margin-top: 5em;
		text-align: left;
		padding: 3em 0;
		background-position: left top;
		background-repeat: repeat;
		position: relative;
		/*.wrapper_fullbgと同様*/
		box-sizing: border-box;
		font-size: .9rem;
		color: #fff;
		background-image: url(../image/common/bgi-footer-02.png);
}
.bpts_footer_wrapper .add{
	max-width: 400px;
	margin-left: 10%;
}
/* ページトップ　*/
.bpts_footer_pagetop {
		position: fixed;
		bottom: 40px;
		right: 60px;
		z-index: 1;
		height: auto;
		/*.wrapper_fullbgと同様*/
		box-sizing: border-box;
		max-width: 1600px;
		margin: 0 auto;
}

/* コピーライト　*/
.bpts_footer_copyright {
		font-size: .7em;
		color: #5B5B5B;
		text-align: center;
		clear: both;
		padding: 0px;
		background: white;
}
@media (min-width: 769px) { /*PCのみ*/
		.bpts_footer {
				padding-top: 0px;
		}
		.bpts_footer_wrapper {
				/*		box-sizing: border-box;*/
				/*		padding-left:20px;*/
		}
		.bpts_footer_wrapper img.for_sf {
				display: none;
		}
}
@media (max-width: 768px) {
		.bpts_footer {
				font-size: 0.8em;
		}
		.bpts_footer_wrapper:before {
				width: 0%;
		}
		.bpts_footer_wrapper {
				float: none;
				/*.wrapper_fullbgの解除*/
				margin-left: 0;
				margin-right: 0;
				padding-left: 0;
				padding-right: 0;
				padding: 4% 0 10% 3%;
				height: auto;
		}
		.bpts_footer_wrapper .add{
	width: 90%;		
	margin-left:0!important;
}
		.bpts_footer_pagetop {
				position: fixed;
				bottom: 0px;
				right: 0px;
				z-index: 1;
				height: auto;
				width: 100%;
				/*height: 70px;*/
				/*.wrapper_fullbgの解除*/
				margin-left: 0;
				margin-right: 0;
				padding-left: 0;
				padding-right: 0;
				/*		background-color: white;*/
				text-align: center;
				padding: 0px 0% 10px 0;
		}
		.bpts_footer_pagetop a img {
				width: 60px;
		}
		#zone_footer { /*pagetopで隠れる分の調整*/
				background-position: center 70px;
		}
		.bpts_footer_copyright {
				font-size: 10px;
		}
}
/* --------------------------------------------------
	Flexboxの各設定
-------------------------------------------------- */
/* ========= flexの作成 ============*/
/*　(1)flex（レスポンシブで横並びを解除する） */
.bpts_flexbox_onoff {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
}
/* (2)レスポンシブで横並びを解除しない */
.bpts_flexbox_noblock {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
}
/* -------------(1)折り返す時のカスタマイズ ------------*/
/* ========= 折り返しの有無 ============*/
/* 折り返したいとき */
.bpts_flexbox_onoff.wrap {
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
}
/* ========= 揃え位置 ============*/
/* 両端ぞろえにしたいとき */
.bpts_flexbox_onoff.justify {
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
}
/* センターに集めたいとき */
.bpts_flexbox_onoff.center {
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
}
/* 左（先頭）揃えにしたいとき */
.bpts_flexbox_onoff.start {
		-webkit-box-pack: start;
		-ms-flex-pack: start;
		justify-content: flex-start;
}
/* 右揃え（最後）揃えにしたいとき */
.bpts_flexbox_onoff.end {
		-webkit-box-pack: end;
		-ms-flex-pack: end;
		justify-content: flex-end;
}
/* ========= 縦に積む ============*/
/* 縦に並べる */
.bpts_flexbox_nobloc.column {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		flex-direction: column;
}
/* ========= 中の要素の位置 ============*/
/* 要素を上下中央に寄せる */
.bpts_flexbox_onoff.item_center {
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
}
/* 要素を下に寄せる */
.bpts_flexbox_onoff.item_end {
		-webkit-box-align: end;
		-ms-flex-align: end;
		align-items: flex-end;
}
/* ========= その他 ============*/
/* flexで揃えた要素に5pxずつのmarginを加えるとき */
.bpts_flexbox_onoff.plus_5px div {
		margin: 5px;
}
@media (max-width: 768px) {
		/* レスポンシブでflexを解除する */
		.bpts_flexbox_onoff {
				display: block;
				-webkit-box-pack: center;
				-ms-flex-pack: center;
				justify-content: center;
		}
}
/* -------------(2)折り返さない時のカスタマイズ ------------*/
/* ========= 揃え位置 ============*/
/* 両端ぞろえにしたいとき */
.bpts_flexbox_noblock.justify {
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
}
/* センターに集めたいとき */
.bpts_flexbox_noblock.center {
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
}
/* 左（先頭）揃えにしたいとき */
.bpts_flexbox_noblock.start {
		-webkit-box-pack: start;
		-ms-flex-pack: start;
		justify-content: flex-start;
}
/* 右揃え（最後）揃えにしたいとき */
.bpts_flexbox_noblock.end {
		-webkit-box-pack: end;
		-ms-flex-pack: end;
		justify-content: flex-end;
}
/* ========= 中の要素の位置 ============*/
/* 要素を上下中央に寄せる */
.bpts_flexbox_noblock.item_center {
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
}
/* 要素を下に寄せる */
.bpts_flexbox_noblock.item_end {
		-webkit-box-align: end;
		-ms-flex-align: end;
		align-items: flex-end;
}
/* --------------------------------------------------
	ボタン
-------------------------------------------------- */
.bpts_btn{ position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    padding: 10px 25px 10px 50px;
    color: #313131;
    transition: 0.3s ease-in-out;
    font-weight: 600;
    border: 1px solid #222;
    border-radius: 50px;
    z-index:0;
	background: #fff;
    overflow: hidden;
	text-decoration: none;
}
.bpts_btn:before {
    font-family: "Font Awesome 5 Free";
    content: "\f105";
    line-height: 1em;
	font-size: 1em;
    position: absolute;
    left: 10px;
	padding: .3em;
    background: #FFF;
    border-radius: 100px;
    z-index: 2;
}
.bpts_btn:after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 0;
    display: block;
    background: #FDD000;
    transition: .4s;
    left:0;
}
.bpts_btn:hover:after {
    width: 100%;
    z-index: -1;
}
/*　PC表示時任意の場所で改行　*/
.bpts_br_pc::before {
		content: "\A";
		white-space: pre;
}
@media (max-width: 769px) {
		/*　PC表示時任意の場所で改行をレスポンシブ時解除　*/
		.bpts_br_pc::before {
				display: none;
		}
		/*　レスポンシブ時任意の場所で改行　*/
		.bpts_br::before {
				content: "\A";
				white-space: pre;
		}
}