/* 広告事業部マウスホバー */
.aligncenter_img {
	width: 1134px;
  cursor: pointer;
  overflow: hidden;
  width: 100%;
}
.aligncenter_img img {
  height: auto;
  transition: transform .5s ease; 
}
.aligncenter_img:hover img {
  transform: scale(1.1);
}


/* ソリューション */
.more-link {
  margin-top: 30px;
	width: 116px;
}

.more-link a {
  display: inline-block;
  padding: 8px 32px;
  border: 1px solid #2C9F9A;
  font-size: 14px;
  letter-spacing: 0.15em;
  color: #2C9F9A;
  cursor: pointer;
  text-align: center;
  transition: all 0.3s ease;
}

.more-link a:hover {
  background: #2C9F9A;
  color: #fff;
}

.solution_main{
	font-size: 1.3rem;
	text-align: center;
}

.solution_text{
	font-size: 1.1rem;
	text-align: center;
}
/* ベース */
:root{
  --ink:#222;
  --muted:#666;
  --line:#2C9F9A;
  --lead:1.6;
  --max:1100px;
}
*{box-sizing:border-box}
body{margin:0;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,Segoe UI,Roboto,Arial,sans-serif;line-height:1.8}

.lp-wrap{max-width:var(--max);margin:0 auto;padding:56px 20px 120px}

/* セクション */
.service-block{margin:72px 0}
.service-block:first-of-type{margin-top:16px}

/* 見出し（和文＋英文） */
.block-head{
  display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;
	margin-bottom: -20px;
}
.block-head .jp{
	color: #2C9F9A;
  margin:0;
  font-size:clamp(1.5rem,3.2vw,2rem);
  font-weight:700;
}
.block-head .en{
  color:var(--muted);
  font-size:clamp(12px,1.4vw,14px);
  letter-spacing:0.14em;
  text-transform:capitalize;
}

/* 細い横線 */
.rule{
  border-top:1px solid var(--line);
  margin:5px 0 28px;
}

/* 本文 */
.block-body{display:block}
.lead{
  margin:0 0 18px;
  line-height:var(--lead);
  font-size:clamp(15px,1.6vw,18px);
}

.lead2{
	font-size: 1.2rem;
	font-weight: 700;
}

/* 箇条書き */
.dot-list{margin:10px 0 0 0;padding-left:1.2em}
.dot-list li{margin:10px 0}
.dot-list .note{
  color:var(--muted);
  font-size:0.95em;
  line-height:1.7;
  margin-top:4px;
}

/* レスポンシブ余白調整 */
@media (min-width:960px){
  .lp-wrap{padding-left:40px;padding-right:40px}
  .service-block{margin:88px 0}
  .lead{margin-bottom:24px}
}

/* バナー専用セクション（水色） */
.light-blue-area {
  position: relative;
  background: #d9f2f0;       /* NEWSの水色と同じ */
  padding: 20px 20px 100px 30px;   /* 下は少し余白 */
}

/* 上端の波（ヒーローに被せる） */
.light-blue-area .wave-top {
  position: absolute;
  top: -80px;   /* 波の高さに合わせて調整 */
  left: 0;
  width: 100%;
  height: 80px;
  line-height: 0;
  overflow: hidden;
}
.light-blue-area .wave-top svg {
  display: block;
  width: 100%;
  height: 100%;
}

/* バナー横並び */
.banner-wrapper {
  display: flex;
  justify-content: center;
  gap: 50px;
  flex-wrap: wrap;
}
.banner-wrapper img {
  max-width: 100%;
  height: auto;
  display: block;
}

