@charset "utf-8";

a:hover {
	text-decoration: none;
	color: var(--color-logo-accent);
}


#mv {
	background-size: cover;
	text-shadow: 1px 1px 20px rgba(0, 0, 0, 0.2);
	position: relative;
}

#mv .description {
	color: var(--color-text-white);
	line-height: 1em;
	font-weight: 700;
}

#mv:before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.3);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
}

#mv .inner {
	max-width: 1020px;
	margin: 0 auto;
	padding: 160px 20px 140px;
	position: relative;
	z-index: 1;
}

#mv .heading {
		font-size: 512.5%;
		line-height: 117%;
		color: var(--color-text-white);
		margin: 0;
}

#mv .heading-sub {
	display: block;
	font-size: 125%;
	line-height: 1em;
}

#mv .heading-main {
	display: block;
	font-size: 400%;
	line-height: 1.3em;
	margin-top: 16px;
}

#mv .paragraph {
	line-height: 1.7em;
	color: var(--color-text-white);
	margin: 32px 0 0;
}
#mv .btn-default  {
	margin: 56px 0 0;
}

.section .heading-sub {
	line-height: 1;
}


@media (max-width: 767px) {
	#mv .heading {
			font-size: 250%;
			line-height: 117%;
			color: var(--color-text-white);
			margin: 0;
	}
	#mv .inner {
		padding: 100px 20px 50px;
		position: relative;
		z-index: 1;
	}

	#mv .heading-sub {
		font-size: 87.5%;
	}

	#mv .heading-main {
		font-size: 220%;
		margin-top: 8px;
	}

}


/* ==================================================

@ お問い合わせ

================================================== */

#contact-page .inner {
	max-width: 760px;
	margin: 0 auto;
	padding: 150px 20px 120px;
}

#contact-page .heading {
	font-size: 100%;
	margin: 0;
}

#contact-page .heading-sub {
	display: block;
}

#contact-page .heading-main {
	display: block;
	font-size: 262.5%;
	line-height: 1.5em;
	margin-top: 16px;
}

#contact-page .heading + .paragraph {
	margin: 64px 0 0;
}

#contact-page .paragraph-small + .paragraph-small {
	margin: 0;
}

#contact-page .paragraph-small small {
	font-size: 75%;
}

#contact-page .paragraph-small small:before {
	content: "※";
}

#contact-page .contact-form {
	overflow: hidden;
	margin-top: 20px;
}

#contact-page .contact-form-section {
	margin-top: 40px;
}

#contact-page .contact-form-heading {
	font-size: 125%;
	line-height: 1em;
	margin: 0;
}

#contact-page .contact-form-heading.required:after {
	content: "*";
	color: var(--color-link);
}

#contact-page input[type="text"],
#contact-paget input[type="email"],
#contact-page input[type="tel"],
#contact-page textarea {
	overflow: hidden;
	box-shadow: inset 1px 1px 5px rgba(0, 0, 0, 0.15);
	border: none;
	border-radius: 10px;
	background-color: #f5f5f5;
	font-size: 100%;
	width: 100%;
	margin: 20px 0 0;
	padding: 16px 24px;
}

#contact-page ::placeholder {
	color: #b3b3b3;
}

#contact-page .contact-form-section.privacy label {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 10px;
}

#contact-page .contact-form-section.privacy input[type="checkbox"] {
	margin-right: 8px;
	transform: scale(1.2);
}

#contact-page .contact-form-section.submit {
	text-align: center;
}

#contact-page .contact-form-section.submit {
	text-align: center;
}

#contact-page .contact-form-section.submit input[type="submit"] {
	width: 240px;
	height: 60px;
	border: none;
	border-radius: 10px;
	background: var(--color-accent);
	font-weight: bold;
	transition: 0.2s;
}

#contact-page .contact-form-section.submit input[type="submit"]:hover {
	box-shadow: none;
	text-decoration: none;
	opacity: 0.7;
}

#contact-page .error_msg {
	color: red;
	font-size: 87.5%;
}

#contact-page .for-complete {
	margin-top: 40px;
	font-size: 125%;
}

@media (max-width: 767px) {
	#contact-page .inner {
		max-width: 760px;
		margin: 0 auto;
		padding: 100px 20px 130px;
	}

	#contact-page .heading-sub {
		font-size: 75%;
	}

	#contact-page .heading-main {
		font-size: 180%;
		margin-top: 8px;
	}

	#contact-page .heading + .paragraph {
		margin: 36px 0 0;
	}

	#contact-page .contact-form {
		margin-top: 0;
	}

	#contact-page .contact-form-heading {
		font-size: 100%;
	}

	#contact-page input[type="text"],
	#contact-page input[type="email"],
	#contact-page input[type="tel"],
	#contact-page textarea {
		padding: 12px 20px;
	}

	#contact-page ::placeholder {
		color: #b3b3b3;
	}
}


/*お問い合わせ*/

#contact-page {
	.inner {
		max-width: 1020px;
		position: relative;
		margin: 0 auto;
		padding: 0px 20px 120px;
	}

	.sec__block__inner h1.hdg-l1 {
		font-size: 250%;
		font-weight: bold;
		margin-top: 120px;
	}

	.sec__block__inner {
		max-width: 1020px;
		padding: 0px 20px;
		margin: 0 auto;
	}

	@media (max-width: 767px) {
		.sec__block__inner h1.hdg-l1 {
			font-size: 220%;
			margin-top: 50px;
		}
		.inner {
			padding: 50px 0px 60px;
		}
	}
}



/* ==================================================

@ OKAMI

================================================== */

