@charset "utf-8";
@import url("reset.css");

html {
	font-size: 62.5%;
}

body {
	width: 100%;
	font-family: "游ゴシック", YuGothic, "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", sans-serif;
	color: #666;
	line-height: 1.7;
	font-size: 1.4rem;
}

a {
	color: #666;
}

img {
	max-width: 100%;
	vertical-align: bottom;
}

.wrapper {
	position: relative;
}

header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 80px;
	background-color: #fff;
	padding: 10px 30px 14px;
	box-sizing: border-box;
	z-index: 100;
}

.logo {
	max-width: 208px;
}

.logo img {
	max-width: 208px;
	max-height: 100%;
}

.g_nav {
	display: flex;
	align-items: center;
}

.contact_btn {
	display: block;
	position: relative;
	border: 1px solid #03488b;
	margin-right: 12px;
	padding: 3px 20px;
	border-radius: 100px;
	color: #03488b;
	overflow: hidden;
	transition: border-color .2s;
}


p {
	line-height: 40px;
}


/* IE11 */
_:-ms-lang(x)::-ms-backdrop,
.contact_btn {
	padding: 5px 20px 1px;
}

.contact_btn::before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-color: #fff;
	border-radius: 100px;
	color: #fff;
	transition: opacity .2s, color .2s;
	z-index: -1;
}

.contact_btn::after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: linear-gradient(90deg, #0099D4 20%, #00478A);
	color: #fff;
	z-index: -2;
	opacity: 0;
}

.contact_btn:hover {
	border-color: transparent;
	color: #fff;
}

.contact_btn:hover::before {
	opacity: 0;
}

.contact_btn:hover::after {
	opacity: 1;
}

.online_btn {
	position: relative;
	display: block;
	border: 1px solid transparent;
	margin-right: 20px;
	padding: 3px 20px;
	border-radius: 100px;
	color: #fff;
	overflow: hidden;
	box-sizing: border-box;
}

/* IE11 */
_:-ms-lang(x)::-ms-backdrop,
.online_btn {
	padding: 5px 20px 1px;
}

.online_btn::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, #0099D4, #00478A);
	border-radius: 100px;
	transition: opacity .2s, color .2s;
	z-index: -1;
}

.online_btn::after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: #fff;
	z-index: -2;
}

.online_btn:hover {
	border: 1px solid #00478A;
	color: #00478A;
}

.online_btn:hover::before {
	opacity: 0;
}

.contact_btn img,
.online_btn img {
	display: none;
}

.navToggle {
	display: block;
	width: 24px;
	height: 20px;
	z-index: 100;
	cursor: pointer;
}

.navToggle div {
	position: relative;
}

.navToggle span {
	display: block;
	position: absolute;
	width: 100%;
	border-bottom: solid 1px #3E3A39;
	transition: .35s ease-in-out;
}

.navToggle span:nth-child(1) {
	top: 0;
}

.navToggle span:nth-child(2) {
	top: 9px;
}

.navToggle span:nth-child(3) {
	width: 80%;
	top: 18px;
}

