

/* Forms */
/* ============================================ */

button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  outline: 0;
  border-radius: 0;
  text-align: inherit;
}

[type="checkbox"] {
  -webkit-appearance: checkbox;
  appearance: checkbox;
}

[type="radio"] {
  -webkit-appearance: radio;
  appearance: radio;
}

button,
input {
  /* 1 */
  overflow: visible;
}

button,
select {
  /* 1 */
  text-transform: none;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}

button[disabled],
[type="button"][disabled],
[type="reset"][disabled],
[type="submit"][disabled] {
  cursor: default;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

select::-ms-expand {
  display: none;
}

option {
  padding: 0;
}

fieldset {
  margin: 0;
  padding: 0;
  border: 0;
  min-width: 0;
}

legend {
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}
progress {
  vertical-align: baseline;
}
textarea {
  overflow: auto;
}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
[type="search"] {
  outline-offset: -2px; /* 1 */
}

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

label[for] {
  cursor: pointer;
}

/* 基本設定
------------------------------------------------------*/
@charset "utf-8";
html {
	font-size: 16px;
	scroll-behavior: smooth;
}
body {
	margin: 0;
	padding: 0;
	font-size: 1rem;
	line-height: 1.5;
	color: #222;
	font-family: Helvetica, Arial, "メイリオ","Meiryo","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
}
a {
	text-decoration: none;
	color: inherit;
}
a:hover {
	text-decoration: underline;
}
a.opacity:hover {
	opacity: 0.8;
	transition : all 0.5s ease 0s;
}
*:focus {
	outline: none;
}
/*Main
------------------------------------------------------*/


@media screen and (max-width:480px) {
	#top__mv {
		margin-top: 94px;
	}
}
@media screen and (max-width:400px) {
	#top__mv {
		margin-top: 84px;
	}
}
/*Header
------------------------------------------------------*/
.l-header {
	width: 100%;
}
.l-header__main {
	padding: 25px 0;
}
.l-header__main-inner {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	width: 960px;
	margin: 0 auto;
}
.l-header__main-logo {
	width: 230px;
	margin-right: auto;
}
.l-header__main-logo img {
	width: 100%;
}
h1.l-header__main-logo {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  margin: 0;
}
.l-header__main-option {
	display: flex;
	justify-content: flex-end;
	flex-wrap: wrap;
	align-items: flex-end;
}
.l-header__main-menu li {
	display: inline;
	margin-left: 20px;
	font-size: 15px;
}
.l-header__main-menu li a {
	position: relative;
	padding-left: 22px;
}
.l-header__main-menu li a::before {
	content: "";
	position: absolute;
	width: 16px;
	height: 16px;
	top: calc(50% - 8px);
	left: 0;
	background: #666;
}
.l-header__main-menu li a.faq::before {
	-webkit-mask: url("../img/navi/icon_faq.svg") no-repeat center center / contain;
	mask: url("../img/navi/icon_faq.svg") no-repeat center center / contain;
}
.l-header__main-menu li a.contact::before {
	-webkit-mask: url("../img/navi/icon_contact_min.svg") no-repeat center center / contain;
	mask: url("../img/navi/icon_contact_min.svg") no-repeat center center / contain;
}
.l-header__main-menu li a.company::before {
	-webkit-mask: url("../img/navi/icon_company_min.svg") no-repeat center center / contain;
	mask: url("../img/navi/icon_company_min.svg") no-repeat center center / contain;
}
.l-header__main-support {
	display: flex;
	justify-content: flex-end;
	margin: 10px 0 0 20px;
}
.l-header__main-search {
	max-width: 210px;
}
.l-header__main-search .search-form {
	display: flex;
	justify-content: space-between;
	align-items: center;
	overflow: hidden;
	border: 1px solid #2bb188;
	border-radius: 3px;
	font-size: 14px;
	margin-block-end: 0;
}
.l-header__main-search .search-form input {
	width: 175px;
	height: 33px;
	padding: 5px 10px;
	box-sizing: border-box;
}
.l-header__main-search .search-form input::placeholder {
	color: #999;
}
.l-header__main-search .search-form button {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 33px;
	height: 33px;
	background-color: #2bb188;
	cursor: pointer;
}
.l-header__main-search .search-form button::before {
	content: "";
	position: absolute;
	width: 20px;
	height: 20px;
	top: 50%;
	left: 50%;
	-moz-transform: translateX(-50%) translateY(-50%);
	-webkit-transform: translateX(-50%) translateY(-50%);
	transform: translateX(-50%) translateY(-50%);
	-webkit-mask: url("../img/navi/icon_search.svg") no-repeat center center / contain;
	mask: url("../img/navi/icon_search.svg") no-repeat center center / contain;
	background: #FFF;
}
.l-header__main-search--sp {
	display: none;
}
.l-header__main-search.company .search-form {
	border: 1px solid #666 !important;
}
.l-header__main-search.company .search-form button {
	background-color: #666;
}
.l-header__main-language {
	position: relative;
	width: 130px;
	height: 35px;
	margin: 0 0 0 15px;
	border: 1px solid #2bb188;
	font-size: 16px;
	font-weight: bold;
	line-height: 30px;
	text-align: center;
	color: #2bb188;
	border-radius: 3px;
	transition: all .2s ease-in-out;
	box-sizing: border-box;
}
.l-header__main-language a {
	display: block;
	padding: 0 0 0 25px;
	text-decoration: none;
	color: #2bb188;
}
.l-header__main-language:hover {
	color: #FFF;
	background: #2bb188;
}
.l-header__main-language a:hover {
	color: #FFF;
}
.l-header__main-language a::before {
	content: "";
	position: absolute;
	width: 20px;
	height: 20px;
	top: 50%;
	left: 10px;
	-moz-transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	-webkit-mask: url("../img/navi/icon_language.svg") no-repeat center center / contain;
	mask: url("../img/navi/icon_language.svg") no-repeat center center / contain;
	background: #2BB188;
	transition: all .2s ease-in-out;
}
.l-header__main-language:hover a::before {
	background: #FFF;
}
.l-header__main-hamburgermenu {
	display: none;
}
.l-header__gnav {
	position: relative;
	margin-bottom: 1px;
	background: #2bb188;
}
.l-header__gnav-menu {
	display: flex;
	justify-content: space-between;
	width: 960px;
	margin: 0 auto;
}
.l-header__gnav-menu li {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 25%;
	height: 50px;
	border-left: solid 1px #FFF;
	transition: all .2s ease-in-out;
	cursor: pointer;
	color: #FFF;
	font-size: 15px;
	box-sizing: border-box;
}
.l-header__gnav-menu li span {
	font-size: 13px;
}
.l-header__gnav-menu li.nolink {
	cursor: default;
}
.l-header__gnav-menu li:last-child {
	border-right: solid 1px #FFF;
}
.l-header__gnav-menu li:hover {
	background: #46BB97;
}
.l-header__gnav-menu li:hover a::before {
	background: #FFF;
}
.l-header__gnav-menu a {
	position: relative;
	font-weight: bold;
	line-height: 1.2em;
	text-align: center;
	color: #FFF;
}
.l-header__gnav-menu a:hover {
	text-decoration: none;
}
.l-header__gnav-menu a.link {
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
	flex-direction: column;
    width: 100%;
    height: 100%;
}
.l-header__gnav-menu li.nolink a {
	cursor: default;
}
.l-header__gnav-menu > li:hover .l-header__gnav-megamenu {
	max-height: 9999px;
	opacity: 1;
	padding: 30px 0 10px;
}
.l-header__gnav-megamenu {
	position: absolute;
	z-index: 999;
	overflow: hidden;
	width: 100%;
	max-height: 0;
	top: 50px;
	left: 0;
	transition: all .2s ease-in;
	cursor: auto;
	opacity: 0;
	background: #46BB97;
	border-radius: 3px;
}
.l-header__gnav-megamenu-inner {
	display: flex;
	justify-content: flex-start;
	width: 960px;
	margin: 0 auto;
	text-align: left;
}
.l-header__gnav-megamenu-inner li {
	justify-content: space-between;
	width: auto;
	height: auto;
	margin: 0 60px 20px 0;
	border-left: none;
}
.l-header__gnav-megamenu-inner li:last-child {
	border-right: none;
}
.l-header__gnav-megamenu-inner a {
	width: 100%;
	padding: 0 0 0 20px;
	font-weight: normal;
	color: #FFF;
	text-align: left;
	font-size: 16px;
}
.l-header__gnav-megamenu-inner a:hover {
	text-decoration: underline;
	transition: all .2s ease-in;
}
.l-header__gnav-megamenu-inner a::before {
	content: "";
	position: absolute;
	width: 20px;
	height: 20px;
	top: 50%;
	left: 0;
	-moz-transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	-webkit-mask: url("../img/navi/icon_link_inner_child.svg") no-repeat center center / contain;
	mask: url("../img/navi/icon_link_inner_child.svg") no-repeat center center / contain;
	background: #2BB188;
	transition: all .2s ease-in-out;
}
@media screen and (max-width:480px) {
	.l-header__main {
		position: fixed;
		z-index: 999;
		top: 0;
		padding: 25px 5%;
		background: rgba(255, 255, 255, 0.8);
		-webkit-backdrop-filter: blur(12px);
		backdrop-filter: blur(12px);
		width: 90%;
	}
	.l-header__main.UpMove {
		animation: UpAnime 0.5s forwards;
	}
	.l-header__main.DownMove {
		animation: DownAnime 0.5s forwards;
	}
	.l-header__main-inner {
		justify-content: space-between;
		width: 100%;
	}
	.l-header__main-logo {
		margin-right: 0;
		width: 184px;
	}
	.l-header__main-option {
		display: flex;
		justify-content: flex-end;
		flex-wrap: wrap;
		align-items: flex-end;
	}
	.l-header__main-menu {
		display: none;
	}
	.l-header__main-support {
		display: flex;
		justify-content: flex-end;
		margin: 0;
	}
	.l-header__main-search {
		display: none;
	}
	.l-header__main-search--sp {
		display: block;
		width: 44px;
		height: 44px;
		margin: 0 0 0 15px;
		border: 1px solid #2bb188;
		font-size: 0;
		box-sizing: border-box;
		border-radius: 3px;
	}
	.l-header__main-search--sp a {
		display: block;
		position: relative;
		padding-top: 100%;
	}
	.l-header__main-search--sp a::before {
		content: "";
		position: absolute;
		width: 24px;
		height: 24px;
		top: 50%;
		left: 50%;
		-moz-transform: translateX(-50%) translateY(-50%);
		-webkit-transform: translateX(-50%) translateY(-50%);
		transform: translateX(-50%) translateY(-50%);
		-webkit-mask: url("../img/navi/icon_search.svg") no-repeat center center / contain;
		mask: url("../img/navi/icon_search.svg") no-repeat center center / contain;
		background: #2BB188;
	}
	.l-header__main-language {
		width: 44px;
		height: 44px;
		margin: 0 0 0 7px;
	}
	.l-header__main-language a {
		display: block;
		padding-top: 30%;
		font-size: 0 !important;
	}
	.l-header__main-language:hover {
		color: #2bb188;
		background: #FFF;
	}
	.l-header__main-language a::before {
		width: 24px;
		height: 24px;
		top: 50%;
		left: 50%;
		-moz-transform: translateX(-50%) translateY(-50%);
		-webkit-transform: translateX(-50%) translateY(-50%);
		transform: translateX(-50%) translateY(-50%);
	}
	.l-header__main-language:hover a::before {
		background: #2bb188;
	}
	.l-header__gnav {
		display: none;
	}
	.l-header__main-hamburgermenu {
		display: block;
		position: relative;
		width: 44px;
		height: 44px;
		margin: 0 0 0 7px;
		background: #2bb188;
		cursor: pointer;
		border-radius: 3px;
	}
	.l-header__main-hamburgermenu .menu_line {
		display: block;
		position: absolute;
		transition: transform .3s;
	}
	.l-header__main-hamburgermenu .menu_line-top {
		width: 22px;
		height: 2px;
		top: 10px;
		left: 11px;
		background: #FFF;
	}
	.l-header__main-hamburgermenu .menu_line-center {
		width: 14px;
		height: 2px;
		top: 19px;
		left: 11px;;
		background: #FFF;
	}
	.l-header__main-hamburgermenu .menu_line-text {
		width: 100%;
		top: 25px;
		font-size: 10px;
		transform: scale(0.9);
		color: #FFF;
		text-align: center;
	}
	.l-header__main-hamburgermenu.company {
		background: #666;
	}
}

