@charset "UTF-8";
 @font-face {
font-family: 'ryumin';
src: url(../fonts/A-OTF-Ryumin-Pro-L-KL.otf);
}

@font-face {
font-family: 'Noto Sans CJK jp Regular';
src: url(../fonts/NOTOSANSCJKJP-REGULAR.OTF);
}

@font-face {
font-family: 'Noto Sans CJK jp Bold';
src: url(../fonts/NOTOSANSCJKJP-BOLD.OTF);
}

@font-face {
font-family: 'Noto Sans CJK jp Black';
src: url(../fonts/NOTOSANSCJKJP-BLACK.OTF);
} 

.ryumin {
	/*     font-family: 'ryumin' !important; */
	font-family: a-otf-ryumin-pr6n, serif !important;
	font-weight: 300;
	font-style: normal;
}

.bold {
	/*     font-family: 'Noto Sans CJK jp Bold' !important; */
	font-family: noto-sans-cjk-jp, sans-serif !important;
	font-weight: 700;
	font-style: normal;
}

.black {
	/*     font-family: 'Noto Sans CJK jp Black' !important; */
	font-family: noto-sans-cjk-jp, sans-serif !important;
	font-weight: 900;
	font-style: normal;
}

:root {
	--c-text: #000;
	--c-main: #013C76;
}

.movetext {
	display: inline-block;
	position: relative;
	overflow: hidden;
	vertical-align: bottom;
}

.movetext span {
	display: inline-block;
	position: relative; /* 2026-10-02 速度改善: opacity:0 を撤去（文字アニメ廃止） */
}

.text-main {
	color: var(--c-main);
}

html {
	scroll-behavior: smooth;
	height: 100%;
	width: 100%;
	margin: 0;
	padding: 0;
	overflow-x: hidden;
}

body {
	width: 100%;
	height: 100%;
	padding: 0;
	margin: 0;
	/*     font-family: 'Noto Sans CJK jp Regular'; */
	font-family: noto-sans-cjk-jp, sans-serif;
	font-weight: 400;
	font-style: normal;
}

body.isServicePage {
	background-color: white !important;
}

img {
	max-width: 100%;
}