.banner-wrapper a {
  display: inline-block;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.banner-wrapper a:hover {
  transform: scale(1.05); /* 少し拡大 */
}


/*サイン事業部ヘッダー*/

.page-id-15698 h1.page-title,.page-id-17554 h1.page-title,.page-id-17749 h1.page-title,.page-id-15927 h1.page-title,.page-id-17926 h1.page-title,.page-id-17932 h1.page-title,.page-id-17967 h1.page-title,.page-id-18278 h1.page-title,.page-id-18560 h1.page-title,.page-id-18539 h1.page-title,.page-id-18598 h1.page-title,.page-id-18607 h1.page-title,.page-id-18613 h1.page-title,.page-id-18655 h1.page-title{
display:none;
}

#sumaori a {
  text-decoration: none !important;
  border-bottom: none !important;
}

.recruit-closed {
  text-align: center;
}

.recruit-closed__headline {
  color: #1e73be;
  font-weight: 700;
  font-size: 1.7rem;
  padding: 14px 0;
  border-top: 2px solid #1e73be;
  border-bottom: 2px solid #1e73be;
  width: 100%;
  max-width: 648px;   /* PCでは648pxまで */
  margin: 0 auto;	
}

@media screen and (max-width: 767px) {
  .recruit-closed__headline {
    font-size: 1.3rem;
  }
}

.recruit-closed__text {
  display: inline-block;
  text-align: left;
  margin-top: 5px;
  font-size: 1rem;
  line-height: 1.9;
  color: #333;
  max-width: 680px;
}

.sign_flexbox-container {
    display: flex;
}

.sign_flexbox-container main {
    width: 700px;
    margin: auto;
    height: 300px;
		text-align: center;
		padding: 0 50px;
}

.sign_flexbox-container main img {
    width: auto;

}

.sign_flexbox-container aside {
    width: 250px;
    min-width: 250px;
    margin: auto;
    height: 300px;
	font-size: 0.9rem;
}

.icon_container {
    display: flex;
    justify-content: space-around; /* 画像の間に均等に余白を設定 */
}

.icon_container a {
    display: block;
    width: 30%;
}

.icon_container img {
    max-width: 100%;
}

@media only screen and (max-width: 767px) {
	.sign_flexbox-container {
   flex-direction: column;
}
	.sign_flexbox-container main {
		width: 100%;
	height: auto;
		margin: auto;
			padding-bottom: 20px;
	}
	.sign_flexbox-container aside {
		order: 1;
		width: 100%;
	height: auto;
	margin: auto;
	padding-bottom: 20px;
	}
	.sign_flexbox-container aside img {
	width: 120px;
}
}


/*サイン事業部メニュー*/
.menu_sign {
display: table;
margin: 0 auto;
padding: 0;
width: 80%;
text-align: center;
}

.menu_sign li {
  display: list-item;
  list-style-type: none;
  padding: 1em;
  background: #fff;
}

.menu_sign li a{
display: block;
width: 100%;
padding: 10px 0;
text-decoration: none;
color: #555;
font-weight: bold;
}

@media (min-width: 640px) {
  .menu_sign li {
    display: inline-block;
  }
}


/*カルーセル*/
@keyframes horizontal-animation {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-100%);
  }
}

.slider-container {
  display: flex;
  margin: 50px calc(50% - 50vw);
  width: 100vw;
  height: 300px;
  overflow: hidden;
}

.slider-wrapper {
  display: flex;
  animation: horizontal-animation 30s linear infinite;
}

.slide {
  width: 400px;
  margin-right: 20px;
}

.slide img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

@media (hover: hover) {
  .slider-container:hover .slider-wrapper {
    animation-play-state: paused;
  }
}

@media screen and (max-width: 959px) {
	.slide {
  width: 250px;
  margin-right: 20px;
}
}
@media screen and (max-width: 480px) {
		.slide {
  width: 200px;
  margin-right: 20px;
}
}


/*看板TOP見出し*/

.signtitle  {
	margin-top: 50px;
	margin-bottom: 10px;
  position: relative;
	font-size: 1.5rem;
	font-weight: bold;
}

