@charset "utf-8";
/* ==========================================================================
   home
   ========================================================================== */

/* ==========================================================================
   slide
   ========================================================================== */
#slide{
	width: 100vw;
	height: 85vh!important;
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -10;
	background-color: #F1F1F1;
}
@media (min-width: 440px){
#slide{
	height: 100vh!important;
}
}


/* ==========================================================================
   top-hero
   ========================================================================== */
#top-hero{
	width: 100vw;
	height: 80vh;
	overflow: hidden;
	position: relative;
	z-index: 0;
}
@media (min-width: 440px){
#top-hero{
	height: 100vh;
	z-index: -1;
}
}

#top-hero .text_block{
	position: absolute;
	bottom: 31.0vw;
	left: 4.0vw;
	z-index: 1;
}
@media (min-width: 440px){
#top-hero .text_block{
  bottom: 20.5vw;
	left: 3.0vw;
}
}
@media (min-width: 960px){
#top-hero .text_block{
  bottom: 11.5vw;
	left: 3.0vw;
}
}

#top-hero .page-head{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
}

#top-hero h1.head{
	color: #FFF;
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1.4;
	font-feature-settings: "palt" 1;
	letter-spacing: 0.04em;
}
@media (min-width: 440px){
#top-hero h1.head{
	font-size: 3.9rem;
}
}
@media (min-width: 960px){
#top-hero h1.head{
	font-size: 3.6rem;
	font-size: clamp(2.3rem, 2.6vw, 8.0rem);
	line-height: 1;
	font-weight: 700;
	letter-spacing: 0.05em;
}
}


/* loop-text.souwa-eng
============================================================ */
#loop-text.hero-souwa-eng{
	width: 100vw;
	height: 96px;
	position: absolute;
	bottom: -0.8vw;
	left: 0;
}
@media (min-width: 440px){
#loop-text.hero-souwa-eng{
	height: 120px;
	bottom: -0.6vw;
}
}
@media (min-width: 960px){
#loop-text.hero-souwa-eng{
	height: 9.5vw;
	bottom: -0.4vw;
}
}

#loop-text.hero-souwa-eng .loop_inner{
	width: 100vw;
	display: flex;
}
@media (min-width: 960px){
#loop-text.hero-souwa-eng .loop_inner{
	width: 100vw;
}
}

#loop-text.hero-souwa-eng .loop_souwa-eng {
  display: flex;
  gap: 60px;
}

#loop-text.hero-souwa-eng .loop_souwa-eng img {
  width: auto;
	height: 96px;
}
@media (min-width: 440px){
#loop-text.hero-souwa-eng .loop_souwa-eng img {
  width: auto;
	height: 120px;
}
}
@media (min-width: 960px){
#loop-text.hero-souwa-eng .loop_souwa-eng img{
	width: auto;
	height: 9.5vw;
}
}

.loop_hero-souwa-eng + .loop_hero-souwa-eng {
  margin-left: 60px;
}


/* ==========================================================================
   home-intro
   ========================================================================== */
#home-intro{
	background-color: #FFF;
	padding: 50px 0 60px 0;
}
@media (min-width: 960px){
#home-intro{
	padding: 100px 0 120px 0;
}
}

#home-intro .section-head{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 15px;
	z-index: 10;
}
@media (min-width: 960px){
#home-intro .section-head{
	gap: 16px;
}
}

#home-intro .head-en{
	width: 100%;
	height: auto;
	overflow: hidden;
}
@media (min-width: 960px){
#home-intro .head-en{
	width: 1280px;
}
}

#home-intro .head-en svg{
	width: 100%;
	height: auto;
	overflow: visible;
	padding-top: 10px;
}
@media (min-width: 960px){
#home-intro .head-en svg{
	width: 100%;
	padding-top: 20px;
}
}

#home-intro h2.head{
	width: 100%;
	font-size: 1.2rem;
	line-height: 1;
	font-weight: 700;
	letter-spacing: 0.02em;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	gap: 4px;
}
@media (min-width: 960px){
#home-intro h2.head{
	font-size: 1.5rem;
	letter-spacing: 0.06em;
	justify-content: flex-end;
	gap: 6px;
}
}

#home-intro h2.head svg{
	width: 7px;
	height: 7px;
}

