@charset "utf-8";


/* all
-------------------------------------------------------------------*/
html {
	background:#FFFFFF;
	color:#333333;
	font-family: 'Noto Sans JP',  "游ゴシック Medium", "Yu Gothic Medium" ,"游ゴシック体", "Yu Gothic", YuGothic , 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-size:16px;
	line-height:1.4;
}
html .poppins,
html .poppins form *{
	font-family: "Poppins", sans-serif;
}
body {
	width: 100%;
	font-size: 100%;
	text-align: center;
	min-width:1100px;
	background: transparent !important;
}
main{
	overflow:clip;
	width:100%;
}
.sitewrap {
	width: 1200px;
	min-width:1200px;
	margin: 0 auto;
	text-align: left;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
}

@media screen and (max-width:1200px) {
	body,
	.sitewrap {
		width: 100%;
		min-width:0;
	}	
	.sitewrap > *{
		padding-left:2%;
		padding-right:2%;
	}
}
@media screen and (max-width:767px) {
	html {
		font-size:14px;
	}
	.sitewrap > *{
		padding-left:15px;
		padding-right:15px;
	}
}


/* header
-------------------------------------------------------------------*/
header#fix_menu{
	position: fixed;
	top: 0;
	left:0;
	right:0;
	z-index: 30;
	transition:top .4s .2s;
	max-width:1600px;
	margin:2.5em auto;
	background: rgba(255, 255, 255, 0.6);
	backdrop-filter: blur(8px);
	border-radius:5px;
	box-shadow: 0 0 40px rgba(0,0,0,0.1);
}
.menu_top {
   	position:relative;
   	float: left;
}
.menu_top #site_ttl {
	float:left;
	padding: 19px;
	white-space:nowrap;
}
.menu_top #site_ttl a{
	display:inline-block;
	vertical-align:middle;
}
.menu_bottom {
	float:right;
	width: 27%;
}
.drop_menu{
	max-width:1100px;
	margin:auto;
}
.drop_menu #NavWrap {
	padding: 0;
}
.drop_menu #NavWrap ul {
	margin: 0;
	padding-right: 1em;
	display: flex;
	width:100%;
	box-sizing:border-box;
	justify-content: flex-end;
	align-items: center;
	gap: 3%;
}
.drop_menu #NavWrap ul::after{
	display:none;
}
.drop_menu #NavWrap ul > li {
	width: 25%;
}
.drop_menu #NavWrap li a{
	display: block;
	padding: 32px 0px 34px;
	box-sizing:border-box;
	font-size: 14px;
	width: auto;
	line-height: 1;
	position:relative;
	text-align:center;
	font-weight: bold;
}
.drop_menu #NavWrap li a:hover {
	text-decoration:none;
}
.drop_menu #NavWrap li a span{
	position:relative;
}
.drop_menu #NavWrap li a span em{
	display:none;
}
.drop_menu #NavWrap li a span br{
	display:none;
}
.drop_menu #NavWrap li a span:after{
	content:"";
	width: 100%;
	height:2px;
	display:block;
	position:absolute;
	bottom: -5px;
	left:0;
	background: #0f3156;
	transition: .2s transform;
	transform: scale(0,1);
	transform-origin: right top;
}
.drop_menu #NavWrap li a:hover span:after{
	transform: scale(1,1);
	transform-origin: left top;
}
.drop_menu #NavWrap li.drop_wrap {
	position:relative;
}
.drop_menu #NavWrap li.drop_wrap i{
	display:none;
}
.drop_menu #NavWrap li ul{
	position:absolute;
	width:auto;
	opacity:0;
	visibility:hidden;
	left:50%;
	transform:translateX(-50%);
	transition:opacity .4s;
}
.drop_menu #switch {
	position: absolute;
	display: none;
	opacity: 0;
}
.drop_menu #switch ~ label .menu_open,
.drop_menu #switch ~ label .menu_close{
	display:none;
}
@media screen and (max-width:1600px) {
	header#fix_menu{
		width:calc(100% - 30px);
	}
}
@media screen and (max-width:1180px) {
	.menu_bottom{
		width: 46%;
	}
}
@media screen and (max-width:767px) {
		header .menu_top{
		padding:0;
	}
	.drop_menu #switch ~ label .menu_open,
	.drop_menu #switch ~ label .menu_close{
		position: absolute;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		margin: auto;
		line-height: 1;
		font-size: 12px;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.drop_menu #switch ~ label .menu_open{
		display:flex;
	}
	.drop_menu #switch ~ label .menu_close{
		display:none;
	}
	.drop_menu #switch ~ label {
		display: block;
		cursor: pointer;
		position: fixed;
		top: 25px;
		right: 25px;
		z-index:900;
		transition: 0.5s transform, right 0.2s;
		width: 60px;
		height: 28px;
		box-sizing:border-box;
		background: transparent;
		text-align:center;
		border-radius: 50px;
		border: 1px solid #282828;
		font-size: 12px;
	}
	.drop_menu #switch:checked ~ label{
		right: 25px;
		background: #fff;
	}
	.drop_menu #switch:checked ~ label .menu_open{
		display:none;
	}
	.drop_menu #switch:checked ~ label .menu_close{
		display:flex;
	}
	.drop_menu #NavWrap{
		z-index: 800;
		overflow: auto;
		visibility: hidden;
		box-sizing: border-box;
		transition:all 0.25s;
		position:fixed;
		top: 0;
		left:auto;
		right:-100%;
		padding:0;
		width: 100%;
		height: 100vh;
		background: #1c3b5c;
		padding-top: 6em;
	}
	.drop_menu #NavWrap::-webkit-scrollbar {
		height:10px;
		width:10px;
	}
	.drop_menu #NavWrap::-webkit-scrollbar-track {
		border-radius: 10px;
		background: #b3b3b3;
	}
	.drop_menu #NavWrap::-webkit-scrollbar-thumb {
		border-radius: 10px;
	}
	.drop_menu #switch:checked ~ label+#NavWrap{
		visibility:visible;
		max-height: 100vh;
		top: 0;
	}
	.drop_menu #NavWrap > ul {
		margin-right: 0;
		margin-left: auto;
		display: block;
		border-left:none;
		height: 100%;
		width: 100%;
		padding: 0;
	}
	.drop_menu #NavWrap li a {
		padding: 15px 0;
		text-decoration: none;
		text-align: center;
		width: auto;
		background:rgba(255,255,255,0.9);
	}
	.drop_menu #NavWrap li a span{
		padding: 10px 0px;
		border-left:none;
		white-space: normal;
	}
	header#fix_menu,
	header#fix_menu.fixedMenu{
		top:0;
		transition: none;
		position: fixed;
		margin: 0;
		width: 100%;
		background: none;
		box-shadow: none;
		backdrop-filter: none;
	}
	header .menu_top {
		position: absolute;
		top:0;
		left:0;
		width: calc(100% - 30px);
		z-index: 700;
		background: none;
		padding: 0;
		box-sizing: border-box;
		border-radius: 5px;
		margin: 1em auto;
		right: 0;
		box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
		backdrop-filter: blur(3px);
		background: rgba(255,255,255,0.8);
	}
	header .menu_top #site_ttl{
		padding: 10.5px 10px;
	}
	header .menu_top #site_ttl img{
		max-height: 29px;
		width:auto;
	}
	.drop_menu #switch:checked ~ label+#NavWrap{
		top: 0;
		left:auto;
		right:0;
		bottom: 0;
	}
	.drop_menu #NavWrap ul li {
		display:block;
		padding:0;
		border-bottom:solid 1px #fff;
		width: 100%;
	}
	.drop_menu #NavWrap li a,
	.drop_menu #NavWrap li a:hover{
		font-size: 12px;
		text-align: left;
		width: auto;
		padding: 0;
		text-decoration: none;
		background:none;
		color:#fff;
		border:none;
	}
	.drop_menu #NavWrap li a:hover{
		background:none;
	}
	.drop_menu #NavWrap li a span{
		display:block;
		padding: 17px 20px;
		font-weight:normal;
		background:none;
		line-height: 1.4;
		font-size: 1rem;
	}
	.drop_menu #NavWrap li a span em{
		display:block;
		font-size:2.5rem;
		font-weight:bold;
	}
	.drop_menu #NavWrap li a span br{
		display:block;
	}
	.drop_menu #NavWrap li a span:after{
		display:none;
	}
}

