@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
*/

/* =========================================================
//  トップ
// ========================================================= */
/* ニュースステッカー */
.news_block{
  color: #fff;
  background: linear-gradient(90deg,rgba(0, 30, 129, 1) 0%, rgba(0, 129, 204, 1) 100%);
  width: 98%;
padding: 0.9vw 0 0.4vw;
  margin: 0 0 0 auto;
  border-radius: 5px 0px 0px 5px;
  align-items: center;
  justify-content: center;
  column-gap: 2.5rem;
	
	position: relative;
  top: -110px;

  h2{
    font-size: clamp(2.5rem, -1.1585rem + 6.0976vw, 5.625rem) !important;
	  font-weight: 400;
  }

  .swell-block-button{
    padding-bottom: 0 !important;

    a{
      padding-bottom: 0;

      &::after {
        width: 102px;
        height: 102px;
        right: 10px;
        top: -3px;
      }
    }
  }

  ul{
    border-top:0 !important;

    li{
      height: 80px;
      display: flex;
      align-items: center;

      a{
        border-bottom: 0 !important;
        width: 100%;

        .p-postList__body{
          display:flex;
          align-items:center;
          height:100%;
          column-gap: 1rem;
        }

        h3{
          font-size: clamp(1.125rem, 0.5396rem + 0.9756vw, 1.625rem) !important;
          font-weight:900;
          white-space: nowrap;
          overflow: hidden;
          text-overflow: ellipsis;
        }

        .p-postList__meta{
          column-gap: 0.9rem;

          time{
            font-size: clamp(1rem, 0.4375rem + 1.1719vw, 1.375rem);
            font-family: "League Gothic", sans-serif;
            font-optical-sizing: auto;
            font-style: normal;
            font-variation-settings: "wdth" 100;

            &::before{
              display:none !important;
            }
          }

          .p-postList__cat{
            color:#001E81;
            font-size: clamp(0.8125rem, 0.593rem + 0.3659vw, 1rem);
            font-weight:900;
            text-align: center;
            background:#fff;
            width:140px;
            border-radius:5px;

            &::before{
              display:none !important;
            }
          }
        }
      }
    }
  }
}
.p-postListWrap {
  position: relative;
  width: 60%;
  height: 80px;
  overflow: hidden;
}

.p-postListWrap ul {
  transition: transform 0.5s ease-in-out;
}

/* イントロ */
.top_intro{
	padding-top: 0 !important;
	top: -4rem;
	
	.top_intro_content{
.reveal-text {
  color: #fff;
  font-size: clamp(3.75rem, 0.0915rem + 6.0976vw, 6.875rem) !important;
  font-weight:900;
line-height: 6.4vw;
      margin-bottom: 4vw;
}

.reveal-text .obi {
  position: relative;
  display: block;
  width: fit-content;
  overflow: hidden;
  color: transparent;
}

/* 帯の初期状態 */
.reveal-text .obi::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #01379c;
  transform: translateX(-101%);
}

/* in-view がついたらアニメーション開始 */
.reveal-text.in-view .obi::before {
  animation: reveal-bg 1s ease forwards;
}
.reveal-text.in-view .obi {
  animation: show-text 0s linear forwards;
}

/* 行ごとのディレイ */
.reveal-text.in-view .obi:nth-child(1)::before {
  animation-delay: 0s;
}
.reveal-text.in-view .obi:nth-child(1) {
  animation-delay: 0.5s;
}
.reveal-text.in-view .obi:nth-child(2)::before {
  animation-delay: 0.4s;
}
.reveal-text.in-view .obi:nth-child(2) {
  animation-delay: 0.9s;
}
.gsapTextWrapper {
  width: 50%;
}
	p{
		font-size: clamp(1.25rem, -0.6524rem + 3.1707vw, 2.875rem);
		font-weight:900;
		line-height: 3.6vw;
    	margin-bottom: 0;
	}
.gsapTextWrapper .char {
  color: #D9D9D9; /* 初期色 */
  transition: color 0.3s ease;
}
.gsapTextWrapper .char.active {
  color: #0081CC; /* アニメーション後の色 */
}
	.swell-block-button{
		margin: 4.5rem auto 0 0;
	}
}
}
.top_intro {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.top_intro_bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: url('../../uploads/2026/02/top_intro_04-scaled.jpg');
  background-repeat: no-repeat;
  background-size: 50%;
  background-position: top right;
  filter: grayscale(0);
  z-index: 0;
  will-change: transform;
}
.top_intro_content {
  position: relative;
  z-index: 1;
  color: #000; /* テキスト色 */
 padding-top: 5vw;
	padding-left: 7vw;
}

/* 文字流れる */
.bg-parallax{
	height: 10.2vw;
	background-image: url("../..//uploads/2026/02/WE-WILL-CARVE-OUT-OUR-OWN-FUTURE.svg");
  background-position-y: 65%;
  background-size: auto;
	margin-bottom: 5.5rem;
}

