@charset "UTF-8";
html {
    scroll-behavior: smooth;
}

body {
    font-family: YuMincho, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
    color: #3F3F3F;
    scroll-behavior: smooth;
}

a {
    text-decoration: none;
}

.pc-text {
    display: inline-block;
}

.sp-text {
    display: none;
}

@font-face {
	font-family: "Poppins";
	font-style: normal;
	font-display: swap;
	src: url(../fonts/Poppins-Medium.ttf) format("truetype");
}


/*フェードイン*/

.effect-fade {
    opacity: 0;
    transform: translate(0, 100px);
    /* フェードインで動く高さを指定 */
    transition: all 1000ms;
    /* フェードインにかかる時間を指定 */
}

.effect-scroll {
    opacity: 1;
    transform: translate(0, 0);
}

@keyframes catch-color {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}


/*スクロール*/

.scroll {
    display: inline-block;
    position: absolute;
    right: 20px;
    bottom: 0;
    z-index: 2;
    padding: 10px 10px 110px;
    overflow: hidden;
    color: #fff;
    font-size: 12px;
    font-family: 'Josefin Sans', sans-serif;
    line-height: 1;
    letter-spacing: .2em;
    text-transform: uppercase;
    text-decoration: none;
    writing-mode: vertical-lr;
}

.scroll::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 1px;
    height: 100px;
    background: #fff;
}

.scroll::after {
    animation: sdl 1.5s cubic-bezier(1, 0, 0, 1) infinite;
}

@keyframes sdl {
    0% {
        transform: scale(1, 0);
        transform-origin: 0 0;
    }
    50% {
        transform: scale(1, 1);
        transform-origin: 0 0;
    }
    50.1% {
        transform: scale(1, 1);
        transform-origin: 0 100%;
    }
    100% {
        transform: scale(1, 0);
        transform-origin: 0 100%;
    }
}


/* 見出し */

.heading-wrapper {
    text-align: center;
}

.heading {
    padding-top: 80px;
    margin: 0;
}

.heading-bottom {
    margin-top: 0;
    padding-bottom: 50px;
    color: #7DAECC;
}
.company-heading-bottom{
    color: #7DAECC;
}

.heading2 {
    color: white;
    padding-top: 3%;
    margin: 0;
}

.heading-bottom2 {
    color: white;
    margin-top: 0;
    margin-bottom: 1%;
}


/*ヘッダー*/

header {
    padding: 0;
    width: 100%;
    display: block;
    position: relative;
    background-color: #fff;
    border-bottom-color: #fff;
    background-size: cover;
}

.headerSectionBlock {
    width: 1100px;
    margin-right: auto;
    margin-left: auto;
}

header {
    height: auto;
}

header h1 {
    font-weight: bold;
    font-size: 30px;
}

.header-left {
    margin: 0;
}

.headerContent {
    display: flex;
    justify-content: space-between;
    padding: 5px 10px;
    align-items: center;
}

.contact_time a {
    font-size: 22px !important;
    font-weight: bold !important;
    color: #000 !important;
}

header img,
header h2 {
    display: inline-block;
    vertical-align: middle;
}

header h2 {
    font-size: 30px;
    padding-left: 0.5rem;
}

header a {
    text-decoration: none;
    color: black;
}

.header-right {
    margin: 0 0 0 auto;
}

.gnm_contact {
    padding: 0 0 0 50px;
}

.gnm_contact p {
    font-size: 22px;
    font-weight: bold;
}

.gnm_contact span {
    font-size: 14px;
}

.logo_text_main a {
    display: flex;
    align-items: center;
}

.logo_text_main img {
    margin-right: 10px;
    max-height: 60px;
    width: auto;
}

.logo_text_main svg {
    margin-right: 10px;
    height: 55px;
    width: auto;
    vertical-align: middle;
}

.logo_text_main .cls-1 {
    fill: #3e3a39;
}


/*グローバルナビゲーション*/

#globalNavi {
    font-size: 16px;
    display: flex;
}


/*パン屑*/

.breadcrumbs {
    display: block;
    padding: 10px;
}

.breadcrumbs li {
    display: inline-block;
    font-size: 14px;
    color: #666;
}

.breadcrumbs li::after {
    content: "＞";
    padding-left: 10px;
    color: #AAA;
    font-size: 12px;
}

.breadcrumbs li:last-child::after {
    content: "";
}


/*メインビジュアル*/

.main-visual {
    position: relative;
    background-image: url("../img/top/bg_top.jpg");
    opacity: 0.9;
}

