/*
Theme Name: KURADASHI CORP 2025
Description: KURADASHI コーポレートサイト 2025
Version: 1.0
*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@700&display=swap");
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	background: transparent;
	/* border: 0; */
	font-size: 100%;
	vertical-align: baseline;
	outline: 0
}
body {
	line-height: 1
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block
}
ul, ol {
	list-style: none
}
blockquote, q {
	quotes: none
}
blockquote:before, blockquote:after, q:before, q:after {
	content: "";
	content: none
}
a {
	margin: 0;
	padding: 0;
	background: transparent;
	font-size: 100%;
	vertical-align: baseline
}
ins {
	color: #000;
	background-color: #ff9;
	text-decoration: none
}
mark {
	color: #000;
	background-color: #ff9;
	font-style: italic;
	font-weight: bold
}
del {
	text-decoration: line-through
}
abbr[title], dfn[title] {
	border-bottom: 1px dotted;
	cursor: help
}
table {
	border-spacing: 0;
	border-collapse: collapse
}
hr {
	display: block;
	margin: 1em 0;
	padding: 0;
	height: 1px;
	border: 0;
	border-top: 1px solid #ccc
}
input, select, textarea, button {
	background: transparent;
	border: none;
	vertical-align: middle;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none
}
*, *::before, *::after {
	box-sizing: border-box
}
@-webkit-keyframes inview_slidein {
	0% {
		opacity: 0;
		transform: translate(0, 48px);
		transition: all 1000ms
	}
	100% {
		opacity: 1;
		transform: translate(0, 0)
	}
}
@keyframes inview_slidein {
	0% {
		opacity: 0;
		transform: translate(0, 48px);
		transition: all 1000ms
	}
	100% {
		opacity: 1;
		transform: translate(0, 0)
	}
}
@-webkit-keyframes inview_slidedown {
	0% {
		opacity: 0;
		transform: translate(0, -48px);
		transition: all 1000ms
	}
	100% {
		opacity: 1;
		transform: translate(0, 0)
	}
}
@keyframes inview_slidedown {
	0% {
		opacity: 0;
		transform: translate(0, -48px);
		transition: all 1000ms
	}
	100% {
		opacity: 1;
		transform: translate(0, 0)
	}
}
@-webkit-keyframes inview_fadein {
	0% {
		opacity: 0;
		transition: all 1000ms
	}
	100% {
		opacity: 1
	}
}
@keyframes inview_fadein {
	0% {
		opacity: 0;
		transition: all 1000ms
	}
	100% {
		opacity: 1
	}
}
@-webkit-keyframes modal_fadein {
	0% {
		margin-top: 48px;
		opacity: 0;
		transition: all 1000ms
	}
	100% {
		margin-top: 0;
		opacity: 1
	}
}
@keyframes modal_fadein {
	0% {
		margin-top: 48px;
		opacity: 0;
		transition: all 1000ms
	}
	100% {
		margin-top: 0;
		opacity: 1
	}
}
html, body {
	width: 100%;
	height: 100%
}
body {
	overflow-y: scroll;
	background-color: #fff;
	font-family: "Noto Sans JP", Arial, "メイリオ", Meiryo, sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	line-height: 1.6
}
body.is-loading {
	overflow: hidden;
	position: fixed
}
@media screen and (max-width: 960px) {
	body.is-open {
		overflow: hidden;
		position: fixed
	}
}
a {
	text-decoration: none;
	cursor: pointer
}
img {
	vertical-align: top
}
.is-pc {
	display: none
}
.trademark {
	margin-top: 25px;
	margin-bottom: 25px;
	text-align: center;
	font-size: .75rem;
}
.bn_forum {
	width: 100%;
	text-align: center;
	margin: 30px 0 0;
}
.bn_forum img {
	max-width: 100%;
    height: auto;
}
.speakerdeck-wrapper {
	margin: auto;
	margin-top: 40px;
	position: relative;
	text-align: center;
}
.speakerdeck-iframe {
	width: 80%;
	aspect-ratio: 16/9;
	border: 0px;
	background: padding-box padding-box rgba(0, 0, 0, 0.1);
	margin: 0px;
	padding: 0px;
	border-radius: 6px;
	box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 40px

}
@media screen and (min-width: 768px) {
	.is-pc {
		display: block
	}
}
@media screen and (min-width: 768px) {
	.is-sp {
		display: none
	}
}
@media only screen and (max-width: 749px) {
	.speakerdeck-iframe {
		width: 100%
	}
}
.wrapper {
	width: 100%;
	height: 100%;
	position: relative
}
.header {
	display: flex;
	padding: 0 16px;
	width: 100%;
	height: 48px;
	align-items: center;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	background-color: #fff;
	backface-visibility: hidden
}
@media screen and (min-width: 768px) {
	.header {
		height: 64px
	}
}
.header.is-fixed {
	box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.18)
}
.header__inner {
	margin: 0 auto;
	width: 100%;
	max-width: 1024px;
	position: relative
}
@media screen and (min-width: 768px) {
	.header__inner {
		display: flex;
		align-items: center
	}
}
.header__title {
	position: relative;
	z-index: 1;
	line-height: 1
}
@media screen and (min-width: 768px) {
	.header__title {
		flex: 1
	}
}
.header__logo {
	width: auto;
	height: 20px
}
.header__logo:hover {
	opacity: .8 !important
}
@media screen and (min-width: 768px) {
	.header__logo {
		height: 20px
	}
}
@media screen and (max-width: 768px) {
	body.is-open .header__logo {
		opacity: 0
	}
}
.header__menu {
	position: absolute;
	top: -2px;
	right: 0;
	z-index: 10
}
@media screen and (min-width: 768px) {
	.header__menu {
		display: none
	}
}
.header__icon {
	cursor: pointer
}
.header__icon:hover {
	opacity: .8 !important
}
.main {
	display: block;
	min-height: calc(100% - 48px - 170px)
}
@media screen and (min-width: 768px) {
	.main {
		min-height: calc(100% - 68px - 120px)
	}
}
@media screen and (min-width: 960px) {
	.main {
		min-height: calc(100% - 100px - 120px)
	}
}
.main--page, .main--detail {
	margin-top: 48px;
	position: relative
}
@media screen and (min-width: 768px) {
	.main--page, .main--detail {
		margin-top: 50px
	}
}
.main--page::before, .main--page::after, .main--detail::before, .main--detail::after {
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: -1;
	background-repeat: no-repeat;
	content: ""
}
.main--page::before {
	top: 0;
	left: 0;
	background-position: 0 0
}
@media screen and (min-width: 768px) {
	.main--page::before {
		top: -80px;
	}
}
.main--page::after {
	top: 300px;
	right: 0;
	background-position: 100% 0
}
@media screen and (min-width: 768px) {
	.main--page::after {
		top: 0;
	}
}
.main--detail::before {
	top: 0;
	left: 0;
	background-position: 0 0
}
@media screen and (min-width: 768px) {
	.main--detail::before {
		top: -80px;
	}
}
.main--detail::after {
	top: 300px;
	right: 0;
	background-position: 100% 0
}
@media screen and (min-width: 768px) {
	.main--detail::after {
		top: 0;
	}
}
.footer {
	padding: 32px 16px;
	background-color: #FAD26E
}
@media screen and (min-width: 768px) {
	.footer {
		padding: 40px 16px
	}
}
.footer__inner {
	margin: 0 auto;
	max-width: 1024px;
	position: relative
}
.footerBtn {
	position: absolute;
	top: -56px;
	right: 0;
	z-index: 10
}
@media screen and (min-width: 768px) {
	.footerBtn {
		top: -64px
	}
}
.footerBtn__link {
	-webkit-transition: all 0.25s ease-out;
	-moz-transition: all 0.25s ease-out;
	transition: all 0.25s ease-out;
	display: flex;
	width: 48px;
	height: 48px;
	align-items: center;
	justify-content: center;
	background-color: #49a783;
	border-radius: 50%
}
.footerBtn__link:hover {
	background-color: #FAD26E
}
@media screen and (min-width: 768px) {
	.footerNav__list {
		display: flex;
		justify-content: center
	}
}
.footerNav__item + .footerNav__item {
	margin-top: 16px
}
@media screen and (min-width: 768px) {
	.footerNav__item + .footerNav__item {
		margin: 0 0 0 16px
	}
}
.footerNav__link {
	font-size: 12px;
	font-size: .75rem;
	color: #2e3238;
	font-weight: bold
}
.footerNav__link:hover {
	opacity: .8 !important
}
.footer__copyright {
	font-size: 10px;
	font-size: .625rem;
	margin-top: 32px;
	color: #2e3238;
	font-family: "Roboto", sans-serif;
	text-align: right;
	letter-spacing: 1px
}
@media screen and (min-width: 768px) {
	.footer__copyright {
		margin-top: 24px;
		text-align: center
	}
}
.footer .socialBox {
	margin-top: 24px;
	position: absolute
}
@media screen and (min-width: 768px) {
	.footer .socialBox {
		margin-top: 40px;
		position: relative
	}
}
.globalNav {
	-webkit-transition: all 0.5s ease-out;
	-moz-transition: all 0.5s ease-out;
	transition: all 0.5s ease-out;
	-webkit-transform: translateZ(0);
	-moz-transform: translateZ(0);
	transform: translateZ(0);
	margin-left: -16px;
	padding-top: 14px;
	width: 100vw;
	height: 0;
	overflow: hidden;
	position: absolute
}
@media screen and (min-width: 768px) {
	.globalNav {
		-webkit-transform: initial;
		-moz-transform: initial;
		transform: initial;
		display: flex;
		margin-left: 0;
		padding-top: 0;
		width: auto;
		height: auto;
		overflow: initial;
		align-items: center;
		position: relative
	}
}
@media screen and (max-width: 768px) {
	body.is-open .globalNav {
		-webkit-transform: initial;
		-moz-transform: initial;
		transform: initial;
		height: 100%;
		overflow: initial
	}
}
.globalNav::before {
	-webkit-transition: all 0.5s ease-out;
	-moz-transition: all 0.5s ease-out;
	transition: all 0.5s ease-out;
	-webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-transform: translateY(-100vh);
	-moz-transform: translateY(-100vh);
	transform: translateY(-100vh);
	display: block;
	width: 100vw;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1;
	opacity: 0;
	background-color: #fff;
	content: ""
}
@media screen and (min-width: 768px) {
	.globalNav::before {
		display: none
	}
}
body.is-open .globalNav::before {
	-webkit-transform: translateY(0);
	-moz-transform: translateY(0);
	transform: translateY(0);
	opacity: 1
}
.globalNav__list {
	position: relative;
	z-index: 10
}
@media screen and (min-width: 375px) {
	.globalNav__list {
		padding-top: 40px;
		border-top: 1px solid #dde4ed
	}
}
@media screen and (min-width: 768px) {
	.globalNav__list {
		display: flex;
		padding-top: 0;
		align-items: center;
		border-top: none
	}
}
.globalNav__item {
	-webkit-transform: translateX(-120px);
	-moz-transform: translateX(-120px);
	transform: translateX(-120px);
	-webkit-transition: none;
	-moz-transition: none;
	transition: none;
	margin-left: 16px;
	opacity: 0;
	border-top: 1px solid #dde4ed;
	text-align: center
}
@media screen and (min-width: 768px) {
	.globalNav__item {
		-webkit-transform: translateX(0);
		-moz-transform: translateX(0);
		transform: translateX(0);
		opacity: 1;
		border-top: none
	}
}
body.is-open .globalNav__item {
	-webkit-transform: translateY(0);
	-moz-transform: translateY(0);
	transform: translateY(0);
	-webkit-transition: all 0.5s ease-out;
	-moz-transition: all 0.5s ease-out;
	transition: all 0.5s ease-out;
	opacity: 1
}
body.is-open .globalNav__item:nth-child(1) {
	-webkit-transition-delay: .1s;
	-moz-transition-delay: .1s;
	transition-delay: .1s
}
body.is-open .globalNav__item:nth-child(2) {
	-webkit-transition-delay: .2s;
	-moz-transition-delay: .2s;
	transition-delay: .2s
}
body.is-open .globalNav__item:nth-child(3) {
	-webkit-transition-delay: .3s;
	-moz-transition-delay: .3s;
	transition-delay: .3s
}
body.is-open .globalNav__item:nth-child(4) {
	-webkit-transition-delay: .4s;
	-moz-transition-delay: .4s;
	transition-delay: .4s
}
body.is-open .globalNav__item:nth-child(5) {
	-webkit-transition-delay: .5s;
	-moz-transition-delay: .5s;
	transition-delay: .5s
}
body.is-open .globalNav__item:nth-child(6) {
	-webkit-transition-delay: .6s;
	-moz-transition-delay: .6s;
	transition-delay: .6s
}
body.is-open .globalNav__item:nth-child(7) {
	-webkit-transition-delay: .7s;
	-moz-transition-delay: .7s;
	transition-delay: .7s
}
.globalNav__item:nth-child(5), .globalNav__item:last-child {
	margin-bottom: 24px;
	border-bottom: 1px solid #dde4ed
}
@media screen and (min-width: 375px) {
	.globalNav__item:nth-child(5), .globalNav__item:last-child {
		margin-bottom: 40px
	}
}
@media screen and (min-width: 768px) {
	.globalNav__item:nth-child(5), .globalNav__item:last-child {
		margin-bottom: 0;
		border-bottom: none
	}
}
.globalNav__item:first-child {
	margin-left: 0;
	padding-left: 20px
}
@media screen and (min-width: 768px) {
	.globalNav__item:first-child {
		margin-left: 0;
		padding-left: 0
	}
}
.globalNav__item:nth-child(6) {
	margin-left: 0;
	padding-left: 20px
}
@media screen and (min-width: 768px) {
	.globalNav__item:nth-child(6) {
		margin-left: 20px;
		border-left: 1px solid #a6b1be
	}
}
@media screen and (min-width: 768px) {
	.globalNav__item + .globalNav__item {
		margin-left: 20px
	}
}
.globalNav__link {
	font-size: 16px;
	font-size: 1rem;
	display: block;
	padding: 12px 8px 12px 4px;
	position: relative;
	color: #767e88;
	font-family: "Roboto", sans-serif;
	font-weight: bold;
	text-align: left;
	letter-spacing: 1px
}
@media screen and (min-width: 375px) {
	.globalNav__link {
		padding: 16px 8px 16px 4px
	}
}
@media screen and (min-width: 768px) {
	.globalNav__link {
		font-size: 14px;
		font-size: .875rem;
		padding: 0;
		color: #464c55
	}
}
.globalNav__link:hover {
	-webkit-transition: all 0.25s ease-out;
	-moz-transition: all 0.25s ease-out;
	transition: all 0.25s ease-out;
	color: #a6b1be
}
.globalNav__link.is-active {
	color: #a6b1be
}
.globalNav__link::after {
	width: 12px;
	height: 12px;
	position: absolute;
	top: 50%;
	right: 12px;
	border: 1px solid transparent;
	border-top-color: #FAD26E;
	border-right-color: #FAD26E;
	content: "";
	transform: translateY(-50%) rotate(45deg)
}
@media screen and (min-width: 768px) {
	.globalNav__link::after {
		display: none
	}
}
.globalNav .socialBox {
	position: relative;
	z-index: 2
}
@media screen and (min-width: 768px) {
	.globalNav .socialBox {
		display: none
	}
}
.globalNav .socialBox .socialBox__item + .socialBox__item {
	margin-left: 32px
}
.globalNav .socialBox__item {
	-webkit-transform: translateY(40px);
	-moz-transform: translateY(40px);
	transform: translateY(40px);
	opacity: 0
}
@media screen and (max-width: 768px) {
	body.is-open .globalNav .socialBox__item {
		-webkit-transform: translateY(0);
		-moz-transform: translateY(0);
		transform: translateY(0);
		-webkit-transition: all 0.5s ease-out;
		-moz-transition: all 0.5s ease-out;
		transition: all 0.5s ease-out;
		opacity: 1
	}
}
@media screen and (max-width: 768px) {
	body.is-open .globalNav .socialBox__item:nth-child(1) {
		-webkit-transition-delay: .25s;
		-moz-transition-delay: .25s;
		transition-delay: .25s
	}
}
@media screen and (max-width: 768px) {
	body.is-open .globalNav .socialBox__item:nth-child(2) {
		-webkit-transition-delay: .5s;
		-moz-transition-delay: .5s;
		transition-delay: .5s
	}
}
.globalNav .socialBox__link {
	background-color: #767e88
}
.globalNav .socialBox__link:hover {
	background-color: #a6b1be
}
.btnOutline {
	-webkit-transition: all 0.25s ease-out;
	-moz-transition: all 0.25s ease-out;
	transition: all 0.25s ease-out;
	display: block;
	position: relative;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	user-select: none;
	margin: 0 auto;
	width: 160px;
	height: 40px;
	color: #49a783;
	border: 1px solid #49a783;
	border-radius: 100vh;
	line-height: 40px
}
.btnOutline:hover {
	color: #fff;
	background-color: #49a783;
	border-color: #49a783
}
.btnExternal, .btnExternal--small {
	-webkit-transition: all 0.25s ease-out;
	-moz-transition: all 0.25s ease-out;
	transition: all 0.25s ease-out;
	display: block;
	position: relative;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	user-select: none;
	font-size: 16px;
	font-size: 1rem;
	display: flex;
	width: 300px;
	height: 54px;
	align-items: center;
	justify-content: center;
	color: #fff;
	background-color: #49a783;
	border-radius: 60px;
	font-family: "Roboto", sans-serif;
	font-weight: bold;
	line-height: 54px
}
@media screen and (min-width: 768px) {
	.btnExternal, .btnExternal--small {
		font-size: 18px;
		font-size: 1.125rem
	}
}
.btnExternal::after, .btnExternal--small::after {
	margin-left: 8px;
	width: 16px;
	height: 16px;
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2216%22%20height%3D%2214%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20clip-path%3D%22url(%23clip0)%22%20fill%3D%22%23fff%22%3E%3Cpath%20d%3D%22M9.143%2012.32H1.714V6.16H3.43V4.48H0V14h10.857V11.2H9.143v1.12z%22%2F%3E%3Cpath%20d%3D%22M4.571%200v10.64H16V0H4.57zM14.5%208.96H6.286V3.92H14.5v5.04z%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22clip0%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M0%200h16v14H0z%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E");
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: 100% auto;
	content: ""
}
.btnExternal:hover, .btnExternal--small:hover {
	background-color: #FAD26E
}
.btnExternal--small {
	width: 240px;
	height: 40px;
	line-height: 40px
}
.btnMoreRead {
	-webkit-transition: all 0.25s ease-out;
	-moz-transition: all 0.25s ease-out;
	transition: all 0.25s ease-out;
	display: block;
	position: relative;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	user-select: none;
	font-size: 12px;
	font-size: .75rem;
	width: 96px;
	height: 32px;
	color: #49a783;
	border: 1px solid #49a783;
	border-radius: 4px;
	line-height: 32px
}
.btnMoreRead:hover {
	color: #fff;
	background-color: #49a783
}
.formText, .formTextarea, .formSelect__select {
	font-size: 16px;
	font-size: 1rem;
	width: 100%;
	min-height: 48px;
	color: inherit;
	background-color: #fff;
	background-image: none;
	border-radius: 4px;
	font-family: inherit;
	cursor: pointer;
	-moz-appearance: none;
	appearance: none;
	-webkit-apparance: none
}
.formText:focus, .formTextarea:focus, .formSelect__select:focus {
	box-shadow: none;
	outline: none
}
.formText {
	padding: 0 16px;
	min-height: 48px
}
.formTextarea {
	padding: 16px;
	min-height: 200px;
	resize: none
}
.formSelect {
	position: relative
}
.formSelect::before, .formSelect::after {
	display: block;
	width: 6px;
	height: 6px;
	position: absolute;
	right: 16px;
	border: 4px solid transparent;
	content: "";
	pointer-events: none
}
.formSelect::before {
	top: 12px
}
.formSelect::after {
	top: 24px
}
.formSelect__select {
	padding: 8px 16px;
	width: 100%
}
.mwform-radio-field {
	display: block
}
@media screen and (min-width: 640px) {
	.mwform-radio-field {
		display: inline-block
	}
}
.mwform-radio-field + .mwform-radio-field {
	margin: 16px 0 0 0 !important
}
@media screen and (min-width: 640px) {
	.mwform-radio-field + .mwform-radio-field {
		margin: 0 0 0 24px !important
	}
}
.mwform-radio-field label input {
	display: none
}
.mwform-radio-field label input:checked + .mwform-radio-field-text::after {
	display: block;
	width: 8px;
	height: 8px;
	top: 4px;
	left: 4px;
	border-radius: 50%
}
.mwform-radio-field label .mwform-radio-field-text {
	font-size: 16px;
	font-size: 1rem;
	display: inline-block;
	padding-left: 20px;
	height: 16px;
	align-items: center;
	position: relative;
	z-index: 1;
	line-height: 16px;
	cursor: pointer;
	user-select: none
}
.mwform-radio-field label .mwform-radio-field-text::before, .mwform-radio-field label .mwform-radio-field-text::after {
	position: absolute;
	z-index: -1;
	content: ""
}
.mwform-radio-field label .mwform-radio-field-text::before {
	display: block;
	width: 16px;
	height: 16px;
	top: 0;
	left: 0;
	border-radius: 50%
}
.mwform-radio-field label .mwform-radio-field-text::after {
	display: none
}
.mwform-checkbox-field {
	display: inline-block;
	margin-bottom: 8px
}
.mwform-checkbox-field:not(:last-of-type) {
	margin-right: 24px
}
.mwform-checkbox-field label input {
	display: none
}
.mwform-checkbox-field label input:checked + .mwform-checkbox-field-text::after {
	display: block;
	width: 4px;
	height: 8px;
	top: 4px;
	left: 6px;
	transform: rotate(45deg)
}
.mwform-checkbox-field label .mwform-checkbox-field-text {
	font-size: 16px;
	font-size: 1rem;
	display: inline-block;
	padding-left: 20px;
	height: 16px;
	align-items: center;
	position: relative;
	z-index: 1;
	line-height: 16px;
	cursor: pointer;
	user-select: none
}
.mwform-checkbox-field label .mwform-checkbox-field-text::before, .mwform-checkbox-field label .mwform-checkbox-field-text::after {
	position: absolute;
	z-index: -1;
	content: ""
}
.mwform-checkbox-field label .mwform-checkbox-field-text::before {
	display: block;
	width: 16px;
	height: 16px;
	top: 0;
	left: 0;
	background-color: #fff;
	border-radius: 4px
}
.mwform-checkbox-field label .mwform-checkbox-field-text::after {
	display: none
}
.section {
	margin: 0 auto;
	padding: 0 16px;
	max-width: calc(1024px + 8px * 4)
}
.section__title {
	font-size: 18px;
	font-size: 1.125rem;
	margin-bottom: 40px;
	padding-bottom: 8px;
	position: relative;
	border-bottom: 1px solid #a6b1be;
	font-weight: bold
}
@media screen and (min-width: 768px) {
	.section__title {
		font-size: 28px;
		font-size: 1.75rem
	}
}
.section__title::after {
	width: 80px;
	height: 1px;
	position: absolute;
	bottom: -1px;
	left: 0;
	background-color: #49a783;
	content: ""
}
@media screen and (min-width: 768px) {
	.section__title::after {
		width: 144px
	}
}
.section__subTitle {
	font-size: 16px;
	font-size: 1rem;
	margin-bottom: 32px;
	color: #464c55;
	font-weight: bold
}
@media screen and (min-width: 768px) {
	.section__subTitle {
		font-size: 20px;
		font-size: 1.25rem
	}
}
.section__actions, .section__actions--right {
	margin-top: 24px
}
.section__actions--right {
	display: flex;
	justify-content: flex-end
}
.section__text {
	font-size: 14px;
	font-size: .875rem;
	line-height: 1.6
}
@media screen and (min-width: 768px) {
	.section__text {
		font-size: 16px;
		font-size: 1rem
	}
}
.pager {
	display: flex;
	margin-top: 40px;
	align-items: center;
	justify-content: center;
	position: relative
}
.pager__list {
	display: flex;
	align-items: center;
	justify-content: center
}
.pager__item {
	color: #49a783;
	text-align: center
}
.pager__item + .pager__item {
	margin-left: 5px
}
@media screen and (min-width: 768px) {
	.pager__item + .pager__item {
		margin-left: 10px
	}
}
.pager__link {
	display: flex;
	width: 28px;
	height: 28px;
	align-items: center;
	justify-content: center;
	color: #49a783;
	border: 1px solid #49a783;
	border-radius: 4px;
	transition: all .25s ease
}
@media screen and (min-width: 375px) {
	.pager__link {
		width: 32px;
		height: 32px
	}
}
@media screen and (min-width: 768px) {
	.pager__link {
		width: 40px;
		height: 40px
	}
}
.pager__link:hover {
	color: #fff;
	background-color: #49a783
}
.is-current .pager__link {
	color: #fff;
	background-color: #49a783
}
.pager__link.is-disabled {
	pointer-events: none
}
.pager__prev, .pager__next {
	position: relative
}
.pager__prev:hover path, .pager__next:hover path {
	fill: #fff
}
.pager__prev {
	margin-right: 10px
}
@media screen and (min-width: 414px) {
	.pager__prev {
		margin-right: 20px
	}
}
.pager__next {
	margin-left: 10px
}
@media screen and (min-width: 414px) {
	.pager__next {
		margin-left: 20px
	}
}
.mainVisual {
	margin-top: 48px;
	height: calc(100vh - 48px);
	height: calc(var(--vh, 1vh) * 100 - 48px);
	overflow: hidden;
	position: relative
}
@media screen and (min-width: 768px) {
	.mainVisual {
		margin-top: 64px;
		height: calc(100vh - 64px);
		height: calc(var(--vh, 1vh) * 100 - 64px)
	}
}
@media screen and (min-width: 1024px) {
	.mainVisual {
		height: calc(100% - 64px);
		height: calc(100vh - 64px)
	}
}
.mainVisual::after {
	display: block;
	width: 0;
	height: 0;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 10;
	border-style: solid;
	border-width: 0 50vw 44px 50vw;
	border-color: transparent transparent #fff transparent;
	content: ""
}
@media screen and (min-width: 768px) {
	.mainVisual::after {
		border-width: 0 50vw 108px 50vw
	}
}
.mainVisual__image {
	-webkit-animation: mainvisual 22.5s 0s infinite;
	-moz-animation: mainvisual 22.5s 0s infinite;
	animation: mainvisual 22.5s 0s infinite;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
	opacity: 0;
	background-image: url("./img/img_main_visual02_sp.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover
}
@media screen and (min-width: 768px) {
	.mainVisual__image {
		background-image: url("./img/img_main_visual02_pc.png")
	}
}
.mainVisual__image:nth-of-type(2) {
	-webkit-animation-delay: 4.5s;
	-moz-animation-delay: 4.5s;
	animation-delay: 4.5s;
	background-image: url("./img/img_main_visual03_sp.png")
}
@media screen and (min-width: 768px) {
	.mainVisual__image:nth-of-type(2) {
		background-image: url("./img/img_main_visual03_pc.png")
	}
}
.mainVisual__image:nth-of-type(3) {
	-webkit-animation-delay: 9s;
	-moz-animation-delay: 9s;
	animation-delay: 9s;
	background-image: url("./img/img_main_visual04_sp.png")
}
@media screen and (min-width: 768px) {
	.mainVisual__image:nth-of-type(3) {
		background-image: url("./img/img_main_visual04_pc.png")
	}
}
.mainVisual__image:nth-of-type(4) {
	-webkit-animation-delay: 13.5s;
	-moz-animation-delay: 13.5s;
	animation-delay: 13.5s;
	background-image: url("./img/img_main_visual05_sp.png")
}
@media screen and (min-width: 768px) {
	.mainVisual__image:nth-of-type(4) {
		background-image: url("./img/img_main_visual05_pc.png")
	}
}
/*.mainVisual__image:nth-of-type(5) {
	-webkit-animation-delay: 18s;
	-moz-animation-delay: 18s;
	animation-delay: 18s;
	background-image: url("./img/img_main_visual05_sp.png")
}
@media screen and (min-width: 768px) {
	.mainVisual__image:nth-of-type(5) {
		background-image: url("./img/img_main_visual05_pc.png")
	}
}*/
.mainVisual__icon {
	-webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	transform: translateX(-50%);
	display: block;
	width: 40px;
	height: auto;
	position: absolute;
	bottom: 8px;
	left: 50%;
	z-index: 11
}
.mainVisual__icon:hover {
	opacity: .8 !important
}
@media screen and (min-width: 768px) {
	.mainVisual__icon {
		width: 44px;
		bottom: 64px
	}
}
.mainVisualText {
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	padding: 0 16px;
	width: 100%;
	overflow: hidden;
	position: absolute;
	top: 70%;
	left: 50%;
	z-index: 20;
	color: #fff;
	text-align: center
}
@media screen and (min-width: 375px) {
	.mainVisualText {
		top: calc(80% - 32px)
	}
}
@media screen and (min-width: 768px) {
	.mainVisualText {
		padding: 0;
		max-width: 1024px;
		top: 50%
	}
}
@media screen and (min-width: 1040px) {
	.mainVisualText {
		text-align: center
	}
}
.mainVisualText__catchcopy {
	-webkit-animation: mainvisual_text 2s 0s 1;
	-moz-animation: mainvisual_text 2s 0s 1;
	animation: mainvisual_text 2s 0s 1;
	margin-bottom: 40px;
	width: 87.46356%;
	height: auto;
	max-width: 480px
}
@media screen and (min-width: 768px) {
	.mainVisualText__catchcopy {
		margin-bottom: 24px;
		width: 100%;
		max-width: 800px
	}
}
.mainVisualText__holder {
	-webkit-animation: mainvisual_mission 2s 0s 1;
	-moz-animation: mainvisual_mission 2s 0s 1;
	animation: mainvisual_mission 2s 0s 1;
	-webkit-animation-delay: .25s;
	-moz-animation-delay: .25s;
	animation-delay: .25s;
	font-size: 14px;
	font-size: .875rem;
	display: inline-block
}
@media screen and (min-width: 768px) {
	.mainVisualText__holder {
		font-size: 12px;
		font-size: .75rem;
		display: flex;
		align-items: center;
		justify-content: center
	}
}
@media screen and (min-width: 1040px) {
	.mainVisualText__holder {
		margin-right: 168px;
		justify-content: flex-end
	}
}
.mainVisualText__label {
	display: flex;
	margin-bottom: 8px;
	align-items: center;
	font-family: "Roboto", sans-serif;
	font-weight: bold;
	text-align: left
}
@media screen and (min-width: 768px) {
	.mainVisualText__label {
		margin-bottom: 0
	}
}
.mainVisualText__label::after {
	display: block;
	margin-left: 8px;
	width: 40px;
	height: 1px;
	background-color: #fff;
	content: ""
}
@media screen and (min-width: 768px) {
	.mainVisualText__label::after {
		margin-left: 16px;
		width: 64px
	}
}
@media screen and (min-width: 768px) {
	.mainVisualText__mission {
		margin-left: 16px
	}
}
@-webkit-keyframes mainvisual {
	0% {
		opacity: 0;
		transform: scale(1.2)
	}
	16% {
		opacity: 1
	}
	75% {
		z-index: -1;
		opacity: 0;
		transform: scale(1)
	}
	100% {
		opacity: 0
	}
}
@keyframes mainvisual {
	0% {
		opacity: 0;
		transform: scale(1.2)
	}
	16% {
		opacity: 1
	}
	75% {
		z-index: -1;
		opacity: 0;
		transform: scale(1)
	}
	100% {
		opacity: 0
	}
}
@-webkit-keyframes mainvisual_text {
	0% {
		margin-top: 40px;
		opacity: 0
	}
	100% {
		margin-top: 0;
		opacity: 1
	}
}
@keyframes mainvisual_text {
	0% {
		margin-top: 40px;
		opacity: 0
	}
	100% {
		margin-top: 0;
		opacity: 1
	}
}
@-webkit-keyframes mainvisual_mission {
	0% {
		opacity: 0;
		transform: translate(0, 48px);
		transition: all 1000ms
	}
	100% {
		opacity: 1;
		transform: translate(0, 0)
	}
}
@keyframes mainvisual_mission {
	0% {
		opacity: 0;
		transform: translate(0, 48px);
		transition: all 1000ms
	}
	100% {
		opacity: 1;
		transform: translate(0, 0)
	}
}
.socialBox__list {
	display: flex;
	align-items: center;
	justify-content: center
}
.socialBox__item + .socialBox__item {
	margin-left: 12px
}
@media screen and (min-width: 768px) {
	.socialBox__item + .socialBox__item {
		margin-left: 32px
	}
}
.socialBox__link {
	-webkit-transition: all 0.25s ease-out;
	-moz-transition: all 0.25s ease-out;
	transition: all 0.25s ease-out;
	display: flex;
	width: 32px;
	height: 32px;
	align-items: center;
	justify-content: center;
	background-color: #2e3238;
	border-radius: 50%
}
.socialBox__link:hover {
	background-color: #464c55
}
.newsTop {
	opacity: 0;
	transform: translate(0, 48px);
	transition: all 1000ms;
	margin: 0 auto 80px;
	padding-top: 80px
}
.newsTop.is-inview {
	opacity: 1;
	transform: translate(0, 0)
}
@media screen and (min-width: 768px) {
	.newsTop {
		margin: 0 auto 160px;
		padding-top: 120px
	}
}
.news__list {
	margin-top: -40px
}
.news__item {
	border-bottom: 1px dotted #a6b1be
}
.news__link {
	-webkit-transition: all 0.25s ease-out;
	-moz-transition: all 0.25s ease-out;
	transition: all 0.25s ease-out;
	display: flex;
	padding: 16px 40px 16px 8px;
	flex-wrap: wrap;
	align-items: center;
	position: relative
}
.news__link:hover {
	opacity: .8 !important
}
@media screen and (min-width: 768px) {
	.news__link {
		padding: 32px 40px 32px 8px
	}
}
.news__link::before, .news__link::after {
	position: absolute;
	content: ""
}
.news__link::before {
	width: 16px;
	height: 16px;
	right: 8px;
	background-color: #49a783;
	border-radius: 50%
}
.news__link::before:hover {
	background-color: #FAD26E
}
.news__link::after {
	width: 6px;
	height: 6px;
	position: absolute;
	top: 50%;
	right: 14px;
	border: 1px solid transparent;
	border-top-color: #fff;
	border-right-color: #fff;
	content: "";
	transform: translateY(-50%) rotate(45deg)
}
.news__date {
	font-size: 12px;
	font-size: .75rem;
	margin-right: 16px;
	color: #464c55;
	font-weight: bold
}
@media screen and (min-width: 768px) {
	.news__date {
		font-size: 14px;
		font-size: .875rem;
		margin-right: 24px
	}
}
.news__title {
	font-size: 14px;
	font-size: .875rem;
	margin-top: 8px;
	width: 100%;
	color: #464c55
}
@media screen and (min-width: 768px) {
	.news__title {
		font-size: 16px;
		font-size: 1rem;
		margin: 0 0 0 24px;
		width: auto;
		flex: 1
	}
}
.news__label {
	font-size: 10px;
	font-size: .625rem;
	display: inline-block;
	width: 94px;
	height: 24px;
	color: #49a783;
	background-color: #FAF0DC;
	border-radius: 20px;
	font-weight: bold;
	text-align: center;
	line-height: 24px
}
.news__wrapper {
	padding: 0 16px 80px
}
@media screen and (min-width: 768px) {
	.news__wrapper {
		padding-bottom: 120px
	}
}
.news__inner {
	-webkit-animation: inview_slidein 2s 0s 1;
	-moz-animation: inview_slidein 2s 0s 1;
	animation: inview_slidein 2s 0s 1;
	margin: 0 auto;
	word-break: break-word;
	max-width: 1024px
}
@media screen and (min-width: 768px) {
	.news__inner {
		display: flex;
		flex-direction: row-reverse
	}
}
@media screen and (min-width: 768px) {
	.news__inner .section__title {
		font-size: 20px;
		font-size: 1.25rem
	}
}
@media screen and (min-width: 768px) {
	.news__main {
		flex: 1
	}
}
.newsAside {
	margin-bottom: 40px
}
@media screen and (min-width: 768px) {
	.newsAside {
		margin: 0 0 0 40px;
		width: 200px
	}
}
.newsAside__container {
	padding: 20px 24px;
	background-color: #f9f9f9;
	border-radius: 6px
}
@media screen and (min-width: 768px) {
	.newsAside__container {
		padding: 24px;
		border-radius: 12px
	}
}
.newsAside__title {
	font-size: 12px;
	font-size: .75rem;
	margin-bottom: 8px;
	color: #767e88;
	font-weight: bold
}
.newsAside__list + .newsAside__title {
	margin-top: 32px
}
.newsAside__link {
	font-size: 14px;
	font-size: .875rem;
	color: #464c55;
	font-weight: bold
}
.newsAside__link:hover {
	color: #a6b1be
}
.newsDetail {
	padding-top: 40px;
	width: 100%
}
.newsDetail__inner {
	margin-bottom: 48px;
	color: #464c55
}
.newsDetail__inner > * + * {
	margin-top: 24px
}
.newsDetail__inner h2 {
	font-size: 16px;
	font-size: 1rem;
	font-weight: bold
}
@media screen and (min-width: 768px) {
	.newsDetail__inner h2 {
		font-size: 20px;
		font-size: 1.25rem
	}
}
.newsDetail__inner h3 {
	font-size: 14px;
	font-size: .875rem;
	font-weight: bold
}
@media screen and (min-width: 768px) {
	.newsDetail__inner h3 {
		font-size: 16px;
		font-size: 1rem
	}
}
.newsDetail__inner img {
	width: 100%;
	height: auto
}
.newsDetail__inner a {
	color: #49a783
}
.newsDetail__inner a:hover {
	color: #FAD26E
}
.newsDetail__link {
	font-size: 16px;
	font-size: 1rem;
	color: #49a783;
	font-family: "Roboto", sans-serif;
	font-weight: bold
}
.newsDetail__link:hover {
	color: #FAD26E
}
.newsDetail__info {
	display: flex;
	margin: 48px 0 24px;
	align-items: center
}
@media screen and (min-width: 768px) {
	.newsDetail__info {
		margin: 80px 0 32px
	}
}
.newsDetail__date {
	font-size: 16px;
	font-size: 1rem;
	margin-right: 16px;
	font-family: "Roboto", sans-serif;
	font-weight: bold
}
.newsDetail__title {
	font-size: 18px;
	font-size: 1.125rem;
	margin-bottom: 24px;
	font-weight: bold
}
@media screen and (min-width: 768px) {
	.newsDetail__title {
		font-size: 24px;
		font-size: 1.5rem
	}
}
.newsDetail .socialBox {
	margin-bottom: 40px
}
@media screen and (min-width: 768px) {
	.newsDetail .socialBox {
		margin-bottom: 48px
	}
}
.newsDetail .socialBox__list {
	justify-content: flex-start
}
.newsDetail .socialBox .socialBox__item + .socialBox__item {
	margin-left: 16px
}
.newsDetail .socialBox__link {
	background-color: #767e88
}
.newsDetail .socialBox__link:hover {
	background-color: #a6b1be
}
.news__null {
	padding: 160px 0;
	text-align: center
}
.serviceTop {
	opacity: 0;
	transform: translate(0, 48px);
	transition: all 1000ms;
	margin-bottom: 80px;
	position: relative
}
.serviceTop.is-inview {
	opacity: 1;
	transform: translate(0, 0)
}
@media screen and (min-width: 768px) {
	.serviceTop {
		margin-bottom: -120px
	}
}
@media screen and (min-width: 768px) {
	.serviceTop__heading {
		padding-right: 290px
	}
}
@media screen and (min-width: 1024px) {
	.serviceTop__heading {
		padding-right: 530px
	}
}
.serviceTop__logo {
	display: block;
	margin: 0 auto;
	width: 253px;
	height: auto
}
@media screen and (min-width: 768px) {
	.serviceTop__logo {
		width: 372px
	}
}
.serviceTop__body {
	display: flex;
	margin-top: 24px;
	align-items: center
}
@media screen and (min-width: 768px) {
	.serviceTop__body {
		align-items: flex-start
	}
}
.serviceTop__holder {
	flex: 1
}
.serviceTop__imageBox {
	opacity: 0;
	transform: translate(0, 48px);
	transition: all 1000ms;
	margin-left: 8px;
	width: 128px
}
.serviceTop__imageBox.is-inview {
	opacity: 1;
	transform: translate(0, 0)
}
@media screen and (min-width: 375px) {
	.serviceTop__imageBox {
		width: 140px
	}
}
@media screen and (min-width: 768px) {
	.serviceTop__imageBox {
		width: 290px;
		position: relative;
		top: -240px
	}
}
@media screen and (min-width: 1024px) {
	.serviceTop__imageBox {
		margin: 0 120px
	}
}
.serviceTop__image {
	width: 100%;
	height: auto
}
.service__wrapper {
	padding: 0 16px 120px
}
@media screen and (min-width: 768px) {
	.service__wrapper {
		padding-bottom: 80px
	}
}
.service__inner {
	-webkit-animation: inview_slidein 2s 0s 1;
	-moz-animation: inview_slidein 2s 0s 1;
	animation: inview_slidein 2s 0s 1;
	margin: 0 auto;
	max-width: 1024px
}
.serviceContentsDelimiter {
	margin-top: 80px;
}
.servicePrimary {
	opacity: 0;
	transform: translate(0, 48px);
	transition: all 1000ms;
	zoom: 1
}
.servicePrimary.is-inview {
	opacity: 1;
	transform: translate(0, 0)
}
.servicePrimary::after {
	display: block;
	clear: both;
	content: ""
}
.servicePrimary__title {
	font-size: 16px;
	font-size: 1rem;
	margin-bottom: 16px;
	color: #2e3238;
	font-weight: bold
}
@media screen and (min-width: 768px) {
	.servicePrimary__title {
		font-size: 24px;
		font-size: 1.5rem;
		margin-bottom: 32px;
		float: left
	}
}
.servicePrimary__imageHolder {
	margin-bottom: 24px;
	width: 100%
}
@media screen and (min-width: 768px) {
	.servicePrimary__imageHolder {
		margin: 0 0 0 40px;
		width: 320px;
		float: right
	}
}
@media screen and (min-width: 1024px) {
	.servicePrimary__imageHolder {
		margin-left: 100px;
		width: 400px
	}
}
@media screen and (min-width: 768px) {
	.servicePrimary__imageHolderTitleBottom {
		margin-top: 70px
	}
}
@media screen and (min-width: 1024px) {
	.servicePrimary__imageHolderTitleBottom {
		margin-top: 70px
	}
}
.servicePrimary__logo {
	margin: 0 auto 16px;
	width: 100%;
	max-width: 480px
}
.servicePrimary__imageBox {
	margin: 0 auto;
	width: 100%;
	max-width: 480px
}
@media screen and (min-width: 768px) {
	.servicePrimary__body {
		width: calc(100% - 360px);
		float: left
	}
}
@media screen and (min-width: 1024px) {
	.servicePrimary__body {
		width: calc(100% - 500px)
	}
}
.servicePrimary__textHolder {
	margin-bottom: 48px
}
@media screen and (min-width: 768px) {
	.servicePrimary__textHolder {
		margin-bottom: 60px
	}
}
.serviceActions {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.serviceActions__item + .serviceActions__item {
	margin-top: 20px
}
.serviceActions__item .btnExternal--small {
	margin: 0 auto
}
@media screen and (min-width: 768px) {
	.serviceSecondary .serviceActions {
		margin-top: 40px
	}
}
.service__image {
	width: 100%;
	height: auto
}
.service__text {
	font-size: 14px;
	font-size: .875rem;
	color: #464c55
}
@media screen and (min-width: 768px) {
	.service__text {
		font-size: 16px;
		font-size: 1rem
	}
}
.service__text + .service__text {
	margin-top: 24px
}
.mission {
	opacity: 0;
	transform: translate(0, 48px);
	transition: all 1000ms;
	margin-bottom: 80px;
	width: 100%
}
.mission.is-inview {
	opacity: 1;
	transform: translate(0, 0)
}
@media screen and (min-width: 768px) {
	.mission {
		margin-bottom: 160px;
		padding: 64px 16px 0;
		background-image: url("./img/bg_mission_pc.png");
		background-repeat: no-repeat;
		background-position: 50% 50%;
		background-size: cover
	}
}
.mission__wrapper {
	margin: 0 auto;
	max-width: 1024px
}
@media screen and (min-width: 768px) {
	.mission__wrapper {
		display: flex;
		align-items: center
	}
}
.mission__inner {
	padding: 64px;
	background-image: url("./img/bg_mission_pc.png");
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: cover
}
@media screen and (min-width: 768px) {
	.mission__inner {
		margin-right: 40px;
		padding: 0;
		max-width: 436px;
		flex: 1;
		background: none
	}
}
@media screen and (min-width: 1024px) {
	.mission__inner {
		margin-right: 80px
	}
}
.mission__imageBox {
	margin: 0 auto;
	width: 100%;
	max-width: 480px
}
.mission__image {
	width: 100%;
	height: auto
}
.mission__holder {
	opacity: 0;
	transform: translate(0, 48px);
	transition: all 1000ms;
	padding-top: 40px;
	background-color: #fff
}
.mission__holder.is-inview {
	opacity: 1;
	transform: translate(0, 0)
}
@media screen and (min-width: 768px) {
	.mission__holder {
		padding: 80px 40px 0;
		width: 50%
	}
}
.sustainabilityTop {
	opacity: 0;
	transform: translate(0, 48px);
	transition: all 1000ms;
	zoom: 1;
	padding-bottom: 80px;
	position: relative
}
.sustainabilityTop.is-inview {
	opacity: 1;
	transform: translate(0, 0)
}
.sustainabilityTop::after {
	display: block;
	clear: both;
	content: ""
}
@media screen and (min-width: 768px) {
	.sustainabilityTop {
		padding-bottom: 120px;
		overflow: hidden
	}
}
@media screen and (min-width: 768px) {
	.sustainabilityTop .section__subTitle {
		margin-top: 32px;
		float: left
	}
}
.sustainabilityTop__imageBox {
	opacity: 0;
	transform: translate(0, 48px);
	transition: all 1000ms;
	margin-bottom: 24px;
	width: 100%
}
.sustainabilityTop__imageBox.is-inview {
	opacity: 1;
	transform: translate(0, 0)
}
@media screen and (min-width: 768px) {
	.sustainabilityTop__imageBox {
		margin: 0 0 0 80px;
		width: 420px;
		float: right
	}
}
.sustainabilityTop__image {
	width: 100%;
	height: auto
}
@media screen and (min-width: 768px) {
	.sustainabilityTop__holder {
		width: calc(100% - 500px);
		float: left
	}
}
.sustainability__wrapper {
	padding: 0 16px 120px
}
@media screen and (min-width: 768px) {
	.sustainability__wrapper {
		padding-bottom: 80px
	}
}
.sustainability__inner {
	margin: 0 auto;
	max-width: 1024px
}
.sustainability__section {
	zoom: 1
}
.sustainability__section::after {
	display: block;
	clear: both;
	content: ""
}
.sustainability__section.is-first {
	-webkit-animation: inview_slidein 2s 0s 1;
	-moz-animation: inview_slidein 2s 0s 1;
	animation: inview_slidein 2s 0s 1
}
.sustainability__section + .sustainability__section {
	opacity: 0;
	transform: translate(0, 48px);
	transition: all 1000ms;
	margin-top: 40px
}
.sustainability__section + .sustainability__section.is-inview {
	opacity: 1;
	transform: translate(0, 0)
}
@media screen and (min-width: 768px) {
	.sustainability__section + .sustainability__section {
		margin-top: 80px
	}
}
.sustainability__title {
	font-size: 20px;
	font-size: 1.25rem;
	margin-bottom: 24px;
	color: #464c55;
	font-weight: bold
}
@media screen and (min-width: 375px) {
	.sustainability__title {
		font-size: 24px;
		font-size: 1.5rem
	}
}
@media screen and (min-width: 768px) {
	.sustainability__title {
		font-size: 28px;
		font-size: 1.75rem;
		margin-bottom: 40px
	}
}
.sustainability__subTitle {
	font-size: 18px;
	font-size: 1.125rem;
	margin-bottom: 20px;
	color: #464c55;
	font-weight: bold
}
@media screen and (min-width: 768px) {
	.sustainability__subTitle {
		font-size: 24px;
		font-size: 1.5rem;
		margin-bottom: 40px
	}
}
.sustainability__imageBoxRight {
	margin-bottom: 24px;
	width: 100%
}
.sustainability__imageBoxLeft {
	margin-bottom: 24px;
	width: 100%;
	float: left;
	display: flex;
	gap: 20px;
	padding: 0 10px
}
.sustainability__imageBcorp {
	width: 100px;
	margin-left: 20px
}
.sustainability__imageKuLogo {
	width: 170px
}
@media screen and (min-width: 768px) {
	.sustainability__imageBoxRight {
		margin-right: 20px;
		width: 384px;
		height: 216px;
		float: right
	}
	.sustainability__imageBoxLeft {
		width: 320px;
		height: 240px
	}
}
.sustainability__image {
	width: 100%;
	height: auto
}
.sustainability__body {
	margin: 0 auto;
	width: 100%
}
@media screen and (min-width: 768px) {
	.sustainability__bodyLeft {
		width: calc(100% - 440px);
		float: left
	}
	.sustainability__bodyRight {
		width: calc(100% - 360px);
		float: right;
		margin: 0 10px
	}
}
.sustainability__text {
	font-size: 14px;
	font-size: .875rem;
	color: #464c55
}
.sustainability__textBold {
	font-size: 16px;
	font-size: .875rem;
	color: #464c55;
	font-weight: bold
}
@media screen and (min-width: 768px) {
	.sustainability__text {
		font-size: 16px;
		font-size: 1rem
	}
	.sustainability__textBold {
		font-size: 18px;
		font-size: 1rem
	}
}
.sustainability__list {
	display: flex;
	margin: 24px -16px 0 0;
	flex-wrap: wrap
}
.sustainability__item {
	margin: 0 16px 16px 0;
	width: 60px
}
@media screen and (min-width: 375px) {
	.sustainability__item {
		width: 70px
	}
}
.sustainability__linksBox {
	display: flex;
	justify-content: center;
	gap: 32px;
	margin: 20px 0;
	width: 100%;
}
@media screen and (max-width: 767px) {
	.sustainability__linksBox {
		display: inline-grid;
		gap: 16px;
	}
}
.media {
	opacity: 0;
	transition: all 1000ms;
	padding-top: 44px;
	overflow: hidden;
	position: relative
}
.media.is-inview {
	opacity: 1
}
@media screen and (min-width: 768px) {
	.media {
		padding-top: 108px
	}
}
.media::before {
	display: block;
	width: 0;
	height: 0;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
	border-style: solid;
	border-width: 0 50vw 44px 50vw;
	border-color: transparent transparent #FAF0DC transparent;
	content: ""
}
@media screen and (min-width: 768px) {
	.media::before {
		border-width: 0 50vw 108px 50vw
	}
}
.media__wrapper {
	padding: 0 16px 40px;
	background-color: #FAF0DC
}
@media screen and (min-width: 768px) {
	.media__wrapper {
		padding: 0 16px 80px
	}
}
.media__inner {
	opacity: 0;
	transform: translate(0, 48px);
	transition: all 1000ms;
	margin: 0 auto;
	max-width: 1024px
}
.media__inner.is-inview {
	opacity: 1;
	transform: translate(0, 0)
}
.media .section__title {
	border-bottom: none;
	text-align: center
}
.media .section__title::after {
	display: none
}
.media__list {
	display: flex;
	margin-top: 40px;
	flex-wrap: wrap
}
@media screen and (min-width: 1024px) {
	.media__list {
		margin-top: 80px
	}
}
.media__item {
	margin-bottom: 16px;
	padding: 4px;
	width: calc((100% - 32px) / 3);
	background-color: #fff
}
@media screen and (min-width: 768px) {
	.media__item {
		padding: 8px
	}
}
@media screen and (min-width: 1024px) {
	.media__item {
		width: calc((100% - 80px) / 6)
	}
}
@media screen and (max-width: 1024px) {
	.media__item:not(:nth-child(3n)) {
		margin-right: 16px
	}
}
@media screen and (min-width: 1024px) {
	.media__item:not(:nth-child(6n)) {
		margin-right: 16px
	}
}
.media__item.nsta {
	background-color: #ff8a50
}
.media__item.nikkeimj {
	background-color: #41759d
}
.media__item.mainichishinbun {
	background-color: #0078c6
}
.media__image {
	display: block;
	width: 100%;
	height: 36px;
	object-fit: contain;
	font-family: "object-fit: contain;"
}
@media screen and (min-width: 768px) {
	.media__image {
		height: 48px
	}
}
.pageHeader {
	-webkit-animation: inview_slidein 2s 0s 1;
	-moz-animation: inview_slidein 2s 0s 1;
	animation: inview_slidein 2s 0s 1;
	margin: 0 auto 32px;
	padding: 104px 16px 0;
	max-width: calc(1024px + 8px * 4)
}
@media screen and (min-width: 768px) {
	.pageHeader {
		margin-bottom: 80px;
		padding-top: 112px
	}
}
.pageHeader__title {
	font-size: 40px;
	font-size: 2.5rem;
	color: #464c55;
	font-weight: bold
}
@media screen and (min-width: 768px) {
	.pageHeader__title {
		font-size: 64px;
		font-size: 4rem
	}
}
.aboutPhilosophy {
	margin: 0 auto;
	padding: 0 16px 120px;
	max-width: calc(1024px + 8px * 4);
	overflow: hidden;
	position: relative
}
@media screen and (min-width: 768px) {
	.aboutPhilosophy {
		padding-bottom: 160px
	}
}
.aboutPhilosophy::before {
	width: 100%;
	height: 100%;
	position: absolute;
	bottom: 0;
	left: 28px;
	z-index: -1;
	background-repeat: no-repeat;
	background-position: 0 100%;
	content: ""
}
@media screen and (min-width: 768px) {
	.aboutPhilosophy::before {
		left: 44px;
	}
}
.aboutPhilosophy__holder {
	-webkit-animation: inview_slidein 2s 0s 1;
	-moz-animation: inview_slidein 2s 0s 1;
	animation: inview_slidein 2s 0s 1
}
@media screen and (min-width: 768px) {
	.aboutPhilosophy__holder {
		display: flex
	}
}
.aboutPhilosophy__holder + .aboutPhilosophy__holder {
	margin-top: 80px
}
.aboutPhilosophy__title {
	font-size: 24px;
	font-size: 1.5rem;
	margin-bottom: 20px;
	color: #49a783;
	font-weight: bold
}
@media screen and (min-width: 768px) {
	.aboutPhilosophy__title {
		font-size: 50px;
		font-size: 3.125rem;
		width: 168px;
		text-align: right
	}
}
@media screen and (min-width: 1024px) {
	.aboutPhilosophy__title {
		width: 300px
	}
}
@media screen and (min-width: 768px) {
	.aboutPhilosophy__body {
		margin-left: 60px;
		padding: 12px 0 12px 44px;
		flex: 1;
		border-left: 1px solid #a6b1be
	}
}
.aboutPhilosophy__subTitle {
	font-size: 18px;
	font-size: 1.125rem;
	margin-bottom: 12px;
	color: #2e3238;
	font-weight: bold
}
@media screen and (min-width: 768px) {
	.aboutPhilosophy__subTitle {
		font-size: 28px;
		font-size: 1.75rem
	}
}
.aboutPhilosophy__label {
	font-size: 16px;
	font-size: 1rem;
	margin-bottom: 12px;
	color: #2e3238;
	font-weight: bold
}
@media screen and (min-width: 768px) {
	.aboutPhilosophy__label {
		font-size: 18px;
		font-size: 1.125rem
	}
}
.aboutPhilosophy__subTitle + .aboutPhilosophy__label {
	margin-top: 32px
}
.aboutPhilosophy__text + .aboutPhilosophy__label {
	margin-top: 32px
}
@media screen and (min-width: 768px) {
	.aboutPhilosophy__text + .aboutPhilosophy__label {
		margin-top: 48px
	}
}
.aboutPhilosophy__text {
	font-size: 14px;
	font-size: .875rem;
	color: #464c55
}
.aboutAward {
	opacity: 0;
	transition: all 1000ms;
	padding: 40px 16px;
	background-color: #FAF0DC
}
.aboutAward.is-inview {
	opacity: 1
}
.aboutAward__inner {
	opacity: 0;
	transform: translate(0, 48px);
	transition: all 1000ms;
	margin: 0 auto;
	max-width: 1024px
}
.aboutAward__inner.is-inview {
	opacity: 1;
	transform: translate(0, 0)
}
.aboutAward__title {
	font-size: 20px;
	font-size: 1.25rem;
	margin-bottom: 32px;
	color: #2e3238;
	font-weight: bold;
	text-align: center
}
@media screen and (min-width: 768px) {
	.aboutAward__title {
		font-size: 24px;
		font-size: 1.5rem;
		margin-bottom: 48px
	}
}
.aboutAward__list {
	font-size: 12px;
	font-size: .75rem;
	display: flex;
	flex-wrap: wrap
}
@media screen and (min-width: 768px) {
	.aboutAward__list {
		font-size: 14px;
		font-size: .875rem;
		margin: 0 auto;
		max-width: 585px
	}
}
.aboutAward__label {
	margin-right: 16px;
	width: 56px
}
@media screen and (min-width: 768px) {
	.aboutAward__label {
		margin-right: 32px
	}
}
.aboutAward__label:not(:first-of-type) {
	margin-top: 24px
}
.aboutAward__desc {
	width: calc(100% - 56px - 16px)
}
@media screen and (min-width: 768px) {
	.aboutAward__desc {
		width: calc(100% - 56px - 32px)
	}
}
.aboutAward__desc:not(:first-of-type) {
	margin-top: 24px
}
.aboutAward__holder {
	display: flex;
	margin-top: 24px;
	align-items: center;
	justify-content: center
}
@media screen and (min-width: 768px) {
	.aboutAward__holder {
		margin-top: 40px
	}
}
.aboutAward__imageBox {
	width: 64px
}
@media screen and (min-width: 768px) {
	.aboutAward__imageBox {
		width: 80px
	}
}
.aboutAward__imageBox:last-of-type {
	width: 112px
}
@media screen and (min-width: 768px) {
	.aboutAward__imageBox:last-of-type {
		width: 140px
	}
}
.aboutAward__imageBox + .aboutAward__imageBox {
	margin-left: 12px
}
.aboutAward__image {
	width: 100%;
	height: auto
}
.aboutMessage {
	opacity: 0;
	transform: translate(0, 48px);
	transition: all 1000ms;
	margin-bottom: 0;
	padding: 64px 16px 0
}
.aboutMessage.is-inview {
	opacity: 1;
	transform: translate(0, 0)
}
@media screen and (min-width: 768px) {
	.aboutMessage {
		padding-top: 80px
	}
}
.aboutMessage__inner {
	margin: 0 auto;
	max-width: 1024px
}
.aboutMessage__title {
	font-size: 18px;
	font-size: 1.125rem;
	margin-bottom: 24px;
	color: #2e3238;
	font-weight: bold
}
@media screen and (min-width: 768px) {
	.aboutMessage__title {
		margin-bottom: 32px
	}
}
.aboutMessage__subTitle {
	font-size: 16px;
	font-size: 1rem;
	margin-bottom: 24px;
	color: #464c55;
	font-weight: bold
}
.aboutMessage__text {
	font-size: 14px;
	font-size: .875rem;
	color: #464c55
}
.aboutMessage__text + .aboutMessage__text {
	margin-top: 24px
}
@media screen and (min-width: 640px) {
	.aboutMessage .is-pc {
		display: block
	}
}
.aboutMessage__holder {
	display: flex;
	margin-top: 16px;
	align-items: center;
	justify-content: flex-end
}
.aboutMessage__position {
	font-size: 12px;
	font-size: .75rem;
	margin-top: 4px;
	margin-right: 12px;
	color: #767e88;
	font-weight: bold
}
@media screen and (min-width: 768px) {
	.aboutMessage__position {
		font-size: 14px;
		font-size: .875rem;
		margin-right: 20px
	}
}
.aboutMessage__name {
	width: auto;
	height: 28px
}
@media screen and (min-width: 768px) {
	.aboutMessage__name {
		height: 48px
	}
}
.aboutMember {
	opacity: 0;
	transform: translate(0, 48px);
	transition: all 1000ms;
	margin-bottom: 0;
	padding: 0 16px
}
.aboutMember.is-inview {
	opacity: 1;
	transform: translate(0, 0)
}
.aboutMember__inner {
	margin: 0 auto;
	max-width: 1024px
}
.aboutMember__title {
	font-size: 18px;
	font-size: 1.125rem;
	padding-top: 48px;
	margin-bottom: 24px;
	color: #2e3238;
	font-weight: bold
}
.aboutMember__list {
	display: flex;
	flex-wrap: wrap
}
.aboutMember__item {
	width: calc((100% - 24px) / 2)
}
@media screen and (min-width: 768px) {
	.aboutMember__title {
		padding-top: 80px;
	}
	.aboutMember__item {
		width: calc((100% - 64px) / 3)
	}
}
@media screen and (max-width: 767px) {
	.aboutMember__item:nth-child(even) {
		margin-left: 24px
	}
}
@media screen and (max-width: 767px) {
	.aboutMember__item:nth-child(n+3) {
		margin-top: 24px
	}
}
@media screen and (min-width: 768px) {
	.aboutMember__item:nth-child(n+4) {
		margin-top: 80px
	}
}
@media screen and (min-width: 768px) {
	.aboutMember__item:not(:nth-child(3n)) {
		margin-right: 32px
	}
}
.aboutMember__imageBox {
	margin-bottom: 8px;
	width: 100%
}
@media screen and (min-width: 768px) {
	.aboutMember__imageBox {
		margin-bottom: 16px
	}
}
.aboutMember__image {
	width: 100%;
	height: auto
}
.aboutMember__position {
	font-size: 12px;
	font-size: .75rem;
	margin-bottom: 4px;
	color: #767e88;
	font-weight: bold
}
.aboutMember__name {
	font-size: 18px;
	font-size: 1.125rem;
	margin-bottom: 4px;
	color: #464c55;
	font-weight: bold
}
@media screen and (min-width: 768px) {
	.aboutMember__name {
		font-size: 24px;
		font-size: 1.5rem
	}
}
.aboutMember__ruby {
	font-size: 12px;
	font-size: .75rem;
	margin-bottom: 16px;
	color: #a6b1be
}
@media screen and (min-width: 768px) {
	.aboutMember__ruby {
		margin-bottom: 24px
	}
}
.aboutMember__text {
	font-size: 14px;
	font-size: .875rem;
	color: #464c55
}
.aboutOverview {
	opacity: 0;
	transform: translate(0, 48px);
	transition: all 1000ms;
	margin-bottom: 40px;
	padding: 0 16px
}
.aboutOverview.is-inview {
	opacity: 1;
	transform: translate(0, 0)
}
@media screen and (min-width: 768px) {
	.aboutOverview {
		margin-bottom: 80px
	}
}
.aboutOverview__inner {
	margin: 0 auto;
	max-width: 1024px
}
.aboutOverview__title {
	font-size: 16px;
	font-size: 1rem;
	padding-top: 48px;
	padding-bottom: 12px;
	color: #2e3238;
	border-bottom: 1px solid #dde4ed;
	font-weight: bold
}
@media screen and (min-width: 768px) {
	.aboutOverview__title {
		font-size: 28px;
		font-size: 1.75rem;
		padding-top: 80px;
		padding-bottom: 16px
	}
}
@media screen and (min-width: 768px) {
	.aboutOverview__list {
		display: flex;
		flex-wrap: wrap
	}
}
.aboutOverview__label {
	font-size: 12px;
	font-size: .75rem;
	margin-bottom: 10px;
	padding: 16px 0 0;
	color: #2e3238;
	font-weight: bold
}
@media screen and (min-width: 768px) {
	.aboutOverview__label {
		font-size: 14px;
		font-size: .875rem;
		margin-bottom: 0;
		padding: 32px 12px;
		width: 168px;
		border-bottom: 1px dotted #dde4ed
	}
}
@media screen and (min-width: 1024px) {
	.aboutOverview__label {
		width: 352px
	}
}
.aboutOverview__desc {
	font-size: 14px;
	font-size: .875rem;
	padding: 0 0 16px;
	color: #464c55;
	border-bottom: 1px dotted #dde4ed
}
@media screen and (min-width: 768px) {
	.aboutOverview__desc {
		padding: 32px 12px;
		width: calc(100% - 168px)
	}
}
@media screen and (min-width: 1024px) {
	.aboutOverview__desc {
		width: calc(100% - 352px)
	}
}
.aboutMap__iframe {
	width: 100%;
	height: 280px;
	vertical-align: bottom
}
@media screen and (min-width: 768px) {
	.aboutMap__iframe {
		height: 580px
	}
}
.recruit__wrapper {
	-webkit-animation: inview_slidein 2s 0s 1;
	-moz-animation: inview_slidein 2s 0s 1;
	animation: inview_slidein 2s 0s 1;
	padding: 0 16px 32px
}
@media screen and (min-width: 768px) {
	.recruit__wrapper {
		padding-bottom: 64px
	}
}
.recruit__section {
	margin: 0 auto;
	max-width: 1024px
}
.recruit__title {
	font-size: 24px;
	font-size: 1.5rem;
	margin-bottom: 24px;
	color: #464c55;
	font-weight: bold
}
@media screen and (min-width: 768px) {
	.recruit__title {
		font-size: 28px;
		font-size: 1.75rem;
		margin-bottom: 56px
	}
}
.recruit__text {
	font-size: 16px;
	font-size: 1rem;
	color: #464c55;
	font-weight: bold
}
@media screen and (min-width: 768px) {
	.recruit__text {
		font-size: 18px;
		font-size: 1.125rem
	}
}
.recruitActions {
	-webkit-animation: inview_fadein 2s 0s 1;
	-moz-animation: inview_fadein 2s 0s 1;
	animation: inview_fadein 2s 0s 1;
	display: flex;
	padding: 0 16px 64px;
	width: 100%;
	align-items: center;
	justify-content: center;
	background-image: url("./img/bg_recruit_sp.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover
}
@media screen and (min-width: 768px) {
	.recruitActions {
		padding: 0 16px 96px;
		background-image: url("./img/bg_recruit_pc.png")
	}
}
.recruitActions__inner {
	max-width: 1024px
}
.recruitActions__holder {
	display: flex;
	align-items: center
}
.recruitActions__item {
	-webkit-animation: inview_slidein 2s 0s 1;
	-moz-animation: inview_slidein 2s 0s 1;
	animation: inview_slidein 2s 0s 1;
	width: calc((100% - 24px) / 2)
}
@media screen and (min-width: 768px) {
	.recruitActions__item {
		width: calc((100% - 64px) / 2)
	}
}
.recruitActions__item + .recruitActions__item {
	margin-left: 24px
}
@media screen and (min-width: 768px) {
	.recruitActions__item + .recruitActions__item {
		margin-left: 64px
	}
}
.recruitActions__link {
	display: block;
	padding: 12px;
	background-color: #fff;
	border-radius: 4px;
	box-shadow: 0 4px 2px 2px rgba(0, 0, 0, 0.15);
	transition: all .5s ease
}
.recruitActions__link:hover {
	opacity: .9 !important
}
@media screen and (min-width: 375px) {
	.recruitActions__link {
		padding: 16px
	}
}
@media screen and (min-width: 768px) {
	.recruitActions__link {
		padding: 48px
	}
}
.recruitActions__image {
	width: 100%;
	height: auto
}
.recruitActions__text {
	font-size: 10px;
	font-size: .625rem;
	display: flex;
	margin-top: 8px;
	align-items: center;
	justify-content: center;
	color: #464c55;
	font-weight: bold
}
@media screen and (min-width: 375px) {
	.recruitActions__text {
		font-size: 11px;
		font-size: .6875rem
	}
}
@media screen and (min-width: 768px) {
	.recruitActions__text {
		font-size: 20px;
		font-size: 1.25rem;
		margin-top: 24px
	}
}
@media screen and (min-width: 960px) {
	.recruitActions__text {
		font-size: 24px;
		font-size: 1.5rem
	}
}
.recruitActions__text::after {
	width: 12px;
	height: 12px;
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20clip-path%3D%22url(%23clip0)%22%20fill%3D%22%23F08200%22%3E%3Cpath%20d%3D%22M13.143%2017.32H5.714v-6.16H7.43V9.48H4V19h10.857V16.2h-1.714v1.12z%22%2F%3E%3Cpath%20d%3D%22M8.571%205v10.64H20V5H8.57zm9.929%208.96h-8.214V8.92H18.5v5.04z%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22clip0%22%3E%3Cpath%20fill%3D%22%23fff%22%20transform%3D%22translate(4%205)%22%20d%3D%22M0%200h16v14H0z%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E");
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: 100% auto;
	content: ""
}
@media screen and (min-width: 375px) {
	.recruitActions__text::after {
		width: 16px;
		height: 12px
	}
}
@media screen and (min-width: 768px) {
	.recruitActions__text::after {
		width: 24px;
		height: 24px
	}
}
.recruitActions .btnExternal, .recruitActions .btnExternal--small {
	margin: 20px auto 0
}
@media screen and (min-width: 768px) {
	.recruitActions .btnExternal, .recruitActions .btnExternal--small {
		margin-top: 40px
	}
}

.planActions {
	-webkit-animation: inview_fadein 2s 0s 1;
	-moz-animation: inview_fadein 2s 0s 1;
	animation: inview_fadein 2s 0s 1;
	display: flex;
	padding: 0 16px 64px;
	width: 100%;
	align-items: center;
	justify-content: center;
	background-image: url("./img/bg_recruit_sp.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover
}
@media screen and (min-width: 768px) {
	.planActions {
		padding: 0 16px 96px;
		background-image: url("./img/bg_recruit_pc.png")
	}
}
.planActions__inner {
	max-width: 1024px;
	width: 100%;
}

.contact__wrapper {
	-webkit-animation: inview_fadein 2s 0s 1;
	-moz-animation: inview_fadein 2s 0s 1;
	animation: inview_fadein 2s 0s 1;
	padding: 40px 16px 80px;
	background-color: #FAF0DC
}
@media screen and (min-width: 768px) {
	.contact__wrapper {
		padding: 80px 16px 96px
	}
}
.contact__inner {
	-webkit-animation: inview_slidein 2s 0s 1;
	-moz-animation: inview_slidein 2s 0s 1;
	animation: inview_slidein 2s 0s 1;
	margin: 0 auto;
	max-width: 1024px
}
.contact__heading {
	margin-bottom: 32px;
	padding: 32px 24px;
	color: #464c55;
	background-color: #fff;
	border-radius: 16px
}
@media screen and (min-width: 768px) {
	.contact__heading {
		margin-bottom: 48px;
		border-radius: 100vh;
		text-align: center
	}
}
.contact__title {
	font-size: 16px;
	font-size: 1rem;
	margin-bottom: 16px;
	font-weight: bold
}
@media screen and (min-width: 768px) {
	.contact__title {
		font-size: 20px;
		font-size: 1.25rem;
		margin-bottom: 24px
	}
}
.contact__lead {
	font-size: 12px;
	font-size: .75rem;
	display: inline-block;
	text-align: left
}
@media screen and (min-width: 960px) {
	.contact__lead {
		font-size: 14px;
		font-size: .875rem
	}
}
.contact__list {
	display: flex;
	flex-wrap: wrap
}
.contact__item {
	width: calc((100% - 16px) / 2)
}
@media screen and (min-width: 768px) {
	.contact__item {
		width: calc((100% - 48px) / 3)
	}
}
@media screen and (max-width: 767px) {
	.contact__item:nth-child(even) {
		margin-left: 16px
	}
}
@media screen and (min-width: 768px) {
	.contact__item:not(:nth-child(3n)) {
		margin-right: 24px
	}
}
@media screen and (max-width: 767px) {
	.contact__item:nth-child(n+3) {
		margin-top: 16px
	}
}
@media screen and (min-width: 768px) {
	.contact__item:nth-child(n+4) {
		margin-top: 32px
	}
}
.contact__link {
	display: block;
	padding: 20px 8px 48px;
	position: relative;
	background-color: #fff;
	border-radius: 6px;
	box-shadow: 0 2px 2px 2px rgba(0, 0, 0, 0.15);
	text-align: center;
	transition: all .25s ease-in-out
}
.contact__link:hover {
	opacity: .8 !important
}
@media screen and (min-width: 375px) {
	.contact__link {
		padding: 20px 16px 48px
	}
}
@media screen and (min-width: 768px) {
	.contact__link {
		padding: 40px 32px 64px
	}
}
.contact__link:active {
	box-shadow: none
}
.contact__link::before, .contact__link::after {
	position: absolute;
	content: ""
}
.contact__link::before {
	width: 16px;
	height: 16px;
	bottom: 16px;
	left: 50%;
	background-color: #49a783;
	border-radius: 50%;
	transform: translateX(-50%)
}
@media screen and (min-width: 768px) {
	.contact__link::before {
		bottom: 32px
	}
}
.contact__link::before:hover {
	background-color: #FAD26E
}
.contact__link::after {
	width: 6px;
	height: 6px;
	position: absolute;
	bottom: 18px;
	left: calc(50% - 4px);
	border: 1px solid transparent;
	border-top-color: #fff;
	border-right-color: #fff;
	content: "";
	transform: translateY(-50%) rotate(45deg)
}
@media screen and (min-width: 768px) {
	.contact__link::after {
		bottom: 34px
	}
}
.contact__iconBox {
	display: flex;
	margin: 0 auto 10px;
	width: 58px;
	height: 58px;
	align-items: center;
	justify-content: center;
	background-color: #FAF0DC;
	border-radius: 50%
}
@media screen and (min-width: 768px) {
	.contact__iconBox {
		margin-bottom: 16px;
		width: 90px;
		height: 90px
	}
}
.contact__icon {
	width: 24px;
	height: 24px
}
@media screen and (min-width: 768px) {
	.contact__icon {
		width: 45px;
		height: 45px
	}
}
.contact__label {
	font-size: 12px;
	font-size: .75rem;
	color: #464c55;
	font-weight: bold
}
@media screen and (min-width: 768px) {
	.contact__label {
		font-size: 16px;
		font-size: 1rem
	}
}
@media screen and (min-width: 960px) {
	.contact__label {
		font-size: 18px;
		font-size: 1.125rem
	}
}
.securitypolicy .pageHeader__title {
	font-size: 24px;
	font-size: 1.5rem
}
@media screen and (min-width: 768px) {
	.securitypolicy .pageHeader__title {
		font-size: 51px;
		font-size: 3.1875rem
	}
}
.securitypolicy__wrapper {
	padding: 0 16px 80px
}
@media screen and (min-width: 768px) {
	.securitypolicy__wrapper {
		padding-bottom: 120px
	}
}
.securitypolicy__inner {
	-webkit-animation: inview_slidein 2s 0s 1;
	-moz-animation: inview_slidein 2s 0s 1;
	animation: inview_slidein 2s 0s 1;
	margin: 0 auto;
	max-width: 1024px
}
.securitypolicy__lead {
	font-size: 16px;
	font-size: 1rem;
	margin-bottom: 48px;
	color: #464c55
}
@media screen and (min-width: 768px) {
	.securitypolicy__lead {
		font-size: 18px;
		font-size: 1.125rem;
		margin-bottom: 80px
	}
}
.securitypolicy__title {
	font-size: 18px;
	font-size: 1.125rem;
	margin-bottom: 24px;
	color: #464c55
}
.securitypolicy__list {
	margin-bottom: 48px;
	padding-left: 1.2rem;
	list-style-type: decimal
}
@media screen and (min-width: 768px) {
	.securitypolicy__list {
		margin-bottom: 80px
	}
}
.securitypolicy__item {
	font-size: 16px;
	font-size: 1rem;
	color: #464c55
}
.securitypolicy__item + .securitypolicy__item {
	margin-top: 24px
}
.securitypolicy__signature {
	font-size: 16px;
	font-size: 1rem;
	color: #464c55;
	text-align: right
}
.presskit__wrapper {
	-webkit-animation: inview_slidein 2s 0s 1;
	-moz-animation: inview_slidein 2s 0s 1;
	animation: inview_slidein 2s 0s 1;
	padding: 0 16px 80px
}
@media screen and (min-width: 768px) {
	.presskit__wrapper {
		padding-bottom: 120px
	}
}
.presskit__inner {
	margin: 0 auto;
	max-width: 1024px
}
.presskit__title {
	font-size: 24px;
	font-size: 1.5rem;
	margin-bottom: 24px;
	color: #464c55;
	font-weight: bold
}
@media screen and (min-width: 768px) {
	.presskit__title {
		font-size: 28px;
		font-size: 1.75rem;
		margin-bottom: 56px
	}
}
.presskit__lead {
	font-size: 16px;
	font-size: 1rem;
	margin-bottom: 24px;
	color: #464c55
}
.presskit__download, .presskit__copy {
	font-size: 12px;
	font-size: .75rem;
	display: inline-block;
	color: #49a783;
	font-weight: bold
}
.presskit__download:hover, .presskit__copy:hover {
	opacity: .8 !important
}
@media screen and (min-width: 375px) {
	.presskit__download, .presskit__copy {
		font-size: 14px;
		font-size: .875rem
	}
}
@media screen and (min-width: 768px) {
	.presskit__download, .presskit__copy {
		font-size: 16px;
		font-size: 1rem
	}
}
.presskit__download::after, .presskit__copy::after {
	margin-left: 4px;
	position: relative;
	top: 4px
}
.presskit__download::after {
	content: url("https://cdn.shopify.com/s/files/1/0599/1835/2533/files/icon_download.svg?v=1657262087")
}
.presskit__lead + .presskit__download {
	margin-bottom: 80px
}
@media screen and (min-width: 768px) {
	.presskit__lead + .presskit__download {
		margin-bottom: 96px
	}
}
.presskit__copy::after {
	content: url("https://cdn.shopify.com/s/files/1/0599/1835/2533/files/icon_copy.svg?v=1657262067")
}
@media screen and (min-width: 768px) {
	.presskit__list {
		display: flex;
		flex-wrap: wrap
	}
}
.presskit__item {
	width: 100%
}
@media screen and (min-width: 768px) {
	.presskit__item {
		width: calc((100% - 40px) / 2)
	}
}
@media screen and (max-width: 767px) {
	.presskit__item + .presskit__item {
		margin-top: 40px
	}
}
@media screen and (min-width: 768px) {
	.presskit__item:nth-child(even) {
		margin-left: 40px
	}
}
@media screen and (min-width: 768px) {
	.presskit__item:nth-child(n+3) {
		margin-top: 64px
	}
}
.presskit__box {
	width: 100%;
	position: relative;
	background-color: #f9f9f9
}
.presskit__box::before {
	display: block;
	padding-top: 66.66667%;
	content: ""
}
.presskit__imageBox {
	width: calc(100% - 80px);
	height: calc(100% - 40px);
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%)
}
@media screen and (min-width: 768px) {
	.presskit__imageBox {
		width: calc(100% - 160px);
		height: calc(100% - 80px)
	}
}
.presskit__imageBox.is-full {
	width: 100%;
	height: 100%
}
.presskit__image {
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	position: absolute;
	top: 50%;
	left: 50%
}
.presskit__formBox {
	padding: 8px;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%)
}
@media screen and (min-width: 414px) {
	.presskit__formBox {
		padding: 16px
	}
}
@media screen and (min-width: 768px) {
	.presskit__formBox {
		padding: 32px
	}
}
.presskit__form {
	font-size: 12px;
	font-size: .75rem;
	padding: 0;
	width: 100%;
	height: 100%;
	resize: none
}
@media screen and (min-width: 375px) {
	.presskit__form {
		font-size: 14px;
		font-size: .875rem
	}
}
@media screen and (min-width: 480px) {
	.presskit__form {
		font-size: 16px;
		font-size: 1rem
	}
}
@media screen and (min-width: 768px) {
	.presskit__form {
		font-size: 12px;
		font-size: .75rem
	}
}
@media screen and (min-width: 820px) {
	.presskit__form {
		font-size: 14px;
		font-size: .875rem
	}
}
@media screen and (min-width: 960px) {
	.presskit__form {
		font-size: 16px;
		font-size: 1rem
	}
}
.presskit__info {
	display: flex;
	margin-top: 16px;
	align-items: flex-end;
	justify-content: space-between
}
@media screen and (min-width: 768px) {
	.presskit__info {
		margin-top: 24px
	}
}
.presskit__name {
	font-size: 12px;
	font-size: .75rem;
	color: #464c55;
	font-weight: bold
}
@media screen and (min-width: 375px) {
	.presskit__name {
		font-size: 14px;
		font-size: .875rem
	}
}
@media screen and (min-width: 768px) {
	.presskit__name {
		font-size: 16px;
		font-size: 1rem
	}
}
.presskit__type {
	font-size: 12px;
	font-size: .75rem;
	margin-left: 8px;
	font-weight: normal
}
@media screen and (min-width: 768px) {
	.presskit__type {
		margin-left: 16px
	}
}
.presskitFactbook {
	padding: 40px 16px;
	background-color: #f9f9f9
}
@media screen and (min-width: 768px) {
	.presskitFactbook {
		padding: 80px 16px
	}
}
.presskitFactbook__inner {
	margin: 0 auto;
	max-width: 1024px
}
@media screen and (min-width: 768px) {
	.presskitFactbook__inner {
		text-align: center
	}
}
.presskitFactbook__text {
	font-size: 14px;
	font-size: .875rem;
	display: inline-block;
	color: #2e3238;
	text-align: left
}
@media screen and (min-width: 768px) {
	.presskitFactbook__text {
		font-size: 16px;
		font-size: 1rem
	}
}
.presskitFactbook__link {
	color: #49a783
}
.presskitFactbook__link:hover {
	color: #FAD26E
}
.modal {
	display: flex;
	padding: 16px;
	width: 100%;
	height: 100%;
	align-items: center;
	justify-content: center;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999;
	background-color: rgba(70, 76, 85, 0.8);
	transition: all .25s ease-in-out
}
.modal__container {
	margin: 0 auto;
	padding: 80px 48px 64px;
	width: 100%;
	max-width: 800px;
	position: relative;
	background-color: #fff;
	border-radius: 4px;
	box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
	text-align: center
}
.is-open .modal__container {
	-webkit-animation: modal_fadein 1s 0s 1;
	-moz-animation: modal_fadein 1s 0s 1;
	animation: modal_fadein 1s 0s 1
}
.modal__close {
	display: flex;
	width: 44px;
	height: 44px;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 20px;
	right: 20px;
	background-color: #49a783;
	border-radius: 50%;
	transition: all .25s ease-in-out;
	cursor: pointer
}
.modal__close:hover {
	background-color: #FAD26E
}
.modal__iconBox {
	margin: 0 auto 20px;
	width: 48px
}
.modal__title {
	font-size: 16px;
	font-size: 1rem;
	margin-bottom: 20px;
	color: #464c55;
	font-weight: bold;
	text-align: center
}
@media screen and (min-width: 768px) {
	.modal__title {
		font-size: 24px;
		font-size: 1.5rem
	}
}
.modal__text {
	font-size: 14px;
	font-size: .875rem;
	display: inline-block;
	margin-bottom: 40px;
	color: #464c55;
	text-align: left
}
@media screen and (min-width: 768px) {
	.modal__text {
		font-size: 18px;
		font-size: 1.125rem
	}
}
@media screen and (max-width: 414px) {
	.modal__text br {
		display: none
	}
}
.toast {
	display: none;
	position: fixed;
	top: 50px;
	right: 16px;
	z-index: 999
}
@media screen and (min-width: 1024px) {
	.toast {
		right: calc((100vw - 1024px) / 2)
	}
}
.toast__inner {
	display: flex;
	padding: 12px 80px 12px 16px;
	width: 300px;
	height: 50px;
	align-items: center;
	background-color: #a6b1be;
	border-radius: 8px
}
.toast__close {
	position: absolute;
	top: 10px;
	right: 10px;
	cursor: pointer
}
.toast__text {
	font-size: 14px;
	font-size: .875rem;
	color: #fff;
	white-space: nowrap
}
@media all and (-ms-high-contrast: none) {
	.js-inview {
		opacity: 1;
		transform: translate(0, 0)
	}
	.header.is-fixed {
		border-bottom: 1px solid
	}
	.modal {
		display: block
	}
	.modal__container {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%)
	}
	.sustainability__section + .sustainability__section {
		opacity: 1;
		transform: translate(0, 0)
	}
	.recruitActions {
		display: block;
		position: relative
	}
	.recruitActions__inner {
		margin: 0 auto
	}
	.presskit__item {
		overflow: hidden
	}
}

/*ISOバナー*/
.bnBox {
	padding-top: 30px;
	background-color: #FAD26E;
	text-align: center;
}
@media screen and (min-width: 768px) {
	.bnBox {
		padding-top: 30px;
		text-align: center;
	}
}