#home-intro .text_block{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 34px;
}
@media (min-width: 960px){
#home-intro .text_block{
	flex-direction: row;
	align-items: flex-start;
	justify-content: center;
	gap: 60px;
	padding-bottom: 5px;
}
}

#page-top #home-intro .text_block .head{
	width: 100%;
}
@media (min-width: 960px){
#page-top #home-intro .text_block .head{
	width: 508px;
}
}

#home-intro .text_block .head img{
	width: 100%;
	height: auto;
	display: block;
}

#page-top #home-intro .text_block .article{
	width: 100%;
	font-size: 2.05rem;
	font-weight: 900;
	letter-spacing: 0;
	text-align: justify;
	line-height: 1.7;
}
@media (min-width: 960px){
#page-top #home-intro .text_block .article{
	width: 436px;
	font-size: 2.6rem;
	line-height: 1.7;
	margin-top: 55px;
}
}


/* loop-text.about-us
============================================================ */
#loop-text.about-us{
	width: 100vw;
	height: 90px;
}
@media (min-width: 960px){
#loop-text.about-us{
	height: 130px;
}
}

#loop-text.about-us .loop_inner{
	width: 100vw;
	display: flex;
}
@media (min-width: 960px){
#loop-text.about-us .loop_inner{
	width: 100vw;
}
}

#loop-text.about-us .loop_target_about-us {
  display: flex;
  gap: 24px;
}

#loop-text.about-us .loop_target_about-us .card{
	gap: 0;
}
@media (min-width: 960px){
#loop-text.about-us .loop_target_about-us .card{
	width: 793px;
}
}

#loop-text.about-us .loop_target_about-us .card a{
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 18px;
}

#loop-text.about-us .loop_target_about-us img.text {
  width: auto;
	height: 70px;
	display: inline-block;
}
@media (min-width: 960px){
#loop-text.about-us .loop_target_about-us img.text {
	width: auto;
	height: 114px;
}
}

.loop_target_about-us + .loop_target_about-us {
  margin-left: 24px;
}

/* arrow
========================*/
#loop-text.about-us .loop_target_about-us a .arrow{
	width: 86px;
	height: 86px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	border-radius: 50%;
	background-color: var(--main-color);
	transition: all 0.3s ease;
}
@media (min-width: 960px){
#loop-text.about-us .loop_target_about-us a .arrow{
	width: 130px;
	height: 130px;
}
}

@media (min-width: 960px){
#loop-text.about-us .loop_target_about-us a:hover .arrow{
	transform: scale(1.2);
}
}

#loop-text.about-us .loop_target_about-us a .arrow img{
	width: 20px;
	height: 20px;
}
@media (min-width: 960px){
#loop-text.about-us .loop_target_about-us a .arrow img{
	width: 32px;
	height: 32px;
}
}

@media (min-width: 960px){
#loop-text.about-us a:hover .arrow{
	background-color: var(--main-color);
}
}


/* ==========================================================================
   numbers
   ========================================================================== */
#numbers{
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	background-color: #F0F1F2;
	padding: 60px 0 60px 0;
}
@media (min-width: 960px){
#numbers{
	height: 100vh;
	padding: 120px 0 120px 0;
}
}

#numbers .section_title_block{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 6px;
}
@media (min-width: 960px){
#numbers .section_title_block{
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}
}

#numbers .section_title{
	color: #111111;
	font-size: 3.2rem;
	line-height: 1.4;
	font-weight: 900;
}
@media (min-width: 960px){
#numbers .section_title{
	font-size: 5.6rem;
	line-height: 1;
}
}

/* 横スクロールセクション */
.side-scroll-list-wrapper {
  position: relative;
  width: 100%;
  height: 380px;
	margin-top: 30px;
}
@media (min-width: 960px){
.side-scroll-list-wrapper {
	height: 410px;
	margin-top: 50px;
}
}

.side-scroll-list {
	height: 360px;
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
	gap: 0 20px 0 0;
}
@media (min-width: 960px){
.side-scroll-list {
	height: 410px;
	gap: 0 24px 0 0;
}
}

.side-scroll-item + .side-scroll-item {
  margin-left: 20px;
}
@media (min-width: 960px){
.side-scroll-item + .side-scroll-item {
  margin-left: 24px;
}
}

#numbers ul li.side-scroll-item{
	width: 300px; 
	height: 380px;
	border-radius: 16px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	background-color: #FFFFFF;
	padding: 14px 0 0 0;
}
@media (min-width: 960px){
#numbers ul li.side-scroll-item{
	width: 350px; 
	height: 410px;
	padding: 14px 0 0 0;
}
}

