@charset "UTF-8";
@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
/* CSS Document */

/* リセット
---------------------------------------------------------------------*/
a, abbr, acronym, address, applet, article, aside, audio,
b, big, blockquote, body, caption, canvas, center, cite, code,
dd, del, details, dfn, dialog, div, dl, dt, em, embed,
fieldset, figcaption, figure, form, footer,
header, hgroup, h1, h2, h3, h4, h5, h6, html,
i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav,
object, ol, output, p, pre, q, ruby,
s, samp, section, main, small, span, strike, strong, sub, summary, sup,
tt, table, tbody, textarea, tfoot, thead, time, tr, th, td,
u, ul, var, video {
    font-size: 100%;
    font-weight: inherit;
    font-style: inherit;
    vertical-align: baseline;
    white-space: normal;
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    background: transparent;
}
article, aside, details, figcaption, figure, footer, header, hgroup,
menu, nav, section, main {
    display: block;
}
ol, ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
.clearfix:after {
    display: block;
    clear: both;
    height: 0px;
    line-height: 0px;
    visibility: hidden;
    content: ".";
}
.clearfix {
    display: block; /* for IE8 */
}
.clear {
    clear: both;
}
* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-text-size-adjust: 100%;
}
/* ベース
---------------------------------------------------------------------*/
body {
    font-family: 'Noto Sans Japanese', 'Noto Serif', 'Lato', serif;
    font-size: 16px;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    letter-spacing: 0.06em;
    color: #222222;
}
a {
    color: #222222;
    text-decoration: none;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}