.signtitle:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -8px;
  width: 100%;
  height: 10px;
  background: -webkit-repeating-linear-gradient(-45deg, #cecece, #cecece 2px, #fff 2px, #fff 6px);
  background: repeating-linear-gradient(-45deg, #cecece, #cecece 2px, #fff 2px, #fff 6px);
}



/*探す*/

.yoko100 {
	position: relative;
	margin: 50px 0 100px 0;
}

.yoko100::after {
	content: "";
	background: #d9f8ff;
	width: 100vw;
	height: 100%;
	display: block;
	position: absolute;
	left: calc(-50vw + 50%);
	top: 0;
	z-index: -1;
}

.searchtitle {
	padding: 50px;
	font-size: 1.5rem;
	font-weight: bold;
	text-align: center;
}

.search_p{
  position: relative;
  display: inline-block;
  padding: 7px 20px;
  min-width: 120px;
  max-width: 100%;
  color: #fff;
  font-size: 1.1rem;
  background: #96CC2F;
  border-radius: 30px;
	font-weight: bold;
}

.search_p:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 10px solid transparent;
  border-top: 10px solid #96CC2F;
}




img[usemap] {
    max-width: 100%;
    height: auto;
}

/*経験と実績*/

.card__f {
  display: flex;
  line-height: 1.5;
}
.card__f-image {
  display: flex;
  justify-content: center;
  align-items: center;/* 上辺合わせにしたい場合は center を flex-start に変更 */
  width: 55%;/* 画像の横幅専有パーセンテージ */
  margin: 0 auto;
  padding: 1em;
}
.card__f-text {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  padding: 1em;
	font-size: 1.1rem;	
}

@media screen and (max-width: 767px) {
  .card__f {
    display: block;
  }
  .card__f-image {
    width: 80%;
    border: 0;
  }
}


/*ご注文の流れ*/

.top_flow{
	margin-top: 30px;
}

.top_flow span{
	background-color: #f7de61;
	padding: 10px 20px;
	font-size: 1.3rem;
	font-weight: bold;
}

.top_flow p{
	margin-top: 20px;
	font-size: 1.1rem;	
}

.asterisk p{
	font-size: 0.9rem;
	margin-bottom: 20px;
}

.top_flow img{
	width: 100%;
}

a.btn-flat {
  overflow: hidden;
  padding: 1.5rem 6rem;
  color: #fff;
  border-radius: 0;
  background: #52C622;
}

a.btn-flat span {
  position: relative;
	color: #fff;
}

a.btn-flat:before {
  position: absolute;
  top: 0;
  left: 30px;
  width: 150%;
  height: 500%;
  content: '';
  -webkit-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
  -webkit-transform: translateX(-98%) translateY(-70%) rotate(135deg);
  transform: translateX(-98%) translateY(-70%) rotate(135deg);
  background: #64EA26;
}

a.btn-flat:hover:before {
  -webkit-transform: translateX(-9%) translateY(-25%) rotate(135deg);
  transform: translateX(-9%) translateY(-25%) rotate(135deg);
}

/*トップの施工事例*/

.yoko100_2 {
	position: relative;
	margin: 50px 0 100px 0;
}

.yoko100_2::after {
	content: "";
	background: #f4f4f4;
	width: 100vw;
	height: 100%;
	display: block;
	position: absolute;
	left: calc(-50vw + 50%);
	top: 0;
	z-index: -1;
}

.searchtitle {
	padding: 50px;
	font-size: 1.5rem;
	font-weight: bold;
	text-align: center;
}



/*施工事例の横並び画像*/