#numbers ul li .number{
	color: #FFF;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.02em;
	text-align: center;
	border-radius: 100px;
	background-color: var(--main-color);
	padding: 8px 16px 6px 16px;
}
@media (min-width: 960px){
#numbers ul li .number{
	font-size: 1.5rem;
	padding: 9px 16px 7px 16px;
}
}

#numbers ul li .head{
	font-size: 2.6rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.04em;
	text-align: center;
	margin: 18px 0 0 0;
}
@media (min-width: 960px){
#numbers ul li .head{
	font-size: 3.3rem;
	margin: 18px 0 0 0;
}
}

#numbers ul li .icon{
	width: auto;
	height: 86px;
	margin: 28px 0 25px 0;
}
@media (min-width: 960px){
#numbers ul li .icon{
	width: auto;
	height: 86px;
	margin: 28px 0 25px 0;
}
}

#numbers ul li .icon img{
	width: auto;
	height: 100%;
}

#numbers ul li .text_block{
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	flex-shrink: 0;
	gap: 6px;
}

#numbers ul li .value{
	color: var(--main-color);
	font-size: 7.8rem;
	font-weight: 700;
	line-height: 1;
	font-feature-settings: "palt" 1;
	letter-spacing: -0.04em;
	text-align: center;
}
@media (min-width: 960px){
#numbers ul li .value{
	font-size: 9.6rem;
}
}

#numbers ul li .value-text{
	color: var(--main-color);
	font-size: 8.0rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.02em;
	text-align: center;
}
@media (min-width: 960px){
#numbers ul li .value-text{
	font-size: 10.0rem;
}
}

#numbers ul li .first-text{
	font-size: 2.6rem;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	margin: 0 -2px -23px 0;
}
@media (min-width: 960px){
#numbers ul li .first-text{
	font-size: 3.2rem;
	margin: 0 -2px -35px 0;
}
}

#numbers ul li .end-text{
	font-size: 2.8rem;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	margin: 0 0 -21px 2px;
}
@media (min-width: 960px){
#numbers ul li .end-text{
	font-size: 3.3rem;
	margin: 0 0 -35px 2px;
}
}


/* ==========================================================================
   home-business
   ========================================================================== */
#home-business{
	padding: 50px 0 50px 0;
}
@media (min-width: 960px){
#home-business{
	padding: 100px 0 80px 0;
}
}

#home-business .section-head{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 14px;
}
@media (min-width: 960px){
#home-business .section-head{
	gap: 15px;
}
}

#home-business .head-en{
	width: 100%;
	height: auto;
	overflow: hidden;
}
@media (min-width: 960px){
#home-business .head-en{
	width: 1280px;
}
}

#home-business .head-en svg{
	width: 100%;
	height: auto;
	overflow: visible;
	padding-top: 10px;
}
@media (min-width: 960px){
#home-business .head-en svg{
	width: auto;
	height: 116px;
	padding-top: 20px;
}
}

#home-business h2.head{
	font-size: 1.2rem;
	line-height: 1;
	font-weight: 700;
	letter-spacing: 0.02em;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	gap: 4px;
}
@media (min-width: 960px){
#home-business h2.head{
	font-size: 1.5rem;
	letter-spacing: 0.06em;
	gap: 6px;
}
}

/* list
========================*/
#home-business .list{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 18px;
	margin: 30px 0 0 0;
}
@media (min-width: 960px){
#home-business .list{
	flex-direction: row;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 34px;
	margin: 66px 0 0 0;
}
}

#home-business .list .card{
	width: 100%; 
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 20px;
	background-color: #F0F1F2;
	position: relative;
	border-radius: 26px;
	box-sizing: border-box;
	padding: 14px;
}
@media (min-width: 960px){
#home-business .list .card{
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	gap: 0;
	padding: 20px;
}
}

@media (min-width: 960px){
#home-business .list .card:nth-child(1){
	padding: 20px 20px 20px 0;
	margin-left: 60px;
}
#home-business .list .card:nth-child(2){
	padding: 20px 0 20px 20px;
	margin-right: 60px;
}
}

