@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/
/*デフォルトのhover効果を消す*/
.btn:hover, .ranking-item-link-buttons a:hover,
.btn-wrap > a:hover,
.toggle-button:hover,
.appeal-button:hover{
opacity: 1;
}

.main{
    background-color: #fff;
}
/*全体レイアウト*/
.wrap {
	width:auto;
}
section {
	margin-bottom: 8em !important;
}

section.contact {
	margin-bottom: 0em !important;
}

.content {
	margin: 0;
}
.footer {
	margin: 0;
}
/*書式*/

.article h1 {
	color:#02207F;
	border-bottom: 5px solid #02207F;
	width: 860px;
	margin: 0 auto;
	margin-top: 2em;
	margin-bottom: 4em;
	padding-left:0.5em;
}

.article h2 {
	color: #02207F;
	position: relative;
	overflow: hidden;
	font-size: 24px;
	padding: inherit;
	background-color: transparent;
	border-bottom: 3px solid #fff;
	line-height: initial;
}

.article h2:before,.article h2:after {
    position: absolute;
    width: 100%;
    bottom: 0;
    content: '';
}
.article h2:before {
  border-bottom: 5px solid #20DAF7;
}

.article h2:after {
  border-bottom: 5px solid #CECECE;
}

.article h3 {
	font-size:24px;
	line-height: 2em;
	color:#fff;
	white-space: nowrap;
	border-style: none;
	padding:0;
	margin-bottom: 0.5em;
}

.contact h3 {
	color: #02207F !important;
}

/*アピールエリア 装飾*/

.appeal {
	z-index: 1;
	position: relative;

/*パララックス効果
	align-items: center;
	background-attachment: fixed !important;
	background-position: center;
	justify-content: center;
	background-size: cover;
	background-repeat: no-repeat;*/
}

.appeal::after {
	z-index: 2;
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(255,255,255,0.5);
	background-image: radial-gradient(#fff 30%, transparent 31%), radial-gradient(#fff 30%, transparent 31%);
	background-size: 4px 4px;
	background-position: 0 0, 2px 2px;

}

.appeal-content {
	background-color: rgba(255, 255, 255, 1);
	z-index: 3;
}
.appeal-title {
	font-size: 0.8em;
	min-height: 80px;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    background: url(https://www.jack-of-all-trades.carps.co.jp/wp-content/uploads/2025/05/jack_logoB_blue.svg) no-repeat;
	background-size:contain;
	background-position: center;
}



/*ヘッダーメニュー*/

.header-site-logo-image {
	filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(108deg) brightness(104%) contrast(104%);
}

.header {
	height: 80px;
}

.logo-header img {
	height: 80px;
}

.navi {background-color:unset;}
#navi .navi-in > ul li{
	height: 80px;
	line-height: 80px;
}

#navi .navi-in > .menu-header .item-label{
	color:#fff;
	font-weight: bold;
}

#navi .navi-in .item-label::before{
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0px;
	width: 0;
	height: 4px;
	background: #20DAF7;
	transition: 0.3s;
}

#navi .navi-in .item-label:hover::before{
	left: 0;
	width: 100%;
}

.header-container-in.hlt-top-menu .logo-header {
	max-height: 80px;
	height:80px !important;
}

.header-container-in.hlt-top-menu .logo-header img {
	max-width:300px;
	max-height:80px !important;
	height:80px !important;
}
.header-container-in.hlt-top-menu.hlt-tm-small .logo-header {
	height:80px !important;
}

.search-menu-button {
	display:none !important;
}

/*フロントページ 新着ニュース*/

.front-news {
	padding-left: 12px;
}

.front-news li{
	list-style:none;
	border-bottom: 1px dashed #CECECE;
}

.front-news li time {
	font-size:14px;
}

.front-news li p {
	font-size: clamp(12px, 1.8vw, 16px);
	font-weight:bold;
	margin-bottom: 12px;
}

.accepting-label {
	color: #fff;
	padding: 0.3em 0.6em;
	border-radius: 4px;
}