.main-img {
    position: absolute;
    top: 0;
    left: 0;
    background-image: url("../img/top/main.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    display: inline-block;
    width: calc(100% - 60px);
    /* width: 1980px; */
  height: calc(100% - 60px);
    /* padding-top: 66.74%; */
    /* text-align: center; */
    /* display: inline-block; */
    /* margin: 0 auto; */
}

.main-visual__back{
    position: relative;
    width: 100%;
    height: 735px;
    background: linear-gradient(261.66deg, #7DAECC 0%, #0076CF 100%);
}

.main-text {
    animation: catch-color 3s;
    color: #fff;
    font-size: 42px;
    letter-spacing: 3px;
    position: absolute;
    top: 22.66%;
    right: 11.31%;
}


/*お知らせ（新着）*/

.new-news {
    color: white;
    background-image: url("../img/top/bg_top.jpg");
    opacity: 0.9;
    padding: 1.2% 11%;
    margin: 0;
    position: relative;
    /* display: inline-block; */
}

.new-news p {
    margin: 0;
}

.top-news{
    position: absolute;
    bottom: 19px;
    color: #fff;
    padding-left: 50px;
}


.to-news {
    position: absolute;
    top: -28px;
    right: 0;
    background-color: #3698e1;
    width: 150px;
    text-align: center;
    font-size: 60px;
}

a.to-news {
    text-decoration: none;
    color: white;
}


section{
    position: relative;
}
.section-border{
    height: 100%;
    width: 1px;
    background: #E4E4E4;
    position: absolute;
    top: 0;
}
.section-border-box{
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 0;
    height: 100%;
    width: 95%;
    max-width: 1100px;
    margin: auto;
    z-index: 3;
}
footer .section-border{
    background: #5E5E5E;
}

.section-border__1{
    left: 0%;
}
.section-border__2{
    left: 25%;
}
.section-border__3{
    left: 50%;
}
.section-border__4{
    left: 75%;
}
.section-border__5{
    left: 100%;
}




/*トップページ*/

.section-wrapper{
    width: 95%;
    max-width: 1100px;
    margin: auto;
}

.service2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    max-width: 1100px;
    margin: 0 auto;
    padding-bottom: 120px;
}

.service2-list {
    width: 50%;
}

.service2-list-text {
    color: #fff;
    font-size: 20px;
    text-align: center;
    padding-top: 20px;
}

.service2-list1 {
    width: 550px;
    height: 350px;
    padding-top: 56px;
    padding-left: 40px;
    padding-right: 40px;
    background: url(../img/top/01.jpg);
    background-repeat: no-repeat;
    transition: 0.3s ease-in-out;
}

.service2-list1:hover {
    background: url(../img/top/01_hv.jpg);
    transition: 0.3s ease-in-out;
}

.service2-list2 {
    width: 550px;
    height: 350px;
    padding-top: 56px;
    padding-left: 40px;
    padding-right: 40px;
    background: url(../img/top/02.jpg);
    background-repeat: no-repeat;
    transition: 0.3s ease-in-out;
}

.service2-list2:hover {
    background: url("../img/top/02_hv.jpg");
    transition: 0.3s ease-in-out;
}

.service2-list3 {
    width: 550px;
    height: 350px;
    padding-top: 56px;
    padding-left: 40px;
    padding-right: 40px;
    background: url(../img/top/03.jpg);
    background-repeat: no-repeat;
    transition: 0.3s ease-in-out;
}

.service2-list3:hover {
    background: url("../img/top/03_hv.jpg");
    transition: 0.3s ease-in-out;
}

.service2-list4 {
    width: 550px;
    height: 350px;
    padding-top: 56px;
    padding-left: 40px;
    padding-right: 40px;
    background: url(../img/top/04.jpg);
    background-repeat: no-repeat;
    transition: 0.3s ease-in-out;
}

.service2-list4:hover {
    background: url("../img/top/04_hv.jpg");
    transition: 0.3s ease-in-out;
}

.service-img-black {
    background: #000;
    display: inline-block;
}

.service-img-black img {
    opacity: 0.6;
}


/* サブページトップビジュアル */

.sub-visual {
    background-size: cover;
    padding-top: 15.78125%;
    position: relative;
}

.sub-visual:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgb(255, 255, 255, 0.6);
}