/* img_block
========================*/
#home-business .list .card .img_block{
	width: 100%;
	height: auto;
	aspect-ratio: 60 / 40;
	background-color: #AAA;
	border-radius: 14px;
	overflow: hidden;
	position: relative;
}
@media (min-width: 960px){
#home-business .list .card .img_block{
	width: 570px;
	width: 44%;
	aspect-ratio: 60 / 40;
	order: 2;
}
}

@media (min-width: 960px){
#home-business .list .card:nth-child(2) .img_block{
	order: 1;
}
}

#home-business .list .card .img_block img{
	width: auto;
	height: 100%;
}

#home-business .number{
	position: absolute;
	bottom: 10px;
	left: 2px;
}
@media (min-width: 960px){
#home-business .number{
	top: 18px;
	bottom: auto;
	right: 18px;
	left: auto;
}
}

#home-business .card:nth-child(2) .number{
	top: auto;
	bottom: 10px;
	right: auto;
	left: 10px;
}
@media (min-width: 960px){
#home-business .card:nth-child(2) .number{
	top: auto;
	bottom: 18px;
	right: auto;
	left: 18px;
}
}

#home-business .list .card .img_block .number img{
	width: auto;
	height: 76px;
}
@media (min-width: 960px){
#home-business .list .card .img_block .number img{
	height: 140px;
}
}

/* text_block
========================*/
#home-business .list .card .text_block{
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	position: relative;
	box-sizing: border-box;
	z-index: 1;
	padding: 0 7px 6px;
}
@media (min-width: 960px){
#home-business .list .card .text_block{
	width: 56%;
	align-items: flex-start;
	order: 1;
	padding: 0 5.0%;
}
}

@media (min-width: 960px){
#home-business .list .card:nth-child(2) .text_block{
	order: 2;
}
}

#home-business .list .head{
	width: 100%;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.5;
	border-bottom: 1px dashed #CACACA;
	padding-bottom: 15px;
}
@media (min-width: 960px){
#home-business .list .head{
	font-size: 3.4rem;
	font-weight: 700;
	line-height: 1.5;
	padding-bottom: 26px;
}
}

#home-business .list .article{
	font-size: 1.4rem;
	line-height: 1.7;
	text-align: justify;
	margin-top: 15px;
}
@media (min-width: 960px){
#home-business .list .article{
	font-size: 1.6rem;
	line-height: 1.8;
	margin-top: 26px;
}
}

/* more-btn
========================*/
.more-btn{
	width: 100%;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	padding: 20px 0 0 0;
}
@media (min-width: 960px){
.more-btn{
	align-items: center;
	justify-content: flex-end;
	padding: 40px 60px 0 0;
}
}

#home-business .more-btn{
	justify-content: flex-end;
	padding: 20px 5vw 0;
}
@media (min-width: 960px){
#home-business .more-btn{
	justify-content: flex-end;
	padding: 40px 60px 0 0;
}
}

.more-btn a{
	width: auto;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 14px;
}
@media (min-width: 960px){
.more-btn a{
	width: auto;
	gap: 16px;
}
}

.more-btn a .text_block{
	width: auto;
	height: 15px;
	padding-top: 4px;
}
@media (min-width: 960px){
.more-btn a .text_block{
	width: auto;
	height: 25px;
	padding-top: 4px;
}
}

.more-btn a .text_block img{
	width: auto;
	height: 100%;
}


/* arrow
========================*/
.more-btn a .arrow{
	width: 60px;
	height: 60px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	border-radius: 50%;
	background-color: var(--main-color);
}
@media (min-width: 960px){
.more-btn a .arrow{
	width: 66px;
	height: 66px;
	transition: all 0.3s ease;
}
}

@media (min-width: 960px){
.more-btn a:hover .arrow{
	transform: scale(1.2);
}
}

.more-btn a .arrow img{
	width: 16px;
	height: 16px;
}
@media (min-width: 960px){
.more-btn a .arrow img{
	width: 22px;
	height: 22px;
}
}


/* ==========================================================================
   loop-img
   ========================================================================== */
#page-top #loop-img{
	padding: 0;
}
@media (min-width: 960px){
#page-top #loop-img{
	padding: 0;
}
}

#page-top #loop-img .loop_target_l{
	margin-top: 20px;
	margin-bottom: 60px;
}
@media (min-width: 960px){
#page-top #loop-img .loop_target_l{
	margin-top: 30px;
	margin-bottom: 120px;
}
}

