@charset "UTF-8";

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

共通要素

--------------------------------------------------------------------*/
* {
	-moz-box-sizing: border-box;
}
html {
	scroll-padding-top: 3em;
	font-size: 62.5%;
}
body {
	background: #fff;
	font-family: "Noto Sans JP", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
	line-height: 1;
	margin: 0 auto;
	width: 100%;
	overflow-y: scroll;
	overflow-x: hidden;
	color: #000;
}
a {
	display: inline;
	text-decoration: underline;
	text-underline-offset: 3px;
	color: #1d71ed;
}
a:hover {
	text-decoration: none;
}
.fade {
	opacity: 1;
	transition: opacity .4s ease-in-out;
	-moz-transition: opacity .4s ease-in-out;
	-webkit-transition: opacity .4s ease-in-out;
}
.fade:hover {
	opacity: 0.5;
}
a img {
	border:　none;
}
.hide__sp {
	display: none;
}
.hide__tb {
	display: none;
}
.hide__pc {
	display: block;
}
.resizeAnimationStopper * {
	animation: none !important;
	transition: none !important;
}

@media screen and (max-width:767.98px) {
	html {
		/* font-size: 75%; */
	}
	.hide__tb {
		display: block;
	}
	.hide__pc {
		display: none;
	}
}
@media screen and (max-width:575.98px) {
	.hide__sp {
		display: block;
	}
	.hide__tb {
		display: none;
	}
}


/* 共通カラー
--------------------------------- */
:root {
	--main-color: #9edd44;
	--off-color: #f6f6f6;
	--title-color: #65bb44;
}

/* テスト用
@media screen and (max-width:991.98px) {
	:root {
		--main-color: #c00;
	}
}
@media screen and (max-width:767.98px),
(992px <= width <= 1180px) {
	:root {
		--main-color: #5a90f4;
	}
}
@media screen and (max-width:575.98px) {
	:root {
		--main-color: #c00;
	}
} */

/* 共通パーツ
--------------------------------- */
.inner {
	width: 90%;
	max-width: 1240px;
	margin: 0 auto;
	position: relative;
}

.section-title {
	word-break: keep-all;
	overflow-wrap: anywhere;
	text-align: center;
	letter-spacing: 3px;
	line-height: 1.5;
	font-weight: 900;
	font-size: 3.8rem;
}

.button {
	position: relative;
	top: 0;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	height: 40px;
	border-radius: 100vw;
	margin: 0 auto 30px;
	padding: 0 36px 0 30px;
	background: #fff url(../img/icon-menu-lp-arrow.svg) no-repeat center right;
	text-align: center;
	text-decoration: none;
	letter-spacing: 1px;
	font-weight: bold;
	font-size: 1.4rem;
	color: #000;
	transition: top 0.2s ease;
}
.button--shadow {
	box-shadow: 0 0 10px rgba(0,0,0,0.15);
}
.button:hover {
	position: relative;
	top: 2px;
	transition: top 0.2s ease;
}

.main-button {
	position: relative;
	top: 0;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 520px;
	height: 64px;
	border: 2px solid #fff;
	border-radius: 100vw;
	box-shadow: 0 0 10px rgba(0,0,0,0.2);
	background: url(../img/icon-inquiry-arrow.svg), radial-gradient(35% 270% at 50% 50%, #ffb03a 0%, #ff8019 100%);
	background-repeat: no-repeat;
	background-position: center right;
	background-size: contain;
	letter-spacing: 1px;
	text-decoration: none;
	font-weight: 700;
	font-size: 2rem;
	color: #fff;
	transition: top 0.2s ease;
}
.main-button-attn {
	width: 116px;
	border: 4px solid #ff8019;
	border-radius: 100vw;
	background: #fff;
	box-shadow: 0 0 10px rgba(0,0,0,0.3);
	position: absolute;
	z-index: 10;
	top: -28px;
	left: -38px;
}
.main-button:hover {
	position: relative;
	top: 2px;
	transition: top 0.2s ease;
}

@media screen and (max-width:767.98px),
(992px <= width <= 1180px) {
	.section-title {
		font-size: 3.2rem;
	}
}

@media screen and (max-width:575.98px) {
	.section-title {
		font-size: 2.4rem;
	}
	.main-button {
		width: 340px;
		height: 42px;
		font-size: 1.4rem;
	}
	.main-button-attn {
		width: 80px;
		border: 3px solid #ff8019;
		top: -30px;
		left: -14px;
	}
}


/* ヘッダー
--------------------------------- */
/* ヘッダー固定 */
.global-nav {
	position: fixed;
	top: 0px;
	width: 100%;
	background-color: #fff;
	z-index: 200;
}
/* グローバルナビゲーション */
.global-nav {
	border-bottom: 1px solid #4a4a4a;
}
.global-nav__container {
	height: 64px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.global-nav__logo {
	width: 96px;
}
.global-nav__inquiry {
	height: 25px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	border-radius: 100vw;
	padding: 0 20px;
	background-color: #2b364c;
	letter-spacing: 2px;
	text-decoration: none;
	font-weight: bold;
	font-size: 1.3rem;
	color: #fff;
}

/* パンくずリスト */
.breadcrumb {
	margin-top: 64px;
	height: 30px;
	border-bottom: 1px solid #4a4a4a;
	display: flex;
	justify-items: space-between;
	align-items: center;
	font-size: 1.2rem;
	color: var(--text-color-sub);
}
.breadcrumb__list {
	display: flex;
}
.breadcrumb__item + .breadcrumb__item:before {
	display: inline-block;
	padding: 0 1rem 0 1.2rem;
	content: ">";
	font-family: "ＭＳ Ｐゴシック", san-serif;
}
.breadcrumb__item a {
	text-decoration: none;
	color: var(--text-color-sub);
}
.breadcrumb__item a:hover {
	text-decoration: underline;
}

@media screen and (max-width:767.98px) {
	.breadcrumb__item + .breadcrumb__item:before {
		padding: 0 0.5rem 0 0.7rem;
	}
}


/* メインビジュアル
--------------------------------- */
.main-visual__container {
	width: 94%;
	max-width: 1040px;
	margin: 0 auto;
	position: relative;
	padding: 26px 0 0;
}
.main-visual__title {
	max-width: 960px;
	margin: 0 auto 20px;
}
.main-visual__badge-list {
	max-width: 620px;
	display: flex;
	justify-content: space-between;
	margin: 0 auto 24px;
}
.main-visual__inquiry {
	display: flex;
	justify-content: center;
}
.main-visual__inquiry-item {
	max-width: 480px;
	position: relative;
	margin: 0 16px;
}
.main-visual__inquiry-button {
	width: 480px;
}
.main-visual__inquiry-button--dl {
	position: relative;
	top: 0;
	z-index: 0;
}
.main-visual__inquiry-item--open-form {
	display: none;
}

/* PC */
@media screen and (min-width:576px) {
	.main-visual {
		height: 632px;
		background-image: url(../img/bg-main-visual.png), url(../img/bg-grid.png);
		background-position: center center, center center;
		background-repeat: no-repeat, repeat;
	}
}

@media screen and (max-width:991.98px) {
	.main-visual {
		min-height: 632px;
		height: auto;
	}
	.main-visual__container {
		max-width: 1040px;
		padding: 36px 0;
	}
	.main-visual__badge-list {
		margin: 0 auto 60px;
		gap: 10px;
	}
	.main-visual__inquiry {
		flex-direction: column;
		align-items: center;
	}
	.main-visual__inquiry-item-attn {
		margin-bottom: -78px;
	}
	.main-visual__inquiry-button--dl {
		top: 0;
		margin-bottom: 20px;
	}
	.main-visual__inquiry-item--jump-sidebar {
		display: none;
	}
	.main-visual__inquiry-item--open-form {
		display: block;
	}
}

@media screen and (max-width:575.98px) {
	.main-visual {
		min-height: 600px;
		background: #fff url(../img/bg-grid.png) center center repeat;
	}
	.main-visual__container {
		max-width: 1040px;
		padding: 36px 0 20px;
	}
	.main-visual__inquiry {
		display: flex;
		justify-content: center;
	}
	.main-visual__inquiry-button {
		width: 320px;
		height: 42px;
		font-size: 1.4rem;
	}
	.main-visual__inquiry-button--dl {
		margin-bottom: 8px;
	}
}


/* 企業ロゴマーキー
--------------------------------- */
.marquee {
	width: 100%;
	grid-column-gap: 1rem;
	display: flex;
	overflow: hidden;
	border-top: 1px solid #e1e4e9;
	border-bottom: 1px solid #e1e4e9;
}
.marquee__container {
	min-width: 100%;
	grid-column-gap: 1rem;
	flex: none;
	display: flex;
	justify-content: space-around;
}
@keyframes scroll-marquee {
	from { transform: translateX(0); }
	to { transform: translateX(calc(-100% - 1rem)); }
}
.marquee__container-scroll {
	animation: scroll-marquee 180s linear infinite;
	/* animation-direction: reverse; */
}
.marquee__logo {
	width: 140px;
	-webkit-transform: translateZ(0);
}

@media screen and (max-width:575.98px) {
	.marquee__logo {
		width: 100px;
	}
}


/* 資料請求フォーム
--------------------------------- */
/* PC */
@media screen and (min-width:992px) {
	/* ページ下ボタンバー（初期非表示） */
	.inquiry-mobile {
		display: none;
	}

	/* サイドフォーム・スティッキー */
	.wrapper {
		display: flex;
		justify-content: space-between;
		flex-direction: row-reverse;
	}
	.main {
		width: 100%;
		transition: width 0.3s ease;
	}
	.main.width {
		width: calc(100% - 264px);
	}
	.main.transition-off {
		transition: unset;
	}
	#inquiry-form-wrapper {
		position: -webkit-sticky;
		position: sticky;
		top: 64px;
		z-index: 100;
		width: 0px;
		height: 100vh;
		border-left: 1px solid #ddd;
		opacity: 1;
		transition: width 0.3s ease;
		overflow-y: auto;
		overflow-x: hidden;
		scrollbar-width: thin;
	}
	#inquiry-form-wrapper.width {
		width: 264px;
	}
	.inquiry-form {
		width: 264px;
		height: 100vh;
		background-color: #fff;
	}
	#inquiry-form-wrapper.transition-off {
		transition: unset;
	}
}