/* contents
-------------------------------------------------------------------*/
main{
	margin-bottom: 0;
	display: block;
	position: relative;
}

/*section_common*/
body.home .scroll-section {
	display: flex;
	padding-block: 15em;
	position: relative;
	z-index: 29;
}
body.home .scroll-wrap{
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 100vh;
	flex-wrap: wrap;
}
body.home .show .scroll-bg {
    opacity: 1;
}
body.home .scroll-bg {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    opacity: 0;
    transition: all 1.5s ease 0s;
    z-index: -1;
    pointer-events: none;
}
body.home .scroll-bg02 {
    background: url(../img/top/bg-communication.jpg) no-repeat top / auto;
}
body.home .scroll-bg03 {
    background: url(../img/top/bg-service.jpg) no-repeat top / auto;
}
body.home .scroll-bg04{
    background: url(../img/top/bg-contact.jpg) no-repeat top / cover;
}
body.home .section_title{
	position:relative;
	z-index:20;
	margin-bottom: 9em;
	width: 100%;
}
body.home .section_title .comminication_style{
	text-align: left;
	font-size: min(12vw,14.0625rem);
	font-weight:bold;
	font-feature-settings:'palt';
	line-height: 1;
	max-width: max-content;
	margin: 0 auto 0.375em;
	letter-spacing: -0.05em;
}
body.home .section_title .comminication_style .txt-blue{
	color:#0f3156;
	line-height: 0.65;
	display: inline-block;
}
body.home .section_title .comminication_style .txt-blue span{
	display:block;
	line-height: 1;
	font-size: min(12vw,14.0625rem);
	padding-left: 2.6em;
}
body.home .section_title .comminication_style .txt-blue span i{
	width: 19%;
	display: inline-block;
	padding-left: 1%;
	position: relative;
	right: -3%;
}
body.home .section_title .comminication_style .txt-blue span i img{
	max-width:100%;
	height:auto;
}
body.home .section_title .comminication_style .txt-transparent{
	display:block;
	line-height: 0.8;
	text-align: left;
	color: transparent;
	-webkit-text-stroke: 2px rgb(15, 49, 86);
	padding-left: 0.5em;
	letter-spacing: 0.01em;
}
body.home .section_title .comminication_style02{
	font-size:2.25rem;
	font-weight:bold;
	text-align:center;
	color:#0f3156;
	margin-bottom:0.5em;
	letter-spacing: 0.1em;
}
body.home .section_title p{
	font-size:1.75rem;
	color:#0f3156;
	font-weight:bold;
	letter-spacing: 0.1em;
}
body.home .top_style{
	position:relative;
	z-index:5;
	font-size:2.625rem;
	font-weight:bold;
	padding-bottom:1.5em;
	margin-bottom:1.5em;
}
body.home .top_style:before{
	content:"";
	width:15px;
	height:2px;
	background:#0f3156;
	position:absolute;
	left:0;
	bottom:0;
}
body.home .top_style.txt-blue{
	color:#0f3156;
}
body.home .top_style.txt-white{
	color:#fff;
}
body.home .top_style.txt-white:before{
	background:#fff;
}
@keyframes infinity-scroll-left {
	from {
	  transform: translateX(0);
	}
	  to {
	  transform: translateX(-100%);
	}
}
body.home .txt-slider{
	display: flex;
	overflow: hidden;
	margin-block: 10em;
}
body.home .txt-slider .slider-list {
  display: flex;
  list-style: none;
  padding: 0;
  width: 270%;
  height: 183px;
}
body.home .txt-slider .slider-list  {
  animation: infinity-scroll-left 20s linear 0.5s both  infinite;
}
body.home .txt-slider .slider-list li {
  width: calc(129vw / 2);
  font-size: min(12.5vw,15em);
  line-height: 183px;
  font-weight:bold;
  display: flex;
  justify-content: center;
  align-items: flex-end;
}
body.home .txt-slider .slider-list li.slider-blue{
	color:#0f3156;
}
body.home .txt-slider .slider-list li.slider-white{
	color:#fff;
}
body.home .txt-slider .slider-list li.slider-transparent{
	text-align:center;
	color: transparent;
	-webkit-text-stroke: 2px rgb(15, 49, 86);
	display: block;
	display: flex;
	justify-content: center;
	align-items: center;
	color: transparent;
}
body.home .txt-slider .slider-list li.slider-transparent img{
	max-width:100%;
	height:auto;
}
body.home .txt-slider .slider-list li.slider-transparent.border-blue{
	-webkit-text-stroke: 2px rgb(15, 49, 86);
}
body.home .txt-slider .slider-list li.slider-transparent.border-white{
	-webkit-text-stroke: 2px rgb(255, 255, 255);
}
@media screen and (max-width:1200px) {
	body.home .scroll-section {
		padding-block: 10em;
	}
	body.home .section_title .comminication_style02{
		font-size:1.75rem;
	}
	body.home .section_title p{
		font-size:1.25rem;
		color:#0f3156;
	}
	body.home .section_title{
		margin-bottom:5em;
		padding: 0 15px;
	}
	body.home .txt-slider{
		margin-block:5em;
	}
	body.home .top_style{
		font-size:2rem;
	}
}
@media screen and (max-width:768px) {
	body.home .scroll-bg02 {
		background-image: url(../img/top/bg-communication_sp.jpg);
		background-size: cover;
	}
	body.home .scroll-bg03 {
		background-image: url(../img/top/bg-service_sp.jpg);
		background-size: cover;
	}
	body.home .scroll-bg04{
		background-image: url(../img/top/bg-contact_sp.jpg);
		background-size: cover;
	}
	body.home .scroll-section {
		padding-block: 7em 13em;
	}
	body.home .section_title{
		padding:0 15px;
	}
	body.home .section_title .comminication_style{
		font-size:3.64rem;
		margin: 0 auto 1em;
	}
	body.home .section_title .comminication_style .txt-blue span{
		font-size:3.64rem;
		padding-left: 2em;
	}
	body.home .section_title .comminication_style .txt-blue span i{
		width: 17%;
	}
	body.home .section_title .comminication_style .txt-transparent{
		-webkit-text-stroke:1px rgb(15, 49, 86);
		padding-left: 0.25em;
	}
	body.home .section_title .comminication_style02{
		font-size:1.5rem;
		line-height:1.875;
		margin-bottom:0.75em;
	}
	body.home .section_title p{
		font-size:1.14rem;
	}
	body.home .txt-slider .slider-list{
		height:auto;
	}
	body.home .txt-slider .slider-list li {
	  font-size: min(18.5vw,8.57em);
	  width: calc(340vw / 2);
	  line-height: 1;
	  margin-right: 2%;
	}
	body.home .txt-slider .slider-list li.slider-transparent{
		-webkit-text-stroke: 1px rgb(15, 49, 86);
		display: block;
	}
	body.home .txt-slider .slider-list li.slider-transparent.border-blue{
		-webkit-text-stroke: 1px rgb(15, 49, 86);
	}
	body.home .company .txt-slider .slider-list li.slider-blue{
		width: auto;
	}
	body.home .company .txt-slider .slider-list li.slider-transparent.border-blue{
		line-height: 60px;
		width: 94vw;
		justify-content: center;
		display: flex;
		align-items: center;
	}
	body.home .txt-slider .slider-list li.slider-transparent.border-white{
		-webkit-text-stroke: 1px rgb(255, 255, 255);
	}
	body.home .txt-slider{
		margin-block: 4em;
	}
}

