@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

.op_0 {
    opacity: 0;
}
.fist-area {
    display: flex;
    justify-content: center;
}
.fist-area .wp-block-group {
    max-width: 250px !important;
}
.main-top-contents {
    padding-top: 5rem !important;
    position:relative;
}
.main-top-contents::before {
  content: "";
  position: absolute;
  background-image: url(http://gland-tech.local/wp-content/uploads/2026/01/レイヤー_1-1.png);
  background-repeat: no-repeat;
  left: 10px;
  top: 0;
  width: 250px;
  height: 250px;
}
.post_content .main-top-contents h2 {
    margin-left: 1rem !important;
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
}
.pl_1r {
    padding-left: 1rem;
}
.main-top-btn-area {
    margin-top: -3rem;
}

.top-works-img {
  display: flex;
  justify-content: center;
  align-items: end;
}

.top-work {
    position: relative;
}

.top-works-textarea {
    position: absolute;
    right: 0;
    transform: translateY(-87%);
    padding: 1rem 1rem !important;
    border: 1px solid;
    width: 65%;
}

.-type-thumb .p-postList__thumb {
    aspect-ratio: 4 / 5; /* ← 縦長比率 */
    overflow: hidden;
  }
 .-type-thumb .p-postList__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .c-postThumb__figure {
    margin: 0;
    overflow: hidden;
    position: relative;
    width: 100%;
    z-index: 0;
    height: 100%;
}


.-type-thumb .p-postList__body {
    background: rgba(255, 255, 255, 0);
    bottom: 5px;
    width: fit-content !important;
    color: #e8e8e8;
    right: 5px !important;
    padding: 0.35em;
    position: absolute;
    left: auto;
}

.l-mainContent__inner::after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 94vw;
  height: 100%;
  background: #EDECE6;
  z-index: 0;
}
.swell-block-fullWide.has-bg-img {
  z-index: 10;
}
.top.page-id-7 .l-mainContent__inner::after {
  opacity: 0;
}
.mb-13r {
  margin-bottom: 13rem;
}
.mb-10r {
  margin-bottom: 10rem !important;
}

