@media screen,print {
	/* 960px以上に適用されるCSS（PC用）、印刷に適用されるCSS */

/*****共通部分*****/
	* {
		font-size: 18px;/*基本の文字サイズ*/
		font-family: 'Zen Kaku Gothic New', sans-serif;/*基本の文字*/
		font-weight: 500;/*基本の文字ウェイト*/
		letter-spacing: 0.1rem;/*基本の文字間隔*/
		line-break:strict;
		box-sizing: border-box;
		gap: 0;
	}
	html, body {
		-webkit-text-size-adjust: 100%;
		color: #333333;/*基本の文字色*/
	}
	.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
		margin-bottom: initial;
		font-weight: initial;
		line-height: initial;
		color: #333333;
	}
	img {
		max-width: 100%;
	}
	a {
		color: #D95177;
		text-decoration: none;
	}
	a:hover {
		color: #D95177;
		text-decoration: none;
	}
	a:visited {
		color: initial;
	}
	dl, ol, ul {
		margin-bottom: initial;
	}
	.l-content {
		margin: 0 auto 0em;
	}
	.anchor{
		display: block;
		padding-top: 100px;
		margin-top: -100px;
	}
	.wp-block-column > * {
		margin-bottom: 0;
	}
	main.l-mainContent.l-article.individual {
		padding-top: 0;
	}
	/***ヘッダー***/
	header .l-container {
		max-width: initial;
		padding-left: 30px;
		padding-right: calc(170px + 1.5vw);
	}
	.-series .l-header__logo {
		padding: 0px 0;
	}
	/*デフォルト*/
	.c-gnav>.menu-item>a {
		padding: 0 1.5vw;
	}
	.c-gnav>.menu-item>a .ttl {
		font-size: clamp(0.9rem, 1.1vw, 1.05rem);
		font-weight: 700;
	}
	/*スクロール時*/
	div.l-fixHeader {
		box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
	}
	div.l-fixHeader__inner.l-container {
		max-width: initial;
		padding-left: 30px;
		padding-right: calc(170px + 1.5vw);
	}
	.l-fixHeader__logo {
		padding: 0px 0;
	}
	.l-fixHeader .c-headLogo {
		height: 120px;
	}
	/*ナビ*/
	.c-gnav>.menu-item:last-child {
		width: 170px;
		height: 150px;
		color: #FFFFFF;
		background-color: #D95177;
		border-radius: 0 0 0 30px;
		position: absolute;
		top: 0;
		right: 0;
		z-index: 1;
	}
	.c-gnav>.menu-item:last-child:hover {
		background-color: #B5234C;
		transition: .5s;
	}
	.c-gnav>.menu-item:last-child a span {
		font-size: clamp(1.0rem, 1.1vw, 1.05rem);
	}
	.c-gnav > .-current > a::after {
		display: none;
	}
	.c-gnav>.menu-item:last-child  a:hover::after {
		display: none;
	}
	.c-gnav>.menu-item>.sub-menu {
		width: 100vw;
		height: 120px;
		padding: 0px 5%;
		background-color: rgb(217, 81, 119, .95);
		position: fixed;
		top: 120px;
		right: 0;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.c-gnav>.menu-item>.sub-menu li a {
		width: 100%;
		height: 120px;
		font-size: clamp(0.9rem, 1.1vw, 1.2rem);
		font-weight: 700;
		color: #FFFFFF;
		padding: 0 30px;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		position: relative;
	}
		.c-gnav>.menu-item>.sub-menu li a::before {
			content: '';
			width: 15px;
			height: 15px;
			-webkit-border-radius: 50%;
			border-radius: 50%;
			background-color: #ffffff;
			position: absolute;
			left: 30px;
	}
	.c-gnav>.menu-item>.sub-menu li a::after {
		content: '';
		left: 33.3px;
		width: 6px;
		height: 6px;
		background-color: #ffffff;
		border-top: 2px solid #D95177;
		border-right: 2px solid #D95177;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		position: absolute;
	}
	.c-gnav>.menu-item>.sub-menu li a span.ttl {
		height: 40px;
		font-weight: 700;
		line-height: 1.5rem;
		padding-left: 30px;
	}
	.c-gnav>.menu-item>.sub-menu li a span {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}
	/***フッター***/
	div.mainfooter {
		background-color: #FFFBFC;
		margin-left: calc((100vw - 100%) / 2 * -1);
		margin-right: calc((100vw - 100%) / 2 * -1);
		padding: 60px 10% 60px;
	}
	div.mainfooter > div {
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	div.mainfooter img {
		width: 500px;
	}
	div.mainfooter p {
		display: inline-block;
	}
	div.mainfooter p.address {
		font-weight: 700;
		padding: 30px 0 15px;
	}
	div.mainfooter p.tel {
		font-size: 2.5rem;
		font-weight: 900;
		padding: 0 0 30px 1.3rem;
		position: relative;
	}
	div.mainfooter p.tel sub {
		font-size: 1.3rem;
		font-weight: 900;
		bottom: 0;
	}
	div.mainfooter p.tel::before {
		content: '';
		width: 2.5rem;
		height: 2.5rem;
		background-image: url(/ccp/wp-content/uploads/2024/07/tel.png);
		background-size: cover;
		position: absolute;
		left: -1.5rem;
		top: 9px;
	}
	div.mainfooter div.mainmenu {
		margin-bottom: 25px;
		flex-wrap: wrap;
	}
	div.mainfooter div.mainmenu p a {
		font-size: 1.0em;
		font-weight: 700;
		color: #333333;
		text-decoration: underline;
		padding: 2px 20px 0;
		border-left: 1px solid #333333;
	}
	div.mainfooter div.mainmenu p:last-child {
		border-right: 1px solid #333333;
	}
	div.mainfooter div.submenu p {
		text-decoration: underline;
		padding: 5px 10px 0;
		border-left: 1px solid #333333;
	}
	div.mainfooter div.submenu p a {
		font-size: 0.8em;
		font-weight: 700;
		color: #333333;
	}
	div.mainfooter div.submenu p:last-child {
		border-right: 1px solid #333333;
	}
	div.mainfooter div.mainmenu a:hover, div.mainfooter div.submenu a:hover {
		color: #D95177;
	}
	p.copyright {
		color: #FFFFFF;
	}
	/*reCAPTCHA*/
	.grecaptcha-badge{
		bottom: 120px!important;
		z-index: 100;
	}
	/***CTA***/
	div.cta {
		margin-left: calc((100vw - 100%) / 2 * -1);
		margin-right: calc((100vw - 100%) / 2 * -1);
		border-bottom: 5px solid #D95177;
	}
	div.cta div.wp-block-cover {
		min-height: 260px;
		padding: 0;
		position: relative;
		align-items: end;
	}
	div.cta div.wp-block-cover::after {
		content: '';
		width: 100%;
		height: 100%;
		background-color: rgba(0, 0, 0, .5);
		position: absolute;
		mix-blend-mode: multiply;
	}
	div.cta:hover div.wp-block-cover::after {
		background-color: rgba(0, 0, 0, .7);
		transition: .5s;
	}
	div.cta div.wp-block-cover span {
		opacity: 0;
	}
	div.cta p.has-text-align-center.has-large-font-size {
		font-size: 6.0rem!important;
		font-weight: 900;
		color: rgba(255, 255, 255, .5);
		letter-spacing: 0.3rem;
		line-height: 5.3rem;
	}
	div.cta .wp-block-cover__inner-container>* {
		margin-bottom: 0!important;
	}
	/***下層タイトル***/
	.l-topTitleArea.c-filterLayer::before {
		opacity: 0.0;
		content: "";
		border-radius: 0 0 0 0;
	}
	.l-topTitleArea.c-filterLayer::after {
		border-radius: 0 0 0 0;
		opacity: .3;
	}
	.c-filterLayer__img {
		border-radius: 0 0 0 0;
	}
	div.l-topTitleArea__body.l-container {
		display: flex;
		justify-content: center;
	}
	h1.c-pageTitle {
		font-size: 3.0rem;
		font-weight: 700;
		letter-spacing: .5rem;
		text-align: center;
	}
	h1.c-pageTitle small {
		font-size: 1.3rem;
		font-weight: 700;
		color: #D95177;
		letter-spacing: 0.3rem;
		display: none;
		margin: 0;
		padding-top: 15px;
	}
	/***パンくず***/
	.p-breadcrumb__list {
		align-items: start;
	}
	ol.p-breadcrumb__list.l-container li span {
		font-size: 0.9em;
	}
	ol.p-breadcrumb__list.l-container li:last-child span {
		white-space: normal;
	}
	/***ボタン***/
	.is-style-btn_normal {
		--the-btn-radius: 0px;
	}
	div.swell-block-button.is-style-btn_normal {
	}
	div.swell-block-button.is-style-btn_normal a {
		min-width: 400px;
		background-color: #F3F4F5;
		border: solid 3px #D95177;
		padding: 25px 0;
		background-image: linear-gradient(135deg, #D95177 15px, transparent 0);
		position: relative;
		transition: .2s;
	}
	div.swell-block-button.is-style-btn_normal a:hover {
		box-shadow: 0 0px 0px rgba(0, 0, 0, .0), 0 0px 0px -0px rgba(0, 0, 0, .0);
		padding: 22px 0 28px;
	}
	div.swell-block-button.is-style-btn_normal a::after {
		content: '';
		width: 100px;
		height: 2.5px;
		background-color: #D95177;
		position: absolute;
		top: 37px;
		right: -50px;
		transition: .2s;
	}
	div.swell-block-button.is-style-btn_normal a:hover::after {
		width: 130px;
		right: -80px;
	}
	div.swell-block-button.is-style-btn_normal a span {
		color: #D95177;
		font-weight: 700;
	}
	
	
	
	
	
/*****TOPページ*****/
	.top #content {
		padding-top: 0em;
	}
	/***TOPメインイメージ***/
	div.p-mainVisual {
		overflow: visible;
		position: relative;
		width: calc(100% - 100px);
		border-radius: 0 0 80px 0;
		position: relative;
	}
	div.p-mainVisual__inner.c-filterLayer.-texture-dot .l-container {
		max-width: initial;
	}
	div.p-mainVisual__slideTitle {
		font-family: Century Gothic, CenturyGothic, AppleGothic, sans-serif;
		font-size: 7.0rem;
		color: rgba(255,255,255,.5);
		letter-spacing: 0.5rem;
	}
	video.p-mainVisual__video {
		border-radius: 0 0 80px 0;
	}
	.c-filterLayer:after, .c-filterLayer:before {
		border-radius: 0 0 80px 0;
	}
	/*TOPスクロール*/
	div.p-mainVisual::before {
		font-family: 'Arial';
		content: 'SCROLL DOWN';
		width: 65vh;
		height: 100px;
		font-size: 0.8rem;
		font-weight: 700;
		color: #D95177;
		line-height: 150px;
		letter-spacing: 0.5rem;
		text-align: right;
		position: absolute;
		bottom: 0px;
		right: 0px;
		transform: rotate(90deg);
		transform-origin: bottom right;
	}
	div.p-mainVisual::after {
		content: '';
		width: 2px;
		height: 300px;
		background-color: #D95177;
		position: absolute;
		bottom: 0px;
		right: -50px;
		animation: blinking 1s ease-in-out infinite alternate;
	}
	/*TOPロゴマークに込めた想い*/
	div.topabout {
		padding: 100px 0;
	}
	div.topabout h2 {
		font-size: 2.5rem;
		letter-spacing: 0.3rem;
		text-align: center;
	}
	div.topabout h2::after {
		content: '－ Thoughts Behind Logo －';
		font-size: 1.2rem;
		color: #D95177;
		letter-spacing: 0.2rem;
		display: block;
		padding-top: 30px;
	}
	div.topabout img {
		width: 550px;
		height: auto;
		margin-bottom: 30px;
	}
	div.topabout div.topabouttext {
		width: 85%;
		font-weight: 700;
		line-height: 3.5rem;
		text-align: center;
		background-color: #FFFFFF;
		--border-color:#D95177;/*カッコの色*/
		margin: 2em auto;
		padding:2em;/*内側余白*/
		position: relative;
	}
	div.topabouttext::before,
	div.topabouttext::after {
		content: '';
		width: 50px;
		height: 50px;
		position: absolute;
	}
	div.topabouttext::before {
		border-left: solid 3px var(--border-color);
		border-top: solid 3px var(--border-color);
		top: 0;
		left: 0;
	}
	div.topabouttext::after {
		border-right: solid 3px var(--border-color);
		border-bottom: solid 3px var(--border-color);
		bottom: 0;
		right: 0;
	}
	div.topabout div.topabouttext p {
		font-size: 1.2rem;
		font-weight: 700;
	}
	div.topabout div.topabouttext strong {
		color: #D95177;
	}
	div.topabout div.swell-block-button.is-style-btn_normal {
		margin: 5rem 0;
	}
	/*TOP事業内容*/
	div.topservice {
		background-color: #FFFFFF;
		margin-left: calc((100vw - 100%) / 2 * -1);
		margin-right: calc((100vw - 100%) / 2 * -1);
		padding: 6em 0;
		text-align: center;
	}
	div.topservice > div {
		padding: 0 5%;
	}
	div.topservice > div > div.topserviceinner01 > div {
		margin-left: 0;
		padding-bottom: 30px;
		flex-direction: column;
	}
	div.topservice div.topserviceinner01 div.topserviceimage {
		width: 100%;
		height: 250px;
		margin: 0;
		position: relative;
	}
	div.topservice div.topserviceinner01 div.topserviceimage img {
		width: 100%;
		height: 250px;
		object-fit: cover;
	}
	div.topservice div.topserviceinner01 div.topservicetext {
		width: 100%;
		height: auto;
		margin: 0;
		position: relative;
		}
	div.topservice div.topserviceinnerwrap {
		padding-bottom: 70px;
	}
	div.topservice div.topserviceinnerwrap > div {
		width: 100%;
		margin: 0;
	}
	div.topservice div.topserviceinnerwrap > div > div {
		position: relative;
	}
	div.topservice div.topserviceinner02 {
		padding-right: 3%;
	}
	div.topservice div.topserviceinner02 div.topserviceimage {
		width: 100%;
		height: 200px;
		margin: 0;
		position: relative;
	}
	div.topservice div.topserviceinner02 div.topserviceimage img {
		width: 100%;
		height: 200px;
		object-fit: cover;
	}
	div.topservice div.topserviceinner02 div.topservicetext {
		width: 100%;
		height: auto;
		margin: 0;
		}
	div.topservice div.topserviceinner03 {
		padding-left: 3%;
	}
	div.topservice div.topserviceinner03 div.topserviceimage {
		width: 100%;
		height: 200px;
		margin: 0;
		position: relative;
	}
	div.topservice div.topserviceinner03 div.topserviceimage img {
		width: 100%;
		height: 200px;
		object-fit: cover;
	}
	div.topservice div.topserviceinner03 div.topservicetext {
		width: 100%;
		height: auto;
		margin: 0;
		}
	div.topservice div.topservicetext {
		height: 100%;
		text-align: left;
		margin-left: 40px;
		padding-bottom: 50px;
		padding-left: 24px;
	}
	div.topservice div.topservicetext > div > div {
		width: 100%;
		margin: 0;
	}
	div.topservice div.topservicetext div.title {
		margin: 0;
		flex-basis: 30%;
	}
	div.topservice div.topservicetext div.text {
		margin: 0;
		flex-basis: 60%;
	}
	div.topservice div.topservicetext h3 {
		font-size: 1.6rem;
		margin-bottom: 1.8rem;
		padding-top: 45px;
		position: relative;
	}
	div.topservice div.topservicetext h3 strong {
		font-size: 7.0rem;
		font-weight: 900;
		color: #F29CA6;
		letter-spacing: 0.4rem;
		display: block;
		position: absolute;
		top: -7.0rem;
	}
	div.topservice div.topservicetext div.swell-block-button.is-style-btn_normal {
		position: absolute;
		bottom: -10px;
		right: 0;
	}
	div.topservice div.topserviceinnerwrap div.topservicetext div.swell-block-button.is-style-btn_normal {
		position: absolute;
		bottom: -10px;
		right: 3%;
	}
	div.topservice div.topservicetext div.swell-block-button.is-style-btn_normal a {
		min-width: initial;
		border: 0 solid #FFFFFF!important;
		background-image: url();
	}
	div.topservice div.topservicetext div.swell-block-button.is-style-btn_normal a::after {
		height: 2px;
		top: initial;
		bottom: 20px;
		right: 0;
	}	
	/*TOP会社情報*/
	div.topcompany {
		margin-left: calc((100vw - 100%) / 2 * -1);
		margin-right: calc((100vw - 100%) / 2 * -1);
		padding: 100px 15% 0;
	}
	div.topcompany h2 {
		font-size: 2.5rem;
		letter-spacing: 0.3rem;
		text-align: center;
	}
	div.topcompany h2::after {
		content: '－ COMPANY －';
		font-size: 1.2rem;
		color: #D95177;
		letter-spacing: 0.2rem;
		display: block;
		padding-top: 30px;
	}
	div.topcompany div.topcompanymenu {
		margin-bottom: 100px;
	}
	div.topcompany div.topcompanymenu > div {
		justify-content: space-evenly;
	}
	div.topcompany div.topcompanymenu > div > div {
		max-width: 270px;
		background-color: #FFFFFF;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		background-image: linear-gradient(135deg, #F29CA6 25px, transparent 0);
	}
	div.topcompany div.topcompanymenu > div > div > a {
		width: 100%;
		height: 100%;
		padding: 3.5vw 1em;
	}
	div.topcompany div.topcompanymenu > div > div:hover {
		background-color: #FFFFDA;
		transform: .5s;
	}
	div.topcompany div.topcompanymenu img {
		min-width: 100px;
		height: auto;
	}
	div.topcompany div.topcompanymenu span {
		font-size: 1.2rem;
		font-weight: 700;
		letter-spacing: 0.1rem;
		padding: 20px 0 0;
	}
	/*TOPお知らせ*/
	div.topnews {
		background-color: #FFFFFF;
		margin-top: 100px;
		margin-left: calc((100vw - 100%) / 2 * -1);
		margin-right: calc((100vw - 100%) / 2 * -1);
		padding: 100px 10% 150px;
	}
	.post_content> * {
		margin-bottom: 0px;
	}
	div.topnews h2 {
		font-size: 2.5rem;
		letter-spacing: 0.3rem;
		text-align: center;
	}
	div.topnews h2::after {
		content: '－ NEWS －';
		font-size: 1.2rem;
		color: #D95177;
		letter-spacing: 0.2rem;
		display: block;
		padding-top: 30px;
	}
	/*TOPNEWSポスト（アーカイブ共通）*/
	div.p-postListWrap {
		max-width: 960px;
		margin: 0 auto 100px;
	}
	.-type-simple .p-postList__link {
		padding: 1.0em 1.0em;
	}
	div.p-postList__body {
		display:flex;
		align-items: start;
	}
	div.p-postList__meta {
		flex-direction: row-reverse;
		flex-wrap: nowrap;
	}
	div.p-postList__meta > div, div.p-postList__meta > span {
		white-space: nowrap;
	}
	div.p-postList__meta span {
		font-size: 0.8rem;
		font-weight: 700;
		background-color: #FFF57F;
		padding: 8px 15px 6px;
	}
	div.p-postList__meta span::before {
		display: none;
	}
	div.p-postList__meta time {
		min-width: 150px;
		font-size: 1.0rem;
		padding: 6px 10px;
	}
	div.p-postList__meta time::before {
		display: none;
	}
	.p-postList .p-postList__title {
		font-size: 1.1em;
		font-weight: 500;
		line-height: 2.5rem;
		text-decoration: underline;
	}
	div.swell-block-button.is-style-btn_normal a {
		background-color: #FFFFFF;
	}
	
	
	
	
	
/*****私たちについて*****/
	/***Design Happiness***/
	div.abouthappiness {
		margin-left: calc((100vw - 100%) / 2 * -1);
		margin-right: calc((100vw - 100%) / 2 * -1);
		padding: 80px 0 130px;
		position: relative;
	}
	div.abouthappiness .swell-block-columns .swell-block-column {
		margin: 0 0 0 0;
	}
	div.abouthappiness div.designhappinesswrap > div {
		justify-content: end;
	}
	div.abouthappiness div.designhappinessimage {
		width: 35%;
		max-width: 600px;
		min-width: 360px;
		object-fit: cover;
		position: absolute;
		top: 0px;
		left: 0;
	}
	div.abouthappiness div.designhappinessimage figure {
		box-shadow: 0px 0px 20px 2px rgba(0, 0, 0, .3);
	}
	div.abouthappiness div.designhappinessimage img {
		height: 600px;
		object-fit: cover;
	}
	div.abouthappiness div.designhappinesstext {
		width: calc(100% - 100px);
		min-height: calc(600px + 20px);
		background-color: #FFFFFF;
		padding: 5% 10% 5% 35%;
	}
	div.abouthappiness div.designhappinesstext p.subtitle {
		font-size: 2.0rem;
		font-weight: 900;
		color: #D95177;
		letter-spacing: 0.2rem;
	}
	div.abouthappiness div.designhappinesstext h2 {
		line-height: 3.0rem;
		margin: 2.0rem 0 3.0rem 0;
	}
	div.abouthappiness div.designhappinesstext p.text {
		max-width: 800px;
		line-height: 2.0rem;
	}
	/***ロゴマークに込めた想い***/
	div.aboutus {
		margin-top: -120px;
		padding: 120px 0 160px;
	}
	div.aboutus h2 {
		font-size: 2.5rem;
		letter-spacing: 0.3rem;
		text-align: center;
		margin-bottom: 2.5em;
	}
	div.aboutus h2::after {
		width: 100px;
		height: 5px;
		content: '';
		font-size: initial;
		color: initial;
		letter-spacing: initial;
		margin: 30px auto 0;
		padding-top: initial;
		display: block;
		background-color: #D95177;
	}
	div.aboutus img {
		width: 550px;
		height: auto;
		margin-bottom: 30px;
	}
	div.aboutus div.topabouttext {
		width: 85%;
		font-weight: 700;
		line-height: 3.5rem;
		text-align: center;
		background-color: #FFFFFF;
		--border-color:#D95177;/*カッコの色*/
		margin: 2em auto;
		padding:2em;/*内側余白*/
		position: relative;
	}
	div.aboutus div.topabouttext p {
		font-size: 1.2rem;
		font-weight: 700;
	}
	div.aboutus div.topabouttext strong {
		color: #D95177;
	}
	div.aboutus div.swell-block-button.is-style-btn_normal {
		margin: 5rem 0;
	}
	/***経営の基本方針***/
	div.aboutpolicy {
		background-color: #FFFFFF;
		margin-left: calc((100vw - 100%) / 2 * -1);
		margin-right: calc((100vw - 100%) / 2 * -1);
		margin-top: -50px;
		padding: 100px 15% 150px;
	}
	div.aboutpolicy h2 {
		font-size: 2.2rem;
		letter-spacing: 0.3rem;
		position: relative;
		display:flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	div.aboutpolicy h2::after {
		content: '';
		width: 100px;
		height: 5px;
		background-color: #D95177;
		margin-top: 30px;
	}
	div.aboutpolicy h3 {
		font-size: 1.7rem;
		margin: 4em 0 2em;
		display:flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	div.aboutpolicy h3.philosophy::after {
		content: 'CORPORATE PHILOSOPHY';
		font-size: 3.0rem;
		font-weight: 900;
		color: rgba(255,245,127, .7);
		position: absolute;
		bottom: -5.0rem;
	}
	div.aboutpolicy h3.vision::after {
		content: 'MANAGEMENT VISION';
		font-size: 3.0rem;
		font-weight: 900;
		color: rgba(255,245,127, .7);
		position: absolute;
		bottom: -5.0rem;
	}
	div.aboutpolicy h3.value::after {
		content: 'VALUE';
		font-size: 3.0rem;
		font-weight: 900;
		color: rgba(255,245,127, .7);
		position: absolute;
		bottom: -5.0rem;
	}
	div.aboutpolicy div.aboutpolicywrap {
		width: 100%;
		border: 3px solid #F29CA6;
		margin: 4.25rem 0 0;
		padding: 5%;
		box-shadow: 0px 0px 10px 2px rgba(0, 0, 0, .2);
		background-image: url(/ccp/wp-content/uploads/2024/10/logomark_mono.png);
		background-size: 40%;
		background-repeat: no-repeat;
		background-position: right bottom;
	}
	div.aboutpolicywrap p {
		text-align: center;
	}
	div.aboutpolicywrap p.word {
		font-size: 1.8rem;
		font-weight: 700;
		color: #D95177;
		line-height: 3.5rem;
		padding: 20px 0 0;
	}
	div.aboutpolicywrap p.text {
		font-size: 1.2rem;
		line-height: 3.5rem;
	}
	
	
	
	
	
/*****事業内容*****/
	/***事業内容トップ***/
	div.servicetop {
		background-color: #FFFFFF;
		margin-left: calc((100vw - 100%) / 2 * -1);
		margin-right: calc((100vw - 100%) / 2 * -1);
		padding: 3em 0 50px;
		text-align: center;
	}
	div.servicetop > div {
		padding: 0 5%;
	}
	div.servicetop > div > div.topserviceinner01 > div {
		margin-left: 0;
		padding-bottom: 30px;
		flex-direction: column;
	}
	div.servicetop div.topserviceinner01 div.topserviceimage {
		width: 100%;
		height: 250px;
		margin: 0;
		position: relative;
	}
	div.servicetop div.topserviceinner01 div.topserviceimage img {
		width: 100%;
		height: 250px;
		object-fit: cover;
	}
	div.servicetop div.topserviceinner01 div.topservicetext {
		width: 100%;
		height: auto;
		margin: 0;
		position: relative;
		}
	div.servicetop div.topserviceinnerwrap {
		padding-bottom: 50px;
	}
	div.servicetop div.topserviceinnerwrap > div {
		width: 100%;
		margin: 0;
	}
	div.servicetop div.topserviceinnerwrap > div > div {
		position: relative;
	}
	div.servicetop div.topserviceinner02 {
		padding-right: 3%;
	}
	div.servicetop div.topserviceinner02 div.topserviceimage {
		width: 100%;
		height: 200px;
		margin: 0;
		position: relative;
	}
	div.servicetop div.topserviceinner02 div.topserviceimage img {
		width: 100%;
		height: 200px;
		object-fit: cover;
	}
	div.servicetop div.topserviceinner02 div.topservicetext {
		width: 100%;
		height: auto;
		margin: 0;
		}
	div.servicetop div.topserviceinner03 {
		padding-left: 3%;
	}
	div.servicetop div.topserviceinner03 div.topserviceimage {
		width: 100%;
		height: 200px;
		margin: 0;
		position: relative;
	}
	div.servicetop div.topserviceinner03 div.topserviceimage img {
		width: 100%;
		height: 200px;
		object-fit: cover;
	}
	div.servicetop div.topserviceinner03 div.topservicetext {
		width: 100%;
		height: auto;
		margin: 0;
		}
	div.servicetop div.topservicetext {
		height: 100%;
		text-align: left;
		margin-left: 40px;
		padding-bottom: 50px;
		padding-left: 24px;
	}
	div.servicetop div.topservicetext > div > div {
		width: 100%;
		margin: 0;
	}
	div.servicetop div.topservicetext div.title {
		margin: 0;
		flex-basis: 30%;
	}
	div.servicetop div.topservicetext div.text {
		margin: 0;
		flex-basis: 60%;
	}
	div.servicetop div.topservicetext h3 {
		font-size: 1.6rem;
		margin-bottom: 1.8rem;
		padding-top: 45px;
		position: relative;
	}
	div.servicetop div.topservicetext h3 strong {
		font-size: 7.0rem;
		font-weight: 900;
		color: #F29CA6;
		letter-spacing: 0.4rem;
		display: block;
		position: absolute;
		top: -7.0rem;
	}
	div.servicetop div.topservicetext div.swell-block-button.is-style-btn_normal {
		position: absolute;
		bottom: -10px;
		right: 0;
	}
	div.servicetop div.topserviceinnerwrap div.topservicetext div.swell-block-button.is-style-btn_normal {
		position: absolute;
		bottom: -10px;
		right: 3%;
	}
	div.servicetop div.topservicetext div.swell-block-button.is-style-btn_normal a {
		min-width: initial;
		border: 0 solid #FFFFFF!important;
		background-image: url();
	}
	div.servicetop div.topservicetext div.swell-block-button.is-style-btn_normal a::after {
		height: 2px;
		top: initial;
		bottom: 20px;
		right: 0;
	}	
	/***ファンドの概要***/
	div.servicefund {
		padding: 150px 5%;
	}
	div.servicefund h2 {
		font-size: 2.2rem;
		letter-spacing: 0.3rem;
		position: relative;
		display:flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	div.servicefund h2::after {
		content: '';
		width: 100px;
		height: 5px;
		background-color: #D95177;
		margin-top: 30px;
	}
	div.servicefund div.fundwrap {
		background-color: #FFFFFF;
		padding: 7% 5%;
	}
	div.servicefund div.p-postList__body {
		display: block;
		text-align: center;
	}
	div.servicefund div.fundimagewrap {
		background-color: #FFFFFF;
		margin-top: 100px;
		padding: 6% 5%;
		border-radius: 50px;
	}
	/***ファンド詳細***/
	div.funddetail table th, div.funddetail table td {
		line-height: 2.0rem;
		background-color: #FFFFFF;
		border-left: solid 0px #FFFFFF;
		border-right: solid 0px #FFFFFF;
		padding: 2%;
	}
	div.funddetail table th {
		white-space:nowrap;
	}
	/***事業内容下層***/
	div.servicedetail {
		padding: 30px 0;
	}
	div.servicedetail h2 {
		font-size: 2.2rem;
		letter-spacing: 0.3rem;
		position: relative;
		display:flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	div.servicedetail h2::after {
		content: '';
		width: 100px;
		height: 5px;
		background-color: #D95177;
		margin-top: 30px;
	}
	/*事例投稿*/
	div.casepost {
		padding: 50px 0;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	div.casepost a {
		margin-bottom: 50px;
	}
	div.casepost div.casepostwrap {
		max-width: 320px;
		width: 28vw;
		height: 100%;
		max-height: 570px;
		flex-basis: 30%;
		background-color: #FFFFFF;
		display: flex;
		flex-direction: column;
	}
	div.casepost div.thumbnail {
		max-height: 150px;
	}
	div.casepost div.thumbnail img {
		width: 100%;
		max-height: 150px;
		object-fit: contain;
		object-position: center center;
	}
	div.casepost div.title {
		font-size: 1.3rem;
		font-weight: 600;
		letter-spacing: 0;
		line-height: 2.0rem;
		padding: 5% 7% 2%;
	}
	div.casepost div.date {
		font-size: 0.9rem;
		font-weight: 400;
		letter-spacing: 0;
		line-height: 2.0rem;
		padding: 0 7% 5%;
	}
	div.casepost div.text {
		padding: 0 7% 7%;
	}
	div.casepost div.text p {
		font-size: 1.0rem;
		letter-spacing: 0;
		line-height: 1.8rem;
	}
	/*ページネーション*/
	div.pagenation {
		display: flex;
		justify-content: center;
		padding-bottom: 100px;
	}
	div.pagenation > span, div.pagenation > a {
		width: 38px;
		margin:6px;
		color: #D95177;
	}
	div.pagenation > a, span.page-numbers.current {
		margin: 0 6px;
	}
	a.next.page-numbers, a.prev.page-numbers {
		display: none;
	}
	/***事例個別ページ***/
	.single .p-breadcrumb__item:last-child>span.p-breadcrumb__text {
		display: block;
	}
	main.individual {
		padding-top: 50px;
	}
	main.individual p {
		line-height: 2.5rem;
	}
	main.individual figure {
		width: 100%;
		padding: 50px 0;
	}
	main.individual img {
		width: 100%;
	}
	
	
	
	
	
/*****会社情報*****/
	/***会社概要***/
	div.companyinfo {
		padding-top: 50px;
		padding-bottom: 170px;
		margin-top: -120px;
	}
	div.companyinfo h2 {
		font-size: 2.2rem;
		letter-spacing: 0.3rem;
		position: relative;
		display:flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	div.companyinfo h2::after {
		content: '';
		width: 100px;
		height: 5px;
		background-color: #D95177;
		margin-top: 30px;
	}
	div.companyinfo table, div.companyinfo th, div.companyinfo td {
		border: 0px solid #FFFFFF;
	}
	div.companyinfo th, div.companyinfo td {
		border-top: 1px solid rgba(0,0,0,.2);
		padding: 2% 3%;
	}
	div.companyinfo tr:last-child th, div.companyinfo tr:last-child td {
		border-bottom: 1px solid rgba(0,0,0,.2);
	}
	.wp-block-table>table tr>:first-child:not(.-no1) {
		width: 200px;
	}
	div.companyinfo th {
		background-color: initial;
		font-weight: 500;
	}
	/***各種規約***/
	div.companyterms {
		background-color: #FFFFFF;
		margin-top: -20px;
		margin-left: calc((100vw - 100%) / 2 * -1);
		margin-right: calc((100vw - 100%) / 2 * -1);
		padding: 100px 20% 100px;
	}
	div.companyterms h2 {
		font-size: 2.2rem;
		letter-spacing: 0.3rem;
		position: relative;
		display:flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	div.companyterms h2::after {
		content: '';
		width: 100px;
		height: 5px;
		background-color: #D95177;
		margin-top: 30px;
	}
	div.companyterms div.wp-block-column {
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	ul.swell-block-linkList.is-style-default {
		width: 400px;
		flex-direction: column;
		align-items: start;
	}
	ul.swell-block-linkList.is-style-default li {
		width: auto;
		margin: 5px 0;
	}
	/***アクセス***/
		div.companyaccess {
				margin-left: calc((100vw - 100%) / 2 * -1);
			margin-right: calc((100vw - 100%) / 2 * -1);
			margin-top: -30px;
			padding: 50px 0 200px;
			text-align: center;
	}
	div.companyaccess h2 {
		font-size: 2.2rem;
		letter-spacing: 0.3rem;
		padding-top: 100px;
		position: relative;
		display:flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	div.companyaccess h2::after {
		content: '';
		width: 100px;
		height: 5px;
		background-color: #D95177;
		margin-top: 30px;
	}
	div.companyaccess p.name {
		font-size: 1.3rem;
		font-weight: 700;
		padding: 26px 0 14px 0;
	}
	div.companyaccess p.address {
		width: auto;
		text-align: left;
		display: inline-block;
	}
	/***グループ会社***/
	div.companygroup {
		background-color: #FFFFFF;
		margin-top: 100px;
		margin-left: calc((100vw - 100%) / 2 * -1);
		margin-right: calc((100vw - 100%) / 2 * -1);
		margin-top: -120px;
		padding: 100px 0% 100px;
	}
	div.companygroup h2 {
		font-size: 2.2rem;
		letter-spacing: 0.3rem;
		position: relative;
		display:flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	div.companygroup h2::after {
		content: '';
		width: 100px;
		height: 5px;
		background-color: #D95177;
		margin-top: 30px;
	}
	div.companygroup div.groupwrap {
		width: 70vw;
		min-width: 600px;
		max-width: 1000px;
		margin: 0 auto;
	}
	div.companygroup div.groupwrap > div > div {
		display: flex;
		justify-content: center;
		align-items: center;
	}
	div.companygroup div.groupwrap p {
		width: 100%;
		min-width: 250px;
		max-width: 400px;
		min-height: 100px;
		background-color: #F3F4F5;
		display: flex;
		justify-content: center;
		align-items: center;
		background-image: linear-gradient(135deg, #F29CA6 25px, transparent 0);
		position: relative;
	}
	div.companygroup div.groupwrap p a:before {
		content: '';
		width: 25px;
		height: 25px;
		background-image: url(/ccp/wp-content/uploads/2024/08/group01.png);
		background-size: cover;
		margin-right: 10px;
	}
	div.companygroup div.groupwrap p a {
		width: 100%;
		height: 100%;
		min-height: 100px;
		display: block;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	
	
	
	
/*****個人情報のお取扱いについて*****/
	div.personalinfo01, div.personalinfo02, div.personalinfo03 {
		background-color: #FFFFFF;
		padding: 10% 5%;
		border-top: 5px solid #D95177;
	}
	div.personalinfo01 h2, div.personalinfo02 h2, div.personalinfo03 h2 {
		font-size: 2.0rem;
		letter-spacing: 0.3rem;
		text-align: center;
	}
	div.personalinfo01 p, div.personalinfo02 p, div.personalinfo03 p {
		line-height: 2.0em;
	}
	p.right {
		text-align: right;
	}
	p.ptop {
		padding: 30px 0;
	}
	ol.listnormal li {
		padding-bottom: 10px;
		line-height: 2.0em;
	}
	ol.listnormal li ul {
		list-style: disc;
	}
	ol.listnormal li ul li {
		padding-bottom: 10px;
	}
	.is-style-good_list li:before {
		color: #333333;
		content: "\ea56";
	}
	div.personalinfo02 {
		margin-top: 100px;
	}
	p.center {
		text-align: center;
		padding: 20px 0;
	}
	ol.listnormal ol {
		padding-left: 0;
	}
	ol.listnormal ol > li {
		list-style-type: none;
		counter-increment: cnt;
	}
	ol.listnormal ol > li:first-child {
		margin-top: 20px;
	}
	ol.listnormal ol > li::before {
		content: "(" counter(cnt) ") ";
	}
	ol.listnormal ol > li > ul {
		padding-left: 3.2rem;;
	}
	div.info {
		background-color: #FEF4F5;
		margin-top: 50px;
		padding: 5%;
	}
	div.personalinfo02 div.info p {
		padding: 0 2.0rem 0;
	}
	div.personalinfo03 {
		margin-top: 100px;
	}
	div.personalinfo03 ol.listnormal ol > li {
		text-indent: -26px;
		padding-left: 24px;
	}
	
	
	
	
	
/*****反社会的勢力に対する基本方針*****/
	div.antisocial01 {
		background-color: #FFFFFF;
		padding: 10% 5%;
		border-top: 5px solid #D95177;
	}
	div.antisocial01 h2 {
		font-size: 2.0rem;
		letter-spacing: 0.3rem;
		text-align: center;
	}
	div.antisocial01 p {
		line-height: 2.0em;
	}
	
	
	
	
	
/*****当社のマネー・ローンダリング等防止態勢*****/
	div.laundering01 {
		background-color: #FFFFFF;
		padding: 10% 5%;
		border-top: 5px solid #D95177;
	}	
	div.laundering01 h2 {
		font-size: 2.0rem;
		letter-spacing: 0.3rem;
		text-align: center;
	}
	div.laundering01 p {
		line-height: 2.0em;
	}
	
	
	
	
	
/*****お知らせ*****/
	:where(.wp-block-columns) {
		margin-bottom: 0em!important;
	}
	.c-pagination {
		padding-bottom: 2em;
	}

	
	
	
	
/*****個別ページ*****/
	div.l-topTitleArea__body.l-container {
		flex-direction: column;
	}
	h1.c-postTitle__ttl {
		font-weight: 700;
	}
	div.p-articleMetas__termList.c-categoryList::before {
		display: none;
	}
	.c-categoryList__link {
		line-height: initial;
	}
	.l-topTitleArea .c-categoryList__link {
		color: #333333;
		background-color: #FFF57F;
		border: 0px solid;
	}
	div.p-articleFoot a:visited.c-categoryList__link {
		color: #333333;
		background-color: #FFF57F;
	}
	
	
	
	
	
/*****お問い合わせ*****/
	div.contact {
		width: 100%;
		max-width: 960px;
		margin: 0 auto;
		padding: 20px 0;
	}
	div.contact a {
		text-decoration: underline;
	}
	div.contactform {
		width: 100%;
		margin: 70px 0 100px;
	}
	div.contactform label {
		width: 100%;
		display: flex;
		justify-content: center;
		margin-bottom: 30px;
	}
	/*入力ボックス（通常）*/
	div.contactform label span.title, div.contactform label span.title02 {
		width: 40%;
		min-width: 200px;
		max-width: 300px;
		max-height: 50px;
		font-weight: 700;
		margin-top: 0px;
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	div.contactform label span.entry {
		width: 60%;
	}
	div.contactform label span.title02::after {
		width: auto;
		height: 25px;
		content: '必須';
		font-size:0.7rem;
		font-weight: 700;
		color: #FFFFFF;
		background-color: #F29CA6;
		margin: 0px 30px 0px 10px;
		padding: 0px 20px;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	/*入力ボックス（セレクト）*/
	div.contactform label span.title_select {
		width: 40%;
		min-width: 200px;
		max-width: 300px;
		font-weight: 700;
		margin-top: 6px;
		display: flex;
		justify-content: space-between;
	}
	div.contactform label span.entry_select {
		width: 60%;
	}
	div.contactform label span.title_select::after {
		width: auto;
		height: 25px;
		content: '必須';
		font-size:0.7rem;
		font-weight: 500;
		color: #FFFFFF;
		background-color: #EBF528;
		margin: 0px 30px 0px 10px;
		padding: 0px 20px;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	/*入力ボックス（日付）*/
	div.contactform label span.entry_birth {
		width: 70%;
	}
	/*入力エリア*/
	div.contactform label input, div.contactform label textarea, div.contactform label select {
		width: 100%;
		min-height: 50px;
		border: 1px solid #666666;
		border-radius: 3px;
		padding: 0 15px;
		font-weight: 500;
		color: #777777;
		background-color: #FFFFFF;
	}
	div.contactform label textarea
	{
		padding: 10px 15px;
	}
	/*入力ボックス（チェック）*/
	div.contactform label span.check input {
		width: 30px;
		margin-right: 10px;
		appearance: auto;
	}
	/*ボタン*/
	div.contactform div.buttonwrap {
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
		margin: 50px 0 0;
	}
	div.contactform div.buttonwrap > div {
		margin: 0
	}
	div.contactform div.buttonwrap p span {
		position: absolute;
		right: 0;
		top: 30px;
	}
	div.contactform div.buttonwrap input {
		width: 300px;
		height: 80px;
		margin: 0 30px;
		text-align: center;
		background-color: #D95177;
		position: relative;
		color: #FFFFFF;
		display: block;
	}
	div.contactform div.buttonwrap input:hover {
		background-color: #de2a64;
		transition: .5s;
		color: #FFFFFF;
	}
	.wpcf7 form .wpcf7-response-output {
		margin: 0em 0.5em 2em;
		padding: 0.2em 1em;
		border: 2px solid #00a0d2;
	}
}





@keyframes blinking {
	0% {opacity: 0;}
	100% {opacity: 1;}
}





@media (min-width: 960px) and (min-width: 600px) {
	.l-content {
		padding-top: 2em;
	}
	.-series .c-headLogo {
		max-width: 550px;
	}
}