@charset "utf-8";
/* CSS Document */

/* =================================================================================

   コンテンツ
 
=================================================================================== */
/* 共通
====================================================== */
#main {
	width: 100%;
	display: block;
	position: relative;
	margin:70px 0 94px;
	}


/* breadcrumb */
#main #breadcrumb {
	position: absolute;
	top: 10px;
	left: 4%;
	font-size: 11px;
	z-index: 10;
	}

#main #breadcrumb a {
	position: relative;
	display: inline-block;
	color: #000;
	text-decoration: none;
	}

#main #breadcrumb a:after {
	position: absolute;
	bottom: -3px;
	left: 0;
	content: '';
	width: 100%;
	height: 1px;
	background: #b3b3b3;
	transform: scale(0, 1);
	transform-origin: right top;
	transition: transform .3s;
	}

/* main */
#main .mainTitleArea .mainTitleIn,
#main .mainImg {
	min-height: 405px;
	}

#main .mainTitleArea {
	width: 80%;
	position: absolute;
	top:0;
	left: 8%;
	z-index: 2;
	}

#main .mainTitleArea .mainTitleIn {
	position: relative;
	}

#main .mainTitleArea .mainTitleIn h1.mainTitle {
	position: absolute;
	top:50%;
	transform: translateY(-50%);
	font-family: 'Noto Serif JP', serif;
	font-size: 3.6em;
	font-weight: 400;
	text-shadow: #fff 2px 2px 0px, #fff 0 0 10px;
	}

#main .mainTitleArea .mainTitleIn h1.mainTitle span {
    display: block;
    font-family: 'Ropa Sans', sans-serif;
    font-size: 35%;
    font-weight: 400;
    padding-left: 7px;
	}

/* 事業紹介のみイレギュラー 
#business #main .mainTitleArea .mainTitleIn div {
	position: absolute;
	top:50%;
	transform: translateY(-50%);
	}

#business #main .mainTitleArea .mainTitleIn h1.mainTitle {
	position: static;
	transform: none;
	}

#business #main .mainTitleArea .mainTitleIn h2.subTitle {
	font-family: 'Noto Serif JP', serif;
	font-size: 5em;
	font-weight: 400;
	line-height: .7em;
	margin-top: 20px;
	}

#business #main .mainTitleArea .mainTitleIn h2.subTitle span {
	font-size: 50%;
	}*/

#main .mainImg {
	position: relative;
	width: 70%;
    margin-left: 30%;
	}

/*------ 個別写真 ------*/
/* 会社紹介 */
#main .mainImg.message {
	background: url(/images/company/main-message.jpg) center / cover no-repeat;
	}
#main .mainImg.outline {
	background: url(/images/company/main-outline.jpg) top center / cover no-repeat;
	}
#main .mainImg.philosophy {
	background: url(/images/company/main-philosophy.jpg) center / cover no-repeat;
	}
#main .mainImg.client {
	background: url(/images/company/main-client.jpg) center / cover no-repeat;
	}
#main .mainImg.history {
	background: url(/images/company/main-history.jpg) center / cover no-repeat;
	}
#main .mainImg.contact {
	background: url(/images/contact/main-contact.jpg) center / cover no-repeat;
	}
/* 実績 */
#main .mainImg.worksimg {
	background: url(/images/works/main-works.jpg?0800) center / cover no-repeat;
	}
/* 事業紹介 */
#main .mainImg.businessTopimg {
	background: url(/images/business/main-business.jpg?0831) center / cover no-repeat;
	}
#main .mainImg.print {
	background: url(/images/business/main-print.jpg) center / cover no-repeat;
	}
#main .mainImg.web {
	background: url(/images/business/main-web.jpg) center / cover no-repeat;
	}
#main .mainImg.video {
	background: url(/images/business/main-video.jpg) center / cover no-repeat;
	}
#main .mainImg.pp {
	background: url(/images/business/main-pp.jpg) center / cover no-repeat;
	}
#main .mainImg.magazineimg {
	background: url(/images/business/main-magazine.jpg?0800) center / cover no-repeat;
	}
#main .mainImg.marketingimg {
	background: url(/images/business/main-web-marketing.jpg?2507) left center / cover no-repeat;
	}
#main .mainImg.suggestimg {
	background: url(/images/business/main-suggest.jpg) center / cover no-repeat;
	}
/* 採用情報 */
#main .mainImg.recruit {
	background: url(/images/recruit/main-recruit.jpg) center / cover no-repeat;
	}
#main .mainImg.joint {
	background: url(/images/recruit/main-joint.jpg?0800) center / cover no-repeat;
	}
/* 選ばれる */
#main .mainImg.strongPointimg {
	background: url(/images/strong-point/main-strong-point.jpg?0800) top center / cover no-repeat;
	}
/* プライバシーポリシー */
#main .mainImg.privacyimg {
	background: url(/images/privacypolicy/main-privacy.jpg) center / cover no-repeat;
	}
/* サイトマップ */
#main .mainImg.sitemapimg {
	background: url(/images/sitemap/main-sitemap.jpg) center / cover no-repeat;
	}
/* お知らせ一覧 */
#main .mainImg.newsimg {
	background: url(/images/news/main-news.jpg) center / cover no-repeat;
	}

/* tab */
.tab {
	width: 100%;
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, .05));
	}

ul.tabArea {
	max-width: 1180px;
	width: 100%;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	margin: 0 auto 120px;
	}

ul.tabArea li {
	width : calc(100% / 6);
	position: relative;
	border-top: 1px solid rgba(204, 204, 204, 1);
	}

#recruit ul.tabArea li,
#jointBusiness ul.tabArea li {
	width: 26%;
	}

ul.tabArea li:before,
ul.tabArea li:last-child:after {
	content: "";
	display: block;
	background: linear-gradient(to top, rgba(204, 204, 204, .2) 50%, rgba(204, 204, 204, 1));
	width: 1px;
	height: 100%;
	position: absolute;
	top: 0;
	z-index: 2;
	}

ul.tabArea li:before {
	left: 0;
	}

ul.tabArea li:last-child:after {
	right: 0;
	}

ul.tabArea li .tabTxt {
	font-size: 1.6em;
	text-align: center;
	color: #000;
	background: linear-gradient(to top, rgba(0, 0, 0, .4), rgba(0, 0, 0, .9));
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	}

/* IE11 */
@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, ul.tabArea li .tabTxt { background: none; }
}

ul.tabArea li .tabTxt span {
	display: block;
	font-family: 'Ropa Sans', sans-serif;
    font-size: 80%;
    font-weight: 400;
    line-height: normal;
	}

ul.tabArea li a {
	width: 100%;
	height: 100%;
	display: block;
	position: relative;
	-webkit-transition: .3s ease;
	transition: .3s ease;
	padding: 30px 0 25px;
	z-index: 2;
	}

ul.tabArea li.nolink {
	padding: 30px 0 25px;
	}

ul.tabArea li a.disable {
	position: absolute;
	cursor: default;
	background: #ccede9;
	}

ul.tabArea li a.disable .tabTxt {
	color: #000;
	background: none;
	-webkit-background-clip: initial;
	-webkit-text-fill-color: initial;
	}

ul.tabArea li a.disable:before {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    bottom: -8px;
    left: 0;
    width: 0px;
    height: 0px;
    margin: auto;
    border-style: solid;
    border-color: #ccede9 transparent transparent transparent;
    border-width: 8px 8px 0 8px;
	}

ul.tabArea li a:not(.disable).hover {
	position: relative;
	background: #e5f6f4;
	z-index: 1;
	}


/* 共通エリア */
.businessArea,
.works,
.businessTop,
.newsList {
	max-width: 1180px;
	width: 90%;
	margin: auto;
	}

.toolArea {
	max-width: 1116px;
	}

.mailaddress {
	color: #41BBA7!important;
	}


/* cntButton
====================================================== */
.cntButton {
	max-width: 370px;
	width: 100%;
	display:block;
	position: relative;
	overflow: hidden;
	text-align:center;
	background: #41bba7;
	border: none;
	transition: .3s;
	margin: auto;
	z-index: 1;
	margin: 60px auto 0;
	}

#business .cntButton {
	background: #c6b388;
	}

.cntButton a {
	width: 100%;
	display: block;
	padding:18px 0;
	}

.cntButton a span {
	position: relative;
	font-size: 1.7em;
	letter-spacing: .1em;
	color:#fff;
	z-index: 3;
	}

.cntButton a:after {
	content: "";
	background: url(/images/common/more-arrow.svg) center right / 100% auto no-repeat;
	width: 40px;
	height: 9px;
	position: absolute;
	top:0;
	right: 18px;
	bottom: 0;
	margin: auto;
	z-index: 3;
	}

.cntButton a:before {
	content: '';
    position: absolute;
    transition: .5s;
    width: 0;
    top: 0;
    background: #000;
    opacity: .3;
    height: 210%;
    left: -60%;
    transform: skewX(-45deg);
    z-index: 2;
	}

@media only screen and (min-width: 769px) {
#main #breadcrumb a:hover:after {
	transform-origin: left top;
	transform: scale(1, 1);
	}

.cntButton a:hover:before {
    width: 210%;
	}
}

@media only screen and (max-width: 768px) {
#main {
    margin: 60px 0 80px;
	}

#main .mainTitleArea .mainTitleIn,
#main .mainImg {
    min-height: 345px;
	}

#main .mainTitleArea {
    left: 5%;
	}

ul.tabArea {
    margin: 0 auto 80px;
	}
}

@media only screen and (max-width: 480px) {
#main {
    display: block;
    margin: 60px 0 20px;
	}

#main #breadcrumb {
    position: static;
    padding: 10px 5% 25px;
	}

#main .mainTitleArea .mainTitleIn {
	width: 100%;
    min-height: auto;
	}

#main .mainImg {
	width: 100%;
    min-height: 330px;
    margin-left: 0;
	}

#main .mainTitleArea {
	width: 100%;
	position: static;
    padding: 0 4%;
	}

#main .mainTitleArea .mainTitleIn h1.mainTitle {
    position: static;
    top: 0;
    transform: none;
    font-size: 2.8em;
    margin-bottom: 30px;
	}

#main .mainTitleArea .mainTitleIn h1.mainTitle span {
    padding-left: 5px;
	}

/* 事業紹介のみイレギュラー 
#business #main .mainTitleArea .mainTitleIn div {
    position: static;
    top: 0;
    transform: none;
	}

#business #main .mainTitleArea .mainTitleIn h1.mainTitle {
    margin-bottom: 5px;
	}

#business #main .mainTitleArea .mainTitleIn h2.subTitle {
    font-size: 6.8vw;
    margin-top: 15px;
    margin-bottom: 30px;
	}*/

/* 個別写真 */
#main .mainImg.message {
	background: url(/images/company/main-message-sp.jpg) center / cover no-repeat;
	}
#main .mainImg.outline {
	background: url(/images/company/main-outline-sp.jpg) center / cover no-repeat;
	}
#main .mainImg.philosophy {
	background: url(/images/company/main-philosophy-sp.jpg) center / cover no-repeat;
	}
#main .mainImg.client {
	background: url(/images/company/main-client-sp.jpg) center / cover no-repeat;
	}
#main .mainImg.history {
	background: url(/images/company/main-history-sp.jpg) center / cover no-repeat;
	}