.sub-visual-bottom {
    background: linear-gradient(90deg, #0076CF 0%, #7DAECC 100%);
    padding: 10px;
    font-size: 14px;
}

.sub-visual-bottom p {
    color: white;
    font-size: 14px;
    padding-left: 20%;
}

.sub-visual__service {
    background-image: url("../img/service/service_main.jpg");
}

.sub-visual__company {
    background-image: url("../img/concept/concept_main.jpg");
}

.sub-visual__recruit {
    background-image: url("../img/recruit/recruit_main.jpg");
}

.sub-visual__contact {
    background-image: url("../img/contact/contact_main.jpg");
}


/* 見出し */
.p-top-sec__heading {
    position: relative;
    display: inline-block;
}
.p-top-sec__heading::before {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #7DAECC;
    color: #292929;
    content: "";
    position: absolute;
    left: -30px;
    top: -10px;
}

.section-title-en{
    font-weight: 600;
    font-size: 18px;
    letter-spacing: 0.09em;
    color: #7DAECC;
}

.sub-heading {
    font-size: 36px;
    margin-top: 0;
}

.section-separate{
    width: 100%;
    height: 10px;
background: linear-gradient(270deg, #7DAECC 0%, #0076CF 100%);
}

.btn-plus{
    display: inline-block;
    background: #0076CF;
    padding: 0 10px;
    position: relative;
    z-index: 3;
}

.btn-plus a{
    display: inline-block;
    padding: 10px 25px 10px 15px;
    color: #fff;
    vertical-align: middle;
}

.dli-plus {
    display: inline-block;
    vertical-align: middle;
    color: #fff;
    line-height: 1;
    width: 10px;
    height: 1px;
    background: currentColor;
    border-radius: 0.1em;
    position: relative;
  }
  
  .dli-plus::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: inherit;
    border-radius: inherit;
    transform: rotate(90deg);
  }

/*株式会社Esitoの強み*/

.top-about{
    display: flex;
    justify-content: space-between;
    padding: 100px 0;
    position: relative;
    z-index: 3;
}

.top-about__heading{
    font-weight: 600;
font-size: 32px;
color: #3F3F3F;
}

.top-about__content{
    width: 50%;
}

.top-about__text{
    padding: 20px;
}

.top-about__text--content{
    margin: 50px 0;
    max-width: 457px;
    font-size: 18px;
    letter-spacing: 1.5px;
}

.top-about__text--content p{
    margin-bottom: 30px !important;
}

.top-about__img{
    width: 95%;
    max-width: 390px;
    position: relative;
    z-index: 3;
}

.strengths {
    background-image: url("../img/top/strength_main.png");
    background-repeat: no-repeat;
    /* background-repeat: repeat-y; */
    background-size: cover;
    /* background-size: 100% auto; */
    /* height: 800px; */
    /* padding-top: 70px; */
    padding-top: 2%;
}

.strengths-text {
    /* width: 670px; */
    width: 55%;
    margin: 0 auto;
    /* padding: 30px 25%; */
    padding: 0 5% 3%;
}

.strengths-text p {
    margin: 1.5rem 0;
    letter-spacing: 5px;
    padding-bottom: 20px;
}

.strengths-link {
    margin: 3rem 1rem;
    text-align: right;
}

.strengths-link a {
    color: #F53116;
    text-decoration: none;
}

.company-name {
    font-size: 23px;
}


/*事業内容*/

.service {
    background-image: url("../img/top/bg_service.jpg");
    background-position: left top;
    background-repeat: no-repeat;
    background-size: 100% auto;
}

.servise-description {
    text-align: center;
    margin-bottom: 3rem;
}

.service-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.service-content {
    width: 50%;
    position: relative;
}

.service-content:nth-child(odd) {
    text-align: right;
}

.service-content a {
    color: black;
}

.service-text {
    margin: 0 auto;
    position: absolute;
    top: 50px;
    left: 75px;
    width: 95%;
    color: #FFFFFF;
}

.service-content img {
    vertical-align: bottom;
    display: inline-block;
    /* margin: 0 0 auto 0; */
}

.service-img-hv {
    width: 100%;
    display: none;
}

.service-img-bg {
    background-color: rgba(0, 0, 0, 0.2);
}


/*お知らせ*/

.news {
    /* background-image: url("../img/top/bg_news.jpg");
    background-size: cover; */
    background: linear-gradient(90deg, #0076CF 0%, #7DAECC 100%);
    padding: 5%;
    display: flex;
    align-items: center;
    color: white;
}

.news-left {
    width: 40%;
    text-align: center;
    /* padding: 4rem; */
}

.news-right {
    width: 60%;
}

.news-right li {
    list-style: none;
    font-size: 20px;
    padding: 2%;
    margin: 1%;
    border-bottom: solid 1px white;
    color: white;
}

.news-right ul {
    padding: 0;
}

.news-tag {
    color: #77CEFF;
    border: solid 1px #77CEFF;
    padding: 0.1rem 1rem;
}


/*会社概要*/

.center {
    text-align: center;
}

.company-h3 {
    font-size: 24px;
    border-bottom: 2px solid #0076CF;
    padding-bottom: 9px;
    display: inline;
}

.company-text-item {
    font-size: 24px;
    line-height: 175.5%;
}


/*経営理念*/

.company-concept {
    margin-top: 50px;
}

.company-concept-text {
    font-size: 24px;
}

.company-concept-text {
    margin-top: 17px;
}


/*挨拶*/

.space {
    margin-bottom: 24px;
}

.company-speech {
    margin-top: 60px;
    padding: 60px 300px;
    background: url("../img/top/bg_blue.jpg");
    background-size: contain;
}

.company-speech-item {
    display: flex;
    justify-content: center;
    align-items: center;
    /* width: 80%;
    max-width: 1100px;
    margin: 0 auto; */
}

.company-speech-text {
    margin-top: 49px;
    margin-bottom: 24px;
}

.company-speech-text p {
    font-size: 18px;
    padding-bottom: 8px;
    line-height: 153%;
}

.company-speech-leader {
    margin-top: 24px;
    text-align: right;
}

.company-speech-leader-name {
    font-size: 24px;
}

.company-leader-img {
    width: 706px;
    height: auto;
}


/*経営方針*/

.company-policy {
    margin-top: 104px;
}

.company-policy-text {
    margin-top: 49px;
}

.company-history {
    margin-top: 76px;
    padding-top: 60px;
    padding-bottom: 102px;
    background: #F9F9F9;
}

.company-history-text {
    margin-top: 74px;
}


/*沿革*/

.company-history-timeline {
    display: flex;
    max-width: 1100px;
    justify-content: center;
    flex-wrap: wrap;
    margin: 0 auto !important;
    position: relative;
}

.company-history-timeline dt {
    width: 20%;
    line-height: 27.54px;
    padding-top: 16px;
    padding-right: 1rem;
    padding-bottom: 16px;
    display: flex;
    justify-content: space-between;
    text-align: right;
}

.company-history-timeline dd {
    width: 80%;
    line-height: 27.54px;
    padding-top: 16px;
    padding-bottom: 16px;
}


/* .under {
    border-bottom: 1px dashed #CBCBCB;
} */

.company-history-timeline-content {
    border-left: 1px dashed #CBCBCB;
    padding-left: 39px;
}

.company-history-timeline-content:before {
    content: '';
    width: 11px;
    height: 11px;
    background: #0076CF;
    position: absolute;
    left: 19.5%;
    margin-top: 10px;
    border-radius: 100%;
}


/*会社情報・採用情報*/

.company-recruit {
    display: flex;
    text-align: center;
    color: white;
}

.company-recruit .heading2 {
    padding-top: 6%;
}

.company {
    background-image: url("../img/top/company.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    width: 50%;
}

.recruit {
    background-image: url("../img/top/recruit.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    width: 50%;
}

.company-recruit a {
    text-decoration: none;
    color: white;
}

.company-rayer,
.recruit-rayer {
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.3);
}

.company-text,
.recruit-text {
    margin: 0;
    padding: 1% 5% 1%;
    text-align: left;
}

h2.company-text,
h2.recruit-text {
    padding-bottom: 5%;
}


/*お問い合わせ*/

.contact {
    /* background-image: url("../img/top/strength_main.png");
    background-repeat: no-repeat;
    background-size: cover; */
    /* padding: 50px; */
    text-align: center;
    width: 95%;
    max-width: 1100px;
    margin: auto;
    padding: 50px 0;
}

.contact-link a {
    text-decoration: none;
    color: #F53116;
    border: solid 1px #F53116;
    padding: 0.5rem 1rem;
    margin: 1rem;
    display: inline-block;
    transition: 0.3s ease-in-out;
}

.contact-link a:hover {
    color: #fff;
    background-color: #F53116;
    transition: 0.3s ease-in-out;
}

.contact-rayer {
    padding: 100px 50px;
    background-color: rgba(255, 255, 255, 0.55);
}

.contact-text {
    margin: 0;
    padding: 2%;
}


/*採用情報メインビジュアル */

.recruit-visual {
    background-image: url("../img/recruit/recruit_main.jpg");
    background-size: cover;
    padding-top: 15.78125%;
    position: relative;
}

.recruit-visual:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgb(255, 255, 255, 0.6);
}

.recruit-visual-bottom {
    background-image: url("../img/top/bg_top.jpg");
    background-size: cover;
    padding: 10px;
    font-size: 14px;
}

.recruit-visual-bottom p {
    color: white;
    font-size: 14px;
    padding-left: 20%;
}


/*会社概要*/

.company-about {
    margin-top: 64px;
}

.company-about-text {
    margin-top: 74px;
    width: 95%;
    margin: 0 auto;
    max-width: 1100px;
}

.company-about-text div {
    margin: 0 auto !important;
}

.company-about-text-list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    max-width: 1100px;
    margin: 0 auto;
    line-height: 27.54px;
}

.company-about-text-list dt {
    margin-top: 27px;
    margin-bottom: 15px;
    text-align: center;
    width: 25%;
    color: #0076CF;
    font-size: 18px;
    border-bottom: 1px solid #0076CF;
    padding-bottom: 9px;
    display: inline;
}

.company-about-text-list dd {
    margin-top: 27px;
    margin-bottom: 15px;
    width: 75%;
    border-bottom: 1px solid;
    padding-bottom: 9px;
    display: inline;
}

.company-map {
    margin-top: 63px;
    height: 0;
    overflow: hidden;
    padding-bottom: 26.2389%;
    position: relative;
}

.company-map iframe {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
}

.recruit-wrapper-inner {
    width: 95%;
    margin: 0 auto 50px auto;
    max-width: 1100px;
}


/* 募集要項 */

.recruit-wrapper {
    margin-top: 50px;
}

.recruit-row {
    display: flex;
    justify-content: center;
    padding-top: 15px;
    padding-bottom: 15px;
}

.recruit-row:first-child {
    margin-top: 20px;
}

.recruit-wrapper p {
    font-size: 18px;
}

.recruit-left {
    width: 217px;
    color: #0076CF;
    font-weight: 700;
    margin: 0;
}

p.recruit-left {
    text-align: center;
}

.recruit-right {
    width: 883px;
    margin: 0;
}

p.recruit-right {
    padding-left: 30px;
    line-height: 1.5;
    word-break: break-word;
}

.recruit-line {
    text-align: center;
}

.recruit-line img {
    max-width: 97%;
}

.recruit-bottom {
    text-align: center;
    font-size: 18px;
    margin: 80px 0 60px !important;
}

.text-hover {
    transition: 0.2s ease-in-out;
}

.text-hover:hover {
    opacity: 0.3;
    transition: 0.2s ease-in-out;
}

.top-hover {
    transition: 0.3s ease-in-out;
}

.top-hover:hover {
    opacity: 0.6;
    transition: 0.3s ease-in-out;
}


/* お問い合わせメインビジュアル */

.contact-visual {
    background-image: url("../img/service/service_main.jpg");
    background-size: cover;
    padding-top: 15.78125%;
    position: relative;
}

.contact-visual:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgb(255, 255, 255, 0.6);
}

