@charset "UTF-8";
*,
*::before,
*::after {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}

/* common 
******************************************************************************************/
body {
  position: relative;
  font-size: 14px;
  font-family: "m-plus-1c", sans-serif;
  line-height: 2;
  font-weight: 400;
  color: #141414;
}

body::before{
	background: url("../img/sub_bg.png") no-repeat center;
	background-size: cover;
	position: absolute;
	content: "";
	width: 34%;
    height: 0;
    padding-top: 24%;
    right: 8%;
	z-index: -1;
}
#top::before{
	background: url("../img/body_bg.png") no-repeat center;
	background-size: contain;
	position: absolute;
	content: "";
	width: 33%;
	height: 0;
	padding-top: 75%;
	right: 5%;
	z-index: -1;
}

img {
  max-width: 100%;
  height: auto;
}

ul {
  padding: 0; }

a {
  text-decoration: none;
  display: block;
  color: #141414; }

li {
  list-style: none; }

.inner {
  max-width: 1084px;
  margin: 0 auto;
  padding: 60px 0 100px; }

.wrap{display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap;}
.en{
	font-family: "Sora", sans-serif;
  	font-optical-sizing: auto;
}

/*.fadein {
  opacity: 0;
  transform: translateY(50px);
  transition: all 1s;
  animation-delay: 3s; }

.fadein.scrollin {
  opacity: 1;
  transform: translateY(0); }*/


/*-------header-------------------------------------*/
header {
  position: fixed;
  top: 0;
  height: 100px;
  width: 100%;
  margin: 0 auto;
  z-index: 100; }
  header .header_inner {
	  max-width: 1240px;
	  width: 100%;
	  margin: 0 auto;
	  position: relative;
	  top: 50%;
	  -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    display: flex;
    justify-content: space-between;
	align-items: center;
    flex-wrap: nowrap; }
    header .header_inner #logo {
      width: 200px;
      margin: auto 0; }
    header .header_inner #pc_navi {
      width: 45%; }
      header .header_inner #pc_navi nav ul.pc_nav_li {
        display: flex;
        justify-content: space-between;
        flex-wrap: nowrap;
        padding: 0;
        margin: 0;
        align-items: center; }
        header .header_inner #pc_navi nav ul.pc_nav_li li a {
			font-family: "Sora", sans-serif;
			color: #1F56CC;
          display: block;
			font-weight: bold;
		  font-size: 16px;}
header .header_inner #pc_navi nav ul.pc_nav_li li.online_btn a{
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: #393939;
	padding: 8px 20px;
	color: #fff;
	font-size: 12px;
	transition: all.3s;
}
header .header_inner #pc_navi nav ul.pc_nav_li li.online_btn a p{padding-right: 8px;}
header .header_inner #pc_navi nav ul.pc_nav_li li.online_btn a img{width: 20px; height: 100%;}
   
header .header_inner #pc_navi nav ul.pc_nav_li li.online_btn a:hover{opacity: 0.7;}