a img {
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}
a:hover {
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    opacity: 0.7;
    filter: alpha(opacity=70);
}
a:hover img {
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    opacity: 0.7;
    filter: alpha(opacity=70);
}
@media only screen and (max-width: 768px) {
    body {
        font-size: 13px;
    }
}
/* レスポンシブ
---------------------------------------------------------------------*/
.pc {
    display: block !important;
}
.pc-i {
    display: inline !important;
}
.pc-f {
    display: -webkit-flex !important;
    display: flex !important;
}
.sp {
    display: none !important;
}
.sp-i {
    display: none !important;
}
.sp-f {
    display: none !important;
}
@media only screen and (max-width: 768px) {
    .pc {
        display: none !important;
    }
    .pc-i {
        display: none !important;
    }
    .pc-f {
        display: none !important;
    }
    .sp {
        display: block !important;
    }
    .sp-i {
        display: inline !important;
    }
    .sp-f {
        display: -webkit-flex !important;
        display: flex !important;
    }
    img {
        width: 100%;
    }
    .txt__img {
        width: 15% !important;
    }
    .txt__img--02 {
        width: 10% !important;
    }
    .txt__img--03 {
        width: 20% !important;
    }
    .txt__img--04 {
        width: 30% !important;
    }
    .txt__img--05 {
        width: 60% !important;
    }
    a:hover {
        text-decoration: none;
    }
}
/* ボタン
---------------------------------------------------------------------*/
.btn {
    display: inline-block;
    text-align: center;
    width: 400px;
    padding: 15px 0;
    border-radius: 5px;
    color: #fff;
    background: #D22D3B;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
	box-shadow:0px 4px #C6202B;
}
.btn:hover {
    color: #fff;
    text-decoration: none;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    opacity: 0.7;
    filter: alpha(opacity=70);
}
.btn--w {
    display: inline-block;
    text-align: center;
    width: 400px;
    padding: 15px 0;
    border-radius: 5px;
    color: #D22D3B;
    background: #fff;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}
.btn--w:hover {
    color: #D22D3B;
    text-decoration: none;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    opacity: 0.7;
    filter: alpha(opacity=70);
}
@media only screen and (max-width: 768px) {
    .btn, .btn--w {
        width: 100%;
        padding: 10px 0;
    }
}

/* ボタン2(25卒インターン)
---------------------------------------------------------------------*/
.btn2 {
    display: inline-block;
    text-align: center;
    width: 400px;
    padding: 15px 0;
    border-radius: 5px;
    color: #fff;
    background: #0CBFD4;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    box-shadow:0px 4px #008799;
}
.btn2:hover {
    color: #fff;
    text-decoration: none;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    opacity: 0.7;
    filter: alpha(opacity=70);
}
.btn2--w {
    display: inline-block;
    text-align: center;
    width: 400px;
    padding: 15px 0;
    border-radius: 5px;
    color: #0CBFD4;
    background: #fff;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}
.btn2--w:hover {
    color: #0CBFD4;
    text-decoration: none;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    opacity: 0.7;
    filter: alpha(opacity=70);
}
@media only screen and (max-width: 768px) {
    .btn2, .btn2--w {
        width: 100%;
        padding: 10px 0;
    }
}
/* レイアウト
---------------------------------------------------------------------*/
.block__wrap {
    width: 100%;
}
.block__inner {
    width: 1000px;
    overflow: hidden;
    margin: 0 auto;
    padding: 70px 0;
    position: relative;
}
.block__wrap--white--01 {
    background: #fff;
}
.block__wrap--white--02 {
    background: #f8f8ec;
}
.block__wrap--red {
    background: #cb5454;
}
.block__wrap--green {
    background : url(../img/bg_green.jpg) no-repeat center / cover;
}
.block__wrap--yellow {
    background : url(../img/bg_yellow.jpg) no-repeat center / cover;
}
.block__wrap--blue--01 {
    background : url(../img/bg_blue.jpg) no-repeat center / cover;
}
.block__wrap--blue--02 {
    background: #00abcc;
}
@media only screen and (max-width: 768px) {
    .block__inner {
        width: 100%;
        overflow: hidden;
        margin: 0 auto;
        padding: 70px 15px;
    }
    .block__wrap--green {
        background : url(../img/bg_green_sp.jpg) no-repeat center / cover;
    }
    .block__wrap--yellow {
        background : url(../img/bg_yellow_sp.jpg) no-repeat center / cover;
    }
    .block__wrap--blue--01 {
        background: #00abcc;
    }
}
/* エントリーボタン
---------------------------------------------------------------------*/
.block__inner--entry {
    padding: 50px 0;
    text-align: center;
    font-weight: bold;
}
.block__inner--entry dl{
	text-align: left;
	display: flex;
	flex-wrap: wrap;
    width: 90%;
    margin: 0 auto;
}


.block__inner--entry dt{
	width: 25%;
	margin-bottom: 0px;
	vertical-align: top;
	padding-top: 0px;

}
.block__inner--entry dt span{
	color: #e5004f;
	padding-left: 10px;
}
.block__inner--entry dd{
	width: 60%;
	margin-bottom: 50px;
}
.block__inner--entry dd p{
	margin-bottom: 10px;
}
.block__inner--entry dd label{
	margin-bottom: 10px;
	display: block;
}
.block__inner--entry input[type="text"]{
	width: 100%;
	height: 67px;
	border-radius: 3px;
	border: 1px solid #d5c9c2;
	padding: 0 16px;
}
.block__inner--entry select{
	background: #fff;
	height: 67px;
	border-radius: 3px;
	border: 1px solid #d5c9c2;
	padding: 0 16px;
}
.block__inner--entry .form-error-message{
	color: #e5004f;
}
.form-input-button form{
	display: inline-block;
}
.btn-confirm{
	border: 0;
	background: #d42a36;
	color: #fff;
	border-bottom: 7px solid #a91822;	
	display: inline-block;
	border-radius: 5px;
	width: 400px;
	font-size: 14px;
	margin: 0 auto;
	padding: 20px 0 17px;
}

.btn-prev{
	border: 0;
	background: #747474;
	color: #fff;
	border-bottom: 7px solid #3b3b3b;	
	display: inline-block;
	border-radius: 5px;
	width: 400px;
	font-size: 14px;
	margin: 0 auto;
	padding: 20px 0 17px;
	
}
.bg-form{
	padding: 30px 0;
	background: url(../img/bg_form.jpg) top center no-repeat;
	background-size: cover;
	position: relative;
}
.bg-form .header__logo{
	position: absolute;
	left: 0;
	top: 0;
}
.bg-form .header-title{
	font-size: 60px;
	text-align: center;
}

.form-confirm-page dt{
	padding-top: 0;	
}
.form-confirm-page dd{
	color: #222222;
}
.form-privacy{
	background: rgba(255,255,255,0.7);
    width: 90%;
    margin: 0 auto 48px;
    padding: 40px;
    color: #444444;
    text-align: center;	
}
.form-privacy__title{
	font-size: 20px;
	margin-bottom: 40px;
	
}
.form-finish{
	color: #444;
	text-align: center;
}
.form-finish p{
	text-align: left;
	margin-bottom: 60px;
	font-size: 20px;
}
.form-contact{
	background: rgba(255,255,255,0.7);

    width: 90%;
    margin: 0 auto 48px;
    padding: 40px;
    color: #444444;
    text-align: left;
    font-size: 16px;	
    
}

@media only screen and (max-width: 768px) {
    .block__inner--entry {
        padding: 20px 15px;
    }
	.block__inner--entry dl{
		width: 100%;
		display: block;
	}
	.block__inner--entry dt{
		margin-bottom: 0;
		width: 100%;
	}
	.block__inner--entry dt span{
		color: #e5004f;
		padding-left: 10px;
	}
	.block__inner--entry dd{
		width: 100%;
		margin-bottom: 20px;
	}
	.block__inner--entry dd select{
		width: 40%;
	}
	.inline {
		width: 100%;
	}
    .btn-confirm, .btn-prev {
		width: 100%;
	}
}
/* 3角形
---------------------------------------------------------------------*/
.triangle {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 20px 25px 0 25px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}
.triangle--02 {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 25px 20px 25px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}
.triangle__color--red {
    border-color: #cb5454 transparent transparent transparent;
}
.triangle__color--green {
    border-color: #3ac59c transparent transparent transparent;
}
.triangle__color--white {
    border-color: #f1f1e8 transparent transparent transparent;
}
.triangle__color--white--02 {
    border-color: transparent transparent #f1f1e8 transparent;
}
.negative__margin--top {
    margin-top: -20px;
}
.negative__margin--bottom {
    margin-bottom: -20px;
}
@media only screen and (max-width: 768px) {
    .triangle--03 {
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 25px 20px 25px 0;
        border-color: transparent #fff transparent transparent;
        margin: 0 auto;
        position: relative;
        z-index: 2;
    }
    .triangle--04 {
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 25px 0 25px 20px;
        border-color: transparent transparent transparent #ffffff;
        margin: 0 auto;
        position: relative;
        z-index: 2;
    }
    .negative__margin--top {
        margin-top: 0;
    }
    .negative__margin--bottom {
        margin-bottom: 0;
    }
}
/* タイトル
---------------------------------------------------------------------*/
.block__inner--ttl {
    padding: 50px 0;
    text-align: center;
    color: #fff;
}
.ttl--main {
    font-size: 30px;
    font-weight: bold;
    margin-bottom: 15px;
}
.ttl--en {
    font-size: 10px;
    font-family: 'Lato', serif;
    margin-bottom: 25px;
}
.ttl--en--color-01 {
    color: rgba(255, 255, 255, 0.5);
}
.ttl--en--color-02 {
    color: rgba(34, 34, 34, 0.5);
}
.ttl--txt {
    font-size: 15px;
    margin-top: 60px;
}
@media only screen and (max-width: 768px) {
    .block__inner--ttl {
        padding: 20px 0;
    }
    .ttl--main {
        font-size: 16px;
        margin-bottom: 15px;
    }
    .ttl--en {
        font-size: 9px;
        margin-bottom: 20px;
    }
    .ttl--txt {
        font-size: 12px;
        margin-top: 25px;
        padding: 0 15px;
    }
}
/* メインビジュアル
---------------------------------------------------------------------*/
.block__wrap--main {
    height: 1080px;
    overflow: hidden;
    background: url(../img/bg_main.png) no-repeat center / cover;
}
.header__logo {
    margin: 25px 0 0 25px;
}
.header__logo--sp {
    display: none;
}
.header__catch--sp {
    display: none;
}
.sns__list {
    margin: 25px 25px 0 0;
    float: right;
}
.sns__list li {
    display: inline-block;
    margin-left: 40px;
}
.sns__list li img {
    height: 20px;
}
.block__inner--main {
    margin-top: 110px;
    padding: 0;
}
.block--main {
    width: 540px;
    height: 750px;
    background: url(../img/bg_frame_main.png) no-repeat center / cover;
    padding: 65px 60px 75px;
    color: #444;
}
.block__inner--main .text {
  font-size: 25px;
}

.block__inner--main h1 {
    font-size: 60px;
    font-weight: bold;
}
.block__inner--main p {
    font-size: 18px;
    margin-top: 10px;
    line-height: 1.9;
}
.block--main .btn {
    margin-top: 50px;

}
.block--main .btn2 {
    margin-top: 50px;
}
@media only screen and (max-width: 768px) {
    .block__wrap--main {
        height: 640px;
        overflow: hidden;
        background: url(../img/bg_main_sp.jpg) no-repeat center / cover;
    }
    .block__inner--main {
        margin: 0px auto 10px;
        padding: 0 15px 0;
    }
    .header__logo {
        display: none;
    }
    .header__logo--sp {
        display: block;
        width: 75px;
        margin: 20px auto 0;
    }
    .header__catch--sp {
        display: block;
        width: 100px;
        margin: 70px auto 0;
    }
    .block__inner--sns--sp {
        padding: 15px 0;
    }
    .sns__list {
        margin: 0;
        text-align: center;
        float: none;
    }
    .sns__list li {
        display: inline-block;
        margin-left: 40px;
    }
    .sns__list li:first-of-type {
        margin-left: 0;
    }
    .sns__list li img {
        height: 22px;
        width: auto;
        margin-top: 0;
    }
    .block--main {
        width: 100%;
        height: auto;
        background: none;
        margin-top: 30px;
        padding: 10px;
        color: #444;
        text-align: center;
    }
    .block__inner--main h1 {
        font-size: 32px;
        padding: 15px;
        background: url(../img/bg_frame_main_sp.png) no-repeat center / contain;
    }
    .block__inner--main p {
        font-size: 12px;
        margin-top: 50px;
        line-height: 1.9;
    }
    .block--main .btn {
        margin-top: 20px;
		
		
    }
}
/* loopSlider
---------------------------------------------------------------------*/
.loopSliderWrap {
    top: 0;
    left: 0;
    height: 404px;
    overflow: hidden;
    position: absolute;
}
.loopSlider {
    margin: 0 auto;
    width: 100%;
    height: 404px;
    text-align: left;
    position: relative;
    overflow: hidden;
}
.loopSlider ul {
    height: 404px;
    float: left;
    overflow: hidden;
}
.loopSlider ul li {
    width: 402px;
    height: 404px;
    float: left;
    display: inline;
    overflow: hidden;
}
.loopSlider ul li.second {
    width: 600px;
}
@media only screen and (max-width: 768px) {
    .loopSliderWrap {
        top: 0;
        left: 0;
        height: 200px;
        overflow: hidden;
        position: absolute;
    }
    .loopSlider {
        margin: 0 auto;
        width: 100%;
        height: 200px;
        text-align: left;
        position: relative;
        overflow: hidden;
    }
    .loopSlider ul {
        height: 200px;
        float: left;
        overflow: hidden;
    }
    .loopSlider ul li {
        width: 200px;
        height: 200px;
        float: left;
        display: inline;
        overflow: hidden;
    }
    .loopSlider ul li.second {
        width: 298px;
    }
}
/* 地図
---------------------------------------------------------------------*/
.block__wrap--nationalities {
    background: url(../img/bg_oblique_blue.jpg);
}
.block__wrap--nationalities .ttl--en {
    margin-bottom: 0;
}
.block__wrap--map {
    background: #2e2d2b;
}
.map--pc {
    display: block;
    width: 1312px;
    margin: 0 auto -100px;;
}
@media only screen and (max-width: 768px) {
    .map--sp__wrap {
        overflow-x: scroll;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        -webkit-transform: translateZ(0);
    }
    .map--sp--01 {
        overflow-x: scroll;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        -webkit-transform: translateZ(0);
        width: 660px;
        padding: 0 5%;
    }
    .map--sp--02 {
        width: 80%;
        margin: 0 auto;
        padding: 30px 0;
    }
    .arrow {
        padding-top: 30px;
        position: absolute;
        top: 50%;
        left: 30px;
        color: #fff;
        font-size: 11px;
    }
    .arrow span {
        position: absolute;
        top: 0;
        left: 50%;
        width: 20px;
        height: 20px;
        margin-left: -7px;
        border-left: 1px solid #fff;
        border-bottom: 1px solid #fff;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        box-sizing: border-box;
    }
}
/* 社員紹介
---------------------------------------------------------------------*/
.bg--left {
    position: absolute;
    top: -40px;
    left: 0;
}
.bg--right {
    position: absolute;
    top: 70px;
    right: 0;
}
.block__wrap--people {
    background: url(../img/bg_oblique_green.jpg);
    padding-bottom: 20px;
    position: relative;
}
.block__wrap--interview {
    margin-top: -20px;
    background: url(../img/bg_grid_white.jpg);
    position: relative;
}
.list--interview li {
    overflow: hidden;
    padding: 30px 0;
}
.list--interview li .block--interview__img {
    float: left;
}
.list--interview li .block--interview__txt {
    float: right;
}
.list--interview li:nth-of-type(2) .block--interview__img,
.list--interview li:nth-of-type(4) .block--interview__img {
    float: right;
}
.list--interview li:nth-of-type(2) .block--interview__txt,
.list--interview li:nth-of-type(4) .block--interview__txt {
    float: left;
}
.block--interview__img {
    width: 530px;
}
.block--interview__txt {
    width: 435px;
}
.block--interview__txt h3 {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 35px;
}
.interview__name {
    font-size: 15px;
    margin-bottom: 5px;
}
.interview__txt {
    font-size: 15px;
    line-height: 1.9;
}
.interview__txt span {
  background: #f7f704;
  font-size: 18px;
}
.ico__interview--01,
.ico__interview--02,
.ico__interview--03,
.ico__interview--04,
.ico__interview--05 {
    display: none;
}
@media only screen and (max-width: 768px) {
    .bg--left,
    .bg--right {
        display: none;
    }
    .list--interview li {
        padding: 20px 0 30px;
    }
    .list--interview li .block--interview__img {
        float: none;
    }
    .list--interview li .block--interview__txt {
        float: none;
    }
    .list--interview li:nth-of-type(2) .block--interview__img {
        float: none;
    }
    .list--interview li:nth-of-type(2) .block--interview__txt {
        float: none;
    }
    .block--interview__img {
        width: 90%;
        display: block;
        margin: 0 auto 20px;
    }
    .block--interview__txt {
        width: 100%;
        position: relative;
    }
    .block--interview__txt h3 {
        font-size: 15px;
        font-weight: bold;
        margin-bottom: 15px;
    }
    .interview__name {
        font-size: 12px;
        margin-bottom: 10px;
    }
    .interview__txt {
        font-size: 12px;
        line-height: 1.9;
    }
    .ico__interview--01 {
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        width: 40%;
    }
    .ico__interview--02 {
        display: block;
        position: absolute;
        bottom: -20px;
        right: 0;
        width: 10%;
    }
    .ico__interview--03 {
        display: block;
        width: 80%;
        margin: 0 auto;
    }
    .ico__interview--05 {
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        width: 30%;
    }
    .ico__interview--04 {
        display: block;
        width: 80%;
        margin: 20px auto 0;
    }
}
/* 加工技術で産業界の常識を覆す
---------------------------------------------------------------------*/
.block__wrap--technology--01 {
    background: url(../img/bg_oblique_blue.jpg);
}
.block__wrap--technology--02 {
    background: #efefe6;
}
.block__wrap--technology--02 p {
    margin-top: 0;
    color: #444;
}
.block__wrap--gray--technology {
    margin-top: -20px;
    font-size: 15px;
    line-height: 1.9;
    text-align: center;
}
.list--technology {
    overflow: hidden;
    width: 100%;
    background: #fff;
    margin-bottom: -4px;
}
.list--technology li {
    float: left;
    width: 25%;
    text-align: center;
}
.list--technology li img {
    width: 100%;
    vertical-align: bottom;
}
.block--technology--01 {
    width: 100%;
    height: 365px;
}
.block--technology--02 {
    width: 100%;
    height: 365px;
}
.technology__name--sub {
    font-family: 'Lato', serif;
    font-size: 10px;
    color: rgba(34, 34, 34, 0.5);
    padding-top: 100px;
}
.technology__name--main {
    font-size: 24px;
    font-weight: bold;
    line-height: 1.9;
    margin-top: 25px;
}
.technology__name--main span {
    font-size: 13px;
    font-weight: normal;
    letter-spacing: -0.06em;
}
@media only screen and (max-width: 768px) {
    .block__wrap--gray--technology {
        font-size: 12px;
    }
    .list--technology {
        display: block;
        margin-bottom: 0;
    }
    .list--technology li {
        float: none;
        width: 100%;
        padding: 0;
        position: relative;
    }
    .block--technology--01 {
        width: 50%;
        height: 160px;
        float: left;
    }
    .block--technology--02 {
        width: 50%;
        height: 160px;
        float: left;
    }
    .list--technology .triangle,
    .list--technology .triangle--02 {
        display: none;
    }
    .list--technology .triangle--03 {
        position: absolute;
        top: 34%;
        left: 46%;
    }
    .list--technology .triangle--04 {
        position: absolute;
        top: 34%;
        left: 48%;
    }
    .technology__name--sub {
        font-size: 10px;
        letter-spacing: -0.06em;
        margin-top: 0;
        padding-top: 40px;
    }
    .technology__name--main {
        font-size: 15px;
        line-height: 1.5;
        margin-top: 20px;
    }
    .technology__name--main span {
        font-size: 10px;
        letter-spacing: -0.06em;
        line-height: 1;
    }
}
/* あなたと創る、あなたの未来
---------------------------------------------------------------------*/
.block__wrap--message {
    background: url(../img/bg_dot_green.jpg);
}
.block--message {
    width: 800px;
    margin: 0 auto;
    padding: 45px 70px 70px;
    background: rgba(255, 255, 255, 0.95);
    text-align: center;
    position: relative;
}
.img--message {
    margin: -80px auto 30px;
}
.img--hand {
    position: absolute;
    top: 110px;
    right: -90px;
}
.block--message .ttl--main {
    color: #444;
}
.message__txt {
    margin-top: 45px;
}
.message__txt p {
    font-size: 15px;
    line-height: 1.9;
    margin-bottom: 45px;
}
.message__txt p:last-of-type {
    margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
    .block--message {
        width: 100%;
        padding: 30px 15px;
    }
    .img--message {
	    margin: -55px auto 20px;
	    width: 40%;
    }
    .img--hand {
        top: 50px;
        right: -50px;
        width: 30%;
    }
    .block__wrap--message {
        height: auto;
    }
    .block__wrap--message .ttl--main,
    .block__wrap--message .ttl--en {
        text-align: center;
    }
    .message__txt {
        width: 100%;
        margin-top: 30px;
    }
    .message__txt p {
        font-size: 12px;
        line-height: 1.9;
        margin-bottom: 15px;
    }
}
/* テクダイヤのワークライフバランス
---------------------------------------------------------------------*/
.block__wrap--balance {
    background: url(../img/bg_oblique_yellow.jpg);
    text-align: center;
    color: #444;
}
.balance__txt {
    font-size: 15px;
    line-height: 1.9;
}
.list--balance {
    margin-top: 50px;
}
.list--balance li {
    display: inline-block;
    vertical-align: top;
    width: 300px;
    margin-left: 45px;
}
.list--balance li:first-of-type {
    margin-left: 0;
}
.balance__inner {
    width: 300px;
    height: 300px;
    padding-top: 50px;
    margin-bottom: 20px;
    color: #222;
    background: #fff;
    border-radius: 50%;
    text-align: center;
}
.balance__inner .ttl {
    font-size: 20px;
    margin-bottom: 20px;
}
.balance__inner .ttl--en {
    margin-bottom: 0;
}
.balance__inner .ico {
    margin: 15px 0 25px;
}
@media only screen and (max-width: 768px) {
    .balance__txt {
        font-size: 12px;
        line-height: 1.9;
    }
    .list--balance {
        margin-top: 25px;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-around;
        align-items: flex-start;
    }
    .list--balance li {
        display: block;
        width: 47%;
        margin: 0 0 10px;
        font-size: 10px;
    }
    .list--balance li:last-of-type {
        margin: 0;
    }
    .balance__inner {
        width: 135px;
        height: 135px;
        padding-top: 20px;
        margin: 0 auto 10px;
    }
    .balance__inner .ttl {
        font-size: 14px;
        margin-bottom: 5px;
    }
    .balance__inner .ttl--en {
        margin-bottom: 0;
    }
    .balance__inner .ico {
        margin: 0 0 5px;
    }
    .balance__inner img {
        margin: 0 0 5px;
        width: 25px;
    }
}
/* 具体的な取り組み例
---------------------------------------------------------------------*/
.block__wrap--initiatives {
    color: #fff;
    background: #2e2d2b;
    margin-top: -20px;
    text-align: center;
}

.list--initiatives {
	width: 800px;
	margin: 2.5em auto 0 auto;
}

.list--initiatives li {
    display: inline-block;
    width: 246px;
    border-right: solid 2px rgba(187, 187, 187, 0.3);
}

.list--initiatives li:nth-child(3) {
	border-right: none;
}

.list--initiatives li:nth-child(4), .list--initiatives li:nth-child(5), .list--initiatives li:nth-child(6) {
	margin-top: 3.5em;
}

.list--initiatives li:last-of-type {
    border-right: none;
}

.list--initiatives li img {
    margin-bottom: 25px;
}

@media only screen and (max-width: 768px) {
    .block__wrap--initiatives {
        margin-top: -20px;
        text-align: center;
        font-size: 12px;
    }
    .list--initiatives {
		width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
	.list--initiatives li:nth-child(4), .list--initiatives li:nth-child(5), .list--initiatives li:nth-child(6) {
		margin-top: 0;
	}
    .list--initiatives li {
        display: block;
        width: 46%;
        margin-bottom: 30px;
        border-right: none;
    }
    .list--initiatives li:nth-of-type(3),
    .list--initiatives li:last-of-type {
        margin-bottom: 0;
    }
    .list--initiatives li img {
        width: auto;
        height: 30px;
        margin-bottom: 15px;
    }
}
/* 採用までの流れ
---------------------------------------------------------------------*/
.block__wrap--recruitment {
    background: url(../img/bg_grid_blue.jpg);
    text-align: center;
}
.block__wrap--recruitment .ttl--main,
.block__wrap--recruitment .ttl--en {
    color: #444;
}
.block__wrap--recruitment .flow {
    margin: -70px auto 0;
    padding-bottom: 60px;
    padding-left: 70px;
}
.block__wrap--recruitment .flow + p {
	width: 900px;
	margin: 0 auto;
	padding: 0 0 4em 0;
	text-align: left;
	font-size: 15px;
}

.block__wrap--recruitment .flow + p strong {
	font-weight: bold;
}

.block__wrap--recruitment .flow + p a:link, .block__wrap--recruitment .flow + p a:visited {
	text-decoration: underline;
}

@media only screen and (max-width: 768px) {
    .block__wrap--recruitment .flow {
	/*  width: 80%; */
		width: 94%;
        margin: -35px auto 0;
        padding-bottom: 0;
        padding-left: 0;
    }

	.block__wrap--recruitment .flow + p {
		width: 80%;
		text-align: center;
		font-size: 13px;
	}
}
/* 主な取引先企業
---------------------------------------------------------------------*/
.block__wrap--connection {
    color: #fff;
    background: #2e2d2b;
    text-align: center;
}
.block__wrap--gray--connection img {
    margin-top: 30px;
}
/* リンク
---------------------------------------------------------------------*/
.list--links {
    overflow: hidden;
    background: #f1f1e8;
}
.list--links li {
    float: left;
    text-align: center;
    width: 25%;
}
.list--links li a {
    display: block;
}
.list--links li:first-of-type .block--links--01 {
    background: url(../img/bg_10.png) no-repeat center / cover;
}
.list--links li:nth-of-type(2) .block--links--02 {
    background: url(../img/bg_11.png) no-repeat center / cover;
}
.list--links li:nth-of-type(3) .block--links--01 {
    background: url(../img/bg_12.png) no-repeat center / cover;
}
.list--links li:last-of-type .block--links--02 {
    background: url(../img/bg_13.png) no-repeat center / cover;
}
.links__item {
    width: 100%;
}
.block--links--01 {
    height: 200px;
}
.block--links--02 {
    height: 200px;
}
.links__name--sub {
    font-family: 'Lato', serif;
    font-size: 10px;
    color: rgba(34, 34, 34, 0.5);
    padding-top: 50px;
}
.links__name--main {
    font-size: 24px;
    font-weight: bold;
    margin-top: 10px;
}
@media only screen and (max-width: 768px) {
    .list--links {
        display: block;
    }
    .list--links li {
        float: none;
        text-align: center;
        width: 100%;
    }
    .list--links li:first-of-type .block--links--01 {
        background: url(../img/bg_10.png) no-repeat center / cover;
    }
    .list--links li:nth-of-type(2) .block--links--01 {
        background: url(../img/bg_11.png) no-repeat center / cover;
    }
    .list--links li:nth-of-type(2) .block--links--02 {
        background: #fff;
    }
    .list--links li:nth-of-type(3) .block--links--01 {
        background: url(../img/bg_12.png) no-repeat center / cover;
    }
    .list--links li:last-of-type .block--links--01 {
        background: url(../img/bg_13.png) no-repeat center / cover;
    }
    .list--links li:last-of-type .block--links--02 {
        background: #fff;
    }
    .links__item {
        width: 100%;
        height: 200px;
    }
    .block--links--01 {
        height: 100px;
    }
    .block--links--02 {
        height: 100px;
        background: #f1f1e8 !important;
    }
    .links__name--sub {
        font-size: 10px;
        padding-top: 23px;
    }
    .links__name--main {
        font-size: 12px;
        margin-top: 5px;
    }
    .links__item .triangle--02 {
        margin-top: -20px;
    }
}
/* フッター
---------------------------------------------------------------------*/
footer {
    background: #444444;
    padding: 25px 0;
    text-align: center;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.5);
}




.block__wrap--entry {
    background: url(../img/bg_dot_green.jpg);
    text-align: center;
}






/* インターンボタン
---------------------------------------------------------------------*/
.block__inner--entry {
    padding: 50px 0;
    text-align: center;
    font-weight: bold;
}
.block__inner--entry dl{
    text-align: left;
    display: flex;
    flex-wrap: wrap;
    width: 90%;
    margin: 0 auto;
}


.block__inner--entry dt{
    width: 25%;
    margin-bottom: 0px;
    vertical-align: top;
    padding-top: 0px;

}
.block__inner--entry dt span{
    color: #e5004f;
    padding-left: 10px;
}
.block__inner--entry dd{
    width: 60%;
    margin-bottom: 50px;
}
.block__inner--entry dd p{
    margin-bottom: 10px;
}
.block__inner--entry dd label{
    margin-bottom: 10px;
    display: block;
}
.block__inner--entry input[type="text"]{
    width: 100%;
    height: 67px;
    border-radius: 3px;
    border: 1px solid #d5c9c2;
    padding: 0 16px;
}
.block__inner--entry select{
    background: #fff;
    height: 67px;
    border-radius: 3px;
    border: 1px solid #d5c9c2;
    padding: 0 16px;
}
.block__inner--entry .form-error-message{
    color: #e5004f;
}
.form-input-button form{
    display: inline-block;
}
.btn-confirm{
    border: 0;
    background: #d42a36;
    color: #fff;
    border-bottom: 7px solid #a91822;   
    display: inline-block;
    border-radius: 5px;
    width: 400px;
    font-size: 14px;
    margin: 0 auto;
    padding: 20px 0 17px;
}

.btn-prev{
    border: 0;
    background: #747474;
    color: #fff;
    border-bottom: 7px solid #3b3b3b;   
    display: inline-block;
    border-radius: 5px;
    width: 400px;
    font-size: 14px;
    margin: 0 auto;
    padding: 20px 0 17px;
    
}
.bg-form{
    padding: 30px 0;
    background: url(../img/bg_form.jpg) top center no-repeat;
    background-size: cover;
    position: relative;
}
.bg-form .header__logo{
    position: absolute;
    left: 0;
    top: 0;
}
.bg-form .header-title{
    font-size: 60px;
    text-align: center;
}

.form-confirm-page dt{
    padding-top: 0; 
}
.form-confirm-page dd{
    color: #222222;
}
.form-privacy{
    background: rgba(255,255,255,0.7);
    width: 90%;
    margin: 0 auto 48px;
    padding: 40px;
    color: #444444;
    text-align: center; 
}
.form-privacy__title{
    font-size: 20px;
    margin-bottom: 40px;
    
}
.form-finish{
    color: #444;
    text-align: center;
}
.form-finish p{
    text-align: left;
    margin-bottom: 60px;
    font-size: 20px;
}
.form-contact{
    background: rgba(255,255,255,0.7);

    width: 90%;
    margin: 0 auto 48px;
    padding: 40px;
    color: #444444;
    text-align: left;
    font-size: 16px;    
    
}

@media only screen and (max-width: 768px) {
    .block__inner--entry {
        padding: 20px 15px;
    }
    .block__inner--entry dl{
        width: 100%;
        display: block;
    }
    .block__inner--entry dt{
        margin-bottom: 0;
        width: 100%;
    }
    .block__inner--entry dt span{
        color: #e5004f;
        padding-left: 10px;
    }
    .block__inner--entry dd{
        width: 100%;
        margin-bottom: 20px;
    }
    .block__inner--entry dd select{
        width: 40%;
    }
    .inline {
        width: 100%;
    }
    .btn-confirm, .btn-prev {
        width: 100%;
    }
}