.about-gland {
  position: relative;
  margin-top: 150px;
}
.about-gland.regarden-about {
  margin-top: 60px;
}
.about-gland-01 {
  position: absolute;
  right: 404px;
  top: -100px;
  width: 60%;
  transform: scale(0.8);
}
.about-gland-02 {
  position: absolute;
  top: 70%;
  transform: translateY(-50%) scale(0.8);
  right: 13px;
  width: 60%;
}
.about-gland-03 {
  position: absolute;
  bottom: -60px;
  right: -6px;
  width: 60%;
  transform: scale(0.8);
}
.about-gland-01::before {
  content: "";
  background: url(http://gland-tech.local/wp-content/uploads/2026/01/Grand-Techs- Original-Approach.png);
  top: -45px;
  right: -236px;
  width: inherit;
  height: -webkit-fill-available;
  position: absolute;
  background-repeat: no-repeat;
}
.about-gland-02::before  {
  content: "";
  background: url(http://gland-tech.local/wp-content/uploads/2026/01/Creating-Stylish- Outdoor-Spaces.png);
  background-repeat: no-repeat;
  position: absolute;
  width: inherit;
  height: 50%;
  top: -38px;
  right: -90px;
}
.about-gland-03::before  {
  content: "";
  background: url(http://gland-tech.local/wp-content/uploads/2026/01/Designed-for-Life as-It-Changes.png);
  background-repeat: no-repeat;
  position: absolute;
  width: inherit;
  height: 30%;
  top: -44px;
  right: -87px;
}

.bg-white {
  background: white;
  padding: 0 1rem !important;
}
.bg-title {
  background: var(--color_main) !important;
  display: flex;
  justify-content: center;
  align-items: center;
}
.bg-title h2 {
  letter-spacing: 3px  !important;
}
.bg-white .faq_q {
  padding: 1em 1em 0.5em 3em;
}
.swell-block-columns[data-scrollable]>.swell-block-columns__inner {
  padding-bottom: 30px;
}
.has-bg-img .vertical-text {
  position: absolute;
  height: max-content;
  top: -60px;
  right: 170px;
  line-height: 3rem;
  letter-spacing: 3px;
}
@media (min-width: 960px) {
  .pc-py-80.has-bg-img {
      padding-bottom: 11em !important;
      padding-top: 11em !important;
      position: relative;
  }
  .pc-py-80.has-bg-img::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 10%;
    width: 160px;
    height: 153px;
    background-image: url(http://gland-tech.local/wp-content/uploads/2026/01/レイヤー_1-1.png);
    background-repeat: no-repeat;
    transform: translateY(100%);
  }
}
.cta-zone .swell-block-column {
  position: relative;
}
.cta-zone .swell-block-column .wp-block-group {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 80%;
  transform: translate(-50%, -50%);
}
.ml-2r {
  margin-left: 2rem !important;
}

@media screen and (min-width:767px) {
  .l-container.w-footer.-col1 {
    margin-left: 0 !important;
  }
}
.about-vertical {
  position: relative;
}
.about-vertical-text {
  position: absolute;
  top: -59%;
  left: 50%;
  font-size: 1.8rem;
  height: max-content;
  transform: translateX(-50%);
  letter-spacing: 6px;
  font-weight: 900;
}
.gland-img-mess {
  position: relative;
}
.gland-img-mess::before {
  content: "";
  width: 300px;
  height: 118px;
  position: absolute;
  right: 0;
  bottom: -40px;
  transform: translate(50%, 50%) scale(0.8);
  background-image: url(http://gland-tech.local/wp-content/uploads/2026/01/Message-from- Grand-Tech.png);
  background-repeat: no-repeat;
}
.single-post .l-mainContent__inner::after  {
  display: none;
}

.w-pageBottom {
  display: none;
}

.blog  .w-pageBottom {
  display: block;
}













/* ===========　自動スクロール　============== */

/* 自動横スクロール投稿リスト */
.is-auto-scroll {
    overflow: hidden;
    position: relative;
  }
  
  .is-auto-scroll .p-postList {
    display: flex;
    flex-wrap: nowrap;
    gap: 0px;
    animation: autoScroll 15s linear infinite;
  }
  
  /* 投稿カード */
  .is-auto-scroll .p-postList__item {
    flex: 0 0 auto;
    width: 260px; /* ← カード幅（調整OK） */
  }
  
  /* アニメーション */
  @keyframes autoScroll {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(-50%);
    }
  }
 

  /* ＝＝＝＝＝＝＝＝　ハンバーガーメニュー　＝＝＝＝＝＝＝＝＝＝ */

  /* =========================
   PC専用：右から35%ドロワー + 左画像フェード
   ========================= */
@media (min-width: 1024px) {

  /* ボタン（3本線） */
  .yolito-hamburger {
    position: relative;
    width: 52px;
    height: 52px;
    border: none;
    background: transparent;
    cursor: pointer;
    z-index: 10010;
  }

  .yolito-hamburger__lines,
  .yolito-hamburger__lines::before,
  .yolito-hamburger__lines::after {
    content: "";
    position: absolute;
    left: 50%;
    width: 28px;
    height: 2px;
    transform: translateX(-50%);
    background: currentColor;
    transition: transform .25s ease, top .25s ease, opacity .2s ease;
  }

  .yolito-hamburger__lines { top: 50%; }
  .yolito-hamburger__lines::before { top: calc(50% - 9px); }
  .yolito-hamburger__lines::after  { top: calc(50% + 9px); }

  /* 開いたとき：×に変形 */
  .is-yolito-drawerOpen .yolito-hamburger__lines {
    transform: translateX(-50%) rotate(45deg);
  }
  .is-yolito-drawerOpen .yolito-hamburger__lines::before {
    top: 50%;
    opacity: 0;
  }
  .is-yolito-drawerOpen .yolito-hamburger__lines::after {
    top: 50%;
    transform: translateX(-50%) rotate(-90deg);
  }

  /* オーバーレイ */
  .yolito-drawerOverlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.35);
    opacity: 0;
    pointer-events: none;
    transition: opacity .25s ease;
    z-index: 10000;
  }
  .is-yolito-drawerOpen .yolito-drawerOverlay {
    opacity: 1;
    pointer-events: auto;
  }

  /* ドロワー全体（画面全体を覆うコンテナ） */
  .yolito-drawer {
    position: fixed;
    inset: 0;
    z-index: 10005;
    pointer-events: none;
  }

  /* 右側メニュー：35% */
  .yolito-drawer__right {
    position: absolute;
    top: 0; right: 0;
    width: 35vw;            /* ← 35%相当 */
    max-width: 520px;       /* ← 大きすぎ防止（好みで） */
    min-width: 360px;       /* ← 小さすぎ防止（好みで） */
    height: 100%;
    background: #fff;
    transform: translateX(100%);
    transition: transform .35s ease;
    pointer-events: auto;
    padding: 80px 28px 28px;
    overflow-y: auto;
  }

  /* 左側画像：最初は透明 */
  .yolito-drawer__left {
    position: absolute;
    top: 0; left: 0;
    width: calc(100% - 35vw);
    height: 100%;
    display: grid;
    place-items: center;
    opacity: 0;
    transition: opacity .1s ease;
    pointer-events: none;
  }

  .yolito-drawer__image {
    width: 100%;
    height: 100%;
    border-radius: 18px;
    overflow: hidden;
    /* 影などはお好みで */
  }

  .yolito-drawer__image img {
    width: 100%;
    height: 100%;
    display: block;
  }

  /* 開いた状態：右がスライドイン */
  .is-yolito-drawerOpen .yolito-drawer__right {
    transform: translateX(0);
  }


  /* 「メニューが完全に出た後」左画像をフェードインさせる */
  .is-yolito-drawerShowMedia .yolito-drawer__left {
    opacity: 1;
  }

  /* メニュー装飾 */
  .yolito-drawerMenu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 14px;
    color: #3a6938;
    padding-bottom: 1.5rem;
  }
  .mt-2r {
    margin-top: 2rem;
  }
  .yolito-drawerMenu li {
    line-height: 4px;
    padding: 0.5rem;
    font-size: 14px;
}
}
  .yolito-drawerMenu span {
    display: block;
    text-decoration: none;
    padding: 12px 10px;
    border-radius: 10px;
    color: #333;
    font-size: 18px;
    transition: all ease 0.25s;
  }
  .yolito-drawerMenu a:hover {
    color: #8b8b8b;
  }
