/*
Template: jin
Theme Name: jin-child
Author: CrossPiece
Version: 1.00
*/





/*投稿を2カラム*/
.single-post #contents,
.blog #contents{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.single-post #contents #main-contents,
.blog #contents #main-contents{
  width:80%;
}
@media(max-width:1024px){
  .single-post #contents,
  .blog #contents{
    width:90%;
  }
  .single-post #contents #main-contents,
  .blog #contents #main-contents{
    width:70%;
  }
}
@media(max-width:768px){
  .single-post #contents,
  .blog #contents{
    flex-flow: column;
  }
  .single-post #contents #main-contents,
  .blog #contents #main-contents{
    width: calc(100% - 30px);
  }
}
/*パンくずの矢印調整*/
.single-post #breadcrumb ul{
  width: calc(100% - 40px);
}

/*新着情報メインビューの削除*/
.blog #main-image{
  display: none;
}


/*spメニューバー、検索色変更*/
label.sp-menu-open.no-fix span {
    background-color: #3366CB !important;
}
.headsearch{
	    color: #3366CB !important;
}

/*トップページ ワイド*/
@media(min-width: 1024px) {
    #main-contents {
       width: 100%;
			margin-left:0;
	 }
}
	
/* トップページの固定ページタイトルを非表示 */
.home h1.cps-post-title.post-title {
  display: none;
}
	.home .cps-post-main{
		padding-top:0px;
	}

	
/*トップページのコンテンツ全体の枠*/
	.home .article_style1 .cps-post-box{
		box-shadow:0 0 0 0 ;
	}

/*改行*/
.sp-br{
	display:none;
}
@media(max-width:425px){
	.sp-br{
		display:block;
	}
}


/*----------------------------------------
追従CTA
----------------------------------------*/

/* PC追従CTA全体 */
.pc-cta {
  padding: 10px 0;
  width: 1050px;
  position: fixed;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  background: #F7F8FF;
  z-index: 999;
  opacity: 0;
  visibility: hidden;
  transition: opacity .4s ease, visibility .4s ease;
}
.pc-cta.is-show{
  opacity: 1;
  visibility: visible;
}

/* 中身 */
.pc-cta-inner {
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 32px;
}

/* ボタン共通 */
.cta-button {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 18px 28px;
  text-decoration: none;
  font-size: 16px;
  font-weight: bold;
  border-radius: 0 !important;
}

.cta-button img {
  width: 20px;
  height: auto;
}

/* WEB */
.cta-web {
  background: #3366CB !important;
  color: #fff !important;
}

/* LINE */
.cta-line {
  background: #06C755 !important;
  color: #ffffff !important;
}

/* 電話 */
.cta-tel {
  display: flex;
  flex-direction: column;
}

.cta-txt {
  font-size: 14px;
  color: #3366CB !important;
  margin: 0;
  font-weight: 400 !important;
}

.cta-tel-number {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: bold;
  color: #3566cc;
}

.cta-tel-number img {
  width: 28px;
  height: auto;
}

.cta-tel-number span {
  font-size: 40px;
}

@media(max-width:1200px){
	.pc-cta{
		width:90%;
	}
	.cta-button{
		min-width: 240px;
	}
}

@media(max-width:1024px){
	
		.pc-cta-inner{
		flex-wrap: wrap;
		gap: 0;
			justify-content: space-evenly;
	}
	.cta-button{
		order:2;
		min-width: 45% !important;
	}
	.cta-tel{
		order:1;
		width:100%;
		text-align: center;
		flex-direction: inherit;
		align-items: center;
		justify-content: center;
	}
	.cta-txt{
		margin-right: 1rem !important;
	}
	.cta-tel-number{
		justify-content:center;
	}
}
/* PCのみ表示 */
@media (max-width: 768px) {
  .pc-cta {
    display: none;
  }
}

/*--------------ここまで---------------*/

/*セクション余白*/
#about,#contact,#support,#flow,#works{
	margin-top:6.75rem;
}
@media(max-width:768px){
	/*セクション余白*/
#about,#support,#flow,#works{
	margin-top:3.75rem;
}
}

