@charset "utf-8";

/* ==========================================================================
	hasei_title
========================================================================== */
.hasei_title h2 {
	width: 164px;
	margin-right: 20px;
}

.hasei_title:before {
	content: "";
	display: block;
	width: 98px;
	height: 113px;
	position: absolute;
	top: -24px;
	right: 57px;
	background: url(../image/company/title_icon.png);
	background-size: cover;
	z-index: 10;
}



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

	.hasei_title h2 {
		width: 110px;
	}

	.hasei_title:before {
		width: 52px;
		height: 61px;
		top: 26px;
		right: 37px;
	}

}


/* ==========================================================================
	intro
========================================================================== */
.intro {
	position: relative;
	width: 95%;
	max-width: 1240px;
	margin: 105px auto 180px;
}

.intro h2 {
	position: absolute;
	right: 125px;
	top: 0px;
	z-index: 10;
	width: 100px;
}

.intro .img_area {
	position: relative;
	width: 940px;
	text-align: right;
}

.intro .img01 {
	display: inline-block;
	width: 404px;
}


.intro .img02,
.intro .img03,
.intro .img04 {
	position: absolute;
}

.intro .img02 {
	position: absolute;
	width: 165px;
	left: 0;
	bottom: 24px;
	-webkit-animation: build01 4s infinite ease-in-out;
	-ms-animation: build01 4s infinite ease-in-out;
	-o-animation: build01 4s infinite ease-in-out;
	animation: build01 4s infinite ease-in-out;
}

@keyframes build01 {
	50% {
		transform: translate(10px, 10px);
	}
}

@-ms-keyframes build01 {
	50% {
		transform: translate(10px, 10px);
	}
}

.intro .img03 {
	width: 155px;
	top: -8px;
	left: 188px;
	-webkit-animation: build02 4s infinite ease-in-out;
	-ms-animation: build02 4s infinite ease-in-out;
	-o-animation: build02 4s infinite ease-in-out;
	animation: build02 4s infinite ease-in-out;
}

@keyframes build02 {
	50% {
		transform: translate(10px, -10px);
	}
}

@-ms-keyframes build02 {
	50% {
		transform: translate(10px, -10px);
	}
}

.intro .img04 {
	width: 200px;
	left: 260px;
	bottom: 0;
	-webkit-animation: build03 4s infinite ease-in-out;
	-ms-animation: build03 4s infinite ease-in-out;
	-o-animation: build03 4s infinite ease-in-out;
	animation: build03 4s infinite ease-in-out;
}

@keyframes build03 {
	50% {
		transform: translate(10px, 0);
	}
}

@-ms-keyframes build03 {
	50% {
		transform: translate(10px, 0);
	}
}


.intro p {
	width: 100%;
	max-width: 1020px;
	padding-right: 226px;
	margin: 75px auto 0;
	font-size: 16px;
	line-height: 38px;
	font-weight: 700;
	box-sizing: border-box;
}





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

	.intro h2 {
		right: 0;
	}
}

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

	.intro .img_area {
		width: 78vw;
	}

	.intro .img01 {
		width: 33.6vw;
	}

	.intro .img02 {
		width: 13.75vw;
	}

	.intro .img03 {
		width: 12.9vw;
		left: 15.6vw;
	}

	.intro .img04 {
		width: 16.6vw;
		left: 21.6vw;
	}

	.intro p {
		margin-top: 6.5vw;
	}
}

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

	.intro {
		width: 100%;
		margin: 55px auto 130px;
	}

	.intro h2 {
		position: relative;
		right: auto;
		top: 0px;
		z-index: 10;
		width: 67%;
		max-width: 480px;
		margin: 0 auto 51px;
	}

	.intro .img_area {
		position: relative;
		width: 443px;
		margin: 0 auto;
		transform: translateX(-10px);
	}

	.intro .img01 {
		width: 189px;
	}

	.intro .img02 {
		width: 76px;
		bottom: 11px;
	}

	@keyframes build01 {
		50% {
			transform: translate(5px, 5px);
		}
	}

	@-ms-keyframes build01 {
		50% {
			transform: translate(5px, 5px);
		}
	}

	.intro .img03 {
		width: 73px;
		top: -4px;
		left: 86px;
	}

	@keyframes build02 {
		50% {
			transform: translate(5px, -5px);
		}
	}

	@-ms-keyframes build02 {
		50% {
			transform: translate(5px, -5px);
		}
	}

	.intro .img04 {
		width: 93px;
		left: 120px;
	}

	@keyframes build03 {
		50% {
			transform: translate(5px, 0);
		}
	}

	@-ms-keyframes build03 {
		50% {
			transform: translate(5px, 0);
		}
	}


	.intro p {
		width: 80%;
		padding-right: 0;
		margin: 60px auto 0;
		font-size: 13px;
		line-height: 25px;
	}





}