@media screen and (max-width:400px) {
	.l-header__main {
		padding: 22px 5%;
	}
	.l-header__main-logo {
		width: 164px;
	}
	.l-header__main-search--sp {
		width: 40px;
		height: 40px;
	}
	.l-header__main-search--sp a::before {
		width: 22px;
		height: 22px;
	}
	.l-header__main-language {
		width: 40px;
		height: 40px;
		background-size: 22px;
	}
	.l-header__main-language a::before {
		width: 22px;
		height: 22px;
	}
	.l-header__main-hamburgermenu {
		width: 40px;
		height: 40px;
	}
	.l-header__main-hamburgermenu .menu_line-top {
		width: 22px;
		top: 10px;
		left: 9px;
	}
	.l-header__main-hamburgermenu .menu_line-center {
		width: 14px;
		top: 18px;
		left: 9px;
	}
	.l-header__main-hamburgermenu .menu_line-text {
		top: 22px;
	}
}
@keyframes UpAnime {
	from {
		opacity: 1;
		/*transform: translateY(0);*/
	}
	to {
		opacity: 0;
		/*transform: translateY(-100px);*/
	}
}
@keyframes DownAnime {
	from {
		opacity: 0;
		transform: translateY(-100px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
/*SP NAVI
------------------------------------------------------*/
.l-header__sp-gnav-wrapper {
	z-index: 999;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	text-align: center;
	opacity: 0;
	visibility: hidden;
	transition: opacity .3s, visibility .3s;
}
.l-header__sp-gnav-wrapper.active {
	opacity: 1;
	visibility: visible;
	transition: opacity .4s, visibility .4s;
}
.l-header__sp-gnav-wrapper::after {
	display: inline-block;
	height: 100%;
	margin-left: -.05em;
	vertical-align: middle;
	content: ""
}
.l-header__sp-gnav-wrapper .modal-window {
	box-sizing: border-box;
	display: inline-block;
	z-index: 20;
	position: relative;
	width: 100%;
	padding: min(15%, 100px) 10% 0 10%;
	-webkit-backdrop-filter: blur(16px);
	backdrop-filter: blur(16px);
	background: rgba(10, 155, 110, 0.8);
	vertical-align: middle;
}
.l-header__sp-gnav-wrapper .modal-window .modal-content {
	height: 100vh;
	overflow-y: auto;
	text-align: left
}
.l-header__sp-gnav-wrapper .modal-close {
	z-index: 20;
	position: absolute;
	top: 30px;
	right: 5%;
	width: 60px;
	height: 60px;
	background: #46bb97;
	cursor: pointer;
	transition: transform .3s;
}
.l-header__sp-gnav-wrapper .modal-close::before {
	position: absolute;
	content: "";
	width: 36px;
	height: 3px;
	top: 29px;
	left: 12px;
	transform: rotate(45deg);
	background: #FFF;
}
.l-header__sp-gnav-wrapper .modal-close::after {
	position: absolute;
	content: "";
	width: 36px;
	height: 3px;
	top: 29px;
	left: 12px;
	transform: rotate(135deg);
	background: #FFF;
}
.l-header__sp-gnav-menu {
	border-bottom: 1px solid #72c0a8;
	padding: 0 0 5px 0;
}
.l-header__sp-gnav-item {
	list-style: none;
}
.l-header__sp-gnav-item a {
	display: block;
	position: relative;
	padding: 14px 0 7px 0;
	color: #FFF;
	font-weight: bold;
	text-decoration: none;
	transition: .5s;
}
.l-header__sp-gnav-item.title {
	display: block;
	position: relative;
	padding: 14px 0 7px 0;
	color: #FFF;
	font-weight: bold;
	list-style: none;
}
.l-header__sp-gnav-item.sub {
	position: relative;
	padding: 0 0 0 1em;
	border-bottom: none;
	color: #FFF;
}
.l-header__sp-gnav-item.sub::before {
	position: absolute;
	top: 48%;
	left: 0px;
	transform: translateY(-50%);
	width: 0px;
	height: 0px;
	border: 0.3em solid transparent;
	border-left: 0.4em solid #FFF;
	content: "";
}
.l-header__sp-gnav-item.sub a {
	padding: 6px 25px 6px 0;
	font-weight: normal;
}


@media screen and (max-width:550px) {
	.l-header__sp-gnav-wrapper .modal-close {
		top: 25px;
		right: 5%;
		width: 44px;
		height: 44px;
	}
	.l-header__sp-gnav-wrapper .modal-close::before {
		width: 26px;
		height: 2px;
		top: 21px;
		left: 9px;
	}
	.l-header__sp-gnav-wrapper .modal-close::after {
		width: 26px;
		height: 2px;
		top: 21px;
		left: 9px;
	}
}
@media screen and (max-width:400px) {
	.l-header__sp-gnav-wrapper .modal-close {
		top: 22px;
		width: 40px;
		height: 40px;
	}
	.l-header__sp-gnav-wrapper .modal-close::before {
		width: 24px;
		top: 19px;
		left: 8px;
	}
	.l-header__sp-gnav-wrapper .modal-close::after {
		width: 24px;
		top: 19px;
		left: 8px;
	}
}
/*フリーワード検索 SP
------------------------------------------------------*/
.search-form__sp {
	width: 100%;
	margin: 0 auto;
	padding: 5%;
	box-sizing: border-box;
}
.search-form__sp h3 {
	position: relative;
	margin: 0 0 min(5%, 20px) 0;
	padding: 0 0 0 45px;
	font-weight: bold;
	font-size: 22px;
}
.search-form__sp h3::before {
	content: "";
	position: absolute;
	width: 36px;
	height: 36px;
	top: 50%;
	left: 0;
	-moz-transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	-webkit-mask: url("../img/navi/icon_search.svg") no-repeat center center / contain;
	mask: url("../img/navi/icon_search.svg") no-repeat center center / contain;
	background: #2BB188;
}
.search-form__sp .text {
	margin: 0 0 7.5% 0;
	font-size: 16px;
}
.search-form__sp .search-form {
	margin: 0 0 5% 0;
}
.search-form__sp .search-form input {
	width: 100%;
	height: 50px;
	margin: 0 auto 2%;
	padding: 5px 10px;
	border: 1px solid #2bb188;
	box-sizing: border-box;
}
.search-form__sp .search-form input::placeholder {
	color: #999;
}
.search-form__sp .search-form button {
	width: 100%;
	height: 50px;
	background-color: #2bb188;
	cursor: pointer;
	font-weight: bold;
	letter-spacing: 0.2em;
	color: #FFF;
	text-align: center;
}
@media screen and (max-width:750px) {
	.search-form__sp h3 {
		font-size: 18px;
	}
	.search-form__sp .text {
		font-size: 14px;
	}
}
/*言語変更
------------------------------------------------------*/
.language {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	padding: min(5%, 40px);
	box-sizing: border-box;
}
.language h3 {
	position: relative;
	margin: 0 0 min(5%, 20px) 0;
	padding: 0 0 0 45px;
	font-weight: bold;
	font-size: 22px;
}
.language h3::before {
	content: "";
	position: absolute;
	width: 36px;
	height: 36px;
	top: 50%;
	left: 0;
	-moz-transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	-webkit-mask: url("../img/navi/icon_language.svg") no-repeat center center / contain;
	mask: url("../img/navi/icon_language.svg") no-repeat center center / contain;
	background: #2BB188;
}
.language .text {
	margin: 0 0 min(5%, 40px) 0;
	font-size: 16px;
}
.language .list {
	font-size: 0;
}
.language .list li {
	display: inline-block;
	width: calc((100% - 50px) / 5);
	margin: 0 10px 0 0;
	color: #FFF;
	border: #d5efe7 4px solid;
	box-sizing: border-box;
}
.language .list li:hover {
	border: #2bb188 4px solid;
}
.language .list img {
	width: 100%;
}
@media screen and (max-width:750px) {
	.language h3 {
		font-size: 18px;
	}
	.language .text {
		font-size: 14px;
	}
	.language .list li {
		display: inline-block;
		width: calc((100% - 6%) / 3);
		margin: 0 3% 3% 0;
	}
	.language .list li:nth-child(3) {
		margin: 0 0 3% 0;
	}
	.language .list li:nth-child(4) {
		margin: 0 3% 0 0;
	}
	.language .list li:nth-child(5) {
		margin: 0;
	}
}
/*モーダルウィンドウ
------------------------------------------------------*/
.l-modal__wrapper {
	z-index: 999;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	padding: 40px 10px;
	text-align: center;
}

/*
.l-modal__wrapper:not(:target) {
	opacity: 0;
	visibility: hidden;
	transition: opacity .3s, visibility .3s;
}
.l-modal__wrapper:target {
	opacity: 1;
	visibility: visible;
	transition: opacity .4s, visibility .4s;
}
*/

#modal-search_btn,
#modal-fontsize_btn,
#modal-language_btn{
	cursor: pointer;
}

#modal-search,
#modal-fontsize,
#modal-language{
	opacity: 0;
	visibility: hidden;
	transition: opacity .3s, visibility .3s;
	cursor: pointer;
}

#modal-search.active,
#modal-fontsize.active,
#modal-language.active {
	opacity: 1;
	visibility: visible;
	transition: opacity .4s, visibility .4s;
}

