﻿ @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;
 	}
 }
 /* --------------------------------------------------
	ヘッダー
-------------------------------------------------- */
 
 /* --------------------------------------------------
	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_singlebanner {
 	margin: 10px auto;
 	width: 100%;
 	text-align: center;
 }
 .op_w90pct {
 	width: 90%;
 }
 .op_w80pct {
 	width: 80%;
 }
 .op_w60pct {
 	width: 60%;
 }
 .op_w50pct {
 	width: 50%;
 }
 .bpts_singlebanner img {
 	margin: 0px auto;
 	width: 100%;
 }
 /* --------------------------------------------------
	いろいろなパーツ
-------------------------------------------------- */
 .bpts_alignedlist {
 	display: -webkit-box;
 	display: -webkit-flex;
 	display: -ms-flexbox;
 	display: flex;
 	-webkit-box-pack: justify;
 	-ms-flex-pack: justify;
 	justify-content: space-between;
 	-ms-flex-wrap: wrap;
 	flex-wrap: wrap;
 	margin: 0px;
 }
 .bpts_alignedlist li {
 	float: left;
 	width: 16em;
 }
 /* --------------------------------------------------
	フッター
-------------------------------------------------- */
 .bpts_footer {
 	margin-top: 70px;
 	background: url("../image/common/bg-footer.jpg");
 	background-repeat: no-repeat;
 	background-position: center;
 }
 @media (max-width: 768px) {
 	.bpts_footer {
 		padding: 0;
 	}
.bpts_flexbox_onoff.center li{
	display: inline-block;
	margin: 0 auto;
	 }
 }

 /* ページトップ　*/
 .bpts_footer_pagetop {
 	display: none;
 	position: absolute;
 	bottom: 40px;
 	right: 40px;
 	z-index: 998;
 	margin: 0;
 	padding: 0;
 }
 /* フッターのmisc */
 .footer_misc {
 	margin-bottom: 20px;
 }

 .footer_misc a {
 	color: #fff;
 	font-size: .75em;
 	border-right: 1px solid #fff;
 	padding: 0 8px;
 }
 .footer_misc li:last-child a {
 	border-right: none;
 }
 /* コピーライト　*/
 .bpts_footer_copyright {
 	text-align: center;
 	font-size: 0.7em;
 	color: #fff;
 	background: rgba(9, 103, 83, 0.4);
 	padding: 5px 0;
 	margin: 0;
 }
 @media (max-width: 1218px) {
 	.bpts_footer_pagetop {
 		display: block;
 		position: fixed;
 		bottom: 10px;
 		right: 10px;
 		z-index: 998;
 		height: auto;
 		width: 100%;
 		text-align: center;
 		padding: 0;
 		margin: 0;
 	}
 	.bpts_footer_pagetop a img {
 		width: 75px;
 	}
 	#zone_footer { /*pagetopで隠れる分の調整*/
 		background-position: center 70px;
 	}
 	.bpts_footer_copyright {
 		background: #0A5B4B;
 	}
 }
 /* フッターコンテンツ */
 .bpts_footer_contents {
 	max-width: 900px;
 	margin: 0 auto;
 	padding: 70px 0;
 	color: #fff;
 }
 .bpts_footer_contents a {
 	color: #fff;
 }
 @media (max-width: 768px) {
 	/* フッターコンテンツ */
 	.bpts_footer_contents {
 		padding: 70px 10px;
 	}
 }
 /* --------------------------------------------------
	ボタン
-------------------------------------------------- */
 /*　リンクボタン　*/
 .bpts_btn_link01 {
 	display: inline-block;
 	overflow: hidden;
 	padding: 5px 5px 5px 25px;
 	border-radius: 5px;
 	background: url(../../image/common/icon-arrow-linkbtn.png) #F1F5F5 no-repeat 4px center;
 	vertical-align: middle;
 }
 /* Q&A・クリックすると開く（CSSのみで設定） */
 .bpts_qaa_qa *, .bpts_qaa_qa *:after, .bpts_qaa_qa *:before {
 	-webkit-box-sizing: border-box;
 	box-sizing: border-box;
 }
 .bpts_qaa_qa {
 	overflow-x: hidden;
 	margin: 0 auto;
 	color: #606060;
 }
 .bpts_qaa_qa .bpts_qaa_actab {
 	padding: 20px 0;
 	border-bottom: 1px dotted #cccccc;
 }
 .bpts_qaa_qa label {
 	position: relative;
 	display: block;
 	width: 100%;
 	margin: 0;
 	padding: 10px 10px 0 48px;
 	cursor: pointer;
 }
 .bpts_qaa_qa .bpts_qaa_actab-content {
 	line-height: 1.5em;
 	letter-spacing: 0.05em;
 	color: #6A6A6A; /*回答部分の文字色*/
 	position: relative;
 	overflow: hidden;
 	height: 0;
 	margin: 0 40px;
 	padding: 0 14px;
 	-webkit-transition: 0.4s ease;
 	transition: 0.4s ease;
 	opacity: 0;
 }
 .bpts_qaa_qa .bpts_qaa_actab input[type=checkbox]:checked ~ .bpts_qaa_actab-content {
 	height: auto;
 	padding: 14px;
 	opacity: 1;
 }
 .bpts_qaa_qa .bpts_qaa_plus {
 	color: #80C4B2; /*プラスマークの色*/
 	font-size: 2.4em;
 	line-height: 100%;
 	position: absolute;
 	z-index: 5;
 	margin: 3px 0 0 10px;
 	-webkit-transition: 0.2s ease;
 	transition: 0.2s ease;
 }
 .bpts_qaa_qa .bpts_qaa_actab input[type=checkbox]:checked ~ .bpts_qaa_plus {
 	-webkit-transform: rotate(45deg);
 	transform: rotate(45deg);
 }
 .bpts_qaa_qa .bpts_qaa_actab input[type=checkbox] {
 	display: none;
 }
 /* ホバーで色が切り替わるリンクボタン */
 .btps_linkbtn_isshoku {
 	display: inline-block;
 	width: auto;
 	padding: 0.3em 2em;
 	text-align: center;
 	text-decoration: none;
 	color: #23A27B!important;
 	border: 2px solid #23A27B;
 	border-radius: 50px;
 	transition: .4s;
 	font-weight: 600;
 	margin: 10px 5px;
 	background: #fff;
 }
 a.btps_linkbtn_isshoku:hover {
 	background: #23A27B;
 	color: #fff!important;
 	text-decoration: none;
 }
 /*右寄せ*/
 .btps_linkbtn_isshoku.right {
 	margin: 0 0 0 auto;
 }
 @media (max-width: 769px) {
 	.btps_linkbtn_isshoku {
 		font-size: 1.5rem;
 		padding: 0.3em 1em;
 	}
 }
 /* PCのみスペーサー　 */
 .bpts_spacer_h200_pc {
 	margin: 0px;
 	padding: 0px;
 	width: 100%;
 	height: 200px;
 }
 @media (max-width: 769px) {
 	/* PCのみスペーサー　 */
 	.bpts_spacer_h200_pc {
 		margin: 0px;
 		padding: 0px;
 		width: 100%;
 		height: 0px;
 	}
 }
 /*　PC表示時任意の場所で改行　*/
 .bpts_br_pc::before {
 	content: "\A";
 	white-space: pre;
 }
 /* メインメニュー対策 */
 @media (max-width: 1175px) {
 	/*　PC表示時任意の場所で改行をレスポンシブ時解除　*/
 	.bpts_br_pc_mainmenu::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;
 	}
 }
 /* -------------目次ページの矢印つきボタン------------- */
 ul.bpts_mokuji_button_flex {
 	display: -webkit-box;
 	display: -webkit-flex;
 	display: -ms-flexbox;
 	display: flex;
 	-webkit-box-lines: multiple;
 	-moz-box-lines: multiple;
 	-ms-flex-wrap: wrap;
 	flex-wrap: wrap;
 	max-width: 1100px;
 	-webkit-box-pack: justify;
 	-ms-flex-pack: justify;
 	justify-content: space-between;
 	margin: 0 auto;
 	padding: 10px;
 }
 ul.bpts_mokuji_button_flex li {
 	width: 31%;
 	padding: .6em .4em;
 	position: relative;
 	display: inline-block;
 	background-color: white;
 	border: 1px solid #C4D7D2;
 	color: #40CC7F;
 	text-align: center;
 	text-decoration: none;
 	font-size: 1.1em;
 	margin-bottom: 15px;
 	transition: .4s;
 }