/* ==========================================================================
	point
========================================================================== */


.point {
	position: relative;
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
}

.point .point_list {
	-js-display: flex;
	display: -webkit-box;
	display: -webkit-flex;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.point .point_list .box {
	width: 30.5%;
}


.point .point_list .img_area {
	position: relative;
	width: 100%;
	background: #fff;
	border-radius: 40px;
	box-shadow: 0px 3px 0px 0px rgba(0, 0, 0, 0.2);
}

.point .point_list .img_area:before {
	content: "";
	display: block;
	padding-top: 100%;
}

.point_list .box h3 {
	display: block;
	position: absolute;
	width: 79px;
	left: 0;
	right: 0;
	top: -53px;
	margin: auto;
}

.point_list .icon img {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 273px;
}

.point_list .point02 .icon img {
	width: 195px;
}

.point_list .point03 .icon img {
	width: 218px;
}

.point .point_list .box h4 {
	text-align: center;
	margin: 40px auto 35px;
}

.point .point_list .box h4 span {
	font-size: 20px;
	line-height: 35px;
	font-weight: 700;
	padding-bottom: 2px;
	background: linear-gradient(transparent 97%, #333 0%);
}

.point_list .box p {
	font-size: 14px;
	line-height: 28px;
	font-weight: 700;
}


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


	.point_list .icon img {
		width: 22vw;
	}

	.point_list .point02 .icon img {
		width: 17.7vw;
	}

	.point_list .point03 .icon img {
		width: 19.8vw;
	}
}



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

	.point {
		width: 80%;
	}

	.point .point_list .box {
		width: 100%;
	}

	.point .point_list .box:nth-child(2) {
		margin: 90px auto 95px;
	}

	.point .point_list .img_area {

		width: 91%;
		margin: 0 auto;
		border-radius: 30px;
		box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, 0.2);
	}

	.point_list .box h3 {
		width: 70px;
		top: -50px;
	}

	.point_list .icon img {
		width: 70%;
	}

	.point_list .point02 .icon img {
		width: 54%;
	}

	.point_list .point03 .icon img {
		width: 60%;
	}

	.point .point_list .box h4 {
		text-align: center;
		margin: 30px auto 25px;
	}

	.point .point_list .box h4 span {
		font-size: 16px;
		line-height: 26px;
		padding-bottom: 2px;
	}

	.point_list .box p {
		font-size: 13px;
		line-height: 25px;
		font-weight: 700;
	}

}

/* ==========================================================================
	message
========================================================================== */

.message {
	position: relative;
	width: 100%;
	margin: 145px auto;
	background: #fff;
	box-shadow: 0px 4px 0px 0px rgba(0, 0, 0, 0.2);
	padding: 95px 0;
}

.message .message_inr {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
	-js-display: flex;
	display: -webkit-box;
	display: -webkit-flex;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.message .img_area {
	width: 54%;
}

.message img {
	border-radius: 30px;
}

.message .text_area {
	width: 46%;
	max-width: 404px;
	padding-top: 15px;
}

.message .title {
	padding-left: 100px;
}

.message .title:before {
	content: "";
	display: block;
	width: 80px;
	height: 75px;
	position: absolute;
	left: 0;
	top: -14px;
	background: url(../image/company/message_icon.png);
	background-size: cover;
}

.message .s_tit {
	padding-left: 106px;
}

.message .s_tit.pc_off {
	display: none;
}

.message p {
	font-size: 20px;
	line-height: 44px;
	font-weight: 700;
	width: 100%;
	max-width: 395px;
	margin: 59px 0 45px;
}

.message h3 {
	font-size: 18px;
	font-weight: 700;
}


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

	.message .img_area {
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.message .img_area {
		width: 60%;
	}

	.message .text_area {
		width: calc(40% - 20px);
		padding-top: 0;
	}
}

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

	.message {
		margin: 90px auto 0;
		box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, 0.2);
		padding: 120px 0 60px;
	}

	.message .message_inr {
		width: 88%;
	}

	.message .img_area {
		width: 100%;
		margin-top: 28px;
	}

	.message img {
		border-radius: 15px;
	}

	.message .text_area {
		width: 88%;
		max-width: 800px;
		padding-top: 20px;
		margin: 0 auto;
	}

	.message p.title {
		padding-left: 0;
		text-align: center;
		font-size: 18px;
		margin-bottom: 0px;
	}

	.message .title:before {
		width: 59px;
		height: 56px;
		left: 0;
		right: 0;
		top: -69px;
		margin: auto;
	}

	.message .s_tit {
		padding-left: 0;
		text-align: center;
	}

	.message .s_tit.pc_off {
		display: block;
	}

	.message p {
		font-size: 16px;
		line-height: 35px;
		max-width: 800px;
		margin: 0 0 30px;
	}

	.message h3 {
		font-size: 15px;
		text-align: center;
	}



}

