:root {
	--primary-color: #5CB85C;
}

html {
    width: 100%;
    height: 100%;
    font-size: 62.5%;
    font-family: "Lato","Helvetica Neue",Helvetica,Arial,sans-serif;
}
body {
	margin: 0;
	padding-top: 180px;
	font-size: 1.6rem;
	color: #333;
}
::placeholder {
	color: #ccc;
	font-size: 1.6rem;
}
::-webkit-placeholder{
	color: #999;
}
input[type=date]:invalid::-webkit-datetime-edit {
	color: #999;
}

p{
	line-height: 1.6;
}
.d-none {
	display: none;
}

.wrap {
	width: 920px;
	margin: auto;
}

.h2 {
	margin: 36px 0;
	font-size: 2rem;
}
.h3 {
	position: relative;
	font-weight: bold;
	margin-top: 40px;
	padding: 24px 0;
}
.h3:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 30px;
	height: 2px;
	background: #333;
}
.hr {
	width: 100%;
	border: none;
	border-top: #ccc 1px solid;
	margin: 24px 0;
}
.arrow {
	position: relative;
	padding-left: 42px;
}
.arrow:before,
.arrow:after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	display: block;
	margin: auto;
	border-radius: 20px;
	background-color: var(--primary-color);
	transition: background .2s;
}
.arrow:before {
	top: 2px;
	left: 11px;
	width: 23px;
	height: 2px;
}
.arrow:after {
	top: -6px;
	left: 9px;
	width: 12px;
	height: 2px;
	transform: rotate(-45deg);
}
@media screen and (max-width:920px) {
	.wrap {
		width: 100%;
		padding: 0 16px;
		box-sizing: border-box;
	}
}



#topnav {
	position: fixed;
	top: 20px;
	left: 0;
	right: 0;
	display: flex;
	align-items: center;
	width: 90%;
	max-width: 1200px;
	margin: auto;
	padding: 0 24px;
	box-sizing: border-box;
	border-radius: 50px;
	border: 1px solid rgba( 255, 255, 255, 0.2 );
	background: rgba( 255, 255, 255, 0.25);
	box-shadow: 0 8px 32px rgba( 167, 167, 167, 0.37);
	backdrop-filter: blur( 4px );
	-webkit-backdrop-filter: blur( 4px );
	z-index: 999;
}
.topnav_logo {
	width: 130px;
	margin: 8px 0;
}
.topnav_menu {
	margin-left: auto;
}
.topnav_lnk {
	margin-right: 16px;
	color: #333;
	font-weight: bold;
	font-size: 1.4rem;
	text-decoration: none;
	transition: all .2s;
}
.topnav_lnk:hover {
	opacity: .5;
}
.link_blank{
	padding-right: 24px;
	background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2048%2048%22%20style%3D%22fill%3Anone%3Bstroke%3A%235CB85C%3Bstroke-linecap%3Around%3Bstroke-linejoin%3Around%3Bstroke-width%3A3px%3B%22%3E%3Ctitle%3Eblank%3C%2Ftitle%3E%3Cpolyline%20class%3D%22b%22%20points%3D%2227%2012%2036%2012%2036%2021%22%2F%3E%3Cpolyline%20class%3D%22b%22%20points%3D%2232%2026%2032%2034%2014%2034%2014%2016%2022%2016%22%2F%3E%3Cline%20class%3D%22b%22%20x1%3D%2224%22%20y1%3D%2224%22%20x2%3D%2235%22%20y2%3D%2213%22%2F%3E%3C%2Fsvg%3E');
	background-repeat: no-repeat;
	background-position: right;
    background-size: 22px;
}
.topnav_lnk.link_blank {
	margin-right: 8px;
}
.topnav_lnk + .topnav_lnk {
	padding-left: 16px;
	border-left: 1px solid #ccc;
}
.topnav_entrybtn {
	display: inline-block;
	margin-left: 16px;
	padding: 12px 42px;
	background: var(--primary-color);
	color: #fff;
	font-weight: bold;
	text-decoration: none;
	transition: background .2s;
}
.topnav_entrybtn:hover {
	background: #3e863e;
}
.topnav_spmenu {
	display: none;
}
@media screen and (max-width:920px) {
	#topnav {
		width: 95%;
		padding: 8px 16px 0;
	}
	.topnav_logo {
		width: auto;
		height: 45px;
		margin: 0;
	}
	.topnav_lnk,
	.topnav_entrybtn {
		display: none;
	}
	.topnav_entrybtn {
		padding: 12px 20px;
	}
	.topnav_spmenu {
		position: relative;
	    display: block;
	    width: 50px;
	    height: 50px;
	    padding-top: 30px;
	    box-sizing: border-box;
	    color: #333;
	    font-size: 1rem;
	    text-decoration: none;
	    text-align: center;
		}
	.topnav_spmenu:before,
	.topnav_spmenu:after {
		position: absolute;
		right: 0;
		left: 0;
		content: "";
		display: block;
		width: 32px;
		height: 2px;
		margin: auto;
		border-radius: 6px;
		background-color: #333;
	}
	.topnav_spmenu:before {
		top: 10px;
	}
	.topnav_spmenu:after {
		top: 19px;
	}
}