#page-top #loop-img .loop_inner{
	width: 600vw;
	display: flex;
}
@media (min-width: 440px){
#page-top #loop-img .loop_inner{
	width: 280vw;
}
}
@media (min-width: 960px){
#page-top #loop-img .loop_inner{
	width: 200vw;
}
}

#page-top #loop-img ul{
	width: 600vw;
	display: flex;
	gap: 20px;
}
@media (min-width: 440px){
#page-top #loop-img ul{
	width: 280vw;
}
}
@media (min-width: 960px){
#page-top #loop-img ul{
	width: 200vw;
}
}

#page-top #loop-img li{
	width: 64vw;
	height: auto;
	aspect-ratio: 1 / 1;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	border-radius: 20px;
}
@media (min-width: 960px){
#page-top #loop-img li{
	width: 25vw;
	max-width: 420px;
	height: auto;
}
}

#page-top #loop-img li img{
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	display: block;
}

.loop_target_r + .loop_target_r {
  margin-left: 20px;
}

.loop_target_l+ .loop_target_l {
  margin-left: 20px;
}


/* ==========================================================================
   home-recruit
   ========================================================================== */
#home-recruit .wrap{
	width: 100%;
	box-sizing: border-box;
	position: relative;
	padding: 0;
	margin: 0 auto;
}
@media (min-width: 960px){
#home-recruit .wrap{
	max-width: 1600px;
	padding: 0;
}
}

#home-recruit .inner{
	background: linear-gradient(104deg, rgba(255, 127, 0, 1) 50%, rgba(0, 166, 255, 1) 50%);
	position: relative;
	overflow: hidden;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 80px 0 160px 0;
}
@media (min-width: 440px){
#home-recruit .inner{
	height: 100vh;
	padding: 80px 0 160px 0;
}
}
@media (min-width: 960px){
#home-recruit .inner{
	height: auto;
	padding: 110px 0 70px 0;
}
}

#home-recruit .inner::before{
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	bottom: 0px;
	left: 0;
	background-image: url(../img/home/recruitment-img-sp.png);
  background-size: 100%;
	background-position: bottom center;
	background-repeat: no-repeat;
}
@media (min-width: 440px){
#home-recruit .inner::before{
	content: '';
	background-image: url(../img/home/recruitment-img-tb.png);
}
}
@media (min-width: 960px){
#home-recruit .inner::before{
	content: '';
	width: 500px;
	height: 100%;
	position: absolute;
	bottom: -2px;
	left: -2px;
	background-image: url(../img/home/recruitment-img1.png);
  background-size: 91%;
	background-position: bottom left;
	background-repeat: no-repeat;
}
}

#home-recruit .inner::after{
	content: '';
}
@media (min-width: 960px){
#home-recruit .inner::after{
	content: '';
	width: 500px;
	height: 100%;
	position: absolute;
	bottom: -2px;
	right: -2px;
	background-image: url(../img/home/recruitment-img2.png);
  background-size: 91%;
	background-position: bottom right;
	background-repeat: no-repeat;
}
}

#home-recruit .text_block{
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

#home-recruit .section-head{
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	z-index: 1;
}

#home-recruit .first-head{
	color: #FFF;
	width: 100%;
	font-size: 2.6rem;
	font-weight: 900;
	line-height: 1;
	text-align: center;
	padding-bottom: 23px;
}
@media (min-width: 440px){
#home-recruit .first-head{
	font-size: 4.2rem;
}
}
@media (min-width: 960px){
#home-recruit .first-head{
	font-size: 5.2rem;
	font-weight: 900;
	padding-bottom: 36px;
}
}

#home-recruit .main-head{
	width: 89%;
	height: auto;
}
@media (min-width: 960px){
#home-recruit .main-head{
	width: 806px;
}
}

#home-recruit .main-head svg{
	width: 100%;
	height: auto;
	overflow: visible;
}
@media (min-width: 960px){
#home-recruit .main-head svg{
	width: 806px;
}
}

#home-recruit .end-head{
	color: #FFF;
	width: 100%;
	font-size: 4.0rem;
	font-weight: 900;
	line-height: 1;
	text-align: center;
	padding-top: 2px;
}
@media (min-width: 440px){
#home-recruit .end-head{
	font-size: 6.2rem;
}
}
@media (min-width: 960px){
#home-recruit .end-head{
	font-size: 8.4rem;
	font-weight: 900;
	padding-top: 2px;
}
}

