@charset "UTF-8";

/*TOPページメインビジュアルテキスト*/
#top #mainVisual {
	position: relative;
	margin-top: 200px;
	margin-bottom: 450px;
	letter-spacing: .5rem;
}
@media screen and (max-width: 480px) {
	#top #mainVisual {
		margin-top: 100px;
		margin-bottom: 200px;
		letter-spacing: .5rem;
	}
}
#top .first_text {
	position: relative;
	top: 10px;
	font-size: 5.0rem;
	line-height: 1.8rem;
	letter-spacing: 1.5rem;
	color: #A59ACA;
	text-align: center;
	animation-name: firstTextTransform;
	animation-duration: 2.0s;
	animation-fill-mode: forwards;
	animation-timing-function: ease;
	animation-delay: 1s;
	opacity: 0;
}
@media screen and (min-width:480px) and (max-width:1024px) {
	#top .first_text {
		font-size: 4.0rem;
	}
}
@keyframes firstTextTransform {
	0%{
		opacity: 0;
		transform: translateX(-100%);
	}
	100% {
		opacity: 1;
		transform: translateX(0);
	}
}
#top #mainVisual .first_text span::after, .second_text span::after {
	position: absolute;
	content: "";
	width: 0%;
	height: 2px;
	background: #A59ACA;
	left: 0;
	bottom: 0;
	animation-name : lineAnime;
	animation-duration: .8s;
	animation-timing-function: linear;
	animation-fill-mode: forwards;
	animation-delay: 4.0s;
}
@keyframes lineAnime {
	0%{
		width: 0%;
	}
	100%{
		width: 100%;
	}
}
#top .second_text {
	position: relative;
	top: 90px;
	font-size: 5.0rem;
	line-height: 1.5rem;
	letter-spacing: 1.5rem;
	color: #A59ACA;
	text-align: right;
	animation-name: secondTextTransform;
	animation-duration: 3.0s;
	animation-fill-mode: forwards;
	animation-timing-function: ease;
	animation-delay: 2.5s;
	left: 9%;
	opacity: 0;
}
@media screen and (min-width:480px) and (max-width:1024px) {
	#top .second_text {
		font-size: 4.0rem;
	}
}

@keyframes secondTextTransform {
	0%{
		opacity:0;
		transform: translateX(9%);
	}
	100%{
		transform: translateX(0);
		opacity:1;
	}
}
@media screen and (max-width: 480px) {
	#top .first_text {
		font-size: 4.0rem;
		line-height: 1.5rem;
	}
	#top .second_text {
		font-size: 4.0rem;
		line-height: 1.5rem;
	}
	@keyframes secondTextTransform {
		0%{
			opacity:0;
			transform: translateX(70px);
		}
		100%{
			transform: translateX(-80px);
			opacity:1;
		}
	}
}
#top #mainVisual #waveWrapper {
	position: relative;
}
#top #mainVisual #waveWrapper .wave {
	position: absolute;
	top: 80px;
	left: 0;
	width: 100%;
}
@media screen and (max-width: 480px){
	#top #mainVisual #waveWrapper .wave {
		top: 0;
	}
}
@media screen and (max-width:480px) {
	#top .first_text {
		font-size: 1.6rem;
		line-height:1.6rem;
	}
	#top .second_text {
		top: 50px;
		left: 0;
		opacity: 0;
		font-size: 1.6rem;
		line-height: 1.6rem;
	}
	#top #mainVisual .first_text span::after, .second_text span::after {
		position: absolute;
		content: "";
		width: 0%;
		height: 2px;
		background: #A59ACA;
		left: 0;
		bottom: 0;
		animation-name : lineAnime;
		animation-duration: .8s;
		animation-timing-function: ease-in-out;
		animation-fill-mode: forwards;
		animation-delay: 4.0s;
	}
	@keyframes lineAnime {
		0%{
			width: 0%;
		}
		100%{
			width: 100%;
		}
	}
	@keyframes secondTextTransform {
		0%{
			opacity:0;
			transform: translateX(70px);
		}
		100%{
			transform: translateX(0);
			opacity:1;
		}
	}
}
/*企業理念エリア*/
#top #philosophy {
	position: relative;
	margin-top: 100px;
	margin-bottom: 250px;
}
#top #philosophy .area_img_wrapper {
	width:100%;
	height:600px;
	background-image: url(../storage/img/philosophy/nature_woods.jpg);
	background-position: bottom right;
	background-attachment: fixed;
	background-size: center/80%;
	-webkit-background-size: center/80%;
}
@media screen and (max-width: 480px) {
	#top #philosophy .area_img_wrapper {
		height:800px;
		background-position: bottom right;
		background-attachment: scroll, local;
		background-size: cover;
	}
}
#top .area_title {
	position: absolute;
	top: -50px;
	left: 3px;
}
@media screen and (max-width: 480px) {
	#top .area_title {
		position: absolute;
		top: -35px;
		left: 15px;
	}
}

