/* 全体
-------------------------------- */
body {
	font-family: 'Noto Sans JP', sans-serif;
}
body #topOurServices {
	background: #f1f3f6;
	font-size: 14px;
}

#topOurServices .sp {
	display: none;
}
#topOurServices .pc {
	display: block;
}

#topOurServices .fade {
	opacity: 1;
	transition: opacity .5s ease-in-out;
}
#topOurServices .fade:hover {
	opacity: 0.5;
}

#topOurServices .wrapper {
	max-width: 1080px;
	margin: 0 auto;
}

@media (min-width: 1024px) {
	body #topOurServices {
		font-size: 16px;
	}
	#topOurServices .wrapper {
		max-width: 960px;
		margin: 0 auto;
	}
	#topOurServices .sp {
		display: none;
	}
	#topOurServices .pc {
		display: block;
	}
	#topOurServices .flexColReversePC {
		display: flex;
		flex-direction: column-reverse;
	}
}

@media (max-width: 640px) {
	#topOurServices .btnDetail {
		width: 90%;
	}
	#topOurServices .sp {
		display: block;
	}
	#topOurServices .pc {
		display: none;
	}
}


/* 導入
-------------------------------- */
#topOurServices #servicesIntro {
	padding: 120px 0 100px 0;
	background: #fff;
}
#topOurServices #servicesIntro .wrapper {
	padding-top: 120px;
	margin-top: -120px;
}
#topOurServices #servicesIntro h2 {
	margin-bottom: 40px;
	padding: 0;
	font-size: 1.8rem;
	color: #000;
}
#topOurServices #servicesIntro p {
	padding: 0;
	text-align: justify;
	text-indent: 0em;
	line-height: 1.8;
	font-size: 1.15em;
	color: #000;
}
#topOurServices #servicesIntro p:before {
	content: "";
	position: relative;
	top: 0;
	padding-right: 0;
}

@media (max-width: 640px) {
	#topOurServices #servicesIntro {
		padding: 8% 0;
	}
	#topOurServices #servicesIntro .wrapper {
		padding-top: 0%;
		margin-top: 0%;
	}
}


/* コンテンツ全般
-------------------------------- */
#topOurServices .colorA {
	background: #201350;
	background: linear-gradient(139.45deg, #b36dc0 0%, #201350 100%);
	background: radial-gradient(circle at 50% 0%, #b36dc0, #201350);
	color: #fff;
}
#topOurServices article {
	padding: 80px 0;
	background: #f1f3f6;
	background: radial-gradient(circle at 50% 0%, #ffffff, #f1f3f6);
}
#topOurServices h2 {
	margin: 0 auto;
	padding: 0 0 50px;
	text-align: center;
	font-size: 2em;
}
#topOurServices h3 {
	margin: 0 auto;
	padding: 0 0 30px;
	text-align: center;
	line-height: 1.4;
	font-size: 1.8em;
}
#topOurServices img + h3 {
	margin-top: 6%;
}
#topOurServices h4 {
	margin: 0 auto;
	padding: 0 0 30px;
	text-align: center;
	font-size: 1.2em;
}
#topOurServices article {
	padding: 80px 0 80px;
}
#topOurServices article:last-of-type {
	border-bottom: 0;
}
#topOurServices article p:not([class="note"]) {
	padding: 0 0 10px 1.5em;
	line-height: 1.4;
	text-align: justify;
	text-indent: -1.2em;
	font-size: 1.1em;
	color: #333;
}
#topOurServices article p:not([class="note"]):before {
	content: "●";
	position: relative;
	top: -0.1em;
	padding-right: 0.5em;
	font-size: 0.8em;
	color: #2d3238;
}
#topOurServices article p:not([class="note"]):last-of-type {
	padding: 0 0 50px 1.5em;
}
#topOurServices article .articleSub p:not([class="note"]):last-of-type {
	padding: 0 0 20px 1.5em;
}
#topOurServices article .articleSub p.spacer:before {
	content: "";
}
#topOurServices .note {
	display: flex;
	padding: 0 5% 6%;
	color: #333;
	font-size: 0.9em;
}
#topOurServices .note::before {
	display: block;
	margin-right: .2em;
	content: '※';
}
#topOurServices article p:not([class="note"]) + .note {
	padding: 50px 0 10px .4em;
}
#topOurServices article p:not([class="note"]) + .note:last-of-type {
	padding: 10px 0 50px .4em;
}
#topOurServices article .articleSub p:not([class="note"]) + .note:last-of-type {
	padding: 10px 0 20px .4em;
}
#topOurServices .note + .note {
	padding: 0 0 50px .4em;
}
#topOurServices article img {
	width: 100%;
	max-width: 442px;
}
#topOurServices article div[class^="flexBox"] {
	display: flex;
	align-content: flex-start;
	justify-content: space-between;
	margin-bottom: 0px;
}
#topOurServices article .flexBoxReverse {
	flex-direction: row-reverse;
}
#topOurServices article div[class^="flexBox"] > img,
#topOurServices article div[class^="flexBox"] > figure {
	width: 46%;
	align-self: flex-start;
}
#topOurServices article div[class^="flexBox"] > figure img {
	width: 100%;
}
#topOurServices article div[class^="flexBox"] > .flexText {
	width: 46%;
	align-self: center;
}
#topOurServices article div[class^="flexBox"] > .articleSub {
	width: 46%;
	align-self: flex-start;
}
#topOurServices article .articleSub {
	margin-bottom: 0;
	padding: 80px 0;
}
#topOurServices article .articleSub h4 {
	padding: 10px 0 20px;
}
#topOurServices article div[class^="flexBox"] .articleSub {
	padding: 0;
}
#topOurServices article .articleSub:first-of-type {
	padding-top: 3%;
}
#topOurServices article .articleSub:last-of-type {
	margin-bottom: 0%;
}