#home-recruit .article{
	color: #FFF;
	font-size: 1.8rem;
	line-height: 1.7;
	font-weight: 900;
	letter-spacing: 0.03em;
	text-align: justify;
	z-index: 1;
	padding: 0 4%;
	margin-top: 30px;
}
@media (min-width: 440px){
#home-recruit .article{
	padding: 0 20%;
}
}
@media (min-width: 960px){
#home-recruit .article{
	width: 650px;
	font-size: 3.4rem;
	letter-spacing: 0.03em;
	line-height: 1.4;
	padding: 0;
	margin-top: 40px;
}
}

/* recruit-btn
========================*/
.recruit-btn{
	width: 100%;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	box-sizing: center;
	z-index: 1;
	padding: 30px 0 0 0;
}
@media (min-width: 960px){
.recruit-btn{
	align-items: center;
	justify-content: center;
	padding: 44px 0 0 0;
}
}

.recruit-btn a{
	width: auto;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 16px;
}
@media (min-width: 960px){
.recruit-btn a{
	gap: 18px;
}
}

.recruit-btn a .text_block{
	width: auto;
	height: 15px;
	padding-top: 4px;
}
@media (min-width: 960px){
.recruit-btn a .text_block{
	width: auto;
	height: 34px;
	padding-top: 4px;
}
}

.recruit-btn a .text_block img{
	width: auto;
	height: 100%;
}

/* arrow
========================*/
.recruit-btn a .arrow{
	width: 60px;
	height: 60px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	border-radius: 50%;
	background-color: #FFF;
}
@media (min-width: 960px){
.recruit-btn a .arrow{
	width: 90px;
	height: 90px;
	transition: all 0.3s ease;
}
}

@media (min-width: 960px){
.recruit-btn a:hover .arrow{
	transform: scale(1.2);
}
}

.recruit-btn a .arrow img{
	width: 16px;
	height: 16px;
}
@media (min-width: 960px){
.recruit-btn a .arrow img{
	width: 26px;
	height: 26px;
}
}


/* ==========================================================================
   home-overview
   ========================================================================== */
#home-overview{
	padding: 50px 0 60px 0;
}
@media (min-width: 960px){
#home-overview{
	padding: 100px 0 120px 0;
}
}

#home-overview .section-head{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 15px;
	position: absolute;
	top: 0;
	left: 5vw;
	z-index: 1;
}
@media (min-width: 960px){
#home-overview .section-head{
	gap: 2px;
}
}

#home-overview .head-en{
	width: 100%;
	height: auto;
	overflow: hidden;
}
@media (min-width: 960px){
#home-overview .head-en{
	width: 1280px;
}
}

#home-overview .head-en svg{
	width: 100%;
	height: auto;
	overflow: visible;
	padding-top: 10px;
}
@media (min-width: 960px){
#home-overview .head-en svg{
	width: 100%;
	padding-top: 20px;
}
}

#home-overview h2.head{
	font-size: 1.2rem;
	line-height: 1;
	font-weight: 700;
	letter-spacing: 0.02em;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	gap: 4px;
}
@media (min-width: 960px){
#home-overview h2.head{
	font-size: 1.5rem;
	letter-spacing: 0.06em;
	gap: 6px;
}
}

/* text_wrap
========================*/
#home-overview .text_wrap{
	width: 100%; 
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 30px;
	position: relative;
	border-radius: 26px;
	box-sizing: border-box;
	padding: 57px 0 0 0;
}
@media (min-width: 960px){
#home-overview .text_wrap{
	flex-direction: row;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0;
	padding: 290px 0 0 0;
}
}

/* text_block
========================*/
#home-overview .text_block{
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	order: 2;
}
@media (min-width: 960px){
#home-overview .text_block{
	width: 440px;
	padding: 55px 0 0 0;
	order: 1;
}
}

#home-overview .text_block ul{
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 16px;
}
@media (min-width: 960px){
#home-overview .text_block ul{
	gap: 24px;
}
}

#home-overview .text_block ul li{
	width: 100%;
}


#home-overview .text_block ul li a{
	width: 100%;
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	border-bottom: 1px dashed #CACACA;
	padding: 0 0 16px 0;
}
@media (min-width: 960px){
#home-overview .text_block ul li a{
	font-size: 1.8rem;
	padding: 0 0 24px 0;
}
}