#main .mainImg.contact {
	background: url(/images/contact/main-contact-sp.jpg) center / cover no-repeat;
	}
#main .mainImg.worksimg {
	background: url(/images/works/main-works-sp.jpg?0800) center / cover no-repeat;
	}

/* 事業紹介 */
#main .mainImg.businessTopimg {
	background: url(/images/business/main-business-sp.jpg?0831) center / cover no-repeat;
	}
#main .mainImg.print {
	background: url(/images/business/main-print-sp.jpg) center / cover no-repeat;
	}
#main .mainImg.web {
	background: url(/images/business/main-web-sp.jpg) center / cover no-repeat;
	}
#main .mainImg.video {
	background: url(/images/business/main-video-sp.jpg) center / cover no-repeat;
	}
#main .mainImg.pp {
	background: url(/images/business/main-pp-sp.jpg) center / cover no-repeat;
	}
#main .mainImg.magazineimg {
	background: url(/images/business/main-magazine-sp.jpg?0800) center / cover no-repeat;
	}
#main .mainImg.marketingimg {
	background: url(/images/business/main-web-marketing-sp.jpg?2507) center / cover no-repeat;
	}
#main .mainImg.suggestimg {
	background: url(/images/business/main-suggest-sp.jpg) center / cover no-repeat;
	}

#main .mainImg.recruit {
	background: url(/images/recruit/main-recruit-sp.jpg) center / cover no-repeat;
	}
#main .mainImg.joint {
	background: url(/images/recruit/main-joint-sp.jpg?0800) center / cover no-repeat;
	}
#main .mainImg.strongPointimg {
	background: url(/images/strong-point/main-strong-point-sp.jpg?0800) center / cover no-repeat;
	}
#main .mainImg.privacyimg {
	background: url(/images/privacypolicy/main-privacy-sp.jpg) center / cover no-repeat;
	}
#main .mainImg.sitemapimg {
	background: url(/images/sitemap/main-sitemap-sp.jpg) center / cover no-repeat;
	}
#main .mainImg.newsimg {
	background: url(/images/news/main-news-sp.jpg) center / cover no-repeat;
	}

/* tab */
.tab {
    background: none;
	}

ul.tabArea {
    flex-wrap: wrap;
    border-bottom: 1px solid rgba(204, 204, 204, .7);
    justify-content: left;
    margin: 0 auto 40px;
	}

#recruit ul.tabArea,
#jointBusiness ul.tabArea {
    justify-content: center;
	}

ul.tabArea li:before,
ul.tabArea li:last-child:after {
	display: none;
	}

ul.tabArea li,
#recruit ul.tabArea li,
#jointBusiness ul.tabArea li {
    width: calc(100% / 3);
    border-top: 1px solid rgba(204, 204, 204, .7);
    border-right: 1px solid rgba(204, 204, 204, .7);
	}

#recruit ul.tabArea li:first-child,
#jointBusiness ul.tabArea li:first-child {
    border-left: 1px solid rgba(204, 204, 204, .7);
	}

ul.tabArea li:nth-child(3n) {
    border-right: none;
	}

ul.tabArea li a,
ul.tabArea li.nolink {
    padding: 25px 0 20px;
	}

ul.tabArea li .tabTxt {
	font-size: 1.3em;
	color: #999;
	}

ul.tabArea li a.disable:before {
    bottom: -6px;
    border-width: 6px 6px 0 6px;
	}

ul.tabArea li:nth-child(3n):after {
	content: "";
	display: block;
	background: rgba(204, 204, 204, .7);
	width: 100%;
	height: 1px;
	position: absolute;
	left: 0;
	bottom: -1px;
	}

/* button
====================================================== */
.cntButton {
    width: 100%;
	}
}

@media only screen and (max-width: 320px) {
.cntButton {
	text-align:left;
	}

.cntButton a {
    padding: 18px;
	}

.cntButton a span {
    font-size: 1.6em;
    letter-spacing: normal;
	}
}




/* =================================================================================

   会社案内,採用・外部提携
 
=================================================================================== */
/* 共通 */
.company {
	max-width: 860px;
	width: 90%;
	margin: auto;
	}

.company .access,
.company .philosophyList {
	margin-top: 120px;
	}

.company dl dt,
.company dl dd {
	font-size: 1.5em;
	}

.company .title {
	font-family: 'Noto Serif JP', serif;
    font-size: 3.6em;
    font-weight: 400;
    line-height: 1.6em;
    margin-bottom: 50px;
	}

.company .recruit .title {
	text-align: center;
	}

.company .philosophy .title {
	width: 45%;
    margin: 0 auto 62px;
    padding: 0 0 0 3%;
	}

.company .txt {
	line-height: 2.2em;
	margin-bottom: 30px;
	}

/* message ご挨拶
====================================================== */
.company .massage .companyName {
	text-align: right;
	margin-bottom: 15px;
	}

.company .massage .name {
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-end;
	align-items: center;
	}

.company .massage .name .post {
	margin-right: 20px;
	}

.company .massage .name .nameImg {
	width: 17%;
	}

.company .massage .name .nameImg img {
	width: 100%;
	}

/* outline 会社概要
====================================================== */
/* outline */
.company .outline dl {
	display: flex;
	border-bottom: 1px solid rgba(204, 204, 204, .7);
	margin-bottom: 30px;
    padding-bottom: 30px;
	}

.company .outline dl dt {
	width: 20%;
	font-weight: bold;
	}

.company .outline dl dd {
	width: 80%;
	margin: 0;
	}

.company .outline dl dd ul.list li {
	text-indent: -1.5em;
    margin-left: 1.5em;
	}

.company .outline dl dd ul.list li:before {
	content: '・';
	}

/* access */
.company .access .title {
	font-size: 2.5em;
	font-weight: bold;
	margin-bottom:30px;
	}

.company .access .txt {
	margin-bottom:20px;
	}

.company .access .map {
	height: 296px;
	margin-bottom: 20px;
	}

.company .access .accessList {
	background: #f4fbfa;
	padding: 5%;
	}

.company .access .accessList ol {
	counter-reset: item;
	list-style-type: none;
	padding-left: 0;
	}

.company .access .accessList ol li {
	position: relative;
	font-size: 1.5em;
	padding-left: 30px;
    margin-bottom: 10px;
	}

.company .access .accessList ol li:last-child {
	margin-bottom: 0;
	}

.company .access .accessList ol li:before {
	position: absolute;
    top: 0;
    left: 0;
	counter-increment: item;
	content: counter(item, decimal-leading-zero); /*指定したリストタイプで番号を出力*/
	font-weight: bold;
	color: #959595;
	padding-right: 15px;
	}

/* philosophy 理念 + recruit 採用
====================================================== */
/* philosophy */
/*.company .philosophy .title {
	width: 33.6%;
	margin: 0 auto 40px;
	}

.company .philosophy .title img {
	width: 100%;
	}*/

.company .philosophy .txt,
.company .recruit .txt {
	text-align: center;
	}

.company .recruit .txt {
	margin-bottom: 0;
	}

/* philosophy dl */
.company .philosophyList .title {
	font-size: 2.5em;
	text-align: center;
	margin-bottom: 40px;
	}

.company .philosophyList dl {
	display: flex;
	align-items: center;
	position: relative;
	border-top: 1px solid rgba(204, 204, 204, .7);
	padding: 30px 0;
	margin-bottom: 0;
	}

.company .philosophyList dl:last-child {
	border-bottom: 1px solid rgba(204, 204, 204, .7);
	}

.company .philosophyList dl:before,
.company .philosophyList dl:last-child:after {
	content: "";
	display: block;
	background: #41bba7;
	width: 30%;
	height: 2px;
	position: absolute;
	left: 0;
	z-index: 2;
	}

.company .philosophyList dl:before {
	top:0;
	}

.company .philosophyList dl:last-child:after {
	bottom:0;
	}

.company .philosophyList dl dt {
	width: 30%;
	}

.company .philosophyList dl dt .logomark {
	width: 60%;
    margin: 27px auto;
	}

.company .philosophyList dl dd {
	width: 60%;
	line-height: 1.8em;
	}

.request .requestDetails dl dd {
    width: 65%;
	text-align: justify;
}

.company .philosophyList dl dd ol {
	text-indent: -1.5em;
    margin-left: 1.5em;
	}

.company .philosophyList dl dd ol li {
	border: none;
	line-height: 1.8em;
	list-style-type: decimal;
	padding-left: 25px;
	}

/* recruit */
.company .recruit .subTit {
	width: 100%;
	position: relative;
	background: #ccede9;
	font-size: 1.5em;
	font-weight: bold;
	text-align: center;
	padding: 12px;
	margin-bottom: 40px;
	}

.company .recruit .subTit:before {
	content: "";
    display: block;
    position: absolute;
    right: 0;
    bottom: -5px;
    left: 0;
    width: 0px;
    height: 0px;
    margin: auto;
    border-style: solid;
    border-color: #ccede9 transparent transparent transparent;
    border-width: 5px 5px 0 5px;
	}

.company .recruit .job,
.company .recruit ul.work {
	margin-top: 90px;
	}

.company .recruit ul.jobList li {
	text-indent: -1.5em;
    font-size: 1.5em;
    margin: 5px 0 5px 1.5em;
	}

.company .recruit ul.jobList li:before {
	content: "●";
	}

.company .recruit ul.work {
	display: flex;
	flex-wrap: wrap;
	}

.company .recruit ul.work li {
	width: 45%;
	margin-right: 10%;
	}

.company .recruit ul.work li:last-child {
	margin-right: 0;
	}

.company .recruit ul.work li .workImg {
	width: 50%;
	margin: 0 auto ;
	}

.company .recruit ul.work li .workTxt {
	border-top: 1px solid rgba(204, 204, 204, .7); 
	padding-top: 30px;
	margin-top: 30px;
	}

.company .recruit .jointIllust {
	width: 12%;
	margin: 90px auto;
	}

.company .recruit .jointIllust img {
	width: 100%;
	}


/* client 主要取引先
====================================================== */
/* client */
.company .client dl {
	display: flex;
	flex-wrap: wrap;
	border-bottom: 1px solid rgba(204, 204, 204, .7);
	padding-bottom: 60px;
	margin-bottom: 60px;
	}

.company .client dl:last-child {
	border-bottom: none;
	padding-bottom: 0;
	margin-bottom: 0;
	}

.company .client dl dt {
	width: 15%;
	margin-right: 2%;
	font-weight: bold;
	}

.company .client dl dd {
	width: 83%;
	margin-left: 0;
	}

.company .client dl dd ul.clientList {
	display: flex;
	flex-wrap: wrap;
	}

.company .client dl dd ul.clientList li {
	width: calc((100% - 4%) / 3);
	letter-spacing: -.02em;
	margin-right: 2%;
	margin-top: 3px;
	}

.company .client dl dd ul.clientList li:nth-child(3n) {
	margin-right: 0;
	}

.company .client dl dd ul.clientList li:nth-child(-n+3) {
	margin-top: 0;
	}

/* history 沿革
====================================================== */
/* history */
.company .history dl {
	display: block;
	border-bottom: 1px solid rgba(204, 204, 204, .7);
	padding-bottom: 50px;
	margin-bottom: 50px;
	}