#topOurServices article .articleSub figure {
	margin: 0 auto 30px;
}
#topOurServices article .articleSub figure figcaption {
	padding-top: 10px;
	text-align: center;
	font-size: 0.85em;
	color: #444;
}


@media (max-width: 640px) {
	#topOurServices .colorA {
		background: linear-gradient(220.55deg, #b36dc0 0%, #201350 100%);
	}
	#topOurServices article {
		padding: 8% 0;
	}
	#topOurServices h2 {
		padding: 0 5% 6%;
	}
	#topOurServices h3 {
		padding: 0 5% 0;
		font-size: 1.6em;
	}
	#topOurServices h4 {
		padding: 0 5% 0;
		font-size: 1.3em;
	}
	#topOurServices article {
		padding: 12% 0 16%;
	}
	#topOurServices article p:not([class="note"]) {
		padding: 0 5% 1% 10%;
		text-indent: -1em;
		font-size: 1.15em;
	}
	#topOurServices article p:not([class="note"]):before {
		top: -0.2em;
		padding-right: 0.4em;
		font-size: 0.7em;
	}
	#topOurServices article p:not([class="note"]):last-of-type {
		padding: 0 5% 5% 10%;
	}
	#topOurServices article .articleSub p:not([class="note"]):last-of-type {
		padding: 0 5% 2% 10%;
	}
	#topOurServices .note {
		font-size: 1em;
	}
	#topOurServices article p:not([class="note"]) + .note {
		padding: 3% 5% 3%;
	}
	#topOurServices article p:not([class="note"]) + .note:last-of-type {
		padding: 3% 5% 6%;
	}
	#topOurServices article .articleSub p.spacer {
		display: none;
	}
	#topOurServices article div[class^="flexBox"] {
		display: block;
	}
	#topOurServices article div[class^="flexBox"] > img,
	#topOurServices article div[class^="flexBox"] > figure {
		width: 100%;
	}
	#topOurServices article div[class^="flexBox"] > .flexText {
		width: 100%;
	}
	#topOurServices article div[class^="flexBox"] > .articleSub {
		width: 100%;
	}
	#topOurServices article .articleSub {
		margin-bottom: 8%;
		padding-bottom: 0%;
	}
	#topOurServices article .articleSub h4 {
		padding: 10px 0 0;
	}
	#topOurServices article .articleSub figure {
		margin: 0 5% 5%;
	}
}


