/*
Theme Name: GLOBALWORKS
*/

html,
body{
  margin:0;
  padding:0;
}

body{
  font-family: "Noto Sans JP","游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  background:#f3ede7; 
  overflow-x:hidden;
}

.site-main{
  margin:0;
  padding:0;
}

section{
  margin:0;
  padding:0;
}

/* =========================
SP Header
========================= */

.gw-header{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  z-index:100;
}

.gw-header__inner{
  max-width:390px;
  margin:0 auto;
  padding:0 20px;
  display:flex;
  justify-content:space-between;
}

.gw-header__logo{
  display:block;
}

.gw-header__inner--menu-only{
  justify-content:flex-end;
}

.gw-header__menu{
  position:absolute;
  right:20px;
  top:10px;

  width:40px;
  height:50px;

  background:none;
  border:none;
  padding:0;
  margin:0;
  display:flex;
  align-items:center;
  justify-content:center;
}

.gw-header__menu img{
  display:block;
  width:50px;
  height:50px;
}

.gw-header__nav{
  display:none;
}

.gw-header__nav-list{
  display:block;
}

/* =========================
Hamburger menu
========================= */

.gw-menu{
  position:fixed;
  top:0;
  left:0;          /* ←ここ重要：左固定 */
  width:390px;     /* ←幅固定 */
  height:100vh;

  background:#FCF8F8;
  z-index:200;

  margin:0;
  padding:0;
}

.gw-menu.active{
  display:block;
}

.gw-menu__inner{
  width:100%;
  padding:18px 20px 48px;
  box-sizing:border-box;
  margin:0;
}

/* top */

.gw-menu__top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
}

/* logo */

.gw-menu__logo{
  display:block;
  width:89px;
  height:auto;
}

/* close */

.gw-menu__close{
  width:48px;
  height:48px;
  background:#39446D;
  color:#fff;
  border:none;
  border-radius:8px;
  font-size:20px;
  line-height:1;
  box-shadow:0 6px 16px rgba(0,0,0,0.2);
  display:flex;
  align-items:center;
  justify-content:center;
}

/* list */

.gw-menu__list{
  list-style:none;
  padding:0;
  margin:30px 0 36px;
}

.gw-menu__item{
  margin:0 0 18px;
}

.gw-menu__link{
  display:flex;
  justify-content:space-between;
  align-items:center;
  text-decoration:none;
  color:#1D135F;
}

.gw-menu__texts{
  display:flex;
  flex-direction:column;
  gap:2px;
}

.gw-menu__sub{
  font-family:"Noto Sans JP", sans-serif;
  font-weight:500;
  font-size:13px;
  line-height:1.2;
  color:#5E698F;
}

.gw-menu__main{
  font-family:"Noto Sans JP", sans-serif;
  font-weight:700;
  font-size:18px;
  line-height:1.2;
  color:#1D135F;
}

.gw-menu__arrow{
  font-family:"Noto Sans JP", sans-serif;
  font-weight:400;
  font-size:28px;
  line-height:1;
  color:#39446D;
  flex-shrink:0;
  margin-left:16px;
}

/* contact button */

.gw-menu__contact{
  width:200px;
  height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  background:#39446D;
  color:#fff;
  border-radius:8px;
  text-decoration:none;
  font-family:"Noto Sans JP", sans-serif;
  font-weight:700;
  font-size:16px;
  line-height:1;
  box-shadow:0 8px 20px rgba(0,0,0,0.2);
}

.gw-menu__contact-arrow{
  font-size:24px;
  line-height:1;
}

/* =========================
TOP HERO
========================= */

.top-hero{
  position:relative;
  width:100vw;
  margin-left:calc(50% - 50vw);
  background:#f3ede7;
  overflow:hidden;
}

/* 画像エリア */
.top-hero__media{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:641px;
  overflow:visible;
  z-index:1;
}

.top-hero__img{
  position:absolute;
  display:block;
  max-width:none;
}

/* 初期（SP） */
.top-hero__img--pc{
  display:none;
}

/* 人物画像 */
.top-hero__img--c{
  width:100%;
  height:auto;
  top:0;
  left:0;
}

.top-hero__img--d{
  width:100%;
  height:auto;
  top:45px;
  left:0;
}

/* テキスト */
.top-hero__content{
  position:relative;
  z-index:2;
  padding:424px 20px 48px;
  box-sizing:border-box;
}