/* ==========================================================================
	team
========================================================================== */

.team {
	position: relative;
	width: 90%;
	max-width: 1215px;
	margin: 0 auto 230px;
	padding-top: 153px;
}

.team .title {
	padding-left: 130px;
	margin-bottom: 14px;
}

.team .title:before {
	content: "";
	display: block;
	width: 83px;
	height: 81px;
	position: absolute;
	left: 20px;
	top: -17px;
	background: url(../image/company/team_icon.png);
	background-size: cover;
}

.team .s_tit {
	padding-left: 136px;
}

.team ul {
	-js-display: flex;
	display: -webkit-box;
	display: -webkit-flex;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 30px auto 0;
}

.team li {
	position: relative;
	width: 32.5%;
	background: #fff;
	padding: 65px 15px 104px;
	box-sizing: border-box;
	border-radius: 45px;
	box-shadow: 0px 3px 0px 0px rgba(0, 0, 0, 0.2);
}

.team li:first-child {
	transform: translateY(60px)
}

.team li:last-child {
	transform: translateY(-60px)
}

.team li .fukidashi {
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	top: -33px;
	opacity: 0;
	width: 80%;
	max-width: 288px;
	margin: auto;
	transform: translateY(25px);
	transition: .8s;
	transition-delay: 2.5s;
	z-index: 1;
}

.team li.move .fukidashi {
	opacity: 1;
	transform: translateY(0px);
}

.team .img_area {
	position: relative;
	width: 100%;
	max-width: 222px;
	margin: 0 auto;
	text-align: center;
	padding-bottom: 70px;
}



.team .img_area img {
	opacity: 0;
}

.team .img_area img:first-child {
	opacity: 100;
	width: 100%;
	max-width: 116px;
}

.team .move .img_area .momo01,
.team .move .img_area .momo02,
.team .move .img_area .momo03 {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	-webkit-animation: momo01 3s ease-in-out;
	-ms-animation: momo01 3s ease-in-out;
	-o-animation: momo01 3s ease-in-out;
	animation: momo01 3s ease-in-out;
	animation-fill-mode: forwards;
}


.ie .team .move .img_area .momo01,
.ie .team .move .img_area .momo02,
.ie .team .move .img_area .momo03 {
	margin: 0 0 0 38px;
}

@keyframes momo01 {
	29% {
		opacity: 100;
	}

	30% {
		opacity: 0;
	}

	100% {
		opacity: 0;
	}
}

@-ms-keyframes momo01 {
	29% {
		opacity: 100;
	}

	30% {
		opacity: 0;
	}

	100% {
		opacity: 0;
	}
}


.team .img_area .momo01-2,
.team .img_area .momo02-2,
.team .img_area .momo03-2 {
	width: 100%;
	max-width: 150px;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}

.ie .team .img_area .momo01-2,
.ie .team .img_area .momo02-2,
.ie .team .img_area .momo03-2 {
	margin: 0 0 0 38px;
}

.team .move .img_area .momo01-2,
.team .move .img_area .momo02-2,
.team .move .img_area .momo03-2 {
	-webkit-animation: momo02 3s ease-in-out;
	-ms-animation: momo02 3s ease-in-out;
	-o-animation: momo02 3s ease-in-out;
	animation: momo02 3s ease-in-out;
	animation-fill-mode: forwards;
}

@keyframes momo02 {
	30% {
		opacity: 0;
	}

	31% {
		opacity: 100;
	}

	100% {
		opacity: 100;
	}
}