.company .history dl:last-child {
	border-bottom: none;
	padding-bottom: 0;
	margin-bottom: 0;
	}

.company .history dl dt {
	font-weight: bold;
	margin-bottom: 15px;
	}

.company .history dl dd {
	position: relative;
	margin-left: 70px;
	}

.company .history dl dd ul.historyList li {
	position: relative;
	padding:0 0 15px 10%;
	}

.company .history dl dd ul.historyList li:last-child {
	padding:0 0 0 10%;
	}

.company .history dl dd ul.historyList li:before {
	content: "●";
	display: block;
	color: #000;
	font-size: 1em;
	position: absolute;
	top:0;
	left: 0;
	bottom: 0;
	margin: auto;
	}

.company .history dl dd ul.historyList li:after {
	content: "";
    display: block;
    background: #000;
    width: 1px;
    height: 100%;
    position: absolute;
    top: 8px;
    left: 6px;
	}

.company .history dl dd ul.historyList li:last-child:after {
    display: none;
	}


@media only screen and (max-width: 768px) {
/* 共通 */
.company .access,
.company .philosophyList {
    margin-top: 80px;
	}

/* outline 会社概要
====================================================== */
.company .access .accessList {
    padding: 4%;
	}

/* client 主要取引先
====================================================== */
/* client */
.company .client dl {
	display: block;
	}

.company .client dl dt {
    margin-right: 0;
    margin-bottom: 10px;
	}

.company .client dl dt,
.company .client dl dd {
    width: 100%;
	}

/* philosophy 理念 + recruit 採用
====================================================== */
.company .recruit .job,
.company .recruit ul.work {
    margin-top: 80px;
}

.company .recruit .jointIllust {
    width: 20%;
    margin: 60px auto;
	}
}


@media only screen and (max-width: 480px) {
/* 共通 */
.company dl dt {
	font-size: 1.4em;
	}

.company dl dd {
	font-size: 1.3em;
	}

.company .title {
    font-size: 5.6vw;
	}

/* message ご挨拶
====================================================== */
.company .title,
.company .txt {
    margin-bottom: 20px;
	}

.company .massage .name .nameImg {
    width: 38%;
	}

/* outline 会社概要
====================================================== */
.company .outline dl {
    display: block;
	}

.company .outline dl dt {
    margin-bottom: 5px;
	}

.company .outline dl dt,
.company .outline dl dd {
	width: 100%;
	}

.company .access .title {
    font-size: 2.2em;
    margin-bottom: 15px;
	}

.company .access .accessList {
    padding: 25px;
	}

.company .access .accessList ol li {
	font-size: 1.3em;
	}

/* philosophy 理念 + recruit 採用
====================================================== */
/*.company .philosophy .title {
    width: 55%;
    margin: 0 auto 20px;
	}*/

.company .philosophy .title,
.company .philosophy .txt,
.company .recruit .txt {
    text-align: left;
	}

.company .philosophy .title {
    width: 77%;
    margin: 55px auto 45px;
}
	
.company .philosophyList dl {
	display: block;
	}

.company .philosophyList dl:before, .company .philosophyList dl:last-child:after {
    width: 35%;
	}

.company .philosophyList dl dt,
.company .philosophyList dl dd {
    width: 100%;
	}

.company .philosophyList dl dt {
    font-weight: bold;
    margin-bottom: 5px;
	}

.company .philosophyList dl dt .logomark {
    width: 40%;
    margin: 15px auto 25px;
	}

.company .philosophyList dl dd {
    margin-left: 0;
	}

/* recruit */
.company .recruit ul.work {
    display: block;
	}

.company .recruit ul.work li {
    width: 100%;
    margin-right: 0;
	}

.company .recruit ul.work li:last-child {
    margin-top: 80px;
	}

.company .recruit .subTit {
    margin-bottom: 25px;
	}

.company .recruit ul.jobList li {
    text-indent: -1.3em;
    font-size: 1.3em;
    margin: 5px 0 5px 1.3em;
	}

.company .philosophyList .title {
    font-size: 2.2em;
    margin-bottom: 25px;
	}

.company .recruit .jointIllust {
    width: 35%;
    margin: 40px auto;
	}


/* client 主要取引先
====================================================== */
/* client */
.company .client dl {
    padding-bottom: 30px;
    margin-bottom: 30px;
	}

.company .client dl dd ul.clientList li {
    width: calc((100% - 8%) / 2);
	}

.company .client dl dd ul.clientList li,
.company .client dl dd ul.clientList li:nth-child(3n) {
    margin-right: 4%;
	}

.company .client dl dd ul.clientList li:nth-child(2n) {
    margin-right: 0;
	}

.company .client dl dd ul.clientList li:nth-child(-n+3) {
	margin-top: 0;
	}

.company .client dl dd ul.clientList li:nth-child(-n+2) {
	margin-top: 3px;
	}

/* history 沿革
====================================================== */
.company .history dl {
    padding-bottom: 30px;
    margin-bottom: 30px;
	}

.company .history dl dd {
    margin-left: 0;
	}

}





/* =================================================================================

   事業紹介
 
=================================================================================== */
/* business 事業紹介トップ
====================================================== */
.businessTop .businessTopTxt {
	font-size: 1.7em;
    text-align: center;
    line-height: 2.2em;
    margin: 0 auto 94px;
	}

.businessTop ul.businessBtn {
	display: block;
	}

.businessTop ul.businessBtn li {
	position: relative;
	background: #f7f7f7;
	margin-top: 70px;
	}

.businessTop ul.businessBtn li:first-child {
	margin-top: 0;
	}

.businessTop ul.businessBtn li a {
	width: 100%;
	display: flex;
	position: relative;
	overflow: hidden;
	flex-wrap: nowrap;
	transition: .3s;
	}

.businessTop ul.businessBtn li .businessImg,
.businessTop ul.businessBtn li .businessArea {
	width: 50%;
	position: relative;
	}

.businessTop ul.businessBtn li .businessImg.creative {
	background: url(/images/business/business-top-creative.jpg) center / cover no-repeat;
	}
.businessTop ul.businessBtn li .businessImg.media {
	background: url(/images/business/business-top-media.jpg?0800) center / cover no-repeat;
	}
.businessTop ul.businessBtn li .businessImg.suggest {
	background: url(/images/business/business-top-suggest.jpg) center / cover no-repeat;
	}

.businessTop ul.businessBtn li .businessArea {
	display: flex;
	flex-wrap: nowrap;
	position: relative;
	padding: 6%;
	}

.businessTop ul.businessBtn li .businessArea .txtBox {
	width: 62%;
	margin-right: 8%;
	}

.businessTop ul.businessBtn li .businessArea .txtBox .tit {
	font-family: 'Noto Serif JP', serif;
	font-weight: 400;
	font-size: 3.8em;
	margin-bottom: 10px;
	}

.businessTop ul.businessBtn li .businessArea .txtBox .subTit {
	font-family: 'Noto Serif JP', serif;
	font-weight: 400;
	font-size: 2em;
	margin-bottom: 25px;
	}

.businessTop ul.businessBtn li .businessArea .illustBox {
	width: 30%;
	position: relative;
	}

.businessTop ul.businessBtn li .businessArea .illustBox .illust {
	width: 65%;
    float: right;
	}

.businessTop ul.businessBtn li .businessArea .illustBox .allow {
	clear: right;
    position: absolute;
    bottom: 0;
    right: 0;
	}

.businessTop ul.businessBtn li .businessArea .illustBox .allow:before,
.businessTop ul.businessBtn li .businessArea .illustBox .allow:after {
	content: "";
	display: block;
	position: absolute;
	margin: auto;
	}

.businessTop ul.businessBtn li .businessArea .illustBox .allow:after {
	background: url(/images/common/arrow.svg) right center / 100% auto no-repeat;
    width: 4px;
    height: 8px;
    top: 0;
    right: 5%;
    bottom: 0;
    margin: auto;
	}

.businessTop ul.businessBtn li .businessArea .illustBox .allow:before {
	background: #000;
	width: 40px;
	height: 1px;
	top:0;
	right: 6%;
	bottom: 0;
	transition: .3s;
	}

/*------ 共通 ------*/
.businessTxtArea {
	max-width: 1180px;
	width: 90%;
	margin: auto;
	}

.businessTxtArea {
	margin-bottom: 94px;
	}

.businessTxtArea .businessTit,
.businessTxtArea .businessTxt {
	text-align: center;
	}

.businessTxtArea .businessTit {
	font-family: 'Noto Serif JP', serif;
	font-size: 3.6em;
	font-weight: 400;
	margin-bottom: 20px;
	}

.businessTxtArea .businessTxt {
	font-size: 1.7em;
	}

.whiteArea {
	background: #fff;
	padding: 80px;
	}

/*------ businessTab ------*/
.businessTab {
	width: 100%;
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, .05)), #f7f7f7;
	padding-top: 94px;
	}

ul.businessTabArea {
	max-width: 1116px;
	width: 90%;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	margin: 0 auto;
	}

ul.businessTabArea li {
	width : calc(100% / 4);
	}

ul.businessTabArea li a {
	width: 100%;
	height: 100%;
	display: block;
	background: #fff;
	position: relative;
	opacity: .6;
	-webkit-transition: .3s ease;
	transition: .3s ease;
	padding: 16%;
	z-index: 2;
	}

ul.businessTabArea li a.iconTxt {
	position: relative;
	}

ul.businessTabArea li a.iconTxt.video:before,
ul.businessTabArea li a.iconTxt.web:before,
ul.businessTabArea li a.iconTxt.print:before,
ul.businessTabArea li a.iconTxt.pp:before {
    content: "";
    width: 22%;
    height: 23%;
    position: absolute;
    top: -4%;
    left: 7%;
    opacity: .6;
	}

ul.businessTabArea li a.iconTxt.video:before {
	background: url(/images/business/business-txt-video.svg) top left / 100% auto no-repeat;
	}
ul.businessTabArea li a.iconTxt.web:before {
	background: url(/images/business/business-txt-web.svg) top left / 100% auto no-repeat;
	}
ul.businessTabArea li a.iconTxt.print:before {
	background: url(/images/business/business-txt-print.svg) top left / 100% auto no-repeat;
	}
ul.businessTabArea li a.iconTxt.pp:before {
	background: url(/images/business/business-txt-pp.svg) top left / 100% auto no-repeat;
	}

ul.businessTabArea li .icon {
	width: 66%;
    margin: 30px auto;
	}

ul.businessTabArea li .tabTxt {
	font-family: 'Noto Serif JP', serif;
	font-size: 3em;
	font-weight: 400;
	line-height: normal;
	text-align: center;
	margin-bottom: 10px;
	}

ul.businessTabArea li .subTxt {
	display: none;
	color: #fff;
	margin-bottom: 0;
	}

ul.businessTabArea li a.disable {
	position: relative;
	cursor: default;
	box-shadow: 0 3px 8px 3px rgba(0,0,0,.1);
	opacity: 1;
	z-index: 5;
	}

ul.businessTabArea li a.disable:after {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    bottom: -8px;
    left: 0;
    width: 0px;
    height: 0px;
    margin: auto;
    border-style: solid;
    border-color: #fff transparent transparent transparent;
    border-width: 8px 8px 0 8px;
	}

ul.businessTabArea li a.disable .subTxt {
	display: block;
	color: #000;
	}