.contact-visual-bottom {
    background-image: url("../img/top/bg_top.jpg");
    background-size: cover;
    padding: 10px;
    font-size: 14px;
}

.contact-visual-bottom p {
    color: white;
    font-size: 14px;
    padding-left: 20%;
}


/* お問い合わせフォーム */

.contact-wrapper {
    margin-top: 50px;
    border-bottom: 2px solid #69C7FF;
}

.contact-about {
    font-size: 18px;
    padding: 0
}

.contact-kome {
    color: #FF0909;
}

.contact-wrapper form {
    margin-top: 50px;
}


/* お問い合わせフォーム 部品*/

.contact-item {
    text-align: center;
}

.contact-item label {
    display: inline-block;
    width: 250px;
    font-size: 18px;
    text-align: left;
}

.contact-item input[type="text"],
.contact-item input[type="email"],
.contact-item input[type="tel"] {
    width: 35%;
    padding: 7px;
    padding-left: 13px;
    margin-bottom: 26px;
    border: 1px solid #9C9C9C;
}

.contact-item textarea {
    padding: 7px;
    width: 35%;
    height: 6rem;
}

.contact-submit {
    text-align: center;
}

.contact-submit input[type="submit"] {
    margin: 50px 0 85px;
    padding: 20px 100px;
    border: 1px solid #9C9C9C;
    background-color: #ffffff;
    transition: .4s;
}

.contact-submit input[type="submit"]:hover {
    background-color: rgb(241, 241, 241);
}


/* お問い合わせ完了 */

.contact-complete {
    padding: 0px 20px 120px;
    text-align: center;
}

.contact-complete h2 {
    color: #1F356F;
}

.contact-complete p {
    font-size: 16px;
    padding-top: 8px;
}


/*事業内容*/

.service-h1{
	padding-top: 50px;
}


.top-service{
    background: #F3F3F3;
    position: relative;
    min-height: 900px;
}

.top-service__content{
    background: #fff;
    padding: 50px 12%;
    width: 90%;
    max-width: 1100px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 5;
}

.top-service__bg1{
    position: absolute;
    z-index: 2;
    top: 0;
    right: 0;
}
.top-service__bg2{
    position: absolute;
    z-index: 2;
    bottom: 0;
    left: 0;
}
.content-item-num{
    font-family: 'Poppins';
    display: inline-block;
    letter-spacing: 2px;
    margin-right: 10px;
}
.top-service__text{
    margin: 30px 0 !important;
}
.top-service__list{
    display: flex;
    flex-wrap: wrap;
}
.top-service__list li{
    width: 50%;
    margin: 15px 0;
}
.top-service__btn{
    margin: 50px 0 10px 0;
    text-align: center;
}



.sub-service-wrapper {
    width: 97%;
    max-width: 1100px;
    margin: 0 auto;
}

.sub-service-wrapper p {
    font-size: 18px;
    padding: 0 10px 12px 12px;
}

.sub-service-wrapper h2 {
    font-size: 28px;
    padding: 60px 0 25px 12px;
}

.sub-service-wrapper h3 {
    font-size: 28px;
    padding: 45px 0 20px;
}


/* ナビ */

.sub-service-nav{
	padding-bottom: 60px;
}

.sub-service-nav-text {
    text-align: center;
    margin: 30px 0 20px;
}

p.sub-service-nav-text {
    padding: 40px 0 20px;
}



.sub-service-nav li {
    margin: 17px;
    border-bottom: 1px solid #E8E8E8;
    position: relative;
}

.sub-service-nav a {
    display: block;
    padding: 5px 50px 5px 8px;
    text-decoration: none;
    color: black;
    transition: .3s;
}

span.triangle {
    color: #0076CF;
    position: absolute;
    top: 6px;
    right: 0;
}

.sub-service-nav a:hover {
    opacity: 0.7;
}


/* 背景画像 */

.sub-service-bg-wrapper {
    width: 100%;
    padding: 0px 16px 50px;
    position: relative;
}

.sub-service-bg1 {
    position: absolute;
    left: 0;
    z-index: -1;
}

.sub-service-bg2 {
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: -1;
}


/* テキスト・画像のところ */




.sub-service-reverse {
    flex-direction: row;
}

.sub-service-text {
    margin-top: 30px;
}

.sub-service-text-list{
	margin-left: 30px;
}

.sub-service-dl{
	margin-left: 30px !important;
}
/* 画像３つのところ */

.sub-service-heading-center {
    text-align: center;
}

.sub-service-items {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}

.sub-service-item {
    width: 30%;
}

.sub-service-item img {
    text-align: center;
    display: inline-block;
}

.sub-service-item p {
    padding-right: 0;
    padding-left: 0;
}


/*フッター*/