/*first_movie*/
body.home .first_movie{
	position: fixed;
	z-index:3500;
	top:0;
	bottom:0;
	left:0;
	right:0;
	margin:auto;
	opacity: 1;
	transition: .5s opacity;
	pointer-events: none;
	overscroll-behavior: contain;
	background: #000;
	overflow: hidden;
}
body.home .first_movie video{
	min-width: 100%;
	min-height: 590px;
	height:  auto;
	position:  absolute;
	top: 0;
	bottom: 0;
	left:0;
	right:0;
	margin:  auto;
	z-index:5;
	background: #000;
}
body.home .first_movie p{
	font-size: 5.75vw;
	position:absolute;
	left: 0;
	top: 0;
	margin:auto;
	z-index:20;
	color:#fff;
	width: max-content;
	right: 0;
	bottom: 0;
	margin: auto;
	height: 2.75em;
	text-shadow: 0 0  10px rgba(0,0,0,0.6);
}
body.home .first_movie.movie-hidden{
	opacity: 0;
}
copy_1 {

  }
@media screen and (max-width:1600px) {
	body.home .first_movie video{
		width:200vw;
		height:100vh;
		left:50%;
		right:auto;
		transform:translateX(-50%);
	}
}
@media screen and (max-width:1360px) {
	body.home .first_movie p{
		font-size:min(7.1vw,6em);
	}
}
@media screen and (max-device-width:1200px) {
	body.home .first_movie video{
		width:300vw;
		left:20%;
	}
}
@media screen and (max-width:768px) {
	body.home .first_movie video{
		min-width:0;
		min-height:0;
		height: 100vh;
		width: 400vw;
		left: 3%;
	}
	body.home .first_movie p{
		font-size:2.5rem;
	}
}
@media screen and (max-width:360px) {
	body.home .first_movie p{
		font-size:2rem;
	}
	body.home .first_movie video{
		width:500vw;
	}
}
/*visual*/
body.home .visual,
body.home .visual-section{
	min-height: 100vh;
	position: absolute;
	z-index: 30;
	left: 0;
	right: 0;
	top: 0;
	margin: auto;
}
body.home .visual{
	min-height: 100vh;
	opacity: 0;
	position: fixed;
}
body.home .visual.once{
	opacity:1;
	background:#fff;
}
body.home .visual-section{
	position:relative;
	z-index:5;
}
body.home .visual .position,
body.home .visual-section .position{
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin:auto;
	text-align: center;
	width: 700px;
	height: 616px;
	z-index: 2;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}
