.maps{
margin: 0 auto;
width: 1050px;
}
.ga-t3{
  display: block;
font-weight: 400;
}
.com-g1{
  width: 323px;
float: left;
}
.com-g2{
    width: 323px;
  margin-left: 40px;
float: left;
}
.com-g3{
    width: 323px;
    margin-left: 40px;
float: right;
}
.ga-t3 a{
  color: black;
}
.com-g1-1{
width: 100%;
height: 217px;
position: relative;
background-color: gray;
}
.com-g1-1 img{
  opacity: 0;
}
.com-g1-t{
  margin-top: 1rem;
      font-size: 1.4rem;
        font-weight: bold;
}
.com-gbox{
  width: 1060px;
  margin: 0 auto;
  }
  .ga-box{
    max-width: 1050px;
  margin: 10rem auto 0;
  }
  .ga-t{

    text-align: center;
  font-size: 2.3rem;
  font-weight: bold;
  }
      .ga-t2 li{
            line-height: 3.2rem;}
    .ga-t2{

      margin-top: 5rem;
      text-align:left;
    font-size: 1.6rem;
    font-weight: bold;
    }
.his-l,.his-l2{
    line-height: 4rem;
    font-size: 1.6rem;
      font-weight: bold;
float: left;
}
.his-r{
    line-height: 4rem;
      font-size: 1.6rem;
  font-weight: bold;
}
.his-r2{
  margin-left: 2em;

}
.his-r3{

    line-height: 3rem;
}
.ab-r{
    line-height: 4rem;
      font-size: 1.6rem;
        font-weight: bold;
float:right;
}
.com-box{

width:fit-content;
margin: 4rem auto 0;
}
.ab-box{
width: 580px;
margin: 4rem auto;
}
.com-daihyo{
position: relative;
height: 300px;
}
.com-t1{
  text-align: center;
    font-size: 3.6rem;
  font-weight: bold;
}
.com-t2{
  text-align: center;
    font-size: 2rem;
  font-weight: bold;
  line-height: 4rem;
}
.com-t3{
  z-index: 300;
    left: 50%;
     transform: translateX(-50%);
    position: absolute;
  position: absolute;
  margin-top: 100px;
  text-align: center;
    font-size: 2.5rem;
  font-weight: bold;
  line-height: 4rem;
}
.com-t3 li:first-child{
    font-size: 2rem;
}
.com-gazo{
  overflow: hidden;
   position: relative;
   background-color: gray;
  width: 470px;
  height: 352px;
  margin: 6rem auto 7rem;
}
.com-gazo img{
    left: 50%;
    top: 50%;
    margin-left: -62px;
    margin-top: 8px;
    transform: translate(-50%,-50%);
    max-width: none;
    width: 817px;
position: absolute;

}

.tgazo-t1{
width: 285px!important;
}
.com-back img{
    left: 50%;
     transform: translateX(-50%);
    position: absolute;
  margin-top: 50px;
width: 1145px;
}
.copy01{
  position: absolute;
  z-index: 300;
  width: 564px;
}
.copy03{
  margin-top: -25px;
  margin-left: -93px;
  position: absolute;
  z-index: 300;
  width: 378px;
}
.copy04{
    margin-top: -69px;
    margin-left: 240px;
  position: absolute;
  z-index: 300;
  width: 506px;
}
.copy01-2{
  line-height: 3.5rem;
    z-index: 300;
  position: absolute;
  font-size: 1.6rem;
left:0;
font-weight: bold;
margin-top: 187px;
}
.rec-t{
      font-size: 3.4rem;
    font-weight: bold;
}



.tate{
  margin-left: 6rem;
    -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
font-size: 3.4rem;
  font-weight: bold;
}
.moji1{
  letter-spacing: 0;
  line-height: 3rem;
  margin-top: 3rem;
    font-weight: bold;
font-size: 1.4rem;
}
.pagel{
  margin-left: 120px;
  width: 312px;
  height: 516px;
float: left;
}
.pagel2{
float: left;
}
.pager{
float: right;
}
.pager2{
  margin-top: -0.5rem;
  margin-right: 120px;
  width: 410px;
float: right;
}
.page1g{
width: 100%;
height:718px;
overflow:hidden;
position: relative;
background-color: #c3d6e1;
}
.page1g:after{
  	content: '';
	position: absolute;
	top: 52px;
	left: 0;
	width: 100%;
	height: 600px;
background-image: linear-gradient(0deg, transparent 0 13%, #c3d6e1 100%);
}
.back img{
position: absolute;
    transform: translate(-50%,-50%);
    left: 50%;
        min-width: 3000px;
        width: 100%;
        top: 480px;
}

.topallow_g{
position: absolute;
    transform: translate(-50%,-50%);
    left: 50%;
    top:50%;
    margin-top: 200px;
    width: 80px;
    z-index: 200;
}
.topallow_g img{

}

.topallow{
    width: 6px;
  height: 6px;
  border: 1px solid;
  border-color:  transparent transparent #565656 #565656;
  transform: rotate(-45deg);
  margin: 0 auto;
}
.topgazo{
  float: right;
  overflow: hidden;

position: relative;
max-width: 1142px;
width: 100%;
height: 860px;
display: none;

}

.topgazo img{
  position: absolute;

width: 110%;
max-width: none;
 top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);

}