#okami {
	#main:has(&) .breadcrumbs {
		display: none;
	}
	.section .heading-sub {
		display: block;
		font-size: 150%;
		line-height: 1em;
	}
	.section .heading-main {
		display: block;
		font-size: 300%;
		line-height: 1.3em;
		margin-top: 4px;
	}


	.section .contact:after {
		content: "\f061";
		font-family: fontAwesome;
		margin-left: 0.5em;
	}
	#mv {
		background: url(https://d1uzk9o9cg136f.cloudfront.net/f/portal/16777673/rc/2026/09/15/2cb91ce2a83764fd575d301d458724816aeac1f9_xlarge.jpg)
			no-repeat center right;
		background-size: cover;
	}

	#edition .inner {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
	}
	#edition .image-area {
		width: 44%;
		order: 1;
		overflow: hidden;
		border-radius: 10px;
	}
	#edition .text-area {
		width: 47%;
		order: 2;
	}

	#blog .blog-items {
		margin-top: 80px;
		display: flex;
		flex-wrap: wrap;
	}
	#blog .wfcontent {
		width: 32.2%;
		margin-right: 1.7%;
		border-radius: 10px;
		overflow: hidden;
		box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.5);
		transition: 0.2s;
	}
	#blog .wfcontent-container {
		max-width: unset;
		width: 100%;
		margin: 0;
		padding: 0;
		flex-direction: column;
	}
	#blog .content-leading {
		width: 100%;
		padding: 0;
	}
	#blog .content-leading :before {
		padding-top: 52.5%;
	}
	#blog .content-leading.flex-item + .flex-item {
		width: 100%;
	}
	#blog .content-body-container {
		display: flex;
		flex-direction: column;
		position: relative;
	}
	#blog .content-link {
		order: 2;
		padding: 48px 16px 16px;
		position: relative;
		z-index: 2;
	}
	#blog .content-title {
		font-size: 100%;
		line-height: 1.6em;
		margin: 0;
		height: 4.9em;
		overflow: hidden;
	}
	#blog .content-user-official,
	#blog .content-body,
	#blog .content-feedlabel,
	#blog .content-author-avater,
	#blog .content-author-name,
	#blog .content-author-site-wrap,
	#blog .content-tag:not(:nth-child(2)) {
		display: none;
	}

	#blog .content-info {
		z-index: 1;
		white-space: nowrap;
		color: var(--color-text-sub);
		position: absolute;
		right: 16px;
		bottom: 20px;
	}
	#blog .flex-item[data-pubdate]:after {
		content: attr(data-pubdate);
		display: block;
		font-size: 87.5%;
	}
	#blog .content-tags {
		position: absolute;
		top: 16px;
		left: 16px;
		z-index: 3;
	}
	#blog .content-tag {
		display: block;
		font-size: 87.5%;
		font-weight: bold;
		text-align: center;
		width: 7.5em;
		background-color: var(--color-accent);
		border-radius: 5px;
		padding: 0 4px;
		color: var(--color-text-white);
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
		span {
			color: var(--color-text-white);
		}
	}
	#blog .wfcontent:nth-child(3n) {
		margin-right: 0;
	}
	#contact {
		font-size: 100%;
		line-height: 1.7em;
		margin-top: 28px;
		color: #000;
	}
}
@media (min-width: 768px) {
	#okami #contact .contact-items {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
}

@media (max-width: 767px) {
	#okami {
		.section .heading-sub {
			font-size: 100%;
		}
		.section .heading-main {
			font-size: 200%;
		}
		#mv .inner {
			padding: 130px 20px 110px 20px;
		}


		#edition .inner {
			display: flex;
			justify-content: space-between;
			flex-wrap: wrap;
		}
		#edition .image-area {
			order: 2;
			width: 100%;
			margin-top: 56px;
		}
		#edition .text-area {
			order: 1;
			width: 100%;
		}

		#blog .blog-items {
			display: block;
		}
		#blog .wfcontent {
			width: 100%;
			margin-right: 0;
		}
		#blog .wfcontent + .wfcontent {
			margin-top: 20px;
		}
	}
}






	/*ストック型コンテンツの一覧と記事の固定タグメニュー*/
.page-fixed-nav {
	position: fixed;
	top: 70px;
	left: 0;
	width: 100%;
	z-index: 999;
}

.page-fixed-nav {
    position: fixed;
    top: var(--height-header);
    left: 0;
    width: 100%;
    z-index: 999;
    display: flex;
    background: #fff;
    border-bottom: 1px solid #000;
}

a.page-fixed-nav-item {
color: #000;
    flex: 1;
    text-align: center;
    padding: 15px 10px;
    border-right: 1px solid #000;
}

.page-fixed-nav-item:hover {
    background: var(--color-secondary);
    color: #000;
	text-decoration: none;
}


.page-fixed-nav-item:last-child {
    border-right: none;
}


/* 機能紹介ページ */
#main:has(#stags-heading[data-stags="OKAMI_サービス案内"]) .page-fixed-nav-item:nth-child(1) {
  background: var(--color-secondary);
    color: #000;
}

/* 活用事例ページ */
#main:has(#stags-heading[data-stags="OKAMI_事例"]) .page-fixed-nav-item:nth-child(2) {
    background: var(--color-secondary);
    color: #000;
}

/* 活用方法ページ */
#main:has(#stags-heading[data-stags="OKAMI_活用方法"]) .page-fixed-nav-item:nth-child(3) {
    background: var(--color-secondary);
     color: #000;
}

#main {
	padding-top: 81px !important;
}
body:is(.page-stags, .page-ctstock, .page-menu-okami) #main {
    /* padding-top: 152px !important; */
}