body.home .visual .position .visual-bg,
body.home .visual-section .position .visual-bg{
	position:absolute;
	top: 0;
	left: 0;
	right: 0;
	width: 50%;
	height: 100%;
	z-index:0;
	margin: 0 auto;
}
body.home .visual .position .logo,
body.home .visual-section .position .logo{
	margin-bottom: 4em;
}
body.home .visual .position .mv-txt,
body.home .visual-section .position .mv-txt{
	position:relative;
}
body.home .visual .position .mv-txt .mv_style,
body.home .visual-section .position .mv-txt .mv_style{
	font-size:3.875rem;
	font-weight:500;
	margin-bottom:0.25em;
	display: block;
}
body.home .visual .position .mv-txt .gray-txt,
body.home .visual-section .position .mv-txt .gray-txt{
	color:#989898;
	font-size:1.125rem;
	font-weight:bold;
}
@media screen and (max-width:767px) {
	body.home .visual,
	body.home .visual-section{
		background-size:38%;
	}
	body.home .visual .position,
	body.home .visual-section .position{
		width:100%;
		height: 50%;
	}
	body.home .visual .position .logo,
	body.home .visual-section .position .logo{
		width: 31.7%;
		margin: 0 auto 1em;
	}
	body.home .visual .position .logo img,
	body.home .visual-section .position .logo img{
		max-width:100%;
		height:auto;
	}
	body.home .visual .position .mv-txt .mv_style,
	body.home .visual-section .position .mv-txt .mv_style{
		font-size:1.857rem;
		font-weight:bold;
	}
	body.home .visual .position .mv-txt .gray-txt,
	body.home .visual-section .position .mv-txt .gray-txt{
		font-size:1rem;
	}
	body.home .visual .position .visual-bg img,
	body.home .visual-section .position .visual-bg img{
		max-width:100%;
		height:auto;
	}
	body.home .visual .position .visual-bg,
	body.home .visual-section .position .visual-bg{
	position:absolute;
	top: 0;
	left: 0;
	right: 0;
	width: 50%;
	height: 100%;
	z-index:0;
}
}