#top .area_title h2{
	font-size: 1.8rem;
	color: #A59ACA;
	letter-spacing: .2rem;

}
#top .text_area_wrapper {
	position: absolute;
	top: 0;
	left: 0;
	height: 600px;
	border: solid 2px #A59ACA;
	background-color: rgba(255,255,255,0.6);
}
@media screen and (max-width:480px) {
	#top .text_area_wrapper {
		height: 600px;
	}
	#top #philosophy .sub_text_area {
		font-size: 1.2rem;
	}
}
#top #business .text_area_wrapper {
	position: absolute;
	top: 0;
	right: 0;
	left: 50%;
	height:600px;
	border: solid 2px #A59ACA;
	background-color: rgba(255,255,255,0.6);
}
@media screen and (max-width:480px) {
	#top #business .text_area_wrapper {
		position: absolute;
		top: 0;
		right: 0;
		left: 0;
		height: 600px;
		border: solid 2px #A59ACA;
	}
}
.text_area {
	margin: 100px 0;
}
#top #business .text_area {
	margin: 35% 0;
}
.text_area h3 {
	font-size: 2.0rem;
}
.sub_text_area {
	text-align: left;
	font-size: 1.3rem;
}
.right_side_wrapper {
	position: absolute;
	top: 0;
	height: 600px;
	left: 50%;
}
#top #business .right_side_wrapper {
	position: absolute;
	top: 0;
	height: 600px;
	left: 0;
}
@media screen and (max-width:480px){
	#top .right_side_wrapper {
		height: 800px;
		left:0;
	}
	#top #business .right_side_wrapper {
		height: 800px;
		left:0;
	}
}
#top .area_btn {
	position:absolute;
	top:50%;
	left: 35%;
	background-color: rgba(220,217,236,0.8);
	border: solid 1px #A59ACA;
	width: 200px;
	/* margin-top: 300px; */
	transition: all .5s ease-out;
}
#top #business .area_btn {
	top: 43%;
	left: 35%;
}
@media screen and (max-width: 480px) {
	#top .area_btn {
		width: 200px;
		position:absolute;
		top:80%;
		left: 25%;
	}
	#top #business .area_btn {
		width: 200px;
		position:absolute;
		top:80%;
		left: 25%;
	}
}
#top .area_btn:hover {
	background-color: #e6ccdd ;
	border: solid 1px #e6ccdd
}
#top .area_btn span {
	display: block;
	margin: 20px 10px;
	color: #fff;
	font-size: .9rem;
}