.top-hero__title{
  margin:44px 0 16px;
  position:relative;
  left:-20px;

  font-family:"Noto Sans JP", sans-serif;
  font-weight:700;
  font-size:clamp(32px, 9vw, 40px);
  line-height:1.325;
  color:#000;
  white-space:nowrap;
}

.top-hero__text{
  margin:0;
  font-family:"Noto Sans JP", sans-serif;
  font-weight:500;
  font-size:16px;
  line-height:29px;
  letter-spacing:0;
  color:#000;
}


/* =========================
Business Hero（見出し：背景画像の上に重ねる）
========================= */
.business-hero{
  background:#f3ede7;
  padding: 0 0 60px;
  position:relative;
}
.business-hero__bg{
  width:100%;
  display:block;
}
.business-hero__title{
  position:absolute;
  left:21px;
  top:-16px; 
  z-index:3;           
}

/* Our */
.business-hero__our{
  margin:0;
  font-family:"Noto Sans JP", sans-serif;
  font-weight:700;
  font-size:24px;
  line-height:1;
  letter-spacing:0;
  color: #56c6c8;;
}

/* Business + slash画像 + 日本語 */
.business-hero__main{
  margin:6px 0 0;
  display:flex;
  align-items:center;
  gap:4px;

  font-family:"Noto Sans JP", sans-serif;
  letter-spacing:0;
}

/* Business */
.business-hero__en{
  font-weight:700;
  font-size:40px;
  line-height:1;
  color:#39446D;
}

.business-hero__slash{
  width:32px;
  height:36.71px;
  display:block;
  position:relative;
  top:4px;
}

/* 私たちの事業 */
.business-hero__jp{
  font-weight:700;
  font-size:16px;
  line-height:1;
  color:#5E698F;
  white-space:nowrap;
  position:relative;
  top:8px;
}

/* =========================
About Us
========================= */

.about-us{
  background:#f3ede7;
  padding:0 20px 60px;
}

/* タイトル */
.about-us__title{
  margin:0 0 20px;
  display:flex;
  align-items:center;
  gap:4px;
}

/* About Us */
.about-us__en{
  font-family:"Noto Sans JP", sans-serif;
  font-weight:700;
  font-size:40px;
  line-height:1;
  color:#39446D;
}

/* スラッシュ */
.about-us__slash{
  width:32px;
  height:36px;
  display:block;
  position:relative;
  top:4px;
}

/* 私たちについて */
.about-us__jp{
  font-family:"Noto Sans JP", sans-serif;
  font-weight:700;
  font-size:16px;
  line-height:1;
  color:#5E698F;
  white-space:nowrap;
  position:relative;
  top:8px;
}

/* テキスト */
.about-us__text{
  margin:0 0 24px;

  font-family:"Noto Sans JP", sans-serif;
  font-weight:500;
  font-size:16px;
  line-height:1.8;
  color:#000;
}

.about-us__text--pc{
  display:none;
}

.about-us__text--sp{
  display:block;
}

.about-us__btn{
  width:234px;
  height:48px;

  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px; /* ←矢印を少し左へ */

  background:#39446D;
  color:#fff;

  text-decoration:none;
  border-radius:8px;

  box-shadow:0 8px 20px rgba(0,0,0,0.2);
}

/* ボタン文字 */
.about-us__btn-text{
  font-family:"Noto Sans JP", sans-serif;
  font-weight:700;
  font-size:16px;
}

/* 矢印 */
.about-us__btn-arrow{
  display:inline-flex;
  align-items:center;
}

.about-us__btn-arrow-svg{
  width:18px;
  height:12px;
}


/* =========================
Business card
========================= */

.business{
  width:100%;
}

/* 画像（390いっぱい） */
.business__image{
  width:100vw;
  margin-left:calc(50% - 50vw);
  position:relative;
  z-index:1;
}

.business__image img{
  width:100%;
  display:block;
}

/* カード */
.business__card{
  width:351px;
  height:225px;

  margin:-64px auto 36px;
  padding:20px;

  background:#ffffff;

  border-radius:12px;
  box-sizing:border-box;

  position:relative;
  z-index:2;
}

/* タイトル */
.business__title{
  font-family:"Noto Sans JP", sans-serif;
  font-weight:700;
  font-size:24px;
  line-height:1;
  letter-spacing:0;
  margin:0 0 16px;
}