/*セクションタイトル*/
.section_ttl .ttl_en{
	padding-bottom:0 !important;
	color:#182A7C;
	font-size:4rem;
	font-weight:600 !important;
	letter-spacing:normal;
	line-height: normal;
}
.section_ttl .wp-block-heading{
	display:inline-block;
	background:none !important;
	color:#182A7C;
	font-weight:bold !important;
	font-size:1rem;
	margin-top:0rem;
	padding:0;
}
	
	
	/*新着情報*/
	#news{
		background-color:#F7F8FF;
		padding:2rem 4rem;
	}
  #news a{
    text-decoration: none;
  }

  #news .news-list .wp-block-group__inner-container.is-layout-constrained.wp-block-group-is-layout-constrained{
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
    width:100%;
  }
  #news .post-card{
      padding:1rem 0;
      width:calc((100% - 3%) / 3);
      flex-flow: column;
  }
    #news .news-list .wp-block-group__inner-container.is-layout-constrained.wp-block-group-is-layout-constrained::after{
    content:"";
    display: block;
    width:calc((100% - 3%) / 3);
    height:100%;
  }

  #news .post-card a{
    color:#182a7c;
    font-weight:400;
  }
  #news .post-card a:hover{
    opacity:.6;
  }
	 #news .post-card img{
    width:100%;
    height:220px;
    object-fit: cover;
  }
  #news .post-card p{
    padding:0;
  }
  #news .post-card .post-date{
    color:#656565;
  }
  #news .post-card .post-title{
    font-weight: 500;
  }

  @media(max-width:1024px){
    #news .post-card img{
      height:16.6vw;
    }
  }
  @media(max-width:768px){
      #news .news-list .wp-block-group__inner-container.is-layout-constrained.wp-block-group-is-layout-constrained{
        flex-flow: column;
      }
      #news .post-card{
        width:100%;
      }
      #news .post-card img{
        height:45vw;
      }
  }



/*サポート*/
#support .section_ttl{
	text-align:center;
}
	#support{
		padding:2rem 0;
		background-color:#EFF2FF;
		width: 100vw;
  margin-left: calc(50% - 50vw);
	}
.support_container{
	width:1140px;
	margin:0 auto;
	display:flex;
	align-items:stretch !important;
}
#support .wp-block-column.is-layout-flow.wp-block-column-is-layout-flow {
    background-color: white;
}
.support_wrapper {
    padding-top: 2rem;
}
	.support_area{
		width:80%;
		margin:0 auto;
	}
	.support_icon{
		width:80px;
		height:80px;
		background-color:#182A7B;
		display:flex;
		justify-content:center;
		align-items:center;
		border-radius:9999px;
		margin:0 auto;
	}
	.support_icon img{
		width:60%;
		height:60%;
		margin-bottom:0;
	}
	.support_area h3{
		border-bottom:solid 1px #182A7B;
		padding-bottom:1rem;
		text-align:center;
		font-weight:bold;
	}
	
	
	
	/*流れ*/
.triangle {
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 50px solid transparent;
  border-left: 50px solid transparent;
  border-top: 20px solid #182a7c;
  border-bottom: 0;
	margin:1rem auto 0 auto;
}


	.flow_area{
    display: flex;
    justify-content: space-between;
    align-items: center;
		padding:0 2.5rem;
		background-color:#F7F8FF;
}
	.flow_area:nth-of-type(n+2){
    margin-top:1rem;
}
.flow_number{
    width:80px;
    height:80px;
    background-color: white;
    border-radius: 9999px;
    border:solid 1px #182a7c;
    color:#182a7c;
    display: flex;
    justify-content: center;
    align-items: center;
	position:relative;
}
	.flow_number p {
		padding-bottom:0;
		font-size:1.3rem;
		font-weight:bold !important;
	}
.flow_content{
    width:85%
}
	.flow_content h3{
		border-bottom:1px solid #182a7c;
		padding-bottom:1rem;
	}


/* お問い合わせ全体 */
#contact {
  background: linear-gradient(-45deg,#135DA7,#182A7C);
  color: #ffffff;
  padding: 30px 20px 50px;
  position: relative;
  text-align: center;
}

/* 吹き出し */
.balloon {
  position: absolute;
  top: -40px;
  left: 50%;
  transform: translateX(-50%);
  background: #F7F8FF;
  color: #182A7C;
  padding: 20px 0;
    width: 40%;
  border-radius: 999px;
  font-size: 20px;
  font-weight: 600;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

.balloon::after {
  content: "";
  position: absolute;
  bottom: -15px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 14px solid transparent;
  border-right: 14px solid transparent;
  border-top: 16px solid #F7F8FF;
}

/* タイトル */
.cta-title {
  font-size: 28px;
  margin-bottom: 24px;
  border-bottom: none !important;
}

.highlight {
  color: #FFD800;
  font-size: 2.5rem;
  font-weight: 500;
  margin: 0 4px;
}

/* 説明文 */
.cta-text {
  max-width: 720px;
  margin: 0 auto 60px;
  line-height: 1.8;
  font-size: 16px;
}

/* ボタン群 */
.cta-buttons {
  display: flex;
  gap: 20px;
  justify-content: center;
  flex-wrap: wrap;
}
.cta-buttons a{
	text-decoration:none;
}

/* ボタン共通 */
.cta-button {
  background: #ffffff;
  color: #182A7C;
  padding: 24px 30px;
  min-width: 280px;
  text-decoration: none;
  border-radius: 6px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.cta-button:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.2);
}

