/* --------------- company --------------- */

#wrap_company{
	width: 100%;
    padding: 100px 0 0;
    overflow: hidden;
}

@media screen and (max-width: 950px) {
	#wrap_company{padding: 60px 0 0;}
	
}

.col_company{
	width: 100%;
	margin: 0;
	padding: 0;
	position: relative;
}

.col_company .deco1{
	width: 906px;
    margin: 0;
    padding: 0;
    position: absolute;
    top: -622px;
    right: 78.6%;
    z-index: 1;
}

.col_company .deco1 circle{
	opacity: 0.4;
    fill: none;
    stroke: #FEDBE8;
    stroke-width: 99;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-miterlimit: 10;
}

.page_title.company{
	margin: 0 0 60px;
	padding: 60px 0 0;
	position: relative;
	z-index: 10;
}

.en_title.company{
	font-size: 78px;
	font-weight: 600;
	text-align: left;
	line-height: 1.5;
	overflow: hidden;
	font-family: 'Barlow';
}



.en_title.company .pink{
	color: #FB005D;
}

.en_title.company span{
	margin: 0;
    padding: 0;
    display: inline-block;
    transform: translateY(100%);
}

.col_company.active .en_title.company span { animation: txtanim1 0.4s forwards linear; }
.col_company.active .en_title.company span:nth-child(2) { animation-delay: 0.03s; }
.col_company.active .en_title.company span:nth-child(3) { animation-delay: 0.06s; }
.col_company.active .en_title.company span:nth-child(4) { animation-delay: 0.09s; }
.col_company.active .en_title.company span:nth-child(5) { animation-delay: 0.12s; }
.col_company.active .en_title.company span:nth-child(6) { animation-delay: 0.15s; }
.col_company.active .en_title.company span:nth-child(7) { animation-delay: 0.18s; }
.col_company.active .en_title.company span:nth-child(8) { animation-delay: 0.21s; }
.col_company.active .en_title.company span:nth-child(9) { animation-delay: 0.24s; }
.col_company.active .en_title.company span:nth-child(10) { animation-delay: 0.27s; }
.col_company.active .en_title.company span:nth-child(11) { animation-delay: 0.3s; }
.col_company.active .en_title.company span:nth-child(12) { animation-delay: 0.33s; }
.col_company.active .en_title.company span:nth-child(13) { animation-delay: 0.36s; }