/* モバイル */
@media screen and (max-width:991.98px) {
	#inquiry-form-wrapper {
		width: 0px;
		display: none;
	}
	#inquiry-form-wrapper.width {
		width: 0px;
	}
	/* ページ下ボタンバー */
	.inquiry-mobile {
		display: block;
		position: -webkit-sticky;
		position: sticky;
		bottom: 0;
		z-index: 100;
	}
	.inquiry-mobile__button {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 50px;
		border-top: 1px solid #fff;
		box-shadow: 0 0 10px rgba(0,0,0,0.3);
		background: url(../img/icon-inquiry-arrow.svg), radial-gradient(35% 270% at 50% 50%, #ffb03a 0%, #ff8019 100%);
		background-repeat: no-repeat;
		background-position: center right;
		background-size: contain;
		text-decoration: none;
		letter-spacing: 1px;
		font-weight: 700;
		font-size: 1.6rem;
		color: #fff;
	}
	.inquiry-mobile__button-attn {
		width: 116px;
		border: 3px solid #ff8019;
		border-radius: 100vw;
		background: #fff;
		box-shadow: 0 0 5px rgba(0,0,0,0.1);
		position: absolute;
		z-index: 10;
		top: -20px;
		left: calc(45% - 16em);
	}

	/* サイドフォーム・スティッキー （初期非表示） */
	.inquiry-form {
		display: none;
	}
}

@media screen and (max-width:575.98px) {
	.inquiry-mobile__button-attn {
		left: 4px;
	}
}

/* フォームレイアウト */
.inquiry-form__title {
	height: 92px;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	gap: 4px;
	background: #1a3654;
	text-align: center;
	line-height: 1.2;
	letter-spacing: 1px;
	font-weight: 700;
	font-size: 2rem;
	color: #fff;
}
.inquiry-form__attn {
	height: 60px;
	background: #fff url(../img/bg-inquiry-form-attn.svg) no-repeat top center;
	background-size: cover;
	padding: 10px 0 0 0;
	text-align: center;
	letter-spacing: 1px;
	font-weight: 700;
	font-size: 1.8rem;
	color: #fff;
}
.inquiry-form__container {
	width: 90%;
	margin: 0 auto;
}
.inquiry-form__error {
	padding: 10px 0 0;
	text-align: center;
	font-size: 1.4rem;
	color: #e00;
}
.inquiry-form__row {
	margin-bottom: 16px;
}
.inquiry-form__label {
	letter-spacing: 1px;
	font-weight: 700;
	font-size: 1.4rem;
	color: #666;
}
.inquiry-form__input-error {
	padding: 4px 0 6px;
	line-height: 1.2;
	font-size: 1.2rem;
	color: #e00;
}
.inquiry-form__input-error:empty {
	padding: 2px 0 6px;
}
.inquiry-form__input-text {
	width: 100%;
	border: 1px solid #888;
	border-radius: 5px;
	padding: 6px;
	font-size: 1.4rem;
}
.inquiry-form__input-select {
	width: 100%;
	border: 1px solid #888;
	border-radius: 5px;
	padding: 8px;
	font-size: 1.4rem;
}
.inquiry-form__input-text::placeholder {
	color: #aaaaaa;
 }
.inquiry-form__checkbox-container {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}
.inquiry-form__checkbox {
	margin: 0 4px 4px 1px;
	transform: scale(1.2);
}
.inquiry-form__privacy-text {
	padding: 0 0 8px;
	line-height: 1.3;
	font-size: 1.2rem;
	color: #000;
}
.inquiry-form__label-agree {
    margin-left: 4px;
	line-height: 1.3;
	font-size: 1.2rem;
}
.inquiry-form__submit {
	position: relative;
	top: 0;
	width: 100%;
	height: 48px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 100vmax;
	margin: 0 auto 10px;
	background: radial-gradient(35% 270% at 50% 50%, #ffb03a 0%, #ff8019 100%);
	text-shadow: #ff8019 1px 0 10px;
	text-align: center;
	letter-spacing: 1px;
	font-weight: 700;
	font-size: 1.8rem;
	color: #fff;
	cursor: pointer;
	transition: top 0.2s ease;
}
.inquiry-form__submit:hover {
	position: relative;
	top: 2px;
}
.inquiry-form__recaptcha-text {
	line-height: 1.5;
	color: #666;
}

@media screen and (max-width:575.98px) {
	.inquiry-form__row {
		margin-bottom: 20px;
	}
	.inquiry-form__input-text {
		padding: 6px;
	}
}


/* 目次
--------------------------------- */
.menu-lp {
	padding: 60px 0;
	background: var(--main-color);
}
.menu-lp__container {
	width: 90%;
	max-width: 1080px;
	text-align: center;
}
.menu-lp__list {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 14px;
}
.menu-lp__button {
	height: 48px;
	width: auto;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	flex-wrap: nowrap;
	border-radius: 100vw;
	padding: 0 36px 0 30px;
	background: #fff url(../img/icon-menu-lp-arrow.svg) no-repeat center right;
	text-decoration: none;
	letter-spacing: 1px;
	font-size: 1.6rem;
	font-weight: bold;
	color: #000;
}

@media screen and (max-width:767.98px),
(992px <= width <= 1180px) {
	.menu-lp {
		padding: 12% 0 2%;
	}
}

@media screen and (max-width:575.98px) {
	.menu-lp__list {
		display: block;
	}
	.menu-lp__button {
		height: 40px;
		display: flex;
		width: 100%;
		margin-bottom: 8px;
		font-size: 1.4rem;
	}
}


/* SNS運用でこんな悩みや不安はありませんか？
--------------------------------- */
.concerns {
	position: relative;
	padding: 60px 0;
	background: var(--main-color);
	text-align: center;
}
.concerns::before {
	content: '';
	position: absolute;
	bottom: 1px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 120px 400px 0 400px;
	border-color: var(--main-color) transparent transparent transparent;
	transform: translateX(-50%) translateY(100%);
}
.concerns__title {
	display: inline-block;
	margin: 0 auto 40px;
	padding: 0 57px 0 70px;
	background-image: url(../img/bg-concerns-title-person1.png), url(../img/bg-concerns-title-person2.png);
	background-position: left center, right center;
	background-repeat: no-repeat;
	background-size: contain;
	color: #fff;
}
.concerns__list {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 32px;
	margin-bottom: 80px;
}
.concerns__item {
	width: 290px;
	height: 140px;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: nowrap;
	box-shadow: 18px 18px #66cc39;
	border-radius: 5px;
	background: #fff;
	text-align: center;
	line-height: 1.6;
	font-size: 2.2rem;
	font-weight: bold;
	color: #000;
}
.concerns__item--row3 {
	line-height: 1.4;
}
.concerns__item--row4 {
	line-height: 1.25;
}

.concerns__answer-container {
	margin-bottom: -190px;
	padding-bottom: 80px;
	background-image: url(../img/bg-concerns-answer-person1.png), url(../img/bg-concerns-answer-person2.png);
	background-position: left 10% bottom 0, left 90% bottom 0;
	background-repeat: no-repeat;
	background-size: 102px 150px;
}
.concerns__answer {
	margin: 0 auto 20px;
	word-break: keep-all;
	overflow-wrap: anywhere;
	text-align: center;
	letter-spacing: 2px;
	line-height: 1.5;
	font-weight: 900;
	font-size: 3.4rem;
	color: #fff;
}
.concerns__answer-note {
	letter-spacing: 1px;
	font-size: 1.2rem;
	color: #fff;
}
@media screen and (max-width:991.98px) {
	.concerns__answer-container {
		background-position: 0% bottom, 100% bottom;
	}
}
@media screen and (max-width:767.98px),
(992px <= width <= 1180px) {
	.concerns::before {
		border-width: 120px 40vw 0 40vw;
	}
	.concerns__item {
		width: 40%;
		height: 120px;
		box-shadow: 10px 10px #66cc39;
		font-size: 2.0rem;
	}
	.concerns__answer-container {
		padding-left: 15%;
		padding-right: 15%;
		background-position: 0% bottom, 100% bottom;
	}
	.concerns__answer {
		font-size: clamp(2.4rem, 4vw, 3.0rem);
	}
}
@media screen and (max-width:575.98px) {
	.concerns::before {
		border-width: 80px 40vw 0 40vw;
	}
	.concerns__title {
		padding: 0 5% 0 6%;
		line-height: 1.2;
	}
	.concerns__list {
		gap: 20px;
		margin-bottom: 60px;
	}
	.concerns__item {
		width: 90%;
		height: 120px;
		font-size: 1.8rem;
	}
	.concerns__item--row4 {
		line-height: 1.4;
	}
	.concerns__answer-container {
		margin-bottom: -20em;
		padding-bottom: 10em;
		background-position: left 0% bottom 25%, left 100% bottom 25%;
		background-size: 68px 100px;
	}
	.concerns__answer {
		line-height: 1.4;
		font-size: 2.4rem;
	}
}


/* 実績紹介
--------------------------------- */
.works {
	padding: 150px 0 100px;
	background: #fff url(../img/bg-grid.png) center center;
}
.works__title-container {
	max-width: 950px;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 24px;
	margin-bottom: 50px;
}
.works__title-bubble {
	position: relative;
	height: 40px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 12px;
	padding: 0 20px 0 24px;
	background: var(--main-color);
	letter-spacing: 2px;
	font-size: 2.0rem;
	font-weight: bold;
	color: #fff;
}
.works__title-bubble:after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 22%;
	width: 0;
	height: 0;
	border: 14px solid transparent;
	border-top-color: var(--main-color);
	border-bottom: 0;
	border-left: 0;
	margin-bottom: -14px;
}
.works__title {
	margin: 0 auto 8px;
	text-align: left;
}
.works__title-note {
	word-break: keep-all;
	overflow-wrap: anywhere;
	line-height: 1.5;
	font-size: 1.2rem;
}