/* テキスト */
.business__text{
  font-family:"Noto Sans JP", sans-serif;
  font-weight:500;
  font-size:16px;
  line-height:1;
  letter-spacing:0;
  margin:0 0 32px;
}

.business__btn{
  font-family:"Noto Sans JP", sans-serif;
  font-weight:700;
  line-height:1;
  text-decoration:none;
  color:#39446D;

  position:relative;
  overflow:hidden;

  display:inline-flex;
  align-items:center;
  gap:16px;

  padding:12px 20px;

  border:none;
  border-radius:999px;
  background:#fff;
  box-shadow:inset 0 0 0 2px #39446D;

  transition:color 0.35s ease;
}

.business__btn::before{
  content:"";
  position:absolute;
  inset:0;
  background:#39446D;
  border-radius:inherit;
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform 0.35s ease;
  z-index:0;
}

.business__btn > span{
  position:relative;
  z-index:1;
}

.business__arrow{
  width:32px;
  height:32px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#39446D;
  color:#fff;
  border-radius:50%;
  transition:
    background-color 0.35s ease,
    color 0.35s ease;
}

.business__arrow-svg{
  width:18px;
  height:12px;
  display:block;
}

.business__btn:hover::before,
.business__btn:focus-visible::before{
  transform:scaleX(1);
}

.business__btn:hover,
.business__btn:focus-visible{
  color:#fff;
  text-decoration:none;
}

.business__btn:hover .business__arrow,
.business__btn:focus-visible .business__arrow{
  background:#fff;
  color:#39446D;
}

/* =========================
Wrapper
========================= */

.our-business{
  width:100%;
}

.business-list{
  display:block;
}

/* =========================
News
========================= */

.top-news{
  padding:0px 20px 32px;
}

.top-news__inner{
  width:350px;
  max-width:100%;
  margin:0 auto;
}

.top-news__head{
  position:relative;
  margin-bottom:32px;
}

.top-news__label{
  margin:0;
  position:relative;
  top:-22px;
  left:16px;
  z-index:1;
  font-weight:700;
  font-size:14px;
  line-height:1;
  color:#5E698F;
}

.top-news__title{
  display:flex;
  align-items:center; 
  gap:4px;
}

.top-news__en{
  font-weight:700;
  font-size:40px;
  line-height:1;
  color:#39446D;
}

.top-news__slash{
  width:32px;
  height:36px;
  position:relative;
  top:0px;
}

/* 日本語 */

.top-news__jp{
  font-weight:700;
  font-size:16px;
  color:#5E698F;
  position:relative;
  top:8px;
}

.top-news__list{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.top-news__item{
  border-bottom:1px solid #D9D9D9;
  padding-bottom:16px;
}

.top-news__link{
  display:block;
  text-decoration:none;
  color:inherit;
}

.top-news__date{
  margin:0 0 8px;
  font-weight:500;
  font-size:14px;
  line-height:1;
  color:#8E8E8E;
}

.top-news__item-title{
  margin:0;
  font-weight:500;
  font-size:16px;
  line-height:1.8;
  color:#000000;
}

.top-news__scroll{
  max-height: 200px; /* ← 好きな高さ */
  overflow-y: auto;
  }


/* =========================
Contact
========================= */

.contact{
  position:relative;
  z-index:0;
  background:#f3ede7;
  padding:8px 20px 80px;
}

/* タイトル */
.contact__title{
  display:flex;
  align-items:center;
  gap:4px;
}

.contact::before{
  content:"";
  position:absolute;
  inset:0;
  background:#f3ede7; 
}

.contact__inner{
  position:relative;
  z-index:1;
}

/* Contact */

.contact__en{
  font-weight:700;
  font-size:40px;
  line-height:1;
  color:#39446D;
}

/* スラッシュ画像 */

.contact__slash{
  width:32px;
  height:36px;
  position:relative;
  top:4px;
}

/* 日本語 */

.contact__jp{
  font-weight:700;
  font-size:16px;
  color:#5E698F;
  position:relative;
  top:8px;
}

/* 説明文 */

.contact__text{
  margin:0 0 20px;

  font-family:"Noto Sans JP", sans-serif;
  font-weight:500;
  font-size:16px;
  line-height:1.6;
}

/* ボタン */

.contact__btn{
  width:144px;
  height:48px;

  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;

  padding:0;                 /* 固定サイズなのでpaddingは不要 */

  background:#39446D;
  color:#fff;

  text-decoration:none;
  border-radius:8px;

  box-shadow:0 8px 20px rgba(0,0,0,0.2);

    position:relative;
  z-index:2;
}

/* ボタンテキスト */

.contact__btn-text{
  font-family:"Noto Sans JP", sans-serif;
  font-weight:700;
  font-size:16px;
}

/* 矢印丸 */

.contact__btn-arrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff;
}