/* フレックスボックスの基本設定 等間隔（両端揃え）折返しあり */
[class^="flex-col"] {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

/* コンテンツ下のマージン */
.flex-child { 
	text-align: center;
	margin-bottom: 10px; }

/* 各カラム毎のコンテンツと疑似要素の横幅 */
.flex-col2 .flex-child { width: calc( (100% - 10px) / 2 ); }

.flex-col3::after,
.flex-col3 .flex-child { width: calc( (100% - 20px) / 3 ); }

.flex-col4::before,
.flex-col4::after,
.flex-col4 .flex-child { width: calc( (100% - 30px) / 4 ); }
	
/* 最終行は両端揃えにしない */
.flex-col3::after,
.flex-col4::before,
.flex-col4::after { content: ""; }

.flex-col4::before { order: 1; }

/* レスポンシブ対応 */

/* 991px以下で4列 → 3列 */
@media screen and (max-width: 991px) {
	.flex-col4::after,
	.flex-col4 .flex-child { width: calc( (100% - 20px) / 3 ); }
}

/* 767px以下で4列・3列 → 2列 */
@media screen and (max-width: 767px) {
	.flex-col3 .flex-child,	
	.flex-col4 .flex-child { width: calc( (100% - 10px) / 2 ); }
}

/* 575px以下で全て1列 */
@media screen and (max-width: 575px) {
	.flex-col2 .flex-child,
	.flex-col3 .flex-child,
	.flex-col4 .flex-child { width: 100%; }
}





/*施工事例*/


.box35 .box350 {
  display: flex;
}
 
.box350_img {
  flex-shrink: 0;
	padding: 10px;
	
}
 
.box350_desc {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding:30px 25px 5px 10px;
  width: 100%;
}

.box350_productname{
	background-color: #F2AC46;
	color: #fff;
	padding: 7px;
	border-radius: 5px;
	margin-bottom: 10px;
  font-size: 1.1rem;
}

.box350_ttl{
	font-size: 1.5rem;
	font-weight: bold;
}

.box350_img{
	margin-top: 5px;
}

.box350_text{
	font-size: 1.1rem;
}

.box350{
	background-color: #F4F4F4;
	margin-bottom: 30px;
	box-shadow: 0 12px 10px -6px rgba(0,0,0,.25);
}

	
@media (max-width: 767px) {
	.box35 .box350 {
		display: block;
	}
}












/*看板固定ページタイトル*/

.yoko100_1 {
	position: relative;
	margin: -50px 0 100px 0;
}

.yoko100_1::after {
	content: "";
	background: #060077;
	width: 100vw;
	height: 100%;
	display: block;
	position: absolute;
	left: calc(-50vw + 50%);
	top: 0;
	z-index: -1;
}

.yoko100_1 h1{
	font-size: 1.7rem;
	font-weight: bold;
	color: #fff;
	margin-top: 50px;
	padding: 50px;
}


@media screen and (min-width:650px) {
	.yoko100_1 {
	position: relative;
	margin: -100px 0 100px 0;
}
	.yoko100_1 h1{
	font-size: 2.2rem;
	font-weight: bold;
	color: #fff;
	margin-top: 100px;
	padding: 100px;
}
}


/*項目見出し*/


.office_item {
  position: relative;/*相対位置*/
  padding: 0.5em 0.5em 0.5em 1.5em;/*アイコン分のスペース*/
  line-height: 1.4;/*行高*/
  border-top: dotted 1px gray;
  border-bottom: dotted 1px gray;
  background: #fffff4;
	font-size: 1.3rem;
	margin-bottom: 20px;
}

.office_item:before {
  font-family: FontAwesome;/*忘れずに*/
  content: "\f138";/*アイコンのユニコード*/
  font-weight: 900;
  position: absolute;/*絶対位置*/
  font-size: 1em;/*サイズ*/
  left: 0.25em;/*アイコンの位置*/
  top: 0.5em;/*アイコンの位置*/
  color: #ff6a6a; /*アイコン色*/
}


.web{
	margin-top: 50px;
	font-size: 1.1rem;
	text-align:center;
}

.btn,
a.btn,
button.btn {
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.3;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
	margin-top: 10px;
}

.btn--orange,
a.btn--orange {
  color: #fff;
  background-color: #ff6a6a;
}

.btn--orange:hover,
a.btn--orange:hover {
  color: #fff;
  background: #ff9292;
}

a.btn--radius {
  border-radius: 100vh;
}




/*注文の流れ*/
.Inner {
	margin: 20px auto 0 auto;
  max-width: 1200px;
}
.Inner p{
  margin: 0;
  padding: 0;
}
.Inner li{
  list-style: none;
}
.List-Item {
  border-top: 1px solid #ddd;
  width: 100%;
}
@media screen and (max-width: 540px) {
  .List-Item {
    border-top: 0;
  }
}
.List-Item:nth-of-type(1) {
  border-top: 0;
}
.List-Item-Content {
  margin-left: auto;
  margin-right: auto;
  padding-top: 30px;
  padding-bottom: 30px;
  max-width: 1100px;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 540px) {
  .List-Item-Content {
    padding-top: 15px;
    padding-bottom: 15px;
    flex-wrap: wrap;
  }
}
.List-Item-Content.one {
  padding-top: 0;
}
.List-Item-Content-Number {
  position: relative;
  margin-right: 40px;
  border-radius: 50%;
  width: 80px;
  height: 80px;
  line-height: 80px;
  text-align: center;
  background: #060077;
  color: #fff;
  font-size: 36px;
}
@media screen and (max-width: 540px) {
  .List-Item-Content-Number {
    margin-right: 20px;
    width: 40px;
    height: 40px;
    line-height: 40px;
    font-size: 24px;
  }
}
.List-Item-Content-Number-Line {
  position: absolute;
  top: -36%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 4px;
  height: 66px;
  background: #060077;
}
@media screen and (max-width: 540px) {
  .List-Item-Content-Number-Line {
    top: -80%;
    width: 2px;
    height: 72px;
  }
}
.List-Item-Content-Title {
  margin-right: 48px;
  flex-basis: 298px;
  color: #060077;
  font-size: 24px;
}
@media screen and (max-width: 540px) {
  .List-Item-Content-Title {
    margin-right: 0;
    max-width: 230px;
    font-size: 18px;
  }
}
.List-Item-Content-Description {
  line-height: 1.5;
  font-size: 16px;
}
@media screen and (max-width: 540px) {
  .List-Item-Content-Description {
    margin-left: 60px;
    max-width: 260px;
    font-weight: normal;
    font-size: 13px;
  }
}



/*デジタルサイネージ*/

.signage2 {
  display: flex;
  justify-content: space-between;
}
.signage2 .signage {
  width: 30%;
}

.signage-title {
	font-size: 1.2rem;
	font-weight: bold;
	margin-bottom: 10px;
}

@media screen and (max-width: 540px) {
	.signage2 {
 display: flex;
 flex-direction: column;
	}
	.signage2 .signage {
		width: 100%;
	}
.signage-img img{
	width: 100%;
	margin-top: 30px;
}
}


/*補助金ページ*/
.image-row {
  display: flex;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
  margin-bottom: 30px;
}

.image-container {
  width: 45%;

}

.image-container img {
  width: 100%;

  object-fit: cover;
  display: block;
  border-radius: 6px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

/* 📱スマホ表示用のスタイル */
@media screen and (max-width: 768px) {
  .image-container {
    width: 100%;
    max-width: 100%;
  }

  .image-container img {
    height: auto; /* 縦横比を維持したまま縮小 */
  }
}

.btn--orange,
a.btn--orange {
  color: #fff;
  background-color: #008eed;
margin-bottom: 100px;
}
.btn--orange:hover,
a.btn--orange:hover {
  color: #fff;
  background: #4dbfff;
}

a.btn--radius {
   border-radius: 100vh;
}

.heading-23 {
    padding: .5em .7em;
    border-left: 5px solid #1e93e6;
    border-bottom: 3px solid #d2d2d2;
    background-color: #f2f2f2;
    color: #333333;
margin-bottom: 50px;
}
