@charset "utf-8";
/*
メインカラーコード
青　01c3cd
オレンジ　ff8f41
*/

.flex_cont{
	display: flex;
}

.mainvisual{
	background: linear-gradient(180deg,#00c4cc 50%,#00c4cc 0,#00aeb8);
	font-family: Hiragino Kaku Gothic Pro;
}

.firstview{
	padding: 25px 0;
	background-image: url(../img/top/fv_people1.png);
    background-repeat: no-repeat;
    background-size: 20%;
    background-position: right bottom;
}

header{
	width: 100%;
    position: fixed;
    padding: 30px 0;
    z-index: 100;
    background: #01c3cd;
    transition:all 0.3s;
}

.change-header-border{
	box-shadow: 0 1px 0 0 #ddd;
	padding: 15px 0;
	background: #fff;

}


.change-header-border nav ul li a{
	font-size: 14px;
	color: #777;
}

.header_wrap{
	width: 80%;
    margin: 0 auto;
    display: flex;
    align-items: center;
}

.logo {
	width: 80px;
	transition: all 0.3s;
	opacity: 0.9;
}

.change-header-border .logo{
	width: 80px;
	transition: all 0.3s;
}


nav{
	position: absolute;
    right: 10vw;
}

nav ul{
	display: flex;
	gap: 40px;
}

nav ul li a{
	color: #f4f4f4;
	text-decoration: none;
	font-size: 16px;
	font-weight: 600;
	transition: all 0.3s;
}

nav ul li a:after{
	    content: "";
    transition: all 0.3s;
    width: 100%;
    background: #f4f4f4;
    height: 3px;
    display: block;
    border-radius: 20px;
    position: relative;
    left: -20px;
   opacity: 0;
}

nav ul li a:hover:after{
	    content: "";
    position: relative;
    left: 0px;
    opacity: 1;
}


.change-header_wrap{
    display: block;
    position: absolute;
    visibility: visible;
    transition: 1.0s;
}

.change-header-nav{
	display: none;
	position: inherit;
    transition: 1.0s;
    left: 50px;
    top: 50px;
    padding: 20px 50px;
    width: 300px;
    background: #fff;
    box-shadow: 0 0 10px rgba(0,0,0,.3);

}

.change-header-nav-ul{
	display: block;
}

.change-header-nav-ul li{
	margin: 10px 0;
	filter: invert();
}


.nav_border{
	display: none;
	position: fixed;
    top: 25px;
    left: 25px;
    z-index: 101;
}

.nav_border div{
        width: 30px;
    height: 2px;
    background: #fff;
    margin: 8px
}
.visualblock{
	display: block;
}

.visualnone{
	display: none;	
}
.main_copy{
	padding: 100px 0 50px 0;
    width: 55%;
    margin: 0px auto;
    pointer-events: none;
    opacity: 0.9;
}

.icon_box ul{
	display: flex;
	justify-content: center;
    gap: 25px;
    pointer-events: none;
}

.icon_box ul li{
	width: 17%;
}

.sub_copy{
	color: #f4f4f4;
    font-size: 20px;
    text-align: center;
    font-weight: bold;
    margin: 30px 0 0 0;
    letter-spacing: 1px;
    font-family: Hiragino Kaku Gothic Pro;
}

.main_btn{
	margin: 50px 0 30px 0;
}

.main_btn ul li{
	text-align: center;
	display: inline-block;
}

.main_btn ul li:first-child{
	margin-right: 5%;
}


.main_btn ul{
	text-align: center;
}

.main_btn .btn{
    width: 200px;
    color: #f4f4f4;
    text-decoration: none;
    display: inline-block;
    font-size: 16px;
    font-weight: 600;
    transition: all .3s;
    position: relative;
    top: 0;
    background: #ff8f41;
    border-radius: 30px;
    padding: 10px 40px;
}

.main_btn .btn span{
	font-weight: bold;
    position: relative;
}



.main_btn .btn .tell:before {
    content: "";
/*    background-image: url(../img/top/tellfree.svg);*/
    height: 25px;
    width: 25px;
    position: absolute;
    top: 5px;
    left:auto;
    display: block;
    background-repeat: no-repeat;
}

.h_c_h4_02{
	background: none;
	position: relative;
	text-align: center;
	font-size: 30px;
	padding: 0;
	background-image: repeating-linear-gradient(90deg, #f4f4f4 0, #f4f4f4 2px, rgba(0,0,0,0) 2px, rgba(0,0,0,0) 4px);
	background-size: 4px 4px;
	background-repeat: repeat-x;
	background-position: center bottom;
	margin-bottom: 70px;
}
/*
.h_c_h4_02:before{
	content: "\0bb";
	color: #01c3cd;
	display: block;
	height: 1px;
	width: 100%;
	position: absolute;
	left: 0;
}
*/
.h_c_h4_02:after{
		content: "";
    display: block;
    height: 2px;
    width: 3em;
    background: #01c3cd;
    border-radius: 10px;
    position: absolute;
    left: 50%;
    transform: translatex(-50%);
}

.btn:hover {
  top:-2px;
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.3);
}

.recruitment{
	margin: 50px 0;
}

.point_border{
	text-align: center;
	display: block;
    font-size: 20px;
    font-weight: bold;
    font-family: Hiragino Kaku Gothic Pro;
}

.point_border:before{
	content: "";
	display: inline-block;
    width: 30px;
    height: 30px;
	border-left: 2px dotted #000;
	margin-right: 10px;
	transform: rotate(-25deg);
}

.point_border:after{
	content: "";
	display: inline-block;
    width: 30px;
    height: 30px;
	border-right: 2px dotted #000;	
	margin-left: 10px;
	transform: rotate(25deg);
}

.recruitment p:nth-child(2n){
	text-align: center;
	display: block;
    font-size: 24px;
    font-weight: bold;
    margin-top: 10px;
    font-family: Hiragino Kaku Gothic Pro;
}

.logo_text{
	color: #696969;
	font-weight: bold;
	font-family: Hiragino Kaku Gothic Pro;
}

.logo_color{
	color: #00a1e9;
}

.cta_1{
	margin: 20px 0;
	font-family: Hiragino Kaku Gothic Pro;
	width: fit-content;
	text-align: center;
	position: relative;
	top: 0;
	left: 50%;
    transform: translate(-50%, 0px);
}

.cta_1 img{
	width: 100px;
    height: auto;
}

.cta_1 strong{
	font-weight: bold;
	font-size: 18px;
}

.cta_1 a{
	color: #f4f4f4;
	text-decoration: none;
	display: flex;
    align-items: center;
    background: #01c3cd;
	padding: 10px 100px;
	border-radius: 50px;
	position: relative;
    top: 0;
    font-size: 16px;
    transition: all .3s;
      box-shadow: none;
}

.cta_1 a:hover {
  top:-2px;
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.3);
}