/* ボタン内テキスト */
.cta-button-text small {
  display: block;
  font-size: 13px;
  font-weight: normal;
  margin-top: 6px;
}

/* 電話 */
.cta-phone .cta-button-text {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.phone-row {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 1.3rem;
}

.phone-icon {
  width: 28px;
  height: 28px;
  margin: 0 !important;
}

/* LINE */
.cta-line {
  background: #06C755;
  color: #ffffff;
}

.cta-line .cta-button-text {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.line-row {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 1.2rem;
}

.line-icon {
  width: 28px;
  height: 28px;
	margin-bottom:0 !important;
}

.cta-line small {
  color: #ffffff;
}

@media(min-width:768px){
    #main-contents{
        width: 100%;
        margin-left: 0;
    }
	
}

@media(max-width:1200px){
    .support_container{
        width:95%;
    }
}

@media(max-width:768px){
	    .support_container {
        width: 90%;
    }
	.balloon{
        padding: 20px 0px;
        width: 60%;
    }
    .cta-button:first-child .cta-button-text{
        font-size: 1.25rem;
    }

    .cta-button{
        padding:1.5rem 0;
        width: 350px;
    }
	#contact{
        padding: 4rem 20px 50px;
    }
    .flow_content {
    width: calc(95% - 80px);
	}
}

@media(max-width:600px){
    #news{
        padding: 2rem;
    }
    .support_container {
        width: 90%;
    }
	.flow_content {
        width: calc(95% - 60px);
    }
    .flow_number{
        width: 60px;
        height: 60px;
    }
    .balloon{
        width:80%;
    }
}

@media(max-width:500px){
	.br_not br{
		display:none;
	}
	
}

@media(max-width:425px){
	.flow_area{
        flex-flow: column;
        padding: 2rem 1.25rem 0 1.25rem;
    }
    .flow_content {
        width: 100%;
    }
    .flow_content h3{
        text-align: center;
    }
    h3.cta-title {
        line-height: 2.5rem;
    }
    #contact {
        padding: 2rem 20px 50px;
    }
	.balloon{
        font-size: 1rem;
    }
    .cta-button{
        width:100%;
    }
}


/*--------------------------------------------------
事業内容
--------------------------------------------------*/
/*カテゴリー表示削除*/
@media(min-width: 1024px){
.page-id-9 #sidebar .widget_categories{
	display:none !important;
}
}
.page-id-9 #sidebar .widget_categories{
	display:none !important;
}

.page-id-9 .article_style1 .cps-post-box,
.page-id-306 .article_style1 .cps-post-box{
    box-shadow:none;
}
@media (min-width: 768px){
.page-id-9 .article_style1 .cps-post-box{
    box-shadow:none;
}
}
.page-id-9 .cps-post-title.post-title,
.page-id-306 .cps-post-title.post-title{
    text-align: center;
}


h1.cps-post-title.post-title{
    position: relative;
}
h1.cps-post-title.post-title::after {
    transform: translate(-50%,50%);
    font-size: 1rem;
    position: absolute;
    bottom: -1rem;
    left: 50%;
}
.page-id-9 h1.cps-post-title.post-title::after{
	content:"SERVICE";
}
.page-id-306 h1.cps-post-title.post-title::after{
	content:"FLOW";
}

/*バブル内の改行*/
@media(max-width:768px){
	.trouble-heading .sp-br{
		display:block;
	}
}

.trouble-heading {
  position: relative;
	left:50%;
	transform:translatex(-50%);
	display:inline-block;
	margin:3.75rem auto 0 auto;
  background: #013477;
  padding: 20px 40px;
  text-align: center;
	border-radius:999px;
}

.trouble-heading::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -16px;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 16px solid transparent;
  border-right: 16px solid transparent;
  border-top: 16px solid #013477;
}

.trouble-text {
  color: #ffffff;
  font-size: 22px;
	margin-bottom:0 !important;
	padding-bottom:0 !important;
}