/*企業理念エリアend*/
/*事業内容エリア*/
#top #business {
	position: relative;
	margin-top: 100px;
	margin-bottom: 200px;
}
#top #business .area_img_wrapper {
	width:100%;
	height:600px;
	background-image: url(../storage/img/business/trail.jpg);
	background-position: bottom right;
	background-attachment: fixed;
	background-size: cover;
}
@media screen and (max-width: 480px) {
	#top #business .area_img_wrapper {
		width: 100%;
		height: 800px!important;
		background-image: url(../storage/img/business/trail.jpg);
		background-position: bottom right -450px;
		background-attachment: scroll, local;
		background-size: cover;
	}
}
#top #business .business_category_wrapper {
	display: flex;
	margin-top: 30px;
}
@media screen and (max-width: 480px) {
	#top #business .business_category_wrapper {
		display: block;
	}
}
#top #business .business_category_item {
	height: 500px;
	border: solid 1px #A59ACA;
	transition: all .5s ease-out;
}
#top #business div.category_media:hover {
	background-color: rgba(230,204,221,1);
	color: #fff!important;
}
#top #business .business_category_item:hover {
	background-color: rgba(165,154,202,0.5);
	color: #fff!important;
}
#top #business .business_category_item_header {
	margin: 50px 0;
	height: 150px;
}
#top #business .business_category_item img {
	object-fit: contain;
	width: 80px;
	margin: 20px 43px;
}
#top #business .business_category_item_header .business_title {
	font-size: 1.5rem;
}

/*事業内容エリア end*/
/*アクセスエリア*/
#top #access {
	position: relative;
	margin-top: 100px;
	margin-bottom: 200px;
}
#top #access .area_img_wrapper {
	width:100%;
	height: 600px;
	background-image: url(../storage/img/access/access_img.jpg);
	background-position: left 100px center;
	background-attachment: fixed;
	background-size: cover;
}
#top #access .text_area_wrapper {
	background:#fff;
}
@media screen and (max-width: 390px) {
	#top #access .text_area_wrapper {
		background-color: rgba(255,255,255,0.6);
		height: 600px;
	}
	#top #access .area_img_wrapper {
		width:100%;
		height: 800px;
		background-image: none;
		/* background-image: url(../storage/img/access/access_img.jpg);
		background-position: top 70% left 50%;
		background-attachment: fixed;
		background-size: cover; */
	}
}
#top #access .map {
	height: 100%;
	background-color: #ccc;
	/* margin: 100px 170px; */
}
@media screen and (max-width: 480px) {
	#top #access .map {
		height: 100%;
		background-color: #ccc;
		/* margin: 100px 0; */
	}
}
/*アクセスエリア end*/
/*-------- TOPページend-----------*/

/*各ページ共通(TOP以外)*/
#pageTitle {
	position: relative;
	display: block;
	margin-top: 70px;
	margin-bottom : 100px;
}
@media screen and (max-width: 480px) {
	#pageTitle {
		position: relative;
		display: block;
		margin-top: 70px;
		margin-bottom : 50px;
	}
}
#pageTitle h1 {
	display : flex;
	position: relative;
	height: 100px;
}
@media screen and (max-width: 480px) {
	#pageTitle h1 {
		height: 63px;
	}
}
#pageTitle h1 .category_no {
	position: relative;
	display: inline-block;
	margin-right: 1.0rem;
	font-size: 2.0rem;
	/* margin-top: 10px;
	margin-bottom: 17px; */
}
#pageTitle h1 span {
	position :relative;
}
#pageTitle h1 span.category_no::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 1px;
	background-color: #000;
}