/* サービス・SNS運用代行
-------------------------------- */
#topOurServices #snsmanagement {
	border-bottom: 0;
	padding: 80px 0;
	background: #f5f7f9 url(../images/top_ourservices/pic-snsmanagement-bg.jpg) no-repeat right center;
	background-size: cover;
	background-attachment: fixed;
}
#topOurServices #snsmanagement h3 {
	padding-top: 0;
	margin-bottom: 10px;
}
#topOurServices #snsmanagement img {
	padding-top: 6em;
}

@media (max-width: 640px) {
	#topOurServices #snsmanagement {
		padding-top: 0;
		padding-bottom: 12%;
		background: #f5f7f9;
	}
	#topOurServices #snsmanagement h3 {
		padding-top: 8%;
		margin-bottom: 0;
	}
	#topOurServices #snsmanagement img {
		padding-top: 0;
	}
	#topOurServices #snsmanagement .btnDetail:nth-of-type(2) {
		height: 54px;
		border-radius: 18px !important;
		padding-top: 0;
		line-height: 1.2;
	}
}


/* サービス・SNSキャンペーン
-------------------------------- */
#topOurServices #snscampaign {
	padding: 80px 0 30px;
	background: #f5f7f9;
}
#topOurServices #snscampaign h3 {
	padding-top: 0;
	margin-bottom: 10px;
	font-size: 1.8em;
}

@media (max-width: 640px) {
	#topOurServices #snscampaign {
		padding: 4% 0 0;
		background: linear-gradient(#ffffff, #f5f7f9);
	}
	#topOurServices #snscampaign h3 {
		padding-top: 8%;
	}
}


/* サービス・フォトコンテスト
-------------------------------- */
#topOurServices #photocontest {
	padding-top: 80px;
	background: #f5f7f9 url(../images/top_ourservices/pic-photocontest-bg.jpg) no-repeat left center;
	background-size: cover;
	background-attachment: fixed;
}
#topOurServices #photocontest .flexBoxReverse {
	align-items: flex-end;
}
#topOurServices #photocontest h4 {
	padding-top: 0;
	margin-bottom: 10px;
	font-size: 1.8em;
}
#topOurServices #photocontest h4 span {
	font-size: 0.6em;
}
#topOurServices #photocontest img {
	padding-top: 2em;
}

@media (max-width: 640px) {
	#topOurServices #photocontest {
		margin-top: 6%;
		padding-top: 0;
		background: #f5f7f9;
		text-align: center;
	}
	#topOurServices #photocontest h4 {
		padding-top: 8%;
	}
	#topOurServices #photocontest img {
		width: 90%;
		margin-left: auto;
		margin-right: auto;
		padding-top: 0;
	}
	#topOurServices #photocontest .btnDetail {
		height: 54px;
		border-radius: 18px !important;
		padding-top: 0;
		line-height: 1.2;
	}
}


/* サービス・SNS投稿キャンペーン
-------------------------------- */
#topOurServices #postcampaign {
	padding-top: 80px;
	background: #f5f7f9;
}
#topOurServices #postcampaign h4 {
	padding-top: 0;
	margin-bottom: 10px;
	font-size: 1.8em;
}
#topOurServices #postcampaign h4 span {
	font-size: 0.6em;
}
#topOurServices #postcampaign img {
	padding-bottom: 70px;
}

@media (max-width: 640px) {
	#topOurServices #postcampaign {
		padding-top: 4%;
		background: #f5f7f9;
	}
	#topOurServices #postcampaign h4 {
		padding-top: 8%;
	}
	#topOurServices #postcampaign img {
		padding-bottom: 0px;
	}
	#topOurServices #postcampaign .btnDetail {
		height: 54px;
		border-radius: 18px !important;
		padding-top: 0;
		line-height: 1.2;
	}
}


/* サービス・コンテンツ生成・記事制作とPR
-------------------------------- */
#topOurServices #contentcreation .articleSub .btnDetail {
	margin: 0 auto 80px;
	letter-spacing: 0.05em;
	font-size: 1.1rem;
}
@media (min-width: 1080px) {
	#topOurServices #contentcreation {
		padding: 80px 0 0px;
	}
	#topOurServices #contentcreation h3 {
		margin-bottom: 10px;
	}
}

