@charset "UTF-8";

/* --- reset default style ---------------*/
body,
h1, h2, h3, h4, h5, h6,
div, p, ul, ol, li,
dl, dt, dd,
pre, blockquote, address,
table, thead, tbody, tfoot,
tr, th, td, caption,
form, fieldset, legend,
optgroup, option,
del, ins,
span, a, img,
dfn, em, strong, bdo,
abbr, acronym, cite, q,
kbd, code, samp, var,
input, select, textarea, button, label, iframe
{
	font-size: 100%;
	font-style: normal;
	font-weight: normal;
	padding: 0px;
	margin: 0px;
}
sup {
	font-size: 80%;
	font-style: normal;
	font-weight: normal;
	vertical-align: top;
}
sub {
	font-size: 80%;
	font-style: normal;
	font-weight: normal;
	vertical-align: bottom;
}
fieldset, del, ins, img, abbr, acronym
{
	border: 0;
    vertical-align:bottom
}
li {
	list-style-type: none;
}
area {
	border:none;
	outline: none;
}
/* --- ページの基本 ---------------*/
body {
	font-family: 'Lucida Grande', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
	font-size: 0.9rem;
	color:#000;
}
.fontfamily-serif {
	font-family: "ヒラギノ明朝 Pro W3","HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝", serif;
}
table {
	border-collapse:collapse;
	border:none;
}
tr,th,td {
	border:none;
}
th,td {
	vertical-align:top;
}
a {
	color: #000;
	text-decoration: none;
}
a:link {
	color: #000;
	text-decoration: none;
}
a:visited {
	color: #000;
	text-decoration: none;
}
a:hover {
	filter:alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.5;
}
a:active {
	filter:alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.5;
}
ol {
	padding-left: 2em;
}
ol li {
	list-style-type: decimal;
}
.gsc-control-cse {
	padding: 0em!important;
}
#navmenu1 .gsc-control-cse {
	padding: 0em!important;
	background-color: #C1272D!important;
	border: none!important;
}


/* ------------------------- */