.works__container {
	max-width: 1430px;
}
.works__article-container {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 40px;
}
.works__article {
	width: 30%;
	display: flex;
	flex-direction: column;
	border-radius: 5px;
	box-shadow: 0 0 20px rgba(0,0,0,0.3);
	padding-top: 24px;
	background: #fff;
	text-align: center;
}
.works__article-client {
	flex-grow: 1;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	margin: 24px;
	text-align: left;
	line-height: 1.4;
	letter-spacing: 2px;
	font-weight: bold;
	font-size: 2.4rem;
}
.works__article-client-container {
	word-break: keep-all;
	overflow-wrap: anywhere;
}
.works__article-thumbnail {
	width: calc(100% - 48px);
	border: 1px solid #eee;
	margin: 0 auto;
}
.works__article-summary {
	flex-grow: 1;
	margin: 24px;
	text-align: justify;
	line-height: 1.5;
	font-size: 1.6rem;
}
.works__article-list-heading {
	margin: 0 24px 12px;
	text-align: justify;
	font-size: 1.4rem;
}
.works__article-list {
	margin: 0 24px 24px calc(24px + 1em);
}
.works__article-item {
	position: relative;
	margin-bottom: 8px;
	padding-left: 1em;
	text-align: justify;
	line-height: 1.5;
	font-size: 1.4rem;
}
.works__article-item:before {
	border-radius: 50%;
	width: 8px;
	height: 8px;
	display: block;
	position: absolute;
	left: 0;
	top: 0.5em;
	content: "";
	background: var(--main-color);
}
.works__detail-button {
	display: flex;
	flex-direction: column;
	width: calc(100% - 48px);
	letter-spacing: 0;
}

.works__inquiry {
	padding-top: 72px;
	text-align: center;
}


@media screen and (max-width:1180px) {
	.works__article-container {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		gap: 24px;
	}
	.works__article {
		width: 30%;
		min-width: unset;
	}
	.works__detail-button {
		height: 48px;
		padding: 0 24px 0 10px;
		line-height: 1.2;
	}
}
@media screen and (max-width:767.98px) {
	.works {
		padding: 150px 0 5%;
	}
	.works__article-container {
		display: block;
	}
	.works__article {
		width: 100%;
		min-width: unset;
		max-width: unset;
		margin: 0 auto 30px;
	}
}
@media screen and (max-width:575.98px) {
	.works {
		padding: 120px 0 5%;
	}
	.works__title-container {
		display: flex;
		flex-direction: column;
		text-align: center;
		margin-bottom: 6%
	}
	.works__title-bubble {
		height: 42px;
		margin: 0 auto 12px;
		padding: 0 12px 0 16px;
		letter-spacing: 1px;
		font-size: 1.8rem;
	}
	.works__title-bubble:after {
		left: 48%;
	}
	.works__title {
		text-align: center;
	}
	.works__article-client {
		margin: 24px;
		line-height: 1.5;
		letter-spacing: 1px;
		font-size: 1.8rem;
	}
	.works__article-summary {
		font-size: 1.4rem;
	}
	.works__detail-button {
		width: calc(100% - 48px);
		height: 48px;
		line-height: 1.2;
	}
	.works__inquiry {
		padding: 6% 0;
	}
}


/* 企業・団体様リスト
--------------------------------- */
.clients {
	border-top: 3px solid var(--main-color);
	padding: 60px 0 80px;
	background: #fff;
	text-align: center;
}
.clients__title {
	margin: 0 auto 20px;
	color: #000;
}
.clients__detail {
	margin-bottom: 32px;
	word-break: keep-all;
	overflow-wrap: anywhere;
	line-height: 1.8;
	letter-spacing: 2px;
	font-weight: 700;
	font-size: 2.4rem;
	color: #000;
}
.clients__list {
	max-width: 1200px;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 32px;
	margin: 0 auto;
	padding: 16px 0;
	background: #fff;
}
.clients__item {
	max-width: 25%;
}

@media screen and (max-width:767.98px),
(992px <= width <= 1180px) {
	.clients {
		padding: 6% 0 8%;
	}
	.clients__title {
		margin: 0 auto 5%;
	}
	.clients__detail {
		margin-bottom: 5%;
		font-size: 1.8rem;
	}
}
@media screen and (max-width:575.98px) {
	.clients {
		padding: 6% 0 0%;
	}
	.clients__detail {
		margin-bottom: 5%;
		line-height: 1.5;
		letter-spacing: 1px;
		font-size: 1.8rem;
	}
	.clients__list {
		width: 100%;
		gap: 0;
		justify-content: space-between;
		padding: 20px 0;
	}
	.clients__item {
		width: 30%;
	}
	.clients__logo {
		width: 100%;
	}
}


/* お気軽にご相談ください
--------------------------------- */
.inquiry-now {
	padding: 0 0 36px;
	background: radial-gradient(circle, rgba(158,221,68,1) 0%, rgba(101,187,68,1) 100%);
	text-align: center;
}
.inquiry-now__title {
	margin-bottom: 32px;
	text-shadow: 4px 4px 0 #5aa83a;
	font-size: 3.6rem;
	color: #fff;
}
.inquiry-now__detail {
	margin-bottom: 48px;
	word-break: keep-all;
	overflow-wrap: anywhere;
	line-height: 1.5;
	text-shadow: 3px 3px 0 #5aa83a;
	font-size: 2.4rem;
	font-weight: 700;
	color: #fff;
}
.inquiry-now__inquiry {
	width: 648px;
	position: relative;
	margin: 0 auto;
	text-align: left;
}
.inquiry-now__inquiry-button {
	width: 648px;
	margin-bottom: 20px;
	box-shadow: 5px 7px 0 #5aa83a;
}
.inquiry-now__inquiry-button-note {
	word-break: keep-all;
	overflow-wrap: anywhere;
	line-height: 1.5;
	text-align: center;
	font-size: 1.4rem;
	font-weight: 700;
	color: #fff;
}