section {
	width: 100%;
	position: relative;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
ul {
	margin-bottom: 0;
	padding: 0;
	list-style: none;
}

a {
	text-decoration: none;
	color: var(--c-text);
}

a:hover {
	text-decoration: none;
	color: var(--c-text);
}

.row.no-padding {
	margin-left: 0;
	margin-right: 0;
}

.row.no-padding [class*='col'] {
	padding-left: 0;
	padding-right: 0;
}

[class*='col'] {
	position: relative;
}


@media only screen and (max-width: 639px) {
	/* ----------------- common  ------------------ */
	.pc {
		display: none !important
	}
	.sp {
		display: block !important
	}

	html {
		font-size: 4vw;
	}
	body {
		background-color: #FCFCFC;
		color: var(--c-text);
		font-size: 0.9rem;
		line-height: 2.0rem;
		/*         font-family: 'Noto Sans CJK jp Regular'; */
		font-family: noto-sans-cjk-jp, sans-serif;
		font-weight: 400;
		font-style: normal;
	}
	.wrap {
		width: calc(100% - 2rem);
		margin: auto;
	}

	.en-title span {
		/*         font-family: 'Noto Sans CJK jp Black'; */
		font-family: noto-sans-cjk-jp, sans-serif !important;
		font-weight: 900;
		font-style: normal;
		font-size: 3rem;
		color: #EDEDED;
		line-height: 1.5;
	}
	@media(min-width:640px){
		.en-title span{
			color: #fff;
		}
	}

	.section-title span {
		font-family: a-otf-ryumin-pr6n, serif;
		font-size: 1.6rem;
		line-height: 1.5;
	}

	.more-btn {
		width: 75%;
		height: 4rem;
		padding-right: 5rem;
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		color: #161616;
		letter-spacing: -.1rem;
		margin-left: auto;
		margin-right: auto;
		border-radius: 50px;
		margin-top: 3rem;
	}

	/* about-section */

	.about-section .section-title {
		margin-top: 2rem;
	}

	.about-section .en-title {
		z-index: 4;
		margin-bottom: 1rem;
	}


	.about-section .txt-box p {
		margin-top: 2rem;
	}

	.about-section .more-btn {
		color: white !important;
		background-color: #161616;
		margin-top: 3rem;
	}


	.more-btn > div {
		position: absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50% , -50%);
		width: 100%;
		overflow: hidden;
		line-height: 1;
		text-align: center;
	}

	.more-btn span {
		display: inline-block;
		transition: all .5s;
	}

	.more-btn .second span  {
		transform: translateY(20px);
	}

	.more-btn:hover .first span {
		transform: translateY(-20px);
	}

	.more-btn:hover .second span {
		transform: translateY(0px);
	}
/*　擬似要素ボタン*/
	.more-btn::after {
		position: absolute;
		top: 55%;
		transform: translateY(-50%);
		right: 3rem;
		font-family: inherit;
		content: '\203A';
	}
	

	/* topic-section */

	.topic-section {
		background-color: #FCFCFC;
		position: relative;
		z-index: 1;
		margin-top: 4rem;
		padding-bottom: 4rem;
	}

	.topic-section .en-title {
		margin-bottom: -2rem;
	}

	.topic-section::after {
		position: absolute;
		content: '';
		background-color: #EDEDED;
		width: 50%;
		height: calc(100% - 8rem);
		top: 8rem;
		right: 0;
		z-index: -1;
	}

	.topic-img-box-img {
		width: 100%;
		height: 20rem;
		object-fit: cover;
	}

	.topic-img-box {
		margin-top: 2rem;
		display: block;
	}

	.topic-img-box-data {
/* 		font-size: 1.2rem; */
		color: #A3A3A3;
		margin-top: 1.5rem;
	}

	.topic-section .more-btn {
		border: #161616 solid 1px;
		margin-top: 2rem;
	}

	.topic-category {
		color: white;
		background-color: #5E5E5E;
		position: absolute;
		bottom: 0;
		right: 0;
		width: 7rem;
		text-align: center;
		font-family: a-otf-ryumin-pr6n, serif;
		font-weight: 300;
		font-style: normal;
		font-size: 1.2rem;
	}

	.topics-subpage .topic-category {
		color: black;
		background-color: transparent;
		position: relative;
		margin-left: 1rem;
		font-family: noto-sans-cjk-jp, sans-serif;
		font-weight: 400;
		font-style: normal;
		font-size: .9rem;
		text-decoration: underline;
		vertical-align: top;
	}

	/* service section */

	.service-section {
		margin-top: 7rem;
		margin-bottom: 4rem;
	}

	.btnlinestretches4 {
		font-size: 1rem;
	}

	.service-section .wrap {
		padding-top: 1rem;/*1rem*/
        text-align: justify;
	}

	.service-img-slide img {
		position: relative;
		height: 22rem;
		object-fit: cover;
	}
	.service-section .wrap .inner .en-title {
		margin-bottom: 10rem;
	}

	.service-text-slide {
		margin-top: 2rem;
	}

	.service-text-slide .unit {
		padding-bottom: 0.5rem;/*1*/
		margin-bottom: 0.5rem;/*1*/
		border-bottom: #EDEDED solid 0.1rem;
		position: relative;
	}

	.service-text-tensu-navi .unit {
		padding-bottom: 0.5rem;/*1*/
		margin-bottom: 0.5rem;/*1*/
		border-bottom: #EDEDED solid 0.1rem;
		position: relative;
	}


	.service-text-slide .unit::after {
		position: absolute;
		content: '';
		top: 46%;/*30*/
		transform: translateY(-50%);
		background: url(../img/common/ctaArrow.svg) no-repeat top left;
		/*background: url(../img/common/service-list-arrow.svg) no-repeat top left;*/
		background-size: contain;
		width: 2.4rem;
		height: 1.4rem;/*2.4*/
		/*right: 1rem;*/
		transition: all .5s;
		margin-left: 20px;
	}

	.service-text-tensu-navi .unit::after {
		position: absolute;
		content: '';
		top: 46%;/*30*/
		transform: translateY(-50%);
		background: url(../img/common/ctaArrow.svg) no-repeat top left;
		/*background: url(../img/common/service-list-arrow.svg) no-repeat top left;*/
		background-size: contain;
		width: 2.4rem;
		height: 1.4rem;/*2.4*/
		/*right: 1rem;*/
		transition: all .5s;
		margin-left: 20px;
	}

	/*.service-text-slide .unit:hover::after {
		right: 0rem;
	}*/

	.service-section .more-btn {
		margin-top: 3rem;
		margin-right: 1rem;
		margin-left: auto;
		width: 15.2rem;
		height: 5.7rem;
		border-bottom: black solid 0.1rem;
	}

	.service-section .more-btn::after {
		right: 1rem;
	}

	.fraction {
		position: absolute;
		right: 0;
		bottom: 0;
		width: 4rem;
		height: 4rem;
		background-color: #000;
		color: white;
	}

	.fraction::after {
		width: 2rem;
		height: 1px;
		background-color: white;
		position: absolute;
		top: 50%;
		left: 52%;
		transform: translate(-50% , -50%) rotate(-63deg);
		content: '';
	}

	.fraction span:first-child {
		top: .5rem;
		left: 1rem;
		position: absolute;
	} 

	.fraction span:last-child {
		bottom: .5rem;
		right: 1rem;
		position: absolute;
	} 





	/* works section */

	.works-section {
		position: relative;
		z-index: 1;
	}

	.works-section .en-title {
		margin-bottom: 2rem;
	}

	.works-main-img {
		position: relative;
	}

	.works-main-img-text {
		/* background-color: white;
		padding: 1rem; */
		margin: 2rem 0;
	}
	.works-main-img-text .category span {
		text-decoration: underline;
		display: block;
	}

	.works-main-img-text .category a {
		text-decoration: underline;
	}

	.works-main-img-text .pop-up {
		margin: 1rem 0;
	}

	.works-img-box-link {
		padding: .1rem 0;
		text-decoration: underline;
		font-size: .8rem;
		display: block;
	}

	.works-img-box-title {
		margin-top: 1.5rem;
		display: inline-block;
	}

	.works-img-box-name {
		padding-bottom: 2.5rem;
	}

	.works-section .more-btn {
		border: #161616 solid 1px;
		/* margin: 2rem auto auto auto; */
		margin-top: 1rem;
		margin-bottom: 2rem;
	}

	.works-section .more-btn::after {
		color: #161616;
	}

	/* contact sectioin */

	.contact-section {
		padding: 5rem 1rem;
	}

	.contact-title {
		border: #595959 solid 1px;
		position: relative;
		display: flex;
		align-items: center;
		/*justify-content: center;*/
		padding-left:2rem;
		background-color: #FCFCFC;
		margin-bottom: 6rem;
		box-shadow: .5rem .5rem 0rem 0rem black ;
		transition: all .5s;
		height: 8rem;
		width: 100%;
		margin-left: -1rem;
		border-left: 0;
	}

	.contact-title:hover {
		box-shadow: none ;
		transform: translateY(1rem);
		width: calc(100% + 1rem);
	}

	.contact-title h2 {
		font-size: 1rem;
	}

	.contact-title span {
		width: 2rem;
		height: 2rem;
		position: absolute;
		right: 2rem;
		top: 50%;
		transform: translateY(-50%);
		transition: all .5s;
	}

	.contact-title:hover span {
		right: 1rem;
	}

	.contact-img-box {
		display: flex;
		position: relative;
		z-index: 1;
		gap:2rem;
	}

	/* .contact-img-box::after {
	position: absolute;
	content: '';
	background: url(../img/common/sp-instagram-border.svg) ;
	background-size: 100% 100%;
	background-repeat: no-repeat;
	width: 100%;
	height: 100%;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	z-index: -1;
} */

	.contact-img-box-img {
		padding-left: 38rem;
		height: 48rem;
	}

	.contact-img-description {
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 100%;
		/*background: url(../img/common/sp-instagram-border.png) ;*/
		background-size: 100%;
		background-repeat: no-repeat;
		background-position-y: 1.2rem;
		/*padding-bottom: 5.5rem;*/
	}

	.contact-img-title {
		font-size: 1.6rem;
		font-family: a-otf-ryumin-pr6n, serif !important;
		font-weight: 300;
		font-style: normal;
		padding-bottom: 1.3rem;/*4.5em*/
	}

	.contact-img-icon img {
		margin-bottom: 1rem;
		height: 2.4rem;
		width: 2.4rem;
        filter: brightness(0.1);
	}
	.contact-img-link {
		position: relative;
		padding-right: 1.5rem;
	}
	.contact-img-link::after { 
		content: '';
		position: absolute;
		top: 53%;
		transform: translateY(-50%);
		right: 0rem;
		transition: all .5s;
		font-family: inherit;
		content: "\2192";
		border-radius: 500px;
		border: 1px solid #595959;
		width: 1.2rem;
		height: 1.2rem;
		font-size: .7rem;
		display: flex;
		justify-content: center;
		align-items: center;
		line-height: 0;
		color: #595959;
	}

	.contact-img-box:hover .contact-img-link::after {
		color: white;
		background-color: #595959;
	}


	/* strategy-footer */



	.strategy-footer {
		background-color: #161616;
		color: #FCFCFC;
		padding: 5rem 1rem 3rem;
		font-size: .8rem;
	}

	.strategy-link li a {
		background-color: #161616;
		color: #FCFCFC;
	}

	.footer-logo {
		margin-bottom: 2.4rem;
		width: 60%;
	}

	.strategy-information h4 {
		font-size: .8rem;
		line-height: 2;
		margin-bottom: .5rem;
	}
	.strategy-link {
		display: none;
	}


	.animoBorderCenter {
		display:inline-block;
		position:relative;
		cursor:pointer
	}

	.animoBorderCenter::after {
		content:'';
		position:absolute;
		left:50%;
		top:3.5rem;
		width:60%;
		height:0.1rem;
		opacity:0;
		background-color:white;
		transform:translate(-50%,0);
		transition:all .3s ease-in-out
	}
	.animoBorderCenter:hover::after {
		width:100%;
		opacity:1
	}


	.strategy-link .haschild {
		width: 18rem;
	}


	.strategy-link-sub {
		padding-top: 5rem;
		display: flex;
		flex-direction: column;
		gap: 2.37rem;
		position: absolute;
	}

	.strategy-link-sub li a {
		color: #8B8C8E;
		font-size: 1.6rem;
		position: relative;
		padding-left: 3rem;
		transition: all .5s;
	}

	.strategy-link-sub li a:hover {
		padding-left: 3.5rem;
		color: #FCFCFC;
	}
	.strategy-link-sub li a:hover::after{
		left: 0.5rem;
	}

	.strategy-link-sub li a::after{
		position: absolute;
		content: '';
		background-color: #aaa;
		height: 1px;
		width: 1.2rem;
		top: 50%;
		transform: translateY(-50%);
		left: 0rem;
		transition: all .5s;
	}

	.footer-bottom {
		padding: 2.6rem 0 0;
		position: relative;
		color: #6D6D6D;
		text-align: center;
		margin-top: 2rem;
	}

	.footer-bottom::after {
		position: absolute;
		content: '';
		border-top: #353535 solid 0.1rem;
		width: 100vw;
		top: 0rem;
		left: 0rem;
	}

	/*  */
	/*  */
	/*  */
	/*  */
	/*  */
	/*  */
	/*  */
	/*  */
	/*  */
	/* sub-newssection */

	.sub-newssection .news-wrapper {
		display: grid;
		grid-template-columns: 50% 50%;
	}

	.sub-newssection .news-wrapper .unit {
		height: 12rem;
		position: relative;
		overflow: hidden;
	}

	.sub-newssection .pickup {
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		position: relative;
		background-color: #E9E9E9;
		z-index: 1;
		/* padding-top: 2rem; */
	}

	.sub-newssection .pickup a {
		position: relative;
		z-index: 4;
	}

	.sub-newssection .pickup::after {
		content: '';
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		background-image: url(../img/common/pickup-border.svg);
		background-repeat: no-repeat;
		background-size: calc(100% - 1rem) calc(100% - 1rem);
		background-position: center center;
		z-index: 0;
	}

	.sub-newssection .pickup span.bold {
		font-size: 1.5rem;
		display: block;
	}

	.sub-newssection .news-wrapper .unit img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.sub-newssection .news-wrapper .unit .box {
		position: absolute;
		left: 0;
		bottom: 0%;
		color: white;
		transition: all .5s;
		z-index: 5;
		padding: 1rem;
		width: 100%;
	}

	.sub-newssection .news-wrapper .unit.link a {
		position: relative;
		z-index: 4;
		height: 100%;
		display: block;
	}

	.sub-newssection .news-wrapper .unit.link a:hover .box {
		bottom: 0;
	}

	.sub-newssection .news-wrapper .unit.link a::before {
		content: '';
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		z-index: 0;
		background-color: rgba(0, 0, 0, .6);
	}

	.sub-newssection .news-wrapper .unit .box .title {
		margin-top: .5rem;
		margin-bottom: .5rem;
		line-height: 1.5rem;
	}
	.sub-newssection .news-wrapper .unit .box .category {
		text-decoration: underline;
		font-size: .8rem;
	}
	
	.sub-newssection .btnlinestretches4 {
		font-size: .8rem;
	}
	
	.sub-newssection .btnlinestretches4::after {
		background: #E9E9E9;
	}

	/* sub-header-section */

	.sub-header-section {
		margin-top: 6rem;
		padding-bottom: 3rem;
		background-image: linear-gradient(to bottom , transparent 50% , #EBEBEB 0% );
	}

	.sub-header-section .sub-header {
		text-align: center;
	}

	.sub-header-section .sub-header span {
		display: block;
	}

	.sub-header-section .sub-header span.en {
		font-size: 2rem;
		font-family: a-otf-ryumin-pr6n, serif !important;
		font-weight: 300;
		font-style: normal;
	}

	.sub-header-section .sub-header span.jp {
		margin-top: .5rem;
		margin-bottom: 2rem;
	}

	.sub-header-section  .bread-crumb {
		color: #606060;
		margin-top: 1rem;
		font-size: .7rem;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.sub-header-section.no-img {
		padding-bottom: 1rem;
		background-image: linear-gradient(to bottom , transparent 60% , #EBEBEB 0% );
	}

	.sub-header-section.no-img .bread-crumb {
		margin-top: 2rem;
	}

	/* vision-section */

	.vision-section {
		padding-bottom: 4rem;
		padding-top: 4rem;
		background-image: url(../img/about/vision_sp.png);
		background-size: cover;
		background-repeat: no-repeat;
		background-position: top right;
	}

	.vision-section .section-title {
		margin-top: 2.5rem;
	}

	.about-section-concept {
		margin-top: 4rem;
	}

	.about-section-feature {
		margin-top: 6rem;
		padding-top: 6rem;
		/* background-image: linear-gradient(to bottom , transparent 50% , #EBEBEB 0% ); */
		background-attachment: fixed;
		margin-bottom: 8rem;
	}

	.about-section-feature .en-title {
		position: absolute;
		width: 100%;
		top: 0;
		left: 0;
	}

	.about-section-feature .wrap {
		display: flex;
		align-items: flex-start;
	}

	.about-section-feature .sticky-part {
		/* width: 20%;
		position: sticky;
		top: 40%; */
		display: none;
	}

	.about-section-feature .scroll-part .title {
		margin: 2rem 0 1rem;
		font-size: 1.3rem;
	}

	.about-section-feature .scroll-part .unit:not(:last-child) {
		margin-bottom: 2rem;
		padding-bottom: 2rem;
		border-bottom: 1px solid #E9E9E9;
	}

	.about-section-feature .fraction {
		font-family: noto-sans-cjk-jp, sans-serif !important;
		font-weight: 900;
		font-style: normal;
		background-color: transparent;
		position: relative;
		color: #CBCBCB;
		font-size: 1.3rem;
		width: 5rem;
		height: 5rem;
		margin: auto;
		margin-top: 5rem;
		display: none;
	}
	.about-section-feature .fraction.active {
		display: block;
	}
	.about-section-feature .fraction::after {
		background-color: #CBCBCB;
		width:  2.2rem;
		height: 1px;
	}

	/* contact-section */

	.form-section {
		margin-top: 5rem;
		margin-bottom: 5rem;
	}

	.form-section .unit {
		margin-top: 2rem;
		padding-bottom: 2rem;
		border-bottom: 1px solid #DFDFDF;
	}

	.form-section.infomation .unit {
		margin-top: 2rem;
		padding-bottom: 2rem;
	}

	.form-section.infomation .en-title {
		padding-bottom: 2rem;
	}

	.form-section .unit .label {
		padding-bottom: .5rem;
		position: relative;
	}

	.form-section .unit .label.must::after {
		content: '\5FC5\9808';
		font-size: .8rem;
		padding: 0.2rem 1rem;
		color: #D1261F;
		vertical-align: top;
	}

	.form-section .unit .input input:not([type="radio"]),
	.form-section .unit .input input:not([type="submit"]),
	.form-section .unit .input textarea {
		background-color: #F4F5F5;
		border: none;
		outline: none;
		width: 100%;
		padding: .5rem;
	}

	.form-section .unit .input input[type="radio"] {
		width: auto;
		accent-color: #727272;
	}

	.form-section .submitbutns {
		margin-top: 2rem;
		position: relative;
	}

	.form-section input[type="submit"] {
		margin: .5rem 0;
		width: 100%;
		padding: 1rem 1rem;
		padding-left: 2rem;
		background-color: #161616;
		color: white;
	}

	.mw_wp_form .submitbutns::after {
		/* 2026-10-07 Font Awesome Pro 依存をやめ、SVGで封筒を描く（Freeキットでは表示できなかった） */
		content: '';
		width: 1.25em; height: 1em;
		background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='1.6' d='M1 2.6h18v10.8H1z'/%3E%3Cpath fill='none' stroke='%23fff' stroke-width='1.6' d='M1.6 3.2 10 9.4l8.4-6.2'/%3E%3C/svg%3E") center / contain no-repeat;
		position: absolute;
		top: 1.6rem;
		/* transform: translate(-50% , -50%); */
	}

	.mw_wp_form_input .submitbutns::after{
		left: 28%;
	}

	.mw_wp_form_confirm .submitbutns::after{
		left: 36%;
	}

	button[name="submitBack"] {
		margin: .5rem 0;
		width: 100%;
		padding: 1rem 1rem;
		background-color: #eee;
		color: #161616;
	}

	.mw_wp_form .horizontal-item + .horizontal-item {
		margin-left: 0 !important;
		margin-top: 0;
		display: block;
	}

	.mw_wp_form label {
		display: block;
	}
	
	.form-section .life_msg {
		font-size: 0.8rem;
		color: gray;
	}
	
	.mwform-checkbox-field input {
		margin-top: 1rem;
		width: auto;
		accent-color: #727272;
	}
	
	.underline {
		text-decoration: underline;
	}
	
	.js-mw-checkbox {
		margin-top: 2rem;
		text-align: center;
	}


	/* .section-title span */

	.mt-common {
		margin-top: 3rem;
	}

	.single-work .category {
		font-size: .8rem;
		display: inline-block;
		margin-bottom: 1rem;
		text-decoration: underline;
	}

	.single-work .slider-nav {
		margin: 0 -.3rem;
		margin-top: .6rem;
	}

	.single-work  .slider-for img {
		width: 100%;
		height: 15rem;
		object-fit: cover;
	}

	.single-work .slider-nav img {
		width: 100%;
		height: 8rem;
		object-fit: cover;
		cursor: pointer;
	}

	.single-work .slider-nav .unit {
		padding: 0 .3rem;
	}

	.single-work .project-wrap {
		margin-top: 2rem;
	}

	.single-work .project-wrap td {
		padding: .2rem 0;
		vertical-align: baseline;
	}

	.single-work .project-wrap td:first-child {
		width: 20%;
	}

	.more-btn.backlist {
		margin: auto;
	}

	.more-btn.backlist::after {
		left: 3rem;
		content: '\2039';
	}

	.center-line {
		position: relative;
		display: flex;
		justify-content: center;
		margin-top: 4rem;
		margin-bottom: 5rem;
	}

	.center-line::before {
		content: '';
		width: 1px;
		height: 100%;
		background-color: #A5A5A5;
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		top: 0;
	}

	.center-line a[rel='prev'],
	.center-line a[rel='next'] {
		margin: 0 3rem;
		font-size: 1rem;
		display: block;
		position: relative;
		background: #fcfcfc;
		font-weight: 700;
	}
	.center-line a[rel='prev']::before,
	.center-line a[rel='next']::before {
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		color: #000;
		font-family: inherit;
	}
	.center-line a[rel='prev']::before {
		content: '\2039';
		left: -2rem;
		margin-top: 0.1rem;
	}
	.center-line a[rel='next']::before {
		content: '\203A';
		right: -2rem;
		margin-top: 0.1rem;
	}

	/*  */

	/*  */

	/* active-underline-link */
	.active-underline-link {
		margin-bottom: 3rem;
	}
	.active-underline-link > * {
		font-size: 1rem;
		display: block;
		padding: .5rem 1rem;
		border-left: 1px solid #B7B7B7;
	}
	.active-underline-link >*.active {
		border-left: 1px solid #000000; 
	}
	/*  */
	.pageNavi {
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.pageNavi .wp-pagenavi {
		display: flex;
		align-items: center;
		/* margin-top: 5rem; */
	}
	.pageNavi span.pages {
		display: none;
	}
	.pageNavi a,
	.pageNavi span {
		position: relative;
		display: block;
		font-family: '';
		/*         font-family: 'Noto Sans CJK jp Bold'; */
		font-family: noto-sans-cjk-jp, sans-serif !important;
		font-weight: 700;
		font-style: normal;
		margin: 0 .5rem !important;
		line-height: 1.25;
		background-color: transparent !important;
		border: none !important;
		transition: all .5s;
		color: #A8A8A8;
	}

	.pageNavi a.nextpostslink,
	.pageNavi a.previouspostslink {
		display: block;
		position: relative;
		color: black;
	}
	.pageNavi a.nextpostslink::before,
	.pageNavi a.previouspostslink::before {
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		color: #000;
		font-family: inherit;
	}
	.pageNavi a.nextpostslink::before {
		content: '\203A';
		right: -1rem;
	}
	.pageNavi a.previouspostslink::before {
		content: '\2039';
		left: -1rem;
	}


	/* .pageNavi a.first,
	.pageNavi a.last {
	visibility: hidden;
}
	.pageNavi a.first::before,
	.pageNavi a.last::before {
	font-family: inherit;
	color: black !important;
	visibility: visible;
}
	.pageNavi a.first::before {
	content: '\2039';
}
	.pageNavi a.last::before {
	content: '\203A';
} */
	.pageNavi span.current {
		color: black !important;
	}

	.credo-wrap .unit {
		text-align: center;
		margin-top: 3rem;
		padding: 0 2rem;
	}

	.credo-wrap .unit p.bold {
		font-size: 1.6rem;
		margin: 1rem 0 .8rem;
	}

	.credo-wrap .unit img {
		width: 50%;
	}

	/*  */

	.profile-section .profile-name .jp {
		font-size: 1.7rem;
		font-weight: bold;
		font-family: a-otf-ryumin-pr6n, serif !important;
	}

	.profile-section .profile-name .en {
		font-size: 1rem;
		color: #989898;
		margin-left: 1rem;
		padding-top: .7rem;
	}

	.profile-section .position {
		font-size: 1.1rem;
		margin-top: 1rem;
		margin-bottom: 1rem;
		font-family: a-otf-ryumin-pr6n, serif !important;
	}

	.profile-section .bg-lh-5 {
		padding: 2rem 1rem;
		background-color: #EBEBEB;
		margin-top: 2rem;

	}


	.service-content {
		margin-top: 5rem;
	}
	.service-content .en-title {
		margin-top: 2rem;
	}
	.slider-progress {
		transform: translateY(-.8rem);
	}
	/* service2 */

	.service-pop.sub-header-section {
		margin-bottom: 5rem;
	}
	.service-pop .section-title {
		text-align: center;
	}
	.service-pop .section-title span {
		margin: auto;
	}

	.service-content .my-md-5 {
		padding-top: 2rem;
	}


	.service-img-slider img {
		height: 20rem;
		width: 100%;
		object-fit: cover;
	}   

	.service-pop .more-btn {
		margin: auto;
		margin-top: 5rem;
		margin-bottom: 5rem;
	}


	.service-pop.txt {
		background-color: #EAEAEA;
		padding: 3rem 0 4rem;
	}

	.service-pop.txt ul {
		font-family: a-otf-ryumin-pr6n, serif !important;
		font-weight: 300;
		font-style: normal;
		letter-spacing: -0.2rem;
		margin-top: 5rem;
		position: relative;
	}
	/* .service-pop.txt ul::after {
	content: "";
	position: absolute;
	height: 100%;
	width: 1px;
	background-color: #000000;
	left: 0.965rem;
	top: 1rem;
} */

	.service-pop.txt ul li {
		position: relative;
		padding: 1rem 0;
		padding-left: 2rem;
		letter-spacing: initial;
	}

	.service-pop.txt ul li::before {
		width: 0.6rem;
		height: 0.6rem;
		background-color: #000;
		border-radius: 500px;
		left: 0.71rem;
		top: 1.8rem;
		content: '';
		position: absolute;
	}

	.service-pop.txt ul li::after {
		content: "";
		position: absolute;
		height: 100%;
		width: 1px;
		background-color: #000000;
		left: 0.965rem;
		top: 1.8rem;
	}

	.service-pop.txt ul li:last-child:after {
		display: none;
	}

	.service-pop.txt ul li:nth-child(2) {
		padding-left: 2rem;
	}

	.service-pop.point {
		margin: 4rem 0 2rem;
	}

	.service-pop .en-title {
		text-align: center;
		padding-bottom: 3rem;
	}

	.service-pop .txt-box-item-number {
		text-align: center;
	}
	.service-pop .txt-box-item-number span {
		font-size: 2.6rem;
		color: #161616;
		border-bottom: #161616 solid 0.2rem;
		padding-bottom: 1rem;
	}
	.service-pop .txt-box-item-text {
		color: #000000;
		padding: 3rem 0;
	}



	.acc {
		background-color: #E7E7E7;
		color: #000;
		cursor: pointer;
		padding: 1rem;
		width: 100%;
		border: none;
		text-align: left;
		outline: none;
		transition: 0.4s;
		margin-top: 1rem;
		display: flex;
		align-items: center;
		justify-content: space-between;
		position: relative;
		padding-left: 4rem;
		padding-right: 3rem;
	}

	.acc::before,
	.panel p::before
	{
		content: 'Q';
		font-size: 1.2rem;
		font-family: noto-sans-cjk-jp, sans-serif !important;
		font-weight: 900;
		font-style: normal;
		width: 2rem;
		height: 2rem;
		border-radius: 500px;
		background-color: #000;
		color: white;
		position: absolute;
		left: 1rem;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.acc.active, .acc:hover {
		background-color: #E7E7E7;
	}

	.acc:after {
		color: #000;
		font-weight: bold;
		position: absolute;
		right: 1rem;
		margin-left: 5px;
	}

	.acc.active:after {
		content: "\2212";
	}

	.panel {
		padding: 0;
		max-height: 0;
		overflow: hidden;
		transition: max-height 0.2s ease-out;
		position: relative;

	}
	.panel p::before {
		background-color: #E7E7E7;
		color: black;
		content: "A";
	}
	.panel p {
		padding: 1rem 1rem 3rem;
		position: relative;
		padding-left: 4rem;
	}

	.active-underline-link > *::before {
		height: 0;
		width: 1px;
		background-color: #000000;
		position: absolute;
		left: -1px;
		top: 0;
		content: '';
		transition: all .5s;
	}

	.active-underline-link > *:hover:before {
		height: 100%;
	}

	/* zoom-img */

	.zoom-img {
		overflow: hidden;
	}

	.zoom-img img {
		transition: all .5s;
		height: 20rem;
		object-fit: cover;
	}

	.wow:hover .zoom-img img {
		-webkit-transform: scale(1.08);
		transform: scale(1.08);
	}
	
	.loading-screen {
		top: 43% !important;
	}
	
/* プライバシーポリシー */
	.privacy_title {
		font-size: 1.2rem;
		background: #E7E7E7;
		padding: 0.5rem 0.8rem;
		margin-bottom: 2rem;
	}

	.privacy_indent {
		padding-left: 1.4em;
		text-indent: -1.4em;
	}

	.privacy.form-section {
		margin-bottom: 5rem;
	}

	.privacy_unit {
		margin-bottom: 4rem;
	}

	.privacy_indent02 {
		padding-left: 2.8em;
		text-indent: -1.4em;
	}
	.privacy_indent03 {
		padding-left: 4.2em;
		text-indent: -1.4em;
	}
}


/* - */


/* - */


/* - */


/* - */


/* - */


/* - */


/* - */


/* - */


/* - */


/* - */


/* - */


/* - */


/* - */


/* - */


/* - */

.slick-track {
	transform: none !important;
}

.disnone {
	display: none !important;
}
/* - */

@media only screen and (min-width: 640px) {
	/* ----------------- common  ------------------ */
	.pc {
		display: block !important
	}
	.sp {
		display: none !important
	}
	html {
		font-size: 0.5208vw;
	}
	body {
		background-color: #FCFCFC;
		color: var(--c-text);
		font-size: 2.0rem;
		font-family: noto-sans-cjk-jp, sans-serif;
		font-weight: 400;
		font-style: normal;
	}
	.wrap {
		max-width: 152rem;
		margin: auto;
	}
	.inner {
		width: 130rem;
		margin: auto;
	}

	.en-title span {
		font-family: noto-sans-cjk-jp, sans-serif !important;
		font-weight: 900;
		font-style: normal;
		font-size: 12rem;
		color: #ededed;
		line-height: 1.5;
	}
	.fontWhite span{
		color:#fff;
	}
	.section-title span {
		font-family: a-otf-ryumin-pr6n, serif;
		font-size: 4.8rem;
		line-height: 1.5;
	}

	.more-btn {
		width: 46rem;
		height: 9rem;
		/*padding-right: 5rem;*/
		position: relative;
		font-size: 2.3rem;
		display: flex;
		justify-content: center;
		align-items: center;
		color: #161616;
		letter-spacing: -0.1rem;
		margin-left: auto;
		margin-top: 10rem;
	}

	/* about-section */

	.about-section {
		margin-top: 22.8rem;
		background-image: url(../img/top/top-about.jpg);
		background-size: 92rem;
		background-repeat: no-repeat;
		background-position: top left; 
	}

	.about-section .en-title {
		padding-right: 16.2rem;
		text-align: right !important;
	}

	.about-section .wrap {
		max-width: 123.4rem;
		margin: 0 0 0 auto;
	}

	.about-section .txt-box {
		background-color: white;
		padding: 16.2rem;
	}

	.about-section .txt-box p {
		margin-top: 8rem;
		line-height: 5rem;
	}

	.about-section .more-btn {
		color: white !important;
		background-color: #161616;
	}
	.more-btn > div {
		position: absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50% , -50%);
		overflow: hidden;
		line-height: 1;
	}

	.more-btn span {
		display: inline-block;
		transition: all .5s;
	}

	.more-btn:hover .first span {
		transform: translateY(-20px);
	}

	.more-btn .second span  {
		transform: translateY(20px);
	}

	.more-btn:hover .second span {
		transform: translateY(0px);
	}

	/*擬似要素ボタン*/
	.more-btn::after {
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		right: 3rem;
		font-family: inherit;
		content: '\203A';
	}

	/* topic-section */

	.topic-section {
		background-color: #FCFCFC;
		position: relative;
		z-index: 1;
		margin-top: 15rem;
	}


	.topic-section::after {
		position: absolute;
		content: '';
		background-color: #EDEDED;
		width: 172rem;
		height: 56.3rem;
		bottom:  -15.5rem;
		right: 0;
		z-index: -1;
	}



	.topic-section .inner {
		width: 136rem;
		margin: auto;
		position: relative;
	}

	.topic-img-group {
		gap: 5rem;
		display: grid;
		grid-template-columns: repeat(3, minmax(0px, 1fr));
		margin-top: 15rem;
	}

	.topic-img-group > div {
		position: relative;
		display: block;
		width: 100%;
	}

	.topic-img-box-img {
		width: 100%;
		height: 35rem;
		object-fit: cover;
	}

	.topic-img-box1 {
		position: relative;
	}

	.topic-img-box1::after {
		position: absolute;
		content: 'blog';
		font-size: 3.2rem;
		color: white;
		padding: 0rem 5.2rem;
		width: 17rem;
		height: 4rem;
		background-color: #5E5E5E;
		z-index: 1;
		bottom: 0rem;
		right: 0rem;
	}

	.topic-img-box-data {
		font-size: 2rem;
		color: #A3A3A3;
		margin-top: 3.5rem;
		margin-bottom: 1.55rem;
	}

	.topic-img-box-text {
		font-size: 1.8rem;
		line-height: 3rem;
	}

	.topic-section .more-btn {
		border: #161616 solid 1px;
		margin: 6.1rem auto 15.5rem auto;
	}

	.topic-category {
		color: white;
		background-color: #5E5E5E;
		position: absolute;
		bottom: 0;
		right: 0;
		width: 16rem;
		font-size: 3rem;
		text-align: center;
		font-family: a-otf-ryumin-pr6n, serif !important;
		font-weight: 300;
		font-style: normal;
		padding-bottom: .5rem;
	}

	.topics-subpage .topic-category {
		color: black;
		background-color: transparent;
		position: relative;
		margin-left: 3rem;
		font-family: noto-sans-cjk-jp, sans-serif !important;
		font-weight: 400;
		font-style: normal;
		font-size: 1.6rem;
		vertical-align: top;
		text-decoration: underline;
	}

	.topic_single_img {
		height: 70rem;
		object-fit: cover;
	}

	/* service section */

	.service-section {
		margin-top: 26.4rem;
		margin-bottom:20rem;
	}

	.service-section .wrap {
		display: flex;
		gap: 10.6rem;
		flex-direction: row;
	}

	.service-img-slide {
		width: 74.3rem;
	}

	.service-img-slide img {
		position: relative;
		height: 80.4rem;
		object-fit: cover;
	}

	.service-img-slide img::after {
		position: absolute;
		content: '';
		bottom: 0;
		right: 0;
		width: 9.5rem;
		height: 9.5rem;
		color: black;
	}

	.fraction {
		position: absolute;
		right: 0;
		bottom: 0;
		width: 9.4rem;
		height: 9.4rem;
		background-color: #000;
		color: white;
		font-size: 2.7rem;
	}

	.fraction::after {
		width: 5rem;
		height: 1px;
		background-color: white;
		position: absolute;
		top: 50%;
		left: 52%;
		transform: translate(-50% , -50%) rotate(-63deg);
		content: '';
	}

	.fraction span:first-child {
		top: 1.5rem;
		left: 2rem;
		position: absolute;
	} 

	.fraction span:last-child {
		bottom: 1.5rem;
		right: 2rem;
		position: absolute;
	} 



	.service-section .wrap .inner {
		width: 58rem;
		margin: 0;
	}

	.service-section .wrap .inner .en-title {
		margin-bottom: 1rem;/*5rem*/
		margin-top: -5rem;
	}

/*
	.service-text-slide .unit {
		padding-left: 1rem;
		font-size: 2.5rem;
		padding-bottom: 3.5rem;
		margin-bottom: 4.2rem;
		border-bottom: #EDEDED solid 0.1rem;
		position: relative;

	}
	*/
	.service-text-slide .unit {
		font-size: 2.4rem;
		padding-bottom: 1rem;/*2rem*/
		margin-bottom: 1rem;/*2rem*/
		border-bottom: #333333 dashed 0.2rem;
		position: relative;
	}

	.service-text-slide .unit::after {
		position: absolute;
		content: '';
		top: 45%;/*35*/
		transform: translateY(-50%);
		background: url(../img/common/ctaArrow.svg) no-repeat top left;
		/*background: url(../img/common/service-list-arrow.svg) no-repeat top left;*/
		background-size: contain;
		width: 2.4rem;
		height: 2.4rem;
		/*right: 1rem;*/
		transition: all .5s;
		margin-left:20px;
	}

	.service-text-tensu-navi .unit {
		font-size: 2.4rem;
		padding-bottom: 1rem;/*2rem*/
		margin-bottom: 1rem;/*2rem*/
		border-bottom: #333333 dashed 0.2rem;
		position: relative;
	}

	.service-text-tensu-navi .unit::after {
		position: absolute;
		content: '';
		top: 45%;/*35*/
		transform: translateY(-50%);
		background: url(../img/common/ctaArrow.svg) no-repeat top left;
		/*background: url(../img/common/service-list-arrow.svg) no-repeat top left;*/
		background-size: contain;
		width: 2.4rem;
		height: 2.4rem;
		/*right: 1rem;*/
		transition: all .5s;
		margin-left:20px;
	}


	/*
	.service-text-slide .unit:hover::after {
		right: 0rem;
	}
	*/

	.service-section .more-btn {
		margin-top: 3rem;
		margin-right: 1rem;
		margin-left: auto;
		width: 15.2rem;
		height: 5.7rem;
		border-bottom: black solid 0.1rem;
	}

	.service-section .more-btn::after {
		right: 1rem;
	}







	/* works section */

	.works-section {
		padding-top: 13.4rem;
		padding-bottom: 20.6rem;
		position: relative;
		z-index: 1;
	}

	.works-section::after {
		position: absolute;
		content: '';
		background-color: #EDEDED;
		width: 100%;
		height: 126.7rem;
		bottom: 0;
		left: 0;
		z-index: -1;
	}

	.works-section .wrap {
		max-width: 150rem;
		margin: auto;
	}

	.works-main-img {
		position: relative;
		z-index: 2;
	}

	.works-main-img-text {
		position: relative;
		width: 85rem;
		background-color: white;
		padding: 6.4rem 6.6rem;
		margin-left: 10rem;
		z-index: 5;
		margin-top: -27rem;
	}

	.works-main-img-text .category {
		font-size: 1.4rem;
		padding-bottom: 4.22rem;
	}

	.works-main-img-text .category span {
		padding-left: 2.64rem;
		text-decoration: underline;
	}


	.works-main-img-text .category a {
		text-decoration: underline;
	}

	.works-main-img-text .pop-up {
		font-size: 2.4rem;
		padding-bottom: 4rem;
	}

	.works-main-img-text .description {
		font-size: 1.6rem;
		line-height: 3.5rem;
	}

	.works-img-group {
		gap: 5rem;
		display: grid;
		grid-template-columns: repeat(3, minmax(0px, 1fr));
		margin-top: 15rem;
	}

	.works-img-group .unit {
		display: block;
		position: relative;
		width: 100%;
	}

	.work-main-img {
		height: 66rem;
		width: 100%;
		object-fit: cover;
	}
	.works-img-box-title {
		font-size: 1.8rem;
		/* padding-bottom: 1.66rem; */
		margin-top: 1.66rem;
		display: inline-block;
	}

	.works-img-box-link {
		font-size: 1.4rem;
		margin: 1.19rem 0;
		text-decoration: underline;
		display: block;
	}

	.works-img-box-name {
		font-size: 1.6rem ;
	}

	.works-section .more-btn {
		border: #161616 solid 1px;
		margin: 10rem auto auto auto;
	}

	.works-section .more-btn::after {
		color: #161616;
	}

	/* contact sectioin */

	.contact-section {
		padding-top: 25.66rem;
		padding-bottom: 34.2rem;
	}

	.contact-title {
		width: calc(100% - 31rem);
		height: 34.6rem;
		border: #595959 solid 1px;
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;/*end*/
		padding-right: 27rem;
		background-color: #FCFCFC;
		margin-bottom: 30.5rem;
		box-shadow: 1rem 1rem 0rem 0rem black ;
		transition: all .5s;
		border-left: 0;
	}

	.contact-title:hover {
		box-shadow: none ;
		transform: translateY(1rem);
		width: calc(100% - 30rem);
	}

	.contact-title h2 {
		font-size: 5.4rem;/*6.6rem*/
		word-spacing: -0.8rem;
	}

	.contact-title span {
		width: 8.2rem;
		height: 8.2rem;
		position: absolute;
		right: 10rem;
		top: 50%;
		transform: translateY(-50%);
		transition: all .5s;
	}

	.contact-title:hover span {
		right: 9rem;
	}
	/* 
	.contact-title::after {
	position:absolute;
	content: '';
	width: 101%;
	height: inherit;
	background-color: black;
	bottom: -1rem;
	right: -1rem;
	z-index: -1;
} */

	.contact-section .wrap {
		margin: 0rem 31rem 35.7rem 31rem;

	}

	.contact-img-box {
		display: flex;
		position: relative;
		z-index: 1;
		width:100rem;
	}

	.contact-img-box::after {
		position: absolute;
		content: '';
		background: url(../img/common/contact-boder.svg)no-repeat;
		background-size: contain;
		width: 130rem;
		height: 41.8rem;
		left: -14%;
		top: 50%;
		transform: translateY(-50%);
		z-index: -1;
	}

	.contact-img-box-img {
		padding-left: 38rem;
		height: 48rem;
	}

	.contact-img-description {
		/*padding-left: 9.3rem;*/
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.contact-img-title {
		font-size: 4.4rem;
		font-family: a-otf-ryumin-pr6n, serif !important;
		font-weight: 300;
		font-style: normal;
		padding-bottom: 5.5rem;
	}

	.contact-img-icon img {
		padding-bottom: 2.45rem;
		width: 7rem;
		filter: brightness(0.1);
	}
	.contact-img-link {
		position: relative;
		padding-right: 4.5rem;
		font-size: 2.2rem;
	}
	.contact-img-link::after { 
		content: '';
		position: absolute;
		top: 55%;
		transform: translateY(-50%);
		right: 0rem;
		transition: all .5s;
		font-family: inherit;
		content: "\2192";
		border-radius: 500px;
		border: 1px solid #595959;
		width: 2rem;
		height: 2rem;
		font-size: 1.2rem;
		display: flex;
		justify-content: center;
		align-items: center;
		line-height: 0;
		color: #595959;
	}

	.contact-img-box:hover .contact-img-link::after {
		color: white;
		background-color: #595959;
	}

	/* strategy-footer */

	.strategy-footer {
		background-color: #161616;
		color: #FCFCFC;
	}

	.strategy-link li a {
		background-color: #161616;
		color: #FCFCFC;
	}

	.strategy-footer .wrap {
		max-width: 175rem;
		margin: auto;
		padding-top: 8.5rem;
		display: flex;
		flex-direction: row;
		justify-content: space-between;
	}

	.footer-logo {
		width: 26.3rem;
		height: 6.5rem;
		margin-bottom: 4.4rem;
	}

	.strategy-information h4 {
		font-size: 1.8rem;
		line-height: 3rem;
		padding-bottom: 3.73rem;
		padding-left: 1rem;
	}

	.strategy-information p {
		font-size: 1.4rem;
		line-height: 2.7rem;
		padding-bottom: 5.43rem;
		padding-left: 1rem;

	}

	.strategy-link {
		width: 60%;
		display: flex;
		justify-content: space-between;
	}


	.animoBorderCenter {
		display:inline-block;
		position:relative;
		cursor:pointer
	}

	.animoBorderCenter::after {
		content:'';
		position:absolute;
		left:50%;
		top:1.5rem;
		width:60%;
		height:0.1rem;
		opacity:0;
		background-color:white;
		transform:translate(-50%,0);
		transition:all .3s ease-in-out
	}
	.animoBorderCenter:hover::after {
		width: calc(100% + 1rem);
		opacity:1
	}


	.strategy-link .haschild {
	}


	.strategy-link-sub {
		padding-top: 5rem;
		display: flex;
		flex-direction: column;
		gap: 2.37rem;
		position: absolute;
	}

	.strategy-link-sub li a {
		color: #8B8C8E;
		font-size: 1.6rem;
		position: relative;
		padding-left: 3rem;
		transition: all .5s;
	}

	.strategy-link-sub li a:hover {
		padding-left: 3.5rem;
		color: #FCFCFC;
	}
	.strategy-link-sub li a:hover::after{
		left: 0.5rem;
	}

	.strategy-link-sub li a::after{
		position: absolute;
		content: '';
		background-color: #aaa;
		height: 1px;
		width: 1.2rem;
		top: 50%;
		transform: translateY(-50%);
		left: 0rem;
		transition: all .5s;
	}




	.footer-bottom {
		padding: 2.6rem 9rem 2.6rem;
		display: flex;
		justify-content: space-between;
		align-items: center;
		position: relative;
		font-size: 1.4rem;
		color: #6D6D6D;
		border-top: #353535 solid 0.1rem;
	}



	.footer-bottom img {
		width: 2.9rem;
	}

	/*  */
	/*  */
	/*  */
	/*  */
	/*  */
	/*  */
	/*  */
	/*  */
	/*  */
	/* sub-newssection */

	.sub-newssection .news-wrapper {
		display: grid;
		grid-template-columns: 25% 25% 25% 25%;
		margin-top: 100px;
	}

	.sub-newssection .news-wrapper .unit {
		height: 45rem;
		position: relative;
		overflow: hidden;
	}

	.sub-newssection .pickup {
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		position: relative;
		background-color: #E9E9E9;
		z-index: 1;
	}

	.sub-newssection .pickup a {
		position: relative;
		z-index: 4;
	}

	.sub-newssection .pickup::after {
		content: '';
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		background-image: url(../img/common/pickup-border.svg);
		background-repeat: no-repeat;
		background-size: calc(100% - 1rem) calc(100% - 1rem);
		background-position: center center;
		z-index: 0;
	}

	.sub-newssection .pickup span.bold {
		font-size: 4.6rem;
		display: block;
	}

	.sub-newssection .news-wrapper .unit img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.sub-newssection .news-wrapper .unit .box {
		position: absolute;
		left: 0;
		bottom: -50%;
		color: white;
		transition: all .5s;
		z-index: 5;
		padding: 2rem;
		width: 100%;
	}

	.sub-newssection .news-wrapper .unit.link a {
		position: relative;
		z-index: 4;
		height: 100%;
		display: block;
	}

	.sub-newssection .news-wrapper .unit.link a:hover .box {
		bottom: 0;
	}

	.sub-newssection .news-wrapper .unit.link a::before {
		content: '';
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		z-index: 0;
		background-color: rgba(0, 0, 0, .6);
	}

	.sub-newssection .news-wrapper .unit .box .date {
		font-size: 1.6rem;
	}
	.sub-newssection .news-wrapper .unit .box .title {
		font-size: 2rem;
		margin-top: 1rem;
		margin-bottom: 2rem;
	}
	.sub-newssection .news-wrapper .unit .box .category {
		text-decoration: underline;
	}
	
	.sub-newssection .btnlinestretches4::after {
		background: #E9E9E9;
	}
	
	/* sub-header-section */

	.sub-header-section {
		margin-top: 12rem;
		padding-bottom: 12rem;
		background-image: linear-gradient(to bottom , transparent 50% , #EBEBEB 0% );
	}

	.sub-header-section.no-img {
		padding-bottom: 10rem;
		background-image: linear-gradient(to bottom , transparent 50% , #EBEBEB 0% );
	}

	.sub-header-section.no-img .bread-crumb {
		margin-top: 21rem;
	}

	.sub-header-section .sub-header {
		text-align: center;
	}

	.sub-header-section .sub-header span {
		display: block;
	}

	.sub-header-section .sub-header span.en {
		font-size: 5.2rem;
		font-family: a-otf-ryumin-pr6n, serif !important;
		font-weight: 300;
		font-style: normal;
	}

	.sub-header-section .sub-header span.jp {
		font-size: 2rem;
		margin-top: 1.5rem;
		margin-bottom: 5rem;
	}

	.sub-header-section  .bread-crumb {
		color: #606060;
		margin-top: 2rem;
	}

	.lh-5 {
		line-height: 4rem ;
		text-align:left;
		margin-top: 20px;
		display:block!important;
		/*display:none!important;*/
	}
	@media(max-width:640px){
		.lh-5{
			display:block!important;
		}
	}
	
	.lh-5-privacy {
		line-height: 4rem ;
		text-align:left;
		margin-top: 20px;
		display:block!important;
	}
	@media(max-width:640px){
		.lh-5-privacy{
			display:block!important;
		}
	}

	/* vision-section */

	.vision-section {
		padding-bottom: 12rem;
		margin-top: 12rem;
		background-image: url(../img/about/vision.png);
		background-size: 157rem;
		background-repeat: no-repeat;
		background-position: top right;
	}

	.vision-section .section-title {
		margin: 4rem 0;
	}

	.about-section-concept {
		margin-top: 20rem;
		background-image: url(../img/about/concept.jpg);
		background-size: 84rem;
		background-repeat: no-repeat;
	}

	.about-section-concept .movetext {
		margin-top: -5rem;
	}

	.about-section-concept .wrap {
		padding-left: 40%;
	}

	.about-section-feature {
		margin-top: 20rem;
		/* background-image: linear-gradient(to bottom , transparent 40% , #EBEBEB 0% ); */
		background: linear-gradient(to right, #FCFCFC 0%, #FCFCFC 80%, #ebebeb 50%, #ebebeb 100%);
		background-attachment: fixed;
	}

	.about-section-feature .wrap {
		display: flex;
		align-items: flex-start;
	}

	.about-section-feature .sticky-part {
		width: 50%;
		position: sticky;
		top: 25rem;
	}

	.about-section-feature .sticky-part .en-title span {
		line-height: 0.8;
	}

	.about-section-feature .scroll-part {
		width: 50%;
		padding-top: 5rem;
		padding-bottom: 10rem;
	}

	.about-section-feature .scroll-part .title {
		margin: 5rem 0 3rem;
		font-size: 3.2rem;
	}

	.about-section-feature .scroll-part .unit:not(:last-child) {
		margin-bottom: 10rem;
		padding-bottom: 10rem;
		border-bottom: 1px solid #E9E9E9;
	}

	.about-section-feature .fraction {
		font-family: noto-sans-cjk-jp, sans-serif !important;
		font-weight: 900;
		font-style: normal;
		background-color: transparent;
		position: relative;
		color: #CBCBCB;
		font-size: 13rem;
		width: 28rem;
		height: 36rem;
		margin-left: 18rem;
		margin-top: 5rem;
		display: none;
	}
	.about-section-feature .fraction.active {
		display: block;
	}
	.about-section-feature .fraction::after {
		background-color: #CBCBCB;
		width:  22rem;
		height: 2rem;
	}

	/* contact-section */

	.form-section {
		margin-top: 20rem;
		margin-bottom: 20rem;
	}

	.form-section .wrap {
		max-width: 108.4rem;
	}

	.form-section .unit {
		display: flex;
		margin-top: 5rem;
		padding-bottom: 5rem;
		border-bottom: 1px solid #DFDFDF;
	}

	.form-section .unit .label {
		width: calc(100% - 68rem);
		padding-top: 2rem;
		position: relative;
	}

	.form-section .unit .label.radio {
		padding-top: .5rem;
	}

	.mw_wp_form_confirm .unit .label {
		padding-top: 0;
	}

	.form-section .unit .label.must::after {
		content: '\5FC5\9808';
		font-size: 1.2rem;
		padding: .2rem 1rem;
		margin-left: 2rem;
		color: white;
		background-color: #D1261F;
	}

	.form-section .unit .input {
		width: 68rem;
	}

	.form-section .unit .input input:not([type="radio"]),
	.form-section .unit .input input:not([type="submit"]),
	.form-section .unit .input textarea {
		background-color: #F4F5F5;
		border: none;
		outline: none;
		width: 100%;
		padding: 2rem;
	}

	.form-section .unit .input input[type="radio"] {
		margin-top: 1rem;
		width: auto;
		accent-color: #727272;
	}

	.form-section .unit .input input[type="radio"] ~ .mwform-radio-field-text {
		display: inline-block;
	}

	.form-section .unit label {
		margin-right: 3rem;
	}

	.form-section .submitbutns {
		margin-top: 8rem;
		display: flex;
		justify-content: center;
		position: relative;
		flex-direction: row-reverse;
	}

	.mw_wp_form .submitbutns::after {
		/* 2026-10-07 Font Awesome Pro 依存をやめ、SVGで封筒を描く（Freeキットでは表示できなかった） */
		content: '';
		width: 1.25em; height: 1em;
		background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='1.6' d='M1 2.6h18v10.8H1z'/%3E%3Cpath fill='none' stroke='%23fff' stroke-width='1.6' d='M1.6 3.2 10 9.4l8.4-6.2'/%3E%3C/svg%3E") center / contain no-repeat;
		position: absolute;
		top: 52%;
		transform: translate(-50% , -50%);
	}

	.mw_wp_form_input .submitbutns::after{
		left: 44%;
	}

	.mw_wp_form_confirm .submitbutns::after{
		left: 65%;
	}

	.form-section input[type="submit"] {
		margin: 1rem;
		width: auto;
		padding: 3rem 0;
		background-color: #161616;
		color: white;
		padding-left: 3rem;
		width: 40rem;
		text-align: center;
	}

	button[name="submitBack"] {
		margin: 1rem;
		width: auto;
		padding: 3rem 0;
		background-color: #eee;
		color: #161616;
		width: 40rem;
		text-align: center;
	}
	
	.mwform-checkbox-field input {
		margin-top: 1rem;
		width: auto;
		accent-color: #727272;
	}

	.underline {
		text-decoration: underline;
	}

	.js-mw-checkbox {
		margin-top: 2rem;
		text-align: center;
	}

	.mt-common {
		margin-top: 15rem;
	}

	.profile-section .wrap {
		max-width: 100%;
	}

	.profile-section .wrap img {
		width: 90rem;
	}

	.profile-section .profile-name .jp {
		font-size: 5rem;
		font-weight: bold;
		font-family: a-otf-ryumin-pr6n, serif !important;
	}

	.profile-section .profile-name .en {
		font-size: 2.4rem;
		color: #989898;
		margin-top: 0.8rem;
		margin-left: 3rem;
		padding-top: 1.5rem;
	}

	.profile-section .position {
		font-size: 2.2rem;
		margin-top: 2rem;
		margin-bottom: 10rem;
		font-family: a-otf-ryumin-pr6n, serif !important;
	}

	.profile-section .bg-lh-5 {
		padding: 25rem 25rem 15rem;
		background-color: #EBEBEB;
		margin: 25rem;
		width: calc(100% - 25rem);
		margin-top: -15rem;
	}

	/* .section-title span */

	.single-work .wrap {
		max-width: 130rem;
	}

	.single-work .section-title span {
		font-size: 4rem;  
	} 

	.single-work .category {
		font-size: 1.6rem;
		display: inline-block;
		margin-bottom: 2rem;
		text-decoration: underline;
	}

	.single-work .slider-nav {
		margin: 0 -1.5rem;
		margin-top: 3rem;
	}

	.single-work  .slider-for img {
		width: 100%;
		height: 70rem;
		object-fit: cover;
	}

	.single-work .slider-nav img {
		width: 100%;
		height: 30rem;
		object-fit: cover;
		cursor: pointer;
	}

	.single-work .slider-nav .unit {
		padding: 0 1.5rem;
	}

	.single-work .project {
		background-image: url(../img/common/project-border.svg);
		background-size: 100%;
		background-repeat: no-repeat;
		background-position-y: 12rem;
	}

	.single-work .project-wrap {
		padding: 3rem 10rem 0rem 10rem;
		padding-bottom: 37rem;

	}

	.single-work .project-wrap td {
		padding: 1rem 0;
		vertical-align: baseline;
	}

	.single-work .project-wrap td:first-child {
		width: 10%;
	}

	.more-btn.backlist {
		margin: auto;
	}

	.more-btn.backlist::after {
		left: 3rem;
		content: '\2039';
	}

	.center-line {
		position: relative;
		display: flex;
		justify-content: center;
		margin-top: 8rem;
		margin-bottom: 10rem;
	}

	.center-line::before {
		content: '';
		width: 1px;
		height: 100%;
		background-color: #A5A5A5;
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		top: 0;
	}

	.center-line a[rel='prev'],
	.center-line a[rel='next'] {
		margin: 0 10rem;
		font-size: 2rem;
		display: block;
		position: relative;
		background: #fcfcfc;
		font-weight: 700;
	}
	.center-line a[rel='prev']::before,
	.center-line a[rel='next']::before {
		position: absolute;
		top: 48%;
		transform: translateY(-50%);
		color: #000;
		font-family: inherit;
	}
	.center-line a[rel='prev']::before {
		content: '\2039';
		left: -3rem;
		margin-top: 0.2rem;
	}
	.center-line a[rel='next']::before {
		content: '\203A';
		right: -3rem;
		margin-top: 0.1rem;
	}

	/*  */

	/* active-underline-link */
	.active-underline-link {
		display: flex;
		justify-content: center;
	}
	.active-underline-link > * {
		font-size: 2rem;
		display: block;
		padding: 1rem 4rem 3rem;
		border-bottom: 1px solid #B7B7B7;
	}
	.active-underline-link > *.active {
		border-bottom: 1px solid #000000; 
	}
	/*  */
	.pageNavi {
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.pageNavi .wp-pagenavi {
		display: flex;
		align-items: center;
		margin-top: 8rem;
	}
	.pageNavi span.pages {
		display: none;
	}
	.pageNavi a,
	.pageNavi span {
		position: relative;
		display: block;
		font-family: '';
		font-family: noto-sans-cjk-jp, sans-serif !important;
		font-weight: 700;
		font-style: normal;
		margin: 0 1.5rem !important;
		font-size: 2rem;
		line-height: 1.25;
		background-color: transparent !important;
		border: none !important;
		transition: all .5s;
		color: #A8A8A8;
	}

	.pageNavi a.nextpostslink,
	.pageNavi a.previouspostslink {
		font-size: 2rem;
		display: block;
		position: relative;
		color: black;
	}
	.pageNavi a.nextpostslink::before,
	.pageNavi a.previouspostslink::before {
		position: absolute;
		top: 48%;
		transform: translateY(-50%);
		color: #000;
		font-family: inherit;
	}
	.pageNavi a.nextpostslink::before {
		content: '\203A';
		right: -3rem;
	}
	.pageNavi a.previouspostslink::before {
		content: '\2039';
		left: -3rem;
	}


	/* .pageNavi a.first,
	.pageNavi a.last {
	visibility: hidden;
}
	.pageNavi a.first::before,
	.pageNavi a.last::before {
	font-family: inherit;
	color: black !important;
	visibility: visible;
}
	.pageNavi a.first::before {
	content: '\2039';
}
	.pageNavi a.last::before {
	content: '\203A';
} */
	.pageNavi span.current {
		color: black !important;
	}

	.credo-wrap {
		display: flex;
		justify-content: space-evenly;
	}

	.credo-wrap .unit {
		width: 31rem;
		text-align: center;
		margin-top: 15rem;
	}

	.credo-wrap .unit p.bold {
		font-size: 4rem;
		margin: 4rem 0 3rem;
	}

	.credo-wrap .unit img {
		width: 20rem;
	}

	/*  */

	.form-section.infomation .unit {
		margin-bottom: 2rem;
		padding-bottom: 2rem;
		margin-top: 2rem;
	}

	.form-section.infomation .unit .label {
		width: calc(100% - 74rem);
		padding-top: 0;
	}

	.form-section .unit .input {
		width: 96rem;
	}

	.form-section.infomation .en-title {
		margin-bottom: 12rem;
	}
	
	.form-section .life_msg {
		font-size: 1.5rem;
		color: gray;
	}

	/*  */

	.service-img-slider img {
		height: 70rem;
		width: 100%;
		object-fit: cover;
	}   

	.active-underline-link > *::before {
		height: 1px;
		width: 0px;
		background-color: #000000;
		position: absolute;
		left: 0;
		bottom: -1px;
		content: '';
		transition: all .5s;
	}

	.active-underline-link > *:hover:before {
		width: 100%;
	}

	/* zoom-img */

	.zoom-img {
		overflow: hidden;
	}

	.zoom-img img {
		transition: all .5s;
		height: 30rem;
		object-fit: cover;
	}

	.wow:hover .zoom-img img {
		-webkit-transform: scale(1.08);
		transform: scale(1.08);
	}

	.overvisible {
		overflow: visible !important;
	}
	
	.loading-screen {
		letter-spacing: -0.4rem !important;
	}
	
/* プライバシーポリシー */
	.privacy .wrap {
		max-width: 130rem;
	}

	.privacy_indent {
		padding-left: 1.4em;
		text-indent: -1.4em;
	}

	.privacy_title {
		font-size: 2.5rem;
		background: #E7E7E7;
		padding: 1rem 2.5rem;
		margin-bottom: 3rem;
	}

	.privacy.form-section {
		margin-bottom: 10rem;
	}

	.privacy_unit {
		margin-bottom: 6rem;
	}

	.privacy_indent02 {
		padding-left: 2.8em;
		text-indent: -1.4em;
	}
	.privacy_indent03 {
		padding-left: 4.2em;
		text-indent: -1.4em;
	}
}

iframe {
	filter: grayscale();
}

.slick-dots li button::before {
	font-size: 14px;
}

.slick-dots {
	bottom: -40px;
}

.service-text-slide .unit a {
	display: block;
	background-color: #F2F3F2;
    padding: 10px 10px 10px 8rem;
    font-weight: 600;
}

.service-text-tensu-navi .unit a {
	display: block;
	background-color: #F2F3F2;
    padding: 10px 10px 10px 8rem;
    font-weight: 600;
}

@media(max-width:1300px){
	.service-text-slide .unit a{
		padding: 10px 10px 10px 8rem;
	}
	.service-text-tensu-navi .unit a{
		padding: 10px 10px 10px 8rem;
	}
}
@media(max-width:1033px){
	.service-text-slide .unit a {
		padding: 10px 10px 10px 8rem;
    } 
	.service-text-tensu-navi .unit a {
		padding: 10px 10px 10px 8rem;
    } 
}
@media(max-width:640px){
	.service-text-slide .unit a{
		padding: 20px 20px 20px 3rem;/*30px 30px 30px 4rem*/
	}
	.service-text-tensu-navi .unit a{
		padding: 20px 20px 20px 3rem;/*30px 30px 30px 4rem*/
	}
}













.first-big {
    text-transform: capitalize;
}

.more-btn.bg-black {
	background-color: #161616;
	color: white;
	margin-left: 0;
	margin-top: 5rem;
}

.stalker {
	position: fixed;
	top: 0;
	left: 0;
	pointer-events: none;
	border-radius: 50%;
	mix-blend-mode: exclusion;
	z-index: 1002;
}

.anim {
	display: block;
	position: relative;
	width: fit-content;
}

.anim::before {
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	background-color: var(--c-main);
	transform-origin: left;
	top: 0;
	left: 0;
	z-index: 1;
	transform: scaleX(0);
	transform-origin: left;
}

.anim .op {
	opacity: 0;
	transition: all 0ms ease 700ms;
}

.anim.on .op {
	opacity: 1;
}

.anim.on::before {
	animation: maskAnime 1500ms cubic-bezier(0.215, 0.61, 0.355, 1) 1 forwards;
}

@keyframes maskAnime {
	0% {
		transform: scaleX(0);
		transform-origin: left;
	}
	45% {
		transform: scaleX(1);
		transform-origin: left;
	}
	50% {
		transform: scaleX(1);
		transform-origin: left;
	}
	55% {
		transform: scaleX(1);
		transform-origin: right;
	}
	100% {
		transform: scaleX(0);
		transform-origin: right;
	}
}

.fit {
	width: fit-content;
}

/* .loading-screen {
background-color: var(--c-main);
width: 100%;
height: 100%;
right: 0;
top: 0;
position: fixed;
z-index: 1010;
display: flex;
justify-content: center;
align-items: center;
transition: 1.5s cubic-bezier(.88, .34, .12, .91)
} */

.loading-screen img {
	width: 300px;
}

.loading-screen.disable {
	animation: loading-disable 1s 1;
	/* animation-delay: 2s; */
	animation-fill-mode: forwards;
	animation-timing-function: ease-in;
}

@keyframes loading-disable {
	0% {
		opacity: 1;
	}
	75% {
		opacity: 1;
	}
	99% {
		opacity: 0;
		visibility: visible;
	}
	100% {
		opacity: 0;
		visibility: hidden;
	}
}






@media only screen and (min-width: 640px) {
	/* service-1 */

	.service.sub-header-section .wrap {
		max-width: 130rem;
	}
	.service img, .service-content img {
		width: 100%;
	}
	.service-content .wrap {
		max-width: 100%;
		display: flex;
	}
	.service-content .img-box {
		width: 84rem;
		height: 83.1rem;
	}
	.service-content {
		margin-top: 20rem;
	}
	.service-content .txt-box {
		padding-left: 13rem;
		padding-top: 4rem;
		width: 48%;
	}
	.service-content .my-md-5 {
		padding-top: 3rem;        
	}
	.service-content .more-btn {
		margin-left: 0rem;
		margin-top: 8rem;
	}
	.service-content .txt-box ul {
		list-style: outside;
		padding-left: 2rem;
	}
	.direction-r .txt-box {
		padding-left: 0rem;
	}
	.direction-l .wrap {
		justify-content: left;
	}
	.direction-r .wrap {
		justify-content: right;
	}
	.direction-r .img-box {
		order: 2;
	}
	.direction-r .txt-box {
		order: 1;
	}
	.direction-l .img-box {
		order: 1;
	}
	.direction-l .txt-box {
		order: 2;
	}

	/* service2 */
	.service-pop .wrap {
		max-width: 130rem;
	}
	.service-pop img {
		width: 100%;
	}
	.service-pop.sub-header-section {
		margin-bottom: 19.7rem;
	}
	.service-pop .section-title {
		text-align: center;
	}
	.service-pop .section-title span {
		font-size: 6rem;
		font-family: a-otf-ryumin-pr6n, serif !important;
		font-weight: 300;
		font-style: normal;
		color: #000000;
		margin: auto;
	}
	.service-pop.slide p {
		padding-bottom: 10rem;
	}
	.service-single-slide {
		height: 70rem;
	}
	.service-single-slide .img {
		width: 100%;
		height: 70rem;
	}
	.service-pop .more-btn {
		margin: auto;
		margin-top: 17rem;
		margin-bottom: 19rem;
	}
	.service-pop.txt {
		padding-top: 17.8rem;
		padding-bottom: 20.5rem;
		background-color: #EAEAEA;
	}
	.service-pop.txt .section-title span {
		font-size: 4.8rem;
	}
	.service-pop.txt ul {
		font-size: 2.2rem;
		font-family: a-otf-ryumin-pr6n, serif !important;
		font-weight: 300;
		font-style: normal;
		letter-spacing: -0.2rem;
		margin-top: 5rem;
		position: relative;
		line-height: 10rem;
		padding-left: 8rem;
	}
	.service-pop.txt ul::after {
		content: "";
		position: absolute;
		height: 20rem;
		width: 0.1rem;
		background-color: #000000;
		left: 1rem;
		top: 50%;
		transform: translateY(-50%);
	}
	.service-pop.txt ul li {
		position: relative;
		letter-spacing: initial;
		font-weight: bold;
	}
	.service-pop.txt ul li::after {
		content: "";
		position: absolute;
		width: 2rem;
		height: 2rem;
		background-color: #000000;
		border-radius: 1rem;
		left: -8rem;
		top: 50%;
		transform: translateY(-50%);
	}
	.service-pop.point {
		margin-top: 23.5rem;
		margin-bottom: 13.5rem;
	}
	.service-pop.point .wrap {
		padding: 5rem;
	}

	.service-pop .en-title {
		text-align: center;
		padding-bottom: 11rem;
	}
	.service-pop .txt-box {
		display: flex;
		justify-content: space-between;
		gap: 16.5rem;
	}
	.service-pop .txt-box-item {
		width: 30%;
	}
	.service-pop .txt-box-item-number {
		text-align: center;
	}
	.service-pop .txt-box-item-number span {
		font-size: 5.4rem;
		color: #161616;
		border-bottom: #161616 solid 0.2rem;
		padding-bottom: 1.6rem;
	}
	.service-pop .txt-box-item-text {
		font-size: 2.4rem;
		line-height: 5rem;
		color: #000000;
		padding-top: 7.5rem;
	}
	.service-pop.qa {
		margin-top: 17rem;
	}


	.acc {
		background-color: #E7E7E7;
		color: #000;
		cursor: pointer;
		padding: 3rem 2rem;
		width: 100%;
		border: none;
		text-align: left;
		outline: none;
		transition: 0.4s;
		font-size: 2.4rem;
		margin-top: 2rem;
		display: flex;
		align-items: center;
		justify-content: space-between;
		position: relative;
		padding-left: 9rem;
	}

	.acc::before,
	.panel p::before
	{
		content: 'Q';
		font-size: 2.6rem;
		font-family: noto-sans-cjk-jp, sans-serif !important;
		font-weight: 900;
		font-style: normal;
		width: 5rem;
		height: 5rem;
		border-radius: 500px;
		background-color: #000;
		color: white;
		position: absolute;
		left: 2rem;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.acc.active, .acc:hover {
		background-color: #E7E7E7;
	}

	.acc:after {
		color: #000;
		font-weight: bold;
		float: right;
		margin-left: 5px;
	}

	.acc.active:after {
		content: "\2212";
	}

	.panel {
		font-size: 1.8rem;
		line-height: 5rem;
		padding: 0;
		max-height: 0;
		overflow: hidden;
		transition: max-height 0.2s ease-out;
		position: relative;

	}
	.panel p::before {
		background-color: #E7E7E7;
		color: black;
		content: "A";
	}
	.panel p {
		padding: 3rem 2rem 6rem;
		position: relative;
		padding-left: 9rem;
	}
}

.active-underline-link > * {
	cursor: pointer;
}

.works-img-box-link:hover {
	text-decoration: underline;
}

.slider-nav .slick-track {
	margin-left: 0;
	margin-right: 0;
}

::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
	color: #C1C1C1;
	opacity: 1; /* Firefox */
}

:-ms-input-placeholder { /* Internet Explorer 10-11 */
	color: #C1C1C1;
}

::-ms-input-placeholder { /* Microsoft Edge */
	color: #C1C1C1;
}

.active-underline-link > * {
	position: relative;
}


.more-btn .first span:nth-child(1) {
	transition-delay: .02s;
}

.more-btn .first span:nth-child(2) {
	transition-delay: .04s;
}

.more-btn .first span:nth-child(3) {
	transition-delay: .06s;
}

.more-btn .first span:nth-child(4) {
	transition-delay: .08s;
}

.more-btn .first span:nth-child(5) {
	transition-delay: .1s;
}

.more-btn .first span:nth-child(6) {
	transition-delay: .12s;
}

.more-btn .first span:nth-child(7) {
	transition-delay: .14s;
}

.more-btn .first span:nth-child(8) {
	transition-delay: .16s;
}

.more-btn .first span:nth-child(9) {
	transition-delay: .18s;
}

.more-btn .first span:nth-child(10) {
	transition-delay: .2s;
}

.more-btn .second span:nth-child(1) {
	transition-delay: .12s;
}

.more-btn .second span:nth-child(2) {
	transition-delay: .14s;
}

.more-btn .second span:nth-child(3) {
	transition-delay: .16s;
}

.more-btn .second span:nth-child(4) {
	transition-delay: .18s;
}

.more-btn .second span:nth-child(5) {
	transition-delay: .2s;
}

.more-btn .second span:nth-child(6) {
	transition-delay: .22s;
}

.more-btn .second span:nth-child(7) {
	transition-delay: .24s;
}

.more-btn .second span:nth-child(8) {
	transition-delay: .26s;
}

.more-btn .second span:nth-child(9) {
	transition-delay: .28s;
}

.more-btn .second span:nth-child(10) {
	transition-delay: .3s;
}

.acc:after {
	content: "\2b";
	font-family: inherit;
}


.loading-screen {
	position: absolute;
	left: 0%;
	top: 50%;
	transform: translateY(-50%);
	font-family: a-otf-ryumin-pr6n, serif !important;
	font-weight: 300;
	font-style: normal;
	overflow: hidden;
/* 	font-weight: bold; */
	font-size: 30px;
	letter-spacing: -0.2rem;
	display: flex;
	width: 100%;
	justify-content: center;
	transition: all .2s;
	transition-delay: 1.4s;
}

.loading-screen span {
	display: inline-block;
	transition: all .5s;
	transform: translateY(-50px);
	padding-bottom: 7px;
}

.loading-screen span:nth-child(1) {
	transition-delay: .02s;
}

.loading-screen span:nth-child(2) {
	transition-delay: .04s;
}

.loading-screen span:nth-child(3) {
	transition-delay: .06s;
}

.loading-screen span:nth-child(4) {
	transition-delay: .08s;
}

.loading-screen span:nth-child(5) {
	transition-delay: .1s;
}

.loading-screen span:nth-child(6) {
	transition-delay: .12s;
}

.loading-screen span:nth-child(7) {
	transition-delay: .14s;
}

.loading-screen span:nth-child(8) {
	transition-delay: .16s;
}

.loading-screen span:nth-child(9) {
	transition-delay: .18s;
}

.loading-screen span:nth-child(10) {
	transition-delay: .2s;
}

.loading-screen span:nth-child(11) {
	transition-delay: .22s;
}

.loading-screen span:nth-child(12) {
	transition-delay: .24s;
}

.loading-screen span:nth-child(13) {
	transition-delay: .26s;
}

.loading-screen.on span {
	transform: translateY(0px);
}

.loading-screen .border-side {
	position: relative;
}

.loading-screen .border-side::before ,
.loading-screen .border-side::after {
	width: 0;
	height: 1px;
	position: absolute;
	background-color: #000;
	content: '';
	transition: all .5s;
	transition-delay: .6s;
}

.loading-screen.on .border-side::before ,
.loading-screen.on .border-side::after {
	width: 100%;
}

.loading-screen .border-side::before {
	top: 0;
	left: 0;
}
.loading-screen .border-side::after {
	bottom: 0;
	right: 0;
}

.loading-screen.on {
	opacity: 0;
}


/* PC */
@media only screen and (min-width: 1900px) {
	body {
		font-size: 1.5rem !important;
	}
	.p-top-kv__copy-text-main {
		font-size: 4rem;
	}
	.p-top-kv__copy-text-sub {
		font-size: 1.8rem;
	}
	.section-title span {
		font-size: 3.7rem;
	}
	.topic-category {
		font-size: 2.3rem;
	}
	.topic-img-box-data {
		font-size: 1.5rem;
	}
	.service-text-slide .unit {
		font-size: 2rem;
	}
	.service-text-tensu-navi .unit {
		font-size: 2rem;
	}
	.btnlinestretches4 {
		font-size: 1.5rem;
	}
	.more-btn {
		font-size: 1.5rem;
		letter-spacing: -0.07rem;
	}
	.works-main-img-text .description {
		font-size: 1.3rem;
	}
	.works-main-img-text .pop-up {
		font-size: 2.1rem;
	}
	.works-img-box-name {
		font-size: 1.3rem;
	}
	.works-img-box-title {
		font-size: 1.7rem;
	}
	.strategy-information h4 {
		font-size: 1.5rem;
	}
	.strategy-information p {
		font-size: 1.2rem;
	}
	.strategy-link-sub li a {
		font-size: 1.4rem;
	}
	.contact-title h2 {
		font-size: 5.5rem;
	}
	.sub-header-section .sub-header span.en {
		font-size: 4.2rem;
	}
	.sub-header-section .sub-header span.jp {
		font-size: 1.8rem;
	}
	.about-section-feature .scroll-part .title {
		font-size: 2.8rem;
	}
	.credo-wrap .unit p.bold {
		font-size: 3.4rem;
	}
	.animoBorderCenter::after {
		top: 1.2rem;
	}
	.sub-newssection .news-wrapper .unit .box .title {
		font-size: 1.8rem;
	}
	.sub-newssection .pickup span.bold {
		font-size: 4rem;
	}
	.service-pop .section-title span {
		font-size: 4rem;
	}
	.service-pop.slide p {
		padding-top: 6rem;
	}
	.service-pop.txt .section-title span {
		font-size: 3.7rem;
	}
	.service-pop.txt ul {
		font-size: 1.8rem;
	}
	.service-pop .txt-box-item-text {
		font-size: 1.8rem;
	}
	.acc {
		background-color: #E7E7E7;
		font-size: 1.8rem;
	}
	.service-pop .txt-box-item-number span {
		font-size: 4.5rem;
	}
	.single-work .section-title span {
		font-size: 1.5;
	}
	.profile-section .profile-name .jp {
		font-size: 4rem;
	}
	.profile-section .position {
		font-size: 1.7rem;
	}
	.profile-section .profile-name .en {
		font-size: 1.8rem;
		padding-top: 1rem;
	}
	.en-title span {
		font-size: 11rem;
	}
	.l-modal-menu-pc__body-item span, .l-modal-menu-pc__body-item a {
		font-size: 3rem;
	}
	.l-modal-menu-pc__body-items.l-modal-menu-pc__body-items--sec.js-modal-secitems a span {
		font-size: 1.8rem;
	}
	.l-modal-menu-pc__body-item span.plus, .l-modal-menu-pc__body-item a.plus {
		padding: 0 2.5rem 0 0;
	}
}

.custom_password_aria form {
	padding: 10rem 2rem 0 2rem;
	text-align: center;
}

.custom_password_aria form p:first-child {
	line-height: 3rem;
}

/*2025.02.17以降追加CSS*/
.topTitle{
	margin: 2rem 0 1rem;
	font-size: 1.3rem;
	margin: auto;
	display:block!important;
}
@media(min-width:640px){
	.topTitle {
		font-size: 3.2rem;
		display:none!important;
	}
	
}
/*@media(min-width:1900px){
	.service-text-slide .unit a {
    	padding: 30px 30px 30px 8rem;
}
}*/
/*矢印*/
.rightArrow {
	width: 2rem;
    fill: #fff;
}
/*矢印付きボタン Flex*/
.btnFlex {
	display:flex;
}

/*追従バナー*/
 a{
      color: #333;
      text-decoration: none;
    }
    .fixedCta {
      position: fixed;
      bottom: 5rem;
      right: 5rem;
      z-index: 1200;
		opacity:0;
    }
    .fixedCtaItems {
      position: relative;
      font-size: 2.5rem;
      width: 50rem;
    }
    .fixedCtaItem {
      display: flex;
      letter-spacing: 0.5rem;
      border: #000000 solid 1px;
      padding: 4rem 3rem 3rem;
      background-color: #fff;
		align-items:center;
    }
    .fixedCtaItem img {
      width: 40px;
      margin-left: 15px;
    }
    .fixedCtaItemTitle {
      position: absolute;
      font-size: 1.6rem;
      background: #000;
      padding: 2rem 3rem;
      color: #fff;
      letter-spacing: 0.2rem;
      top: -5rem;
      left: 3rem;
      z-index: 999;
    }
@media(max-width:640px){
	 .fixedCtaItems {
      display:none;
    }
}
/*追従バナーSP*/
 .fixedCtaSp {
      position: fixed;
      bottom: 1rem;
      z-index: 1200;
		opacity:0;
    }
    .fixedCtaItemsSp {
      position: relative;
	display: flex;
    justify-content: center;
    }
    .fixedCtaItemSp {
      display: flex;
      letter-spacing: 0.2rem;
      border: #000000 solid 1px;
      padding: 0.4rem 1rem;
      background-color: #fff;
		align-items:center;
		justify-content: center;
		width:80vw;
    }
    .fixedCtaItemSp img {
      width: 1.1rem;
      margin-left: 5px;
    }
@media(min-width:640px){
	.fixedCtaSp{
		display:none;
	}
}
@media(max-width:640px){
	.fixedCtaSp{
		display:block;
		width:100%;
	}
}

/* globalメニュー　スライドで表示加・削除クラス */
.show{
  opacity: 1;
  transition: opacity 0.5s;
}
/* globalメニュー　スライドで表示加・削除クラス */

/*お問い合わせバナー*/
.contactBnrFont{
	font-size:4rem;
	margin-bottom:10px;
	font-weight:600;
}
@media(max-width:640px){
	.contactBnrFont{
	font-size:2rem;
	margin-bottom:10px;
}
}
/*SNSバナー*/
.snsBnr {
	display: flex;
    justify-content: center;
}
/*SERVICE セクションサービス*/
.section-title {
    margin-bottom: 3rem;
	line-height: 1.5; 
}
/*トップ SP ボタン*/
.more-btnTopSp.bg-black {
    background-color: #161616;
    color: white;
    margin-left: auto;
    margin-right: auto;
}

@media only screen and (max-width: 639px) {
    .more-btnTopSp {
        width: 75%;
        height: 4rem;
        padding-right: 5rem;
        position: relative;
        display: flex;
        align-items: center;
        color: #161616;
        margin-left: auto;
        margin-top: 3rem;
	}
	.more-btnTopSp {
		color: white !important;
		background-color: #161616;
	}
	.more-btnTopSp > div {
		position: absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50% , -50%);
		overflow: hidden;
		line-height: 1;
		width: 100%;
        text-align: center;
	}

	.more-btnTopSp span {
		display: inline-block;
		transition: all .5s;
	}

	.more-btnTopSp:hover .first span {
		transform: translateY(-20px);
	}

	.more-btnTopSp .second span  {
		transform: translateY(20px);
	}

	.more-btnTopSp:hover .second span {
		transform: translateY(0px);
	}

	/*擬似要素ボタン*/
	.more-btnTopSp::after {
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		right: 3rem;
		font-family: inherit;
		content: '\203A';
	}
	
/*PC版非表示*/

	@media(max-width:640px){
		.spNone {
			display:none;
		}
	}
/*1033px以下微調整*/
	@media(max-width:1033px){
		.p-top-kv__copy-text-main{
			font-size:5.4rem;
		}
		.service-text-slide .unit a {
        padding: 14px 14px 14px 4rem;
    } 
	.service-text-tensu-navi .unit a {
        padding: 14px 14px 14px 4rem;
    } 
	}
}
/* ↑ 2026-10-06 追加：4222行目の @media only screen and (max-width: 639px) の閉じ括弧。
   元から閉じ忘れており、ファイル末尾まで全部がSP専用メディアクエリの中に入っていた。
   既存のルールは従来どおりこのメディアクエリの中に残る（挙動は変わらない）。 */

/* =========================================================================
 * 2026-10-06 実績タグ（小間サイズ）／PC固定グローバルメニュー　※追加のみ
 * ========================================================================= */

/* ---- 実績タグ：小間数バッジ ---- */
.works-img-box .zoom-img { position: relative; }
.works-koma-badge {
	position: absolute; top: 0; left: 0; z-index: 2;
	display: inline-block; background: #161616; color: #fff;
	font-weight: 700; letter-spacing: .06em; line-height: 1;
	font-size: .8rem; padding: .5rem .8rem;
}

/* ---- 実績タグ：小間数ナビ ---- */
/* タブ・小間ナビのリンク先。固定メニューの下に潜らないよう余白を取る */
#works-list { scroll-margin-top: 20px; }
@media only screen and (min-width: 1200px) {
	#works-list { scroll-margin-top: 104px; }        /* 固定バー84px + 余白20px */
	.admin-bar #works-list { scroll-margin-top: 136px; } /* 管理バー32pxぶん */
}

/* 小間数ナビ：カテゴリタブ（下線）とは別物とわかるようボタン型にする。
   横幅で縮まないよう px 指定。 */
.works-koma-nav { margin: 24px 0 32px; text-align: center; }
.works-koma-nav__label {
	font-size: 12px; letter-spacing: .08em; color: #161616; font-weight: 700; margin-bottom: 10px;
}
.works-koma-nav__items {
	display: flex; flex-wrap: wrap; justify-content: center; gap: 8px;
	margin: 0 !important; padding: 0;
}
.works-koma-nav__items > a {
	display: inline-block; border: 1px solid #C9C9C9; background: #fff; color: #161616;
	font-size: 13px; line-height: 1; letter-spacing: .04em; padding: 11px 18px;
	border-radius: 0; transition: background-color .2s, border-color .2s, color .2s;
	white-space: nowrap;
}
.works-koma-nav__items > a:hover { border-color: #161616; }
.works-koma-nav__items > a.active {
	background: #161616; border-color: #161616; color: #fff;
}

/* ---- 実績タグ：詳細ページのタグ ---- */
.work-koma-tag { display: inline-block; margin-left: 1rem; }
.work-koma-tag a {
	display: inline-block; border: 1px solid #161616;
	font-size: .8rem; line-height: 1; padding: .5rem .8rem; letter-spacing: .06em;
}
.work-koma-tag a:hover { background: #161616; color: #fff; }

/* ---- 実績タグ：1小間ページのLP導線 ---- */
.ls-koma-cta { border: 1px solid #161616; padding: 2rem 1.5rem; margin-top: 3rem; text-align: center; }
.ls-koma-cta__lead { font-size: .8rem; color: #777; letter-spacing: .06em; }
.ls-koma-cta__title { font-family: a-otf-ryumin-pr6n, serif; font-size: 1.4rem; margin: .6rem 0 .8rem; }
.ls-koma-cta__text { font-size: .85rem; line-height: 1.9; margin-bottom: 1.4rem; }
.ls-koma-cta__btn {
	display: inline-block; background: #161616; color: #fff !important;
	font-size: .85rem; letter-spacing: .08em; padding: 1rem 2.4rem;
}

/* ---- PC固定グローバルメニュー ----------------------------------------
 * 1200px 未満（タブレット以下）では従来どおりハンバーガーに切り替わる。
 * このテーマの rem は 0.5208vw 基準で横幅に比例して縮むため、
 * 固定メニューだけは px で指定してフォントサイズを一定に保つ。
 * -------------------------------------------------------------------- */
.ls-gnav { display: none; }

@media only screen and (min-width: 1200px) {

	/* 1200px 以上のときだけ、既存のハンバーガーと浮きロゴを止める
	   （1200px 未満ではこれが効かないので従来のハンバーガーがそのまま出る） */
	.l-gh__nav  { display: none !important; }
	.l-gh__logo { display: none !important; }

	.ls-gnav {
		display: block; position: fixed; top: 0; left: 0; right: 0; z-index: 320;
		background: #fff; border-bottom: 1px solid #EAEAEA;
	}
	.ls-gnav__inner {
		display: flex; align-items: center; position: relative;
		height: 84px;
		padding: 0 100px 0 260px; /* 左260px＝ロゴの場所（30+230）／右100px＝既存のSNSレールの領域 */
		max-width: 1920px; margin: 0 auto;
	}
	/* ロゴは本番と同じ 230×140。バーより下にはみ出す形も本番どおり。
	   絶対配置にしてバーの高さ（84px）とメニューの垂直中央を崩さない。 */
	.ls-gnav__logo { position: absolute; left: 30px; top: 0; width: 230px; display: block; }
	.ls-gnav__logo img { width: 100%; height: auto; display: block; }

	/* メニューは右揃え（ロゴとの間を空けて、お問い合わせボタンの手前まで寄せる） */
	.ls-gnav__menu { display: flex; align-items: center; gap: 26px; margin-left: auto; margin-right: 40px; }
	.ls-gnav__item { position: relative; }
	.ls-gnav__item > a {
		display: flex; flex-direction: column; align-items: center; gap: 7px;
		font-size: 15px; font-weight: 700; letter-spacing: .1em; line-height: 1;
		padding: 26px 0; color: #161616; white-space: nowrap;
	}
	.ls-gnav__item > a span { font-size: 11px; font-weight: 400; letter-spacing: .04em; color: #161616; }
	.ls-gnav__item > a::after {
		content: ""; position: absolute; left: 0; right: 0; bottom: 16px; height: 1px;
		background: #161616; transform: scaleX(0); transition: transform .25s;
	}
	.ls-gnav__item:hover > a::after { transform: scaleX(1); }
	.ls-gnav__item--has-child > a { padding-right: 14px; }
	.ls-gnav__item--has-child > a::before {
		content: ""; position: absolute; right: 0; top: 32px;
		width: 6px; height: 6px;
		border-right: 1px solid #161616; border-bottom: 1px solid #161616;
		transform: rotate(45deg);
	}

	.ls-gnav__child {
		position: absolute; top: 100%; left: 50%;
		transform: translateX(-50%) translateY(6px);
		min-width: 340px; background: #fff; border: 1px solid #EAEAEA;
		padding: 12px 0; opacity: 0; visibility: hidden; transition: all .2s;
		box-shadow: 0 10px 30px rgba(0,0,0,.06);
	}
	.ls-gnav__item--has-child:hover .ls-gnav__child,
	.ls-gnav__item--has-child:focus-within .ls-gnav__child {
		opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0);
	}
	.ls-gnav__child a { display: block; font-size: 15px; line-height: 1.6; padding: 11px 24px; white-space: nowrap; }
	.ls-gnav__child a:hover { background: #F5F5F5; }

	.ls-gnav__cta { display: flex; align-items: center; flex: 0 0 auto; }
	.ls-gnav__cta-btn {
		display: inline-block; background: #161616; color: #fff !important;
		font-size: 15px; letter-spacing: .08em; padding: 15px 26px; white-space: nowrap;
	}
	.ls-gnav__cta-btn:hover { opacity: .8; }

	/* 固定バーの高さ分だけ本文を下げる。
	   ただしTOPはFVの上にメニューを重ねたいので下げない（data-page-id="index"） */
	.l-page { padding-top: 84px; }
	.l-page[data-page-id="index"] { padding-top: 0; }

	/* ---- FVの上にいる間は背景を透明にして白文字にする ---- */
	.ls-gnav { transition: background-color .3s ease, border-color .3s ease; }
	.ls-gnav.is-over-kv { background: transparent; border-bottom-color: transparent; }
	.ls-gnav.is-over-kv .ls-gnav__item > a { color: #fff; }
	.ls-gnav.is-over-kv .ls-gnav__item > a span { color: #fff; }
	.ls-gnav.is-over-kv .ls-gnav__item > a::after { background: #fff; }
	.ls-gnav.is-over-kv .ls-gnav__item--has-child > a::before { border-color: #fff; }
	.ls-gnav.is-over-kv .ls-gnav__cta-btn { background: #fff; color: #161616 !important; }
	/* ドロップダウンは開いたときだけ白地に戻す（中身まで白文字だと読めないため） */
	.ls-gnav.is-over-kv .ls-gnav__child { background: #fff; }
	.ls-gnav.is-over-kv .ls-gnav__child a { color: #161616; }

	/* WordPressの管理バー（ログイン中のみ表示）と重ならないようにずらす */
	.admin-bar .ls-gnav { top: 32px; }
}

@media only screen and (min-width: 640px) {
	/* ---- 実績タグ（PC） ---- */
	.works-koma-badge { font-size: 1.4rem; padding: .9rem 1.4rem; }
	/* 小間数ナビ（PC）。カテゴリタブの下線とぶつからないよう上に余白を取る */
	.works-koma-nav { margin: 40px 0 56px; }
	.works-koma-nav__label { font-size: 14px; margin-bottom: 14px; }
	.works-koma-nav__items { gap: 10px; }
	.works-koma-nav__items > a { font-size: 15px; padding: 14px 26px; }
	.work-koma-tag a { font-size: 1.5rem; padding: .9rem 1.6rem; }
	.ls-koma-cta { padding: 5rem 4rem; margin-top: 8rem; }
	.ls-koma-cta__lead  { font-size: 1.6rem; }
	.ls-koma-cta__title { font-size: 3.4rem; margin: 1.2rem 0 1.6rem; }
	.ls-koma-cta__text  { font-size: 1.7rem; margin-bottom: 3rem; }
	.ls-koma-cta__btn   { font-size: 1.7rem; padding: 1.8rem 5rem; }
}

/* =========================================================================
 * 2026-10-06 実績のカテゴリタブ：項目が6つになり文字が2行に折り返すための調整
 * （トピックスのタブには影響しないよう --works を付けた要素だけに効かせる）
 * ========================================================================= */
@media only screen and (min-width: 640px) {
	.active-underline-link--works {
		flex-wrap: wrap;
		border-bottom: 1px solid #B7B7B7; /* グレーの線は項目ごとではなくコンテナ側で引く */
	}
	.active-underline-link--works > * {
		white-space: nowrap;              /* 文字を途中で折り返さない */
		flex: 0 0 auto;
		font-size: 1.7rem;
		padding: 1rem 2.6rem 2.2rem;
		border-bottom: none;
	}
	.active-underline-link--works > *.active {
		border-bottom: 1px solid #000000;
		margin-bottom: -1px;              /* コンテナの線に重ねる */
	}
}

/* 横幅が狭いPCではさらに詰める */
@media only screen and (min-width: 640px) and (max-width: 1500px) {
	.active-underline-link--works > * {
		font-size: 1.5rem;
		padding: 1rem 1.8rem 2rem;
	}
}
@media only screen and (min-width: 640px) and (max-width: 1100px) {
	.active-underline-link--works > * {
		font-size: 1.4rem;
		padding: 1rem 1.2rem 1.8rem;
	}
}

/* =========================================================================
 * 2026-10-07 矢印の大きさ調整
 * Font Awesome のグリフは文字枠いっぱいに描かれるが、› ‹ は枠の4割ほどしかない。
 * 同じ見た目にするため、矢印の擬似要素だけ文字サイズを拡大する。
 * （em 指定なので、ボタン／ページ送り／前後リンクそれぞれの基準サイズに追従する）
 * ========================================================================= */
.more-btn::after,
.more-btnTopSp::after,
.center-line a[rel='prev']::before,
.center-line a[rel='next']::before,
.pageNavi a.nextpostslink::before,
.pageNavi a.previouspostslink::before,
.pageNavi a.first::before,
.pageNavi a.last::before {
	font-size: 2.2em;
	line-height: 1;
}

/* 送信ボタンの封筒アイコン。元のアイコンフォントは文字幅を持たなかったが、
   SVGにして幅（1.25em）がついたぶん右にずれて文字と重なるため、左へ寄せる。 */
.mw_wp_form .submitbutns::after {
	margin-left: -1.1em;
}

/* =========================================================================
 * 2026-10-07 PCモーダルメニュー 2階層目の文字サイズ
 * style.css に 2.2rem の指定はあるが、セレクタが
 *   .l-modal-menu-pc__body-items--sec ... a span
 * と span を対象にしているのに対し、実際のHTMLは
 *   <a><div class="c-head-text3">…</div></a>
 * なので一度も効いていなかった（本番も1階層目と同じ3.8remのまま）。
 * 実際のマークアップに合わせて指定し直す。
 * ========================================================================= */
.l-modal-menu-pc__body-items--sec .l-modal-menu-pc__body-item a .c-head-text3 {
	font-size: 2.2rem;
}

@media only screen and (min-width: 1900px) {
	.l-modal-menu-pc__body-items--sec .l-modal-menu-pc__body-item a .c-head-text3 {
		font-size: 1.8rem;
	}
}

/* =========================================================================
 * 2026-10-08 実績詳細ページ
 * ========================================================================= */

/* ---- 上部：カテゴリと小間数のボタン ---- */
.work-head-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.work-head-tags a {
	display: inline-block; border: 1px solid #C9C9C9; background: #fff; color: #161616;
	font-size: 13px; line-height: 1; letter-spacing: .04em; padding: 11px 18px;
	white-space: nowrap; text-decoration: none;
	transition: background-color .2s, border-color .2s, color .2s;
}
.work-head-tags a:hover { background: #161616; border-color: #161616; color: #fff; }

/* ---- 下部：関連する実績 ---- */
.work-related { margin: 48px 0 0; }
.work-related__label {
	font-size: 12px; letter-spacing: .08em; color: #161616; font-weight: 700;
	text-align: center; margin-bottom: 16px;
}
.work-related .works-img-group { margin-top: 0; }

@media only screen and (min-width: 640px) {
	.work-head-tags { gap: 10px; margin-bottom: 20px; }
	.work-head-tags a { font-size: 15px; padding: 14px 26px; }

	/* PROJECT枠の下の空きを詰めて、その分を関連実績で埋める（元は 37rem） */
	.single-work .project-wrap { padding-bottom: 8rem; }

	.work-related { margin: 8rem 0 0; }
	.work-related__label { font-size: 14px; margin-bottom: 24px; }
	.work-related .works-img-group { gap: 4rem; margin-top: 0; }
}

/* 2026-10-08 矢印の縦位置をテキストに合わせる。
   文字を拡大したぶん、top:50% + translateY(-50%) だと字面の中心がずれるため、
   擬似要素をリンクの高さいっぱいに広げて flex で中央に揃える。 */
.center-line a[rel='prev']::before,
.center-line a[rel='next']::before,
.pageNavi a.nextpostslink::before,
.pageNavi a.previouspostslink::before,
.pageNavi a.first::before,
.pageNavi a.last::before {
	display: flex;
	align-items: center;
	top: 0;
	bottom: 0;
	height: auto;
	transform: none;
	margin-top: 0;
}

/* 2026-10-08 見出しの文字サイズ。
   「小間数で絞り込む」は18px固定、「関連する実績を見る」はSP18px／PC20px。 */
.work-related__label,
.works-koma-nav__label {
	font-size: 18px;
}
@media only screen and (min-width: 640px) {
	.work-related__label { font-size: 20px; }
}

/* 実績詳細の「小間数で絞り込む」の上の余白。
   PC既定の40pxに20px足して60px。狭ければこの数字を変える（一覧ページ側は従来のまま）。 */
.project .works-koma-nav {
	margin-top: 60px;
}

/* 2026-10-08 一覧カード：カテゴリと小間数を並べて、どちらも四角で囲う。
   画像左上のバッジ（.works-koma-badge）は廃止したので、こちらが唯一の表示。
   サイズは旧バッジに合わせて小さめに保つ。 */
.works-img-box-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 8px 0 6px;
}
.works-img-box-tags a {
	display: inline-block;
	border: 1px solid #C9C9C9;
	background: #fff;
	color: #161616;
	font-size: 12px;
	line-height: 1;
	letter-spacing: .04em;
	padding: 7px 11px;
	white-space: nowrap;
	text-decoration: none;
	transition: background-color .2s, border-color .2s, color .2s;
}
.works-img-box-tags a:hover {
	background: #161616;
	border-color: #161616;
	color: #fff;
}
@media only screen and (min-width: 640px) {
	.works-img-box-tags { gap: 8px; margin: 10px 0 8px; }
	.works-img-box-tags a { font-size: 13px; padding: 8px 13px; }
}

/* 実績タグページのリード文 */
.ls-tag-lead {
	font-size: 14px;
	line-height: 1.9;
	margin-bottom: 20px;
}
@media only screen and (min-width: 640px) {
	.ls-tag-lead { font-size: 16px; text-align: center; margin-bottom: 40px; }
}

/* 2026-10-23 サービス一覧のタブ（ページ内アンカー）。
   PC固定メニュー（84px）に見出しが隠れないよう、停止位置を手前にずらす。
   #works-list と同じ考え方。 */
.service-content { scroll-margin-top: 20px; }
@media only screen and (min-width: 1200px) {
	.service-content { scroll-margin-top: 104px; }        /* 固定バー84px + 余白20px */
	.admin-bar .service-content { scroll-margin-top: 136px; } /* 管理バー32pxぶん */
}

/* 2026-10-23 右下の追従CTA「デザイン制作・企画でお困りの方／無料相談はこちら」。
   1200px以上はヘッダーが固定表示になり、右上に「お問い合わせ」ボタンが常時出ているため
   役割が重複する。先方からの指摘を受けてPCのみ非表示にする。
   1199px以下はハンバーガーメニューのままで、消すと問い合わせ導線がメニュー内に埋もれるので残す。
   全環境で消す場合は、下のメディアクエリを外して .fixedCta と .fixedCtaSp の両方を非表示にする。 */
@media only screen and (min-width: 1200px) {
	.fixedCta { display: none !important; }
}
