/*
Theme Name:stork19-child
Template:jstork19
Version: 2.3.2
*/
		/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
/* リセットCSS */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

body {
    line-height:1;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
    display:block;
}

nav ul {
    list-style:none;
}

blockquote, q {
    quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}

a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
	text-decoration: none;
}
	a:visited{
		text-decoration: none;
	}

/* change colours to suit your needs */
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}

/* change colours to suit your needs */
mark {
    background-color:#ff9;
    color:#000;
    font-style:italic;
    font-weight:bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}

table {
    border-collapse:collapse;
    border-spacing:0;
}

/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

input, select {
    vertical-align:middle;
}
/* リセットCSSここまで */

html:has(.header_set){
    font-size: 10px;
}
body:has(.header_set){
    font-size: 1.6rem;
}

html:has(.sp_cbtn){
    font-size: 10px;
}
body:has(.sp_cbtn){
    font-size: 1.6rem;
}

html:has(.f_contact){
    font-size: 10px;
}
body:has(.f_contact){
    font-size: 1.6rem;
}

html:has(.new_hf){
    font-size: 10px;
}
body:has(.new_hf){
    font-size: 1.6rem;
}

/* テキスト関係 */
body{
	line-height: 2 !important;
	color: #333333;
	font-family: 'Noto Sans JP', sans-serif;/* Noto Sans JP */
}

h2{
	font-size: 2em;
	font-weight: bold;
	line-height: 1.8;
}

h3{
	font-size: 1.5em;
	font-weight: bold;
	line-height: 1.8;
}

h4{
	font-size: 1em;
	font-weight: bold;
	line-height: 1.8;
}

p{
	font-size: 1em;
}

/*パンくずリスト*/
.arrowbc2 a:before{
	font-family: "Font Awesome 5 Free";
	content: '\f105';
	font-weight: 900;
	padding-right: 20px;
	color: #333333;
}

.arrowbc2 p:before{
	font-family: "Font Awesome 5 Free";
	content: '\f105';
	font-weight: 900;
	padding-right: 20px;
	color: #333333;
}

/*便利なCSS*/
/*スマホのみ改行する。*/
.pcnone{
	display: none !important;
}
/*パソコン・タブレットのみ改行する。*/
.spnone{
	display: block !important;
}
@media screen and (max-width:767px){
	/*パソコン・タブレットのみ改行する。*/
	.spnone{
	display: none !important;
}
	/*スマホのみ改行する。*/
	.pcnone{
	display: block !important;
}
}

/*お問い合わせフォーム*/
/*2カラム設定*/
.flexc{
	display: flex;
	justify-content: space-between;
}
.pair{
	width: 45%;
}
/*入力欄*/
.ccont{
	background-color: #EEEEEE !important;
	border: none !important;
}
/*入力欄説明*/
.ctext{
	display: block;
    font-size: 1.2rem;
    color: #000000;
    margin: 0px 0px 30px 0px;
}
/*入力の際のテキスト*/
.ctext input{
    font-weight: normal;
}
/*テキストエリアのテキスト*/
.ctext textarea{
    font-weight: normal;
}
/*プライバシーポリシーのテキスト*/
.pptext{
	color: #000000;
    font-weight: bold;
    display: block;
    margin-bottom: 10px;
}
/*プライバシーポリシーのリンク設定*/
.ppa{
	display: block;
    color: #000000;
	margin: 0px 0px 20px 30px;
	border-bottom: solid 1px #FFFFFF;
}
.ppa:hover{
	border-bottom: solid 1px #000000;
}
/*個人情報確認&ボタンセット*/
.matsu{
	text-align: right;
}
/*送信ボタン*/
.wpcf7-submit{
	display: inline-block;
	color: #E50A12 !important;
    font-size: 1.5rem;
    font-weight: bold !important;
    background-color: #FFFFFF !important;
	border: 1px solid #E50A12 !important;
    margin: 10px 0px 0px 0px;
	transform: 0.5s;
}
.wpcf7-submit:hover{
    background-color: #EEEEEE !important;
}
@media screen and (max-width:767px){
	/*2カラムを解除*/
	.flexc{
	display: block;
}
	.pair{
	width: 100%;
}
}

/*よくあるご質問のQとA*/
#question .elementor-toggle-title:before{
	content: '';/*何も入れない*/
		    display: block;/*忘れずに！*/
		    width: 60px;/*画像の幅*/
		    height: 60px;/*画像の高さ*/
		    background-image: url("img/ico_q.png");
		    background-size: contain;
			background-repeat: no-repeat;
		    vertical-align: middle;
			margin-bottom: 20px;
}
#question .elementor-tab-content:before{
	content: '';/*何も入れない*/
		    display: block;/*忘れずに！*/
		    width: 60px;/*画像の幅*/
		    height: 60px;/*画像の高さ*/
		    background-image: url("img/ico_a.png");
		    background-size: contain;
			background-repeat: no-repeat;
		    vertical-align: middle;
			margin-bottom: 20px;
}

@media screen and (max-width:767px){

#question .elementor-toggle-title:before{
	margin: 0 auto 10px;
    width: 50px;

}
#question .elementor-tab-content:before{
	margin: 0 auto 10px;
    width: 50px;
}
}

.keiko{
    background:linear-gradient(transparent 60%, #ff6 60%);
}

.tcc{
    color:  #FF0000;
}

.ast-main-footer-wrap{
	display: none;
}

#page-top .pt-button {
	display: none !important;}

html {
  height: 100%;
}
body {
  min-height: 100%;
  display: flex;
  flex-direction: column;
}
#content {
  flex: 1;
}

/*ブログ調整用*/
.cat-name {
  background-color: #023F73 !important;

}