/* arrow
========================*/
#home-overview ul li a .arrow{
	width: 36px;
	height: 36px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	border-radius: 50%;
	background-color: var(--main-color);
	transition: all 0.3s ease;
}
@media (min-width: 960px){
#home-overview ul li a .arrow{
	width: 48px;
	height: 48px;
}
}

@media (min-width: 960px){
#home-overview ul li a:hover .arrow{
	transform: scale(1.2);
}
}

#home-overview ul li a .arrow img{
	width: 12px;
	height: 12px;
}
@media (min-width: 960px){
#home-overview ul li a .arrow img{
	width: 16px;
	height: 16px;
}
}

@media (min-width: 960px){
#home-overview ul li a:hover .arrow{
	background-color: var(--main-color);
}
}

/* img_block
========================*/
#home-overview .img_block{
	width: 100%;
	height: auto;
	position: relative;
	order: 1;
}
@media (min-width: 960px){
#home-overview .img_block{
	width: 57.5%;
	order: 2;
}
}

#home-overview .img{
	height: 460px;
	border-radius: 30px 0 0 30px;
	overflow: hidden;
	background-color: #fafafa;
	background-image: url(../img/home/home-overview-img.jpg);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	margin-left: 7vw;
	margin-right: calc(50% - 50vw);
}
@media (min-width: 960px){
#home-overview .img{
	width: 59.2vw;
	max-width: 1100px;
	height: 534px;
	border-radius: 40px;
	margin-left: 0;
	position: absolute;
	top: -180px;
}
}


/* ==========================================================================
   loop-text.souwa-eng
   ========================================================================== */
#loop-text.souwa-eng{
	width: 100vw;
	height: 70px;
}
@media (min-width: 960px){
#loop-text.souwa-eng{
	height: 135px;
}
}

#loop-text.souwa-eng .loop_inner{
	width: 100vw;
	display: flex;
}
@media (min-width: 960px){
#loop-text.souwa-eng .loop_inner{
	width: 100vw;
}
}

#loop-text.souwa-eng .loop_souwa-eng {
  display: flex;
  gap: 60px;
}

#loop-text.souwa-eng .loop_souwa-eng img {
  width: auto;
	height: 70px;
}
@media (min-width: 960px){
#loop-text.souwa-eng .loop_souwa-eng img{
	width: auto;
	height: 135px;
}
}

.loop_souwa-eng + .loop_souwa-eng {
  margin-left: 60px;
}


/* ==========================================================================
   news
   ========================================================================== */
#news{
	padding: 50px 0 60px 0;
}
@media (min-width: 960px){
#news{
	padding: 120px 0 140px 0;
}
}

#news .wrap{
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
}
@media (min-width: 960px){
#news .wrap{
	flex-direction: row;
	align-items: flex-start;
	justify-content: space-between;
}
}

#news .section_side_title_block{
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 8px;
	border-bottom: 0;
	padding: 0 0 0 0;
}
@media (min-width: 960px){
#news .section_side_title_block{
	width: 23%;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 18px;
	border-bottom: 0;
	padding: 0;
}
}

#news .head-en{
	width: 120px;
	height: auto;
	overflow: hidden;
}
@media (min-width: 960px){
#news .head-en{
	width: 180px;
	margin-top: -20px;
}
}

#news .head-en svg{
	width: 120px;
	height: auto;
	overflow: visible;
	padding-top: 10px;
}
@media (min-width: 960px){
#news .head-en svg{
	width: 180px;
	padding-top: 20px;
}
}

#news h2.head{
	font-size: 1.2rem;
	line-height: 1;
	font-weight: 700;
	letter-spacing: 0.02em;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	gap: 4px;
}
@media (min-width: 960px){
#news h2.head{
	font-size: 1.5rem;
	letter-spacing: 0.06em;
	gap: 6px;
}
}

.section_side_title_block h2.head svg{
	width: 7px;
	height: 7px;
}


#news .entry-list{
	width: 100%;
	display: flex;
	flex-direction: column;
	margin: 40px 0 0 0;
}
@media (min-width: 960px){
#news .entry-list{
	width: 74.2%;
	margin: 0;
}
}

#news .entry-list ul{
	width: 100%;
	border-top: 1px dashed #CACACA;
}