/* PC */
@media screen and (min-width:576px) {
	.inquiry-now__container {
		padding-top: 60px;
		background: transparent url(../img/bg-inquiry-now.svg) no-repeat center 20px;
	}
}

@media screen and (max-width:991.98px),
@media screen and (max-width:767.98px),
(992px <= width <= 1180px) {
	.inquiry-now__title {
		font-size: 3.0rem;
	}
	.inquiry-now__detail {
		font-size: 2.0rem;
	}
	.inquiry-now__inquiry {
		width: auto;
		text-align: center;
	}
	.inquiry-now__inquiry-button {
		width: 100%;
		height: 54px;
		flex-direction: column;
		line-height: 1.2;
		font-size: 1.6rem;
	}
	.inquiry-now__inquiry-button-attn {
		top: -24px;
		left: -14px;
	}
}

@media screen and (max-width:575.98px) {
	.inquiry-now__container {
		width: 100%;
		padding: 8% 5% 0;
		background: transparent url(../img/bg-inquiry-now-sp.svg) no-repeat center 12em;
	}
	.inquiry-now__title {
		font-size: 2.4rem;
	}
	.inquiry-now__detail {
		margin-bottom: 36px;
		font-size: 1.8rem;
	}
	.inquiry-now__inquiry-button {
		width: 100%;
		height: 54px;
		flex-direction: column;
		line-height: 1.2;
	}
	.inquiry-now__inquiry-button-attn {
		top: -16px;
	}
}


/* メリット
--------------------------------- */
.merit {
	padding: 80px 0;
	background: #fff url(../img/bg-grid.png) center center;
	text-align: center;
}
.merit__title {
	margin-bottom: 40px;
}
.merit__intro-img {
	max-width: 960px;
}
.merit__subtitle {
	height: 160px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 20px;
	background: transparent url(../img/bg-merit-icon-bulb.svg) center center no-repeat;
	background-size: contain;
	text-shadow:
		2px 2px 0 #fff,
		-2px 2px 0 #fff,
		-2px -2px 0 #fff,
		2px -2px 0 #fff;
	font-weight: 700;
	font-size: 2.4rem;
}

.merit__article-container {
	max-width: 1000px;
	display: grid;
	grid-template-areas:
		"box01 box02"
		"box03 box02";
	grid-template-columns: 1fr 1fr;
	gap: 48px 96px;
	margin: 0 auto 48px;
	background: linear-gradient(#666,#666) center/1px 100% no-repeat;
}
.merit__article--merit01 {
	grid-area: box01;
	border-bottom: 1px solid #666;
}
.merit__article--merit02 {
	grid-area: box02;
}
.merit__article--merit03 {
	grid-area: box03;
}
.merit__article-title {
	margin-bottom: 32px;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
}
.merit__article-title-text {
	word-break: keep-all;
	overflow-wrap: anywhere;
	font-weight: 700;
	font-size: 2.8rem;
	color: var(--title-color);
}
.merit__article-title-point {
	height: 36px;
	width: 120px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50vw;
	background: var(--title-color);
	font-weight: 700;
	font-size: 1.8rem;
	color: #fff;
}
.merit__article-copy {
	margin-bottom: 32px;
	word-break: keep-all;
	overflow-wrap: anywhere;
	line-height: 1.4;
	font-weight: 700;
	font-size: 2.6rem;
}
.merit__article-detail {
	margin-bottom: 48px;
	text-align: justify;
	line-height: 1.6;
	font-weight: 700;
	font-size: 1.6rem;
}
.merit__article-note {
	line-height: 1.5;
	text-align: left;
	font-size: 1.2rem;
}
.merit__article-subgrid {
	display: grid;
	grid-template-areas:
		"box02 box01"
		"box03 box01";
	grid-template-columns: 1fr 180px;
	gap: 0px 32px;
}
.merit__article-image--03 {
	grid-area: box01;
}
.merit__article-detail--03 {
	grid-area: box02;
	margin-bottom: 0px;
}
.merit__article-note--03 {
	grid-area: box03;
}

.merit__article--merit04 {
	max-width: 1000px;
	display: grid;
	grid-template-areas:
		"box01 box03"
		"box02 box03";
	grid-template-columns: 45% 55%;
	gap: 0;
	border-top: 1px solid #666;
	border-bottom: 1px solid #666;
	margin: 0 auto 80px;
	padding: 48px 0;
}
.merit__article-title--04 {
	grid-area: box01;
}
.merit__article-copy--04 {
	grid-area: box02;
	margin-bottom: 0;
}
.merit__article-detail--04 {
	grid-area: box03;
	justify-self: center;
	align-self: center;
	margin-bottom: 0;
}

.merit__sns-container {
	max-width: 1000px;
	border-radius: 4px;
	margin: 0 auto;
	padding: 48px 24px 24px;
	box-shadow: 0 5px 10px rgba(0,0,0,0.1);
	background: #66cc39;
}
.merit__sns-title-bubble {
	position: relative;
	height: 40px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 16px;
	padding: 0 20px 0 24px;
	background: #fff;
	letter-spacing: 2px;
	font-size: 1.8rem;
	font-weight: bold;
	color: #000;
}
.merit__sns-title-bubble:after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 0;
	height: 0;
	border: 14px solid transparent;
	border-top-color: #fff;
	border-bottom: 0;
	border-left: 0;
	margin-bottom: -14px;
}
.merit__sns-title {
	margin: 0 auto 24px;
	word-break: keep-all;
	overflow-wrap: anywhere;
	line-height: 1.2;
	text-shadow: 2px 2px 0 #3c6b27;
	font-weight: 700;
	font-size: 3.4rem;
	color: #fff;
}
.merit__sns-arrow {
	max-width: 420px;
	margin: 0 auto 16px;
}
.merit__sns-list {
	display: flex;
	justify-content: center;
	gap: 24px;
	margin: 0 auto 24px;
}
.merit__sns-item {
	width: 30%;
	border-radius: 4px;
	padding: 20px 20px 32px;
	box-shadow: 8px 8px 0 #65bb44;
	background: #fff;
}
.merit__sns-title-point {
	width: 96px;
	height: 28px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50vw;
	margin: 0 auto 12px;
	background: var(--title-color);
	font-weight: 700;
	font-size: 1.3rem;
	color: #fff
}
.merit__sns-title-text {
	word-break: keep-all;
	overflow-wrap: anywhere;
	line-height: 1.6;
	font-weight: 700;
	font-size: 1.9rem;
	color: #000;
}
.merit__sns-note {
	line-height: 1.5;
	font-size: 1.2rem;
	color: #fff;
}

@media screen and (max-width:767.98px),
(992px <= width <= 1180px) {
	.merit {
		padding: 8% 0 8%;
	}
	.merit__article-container {
		display: block;
		margin: 0 auto 48px;
		background: none;
	}
	.merit__article {
		border-bottom: 1px solid #666;
		padding-top: 48px;
	}
	.merit__article-graph--02 {
		margin-bottom: 48px;
	}
	.merit__article--merit03 {
		border-bottom: 0;
	}
	.merit__article--merit04 {
		display: block;
		border-bottom: 0;
	}
	.merit__article-copy--04 {
		margin-bottom: 32px;
	}
}
@media screen and (max-width:575.98px) {
	.merit {
		padding: 8% 0 12%;
	}
	.merit__title {
		margin-bottom: 5%;
		padding: 0 5% 0 6%;
		line-height: 1.2;
	}
	.merit__subtitle {
		height: 120px;
		margin-bottom: 0px;
		line-height: 1.5;
		font-size: 2.0rem;
	}
	
	.merit__article--merit04 {
		margin-bottom: 8%;
	}
	.merit__article-title {
		margin-bottom: 20px;
	}
	.merit__article-title-text {
		font-size: 2.2rem;
	}
	.merit__article-title-point {
		height: 32px;
		width: 100px;
		font-size: 1.6rem;
	}
	.merit__article-copy {
		margin-bottom: 20px;
		font-size: 2.2rem;
	}
	.merit__article-subgrid {
		display: grid;
		grid-template-areas:
			"box02 box01"
			"box03 box01";
		grid-template-columns: 1fr 40%;
		gap: 0px 24px;
	}
	
	.merit__sns-title-bubble {
		height: 54px;
		line-height: 1.2;
		letter-spacing: 1px;
		font-size: 1.6rem;
	}
	.merit__sns-title {
		font-size: 2.4rem;
	}
	.merit__sns-list {
		flex-direction: column;
	}
	.merit__sns-item {
		width: 100%;
		padding: 20px;
	}
}


