.elementor-1091 .elementor-element.elementor-element-e238c37{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:20px 20px;--row-gap:20px;--column-gap:20px;border-style:solid;--border-style:solid;border-width:0px 0px 0px 40px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:40px;border-color:#349960;--border-color:#349960;--margin-top:56px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:20px;--padding-bottom:20px;--padding-left:40px;--padding-right:40px;}.elementor-1091 .elementor-element.elementor-element-e40f8e1{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1091 .elementor-element.elementor-element-dc6df3c{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 4px 0px;}.elementor-1091 .elementor-element.elementor-element-37b0bb7{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-1091 .elementor-element.elementor-element-37b0bb7 .elementor-heading-title{font-family:"Noto Serif JP", Sans-serif;font-size:28px;letter-spacing:2px;color:#333333;}.elementor-1091 .elementor-element.elementor-element-20da545{font-family:"Helvetica", Sans-serif;font-size:12px;color:#333333;}.elementor-1091 .elementor-element.elementor-element-20da545 a{color:#9FA78F;}.elementor-1091 .elementor-element.elementor-element-20da545 a:hover{color:#CECECE;}.elementor-1091 .elementor-element.elementor-element-f7b9c38{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:20px 20px;--row-gap:20px;--column-gap:20px;border-style:solid;--border-style:solid;border-width:0px 0px 0px 40px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:40px;border-color:#349960;--border-color:#349960;--border-radius:0px 0px 0px 0px;--padding-top:0px;--padding-bottom:40px;--padding-left:0px;--padding-right:0px;}.elementor-1091 .elementor-element.elementor-element-05467bb{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--padding-top:40px;--padding-bottom:40px;--padding-left:40px;--padding-right:40px;}.elementor-1091 .elementor-element.elementor-element-05467bb:not(.elementor-motion-effects-element-type-background), .elementor-1091 .elementor-element.elementor-element-05467bb > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#349960;}.elementor-1091 .elementor-element.elementor-element-05467bb.e-con{--align-self:center;}.elementor-1091 .elementor-element.elementor-element-e31494b{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1091 .elementor-element.elementor-element-745ff53{width:var( --container-widget-width, 100% );max-width:100%;padding:0px 0px 0px 0px;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-1091 .elementor-element.elementor-element-745ff53 img{width:100%;}.elementor-1091 .elementor-element.elementor-element-2a9d965{--divider-border-style:solid;--divider-color:#FFFFFF;--divider-border-width:4px;width:100%;max-width:100%;}.elementor-1091 .elementor-element.elementor-element-2a9d965 .elementor-divider-separator{width:1100px;margin:0 auto;margin-center:0;}.elementor-1091 .elementor-element.elementor-element-2a9d965 .elementor-divider{text-align:center;padding-block-start:0px;padding-block-end:0px;}.elementor-1091 .elementor-element.elementor-element-964b7bb .elementor-heading-title{font-family:"Noto Serif JP", Sans-serif;font-size:26px;letter-spacing:2px;color:#FFFFFF;}.elementor-1091 .elementor-element.elementor-element-a16ff83{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:20px 20px;--row-gap:20px;--column-gap:20px;border-style:solid;--border-style:solid;border-width:0px 0px 0px 40px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:40px;border-color:#349960;--border-color:#349960;--margin-top:0px;--margin-bottom:00px;--margin-left:0px;--margin-right:0px;--padding-top:40px;--padding-bottom:40px;--padding-left:40px;--padding-right:40px;}.elementor-1091 .elementor-element.elementor-element-a16ff83.e-con{--align-self:center;}.elementor-1091 .elementor-element.elementor-element-75b6a96{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1091 .elementor-element.elementor-element-75b6a96.e-con{--align-self:center;}.elementor-1091 .elementor-element.elementor-element-0c94d38{width:100%;max-width:100%;text-align:start;}.elementor-1091 .elementor-element.elementor-element-0c94d38 .elementor-heading-title{font-family:"Noto Serif JP", Sans-serif;font-size:24px;font-weight:600;line-height:24px;letter-spacing:1px;color:#009944;}.elementor-1091 .elementor-element.elementor-element-da93122{--divider-border-style:solid;--divider-color:#009944;--divider-border-width:4px;width:100%;max-width:100%;}.elementor-1091 .elementor-element.elementor-element-da93122 .elementor-divider-separator{width:1100px;margin:0 auto;margin-left:0;}.elementor-1091 .elementor-element.elementor-element-da93122 .elementor-divider{text-align:left;padding-block-start:0px;padding-block-end:0px;}.elementor-1091 .elementor-element.elementor-element-ddb07a8{width:var( --container-widget-width, 800px );max-width:800px;--container-widget-width:800px;--container-widget-flex-grow:0;}.elementor-1091 .elementor-element.elementor-element-ddb07a8.elementor-element{--align-self:center;}@media(min-width:768px){.elementor-1091 .elementor-element.elementor-element-e31494b{--width:300px;}.elementor-1091 .elementor-element.elementor-element-a16ff83{--content-width:1000px;}.elementor-1091 .elementor-element.elementor-element-75b6a96{--width:800px;}}@media(max-width:767px){.elementor-1091 .elementor-element.elementor-element-e238c37{--gap:20px 20px;--row-gap:20px;--column-gap:20px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-1091 .elementor-element.elementor-element-e40f8e1{--gap:8px 8px;--row-gap:8px;--column-gap:8px;}.elementor-1091 .elementor-element.elementor-element-dc6df3c{margin:-4px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-1091 .elementor-element.elementor-element-37b0bb7 .elementor-heading-title{font-size:20px;line-height:1.6em;}.elementor-1091 .elementor-element.elementor-element-20da545{font-size:10px;}.elementor-1091 .elementor-element.elementor-element-f7b9c38{--gap:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-1091 .elementor-element.elementor-element-a16ff83{--gap:20px 20px;--row-gap:20px;--column-gap:20px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-1091 .elementor-element.elementor-element-0c94d38 .elementor-heading-title{font-size:24px;line-height:1em;}}/* Start custom CSS for html, class: .elementor-element-dc6df3c *//* ベースの長方形アイコン */
.grad-rect-icon{
  position: relative;
  width: 50px;
  height: 30px;
  border-radius: 2px;
  overflow: hidden;
  background: #0b6a40;      /* 外周の深いグリーンに変更 */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #f9fafb;
  font-size: 14px;
}

/* テキスト（任意） */
.grad-rect-icon__label{
  position: relative;
  z-index: 1;
}

/* 左上で光っている“円形グラデーション” */
.grad-rect-icon::before{
  content: "";
  position: absolute;
  left: -30%;
  top: -40%;
  width: 200%;
  height: 200%;
  border-radius: 50%;
  background:
    radial-gradient(
      circle at 20% 20%,
      #b5f3c3 0%,          /* 明るいミント（中心光） */
      #1b8f62 25%,         /* メインのグリーン */
      #1485d1 55%,         /* ブルーのグロウ */
      #28c6d8 75%,         /* シアン／ターコイズのグロウ */
      #0b6a40 100%         /* 外周の深いグリーンで締める */
    );
  background-size: 200% 200%;
  filter: blur(4px);
  opacity: 0.9;
  animation: grad-rect-move 6s ease-in-out infinite alternate;
}

/* グラデーション部分だけがゆっくり動く */
@keyframes grad-rect-move{
  0%{
    background-position: 0% 0%;
    opacity: 0.9;
  }
  40%{
    background-position: 40% 20%;
    opacity: 1;
  }
  70%{
    background-position: 60% 40%;
    opacity: 0.95;
  }
  100%{
    background-position: 100% 60%;
    opacity: 0.9;
  }
}

/* タブレットあたりで少しだけ小さく */
@media (max-width: 1024px){
  .grad-rect-icon{
    width: 44px;
    height: 18px;
    font-size: 13px;
  }
}

/* スマホ：さらに少しだけ縮める */
@media (max-width: 640px){
  .grad-rect-icon{
    width: 30px;
    height: 14px;
    font-size: 12px;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-7c20eab */.progress-bar {
  width: 100%;
  height: 1px;               /* グレーのライン */
  background: #a8a8a8;
  position: relative;
}

.progress-bar .progress {
  width: 20%;                /* ← 進捗率を指定（例: 20%） */
  height: 4px;               /* 緑のバーは太く */
  background: #349960;
  position: absolute;
  top: -1.5px;               /* グレー線の中央にくるよう調整 */
  left: 0;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-5a4317d *//* =========================================
   全体コンテナ (70% 縮尺 / ゴシック体)
========================================= */
.factory-grid-container {
    max-width: 800px; /* 1100px * 0.7 */
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 40px;
    padding: 0px;
    /* ゴシック体指定 */
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

/* --- カード構造 --- */
.factory-card {
    display: grid;
    grid-template-columns: 1fr 1.1fr; 
    grid-template-rows: auto auto auto 1fr;
    gap: 12px 28px;
    padding-bottom: 30px;
    border-bottom: 1px solid #eee;
}

/* --- ヘッダー --- */
.factory-header {
    grid-column: 1 / 2;
    display: flex;
    align-items: stretch;
    width: fit-content;
}

.factory-name, .name-jp {
    margin: 0;
    padding: 6px 14px 6px 0;
    font-size: 1.1rem;
    font-weight: 700;
    color: #105a32;
    display: flex;
    align-items: center;
}

.factory-location, .name-en {
    background-color: #033e21;
    color: #fff !important;
    padding: 6px 14px;
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    display: flex;
    align-items: center;
}

/* USAヘッダー固有設定 */
.usa-header .usa-name-content {
    display: flex;
    align-items: stretch;
}

/* --- 緑ラベル（リンクなし / 緑ベタ・黄色文字） --- */
.mskks-label-pet {
    grid-column: 1 / 2;
    background-color: #008d40 !important;
    color: #f7ff00 !important;
    height: 38px;
    display: flex;
    align-items: center;
    position: relative;
    font-weight: 700;
}

.mskks-label__text {
    padding-left: 15px;
    font-size: 18px;
    letter-spacing: 0.05em;
}

.mskks-label__line {
    position: absolute;
    right: 15px;
    width: 1px;
    height: 50%;
    background-color: rgba(0, 0, 0, 0.2);
}

/* --- 住所 --- */
.factory-address {
    grid-column: 1 / 2;
    font-size: 0.75rem;
    color: #444;
}

/* --- 画像（横並び・同サイズ） --- */
.factory-images {
    grid-column: 1 / 2;
    display: flex;
    gap: 8px;
}

.factory-images .img-box {
    flex: 1;
}

.factory-images img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    display: block;
    border-radius: 2px;
}

/* --- 右側マップ --- */
.factory-map {
    grid-column: 2 / 3;
    grid-row: 1 / 5;
}

.factory-map iframe {
    width: 100%;
    height: 100%;
    min-height: 245px; /* 350px * 0.7 */
    border: none;
    display: block;
}

/* --- スマホ対応 --- */
@media (max-width: 768px) {
    .factory-card { grid-template-columns: 1fr; }
    .factory-header, .mskks-label-pet, .factory-address, .factory-images, .factory-map {
        grid-column: 1 / -1;
        grid-row: auto;
    }
    .factory-map { height: 175px; margin-top: 10px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ddb07a8 *//* --- 設備紹介セクション --- */
.msk-eq-container {
    max-width: 1100px; /* 1140pxに拡大 */
  
    box-sizing: border-box;
}

.msk-eq-title {
    font-size: 24px;
    color: #422106;
    border-left: 5px solid #422106;
    padding-left: 15px;
    margin-bottom: 30px;
}

/* 4カラムグリッド */
.msk-eq-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-bottom: 40px;
    width: 100%;
}

.msk-eq-card {
    background: #fff;
    border: 1px solid #e0d8d0;
    text-align: center;
    padding-bottom: 15px;
    cursor: pointer;
    transition: 0.3s;
}

.msk-eq-card:hover { 
    transform: translateY(-3px); 
    box-shadow: 0 5px 15px rgba(0,0,0,0.1); 
}

.msk-eq-img-box { 
    aspect-ratio: 4 / 3; 
    overflow: hidden; 
    background: #f9f9f9; 
    margin-bottom: 12px; 
}

.msk-eq-img-box img { 
    width: 100%; 
    height: 100%; 
    object-fit: cover; 
}

/* カード内のテキストサイズ */
.msk-eq-card h3 { 
    font-size: 15px; 
    margin: 5px 0; 
    color: #422106; 
}

.msk-eq-card p { 
    font-size: 13px; 
    color: #666; 
    margin: 0; 
}

/* その他設備リスト（2列） */
.msk-eq-list-wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px 30px;
    background: #fcfaf8;
    padding: 25px;
    border-top: 2px solid #422106;
    width: 100%;
    box-sizing: border-box;
}

.msk-eq-list-item { 
    font-size: 15px; 
    border-bottom: 1px dashed #dcd0c5; 
    padding: 8px 0; 
}

.msk-eq-list-item span { 
    color: #422106; 
    margin-right: 10px; 
}

/* モーダル表示 */
.msk-eq-modal-bg {
    display: none; 
    position: fixed; 
    z-index: 1000000; 
    left: 0; 
    top: 0;
    width: 100%; 
    height: 100%; 
    background: rgba(0,0,0,0.9);
    align-items: center; 
    justify-content: center;
}

.msk-eq-modal-img { 
    max-width: 90%; 
    max-height: 90%; 
    animation: mskEqZoom 0.3s; 
}

@keyframes mskEqZoom { 
    from { opacity: 0; transform: scale(0.9); } 
    to { opacity: 1; transform: scale(1); } 
}

.msk-eq-modal-close { 
    position: absolute; 
    top: 20px; 
    right: 30px; 
    color: #fff; 
    font-size: 40px; 
    cursor: pointer; 
}

/* --- レスポンシブ対応 (768px以下) --- */
@media screen and (max-width: 768px) {
    /* 主要設備カードを2列に */
    .msk-eq-grid { 
        grid-template-columns: 1fr 1fr; 
        gap: 10px;
    }
    
    .msk-eq-card h3 {
        font-size: 14px; /* スマホ時は14px */
    }
    
    .msk-eq-card p {
        font-size: 12px;
    }

    /* その他リストを1列・14pxに */
    .msk-eq-list-wrap { 
        grid-template-columns: 1fr; 
        padding: 15px;
    }
    
    .msk-eq-list-item {
        font-size: 14px; /* スマホ時は14px */
        padding: 10px 0;
    }
}/* End custom CSS */