ul.businessTabArea li a.disable.iconTxt.video:before,
ul.businessTabArea li a.disable.iconTxt.web:before,
ul.businessTabArea li a.disable.iconTxt.print:before,
ul.businessTabArea li a.disable.iconTxt.pp:before {
	opacity: 1;
	}

ul.businessTabArea li a:not(.disable).hover {
	position: relative;
	opacity: 1;
	z-index: 1;
	transform: translate(0, 15px);
	}

ul.businessTabArea li .center {
	text-align: center;
	}

/*------ business ------*/
.businessTab + .business {
	margin-top: -60px;
	}

.businessTab.media + .business {
	margin-top: -30px;
	}

.business {
	width: 100%;
	position: relative;
    background: #fff;
    z-index: 4;
	}

.business .businessArea {
	padding: 120px 0;
	}

.business .businessArea .title {
	font-family: 'Noto Serif JP', serif;
	font-size: 3.2em;
	font-weight: 400;
	margin-bottom: 20px;
	}

.business .businessArea .title span {
	display: block;
	font-size: 70%;
	}

.business .businessArea .title,
.business .businessArea .title2,
.business .businessArea .txt {
	text-align: center;
	}

.business .businessArea .txt2 {
	width: 80%;
    line-height: 2em;
    margin: auto;
	}

.business .businessArea .title2 {
	position: relative;
	font-size: 2.5em;
	font-weight: bold;
	margin-bottom: 60px;
	}

