@charset "UTF-8";



.format-label {
	background-color: #000;
	color: #FFF;
	padding: .75em 20px;
	font-weight: 500;
}
.format-label.format-label_red {
	background-color: #bf272d;
}
@media only screen and (min-width: 768px) {
	.format-label {
		padding: .75em 30px;
	}
}
@media only screen and (min-width: 992px) {
	.format-label {
		padding: .75em 40px;
	}
}

.dummy-img {
	display: inline-block;
	width: 100%;
	max-width: 100%;
	background-color: #b1b1b1;
}

/* ==========================================================================
   Color
========================================================================== */
.green { color: #109d3c; }
.red { color: #ff0000; }
.white { color: #FFF; }
.gray { color: #808080; }
.d-gray { color: #5a5a5a; }

.bg-gray { background-color: #b1b1b1; overflow: hidden; }
.bg-l-gray { background-color: #F2F2F2; overflow: hidden; }

hr.green { border-color: #109d3c; }

@media only screen and (min-width: 768px) {
	.bg-md-gray { background-color: #F2F2F2; }
}

/* ==========================================================================
   Images
========================================================================== */
img {
  max-width: 100%;
  height: auto;
  font-size: 1rem;
  line-height: 1;
  vertical-align: middle;
}
.cover {
  display: block;
  background-color: #b1b1b1;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  position: relative;
}

/* ==========================================================================
   Header
========================================================================== */
/* --------------------
   Hero Header
-------------------- */
.hero_header {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	color: #FFF;
	padding: 20px;
	height: 200px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
	position: relative;
}
.hero_header::before {
	content: '';
    display: block;
    background-color: rgba(10,59,34,0.75);
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
}
.hero_header .inner {
	position: relative;
	z-index: 3;
}
.hero_header .ttl {
	font-size: 1.692rem;
}
.hero_header .ja_ttl {
	letter-spacing: .15em;
	font-weight: 500;
	font-size: 0.846rem;
}

.breadcrumb_wrap {
	width: 100%;
	padding: 0 20px;
	font-size: 0.909em;
	position: absolute;
	top: 10px;
	left: 0;
	z-index: 3;
}
.breadcrumb_list {
	padding: 0;
	list-style-type: none;
	display: flex;
	flex-wrap: wrap;
}
.breadcrumb_list li {
	white-space: nowrap;
}
.breadcrumb_list li:not(:last-of-type)::after {
	content: '＞';
	display: inline-block;
	margin: 0 .25em; 
}


@media only screen and (min-width: 768px) {
	.hero_header {
		padding: 30px;
		height: 232px;
	}
	.hero_header .ttl {
		font-size: 2.33rem;
	}
	.hero_header .ja_ttl {
		font-size: 1.2rem;
	}
	.breadcrumb_wrap {
		padding: 0 30px;
		font-size: 1em;
	}
}

@media only screen and (min-width: 992px) {
	.hero_header {
		padding: 40px;
		height: 310px;
	}
	.breadcrumb_wrap {
		padding: 0 40px;
		font-size: 0.8em;
	}
}

/* ==========================================================================
   Typography
========================================================================== */

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
  font-weight: 700;
  line-height: 1.4;
  position: relative; }

h1 a, .h1 a, h2 a, .h2 a, h3 a, .h3 a, h4 a, .h4 a, h5 a, .h5 a, h6 a, .h6 a {
  text-decoration: none; }

.font1 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
}
.font2 {
  font-family: 'Oswald', sans-serif;
  font-weight: 500;
}
.font3 {
  font-family: 'Roboto', sans-serif;
}
.serif {
  font-family: '游明朝体', 'Yu Mincho', YuMincho, 'Noto Serif JP', serif;
}

.fw-300 { font-weight: 300!important; }
.fw-400 { font-weight: 400!important; }
.fw-500 { font-weight: 500!important; }
.fw-600 { font-weight: 600!important; }
.fw-700 { font-weight: 700!important; }


.text_01 {
	font-size: 1.385rem;
	font-weight: 700;
	margin-bottom: 1.5rem;
}
.text_02 {
	font-size: 1.231rem;
	font-weight: 500;
	margin-bottom: 1.5rem;
}
.text_03 {
	font-size: 0.923rem;
	font-weight: 400;
	line-height: 2;
	margin-bottom: 1.75em;
}
.text_04 {
	font-size: 0.846rem;
	font-weight: 400;
	line-height: 2;
}
.text_05 {
	font-size: 0.692rem;
	font-weight: 400;
}
.text_06 {
	font-size: 0.923rem;
	font-weight: 400;
}
.headline_01, .headline_02 {
	font-weight: 500;
	border-left: 5px solid #109d3c;
	padding: .75em 1rem;
	margin-bottom: 1.5rem;
}
.headline_01 {
	background-color: #ededed;
}
.headline_02 {
	border-bottom: 1px solid #109d3c;
}
.headline_03 {
	font-weight: 500;
	border-left: 5px solid #109d3c;
	padding: .75em 1rem;
	margin-bottom: 1.5rem;
	border-bottom: 1px solid #cfcfcf;
}
.headline_04 {
	padding: 1rem 0;
	margin-bottom: 1rem;
	border-bottom: 1px solid #898989;
}


@media only screen and (min-width: 768px) {
	.text_01 {
		font-size: 2rem;
	}
	.text_02 {
		font-size: 1.33rem;
	}
	.text_03 {
		font-size: 1.2rem;
	}
	.text_04 {
		font-size: 1rem;
	}
	.text_05 {
		font-size: .8rem;
	}
	.text_06 {
		display: -webkit-box;
	  	display: -ms-flexbox;
	  	display: flex;
		font-size: 1.2rem;
	}
}


/* ==========================================================================
   Button
========================================================================== */
.btn {
	display: inline-block;
	min-width: 16.25rem;
	font-size: inherit;
	font-weight: 500;
	line-height: 1;
	letter-spacing: .05em;
	padding: 1.2em 1.5em;
	border: 1px solid #000;
	background-color: #000;
	color: #FFF;
	border-radius: .5em;
	text-align: center;
	text-decoration: none !important;
	position: relative;
	transition: all .3s;
}
.btn:active,
.btn:focus,
.btn:hover {
	border-color: #000;
	background-color: #FFF;
	color: #000;
	box-shadow: none;
	outline: none;
}

.btn.btn-gray {
	border: 1px solid #e5e5e5;
	background-color: #e5e5e5;
	color: #000;
}
.btn.btn-gray:active,
.btn.btn-gray:focus,
.btn.btn-gray:hover {
	border-color: #ccc;
	background-color: #ccc;
	color: #000;
}

.btn.btn-gray2 {
	border: 1px solid #ccc;
	background-color: #ccc;
	color: #000;
}
.btn.btn-gray2:active,
.btn.btn-gray2:focus,
.btn.btn-gray2:hover {
	border-color: #bbb;
	background-color: #bbb;
	color: #000;
}

.btn.btn-green {
	border: 1px solid #109d3c;
	background-color: #109d3c;
}
.btn.btn-green:active,
.btn.btn-green:focus,
.btn.btn-green:hover {
	border-color: #109d3c;
	background-color: #FFF;
	color: #109d3c;
}

.btn.btn-green2 {
	min-width: inherit;
	font-weight: 700;
	display: block;
	padding: 1.6rem 1rem;
	color: #109d3c;
	border: 2px solid #109d3c;
	background-color: #FFF;
}
.btn.btn-green2:hover {
	background-color: #109d3c;
	color: #FFF;
}

.btn.btn-arrow1 {
	padding: 1.25em 4em;
}
.btn-arrow1:before,
.btn-arrow1:after {
	content: '';
	display: block;
	width: 2rem;
	height: 1px;
	background-color: currentColor;
	position: absolute;
	top: 54%;
	right: .75rem;
}
.btn-arrow1:after {
	width: 1rem;
	transform: rotate(45deg);
	transform-origin: right center;
}

.btn.btn-arrow1-back {
	padding: 1.25em 4em;
}
.btn-arrow1-back:before,
.btn-arrow1-back:after {
	content: '';
	display: block;
	width: 2rem;
	height: 1px;
	background-color: currentColor;
	position: absolute;
	top: 54%;
	left: .75rem;
}
.btn-arrow1-back:after {
	width: 1rem;
	transform: rotate(-45deg);
	transform-origin: left center;
}

.btn.btn-green2.btn-arrow1 {
	padding: 1.6rem 0 4rem 0;
}
.btn.btn-green2.btn-arrow1:before,
.btn.btn-green2.btn-arrow1:after {
	top: auto;
	bottom: 1.8rem;
	right: 50%;
	margin-right: -1rem;
}
.btn.btn-green2.btn-arrow1:after {
	width: 1rem;
	transform: rotate(45deg);
	transform-origin: right center;
	margin-left: 0;
}
.row .btn.btn-green2.btn-arrow1 {
	height: 100%;
}


.btn.btn-arrow2 {
	padding: .75em 4em;
	font-size: 1.188rem;
	background-image: url(../img/icon/arrow-w.svg);
	background-repeat: no-repeat;
	background-position: right 1rem center;
	background-size: .6em;
}


@media only screen and (max-width: 767px) {
  .btn-list {
    margin-right: -5px;
    margin-left: -5px;
  }
  .btn-list li {
    padding-right: 5px;
    padding-left: 5px;
    margin-bottom: 10px;
  }
  .btn.btn-green2.btn-arrow1 {
  	letter-spacing: 0;
  	padding: 1rem 0 2.75rem 0;
  }
  .btn.btn-green2.btn-arrow1:before, .btn.btn-green2.btn-arrow1:after {
    bottom: 1.1rem;
	}
}
@media only screen and (min-width: 768px) {
  .btn-list li {
    margin-bottom: 30px;
  }
  .btn.btn-green2 {
    font-size: 1.25rem;
  }
}
@media only screen and (min-width: 992px) {
  .btn.btn-green2 {
    font-size: 1.467rem;
  }
}

/* ==========================================================================
   List
========================================================================== */
.list_01 {
	list-style-type: none;
	padding-left: 0;
}
.list_01 li {
	padding-left: 1.5em;
	margin-bottom: .5em;
	position: relative;
}
.list_01 li:last-of-type {
	margin-bottom: 0;
}
.list_01 li::before {
	content: '○';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
}
.list_01 li a {
	font-weight: 500;
}
.list_01 ul {
	list-style-type: disc;
}

.list_02 {
	list-style-type: none;
	padding-left: 0;
}
.list_02 li {
	padding-left: 2em;
	margin-bottom: .5em;
	position: relative;
}
.list_02 li:last-of-type {
	margin-bottom: 0;
}
.list_02 li::before {
	content: '';
	display: block;
	width: 1.25em;
	height: 1.25em;
	position: absolute;
	top: .375em;
	left: 0;
	background-repeat: no-repeat;
	background-position: left center;
	background-size: contain;
}
.list_02 li a {
	font-weight: 500;
}
.list_02 ul {
	list-style-type: disc;
}

.list-icon_pdf::before {
	background-image: url(../img/icon/pdf.svg);
}
.list-icon_word::before {
	background-image: url(../img/icon/word.svg);
}
.list-icon_excel::before {
	background-image: url(../img/icon/excel.svg);
}
.list-icon_pp::before {
	background-image: url(../img/icon/pp.svg);
}

.list_03 {
	list-style-type: none;
	padding: 0;
}
.list_03.row li {
	margin-bottom: 15px;
}
.list_03 li .inner {
	text-decoration: none;
}
.list_03 li .imgBox {
	-webkit-box-flex: 0;
	-ms-flex-positive: 0;
	flex-grow: 0;
	-ms-flex-negative: 0;
	flex-shrink: 0;
	-ms-flex-preferred-size: 78px;
	flex-basis: 78px;
	max-width: 78px;
	height: 78px;
	text-align: center;
}
.list_03 li .imgBox img {
	max-height: 100%;
}
.list_03 li .txtBox {
	padding: 0 1.2em;
}
.list_03 li .txtBox .ttl {
	margin-bottom: 0;
	font-size: 1rem;
}
.list_03 li .txtBox p {
	margin-bottom: 0;
	font-size: .615rem;
	font-weight: 400;
}
@media only screen and (min-width: 768px) {
	.list_03 li {
		margin-bottom: 30px;
	}
	.list_03 li .imgBox {
		-ms-flex-preferred-size: 8.6rem;
		flex-basis: 8.6rem;
		max-width: 8.6rem;
		height: 8.6rem;
	}
	.list_03 li.col-md-auto .imgBox {
		-ms-flex-preferred-size: auto;
		flex-basis: auto;
	}
	.list_03 li .txtBox .ttl {
		font-size: 1.2rem;
	}
	.list_03 li .txtBox p {
		font-size: .933rem;
	}
}
@media only screen and (min-width: 992px) {
	.list_03 li.col-lg-auto .imgBox {
		-ms-flex-preferred-size: auto;
		flex-basis: auto;
	}
}

.link-list li {
	margin-bottom: .5rem;
}
.link-list li a {
	text-decoration: underline;
}
.link-list li a:hover {
	text-decoration: none;
}


/* ==========================================================================
   Document
========================================================================== */
dl.document {
	margin-top: 3rem;
}

dl.document dt {
	letter-spacing: .05em;
	margin-bottom: 1.2rem;
	padding-bottom: 1.25rem;
}
dl.document dd {
	margin-top: 1.2rem;
	margin-bottom: 3rem;
}
dl.document dd:last-of-type {
	margin-bottom: 0;
}
dl.document dd p {
	margin-bottom: 2rem;
}

dl.document dd ol {
	padding-left: 0;
	list-style-position: inside;
    margin-bottom: 2rem;
}
dl.document dd ol li {
    margin-bottom: 2rem;
}

@media only screen and (min-width: 768px) {
	dl.document {
		margin-top: 4rem;
	}
	dl.document dd {
		margin-bottom: 4rem;
	}
}

/* ==========================================================================
   Links
========================================================================== */
a {
  color: inherit;
  transition: .2s ease-in-out;
}
a:active,
a:focus,
a:hover {
  color: inherit;
}
a.green,
a.green,
a.green {
  font-weight: 600;
}
a.green:active,
a.green:focus,
a.green:hover {
  color: #0c8e30;
}
a.white:active,
a.white:focus,
a.white:hover {
  color: #FFF;
}
a.underline {
  text-decoration: underline;
}
a.underline:active,
a.underline:focus,
a.underline:hover {
  text-decoration: none;
}

.textlink_01 {
	display: inline-block;
	padding-right: .5em;
	padding-left: 1.25em;
	font-weight: 500;
	position: relative;
}
.textlink_01::before {
    content: '';
    display: inline-block;
    width: .75em;
    height: 1.5em;
    background-image: url(../img/icon/arrow.svg);
    background-repeat: no-repeat;
    background-position: center center;
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -.7em;
}
.textlink_01.white::before {
    background-image: url(../img/icon/arrow-w.svg);
}


.textlink_02 {
	display: inline-block;
	padding-right: 1.25em;
	font-weight: 500;
	position: relative;
}
.textlink_02::before {
    content: '○';
    display: inline-block;
    margin-right: .5em;
}
.textlink_02::after {
    content: '';
    display: inline-block;
    width: .75em;
    height: 1.5em;
    background-image: url(../img/icon/arrow-g.svg);
    background-repeat: no-repeat;
    background-position: center center;
    position: absolute;
    top: 50%;
    right: 0;
    margin-top: -.7em;
}

/* ==========================================================================
   Column
========================================================================== */
.column {
	margin-right: -8px;
    margin-left: -8px;
}
.column > .col,
.column > [class*=col-] {
	padding-right: 8px;
	padding-left: 8px;
    margin-bottom: 16px;
}
.column.no-gutters {
	margin-right: -0.5px;
    margin-left: -0.5px;
}
.column.no-gutters > .col,
.column.no-gutters > [class*=col-] {
    padding-right: 0.5px;
    padding-left: 0.5px;
    margin-bottom: 1px;
}
.column p:last-of-type {
	margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
	.column {
		margin-right: -10px;
	    margin-left: -10px;
	}
	.column > .col,
	.column > [class*=col-] {
		padding-right: 10px;
		padding-left: 10px;
	    margin-bottom: 20px;
	}
}
@media only screen and (min-width: 992px) {
	.column {
		margin-right: -15px;
	    margin-left: -15px;
	}
	.column > .col,
	.column > [class*=col-] {
		padding-right: 15px;
		padding-left: 15px;
	    margin-bottom: 30px;
	}
}

/* ==========================================================================
   Panel
========================================================================== */
.panel {
	border-color: transparent;
	border-radius: 0;
}
.panel .img-caption {
	position: absolute;
	top: 50%;
	right: 0;
	left: 0;
	text-align: center;
	font-size: 1.692rem;
	line-height: 1.25;
	color: #FFF;
	transform: translateY(-50%);
}
.panel-body {
	background-color: #FFF;
	margin: -6rem 15px 15px;
	padding: 1.5rem;
	position: relative;
}
.panel-body .panel-title {
	text-align: center;
	margin-bottom: 1rem;
	font-size: 1.308rem;
	font-weight: 500;
}
.panel-body .panel-text {
	max-width: 22em;
	margin: 1em auto 0;
	font-weight: 400;
}


.column_04 .panel .img-caption {
	margin-top: -3rem;
}
@media only screen and (max-width: 767px) {
	.col-6 .img-caption {
		font-size: 1.154rem;
	}
}
@media only screen and (min-width: 576px) {
	.panel-body {
		max-width: 510px;
		margin: -6rem auto 15px;
	}
}
@media only screen and (min-width: 768px) {
	.panel .img-caption {
		font-size: 2rem;
	}
	.panel-body {
		max-width: 100%;
		margin: -6rem 8% 15px;
		font-size: .933rem;
	}
	.panel-body .panel-title {
		font-size: 1.6rem;
	}
}

/* ==========================================================================
   Table
========================================================================== */
table th {
	font-feature-settings: "palt";
}
table a {
	text-decoration: underline;
}
table a:hover {
	text-decoration: none;
}

.table_01 {
	display: inline-block;
	max-height: 700px;
	overflow: auto;
	line-height: 1.5;
	position: relative;
}
.table_01 + *:before {
  content: '';
  display: block;
  clear: both;
}
.table_01::-webkit-scrollbar {
  height: 15px;
}
.table_01::-webkit-scrollbar-track {
	background: #ececec;
}
.table_01::-webkit-scrollbar-thumb {
  border-radius: 15px;
  border: 2px solid #ececec;
	background:#b2b2b2;
}
.table_01 table {
	margin-bottom: .75rem;
}
.table_01 th {
	font-weight: 400;
	background-color: #ececec;
	border: 1px solid #b2b2b2;
	padding: 1.2em 1.25em;
	white-space: nowrap;
	text-align: center;
}
.table_01 td {
	font-weight: 400;
	border: 1px solid #b2b2b2;
	padding: 1.2em 1.25em;
	white-space: nowrap;
}
.table_01 thead th {
	background-color: #b7e1c4;
	position: -webkit-sticky;
  position: sticky;
  top: 0;
}
.table_01 thead td {
	background-color: #e7f5eb;
	position: -webkit-sticky;
  position: sticky;
  top: 0;
}
.table_01 thead th::before,
.table_01 thead td::before {
	content: '';
	display: block;
	position: absolute;
	top: -1px;
	left: -1px;
	bottom: -1px;
	right: -1px;
	border: 1px solid #b2b2b2;
}


.table_02 {
	width: auto;
	max-height: 500px;
	overflow: auto;
	line-height: 1.5;
	position: relative;
}
.table_02::-webkit-scrollbar {
  height: 15px;
}
.table_02::-webkit-scrollbar-track {
	background: #ececec;
}
.table_02::-webkit-scrollbar-thumb {
  border-radius: 15px;
  border: 2px solid #ececec;
	background:#b2b2b2;
}
.table_02 table {
	min-width: 100%;
	margin-bottom: .75rem;
}
.table_02 th {
	font-weight: 400;
	background-color: #ececec;
	border: 1px solid #b2b2b2;
	padding: 1.2em 1.25em;
	white-space: nowrap;
	text-align: center;
}
.table_02 th::before {
	content: '';
	display: block;
	position: absolute;
	top: -1px;
	left: -1px;
	bottom: -1px;
	right: -1px;
	border: 1px solid #b2b2b2;
	pointer-events: none;
}
.table_02 td {
	font-weight: 400;
	border: 1px solid #b2b2b2;
	padding: 1.2em 1.25em;
	white-space: nowrap;
}
.table_02 thead th {
	position: -webkit-sticky;
  position: sticky;
  top: 0;
}
.table_02 thead th:first-of-type {
	background-color: #b7e1c4;
	left: 0;
	z-index: 2;
}
.table_02 tbody th {
	background-color: #e7f5eb;
	text-align: left;
	position: -webkit-sticky;
  position: sticky;
  left: 0;
}



.scroll_caption {
	color: #109d3c;
	padding-right: 30px;
	margin-bottom: 1em;
	font-size: .769rem;
	line-height: 1;
	text-align: right;
	position: relative;
}
.scroll_caption:before,
.scroll_caption:after {
	content: '';
	display: block;
	width: 20px;
	height: 1px;
	background-color: currentColor;
	position: absolute;
	bottom: 2px;
	right: 1px;
}
.scroll_caption:after {
	width: 5px;
	transform: rotate(45deg);
	transform-origin: right center;
}

@media only screen and (min-width: 768px) {
	.scroll_caption {
		font-size: .867rem;
	}

}

@media only screen and (max-width: 480px) {
  .table_01 {
	width: 100%;
}
}


/* ==========================================================================
   Form
========================================================================== */
::placeholder {
  color: #979797 !important;
}
:-ms-input-placeholder {
  color: #979797 !important;
}
::-ms-input-placeholder {
  color: #979797 !important;
}

.form-page {
	background-color: #E7F5EB;
}
.form-page .form-content {
	max-width: 630px;
	margin-right: auto;
	margin-left: auto;
}
.form-page .form-box {
	overflow: hidden;
	padding: 30px 15px;
	background-color: #FFF;
}
.form-page .form-complete .form-box {
	padding-top: 0;
	padding-bottom: 0;
	font-size: .875rem;
}
.form-page .form-box hr {
	margin: 2.5rem 0 2rem;
}

@media only screen and (min-width: 768px) {
	.form-page .form-box {
		padding: 45px;
	}
}
@media only screen and (min-width: 992px) {
	.form-page .form-content {
		max-width: 750px;
	}
}

.form-group {
	margin-bottom: 1.5rem;
}
.form-control {
	height: calc(1.5rem + 1.5rem + 2px);
	padding: .75rem .75rem;
	font-size: 1rem;
	color: #000;
	background-color: #FFF;
	border: 1px solid #9e9e9e;
	border-radius: .4rem;
}
.form-control:focus {
	color: #000;
	background-color: #fff;
	border-color: #aaa;
	outline: 0;
	box-shadow: 0 0 0 0.2rem rgba(0,0,0,.1);
}
select.form-control {
	-webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url(../img/icon/dropdown.svg);
	background-repeat: no-repeat;
	background-position: right .75rem center;
	background-size: 1.2rem;
}

.form-description,
.form-help {
    width: 100%;
    line-height: 1.5;
    margin-top: .5rem;
    font-size: 80%;
    color: #808080;
}
.form-control.is-invalid, .was-validated .form-control:invalid {
    border-color: #bf272d;
    background-image: none;
    background-color: #f0f0f0;
}
.invalid-feedback {
	line-height: 1.5;
	margin-top: .5rem;
    color: #bf272d;
}

.form_err {
	width: 100%;
	line-height: 1.5;
    margin-bottom: 2rem;
    font-size: 80%;
    color: #bf272d;
}
.form_err p {
	margin-bottom: .25rem;
}


.search-form {
	max-width: 720px;
	margin-right: auto;
	margin-left: auto;
	position: relative;
}
.search-form .form-control {
	padding-right: 6rem;
	padding-left: 3rem;
	background-color: #e5e5e5;
	background-image: url(../img/icon/search.svg);
	background-repeat: no-repeat;
	background-position: .75rem center;
	background-size: 1.5rem;
}


.form-check {
	display: block;
    min-height: 2.4em;
    padding-left: 3em;
    margin-bottom: 1em;
}
.form-check-input {
    position: absolute;
    z-index: -1;
    opacity: 0;
}
.form-check-label {
	display: inline-block;
	line-height: 2.4;
	position: relative;
	color: #000 !important;
}
.form-check-label::before {
	position: absolute;
    top: 0;
	left: -3em;
	display: block;
    width: 2.4em;
    height: 2.4em;
    content: "";
    background-color: #fff;
    border: #979797 solid 1px;
}
.form-check-label::after {
	display: block;
	line-height: 1;
	content: "";
	position: absolute;
	transition: .1s ease-in-out;
}
input[type="checkbox"] + .form-check-label::after {
	top: .4em;
	left: -2.2em;
	width: .8em;
    height: 1.25em;
    border-right: 3px solid transparent;
    border-bottom: 3px solid transparent;
    transform: rotate(42deg);
}
input[type="checkbox"] + .form-check-label:hover::after {
	border-right-color: #cbcbcb;
    border-bottom-color: #cbcbcb;
}
input[type="checkbox"]:checked + .form-check-label::after {
	border-right-color: #000;
    border-bottom-color: #000;
}
input[type="radio"] + .form-check-label::before {
	border-radius: 50%;
}
input[type="radio"] + .form-check-label::after {
	top: .8em;
	left: -2.2em;
	width: .8em;
    height: .8em;
    border-radius: 50%;
    background-color: transparent;
}
input[type="radio"] + .form-check-label:hover::after {
	background-color: #cbcbcb;
}
input[type="radio"]:checked + .form-check-label::after {
	background-color: #000;
}



.search-form .btn,
input[type="search"] + .btn {
	min-width: inherit;
	height: calc(1.5rem + 1.5rem + 2px);
	font-weight: 500;
	padding: .75rem 1rem;
	border-radius: 0 .4rem .4rem 0;
	position: absolute;
	top: 0;
	right: 0;
}

input[type="submit"].btn,
input[type="button"].btn,
button.btn {
	border-radius: .4rem;
	padding: 1.5em;
}

.form-row .btn {
	min-width: inherit;
	width: 100%;
	height: calc(1.5rem + 1.5rem + 2px);
	font-weight: 500;
	padding: .75rem 1rem;
	border-radius: .4rem;
}
.dropdown-btn {
	text-align: left;
	background-image: url(../img/icon/dropdown.svg);
	background-repeat: no-repeat;
	background-position: right .75rem center;
	background-size: 1.2rem;
}

.form-buttons {
	display: -webkit-box;
  	display: -ms-flexbox;
  	display: flex;
	-ms-flex-wrap: wrap;
  	flex-wrap: wrap;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin-top: 30px;
}
.form-buttons .btn {
	margin: 15px .75em 0;
}

@media only screen and (min-width: 992px) {
	.form-buttons {
		margin-top: 45px;
	}
}

.form-label {
	display: -webkit-box;
  	display: -ms-flexbox;
  	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin-bottom: .5rem;
	font-weight: 500;
}
.form-label span {
	display: inline-block;
	letter-spacing: .08em;
	margin-right: 1rem;
}
.form_badge {
	display: inline-block;
	padding: .2em .75em;
	font-size: 80%;
	font-weight: inherit;
	line-height: 1.5;
	border-radius: .25em;
	vertical-align: top;
	background-color: #109d3c;
	color: #FFF;
}


dl.form_conf dt {
	padding: 0 0 .25em;
	font-weight: 500;
}
dl.form_conf dd {
	display: block;
	padding: .25em 0 1.5em;
	margin-bottom: 1.5em;
	border-bottom: 1px solid #9e9e9e;
}
dl.form_conf dd:last-of-type {
	margin-bottom: 0;
	border-bottom: none;
}
@media only screen and (min-width: 768px) {
	dl.form_conf {
		display: -webkit-box;
	  	display: -ms-flexbox;
	  	display: flex;
	  	-ms-flex-wrap: wrap;
	  	flex-wrap: wrap;
	}
	dl.form_conf dt {
		padding: 0 0 1.5em;
		margin-bottom: 1.5em;
		-webkit-box-flex: 0;
		-ms-flex-positive: 0;
		flex-grow: 0;
		-ms-flex-negative: 0;
		flex-shrink: 0;
		-ms-flex-preferred-size: 11em;
		flex-basis: 11em;
		max-width: 11em;
		border-bottom: 1px solid #9e9e9e;
	}
	dl.form_conf dd {
		padding: 0 0 1.5em;
		-webkit-box-flex: 0;
		-ms-flex-positive: 0;
		flex-grow: 0;
		-ms-flex-negative: 0;
		flex-shrink: 0;
		-ms-flex-preferred-size: calc(100% - 11em);
		flex-basis: calc(100% - 11em);
		max-width: calc(100% - 11em);
	}
	dl.form_conf dt:last-of-type {
		margin-bottom: 0;
		border-bottom: none;
	}
}

/* ==========================================================================
   Badge
========================================================================== */
.badge {
	margin: 0 3px 0 0;
	padding: .5em 2em;
	font-size: 80%;
	font-weight: inherit;
	border-radius: 0;
	vertical-align: top;
	background-color: #000;
	color: #FFF;
}



/* ==========================================================================
   Icon
========================================================================== */
.icon {
	display: inline-block;
	line-height: 1;
	vertical-align: middle;
	position: relative;
}
.icon::before {
	content: '';
	display: block;
	width: 2.8em;
	height: 2.8em;
	background-repeat: no-repeat;
	background-position: left center;
	background-size: contain;
	transform: translateY(-.1em);
}

.icon-arrow::before { background-image: url(../img/icon/arrow.svg); background-position: right center; }
.icon-arrow-w::before { background-image: url(../img/icon/arrow-w.svg); background-position: right center; }
.icon-arrow-g::before { background-image: url(../img/icon/arrow-g.svg); background-position: right center; }

.icon-youtube::before { background-image: url(../img/icon/youtube.svg); background-position: center center; }
.icon-youtube2::before { background-image: url(../img/icon/youtube2.svg); background-position: center center; }
.icon-mail::before { background-image: url(../img/icon/mail.svg); background-position: left center; }
.icon-tel::before { background-image: url(../img/icon/tel.svg); background-position: left center; }

.icon_pdf::before { background-image: url(../img/icon/pdf.svg); }
.icon_word::before { background-image: url(../img/icon/word.svg); }
.icon_excel::before { background-image: url(../img/icon/excel.svg); }
.icon_pp::before { background-image: url(../img/icon/pp.svg); }

/* ==========================================================================
   Pager
========================================================================== */
.pager__wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  list-style-type: none;
  text-align: center;
  margin: 0;
  padding: 0;
}
.pager {
  display: flex;
  justify-content: center;
  align-items: center;
  list-style-type: none;
  text-align: center;
  margin: 0;
  padding: 0;
}
.pager li.pager__item a,
.pager li.pager__item span {
  display: block;
  text-align: center;
  width: 16px;
  height: 24px;
  margin: 0 10px;
  font-weight: 700;
  line-height: 22px;
  opacity: 0.3;
  border-radius: 0;
  background-color: transparent;
  color: inherit;
  outline: none;
}
.pager li.pager__item.active a {
  opacity: 1;
}
.pager__wrap .btn_hidden{
	visibility: hidden;
}

@media only screen and (max-width: 767px) {
	.pager__wrap {
		flex-direction: column;
	}
	.pager__wrap > * {
		margin-top: 2rem;
	}
	.pager__wrap .pager {
		order: -1;
	}
}


/* ==========================================================================
   Tab
========================================================================== */
.tabs {
  list-style-type: none;
  padding: 0;
  display: flex;
  text-align: center;
  border-bottom: 1px solid #109d3c;
}
.tabs li {
  -ms-flex-preferred-size: 0;
  flex-basis: 0;
  -ms-flex-positive: 1;
  flex-grow: 1;
  max-width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin-bottom: -1px;
  padding: .75em 1em;
  line-height: 1.5;
  font-feature-settings: "palt";
  color: #9e9e9e;
  border: 1px solid transparent;
  position: relative;
  transition: .2s ease-in-out;
}
.tabs li:not(.current) + li:not(.current):before {
  content: '';
  display: block;
  width: 1px;
  height: 70%;
  background-color: #109d3c;
  position: absolute;
  top: 15%;
  left: 0;
}
.tabs li.current {
  color: #109d3c;
  border-top-color: #109d3c;
  border-right-color: #109d3c;
  border-left-color: #109d3c;
  border-bottom-color: #FFF;
}
.tabs li:hover {
  color: #109d3c;
}

.tab-content {
  display: none;
}
.tab-content.show {
  display: block;
}

@media only screen and (max-width: 480px) {
  .tabs li {
    font-size: .875rem;
  }
}
@media only screen and (min-width: 768px) {
  .tabs li {
    font-size: 1.125rem;
  }
}
@media only screen and (min-width: 992px) {
  .tabs li {
    font-size: 1.25rem;
    letter-spacing: .1em;
  }
}