/* テーマ
--------------------------------- */
.theme {
	padding: 80px 0;
	background: var(--off-color);
	text-align: center;
}
.theme__container {
	max-width: 1200px;
}
.theme__title {
	margin-bottom: 32px;
}
.theme__intro {
	margin-bottom: 60px;
	word-break: keep-all;
	overflow-wrap: anywhere;
	line-height: 1.5;
	font-weight: 700;
	font-size: 2.0rem;
}
.theme__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0px 48px;
}
.theme__item {
	display: flex;
	flex-direction: column;
	gap: 4px;
	width: calc((100% - 96px)/3);
	margin-bottom: 48px;
}
.theme__category-deco {
	font-size: 1.2rem;
	color: #969696;
}
.theme__category {
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	align-content: flex-end;
	margin-bottom: 8px;
	word-break: keep-all;
	overflow-wrap: anywhere;
	text-align: center;
	line-height: 1.3;
	letter-spacing: 1px;
	font-weight: 700;
	font-size: 2.6rem;
	font-feature-settings: "palt";
	color: var(--title-color);
}
.theme__image {
	margin-bottom: 12px;
}
.theme__photocon-title {
	height: 5em;
	word-break: keep-all;
	overflow-wrap: anywhere;
	line-height: 1.5;
	font-weight: 700;
	font-size: 1.6rem;
}
.theme__inquiry-button {
	max-width: 480px;
}

@media screen and (max-width:767.98px),
(992px <= width <= 1180px) {
	.theme__item {
		width: calc((90% - 48px)/2);
		margin-bottom: 36px;
	}
}
@media screen and (max-width:575.98px) {
	.theme {
		padding: 8% 0 8%;
	}
	.theme__title {
		margin-bottom: 6%;
	}
	.theme__intro {
		margin-bottom: 10%;
		font-size: 1.8rem;
	}
	.theme__list {
		gap: 0px 5%;
	}
	.theme__item {
		display: flex;
		flex-direction: column;
		gap: 4px;
		width: 45%;
		margin-bottom: 24px;
	}
	.theme__category-deco {
		font-size: 1rem;
	}
	.theme__category {
		font-size: 2rem;
	}
	.theme__photocon-title {
		height: 5em;
		line-height: 1.3;
		font-size: 1.3rem;
	}
}


/* 東京カメラ部とは？
--------------------------------- */
.about {
	border-bottom: 1px solid #ddd;
	padding: 80px 0;
	background: #fff url(../img/bg-grid.png) center center;
	text-align: center;
}
.about__title-bubble {
	position: relative;
	height: 40px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 12px;
	padding: 0 20px 0 24px;
	background: var(--title-color);
	letter-spacing: 2px;
	font-size: 2.0rem;
	font-weight: bold;
	color: #fff;
}
.about__title-bubble:after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 22%;
	width: 0;
	height: 0;
	border: 14px solid transparent;
	border-top-color: var(--title-color);
	border-bottom: 0;
	border-left: 0;
	margin-bottom: -14px;
}
.about__title {
	margin: 0 auto 72px;
}
.about__sns-icons-container {
	max-width: 1080px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 auto 100px;
}
.about__sns-icon--tcc {
	width: 35.185%;
}
.about__sns-icon--list {
	width: 59.814%;
}
.about__heading {
	margin-bottom: 32px;
	word-break: keep-all;
	overflow-wrap: anywhere;
	line-height: 1.5;
	letter-spacing: 1px;
	font-weight: 700;
	font-size: 2.4rem;
}
.about__sub-heading {
	margin-bottom: 32px;
	word-break: keep-all;
	overflow-wrap: anywhere;
	line-height: 1.5;
	font-size: 1.8rem;
}
.about__detail {
	margin-bottom: 64px;
	word-break: keep-all;
	overflow-wrap: anywhere;
	line-height: 1.5;
	font-size: 1.6rem;
}
.about__detail--last {
	margin-bottom: 24px;
}
.about__detail-note {
	font-size: 1.2rem;
}

@media screen and (max-width:767.98px),
(992px <= width <= 1180px) {
	.about {
		padding: 8% 0;
	}
	.about__title {
		margin-bottom: 5%;
	}
	.about__sns-icons-container {
		margin: 0 auto 5%;
	}
	.about__detail {
		margin-bottom: 5%;
	}
}
@media screen and (max-width:575.98px) {
	.about__title {
		margin: 0 auto 8%;
		letter-spacing: 1px;
	}
	.about__sns-icons-container {
		flex-direction: column;
		gap: 30px;
	}
	.about__sns-icon--tcc {
		width: 50%;
	}
	.about__sns-icon--list {
		width: 100%;
	}
	.about__heading {
		margin-bottom: 5%;
		font-size: 1.8rem;
	}
	.about__detail {
		margin-bottom: 8%;
		text-align: justify;
		word-break: normal;
	}
}


/* 東京カメラ部に投稿された写真の一例
--------------------------------- */
.gallery {
	padding: 60px 0 0;
	background: #fff;
	text-align: center;
}
.gallery__title {
	margin: 0 auto 30px;
}
.gallery__heading {
	margin-bottom: -40px;
	line-height: 1.5;
	letter-spacing: 1px;
	font-weight: 700;
	font-size: 2.2rem;
}
.gallery__detail-button-container {
	margin: 0 32px 0;
	text-align: right;
}

@media screen and (max-width:767.98px),
(992px <= width <= 1180px) {
	.gallery {
		padding: 6% 0 0;
	}
	.gallery__title {
		margin: 0 auto 1%;
	}
	.gallery__heading {
		margin-bottom: 3%;
	}
	.gallery__detail-button-container {
		text-align: center;
	}
}


/* 東京カメラ部に投稿された写真の一例
--------------------------------- */
.features {
	padding: 60px 0 80px;
	background: #fff url(../img/bg-grid.png) center center;
	text-align: center;
}
.features__title {
	margin: 0 auto 24px;
}
.features__title--article {
	margin-bottom: 60px;
	font-size: 4.0rem;
	color: var(--title-color);
}
.features__article-container {
	max-width: 1020px;
	display: flex;
	flex-wrap: wrap;
	gap: 48px;
	margin: 0 auto 60px;
}
.features__article {
	width: calc(50% - 24px);
	max-width: 480px;
	display: flex;
	flex-direction: column;
	border-radius: 5px;
	box-shadow: 0 0 20px rgba(0,0,0,0.3);
	background: #fff url(../img/icon-feature-check.svg) no-repeat right top;
	background-size: 60px 50px;
	text-align: center;
}
.features__article--05 {
	width: 100%;
	max-width: 1020px;
	flex-grow: 1;
}
.features__article-title-container {
	height: 150px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	margin: 24px 20px 0px;
}
.features__article-title-count {
	width: 100px;
}
.features__article-title {
	word-break: keep-all;
	overflow-wrap: anywhere;
	text-align: left;
	line-height: 1.5;
	font-weight: 700;
	font-size: 2.2rem;
}
.features__article-detail {
	margin: 0 30px 30px;
	text-align: justify;
	line-height: 1.8;
	font-size: 1.6rem;
}
.features__article-detail-note {
	font-size: 1.2rem;
}

@media screen and (max-width:991.98px) {
	.features__article-container {
		flex-direction: column;
	}
	.features__article {
		max-width: none;
		width: 100%;
	}
}
@media screen and (max-width:767.98px),
(992px <= width <= 1180px) {
	.features {
		padding: 6% 0 8%;
	}
	.features__article-container {
		flex-direction: column;
		gap: 3%;
	}
	.features__article {
		max-width: none;
		width: 100%;
		margin-bottom: 3%;
	}
}
@media screen and (max-width:575.98px) {
	.features__title--article {
		margin-bottom: 10%;
		font-size: 3.2rem;
	}
	.features__article-container {
		flex-direction: column;
	}
	.features__article {
		margin-bottom: 5%;
	}
	.features__article-title-container {
		margin: 24px 20px 10px;
	}
	.features__article-title-count {
		width: 70px;
	}
	.features__article-title {
		margin-left: 10px;
		text-align: left;
		line-height: 1.4;
		font-size: 1.7rem;
	}
	.features__article-detail {
		margin: -5% 5% 5%;
		line-height: 1.8;
		font-size: 1.5rem;
	}
}


/* お客様の声
--------------------------------- */
.voices {
	padding: 60px 0 80px;
	background: var(--main-color);
	text-align: center;
}
.voices__title {
	margin: 0 auto 80px;
	color: #fff;
}
.voices__title--note {
	font-weight: 400;
	font-size: 1.2rem;
	color: #000;
}