.business .businessArea .title2:before {
	content: "";
	background: linear-gradient(to bottom right, #9bdfd6, #8cca98 25%, #41bba7 65%, #9bdfd6);
	width: 48px;
	height: 3px;
	position: absolute;
	left:0;
	right: 0;
	bottom: -20px;
	margin: auto;
	}

.p1_i4 {
	opacity: 0 !important;
	}

/* tool&flow */
.business .businessArea ul.tool,
.business .businessArea ul.flow {
	margin-top: 80px;
	}

.business .businessArea ul.tool,
.business .businessArea ul.flow {
	display: flex;
	flex-wrap: wrap;
	}

.business .businessArea ul.tool li {
	width: 24%;
	margin-right: 14%;
	margin-top: 60px;
	}

.business .businessArea ul.tool li:nth-child(3n) {
	margin-right: 0;
	}

.business .businessArea ul.tool li:nth-child(-n+3) {
	margin-top: 0;
	}

.business .businessArea ul.tool li .hukidashi,
.business .businessArea .ppArea li .txtBox .hukidash {
	position: relative;
    background: linear-gradient(to bottom right, #9bdfd6, #8cca98 25%, #41bba7 65%, #9bdfd6);
    border-radius: 25px;
    font-size: 1.4em;
    font-weight: bold;
    text-align: center;
    color: #fff;
    padding: 12px;
	}

.business .businessArea ul.tool li .hukidashi:before,
.business .businessArea .ppArea li .txtBox .hukidash:before {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    bottom: -5px;
    left: 0;
    width: 0px;
    height: 0px;
    margin: auto;
    border-style: solid;
    border-color: #41bba7 transparent transparent transparent;
    border-width: 5px 5px 0 5px;
	}

.business .businessArea ul.tool li .icon,
.business .businessArea .ppArea li .txtBox .icon {
	width: 50%;
	margin: 30px auto 25px;
	}

.business .businessArea ul.tool li .tit,
.business .businessArea .ppArea li .txtBox .tit {
    font-size: 2.4em;
    font-weight: bold;
    text-align: center;
    border-bottom: 1px solid rgba(204, 204, 204, .7);
    padding-bottom: 20px;
    margin-bottom: 20px;
	}

.business .businessArea ul.tool li .tit span,
.business .businessArea .ppArea li .txtBox .tit span {
    font-size: 70%;
	}

.business .businessArea ul.tool li .period,
.business .businessArea .ppArea li .txtBox .period  {
	margin-top: 5px;
	}

/* pp */
.business .businessArea .ppArea {
	width: 100%;
	}

.business .businessArea .ppArea li {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 80px;
	}

.business .businessArea .ppArea li .txtBox {
	width: 24%;
	}

.business .businessArea .ppArea li .movieBox {
	width: 58.4%;
	}

.business .businessArea .ppArea li .movieBox .movie {
    width: 100%;
    aspect-ratio: 16 / 9;
}

.business .businessArea .ppArea li .movieBox .movie iframe {
    width: 100%;
    height: 100%;
}

.business .businessArea .ppArea li .movieBox .dllink {
	width: 324px;
	margin: 30px auto 0;
}

.business .businessArea .ppArea li .movieBox .dllink a {
	width: 100%;
	display: block;
	position: relative;
	overflow: hidden;
	background: #41b6a2;
	text-align: center;
	transition: .3s ease;
	padding: 10px;
}

.business .businessArea .ppArea li .movieBox .dllink a span {
	    background: url(/images/business/icon-dl.svg) right 50% / 15px auto no-repeat;
	color: #fff;
	font-size: 1em;
	padding-right: 20px;
}




/* flow */
.business .businessArea ul.flow {
	position: relative;
	}

.business .businessArea ul.flow li {
	width: 100%;
	padding-top: 60px;
	}

.business .businessArea ul.flow li:first-child {
	padding-top: 0;
	}

.business .businessArea ul.flow li .flowImg,
.business .businessArea ul.flow li .txtArea {
	width: 42.5%;
	}

.business .businessArea ul.flow li .number {
	width: 15%;
	height: 100%;
	position: relative;
	margin: auto;
	}

.business .businessArea ul.flow li .number:before {
	content: "";
	background: rgba(0, 0, 0, .5);
	display: block;
	width: 1px;
	height: 100%;
	position: absolute;
	left: 0;
    right: 0;
    margin: auto;
    z-index: 1;
	}

.business .businessArea ul.flow li:last-child .number:before {
	display: none;
	}

.business .businessArea ul.flow li .number .numberImg {
	width: 25%;
	position: relative;
	background: #f7f7f7;
	padding-bottom: 22%;
	margin: auto;
	z-index: 2;
	}

.business .businessArea ul.flow li .fl {
	float: left;
	}

.business .businessArea ul.flow li .fr {
	float: right;
	}

.business .businessArea ul.flow li .txtArea .tit {
	font-family: 'Noto Serif JP', serif;
	font-size: 3em;
	font-weight: 400;
	margin-bottom: 10px;
	}

/*---伝える---*/
/* 共通 */
.business .businessArea ul.magazineFeature,
.business .businessArea ul.magazineInfor {
	display: flex;
	flex-wrap: wrap;
	}

/* magazineFeature */
.business .businessArea ul.magazineFeature {
	justify-content: space-around;
	}

.business .businessArea ul.magazineFeature li {
	width: 30%;
	display: flex;
	justify-content: space-between;
    flex-direction: column;
	margin-right: 5%;
	}

.business .businessArea ul.magazineFeature li:last-child {
	margin-right: 0;
	}

.business .businessArea ul.magazineFeature li .number {
	width: 35px;
	height: 35px;
	line-height: 35px;
	background: #41b6a2;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	color: #fff;
	}

.business .businessArea ul.magazineFeature li .illust {
	width: 53%;
	margin: 0 auto 30px;
	}

.business .businessArea ul.magazineFeature li .tit {
	font-size: 2em;
	color: #41b6a2;
	font-weight: bold;
	text-align: center;
	margin-bottom: 20px;
	}

/* magazineInfor */
.business .businessArea ul.magazineInfor li {
	width: 47%;
	margin-right: 6%;
	margin-top: 60px;
	}

.business .businessArea ul.magazineInfor li:nth-child(2n) {
	margin-right: 0;
	}

.business .businessArea ul.magazineInfor li:nth-child(-n+2) {
	margin-top: 0;
	}

.business .businessArea ul.magazineInfor li .hukidashi {
	position: relative;
	background: #41b6a2;
	font-size: 2em;
	font-weight: bold;
	text-align: center;
	color: #fff;
	padding: 15px;
	}

.business .businessArea ul.magazineInfor li .hukidashi:before {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    bottom: -14px;
    left: 0;
    width: 0px;
    height: 0px;
    margin: auto;
    border-style: solid;
    border-color: #41b6a2 transparent transparent transparent;
    border-width: 14px 8px 0 8px;
	}

.business .businessArea ul.magazineInfor li .inforArea {
	padding: 8%;
	}

.business .businessArea ul.magazineInfor li .inforArea .cover {
	width: 75%;
	margin: auto;
	}

.business .businessArea ul.magazineInfor li .inforArea .cover {
	width: 60%;
	margin: 0 auto 40px;
	}

.business .businessArea ul.magazineInfor li .inforArea .tit {
	font-size: 2em;
	font-weight: bold;
	border-bottom: 1px solid rgba(204, 204, 204, .7);
	padding-bottom: 25px;
	margin-bottom: 25px;
	}

.business .businessArea ul.magazineInfor li .inforArea dl.infor {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-bottom: 5px;
	}

.business .businessArea ul.magazineInfor li .inforArea dl.infor:last-of-type {
	margin-bottom: 25px;
	}

.business .businessArea ul.magazineInfor li .inforArea dl.infor dt,
.business .businessArea ul.magazineInfor li .inforArea dl.infor dd {
	font-size: 1.5em;
	font-weight: bold;
	}

.business .businessArea ul.magazineInfor li .inforArea dl.infor dt {
	width: 25%;
	border: 1px solid rgba(204, 204, 204, 1);
	text-align: center;
	padding: 1px;
	}

.business .businessArea ul.magazineInfor li .inforArea dl.infor dd {
	margin-left: 2%;
	}

.business .businessArea ul.magazineInfor li .inforArea .txtlink {
	margin-top: 25px;
	}

.business .businessArea ul.magazineInfor li .inforArea .txtlink a {
	position: relative;
	display: inline-block;
	color: #41b6a2;
	text-decoration: none;
	}

.business .businessArea ul.magazineInfor li .inforArea .txtlink a:before {
	position: absolute;
	bottom: -3px;
	left: 0;
	content: '';
	width: 100%;
	height: 1px;
	background: #41b6a2;
	transform: scale(0, 1);
	transform-origin: right top;
	transition: transform .3s;
	}

/* request */
.request {
	max-width: 1180px;
	width: 90%;
	}

.request .requestDetails {
	width: 100%;
    margin-top: 0;
	padding: 0 0 120px 0;
	}

/* marketing */
.business .businessArea .marketingTit {
    position: relative;
    font-size: 2.5em;
    font-weight: bold;
    text-align: center;
    margin-bottom: 40px;
	}

.business .businessArea .marketingTit:before {
	content: "";
	background: rgba(204, 204, 204, 1);
	width: 1px;
	height: 40px;
	position: absolute;
	left:0;
	right: 0;
	bottom: -60px;
	margin: auto;
	}

.business .businessArea .marketingSubTit {
	font-size: 2em;
    font-weight: bold;
    text-align: center;
    color: #41bba7;
	}

.business .businessArea .oldImg,
.business .businessArea .newImg {
	width: 72%;
	margin: auto;
	}

.business .businessArea .newImg {
	margin: 40px auto;
	}

.business .businessArea .business-arrow {
	width: 34px;
	margin: -5px auto 40px;
	}

/* marketing -process- */
.business .businessArea ul.process {
	max-width: 600px;
	width: 100%;
	position: relative;
	margin: 60px auto 0;
	}

.business .businessArea ul.process:before {
	content: "";
    background: url(/images/business/web-marketing-illust.svg) left bottom / 100% auto no-repeat;
    width: 30%;
    height: 17%;
    position: absolute;
    left: -25%;
    bottom: -1%;
	}

.business .businessArea ul.process li {
	display: flex;
	flex-wrap: wrap;
	}

.business .businessArea ul.process li .number {
	width: 65px;
	position: relative;
	}

.business .businessArea ul.process li .number:before {
	content: "";
	background: #41b6a2;
	display: block;
	width: 1px;
	height: 100%;
	position: absolute;
	top:0;
	left:0;
	right: 0;
	margin: auto;
	}

.business .businessArea ul.process li:last-child .number:before {
	display: none;
	}

.business .businessArea ul.process li .number p {
	width: 100%;
	height: 65px;
	line-height: 65px;
	position: relative;
	background: #41b6a2;
	font-size: 30px;
	font-weight: bold;
	text-align: center;
	color: #fff;
	z-index: 2;
	}

.business .businessArea ul.process li .processArea {
	width: calc(100% - 105px);
    position: relative;
    background: #e8f3f1;
    padding: 45px;
    margin-left: 40px;
    margin-bottom: 35px;
	}

.business .businessArea ul.process li .processArea:before {
    content: "";
    display: block;
    position: absolute;
    top: 20px;
    left: -15px;
    width: 0px;
    height: 0px;
    margin: auto;
    border-style: solid;
    border-color: transparent #e8f3f1 transparent transparent;
    border-width: 8px 15px 8px 0;
	}

.business .businessArea ul.process li .processArea .tit {
	font-size: 2em;
	font-weight: bold;
	margin-bottom: 15px;
	}

/* marketing -leader- */
.business .businessArea .leader {
	display: flex;
	flex-wrap: nowrap;
	}

.business .businessArea .leader .leaderArea {
	width: 56%;
	position: relative;
	margin-top: 30px;
	}

.business .businessArea .leader .leaderArea:before {
	content: "";
    display: block;
    background: url(/images/business/leader-txt.svg) top right / 100% auto no-repeat;
    width: 46%;
    height: 25%;
    position: absolute;
    top: -16%;
    right: -4%;
    z-index: 1;
	}

.business .businessArea .leader .leaderArea .tit {
	position: relative;
	border-bottom: 1px solid rgba(204, 204, 204, .7);
	padding-bottom: 70px;
	margin-bottom: 70px;
	z-index: 2;
	}

.business .businessArea .leader .leaderArea .tit span {
	font-size: 2.5em;
	}

.business .businessArea .leader .leaderArea .leaderTxt {
	margin-right: 11%;
	}

.business .businessArea .leader .leaderArea .leaderTxt .subtit {
	font-size: 2em;
	font-weight: normal;
	margin-bottom: 30px;
	}

.business .businessArea .leader .leaderArea .leaderTxt .post {
	margin-top: 30px;
	}

.business .businessArea .leader .leaderImg {
	width: 44%;
	position: relative;
	}

.business .businessArea .leader .leaderImg .img:before {
	content: "";
    display: block;
    background: linear-gradient(to bottom right, #9bdfd6, #8cca98 25%, #41bba7 65%, #9bdfd6);
    width: 75%;
    height: 70%;
    position: absolute;
    right: -45px;
    bottom: -45px;
    opacity: .6;
    z-index: -1;
	}

.business .businessArea .leader .leaderImg .img {
	width: 90%;
	position: relative;
	}

/*--- 提案する ---*/
/* suggest */
.business .businessArea ul.suggest li {
	display: flex;
	flex-wrap: nowrap;
	margin-top: 60px;
	}

.business .businessArea ul.suggest li:first-child {
	margin-top: 0;
	}

.business .businessArea ul.suggest li .suggestTxt {
	width: 45%;
	margin-right: 10%;
	}

.business .businessArea ul.suggest li .suggestImg {
	width: 45%;
	}

.business .businessArea ul.suggest li .suggestTxt {
	width: 47%;
	margin-right: 8%;
	}

.business .businessArea ul.suggest li .suggestTxt .titArea {
	width: 100%;
	display: flex;
    align-items: center;
	}

.business .businessArea ul.suggest li .suggestTxt .titArea .number {
	width: 8%;
	}

.business .businessArea ul.suggest li .suggestTxt .titArea .number img {
	width: 100%;
	}

.business .businessArea ul.suggest li .suggestTxt .titArea .tit {
	width: 80%;
	border-left: 1px solid rgba(204, 204, 204, .7);
	font-size: 2.5em;
    margin-left: 7%;
    padding-left: 7%;
	}

.business .businessArea ul.suggest li .suggestTxt .illust {
	width: 24%;
	margin: 30px auto;
	}



/* otherBtn */
.otherBtn {
    background: #f7f7f7;
    box-shadow: 0 35px 20px -10px rgba(0, 0, 0, 0.03)inset;
	}

.otherBtn .title {
    margin-bottom: 30px !important;
	}

ul.btnList {
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	}

ul.btnList li {
	width: 48.5%;
	margin-right: 3%;
	}

ul.btnList li:last-child {
	margin-right: 0;
	}

ul.btnList li a {
	width: 100%;
	height: 100%;
	display: flex;
	position: relative;
	background: #fff;
	overflow: hidden;
	transition: transform .3s;
	padding: 8%;
	z-index: 1;
	}

ul.btnList li a .btnIcon {
	width: 32%;
    margin-right: 5%;
    display: flex;
	}

ul.btnList li a .btnTxtArea {
	width: 68%;
	display: flex;
    flex-wrap: wrap;
    flex: 1;
    align-content: center;
    align-items: center;
	}

ul.btnList li a .btnTxtArea .tit {
	font-family: 'Noto Serif JP', serif;
	font-size: 2.4em;
	font-weight: 400;
	margin-bottom: 10px;
	}

@media only screen and (min-width: 769px) {
.businessTop ul.businessBtn li:hover .businessArea .illustBox .allow:before {
	width: 30px;
	}

.business .businessArea ul.magazineInfor li .inforArea .txtlink a:hover:before {
	transform-origin: left top;
	transform: scale(1, 1);
	}
}

/* --- 調整 ---- */
@media only screen and (max-width: 960px) {
.business .businessArea .leader .leaderArea {
    margin-top: 0;
	}

.business .businessArea .leader .leaderArea .tit {
    padding-bottom: 40px;
    margin-bottom: 40px;
	}

.business .businessArea .leader .leaderArea .leaderTxt .subtit {
    margin-bottom: 20px;
	}

.business .businessArea .leader .leaderArea .leaderTxt .post {
    margin-top: 20px;
	}

.business .businessArea .leader .leaderArea:before {
    width: 46%;
    height: 23%;
    top: -10%;
    right: -20%;
	}

.business .businessArea ul.suggest li .suggestTxt {
    width: 50%;
    margin-right: 5%;
	}

.business .businessArea ul.suggest li .suggestTxt .titArea .tit {
    font-size: 2.2em;
	}

.business .businessArea ul.suggest li .suggestTxt .illust {
    margin: 15px auto;
	}
}

@media only screen and (max-width: 768px) {
.businessTop .businessTopTxt {
    margin: 0 auto 70px;
	}

.whiteArea {
	padding: 40px;
	}

.businessTop ul.businessBtn li a {
    display: block;
	}

.businessTop ul.businessBtn li .businessImg,
.businessTop ul.businessBtn li .businessArea {
    width: 100%;
	}

.businessTop ul.businessBtn li .businessImg {
    min-height: 210px;
	}

.businessTop ul.businessBtn li .businessArea .illustBox .illust {
    width: 45%;
	}

.businessTop ul.businessBtn li .businessArea .txtBox .tit {
    font-size: 3em;
    margin-bottom: 3px;
	}

.businessTop ul.businessBtn li .businessArea .txtBox .subTit {
    font-size: 1.6em;
    margin-bottom: 15px;
	}

/*------ business ------*/
.businessTab + .business .businessArea {
	padding: 120px 0 80px;
	}

.business .businessArea {
    padding: 80px 0;
	width: 90%;
	}

.businessTxtArea .businessTit {
    font-size: 3.2em;
	}

.businessTxtArea {
    margin-bottom: 80px;
	}

.businessTab {
    padding-top: 80px;
	}

ul.businessTabArea li .tabTxt {
    font-size: 2.3em;
    margin-bottom: 5px;
	}

ul.businessTabArea li .icon {
    width: 80%;
    margin: 0 auto 15px;
	}

ul.businessTabArea li a.disable .subTxt {
    font-size: 1.4em;
    line-height: 1.7em;
	}

ul.businessTabArea li a.iconTxt.video:before,
ul.businessTabArea li a.iconTxt.web:before,
ul.businessTabArea li a.iconTxt.print:before {
    width: 31%;
    top: -5%;
	}

.business .businessArea .title {
    font-size: 3em;
    margin-bottom: 15px;
	}

.business .businessArea .txt2 {
	width: 100%;
	}

.business .businessArea ul.tool,
.business .businessArea ul.flow {
    margin-top: 60px;
	}

.business .businessArea ul.tool li {
    width: 30%;
    margin-right: 5%;
    margin-top: 40px;
	}

.business .businessArea ul.tool li .tit,
.business .businessArea .ppArea li .txtBox .tit {
    font-size: 1.8em;
    padding-bottom: 18px;
    margin-bottom: 18px;
	}

.business .businessArea ul.tool li .icon,
.business .businessArea .ppArea li .txtBox .icon {
    width: 60%;
    margin: 23px auto 20px;
	}

ul.btnList li a .btnTxtArea .tit {
    font-size: 2.6em;
	}

.business .businessArea ul.magazineFeature li .illust {
    margin: 0 auto 20px;
	}

.business .businessArea ul.magazineFeature li .tit,
.business .businessArea ul.magazineInfor li .hukidashi {
    font-size: 1.8em;
    margin-bottom: 15px;
	}

.business .businessArea ul.magazineInfor li {
    margin-top: 40px;
	}

.business .businessArea ul.magazineFeature li .tit {
    margin-bottom: 15px;
	}

.business .businessArea ul.magazineInfor li .hukidashi:before {
    bottom: -11px;
    border-width: 11px 6px 0 6px;
	}

.business .businessArea ul.magazineInfor li .inforArea .cover {
    margin: 0 auto 20px;
	}

.business .businessArea ul.magazineInfor li .inforArea .tit {
    font-size: 1.8em;
    padding-bottom: 18px;
    margin-bottom: 20px;
	}

.business .businessArea ul.magazineInfor li .inforArea dl.infor {
    display: block;
	}

.business .businessArea ul.magazineInfor li .inforArea dl.infor dt {
    width: 50%;
    margin-bottom: 2px;
	}

.business .businessArea ul.magazineInfor li .inforArea dl.infor dd {
    margin-left: 0;
	}

.business .businessArea ul.magazineInfor li .inforArea dl.infor:last-of-type {
    margin-bottom: 18px;
	}

.business .businessArea ul.magazineInfor li .inforArea .txtlink {
    margin-top: 18px;
	}

/* marketing -process- */
.business .businessArea ul.process {
    max-width: 769px;
    margin: 40px auto 0;
	}

.business .businessArea ul.process:before {
	display: none;
	}

.business .businessArea ul.process li:last-child .processArea {
	margin-bottom: 0;
	}

.business .businessArea .oldImg,
.business .businessArea .newImg {
    width: 100%;
	}

.business .businessArea ul.process li .number {
    width: 55px;
	}

.business .businessArea ul.process li .number p {
    height: 55px;
    line-height: 55px;
    font-size: 25px;
	}

.business .businessArea ul.process li .processArea {
    padding: 35px;
    margin-bottom: 30px;
	}

.business .businessArea ul.process li .processArea .tit {
    font-size: 1.8em;
    margin-bottom: 15px;
	}

.business .businessArea .leader .leaderArea .tit {
    padding-bottom: 25px;
    margin-bottom: 25px;
	}

.business .businessArea .leader .leaderArea .tit span {
    font-size: 2.2em;
	}

.business .businessArea .leader .leaderArea .leaderTxt .subtit {
    font-size: 1.8em;
	}

.business .businessArea .leader .leaderArea:before {
    top: -9%;
	}

/* suggest */
.business .businessArea ul.suggest li {
    margin-top: 40px;
	}
	
}



@media only screen and (max-width: 480px) {
.businessTop .businessTopTxt {
    font-size: 1.5em;
    text-align: left;
    line-height: 1.8em;
    margin: 50px auto 50px;
	}

.businessTab.media ul.businessTabArea li {
	width : calc(100% / 2);
	}

.businessTop ul.businessBtn li .businessImg {
    min-height: 200px;
	}

.businessTop ul.businessBtn li .businessArea {
    padding: 35px;
	}

.businessTop ul.businessBtn li .businessArea .txtBox {
    width: 75%;
    margin-right: 0;
	}

.businessTop ul.businessBtn li .businessArea .illustBox {
    width: 25%;
	}

.businessTop ul.businessBtn li .businessArea .illustBox .illust {
    width: 80%;
	}

.whiteArea {
    padding: 30px;
	}

/*------ business ------*/
.businessTab.media + .business {
    margin-top: -20px;
	}

.businessTab + .business .businessArea {
    padding: 105px 0 80px;
	}

.businessTab.media + .business .businessArea {
    padding: 80px 0 80px;
	}

.businessTxtArea {
    margin: 50px auto;
	}

.businessTxtArea .businessTit {
    font-size: 5.8vw;
	}

.businessTxtArea .businessTxt {
    font-size: 1.5em;
    text-align: left;
	}

ul.businessTabArea {
    width: 95%;
	}

ul.businessTabArea li {
    width:21%;
    margin-top: 30px;
	}

ul.businessTabArea li.tabhere {
    width:35%;
    margin-top: 0;
	}

ul.businessTabArea li .icon {
    width: 100%;
    margin: 0 auto 10px;
	}

ul.businessTabArea li .tabTxt {
    font-size: 4.6vw;
    text-align: center;
    letter-spacing: -0.05em;
    margin-bottom: 2px;
	}

ul.businessTabArea li a.disable .subTxt {
    font-size: 1.1em;
    line-height: 1.6em;
    letter-spacing: -0.05em;
	}

ul.businessTabArea li a.iconTxt.video:before,
ul.businessTabArea li a.iconTxt.web:before,
ul.businessTabArea li a.iconTxt.print:before,
ul.businessTabArea li a.iconTxt.pp:before {
    width: 45%;
    top: -6%;
    left: 10%;
	}

.business .businessArea .title {
    font-size: 5.8vw;
	}

.business .businessArea .txt {
    text-align: left;
	}

.business .businessArea ul.tool,
.business .businessArea ul.flow {
    display: block;
	}

.business .businessArea ul.tool li {
    width: 100%;
    margin-right: 0;
    margin-top: 0;
    margin-bottom: 40px;
	}

.business .businessArea ul.tool li:last-child {
    margin-bottom: 0;
	}

.business .businessArea ul.tool li .icon {
    text-align: center;
	}

.business .businessArea .ppArea li .movieBox .dllink {
	width: 100%;
}

.business .businessArea .ppArea li {
    display: block;
    margin-top: 60px;
	}

.business .businessArea .ppArea li .movieBox {
    width: 100%;
}

.business .businessArea .ppArea li .movieBox .dllink {
    margin: 20px auto 0;
}

.business .businessArea ul.flow li {
    position: relative;
    padding-top: 0;
    padding-bottom: 60px;
	}

.business .businessArea .ppArea li .txtBox {
    width: 100%;
    margin-bottom: 25px;
}

.business .businessArea ul.flow li:last-child {
    padding-bottom: 0;
	}

.business .businessArea ul.flow li .fl,
.business .businessArea ul.flow li .fr {
	float: none;
	}

.business .businessArea ul.flow li .flowImg,
.business .businessArea ul.flow li .txtArea {
    width: 100%;
	}

.business .businessArea ul.flow li .flowImg {
	margin-bottom: 15px;
	}

.business .businessArea ul.flow li .number {
    width: 8%;
    height: auto;
    position: absolute;
    top: -10px;
    left: 10px;
	}

.business .businessArea ul.flow li .number .numberImg {
    width: 100%;
    background: transparent;
    padding-bottom: 0;
	}

.business .businessArea ul.flow li .number:before {
    display: none;
	}

.business .businessArea ul.flow li .txtArea .tit {
    font-size: 2.4em;
    text-align: center;
	}

ul.btnList {
    display: block;
	}

ul.btnList li {
    width: 100%;
    margin-right: 0;
	}

ul.btnList li {
    margin-bottom: 20px;
	}

ul.btnList li:last-child {
    margin-bottom: 0;
	}

ul.btnList li a .btnTxtArea .tit {
    font-size: 2.2em;
	}

.business .businessArea .title2 {
	font-size: 2.2em;
    margin-bottom: 50px;
	}

.business .businessArea .title2:before {
    height: 2px;
	}

.business .businessArea ul.magazineFeature,
.business .businessArea ul.magazineInfor {
    display: block;
	}

.business .businessArea ul.magazineFeature li {
    width: 100%;
    display: block;
    margin-right: 0;
    margin-top: 40px;
	}

.business .businessArea ul.magazineInfor li {
    width: 100%;
    margin-right: 0;
    margin-top: 40px;
	}

.business .businessArea ul.magazineInfor li:nth-child(-n+2) {
    margin-top: 40px;
	}

.business .businessArea ul.magazineFeature li:first-child,
.business .businessArea ul.magazineInfor li:first-child {
    margin-top: 0;
	}

.business .businessArea ul.magazineInfor li .inforArea {
    padding: 30px;
	}

.business .businessArea .marketingTit {
    font-size: 2.2em;
    margin-bottom: 30px;
	}

.business .businessArea .marketingTit:before {
    bottom: -50px;
	}

.business .businessArea .marketingSubTit {
    font-size: 1.8em;
	}

.business .businessArea .newImg {
    margin: 30px auto;
	}

.business .businessArea ul.process li .number {
    width: 45px;
	}

.business .businessArea ul.process li .number p {
    height: 45px;
    line-height: 45px;
    font-size: 20px;
	}

.business .businessArea ul.process li .processArea {
    padding: 30px;
    margin-left: 6%;
    margin-bottom: 30px;
	}

.business .businessArea ul.process li .processArea {
    width: calc(100% - 70px);
    padding: 30px;
    margin-left: 25px;
	}

#leader .businessArea {
	padding-top: 0;
	}

.business .businessArea .leader {
    display: block;
	}

.business .businessArea .leader .leaderArea {
    width: 100%;
	}

.business .businessArea .leader .leaderArea .leaderTxt {
    margin-right: 0;
	}

.business .businessArea .leader .leaderArea:before,
.business .businessArea .leader .leaderImg .img:before {
    display: none;
	}

.business .businessArea .leader .leaderImg,
.business .businessArea .leader .leaderImg .img {
    width: 100%;
	}

.business .businessArea .leader .leaderImg {
	margin-top:20px; 
	}

.business .businessArea .leader .leaderImg .img img {
	width: 100%;
    height: 310px;
    object-fit: cover;
    object-position: top;
    overflow: hidden;
	}

/* suggest */
.business .businessArea ul.suggest li {
    display: block;
	}

.business .businessArea ul.suggest li .suggestTxt,
.business .businessArea ul.suggest li .suggestImg {
    width: 100%;
	}

.business .businessArea ul.suggest li .suggestTxt {
    margin-right: 0;
    margin-bottom: 15px;
	}

.business .businessArea ul.suggest li .suggestTxt .titArea .tit {
    font-size: 1.8em;
	}

.business .businessArea ul.suggest li .suggestTxt .illust {
    width: 28%;
	}
}




/* =================================================================================

   実績
 
=================================================================================== */
/*------ ソートボタン ------*/
.works ul#btnArea {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 100px;
	}

.works ul#btnArea li {
	width: calc((100% - 4%) / 3);
	position:relative;
	font-size: 1.5em;
	cursor: pointer;
	padding-left: 25px;
	margin-right: 2%;
	margin-top: 10px;
	}