.span__stk_maker_blue {
    background-image: linear-gradient(to right, rgba(255, 255, 255, 0) 50%, #FCC800 50%);
}


/*全ページ*/
/* パンくずリスト区切り線 */
.kugiri{
    display: inline-block;
width: 80px;
height: 1px;
background-color: #000000;
}

.pankuzu_f a,.pankuzu_f p{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0px 15px;
}

@media screen and (max-width:767px){
    .kugiri{
width: 40px;
}
.pankuzu_f a,.pankuzu_f p{
    gap: 0px 10px;
}
}

/*スクロールでラインを引く*/
.action_line{
    position: relative;
}

.top_border{
    width: 0%;
    height: 1px;
    background-color: #FCC800;
    transition: 2s;
}

.bottom_border{
    width: 0%;
    height: 1px;
    background-color: #FCC800;
    transition: 2s;
}

.isAnimate{
    width: 100% !important;
    transition: 2s;
}

.isAnimate2{
    background-size: 100% 100% !important;
    transition: 0.4s;
}

/*上下左右中央に寄せる*/
.p_tlc{
    position: absolute !important;
    top:50%;
    left:50%;
    transform: translate(-50%, -50%);
}

/* 画像をコンテンツの高さに合わせる。 */
.fit_img{
    object-fit: cover;
    height: 100% !important;
}

.ll_m{
    width: 100%;
}

.start_border {
    width: 0%;
    height: 1px;
    background-color: #FCC800;
    transition: 2s;
}

/* 右側へ寄せるデザインまとめ */
.yose .elementor-element-7f1c95a:not(.zyogai){
    width: calc(100% - (50% - 600px)) ;
}

.yose .elementor-element-a6ae227:not(.zyogai){
    width: calc(100% - (50% - 600px)) ;
}

@media screen and (max-width:1280px){
		   .yose .elementor-element-7f1c95a:not(.zyogai){
    width: 100% !important;
}
.yose .elementor-element-a6ae227:not(.zyogai){
    width: 100% !important;
}
.navi_set {
    padding-right: 50px;
}
}

/*テキスト装飾セット*/
.font_b{
    font-weight: bold;
}

.color_red{
    color: #023F73;/* 2508：紺色に変更 */
}

.list_r{
    list-style-type: disc;
    margin-left: 1.6em;
}

.f_size{
    font-size: 1.3em;}

.line_red{
    background:linear-gradient(transparent 70%, #FFE992 60%);/* 2508：黄色に変更 */
  background-repeat: no-repeat;
  background-size: 0% 100%;
  transition: 0.4s;
}

.line_white{
  background:linear-gradient(transparent 70%, #FFE992 60%);/* 2508：黄色に変更 */
  background-repeat: no-repeat;
  background-size: 0% 100%;
  transition: 0.4s;
}

.font_size1{
    font-size: 1.1em;
}

.font_size2{
    font-size: 1.5em;
}

.color_white{
    color: #023F73;/* 2508：紺色に変更 */
}

.bgc_red {
    padding: 7px 10px 0px 10px;
    background-color: #FCC800;/* 2508：黄色に変更 */
}

@media screen and (max-width:1024px){

.bgc_red{
    display: inline-block;
    padding: 5px 10px 0px 10px;
}
}

@media screen and (max-width:767px){
    .spfont_n{
    font-weight: normal !important;
}
}

/*動く〇矢印*/
.p_lc{
    position: absolute !important;
    bottom: -42px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

	.p_lc .st0{fill:#F6F8F9 !important;}
	.p_lc .st1{fill:none;stroke:#023F73;stroke-miterlimit:10;}
	.p_lc .st2{fill:none;stroke:#FCC800;stroke-width:0.75;stroke-linecap:square;stroke-miterlimit:10;}

/*SP版横スクロール調整*/
@media screen and (max-width:767px){
.hyou1{
    overflow: scroll !important;

}

.hyou1::-webkit-scrollbar {
  background: repeating-linear-gradient(#fff, #fff 1px, #023F73 2px, #fff 1px);
  width: 0px;
  height: 3px;
}
.hyou1::-webkit-scrollbar-thumb {
  background-color:#023F73;

}
}

/*TOPページ*/
/*メインビジュアルスライド*/
.scatchs div {
    /*fedeアニメーションは必要ないため透過を無しにする*/
    opacity: 1 !important;
  }

  .swiper-slide .catch_box,
  .swiper-slide .catch_box img {
    /*切り替わり中は前のスライドのアニメーションを遅らせる*/
    transition-delay: 0.5s;
  }

  .swiper-slide .catch_box {
    transform: translateX(-100%);
    overflow: hidden;
  }

  .swiper-slide .catch_box img {
    transform: translateX(100%);
    margin-bottom: -10px;
  }

  .swiper-slide-active {
    /*アクティブなスライドが一番上に来るように*/
    z-index: 2;
  }

  .swiper-slide-active .catch_box,
  .swiper-slide-active .catch_box img {
    transition-delay: 0s;
    transition-duration: 0.5s;
    transform: translateX(0%);
  }

/*MENUホバー関係*/
  .m_img_waku1,
  .m_img_waku2,
  .m_img_waku3,
  .m_img_waku4{
      overflow: hidden;/* 枠内からはみ出たものを非表示に変更 */
  }
  .m_img_waku1 img,
  .m_img_waku2 img,
  .m_img_waku3 img,
  .m_img_waku4 img{
      width: 100%;;
      height: 350px;
      object-fit: cover;/* 画像の縦横比率を維持しつつ、はみ出た部分を非表示にする */
      transition:1s all;/* 小さくなる時間を指定する */
  }
  .js-hover img{
    transform:scale(1.2,1.2);/* ズーム率を指定する */
    transition:1s all;/* 大きくなる時間を指定する */
  }

/*左から右へ背景色が変化するボタン*/
  .left_right_btn{
    position: relative;
    width: 100%;
    padding: 10px;
    display: flex;
    text-align: center;
    background: #fff;
    font-size: 1.6rem;
    letter-spacing: 0.1rem;
  }

  .btn-text{
    width: 100%;
    color: #023F73;/* 2508：紺色に変更 */
    z-index: 10;
  }

  .btn-text:before{
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left:0;
    width: 0;
    display: block;
    background: #FCC800;/* 2508：黄色に変更 */
    z-index: -1;
    transition: 0.7s;
  }

  .btn-text:hover{
    color: #023F73;/* 2508：紺色に変更 */
  }

  .btn-text:hover:before{
    width: 100%;
      padding: 10px;
  }

  @media screen and (max-width:1024px){
    .left_right_btn{
  font-size: 1.2rem;
}

}

@media screen and (max-width:767px){
    .left_right_btn{
  font-size: 1rem;
}

.btn-text {
    font-size: 1.2rem;
}
}

/*施工実績カード*/
.p_tbc{
    position: absolute !important;
    top: 50%;
    left: 0%;
    transform: translateY(-50%);
}

.slidechosei {
    width: 100%;
}
  .news_card{
    /* スライドのサイズを調整、中身のテキスト配置調整、背景色 */
    background-color: #ffffff;
    padding: 0px 0px 0px 0px;
    border: 1px solid #cccccc;
    height: auto !important;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;

  }

  .news_card .seko_link{
    overflow: hidden;/* 枠内からはみ出たものを非表示に変更 */
    aspect-ratio: 430 / 340;/* 画像サイズの比率を指定 */
  }

.image_cut {
    width: 100%;;
    object-fit: cover;/* 画像の縦横比率を維持しつつ、はみ出た部分を非表示にする */
    transition:1s all;/* 小さくなる時間を指定する */
    aspect-ratio: 430 / 340;/* 画像サイズの比率を指定 */
}
.news_card a:hover .image_cut{
  transform:scale(1.2,1.2);/* ズーム率を指定する */
  transition:1s all;/* 大きくなる時間を指定する */
}

  .parent_link {
    height: 100%;
    display: flex !important;
    flex-direction: column;
    justify-content: flex-start;
    gap: 20px 0px;
    padding-bottom: 30px;
}

.gaiyo {
    padding: 0px 20px;
}

.info_set {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: 10px;
    font-weight: bold;
    padding-bottom: 20px;
}
.info_set .date {
    font-size: 1.5rem;
    color: #333333;
    font-family: 'Barlow';
}
  .info_set .category {
    padding: 0px 15px;
    background-color: #ffffff;
    border: 1px solid #023F73;/* 2508：紺色に変更 */
    border-radius: 100px;
    color: #023F73;/* 2508：紺色に変更 */
    font-size: 1.3rem;
}
.news_card .title {
    font-size: 1.5rem;
    color: #000000;
    letter-spacing: 0.1rem;
    display: inline;
    transition:0.4s all;/* 大きくなる時間を指定する */
    background-image: url(/wordpress/wp-content/uploads/2025/10/blue.jpg);/* 2508：紺色に変更 */
    background-size: 0% 1%;
    background-position: left bottom;
    background-repeat:no-repeat
}

/* 一覧ボタン */
.circle_border_fb_list {
    width: 80px;
    height: 80px;
    border: 1px solid#023F73;/* 2508：紺色に変更 */
    border-radius: 100%;
    position: relative;/* 下記absolute枠内での判定に変える */
    display: flex;/* beforeの内容を中央中央の設定にする */
    align-items: center;
    justify-content: center;
}

.circle_border_fb_list::before {
    content: "";
    width: 105%;
    height: 10px;
    background: #ffffff;/*  背景と同じ色にする */
    position: absolute;/* 枠からはみ出して色を塗る */
    transition: transform 1s;
}

  .circle_border_fb_list:hover::before {
  transition: transform 1s;
    transform: rotate(90deg) ;/* 回転 */
  }

  .circle_border_fb_list img{
      width: 20px;
    position: absolute;/* アイコンを左右中央に載せる */
    top:50%;
    left:50%;
    transform: translate(-50%, -50%);
}

.gray::before {
    background: #F7F8FA !important;/*  背景と同じ色にする */
}

.list_btn_set div{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0px 15px;
}

p.txt{
    font-size: 1.5rem;
    font-weight: bold;
    color: #000000;
    background-image: url(/wordpress/wp-content/uploads/2025/10/blue.jpg);/* 2508：紺色に変更 */
    background-size: 0% 1%;
    background-position: left bottom;
    background-repeat:no-repeat;
    transition:0.4s all;/* 大きくなる時間を指定する */
}


.list_btn_set:hover .circle_border_fb_list::before {
    transition: transform 1s;
      transform: rotate(90deg) ;/* 回転 */
    }

.list_btn_set:hover p.txt{
    color: #023F73;/* 2508：紺色に変更 */
    background-size: 100% 1%;
    transition:0.4s all;
}



@media screen and (max-width:767px){
    .circle_border_fb_list {
        width: 40px;
        height: 40px;
    }

    .circle_border_fb_list img {
        width: 13px;
    }
    }

/* プログレスバー＆ナビボタン位置調整 */
.navi_set {
    position: relative;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    max-width: 1200px;
    padding-top: 65px;
}

.navi_buttonset{
    position: relative;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    gap: 10px;
}

/* プログレスバーの位置を下に移動 */
.swiper-horizontal > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal {
  bottom: 0;
  top: auto !important;
  height: 3px !important;
  background: repeating-linear-gradient(#fff,  #fff 1px, #023F73 2px, #fff 1px);/* 2508：紺色に変更 */
  width: 80% !important;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: #023F73 !important;/* 2508：紺色に変更 */
}

.swiper-pagination-progressbar {
    position: static !important;
}

/* swiper-スワイパーのナビ装飾をリセットする- */
.swiper-button-prev,.swiper-button-next {
    position: static !important;
    cursor: pointer !important;
    width: auto !important;
    height: auto !important;
    display: block !important;
    color: #000000 !important;
    background-image: none !important;
    top: auto !important;
    bottom:30px !important;
}

.swiper-button-next:after, .swiper-button-prev:after {
    font-family: initial !important;
    font-size: initial !important;
    content: none !important;
}

.swiper-button-prev {
    left: 80% !important;
}

.swiper-button-next {
    right: 0% !important;
}

/* 歯車のように回るボタン */
.circle_border {
    width: 45px;
    height: 45px;
    border: 1px solid #023F73;/* 2508：紺色に変更 */
    border-radius: 100%;
    position: relative;/* 下記absolute枠内での判定に変える */
    display: flex;/* beforeの内容を中央中央の設定にする */
    align-items: center;
    justify-content: center;
}

.circle_border::before {
    content: "";
    width: 110%;
    height: 10px;
    background: #F7F8FA;/* 枠からはみ出して色を塗る背景の色と同じ色を指定 */
    position: absolute;/* 枠からはみ出して色を塗る */
    transition: transform 1s;
}

  .circle_border:hover::before {
  transition: transform 1s;
    transform: rotate(90deg) ;/* 回転 */
  }

  .icoset img{
    width: 14px;
    position: absolute;/* アイコンを左右中央に載せる */
    top:50%;
    left:50%;
    transform: translate(-50%, -50%);
}

/* 画像サイズ指定 */
.img_waku {
    aspect-ratio: 430 / 340;/* 画像サイズの比率を指定 */
    overflow: hidden;/* 枠内からはみ出たものを非表示に変更 */
}
.img_waku img {
    width: 100%;;
    aspect-ratio: 430 / 340;/* 画像サイズの比率を指定 */
    object-fit: cover;/* 画像の縦横比率を維持しつつ、はみ出た部分を非表示にする */
    transition:1s all;/* 大きくなる時間を指定する */
}

/* TB以下の設定 */
@media screen and (max-width:1024px){
    .navi_set {
        padding-right: 30px;
    }
    }


    @media screen and (max-width:767px){

    .img_waku {
        aspect-ratio: 180 / 150;
    }

    .img_waku img {
        width: 100%;
        aspect-ratio: 180 / 150;
    }

    .gaiyo {
        padding: 0px 10px;
    }

    .lh_c {
        line-height: 1.5;
    }

    .info_set {
        gap: 8px;
        padding-bottom: 5px;
    }

    .info_set .date {
        font-size: 1rem;
    }

    .info_set .category {
        font-size: 1rem;
        padding: 0px 10px;
        line-height: 2.5;
    }

    .news_card .title {
        font-size: 1.2rem;
    }

    .circle_border {
        width: 35px;
        height: 35px;
    }

    .navi_buttonset {
        padding-top: 15px;
    }

    .swiper-horizontal > .swiper-pagination-progressbar, .swiper-pagination-progressbar.swiper-pagination-horizontal {
        width: 100% !important;
    }

    .navi_set {
        padding-right: 20px;
        padding-top: 30px;
    }

    }

    .sp_naviset {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: space-between;
        padding: 10px 20px 10px 0px;
        align-items: center;
    }

    .sp_naviset span {
        font-family: 'Barlow';
        font-style: italic;
        font-weight: 100;
        font-size: 4rem;
        color: #BED5E9;/* 2508：濃い水色に変更 */
    }

    .sp_naviset h2 {
        font-size: 2.4rem;
        font-weight: normal;
        margin-top: -25px;
        letter-spacing: 0.1em;
    }





/* ホバーアクションまとめ */
/* 画像拡大 */
.parent_link:hover .img_waku img{
  transform:scale(1.2,1.2);/* ズーム率を指定する */
  transition:1s all;/* 大きくなる時間を指定する */
}

/* 文字色変更・ボーダー追加 */
.parent_link:hover .title{
    color:#023F73;/* 2508：紺色に変更 */
    background-size: 100% 1%;/* ボーダーの幅、長さを指定する */
    transition:0.4s all;/* 大きくなる時間を指定する */
  }


/* 会社案内 */
/* 矢印付き左から右へ色が変わるボタン */

/*お知らせ一覧カード*/
.newscard .elementor-widget-container{
    overflow: hidden !important;/* 枠内からはみ出たものを非表示に変更 */
}
.newscard .n_img_waku img {
    width: 100%;
    height: 300px;
    object-fit: cover;/* 画像の縦横比率を維持しつつ、はみ出た部分を非表示にする */
    transition:1s all;/* 小さくなる時間を指定する */
}

.newscard:hover img{
    transform:scale(1.2,1.2);/* ズーム率を指定する */
    transition:1s all;/* 大きくなる時間を指定する */
  }

.newscard h3{
    display: inline !important;
    transition:0.4s all;/* 大きくなる時間を指定する */
    background-image: url(/wordpress/wp-content/uploads/2025/10/blue.jpg);/* 2508：紺色に変更 */
    background-size: 0% 3%;
    background-position: left bottom;
    background-repeat:no-repeat
  }


  .newscard:hover h3{
    color:#023F73 !important;/* 2508：紺色に変更 */
    background-size: 100% 3%;/* ボーダーの幅、長さを指定する */
    transition:0.4s all;/* 大きくなる時間を指定する */
  }



/*サイドメニュー*/
  .side_list h5{
    padding: 10px 20px;
    margin-bottom: 30px;
    border-left: 1px solid #FCC800;/* 2508：黄色に変更 */
    font-size: 2rem;
    letter-spacing: 0.1em;
}

.side_list ul{
    padding-left: 20px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px 0px;
}

.side_list li {
    display: inline;
    font-size: 1.6rem;
    letter-spacing: 0.1em;
    color: #7c7c7c;
    background-image: url(/wordpress/wp-content/uploads/2025/10/blue.jpg);/* 2508：紺色に変更 */
    background-size: 0% 3%;
    background-position: left bottom;
    background-repeat:no-repeat;
    transition:0.4s all;/* 大きくなる時間を指定する */

}

.side_list a {
    color: #7c7c7c;
}

.side_list li:hover {
    background-size: 100% 3%;
    transition:0.4s all;/* 大きくなる時間を指定する */
    color: #023F73;/* 2508：紺色に変更 */
}

.side_list li:hover a{
   color: #023F73;/* 2508：紺色に変更 */
   transition:0.4s all;
}
.kizilist li{
    margin-bottom: 15px;
}

.kizilist a{
    display: inline;
    font-size: 1.6rem;
    letter-spacing: 0.1em;
    color: #000000;
    background-image: url(/wordpress/wp-content/uploads/2025/10/blue.jpg);/* 2508：紺色に変更 */
    background-size: 0% 3%;
    background-position: left bottom;
    background-repeat:no-repeat;
    transition:0.4s all;/* 大きくなる時間を指定する */
}

.kizilist .date{
    font-size: 1.3rem;
    color: #7c7c7c;
    transition:0.4s all;
}

.kizilist a:hover{
    color: #023F73;/* 2508：紺色に変更 */
    background-size: 100% 3%;
    transition:0.4s all;/* 大きくなる時間を指定する */
}

.kizilist a:hover .date{
    color: #023F73;/* 2508：紺色に変更 */
    transition:0.4s all;
}

/*モアレスボタン*/
.jet-filter-items-moreless{
    position: relative;
    width: 60%;
    display: flex;
    text-align: center;
    background: #fff;
    margin-top: 30px;
    padding: 0px !important;
  }

.jet-filter-items-moreless__toggle {
    display: flex !important;
    width: 100%;
    color: #023F73;/* 2508：紺色に変更 */
    z-index: 10;
    flex-direction: column;
    align-items: center;
    transition: 0.7s;
    padding: 5px 20px !important;
    border: 1px solid #023F73;/* 2508：紺色に変更 */
}

  .jet-filter-items-moreless__toggle:before{
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left:0;
    width: 0;
    display: block;
    background: #023F73;/* 2508：紺色に変更 */
    z-index: -1;
    transition: 0.7s;
  }

  .jet-less-btn {
    color: #7C7C7C !important;
    border: 1px solid #7C7C7C;
}

  .jet-less-btn:before{
    background: #7C7C7C;
  }

  .jet-filter-items-moreless__toggle:hover{
    color: #fff !important;
  }

  .jet-filter-items-moreless__toggle:hover:before{
    width: 100%;
      padding: 10px;
  }

  @media screen and (max-width:1280px){
    .jet-filter-items-moreless{
        width: 100%;
      }
  }

  @media screen and (max-width:1024px){
    .jet-filter-items-moreless{
        width: 30%;
      }
  }

  @media screen and (max-width:767px){
    .jet-filter-items-moreless{
        width: 100%;
      }
  }

  .l_sidelist .fa-check:before {
    content: "\f111" !important;
}

/*メインコンテンツ*/

.post_contents_txt a{
    display: inline;
    color: #023F73;/* 2508：紺色に変更 */
    border-bottom: solid 1px;
    transition:0.4s all;/* 大きくなる時間を指定する */
    background-image: url(/wordpress/wp-content/uploads/2025/10/blue.jpg);/* 2508：紺色に変更 */
    background-size: 0% 3%;
    background-position: left bottom;
    background-repeat:no-repeat
}

.post_contents_txt a:hover{
    color: #023F73;/* 2508：紺色に変更 */
    border-bottom: solid 1px #ffffff00;
    transition:0.4s all;/* 大きくなる時間を指定する */
    background-size: 100% 3%;
}


/*ページネーション*/
    /* 歯車のように回るボタンの作り方 */
    .prev-next .jet-filters-pagination__link {
        width: 45px;
        height: 45px;
        border: 1px solid #023F73;/* 2508：紺色に変更 */
        border-radius: 100%;
        position: relative;/* 下記absolute枠内での判定に変える */
        display: flex;/* beforeの内容を中央中央の設定にする */
        align-items: center;
        justify-content: center;
    }

    .prev-next .jet-filters-pagination__link::before {
        content: "";
        width: 110%;
        height: 10px;
        background: #ffffff;/*  背景と同じ色にする */
        position: absolute;/* 枠からはみ出して色を塗る */
    }

    .prev-next .jet-filters-pagination__link:hover::before {
      transition: transform 1s;
        transform: rotate(90deg) ;/* 回転 */
      }

    .prev-next .jet-filters-pagination__link img{
        width: 14px;
        position: absolute;/* アイコンを左右中央に載せる */
        top:50%;
        left:50%;
        transform: translate(-50%, -50%);
    }

/*施工実績一覧*/
.l_sidelist .jet-radio-list__button {
    transition:0.4s all;
    /* background-image: url(/wordpress/wp-content/uploads/2025/07/blue.jpg);
    background-size: 0% 3% ;
    background-position: left bottom;
    background-repeat:no-repeat */
}

.l_sidelist .jet-radio-list__input:hover ~ .jet-radio-list__button {
    transition:0.4s all;
    /* background-image: url(/wordpress/wp-content/uploads/2025/07/blue.jpg);
    background-size: 0% 3% ;
    background-position: left bottom;
    background-repeat:no-repeat */
    color: #023F73 !important;/* 2508：紺色に変更 */
}

.l_sidelist .jet-radio-list__input:checked ~ .jet-radio-list__button {
    transition:0.4s all;
    /* background-image: url(/wordpress/wp-content/uploads/2025/07/blue.jpg);
    background-size: 0% 3% ;
    background-position: left bottom;
    background-repeat:no-repeat */
    color: #023F73 !important;/* 2508：紺色に変更 */
}

.s_sidelist .apply-filters__button,.list_back_btn a {
    transition:0.4s all;
    /* background-image: url(/wordpress/wp-content/uploads/2025/07/blue.jpg);
    background-size: 0% 3% ;
    background-position: left bottom;
    background-repeat:no-repeat */
}

.s_sidelist .apply-filters__button:hover,.list_back_btn a:hover{
    transition:0.4s all;/* 大きくなる時間を指定する */
    background-size: 100% 3% ;
}

.side_list .current-cat, .side_list .current-cat a{
    color: #023F73;/* 2508：紺色に変更 */
}

.jet-radio-list__checked-icon{
    background-color: #023F73;/* 2508：紺色に変更 */
    width: 10px;
    height: 10px;
    border-radius: 100px;
}

@media screen and (max-width:1024px){
.jet-radio-list__checked-icon{
    width: 18px;
    height: 18px;
}
}



/*施工実績一覧&ニュース一覧SP版*/

@media screen and (max-width:767px){
    .newscard .n_img_waku img {
        width: 100%;
        height: auto;
        aspect-ratio: 157 / 168;/* 画像サイズの比率を指定 */
        object-fit: cover;/* 画像の縦横比率を維持しつつ、はみ出た部分を非表示にする */
        transition:1s all;/* 小さくなる時間を指定する */
    }
    .n_line .elementor-widget-container{
        line-height: 1.5em;
    }

    .side_list h5 {
        display: none;
    }

    .side_list ul {
        padding-left: 0px;
        flex-direction: row;
        gap: 10px 15px;
        flex-wrap: wrap;
    }

    .side_list li {
        border-bottom: 1px solid;
        font-size: 1.3rem;
    }

    .side_list li:hover {
        color: #023F73;/* 2508：紺色に変更 */
        transition:0.4s all;
        border-bottom: 1px solid #ffffffff;
     }

    .kizilist .date,.kizilist .title_l {
        border-bottom: 1px solid

    }
    .kizilist .date:hover,.kizilist .title_l:hover {
        border-bottom: 0px solid

    }
    .navi_set {
        align-items: center;
        gap: 25px;
        flex-direction: column;
    }

  }

/*お問い合わせ*/
.form_set{
    font-family: "Noto Sans JP";
    font-size: 1.6rem;
    font-weight: bold;
    letter-spacing: 0.5px;
}

.form_set .wpcf7-form{
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 20px 0px;
}

.form_set p{
    margin-bottom: 10px !important;
}

.txt .txt_box{
    border:solid 1px #dddddd;
    background-color: #f6f8f9;
    padding: 15px 20px;
    width: 100%;
    font-size: 1.6rem;
}

.select select{
    border:solid 1px #dddddd;
    background-color: #f6f8f9;
    padding: 15px 20px;
    width: 70%;
    font-size: 1.6rem;
}

.check_flex {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: flex-start;
    gap: 50px 100px;
    flex-wrap: wrap;
}

/* チェックボックスを非表示にする */
.pp_flex{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap:10px 0px
}
.check_flex input[type="checkbox"] {
  display: none;
}
.checkmark {
    display: flex;
    margin-right: 5px;
    height: 26px;
    width: 26px;
    border: 1px solid #dddddd;
    background-color: #fff;
    justify-content: center;
    align-items: center;
}

/* オリジナルチェックボックスのスタイルを作成 */
.check_flex .checkmark i {
    font-size: 1.4rem;
    color: #ffffff00;
}
/* 選択したらアイコンを黒にする */
.check_flex input:checked ~ .checkmark i {
  color: #023F73;/* 2508：紺色に変更 */
}

.check{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
}

.wpcf7-list-item {
    display: inline-block;
    margin: 0;
}

.txt textarea {
    font-family: "Noto Sans JP";
    line-height: 2em;
    height: 320px;
}


.pp_flex a{
    display: inline;
    color: #000000;
    border-bottom: solid 1px;
    transition:0.4s all;/* 大きくなる時間を指定する */
    background-image: url(/wordpress/wp-content/uploads/2023/11/bgi_red.jpg);
    background-size: 0% 3%;
    background-position: left bottom;
    background-repeat:no-repeat
}

.pp_flex a:hover{
    color: #023F73;/* 2508：紺色に変更 */
    border-bottom: solid 1px #ffffff00;
    transition:0.4s all;/* 大きくなる時間を指定する */
    background-size: 100% 3%;
}

.btn_flex {
    position: relative;
    width: 320px;
    margin: 90px auto 0px auto;
}

.submit_btn{
    width: 100%;
    background-color: #CA000400;
    border: none;
    color: #023F73;/* 2508：紺色に変更 */
    padding: 15px;
    font-size: 1.6rem;
    letter-spacing: 0.1em;
    font-weight: bold;
    transition: 0.4s;
    cursor : pointer;
}
.sb_btn{
    transition: 0.4s;
    cursor : pointer;
}

.sb_btn::before {
    content: "";
    display: inline-block;
    background-image: url(/wordpress/wp-content/uploads/2025/10/menu_arrow_red.svg);/* 2508：紺色に変更 */
    width: 15px;
    height: 6px;
    position: absolute;
    top: 30%;
    right: 40px;
    transform: translateY(-50%);
}

.sb_btn::after{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
   width: 320px;
	height: 55px;
	background-color:#FCC800;/* 2508：黄色に変更 */
	transform: skew(-30deg);
}

.cont_btn:hover::after{
	      transition:1s all;
}

.sb_btn:hover{
    opacity: 0.8;
    transition: 0.4s;

}

.wpcf7-spinner {
    position: absolute;
}

/* オリジナルselectselectアイコン */
.form_set select {
  -webkit-appearance: none;
  appearance: none; /* デフォルトの矢印を無効 */
}
.form_set select::-ms-expand {
  display: none; /* デフォルトの矢印を無効(IE用) */
}

.select select {
    background-image: url(/wordpress/wp-content/uploads/2023/12/form_arrow.svg);
    background-repeat: no-repeat;
    background-position: right 20px center;
}

@media screen and (max-width:767px){
    .form_set{
        font-size: 1.3rem;
        letter-spacing: 0.1em;
    }
    .form_set .wpcf7-form {
        gap: 16px 0px;
    }
    .select select {
        width: 100%;
    }
    .check_flex {
        justify-content: flex-start;
    }
    .btn_flex {
        width: 90%;
    }
    .sb_btn::after {
        width: 100%;
        transform: skew(-10deg);
    }
    .txt textarea {
        height: 220px;
    }
    .btn_flex {
        margin: 45px auto 0px auto;
    }
}

/* カビ除去施工 */
.a_lists {
    display: flex;
    justify-content: center;
    align-items: center;
        text-align: center;
    min-height: 82px;
    position: relative;
    padding: 10px;
    border-radius: 5px;
    background-color: #fff;
    border: 1px solid #dae1e5;
    color: #777777;
    font-size: 1.6rem;

    letter-spacing: 0.1em;
    transition: 0.4s;

}

.a_lists:before {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    height: 0;
    width: 0;
    border-style: solid;
    border-color: transparent;
    border-top-color: #DAE1E5;
    border-width: 8px;
    content: "";
    transition: 0.4s;
}

.a_lists:hover {
    background-color: #023F73;/* 2508：紺色に変更 */
    border: 1px solid #023F73;/* 2508：紺色に変更 */
    color: #fff;
    transition: 0.4s;
}

.a_lists:hover:before {
    border-top-color: #023F73;/* 2508：紺色に変更 */
    border-width: 8px;
    content: "";
    transition: 0.4s;
}

@media screen and (max-width:767px){
    .a_lists {
    background-color: #F6F8F9;
    line-height: 1.5em;
    min-height: 66px;
    padding: 5px 1px;
    border-radius: 5px;
    border: 1px solid #dae1e5;
    color: #777777;
    font-size: 1.2rem;
    letter-spacing: 0.5px;
    transition: 0.4s;

}
}
@media screen and (max-width:767px){
    .spw_500{
        min-width: 500px !important;
    }
    }

/* 非常用発電機負荷試験 */
.text_c .elementor-widget-container{
    display: flex;
    justify-content: center;
    align-items: center;
}

/* ヘッダー */
/* ロゴ&トランジション調整 */
.h_logo a{
    transition: 0.5s;
}
.h_logo a:hover{
    transition: 0.5s;
    opacity: 0.5;
}

.btn_tr a{
    transition: 0.5s;
}

.btn_tr a:hover{
    transition: 0.5s;
}

/* メガメニューのサイズ＆位置調整 */
.menu_linkset,
.mega_100,
.mega_100 .jet-mega-menu-container,
.mega_100 .jet-menu{
    position: static !important;
}

.jet-sub-mega-menu {
    background-color: transparent !important;
    -webkit-box-shadow: none !important;
    box-shadow: none!important;
    top: 75px !important;
}

.jet-dropdown-arrow{
    display: none !important;
}

.jet-menu {
    gap: 0px 50px;
}

.menu_linkset #jet-mega-menu-item-2291{
    position: static;
}

.menu_linkset .jet-mega-menu-mega-container{
    position: absolute;
    left: 50% !important;
    transform: translateX(-50%) !important;
}

.menu_linkset .jet-mega-menu-mega-container__inner{
    position: absolute;
    left: 50% !important;
    transform: translateX(-50%) !important;
    padding: 0 !important;
    background-color: transparent !important;
}

/* グローバルメニューをホバーでラインを左から右へ */
.jet-menu-item a{
    transition: 0.4s;
}

.menu_linkset .jet-menu-item:not(.jet-menu-item-4031) a::after{
     content: '';
  position: absolute;
  left: 0;
  bottom: 0px;/*テキストからの距離*/
  width: 0%;/*初期状態では下線非表示*/
  height: 1px;/*下線の高さ*/
  background: #023F73 !important;/*下線の色*//* 2508：紺色に変更 */
  z-index: 10;
  transition: all 0.4s;/*アニメーション速度*/
}

.menu_linkset .jet-menu-item a:hover::after{
  width: 100%;/*hover時に表示*/
}

/* サービス：ホバーでラインを左から右へ */
#jet-mega-menu-item-2291{
    transition:0.4s all;/* 大きくなる時間を指定する */
    background-image: url(/wordpress/wp-content/uploads/2025/10/blue.jpg);/* 2508：紺色に変更 */
    background-size: 0% 2%;
    background-position: left bottom;
    background-repeat:no-repeat
}

#jet-mega-menu-item-2291:hover{
    transition:0.4s all;/* 大きくなる時間を指定する */
    background-size: 100% 2%;
}

/* スクロールで色変更 */
.is-active .jet-menu-title{
    transition: 0.4s;
    color: #000000 !important;
}

.jet-menu-title{
    transition: 0.4s;
    color: #ffffff !important;
}

.kaso_fc .jet-menu-title{
    transition: 0.4s;
    color: #000000 !important;
}

.jet-menu-title:hover{
    transition: 0.4s;
    color: #023F73 !important;/* 2508：紺色に変更 */
}

/* フッター */
/* お問い合わせの画像＆ボタン */
.cont_img_waku {
    overflow: hidden;/* 枠内からはみ出たものを非表示に変更 */
    position: relative;
}
.big_img {
    width: 100%;
    height: 520px !important;
    object-fit: cover;/* 画像の縦横比率を維持しつつ、はみ出た部分を非表示にする */
    transition:1s all;/* 小さくなる時間を指定する */
}
.cont_btn{
    position: absolute;
    bottom:110px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    width: 360px;
	height: 55px;
	color: #023F73;/* 2508：紺色に変更 */
	text-decoration: none;
	transition:1s all;
    background-color:#CA000400;
    font-weight:bold;
}

.cont_btn::after{
    content: "";
    position: absolute;　
    top: 0;
    left: 0;
    z-index: -1;
   width: 360px;
	height: 55px;
	background-color:#FCC800;/* 2508：黄色に変更 */
	transform: skew(-30deg);
	      transition:1s all;
}

.cont_btn:hover{
	      opacity: 0.5;
}

.cb_ico{
    position: absolute;
    width: 13px !important;
    height: auto !important;
    right: 20px;
}
.cont_btn:hover + .big_img{
  transform:scale(1.2,1.2);/* ズーム率を指定する */
  transition:1s all;/* 大きくなる時間を指定する */
}

@media screen and (max-width:1024px){
    .big_img {
        height: 420px !important;
    }
}

@media screen and (max-width:767px){
    .big_img {
    height: 240px !important;
    object-fit: cover;/* 画像の縦横比率を維持しつつ、はみ出た部分を非表示にする */
    transition:1s all;/* 小さくなる時間を指定する */
}
.cont_btn{
    font-size: 1rem;
    bottom:45px;
    width: 230px;
	height: 40px;
}

.cont_btn::after{
    height: 40px;
   width: 230px;
	transform: skew(-10deg);

}
.cb_ico{
    position: absolute;
    width: 8px !important;
    height: auto !important;
    right: 20px;
}
}

/* Facebookボタン */
.circle_border_fb {
    width: 90px;
    height: 90px;
    border: 1px solid #FCC800;/* 2508：黄色に変更 */
    border-radius: 100%;
    position: relative;/* 下記absolute枠内での判定に変える */
    display: flex;/* beforeの内容を中央中央の設定にする */
    align-items: center;
    justify-content: center;
}

.circle_border_fb::before {
    content: "";
    width: 105%;
    height: 20px;
    background: #001018;/*  背景と同じ色にする */
    position: absolute;/* 枠からはみ出して色を塗る */
    transition: transform 1s;
}

  .circle_border_fb:hover::before {
  transition: transform 1s;
    transform: rotate(90deg) ;/* 回転 */
  }

  .icoset_fb i{
      font-size: 40px;
      color: #ffffff;
    position: absolute;/* アイコンを左右中央に載せる */
    top:50%;
    left:50%;
    transform: translate(-50%, -50%);
}

.fa-facebook-f:before {
    content: "\f39e" !important;
}

/* SP版メニュー修正 */
.pu_fb::before {
    background: #F6F8F9;/*  背景と同じ色にする */
}

.pu_fb i{
    color: #4a4a4a;
}

.jet-popup-action-button__instance{
    width: 45px;
    height:40px;
    background-image: url(https://gearmix.co.jp/blog/wp-content/uploads/2024/02/menu_close.svg);/* 2508：紺色に変更 */
}

/* 左から右へラインを引くリンク */
.line_lr .elementor-button{
    position: relative;
}
.line_lr .elementor-button::after{
     content: '';
  position: absolute;
  left: 0;
  bottom: -10px;/*テキストからの距離*/
  width: 0%;/*初期状態では下線非表示*/
  height: 1px;/*下線の高さ*/
  background: #FFE992!important;/*下線の色*//* 2508：黄色に変更 */
  z-index: 10;
  transition: all 0.4s;/*アニメーション速度*/
}

.line_lr .elementor-button:hover::after{
  width: 100%;/*hover時に表示*/
}
/* TOPボタンホバーで矢印が上に上がる */
.top_arrow{
    transition:0.5s all;/* 大きくなる時間を指定する */
    }

    #page-top:hover .top_arrow{
    padding-bottom: 12px;
    transition:0.5s all;/* 大きくなる時間を指定する */
    }
/* テキストを縦に回転させる */
    .txt_90deg{
        transform:rotate(90deg);}

/*便利なCSS*/
/* ブラウザ幅により、表示非表示を切り替えるCSS：クラス名一覧
◆パソコンのみ表示する
pconly
◆タブレットのみ表示する
tbonly
◆スマホのみ表示する
sponly
◆パソコン～タブレットのみ表示する
pctbonly
◆タブレット～スマホのみ表示する
tbsponly
◆パソコン・スマホのみ表示する
pcsponly
 */
/* パソコン幅 */
    /* パソコンのみ表示する */
    .npconly{
        display: none !important;
    }
    .pconly{
        display: block !important;
    }
    /* タブレットのみ表示する */
    .tbonly{
        display: none !important;
    }
    /* スマホのみ表示する */
    .sponly{
        display: none !important;
    }
    /* パソコン～タブレットのみ表示する */
    .pctbonly{
        display: block !important;
    }
    /* タブレット～スマホのみ表示する */
    .tbsponly{
        display: none !important;
    }
    /* パソコン・スマホのみ表示する */
    .pcsponly{
        display: block !important;
    }
    @media screen and (max-width:1024px){
        .npconly{
            display: block !important;
        }
    }
/* タブレット幅 */

@media screen and (max-width:1024px){
    /* パソコンのみ表示する */
    .pconly{
        display: none !important;
    }
    /* タブレットのみ表示する */
    .tbonly{
        display: block !important;
    }
    /* タブレット～スマホのみ表示する */
    .tbsponly{
        display: block !important;
    }
    /* パソコン・スマホのみ表示する */
    .pcsponly{
        display: none !important;
    }
}
/* スマホ幅 */
@media screen and (max-width:767px){
    /* タブレットのみ表示する */
    .tbonly{
        display: none !important;
    }
    /* スマホのみ表示する */
    .sponly{
        display: block !important;
    }
    /* パソコン～タブレットのみ表示する */
    .pctbonly{
        display: none !important;
    }
    /* パソコン・スマホのみ表示する */
    .pcsponly{
        display: block !important;
    }
}