/*comminication*/
body.home .comminication .sitewrap{
	overflow:visible;
}
body.home .comminication_col{
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:5%;
}
body.home .comminication_col .comminication_img{
	width:40%;
}
body.home .comminication_col .comminication_img{
	width: 50%;
	text-align: right;
}
body.home .comminication_col .comminication_img img{
	position:relative;
	right: 43%;
}
body.home .comminication_col .comminication_txt{
	width: 40%;
}
body.home .comminication_col .comminication_txt p{
	font-size:1.125rem;
	font-weight: 500;
	line-height:2.25;
	color:#0f3156;
}
@media screen and (max-width:1200px) {
	body.home .comminication_col .comminication_img{
		width: 50%;
	}
	body.home .comminication_col .comminication_img img{
		right:0;
		max-width:100%;
		height:auto;
	}
	body.home .comminication_col .comminication_txt{
		width: 45%;
	}
	body.home .comminication_col .comminication_txt p{
		font-size:1rem;
	}
}
@media screen and (max-width:768px) {
	body.home .comminication_col{
		gap:2em;
		flex-wrap:wrap;
	}
	body.home .comminication_col .comminication_img{
		width:100%;
	}
	body.home .comminication_col .comminication_txt{
		width:100%;
	}
	body.home .comminication_col .comminication_txt p{
		font-size:1rem;
		font-weight:normal;
		text-align:center;
	}
}

/*company*/
body.home .company{
	position:relative;
	z-index:4;
	overflow: hidden;
}
body.home .company_wrap{
	position:relative;
}
body.home .company .company_area{
	position:relative;
	display:flex;
	justify-content:space-between;
	align-items:stretch;
	flex-wrap:wrap;
	gap:2%;
}
body.home .company .company_area .company_list{
	width: 46%;
}
body.home .company .company_area .company_list li{
	position:relative;
	z-index:4;
	padding-bottom:2em;
	margin-bottom: 2.5em;
	border-bottom: 1px solid #0f3156;
}
body.home .company .company_area .company_list li:last-child{
	margin-bottom:0em;
}
body.home .company .company_area .company_list li .company_col{
	display:flex;
	justify-content:flex-start;
	align-items:stretch;
	flex-wrap:wrap;
	gap: 2%;
	font-size:1.125rem;
	font-weight:500;
	color: #0f3156;
}
body.home .company .company_area .company_list li .company_col p{
	line-height:1.875;
}
body.home .company .company_area .company_list li .company_col .company_tit{
	width: 17%;
}
body.home .company .company_area .company_list li .company_col .company_txt{
	width: 81%;
}
@media screen and (max-width:1200px) {
	body.home .company .company_area .company_list li{
		padding-bottom:1.5em;
		margin-bottom:2em;
	}
	body.home .company .company_area .company_list li .company_col{
		font-size:1rem;
	}
}
@media screen and (max-width:768px) {
	body.home .company .company_area{
		gap:1em;
	}
	body.home .company .company_area .company_list{
		width:100%;
	}
}