footer {
    padding: 80px 30px 10px 30px;
    background-image: url("../img/footer/footer_bg.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    color: #fff;
    position: relative;
}

footer::before{
    /* 透過した黒を上から重ねるイメージ */
    background-color: rgba(0,0,0,0.7);
    /* 自由に位置指定 */
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: ' ';
}

footer ul li a{
    color: #fff;
}

.footer-container{
    display: flex;
    position: relative;
    z-index: 3;

}
footer img,
footer h2 {
    display: inline-block;
    vertical-align: sub;
}

footer img {
    vertical-align: middle;
    width: 79px;
}

.footer-left {
    width: 40%;
}

.footer-logo {
    width: 300px;
    margin: 0 0 0 auto;
}

.footer-logo svg{
    max-width: 80px;
}

.footer-logo *{
    margin-bottom: 10px !important;
}

.footer-address {
    text-align: left;
    font-size: 16px;
}

.footer-right {
    width: 60%;
    display: flex;
    flex-wrap: wrap;
    box-sizing: border-box;
    justify-content: space-around;
}

.footer-nav {
    width: 30%;
    box-sizing: border-box;
}

.copyright{
    text-align: center;
    position: relative;
    z-index: 3;
    margin-top: 50px;
}

/*
ul.footer-nav {
    margin: 15px 0 0 65px;
}*/

.footer-right a {
    display: block;
    color: #fff;
    text-decoration: none;
}

.footer-nav-heading {
    background-image: url("../img/footer/line.png");
    background-position: left bottom;
    background-repeat: no-repeat;
    /* background-size: 100% auto; */
    margin-bottom: 1rem;
    padding-bottom: .5rem;
    /*
    position: relative;
    border-bottom: solid 1.5px #DFDFDF;
    */
}


/*
.footer-nav-heading:before {
    content: "";
    width: 43px;
    height: 1.5px;
    background-color: #1F356F;
    position: absolute;
    bottom: -1.5px;
}*/

.footer-right li {
    list-style: none;
}

.footer-nav a {
    transition: 0.2s;
}

.footer-nav a:hover {
    opacity: 0.3;
    transition: 0.2s;
}

.pc-br {
    display: block;
}

.tab-br {
    display: none;
}

.sp-br {
    display: none;
}



@media screen and (min-width:1100px) {
    /*ヘッダー*/
    header h1 {
        top: -75px;
        left: 0;
    }
    .sp_menu,
    .menuTrigger,
    .close_btn {
        display: none;
    }
    .bgWhite {
        background-color: #fff;
        height: 100px;
    }
    /*グローバルナビ*/
    #globalNavi.nav_fixed {
        position: fixed;
        top: 0px;
    }
    #globalNavi ul.globalNaviMenu {
        display: flex;
        align-items: center;
    }
    #globalNavi ul li {
        margin-right: 25px;
    }
    #globalNavi li a {
        padding: 25px 0;
        display: table-cell;
        text-decoration: none;
        text-align: center;
        line-height: 22px;
        position: relative;
        vertical-align: middle;
        font-size: 16px;
    }
    .gnm_contact {
        display: flex;
        margin-right: 30px;
    }
    .gnm_contact img {
        width: 25px;
        margin-right: 10px;
    }
    .gnm_contact a {
        font-size: 18px;
        font-weight: 700;
        color: #fff;
    }
    #globalNavi li :hover,
    #globalNavi ul li:hover>a {
        opacity: .7;
    }
    .globalNaviMenu ul li a::after {
        border-bottom: solid 2px #f00;
        bottom: 0;
        content: "";
        display: block;
        transition: all .3s ease;
        -webkit-transition: all .3s ease;
        width: 0;
    }
    .globalNaviMenu ul li a:hover::after {
        width: 100%;
    }
}