#head {
	width: 1024px;
	margin: auto;
	text-align: right;
}
.head_b {
	position: relative;
	display: inline-block;
}
.head_b:before {
	content: "";
	position: absolute;
	top: -8px;
	left: -32px;
	width: 38px;
	height: 38px;
	border-top: 2px solid #333;
	border-left: 2px solid #333;
}
.head_b:after {
	content: "";
	position: absolute;
	bottom: 8px;
	right: -32px;
	width: 38px;
	height: 38px;
	border-bottom: 2px solid #333;
	border-right: 2px solid #333;
}
#head h1 {
	line-height: 0.7;
	font-size: 3.2rem;
	text-align: left;
}
#head span {
	font-size: 1.2rem;
}
.h2_head {
	margin-top: 60px;
	font-size: 3.2rem;
	font-feature-settings: "palt";
	letter-spacing: 2px;
}

@media screen and (max-width:920px) {
	#head {
		width: 100%;
		padding: 0 16px;
		box-sizing: border-box;
	}
	.head_b:before {
		left: -16px;
	}
	.head_b:after {
		right: -16px;
	}
	#head h1 {
		font-size: 2.4rem;
	}
	.h2_head {
		margin-top: 36px;
		font-size: 2.4rem;
		letter-spacing: 0;
	}
}
.img_wrap {
	display: block;
	max-width: 60%;
	margin: 32px auto;
}
@media screen and (max-width:920px) {
	.img_wrap {
		max-width: 80%;
	}
}
.img_wrap img{
	width: 100%;
}
.servicelst {
	display: flex;
}
.servicelst_item {
	width: 50%;
	padding: 12px;
}
.servicelst_img {
	max-width: 100%;
}
@media screen and (max-width:920px) {
	.servicelst {
		display: block;
	}
	.servicelst_item {
		width: 100%;
		padding: 0;
		margin-bottom: 40px;
	}
	.servicelst_img {
		display: block;
		max-width: 80%;
		margin: auto;
	}
}


.mbrlst {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	margin-bottom: 32px;
	padding: 0;
	text-align: center;
}
.mbrlst li {
	width: 145px;
}
.mbrlst li + li {
	margin-left: 16px;
}
.mbrlst_lnk {
	color: #333;
	text-decoration: none;
}
.mbrlst_lnk:hover .mbr_img{
	opacity: .8;
}
.mbrlst_lnk:hover .mbr_name,
.mbrlst_lnk:hover .mbr_wrk {
	color: var(--primary-color);
}
.mbr_img {
	width: 110px;
	height: 110px;
	border-radius: 50%;
	overflow: hidden;
	transition: opacity .2s;
	margin: 0 auto;
}
.mbr_img img {
	width: 100%;
}
.mbr_name {
	margin-top: 8px;
	font-weight: bold;
	font-size: 1.8rem;
	transition: color .2s;
}
.mbr_wrk {
	margin-top: 2px;
	font-size: 1.2rem;
	transition: color .2s;
}
.link-button-green {
	display: inline-block;
	padding: 8px 24px 8px 42px;
	background-color: #DEF1DE;
	border: 1px solid var(--primary-color);
	color: var(--primary-color);
	font-weight: bold;
	text-decoration: none;
	transition: background .2s, color .2s;
}
.link-button-green:hover {
	background: var(--primary-color);
	color: #fff;
}
.link-button-green.arrow:hover:before,
.link-button-green.arrow:hover:after {
	background: #fff;
}

@media screen and (max-width:920px) {
	.mbrlst {
		justify-content: space-between;
	}
	.mbrlst li {
		width: 50%;
		text-align: center;
		margin-bottom: 16px;
	}
	.mbrlst li + li {
		margin-left: 0;
	}
	.mbr_img {
		margin: auto;
	}
}