@media (min-width: 1024px){
  .yolito-hamburger{
    pointer-events: auto;
  }
  #header {
    position: fixed;
  }
  .bo-to {
    border-top: 3px #7f7f7f dotted;
    padding-top: 1rem;
  }
  .yolito-drawerMenu-contact {
    display: flex;
    justify-content: start;
    padding-left: 1rem;

  }
  .yolito-drawerMenu-contact li {
    list-style: none;
    background: #58a555;
    margin-right: 1.5rem;
  }
  .yolito-drawerMenu-contact li a {
    color: white;
    padding: 0.5rem 1rem;
    text-decoration: none;
  }
  /* ドロワー内メニュー（右矢印付き） */
.yolito-drawerMenu-contact a {
  position: relative;
  display: inline-flex;
  align-items: center;
  padding-right: 44px !important; /* 矢印分の余白 */
  text-decoration: none;
  transition: transform .25s ease;
}

/* 右側の「＞」 */
.yolito-drawerMenu-contact a::after {
  content: "＞";
  position: absolute;
  right: 8px;
  opacity: 0.7;
  transition: transform .25s ease, opacity .25s ease;
}

/* hover時の動き */
.yolito-drawerMenu-contact a:hover {
  transform: translateX(2px); /* テキストが少し右へ */
}

.yolito-drawerMenu-contact a:hover::after {
  transform: translateX(3px); /* 矢印はさらに右へ */
  opacity: 1;
}
.nav-home {
  --the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDQ4IDQ4Ij48cGF0aCBkPSJNMjQgMi41LjUgMjUuNXYySDh2MTVjMCAuNi40IDEgMSAxaDExdi0xMGg4djEwaDExYy42IDAgMS0uNCAxLTF2LTE1aDcuNXYtMkwyNCAyLjV6Ij48L3BhdGg+PC9zdmc+);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  position: absolute;
  top: 2.7rem;
  padding-left: 1rem;
}

/* 左側アイコン */
.nav-home::before {
  content: "";
  width: 1em;
  height: 1em;
  background-color: currentColor; /* ← 色を文字色と連動 */
  mask-image: var(--the-icon-svg);
  -webkit-mask-image: var(--the-icon-svg);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-size: contain;
  mask-position: center;
  -webkit-mask-position: center;
}

}
.img-bright img {
  transition: filter 0.3s ease;
}

/* Lv1｜ほんのり */
.img-bright.is-lv1 img {
  filter: brightness(1.05) contrast(1.02);
}

/* Lv2｜自然 */
.img-bright.is-lv2 img {
  filter: brightness(1.1) contrast(1.04);
}

/* Lv3｜やや強め */
.img-bright.is-lv3 img {
  filter: brightness(1.15) contrast(1.05);
}

/* Lv4｜かなり明るい */
.img-bright.is-lv4 img {
  filter: brightness(1.2) contrast(1.06);
}

/* Lv5｜最強（救済用） */
.img-bright.is-lv5 img {
  filter: brightness(1.25) contrast(1.08);
}