.accepting-label {
    background: linear-gradient(143deg, #F7A320, #D37E4E);
    background-size: 400% 400%;

    -webkit-animation: AnimationName 1s ease infinite;
    -moz-animation: AnimationName 1s ease infinite;
    animation: AnimationName 1s ease infinite;
}

@-webkit-keyframes AnimationName {
    0%{background-position:0% 5%}
    50%{background-position:100% 96%}
    100%{background-position:0% 5%}
}
@-moz-keyframes AnimationName {
    0%{background-position:0% 5%}
    50%{background-position:100% 96%}
    100%{background-position:0% 5%}
}
@keyframes AnimationName { 
    0%{background-position:0% 5%}
    50%{background-position:100% 96%}
    100%{background-position:0% 5%}
}

/*フロントページ 業務内容*/

.business01 {
	background: url(https://www.jack-of-all-trades.carps.co.jp/wp-content/uploads/2025/05/bg_renovation.jpg) no-repeat;
}
.business02 {
	background: url(https://www.jack-of-all-trades.carps.co.jp/wp-content/uploads/2025/05/bg_build.jpg) no-repeat;
}
.business03 {
	background: url(https://www.jack-of-all-trades.carps.co.jp/wp-content/uploads/2025/05/bg_plumbing.jpg) no-repeat;
} 
.business04 {
	background: url(https://www.jack-of-all-trades.carps.co.jp/wp-content/uploads/2025/05/bg_tree.jpg) no-repeat;
}

.business01,
.business02,
.business03,
.business04 {
	z-index: 1;
	position: relative;
	padding: 0 0 0 16px;
	margin-bottom: 0.5em !important;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	height: 140px;
}

.business01::after,
.business02::after,
.business03::after,
.business04::after {
	z-index: 2;
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.6);
	background-image: radial-gradient(#000 30%, transparent 31%), radial-gradient(#000 30%, transparent 31%);
	background-size: 4px 4px;
	background-position: 0 0, 2px 2px;

}
.business01>p,
.business02>p,
.business03>p,
.business04>p {
	font-size: 24px;
	font-weight: bold;
	color: #fff;
	line-height:140px;
	position:relative;
	z-index:3;
	position: relative;
	padding: 0 0 0 1em;
}

.business01 i,
.business02 i,
.business03 i,
.business04 i {
	font-size:160%;
}

/*アイコンフォント*/
@font-face {
  font-family: 'icomoon';
  src:  url('fonts/icomoon.eot?kg9b2o');
  src:  url('fonts/icomoon.eot?kg9b2o#iefix') format('embedded-opentype'),
    url('fonts/icomoon.ttf?kg9b2o') format('truetype'),
    url('fonts/icomoon.woff?kg9b2o') format('woff'),
    url('fonts/icomoon.svg?kg9b2o#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-icon_tree:before {
	position:relative;
	top:5px;
	content: "\e900";
	color: #fff;
}
.icon-icon_plumbing:before {
	position:relative;
	top:3px;
	content: "\e901";
	color: #fff;
}
.icon-icon_build:before {
	position:relative;
	top:4px;
	content: "\e902";
 	color: #fff;
}
.icon-icon_renovation:before {
	position:relative;
	top:3px;
	content: "\e903";
	color: #fff;
}


/*フロントページ スライド*/
.slide01 { 
	display: flex; 
	margin: 0 calc(50% - 50vw);
	width: 100vw; 
	height: 195px;
	overflow: hidden;
	margin-bottom: 8em;
} 
.slide01 ul { 
	display:flex;
	padding: 0;
	margin:0; 
}
.slide01 li { 
	width: 260px;
	list-style: none;
	margin:0 !important;
}
.slide01 ul:first-child {
animation: slide01 200s -100s linear infinite;
}

.slide01 ul:last-child {
animation: slide02 200s linear infinite;
}
@keyframes slide01 {
0% {
transform: translateX(100%);
}
to {
transform: translateX(-100%);
}
}

@keyframes slide02 {
0% {
transform: translateX(0);
}
to {
transform: translateX(-200%);
}
}

/*会社概要ページ*/
.profile_dl {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 4em !important;
	border: solid 3px #2c48ac;
}

.profile_dl dt,.profile_dl dd {
	padding:12px;
	border-bottom: solid 2px #fff;
}


.profile_dl dt:nth-last-child(2) {
	border-bottom: none;
}
.profile_dl dd:last-child {
	border-bottom: none;
}

.profile_dl dt {
	width: 20%;
	display: flex;
 	align-items: center;
	font-weight: bold;
	color: #fff;
	background: #2748A8;
}
.profile_dl dd p {
	margin: 0;
}

.profile_dl dd {
	width: 80%;
	display: flex;
	align-items: center;
	margin-left: 0;
	background-color: #f0f0f0;
}

.profile_dl ul {
 	list-style: none;
 	padding: 0;
 	margin: 0;
}

.profile_dl ul li {
	position: relative;
	padding: 0 0 0 1em;
	margin: 0;
}

.profile_dl ul li::before {
	position: absolute;
	left: 0;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: '\f0da';
	color: #02207F;
}
/*フッター*/

.company h3 {
	min-height: 60px;
	text-indent: 100%;
	margin-bottom:5px;
    white-space: nowrap;
    overflow: hidden;
    background: url(https://www.jack-of-all-trades.carps.co.jp/wp-content/uploads/2025/04/jack_logo_blue.svg) no-repeat;
	background-size:contain;
	filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(108deg) brightness(104%) contrast(104%);
}

.company p {
	color:#fff;
	font-weight:600;
	line-height:1.2em;
	font-size: clamp(10px, 1.8vw, 14px);
	margin-left:6px;
}

div .footer-center, div .footer-right {
	display:none;
}

div .footer-left {
	width: 100%;
}

/*フォーム*/

.wpcf7-submit {
	font-size: 18px;
	font-weight: bold;
	color: #fff !important;
	padding: 0.5em 0.5em !important;
	border: none;
	/*border-radius: 40px;*/
    background: linear-gradient(to right, #02207F 0%, #20DAF7 50%, #02207F 100%);
    background-position: 0 50%;
    background-size: 200% auto;
    transition: background-position 0.5s ease-in-out;
}

.wpcf7-submit:hover {
	background-position: 100% 50%;
}

.tel {
	font-size:clamp(1.875rem, 1.42rem + 2.27vw, 3.125rem);
	margin-bottom: 0 !important;
}

.tel a {
	text-decoration: none;
}

@media screen and (min-width: 1023px){
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}
}

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
		.header-container {
		display:none;
	}
	.mobile-menu-buttons {
		flex-direction: row-reverse;
		height: 80px;
	}
	.mobile-menu-buttons .menu-button {
		justify-content:space-between;
		margin-left: 0em;
	}
	.logo-menu-button img {
		height:60px;
	}
	.appeal {
	background-attachment: fixed !important;
	}
	.container .column-wrap {
		gap:0em;
	}
	.appeal {
		height: 100lvh;
	}
	.appeal .appeal-in {
		min-height:100%;
	}
	
.mobile-header-menu-buttons.mobile-menu-buttons .menu-button {
  color: #fff;
  background-color: #02207f;
}

.logo-menu-button img {
	filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(108deg) brightness(104%) contrast(104%);
}
.business01>p,
.business02>p,
.business03>p,
.business04>p {
	font-size: 16px;
	}
}




/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/

}
/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/

}
