@charset "UTF-8";
/* CSS Document */

/*その他と主な共通部分は省略*/

@import "https://use.fontawesome.com/releases/v5.13.0/css/all.css";
.colors-e a, a.colors-e {
    color: #397AB7;
}

.btn,
a.btn,
button.btn {
  font-size: 1.2em;
  font-weight: 700;
  line-height: 1.5;
  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;
}

.btn-wrap-pc-sp {
  max-width: 435px;
  margin: 0 auto 20px;
}

a.btn-pc-sp {
  line-height: 1.4;

  width: 49.5%;
  padding: 1.25rem 0;

  color: #ffff;
}

a.btn--contact {
  display: block;

  padding: 1.5rem 0;

  color: #fff;
  background: #d20010;
  -webkit-box-shadow: 0 5px 0 #b9000e;
  box-shadow: 0 5px 0 #b9000e;
}

a.btn--contact i {
  font-size: 2rem;
}

a.btn--contact i.fa-position-left {
  font-size: 3rem;

  left: 2rem;
}

a.btn--contact:hover {
	color: #fff;
	background: #C00000 !important;
}

a.btn--tel {
  display: block;

  margin-top: 15px;
  padding: 1rem 0;

  color: #fff;
  background: #094;
  -webkit-box-shadow: 0 5px 0 #008039;
  box-shadow: 0 5px 0 #008039;
}

a.btn--tel i {
  font-size: 2rem;
}

a.btn--tel i.fa-position-left {
  font-size: 3rem;

  left: 2rem;
}

a.btn--tel .number {
  line-height: 1;

  display: inline-block;

  margin-top: 0.5rem;
  padding: 0.25rem 2rem;

  letter-spacing: 0;

  color: #094;
  border-radius: 0.5rem;
  background: #fff;
}

a.btn--tel:hover {
	color: #fff;
	background: #157600 !important;

}

.fa-position-left {
  position: absolute;
  top: calc(50% - 0.5em);
  left: 1rem;
}

.fa-position-right {
  position: absolute;
  top: calc(50% - 0.5em);
  right: 1rem;
}


.text-right{
	text-align: right !important;
}

.gyoukan{
	line-height: 1.2em; margin-top: 1.2em !important;
}

.colors_freezia{
	background: #F8F8F8 !important;
	color: #2e2e2e !important;
}


.colors_freezia_2{
	background: #006A31 !important;
	color: #FFF !important;
}

section#team h2{
	padding-top: 70px;
}