.topgazo2{
position: static;

width: 1280px;

margin: 19rem auto 0;
}
.topgazo_namebox{
  height: 860px;
  position: relative;
  width: 100%;
  max-width: 133px;
    float: left;
}

.topgazo_name{
text-align: right;
  white-space: nowrap;
  position: absolute;
  transform: rotate(90deg);
color: #00a3dc;
font-size: 1.4rem;
bottom: 219px;
    right: -3.2rem;
}
.topgazo_sen{
    position: absolute;
  width: 120px;
border: 1px #00a3dc solid;
  transform: rotate(90deg);
  bottom:58px;
}

.sen_bottom{
  margin-top: 10px;
    border-bottom: solid 3px black;
}
.dai1{
width: 110px;
margin: 0px auto 0;
}

.dai-moji{
  line-height: 1.8em;
  font-size: 2.8em;
text-align: center;
font-weight: 900;
margin: 10px 0 43px;
}

.dai-moji2{
  padding-left: 53px;
  font-size: 2.4em;
text-align: left;
font-weight: bold;
margin: 20px auto 62px;
max-width: 450px;
  line-height: 1.8em;

}
.dai1-2{
  line-height: 2em;
  font-weight: bold;
  font-size: 1.8em;
text-align: center;
}


/* グラデーションを重ねる設定 */
.tgazo::before {
    content: "";
    position: absolute;
    top: 0;

    width: 50%; /* 左側半分にグラデーション（範囲はお好みで） */
    height: 100%;
    /* 左の白から、右へ向かって透明になる設定 */
    background: linear-gradient(to right, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
    z-index: 2; /* 文字(tgazo-box)より後ろ、画像(tgazo-back)より前に配置 */
    pointer-events: none; /* 下にある要素のクリックを邪魔しない */
}
.tgazo-back img {
  margin-top: -204px;
  margin-left: 125px;
  min-width: 1185px;
}
/* 右からスライド（通常） */
.l-obj-r {
  /* ...既存のスタイル... */
  opacity: 0; /* 最初は消しておく */
}

/* 左からスライド（reverse） */
.reverse .l-obj-r {
  /* ...既存のスタイル... */
  opacity: 0;
}

/* クラスがついたらアニメーション開始 */
.l-obj-r.is-animated {
  animation: slideInRight 0.5s ease-out forwards;
}

.reverse .l-obj-r.is-animated {
  animation: slideInLeft 0.5s ease-out forwards;
}

/* アニメーションの定義は先ほどと同じ */
@keyframes slideInRight {
  0% { transform: translateX(100%) skewX(-15deg); opacity: 0; }
  100% { transform: translateX(0) skewX(-15deg); opacity: 1; }
}

@keyframes slideInLeft {
  0% { transform: translateX(-100%) skewX(-15deg); opacity: 0; }
  100% { transform: translateX(0) skewX(-15deg); opacity: 1; }
}

.l-obj{
    transform: skewX(-15deg);
    left: -46px;
height: 180px;
width: 940px;
position: absolute;
background-color:#e6ebee;
}
.l-obj-r{
  overflow:hidden;
  transform: skewX(-15deg);
  right: -46px;
  top:70px;
height: 180px;
width: 676px;
position: absolute;
background-color:gray;
}
.l-obj-r img{
  position: absolute;
    transform: skewX(15deg);
width: 705px;
left: -30px;
top: -178px;
}
.obj-area{
  width: 100%;
  height: 250px;
  position: relative;
  margin: 170px 0 100px;
}
.reverse .l-obj {
  top: 70px;
    transform: skewX(-15deg); /* -15deg から変更 */
    right: -76px;            /* left から変更 */
    left: auto;              /* もし既存のleftが効く場合はリセット */
    height: 180px;
    width: 940px;
    position: absolute;
    background-color: #e6ebee;
}

/* 文字の歪みを戻すための設定（追加推奨） */
.reverse .l-obj-w {
  position: absolute;
    transform: skewX(15deg);
    display: inline-block;
    top: 72px;
    right: 223px;
margin:auto;
text-align:right;
}

.reverse .l-obj-r {
    overflow: hidden;
    transform: skewX(-15deg); /* -15deg から変更 */
    left: -46px;             /* right から変更 */
    right: auto;
    top: 0px;
    height: 180px;
    width: 676px;
    position: absolute;
    background-color: gray;
}

.reverse .l-obj-r img {
  max-width: none;
    position: absolute;
    transform: skewX(15deg);
    width: 694px;
    left: 40px;
top: -97px;
}
.sec04.reverse .l-obj-r img {
    width: 715px;
    left: 24px;
top: -248px;
}
.ob-title span{
  color: #73af9d;
}
.l-obj-w{
      transform: skewX(15deg);
  margin-top:72px;
  margin-left:203px;
}
.ob-title{
  line-height:1em;
  font-weight: 500;
  font-size: 3.4rem;
      font-family: 'Oswald', sans-serif;
}
.ob-title2{
    font-weight: bold;
    font-size: 1.8rem;
    margin-top: 0.5em;
}
.obj-und-w{
  line-height: 2em;
font-size: 22px;
font-weight: bold;
}
.phi-box{
width: 1050px;
margin: 0 auto;
}
.phi-box2{
  position: relative;
  z-index: 500;
width: fit-content;
margin: 138px auto 150px;
}
.phi-box2 .case-study-text{
      margin-top: 24px;
  font-size:2.2rem;
  font-weight:bold;
}
.case-study-text3{
  margin-top: 2em;
  line-height: 2.2em;
  font-size:1.8rem;
}

.case-study-text2 {
  margin-top:60px;
font-size:1.8rem;
  line-height: 2;
}
.case-study-text {
  margin-top:60px;
font-size:1.8rem;
  display: flex;
  align-items: flex-start; /* 線を一行目の高さに合わせる */
  gap: 15px;               /* 線と文字の間の距離 */
  line-height: 2;
}
.top-c.case-study-text {
  margin-top:30px;
}
.case-study-yoko{
  display: flex;
}
.top-c2.case-study-yoko{
  margin-top:90px;
}

.case-study-yoko > *:first-child {
  width: 300px;
  flex-shrink: 0;
}
.case-study-yoko li {
  list-style: none;     /* デフォルトの点を消す */
  position: relative;
  padding-left: 1em;  /* 点と文字の間のスペース */
  color: #333;          /* 本文の文字色 */
}

.case-study-yoko li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 1em;          /* 上下位置（1行目の中央あたり） */
  width: 4px;           /* 点を小さく（標準は約6〜7px） */
  height: 4px;
  background-color: #333; /* 色を薄く（#cccは薄いグレー） */
  border-radius: 50%;   /* 丸くする */
}
.case-study-yoko2{

  margin-top: 0em;
  font-size:1.8rem;
  line-height: 2em;
  margin-left: 3em;
}
.sec03 .case-study-yoko .case-study-text{
  margin-top: 0px;
}
.sec03 .case-study-text{
  margin-top:60px;
font-size:2.2rem;
font-weight:bold;
  display: flex;
  align-items: flex-start;
  gap: 15px;               /* 線と文字の間の距離 */
  line-height: 2;
}
.case-study-text::before {
  content: "";
  display: inline-block;
  flex-shrink: 0;          /* 線が潰れないように固定 */
  width: 60px;             /* 線の長さ（お好みで） */
  height: 1px;             /* 線の太さ */
  background-color: #333;  /* 線の色 */
  margin-top: 0.9em;       /* 線を文字の中央（高さ）に調整 */
}
.sec03 .l-obj-r img{
width: 1100px;
left: -20px;
top:-58px;
}
.sec05 .l-obj-r img {
  max-width: none;
    width: 857px;
    left: -197px;
    top: -631px;
}
@media screen and (max-width: 650px) {
  .phi-box {
      width: auto;
      margin: 0 20px;
  }
  .obj-area {
    width: 100%;
          height: 112px;
    position: relative;
    margin: 58px 0 52px;
}
.l-obj {
    left: -46px;
    height: 80px;
    width: 290px;
}
.l-obj-r img {
  max-width: none;
          width: 177px;
          left: -6px;
          top: -43px;
}
.l-obj-w {
  margin-top: 21px;
  margin-left: 70px;
}
.obj-und-w {
    font-size: 14px;
}
.case-study-yoko {
    display: flex;
    flex-direction: column;
}
.case-study-yoko2 {
    margin-left: 0em;
}
.sec03 .case-study-text {
    margin-top: 60px;
    font-size: 1.4rem;
  }
  .case-study-yoko2 {
    margin-top: 1em;
    font-size: 1.3rem;
    margin-left: 0em;
}
.top-c2.case-study-yoko {
    margin-top: 70px;
}
.sec04.reverse .l-obj-r img {
    width: 177px;
    left: 15px;
top: -54px;
}
.ob-title {
    font-size: 2.1rem;
  }
  .ob-title2 {
    font-size: 1.3rem;
  }
  .case-study-text::before {
      width: 40px;
    }
  .case-study-text {
    margin-top: 60px;
    font-size: 1.3rem;
    gap: 10px;
  }
  .sec03 .l-obj-r img {
    max-width: none;
    width: 180px;
    left: -10px;
    top: -10px;
}
.reverse .l-obj {
    right: -46px;
    height: 80px;
    width: 290px;
        top: 35px;
}
.case-study-text2 {
    margin-top: 30px;
    font-size: 1.3rem;
  }
  .reverse .l-obj-w {
      top: 21px;
      right: 67px;
  }
  .sec04.reverse .l-obj-w {
      top: 11px;
      right: 67px;
  }
  .sec05 .l-obj-r img {
    width: 193px;
    left: -41px;
    top: -114px;
    max-width:none;
}
.phi-box2 .case-study-text {
    font-size: 1.4rem;
}
.phi-box2 {
    width: auto;
    margin: 50px 20px 150px;
}
.case-study-text3 {
      margin-top: 3em;
    font-size: 1.3rem;
}
.reverse .l-obj-r {
    right:auto;
    left: -13px;
    top: 0px;
    height: 78px;
    width: 170px;
}
.reverse .l-obj-r img {
  width: 172px;
  left: 14px;
  top: -7px;
}
  .l-obj-r {
    right: -15px;
    top: 34px;
    height: 78px;
    width: 170px;
  }
  .page1{
      padding: 40px 0;
  }
  .tgazo-back img {
      margin-left: 51px;
      margin-top: -31px;
      min-width: 429px;
  }
.tgazo-t1{
width: 160px!important;
}
.com-t1{
font-size: 20px;
}
.com-gazo{
  max-width: 230px;
  width: 100%;
height: 160px;
margin: 4rem auto 4rem;
}
.com-t2{
      line-height: 3rem;
font-size: 14px;
}
.com-t3 li:first-child {
    font-size: 16px;
}
.com-t3{
      font-size: 18px;
}
.com-daihyo {
    height: 200px;
}
.com-box {
  padding: 0 1rem;
    max-width: 279px;
    width: 100%;
}
.his-l {
  white-space: nowrap;
    font-size: 16px;}
  .his-l2 {
    float: none;

      font-size: 16px;
    }

.his-l li:nth-child(1){
  padding-top: 1rem;
border-top: 1px solid #c7ced3;
}
.his-l li:nth-child(2n){

line-height: 3rem;
margin-bottom: 1rem;
padding-bottom: 1.5rem;
border-bottom: 1px solid #c7ced3;
}
.his-l2 li:nth-child(2n){

line-height: 3rem;
margin-bottom: 1rem;

}
.com-g1,.com-g2,.com-g3{
  float: none;
}
.com-gbox {
  max-width: 307px;
  width: 100%;
}
.com-g2,.com-g3{
  margin-top: 30px;
margin-left: 0px;
}
.ab-box{
width: 307px;
}
.his-l{
float: none;
text-align: center;
}
.his-r3{
margin-top: 2rem;
}
.maps {
    width: 100%;
}
.maps iframe{
    width: 100%;
}

.ga-t {
  letter-spacing: 0px;
    font-size:18px;
}
.ga-t2{
      font-size:14px;
      font-weight: 400;
}
.ga-t3{
  letter-spacing: 0px;
    font-size:12px;
    font-weight: 400;
}
.ga-box{
  max-width: 307px;
  width: 100%;
}

.com-gazo img {
margin-top: 6px;
    width: 372px;
    margin-left: -29px;
  }
  }