/*.service*/
body.home .service {
	position: relative;
}
body.home .service .txt-slider{
	margin:0;
}
body.home .service_wrap{
	margin: 8em auto 5em;
}
body.home .service_wrap .service_area p{
	color:#fff;
	font-size:1.125rem;
	font-weight:500;
	line-height:2.5;
}
body.home .service .txt-slider .slider-list li {
  width: calc(121vw / 2);
}
body.home .service .servise-scroll{
	position:relative;
	margin: auto;
	padding: 0 15px;
	width: 100%;
	height: 300vh;
}
body.home .service .service-scroll_wrap{
	position: sticky;
	inset: 0;
	width:100%;
	height:100vh;
}
body.home .service .servise-item{
	max-width:1720px;
	z-index:15;
	position: absolute;
	top: 0;
	margin: 0 auto;
	height: 100%;
	will-change: transform;
	left: 0;
	right: 0;
	top: 15%;
}
body.home .service .servise-item_wrap{
	position: relative;
	padding:50px;
	background:#fff;
}
body.home .service .servise-item .servise-item_col{
	display:flex;
	justify-content:space-between;
	align-items:center;
	flex-wrap:wrap;
	gap:5%;
}
body.home .service .servise-item .servise-item_col .servise-item_txt{
	width: 53%;
	text-align: left;
	padding: 0 80px;
}
body.home .service .servise-item .servise-item_col .servise-item_image{
	width: 42%;
}
body.home .service .servise-item .servise-item_col .servise-item_txt .servise-item_tit{
	margin-bottom:3em;
}
.service .servise-item .servise-item_col .servise-item_txt .servise-item_tit p{
	font-size:1.125rem;
	line-height:1.75;
	font-weight:500;
}
body.home .service .servise-item .servise-item_col .servise-item_txt .servise_style{
	font-size:3.5rem;
	font-weight:bold;
	margin-bottom:1em;
	font-feature-settings: 'palt';
	color: #0f3156;
}
body.home .service .servise-item .servise-item_col .servise-item_txt .servise_style span{
	display:block;
	font-size:2rem;
	font-weight:500;
}
body.home .service .servise-item .servise-item_col .servise-item_txt .servise-item_des{
	font-size:1.125rem;
	line-height:1.875;
	font-weight:500;
}
@media screen and (max-width:1650px) {
	body.home .service .servise-item .servise-item_col .servise-item_image img{
		max-width:100%;
		height:auto;
	}
}
@media screen and (max-width:1200px) {
	body.home .service_wrap{
		margin:5em auto 3em;
	}
	body.home .service_wrap .service_area p{
		font-size:1rem;
	}
	body.home .service .servise-item .servise-item_col .servise-item_txt{
		padding: 0 10px;
		width: 51%;
	}
	body.home .service .servise-item .servise-item_col .servise-item_txt .servise_style{
		font-size: 2.5rem;
	}
	body.home .service .servise-item .servise-item_col .servise-item_txt .servise_style span{
		font-size:1.5rem;
	}
	body.home .service .servise-item .servise-item_col .servise-item_txt .servise-item_des{
		font-size:1rem;
	}
	
}
@media screen and (max-width:768px) {
	body.home .scroll-section.service{
		padding-block: 3em 15em;
	}
	body.home .service .txt-slider .slider-list li {
	  width: calc(188vw / 2);
	}
	body.home .service_wrap .service_area p{
		line-height:2;
	}
	body.home .service .servise-item{
		top: 14%;
	}
	body.home .service .servise-item_wrap{
		padding:0;
		margin-top: 3%;
	}
	body.home .service .servise-item .servise-item_col{
		gap:5em;
	}
	body.home .service .servise-item .servise-item_col .servise-item_txt{
		width:100%;
		padding:25px 25px 0;
	}
	body.home .service .servise-item .servise-item_col .servise-item_image{
		width:100%;
	}
	body.home .service .servise-item .servise-item_col .servise-item_txt .servise-item_tit{
		margin-bottom:2em;
	}
	body.home .service .servise-item .servise-item_col .servise-item_txt .servise-item_tit p{
		font-size:1rem;
	}
	body.home .service .servise-item .servise-item_col .servise-item_txt .servise_style{
		font-size:2rem;
	}
	body.home .service .servise-item .servise-item_col .servise-item_txt .servise_style span{
		font-size:1rem;
	}
	body.home .service .servise-item .servise-item_col .servise-item_txt .servise-item_des{
		font-size:1rem;
	}
}