#pageTitle h1 .category_name{
	display : inline-block;
	bottom: 0;
	left: 30px;
	font-size: 5.0rem;
}
#subTitle h2 span{
	opacity: 0;
	animation-name: pageSubtitleFadeIn;
	animation-duration: 3.0s;
	animation-fill-mode: forwards;
	animation-delay: 2.5s;
	animation-timing-function: ease;
}
@keyframes pageSubtitleFadeIn{
	0%{
		opacity:0;
	}
	100%{
		opacity:1;
	}
}
#subTitle h2 span {
	color: #A59ACA;
	font-size: 2.0rem;
	text-align: center;
}
@media screen and (max-width:480px) {
	#pageTitle h1 .category_no {
		position: relative;
		display: inline-block;
		margin-right: 1.0rem;
		font-size: 1.0rem;
		margin-top: 10px;
		margin-bottom: 17px;
	}
	#pageTitle h1 .category_name{
		display : inline-block;
		bottom: 0;
		left: 1%;
		font-size: 3.0rem;
	}
	#subTitle h2 span {
		color: #A59ACA;
		font-size: 1.5rem;
		text-align: center;
	}
}
#mainText {
	display: block;
	width: 70%;
	margin-left: 5%;
	margin-bottom: 100px;
}
#mainText span {
	font-weight: lighter;
	font-size: 3.0rem;
}
#subText {
	display: block;
	width: 70%;
	margin-left: 5%;
	margin-bottom : 100px;
}
#subText span {
	font-weight: lighter;
	font-size: 1.4rem;
	line-height: 2.0;
}
@media screen and (max-width: 480px) {
	#mainText {
		display: block;
		width: 100%;
		margin-left: 0;
		margin-bottom: 50px;
	}
	#mainText span {
		font-weight: lighter;
		font-size: 1.5rem;
	}
	#subText {
		display: block;
		width: 100%;
		margin-left: 0;
		margin-bottom : 50px;
		line-height: 1.5rem;
	}
	#subText span {
		font-weight: lighter;
		font-size: 1.2rem;
		line-height: 2.0;
	}
}
.each_page_text_area {
	display: flex;
	height: 300px;
	margin-top: 100px;
	margin-bottom: 100px;
	opacity: 0;
}
.each_page_text_area .title {
	position: relative;
	margin-left: 5%;
}
.each_page_text_area .title h1 {
	font-size: 2.5rem;
}
@media screen and (min-width:481px) and (max-width:1024px) {
	.each_page_text_area .title h1 {
		font-size: 1.3rem;
	}
}
.each_page_text_area .text h3 {
	font-size: 1.5rem;
}
@media screen and (max-width:480px) {
	.each_page_text_area .title {
		position: relative;
		margin-left: 0;
		font-size:1.2rem;
	}
}
.each_page_text_area .title h1::after {
	position: absolute;
	content: "";
	width: 100%;
	height: 1px;
	left:0;
	top: 3.5rem;
	background: #000;
}
@media screen and (max-width:480px) {
	.each_page_text_area .title {
		margin-bottom: 25px;
	}
	.each_page_text_area .title h1 {
		font-size: 1.8rem;
	}
	.each_page_text_area {
		display: block;
		height: 300px;
		margin-top: 50px;
		margin-bottom: 50px;
	}
	.each_page_text_area .title h1::after {
		position: absolute;
		content: "";
		width: 100%;
		height: 1px;
		left:0;
		top: 2.3rem;
		background: #000;
	}
	.each_page_text_area .text h3 {
		font-size: 1.1rem;
	}

}

/*各ページ共通(TOP以外) end*/

/*-------- 企業理念ページ-----------*/
#philosophy #pageImg .page_img{
	width:100%;
	height:400px;
	background-image: url(../storage/img/philosophy/nature_woods.jpg);
	background-position: center center;
	background-attachment: fixed;
	background-size: cover;
}
@media screen and (max-width: 480px) {
	#philosophy #pageImg .page_img{
		height:200px;
		background-attachment: scroll;
		background-size: 100%;
		background-size: cover;
	}
}
/*-------- 企業理念ページend-----------*/
/*-------- 事業内容ページ-----------*/
#businessContent #pageImg .page_img{
	width:100%;
	height: 500px;
	background-image: url(../storage/img/business/trail.jpg);
	background-position: bottom right;
	background-attachment: fixed;
	background-size: cover;
}
@media screen and (max-width:480px) {
	#businessContent #pageImg {
		width:100%;
		height:200px;
	}
	#businessContent #pageImg .page_img{
		/* width:100%; */
		height: 200px;
		background-image: url(../storage/img/business/trail.jpg);
		background-position: center center;
		background-attachment: scroll;
		background-size: 100%;
	}
}
#businessContent .area_btn {
	position:absolute;
	top:50%;
	left: 35%;
	background-color: rgba(220,217,236,0.8);
	border: solid 1px #A59ACA;
	width: 200px;
	/* margin-top: 300px; */
	transition: all .5s ease-out;
}
#businessContent .area_btn {
	top:50%;
	left: 35%;
}
@media screen and (max-width: 480px) {
	#businessContent .area_btn {
		width: 200px;
		position:absolute;
		top:100%;
		left: 20%;
	}
}
#businessContent .area_btn:hover {
	background-color: #e6ccdd ;
	border: solid 1px #e6ccdd
}
#businessContent .area_btn span {
	display: block;
	margin: 20px 10px;
	color: #fff;
	font-size: .9rem;
}