.works ul#btnArea li:nth-child(3n) {
	margin-right: 0;
	}

.works ul#btnArea li:nth-child(-n+3) {
	margin-top: 0;
	}

.works ul#btnArea li:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 14px;
	height: 14px;
	border: 1px solid #999;
	border-radius: 50%;
	}

.works ul#btnArea li.active {
	color: #8cca98;
	}

.works ul#btnArea li.active:after {
    content: "";
    display: block;
    position: absolute;
    top: 3px;
    left: 3px;
    width: 10px;
    height: 10px;
    background: #8cca98;
    border-radius: 50%;
	}

/*------ worksArea ------*/
.works ul#worksArea {
	margin: auto;
	}

.works ul#worksArea li {
	display: flex;
	width: 30%;
	height:700px;
	float: left;
	margin-right: 3% !important;
	overflow: hidden;
	}

.works ul#worksArea li:nth-child(3n) {
	margin-right: 0 !important;
	}

.works ul#worksArea li .worksBox {
	background: #f7f7f7;
	padding: 7%;
	margin-bottom: 30px;
	}

.works ul#worksArea li .worksImg {
	width: 100%;
	margin-bottom: 15px;
	}

.works ul#worksArea li .worksImg img {
	width: 100%;
	}

.works ul#worksArea li .txtArea .suben {
	font-family: 'Ropa Sans', sans-serif;
	font-weight: 400;
	font-size: 1.2em;
	color: #969696;
	margin-bottom: 2px;
	}

.works ul#worksArea li .txtArea .client {
	font-size: 1.6em;
	font-weight: bold;
	border-bottom: #969696 1px solid;
	padding-bottom: 13px;
    margin-bottom: 15px;
	}

.works ul#worksArea li .txtArea dl.detail {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 6px;
	}

.works ul#worksArea li .txtArea dl.detail:last-child {
	margin-bottom: 0;
	}

.works ul#worksArea li .txtArea dl.detail dt,
.works ul#worksArea li .txtArea dl.detail dd {
	font-size: 1.4em;
	letter-spacing: normal;
	}