.voices__container {
	max-width: 1228px;
}
.voices__item-container {
	display: flex;
	justify-content: center;
	gap: 32px;
	margin: 0 auto;
}
.voices__item {
	width: calc((100% - 64px) / 3);
	display: flex;
	flex-direction: column;
	align-items: stretch;
	border-radius: 4px;
	padding: 0 24px;
	background: #fff;
}
.voices__profile-area {
	order: 1;
	min-height: 172px;
	display: flex;
	gap: 16px;
	border-bottom: 1px solid #ccc;
	margin-bottom: 16px;
	padding: 16px 0;
}
.voices__profile-image {
	width: 130px;
	height: 130px;
}
.voices__profile-text {
	text-align: left;
}
.voices__profile-client {
	margin-bottom: 12px;
	word-break: keep-all;
	overflow-wrap: anywhere;
	line-height: 1.2;
	font-weight: 700;
	font-size: 2.6rem;
	color: var(--title-color);
}
.voices__profile-department {
	margin-bottom: 12px;
	line-height: 1.2;
	font-size: 1.2rem;
}
.voices__profile-name {
	margin-bottom: 12px;
	line-height: 1.2;
	font-weight: 700;
	font-size: 2.6rem;
}
.voices__profile-title {
	font-weight: 700;
	font-size: 1.8rem;
}
.voices__heading {
	order: 2;
	word-break: keep-all;
	overflow-wrap: anywhere;
	margin-bottom: 24px;
	text-align: center;
	line-height: 1.5;
	font-weight: 700;
	font-size: 1.6rem;
}
.voices__detail {
	order: 3;
	flex-grow: 1;
	margin-bottom: 16px;
	text-align: justify;
	line-height: 1.6;
	font-size: 1.6rem;
}
.voices__detail-button {
	order: 4;
}

.voices__inquiry {
	padding-top: 40px;
}

@media screen and (1181px <= width <= 1480px) {
	.voices__item-container {
		gap: 20px;
	}
	.voices__profile-area {
		display: flex;
		flex-direction: column;
	}
	.voices__profile-image {
		width: 100%;
		height: auto;
	}
	.voices__heading {
		order: 2;
		text-align: left;
		word-break: break-all;
	}
	.voices__heading wbr {
		display: none;
	}
	.voices__heading br {
		display: none;
	}
}
@media screen and (max-width:991.98px) {
	.voices__container {
		justify-content: center;
		gap: 4%;
	}
	.voices__title {
		margin: 0 auto 6%;
	}
	.voices__item-container {
		display: block;
	}
	.voices__item {
		width: 100%;
		margin-bottom: 20px;
	}
	.voices__heading {
		font-size: 2.4rem;
	}
}
@media screen and (max-width:767.98px),
(992px <= width <= 1180px) {
	.voices {
		padding: 6% 0 8%;
	}
	.voices__title {
		margin: 0 auto 6%;
	}
	.voices__item-container {
		display: block;
	}
	.voices__item {
		width: 100%;
		margin-bottom: 20px;
	}
	.voices__heading {
		font-size: 2.2rem;
	}
}
@media screen and (max-width:575.98px) {
	.voices__title {
		margin: 0 auto 6%;
	}
	.voices__item-container {
		display: block;
	}
	.voices__item {
		width: 100%;
		margin-bottom: 5%;
	}
	.voices__heading {
		text-align: left;
		word-break: break-all;
		font-size: 1.8rem;
	}
	.voices__client {
		text-align: center;
	}
	.voices__inquiry {
		padding-top: 5%;
	}
	.voices__inquiry-button {
		letter-spacing: 0;
	}
}


/* SNSアカウント開設/運用代行サービス
--------------------------------- */
.overview {
	padding: 60px 0;
	background: var(--off-color);
}
.overview__title {
	margin: 0 auto 20px;
}
.overview__subtitle {
	margin: 0 auto 60px;
	text-align: center;
	letter-spacing: 6px;
	line-height: 1.5;
	font-size: 3.8rem;
}
.overview__step {
	max-width: 980px;
	margin: 0 auto 40px;
	background: #fff;
	text-align: center;
}
.overview__step-summary {
	cursor: pointer;
	background: url(../img/icon-plus.svg) no-repeat top right;
	background-size: 80px 80px;
}
.overview__step[open] > .overview__step-summary {
	background: url(../img/icon-minus.svg) no-repeat top right;
	background-size: 80px 80px;
}
.overview__step-title {
	height: 96px;
	display: flex;
	align-items: center;
	padding-right: 60px;
	text-align: left;
	line-height: 1.2;
	letter-spacing: 6px;
	font-weight: 700;
	font-size: 2.4rem;
}
.overview__step-title--04 {
	height: 124px;
}
.overview__step-count {
	width: 100px;
	height: 36px;
	flex-shrink: 0;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	border-radius: 100vw;
	margin: 0 30px 0 24px;
	background: var(--title-color);
	letter-spacing: 2px;
	font-weight: 400;
	font-size: 1.4rem;
	color: #fff;
}
.overview__step-count-num {
	position: relative;
	top: -1px;
	padding-left: 6px;
	font-weight: 700;
	font-size: 2.4rem;
}
.overview__step-title-period {
	letter-spacing: 1px;
	font-size: 1.8rem;
}
.overview__step-title-detail {
	letter-spacing: 1px;
	font-size: 1.6rem;
}

.overview__step-list {
	border-top: 1px solid #b1b1b1;
	margin: 0 24px;
	padding: 24px 0;
	text-align: justify;
}
.overview__step-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
	border-bottom: 1px dotted #b1b1b1;
	margin-bottom: 24px;
	padding-bottom: 24px;
}
.overview__step-item:last-of-type {
	border-bottom: 0;
	margin-bottom: 0;
	padding-bottom: 8px;
}
.overview__step-heading--step1-1 {
	background: transparent url(../img/icon-overview-step1-1.svg) left center no-repeat;
}
.overview__step-heading--step1-2 {
	background: transparent url(../img/icon-overview-step1-2.svg) left center no-repeat;
}
.overview__step-heading--step1-3 {
	background: transparent url(../img/icon-overview-step1-3.svg) left center no-repeat;
}
.overview__step-heading--step2-1 {
	background: transparent url(../img/icon-overview-step2-1.svg) left center no-repeat;
}
.overview__step-heading--step2-2 {
	background: transparent url(../img/icon-overview-step2-2.svg) left center no-repeat;
}
.overview__step-heading--step3-1 {
	background: transparent url(../img/icon-overview-step3-1.svg) left center no-repeat;
}
.overview__step-heading--step3-2 {
	background: transparent url(../img/icon-overview-step3-2.svg) left center no-repeat;
}
.overview__step-heading--step3-3 {
	background: transparent url(../img/icon-overview-step3-3.svg) left center no-repeat;
}
.overview__step-heading--step4-1 {
	background: transparent url(../img/icon-overview-step4-1.svg) left center no-repeat;
}
.overview__step-heading--step4-2 {
	background: transparent url(../img/icon-overview-step4-2.svg) left center no-repeat;
}
.overview__step-heading--step4-3 {
	background: transparent url(../img/icon-overview-step4-3.svg) left center no-repeat;
}
.overview__step-heading--step4-4 {
	background: transparent url(../img/icon-overview-step4-4.svg) left center no-repeat;
}
.overview__step-heading {
	width: 220px;
	height: 72px;
	display: flex;
	align-items: center;
	padding-left: 84px;
	background-size: 88px 88px;
	line-height: 1.4;
	font-weight: 700;
	font-size: 1.8rem;
	color: var(--title-color);
}
.overview__step-detail {
	width: calc(100% - 220px - 24px);
	line-height: 1.5;
	font-size: 1.6rem;
}
.overview__step-detail-list-intro {
	margin-bottom: 8px;
}
.overview__step-detail-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0 24px;
}
.overview__step-detail-list-item {
	display: flex;
	padding-top: 4px;
	padding-left: 30px;
	background: url(../img/icon-feature-check.svg) no-repeat left center;
	background-size: 32px 28px;
}