/*-------- 事業内容ページend-----------*/
/*-------- 各事業事業ページ共通-----------*/
#businessDetail #pageTitle  {
	position: relative;
}

#businessMediaContent #pageImg .page_img{
	width:100%;
	height: 500px;
	background-image: url(../storage/img/business/outsource/puzzle_2.jpg);
	background-position: center center;
	background-attachment: fixed;
	background-size: cover;
}
@media screen and (max-width:480px) {
	#businessContent #pageImg {
		height:300px;
	}
}
#businessDetail #pageTitle h1 {
	margin-top: auto;
	margin-bottom: auto;
}
#businessDetail #pageTitle h1 {
	display: inline-block;
	top:25%;
	margin-top: auto;
	margin-bottom: auto;
}
#businessDetail #pageTitle h1 .category_name {
	font-size: 4.0rem;
	height: 170px;
	text-align: left;
}
@media screen and (max-width:480px) {
	#businessDetail #pageTitle h1 .category_name {
		font-size: 1.6rem;
		height: 50px;
		text-align: center;
	}
}
@media screen and (min-width:481px) and (max-width: 1024px) {
	#businessDetail #pageTitle h1 .category_name {
		font-size: 2.6rem;
	}
}
#businessDetail #pageTitle #subTitle {
	position: absolute;
	width: 30%;
	left: 37%;
	bottom: 20%;
}
@media screen and (max-width:480px) {
	#businessDetail #pageTitle #subTitle {
		position: absolute;
		width: 90%;
		left: 2%;
		bottom: -10%;
		font-size: 1.5rem;
	}
}
#businessDetail #pageTitle #subTitle span {
	opacity: 0;
	animation-name: pageSubtitleFadeIn;
	animation-duration: 3.0s;
	animation-fill-mode: forwards;
	animation-delay: 2.5s;
	animation-timing-function: ease;
	/* color: #e6ccdd; */
	color: #A59ACA;
}
#businessDetail #businessDetailPageGuide {
	position: relative;
	display: flex;
	height: 100px;
	width: 100%;
	margin: 5rem 0;
}
@media screen and (max-width:480px) {
	#businessDetail #businessDetailPageGuide {
		margin: 0 0;
		height: 30px;
	}
}
#businessDetail #businessDetailPageGuide p {
	font-size: 1.5rem;
	text-align: center;
}
@media screen and (max-width: 480px) {
	#businessDetail #businessDetailPageGuide p {
		font-size: 1.0rem;
	}
}
#businessDetail #businessDetailPageGuide p.category {
	/* position: relative; */
	opacity: 0.3;
	text-align: center;
	transition: all .5s ease;
}
#businessDetail #businessDetailPageGuide p.category::after {
	position: absolute;
	content: "";
	background-color: #ccc;
	width: 0;
	height: 1px;
	bottom: 0;
	left: 0;
}
#businessDetail #businessDetailPageGuide p.category:hover {
	opacity: 1;
	transition: all .5s ease;
}
#businessDetail #businessDetailPageGuide p.category:hover::after {
	width: 100%;
	transition: all .5s ease;
}
#businessDetail #businessDetailPageGuide p.line {
	position: relative;
	text-align : left;
}
#businessDetail #businessDetailPageGuide p.line::after {
	position: absolute;
	content: "";
	height: 2px;
	width: 50%;
	top: 30px;
	left: 15px;
	background-color: #ccc;
}
@media screen and (max-width:800px) {
	#businessDetail #businessDetailPageGuide p.line::after {
		top: 11px;
	}
}
#businessDetail #mainText {
	/* height: 300px; */
	padding-top: 60px;
	margin-left: auto;
	margin-right: auto;
}
#businessDetail #mainText span {
	text-align: center;
	font-size: 1.4rem;
}
@media screen and (max-width:480px) {
	#businessDetail #mainText span {
		font-size: 1.1rem;
	}
}
#businessDetail #mainText span {
	margin-bottom: 30px;
}
#businessDetail #mainText span:last-of-type {
	margin-bottom: 100px;
}
@media screen and (max-width: 480px) {
	#businessDetail #mainText span:last-of-type {
		margin-bottom: 0;
	}
}
/*-------- 各事業事業ページ共通 end-----------*/
/*-------- メディアページ固有-----------*/
#businessDetail #pageTitle #mediaBusiness .business_category_img_wrapper {
	height: 360px;
	background-image: url(../storage/img/business/media/media.jpg);
	background-position: left bottom;
	background-attachment: scroll;
	background-size: 100%;
}
@media screen and (max-width: 480px) {
	#businessDetail #pageTitle #mediaBusiness .business_category_img_wrapper {
		height: 200px;
	}
}
#businessDetail #mediaPageImg .page_img {
	height: 360px;
	background-image: url(../storage/img/business/media/family.jpg);
	background-position: bottom center;
	background-size: 120%;
	background-attachment: fixed;
}
@media screen and (max-width: 480px) {
	#businessDetail #mediaPageImg .page_img {
		height: 250px;
		background-position: bottom center;
		background-size: contain;
		background-attachment: scroll;
	}
}
#businessDetail .sns_icon {
	display: flex;
	text-align: center;
}
@media screen and (max-width: 480px) {
	#businessDetail .sns_icon {
		display: block;
		text-align: center;
	}
}
#businessDetail .sns_icon a {
}
#businessDetail .sns_icon img {
	width: 100px;
	margin-left: 25px;
	margin-right: 25px;
}
@media screen and (max-width: 480px) {
	#businessDetail .sns_icon img {
		width: 50px;
		margin-left: 25px;
		margin-right: 25px;
	}
}
#businessDetail #naimenbikatsu {
	padding: 100px 100px;
}
#businessDetail #naimenbikatsu h1 {
	font-size: 2.5rem;
	margin: 50px 0;
}
@media screen and (max-width: 480px) {
	#businessDetail #naimenbikatsu h1 {
		font-size: 2.0rem;
		margin: 50px 0;
	}
}
#businessDetail .naimenbikatsu_information {
	margin-bottom : 150px;
}
#businessDetail #naimenbikatsuContentsWrapper {
	position:relative;
}
#businessDetail #naimenbikatsuContentsWrapper .naimenbikatsu_information div.line {
	display: relative;
	margin: 30px 0;
}
#businessDetail #naimenbikatsuContentsWrapper .naimenbikatsu_information div.line::after {
	position: absolute;
	top: 25%;
	content: "";
	width: 100%;
	height: 1px;
	background-color: #000;
}
#businessDetail #naimenbikatsu .contents_area_title {
	font-size: 1.7rem;
	margin-bottom: 100px;
	text-align: center;
	opacity: 0;
}
@media screen and (max-width: 480px) {
	#businessDetail #naimenbikatsu .contents_area_title {
		font-size: 1.2rem;
		margin-bottom: 50px;
	}
}
#businessDetail #naimenbikatsu .contents_area_img {
	width: 40%;
	margin-bottom: 100px;
}
@media screen and (max-width: 480px) {
	#businessDetail #naimenbikatsu .contents_area_img {
		width: 90%;
		margin-bottom: 100px;
	}
}
#businessDetail #naimenbikatsu .contents_area_text {
	text-align: center;
	font-size: 1.1rem;
}
#businessDetail #naimenbikatsu .contents_area_text li {
	list-style: none;
	margin-bottom: 1.2rem;
}
/*-------- メディアページ固有 end-----------*/
/*-------- 運営受託事業固有　-----------*/
#businessDetail #pageTitle #outsourceBusiness .business_category_img_wrapper {
	height: 360px;
	background-image: url(../storage/img/business/outsource/puzzle.jpg);
	background-position: left bottom;
	background-attachment: scroll;
	background-size: 100%;
}
@media screen and (max-width: 480px) {
	#businessDetail #pageTitle #outsourceBusiness .business_category_img_wrapper {
		height: 200px;
	}
}
#businessDetail #outsourcePageImg .page_img {
	height: 360px;
	background-image: url(../storage/img/business/outsource/business_network.jpg);
	background-position: bottom center;
	background-size: 120%;
	background-attachment: fixed;
}
@media screen and (max-width: 480px) {
	#businessDetail #outsourcePageImg .page_img {
		height: 250px;
		background-position: bottom center;
		background-size: contain;
		background-attachment: scroll;
	}
}
#outsourcePage .each_page_text_area {
	display: block;
}
#outsourcePage .each_page_text_area .title {
	margin-bottom: 3.0rem;
}
#outsourcePage .each_page_text_area .title h1 {
	font-size: 1.8rem;
}
@media screen and (max-width: 480px) {
	#outsourcePage .each_page_text_area .title h1 {
		font-size: 1.1rem;
	}
}
#outsourcePage .each_page_text_area .title h1::after {
	position: absolute;
	content: "";
	width: 100%;
	height: 1px;
	left:0;
	top: 2.5rem;
	background: #000;
}
#outsourcePage .each_page_text_area .text {
	margin-left: 6.0rem;
}
@media screen and (max-width:480px) {
	#outsourcePage .each_page_text_area .text {
		margin-left: 0;
	}
}
/*-------- 運営受託事業固有 end-----------*/
/*-------- コンサルティング事業固有　-----------*/
#businessDetail #pageTitle #consultingBusiness .business_category_img_wrapper {
	height: 360px;
	background-image: url(../storage/img/business/consulting/business_partnership.jpg);
	background-position: left bottom;
	background-attachment: scroll;
	background-size: 100%;
}
@media screen and (max-width: 480px) {
	#businessDetail #pageTitle #consultingBusiness .business_category_img_wrapper {
		height: 200px;
	}
}
#businessDetail #consultingPageImg .page_img {
	height: 360px;
	background-image : url(../storage/img/business/consulting/linknetwork.jpg);
	background-position: bottom center;
	background-size: 120%;
	background-attachment: fixed;
}
@media screen and (max-width: 480px) {
	#businessDetail #consultingPageImg .page_img {
		height: 250px;
		background-position: bottom center;
		background-size: contain;
		background-attachment: scroll;
	}
}
/*-------- コンサルティング事業固有end　-----------*/
/*-------- アクセス固有　-----------*/
#access #mainText {
	width: 100%;
	height: 800px;
	margin-left: 0;
}
#access #mainText h1 {
	margin: 100px 0;
}
@media screen and (max-width: 480px) {
	#access #mainText h1 {
		font-size: 1.5rem;
	}
}
#access #mainText .corp_address {
	font-size: 1.2rem;
}
@media screen and (max-width: 480px) {
	#access #mainText .corp_address {
		font-size: 1.1rem;
	}
}
#access #mainText .map_link {
	position: relative;
	margin: 50px 0;
	font-size: 1.5rem;
}
#access #mainText .map_link a {
	color: #ccc;
	transition: all .5s ease-in-out;
}
#access #mainText .map_link a:hover {
	color: #000;
	transition: all .5s ease-in-out;
}
#access #mainText .map_link::after {
	position: absolute;
	bottom: -10px;
	left: 0;
	content: "";
	width: 0;
	height: 2px;
	background-color: #ccc;
	transition: all .5s ease-in-out;
}
#access #mainText .map_link:hover::after {
	width: 100%;
	transition: all .5s ease-in-out;
}
#access .map_wrapper {
	width: 100%;
	height: 500px;
}
@media screen and (max-width: 480px) {
	#access .map_wrapper {
		width: 100%;
		height: 300px;
	}
}
#access #mainText #corpMap {
	width: 90%;
	height: 100%;
}
@media screen and (max-width: 480px) {
	#access #mainText #corpMap {
		width: 100%;
		height: 100%;
	}
}
#access #mainText span {
	font-weight: lighter;
	font-size: 0.5rem;
}
#access #contactEmail {
	height: 500px;
}
@media screen and (max-width: 480px) {
	#access #contactEmail {
		height: 300px;
	}
}
#access #contactEmail .email_wrapper, #access #contactEmail .email_wrapper a{
	color: #e6ccdd;
	transition: all .5s ease-in-out;
}
#access #contactEmail .email_wrapper .title {
	font-size: 1.5rem;
	margin: 50px 0;
}
#access #contactEmail .email_wrapper .email {
	position: relative;
	font-size: 4.0rem;
}
@media screen and (max-width: 480px) {
	#access #contactEmail .email_wrapper .email {
		position: relative;
		font-size: 1.7rem;
	}
}
#access #contactEmail .email_wrapper .email a:hover {
	color: #A59ACA;
	transition: all .5s ease-in-out;
}
#access #contactEmail .email_wrapper .email::after {
	position: absolute;
	content: "";
	bottom: 0;
	left: 0;
	width : 0;
	height: 1px;
	background-color: #ccc;
	transition: all .5s ease-in-out;
}
#access #contactEmail .email_wrapper .email:hover::after {
	width: 100%;
	transition: all .5s ease-in-out;
}
/*-------- アクセスページ固有 end ----------*/
/*-------- コンタクトページ固有 ----------*/
#contact .table tr {
	margin-bottom: 2.0rem;
}
#contact .table th, #contact .table td {
	font-size: 1.3rem;
}
#contact .table th {
	width: 30%;
}
#contact .table td {
	width: 80%;
	border-bottom: solid 1px #ccc;
}
#contact .form-control {
    display: block;
    width: 100%;
    height: calc(1.5em + 0.75rem + 2px);
    padding: 2.5rem 0.75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #495057;
    background-color: #fff;
    background-clip: padding-box;
	border-top: none;
	border-right: none;
	border-left: none;
    border-bottom : none;
    border-radius: 0;
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
#contact [name="inquiry"] {
	height: 300px!important;
}
#contact .submit_button {
	margin: 100px 0;
}
#contact .btn-primary {
	padding-top: 20px;
	border: solid 1px #ccc;
	background-color: rgba(220,217,236,0.8);
	color: #fff;
	transition: all .5s ease-in-out;
	-webkit-transition: all .5s ease-in-out;
}
#contact .btn-info {
	padding-top: 20px;
	border: solid 1px #ccc;
	background-color: #ccc;
	color: #fff;
	transition: all .5s ease-in-out;
	-webkit-transition: all .5s ease-in-out;
}
#contact .button_submit:hover {
	background-color: #e6ccdd;
	border: solid 1px #A59ACA;
	transition: all .3s ease-in-out;
	-webkit-transition: all .3s ease-in-out;
}
.custom-control-input~.custom-control-label::before {
    top: 8px;
}
.custom-radio .custom-control-input~.custom-control-label::after {
    top: 8px;
}
@media screen and (max-width: 480px) {
	#contact #formArea label{
		font-size: 1.0rem;
	}
	#contactInquiryComplete #mainText h2 {
		font-size: 1.2rem;
	}
}
/*-------- コンタクトページ固有 end----------*/