@-ms-keyframes momo02 {
	30% {
		opacity: 0;
	}

	31% {
		opacity: 100;
	}

	100% {
		opacity: 100;
	}
}

.team .img_area .img01,
.team .img_area .img02,
.team .img_area .img03 {
	width: 100%;
	max-width: 222px;
	transform: translateY(50px);
	border-radius: 50%;
	box-shadow: 0px 3px 0px 0px rgba(0, 0, 0, 0.2);
}

.team .move .img_area .img01,
.team .move .img_area .img02,
.team .move .img_area .img03 {
	-webkit-animation: momo03 3s ease-in-out;
	-ms-animation: momo03 3s ease-in-out;
	-o-animation: momo03 3s ease-in-out;
	animation: momo03 3s ease-in-out;
	animation-fill-mode: forwards;
}

@keyframes momo03 {
	60% {
		opacity: 0;
		transform: translateY(50px);
	}

	75% {
		opacity: 100;
		transform: translateY(0px)
	}

	100% {
		opacity: 100;
		transform: translateY(0px)
	}
}

@-ms-keyframes momo03 {
	60% {
		opacity: 0;
		transform: translateY(50px);
	}

	75% {
		opacity: 100;
		transform: translateY(0px)
	}

	100% {
		opacity: 100;
		transform: translateY(0px)
	}
}

.team .post {
	display: block;
	text-align: center;
	font-size: 14px;
	font-weight: 700;
	color: #ff8580;
	margin: 34px auto 19px;
}

.team li:nth-child(2) .post {
	color: #69a85e;
}

.team li:nth-child(3) .post {
	color: #c1b000;
}

.team h3 {
	font-size: 36px;
	font-weight: 700;
	text-align: center;
}

.team .en {
	display: block;
	font-size: 12px;
	font-weight: 700;
	text-align: center;
	color: #ab9e8b;
	margin: 25px auto 35px;
}

.team p {
	font-size: 16px;
	line-height: 34px;
	font-weight: 700;
	margin: 0 auto;
	max-width: 265px;
}