@media screen and (max-width:767.98px),
(992px <= width <= 1180px) {
	.overview__title {
		margin: 0 auto 3%;
	}
	.overview__subtitle {
		margin: 0 auto 6%;
		font-size: 3.2rem;
	}
	.overview__step {
		margin: 0 auto 3%;
	}
	.overview__step-title {
		letter-spacing: 2px;
		font-size: 2.0rem;
	}
	.overview__step-count {
		width: 100px;
		height: 36px;
		margin: 0 20px 0 16px;
		letter-spacing: 1px;
	}
	.overview__step-count-num {
		position: relative;
		top: -1px;
		padding-left: 3px;
		font-weight: 700;
		font-size: 2.2rem;
	}
	.overview__step-detail-list {
		flex-direction: column;
		gap: 0;
	}
	.overview__step-detail-list-item {
		display: block;
		position: relative;
		margin-left: 0.8em;
		padding: 0 0 0 1.2em;
		background: none;
	}
	.overview__step-detail-list-item:before {
		border-radius: 50%;
		width: 8px;
		height: 8px;
		display: block;
		position: absolute;
		left: 0;
		top: 0.5em;
		content: "";
		background: var(--main-color);
	}
}
@media screen and (max-width:575.98px) {
	.overview__subtitle {
		font-size: 2.4rem;
	}
	.overview__step-title {
		height: auto;
		padding: 20px 48px 20px 0px;
		line-height: 1.4;
		letter-spacing: 0;
		font-size: 1.5rem;
	}
	.overview__step-count {
		width: 64px;
		height: 32px;
		font-size: 1rem;
	}
	.overview__step-count-num {
		position: relative;
		top: -1px;
		padding-left: 3px;
		font-weight: 700;
		font-size: 1.8rem;
	}
	.overview__step-title-period {
		letter-spacing: 0;
		font-size: 1.4rem;
	}
	.overview__step[open] > .overview__step-summary {
		background-size: 60px 60px;
		background-position: right -5px top -5px;
	}
	.overview__step-summary {
		background-size: 60px 60px;
		background-position: right -5px top -5px;
	}
	.overview__step-list {
		margin: 0 8%;
		padding-bottom: 5%;
	}
	.overview__step-item {
		display: block;
		font-size: 1.4rem;
	}
	.overview__step-heading {
		width: 100%;
		padding-left: 64px;
		background-position: -20px center;
	}
	.overview__step-heading br {
		display: none;
	}
	.overview__step-detail {
		width: 100%;
	}
}


/* フォトコンテスト企画・運営の料金
--------------------------------- */
.inquiry-price {
	padding: 60px 0 0;
	background: #fff url(../img/bg-grid.png) center center;
	text-align: center;
}
.inquiry-price__title {
	margin-bottom: 36px;
	color: var(--main-color);
}
.inquiry-price__detail {
	margin-bottom: 36px;
	word-break: keep-all;
	overflow-wrap: anywhere;
	line-height: 2;
	letter-spacing: 2px;
	font-size: 2.2rem;
	font-weight: 700;
	color: #000;
}
.inquiry-price__text {
	line-height: 2;
	font-size: 1.6rem;
}
.inquiry-price__figure {
	max-width: 600px;
	margin-bottom: 24px;
}


@media screen and (max-width:767.98px),
(992px <= width <= 1180px) {
	.inquiry-price {
		padding: 6% 0 8%;
	}
	.inquiry-price__title {
		margin-bottom: 5%;
		font-size: 3.0rem;
	}
	.inquiry-price__detail {
		margin-bottom: 5%;
		line-height: 1.8;
		letter-spacing: 2px;
		font-size: 2.0rem;
	}
}
@media screen and (max-width:575.98px) {
	.inquiry-price {
		padding: 10% 0 0;
	}
	.inquiry-price__title {
		font-size: 2.4rem;
	}
	.inquiry-price__detail {
		margin-bottom: 12%;
		line-height: 1.5;
		letter-spacing: 0;
		font-size: 1.6rem;
	}

}


/* フォトコン関連その他サービス
--------------------------------- */
.related-services {
	padding: 80px 0 80px;
	background: #fff url(../img/bg-grid.png) center center;
}
.related-services__container {
	max-width: 1140px;
}
.related-services__title {
	margin: 0 auto 60px;
	color: #5a90f4;
}
.related-services__list {
	max-width: 1140px;
	display: flex;
	justify-content: center;
	gap: 40px;
	margin-bottom: 80px;
}
.related-services__item {
	width: calc((100% - 80px)/3);
	display: flex;
	flex-direction: column;
	gap: 24px;
	text-align: center;
}
.related-services__menu-name {
	line-height: 1.2;
	font-weight: 700;
	font-size: 2.4rem;
}
.related-services__menu-image {
	border: 1px solid #eee;
}
.related-services_menu-detail {
	flex-grow: 1;
	text-align: justify;
	line-height: 1.6;
	font-size: 1.6rem;
}
.related-services__menu-button {
	width: 100%;
	letter-spacing: 0;
	font-size: 1.4rem;
}

.related-services__sns {
	text-align: center;
}
.related-services__sns-title {
	margin-bottom: 24px;
	font-weight: 700;
	font-size: 2.8rem;
}
.related-services__sns-details {
	margin-bottom: 24px;
	line-height: 1.6;
	font-weight: 700;
	font-size: 1.6rem;
}
.related-services__sns-badge-list {
	max-width: 680px;
	display: flex;
	justify-content: space-between;
	margin: 0 auto 24px;
}
.related-services__sns-badge-item {
	width: 30%;
	max-width: 180px;
}
.related-services__sns-menu-button {
	margin-bottom: 48px;
}

@media screen and (max-width:991.98px) {
	.related-services__menu-name {
		font-size: 1.8rem;
	}
}
@media screen and (max-width:767.98px),
(992px <= width <= 1180px) {
	.related-services__list {
		display: block;
		margin-bottom: 10%;
	}
	.related-services__item {
		width: 100%;
		display: flex;
		flex-direction: column;
		gap: 24px;
		margin-bottom: 6%;
	}
}

@media screen and (max-width:575.98px) {
	.related-services__list {
		display: block;
		margin-bottom: 10%;
	}
	.related-services__item {
		width: 100%;
		display: flex;
		flex-direction: column;
		gap: 24px;
		margin-bottom: 6%;
	}
	.related-services__menu-name {
		font-size: 1.8rem;
	}
	.related-services__sns-details {
		text-align: justify;
	}
}


/* 開設/運用代行に対応しているSNS */
.related-services__supported-sns {
	max-width: 880px;
	margin: 0 auto 32px;
	padding: 32px 0 0;
	box-shadow: 0 0 20px rgba(0,0,0,0.2);
	background: #fff;
}
.related-services__supported-sns-title {
	margin: 0 auto 0;
	text-align: center;
	font-weight: bold;
	font-size: 1.8rem;
	color: #000;
}
.related-services__supported-sns-list {
	max-width: 880px;
	display: flex;
	justify-content: space-between;
	border-radius: 10px;
	margin: 0 auto 0;
	padding: 32px 0;
	background: #fff;
	text-align: center;
}
.related-services__supported-sns-item {
	width: 25%;
	border-left: 1px solid #bebebe;
}
.related-services__supported-sns-item--first {
	border-left: 0;
}
.related-services__supported-sns-icon {
	height: 70px;
	width: 70px;
	margin: 0 auto 10px;
}
.related-services__supported-sns-detail {
	line-height: 1.5;
	font-weight: bold;
	font-size: 1.6rem;
}
.related-services__supported-sns-name {
	font-size: 2.0rem;
}
.related-services__supported-sns-note {
	margin-bottom: 80px;
	text-align: center;
	font-size: 1.2rem;
}

@media screen and (max-width:767.98px),
(992px <= width <= 1180px) {
	.related-services {
		padding: 8% 0;
	}
	.related-services__supported-sns-title {
		margin: 0 auto 5%;
	}
	.related-services__supported-sns-item {
		border-left: 1px solid #bebebe;
	}
	.related-services__supported-sns-item--first {
		border-left: 0;
	}
	.related-services__supported-sns-detail {
		font-size: 1.4rem;
	}
	.related-services__supported-sns-name {
		font-size: 1.6rem;
	}
}
@media screen and (max-width:575.98px) {
	.related-services__supported-sns-title {
		margin: 3% auto 0;
	}
	.related-services__supported-sns-list {
		flex-wrap: wrap;
		justify-content: center;
		gap: 20px;
	}
	.related-services__supported-sns-item {
		width: calc(50% - 40px);
		border: 0;
	}
	.related-services__supported-sns-icon {
		margin: 0 auto 4px;
	}
	.related-services__supported-sns-note {
		margin-bottom: 8%;
	}
}

/* 他にも様々なご要望にお応えします */
.related-services__more-title {
	height: 152px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: transparent url(../img/bg-other-services-more-title.png) no-repeat center center;
	background-size: 820px 152px;
	text-align: center;
	font-weight: 700;
	font-size: 3.2rem;
}
.related-services__more-list {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 16px;
	margin: 0 auto;
	text-align: center;
}
.related-services__more-item {
	display: flex;
	justify-content: center;
	align-items: center;
	height: auto;
	padding-left: 36px;
	background: url(../img/icon-list-check.svg) no-repeat left center;
	background-size: 32px 28px;
	line-height: 1.5;
	font-weight: 700;
	font-size: 2.2rem;
}