.talk {
	width: 1024px;
	margin: 60px auto 0;
	padding-bottom: 40px;
	box-sizing: border-box;
	background: #EFEFEF;
}
.talk_ttl {
	display: inline-block;
	margin: 1em 0 .5em;
	padding: 8px 24px;
	box-sizing: border-box;
	font-size: 2.5rem;
	background-color: #fff;
}
.talk_ctch {
	display: block;
	margin-bottom: 8px;
	font-size: 2rem;
	font-weight: bold;
	font-feature-settings: "palt";
}
@media screen and (max-width:920px) {
	.talk {
		width: 100%;
	}
	.talk .formbox {
		padding: 0 16px;
	}
	.talk .oubo_submit{
		width: calc(100% - 32px);
	}
	.talk_ttl {
		font-size: 2rem;
	}
	.talk_ctch {
		font-size: 1.8rem;
	}
}


.tab_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	padding: 0;
	gap:8px;
}
.tab_link {
	display: block;
	padding: 16px 24px;
	border: 1px solid #333;
	border-radius: 50px;
	box-sizing: border-box;
	color: #333;
	font-weight: bold;
	text-decoration: none;
	transition: border .2s, color .2s;
	list-style: none;
	cursor: pointer;
}
.tab_link.js-active {
	background-color: #DEF1DE;
	border: 1px solid var(--primary-color);
	color: var(--primary-color);
}
.tab_link:hover {
	border: 1px solid var(--primary-color);
	color: var(--primary-color);
}
.tab_content {
	margin-bottom: 60px;
}

@media screen and (max-width:920px) {
	.tab_list {
		justify-content: flex-start;
	}
	.tab_link {
		margin: 0 8px 8px 0;
		padding: 8px 12px;
		border-radius: 0;
		font-size: 1.2rem;
	}
}


.tbll {
	display: flex;
	flex-wrap: wrap;
}
.tbll + .tbll {
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid #ccc;
}
.tbll_th {
	flex-basis: 144px;
	font-weight: bold;
}
.tbll_td {
	flex-basis: calc(100% - 144px);
	line-height: 1.6;
}
.textlink {
	color: #0059ca;
}
.textlink:hover {
	text-decoration: none;
}
.tbll_ul {
	margin: 0;
	padding: 0 0 0 1.5em;
}
.tbll_ul_unstyled {
	list-style: none;
	margin: 0;
	padding: 0 0 0 .6em;
}
.tbll_ul dt{
 display: list-item;
 font-weight: bold;
}
.tbll_ul dd{
 margin-inline-start: 0.4em;
}
.tbll_table {
	width: 100%;
	margin-top: 16px;
	border-collapse: collapse;
}
.tbll_table caption {
	padding: 8px;
	font-weight: bold;
	text-align: left;
}
.tbll_table th {
	border-bottom: 2px solid #e1e1e1;
	text-align: left;
}
.tbll_table th,
.tbll_table td {
	padding: 8px;
	font-size: 1.4rem
}
.tbll_table tr:nth-child(even) {
	background-color: #f2f2f2;
}
@media screen and (max-width:920px) {
	.tbll {
		flex-wrap: wrap;
	}
	.tbll_th {
		flex-basis: 100%;
		font-size: 1.4rem;
		margin-bottom: 16px;
	}
	.tbll_td {
		flex-basis: 100%;
	}
}

