@charset "UTF-8";
/*--------------------------------------------------------------
Media Queries
--------------------------------------------------------------*/
.pc {
  display: block;
}
.sp, .sp-step-title .step-no {
  display: none;
}
@media screen and (max-width:680px) {
  .wrap {
    max-width: 90%;
  }
  
  .site-title span {
    font-size: 0.625rem;
  }
  .title span {
    font-size: 3rem;
  }
  .title {
    font-size: 1.125rem;
    line-height: 4rem;
  }
  .sub-title {
    font-size: 1.5rem;
  }
  .lede {
    padding: 2.08% 0;
  }
  .flex {
    line-height: 1.8rem;
  }
  .inner, .interview {
    padding: 0 6.25%;
  }
  .staff-detail .inner.article {
    padding: 0;
  }
  .pc, .pc.main-visual {
    display: none;
  }
  .sp {
    display: block;
  }
  /*メインビジュアル*/
  .sp .main-visual {
    display: block;
    height: 190px;
    background-size: contain;
  }
  .copy {
    margin: 0 auto;
    padding: 6.25% 0;
    width: 80%;
    text-align: center;
  }
  .copy h2 {
    font-size: 1.5rem;
    line-height: 2rem;
  }
  .copy h2 span {
    font-size: 1rem;
  }
  /*.branding .logo {
    width: 104px;
  }*/
  .dear .message {
    line-height: 2.3rem;
    padding: 6.25%;
  }
  .dear .image {
    margin: 0 auto;
    width: 85%;
    width: 100%;
    display: block;
    height: 230px;
  }
  /*.sp-nav {
    margin-left: auto;
  }
  .sp-entry {
    background: rgb(245, 170, 0);
    padding: 0 6.55%;
    color: rgb(255, 255, 255);
    white-space: nowrap;
    font-size: 0.65rem;
    display: flex;
    line-height: 3rem;
    align-items: center;
  }
  .branding.flex {
    display: flex;
    line-height: 1rem;
  }
  .branding {
    padding: 0.5rem;
  }
  .top-menu.flex {
    display: none;
  }*/
  .flex {
    display: block;
  }
  
  .sp-body {
    overflow: hidden;
  }
  
  .sub-title, .business dd::after {
    margin: 1rem auto;
  }
  .column-2 .block, .column-3 .block, .recruit .flow dt, .recruit .flow dd, .person img, .work-style .column-2 .block, .staff .list, .footer-entry .block.newgrads, .footer-entry .block.careers, .footer-entry .careers .flex dl, .section-header .title.left {
    width: 100%;
    display: block;
  }
  
  .inner, .interview {
    padding: 0 6.25%;
  }
  .inner {
    margin: 0 auto;
    max-width: 1040px;
  }
  .inner {
    margin: 0 auto;
    max-width: 1040px;
  }
  ul, ol {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  *, ::before, ::after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
  *, ::before, ::after {
    box-sizing: border-box;
    border-style: solid;
    border-width: 0;
  }
  body {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 100%;
    font-weight: 400;
  }
  body {
    color: rgb(17, 17, 17);
  }
  html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
  }
  .recruit .flow dd {
    border: none;
  }
  .entry .column-3 .block, .column-3.flex {
    padding: 2.08%;
  }
  .footer-entry .column-3 {
    margin: 1rem auto;
  }
  .footer-entry .column-3 .block {
    padding-top: 0;
  }
  .site-footer {
    font-size: 0.75rem
  }
  .job .list li a::after {
    position: static;
    display: block;
  }
  .job .list li a::after {
    background-size: contain;
    width: 100%;
    background-position: right;
  }
  .work-style .column-2 .block {
    margin: 0 auto;
    margin-bottom: 2rem;
  }
  .voice {
    margin: 6.25%
  }
  .voice .column-2 .block {
    width: 100%;
    margin: 2rem auto;
    padding: 6.55%;
    position: relative;
  }
  .work-style .column-2 .block.staff02, .work-style .column-2 .block.staff04 {
    top: 0;
  }
  /*コンセプト*/
  .concept .column-2 .block {
    height: auto;
    margin: 0;
  }
  .concept .column-2 .block.slider {
    height: 30vh;
  }
  .concept .column-2 .block.message .title.left, .section-header .title.left {
    text-align: center;
    margin-bottom: 2rem;
  }
  .concept .column-2 .block.message {
    margin-bottom: 0rem;
    text-align: center
  }
  .business dt span, .person .block, .person .title, .dear h3, .voice .profile.flex {
    text-align: center;
  }
  .concept .column-2 .block.message p {
    max-width: 15rem;
    margin: 0 auto;
  }
  .business-bg {
    margin: 0
  }
  /*事業紹介*/
  .business .column-2 .block, .private .block, .profile .block {
    width: 100%;
  }
  .scroll-image {
    overflow: auto; /*スクロールさせる*/
    white-space: nowrap; /*文字の折り返しを禁止*/
    width: 100%;
    display: flex;
    height:auto;
  }
  .scroll-image img {
    min-width: 680px;
  }
  /*モーダル*/
  .remodal {
    height: 95%;
    width: 95%;
  }
  .modal-navi .prev, .modal-navi .next {
    display: none;
  }
  .modal-section .block.img {
    padding: 2rem 0;
    width: auto;
    height: auto;
  }
  .modal-header h3, .job-remodal h5, .job-remodal p {
    width: 100%;
  }
  .sp.modal-navi .prev, .sp.modal-navi .next {
    width: 100%;
    height: auto;
    display: block;
    position: relative;
    border-top: 1px solid rgb(212, 212, 212);
  }
  .recommend-link {
    margin-bottom: 6.25%;
  }
  /*アコーディオン*/
  .key-word dt, .welfare dt, .voice .column-2 .block .profile {
    padding-bottom: 5rem;
  }
  .key-word dt.active, .welfare dt.active, .voice .column-2 .block dt.active {
    padding-bottom: 1rem;
  }
  .key-word dd, .welfare dd {
    display: none;
    margin-bottom: 4rem;
  }
  .voice .column-2 .block dd p {
    display: none;
  }
  .key-word dl, .welfare dl, .voice .column-2 .block dl {
    position: relative;
    margin-bottom: 1rem;
  }
  .key-word dt::after, .welfare dt::after, .voice .column-2 .block dt::after {
    position: absolute;
    bottom: .5rem;
    display: block;
    content: "";
    background-image: url("../svg/tab-open.svg");
    background-position: center;
    background-size: 94px 24px;
    background-repeat: no-repeat;
    width: 90%;
    padding: 1.5rem;
    margin: 2rem auto 0 auto;
    height: 24px;
    border-top: 1px solid rgba(212, 212, 212);
    left: 0;
    right: 0;
  }
  .key-word dt::after {
    background-color: rgba(255, 255, 255, 1);
  }
  .welfare dt::after {
    background-color: rgb(237, 241, 249)
  }
  .key-word dt.active::after, .welfare dt.active::after, .voice .column-2 .block dt.active::after {
    background-image: url("../svg/tab-close.svg");
  }
  /*社員紹介*/
  .person {
    margin-top: 1rem;
  }
  .person .column-2, .key-word .section-header, .modal-section {
    display: flex;
    flex-wrap: wrap;
  }
  .person .column-2 img, .key-word .section-header .title, .modal-section .block.img {
    margin: 0 auto;
    order: 1;
  }
  .modal-section .block.img {
    padding: 0;
  }
  .person .column-2 img {
    margin-top: 1rem;
  }
  .person .column-2 .block, .key-word .section-header .slider, .modal-section .block {
    margin: 0 auto;
    order: 2;
  }
  .person .thumb {
    max-width: inherit;
  }
  .recruit .flow dt br {
    display: none;
  }
  .recruit .flow .inline-list {
    display: block;
  }
  .main-slider .slider-item img {
    width: 100%;
  }
 
  .step-no, .staff-detail .profile img {
    display: none;
  }
  .sp-step-title {
    display: flex;
    align-items: center;
  }
  .sp-step-title .step-no {
    display: block;
    font-size: 2rem;
    padding-right: 8.33%;
    padding-bottom: 8.33%;
  }
  .recruit .flow li {
    padding: 4.33%;
    padding-left: 6rem;
  }
  .recruit .flow li p {
    padding: 0 6.25%;
  }
  .section-header .title {
    font-size: 1.25rem;
  }
  .footer-entry .section-header .title.left {
    margin: 0 auto;
    padding: 3rem 0;
    border: 0;
    line-height: 1.8rem;
    text-align: center;
  }
  .recruit .flow h3 {
    padding: 0;
  }
  .modal-close {
    left: 0;
    right: 0;
  }
  .modal-section img {
    position: static;
  }
  .modal-close {
    margin: 0 auto;
  }
  .staff-detail .article {
    padding: 0 6.25%;
  }
  .schedules {
    font-size: 0.875rem;
  }
  .private .block.right {
    margin: 0;
  }
  .private .block.right img, .modal-section .block.img img {
    position: static;
    max-width: inherit;
    height: auto;
    width: 100%;
    transform: none;
    margin: 0 auto;
    padding: 6.25%;
  }
  .modal-section .block.img img {
    padding: 0;
  }
  .private .block.left {
    padding-right: 6.25%;
  }
  .page-header {
    height: auto;
    background-image: none !important;
  }
  .page-header .page-title {
    position: static;
    background-color: rgb(79, 116, 190);
  }
  .footer-entry .careers .flex dl {
    border: none;
  }
  .recruit .flow li::before, .recruit .flow li::after {
    font-size: 1rem;
  }
  .information th, .information td {
    display: block
  }
}