.top_bg{background: #efdfca; position: relative;}

.top_3{background: #495874; padding: 2%; line-height: 1.2em; color: #FFF; font-weight: bold; letter-spacing: 1px; display: inline-block;}

.top_3content{position: relative;}
.top_3box { position: absolute; right:0;  height: auto; width: 45%; text-align: right;}
.kadomaru{ border-radius: 17px;
border: 2px solid #2e2e2e;
padding:5% 3%;
text-align: center;}

.kaiketsu{margin-top: 50px; font-size: 3.5em; line-height: 1.2em; }

.bottom_30{margin-bottom: 40px;}
.bottom_40{margin-bottom: 40px;}
.bottom_50{margin-bottom: 50px;}

.top_caption{ font-size: 3.5em; letter-spacing: 1px; line-height: 1.2em; padding:5% 15% 5% 0;}
.top_caption_s{ font-size: 2em; letter-spacing: 1px; line-height: 1.2em;}

@media screen and (max-width: 767px) {
  .kaiketsu{ font-size: 1.2em !important; 
  }
	.top_caption{ font-size: 1.2em !important; padding:5% 15% 5% 0;}
	.top_caption_s{ font-size: 1em !important;}
	.top_3box { position: absolute; right:0;  height: auto; width: 50%; text-align: right;}
	.lead{padding:0 4%;}
	.md_hidden{display: none;}

}

@media screen and (min-width: 768px) {
	.sm_hidden{display: none;}
}

.skillbars .skillbar-title{ width: auto !important;}
.incut{ min-height: 700px !important;}

table{
	width: 92%;
	border-spacing: 0;
	margin:0 auto 50px;
	color: #2e2e2e !important;
}

table th{
	border-bottom: solid 2px #f8ad3a;
	line-height: 1.2em;
	padding: 10px 0;
}


table td{
  border-bottom: solid 2px #ddd;
  text-align: center;
  padding: 10px 0;
}


body,h1,h2,h3,h4,h5,h6 {
  font-family: "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
}

.colors-e .highlight, .colors-e .link, .colors-e.highlight, .colors-e.link{color: #f8ad3a}
.colors-h .highlight, .colors-h.highlight {color: #f8ad3a}

.colors-e .top-line:before {
    background-color: #006a31;
}

.background-60-d {background-color: #f8ad3a !important;}

.btn_storong{font-size: 1.2em !important; padding:5 6% !important;}

.simple li{
	text-align: left;
    font-size: 16px;
    margin-bottom: 10px;
    line-height: 24px;
	letter-spacing: 1.2px;}

.lead_left{text-align: left;}


.text-small{font-size: .7em;}

.btn_hidden{max-width: 600px; margin: 0 auto; border: 3px solid #006a31; padding:0 3% 8%; margin-top: 50px; }
h3{font-size: 1.3em; line-height: 1.2em; letter-spacing: 1.2px;}

.colors-e .gallery .filter .nav li a.active { background:#f8ad3a; color: #FFF; border-radius: 20px;/* 角丸指定 */ }

.hover-effect::after,.hover-effect::before
{content:'';}

.side-title{font-size: 1.4em !important; line-height: 1.2em; letter-spacing: 1px;}
.gallery .filter {padding: 8% 0 !important;}


/*スクロールデザイン*/

/*スクロールリンクの形状*/
.scroll-top {
  /*表示位置*/
  position: fixed;
  right: 20px;
  bottom: 10px;
  z-index: 2;
  /*はじめは非表示*/
  opacity: 0;
  visibility: hidden; 
  transition: opacity .5s, visibility .5s; /*それぞれに0.5秒の変化のアニメーション*/
  /*縦書き*/
  -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
  /*改行禁止*/
    white-space: nowrap;
  /*矢印の動き*/
  animation: arrowmove 1s ease-in-out infinite;
}

@keyframes arrowmove{
      0%{bottom:20px;}
      50%{bottom:25px;}
     100%{bottom:20px;}
 }


/*.scroll-viewクラスがついたら出現*/
.scroll-top.scroll-view {
  opacity: 1;
  visibility: visible;
}

/*リンク全体の aタグの形状*/
.scroll-top a {
  text-decoration: none;
  color: #f8ad3a;
  text-transform: uppercase;
  font-size:0.9rem;
    display: block;
}

/*スクロールリンクの形状*/

.js-scroll a::after{
  content:"";
  position: absolute;
  top:0;
  right:0;
  width:1px;
  height: 50px;
  background:#f8ad3a;
}

.js-scroll a::before {
    content: "";
    position: absolute;
    top: 30px;
    right: -6px;
    width: 1px;
    height: 20px;
    background: #f8ad3a;
    transform: skewX(-31deg);
}

/*Edge IE11 hack*/
_:-ms-lang(x), .js-scroll a::before{
  right:-11px;
}

/*ページトップリンクの形状*/

.js-pagetop a::after{
  content:"";
  position: absolute;
  top:0;
  right:0;
  width:1px;
  height: 50px;
  background:#f8ad3a;
}

.js-pagetop a::before {
    content: "";
    position: absolute;
    top: 0;
    right: -6px;
    width: 1px;
    height: 20px;
    background: #f8ad3a;
    transform: skewX(31deg);
}

/*Edge IE11 hack*/
_:-ms-lang(x), .js-pagetop a::before{
  right:0;
}

@media (max-width: 991px) {
    h2 {
        font-size: 55px !important;
        line-height: 60px !important;
    }
}


/*product 商品ページ用20250925*/

.py-4{ margin: 30px auto 100px;}

.py-4 h2{ font-size: 20px !important; letter-spacing: 1px; line-height: 1.2em !important;}
.py-4 h2 span.category_product{display:block; background: #C00000; padding: 2px; color: #FFFFFF; font-size: 12px; width: 150px; margin: 5px auto;}

@media (min-width: 768px) {
.py-4{ margin: 150px auto 100px;}
}

@media (min-width: 992px) {
.py-4{ margin: 80px auto 100px;}
}


.product-card{margin-top: 20px;}

  .product-card p {
    font-size: 0.95rem;
    color: #555;
    line-height: 1.5;
    margin-bottom: 15px;
  }

  .product-list {
  list-style: none; /* デフォルトの丸を消す */
  padding: 0;
  margin: 0;
  font-size: 0.95rem;
  color: #444;
}

.product-list li {
  padding: 6px 0; /* 上下の余白だけ */
  border-bottom: 1px solid #eee; /* 軽い区切り線 */
}

.product-list li:last-child {
  border-bottom: none; /* 最後の項目は線なし */
}


/* ページャー全体 */
div.pagination.custom-pagination-wrapper {
    display: flex;
    justify-content: center; /* 横方向中央揃え */
    width: 100%;
    margin: 20px 0; /* 上下マージン */
}

.pagination.custom-pagination {
    background: #f9f9f9;
    padding: 8px 16px;
    border-radius: 12px;
    display: inline-flex;
    gap: 6px;
    flex-wrap: wrap; /* 小さい画面で折り返す */
}

/* ページリンク */
.pagination.custom-pagination .page-link {
    border-radius: 8px;
    color: #337ab7;
    transition: all 0.3s ease;
    min-width: 48px;
    text-align: center;
    font-weight: 500;
	
}

/* ホバー時 */
.pagination.custom-pagination .page-link:hover {
    background-color: #007bff;
    color: #fff;
    transform: scale(1.05);
}

/* 無効リンク */
.pagination.custom-pagination .page-item.disabled .page-link {
    color: #aaa;
    background-color: transparent;
    cursor: default;
}

/* ページ番号部分 */
.pagination.custom-pagination .page-item.disabled span.page-link {
    font-weight: bold;
    color: #333;
    background-color: #e9ecef;
    border-radius: 8px;
    min-width: 60px;
}

/* スマホ対応 */
@media (max-width: 576px) {
    .pagination.custom-pagination {
        padding: 6px 10px;
        gap: 4px;
    }
    .pagination.custom-pagination .page-link {
        min-width: 40px;
        font-size: 14px;
        padding: 4px 6px;
    }
    .pagination.custom-pagination .page-item.disabled span.page-link {
        min-width: 50px;
        font-size: 14px;
        padding: 4px 6px;
    }
}

ul.pagination li{margin:0 5px; letter-spacing: 1px;}

.btn-danger.disabled, .btn-danger.disabled.active, .btn-danger.disabled:active, .btn-danger.disabled:focus, .btn-danger.disabled:hover, .btn-danger[disabled], .btn-danger[disabled].active, .btn-danger[disabled]:active, .btn-danger[disabled]:focus, .btn-danger[disabled]:hover, .btn-default.disabled, .btn-default.disabled.active, .btn-default.disabled:active, .btn-default.disabled:focus, .btn-default.disabled:hover, .btn-default[disabled], .btn-default[disabled].active, .btn-default[disabled]:active, .btn-default[disabled]:focus, .btn-default[disabled]:hover, .btn-info.disabled, .btn-info.disabled.active, .btn-info.disabled:active, .btn-info.disabled:focus, .btn-info.disabled:hover, .btn-info[disabled], .btn-info[disabled].active, .btn-info[disabled]:active, .btn-info[disabled]:focus, .btn-info[disabled]:hover, .btn-link[disabled]:focus, .btn-link[disabled]:hover, .btn-primary.disabled, .btn-primary.disabled.active, .btn-primary.disabled:active, .btn-primary.disabled:focus, .btn-primary.disabled:hover, .btn-primary[disabled], .btn-primary[disabled].active, .btn-primary[disabled]:active, .btn-primary[disabled]:focus, .btn-primary[disabled]:hover, .btn-success.disabled, .btn-success.disabled.active, .btn-success.disabled:active, .btn-success.disabled:focus, .btn-success.disabled:hover, .btn-success[disabled], .btn-success[disabled].active, .btn-success[disabled]:active, .btn-success[disabled]:focus, .btn-success[disabled]:hover, .btn-warning.disabled, .btn-warning.disabled.active, .btn-warning.disabled:active, .btn-warning.disabled:focus, .btn-warning.disabled:hover, .btn-warning[disabled], .btn-warning[disabled].active, .btn-warning[disabled]:active, .btn-warning[disabled]:focus, .btn-warning[disabled]:hover, .disabled, .dropdown-menu>.disabled>a, .dropdown-menu>.disabled>a:focus, .dropdown-menu>.disabled>a:hover, .form-control[disabled], .form-control[readonly], .inverse, .list-group-item.disabled, .list-group-item.disabled .list-group-item-text, .list-group-item.disabled:focus, .list-group-item.disabled:focus .list-group-item-text, .list-group-item.disabled:hover, .list-group-item.disabled:hover .list-group-item-text, .nav>li.disabled>a, .nav>li.disabled>a:focus, .nav>li.disabled>a:hover, .navbar-default .btn-link[disabled]:focus, .navbar-default .btn-link[disabled]:hover, .navbar-default .navbar-nav>.disabled>a, .navbar-default .navbar-nav>.disabled>a:focus, .navbar-default .navbar-nav>.disabled>a:hover, .navbar-inverse, .navbar-inverse .btn-link, .navbar-inverse .btn-link:focus, .navbar-inverse .btn-link:hover, .navbar-inverse .btn-link[disabled]:focus, .navbar-inverse .btn-link[disabled]:hover, .navbar-inverse .navbar-brand, .navbar-inverse .navbar-brand:focus, .navbar-inverse .navbar-brand:hover, .navbar-inverse .navbar-collapse, .navbar-inverse .navbar-form, .navbar-inverse .navbar-link, .navbar-inverse .navbar-link:hover, .navbar-inverse .navbar-nav>.active>a, .navbar-inverse .navbar-nav>.active>a:focus, .navbar-inverse .navbar-nav>.active>a:hover, .navbar-inverse .navbar-nav>.disabled>a, .navbar-inverse .navbar-nav>.disabled>a:focus, .navbar-inverse .navbar-nav>.disabled>a:hover, .navbar-inverse .navbar-nav>.open>a, .navbar-inverse .navbar-nav>.open>a:focus, .navbar-inverse .navbar-nav>.open>a:hover, .navbar-inverse .navbar-nav>li>a, .navbar-inverse .navbar-nav>li>a:focus, .navbar-inverse .navbar-nav>li>a:hover, .navbar-inverse .navbar-text, .navbar-inverse .navbar-toggle, .navbar-inverse .navbar-toggle .icon-bar, .navbar-inverse .navbar-toggle:focus, .navbar-inverse .navbar-toggle:hover, .pager .disabled>a, .pager .disabled>a:focus, .pager .disabled>a:hover, .pager .disabled>span, .pagination>.disabled>a, .pagination>.disabled>a:focus, .pagination>.disabled>a:hover, .pagination>.disabled>span, .pagination>.disabled>span:focus, .pagination>.disabled>span:hover, .readonly, fieldset[disabled] .btn-danger, fieldset[disabled] .btn-danger.active, fieldset[disabled] .btn-danger:active, fieldset[disabled] .btn-danger:focus, fieldset[disabled] .btn-danger:hover, fieldset[disabled] .btn-default, fieldset[disabled] .btn-default.active, fieldset[disabled] .btn-default:active, fieldset[disabled] .btn-default:focus, fieldset[disabled] .btn-default:hover, fieldset[disabled] .btn-info, fieldset[disabled] .btn-info.active, fieldset[disabled] .btn-info:active, fieldset[disabled] .btn-info:focus, fieldset[disabled] .btn-info:hover, fieldset[disabled] .btn-link:focus, fieldset[disabled] .btn-link:hover, fieldset[disabled] .btn-primary, fieldset[disabled] .btn-primary.active, fieldset[disabled] .btn-primary:active, fieldset[disabled] .btn-primary:focus, fieldset[disabled] .btn-primary:hover, fieldset[disabled] .btn-success, fieldset[disabled] .btn-success.active, fieldset[disabled] .btn-success:active, fieldset[disabled] .btn-success:focus, fieldset[disabled] .btn-success:hover, fieldset[disabled] .btn-warning, fieldset[disabled] .btn-warning.active, fieldset[disabled] .btn-warning:active, fieldset[disabled] .btn-warning:focus, fieldset[disabled] .btn-warning:hover, fieldset[disabled] .form-control, fieldset[disabled] .navbar-default .btn-link:focus, fieldset[disabled] .navbar-default .btn-link:hover, fieldset[disabled] .navbar-inverse .btn-link:focus, fieldset[disabled] .navbar-inverse .btn-link:hover {
    background-color: #fff;
    color: #000;
    border: none;
}

.product_contact{width: 90%; margin: 50px auto 40px;}

.gallery .grid .items {
    padding: 10px 10px 50px;
    cursor: pointer;
}

.gallery .grid .items>a {
    display: block;
    width: 100%;
    height: 100%;
}

.gallery .grid .items>a img {
    width: 100%;
    height: auto;
}

.background-e {
	background-color: #FFF!important;
}

/* スライダー共通設定 */
.swiper {
  width: 100%;
}

/* メインスライド */
.main-slider {
  height: auto; /* 高さを可変にする */
}

.main-slider .swiper-slide {
  position: relative;
  width: 100%;
  padding-top: 56.25%; /* 16:9比率 */
  overflow: hidden;
}

.main-slider .swiper-slide img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: contain; /* 画像の縦横比を保持して全体表示 */
  border-radius: 8px;
}

/* 動画スライド */
.swiper-slide.video-slide iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* サムネイルスライド */
.thumb-slider {
  height: 100px;
  margin-top: 10px;
}

.thumb-slider .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: contain; /* 縦横比を保持 */
  cursor: pointer;
  border-radius: 6px;
}

.thumb-slider .swiper-slide {
  width: auto;  /* スライド幅を自動調整 */
  height: 60px;
}

/* 選択中のサムネイル強調 */
.swiper-slide-thumb-active img {
  border: 3px solid #007bff;
}

div.products_contents{padding: 5% 15% 8%; background: #FFF;}

@media (max-width: 767px) { div.products_contents{padding: 50px 10px 30px !important; background: #FFF;} }



div.products_contents .filter .nav li a{font-size: 15px !important; letter-spacing: 1px;}
div.products_contents .filter {padding: 4% 0 !important;}
div.products_contents .nav>li>a {
    position: relative;
    display: block;
    padding: 10px 10px;
}

div.products_contents p.title{ font-size: 25px !important;}

.link_product{text-align: center; letter-spacing: 1px; line-height: 1.3em;}