/*works*/
body.home .works.scroll-section {
	padding-bottom: 32em;
}
body.home .works .txt-slider{
	margin:0;
	position: relative;
	z-index: 1;
}
body.home .works .txt-slider .slider-list li {
  width: calc(100vw / 2);
}
body.home .works .bg-image{
	margin:0 auto;
	width: 100%;
}
body.home .works .image-list{
	position: absolute;
	opacity: 0;
	transform: translateY(40px);
}
body.home .works .image-list img{
	max-width:100%;
	height:auto;
}
body.home .works .list1{
	left: 9%;
	top: 20%;
	z-index: 0;
	width: 21.1%;
}
body.home .works .list2{
	left: 11%;
	top: 35%;
	z-index: 1;
	width: 11%;
}
body.home .works .list3{
	left: -5%;
	top: 45%;
	z-index: 0;
	width: 21.45%;
}
body.home .works .list4{
	top: 6.5%;
	right: 18%;
	z-index: 0;
	width: 8.1%;
}
body.home .works .list5{
	right:-4%;
	top: 19%;
	z-index: 2;
	width: 20.1%;
}
body.home .works .list6{
	right: 2.5%;
	top: 42%;
	z-index: 0;
	width: 15.6%;
}
body.home .works .list7{
	right: -2%;
	top: 66%;
	z-index: 0;
	width: 22.1%;
}
body.home .work_whole{
	margin:0 auto;
	width: 100%;
	padding-top: 110px;
}
body.home .work_area{
	text-align:center;
}
body.home .work_area .txt-center:before{
	left:0;
	right:0;
	margin:auto;
}
body.home .work_area p{
	font-size:1.125rem;
	font-weight:500;
	color: #1c3b5c;
	line-height: 1.875;
}
body.home .work_list{
	position:relative;
	margin-top: 60px;
}
body.home .work_list .work_list_wrap{
	display:flex;
	justify-content:center;
	align-items:stretch;
	flex-wrap:wrap;
	gap:1em 2%;
	max-width: 1000px;
	margin: 0 auto 5px;
	position: relative;
	z-index: 5;
}
body.home .work_list .work_list_wrap .work_item{
    position: relative;
    border: 1px solid #1c3b5c;
    width:32%;
    text-align:left;
    padding: 30px;
    background: #fff;
}
body.home .work_list .work_list_wrap .work_item .work_item-title{
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap: 1em;
	margin-bottom:1em;
}
body.home .work_list .work_list_wrap .work_item .work_item-title .work_item-style{
	font-size:1.5rem;
	font-weight:bold;
	color: #1c3b5c;
	width: calc(100% - 1em);
}
body.home .work_list .work_list_wrap .work_item li{
	 font-size: 1rem;
}
body.home .work_list .work_list_wrap .work_item li + li{
	margin-top:0.375em;
}

@media screen and (max-width:1600px) {
	body.home .works .list6{
		right: 2.5%;
		top: 42%;
		width: 15.6%;
	}
}
@media screen and (max-width:1500px) {
	body.home .work_area p{
		font-size:1rem;
		font-weight:500;
		color: #1c3b5c;
		line-height: 1.875;
	}
	body.home .work_list ul{
		max-width:400px;
		margin:0 auto;
		flex-wrap:wrap;
		gap:1em;
	}
}
@media screen and (max-width:1200px) {
	body.home .works .scroll-wrap{
		align-items: flex-start;
		justify-content:flex-start;
		display: block;
	}
	body.home .works .work_whole{
		margin-top:20em;
	}
	body.home .work_list .work_list_wrap .work_item .work_item-title .work_item-style{
		font-size:1.25rem;
	}
}
@media screen and (max-width:768px) {
	body.home .works .work_whole{
		margin-top:31%;
	}
	body.home .works{
		padding-bottom: 25em;
	}
	body.home .works .txt-slider .slider-list li {
	  width: calc(150vw / 2);
	}
	body.home .work_list ul{
		gap:0.5em;
	}
	body.home .work_list ul li{
	    width:96px;
	    border-width:1px;
	    font-size:0.86rem;
	}
	body.home .works .list1{
		left: -11%;
		top: 15%;
		width: 50.1%;
	}
	body.home .works .list2{
		left: 10%;
		top: 23.5%;
		width: 21.4%;
	}
	body.home .works .list3{
		left: -14%;
		top: 38%;
		width: 42.15%;
		z-index: 1;
	}
	body.home .works .list4{
		top: 3%;
		right: 7%;
		width: 23.5%;
	}
	body.home .works .list5{
		right: -34%;
		top: 26%;
		width: 51%;
		z-index: -1;
	}
	body.home .works .list6{
		right: -19%;
		top: 63%;
		width: 60%;
	}
	body.home .works .list7{
		right: -6%;
		top: 76%;
		z-index: 0;
		width: 60%;
	}
	body.home .works .scroll-wrap{
		align-items:flex-start;
		justify-content:space-between;
	}
	body.home .work_list .work_list_wrap{
		gap:1em 2%;
		margin: 0 auto 5px;
		justify-content: flex-start;
	}
	body.home .work_list .work_list_wrap .work_item{
	    width:48%;
	    padding: 15px 10px;
	}
	body.home .work_list .work_list_wrap .work_item .work_item-title{
		gap:0.5em;
	}
	body.home .work_list .work_list_wrap .work_item .work_item-title .work_item-style{
		font-size: 1.14rem;
		width: calc(100% - 0.5em);
	}
	body.home .work_list .work_list_wrap .work_item li{
		font-size: 0.93rem;
		width:100%;
		font-feature-settings:'palt';
	}
	body.home .work_list .work_list_wrap .work_item li + li{
		margin-top:0.375em;
	}
	body.home .work_list .work_list_wrap .work_item .work_item-title .title-icon{
		width:auto;
	}
	body.home .work_list .work_list_wrap .work_item .work_item-title .title-icon img{
		max-width: fit-content;
		height: 27px;
		width:auto;
	}
	body.home .work_area p{
		text-shadow: 0 0 3px rgb(244 248 251),0 0 5px rgb(244 248 251),0 0 7px rgb(244 248 251),0 0 8px rgb(244 248 251);
	}
}