.cta_1 div:after {
    content: "\0bb";
    position: absolute;
    right: 50px;
    top: 50%;
    transform: translate(0px, -50%);
    font-size: 30px;
}

.cont_title{
	text-align: center;
    font-size: 20px;
    margin: 80px;
    font-family: Barlow,sans-serif;
    position: relative;
    z-index: 2;

}



.cont_title:after{
	content: "";
	display: block;
	background: #ddd;
	width: 30px;
	height: 3px;
	border-radius: 10px;
	position: relative;
	top: 10px;
	left: 50%;
	transform: translatex(-50%);
}

.cont_title span{
    font-size: 42px;
    font-weight: bold;
    padding-bottom: 10px;
    display: inline-block;
    color: #01c3cd;
    font-family: Barlow,sans-serif;
}

.main_cont{
	width: 80%;
    margin: 0 auto;
}

.cFix2{
	display: flex;
    flex-wrap: wrap;
    width: 80vw;
    margin: 0 auto 100px;
    max-width: 1500px;
}

.h_c_conte_2{
	width: calc(25% - 22px);
	margin: 1px;
	padding: 10px;
}

.h_c_conte_2 img{
	width: 100%;
	height: auto;

}

.h_c_c_text_2{
	font-size: 16px;
	margin: 10px 0;
}