@media screen and (max-width:1100px) {
    .mouse {
        display: none;
    }
    p {
        font-size: 14px;
    }
    h1 {
        font-size: 25px;
    }
    /*ヘッダー-------------------------------------------*/
    .mainContainer {
        width: 90%;
        margin-left: 5%;
        margin-right: 5%;
    }
    header {
        overflow: hidden;
        padding: 10px 2% 5px;
        display: flex;
    }
    .logo {
        width: 35px;
    }
    header img {
        vertical-align: middle;
    }
    header h2 {
        font-size: 16px;
        padding-left: 0.2rem;
        vertical-align: sub;
    }
    header ul {
        margin: 0;
        padding: 0;
    }
    .headerContent {
        display: flex;
        width: 100%;
        margin-top: 15px;
        margin-bottom: 15px;
    }
    .top_view__message h2 {
        font-size: 25px;
        line-height: 1.6;
    }
    /*ハンバーガー-------------------------------------------*/
    .menuTrigger {
        display: block;
        height: 50px;
        width: 60px;
        text-align: center;
        position: fixed;
        z-index: 5000;
        top: 20px;
        right: 15px;
        /* background-color: rgba(255,255,255); */
    }
    .menuTrigger:hover {
        cursor: pointer;
    }
    .menuTrigger.opened span {
        background-color: #fff;
    }
    .menuTrigger span {
        width: 35px;
        height: 2px;
        display: block;
        position: absolute;
        left: 22%;
        top: 45%;
        background-color: #000;
    }
    .menuTrigger span {
        transition: all 0.3s;
        transform: rotate(0deg);
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
    }
    .menuTrigger span.top {
        transform: translateY(-8px);
        -webkit-transform: translateY(-8px);
        -moz-transform: translateY(-8px);
    }
    .menuTrigger span.bottom {
        transform: translateY(8px);
        -webkit-transform: translateY(8px);
        -moz-transform: translateY(8px);
    }
    .menuTrigger:hover span.top {
        transform: translateY(-10px);
        -webkit-transform: translateY(-10px);
        -moz-transform: translateY(-10px);
    }
    .menuTrigger:hover span.bottom {
        transform: translateY(10px);
        -webkit-transform: translateY(10px);
        -moz-transform: translateY(10px);
    }
    .menuTrigger.opened span.middle {
        background: rgba(255, 255, 255, 0);
        transform: translateX(30px);
        -webkit-transform: translateX(30px);
        -moz-transform: translateX(30px);
    }
    .menuTrigger.opened span.top {
        transform: rotate(-45deg) translateY(0px);
        -webkit-transform: rotate(-45deg) translateY(0px);
        -moz-transform: rotate(-45deg) translateY(0px);
    }
    .menuTrigger.opened span.bottom {
        transform: rotate(45deg) translateY(0px);
        -webkit-transform: rotate(45deg) translateY(0px);
        -moz-transform: rotate(45deg) translateY(0px);
    }
    /*グローバルナビ-------------------------------------------*/
    #globalNavi {
        position: fixed;
        width: 100%;
        height: 100%;
        padding-top: 170px;
        top: 0px;
        left: 0;
        overflow: auto;
        z-index: 3000;
        background:  #0076CF;
        opacity: 0.95;
        filter: alpha(opacity=95);
        -ms-filter: "alpha( opacity=95 )";
        display: none;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }
    #globalNavi ul {
        display: block;
        margin: 0px;
        padding: 0px;
        clear: both;
        width: 90%;
        margin: 0 5%;
    }
    #globalNavi ul li a {
        color: #FFFFFF;
        text-decoration: none;
        display: block;
        padding-top: 16px;
        padding-right: 30px;
        padding-bottom: 14px;
        padding-left: 30px;
        border-bottom: solid 1px #ffffff3b;
        background-repeat: no-repeat;
        background-position: right center;
        line-height: 22px;
        font-size: 18px;
        position: relative;
    }
    #globalNavi ul li a::before,
    .gnm_contact a::before {
        position: absolute;
        content: "";
        display: block;
        width: 5px;
        height: 1px;
        background: #7DAECC;
    }
    #globalNavi ul li a::before {
        top: 25px;
        left: 5px;
    }
    .gnm_contact a::before {
        top: 10px;
        left: 5px;
    }
    #globalNavi ul li a:hover {
        border-bottom: solid 1px #ffffff3b;
        background-color: #fff;
        color: #000;
        opacity: 0.3;
    }
    .fixed {
        overflow: hidden;
    }
    .contact_time a {
        font-size: 22px !important;
        font-weight: bold !important;
        color: #fff !important;
        padding-left: 0 !important;
    }
    .contact_time span {
        color: #fff;
    }
    .contact_time a:before {
        width: 0;
        height: 0;
    }
    .gnm_contact {
        padding-top: 16px;
        padding-right: 30px;
        padding-bottom: 14px;
        padding-left: 0;
        border-bottom: solid 1px #ffffff3b;
        line-height: 22px;
        font-size: 18px;
        margin: 0 5%;
    }
    .gnm_contact img {
        display: none;
    }
    .gnm_contact a {
        color: #fff;
        position: relative;
        padding-left: 30px;
    }
    /*メインヴィジュアル*/
    .main-text {
        font-size: 40px;
    }
    /*株式会社Esitoの強み　途中*/
    .strengths {
        background-image: url("../img/top/strength_main.png");
        background-repeat: no-repeat;
        background-size: cover;
        /* background-size: 100% auto; */
        /* height: 800px; */
        /* padding-top: 70px; */
        padding-top: 2%;
    }
    .strengths-text {
        /* width: 670px; */
        width: 70%;
        margin: 0 auto;
        /* padding: 30px 25%; */
        padding: 1% 5%;
    }
    .strengths-text p {
        margin: 0.7rem 0;
    }
    .strengths-link {
        margin: 3rem 1rem;
        margin: 1rem;
    }
    .company-name {
        /* font-size: 23px; */
        font-size: 20px;
    }
    /*お知らせ*/
    .news-left {
        width: 25%;
        text-align: center;
    }
    .news-right {
        width: 75%;
    }
    .news-right li {
        font-size: 18px;
    }
    /*挨拶*/
    .company-speech {
        padding-left: 5%;
        padding-right: 5%;
    }
    .company-speech-item {
        display: block;
    }
    .company-leader-img {
        width: 100%;
    }
    .company-speech-text p {
        font-size: 14px;
        line-height: 153%;
    }
    .pc-br {
        display: block;
    }
    .tab-br {
        display: none;
    }
    .sp-br {
        display: none;
    }
}

@media screen and (max-width: 1024px) {
    /*採用情報*/
    p.recruit-left {
        text-align: center;
        padding-left: 20px;
    }
    /* お問い合わせフォーム 部品*/
    .contact-item input[type="text"],
    .contact-item input[type="email"],
    .contact-item input[type="tel"] {
        width: 60%;
    }
    .contact-item textarea {
        width: 60%;
    }
    /*事業内容*/
    .sub-service-wrapper p {
        padding-top: 20px;
    }
    /* テキスト・画像のところ */
    .sub-service-heading-right {
        display: block;
    }
    .sub-service-contents {
        display: block;
    }
    .sub-service-reverse {
        flex-direction: row-reverse;
    }
    .sub-service-text {
        width: 100%;
    }
    .sub-service-img {
        width: 100%;
    }
    .sub-service-item p {
        padding-right: 0;
        padding-left: 0;
    }
}

@media screen and (max-width:760px) {
    header h1 {
        left: 5px;
        top: 5px;
        font-size: 24px;
    }
    .top_view__message {
        width: 90%;
    }
    .newTopics {
        display: block;
    }
    .newTopics h2 {
        margin-bottom: 0;
    }
    .sectionBlock .newTopics h2 {
        width: 100%;
    }
    .service_list {
        display: block;
    }
    .service_list__box {
        width: 100%;
        margin-bottom: 60px;
    }
    .top_intro-circle1,
    .top_intro-circle2,
    .top_intro-circle3 {
        width: 120px;
        height: 120px;
    }
    .top_intro-circle .topSecTitle {
        padding: 28px 0px;
    }
    .topSecTitle {
        font-size: 25px;
    }
    .top_intro-title {
        width: 430px;
    }
    .fontimg1 {
        left: -53px;
        top: 0px;
    }
    .fontimg2 {
        left: -35px;
        top: 10px;
    }
    .border_title {
        padding-bottom: 45px;
        padding-top: 45px;
    }
}