#news .entry-list ul li{
	width: 100%;
	border-bottom: 1px dashed #CACACA;
}

#news .entry-list ul li a{
	width: 100%;
	display: flex;
  flex-direction: row;
	align-items: center;
	justify-content: space-between;
	position: relative;
	box-sizing: border-box;
	padding: 25px 0 25px 0;
}
@media (min-width: 960px){
#news .entry-list ul li a{
	padding: 26px 4px 26px 2px;
}
}

#news .entry-list ul li .text_block{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 10px;
}
@media (min-width: 960px){
#news .entry-list ul li .text_block{
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	gap: 0;
}
}

#news .entry-list ul li .data_block{
	display: flex;
  flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	gap: 8px;
	margin: 0 0 0 0;
}
@media (min-width: 960px){
#news .entry-list ul li .data_block{
	width: 220px;
  flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	gap: 20px;
	margin: 0 10px 0 0;
}
}

#news .entry-list ul li .category{
	color: #FFF;
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.04em;
	text-align: center;
	border-radius: 100px;
	background-color: var(--main-color);
	padding: 4px 12px 4px 12px;
}
@media (min-width: 960px){
#news .entry-list ul li .category{
	font-size: 1.3rem;
	padding: 7px 20px 7.4px 20px;
}
}

#news .entry-list ul li .data{
	color: #111;
	font-size: 1.3rem;
	font-family: "Roboto", sans-serif;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1;
	margin: 1px 0 0 0;
}
@media (min-width: 960px){
#news .entry-list ul li .data{
	font-size: 1.5rem;
	letter-spacing: 0.02em;
	text-align: left;
}
}

#news .entry-list ul li h3.title{
	font-size: 1.5rem;
	line-height: 1.3;
	font-weight: 600;
	font-feature-settings: "palt" 1;
	letter-spacing: 0.02em;
	transition: all 0.2s ease;
}
@media (min-width: 960px){
#news .entry-list ul li h3.title{
	font-size: 1.6rem;
	letter-spacing: 0.02em;
}
}

@media (min-width: 960px){
#news .entry-list ul li a:hover .title{
	color: var(--main-color);
}
}

/* arrow
========================*/
#news .entry-list ul li a .arrow{
	width: 36px;
	height: 36px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	border-radius: 50%;
	border: 1px solid var(--main-color);
	box-sizing: border-box;
	transition: all 0.3s ease;
}
@media (min-width: 960px){
#news .entry-list ul li a .arrow{
	width: 40px;
	height: 40px;
}
}

@media (min-width: 960px){
#news .entry-list ul li a:hover .arrow{
	transform: scale(1.1);
}
}

#news .entry-list ul li a .arrow img{
	width: 12px;
	height: 12px;
}
@media (min-width: 960px){
#news .entry-list ul li a .arrow img{
	width: 16px;
	height: 16px;
}
}

/* view-btn
========================*/
.view-btn{
	margin: 20px 0 0 0;
}
@media (min-width: 960px){
.view-btn{
	margin: 40px 0 0 0;
}
}

.view-btn a{
	width: 100%;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	gap: 8px;
}
@media (min-width: 960px){
.view-btn a{
	height: 40px;
	gap: 12px;
}
}

#news .section_side_title_block{
	width: 100%;
	position: relative;
}
@media (min-width: 960px){
#news .section_side_title_block{
	width: auto;
}
}

.view-btn.for-sp{
	position: absolute;
	bottom: -6px;
	right: 0;
}

.view-btn a .text_block{
	width: auto;
	height: 10px;
}
@media (min-width: 960px){
.view-btn a .text_block{
	width: auto;
	height: 13px;
}
}

.view-btn a .text_block img{
	width: auto;
	height: 100%;
}


/* arrow
========================*/
.view-btn a .arrow{
	width: 36px;
	height: 36px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	border-radius: 50%;
	background-color: #FFF;
	border: 1px solid var(--main-color);
	box-sizing: border-box;
}
@media (min-width: 960px){
.view-btn a .arrow{
	width: 40px;
	height: 40px;
	transition: all 0.3s ease;
}
}

@media (min-width: 960px){
.view-btn a:hover .arrow{
	transform: scale(1.2);
}
}

.view-btn a .arrow img{
	width: 12px;
	height: 12px;
}
@media (min-width: 960px){
.view-btn a .arrow img{
	width: 16px;
	height: 16px;
}
}