@-webkit-keyframes txtanim1 {
	0% {
		opacity: 0;
		transform: translateY(100%);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

.page_title.company .submds{
	text-align: center;
	margin: 0;
    padding: 0;
    font-size: 18px;
    font-weight: 700;
    transition: all .8s;
    transition-delay: .5s;
    opacity: 0;
    position: relative;
    top: 15px;
	text-align: left;

}

@media screen and (max-width: 950px) {
	.en_title.company{text-align: center;}
	
	.page_title.company .submds{text-align: center;}
}

.wrap_main_company1{
	display: flex;
	align-items: center;
}

.img_main_company1{
	display: none;
}

@media screen and (max-width: 700px) {
	.col_company .deco1{
		top: -708px;
		right: 29.8%;
	}
	
	.page_title.company{margin: 0 0 2.3vw;}
}


@media screen and (max-width: 450px) {
	.en_title.company{
		font-size: min(12.54vw, 78px);
        line-height: 1.5;
		
	}
	
	.page_title.company{
        padding: 4.5vw 0 0;
	}
}



.cont_company1{
	width: 39%;
	max-width: 433px;
}

.cont_turn_company{
	width: 39%;
	max-width: 433px;
	margin: 0 5vw 0 8.5vw;
	padding: 310px 0 0;
	position: relative;
    top: 15px;
    opacity: 0;
    transition: all .8s;
}

.wrap_main_company1.active .cont_turn_company{
	opacity: 1;
    top: 0;
}

.name_company{
	margin: 76px 0 0;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

.name_company div{ 
	margin: 0 17px 0 0;
	font-size: 17px;
	font-weight: 500;
}
.name_company .img{
	width: 158px;
	margin: 0 17px 0 0;
}

.name_company img img{
	width: 100%;
}

.col_company.active .page_title.company .submds{
	opacity: 1;
    top: 0;
}

.box_main_company1{
	width: 90%;
	max-width: 1136px;
	margin: 0 0 103px auto;
	font-family: Noto sans-serif;
	background-image: url(../img/company/bg_company.jpg);
	background-size: auto;
	background-position: right top;
	background-repeat: no-repeat;
	position: relative;
    top: 15px;
    opacity: 0;
    transition: all .8s;
}



.col_company.active .box_main_company1{
	opacity: 1;
    top: 0;
}

.box_main_company1:before{
	content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 40%;
  height: 100%;
  background: linear-gradient(
    to right,
    rgba(255,255,255,1),
    rgba(255,255,255,0)
  );
  mix-blend-mode: soft-light;
  pointer-events: none;
}

@media (min-width: 1261px) {
  .box_main_company1{
    margin: 0 auto 103px auto; /* 左右 auto → 中央配置 */
  }
  
  
}

@media (max-width: 1260px) {
	.box_main_company1:before{
	content: "";
	  position: absolute;
	  top: 0;
	  left: 24%;
	  width: 40%;
	  height: 100%;
	  background: linear-gradient(
  to right,
  rgba(255,255,255,1) 0%,
  rgba(255,255,255,1) 55%,
  rgba(255,255,255,0.6) 75%,
  rgba(255,255,255,0) 100%
);
	  mix-blend-mode: soft-light;
	  pointer-events: none;
	}
}


.box_ttl_company1{
	margin: 0 0 42px;
    padding: 0 0 14px 33px;
	font-size: 28px;
    font-weight: 700;
    position: relative;
}



.box_ttl_company1::before {
	content: "";
	position: absolute;
	left: 5px;
	top: 9%;
	width: 4px;
	height: 17.5px;
	background: #FB005D;
}

.box_ttl_company1::after {
	content: "";
	position: absolute;
	left: 5px;
	top: calc(9% + 17.5px);
	width: 4px;
	height: 17.5px;
	background: #87167A;
}

.inner_cont_company1{
	position: relative;
    top: 15px;
    opacity: 0;
    transition: all .8s;
}

.wrap_main_company1.active .inner_cont_company1{
	opacity: 1;
    top: 0;
}

.wrap_main_company1.active .inner_cont_company1 p{margin: 0 0 23px;}
@media screen and (max-width: 950px) {
	.box_main_company1{
		width: 100%;
		margin: 0 auto 12.5vw;
		background-image: none;
	}
	
	.wrap_main_company1{
		width: 88%;
		margin: 0 auto;
		display: block;
	}
	
	.img_main_company1{
		width: 100%;
		margin: 0 0 7.7vw;
		display: block;
	}
	
	.img_main_company1 img{width: 100%;}
	
	.cont_company1{
		width: 100%;
		max-width: 100%;
	}
	
	.cont_turn_company{
		width: 100%;
		max-width: 100%;
		margin: 0;
		padding: 0;
	}
	
	.name_company{margin: 50px 0 0;}
	
	.box_main_company1:before{display: none;}
	
	
}

@media screen and (max-width: 700px) {
	.box_ttl_company1{margin: 0 0 4.3vw;}
}

@media screen and (max-width: 450px) {
	.box_ttl_company1{
        padding: 0 0 0 6.2vw;
        font-size: min(38px, 5.43vw);
	}
	
	.box_ttl_company1::before {
        width: 5px;
        height: 3.44vw;
    }
    
	.box_ttl_company1::after {
        width: 5px;
        height: 3.44vw;
        top: calc(9% + 3.44vw);
    }
    .name_company{margin: 7vw 0 0;}
    
    .name_company .img{
    	width: 50%;
    }
    
    .name_company div{font-size: 15px;}
}

.col_overview{
	width: 100%;
	margin: 0;
	padding: 108px 0 115px;
	background: rgb(251 0 93 / 6%);
	position: relative;
}

.col_overview .deco1{
	width: 687px;
    margin: 0;
    padding: 0;
    position: absolute;
    top: -147px;
    left: 70.8%;
}

.col_overview .deco1 circle{
	opacity: 0.4;
    fill: none;
    stroke: #FEDBE8;
    stroke-width: 196;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-miterlimit: 10;
}

.box_overview1{
	width: 92%;
	max-width: 888px;
	margin: 0 auto;
	font-family: Noto sans-serif;
}

.box_overview1 .box_ttl_company1{
	margin: 0 0 0;
}

.box_overview1 dl{
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: flex-start;
	position: relative;
    top: 15px;
    opacity: 0;
    transition: all .8s;
}

.col_overview.active .box_overview1 dl{
	opacity: 1;
    top: 0;
}

.col_overview.active .box_overview1 dl:nth-child(3){transition-delay: .15s;}
.col_overview.active .box_overview1 dl:nth-child(4){transition-delay: .3s;}
.col_overview.active .box_overview1 dl:nth-child(5){transition-delay: .45s;}
.col_overview.active .box_overview1 dl:nth-child(6){transition-delay: .6s;}
.col_overview.active .box_overview1 dl:nth-child(7){transition-delay: .75s;}
.col_overview.active .box_overview1 dl:nth-child(8){transition-delay: .8s;}
.col_overview.active .box_overview1 dl:nth-child(9){transition-delay: .95s;}
.col_overview.active .box_overview1 dl:nth-child(10){transition-delay: 1.1s;}

.box_overview1 dt{
	padding: 20px 10px 20px 15px;
    width: 155px;
    margin: 0 14px 0 0;
    text-align: left;
    line-height: 1.4em;
    font-weight: 700;
    color: #000000;
    box-sizing: border-box;
    border-top: 1px solid #FB005D;
    border-right: 14px solid transparent;
}

.box_overview1 dl:last-of-type dt{
	border-bottom: 1px solid #FB005D;
}

.box_overview1 dd{
	padding: 20px 10px 20px 25px;
	margin: 0;
	width: calc(100% - 169px);
    text-align: left;
    line-height: 1.4em;
    font-size: 15px;
    font-weight: 350;
    color: #000;
    border-top: 1px solid #CDCAC9;
}

.box_overview1 dd a{
	color: #FB005D;
	text-decoration: underline;
}

.box_overview1 dd a:hover{
	text-decoration: none;
}

.box_overview1 dd a.link_company{
	margin: 0 0 5px;
	display: inline-block;
}

.box_overview1 dd a.link_company:last-of-type{
	margin: 0;
}


.box_overview1 dd a.google{
	position: relative;
	padding: 0 18px 0 0;
	margin: 7px 0 0;
    display: inline-block;
}
.box_overview1 dd a.google::before{
	content: "";
	width: 12px;
	height: 11px;
	background-image: url(../img/company/link.svg);
	background-size: 100%;
	position: absolute;
	top: 8px;
	right: 0;
}

.box_overview1  dl:last-of-type dd{
	border-bottom: 1px solid #CDCAC9;
	padding: 20px 10px 30px 25px;
}

.indent1.company{
	margin: 0 0 15px;
	padding-left: 5em;
    text-indent: -5em;
}

.indent1.company:last-of-type{
	margin: 0;
}

@media screen and (max-width: 950px) {
	.col_overview{padding: 90px 0 14vw;}
}

@media screen and (max-width: 700px) {
	.box_overview1 dl{display: block;}
	
	.box_overview1 dt{
		width: 100%;
		margin: 0;
		padding: 20px 10px 0 15px;
	}
	
	.box_overview1 dd{
		width: 100%;
		padding: 10px 10px 20px 30px;
		border-top: none;
	}
	
	.box_overview1 dl:last-of-type dt{border-bottom: none;}
	
	.box_overview1 dl:last-of-type dd{
		padding: 10px 10px 15px 13px;
		border-bottom: 1px solid #FB005D;
	}
	
	.col_overview .deco1{
		width: 600px;
		top: -140px;
		left: 57.8%;
	}
}


@media screen and (max-width: 450px) {
	.box_overview1 dl{
		padding: 4vw 0;
		border-top: 1px solid #FB005D;
	}
	
	.box_overview1 dt{
		padding: 0 10px 0 5px;
		border-top: none;
	}
	
	.box_overview1 dd{
		padding: 10px 10px 0 13px;
		font-size: min(28px , 4.15vw);
	}
	
	.col_overview{padding: 13vw 0 10vw;}
	
	
}