.l-modal__wrapper::after {
	display: inline-block;
	height: 100%;
	margin-left: -.05em;
	vertical-align: middle;
	content: ""
}
.l-modal__wrapper .modal-window {
	box-sizing: border-box;
	display: inline-block;
	z-index: 20;
	position: relative;
	width: 90%;
	max-width: 1000px;
	margin: 5% auto;
	padding: 10px;
	background: #fff;
	/*box-shadow: 0 0 30px rgba(0, 0, 0, .6);*/
	vertical-align: middle;
}
.l-modal__wrapper .modal-window .modal-content {
	max-height: 80vh;
	overflow-y: auto;
	text-align: left
}
.l-modal__wrapper .modal-overlay {
	z-index: 10;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	-webkit-backdrop-filter: blur(15px);
	backdrop-filter: blur(15px);
	background: rgba(0, 0, 0, .7);
}
.l-modal__wrapper .modal-close {
	z-index: 20;
	position: absolute;
	top: 15px;
	right: 15px;
	width: 35px;
}
/*フッター
------------------------------------------------------*/
.l-footer {
	position: relative;
	width: 100%;
	margin-top: 50px;
	background: #2bb188;
}
.l-footer__option {
	width: 100%;
	padding: 25px 0;
	box-sizing: border-box;
}
.l-footer__option-inner {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	width: 960px;
	margin: 0 auto;
}
.l-footer__option-contact {
	position: relative;
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 35%;
	height: 100px;
	border-left: #75ccb2 1px solid;
	border-right: #75ccb2 1px solid;
	transition: all .2s ease-in;
}
.l-footer__option-contact:hover {
	opacity: 0.75;
}
.l-footer__option-contact a {
	position: relative;
	padding-left: 60px;
	font-weight: bold;
	color: #FFF;
	font-size: 20px;
}
.l-footer__option-contact a::before {
	content: "";
	position: absolute;
	width: 46px;
	height: 46px;
	top: 50%;
	left: 0;
	-moz-transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	-webkit-mask: url("../img/navi/icon_contact.svg") no-repeat center center / contain;
	mask: url("../img/navi/icon_contact.svg") no-repeat center center / contain;
	background: #FFF;
}
.l-footer__option-contact a:hover {
	text-decoration: none;
}
.l-footer__option-contact > a:after {
	content: "";
	position: absolute;
	width: 100vw;
	height: 100vh;
	-moz-transform: translateX(-50%) translateY(-50%);
	-webkit-transform: translateX(-50%) translateY(-50%);
	transform: translateX(-50%) translateY(-50%);
	left: 50%;
	top: 50%;
}
.l-footer__option-link {
	width: 50%;
	margin-left: 5%;
}
.l-footer__option-link li {
	display: inline-block;
	position: relative;
	margin: 5px 20px 5px 0;
	padding-left: 1em;
	color: #FFF;
	font-size: 15px;
}
.l-footer__option-link li a {
	color: #FFF;
}
.l-footer__option-link li:nth-child(3n) {
	clear: both;
}
.l-footer__option-link li::before {
	position: absolute;
	top: 48%;
	left: 0px;
	transform: translateY(-50%);
	width: 0px;
	height: 0px;
	border: 0.3em solid transparent;
	border-left: 0.4em solid #FFF;
	content: "";
}
.l-footer__option-gototop {
	width: 50px;
	margin-left: auto;
}
.l-footer__option-gototop a:hover {
	opacity: 0.7;
	transition: all .2s ease-in;
}
.l-footer__bottom {
	width: 100%;
	padding: 20px 0;
	background: #46bb97;
}
.l-footer__bottom-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 960px;
	margin: 0 auto;
}
.l-footer__bottom-sns {
	display: flex;
	justify-content: flex-start;
}
.l-footer__bottom-sns img {
	width: 40px;
}
.l-footer__bottom-sns a:hover {
	opacity: 0.7;
	transition: all .2s ease-in;
}
.l-footer__bottom-sns div {
	margin: 0 10px 0 0;
}
.l-footer__bottom-copyright {
	color: #FFF;
	font-size: 14px;
}
@media screen and (max-width:480px) {
	.l-footer__option {
		padding: 40px 5%;
		border-top: none;
	}
	.l-footer__option-inner {
		display: block;
		width: 100%;
	}
	.l-footer__option-contact {
		width: 100%;
		height: 70px;
		margin-bottom: 25px;
		border: #75ccb2 1px solid;
	}
	.l-footer__option-contact a::before {
		width: 38px;
		height: 38px;
	}
	.l-footer__option-link {
		width: 100%;
		margin: 0;
	}
	.l-footer__option-link li:nth-child(3n) {
		clear: inherit;
	}
	.l-footer__option-gototop {
		display: none;
	}
	.l-footer__bottom-inner {
		display: block;
		width: 100%;
		padding-bottom: 40px;
	}
	.l-footer__bottom-sns {
		justify-content: center;
		margin: 0 0 3%;
	}
	.l-footer__bottom-sns img {
		width: 34px;
	}
	.l-footer__bottom-sns div {
		margin: 0 5px;
	}
	.l-footer__bottom-copyright {
		text-align: center;
	}
}