/* 事業紹介 */
.top_business {
	background: linear-gradient(90deg,rgba(0, 30, 129, 1) 0%, rgba(0, 129, 204, 1) 100%);
	
	.slide_card {
		color:#fff;
		
		.swell-block-columns{
				height:100vh;
			
			.swell-block-columns__inner{
				height:100vh;
			}
			
			.leftbox{
				width: 51%;
				position:relative;
				
				.main_img{
					clip-path: polygon(25% 0%, 100% 0%, 75% 100%, 0% 100%);
					margin: 0 !important;
          			position: relative;
          			left: -120px;
          			width: 115%;
          			height: 96%;
					
					img{
						width:100%;
						height:100%;
						object-position: left top;
					}
				}
				.fukidashibox{
					position:absolute;
					bottom: 98px;
          			left: 12vw;
					
					&::before {
  content: "";
  width: 187px;
  height: 179px;
  display: block;
  background-image: url("../../uploads/2026/03/chara.svg");
  background-repeat: no-repeat;
  background-size: cover;
  flex-shrink: 0;
							
			position: absolute;
            z-index: 1;
			bottom: -97px;
            left: -160px;
}
						
					p{
					font-size: clamp(1rem, 0.625rem + 0.7813vw, 1.25rem);
					font-weight: 800;
					width:535px;
					border:5px solid #fff;
					background:#001E81;
					border-radius:20px;
				    padding: 1.7rem 1.5rem 1.6rem 2.5rem;
					position:relative;
						
					&::after {
  content: "";
  width: 74px;
  height: 94px;
  display: block;
  background-image: url("../../uploads/2026/03/fukidashi_tail_b.svg");
  background-repeat: no-repeat;
  background-size: cover;
  flex-shrink: 0;
							
			position: absolute;
            z-index: 0;
            bottom: -53px;
            left: 54px;
}
						
					strong{
						position:relative;
						z-index:1;
					}
					}
				}
			}
			.rightbox{
				width: 42%;
				padding-top: 4vw;
				
				.b_midashi{
					margin-bottom: 3vw;
					
					.en{
						font-size: clamp(1.875rem, 0.7043rem + 1.9512vw, 2.875rem);
					}
					.jp{
						font-size: clamp(2.5rem, 0.7439rem + 2.9268vw, 4rem);
						font-weight:900;
						display:block;
						line-height: 4.5rem;
            			margin-top: -0.9rem;
					}
				}
				h2{
					font-size: clamp(3.4375rem, 1.6082rem + 3.0488vw, 5rem) !important;
					font-weight:900;
					margin: 0 0 3.7rem !important;
					
					span{
						font-size: clamp(1.25rem, -0.0671rem + 2.1951vw, 2.375rem) !important;
						display:block;
						margin-top: 0.5rem;
					}
					
&::before {
  display: block;

	font-size: clamp(6.25rem, -0.3354rem + 10.9756vw, 11.875rem);
  font-family: "League Gothic", sans-serif;
	font-weight: 400;
  font-optical-sizing: auto;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
	
	position:absolute;
  top: 50%;
  transform: translateY(-47%);
  left: -160px;
}
				}
				.txt{
					font-size: clamp(1rem, 0.7073rem + 0.4878vw, 1.25rem);
					font-weight:900;
					line-height: 3rem;
          			margin-bottom: 2.5vw;
				}
				.swell-block-button {
  					margin: 0 auto 0 0;
				}
			}
		}
&:first-child{ .swell-block-columns .rightbox h2::before { content: "01"; } }
&:nth-child(2){ .swell-block-columns .rightbox h2::before { content: "02"; } }
&:nth-child(3){ .swell-block-columns .rightbox h2::before { content: "03"; } }
&:nth-child(4){ .swell-block-columns .rightbox h2::before { content: "04"; } }
	}
  }



/* top_business 全体 */
.top_business {
  position: relative;
  height: 100vh;        /* 画面いっぱい */
  overflow: hidden;
  margin: 0 !important;
  padding: 0 !important;
}

/* 各スライドを重ねる */
.top_business .slide_card {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  z-index: 1;
}

/* 最初のスライドを前面に */
.top_business .slide_card:first-child {
  opacity: 1;
  z-index: 2;
}

/* ナビゲーション */
.business-nav {
  position: fixed;
  right: 7vw;
  bottom: 20px;
  display: flex;
  gap: 24px;
  z-index: 100;
}
.business-nav span {
  opacity: 0.2;
  cursor: pointer;
  transition: all 0.3s ease;

	color:#fff;
	font-size: clamp(1.875rem, 1.1433rem + 1.2195vw, 2.5rem);
  font-family: "League Gothic", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}
.business-nav span.active {
  opacity: 1;
  transform: scale(1.2);
  color: #fff;
  position: relative;
	
	&::before{
content: "";
  position: absolute;
  width: 40px;
  height: 40px;
  background-color: #0081CC;
  border-radius: 50%;
  bottom: 6px;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
	}
}
.slide_card{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
}