.tab{
    margin: 0 0 50px 0;
    background: #fff;
    padding: 50px 0;
}

.tab_flex {
	justify-content: center;
	position: relative;
	box-sizing: border-box;
}

.tab_flex h2{
    padding: 30px 70px;
    width: 300px;
    font-size: 20px;
    font-weight: bold;
    font-family: Hiragino Kaku Gothic Pro;
    text-align: center;
    flex-grow: 1;

}

.active_tab_flex{
	background: #01c3cd;
    padding: 30px 70px;
    width: 300px;
    color: #f4f4f4;
    font-size: 20px;
    font-weight: bold;
    font-family: Hiragino Kaku Gothic Pro;
    text-align: center;
}

.tab1_btn span {
	content: "";
    width: 10px;
    height: 10px;
    background: #01c3cd;
    position: absolute;
    top: 94%;
    left: 25%;
    transform: translateX(-25%) rotate(45deg);
}


.tab2_btn span {
	content: "";
    width: 10px;
    height: 10px;
    background: #01c3cd;
    display: block;
    position: absolute;
    top: 94%;
    right: 25%;
    transform: translateX(-25%) rotate(45deg);
    display: none;
}

.tab .flex_cont{
	justify-content: space-between;
}

.tab .text_cont1{
	display: block;
}

.tab .text_cont2{
	display: none;
}

.tab .text_cont1 h3, .tab .text_cont2 h3{
	font-size: 16px;
	font-weight: bold;
	margin: 10px 0;
	text-align: center;
	position: relative;
}

.tab .text_cont1 h3 span, .tab .text_cont2 h3 span{
	position: absolute;
    top: -30px;
    left: 50%;
    transform: translateX(-50%);
    font-weight: bold;
    color: #01c3cd;
}

.text_cont1 p:first-child, .text_cont2 p:first-child{
	margin: 0 0 50px 0;
    font-size: 16px;
}


.text_cont1 .flex_cont div, .text_cont2 .flex_cont div{
	border: 1px solid #01c3cd;
	padding: 5%;
	background: #fffafa;
	width: 100%;
	min-width: 0;
}

.text_cont1 div p, .text_cont2 div p{
	width: 100%;
    margin: 0 auto;
}

.tab_btn {
	text-align: center;
	position: relative;
    top: -60px;
    margin-bottom: 100px;
}

.tab_btn a{
	color: #01c3cd;
	font-size: 18px;
	padding: 15px 50px;
	background: #f8f8ff;
	border-radius: 100px;
	text-decoration: none;
	transition: 0.5s;
	border: 1px #fff solid;
	position: relative;
}

.tab_btn a:after{
	content: "\0bb";
    position: absolute;
    top: 50%;
    right: 10%;
    transform: translate(-10%,-50%);
    transition: 0.5s;
}

.tab_btn a:hover{
	color: #01c3cd;
	font-size: 18px;
	padding: 15px 50px;
	background: #fff;
	border: solid #01c3cd 1px;
	text-decoration: none;
}

.tab_btn a:hover:after{
	content: "\0bb";
	position: absolute;
    top: 50%;
    right: 5%;
    transform: translate(-10%,-50%);
}

@media screen and (max-width: 1000px){
	.main_btn .btn{
	    width: 200px;
	    color: #f4f4f4;
	    text-decoration: none;
	    display: inline-block;
	    font-size: 16px;
	    font-weight: 600;
	    transition: all .3s;
	    position: relative;
	    top: 0;
	    background: #ff8f41;
	    border-radius: 30px;
	    padding: 5px 20px;
}

.cFix2 {
    justify-content: center;
    column-gap: 20px;
}

	.h_c_conte_2{
		width: 300px;
		margin: 0px;
	}

}