@media screen and (max-width: 768px) {
    p {
        font-size: 16px;
    }
    .pc-text {
        display: none;
    }
    .sp-text {
        display: block;
    }
    .company-h3 {
        font-size: 18px;
    }
    /*ヘッダー*/
    .logo {
        width: 30px;
    }
    header h2 {
        font-size: 15px;
    }
    .header-left {
        margin: 0 1rem;
    }
    .header-contact {
        margin-right: 50px;
        font-size: 12px;
        padding: 3px 10px;
    }
    /*スクロールを促す*/
    .scroll {
        display: none;
    }
    /*見出し*/
    .heading {
        padding-top: 40px;
    }
    .sub-heading {
        font-size: 30px;
    }
    /*メインヴィジュアル*/
    .main-text {
        font-size: 30px;
    }
    /*お知らせ*/
    .news {
        display: block;
    }
    .news-left {
        width: 100%;
        padding: 0;
    }
    .news-right {
        width: 100%;
    }
    .news-right li {
        font-size: 17px;
    }
    /*トップページ*/
    .new-news {
        padding: 8px;
        font-size: 12px;
    }
    .main-text {
        color: #000;
    }
    .heading2 {
        padding-top: 0;
    }
    .heading-bottom {
        padding-bottom: 20px;
    }
    .strengths {
        padding-bottom: 50px;
    }
    .strengths-text p:last-of-type {
        padding-bottom: 0;
    }
    .top-text {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
    }
    .strengths-text {
        width: 100%;
    }
    .servise-description {
        padding: 1% 5%;
        margin-bottom: 2rem;
    }
    .service2-list-text {
        font-size: 16px;
        padding-top: 14px;
    }
    .service2 {
        display: block;
        padding-bottom: 30px;
    }
    .service2-list {
        max-width: 768px;
        width: 100%;
        height: 180px;
    }
    .service2-list1 {
        width: 100%;
        height: 100%;
        padding-top: 8px;
        padding-left: 5px;
        padding-right: 5px;
        background: url(../img/top/01_sp.jpg);
        background-repeat: no-repeat;
        background-size: cover;
        position: relative;
    }
    .service2-list1::before {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        background-color: rgba(0, 0, 0, 0.6);
    }
    .service2-list1:hover {
        pointer-events: none;
    }
    .service2-list2 {
        width: 100%;
        height: 100%;
        padding-top: 8px;
        padding-left: 5px;
        padding-right: 5px;
        background: url(../img/top/02_sp.jpg);
        background-repeat: no-repeat;
        /* transition: 0.3s ease-in-out; */
        background-size: cover;
        position: relative;
    }
    .service2-list2::before {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        background-color: rgba(0, 0, 0, 0.6);
    }
    .service2-list2:hover {
        pointer-events: none;
    }
    .service2-list3 {
        width: 100%;
        height: 100%;
        padding-top: 8px;
        padding-left: 5px;
        padding-right: 5px;
        background: url(../img/top/03_sp.jpg);
        background-repeat: no-repeat;
        background-size: cover;
        position: relative;
    }
    .service2-list3::before {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        background-color: rgba(0, 0, 0, 0.6);
    }
    .service2-list3:hover {
        pointer-events: none;
    }
    .service2-list4 {
        width: 100%;
        height: 100%;
        padding-top: 8px;
        padding-left: 5px;
        padding-right: 5px;
        background: url(../img/top/04_sp.jpg);
        background-repeat: no-repeat;
        background-size: cover;
        position: relative;
    }
    .service2-list4::before {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        background-color: rgba(0, 0, 0, 0.6);
    }
    .service2-list4:hover {
        pointer-events: none;
    }
    .top-news {
        /* margin-bottom: 30px !important; */
        bottom: 5px;
        padding-left: 10px;
    }
    .company-text,
    .recruit-text {
        padding-top: 10px;
        font-size: 16px;
    }
    /*会社概要*/
    .company-concept-text {
        margin-top: 16px;
    }
    /*ご挨拶*/
    .company-speech {
        margin-top: 50px;
        padding-top: 30px;
        padding-bottom: 30px;
    }
    .company-speech-text p {
        font-size: 16px;
    }
    /*経営方針*/
    .company-policy {
        margin-top: 56px;
    }
    .company-policy-text {
        margin-top: 16px;
    }
    /*沿革*/
    .company-history {
        margin-top: 56px;
        padding-top: 30px;
        padding-bottom: 30px;
    }
    .company-history-text {
        margin-top: 30px;
    }
    .company-history-timeline>li {}
    .company-history-timeline dt {
        font-size: 14px;
        width: 30%;
        display: block;
        padding-left: 15px;
        /* padding-right: 0; */
        overflow: hidden;
    }
    .company-history-date1 {
        display: block;
    }
    .company-history-date2 {
        display: block;
    }
    .company-history-timeline dd {
        width: 70%;
        overflow: hidden;
        /* padding-top: 42px; */
    }
    .company-history-timeline-content:before {
        left: 28.6%;
    }
    .company-history-timeline-content2 {
        padding-top: 13px !important;
    }
    /*会社概要*/
    .company-about {
        margin-top: 56px;
    }
    .company-about-text {
        margin-top: 16px;
    }
    .recruit-left {
        font-size: 18px;
    }
    .company-map {
        margin-top: 30px;
        padding-bottom: 56.25%;
    }
    /*採用情報*/
    .sub-visual {
        padding-top: 39%;
    }
    .sub-visual-bottom p {
        padding-left: 0;
    }
    .sub-visual-bottom {
        padding: 8px;
        font-size: 12px;
    }
    .recruit-visual-bottom {
        padding: 8px;
        font-size: 12px;
    }
    .sub-visual__service {
        background-image: url("../img/service/service_main_sp.jpg");
    }
    .sub-visual__company {
        background-image: url("../img/concept/concept_main_sp.jpg");
    }
    .sub-visual__recruit {
        background-image: url("../img/recruit/recruit_main_sp.jpg");
    }
    .sub-visual__contact {
        background-image: url("../img/contact/contact_main_sp.jpg");
    }
    /* お問い合わせメインビジュアル */
    .contact-visual-bottom {
        padding: 8px;
        font-size: 12px;
    }
    /* お問い合わせフォーム 部品*/
    .contact-item label {
        width: 180px;
    }
    .contact-item input[type="text"],
    .contact-item input[type="email"],
    .contact-item input[type="tel"] {
        width: 65%;
    }
    .contact-item textarea {
        width: 65%;
    }
    /*事業内容*/
    .sub-service-wrapper p {
        padding: 20px;
    }
    .sub-service-wrapper h2 {
        font-size: 25px;
        padding: 40px 20px 20px;
    }
    /* ナビ */
    .sub-service-nav a {
        padding: 5px 30px 5px 8px;
    }
    /* 画像３つのところ */
    .sub-service-item p {
        font-size: 16px;
        padding-right: 0;
        padding-left: 0;
    }
    /*フッター*/
    .contact-link a {
        font-size: 18px;
    }
    .contact-rayer {
        padding: 20px;
    }
    footer{
        padding: 20px;

    }
    .footer-container {
        display: block;
    }
    .footer-left {
        width: 100%;
        margin-bottom: 20px;
    }
    .footer-logo {
        margin: 0 auto 0 0;
    }
    .footer-right {
        width: 100%;
        display: block;
    }
    .footer-nav {
        width: 100%;
    }
    ul.footer-nav {
        margin: 0;
        margin-bottom: 30px;
    }
    .pc-br {
        display: none;
    }
    .tab-br {
        display: block;
    }
    .sp-br {
        display: none;
    }

    .headerContent{
        margin: 0;
    }
    .main-visual__back{
        height: 400px;
    }
    .p-top-sec__heading::before{
        left: -15px;
        top: -5px;
    }
    .top-about{
        display: block;
        padding-top: 50px;
    }

    .top-about__heading{
        font-size: 28px;
    }
    .top-about__content{
        width: 95%;
        margin: auto;
    }
    .top-service{
        min-height: 830px;
    }
    .top-service__content{
        padding: 50px 20px;
    }
    .top-service__list{
        display: block;
    }
    .top-service__list li{
        width: 100%;
    }
    .news{
        padding: 50px 5%;
    }
}