.slide_card:not(:first-child){
  opacity:0;
}


.top_enclose {
	.swell-block-fullWide__inner{
		color:#fff;
		background:#000;
		text-align:center;
		padding: 34vw 0 5.5rem !important;
		overflow:hidden;
		
		&::before{
  content:"";
  position:absolute;
  inset:0;
  background:url("../../uploads/2026/03/top_enclose_img-1.jpg") center top / contain no-repeat;
  opacity:var(--bg-opacity,0);
  transition:opacity .1s linear;
  z-index:0;
}
	}

	.txtbox{
		  position:relative;
  			z-index:1;
		
		h2{
			font-size: clamp(3.75rem, 0.0915rem + 6.0976vw, 6.875rem) !important;
  			font-weight: 900;
			line-height: 6.5vw;
  			margin: 0 0 3rem;
		}
		h3{
			margin: 0 0 5.5rem;
			transition-delay: 0.5s;
			
			.en{
				font-size: clamp(6.25rem, -0.3354rem + 10.9756vw, 11.875rem) !important;
				font-weight: 400;
background: linear-gradient(90deg, rgba(0, 30, 129, 1) 0%, rgba(0, 129, 204, 1) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
			}
			.jp{
				font-size: clamp(1.5625rem, 0.6113rem + 1.5854vw, 2.375rem) !important;
				font-weight: 900;
				display:block;
				margin-top: -4.5vw;
			}
		}
		p{
			font-size: clamp(1rem, 0.7073rem + 0.4878vw, 1.25rem);
			font-weight:900;
			line-height: 3rem;
      		margin-bottom: 4rem;
			transition-delay: 1.2s;
		}
		.swell-block-button{
			transition: opacity 1.3s ease-out;
			transition-delay: 1.5s;
		}
	}
}
/* 背景 */
.top_enclose::before{
  content:"";
  position:absolute;
  inset:0;
  background:url("../../uploads/2026/03/top_enclose_img-1.jpg") center / cover no-repeat;
  opacity:0;
  transition:opacity .1s linear;
  z-index:-1;
}

.top_banner {
	padding-top: 0.5rem !important;
	
  .bnr {
a {
  display: block;
  position: relative;
  box-sizing: border-box;
  overflow: hidden;
      /* オーバーレイ */
&::before {
  content: '';
  position: absolute;
	top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  opacity: 0.5;
  mix-blend-mode: multiply;
  pointer-events: none;
  z-index: 1;
transition: opacity 0.3s ease;
}
		&:hover{
			opacity:1;
			
			&::before {
        opacity:0;
      }
		}

      figure {
  margin: 0; 
  z-index: 0;
		  
		  img {
  width: 100%;
  height: auto;
  display: block;
}
}
      h2 {
		  color:#fff;
		  font-size: clamp(1.875rem, -0.6128rem + 4.1463vw, 4rem) !important;
		  font-weight:900;
		  line-height: 4vw;
		  position: absolute;
        top: 2rem;
		  left: 2rem;
        z-index: 3;
		  margin: 0 !important;
		  
		  span{
      position: relative;
			  
			  &::before{
      content:"";
      position:absolute;
      inset:0;
      z-index:-1;
      transform:scaleX(0);
      transform-origin:left;
      transition:transform .35s ease;
    }
    }
      }
    &:hover h2 span::before{
      transform:scaleX(1);
    }
h2 span:nth-child(3)::before{
  transition-delay: .1s;
}
      p {
		  color:#fff;
        position: absolute;
        bottom: 0;
        right: 0;
        z-index: 2;
	padding-bottom: 2.2vw;
      padding-right: 3.5vw;
		  
		  .en{
			  font-size: clamp(3.75rem, 1.5549rem + 3.6585vw, 5.625rem);
		  }
		  .jp{
			  font-size: clamp(1.25rem, 0.372rem + 1.4634vw, 2rem);
			  font-weight:900;
			  display:block;
			  margin-top: -2.5vw;
		  }
		  
		  &::before{  
  content: "";
  display: inline-block;
  width: 176px;
  height: 176px;
  background-color: rgba(255, 255, 255, 0.3);
  -webkit-mask: url("../../uploads/2026/02/logo_big.svg");
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask: url("../../uploads/2026/02/logo_big.svg");
          mask: url("../../uploads/2026/02/logo_big.svg");
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
  position: absolute;
	bottom: 1vw;
  right: 0.8vw;
  z-index: 0;
  /* 中心を基準に縮小 */
  transform-origin: center center;
}

  &::after{
  content:"";
width:443px;
height:354px;
  display:block;
	background-repeat:no-repeat;
position: absolute;
        bottom: 0;
        right: 0;
  z-index:-1;
}
		}
  &:hover p::before {
    animation: spin 3s linear infinite;
  }
  }
      }
  .hs_bnr {
	  a{
  			border: 10px solid #0081CC;
		  
		  &::before {
  background-color: #0081CC;
}
		  p{
			    &::after{
  					background:url("../../uploads/2026/03/top_hs_banner_b.svg");
			  }
		  }
	  }
	}
  .db_bnr {
	  a{
  			border: 10px solid #F9BF00;
		  
		  &::before {
  background-color: #F9BF00;
}
		  p{
			    &::after{
  					background:url("../../uploads/2026/03/top_db_banner_b.svg");
			  }
		  }
	  }
	}
  .hs_bnr h2 span::before{
    background:#0081CC;
  }
  .db_bnr h2 span::before{
    background:#F9BF00;
  }
}

.top_company{
	width: 96% !important;
	margin: 3vw 0 4.4vw auto !important;
  padding-top: 4.3vw !important;
  padding-left: 4vw;
  padding-right: 4.5vw;
  padding-bottom: 3.8vw !important;
	border-radius: 5px 0px 0px 5px;

	.swl-has-mb--s{
		border-radius:5px;
		a{
			color:#fff;
			position: relative;
			overflow:hidden;
			border-radius:5px;
			
      figure{
		  border-radius:5px;
        img{
          border-radius:5px;
          transition: transform .6s ease;
        }
      }
			h2{
				position: absolute;
        		bottom: 1.5vw;
      			left: 2.5vw;
				margin-bottom: 3rem !important;
				
					.en{
						font-size: clamp(3.75rem, 1.5549rem + 3.6585vw, 5.625rem) !important;
						font-weight:400 !important;
						line-height: 1rem;
					}
					.jp{
						font-size: clamp(1.25rem, 0.372rem + 1.4634vw, 2rem) !important;
						font-weight:900 !important;
						display:block;
					}
			}
      /* グラデーションフィルター */
      &::before{
        content:"";
        position:absolute;
        inset:0;
        background: linear-gradient(
          90deg,
          rgba(0, 30, 129, 0.8) 0%,
          rgba(0, 129, 204, 0.8) 70%
        );
        transition: opacity .4s ease;
        z-index:1;
		border-radius:5px;
      }
	&::after {
          content: "";
          display: inline-block;
          width: 176px;
          height: 176px;
          background-color: rgba(255, 255, 255, 0.3);
          -webkit-mask: url("../../uploads/2026/02/logo_big.svg");
          -webkit-mask-position: center;
          -webkit-mask-size: contain;
          -webkit-mask-repeat: no-repeat;
          -webkit-mask: url("../../uploads/2026/02/logo_big.svg");
          mask: url("../../uploads/2026/02/logo_big.svg");
    	mask-repeat: repeat;
    	mask-position-x: 0%;
    	mask-position-y: 0%;
    	mask-size: auto;
          mask-position: center;
          mask-size: contain;
          mask-repeat: no-repeat;
          position: absolute;
          bottom: 2.5vw;
        	right: 1.5vw;
          z-index: 1;
          transform-origin: center center;
  		transform: scale(1);
  		transition: transform 0.3s ease;
        }

      /* hover */
      &:hover{
		  opacity:1;

        &::before{
          opacity:0;
        }
		&::after {
  			transform: scale(1.8);
		}

        img{
          transform: scale(1.05);
        }
      }
		}
		
		&:nth-child(2){
			transition-delay: 0.3s;
      		position: relative;
			top: 60px;
		}
		&:nth-child(3){
			transition-delay: 0.6s;
      		position: relative;
			top: 120px;
			
			.fukidashibox_maru{
					animation-delay: 2s;
					position:absolute;
					top: -248px;
  					right: 2.5vw;
			}
		}
	}
	
.swell-block-button {
  margin-top: 10rem;
}
}

.top_recruit{
	position: relative;
  	overflow: hidden;
	padding-top: 0 !important;
  	padding-bottom: 0 !important;
	
	.swell-block-fullWide__inner{
		background-image: url("../../uploads/2026/03/top_dream_bg.jpg");
  		background-repeat: no-repeat;
  		background-size: cover;
		
    padding-top: 7vw !important;
	padding-bottom: 9.5vw !important;
		
		&::before {
  content: "";
  position: absolute;
	top: 16% !important;
    left: 25% !important;
  width: 45% !important;
    height: 45% !important;
  background: url('../../uploads/2026/03/top_dream_circle.svg') no-repeat center center;
  background-size: cover;
  transform-origin: center center;
  animation: rotate-bg 10s linear infinite;
			opacity:0.3;
}
}
	.txtbox{
		text-align:right;
		width: 82vw;
  		margin: 0 auto;
		position: relative;
		padding-bottom: 5.6rem !important;

	h2{
		font-size: clamp(3.75rem, 0.0915rem + 6.0976vw, 6.875rem) !important;
		font-weight:900 !important;
		line-height: 6.2vw;
      	margin: 0 0 7vw;
	}
		.txt{
			color:#fff;
			font-size: clamp(1.625rem, 0.1616rem + 2.439vw, 2.875rem);
			font-weight:900 !important;
			line-height: 3.6vw;
      		margin-bottom: 3.5vw;

			&:first-child{
				transition-delay: 0.5s;
			}
			&:nth-child(){
 				transition-delay: 1s;
			}
			&:last-child{
				transition-delay: 1.5s;
		}
		}
		.koko{
			display:none !important;
		}
		
		.fukidashibox_maru{
			position:absolute;
			bottom:0;
			left:0;
			text-align:left;
		}
	}
	.linkbox{
		width: 85vw;
  		margin: 0 auto 1.3vw;
		
		.swell-block-columns{
			margin-bottom: 3rem;
			
			.swl-has-mb--s{
				a{
					color:#333;
					
					background:#fff;
					display:block;
					padding: 1.5rem 1.5rem 2.5rem;
          			border-radius: 5px;
					position:relative;
					overflow:hidden;
					
					p{
						position:relative;
						z-index:1;
						
						.en{
							font-size: clamp(1.875rem, -0.0274rem + 3.1707vw, 3.5rem);
						}
						.jp{
							font-size: clamp(1rem, 0.561rem + 0.7317vw, 1.375rem);
							font-weight:900;
							display:block;
							margin-top: -1.4vw;
						}
					}
					
&::after {
          content: "";
          display: inline-block;
          width: 102px;
          height: 102px;
          background-color: rgba(0, 129, 204, 0.4);
          -webkit-mask: url("../../uploads/2026/02/logo_big.svg");
          -webkit-mask-position: center;
          -webkit-mask-size: contain;
          -webkit-mask-repeat: no-repeat;
          -webkit-mask: url("../../uploads/2026/02/logo_big.svg");
          mask: url("../../uploads/2026/02/logo_big.svg");
    	maask-position-x: 0%;
    	mask-position-y: 0%;
    	msk-repeat: repeat;
    	mask-size: auto;
          mask-position: center;
          mask-size: contain;
          mask-repeat: no-repeat;
          position: absolute;
          bottom: 2.5vw;
        	right: 1.5vw;
          z-index: 0;
          transform-origin: center center;
  		transform: scale(1);
  		transition: transform 0.3s ease;
        }
      &:hover{
		  opacity:1;
		  
		  color:#fff;
		  background:#0081CC;
		  
		&::after {
			background-color: rgba(255, 255, 255, 0.4);
  			transform: scale(1.8);
		}
      }
				}
			}
		}
	}
}


.top_intro h2 .char,
.top_recruit h2 .char {
  color: #001E81; /* 初期色 */
  transition: color 0.3s ease;
}

/*----トップアニメーション-----*/
/* 文字_帯 */
@keyframes reveal-bg {
  0% {
    transform: translateX(-101%);
  }
  50% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(101%);
  }
}
@keyframes show-text {
  to {
    color: #333;
    background-repeat: no-repeat;
    background-size: 98% 0.6em;
    background-position: 0 88%;
  }
}
@keyframes rotate-bg {
  from { transform: translate(-50%, -50%) rotate(0deg); }
  to   { transform: translate(-50%, -50%) rotate(360deg); }
}