/*20240606　追記*/
.top_page .sp-768{display: none;}
.top_page .outer{padding: 25px 0; background-image: url(../img/top/fv_people1.png); background-repeat: no-repeat; background-size: 15%; background-position: right bottom;}
.top_page .firstview{width: 1200px; margin: 0 auto; background: unset;}
.top_page .main_copy{width: 100%;}
.top_page .header-pc header{width: 100%; inset: 0; height: 40px; margin: 0 auto; padding: 20px 0 0 0;}
.top_page .header-pc .header_wrap{justify-content: space-between; width: 100%; width: 1200px;}
.top_page nav{position: unset; right: unset;}
.top_page .icon_box ul li{width: 30%;}

.tabs {margin-top: 50px; padding-bottom: 40px; background-color: #fff; width: 140vh; margin: 0 auto;}
.tab_item {width: calc(100%/2); height: 50px; border-bottom: 1px solid #01c3cd; background-color: #d9d9d9; line-height: 50px; font-size: 16px; text-align: center; color: #565656; display: block; float: left; text-align: center; font-weight: bold; transition: all 0.2s ease; padding: 20px 0; }
.tab_item:hover {opacity: 0.75;}
.tab_item h2{font-size: 20px; font-weight: bold;}
.top_page input[name="tab_item"] {display: none;}
.top_page .tab_content {display: none; padding: 40px 0 0 0; clear: both; overflow: hidden;}
.top_page #all:checked ~ #all_content, #programming:checked ~ #programming_content, #design:checked ~ #design_content {display: block;}
.top_page .tabs input:checked + .tab_item {background-color: #01c3cd; color: #fff; position: relative;}
.top_page .tabs input:checked + .tab_item span{content: ""; width: 10px; height: 10px; background: #01c3cd; position: absolute; top: 94%; left: 50%; transform: translateX(-25%) rotate(45deg);}
.top_page .tab_content h3 {font-size: 16px; font-weight: bold; margin: 10px 0; text-align: center; position: relative;}
.top_page .tab_content h3 span{position: absolute; top: -30px; left: 50%; transform: translateX(-50%); font-weight: bold; color: #01c3cd;}

.top_page .bottom_cta_contant .tab_btn{top: unset !important;}
.top_page .change-header-border{background: #fff !important;}

@media screen and (max-width: 768px) {
.top_page .header-sp {height: 30px; display: flex !important; justify-content: space-between; align-items: center; position: fixed; top: 0; left: 0; right: 0; z-index: 1020; background-color: #00c4cc; padding: 10px 0;}
.top_page .header-sp .logo_box{width: 80px; padding: 0 0 0 10px;}
.top_page .header-sp img{width:100%;}
.top_page .logo {font-weight: 700; padding-left: 14px;}
.top_page .hamburger-menu {width: 38px; height: 38px; position: relative; border: none; appearance: none; padding: 0; cursor: pointer; background: #ff8f41; border-radius: 5px; margin: 0 10px 0px 0;}
.top_page .hamburger-menu__bar {display: inline-block; height: 2px; background: #ffffff; position: absolute; left: 50%; transform: translateX(-50%); transition: .5s; width: 24px;}
.top_page .hamburger-menu__bar:first-child {top: 10px;}
.top_page .hamburger-menu__bar:nth-child(2) {top: 18px;}
.top_page .hamburger-menu__bar:last-child {top: 26px;}
.top_page .hamburger-menu--open .hamburger-menu__bar {top: 50%;}
.top_page .hamburger-menu--open .hamburger-menu__bar:first-child {transform: translateX(-50%) translateY(-50%) rotate(45deg);}
.top_page .hamburger-menu--open .hamburger-menu__bar:last-child {transform: translateX(-50%) translateY(-50%) rotate(-45deg);}
.top_page .hamburger-menu--open .hamburger-menu__bar:nth-child(2) {display: none;}
.top_page .navigation {display: none; background: #00c4cc; position: absolute !important; top: 50px; width: 100%; z-index: 9999; padding: 15px; box-sizing: border-box;}
.top_page .navigation__list {text-align: left; list-style: none; padding: 0; margin: 0; display: block;}
.top_page .navigation__list li{padding: 5px 0;}
.top_page .navigation__list-item {border-bottom: solid 1px #474747;}
.top_page .navigation__list-item:first-child {border-top: solid 1px #474747;}
.top_page .navigation__link {color: #fff; font-weight: 700; text-decoration: none; display: block; padding: 24px 0; transition: .5s;}
.top_page .navigation__list a{color:#fff !important;}
.top_page .navigation__list .material-icons{transform: translateY(7px);}
.top_page .navigation a{color:#fff !important; text-decoration: none;}
.top_page .navigation a i{transform: translateY(6px);}
.top_page .pc-768{display: none;}
.top_page .sp-768{display: block;}
.top_page .firstview{width: 100%; padding: 0 15px; box-sizing: border-box;}
.top_page .header-pc{display: none;}
.top_page .main_btn ul li:first-child{margin: 0 0 10px 0;}
.top_page .main_copy{padding: 70px 0 30px 0;}
.top_page .main_btn{margin: 30px 0;}
.top_page .sub_copy{margin: 20px 0 0 0;}

.top_page .cta_1{width: 100%;}
.top_page .cta_1 a{flex-direction: column-reverse; padding: 10px 20px; margin: 0 15px; border-radius: 10px;}
.top_page .cta_1 div:after{right: 20px;}
.top_page .cta_1 img{width: 150px; margin: 10px 0 0 0;}
.top_page .cont_title{margin: 80px 0 40px 0; font-size: 18px;}
.top_page .cont_title span{font-size: 35px;}

.top_page .main_cont{width: 100%;}
.top_page .cFix2{width: 100%;}
.top_page .h_c_conte_2{width: 100%; margin: 0px; padding: 15px;}

.top_page .pagetop{width: 100%;}
.top_page .pagetop img{width: 100%; object-fit: cover;}
.top_page .footer_top{height: 350px; background: #414141;}
.top_page .f_menu{width: 100%;}        
.top_page .f_category{width: 100%;}
.top_page .f_c_title{width: 100%;}
.top_page .copyright{width: 100%;}

.top_page .tabs{width: 100%; box-sizing: border-box; padding: 0 15px;}
.top_page .text_cont1 .flex_cont div, .text_cont2 .flex_cont div{box-sizing: border-box; padding: 40px 15px 30px;}
.top_page .flex_cont{flex-direction: column;}
.top_page .tab_item h2{font-size: 16px; line-height: 1.5;}

.top_page .bottom_cta_contant{margin: 40px 0 0 0;}
}
/*20240606　追記　END*/
/* 240702 追記 */
.tab_btn_02 .br_sp{display: none;}
.tab_btn_02{color: #01c3cd; background: #f8f8ff; border-radius: 100px; text-decoration: none; transition: 0.5s; border: 1px #fff solid; position: relative; font-size: 14px !important; padding: 10px 20px !important; width: 390px; display: block; margin: 0 auto 30px;}
.tab_btn_02:after{content: "\0bb"; position: absolute; top: 50%; right: 10%; transform: translate(-10%, -50%); transition: 0.5s;}
.top_page .bottom_cta_contant .tab_btn_mb{margin-bottom: 35px;}
@media screen and (max-width: 460px){
    .tab_btn_02 .br_sp{display: block;}
    .tab_btn_02{width: 270px; text-align: center;}
}
/* 240702 END */