.works ul#worksArea li .txtArea a {
	position: relative;
    display: inline-block;
    color: #fff;
    text-decoration: none;
    background: #41b6a2;
    padding: 10px;
    transition: transform .3s;
	font-size: 1.4em;
	width: 100%;
    text-align: center;
	margin: 10px 0 0;
	overflow: hidden;
	z-index: 1;
	}

.works ul#worksArea li .txtArea a span {
	position: relative;
    color: #fff;
    z-index: 3;
	}

.works ul#worksArea li .txtArea a:before {
	content: '';
    position: absolute;
    transition: .5s;
    top: 0;
	width: 0;
    background: #000;
    opacity: .3;
    height: 100%;
    left: -60%;
	transform: skewX(-45deg);
	z-index: 2;
	}

.works ul#worksArea li .txtArea a:hover:before {
	width: 210%;
	}

.works ul#worksArea li .txtArea dl.detail dt {
	width: 35%;
	font-weight: bold;
	}

.works ul#worksArea li .txtArea dl.detail dd {
	width: 65%;
	position: relative;
	margin-left: 0;
	padding-left:3%; 
	}

.works ul#worksArea li .txtArea dl.detail dd:before {
	content: "";
	background: #969696;
	width: 1px;
	height: 90%;
	position: absolute;
	top:0;
	bottom: 0;
	left: 0;
	margin: auto;
	}

@media only screen and (max-width: 768px) {
.works ul#btnArea {
    margin-bottom: 80px;
	}

.works ul#worksArea li {
    height: 495px;
	}

.works ul#worksArea li .txtArea dl.detail {
    display: block;
	}

.works ul#worksArea li .txtArea dl.detail dt,
.works ul#worksArea li .txtArea dl.detail dd {
	width: 100%;
    font-size: 1.3em;
	}

.works ul#worksArea li .txtArea dl.detail dd {
    width: 100%;
    padding-left: 0;
	}

.works ul#worksArea li .txtArea dl.detail dd:before {
	display: none;
	}

.works ul#worksArea li .worksBox {
	margin-bottom: 20px;
	}

.works ul#worksArea li .txtArea .suben {
    margin-bottom: 0;
	}

.works ul#worksArea li .txtArea .client {
    font-size: 1.5em;
    padding-bottom: 8px;
    margin-bottom: 10px;
	}

.works ul#worksArea li .txtArea dl.detail {
    margin-bottom: 5px;
	}
}

@media only screen and (max-width: 480px) {
.works ul#btnArea {
    display: block;
    margin: 50px auto;
	}

.works ul#btnArea li {
	width: 100%;
	margin-right: 0;
	}

.works ul#btnArea li,
.works ul#btnArea li:nth-child(-n+3) {
	margin-top: 8px;
	}

.works ul#btnArea li:first-child {
	margin-top: 0;
	}

.works ul#worksArea li {
    width: calc((100% - 3%) / 2);
	}

.works ul#worksArea li {
    height: 452px;

	}

.works ul#worksArea li:nth-child(2n) {
	margin-right: 0 !important;
	}

.works ul#worksArea li:nth-child(3n) {
	margin-right: 3% !important;
	}

.works ul#worksArea li .worksImg {
    margin-bottom: 10px;
	}

.works ul#worksArea li .txtArea .client {
    font-size: 1.4em;
	}
}

@media only screen and (max-width: 320px) {
.works ul#worksArea li {
    width:100%;
	}

.works ul#worksArea li {
    height: 670px;
    display: block;
	}

.works ul#worksArea li,
.works ul#worksArea li:nth-child(3n) {
	margin-right: 0 !important;
	}
}




/* =================================================================================

   選ばれる理由
 
=================================================================================== */
.strongPoint .point {
	max-width: 1200px;
	width: 90%;
	position: relative;
	display: block;
	padding: 50px 0;
	margin: 120px auto 0;
	}

.strongPoint .fl {
	float: left;
	}
.strongPoint .fr {
	float: right;
	}

.strongPoint .point.point1:before,
.strongPoint .point.point2:before,
.strongPoint .point.point3:before {
	content: "";
	display: block;
	width: 48%;
	height: 100%;
	position: absolute;
	top:0;
	z-index: -1;
	}
.strongPoint .point.point1:before {
	background: url(/images/strong-point/strong-point-img1.jpg) top left / cover no-repeat;
	left: 0;
	}
.strongPoint .point.point2:before {
	background: url(/images/strong-point/strong-point-img2.jpg) top right / cover no-repeat;
	right: 0;
	}
.strongPoint .point.point3:before {
	background: url(/images/strong-point/strong-point-img3.jpg?0800) top center / cover no-repeat;
	left: 0;
	}

.strongPoint .point .en {
	position: absolute;
	top:-25px;
	font-family: 'Ropa Sans', sans-serif;
	font-weight: 400;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	letter-spacing: 0.5em;
	}

.strongPoint .point .en.l {
	left: 15px;
	}
.strongPoint .point .en.r {
	right: 15px;
	}

.strongPoint .point .pointArea {
	width: 75%;
	}

.strongPoint .point .pointArea .pointTitArea {
	width: 100%;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	border-bottom: 1px solid rgba(204, 204, 204, .7);
	padding-bottom: 50px;
	margin-bottom: 100px;
	}

.strongPoint .point .pointArea .pointTitArea .number {
	width: 20%;
	text-align: center;
	}

.strongPoint .point .pointArea .pointTitArea .number img {
	margin: 0 auto;
	}

.strongPoint .point .pointArea .pointTitArea .title {
	width: 80%;
	font-family: 'Noto Serif JP', serif;
	font-weight: 400;
	font-size: 3.6em;
	}
.strongPoint .point .pointArea .pointTitArea .title.r {
	text-align: right;
	border-right: 1px solid rgba(204, 204, 204, .7);
	padding-right: 9%;
	}
.strongPoint .point .pointArea .pointTitArea .title.l {
	text-align: left;
	border-left: 1px solid rgba(204, 204, 204, .7);
	padding-left: 9%;
	}

.strongPoint .pointTxtArea .pointTxtAreaBox {
	width: 58%;
	}
.strongPoint .pointTxtArea .pointTxtAreaBox.r {
	padding-right: 5%;
	}
.strongPoint .pointTxtArea .pointTxtAreaBox.l {
	padding-left: 5%;
	}

.strongPoint .pointTxtArea .pointTxtAreaBox .pointList {
	margin-top: 60px;
	}

.strongPoint .pointTxtArea .pointTxtAreaBox .pointList li {
	display: flex;
	align-items: center;
	margin-top: 52px;
	}

.strongPoint .pointTxtArea .pointTxtAreaBox .pointList li:first-child {
	margin-top: 0;
	}

.strongPoint .pointTxtArea .pointTxtAreaBox .pointList li .illust {
	width: 25%;
	margin-right: 10%;
	}

.strongPoint .pointTxtArea .pointTxtAreaBox .pointList li .pointTxt {
	width: 65%;
	}

.strongPoint .pointTxtArea .pointTxtAreaBox .pointList li .pointTxt .tit {
	background: #41bba7;
	font-size: 1em;
	font-weight: bold;
	text-align: center;
	color: #fff;
	padding: 8px;
	margin-bottom: 15px;
	}

/* 選ばれる用businessへのボタン */
#strongPoint .business .businessArea {
    padding: 175px 0 120px;
    margin: 0 auto;
	}

#strongPoint .business .businessArea .title {
    margin-bottom: 80px;
	}

#strongPoint .business .businessArea ul.businessIn li.creative:before,
#strongPoint .business .businessArea ul.businessIn li.media:before,
#strongPoint .business .businessArea ul.businessIn li.suggest:before {
	display: none;
	}

#strongPoint .business .businessArea ul.businessIn li h3.tit {
    font-size: 3.1em;
	}

#strongPoint .business .businessArea ul.businessIn li .subTit {
    font-size: 1.7em;
	}

#strongPoint .business .businessArea ul.businessIn li .illust {
    width: 70%;
    margin: 0 auto 10px;
	}

@media only screen and (min-width: 1201px) {
.strongPoint .point {
	padding: 50px 50px 50px 0;
	}
}

/* 調整 */
@media only screen and (max-width: 1024px) {
.strongPoint .point {
    padding: 20px 0;
	}

.strongPoint .pointTxtArea .pointTxtAreaBox.r {
    padding-right: 0;
	}

.strongPoint .pointTxtArea .pointTxtAreaBox.l {
    padding-left: 0;
	}

.strongPoint .point .pointArea .pointTitArea {
    padding-bottom: 50px;
    margin-bottom: 50px;
	}

.strongPoint .point .pointArea .pointTitArea .title {
    width: 100%;
    font-size: 3.3em;
	}

.strongPoint .point .pointArea {
    width: 80%;
	}

.strongPoint .point .pointArea .pointTitArea .title.r {
    padding-right: 5%;
	}

.strongPoint .point .pointArea .pointTitArea .title.l {
    padding-left: 5%;
	}
}

@media only screen and (max-width: 768px) {
.strongPoint .point {
    width: 100%;
    padding: 30px 0 0;
    margin: 70px auto 0;
	}

.strongPoint .point:first-of-type {
    margin: 0 auto 0;
	}

.strongPoint .fl,
.strongPoint .fr {
	float: none;
	}

.strongPoint .point.point1:before,
.strongPoint .point.point2:before,
.strongPoint .point.point3:before {
    width: 90%;
    height: 400px;
    position: relative;
	}

.strongPoint .point.point1:before {
    background: url(/images/strong-point/strong-point-img1.jpg) center / cover no-repeat;
	}
.strongPoint .point.point2:before {
    background: url(/images/strong-point/strong-point-img2.jpg) center 20% / cover no-repeat;
    margin-left: 10%;
	}
.strongPoint .point.point3:before {
	background: url(/images/strong-point/strong-point-img3.jpg?0800) center 26% / cover no-repeat;
	}

.strongPoint .point .en {
	display: none;
	}

.strongPoint .point .pointArea {
    width: 90%;
    margin: auto;
	}

.strongPoint .point .pointArea .pointTitArea {
    padding-bottom: 30px;
    margin-bottom: 30px;
    margin-top: 30px;
	}

.strongPoint .point .pointArea .pointTitArea .number {
    width: 20%;
    position: absolute;
    top: 0;
    border-left: 1px solid rgba(204, 204, 204, .7);
    border-right: 1px solid rgba(204, 204, 204, .7);
	}
.strongPoint .point .pointArea .pointTitArea .number.r {
    right: 5%;
	}
.strongPoint .point .pointArea .pointTitArea .number.l {
    left: 5%;
	}

.strongPoint .point .pointArea .pointTitArea .title {
    width: 100%;
    font-size: 3.2em;
	}

.strongPoint .point .pointArea .pointTitArea .title.r {
	text-align: left;
	border-right: none;
	}
.strongPoint .point .pointArea .pointTitArea .title.l {
	border-left: none;
	}

.strongPoint .pointTxtArea .pointTxtAreaBox {
    width: 100%;
	}

.strongPoint .point .pointArea .pointTitArea .title.r,
.strongPoint .point .pointArea .pointTitArea .title.l,
.strongPoint .pointTxtArea .pointTxtAreaBox.r,
.strongPoint .pointTxtArea .pointTxtAreaBox.l {
    padding: 0 5%;
	}

.strongPoint .pointTxtArea .pointTxtAreaBox .pointList {
    margin-top: 30px;
	}

.strongPoint .pointTxtArea .pointTxtAreaBox .pointList li {
    margin-top: 25px;
	}

/* 選ばれる用businessへのボタン */
#strongPoint .business .businessArea {
    padding: 80px 0 45px;
    margin: 0 auto;
	}