/*------------------------------------------------------*/
@media screen and (min-width: 960px) and (max-width: 1780px) {
/* トップ */
.news_block {
	padding: 0 0 0 1rem;

  ul {
    li {
      a {
		  .p-postList__body {
          column-gap: 0.5rem;
        }
         .p-postList__meta {
          column-gap: 0;
          flex-direction: column;
          align-items: flex-start;
			 
		.p-postList__cat {
            width: 120px;
          }
        }
      }
    }
  }
}
.p-postListWrap {
  width: 55%;
}
  .top_recruit {
    .txtbox {
      padding-bottom: 9rem !important;
		
		.koko{
			display:block !important;
		}
    }
  }
.top_company {
  .swl-has-mb--s {
    &:nth-child(3) {
      .fukidashibox_maru {
        top: -208px;
		 right:0.5vw;
      }
    }
  }
}
  /*----*/
}
/*------------------------------------------------------*/
@media screen and (min-width: 960px) and (max-width: 1500px) {
/* トップ */
.top_business {
  .slide_card {
    .swell-block-columns {
      .leftbox {
		  .main_img {
          height: 97%;
			left: -90px;
        }
		  
        .fukidashibox {
			left: 18vw;
			
          p {
            width: 285px;
            padding: 1.7rem 1rem 1.6rem 1.5rem;
            font-size: 16px;
          }
        }
      }
.rightbox {
        h2 {
			font-size: 55px !important;
			
          &::before {
            left: -120px;
          }
        }
      }
    }
  }
}
  /*----*/
}
/*------------------------------------------------------------------------------------------------------tb---*/
@media screen and (min-width: 768px) and (max-width: 1279px) {
/* =========================================================
//  トップ（tb）
// ========================================================= */
.news_block {
	padding: 0.4vw 0 0.4vw 1.3rem;
	
  ul {
    li {
      a {
        .p-postList__meta {
          .p-postList__cat {
            width: 105px;
          }
        }
	h3{
		font-size: 16px !important;
	}
      }
    }
  }
.swell-block-button {
    a {
      &::after {
        width: 65px;
        height: 65px;
      }
    }
  }
}
	.p-postListWrap {
  position: relative;
  width: 55%;
  height: 74px;
}
	
.top_intro {
	padding-bottom: 2rem !important;
    margin-bottom: 0 !important;
	
  .top_intro_content {
	  padding-top: 1vw;
	  
    .reveal-text {
      font-size: 47px !important;
    }
p {
      line-height: 5vw;
    }
  }
}

.bg-parallax {
  	height: 13.2vw;
  	margin-bottom: 2.5rem;
	background-size: 140% !important;
}
.top_business {
 .slide_card {
    .swell-block-columns {
      .swell-block-columns__inner {
        height: auto;
        flex-direction: column;
      }
	 .leftbox {
        width: 100%;
		height: 50vh;
		 
		 .main_img {
          left: 0;
          width: 100%;
            height: 100%;
			clip-path: polygon(100% 0, 100% 72%, 79% 100%, 0 100%, 0 0);
			 
			 img{
				 transform: translate(0px) !important;
				 object-position: left center;
			 }
        }

		 .fukidashibox {
          bottom: -82px;
            left: auto;
            right: 16vw;

			 p {
            font-size: 15px;
            width: 400px;
            padding: 1rem 1.5rem;
				 
		&::after {
              width: 56px;
              height: 73px;
              bottom: -37px;
              left: auto;
                right: 20px;
                transform: scaleX(-1);
            }
          }
			 
          &::before {
           width: 133px;
              height: 130px;
              bottom: -63px;
              left: auto;
			  right: -80px;
              transform: scaleX(-1);
          }
        }
		 
      }
	 .rightbox {
        width: 100%;
		 padding: 2vw 2rem;
		 position:relative;
		 
		  &::before {
            display: block;
            font-size: clamp(6.25rem, -0.3354rem + 10.9756vw, 11.875rem);
            font-family: "League Gothic", sans-serif;
            font-weight: 400;
            font-optical-sizing: auto;
            font-style: normal;
            font-variation-settings: "wdth" 100;
            position: absolute;
            top: -48px;
            transform: translateY(-47%);
            left: 2rem;
          }

		 .b_midashi {
          margin-bottom: 3vw;
			 .en {
            font-size: 27px;
          }
		.jp {
            font-size: 27px;
            line-height: 2.5rem;
            margin-top: -0.5rem;
          }
        }
		 h2 {
          font-size: 42px !important;
          margin: 0 0 2rem !important;
        }
		.txt {
          line-height: 2.3rem;
          margin-bottom: 3vw;
        }
		}
    }
&:first-child{ .swell-block-columns .rightbox::before { content: "01"; } }
&:nth-child(2){ .swell-block-columns .rightbox::before { content: "02"; } }
&:nth-child(3){ .swell-block-columns .rightbox::before { content: "03"; } }
&:nth-child(4){ .swell-block-columns .rightbox::before { content: "04"; } }
  }
}
.business-nav {
  right: 13vw;
}
.top_enclose {
	margin-top: -2px !important;
	
	.swell-block-fullWide__inner {
    padding: 34vw 0 3.5rem !important;
  }
	
   .txtbox {
    h2 {
      font-size: 45px !important;
      margin: 0 0 2rem;
    }
	   h3 {
      margin: 0 0 2.5rem;
    }
p {
      font-size: 18px;
      line-height: 2.5rem;
      width: 80%;
      margin: 0 auto 3rem;
	
	.br_sp{
		display:block !important;
	}
    }
  }
}
.top_banner {
  .bnr {
    a {
		h2 {
        top: 1rem;
        left: 1rem;
      }
      p {
		  text-align: right;
		  padding-bottom: 0.5vw;
        	padding-right: 0.5vw;
		  
		.en {
          font-size: 42px;
        }
		.jp {
          font-size: 20px;
        }
		  
        &::before {
          width: 126px;
          height: 126px;
        }
 		&::after {
          width: 423px;
          height: 134px;
        }
      }
    }
  }
}
.top_company {
	 margin: 3vw 0 7.4vw auto !important;
	
  .swl-has-mb--s {
    a {
      h2 {
		  .en{
		  	font-size: 48px !important;
		  }
        .jp {
          font-size: 18px !important;
        }
      }
	&::after {
        width: 106px;
        height: 106px;
        bottom: 1.5vw;
        right: 1vw;
      }
    }
	 &:nth-child(3) {
      .fukidashibox_maru {
        top: -185px;
        right: 0;
      }
    }
  }
.swell-block-button {
    margin-top: 8rem;
  }
}
	
.top_recruit {
 .swell-block-fullWide__inner{
	&::before {
    top: 13% !important;
    left: 24% !important;
    width: 44% !important;
    height: 35% !important;
  }
}
	
  .txtbox {
    h2 {
      font-size: 47px !important;
      line-height: 7vw;
      margin: 0 0 5vw;
    }
.txt {
      font-size: 22px;
      line-height: 4.6vw;
    }
.koko{
	display:block !important;
}
  .fukidashibox_maru p {
    width: 170px;
    height: 170px;
    padding: 1.5rem 1.5rem 1.6rem 2.5rem;
  }
  .fm_left p::after {
    bottom: -23px;
    left: 21px;
  }
  }
.linkbox {
    .swell-block-columns {
      .swl-has-mb--s {
        a {
          padding: 1rem 1rem 2rem;
			
			p {
            .en {
              font-size: 26px;
            }
			.jp {
              font-size: 14px;
            }
          }
			  &::after {
            width: 75px;
            height: 75px;
            bottom: 1.7vw;
          }
        }
      }
    }
  }
}
  /*----*/
}
/*------------------------------------------------------*/
@media screen and (min-width: 744px) and (max-width: 834px) {
  .top_business {
    .slide_card {
      .swell-block-columns {
        .leftbox {
          width: 100%;
          height: 54vh !important;
        }
        .rightbox {
          .txt {
            width: 90%;
          }
        }
      }
    }
  }
  /*----*/
}
/*------------------------------------------------------------------------------------------------------sp---*/
@media screen and (max-width: 767px) {
/* =========================================================
//  トップ（sp）
// ========================================================= */	
.news_block {
	padding: 0.2rem 0 0.2rem 0.5rem;
	column-gap: 1.2rem;
	
  ul {
    li {
		height: 54px;
      a {
		  padding: 0 !important;
          margin: 0 !important;
		  
        .p-postList__meta {
			display:flex;
			flex-direction:column;
			align-items: flex-start;
			
          .p-postList__cat {
           		width: 65px;
          }
        }
		  .p-postList__body {
          column-gap: 0.2rem;
        }
		  
h3 {
            font-size: 12px !important;
          }
      }
    }
  }
.swell-block-button {
    a {
		padding-right: 0 !important;
		
		span {
        font-size: 27px;
        border-bottom: 2px solid;
      }
		
      &::after {
        width: 40px;
          height: 40px;
          right: -17px;
          top: 1px;
      }
    }
  }
}
.p-postListWrap {
  position: relative;
  width: 80%;
	height: 54px;
}
	
.top_intro {
	padding-bottom: 2rem !important;
    margin-bottom: 0 !important;
	top: -5.5rem;
	
  .top_intro_content {
	  padding-top: 1vw !important;
	  padding-left: 4vw !important;
	  
    .reveal-text {
      font-size: 27px !important;
	line-height: 2.5rem;
      margin-bottom: 1.5rem;
    }
p {
      line-height: 2rem;
    }
.gsapTextWrapper {
      width: 74%;
    }
.swell-block-button {
      margin: 1.5rem auto 0 0;
    }
  }
}
.top_intro_bg {
  background-size: 60%;
  background-position: top -30px right -100px;
}

.bg-parallax {
    height: 13.2vw;
    margin-bottom: 0;
    background-size: 140% !important;
    top: -30px;
    position: relative;
  }

.top_business {
 .slide_card {
    .swell-block-columns {
      .swell-block-columns__inner {
        height: auto;
        flex-direction: column;
      }
	 .leftbox {
        width: 100%;
		height: 43vh;
		 
		 .main_img {
          left: 0;
          width: 100%;
            height: 100%;
			 clip-path: polygon(100% 0, 100% 55%, 69% 100%, 0 100%, 0 0);
			 
			 img{
				 transform: translate(0px) !important;
				 object-position: left center;
			 }
        }

		 .fukidashibox {
          bottom: -52px;
            left: auto;
            right: 32px;

			 p {
            font-size: 12px;
				 line-height: 1.4rem;
              width: 220px;
              padding: 0.7rem 1rem;
			border: 3px solid #fff;
				 
		&::after {
              width: 36px;
                height: 45px;
                bottom: -23px;
                left: 86px;
                right: auto;
                transform: scaleX(-1);
            }
          }
			 
          &::before {
          		width: 56px;
              height: 55px;
              bottom: -53px;
              left: 110px;
              right: auto;
              transform: scaleX(-1);
          }
        }
		 
      }
	 .rightbox {
        width: 100%;
		 padding: 2vw 2rem;
	 		position:relative;
		 
		  &::before {
            display: block;
            font-size: 50px;
            font-family: "League Gothic", sans-serif;
            font-weight: 400;
            font-optical-sizing: auto;
            font-style: normal;
            font-variation-settings: "wdth" 100;
            position: absolute;
            top: -24px;
            transform: translateY(-47%);
            left: 2rem;
          }

		 .b_midashi {
          margin-bottom: 3vw;
			 .en {
            font-size: 18px;
          }
		.jp {
            font-size: 17px;
            line-height: 2rem;
              margin-top: -0.6rem;
          }
        }
		 h2 {
          font-size: 23px !important;
          margin: 0 0 1rem !important;
			 
			 &::before {
				 display:none !important;
			 }
		span {
           font-size: 15px !important;
           margin-top: 0;
          }
        }
		.txt {
			font-size: 14px;
			line-height: 1.6rem;
            margin-bottom: 3vw;
            font-weight: 700;
          }
		}
    }
&:first-child{ .swell-block-columns .rightbox::before { content: "01"; } }
&:nth-child(2){ .swell-block-columns .rightbox::before { content: "02"; } }
&:nth-child(3){ .swell-block-columns .rightbox::before { content: "03"; } }
&:nth-child(4){ .swell-block-columns .rightbox::before { content: "04"; } }
  }
}
 .business-nav {
	gap: 1rem;
    right: 22vw;
  }
.business-nav span{
  font-size: 18px;
}
.business-nav span.active {
  &::before {
    width: 20px;
    height: 20px;
  }
}
.top_enclose {
	    margin-top: -2px !important;
	
	.swell-block-fullWide__inner {
    padding: 37vw 0 3.5rem !important;
  }
	
   .txtbox {
    h2 {
      font-size: 24px !important;
      margin: 0 0 2rem;
      line-height: 2.5rem;
    }
	   h3 {
      margin: 0 0 2.5rem;
		   
		   .en {
        font-size: 51px !important;
		   }
		  .jp {
        font-size: 20px;
		}
    }
p {
      font-size: 14px;
      line-height: 2.5rem;
      width: 88%;
      margin: 0 auto 3rem;
      font-weight: 700;
	
	.koko{
		display:block !important;
	}
    }
  }
}
.top_banner {
	padding: 0 !important;

	.swell-block-columns__inner{
		row-gap: 0;
	}
	
  .bnr {
    a {
		h2 {
		font-size: 27px;
        line-height: 2.5rem;
        top: 1rem;
        left: 1rem;
      }
      p {
		  text-align: right;
		  padding-bottom: 0.5vw;
        	padding-right: 0.5vw;
		  
		.en {
          font-size: 42px;
        }
		.jp {
          font-size: 20px;
			margin-top: -5.5vw;
        }
		  
        &::before {
          width: 126px;
          height: 126px;
        }
 		&::after {
          width: 423px;
          height: 134px;
        }
      }
    }
  }
}
.top_company {
	padding-top: 9.3vw !important;
	padding-bottom: 7.8vw !important;
	margin: 3vw 0 12.4vw auto !important;
	
	.midashi_01{
		margin-bottom: 5rem !important;
	}
	
	.swell-block-columns__inner{
		flex-direction: column;
	}
  .swl-has-mb--s {
	  position:relative;
	  
	  	figure{
			width:100%;
			height:100%;
			
			img{
				width:100%;
				height:100%;
			}
		}
	  
    a {
		height: 120px;
		

		
      h2 {
		  position: absolute;
        bottom: 1.2rem;
        left: 1.3rem;
		  margin: 0 !important;
		  
		  .en{
		  	font-size: 42px !important;
		  }
        .jp {
          font-size: 18px !important;
        }
      }
	&::after {
        width: 80px;
          height: 80px;
          bottom: 0.5rem;
          right: 0.5rem;
      }
    }
	 .fukidashibox_maru {
        top: -133px;
        right: 0;
        position: absolute;
      }

&:first-child {
	width: 100%;
	
	figure{
		img{
			object-position: center 63% !important;
		}
	}
    }
&:nth-child(2) {
      transition-delay: 0.3s;
      position: relative;
      top: 0;
      width: 90%;
      margin: 0 0 0 auto;
	
	img{
		object-position: center bottom !important;
	}
}
	 &:nth-child(3) {
		 transition-delay: 0.6s;
      position: relative;
      top: 0;
      width: 80%;
      margin: 0 0 0 auto;
    }
  }
.swell-block-button {
    margin-top: 3rem;
  }
}

.top_recruit {
		.swell-block-fullWide__inner{
			padding-top: 3rem !important;
			
&::before {
    top: 60px !important;
      left: 20% !important;
      width: 250px !important;
      height: 250px !important;
  }
	}
	
  .txtbox {
	  text-align: right;
	  padding-bottom: 12.6rem !important;
	  
    h2 {
      font-size: 33px !important;
        line-height: 3rem;
        margin: 0 0 2rem;
    }
.txt {
      font-size: 19px;
      line-height: 2rem;
    }
  .fukidashibox_maru p strong {
    font-size: 16px;
  }
  }
.linkbox {
	margin: 0 auto 1.3rem;
	
    .swell-block-columns {
      .swl-has-mb--s {
        a {
			padding: 1rem 1rem 1.5rem;
			
		&::after {
            width: 60px;
            height: 60px;
        }
			
          p {
            line-height: 1.8rem;
          }
      }
    }
  }
}
  /*----*/
}