.g_nav_list {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	align-self: baseline;
	display: flex;
	align-items: center;
	background: linear-gradient(90deg, #0099D4 20%, #00478A);
	padding: 70px 10.46% 30px;
	transition: opacity .35s ease-in-out, visibility .35s ease-in-out;
	visibility: hidden;
	opacity: 0;
	z-index: 90;
	overflow-y: scroll;
}

.g_nav_list::-webkit-scrollbar {
	display: none;
}

.g_nav_list div {
	margin: auto 80px auto 0;
	max-width: 215px;
}

.g_nav_list div img {
	max-width: 215px;
}

.g_nav_list ul {
	margin: auto auto auto 0;
}

.g_nav_list ul li {
	font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, "Noto Serif JP", sans-serif;
}

.g_nav_list ul li:not(:last-child) {
	margin-bottom: 20px;
	font-size: 3rem;
	letter-spacing: 2px;
}

.g_nav_list ul li:not(:last-child) a {
	position: relative;
}

.g_nav_list ul li:not(:last-child) a:hover:before {
	content: "";
	position: absolute;
	left: -36px;
	top: calc(50% - 2px);
	display: inline-block;
	background-color: #fff;
	width: 16px;
	height: 2px;
	vertical-align: middle;
}

.g_nav_list ul li i {
	margin-left: .8em;
	font-size: .6em;
	vertical-align: 3px;
}

.g_nav_list ul li:last-child {
	margin-top: 36px;
}

.g_nav_list ul .nav_online_btn a {
	display: inline-block;
	border: 1px solid #fff;
	padding: 15px 24px;
	border-radius: 100px;
	transition: background-color .2s, color .2s;
}

.g_nav_list ul .nav_online_btn a span {
	display: inline-block;
	border-bottom: 1px solid #fff;
	border-right: 2px solid #fff;
	width: 35px;
	height: 0.5rem;
	margin-left: 14px;
	transform: skew(45deg) translateY(-50%);
	transition: border-color .2s;
}

.g_nav_list ul .nav_online_btn a:hover {
	background-color: #fff;
	color: #00478A;
}

.g_nav_list ul .nav_online_btn a:hover span {
	border-color: #00478A;
}

body.open {
	position: fixed;
}

.open .navToggle {
	position: fixed;
	right: 47px;
	top: 26px;
}

/* safari */
_::-webkit-full-page-media, _:future,
 :root .open .navToggle {
	right: 30px;
}

.open .navToggle span {
	border-bottom: solid 1px #fff;
}

.open .navToggle span:nth-child(1) {
	top: 9px;
	transform: rotate(-45deg);
}

.open .navToggle span:nth-child(2) {
	opacity: 0;
}

.open .navToggle span:nth-child(3) {
	top: 9px;
	width: 100%;
	transform: rotate(45deg);
}

.open .g_nav_list {
	visibility: visible;
	opacity: 1;
}

.open .online_btn {
	margin-right: 61px;
}

.g_nav_list li a {
	color: #fff;
}

main {
	display: block;
	padding-top: 80px;
}

.fv {
	height: calc(100vh - 80px);
	font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, "Noto Serif JP", sans-serif;
}

.fvIn {
	position: relative;
	width: 100%;
	height: 100%;
	background-image: url(../../imgs/fv_bg.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	margin: 0 auto;
}

.catch_wrap {
	position: absolute;
	top: 50%;
	width: 100%;
	color: #fff;
	text-align: center;
	transform: translateY(-55%);
}

.catch01 {
	display: flex;
	justify-content: center;
	width: 100%;
	font-family: 'Marcellus', serif;
	font-size: 11rem;
	margin-bottom: 1.6rem;
	line-height: 1.1;
	text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.15);
	overflow: hidden;
}

/* animation */

.catch_wrap.load .split {
	transform: translateY(150%);
	transition: transform .2s;
}

.catch_wrap .split {
	transform: translateY(0);
	transition: transform 1s;
}

.catch_wrap .split:nth-child(2) {
	transition-delay: .03s;
}

.catch_wrap .split:nth-child(3) {
	transition-delay: .06s;
}

.catch_wrap .split:nth-child(4) {
	transition-delay: .09s;
}

.catch_wrap .split:nth-child(5) {
	transition-delay: .12s;
}

.catch_wrap .split:nth-child(6) {
	transition-delay: .15s;
}

.catch_wrap .split:nth-child(7) {
	transition-delay: .18s;
}

.catch_wrap .split:nth-child(8) {
	transition-delay: .21s;
}

.catch_wrap .split:nth-child(9) {
	transition-delay: .24s;
}

.catch_wrap .split:nth-child(10) {
	transition-delay: .27s;
}

.catch_wrap .split:nth-child(11) {
	transition-delay: .3s;
}

.catch_wrap .split:nth-child(12) {
	transition-delay: .33s;
}

.catch_wrap .split:nth-child(13) {
	transition-delay: .36s;
}

.catch_wrap .split:nth-child(14) {
	transition-delay: .39s;
}

.catch_wrap .catch02_wrap {
	overflow: hidden;
}

.catch_wrap.load .catch02 {
	position: relative;
	top: 2em;
	transition: top .8s;
}

.catch_wrap .catch02 {
	font-size: 4rem;
	letter-spacing: 1px;
	position: relative;
	top: 0;
	transition: top .8s;
	transition-delay: .63s;
	overflow: hidden;
}

.catch_wrap .catch02 span {
	letter-spacing: -12px;
}

.scroll {
	position: absolute;
	bottom: 100px;
	left: 50%;
	z-index: 2;
	display: block;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	color: #fff;
	text-decoration: none;
}

.scroll span {
	position: relative;
	display: block;
	top: 10px;
	width: 1px;
	margin: 0 auto;
}

.scroll span::after {
	content: '';
	position: absolute;
	top: 20px;
	display: block;
	height: 40px;
	width: 1px;
	background-color: #fff;
	margin: 0 auto;
}

.scroll span::before {
	content: '';
	position: absolute;
	top: 20px;
	left: -3px;
	z-index: -1;
	background-color: #fff;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	opacity: 0;
	-webkit-animation: sdb 3s infinite;
	animation: sdb 3s infinite;
	box-sizing: border-box;
}

/* Firefox */
@-moz-document url-prefix() {
	.scroll span::before {
		left: -4px;
	}
}

@-webkit-keyframes sdb {
	0% {
		transform: scale(1);
		opacity: 0;
	}

	5% {
		transform: scale(1);
		opacity: 1;
	}

	30% {
		transform: scale(1);
		top: 56px;
	}

	31% {
		opacity: .5;
		top: 56px;
	}

	70% {
		transform: scale(5);
		opacity: 0;
		top: 56px;
	}

	100% {
		transform: scale(5);
		opacity: 0;
		top: 56px;
	}
}


@keyframes sdb {
	0% {
		transform: scale(1);
		opacity: 0;
	}

	5% {
		transform: scale(1);
		opacity: 1;
	}

	30% {
		transform: scale(1);
		top: 56px;
	}

	31% {
		opacity: .5;
		top: 56px;
	}

	70% {
		transform: scale(5);
		opacity: 0;
		top: 56px;
	}

	100% {
		transform: scale(5);
		opacity: 0;
		top: 56px;
	}
}

/* sp用 */

@-webkit-keyframes sdb2 {
	0% {
		transform: scale(1);
		opacity: 0;
	}

	5% {
		transform: scale(1);
		opacity: 1;
	}

	30% {
		transform: scale(1);
		top: 38px;
	}

	31% {
		opacity: .5;
		top: 38px;
	}

	70% {
		transform: scale(5);
		opacity: 0;
		top: 38px;
	}

	100% {
		transform: scale(5);
		opacity: 0;
		top: 38px;
	}
}


@keyframes sdb2 {
	0% {
		transform: scale(1);
		opacity: 0;
	}

	5% {
		transform: scale(1);
		opacity: 1;
	}

	30% {
		transform: scale(1);
		top: 38px;
	}

	31% {
		opacity: .5;
		top: 38px;
	}

	70% {
		transform: scale(5);
		opacity: 0;
		top: 38px;
	}

	100% {
		transform: scale(5);
		opacity: 0;
		top: 38px;
	}
}

.services_sec {
	padding: 120px 0 0;
	font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, "Noto Serif JP", sans-serif;
}

.services_sec_in {
	text-align: center;

}

main h2 {
	position: relative;
	margin: 0 auto 191px;
	color: #3E3A39;
	font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, "Noto Serif JP", sans-serif;
	font-size: 3.2rem;
	letter-spacing: 4px;
	text-align: center;
	line-height: 1;
	min-height: 1.2em;
}

main h2::after {
	content: "";
	position: absolute;
	left: calc(50% - 100px);
	bottom: -41px;
	display: block;
	width: 200px;
	height: 1px;
	background: linear-gradient(90deg, #0099D4 20%, #00478A);

}

.services_child {
	position: relative;
	overflow: hidden;
	padding: 150px 45px;
}

.services_child:nth-of-type(odd) {
	background-color: #f2f6f9;
}

.services_child:nth-of-type(even) .services_txt {
	order: 2;
}

.services_child:nth-of-type(even) .services_img {
	order: 1;
}

.services_child_in {
	display: flex;
	justify-content: space-between;
	max-width: 900px;
	margin: 0 auto;
}

.services_txt {
	width: 46%;
}

.num {
	margin-bottom: 10px;
	color: #3E3A39;
	font-size: 7.2rem;
	text-align: center;
	line-height: 1.4;
}

.services_child_in h3 {
	position: relative;
	margin-bottom: 76px;
	color: #00478A;
	font-size: 2.4rem;
	text-align: center;
	line-height: 1.5;
}

.services_child_in h3::after {
	content: "";
	display: block;
	position: absolute;
	left: calc(50% - 25px);
	bottom: -36px;
	background: linear-gradient(90deg, #0099D4 20%, #00478A);
	width: 50px;
	height: 1px;
}

.services_child_in p {
	font-size: 1.6rem;
	line-height: 2;
	text-align: justify;
}

.services_img {
	position: relative;
	width: 46%;
	flex-shrink: 0;
}

.services_img::after {
	content: "";
	display: block;
	position: absolute;
	right: -45px;
	bottom: -45px;
	width: 100%;
	height: 100%;
	background: none;
	background-image: url(../../imgs/shadow.png);
	background-size: contain;
	background-repeat: no-repeat;
	opacity: .5;
	z-index: -10;
}

/* fadein */

.fadein {
	opacity: 0;
	transition: transform 1.2s, opacity 1.2s;
}

.fadein_right {
	transform: translateX(150px);
}

.fadein_left {
	transform: translateX(-150px);
}

.fadein_bottom {
	transform: translateY(50px);
}

/* delay */

.fadein .fadein_d1 {
	opacity: 0;
	transition: opacity 1.2s;
	transition-delay: .15s;
}

.fadein.scrollin .fadein_d1 {
	opacity: 1;
}

.fadein_d2 {
	opacity: 0;
	transition: opacity 1.2s;
	transition-delay: .3s;
}

.fadein.scrollin .fadein_d2 {
	opacity: 1;
}

.fadein_d3 {
	opacity: 0;
	transition: opacity 1.2s;
	transition-delay: .45s;
}

.fadein.scrollin .fadein_d3 {
	opacity: 1;
}

.fadein_d4 {
	opacity: 0;
	transition: opacity 1.2s;
	transition-delay: .6s;
}

.fadein.scrollin .fadein_d4 {
	opacity: 1;
}

.fadein_d5 {
	opacity: 0;
	transition: opacity 1.2s;
	transition-delay: .75s;
}

.fadein.scrollin .fadein_d5 {
	opacity: 1;
}

.fadein_d6 {
	opacity: 0;
	transition: opacity 1.2s;
	transition-delay: .9s;
}

.fadein.scrollin .fadein_d6 {
	opacity: 1;
}

.fadein_d7 {
	opacity: 0;
	transition: opacity 1.2s;
	transition-delay: 1.2s;
}

.fadein.scrollin .fadein_d7 {
	opacity: 1;
}

/* fade */

.fadein.scrollin {
	opacity: 1;
	transform: translateX(0);
}

/* fade services */

.fadein .services_txt {
	opacity: 0;
	transition: opacity .35s ease-in;
	transition-delay: 1.1s;
	/* 画像が表示されるまでの遅延 */
}

.fadein.scrollin .services_txt {
	opacity: 1;
}

.fadein .services_img::after {
	opacity: 0;
	transition: opacity .35s ease-in;
	transition-delay: 1.1s;
	/* 画像が表示されるまでの遅延 */
}

.fadein.scrollin .services_img::after {
	opacity: .5;
}

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


.product {
	margin-top: 108px;
	text-align: center;
}

.product h3 {
	position: relative;
	margin: 0 auto 96px;
	padding: 0 28px;
	color: #3E3A39;
	font-size: 2.4rem;
	text-align: center;
	letter-spacing: 2px;
}

.product h3::after {
	content: "";
	position: absolute;
	left: calc(50% - 25px);
	bottom: -36px;
	display: block;
	width: 50px;
	height: 1px;
	background: linear-gradient(90deg, #0099D4 20%, #00478A);

}

/* スライダー */

.slider_wrap {
	margin: 0 -45px;
}

.slider_hover {
	max-width: 1276px;
	margin: 0 auto;
}

.slick-slider {
	width: calc( 100% - 90px );
	margin: 0 auto 81px;
}

.slick-slide {
	position: relative;
	overflow: hidden;
	padding: 10px 0;
}

.slick-slide .ls {
	letter-spacing: -1px;
}

.slick-slide .mask {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;	/* マスクを表示しない */
	background-color: rgba(0,71,138,.65);
	box-sizing: border-box;
	-webkit-transition:	all .5s;
	transition: all .5s;
	overflow-y: auto;
	display: flex;
	justify-content: center;
	align-items: center;
}

.slick-slide .caption {
	position: relative;
	margin: auto;
	padding: 20px;
	color: #fff;
	font-size: 14px;
	text-shadow: 0px 0px 10px rgba(0,71,138,.8);
	-webkit-transition:	all .5s;
	transition: all .5s;
	transform: translateY(-50%);
}

.slick-slide .caption .cap_ttl {
	margin-bottom: 8px;
	font-weight: bold;
	font-size: 18px;
	line-height: 1.4;
}

.slick-slide .caption .cap_ttl span {
	display: inline-block;
	/* 中途半端な位置で改行されないように */
}

.slick-slide .caption .cap_txt {
	font-family: "游ゴシック", YuGothic, "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", sans-serif;
	text-align: left;
}

.slick-slide:hover .mask {
	opacity: 1;
}

.slick-slide:hover .caption {
	transform: translateY(0);

}

.slick-list {
	max-width: 900px;
	margin: 0 auto;
}

.slick-slide img {
	margin: 0 auto 23px;
}

.slick-slide sup {
	vertical-align: super;
	font-size: 75.5%;
}

.slick-arrow {
	width: 18px;
	height: 32px;
	background-repeat: no-repeat;
	visibility: hidden;
	opacity: 0;
	transition: opacity .5s, visibility .5s, left .5s ease-in, right .5s ease-in;
}

.slick-prev {
	left: 0;
	background: url(../../imgs/slick_left.png);
}

.slick-next {
	right: 0;
	background: url(../../imgs/slick_right.png);
}

.slider_hover:hover .slick-arrow {
	visibility: visible;
	opacity: 1;
}

.slider_hover:hover .slick-prev {
	left: -25px;
}

.slider_hover:hover .slick-next {
	right: -25px;
}

.pro_online_btn {
	display: block;
	position: relative;
	max-width: 556px;
	border: 1px solid #00478A;
	margin: 0 auto;
	padding: 18px 30px;
	color: #00478A;
	box-sizing: border-box;
	-webkit-transition-property: color;
	transition-property: color;
	-webkit-transition-duration: .2s;
	transition-duration: .2s;
	z-index: 10;
}

/* IE11 */
_:-ms-lang(x)::-ms-backdrop,
.pro_online_btn {
	padding: 20px 30px 16px;
}

.pro_online_btn::after {
	content: "";
	display: block;
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(90deg, #0099D4, #00478A);
	transform: scaleX(0);
	transform-origin: 0 50%;
	-webkit-transition-property: transform;
	transition-property: transform;
	-webkit-transition-duration: .45s;
	transition-duration: .45s;
	-webkit-transition-timing-function: ease-out;
	transition-timing-function: ease-out;
}

.pro_online_btn span {
	display: inline-block;
	border-bottom: 1px solid #00478A;
	border-right: 2px solid #00478A;
	width: 35px;
	height: 0.5rem;
	margin-left: 14px;
	transform: skew(45deg) translateY(-50%);
	-webkit-transition-property: color;
	transition-property: color;
	-webkit-transition-duration: .2s;
	transition-duration: .2s;
}

.pro_online_btn:hover {
	border: 1px solid #f2f6f9;
	color: #fff;
}

.pro_online_btn:hover::after {
	transform: scaleX(1);
}

.pro_online_btn:hover span {
	border-bottom: 1px solid #fff;
	border-right: 2px solid #fff;
}

/* Philosophy */

.philosophy_sec {
	padding: 153px 30px 143px;
	border-bottom: 1px solid #e5e5e5;
	font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, "Noto Serif JP", sans-serif;
}

.philosophy_sec h2 {
	margin: 0 auto 112px;
}

.philosophy_sec p {
	text-align: center;
}

.philosophy_sec .copy:first-of-type {
	margin-bottom: 1.5rem;
}

.philosophy_sec .copy {
	color: #064781;
	font-size: 2.1rem;
}

.philosophy_txt {
	margin-bottom: 108px;
	line-height: 2;
	letter-spacing: 1px;
}

.philosophy_txt p:not(:last-child) {
	margin-bottom: 2.8rem;
}

.mission_wrap {
	display: flex;
	justify-content: space-between;
	max-width: 900px;
	margin: 0 auto 72px;
}

.mission {
	position: relative;
	width: 28.9%;
	background-color: #fff;
	border-radius: 25px;
	padding: 52px 10px 16px;
	line-height: 2;
	letter-spacing: -1px;
	box-sizing: border-box;
}

.mission::after {
	content: "";
	display: block;
	position: absolute;
	right: -20px;
	bottom: -23px;
	width: 100%;
	height: 100%;
	background: none;
	background-image: url(../../imgs/shadow02.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: right bottom;
	opacity: .5;
	z-index: -10;
}

.mission:not(:last-child):before {
	content: "";
	position: absolute;
	right: calc(-11.2% - 7px);
	top: calc(50% - 4px);
	display: block;
	border-style: solid;
	border-width: 4.5px 0 4.5px 8px;
	border-color: transparent transparent transparent #064781;
}

.mission_num {
	position: absolute;
	top: -40px;
	left: 50%;
	color: #666666;
	font-size: 2rem;
	text-align: center;
	line-height: 1.1;
	transform: translateX(-50%);
}

.mission_num span {
	display: block;
	color: #00478A;
	font-size: 4rem;
}

/* Action */

.action_sec {
	padding: 153px 30px 143px;
	border-bottom: 1px solid #e5e5e5;
	font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, "Noto Serif JP", sans-serif;
}

.action_sec h2 {
	margin: 0 auto 112px;
}

.action_sec .copy {
	margin-bottom: 1.5rem;
	color: #3E3A39;
	font-size: 2.8rem;
	text-align: center;
	letter-spacing: 1px;
}

.action_txt {
	margin-bottom: 72px;
	text-align: center;
	line-height: 2;
	letter-spacing: 2px;
}

.goals {
	max-width: 900px;
	margin: 0 auto;
}

.goals_ttl {
	max-width: 441px;
	margin: 0 auto 28px;
}

.goals_item_box {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.goals_item_box li {
	width: 15.5%;
}

.goals_item_box li:not(:nth-child(n+12))::after {
	content: "";
	display: block;
	margin-bottom: 9%;
}


/* Company */

.company_sec {
	padding: 153px 30px 143px;
	border-bottom: 1px solid #e5e5e5;
}

.company_sec_in {
	padding: 0 30px;
}

.company_sec h2 {
	margin: 0 auto 112px;
}

.overview {
	max-width: 900px;
	width: 100%;
	margin: 0 auto 80px;
}

.overview dl {
	display: flex;
	border-top: 1px solid #e7e7e7;
}

.overview dl:last-child {
	border-bottom: 1px solid #e7e7e7;
}

.overview dt {
	min-width: 5em;
	padding: 28px 42px 28px 28px;
	text-align: right;
	vertical-align: top;
	/* box-sizing: border-box; */
}

.overview dt::after {
	content: "：";
}

.overview dd {
	width: calc(100% - 140px);
	padding: 28px 30px 28px 0;
	box-sizing: border-box;
}

.suppliers_list {
	display: flex;
	flex-wrap: wrap;
	word-break: break-all;
}

.suppliers_list li:not(:last-child)::after {
	content: "、";
}

.map {
	max-width: 1100px;
	margin: 0 auto;
}

/* News */

.news_sec {
	padding: 153px 0 115px;
	border-bottom: 1px solid #e5e5e5;
}

.news_sec_in {
	padding: 0 30px;
}

.news_sec h2 {
	margin: 0 auto 112px;
}

.news_wrap {
	max-width: 900px;
	width: 100%;
	margin: 0 auto;
}

.news_tab {
	display: flex;
	justify-content: space-between;
	margin-bottom: 80px;
}

.news_tab li {
	position: relative;
	width: 31.1%;
	padding: 10px 0;
	font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, "Noto Serif JP", sans-serif;
	text-align: center;
	cursor: pointer;
	transition: color .2s;
}

/* IE11 */
_:-ms-lang(x)::-ms-backdrop,
.news_tab li {
	padding: 13px 0 7px;
}

.news_tab li::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: #ddd;
	transition: opacity .2s;
	z-index: -1;
}

.news_tab li::after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, #0099D4, #00478A);
	z-index: -2;
}

.news_tab li:hover,
.news_tab li.select {
	color: #fff;
}

.news_tab li:hover::before,
.news_tab li.select::before {
	opacity: 0;
}

/* タブの高さ */
.news_list_wrap {
	min-height: calc((1em * 1.75 + 56px) * 3);
}

/* ページを開いた時にニュースリリース以外を非表示 */
.news_list:nth-child(n+2) {
	display: none;
}

.news_list dl {
	display: flex;
	border-top: 1px dotted #e7e7e7;
}

.news_list dt {
	min-width: 140px;
	padding: 28px 42px 28px 0;
	font-weight: bold;
	vertical-align: top;
	box-sizing: border-box;
}

.news_list dd {
	width: calc(100% - 140px);
	padding: 28px 30px 28px 0;
	box-sizing: border-box;
}

.news_list dd a {
	text-decoration: underline;
	transition: text-decoration .2s;
}

.news_list dd a:hover {
	text-decoration: none;
}

/* 商品に関するお問い合わせ */

.shouhin_info_sec {
	padding: 153px 0 143px;
}

.shouhin_info_sec_in {
	padding: 0 30px;
}

.shouhin_info_sec h2 {
	margin: 0 auto 112px;
}

.info_txt {
	display: flex;
	justify-content: center;
}

/* コンプライアンス */

.compliance {
	padding: 43px 30px;
}

.compliance p {
	text-align: center;
}

.compliance a {
	font-size: 1.7rem;
	text-decoration: underline;
}

.compliance a:hover {
	text-decoration: none;
}

/* 下層共通 */

.common_sec {
	padding: 70px 30px 143px;
}

.common_sec_in {
	max-width: 900px;
	margin: 0 auto;
	font-size: 1.6rem;
}

.common_sec h2 {
	margin-bottom: 112px;
}

.common_sec h3 {
	background-color: #E6E6E6;
	margin-bottom: 20px;
	padding: 10px;
	font-size: 2.1rem;
	line-height: 1;
}

.common_sec h4 {
	border-bottom: 1px solid #E6E6E6;
	margin-bottom: 20px;
	font-size: 1.8rem;
}

.common_sec p {
	margin-bottom: 2.5em;
	font-size: 1.6rem;
}

.mb0 {
	margin-bottom: 0 !important;
}

.mb2 {
	margin-bottom: 2em !important;
}

/* 個人情報保護方針 */

.privacy_sec p {
	margin-bottom: 2em;
}

.privacy_list > li:not(:last-child) {
	margin-bottom: 2em;
}

.privacy_list2 {
	/* margin-top: 2em; */
	margin-bottom: 2em;
	margin-left: 1em;
}

.privacy_list2 li {
	padding-left: 1.5em;
	text-indent: -1.5em;
}

#privacy a {
	text-decoration: underline;
}

#privacy a:hover {
	text-decoration: none;
}

/* footer */

/* recruit */
.recruit_sec {
	background-image: url(../imgs/recruit_sec_bg.png);
	background-size: cover;
	background-repeat: no-repeat;
	padding: 104px 30px 100px;
	font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, "Noto Serif JP", sans-serif;
}

.recruit_sec h2 {
	margin-bottom: 28px;
	color: #fff;
	font-size: 4.6rem;
	text-align: center;
	letter-spacing: 4px;
	line-height: 1.6;
}

.recruit_sec h2 span {
	display: block;
	font-size: 2.2rem;
}

.detail_btn {
	display: block;
	position: relative;
	max-width: 560px;
	border: 1px solid #fff;
	margin: 0 auto;
	padding: 18px 30px;
	color: #fff;
	font-size: 1.8rem;
	text-align: center;
	box-sizing: border-box;
	transition: background-color .2s, color .2s, border-color .2s;
}

/* IE11 */
_:-ms-lang(x)::-ms-backdrop,
.detail_btn {
	padding: 21px 30px 15px;
}

.detail_btn::after {
	content: ">";
	position: absolute;
	right: 20px;
	display: inline-block;
}

.detail_btn:hover {
	background-color: #fff;
	color: #00478A;
	border: 1px solid transparent;
}

/* footer */

.f_add {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto;
	padding: 36px 30px 40px;
	color: #3E3A39;
	font-weight: bold;

}

.f_add span {
	margin-top: 4px;
	font-size: 1.2rem;
	font-weight: normal;
}

.f_logo {
	max-width: 208px;
	margin-right: 70px;
}

.f_logo img {
	max-width: 208px;
}

.f_nav_wrap {
	background-color: #3e3a39;
	padding: 32px 30px 20px;
	color: #fff;
	text-align: center;
	box-sizing: border-box;
}

.f_nav {
	max-width: 450px;
	margin: 0 auto;
}

.f_nav ul {
	display: flex;
	justify-content: space-between;
	margin-bottom: 10px;

}

.f_nav li {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 1 1 auto;
	border-right: 1px solid #fff;
	padding: 0 .5%;
	line-height: 1.2;
	box-sizing: border-box;
}

.f_nav li:last-child {
	border-right: none;

}

.f_nav li a {
	color: #fff;
	transition: opacity .2s;
}

.f_nav li a:hover {
	opacity: .7;
}

.f_nav li a i {
	margin-left: 4px;
}

.sp_f_logo {
	display: none;
}

.pagetop {
	position: fixed;
	bottom: 30px;
	right: 40px;
 }


.sp_kaigyo {
	display: none;
}


@media screen and (max-width: 1380px) {
	.catch01 {
		font-size: 8vw;
		margin-bottom: 1.1vw;
	}

	.catch_wrap .catch02 {
		font-size: 2.82vw;
	}

	.catch_wrap .catch02 span {
		letter-spacing: -6px;
	}
}


@media screen and (max-width: 900px) {
	/* IE11 */
_:-ms-lang(x)::-ms-backdrop, .slick-slide .mask {
	justify-content: flex-start;
	align-items: flex-start;
	}
}


@media screen and (max-width: 767px) {

	header {
		height: 48px;
		padding: 0 0 0 10px;
		box-sizing: border-box;
	}

	.logo img {
		height: 30px;
	}

	.g_nav_list {
		flex-direction: column;
		padding: 40px 10.46% 30px;
		flex-shrink: 0;
	}

	.g_nav_list div {
		max-width: 120px;
		margin: auto auto 24px auto;
	}

	.g_nav_list div img {
		max-width: 120px;
	}

	.g_nav_list ul {
		margin: 0 auto auto 0;
	}

	.g_nav_list ul li:not(:last-child) {
		margin-bottom: 12px;
		font-size: 5.62vw;
	}

	.g_nav_list ul li:last-child {
		margin: 36px 0 32px;
	}

	.g_nav_list ul .nav_online_btn a {
		font-size: 4.37vw;
		padding: 10px 20px;
		transition: none;
	}

	.g_nav_list ul .nav_online_btn a:hover {
		background-color: transparent;
		color: #fff;
	}

	.g_nav_list ul li:not(:last-child) a:hover:before {
		content: none;
	}

	.g_nav_list ul .nav_online_btn a span {
		display: none;
	}

	.navToggle {
		display: flex;
		align-items: center;
		justify-content: center;
		position: static;
		width: 48px;
		height: 48px;
		flex-shrink: 0;
	}

	.navToggle div {
		width: 20px;
		height: 16px;
	}

	.navToggle span:nth-child(2) {
		top: 7px;
	}

	.navToggle span:nth-child(3) {
		top: 14px;
	}

	.open .navToggle {
		position: fixed;
		top: 0;
		right: 0;
	}

	/* IE11 */
	_:-ms-lang(x)::-ms-backdrop,
	.open .navToggle {
		right: 18px;
	}

	/* Edge */
	_:-ms-lang(x)::backdrop,
	.open .navToggle {
		right: 18px;
	}

	/* Firefox */
	@-moz-document url-prefix() {
		.open .navToggle {
			right: 18px;
		}
	}

	/* safari */
	_::-webkit-full-page-media, _:future,
	:root .open .navToggle {
	right: 0;
	}

	.open .online_btn {
		margin-right: 40px;
	}

	.contact_btn {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 48px;
		height: 48px;
		background: #00458a;
		border: 1px solid #03488b;
		margin-right: 1px;
		padding: 9px;
		border-radius: 0;
		box-sizing: border-box;
		flex-shrink: 0;
	}

	.online_btn {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 48px;
		height: 48px;
		background: #00458a;
		margin-right: 0;
		padding: 8px;
		border-radius: 0;
		flex-shrink: 0;
	}

	.contact_btn span,
	.online_btn span {
		display: none;
	}

	.contact_btn img,
	.online_btn img {
		display: inline;
		width: 36px;
	}

	main {
		padding-top: 40px;
	}

	.fv {
		height: 78vw;
		min-height: 250px;
		padding: 0;
	}

	.fvIn {
		background-image: url(../../imgs/fv_bg_sp.png);
	}

	.catch01 {
		font-size: 10vw;
	}

	.catch_wrap .catch02 {
		font-size: 4vw;
	}

	.catch_wrap .catch02 span {
		letter-spacing: -6px;
	}

	.scroll {
		bottom: 45px;
	}

	.scroll span {
		top: 3px;
	}

	.scroll span::after {
		top: 20px;
		height: 20px;
	}

	.scroll span::before {
		top: 20px;
		left: -1px;
		width: 3px;
		height: 3px;
		-webkit-animation: sdb2 3s infinite;
		animation: sdb2 3s infinite;
	}

	/* Firefox */
	@-moz-document url-prefix() {
		.scroll span::before {
			left: -2px;
		}
	}

	main h2 {
		margin-bottom: 66px;
		font-size: 7.5vw;
	}

	main h2::after {
		width: 100px;
		left: calc(50% - 50px);
		bottom: -16px;
	}

	/* services */

	.services_sec {
		padding: 48px 0 0;
	}

	.services_child {
		padding: 60px 5%;
	}

	.services_child_in {
		flex-direction: column;
	}

	.services_txt {
		width: 100%;
		order: 2;
	}

	.services_img {
		width: 70%;
		max-width: 411px;
		margin: 0 auto 10vw;
		order: 1;
	}

	/* fade */

	.services_img::after {
		right: -10.9%;
		bottom: -10.9%;
	}

	.num {
		margin-bottom: 18px;
		font-size: 9.38vw;
	}

	.services_child_in h3 {
		margin-bottom: 40px;
		font-size: 4.69vw;
	}

	.services_child_in h3::after {
		left: calc(50% - 14px);
		bottom: -22px;
		width: 28px;
		height: 1px;
	}

	.services_child_in p {
		font-size: 3.65vw;
	}

	/* スライダー */

	.slider_wrap {
		margin: 0;
	}

	.slick-slider {
		width: 88%;
		margin: 0 auto 12px;
	}

	.slick-slide .mask {
		display: none;
	}

	.slick-slide img {
		margin: 0 auto 16px;
	}

	.slick-slide p {
		font-size: 4.37vw;
	}

	.slick-arrow {
		width: 17px;
		height: 30px;
		visibility: visible;
		opacity: 1;
		transition: none;
	}

	.slick-prev {
		left: -25px;
		top: 39%;
		background: url(../../imgs/slick_left.png);
	}

	.slick-next {
		right: -25px;
		top: 39%;
		background: url(../../imgs/slick_right.png);
	}

	.product {
		margin-top: 56px;
	}

	.product h3 {
		margin: 0 auto 36px;
		font-size: 5vw;
	}

	.product h3::after {
		left: calc(50% - 14px);
		width: 28px;
		bottom: -22px;

	}

	.pro_online_btn {
		max-width: 70%;
		border: 1px solid #f2f6f9;
		padding: 12px 15px;
		color: #fff;
		font-size: 4.37vw;
		line-height: 1.5;
	}

	.pro_online_btn::after {
		transform: scaleX(1);
	}

	.pro_online_btn span {
		display: inline-block;
		position: absolute;
		top: calc(50% - 6px);
		right: 12px;
		border-bottom: 1px solid #fff;
		border-right: 1px solid #fff;
		width: 10px;
		height: 10px;
		margin-left: 0;
		transform: rotate(-45deg);
		vertical-align: middle;
	}

	.pro_online_btn:hover span {
		border-right: 1px solid #fff;
	}

	/* philosophy */

	.philosophy_sec h2 {
		margin-bottom: 52px;
	}

	.philosophy_sec {
		padding: 60px 5%;
	}

	.philosophy_sec p {
		font-size: 3.65vw;
	}

	.philosophy_txt {
		margin-bottom: 18vw;
	}

	.philosophy_txt p:not(:last-child) {
		margin-bottom: 1.4rem;
	}

	.philosophy_txt p {
		font-size: 3.65vw;
		text-align: left;
	}

	.philosophy_sec .copy {
		font-size: 5.62vw;
		line-height: 1.5;
		letter-spacing: -1px;
	}

	.mission_wrap {
		display: block;
		margin-bottom: 38px;
	}

	.mission {
		width: 75vw;
		margin: 0 auto;
		padding: 60px 10px 25px;
		box-sizing: border-box;
	}

	.mission:not(:last-child) {
		margin-bottom: 26vw;
	}

	.mission:not(:last-child):before {
		right: calc(50% - 5px);
		top: calc(100% + 7.2vw + 9px);
		display: block;
		border-style: solid;
		border-width: 9px 5px 0 5px;
		border-color: #064781 transparent transparent transparent;
	}

	.mission_num {
		top: -8vw;
		font-size: 5.78vw;
	}

	.mission_num span {
		font-size: 11.56vw;
	}

	/* action */

	.action_sec {
		padding: 60px 5%;
	}

	.action_sec h2 {
		margin: 0 auto 52px;
	}

	.action_sec .copy {
		margin-bottom: 32px;
		font-size: 7.5vw;
		line-height: 1.4;
	}

	.action_txt {
		margin-bottom: 20px;
		font-size: 3.65vw;
		text-align: left;
	}

	.action_txt span {
		letter-spacing: -1px;
	}

	.goals_ttl {
		width: 75%;
		margin: 0 auto 16px;
	}

	.goals_item_box li {
		width: 31%;
	}

	.goals_item_box li:not(:nth-child(n+15))::after {
		content: "";
		display: block;
		margin-bottom: 11%;
	}

	/* company */

	.company_sec h2 {
		margin: 0 auto 52px;
	}

	.company_sec {
		padding: 60px 0;
	}

	.company_sec_in {
		padding: 0 5%;
	}

	.overview {
		margin-bottom: 25px;
		font-size: 3.65vw;
	}

	.overview dt {
		min-width: calc(5.5em + 16px);
		padding: 20px 16px 20px 0px;

	}

	.overview dd {
		width: calc(100% - (5.5em + 30px));
		padding: 20px 10px 20px 0;
	}

	.suppliers_list {
		display: block;
	}

	.suppliers_list li:not(:last-child)::after {
		content: none;
	}

	/* News */

	.news_sec {
		padding: 60px 0 40px;
	}

	.news_sec_in {
		padding: 0 5%;
	}

	.news_sec h2 {
		margin: 0px auto 52px;
	}

	.news_tab {
		display: flex;
		margin-bottom: 0;
	}

	.news_tab li {
		width: calc((100% - 4px) / 3);
		font-size: 3.12vw;
	}

	/* ニュースリリースだけ2つのため、他タブ時に高さを合わせる */
	/* 数がすべて同じなら不要 */
	.news_list_wrap {
		min-height: calc((3.65vw * 1.75 * 3 + 44px) * 4.2);
	}

	.news_list dl {
		display: block;
		padding: 20px 0;
		font-size: 3.65vw;
	}

	.news_list dl:first-child {
		border-top: none;
	}

	.news_list dt {
		margin-bottom: 4px;
		padding: 0;
	}

	.news_list dd {
		width: 100%;
		padding: 0;
	}

	/* 商品に関するお問い合わせ */

	.shouhin_info_sec h2 {
		margin: 0 auto 52px;
		line-height: 1.2;
	}

	.shouhin_info_sec {
		padding: 60px 0;
	}

	.shouhin_info_sec_in {
		padding: 0 5%;
	}

	.info_txt {
		font-size: 3.65vw;
	}

	.map {
		height: 0;
		overflow: hidden;
		/* padding-bottom: 65.36%; */
		padding-bottom: 62%;
		position: relative;
	}

	.map iframe {
		position: absolute;
		left: 0;
		top: 0;
		height: 100%;
		width: 100%;
	}

	/* コンプライアンス */

	.compliance {
		padding: 20px 5%;
	}

	.compliance a {
		font-size: 4.37vw;
	}

	.compliance a:hover {
		text-decoration: underline;
	}

	/* 下層共通 */

	.common_sec {
		padding: 56px 5%;
	}

	.common_sec_in {
		font-size: 4.37vw;
	}

	.common_sec h2 {
		margin-bottom: 52px;
		font-size: 7.5vw;
		line-height: 1.3;
	}

	.common_sec h3 {
		margin-bottom: 11px;
		padding: 7px;
		font-size: 5vw;
	}

	.common_sec h4 {
		margin-bottom: 11px;
		font-size: 4.37vw;
	}

	.common_sec p {
		margin-bottom: 1.4em;
		font-size: 4.37vw;
	}

	/* footer */

	/* recruit */

	.recruit_sec {
		padding: 44px 5% 28px;
	}

	.recruit_sec h2 {
		margin-bottom: 16px;
		font-size: 10.9vw;
		line-height: 1.3;
		text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.15);
	}

	.recruit_sec h2 span {
		font-size: 4.37vw;
	}

	.detail_btn {
		max-width: 70%;
		padding: 12px 15px;
		font-size: 4.37vw;
	}

	.detail_btn:hover {
		background-color: transparent;
		color: #fff;
		border: 1px solid #fff;
	}

	.f_add {
		display: block;
		padding: 40px 5%;
		font-size: 3.75vw;
		text-align: center;
	}

	.f_add span {
		font-size: 3.75vw;
	}

	.f_logo {
		width: 50%;
		margin: 0 auto 20px;
	}

	.f_logo img {
		max-width: 100%;
	}

	.f_nav_wrap {
		padding: 0;
	}

	.f_nav {
		max-width: 100%;
	}

	.f_nav ul {
		display: block;
		margin-bottom: 0;
	}

	.f_nav li {
		border-right: none;
		border-bottom: 1px solid #fff;
		padding: 0;
	}

	.f_nav li a {
		display: block;
		width: 100%;
		padding: 13px 5%;
		font-size: 3.75vw;
		text-align: left;
	}

	.f_nav li a:hover {
		opacity: 1;
	}

	.f_nav li a::before {
		content: "\0025B8";
		display: inline-block;
		margin-right: 15px;
	}

	.f_small {
		padding: 27px 15px 25px 15px;
		font-size: 3.28vw;
	}

	.sp_f_logo {
		display: block;
		width: 48%;
		margin: 0 auto 15px;
	}

	.pagetop {
		position: fixed;
		right: 20px;
		bottom: 60px;
		width: 30px;
	}

	.line1 {
		font-size: 6.25vw;
		letter-spacing: 3px;
	}

	.sp_kaigyo {
		display: inline-block;
	}

	.sp_none {
		display: none;
	}


}