.flow {
	margin: 0;
	padding: 0;
	list-style: none;
}
.flow li {
	position: relative;
	padding: 8px 24px;
	background: #EFEFEF;
}
.flow li + li {
	margin-top: 32px;
}
.flow li + li:before {
	content: "";
	position: absolute;
	top: -26px;
	right: 0;
	left: 0;
	display: block;
	width: 12px;
	height: 12px;
	margin: auto;
	border-top: 2px solid var(--primary-color);
	border-right: 2px solid var(--primary-color);
	transform: rotate(135deg);
}
.flow_nmbr {
	font-weight: bold;
	margin-right: 12px;
}
/* ---------------- 応募フォーム
*/
.ouboform {
	width: 1024px;
	margin: auto;
	padding: 40px 0;
	box-sizing: border-box;
	background-color: #EFEFEF;
}
.ouboform_ttl {
	margin: 0 0 24px;
	font-size: 2rem;
	text-align: center;
}
.formbox {
	display: flex;
	width: 920px;
	margin:12px auto;
    align-items: center;
}
.formbox_tl {
	width: 10em;
	padding-right: 1em;
	box-sizing: border-box;
	font-weight: bold;
	text-align: right;
}
.formbox_textarea {
	width: 100%;
}
.formbox_textarea textarea {
	width: 100%;
	min-height: 200px;
	padding: 12px;
	box-sizing: border-box;
	border: 2px solid #ccc;
	background: #fff;
	font-size: 1.4rem;
	border-radius: 4px;
	outline: none;
	margin-bottom: 1rem;
	resize: vertical;
}
.impt {
	width: 100%;
	padding: 12px;
	box-sizing: border-box;
	border: 2px solid #ccc;
	background: #fff;
	font-size: 1.6rem;
	border-radius: 4px;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
.impt:focus{
	border-color: var(--primary-color);
}
.formbox_check{
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	justify-content: space-between;
}
.formbox_check label {
	position: relative;
	flex-basis: 49%;
	margin-bottom: 8px;
	padding: 12px 12px 12px 28px;
	border: 2px solid #ccc;
	border-radius: 4px;
	box-sizing: border-box;
	background-color: #fff;
	font-size: 1.6rem;
}
.formbox_check label::before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 8px;
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	margin: auto;
	border: 1px solid #666;
	border-radius: 50%;

}
.formbox_check input[type=radio]:checked + label {
	background-color: #DEF1DE;
	border-color: var(--primary-color);
}
.formbox_check input[type=radio]:checked + label::before {
	border-color: var(--primary-color);
	background-color: #fff;
}
.formbox_check input[type=radio]:checked + label::after {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 10px;
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	margin: auto;
	border-radius: 50%;
	background-color: var(--primary-color);
}

.formbox_date {
	width: 100%;

	input {
		padding: 9px;
		width: 26rem;
		box-sizing: border-box;
		border: 2px solid #ccc;
		background: #fff;
		font-size: 1.6rem;
		border-radius: 4px;
		outline: none;
		margin-right: 8px;

		&:focus {
			border: 2px solid var(--primary-color);
		}
	}
	
	select {
		padding: 12px;
		width: 26rem;
		box-sizing: border-box;
		background: #fff;
		font-size: 1.6rem;
		border-radius: 4px;
		border: 2px solid #ccc;
		outline: none;

		&:focus {
			border: 2px solid var(--primary-color);
		}
	}
}

.tab {
	.tab-button {
		width: 0px;
		height: 0px;
		opacity: 0;
	}
	.tab-button ~ label {
		padding: 8px 24px;
		border-radius: 4px;
		cursor: pointer;

		&:hover {
			background: #e2e2e2; 
		}
	}
	.tab-button:not(:checked) + label {
		outline: 2px solid #ccc;
	}
	.tab-button:checked + label {
		outline: 2px solid var(--primary-color);
		background: #DEF1DE;
	}
	.tab-button[value="onlineMeeting"]:checked ~ [type="slack"] {
		display: none;
	}
	.tab-button[value="slack"]:checked ~ [type="onlineMeeting"] {
		display: none;
	}

	@media (width < 768px) {
		.tab-button ~ label {
			margin: 0;
			display: block;
		}
		.tab-content {
			margin-top: 32px;
		}
	}
	@media (768px <= width) {
		.tab-button ~ label {
			margin: 16px 0;
			display: inline-block;
		}
	}
}

.formbox_checkbox_list {
	width: 100%;
	padding: 4px 0;

	label {
		display: inline-block;
		margin-right: 16px;
	}

	input[type="checkbox"] {
		&:focus {
			outline: 1px solid var(--primary-color);
		}
	}
}

.oubo_submit {
	display: block;
	margin: 40px auto 0;
	padding: 12px 60px;
	border: none;
	background-color: var(--primary-color);
	color: #fff;
	text-align: center;
	font-weight: bold;
	font-size: 1.6rem;
	transition: background-color .2s;
}
.oubo_submit:hover {
	background-color: #3e863e;
}
@media screen and (max-width:920px) {
	.ouboform {
		width: 100%;
		padding: 40px 16px;
	}
	.formbox {
		flex-wrap: wrap;
		width: 100%;
		padding: 0;
		box-sizing: border-box;
	}
	.formbox_tl {
		width: 100%;
		padding-bottom: 4px;
		text-align: left;
	}
	.impt {
		width: 100%;
	}
	.formbox_check label {
		flex-basis: 100%;
	}
	.oubo_submit {
		width: 100%;
	}
}