ul.bpts_mokuji_button_flex li a{
	display: block;
	width: 100%;
}
 .bpts_mokuji_button_flex li::after {
 	position: absolute;
 	top: 50%;
 	right: 2em;
 	content: '';
 	margin-top: -5px;
 	border: 7px solid transparent;
 	border-top-width: 5px;
 	border-bottom-width: 5px;
 	border-left-color: #40BDCC;
 	transition: all .2s;
 }
 .bpts_mokuji_button_flex li:hover::after {
 	right: 1.5em;
 	border-left-color: #fff;
 }
 ul.bpts_mokuji_button_flex.footer li {
 	width: 22%;
 	padding: .3em;
 }
 /* ボタン１こ分 */
 .bpts_mokuji_button_flex li:hover {
 	background: #BAF1E4;
 	color: #fff;
 }
 @media (max-width: 769px) {
 	ul.bpts_mokuji_button_flex {
 		display: block;
 	}
 	ul.bpts_mokuji_button_flex li {
 		width: 95%;
 	}
 	/* ボタン１こ分 */
 	.bpts_mokuji_button_flex li {
 		width: 100%;
 	}
 	ul.bpts_mokuji_button_flex.footer li {
 		width: 95%;
 		margin: 0 auto;
 		padding: .3em;
 	}
 }
 /* 画像の下に文字が回り込まないとき用 */
 .bpts_fleximg {
 	display: -webkit-box;
 	display: -webkit-flex;
 	display: -ms-flexbox;
 	display: flex;
 	-webkit-box-lines: multiple;
 	-moz-box-lines: multiple;
 }
 .bpts_fleximg img {
 	margin: 0 15px 15px;
 }
 @media (max-width: 769px) {
 	.bpts_fleximg {
 		display: block;
 		float: left; /* レスポンシブ時はまわりこむ */
 	}
 	.bpts_fleximg img {
 		float: left;
 	}
 	.bpts_fleximg:after { /* まわりこんだ後フロートを解除する */
 		display: block;
 		clear: both;
 		content: "";
 		margin-bottom: 30px;
 	}
 }
 .search_container {
	 width: 340px;
 	margin-top: 10px;
 	text-align: right;
 	box-sizing: border-box;
 }
 .search_container input[type="text"] {
 	width: 50%;
 	background: rgba(0, 0, 0, 0.3);
 	border: none;
 	height: 1.6em;
 	padding: 5px 10px;
 	color: #fff;
 }
 .search_container input[type="text"]:focus {
 	outline: 0;
 }
 .search_container input[type="image"] {
 	cursor: pointer;
 	border: none;
 	background: rgba(0, 0, 0, 0.3);
 	color: #fff;
 	outline: none;
 	padding: 6px 10px;
 	vertical-align: middle;
 }
 .search_container input[type="image"]:hover {
 	background: rgba(0, 0, 0, 0.7);
 }
 .search_container ::-webkit-input-placeholder {
 	color: #fff;
 }