.team .btn a{
	color: #000;
	font-size: 16px;
	line-height: 34px;
	font-weight: 700;
	text-align: center;
	width: 100%;
	height: 40px;
	margin:20px auto 0;
	max-width:265px;
	background-color: #e4dec6;
	box-shadow: 3px 3px 0px 0px rgba(0, 0, 0, 0.2);
	border-radius: 20px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.team .btn a:hover{
	color: #fff;
	background: #ff8080;
	transform: translate(3px, 3px);
	box-shadow: none;
}

.team .icon {
	position: absolute;
	left: 0;
	right: 0;
	bottom: -27px;
	margin: auto;
	z-index: 10;
	width: 104px;
}

.team li:nth-child(2) .icon {
	bottom: -19px;
	width: 106px;
}

.team li:nth-child(3) .icon {
	bottom: -17px;
	width: 125px;
}



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

	.team {
		width: 88%;
		margin: 0 auto 78px;
		padding-top: 150px
	}

	.team .title {
		padding-left: 0;
		margin-bottom: 10px;
		text-align: center;
	}

	.team .title:before {
		width: 65px;
		height: 64px;
		left: 0;
		right: 0;
		top: -76px;
		margin: auto;
	}

	.team .s_tit {
		padding-left: 0;
		text-align: center;
	}

	.team ul {
		margin: 38px auto 0;
	}

	.team li {
		width: 100%;
		padding: 58px 0 80px;
		border-radius: 30px;
		box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, 0.2);
	}

	.team li:nth-child(2) {
		margin: 65px auto;
	}

	.team li:first-child,
	.team li:last-child {
		transform: translateY(0px)
	}

	.team li .fukidashi {
		top: -20px;
		width: 72%;
	}

	.team .img_area {
		position: relative;
		width: 100%;
		max-width: 222px;
		margin: 0 auto;
		text-align: center;
		padding-bottom: 65px;
	}



	.team .img_area img {
		opacity: 0;
	}

	.team .img_area img:first-child {
		opacity: 100;
		width: 90%;
		max-width: 116px;
	}

	.team .move .img_area .momo01,
	.team .move .img_area .momo02,
	.team .move .img_area .momo03 {
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		margin: auto;
		-webkit-animation: momo01 3s ease-in-out;
		-ms-animation: momo01 3s ease-in-out;
		-o-animation: momo01 3s ease-in-out;
		animation: momo01 3s ease-in-out;
		animation-fill-mode: forwards;
	}


	@keyframes momo01 {
		29% {
			opacity: 100;
		}

		30% {
			opacity: 0;
		}

		100% {
			opacity: 0;
		}
	}

	@-ms-keyframes momo01 {
		29% {
			opacity: 100;
		}

		30% {
			opacity: 0;
		}
	}


	.team .img_area .momo01-2,
	.team .img_area .momo02-2,
	.team .img_area .momo03-2 {
		width: 100%;
		max-width: 150px;
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		margin: auto;
	}

	.team .move .img_area .momo01-2,
	.team .move .img_area .momo02-2,
	.team .move .img_area .momo03-2 {
		-webkit-animation: momo02 3s ease-in-out;
		-ms-animation: momo02 3s ease-in-out;
		-o-animation: momo02 3s ease-in-out;
		animation: momo02 3s ease-in-out;
		animation-fill-mode: forwards;
	}

	@keyframes momo02 {
		30% {
			opacity: 0;
		}

		31% {
			opacity: 100;
		}

		100% {
			opacity: 100;
		}
	}

	@-ms-keyframes momo02 {
		30% {
			opacity: 0;
		}

		31% {
			opacity: 100;
		}

		100% {
			opacity: 100;
		}
	}

	.team .img_area .img01,
	.team .img_area .img02,
	.team .img_area .img03 {
		width: 100%;
		max-width: 222px;
		transform: translateY(50px);
		border-radius: 50%;
		box-shadow: 0px 3px 0px 0px rgba(0, 0, 0, 0.2);
	}

	.team .move .img_area .img01,
	.team .move .img_area .img02,
	.team .move .img_area .img03 {
		-webkit-animation: momo03 3s ease-in-out;
		-ms-animation: momo03 3s ease-in-out;
		-o-animation: momo03 3s ease-in-out;
		animation: momo03 3s ease-in-out;
		animation-fill-mode: forwards;
	}

	@keyframes momo03 {
		60% {
			opacity: 0;
			transform: translateY(50px);
		}

		75% {
			opacity: 100;
			transform: translateY(0px)
		}

		100% {
			opacity: 100;
			transform: translateY(0px)
		}
	}

	@-ms-keyframes momo03 {
		60% {
			opacity: 0;
			transform: translateY(50px);
		}

		75% {
			opacity: 100;
			transform: translateY(0px)
		}

		100% {
			opacity: 100;
			transform: translateY(0px)
		}
	}

	.team .post {
		font-size: 13px;
		margin: 25px auto 12px;
	}

	.team h3 {
		font-size: 27px;
	}

	.team .en {
		font-size: 10px;
		margin: 15px auto 27px;
	}

	.team p {
		width: 80%;
		margin: 0 auto;
		font-size: 13px;
		line-height: 25px;
		max-width: 800px;
	}

	.team .btn a {
		font-size: 13px;
		max-width: 800px;
	}

	.team .icon {
		position: absolute;
		left: 0;
		right: 0;
		bottom: -27px;
		margin: auto;
		z-index: 10;
		width: 104px;
	}

	.team li:nth-child(2) .icon {
		bottom: -19px;
		width: 106px;
	}

	.team li:nth-child(3) .icon {
		bottom: -17px;
		width: 125px;
	}


}

/* ==========================================================================
	outline
========================================================================== */

.outline {
	position: relative;
	width: 93%;
	margin: 0 auto 160px;
}

.outline .info_area {
	position: relative;
	border-radius: 45px 45px 0 0;
	padding: 125px 0 120px;
	box-sizing: border-box;
	background: url(../image/company/outline_info_bg.jpg) center center;
	background-size: cover;
}