@media screen and (max-width:767.98px),
(992px <= width <= 1180px) {
	.related-services__morelist {
		justify-content: flex-start;
		align-items: flex-start;
	}
	.related-services__moreitem {
		padding-left: 40px;
		text-align: left;
		font-size: 1.8rem;
	}
}
@media screen and (max-width:575.98px) {
	.related-services__more-container {
		margin-bottom: 8%;
	}
	.related-services__more-title {
		height: 3em;
		margin-bottom: 5%;
		background-size: contain;
		line-height: 1.2;
		font-size: 2.4rem;
	}
	.related-services__more-list {
		gap: 12px;
		margin: 0 auto 5%;
	}
	.related-services__more-item {
		font-size: 1.6rem;
	}
}


/* その他サービス
--------------------------------- */
.other-services {
	padding: 80px 0;
	background: #e5e5e5;
}
.other-services__title {
	margin: 0 auto 60px;
	color: #000;
}
.other-services__list {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 20px;
}
.other-services__item {
	width: calc((100% - 40px) / 3);
}

@media screen and (max-width:767.98px),
(992px <= width <= 1180px) {
	.other-services {
		padding: 8% 0;
	}
	.other-services__title {
		margin: 0 auto 6%;
	}
	.other-services__item {
		width: calc((100% - 20px) / 2);
	}
}
@media screen and (max-width:575.98px) {
	.other-services__list {
		gap: 10px;
	}
	.other-services__item {
		width: 100%;
	}
}


/* よくある質問
--------------------------------- */
.faq {
	padding: 60px 0;
	background: var(--main-color);
}
.faq__title {
	margin: 0 auto 60px;
	color: #fff;
}
.faq__qa {
	max-width: 980px;
	margin: 0 auto 40px;
	background: #fff;
	text-align: justify;
}
.faq__q {
	height: 84px;
	display: flex;
	align-items: center;
	background: url(../img/icon-plus.svg) no-repeat top right;
	background-size: 80px 80px;
	padding-right: 60px;
	line-height: 1.5;
	letter-spacing: 3px;
	font-weight: 700;
	font-size: 2.0rem;
	cursor: pointer;
}
.faq__qa[open] > .faq__q {
	background: url(../img/icon-minus.svg) no-repeat top right;
	background-size: 80px 80px;
}
.faq__a {
	display: flex;
	justify-content: flex-start;
	padding: 0 36px 30px 0;
}
.faq__q-text {
	width: calc(100% - 144px);
}
.faq__a-text {
	width: calc(100% - 144px);
	text-align: justify;
	line-height: 1.8;
	letter-spacing: 1px;
	font-size: 1.6rem;
}
.faq__label {
	width: 120px;
	height: 36px;
	flex-shrink: 0;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	border-radius: 100vw;
	margin: 0 30px 0 24px;
	background: var(--main-color);
	line-height: 1;
	letter-spacing: 5px;
	font-weight: 700;
	font-size: 2.4rem;
	color: #fff;
}
.faq__label--a {
	background: #b1b1b1;
}
.faq__label-position {
	position: relative;
	top: -2px;
	left: 5px;
}
.faq__a-list {
	padding-left: 1.2em;
}
.faq__a-list--mB {
	margin-bottom: 24px;
}
.faq__a-list-item {
	list-style-type: disc;
}
.faq__a-note {
	padding-top: 10px;
	font-size: 1.4rem;
}
	

@media screen and (max-width:767.98px),
(992px <= width <= 1180px) {
	.faq {
		padding: 6% 0;
	}
	.faq__title {
		margin: 0 auto 6%;
	}
	.faq__qa {
		margin: 0 auto 3%;
	}
	.faq__q {
		letter-spacing: 1px;
		font-size: 1.8rem;
	}
	.faq__label {
		width: 80px;
		height: 32px;
		margin: 0 20px 0 16px;
		font-size: 2.0rem;
	}
}

@media screen and (max-width:575.98px) {
	.faq__q {
		height: auto;
		padding: 10px 50px 10px 0px;
		background-size: 60px 60px;
		background-position: right -5px top -5px;
		line-height: 1.4;
		letter-spacing: 0;
		font-size: 1.6rem;
	}
	.faq__qa[open] > .faq__q {
		background-size: 60px 60px;
		background-position: right -5px top -5px;
	}
	.faq__label {
		width: 60px;
		height: 30px;
		margin: 0 16px 0 12px;
		letter-spacing: 3px;
		font-size: 1.8rem;
	}
	.faq__a {
		display: flex;
		justify-content: flex-start;
		padding: 0 24px 20px 0;
	}
	.faq__q-text {
		width: calc(100% - 84px);
	}
	.faq__a-text {
		width: calc(100% - 84px);
		line-height: 1.4;
		letter-spacing: 0;
		font-size: 1.4rem;
	}
}









/* 会社概要
--------------------------------- */
.company-profile {
	padding: 80px 0;
	background: #fff;
	text-align: center;
}
.company-profile__title {
	margin-bottom: 50px;
	font-size: 3.6rem;
	color: #000;
}




 .company-profile__table {
      border-collapse: collapse;
      width: 100%;
	     line-height: 1.6;
	font-size: 1.6rem;
	     max-width: 940px;
    margin: 0 auto;

    }
 .company-profile__th,  .company-profile__td {
      padding: 20px 0;
      border-top: 1px solid #cdcdcd;
      border-bottom: 1px solid #cdcdcd;
      border-left: none;
      border-right: none;
      text-align: left;
      vertical-align: top;
    }
 .company-profile__th {
      white-space: nowrap;
      padding: 20px 20px 20px 0;
    }

 .company-profile__business {
      list-style: none; /* アイコン非表示 */
      padding-left: 0;
      margin: 0;
    }

.company-profile__businesslist {
      margin-bottom: 1em; /* リスト間の空き */
    }
.company-profile__businesslist:last-child {
      margin-bottom: 0; /* 最後の項目だけ余白をなくす */
    }

/* PC */
@media screen and (min-width:576px) {

}

@media screen and (max-width:991.98px),
@media screen and (max-width:767.98px),
(992px <= width <= 1180px) {
	.company-profile__title {
		font-size: 3.0rem;
	}
	.company-profile__table {
		font-size: 1.8rem;
	}

}

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

	.company-profile__title {
		font-size: 2.4rem;
	}
	.company-profile__table {
		margin-bottom: 36px;
		font-size: 1.4rem;
	}

}




/* お問い合わせありがとうございました。
--------------------------------- */
.complete {
	height: 60vh;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #fff url(../img/bg-grid.png) center center;
	text-align: center;
}
.complete__title {
	margin: 0 auto 48px;
	color: var(--main-color);
}
.complete__message {
	line-height: 1.8;
	letter-spacing: 2px;
	font-weight: 700;
	font-size: 2.0rem;
	color: #000;
}

/* ビジュアル・モバイル用 */
@media screen and (max-width:767.98px) {
	.complete__message {
		line-height: 1.8;
		letter-spacing: 1px;
		font-size: 1.6rem;
	}
}
@media screen and (max-width:575.98px) {
	.complete {
		height: 50vh;
	}
	.complete__message {
		text-align: justify;
	}
}

/* フッター
--------------------------------- */
.footer__pagetop {
	height: 50px;
	display: flex;
	justify-content: center;
	align-item: center;
	background: #d9e2e1;
	color: #fff;
}
.footer__pagetop-icon {
	width: 36px;
}

.footer__container {
	position: relative;
	padding: 48px 0 24px;
}
.footer__link-list {
	display: flex;
	justify-content: center;
	gap: 48px;
	margin: 0 auto 32px;
	font-size: 1.2rem;
	letter-spacing: 1px;
}
.footer__link-list--sub {
	gap: 40px;
	margin: 0 auto 16px;
	font-size: 1.1rem;
}
.footer__link-item {
	display: inline;
}
.footer__link {
	text-decoration: none;
	color: #000;
}
.footer__copyright {
	padding-top: 10px;
	text-align: center;
	letter-spacing: 1px;
}

.footer__badge--npojop {
	position: absolute;
	top: 36px;
	right: 100px;
}
.footer__badge--pmark {
	position: absolute;
	top: 30px;
	right: 0px;
}

@media screen and (max-width:767.98px) {
	.footer__container {
		padding: 48px 0 36px;
		text-align: center;
	}
	.footer__link-list {
		justify-content: center;
		gap: 12px;
		flex-wrap: wrap;
		margin: 0 auto 32px;
	}
	.footer__link-list--sub {
		gap: 12px;
		margin: 0 auto 16px;
		font-size: 1.1rem;
	}
	.footer__link-item {
		display: block;
		width: 30%;
		text-align: center;
	}
	.footer__badge {
		display: inline-block;
		margin: 0 20px 20px;
	}
	.footer__badge--npojop {
		position: relative;
		top: 0;
		right: 0;
	}
	.footer__badge--pmark {
		position: relative;
		top: 0;
		right: 0px;
	}
}

.grecaptcha-badge { visibility: hidden; }