@media (max-width: 640px) {
	#topOurServices #contentcreation {
		padding-bottom: 8%;
		border-top: 1px solid #ccd2db;
	}
	#topOurServices #contentcreation h3 {
		padding-bottom: 5%;
	}
	#topOurServices #contentcreation .articleSub .btnDetail {
		margin: 0 auto 8%;
	}
}


/* サービス・フォトスポット開発
-------------------------------- */
#topOurServices #photospotdev {
	padding-bottom: 0;
}

@media (max-width: 640px) {
	#topOurServices #photospotdev {
		padding-bottom: 1%;
	}
	#topOurServices #photospotdev .btnDetail {
		height: 54px;
		border-radius: 18px !important;
		margin-top: 10%;
		padding-top: 0;
		line-height: 1.2;
	}
	#topOurServices #photospotdev .btnDetail {
		margin: 0 auto 12%;
	}
}


/* サービス・フォトスポットサイト
-------------------------------- */
#topOurServices #photospotsite {
	padding-bottom: 0;
}
#topOurServices #photospotsite p.spacer {
	height: 5.4em;
}
#topOurServices #photospotsite img.border {
	outline: 1px solid #ccc;
	outline-offset: -1px;
}
@media (max-width: 640px) {
	#topOurServices #photospotsite {
		padding-bottom: 8%;
	}
	#topOurServices #photospotsite .btnDetail {
		height: 54px;
		border-radius: 18px !important;
		margin-top: 10%;
		padding-top: 0;
		line-height: 1.2;
	}
	#topOurServices #photospotsite .btnDetail {
		margin: 0 auto 12%;
	}
}


/* サービス・ユーザーイベント
-------------------------------- */
@media (min-width: 1080px) {
	#topOurServices #userevent {
		padding: 80px 0 80px;
	}
	#topOurServices #userevent h3 {
		margin-bottom: 10px;
	}
}
@media (max-width: 640px) {
	#topOurServices #userevent {
		border-top: 1px solid #ccd2db;
	}
	#topOurServices #userevent h3 {
		padding-bottom: 5%;
	}
}


/* ライトアップ
-------------------------------- */
@media (max-width: 640px) {
	#topOurServices #lightup {
		padding-bottom: 2%;
	}
}


/* サービス・ツアー造成
-------------------------------- */
#topOurServices #tourdesign p.spacer {
	height: 6.7em;
}
@media (max-width: 640px) {
	#topOurServices #tourdesign {
		padding-bottom: 0;
	}
}


/* サービス・クラウドサービス
-------------------------------- */
#topOurServices #cloudservice {
	padding: 80px 0 80px 0;
}
#topOurServices #cloudservice h3 {
	margin-bottom: 10px;
}
#topOurServices #cloudservice figure {
	margin: 0 auto 20px;
	text-align: center;
}
#topOurServices #cloudservice img {
	width: 70%;
	max-width: unset;
}

#topOurServices #cloudservice .articleSub .btnDetail {
	margin: 0 auto 80px;
	letter-spacing: 0.05em;
	font-size: 1.1rem;
}
#topOurServices #photoconsystem p.spacer {
	height: 3.75em;
}

@media (min-width: 1080px) {
	#topOurServices #cloudservice {
		padding: 80px 0 0px;
	}
}

@media (max-width: 640px) {
	#topOurServices #cloudservice {
		padding: 8% 0 12% 0;
	}
	#topOurServices #cloudservice {
		border-top: 1px solid #ccd2db;
		border-bottom: 1px solid #ccd2db;
	}
	#topOurServices #cloudservice h3 {
		margin-bottom: 6%;
	}
	#topOurServices #cloudservice img {
		width: 100%;
	}
	
	#topOurServices #cloudservice #photomanagementsystem .btnDetail {
		margin: 0 auto 8%;
	}
	#topOurServices #cloudservice #photoconsystem .btnDetail {
		height: 54px;
		border-radius: 18px !important;
		padding-top: 0;
		line-height: 1.2;
		margin: 0 auto 5%;
	}
}