@media screen and (max-width:560px) {
    .logo_text_main img {
        margin-top: 0;
    }
    header .headerContactBtn a {
        float: left;
        margin-left: 13px;
        padding: 0px;
        width: 280px;
        background-position: 240px center;
    }
    header .headerContactBtn a::after {
        line-height: 26px;
    }
    .top_view__message h2 {
        font-size: 20px;
        line-height: 1.6;
        letter-spacing: -1px;
    }
    .top_intro {
        width: 95%;
    }
    .top_intro-title {
        width: 250px;
    }
    .topSecTitle {
        font-size: 20px;
    }
    .top_intro-circle1,
    .top_intro-circle2,
    .top_intro-circle3 {
        width: 110px;
        height: 110px;
    }
    .top_intro-circle .topSecTitle {
        padding: 15px 0px;
    }
    .top_intro-circle1,
    .top_intro-circle2,
    .top_intro-circle3 {
        width: 90px;
        height: 90px;
    }
    .top_intro-circle1 {
        position: absolute;
        left: 20%;
        top: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
    }
    .top_intro-circle3 {
        position: absolute;
        top: 50%;
        transform: translate(-25%, -50%);
        -webkit-transform: translate(-25%, -50%);
        -ms-transform: translate(-25%, -50%);
    }
}

@media screen and (max-width: 450px) {
    /*メインヴィジュアル*/
    .main-text {
        font-size: 22px;
    }
    .main-img {
        width: 100%;
    }
    /*見出し*/
    .sub-heading {
        font-size: 25px;
    }
    /*会社情報・採用情報*/
    .company-recruit {
        display: block;
    }
    .company {
        width: 100%;
    }
    .recruit {
        width: 100%;
    }
    .recruit-wrapper {
        margin-top: 30px;
    }
    .recruit-row {
        display: block;
        margin: 30px 0 0;
    }
    .recruit-right,
    .recruit-left {
        width: 90%;
    }
    p.recruit-left {
        text-align: left;
        padding: 0 0 13px 15px;
    }
    p.recruit-right {
        font-size: 16px;
    }
    .recruit-bottom {
        text-align: left;
        font-size: 15px;
        margin: 50px 15px 50px !important;
    }
    /*お問い合わせ*/
    .contact-wrapper {
        margin-top: 30px;
        border-bottom: 2px solid #69C7FF;
    }
    .contact-about {
        font-size: 16px;
        padding: 0;
        text-align: center;
        padding-top: 5px;
        padding-left: 20px;
    }
    /* お問い合わせフォーム 部品*/
    .contact-item {
        text-align: left;
        padding-left: 20px
    }
    .contact-item label {
        text-align: left;
        padding-bottom: 10px;
    }
    .contact-item input[type="text"],
    .contact-item input[type="email"],
    .contact-item input[type="tel"] {
        width: 90%;
    }
    .contact-item textarea {
        width: 90%;
    }
    .contact-submit input[type="submit"] {
        margin: 30px 0 50px;
        padding: 15px 70px;
    }
    .contact-complete {
        padding: 0px 20px 50px;
        text-align: center;
    }
    .contact-complete h2 {
        font-size: 20px;
    }
    .contact-complete p {
        font-size: 16px;
        padding-top: 8px;
    }
    /*事業内容*/
    .sub-service-bg-wrapper {
        padding: 0px 0 30px 0;
    }
    .sub-service-wrapper p {
        font-size: 16px;
    }
    .sub-service-wrapper h2 {
        font-size: 20px;
        padding: 20px 20px 11px;
    }
    .sub-service-wrapper h3 {
        font-size: 19px;
        padding: 30px 0 8px;
    }
    /* ナビ */
    .sub-service-nav {
        display: block;
        padding: 0;
        margin: 25px 0;
    }
    .sub-service-nav li {
        width: 85%;
        margin: 15px auto;
    }
    /* テキスト・画像のところ */
    .sub-service-heading-right h2 {
        width: 100%;
    }
    .sub-service-img img {
        width: 100%;
    }
    /* 画像３つのところ */
    .sub-service-heading-center {
        text-align: center;
        font-size: 28px;
        padding: 35px 0;
    }
    .sub-service-items {
        display: block;
        text-align: center;
    }
    .sub-service-item {
        width: 90%;
        margin: 0 auto;
    }
    .sub-service-items img {
        display: inline-block;
        width: 90%;
    }
    .sub-service-item p {
        padding: 0 0 20px;
    }
    .company-concept {
        margin-top: 30px;
    }
    .company-history-timeline dt {
        text-align: center;
    }
    .company-history-timeline-content {
        padding-left: 27px;
    }
    p.recruit-left {
        text-align: left;
        padding-left: 9px;
    }
    .pc-br {
        display: none;
    }
    .tab-br {
        display: none;
    }
    .sp-br {
        display: block;
    }
    .main-text {
        top: 17%;
        left: 16.31%;
    }
    .strengths-text p {
        letter-spacing: 2px;
    }
    .top-text {
        left: 0;
        right: 0;
        margin: auto;
    }
    .service2-list {
        height: 212px;
    }
    .contact-text {
        text-align: left;
    }header h1
    .strengths-text {
        padding: 1% 2%;
    }
    .company-text,
    .recruit-text {
        padding: 10px 15px;
    }
    .contact-rayer {
        padding: 50px 30px;
    }
    .sub-service-wrapper p {
        padding: 6px;
    }
}

@media screen and (max-width: 375px) {
    .contact-complete h2 {
        font-size: 17px;
    }
}