/*-------kv-------------------------------------*/
.kv{
	padding-top: 100px;
	position: relative;
}
.kv .slick-slide{
	margin: 0 10px;
}
.kv .kv_txt{
	line-height: 1;
	max-width: 1084px;
    margin: 0 auto;
    position: relative;
    bottom: 110px;
}
.kv .kv_txt h2{
	font-size: 135px;
	display: inline-block;
	background: linear-gradient(90deg, #1F56CC 0%, #1FCCB1 100%);
  	-webkit-background-clip: text;
  	-webkit-text-fill-color: transparent;
}
.kv .kv_txt p{
	font-weight: bold;
	font-size: 40px;
}

.kv .slick-dots{
	right: 5%;
	text-align: right;
}
.slick-dots li {
  margin: 0 4px; 
  width: 60px!important;
　height: 5px!important;
}
.slick-dots li button:before {
  content:'';
  width: 60px!important;
　height: 5px!important;
　background: #BBC0CB;
　opacity: 1;
}
.slick-dots li.slick-active button:before{
  background: #1F56CC;
}

.kv .slider::after{
	position: absolute;
	content: "";
	width: 62.7vw;
	height: 100px;
	background: linear-gradient(rgba(255, 255, 255, 0) 0%, #fff 100%);
	bottom: 8px;
	left: 0;
}

/*-------about-------------------------------------*/
.title{
	color: #EBEBEB;
	font-size: 58px;
	letter-spacing: 0.1em;
	font-weight: 600;
	line-height: 1;
}
.about .inner{
	padding-top: 0;
}
.about h2.title{
	rotate: -90deg;
	position: absolute; 
	top: 100px;
    left: -25%;
}
.about .text_area{
	width: 48%;
	padding-left: 10%;
	position: relative;
}
.about .img_area{
	width: 48%;
}
.about .text_area p{
	font-size: 18px;
}

.btn{
	margin-top: 60px;
	font-size: 18px;
	display: inline-block;
	background: linear-gradient(90deg, #1F56CC 0%, #1FCCB1 100%);
  	-webkit-background-clip: text;
  	-webkit-text-fill-color: transparent;
	font-family: "Sora", sans-serif;
	font-weight: bold;
	position: relative;
	padding-left: 20px;
}
.btn::after{
	position: absolute;
	content: "";
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: linear-gradient(90deg, #1F56CC 0%, #1FCCB1 100%);
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

/*-------service-------------------------------------*/
.service .wrap{
	justify-content: flex-start;
}
.service .wrap .img_area{
	width: 15%;
	height: 260px;
	margin-right: 50px;
}
.service .wrap .img_area img{
	object-fit: cover;
	width: 100%;
	height: 260px;
}
.service .service_li{
	margin-top: 40px;
	justify-content: space-between;
}
.service .service_li li{
	width: calc(100% / 4 - 20px);
	text-align: center;
	background: #F4F4F4;
	padding: 10px 0;
	margin-bottom: 20px;
}

/*--------bg------------*/
.bg{
  background-image: url('../img/top_bg.jpg');
  background-attachment: fixed;
  background-size: cover;
  background-position: center;
	height: 400px;
}


/*-------work-------------------------------------*/
.work_li{
	margin-top: 20px;
}
.work_li li{
	width: calc(100% / 3 - 15px);
}
.work_li li .text_area{
	padding: 10px;
}
.work_li li .text_area h4{
	font-weight: normal;
	font-size: 16px;
	padding-bottom: 20px;
}
.work_li li .text_area p{
	font-size: 12px;
}
.text_area.list .wrap{
	justify-content: flex-start;
	color: #1F56CC;
	margin-top: 20px;
}
.text_area.list .wrap a{
	color: #1F56CC;
}
.text_area.list .wrap p.date{
	padding-right: 15px;
	position: relative;
	font-size: 12px;
}
.text_area.list .wrap p.date::after{
	position: absolute;
	content: "/";
	color: #1F56CC;
	right: 0;
	top: 0;
}
.text_area.list .wrap p.cat{
	padding-left: 10px;
	font-size: 12px;
}
.btn_right{
	text-align: right;
}


/*-------info-------------------------------------*/
.news_wrap{align-items: flex-start;}
.ttl_area{width: 20%;}
.news_main{width: 70%;}
.news_main .news_li{padding: 30px 0; border-bottom: 1px solid #F4F4F4;}
.news_main .news_li:nth-child(1){
	border-top: 1px solid #F4F4F4;
}
.news_main .news_li .text_area.list .wrap{
	margin-top: 0
}
.news_main .news_li .text_area.list h4{padding-top: 5px; font-weight: 600;}
.news .btn{margin-top: 40px;}
.news .inner{
	padding-bottom: 140px;
}


/*-------contact-------------------------------------*/
.contact{
	background: url("../img/contact_bg.jpg") no-repeat center;
	background-size: cover;
	background-position : 50% 20%;
}
.contact .inner.wrap{
	justify-content: center;
	padding: 160px 0;
}
.contact .inner.wrap .cta_box{
	width:  45%;
	padding: 80px 70px 75px;
	background: rgba(255,255,255,0.90);
	--x-gradient: linear-gradient(90deg, #1F56CC 0 30px, transparent 0 calc(100% - 30px), #1F56CC calc(100% - 30px));
    --y-gradient: linear-gradient(#1F56CC 0 30px, transparent 0 calc(100% - 30px), #1F56CC calc(100% - 30px));
    background-image: var(--x-gradient), var(--y-gradient), var(--x-gradient), var(--y-gradient);
    background-repeat: no-repeat;
    background-size: 100% 5px, 5px 100%, 100% 5px, 5px 100%;
    background-position: top, right, bottom, left;
}
.contact .inner.wrap .cta_box.recruit{
	margin-right: 75px;
}
.contact .inner.wrap .cta_box .clr_title{
	font-size: 25px;
    display: inline-block;
    background: linear-gradient(90deg, #1F56CC 0%, #1FCCB1 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    line-height: 1;
    letter-spacing: 0.05em;
    font-weight: 600;
	margin-bottom: 20px;
}
.contact .btn{
	margin-top: 30px;
}


/*-------footer-------------------------------------*/
footer{background: #fff;}
footer .inner .logo{width: 350px;}
footer .inner .wrap{margin-top: 50px;}
footer .inner .wrap p.grey{
	color: #ADADAD;
	font-size: 15px;
	padding-bottom: 10px;
	border-bottom: 1px solid #D5D5D5;
	margin-bottom: 30px;
}
footer .inner .wrap{
	align-items: flex-start;
}
footer .inner .wrap .nav{
	width: 65%;
}
footer .inner .wrap .nav ul{
	display: flex;
	flex-wrap: wrap;
	padding-left: 20px;
}
footer .inner .wrap .nav ul li{
	padding-right: 60px;
	position: relative;
}
footer .inner .wrap .nav ul li::before{
	position: absolute;
	content: "";
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: linear-gradient(90deg, #1F56CC 0%, #1FCCB1 100%);
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
footer .inner .wrap .nav ul li a{
	margin-left: 15px;
}
footer .inner .wrap .nav ul:nth-child(3){
	margin-top: 20px;
}
footer .inner .wrap .sns{
	width: 30%;
}
footer .sns a{position: relative; padding-left: 30px;}
footer .sns a::before{
	position: absolute;
	content: "";
	background: url("../img/insta-icon.png")no-repeat center;
	background-size: cover;
	width: 20px;
	height: 20px;
	left: 0;
	top: 5px;
}
footer .sns a.tiktok::before{
	position: absolute;
	content: "";
	background: url("http://demo-shosei.anju-honda.com/wp-content/uploads/2025/07/tiktok_icon.png")no-repeat center;
	background-size: cover;
	width: 20px;
	height: 20px;
	left: 0;
	top: 5px;
}
footer .copyright{
	padding-top: 30px;
	border-top: 1px solid #D5D5D5;
	margin-top: 80px;
	font-size: 10px;
	color: #B2B2B2;
	text-align: right;
}


/*-------サブページ共通KV-------------------------------------*/
.sub_kv .inner{
	padding-top: 180px;
	padding-bottom: 0;
}
.sub_kv h2{
	font-size: 70px;
	display: inline-block;
	background: linear-gradient(90deg, #1F56CC 0%, #1FCCB1 100%);
  	-webkit-background-clip: text;
  	-webkit-text-fill-color: transparent;
	letter-spacing: 0.05em;
	line-height: 1.2;
}
.sub_kv p{
	font-size: 20px;
	padding-left: 160px;
	margin-top: 20px;
	position: relative;
	line-height: 1;
}
.sub_kv p::before{
	position: absolute;
	content: "";
	width: 140px;
	height: 1px;
	background: #707070;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

/*-------パンクズリスト-------------------------------------*/
.breadcrumb .inner.wrap{justify-content: flex-start; font-weight: bold; font-size: 12px; padding: 50px 0;}
.breadcrumb .inner.wrap a{text-decoration: underline;}
.breadcrumb .inner.wrap p{margin: 0; padding-left: 50px; position: relative; font-weight: normal;}
.breadcrumb .inner.wrap p::before{
	content: '';
	width: 8px;
	height: 8px;
	border: 0;
	border-top: solid 1px #393939;
	border-right: solid 1px #393939;
	position: absolute;
	top: 50%;
	left: 20px;
	margin-top: -4px;
	transform: rotate(45deg);
}

.sub_main{background: #fff;}
.sub_main .inner{
	padding-top: 120px;
}

/*-------aboutusー------------------------------------*/
.msg .wrap .text_area{width: 55%;}
.msg .wrap .text_area h3{
	font-size: 50px;
	color: #FAFAFA;
	line-height: 1;
	font-weight: 600;
}
.msg .wrap .text_area .msg_ttl{margin-bottom: 60px;}
.msg .wrap .text_area .msg_ttl p{
	position: relative;
	padding-left: 30px;
}
.msg .wrap .text_area .msg_ttl p::before{
	position: absolute;
	content: "";
	width: 20px;
	height: 4px;
	background: linear-gradient(90deg, #1F56CC 0%, #1FCCB1 100%);
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
.msg .wrap .img_area{width: 40%;}

.company{
	margin-top: 190px;
}
.company table {
	padding-left: 150px;
	width: 80%;
	margin-left: auto;
border-collapse: collapse; }
.company table th {
  font-weight: 600;;
  width: 30%;
  padding: 40px 0;
color: #1F56CC;
	text-align: left;
	padding-left: 20px;
  border-bottom: 2px solid #F4F4F4;}
.company table td {
  padding: 30px;
  border-bottom: 2px solid #F4F4F4;}
.company{position: relative;}
.company h2.title{
	rotate: -90deg;
	position: absolute; 
	top: 170px;
    left: -150px;
}

.philosophy{
	padding-top: 250px;
	overflow: hidden;
}
.philosophy .wrap{
	position: relative;
	z-index: 10;
}
.philosophy .wrap div{
	width: 50%;
}
.philosophy .wrap div p{
	font-size: 30px;
	padding-top: 30px;
	font-weight: bold;
}
.philosophy .wrap div p.color{
	display: inline-block;
	background: linear-gradient(90deg, #1F56CC 0%, #1FCCB1 100%);
  	-webkit-background-clip: text;
  	-webkit-text-fill-color: transparent;
	letter-spacing: 0.05em;
	font-size: 25px;
	font-weight: 600;
}
.philosophy .bg_txt{
	color: #FAFAFA;
	font-size: 190px;
	position: absolute;
	top: 19%;
    width: 100%;
    left: 0;
    white-space: nowrap;
    font-weight: bold;
	overflow: hidden;
}
.sub_main  .work_li li{
	margin-bottom: 60px;
}
.sub_main .news_main{margin-left: auto; width: 75%;}


/*-------問い合わせー------------------------------------*/
.btn_top{
	padding: 10px 100px;
	color: #1F56CC;
	text-align: center;
	border: 1px solid #1F56CC;
	display: inline-block;
	margin-top: 100px;
}

/*-------プライバシーポリシー------------------------------------*/
.content_main h5 {
    font-size: 18px;
    padding-top: 60px;
	font-weight: normal;
}

/*-------詳細ページ------------------------------------*/
.sub_kv.single .inner{
	padding-bottom: 50px;
}
.sub_kv.single h2{
	font-size: 40px;
}

.single_main .inner{
	padding-top: 20px;
}
.single_main .inner .head_ttl{
	padding-bottom: 40px;
	margin-bottom: 60px;
	border-bottom: 2px solid #F4F4F4;
}
.single_main .inner .head_ttl .wrap{
	margin-top: 0;
	justify-content: flex-start;
    color: #1F56CC;
}
.single_main .inner .head_ttl .wrap p.date{
    padding-right: 15px;
    position: relative;
    font-size: 12px;
}
.single_main .inner .head_ttl .wrap p.date::after {
    position: absolute;
    content: "/";
    color: #1F56CC;
    right: 0;
    top: 0;
}
.single_main .inner .head_ttl .wrap p.cat {
    padding-left: 10px;
    font-size: 12px;
}
.single_main .inner .head_ttl h4{
	font-size: 24px;
}
.single_main .inner .btn_center{
	text-align: center;
}

.work_single .head_ttl .icatch, .work_single .head_ttl .ttl_content{
	width: 48%;
}
.work_single .head_ttl .ttl_content p.discpricrion{
	font-size: 12px;
	color: #676767;
	padding: 20px 0;
}
.work_single .content h2, .work_single .content h3, .work_single .content h4, .work_single .content h5{
	font-size: 20px;
	margin-bottom: 30px;
	position: relative;
	padding-left: 20px;
}
.work_single .content h2::before, .work_single .content h3::before, .work_single .content h4::before, .work_single .content h5::before{
	position: absolute;
	content: "";
	width: 8px;
	height: 28px;
	background: linear-gradient(90deg, #1F56CC 0%, #1FCCB1 100%);
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}


/*---------------採用--------------------*/
.message .wrap{flex-direction: row-reverse;}
.message .wrap .text_area{width: 75%;}
.message .wrap .img_area{width: 20%;}
.message .wrap .text_area h3.msg_ttl{
	font-size: 60px;
	color: #EBEBEB;
	line-height: 1;
	font-weight: 600;
	margin-bottom: 30px;
}

.message .wrap .text_area h4{
	 font-size: 20px;
    margin-bottom: 10px;
}
.overview{
	background: #FAFAFA;
	padding: 100px 0;
}
.sub_main .overview .inner, .sub_main .benefit .inner{padding: 0;}
.overview .table{
	background: #fff;
	padding: 45px;
	margin: 0 auto;
}
.overview .table p.border{
	font-size: 20px;
	font-weight: bold;
	position: relative;
	padding-left: 35px;
	margin-bottom: 20px;
}
.overview .table p.border::before{
	position: absolute;
	content: "";
	width: 20px;
	height: 4px;
	background: linear-gradient(90deg, #1F56CC 0%, #1FCCB1 100%);
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
.overview .table:nth-child(2){
	margin-top: 60px;
}
.overview table {
border-collapse: collapse; }
.overview table th {
  font-weight: bold;
  width: 30%;
	font-size: 15px;
  padding: 40px 0;
	text-align: left;
	border-top: 2px solid #F4F4F4;
  border-bottom: 2px solid #F4F4F4;}
.overview table td {
  padding: 30px;
	font-size: 15px;
	border-top: 2px solid #F4F4F4;
  border-bottom: 2px solid #F4F4F4;}

.benefit{
	padding: 100px 0 0;
}
.benefit h3{
	font-size: 24px;
	color: #1F56CC;
	padding-bottom: 40px;
}
.benefit .benefit_list{
	width: 32%;
	padding: 25px 0;
	text-align: center;
	border: 2px solid #EFEFEA;
}
.benefit .benefit_list img{
	width: 45%;
}
.entry a{
	font-size: 87px;
	font-weight: bold;
	color: #fff;
	padding: 40px 72px;
	background: linear-gradient(90deg, #1F56CC 0%, #1FCCB1 100%);
	position: relative;
	line-height: 1;
}
.entry a::after{
	background: url("../img/arrow.png")no-repeat center;
	background-size: cover;
	position: absolute;
	content: "";
	width: 100px;
	height: 100px;
	right: 72px;
	top: 50%;
	transform: translateY(-50%);
}

.content_main h5{
	font-size: 16px;
}


@media (max-width: 767px) {
	.sp_none{display: none;}

  header {
    height: 70px; }

  header .header_inner {
    height: 70px; }

  header .header_inner #logo a {
    width: 10rem; }

  header .header_inner #logo a img {
    width: 100%;
    margin-left: 1rem; }

	
	.inner{margin: 0 20px; padding: 60px 0;}
	a.btn{margin: 50px auto 0;}
	
	
	#top::before {
		background: url(../img/bg_sp.png) no-repeat center;
		background-size: cover;
		width: 66%;
		height: 0;
		padding-top: 205%;
    }
	body::before {
		background: url("../img/sp_sub_bg.png") no-repeat center;
		background-size: cover;
		width: 60%;
        height: 0;
        padding-top: 70%;
        right: 5%;
    }
	
	
/*-----------KV---------------------------*/
	.kv{
		padding-top: 200px;
	}
	.kv .kv_txt{
		text-align: right;
		bottom: 90px;
	}
	.kv .kv_txt h2{
		font-size: 85px;
	}
	.kv .kv_txt p{
		font-size: 25px;
	}
	.about .text_area, .about .img_area, .service .wrap .img_area, .work_li li, .ttl_area, .news_main, .contact .inner.wrap .cta_box, footer .inner .wrap .nav, footer .inner .wrap .sns{
		width: 100%;
	}
	.title{
		font-size: 46px;
	}
	
	
/*-----------about---------------------------*/
	.about{padding-top: 120px;}
	.about .text_area{
		padding-left: 20%;
	}
	.about .text_area p{
		font-size: 15px;
	}
	.about h2.title{
		left: -35%;
		top: 120px;
	}
	.about .img_area{
		padding-top: 60px;
	}
	
	
/*-----------service---------------------------*/
	.service .wrap .img_area img, .service .wrap .img_area{
		height: 160px;
	}
	.service .wrap .img_area{
		margin-right: 0;
	}
	.service .title{
		padding: 60px 0 22px;
	}
	.service .service_li li{
		width: calc(100% / 2 - 5px);
		margin-bottom: 10px;
	}
	.bg{
		height: 300px;
		margin: 70px 0;
	}
	.bg img{
		object-fit: cover;
    	width: 100%;
    	height: 300px;
	}
	.work_li{
		margin-top: 30px;
	}
	.work_li li{
		margin-bottom: 50px;
	}
	.work a.btn{margin-top: 0;}
	
	.bg{background-attachment: inherit;}
	
/*-----------information---------------------------*/
	.news_main{
		margin-top: 30px;
	}
	
/*-----------contact---------------------------*/
	.contact .inner.wrap .cta_box.recruit{margin-right: 0; margin-bottom: 30px;}
	.contact .inner.wrap .cta_box{
		padding: 60px 30px 50px;
	}
	
		
/*-----------footer---------------------------*/
	footer .inner .logo{width: 265px;}
	footer .inner .wrap .nav ul li{margin-bottom: 30px; width: 50%}
	footer .inner .wrap .nav ul:nth-child(3){margin-top: 0;}
	footer .inner .wrap .sns{padding-top: 30px;}
	
		
/*-----------subcommon---------------------------*/
	.subkv{padding-top: 60px;}
	.subkv h2{font-size: 45px; bottom: -32px;}
	.subkv .kv_img img, .subkv .kv_img{height: 250px;}
	.breadcrumb .inner.wrap{padding: 30px 0;}
	
	.sub_main .inner{
		padding-bottom: 200px;
	}
			
/*-----------aboutページ---------------------------*/
	.sub_kv h2{font-size: 36px;}
	.sub_kv p{
		font-size: 16px;
		padding-left: 80px;
	}
	.sub_kv p::before{width: 70px;}
	
	.msg .wrap .text_area h3{
		font-size: 40px;
		white-space: nowrap;
	}
	.msg .wrap .text_area .msg_ttl p{
		font-size: 18px;
	}
	.msg .wrap .text_area, .msg .wrap .img_area{
		width: 100%;
	}
	.msg .wrap .img_area{
		padding-top: 60px;
	}
	
	.philosophy .wrap div{width: 100%; text-align: center;}
	.philosophy .wrap div:nth-child(2){
		padding-top: 120px
	}
	.philosophy .wrap div p{
		font-size: 24px;
	}
	.philosophy .bg_txt{
		font-size: 95px;
		top: 21%;
	}
	
	.company table{
		width: 100%;
	}
	.company h2.title{
		position: inherit;
		rotate: 0deg;
		top: 0;
		left: 0;
		font-size: 30px;
	}
	.company table th, .company table td{
		display: block;
		padding-left: 0;
		padding-right: 0;
	}
	.company table th{
		border-bottom: none;
		padding-bottom: 0;
		padding-top: 30px;
	}
	.company table td{
		padding-top: 10px;
	}
	.company table span{
		font-size: 12px;
	}
	
	
/*-----------詳細--------------------------*/
	.sub_kv.single h2 {
		font-size: 20px;
	}
	.single_main .inner {
		padding-top: 75px;
	}
	.work_single .head_ttl .icatch, .work_single .head_ttl .ttl_content{
		width: 100%;
	}
	.work_single .content h2, .work_single .content h3, .work_single .content h4, .work_single .content h5{
		font-size: 18px;
	}
	
	.sub_main .news_main{width: 100%;}
	
	
/*-----------採用---------------------------*/
	.message .wrap .text_area, .message .wrap .img_area{
		width: 100%;
	}
	.message .wrap .text_area h3.msg_ttl{
		font-size: 46px;
	}
	.message .wrap .text_area h4{
		font-size: 14px;
	}
	.sub_main .message .inner{padding-bottom: 120px;}
	.overview{padding: 60px 0;}
	.overview .table:nth-child(2){
		margin-top: 30px;
	}
	.overview .table{
		width: 100%;
		padding: 30px 18px;
	}
	.overview table th, .overview table td{
		display: block;
		padding-left: 0;
		padding-right: 0;
		border-top: none;
	}
	.overview table th{
		border-bottom: none;
		padding-bottom: 0;
		padding-top: 30px;
		width: auto;
	}
	.overview table td{
		padding-top: 10px;
	}
	.overview table span{
		font-size: 12px;
	}
	
	.benefit h3{
		font-size: 18px;
		padding-bottom: 20px;
	}
	.benefit .benefit_list{
		width: 100%;
		margin-bottom: 20px;
	}
	
	.entry a{
		padding: 60px 40px 190px;;
		font-size: 70px;
		text-align: center;
	}
	.entry a::after{
		top: 65%;
		right: 35%;
	}
	
	
/*--------------404-----------------------------------*/
	.sub_kv.not-found p{
		padding-left: 35px;
	}
	.sub_kv.not-found p::before{width: 23px;}
	.btn_top{margin-top: 80px;}
	
	
/*-----------プライバシーポリシーページ---------------------------*/
	.privacy_main h4 {font-size: 22px;}
		
/*-----------追記---------------------------*/
	.kv .slider::after{width: 100%; margin-bottom: 0; bottom: 0;}
	.news .btn_right.pc_none{margin-top: 60px;}
	.sub_kv.privacy .inner{padding-top: 140px;}
}
@media (min-width: 768px) {
  .pc_none {
    display: none; }
	
	.sub_main .inner{padding-bottom: 140px;}
}


/*----------------------------コンタクトフォーム-----------------------------*/
.form{width: 70%; margin: 0 auto;}
.form p{text-align: left;}
.form .center{text-align: center; padding: 40px 0 50px; font-size: 14px;}
.wpcf7-list-item-label a{display: inline-block;}
div.wpcf7 { 
	padding:0px; }
div.wpcf7 p { 
	padding: 0; 
	margin:0; 
	font-size: 16px;
	line-height: 100%;
	 }
div.wpcf7 p.center{
	text-align: center;
	padding: 30px 0 100px;
	font-size: 14px;
}
div.wpcf7 input.wpcf7-text, .wpcf7 textarea { 
	background: #F4F4F4;
	padding:10px 20px; font-size:16px; 
	line-height: 100%; color: #1D1D1D; 
	margin-top: 8px; 
	border: none;
	width: 100%;
	font-weight: normal;}
div.wpcf7 textarea { width:100%; height:200px; }
.wpcf7-acceptance{text-align: center; padding-top: 50px;}
.wpcf7 input[type="submit"] {
  cursor:pointer; margin: 0 auto; display:block;
	background: #fff;
    display: flex;
	justify-content: center;
    align-items: center;
	width: 250px;
    padding: 10px;
    color: #1F56CC;
    font-size: 14px;
	border: 1px solid #1F56CC;
}

.wpcf7 input.wpcf7-submit:active { box-shadow:none; bottom:-2px; position:relative;  background: #2A88E0;}
.wpcf7 input:focus, .wpcf7 textarea:focus { border:1px solid #009de1; }

.wpcf7-select{
	margin-top: 10px;
	font-weight: normal;
	font-size: 16px;
	padding: 10px 20px;
	background: #F4F4F4;
	border: none;
	width: 100%;
}

div.wpcf7 p.form_name{
	padding: 40px 0px 0; 
	font-size: 14px;
}

input::placeholder, textarea::placeholder, .wpcf7-select::placeholder{
  color: #CBCBCB;
	font-weight: normal;
}

.clear{
	clear:both;
}
 
 
/* エラー個所をわかりやすく表示 */
.wpcf7 .wpcf7-not-valid { background: #ffb6c1; }
.wpcf7 span.wpcf7-not-valid-tip {font-size: 80%;}
.wpcf7 .wpcf7-response-output {margin: 10px 0 0; padding: 8px 35px 8px 14px; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
    -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; }
.wpcf7 .wpcf7-validation-errors {color: #B94A48; background-color: #F2DEDE; border: 1px solid #EED3D7;}
.wpcf7 .wpcf7-mail-sent-ok {color: #3A87AD; background-color: #D9EDF7; border: 1px solid #BCE8F1;}

input :not(*):placeholder-shown, div.wpcf7 input.wpcf7-text, .wpcf7 textarea{
	color: #333;
}
input[type="text"]:focus, input[type="email"]:focus, textarea{
	outline: none;
	outline-color: #333;
}
.cta_item{
	margin-bottom: 25px;
}
.wrap .cta_item{
	width: 48%;
}

@media (min-width: 768px){
	.wpcf7-form-control.wpcf7-radio .wpcf7-list-item{
		display: inline-block;
		margin-left: 20px;
	}
	.wpcf7-select{width: 48%;}
}

@media (max-width: 767px){
	div.wpcf7 input.wpcf7-submit{
		width: 100%;
	}
	.form{width: 100%;}
	.sub_main.contact_page .inner{padding-top: 60px;}
	div.wpcf7 p.center{padding-bottom: 80px;}
	.wrap .cta_item{width: 100%;}
}

.content figure{
	margin: 50px 0;
}

.kv .scroll{
	position: absolute;
    bottom: 8%;
    left: 5%;
}
@media (max-width: 767px){
	.kv .scroll{
		left: 20px;
	}
}
@media (max-width: 1024px){
/* 
hamburger(ハンバーガーアイコン)
=================================== */
.hamburger {
  position: absolute;
  right: 20px;
  top: 20px;
  width: 30px;
  height: 45px;
  cursor: pointer;
  z-index: 300;
}

.hamburger__line {
  position: absolute;
  width: 35px;
  height: 2px;
  right: 0;
  background-color: #1F56CC;
  transition: all 0.5s;
}

.hamburger__line--1 {
  top: 3px;
}

.hamburger__line--2 {
  top: 11px;
}

.hamburger__line--3 {
  top: 19px;
}

/*ハンバーガーがクリックされたら*/
.open .hamburger__line--1 {
  top: 5px;
    left: 5px;
	transform: translateY(6px) rotate(-150deg);
}

.open .hamburger__line--2 {
  opacity: 0;
}

.open .hamburger__line--3 {
  top: 17px;
    left: 5px;
    transform: translateY(-6px) rotate(150deg);
}

/* 
sp-nav(ナビ)
=================================== */
.sp-nav {
  position: fixed;
  right: -100%; /*ハンバーガーがクリックされる前はWindow右側に隠す*/
  top: 0;
  width: 75%; /* 出てくるスライドメニューの幅 */
  height: 100vh;
  background-color: #fff;
  transition: all 0.5s;
  z-index: 200;
	padding-left: 30px;
	padding-right: 30px;
    padding-top: 80px;
	font-size: 18px;
  overflow-y: auto; /* メニューが多くなったらスクロールできるように */
}

	.sp-nav a{
		font-size: 16px;
    display: block;
    text-decoration: none;
    transition: color .4s ease;
	}
	
	.sp-nav ul {
    list-style: none;
    padding: 0; }
	
	.sp-nav ul li{
		position: relative;
		margin-bottom: 35px;
		padding-left: 20px;
	}
.sp-nav ul li::before{
	position: absolute;
	content: "";
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: linear-gradient(90deg, #1F56CC 0%, #1FCCB1 100%);
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	}
/*ハンバーガーがクリックされたら右からスライド*/
.open .sp-nav {
  right: 0;
}


/* 
black-bg(ハンバーガーメニュー解除用bg)
=================================== */
.black-bg {
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  z-index: 5;
  background-color: #000;
  opacity: 0;
  visibility: hidden;
  transition: all 0.5s;
  cursor: pointer;
  z-index: 100;
}

/*ハンバーガーメニューが開いたら表示*/
.open .black-bg {
  opacity: 0.3;
  visibility: visible;
}
	#pc_navi{
		display: none;
	}
	}

@media (min-width: 1025px){
#nav-wrapper{
	display: none;
}
}

/*# sourceMappingURL=style.css.map */