.trouble-text span {
  font-size: 32px;
  font-weight: 600;
}

/*背景あり*/
	.service_bg{
		padding:2rem 0;
		background-color:#F4FAFF;
		width: 100vw;
  margin-left: calc(50% - 50vw);
	}
 .service_2{
	width:1140px;
	margin:0 auto;
	display:flex;
	align-items:stretch !important;
}


.page-id-9 h2{
	background:none !important;
	color:#013477;
	border-bottom:solid 1px #D6D6D6;
	padding-left:0;
}

.page-id-9 .cps-post-main ul:not([class]) li:before{
    display: none;
}

.trouble-list {
  background: #F6F6F6;
  padding: 2rem;
	margin-bottom:1.25rem;
}
.service_2 .trouble-list{
	background:white;
}

.trouble-list ul {
  max-width: 860px;
  margin: 0 auto;
	padding-left:0 !important;
  list-style: none;
}

.trouble-list li {
	padding: .5rem 0 !important;
  display: flex;
  align-items: center;
	font-size:1rem;
  gap: 16px;
  margin-bottom: 20px;
	flex-flow: row !important;
   justify-content: flex-start !important;
   border-bottom:none !important;
}


.trouble-list li:last-child {
  margin-bottom: 0;
}

.trouble-list img {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
	margin-bottom:0 !important;
}

.trouble-list span {
  font-size: 16px;
  font-weight: 500;
  color: #000000;
}


.feature-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  max-width: 1200px;
  margin: 0 auto;
}

.feature-card {
  background: #F6F6F6;
  padding: 30px;
  text-align: center;
}


.feature-card .icon{
	width:80px;
	height:80px;
	background-color:white;
	border-radius:999px;
	display:flex;
	justify-content:center;
	align-items:center;
	margin:0 auto;
}
.feature-card .icon img {
  width: 40px;
  height: auto;
	margin-bottom:0;
}

.feature-card h3 {
  font-size: 20px;
	color:#3366CB;
	border-bottom:none;
}
body#rm-style .cps-post-main-box  .feature-card h3{
	font-weight:500 !important;
}

.feature-card ul {
  list-style: none;
  padding: 0 !important;
  margin: 0;
  text-align: left;
	
}

.feature-card li {
  display: flex;
  align-items: center;
  gap: 10px;
	flex-flow:row !important;
	border-bottom:none !important;
	font-weight:500;
	color:#000000;
	padding:.5rem 0 !important;
}

.feature-card .check {
  width: 16px;
  height: 16px;
	margin-bottom:0;
}



.category-section {
  margin: 0 auto;
  padding: 40px 0;
}

.category-card {
  display: flex;
  gap: 30px;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 11px;
  padding-right:20px;
  margin-bottom: 30px;
	height: 100%;
}

.category-image {
  width:40%;
	height:250px;
}

.category-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 10px 0 0 10px;
}

.category-content {
  flex: 1;
}

.category-content h3 {
  color: #1e5bd9;
  font-size: 20px;
  margin-bottom: 16px;
  padding-bottom: 8px;
  border-bottom: 1px solid #ddd;
}

.tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.tags span {
  background: #f3f6ff;
  padding: 8px 14px;
  border-radius: 8px;
  font-size: 16px;
  white-space: nowrap;
	font-weight:500;
	color:#000000;
}


@media(max-width:1200px){
    .service_2{
        width:95%;
    }
}

@media(max-width:768px){
	.trouble-heading{
        padding: 20px 0;
        width: 90%;
    }

	.page-id-9 .is-layout-flex{
		flex-flow:column-reverse;
	}
	
	 .feature-grid{
        grid-template-columns: auto;
    }

	
	.category-section{
		padding:40px 0 0 0 ;
	}
	.category-card{
        flex-flow: column;
        padding-right: 0;
        margin-bottom: 30px;
    }
    .category-image {
        width: 100%;
        height: 40vw;
    }
    .category-image img{
        border-radius: 10px 10px 0 0;
        margin-bottom:0;
    }
    .category-content{
        width: 90%;
        margin: 0 auto;
        padding-bottom: 30px;
    }
    .category-content h3{
        margin-top: 0;
    }
}

@media(max-width:425px){
	.trouble-heading{
        width:100%;
    }
    .trouble-text span{
        font-size: 25px;
    }
	.service_2{
		width:90%;
	}
	.category-image{
        height: 50vw;
    }
}