@media screen and (max-width:980px) {
  .title, .sub-title, .slogan, .vision .sub-title.left {
    font-size: 1em;
    text-align: center;
  }
  .workstyle1 h2 {
    width: 100%;
    text-align: center;
  }
  .company .block.left, .interview li, .block.left, .block.right, .workstyle2 .block .left, .workstyle2 .block .right, .workstyle3 .block .left, .workstyle3 .block .right, .education dl, .date ol li, .business dl, .vision .block, .vision img, .group .japan .block.left, .group .world .block.right {
    width: 100%;
    text-align: left;
    max-width: 100%;
    margin-left: 0;
  }
  .workstyle3, .workstyle2 {
    padding: 1em;
  }
  .workstyle2 .block .left, .workstyle2 .block .right {
    margin: 1em 0;
  }
  .group {
    height: auto;
	padding: 5%;
  }
  .logo-link {
    width: 90px;
  }
  .site-branding-text {
    font-size: 0.8em;
  }
  #masthead .wrap {
    display: block;
  }
  .main-navigation.collapsed, .main-navigation.collapsed .menu-entry a, .main-navigation.collapsed .menu-guide a {
    background: none;
    color: #fff;
    margin: 0;
    width: 100%;
  }
  .main-navigation.collapsed a:hover {
    color: #2e3035;
  }
  .main-navigation.collapsed ul {
    background: #6485c1;
    text-align: center;
    padding: 0;
  }
  .main-navigation.collapsed ul li {
    display: block;
    border-bottom: 1px solid rgba(0, 0, 105, 0.1);
  }
  .main-navigation a {
    color: #fff;
  }
  .swiper-wrapper {
    max-height: 280px;
  }
  .interview li {
    margin: 0.25em 0;
  }
  .footer-entry .entry {
    grid-template-columns: auto;
  }
  .entry .block {
    width: 100%;
	border:0;
	margin-bottom: 0;
  }
  .vision img {
    position: static;
    margin-bottom: 1em;
  }
  .group .world.flex {
    flex-direction: column-reverse;
  }
  .vision.flex {
    flex-direction: row;
  }
  .vision.flex .img {
    order: 1;
  }
  .vision.flex h2 {
    order: 2;
  }
  .vision.flex .block {
    order: 3;
  }
}
@media screen and (max-width:480px) {
  .date ol li img {
    max-width: 200px;
    display: block;
  }

  .date ol li .supplement {text-align:right;}
  .carrier {
    padding: 0;
  }
  .recruitment {
    line-height: 1.3em;
    padding: 0 5% 30%;
    text-align: left;
  }
  .recruitment {
    background-size: contain;
    background-position: bottom !important;
  }
  .ntt-tohoku-site {
    display: block;
    position: static;
  }
  .block .left, .block .right, .sub-title.left::after, .slogan {
    text-align: center;
    margin: 0.5em auto;
  }
  .lead {
    padding: 0 1em;
  }
  .remodal .staff-photo img {
    height: 200px;
    width: auto;
    max-width: none;
  }
}

/*@media screen and (max-width:375px) {
  .slider, .slider-item {
    height: 250px;
  }
}*/