/*contact_whole*/
body.home .contact.scroll-section {
	padding-bottom:8em;
	padding-top: 0;
}
body.home .contact.scroll-section .txt-slider{
	margin-top:0;
}
body.home .contact_whole{
	position:relative;
	z-index:5;
	display:block;
	width:100%;
	color:#fff;
	padding: 0 15px;
}
body.home .contact_col{
	position:relative;
	z-index:5;
	display:flex;
	justify-content:space-between;
	align-items:center;
	flex-wrap:wrap;
	gap:3%;
}
body.home .contact_col .contact_txt{
	width:45%;
}
body.home .contact_col .contact_txt em{
	font-size:1.5rem;
	font-weight:500;
	margin-bottom:0.5em;
	display:block;
}
body.home .contact_col .contact_txt p{
	font-size:1.125rem;
	font-weight:500;
	line-height:1.875;
	letter-spacing: 0.07em;
}
body.home .contact_col .contact_map{
	width:50%;
}
@media screen and (max-width:1200px) {
	body.home .contact_col .contact_map iframe{
		width:100%;
	}
}
@media screen and (max-width:767px) {
	body.home .contact_whole{
		padding:0;
	}
	body.home .contact_col{
		position:relative;
		gap:2em;
	}
	body.home .contact_col .contact_txt{
		width:100%;
	}
	body.home .contact_col .contact_txt em{
		font-size: 1.27rem;
	}
	body.home .contact_col .contact_txt p{
		font-size:1rem;
	}
	body.home .contact_col .contact_map{
		width:100%;
	}
	body.home .contact_col .contact_map iframe{
		width:100%;
		height:252px;
	}
	body.home .contact.scroll-section{
		padding-bottom:6em;
	}
	body.home .contact .txt-slider .slider-list li{
		width: calc(190vw / 2);
	}
}

/* footer
-------------------------------------------------------------------*/
#top_link{
	position: absolute;
	bottom: 0px;
	right: 5%;
	z-index:35;
}
#pageTop {
	aspect-ratio:1 / 1;
	width: 70px;
	display:flex;
	justify-content:center;
	align-items:center;
	background:#fff;
	border:1px solid #fff;
	transition:.3s background-color;
}
#pageTop:before{
	content: "";
	position: absolute;
	top:5px;
	bottom: 0;
	right: 0;
	left:0;
	width:16px;
	height:16px;
	margin: auto;
	border-top: 2px solid #05192e;
	border-right: 2px solid #05192e;
	transform: translateY(2px) rotate(315deg);
	transition:.3s border-color;
}
#pageTop:hover{
	background-color:#05192e;
}
#pageTop:hover:before{
	border-top-color:#fff;
	border-right-color:#fff;
}
footer{
	background: #05192e;
	padding-block: 13px 13px;
	color: #fff;
	position: relative;
	z-index: 5;
}
footer small{
	font-size:0.75rem;
}
main a.page_link {
	margin-top: -60px;
	padding-top: 60px;
	display: block;
	position:relative;
	z-index:-10;
}
@media screen and (max-width:767px) {
	#pageTop {
	    width: 49px;
		right:10px;
		bottom:10px;
	}
	footer{
		padding:15px 0;
	}
	footer small{
		font-size:10px;
	}
	#pageTop:hover{
		background-color:#fff;
	}
	#pageTop:hover:before{
		border-top-color:#05192e;
		border-right-color:#05192e;
	}
}