#footer{
	border-top: 3px solid #e1e1e1;
	margin-top: 60px;
	padding: 24px 0;
	font-size: 1.2rem;
	font-weight: bold;
	text-align: center;
}
.itv {
	display: flex;
	align-items: center;
	margin-top: 36px;
}
.itv_img {
	width: 110px;
	height: 110px;
	border-radius: 50%;
	overflow: hidden;
}
.itv_img img {
	width: 100%;
}
.itv_name {
	margin-left: 16px;
	font-size: 1.2rem;
}
.itv_name span {
	display: block;
	font-weight: bold;
	font-size: 2rem;
}

.h3_itv {
	padding-bottom: 8px;
	font-size: 2.4rem;
	border-bottom: 1px solid #999;
}
.entrylink {
	position: relative;
    display: inline-block;
    margin-top: 16px;
    padding: 8px 24px 8px 42px;
	background: var(--primary-color);
    color: #fff;
    font-weight: bold;
    text-decoration: none;
    transition: background .2s, color .2s;
}
.entrylink.arrow:before,
.entrylink.arrow:after {
	background-color: #fff;
}
.entrylink:hover {
	background-color: #3e863e;
}
.backlink {
	display: inline-block;
	margin-top: 36px;
	color: #333;
	font-weight: bold;
	font-size: 1.4rem;
	text-decoration: none;
	transition: .2s color;
}
.backlink:hover {
	color: var(--primary-color);
}
@media screen and (max-width:920px) {
	.itv_img {
		width: 70px;
		height: 70px;
	}
}


#slide_menu {
	position: fixed;
	top: 0;
	bottom: 0;
	right: 0;
	width: 100vw;
	height: 100vh;
	padding: 16px;
	box-sizing: border-box;
	background-color: var(--primary-color);
	color: #fff;
	transform: translateX(100%);
    transition: .2s transform;
	z-index: 1000;
}
#slide_menu.js-active{
	display: block;
	transform: translateX(0%);
}
.slide_menu_close {
	position: absolute;
	top: 8px;
	right: 16px;
	display: inline-block;
	width: 50px;
	height: 50px;
}
.slide_menu_close:before,
.slide_menu_close:after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	display: block;
	width: 32px;
    height: 2px;
    margin: auto;
    border-radius: 6px;
    background-color: #fff;
}
.slide_menu_close:before{
	transform: rotate(45deg);
}
.slide_menu_close:after {
	transform: rotate(-45deg);
}
#slide_menu ul {
	list-style: none;
	padding: 16px;
}
#slide_menu a {
	color: #fff;
	text-decoration: none;
	letter-spacing: 1px;
}
#slide_menu .slide_menu_li a:before {
	content: "-";
	margin-right: 8px;
}
.slide_menu_li {
	margin: 16px 0;
	padding: 0 0 12px 0;
	font-weight: bold;
}
#slide_menu a.slide_menu_talk,
#slide_menu a.slide_menu_entry {
	display: inline-block;
	width: 100%;
	margin-top: 16px;
	padding: 16px 0;
	box-sizing: border-box;
	font-size: 1.6rem;
	font-weight: bold;
	text-align: center;
}
#slide_menu a.slide_menu_talk {
	border: 2px solid #fff;
}
#slide_menu a.slide_menu_entry {
	background-color: #fff;
	color: var(--primary-color);
}
#slide_menu a.link_blank {
	background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2048%2048%22%20style%3D%22fill%3Anone%3Bstroke%3A%23fff%3Bstroke-linecap%3Around%3Bstroke-linejoin%3Around%3Bstroke-width%3A3px%3B%22%3E%3Ctitle%3Eblank%3C%2Ftitle%3E%3Cpolyline%20class%3D%22b%22%20points%3D%2227%2012%2036%2012%2036%2021%22%2F%3E%3Cpolyline%20class%3D%22b%22%20points%3D%2232%2026%2032%2034%2014%2034%2014%2016%2022%2016%22%2F%3E%3Cline%20class%3D%22b%22%20x1%3D%2224%22%20y1%3D%2224%22%20x2%3D%2235%22%20y2%3D%2213%22%2F%3E%3C%2Fsvg%3E');
	background-repeat: no-repeat;
	background-position: right;
    background-size: 22px;
}

a.external-link {
	display: flex;
	align-items: center;
	gap: 4px;
}
a.external-link svg {
	width: 2rem;
}