.outline .info_area .info_inr {
	width: 90%;
	max-width: 996px;
	margin: 0 auto;
	-js-display: flex;
	display: -webkit-box;
	display: -webkit-flex;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.outline .tit_area {
	width: 70px;
	margin-left: 54px;
	display: flex;
	justify-content: center;
	z-index: 10;
}

.outline .tit_area span {
	font-size: 16px;
	font-weight: 700;
	color: #fff;
	font-feature-settings: normal;
	vertical-align: top;
	display: inline-block;
	-webkit-writing-mode: vertical-rl;
	margin-right: 15px;
}

.outline .tit_area span.pc_off {
	display: none;
}

.outline h2 {
	font-size: 30px;
	font-weight: 700;
	color: #fff;
	font-feature-settings: normal;
	vertical-align: top;
	display: inline-block;
	-webkit-writing-mode: vertical-rl;
}

.outline ul {
	width: 70%;
	max-width: 670px;
}

.outline li {
	-js-display: flex;
	display: -webkit-box;
	display: -webkit-flex;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.outline h3 {
	font-size: 16px;
	line-height: 28px;
	font-weight: 700;
	color: #fff;
	padding: 19px 18px 19px 23px;
	box-sizing: border-box;
	border-bottom: 1px solid #fff;
	width: calc(26% - 5px);
}

.outline p {
	font-size: 16px;
	line-height: 28px;
	font-weight: 700;
	color: #fff;
	padding: 19px 18px 19px 23px;
	box-sizing: border-box;
	border-bottom: 1px solid #fff;
	width: 74%;

}

.outline .inview {
	display: block;
	position: absolute;
	z-index: 10;
	width: 228px;
	left: 130px;
	bottom: -40px;
	transform: translateX(-50px);
	opacity: 0;
	transition: 1s;
}

.outline .inview.move {
	transform: translateX(0);
	opacity: 1;
	transition: 1s;
}

.outline .map_area {
	position: relative;
	height: 430px;
	overflow: hidden;
	width: 100%;
	border-radius: 0 0 45px 45px;
	box-shadow: 0px 3px 0px 0px rgba(0, 0, 0, 0.2);
}

.outline .map_area iframe,
.outline .map_area object,
.outline .map_area embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 0 0 45px 45px;
	top: -150px;
	height: calc(100% + 150px + 150px);
}


.outline a {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 150px;
	height: 30px;
	background: #fff;
	color: #fb8384;
	border: 1px solid #fb8384;
	font-size: 13px;
	padding-right: 20px;
	box-sizing: border-box;
	left: 0;
	right: 0;
	bottom: -15px;
	margin: auto;
	border-radius: 30px;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
}

.outline a:hover {
	background: #fb8384;
	color: #fff;
}

.outline a:before {
	content: "";
	display: block;
	width: 12px;
	height: 8px;
	background: url(../image/search/map_link_icon.png);
	background-size: cover;
	position: absolute;
	right: 26px;
	top: 10px;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
}

.outline a:hover:before {
	background-image: url(../image/search/map_link_icon_af.png);
}









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

	.outline {
		margin: 0 auto 125px;
	}

	.outline .info_area {
		border-radius: 30px 30px 0 0;
		padding: 90px 0 150px;
		background: url(../image/company/outline_info_bg.jpg) center center;
		background-size: cover;
	}

	.outline .info_area .info_inr {
		width: 85%;
		max-width: 996px;
	}

	.outline .tit_area {
		width: 44px;
		margin-left: 0;
		display: block;
	}

	.outline .tit_area span {
		font-size: 11px;
		margin: 10px 0 0;
		transform: translateX(4px);
	}

	.iPhone .tit_area span {
		transform: translateX(12px);
	}

	.outline .tit_area span.pc_off {
		display: inline-block;

	}

	.outline h2 {
		font-size: 19px;
		width: 100%;
		-webkit-writing-mode: vertical-lr;
	}

	.outline ul {
		width: calc(100% - 44px);
		max-width: 800px;
	}

	.outline li {
		display: block;
	}

	.outline h3 {
		font-size: 13px;
		line-height: 18px;
		padding: 12px 0 0;
		border: none;
		width: 100%;
	}

	.outline li:first-child h3 {
		padding-top: 0;
	}

	.outline p {
		font-size: 13px;
		line-height: 18px;
		padding: 5px 0 12px 0;
		border-bottom: 1px solid #fff;
		width: 100%;
	}

	.outline .inview {
		z-index: 10;
		width: 175px;
		left: 0;
		right: 0;
		bottom: -30px;
		margin: auto;
		transform: translateX(-25px);
	}

	.outline .map_area {
		border-radius: 0 0 30px 30px;
		box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, 0.2);
	}

	.outline .map_area iframe,
	.outline .map_area object,
	.outline .map_area embed {
		border-radius: 0 0 30px 30px;
	}

	.outline a {
		width: 130px;
		height: 25px;
		font-size: 11px;
		padding-right: 13px;
		border-radius: 25px;

	}

	.outline a:before {
		right: 20px;
		top: 8px;
	}

}