#strongPoint .business .businessArea .title {
    margin-bottom: 35px;
	}

#strongPoint .business .businessArea ul.businessIn li .illust {
    width: 80%;
    margin: 0 auto 5px;
	}
}


@media only screen and (max-width: 480px) {
.strongPoint .point.point1:before,
.strongPoint .point.point2:before,
.strongPoint .point.point3:before {
    height: 320px;
	}

.strongPoint .point.point1:before {
    background: url(/images/strong-point/strong-point-img1-sp.jpg) center / cover no-repeat;
	}
.strongPoint .point.point2:before {
    background: url(/images/strong-point/strong-point-img2-sp.jpg) center / cover no-repeat;
	}
.strongPoint .point.point3:before {
	background: url(/images/strong-point/strong-point-img3-sp.jpg) center / cover no-repeat;
	}

.strongPoint .point .pointArea .pointTitArea .title {
    font-size: 5.8vw;
	}

.strongPoint .point .pointArea .pointTitArea .number {
    width: 120px;
    height: 90px;
	}

.strongPoint .point .pointArea .pointTitArea .number img {
    width: 25px;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    transform: translateY(-50%);
	}

/* 選ばれる用businessへのボタン */
#strongPoint .business .businessArea {
    padding: 80px 0 25px;
	}

#strongPoint .business .businessArea ul.businessIn li .illust {
    width: 40%;
	}

#strongPoint .business .businessArea ul.businessIn li h3.tit {
    font-size: 2.6em;
	}

#strongPoint .business .businessArea ul.businessIn li .subTit {
    font-size: 1.5em;
    margin-bottom: 10px;
	}
}



/* =================================================================================

   プライバシーポリシー
 
=================================================================================== */
.privacy {
	margin-top: 120px;
	}

.privacy:first-child {
	margin-top: 0;
	}

.privacy .title {
	font-family: 'Noto Serif JP', serif;
    font-size: 3.3em;
    font-weight: 400;
    line-height: 1.6em;
    text-align: center;
    margin-bottom: 50px;
	}

.privacy .txt {
	text-align: left;
	}

.privacy ul.privacyList {
	margin-top: 60px;
	}

.privacy ul.privacyList li {
	border-bottom: 1px solid rgba(204, 204, 204, .7);
	padding: 60px 0;
	}

.privacy ul.privacyList li:first-child {
	border-top: 1px solid rgba(204, 204, 204, .7);
	}

.privacy ul.privacyList li .subTit,
.privacy ul.privacyList li .subTit2 {
	font-weight: bold;
	font-size: 1.5em;
    margin-bottom: 20px;
	}

.privacy ul.privacyList li .subTit {
	position: relative;
	text-indent: -70px;
    margin-left: 70px;
	}

.privacy ul.privacyList li .subTit span {
	display: inline-block;
	background: #ccede9;
	font-size: 20px;
    font-weight: bold;
    width: 45px;
    height: 45px;
    line-height: 45px;
    text-align: center;
    text-indent: 0;
    margin-right: 25px;
	}

.privacy ul.privacyList li ol li {
	border-bottom: none;
	}

.privacy ul.privacyList li ol li:first-child {
	border-top:none;
	}

.privacy ul.privacyList li ol.list {
	margin-left: 2em;
	}

.privacy ul.privacyList li ol.list li {
	counter-increment: cnt;
	padding: 0;
	}

.privacy ul.privacyList li ol.list li:before {
	content: "(" counter(cnt) ")";
	display:inline-block;
	margin-left:-1.5em;
	width: 1.5em;
	}

.privacy ul.privacyList li ol li,
.privacy ul.privacyList li p,
.privacy ul.enactment li {
	font-size: 1.5em;
	margin-top: 5px;
	}

.privacy ul.privacyList li ol.list2 li,
.privacy ul.privacyList li ol.list2 li ol.sublist li {
	padding: 0;
	margin-left: 1.5em;
	}

.privacy ul.privacyList li ol.list2 li {
	list-style-type: decimal;
	}

.privacy ul.privacyList li ol.list2 li .sublist li {
	list-style-type: upper-roman;
	font-size: inherit;
	}

.privacy ul.privacyList li .attention {
	text-indent: -1.5em;
    margin-left: 1.5em;
	}

.privacy ul.privacyList li .attention:before{
	content: '※';
	}

.privacy ul.privacyList li .inquiry {
	margin-top: 40px;
	}

.privacy ul.privacyList li .inquiry:first-child {
	margin-top: 0;
	}

@media only screen and (max-width: 480px) {
.privacy {
	margin-top: 80px;
	}

.privacy:first-child {
	margin-top: 50px;
	}

.privacy ul.privacyList {
    margin-top: 30px;
	}

.privacy .title {
    font-size: 5.8vw;
    text-align: left;
    margin-bottom: 20px;
	}

.privacy ul.privacyList li {
    padding: 30px 0;
	}

.privacy ul.privacyList li .subTit {
    text-indent: -60px;
    margin-left: 60px;
	}

.privacy ul.privacyList li .subTit span {
    font-size: 17px;
    width: 40px;
    height: 40px;
    line-height: 40px;
    margin-right: 20px;
	}

.privacy ul.privacyList li .inquiry {
    margin-top: 20px;
	}

.privacy ul.privacyList li ol li,
.privacy ul.privacyList li p,
.privacy ul.enactment li {
    font-size: 1.3em;
	}
}



/* =================================================================================

   サイトマップ
 
=================================================================================== */
.sitemap {
	display: flex;
	flex-wrap: wrap;
	}

.sitemap li {
	width: 28%;
	margin-right: 8%;
	}

.sitemap li:nth-child(3n) {
	margin-right: 0;
	}

.sitemap .more span,
.sitemap.main li .nolink {
    font-family: inherit;
    font-size: 1.6em;
    font-weight: bold;
	}

.sitemap .more,
.sitemap.main li .nolink{
	margin-bottom: 40px;
	}

.sitemap.main li .nolink {
	position: relative;
	display: block;
    width: 100%;
	}

.sitemap.main li .nolink:before {
	content: "";
	display: block;
	background: #8eccb9;
	width: 100%;
	position: absolute;
	left: 0;
    bottom: -20px;
	height: 1px;
	}

.sitemap .sub {
	margin-bottom: 60px;
	}

.sitemap .sub li {
	width: 100%;
	margin-top: 0;
	}

.sitemap .sub li {
	margin-bottom: 15px;
	}

.sitemap.sub {
	width: 28%;
	}

.sitemap.sub li {
	width: 100%;
	margin-bottom: 15px;
	margin-right: 0;
	}

.sitemap.sub li:last-child {
	margin-bottom: 0;
	}

.sitemap .sub li a,
.sitemap.sub li a {
	width: 100%;
	position: relative;
	display: block;
    background: url(/images/common/arrow.svg) right center / 4px 8px no-repeat;
    font-size: 1.5em;
	}

.sitemap .sub li a:before,
.sitemap.sub li a:before {
	position: absolute;
	bottom: -3px;
	left: 0;
	content: '';
	width: 100%;
	height: 1px;
	background: #b3b3b3;
	transform: scale(0, 1);
	transform-origin: right top;
	transition: transform .3s;
	}

.sitemapillust {
	position: relative;
	}

.sitemapillust .illust {
	width: 20%;
	position: absolute;
	right: 0;
	bottom:0;
	}

@media only screen and (min-width: 769px) {
.sitemap .sub li a:hover:before,
.sitemap.sub li a:hover:before {
	transform-origin: left top;
	transform: scale(1, 1);
	}
}


@media only screen and (max-width: 768px) {
.sitemap li,
.sitemap.sub {
    width: 46%;
	}

.sitemap li:nth-child(3n) {
	margin-right: 8%;
	}

.sitemap li:nth-child(2n) {
	margin-right: 0;
	}

.sitemap .sub li {
	margin-top: 0;
	}
}

@media only screen and (max-width: 480px) {
.sitemap,
.sitemap:first-child {
    margin-top: 60px;
    display: block;
	}

.sitemap:first-child {
    margin-top: 50px;
	}

.sitemap li {
    width: 100%;
	}

.sitemap .more span,
.sitemap.main li .nolink {
    font-size: 1.5em;
	}

.sitemap.main li .nolink:before {
    bottom: -15px;
	}

.sitemap .more,
.sitemap.main li .nolink {
    margin-bottom: 50px;
	}

.sitemap .sub {
	margin-top: -15px;
    margin-bottom: 35px;
	}

.sitemap.sub {
	width: 100%;
	}

.sitemap .sub li a,
.sitemap.sub li a {
	font-size: 1.3em;
	}

.sitemap .sub li,
.sitemap.sub li {
    margin-bottom: 10px;
	}

.sitemapillust .illust {
	display: none;
	}
}




/* =================================================================================

   お知らせ一覧
 
=================================================================================== */
.newsList {
	display: flex;
	flex-wrap: wrap;
	}

.newsList .newsListArea {
	width: 71%;
	margin-right: 9%;
	}

.newsList .archive {
	width: 20%;
	}

.newsList .newsListArea .tit {
	width: 100%;
	background: #edf8f6;
	font-size: 1.7em;
	font-weight: bold;
	text-align: center;
	padding: 12px;
	margin-bottom: 40px;
	}

.newsList .archive .tit {
	font-family: 'Ropa Sans', sans-serif;
	font-size: 1.4em;
	border-bottom:1px solid #41bba7; 
	padding-bottom: 20px;
	margin-bottom: 20px;
	}

.newsList .archive ol.archiveArea li a {
	width: 100%;
	display: block;
	position: relative;
	background: url(/images/common/arrow.svg) right center / 4px 8px no-repeat;
	font-size: 1.4em;
	font-weight: bold;
	padding: 25px 0;
	}

.newsList .archive ol.archiveArea li a:before,
.newsList .archive ol.archiveArea li a:after {
	content: "";
	position: absolute;
	left: 0;
    bottom: 0;
	height: 1px;
	}

.newsList .archive ol.archiveArea li a:before {
	display: block;
	background: rgba(0,0,0,.5);
	width: 100%;
	}

.newsList .archive ol.archiveArea li a:after {
	background: #8eccb9;
	width: 0;
	transition: .3s;
	z-index: 2;
	}

@media only screen and (min-width: 769px) {
.newsList .archive ol.archiveArea li a:hover:after {
	width: 100%;
	}
}

@media only screen and (max-width: 768px) {
.newsList {
    display: block;
	}

.newsList .newsListArea,
.newsList .archive {
	width: 100%;
	margin-right: 0;
	}

.newsList .archive {
	margin-top: 80px;
	}

.newsList .archive .tit {
    margin-bottom: 0;
	}

}

@media only screen and (max-width: 480px) {
.newsList .archive {
	margin-top: 60px;
	}

.newsList .archive ol.archiveArea li a {
    font-size: 1.3em;
    padding: 20px 0;
	}

.newsList .newsListArea .tit {
    margin-bottom: 20px;
    margin-top: 50px;
	}

}