@media(max-width:320px){
    .trouble-text span{
        font-size: 20px;
    }
}



/*----------------------------------------------
 * 工事の流れ
 * ---------------------------------------------*/

.flow-num {
  display: block;
  font-size: 40px;
  font-weight: 700;
  color: #3366CB;
	line-height:1;
}

.flow-en {
  display: block;
  font-size: 14px;
  color: #3366CB;
  margin-top: 4px;
  letter-spacing: 0.05em;
}

.flow-title {
  font-size: 18px;
	padding-left:0 !important;
	color:#3366CB;
	border-bottom:none !important;
}

.flow-text p {
  font-size: 16px;
	line-height:2rem;
	color:#000000;
	padding-bottom:0 !important;
}

.page-id-306 .is-layout-flex{
    margin-bottom:40px;
}
.page-id-306 .is-layout-flex:nth-of-type(even){
    flex-flow: row-reverse;
}



/* ///////////////////////////////////////////////////////////////////
お問い合わせ
/////////////////////////////////////////////////////////////////// */

.contact .sec1 {
	text-align:center;
	padding:98px 0;
	border-bottom:1px solid #D0D0D0;
}

.contact .sec1 h2 {
	font-size:41px;
	font-weight:bold;
	margin-bottom:10px;
}

.contact .sec1 h3 {
	font-size:14px;
	font-weight:normal;
	margin-bottom:10px;
	padding-bottom:17px;
    background: url(../images/line_01.png) no-repeat center bottom;
}
.contact .sec2 {
	width:800px;
	margin:40px auto 100px;
}

.contact .sec2 .msg1 {
	text-align:center;
	font-size:16px;
	line-height:1.5;
	padding:0px 0 50px;
}

.contact .sec2 h3 {
	color:#000000;
	text-align:center;
	font-size:30px;
	font-weight:normal;
	margin-bottom:30px;
	padding-bottom:17px;
    background: url(../images/line_01.png) no-repeat center bottom;
}

.contact .sec2 table {
	width:100%;
	margin:30px auto;
	border-bottom:1px solid #dbdbdb;
}
.contact .sec2 table tr th {
	text-align:left;
	line-height:1.5;
	padding:15px 20px 15px 0;
	width:30%;
	box-sizing: border-box;
	font-weight:normal;
	border-top:1px solid #dbdbdb;
    vertical-align: middle;
}
.contact .sec2 table tr th .ttl {
	display:inline-block;
	font-size:16px;
}
.contact .sec2 table tr th .check {
	display:inline-block;
	float:right;
	font-weight:normal;
	color:#fff;
	background:#F40F0F;
	font-size:13px;
	padding:5px 10px;
}
.contact .sec2 table tr td {
	border-top:1px solid #dbdbdb;
	text-align:left;
	line-height:1.5;
	padding:15px 0;
	width:70%;
	box-sizing: border-box;
    vertical-align: middle;
}
.contact .sec2 table tr td .txt1 {
	background:#eeeeee;
	width:100%;
	font-size:18px;
	border:0px;
	padding:8px 10px;
	box-sizing: border-box;
}
.wpcf7c-conf {
    background-color: #999999!important;
}
.contact .sec2 table tr td select {
	background:#eeeeee;
	width:100%;
	font-size:18px;
	border:0px;
	padding:8px 10px;
	box-sizing: border-box;
}
.contact .sec2 table tr td select option {
}
.contact .sec2 table tr td textarea {
	box-sizing: border-box;
	background:#eeeeee;
	font-size:18px;
	width:100%;
	height:320px;
	border:0px;
	padding:8px 10px;
	margin-bottom:20px;
}
.contact .sec2 .box {
	margin:10px auto;
	text-align:center;
}
.contact .sec2 .btn_sec {
	text-align:center;
}
.contact .sec2 .conf ,
.contact .sec2 .wpcf7-back,
.contact .sec2 .wpcf7-confirm,
.contact .sec2 .wpcf7-submit{
	transition-duration:0.3s;
	border:none;
	text-align:center;
	color:#ffffff;
	font-size:15px;
	background: #D92980;
	width:150px;
	padding:25px 0!important;
	margin:10px 10px;
	cursor: pointer;
}
.contact .sec2 .conf:hover ,
.contact .sec2 .wpcf7-back:hover ,
.contact .sec2 .wpcf7-confirm:hover ,
.contact .sec2 .wpcf7-submit:hover {
	transition-duration:0.3s;
	width:150px;
	border:none;
	background: #282828;
	color:#ffffff;
	cursor: pointer;
}