/*スマホ用Gnavi */
div.container-fluid.d-md-none {
	min-height: 60px;
	background-color: #FFF;
	color:#000;
	font-size: 100%;
	border-top: 4px solid;
	border-image: linear-gradient(90deg,#000 0%,#000 50%,#9FC32F 50%,#9FC32F 100%);
	border-image-slice: 1;
}

/*pc用Gnavi */
div.dec-20 {
	height: 205px;
	background-color: #FFF;
	color:#000;
	font-size: 120%;
	border-top: 8px solid;
	border-image: linear-gradient(90deg,#000 0%,#000 50%,#9FC32F 50%,#9FC32F 100%);
	border-image-slice: 1;
}

div.dec-01 {
	font-size: 100%;
}

/* ハンバーガーメニューの展開する背景色 */
div.row div.collapse.navbar-collapse {
	background-color: #9FC32F;
}

main {
	display: block;
}
div.dec-21 {
	background-color: silver;
	font-size: 120%;
}
/* パンくずリスト */
.breadcrumb {
	background-color: transparent;
	padding: 0;
	margin: 0;
	color: #333;
}
.breadcrumb-item + .breadcrumb-item::before {
	color: #333;
}
.breadcrumb .breadcrumb-item.active {
	color: #333;
}

/* タイトル */
div.dec-41 {
	border-bottom: 2px solid;
	border-image: linear-gradient(90deg,#000 0%,#000 50%,#9FC32F 50%,#9FC32F 100%);
	border-image-slice: 1;
}
.dec-42 {
	font-size: 200%;
}

/* STEP */
.step {
	height: 50px;
	line-height: 50px;
	padding: 0 15px;
}
.step-green {
	background-color: #9fc32f;
}
.step-gray {
	background-color: #666;
}
.step-lightgray {
	background-color: #b3b3b3;
}
.step .col-4 {
	color: #fff;
	position: relative;
}
.step .col-4::after {
	content: '';
	position: absolute;
	top: 0;
	right: -25px;
	border-style: solid;
	border-width: 25px 0 25px 25px;
	z-index: 10;
}
.step .step-green.col-4::after {
	border-color: transparent transparent transparent #9fc32f;
}
.step .step-gray.col-4::after {
	border-color: transparent transparent transparent #666;
}
.step .step-lightgray.col-4::after {
	border-color: transparent transparent transparent #b3b3b3;
}
.step .col-4:nth-of-type(3)::after {
	border-width: 0;
}

/* フォーム */
.form-table {
	width: 100%;
	margin-bottom: 2.0rem;
}

.form-table th {
	background-color: #f2f2f2;
	border-style: solid;
	border-color: #ccc;
	border-width: 1px 0;
	font-size: 1.0rem;
	padding: 13px 15px;
}
.form-table td {
	padding: 30px 20px;
}

.tx-small {
	font-size: 1.0rem;
}
.tx-required {
	color: #f00
}
.form-check-label {
	font-size: 1.0rem;
}
.checkbox-other {
	padding-top: 3px;
}
.checkbox-other + .col-8.ml-n4 {
	flex-basis: calc(66.666667% + 20px);
	max-width: calc(66.666667% + 20px);
}
.checkbox-other + .col-8.ml-n4 > .form-control {
	width: calc(100% - 35px);
	margin-top: -5px;
}
.form-table input,
.form-table textarea {
	border-radius: 0;
	border-color: #9fc32f;
}
/* .form-table .form-check-input {
	display: none;
}
.form-table .form-check-label {
	position: relative;
	display: block;
	min-height: 1.5rem;
}

.checkbox-custom {
	position: absolute;
	left: 0;
	width: 1rem;
	height: 1.25rem;
}
.checkbox-custom::before {
	position: absolute;
	top: 0.15rem;
	left: -1.5rem;
	display: block;
	width: 1rem;
	height: 1rem;
	pointer-events: none;
	content: "";
	background-color: #ccc;
	border: 1px solid #ccc;
	transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.checkbox-custom::after {
	position: absolute;
	top: 0.15rem;
	left: -1.5rem;
	display: block;
	width: 1rem;
	height: 1rem;
	content: "";
	background: no-repeat 50% / 50% 50%;
}
.form-check-input:checked ~ .checkbox-custom::before {
	color: #fff;
	border-color: #9fc32f;
	background-color: #9fc32f;
}
.form-check-input:checked ~ .checkbox-custom::after {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e");
} */
.form-check-input {
	margin-top: 0.1rem;
}

/* ボタン */
.form-btn {
	margin-bottom: 50px;
}
.btn {
	font-size: 0.8rem;
	border-radius: 0;
	border-color: #9fc32f;
	padding: 12px 0;
	display: block;
	width: 100%;
}
.btn::after {
	position: absolute;
	font-size: 12px;
	line-height: 1;
	top: calc(50% - 6px);
}
.btn:not(:disabled):not(.disabled):active:focus,
.btn-primary:not(:disabled):not(.disabled):active:focus {
	box-shadow: none;
}
.btn-primary {
	background-color: #9fc32f;
	color: #fff;
	text-align: left;
	padding-left: 8px;
}
.btn-primary:not(:disabled):not(.disabled):focus,
.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:hover {
	background-color: #fff;
	color: #9fc32f;
	border-color: #9fc32f;
}
.btn-primary::after {
	color: #fff;
	content: "＞";
	right: 20px;
}
.btn-primary:not(:disabled):not(.disabled):focus::after,
.btn-primary:not(:disabled):not(.disabled):active::after,
.btn-primary:hover::after {
	color: #9fc32f;
}
.btn-invert {
	background-color: #fff;
	color: #9fc32f;
}
.btn-invert:hover {
	background-color: #ccc;
	color: #fff;
	border-color: #ccc;
}
.btn-invert::after {
	color: #9fc32f;
	content: "＜";
	left: 20px;
}
.btn-invert:hover::after {
	color: #fff;
}


/* 個人情報保護方針 */
.incPrivacy {
	height: 180px;
	overflow-y: scroll;
	border: 1px solid #808080;
	margin: 20px auto 40px;
	padding: 10px 15px 20px;
}
.privacy-head {
	font-size: 1.11rem;
	font-weight: bold;
	margin-top: 25px;
	margin-bottom: 15px;
}
.incPrivacy p {
	font-size: 1.0rem;
	margin-bottom: 15px;
}
.list-num {
	font-size: 1.0rem;
	margin-bottom: 15px;
    list-style-type: decimal-leading-zero;
}
.privacy-right {
	text-align: right;
}
.incPrivacy dl dt {
	font-weight: bold;
}
.incPrivacy dl dd {
	margin-bottom: 15px;
}

/* パンくずリスト */
.footer-breadcrumb {
	background-color: #ccc;
	border-style: solid;
	border-color: #999;
	border-width: 1px 0;
	padding: 1.0rem 0;
}
.footer-breadcrumb .breadcrumb-item,
.footer-breadcrumb .breadcrumb-item a {
	font-size: 1.1rem;
	font-weight: bold;
}
.footer-breadcrumb .breadcrumb-item.active {
	color: #000;
}
.footer-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
	color: #000;
	content: ">";
}

/* フッター */
div.container-fluid.dec-31 {
	min-height: 400px;
	background-color:#efefef;
	color:#000;
}
div.dec-32 {
	border: 1px solid #000;
}

p.dec-34 {
	font-size: 100%;
}

.page-top {
	position: relative;
}
.page-top a {
	position: absolute;
	color: #c5db82;
	top: -20px;
	right: -15px;
}


/* ccv20200828追加 */
.inputBtn { position:relative; }
.inputBtn::after {
	color: #fff;
	position:absolute;
	content: "＞";
	top:1em;
	right: 20px;
}
.inputBtn:hover::after { color: #9fc32f; }

.error{  }
.error h1{ margin:20px 0; text-align:center; color:#dc3545; font-weight:600; }
.error h1 span{ display:block; font-size:50%; }
.error .offset-md-1 { margin:20px auto; }

/* ccv20200901追加 */
form .form-check .formError{
	position: absolute !important;
	top: 2em !important;
	white-space: nowrap;
}

.formError.inline .formErrorContent {
	font-size: 1.0rem;
}

/* ハンバーガーメニュー（こいつは一番下にする）*/
.navbar-toggler {
	border-color: #fff;
	background-color: #fff;
}
.navbar-dark .navbar-toggler-icon {
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(159, 195, 47, 1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
}
/* ↑ハンバーガーメニュー */
@media (max-width: 768px) {
	main {
		border-top: 1px solid silver;
	}
	.form-table {
		display: block;
		border-bottom: 1px solid #ccc;
	}
	.form-table tbody,
	.form-table tr,
	.form-table th,
	.form-table td {
		width: 100%;
		display: block;
	}
	.form-table tr td:only-child {
		border-top: 1px solid #ccc;
	}
}
@media (min-width: 768px) {
	.contact-inner {
		max-width: 1000px;
		margin: 0 auto;
	}

	/* フォーム */
	.form-table th {
		white-space: nowrap;
		vertical-align: middle;
		width: 250px;
	}
	.form-table td:not(:only-child) {
		border-style: solid;
		border-color: #ccc;
		border-width: 1px 0;
		font-size: 0.8rem;
		padding: 10px 15px;
	}
	.form-table tr td:only-child {
		padding: 30px 0;
	}

	/* ボタン */
	.form-btn {
		margin-bottom: 70px;
	}
	.btn {
		font-size: 18px;
		padding: 8px 0;
	}
	.btn::after {
		font-size: 16px;
		top: calc(50% - 6px);
	}
	.btn-primary {
		text-align: center;
		padding-right: 15px;
		padding-left: 0;
	}
	.btn-primary::after {
		right: 25px;
	}
	.btn-invert {
		padding-left: 15px;
	}
}