/* =========================
   FAQ用（Q/A行のみ装飾）
========================= */



/* Q（質問文のある行だけ） */
.swell-block-accordion.is-faq .swell-block-accordion__label {
  position: relative;
  padding: 1em 1em 0.5em 3em;
}

/* Q文字 */
.swell-block-accordion.is-faq .swell-block-accordion__label::before {
  border-radius: var(--swl-faq_icon_radius);
  bottom: unset;
  content: "Q";
  display: block;
  font-family: Arial, sans-serif;
  font-weight: 400;
  left: 0;
  line-height: 2;
  position: absolute;
  text-align: center;
  top: .75em;
  width: 2em;
  background-color: var(--color_main);
  color: #fff;
}

/* A（回答文のある部分だけ） */
.swell-block-accordion.is-faq .swell-block-accordion__body {
  line-height: 1.5;
  padding: 1em 1em 1em 4em;
  position: relative;
}

/* A文字 */
.swell-block-accordion.is-faq .swell-block-accordion__body::before {
  border-radius: var(--swl-faq_icon_radius);
  content: "A";
  display: block;
  font-family: Arial, sans-serif;
  left: 1em;
  line-height: 2;
  position: absolute;
  text-align: center;
  top: .75em;
  width: 2em;
  background-color: var(--color_faq_a);
  color: #fff;
}

.is-style-big .swell-block-step__title {
  margin-bottom: 2.3rem;
}




/* ============== SP ================ */
@media screen and (max-width:767px) {
  .fist-area .wp-block-group {
    max-width: 90%  !important;
  }
  .fist-area .wp-block-group__inner-container{
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .fist-area .op_0 {
    display: none;
  }
  .fist-area .vertical-text {
    font-size: 1.3em !important;
    position: absolute;
    top: 20px;
    right: 3%;
    padding-top: 8px;
    color: white;
    background: #00000040;
  }
  .fist-area .main_text {
    text-align: center;
  }
   .has-medium-font-size.has-swl-main-color {
    font-size: 11px !important;
    text-align: center;
  }


  .main-top-contents::before {
    background-size: contain;
    width: 80px;
    height: 60px;
    left: 70%;
  }
  .bg-tate-area {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .bg-tate-area .vertical-text {
    margin-top: 1rem;
  }
  .post_content .main-top-contents h2 {
    margin-top: 2rem !important;
    font-size: 14px;
    line-height: 44px !important;
    margin-left: 0 !important;
  }
  .bg-topimg .alignright  {
    margin: 0 !important;
  }
  .bg-tate-area .is-style-more_btn {
    margin: 0 auto 0 0;
    width: 100%;
  }
  .bg-btn {
    --the-width: 75%;
  }

  .post_content .mt-0 {
    margin-top: 0 !important;
  }
    /* 投稿カード */
    .is-auto-scroll .p-postList__item {
      width: 200px; /* ← カード幅（調整OK） */
    }
    .is-auto-scroll .-type-thumb .p-postList__body {
      font-size: 10px;
    }
    .has-border.-border03.is-style-bg_grid.has-white-background-color.has-background {
      font-size: 14px;
    }

    .top-works-textarea {
      position: relative;
      transform: translate(0);
      width: 100%;
    }
    .top #content {
      padding-top: 0 !important;
    }
    .subpage-title .u-mb-ctrl.u-mb-0 {
      font-size: 1.6em !important;
    }
    .has-bg-img .vertical-text {
      display: none;
    }
    .about-gland-01,.about-gland-02 ,.about-gland-03 ,.about-gland-04 {
      position: relative;
      top: 0;
      transform: none;
      right: 0;
      width: 100%;
      font-size: 12px !important;
  }
  .about-gland-01::before , .about-gland-02::before , .about-gland-03::before ,.about-gland-04::before{
    width: 150px;
    top: -1.1rem;
    right: 0;
    background-size: contain;
  }
  .about-gland {
    position: relative;
    margin-top: 30px;
  }
  .sp-reverse > div {
    flex-flow: column-reverse;
  }
  .mb-13r {
    margin-bottom: 5rem;
  }
  .sdgs-img img {
    height: 60px !important;
  }
  .vertical-text.about-vertical-text {
    writing-mode: horizontal-tb;
  }
  .about-vertical-text {
    position: static;
    transform: none;
    font-size: 1.6rem !important;
  }
  .gland-img-mess::before {
    width: 110px;
    height: 38px;
    background-size: contain;
    bottom: -60px;
    transform: none;
}
  
}