.contact__btn-arrow-svg{
  width:18px;
  height:12px;
  display:block;
}

/* =========================
斜め線
========================= */

.gw-top{
  position:relative;
}

/* 線 */
.top-bg-line{
  position:absolute;
  width:900px;
  height:265px;
  background:#fff;
  opacity:0.6;
  transform:rotate(-47.12deg);
  transform-origin:left center;
  z-index:0;      
  pointer-events:none;
}

/* 上の線（下に下げる） */
.top-bg-line--1{
  top: 1620px;    
  left:-100px;
}

/* 下の線（さらに下げる） */
.top-bg-line--2{
  top:272px;   
  left:-120px;
}

/* =========================
PC TOP / Header / Footer
1280px
========================= */
@media screen and (min-width: 1024px){

  body{
    min-width:1280px;
    background:#f3ede7;
  }

  .site-main.gw-top{
    width:100%;
    overflow:hidden;
  }

  /* =========================
  Header
  ========================= */

  .gw-header__menu{
    display:none;
  }

  .gw-header__nav{
    margin-left:auto;
    display:block;
  }

    .gw-header__inner{
    max-width:none;
    padding:24px 36px 0 32px; /* 上 右 下 左 */
  }

  .gw-header__nav-list{
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    align-items:center;
    gap:32px;
  }

  .gw-header__nav-link{
    text-decoration:none;
    color:#1D135F;
    font-family:"Noto Sans JP", sans-serif;
    font-weight:900;
    font-size:20px;
    line-height:1;
    letter-spacing:0;
    white-space:nowrap;
  }

 
  /* =========================
  TOP HERO
  ========================= */

  .top-hero{
    position:relative;
    width:100%;
    height:851px;
    margin-left:0;
    background:#f3ede7;
    overflow:hidden;
  }

  .top-hero__inner{
  max-width:1280px;
  margin:0 auto;
  position:relative;
  z-index:2;
}

.top-hero img{
  position:absolute;
  top:0;
  left:0;

  width:100vw;        /* ← フル幅 */
  min-width:1280px;   /* ← 1280以下も維持 */
  height:100%;

  object-fit:cover;
  z-index:0;
}

.top-hero__media{
  position:absolute;
  top:0;
  left:0;             
  width:100vw;         
  height:851px;
  overflow:hidden;
  z-index:1;
}

  .top-hero__img{
    position:absolute;
    display:block;
    max-width:none;
  }

  .top-hero__img--c{
    width:760px;
    height:auto;
    top:0;
    right:120px;
    left:auto;
  }

  .top-hero__img--d{
    width:860px;
    height:auto;
    top:0;
    right:-10px;
    left:auto;
  }

  .top-hero__content{
    position:absolute !important;
    top:0;
  left:50%;
  transform:translateX(-50%);
  width:1280px;
  height:851px;
  z-index:2;

  margin:0;
  padding:0;
  }

  .top-hero__title{
    position:absolute;
    top:200px;
    left:72px;

    margin:0;

    font-family:"Noto Sans JP", sans-serif;
    font-weight:700;
    font-size:40px;
    line-height:53px;
    letter-spacing:0.14em;
    color:#000;
  }

  /* テキスト */
  .top-hero__text{
    position:absolute;
    top:330px;
    left:72px;

    margin:0;
    width:438px;

    font-family:"Noto Sans JP", sans-serif;
    font-weight:500;
    font-size:20px;
    line-height:34px;
    letter-spacing:0;
    color:#000;
  }
  .top-hero__img--c,
  .top-hero__img--d{
    display:none;
  }

  .top-hero__img--pc{
  position:static; 
  height:100%;
  object-fit:cover;
}

 /* =========================
  斜線（PCだけ上書き）
  ========================= */

  .top-bg-line{
    position:fixed;

    width:752.9px;
    height:2677.5px;

    background:#FFF;
    opacity:0.46;

    border-radius:7.31px;

    transform:rotate(44.12deg);
    transform-origin:left top;

    z-index:-1;    
    pointer-events:none;
  }
  /* =========================
  About Us
  ========================= */

  .about-us{
    background:#f3ede7;
    padding:80px 0 80px;
  }

  .about-us__inner{
    width:100%;
    max-width:1280px;
    margin:0 auto;
    padding:0 58px;
    box-sizing:border-box;
  }

  .about-us__title{
    margin:0 0 24px;
    display:flex;
    align-items:flex-start;
    gap:6px;
  }

  .about-us__en{
    font-size:48px;
    line-height:1;
    color:#39446D;
  }

  .about-us__slash{
    width:44px;
    height:auto;
    top:12px;
    left:-32px;
    position:relative;
  }

  .about-us__jp{
    line-height:1;
    top:32px;
    left: -36px;
    position:relative;
  }

  .about-us__text--pc{
    display:block;
    width:1136px;
    max-width:1136px;

    font-family:"Noto Sans JP", sans-serif;
    font-weight:500;
    font-size:23.4px;
    line-height:42.42px;
    letter-spacing:0;
    color:#000;
  }

  .about-us__text--sp{
    display:none;
  }
  
  .about-us__btn{
    width:178px;
    height:40px;
    padding:0 14px 0 18px;
    border-radius:4px;
    gap:12px;
  }

  .about-us__btn-text{
    font-size:12px;
    line-height:1;
  }

  .about-us__btn-arrow{
    width:24px;
    height:24px;
  }

  .about-us__btn-arrow-svg{
    width:36px;
    height:20px;
  }

  /* =========================
  Business
  ========================= */

  .our-business{
    width:100%;
    padding:0 0 48px;
    box-sizing:border-box;
  }

  .business-hero{
    width:100%;
    max-width:1280px;
    margin:0 auto;
    padding:0 36px 24px;
    box-sizing:border-box;
    background:#f3ede7;
  }

  .business-hero__title{
    position:static;
  }

  .business-hero__our{
    font-size:24px;
    line-height:1;
  }

  .business-hero__main{
    margin:4px 0 0;
    display:flex;
    align-items:flex-start;
    gap:6px;
  }

  .business-hero__en{
    font-size:48px;
    line-height:1;
  }

  .business-hero__slash{
    width:44px;
    height:auto;
    top:12px;
    left:-32px;
    position:relative;
  }

  .business-hero__jp{
    line-height:1;
    top:32px;
    left: -36px;
    position:relative;
  }

  .business-list{
    width:100%;
    max-width:1280px;
    margin:0 auto;
    padding:0 58px;
    box-sizing:border-box;
    display:flex;
    gap:24px;
    align-items:flex-start;
  }

  .business{
    width:calc((100% - 24px) / 2);
  }

  .business__image{
    width:100%;
    margin-left:0;
    position:relative;
    z-index:auto;
    overflow:hidden;
  }

  .business__image img{
    width:100%;
    height:250px;
    object-fit:cover;
    display:block;
  }

  .business__card{
    width:calc(100% - 28px);
    min-height:291px;
    margin:-60px auto 0;
    padding:28px 20px 16px;
    background:#fff;
    border-radius:4px;
    box-sizing:border-box;
    position:relative;
    z-index:auto;
    box-shadow:0 2px 6px rgba(0,0,0,0.14);
  }

  .business__title{
    font-size:36px;
    line-height:1.2;
    margin:0 0 16px;
  }

  .business__text{
    font-size:24px;
    line-height:1.7;
    margin:0 0 18px;
  }

  /* ボタンサイズ */
.business__btn{
    position:absolute;
    left:24px;
    bottom:40px;

    width:204px;
    height:70px;
    padding:0 24px;
    font-size:24px;

    display:flex;
    align-items:center;
    justify-content:space-between;
  }

  /* 矢印丸 */
  .business__arrow{
    width:51px;
    height:51px;
    flex-shrink:0;
  }

  /* 矢印SVG（中身も拡大） */
  .business__arrow-svg{
    width:32px;
    height:28px;
  }

  /* =========================
  News
  ========================= */
  .top-news{
    position: relative;
    z-index: 10;
    padding: 0 0 80px;
  }

  .top-news__inner{
  width:1280px;
  margin:0 auto;
  padding:0 58px;
  box-sizing:border-box;
}

  .top-news__head{
    margin-bottom:48px;
  }

  .top-news__label{
    top:-26px;
    left:20px;
    font-size:20px;
  }

  .top-news__title{
    margin:0;
    height:112px;
    display:flex;
    align-items:center;
    gap:0
  }

  .top-news__en{
    font-size:64px;
    line-height:1;
    color:#39446D;
  }

  .top-news__slash{
    width:44px;
    height:auto;
    top:4px;
    left:-20px;
    position:relative;
  }

  .top-news__jp{
    line-height:1;
    top:12px;
    left: -20px;
    position:relative;
    font-size:20.48px;
  }

  .top-news__list{
    gap:24px;
  }

  .top-news__item{
    padding-bottom:24px;
  }

  .top-news__date{
    margin:0 0 12px;
    font-size:16px;
  }

  .top-news__item-title{
    font-size:24px;
    line-height:1.6;
  }

  /* =========================
  Contact
  ========================= */

  .contact{
    position:relative;
    width:100%;
    max-width:1280px;
    margin:0 auto;
    padding:0 58px 104px;
    box-sizing:border-box;
    overflow:hidden;
    z-index:auto;
  }

  .contact__inner{
    position:relative;
    z-index:auto;
    display:grid;
    grid-template-columns:1fr 1fr;
    column-gap:56px;
    align-items:start;
  }

  .contact__head{
    grid-column:1;
    grid-row:1;
  }

  .contact__title{
    margin:0;
    display:flex;
    align-items:flex-start;
    gap:0
  }

  .contact__en{
    font-size:48px;
    line-height:1;
    color:#39446D;
  }

  .contact__slash{
    width:44px;
    height:auto;
    top:12px;
    left:-20px;
    position:relative;
  }

  .contact__jp{
    line-height:1;
    top:32px;
    left: -20px;
    position:relative;
  }

  .contact__text{
    grid-column:2;
    grid-row:1;
    margin:6px 20px 18px;
    font-size:23.4px;
    line-height:42.42px;
    max-width:501px;
  }

  .contact__btn{
    grid-column:2;
    grid-row:2;
    width:210px;
    height:70px;
    margin:6px 20px 18px;
    border-radius:12px;
    gap:16px;
    justify-content:center;
  }

  .contact__btn-text{
    font-size:23.4px;
    line-height:42.42px;
  }

  .contact__btn-arrow{
    width:36px;
    height:32px;
  }

  .contact__btn-arrow-svg{
    width:32px;
    height:28px;
  }

    /* =========================
  見出し（英語）
  ========================= */

  .about-us__en,
  .business-hero__en,
  .top-news__en,
  .contact__en{
    font-size:64px;
    line-height:1;
  }

  .business-hero__our{
    font-size:35px;
    line-height:1;
  }

  /* =========================
  日本語
  ========================= */

  .about-us__jp,
  .business-hero__jp,
  .contact__jp{
    font-size:20.48px;
    line-height:1;
  }

    .about-us__btn{
    width:342px;
    height:70px;
  }

  .about-us__btn-text{
    font-size:23.4px;
    line-height:1;
  }

  /* =========================
斜線を最背面に固定して、コンテンツだけ前面に出す
========================= */

.site-main.gw-top{
  position:relative;
  overflow:hidden;
  background:#f3ede7;
}

/* 斜線 */
.top-bg-line{
  position:absolute;
  width:752.9px;
  height:2900px;
  background:#FFF;
  opacity:0.46;
  border-radius:7.31px;
  transform:rotate(44.12deg);
  transform-origin:left top;
  z-index:0;
  pointer-events:none;
}

.top-bg-line--1{
  top:103px;
  left:1424px;
}

.top-bg-line--2{
  top:1280px;
  left:1800px;
}

/* セクション背景を消す（斜線を見せる） */
.top-hero,
.about-us,
.business-hero,
.contact{
  background:transparent;
}

/* Contactの疑似背景も消す */
.contact::before{
  display:none;
}

/* コンテンツを斜線より前に出す */
.top-hero,
.about-us__inner,
.business-hero__title,
.business-list,
.contact__inner{
  position:relative;
  z-index:1;
}

/* 画像やカードも前面維持 */
.top-hero__media,
.top-hero__content,
.business__image,
.business__card{
  position:relative;
  z-index:1;
}
}