@media (max-width: 768px) {

 .search_container {
	display: none;
 }
}
 /* --------------------------------------------------
	矢印ボックス
-------------------------------------------------- */
 .bpts_yajirushi_bottom_box {
 	position: relative;
 	background: #ffffff;
 	border: 4px solid #A9CCF0;
 	padding: 10px 90px 10px 90px;
 	margin-bottom: 40px;
 }
 .bpts_yajirushi_bottom_box_end {
 	position: relative;
 	background: #ffffff;
 	border: 4px solid #A9CCF0;
 	padding: 10px 90px 10px 90px;
 }
 .bpts_yajirushi_bottom_box:after, .bpts_yajirushi_bottom_box:before {
 	width: 100%;
 	top: 100%;
 	left: 50%;
 	border: solid transparent;
 	content: " ";
 	height: 0;
 	width: 0;
 	position: absolute;
 	pointer-events: none;
 }
 .bpts_yajirushi_bottom_box:after {
 	border-color: rgba(255, 255, 255, 0);
 	border-top-color: #ffffff;
 	border-width: 20px;
 	margin-left: -20px;
 }
 .bpts_yajirushi_bottom_box:before {
 	border-color: rgba(230, 230, 230, 0);
 	border-top-color: #A9CCF0;
 	border-width: 26px;
 	margin-left: -26px;
 }
 /* 中見出し */
 .col_internal_chuumidashi_work02 {
 	font-size: 1.5em;
 	padding-top: 15px;
 	padding-left: 32px;
 	line-height: 1.5;
 	color: #7CAEE0;
 	font-family: 'Avenir', 'Helvetica Neue', 'Helvetica', 'Arial', 'Hiragino Sans', 'ヒラギノ角ゴシック', YuGothic, 'Yu Gothic', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic';
 }
 /* ボックス内のフロート */
 .f_l_img {
 	float: right;
 	width: 45%;
 	height: 100%;
 	text-align: center;
 }
 .f_r_text {
 	float: right;
 	width: 53%;
 }
 .f_l_img img {
 	width: auto;
 	max-height: 130px;
 }
 .f_r_text p {
 	margin-left: 32px;
 }
 /* スマホ用 */
 @media (max-width: 890px) {
 	.bpts_yajirushi_bottom_box {
 		display: inline-block;
 		text-align: left;
 		padding: 10px 0 0 10px;
 		width: calc(100% - 20px);
 		margin-bottom: 25px;
 	}
 	.bpts_yajirushi_bottom_box_end {
 		display: inline-block;
 		text-align: left;
 		padding: 10px 0 0 10px;
 		width: calc(100% - 20px);
 		margin-bottom: 25px;
 	}
 	/* 中見出し */
 	.col_internal_chuumidashi_work02 {
 		font-size: 1em;
 		padding: 10px 0 10px 10%;
 		line-height: 1.2em;
 	}
 	.time_img02 {
 		width: 120px;
 		margin-left: 4%;
 	}
 	.f_l_img {
 		width: 100%;
 		max-width: 50%;
 	}
 	.responsive_wrappar_c {
 		text-align: left;
 	}
 	.responsive_wrappar_c img {
 		max-width: 95%;
 	}
 	.f_r_text {
 		/*        float: left;
*/ width: 70%;
 	}
 	.f_r_text p {
 		font-size: 0.8em;
 		margin-left: 10%;
 	}
 }
 @media (max-width: 540px) {
 	.f_r_text {
 		float: none;
 		width: 100%;
 	}
 }
 a.bpts_btn_move {
 	position: relative;
 	display: block;
 	width: 40%;
 	padding: 0.8em;
 	text-align: center;
 	text-decoration: none;
 	background: #5B5AAF;
 	border: 1px solid #fff;
 	overflow: hidden;
 	color: #fff !important;
 	margin-bottom: 20px;
 	margin-left: 10px;
 }
 a.bpts_btn_move:before {
 	content: "";
 	position: absolute;
 	top: 0px;
 	left: -80%;
 	height: 100%;
 	width: 100%;
 	background: #fff;
 	opacity: 0.3;
 	transition: .6s;
 }
 a.bpts_btn_move:hover:before {
 	left: 0;
 }
 @media (max-width: 769px) {
 	a.bpts_btn_move {
 		width: 90%;
 	}
 }
 /* グラデーションボタン */
 .bpts_linkbtn_grad {
 	flex: 1 1 auto;
 	margin: 5px;
 	padding: .7em 1em;
 	text-align: center;
 	text-transform: uppercase;
 	transition: 0.5s;
 	background-size: 200% auto;
 	color: #fff !important;
 	text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
 	box-shadow: 0 0 20px #eee;
 	display: inline-block;
 }
 .bpts_linkbtn_grad span {
 	display: block;
 }
 .bpts_linkbtn_grad span:before {
 	content: url(https://icongr.am/material/chevron-right.svg?size=20&color=ffffff);
 	vertical-align: -3px;
 }
 .bpts_linkbtn_grad:hover {
 	background-position: right center;
 }
 .bpts_linkbtn_grad.blue {
 	background-image: linear-gradient(to right, #5FD6E9 0%, #4B95EA 51%, #5FD6E9 100%);
 }
 .bpts_linkbtn_grad.green {
 	background-image: linear-gradient(to right, #00C892 0%, #158878 51%, #56D480 100%);
 }
 .bpts_linkbtn_grad.pink {
 	background-image: linear-gradient(to right, #F296AB 0%, #F5CD58 51%, #F296AB 100%);
 }
 /* ボタン */
 a.bpts_btn_fuwa {
 	display: block;
 	/*max-width: 200px;*/
 	width: 95%;
 	margin: 10px;
 	padding: 1.1em 2.2em 1.1em .8em;
 	text-align: center;
 	vertical-align: middle;
 	text-decoration: none;
 	color: #fff;
 	font-size: 1.2em;
 	font-weight: bold;
 	background: #23A27B;
 	border-radius: 1px;
 	transition: .4s;
 	box-sizing: border-box;
 	border-bottom: none;
 	position: relative;
 }
 a.bpts_btn_fuwa:after {
 	content: url(https://icongr.am/fontawesome/play.svg?size=15px&color=ffffff);
 	position: absolute;
 	right: 20px;
 	display: block;
 	top: 33%;
 }
 a.bpts_btn_fuwa:hover {
 	background: #6BB599;
 }
 a.bpts_btn_fuwa.long {
 	max-width: 100%;
 }
 ul.bpts_btn_gradation {
 	width: 100%;
 	display: -webkit-box;
 	display: -ms-flexbox;
 	display: flex;
 	-ms-flex-wrap: wrap;
 	flex-wrap: wrap;
 	-webkit-box-pack: justify;
 	-ms-flex-pack: justify;
 	justify-content: space-between;
 }
 @media (max-width: 769px) {
 	a.bpts_btn_fuwa, a.bpts_btn_fuwa.icon_ronbun, ul.bpts_mokuji_button_flex li {
 		width: 95%;
 		margin-top: 10px;
 	}
 }