@charset "UTF-8";
@media screen and (min-width: 768px) {
  main {
    width: 100%;
    overflow: hidden;
  }

  h1 {
    writing-mode: vertical-rl;
    font-size: 1.56vw;
    letter-spacing: .1vw;
    line-height: 2.34vw;
    padding: .1vw 0 0 2.7vw;
  }

  h2 {
    font-size: 3vw;
  }

  .more.pcOnly {
    display: block;
    margin-top: auto;
  }
  .more img{
    width: 2.03vw;
    height: 2.03vw;
  }

  .hero {
    padding-top: 6.5vw;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    position: relative;
    z-index: 12;
  }

  .heroText {
    position: relative;
    width: 91.61vw;
    height: 71.56vw;
    background: #000;
    color: #fff;
    overflow: hidden;
  }

  .heroText:after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-image: linear-gradient(90deg, rgba(0, 0, 0, .7), rgba(255, 255, 255, 0));
  }

  .heroText h2 {
    position: absolute;
    top: 0;
    left: 0;
    padding: 6.25vw 0 0 9.8vw;
    align-items: start;
    font-size: 6.31vw;
    line-height: 8.29vw;
    letter-spacing: .6vw;
    height: auto;
    color: #fff;
    z-index: 5;
    text-shadow: none;
  }
  .heroText h3 {
    padding: 38.75vw 0 0 10vw;
    font-size: 1.88vw;
    letter-spacing: .08vw;
  }

  .heroText p {
    font-size: 1.27vw;
    line-height: 3.6vw;
    letter-spacing: 0;
    padding: 0;
    left: 10vw;
    top: 43.5vw;
  }

  .heroTextSlide {
    height: 100%;
  }
  
  .recruitCategory,
  .topInterviewSection {
    height: auto;
    width: 91.61vw;
    padding: 4.1vw 8.33vw 0 0;
    margin-left: 8.39vw;
    display: flex;
    justify-content: space-between;
  }
  
  .topInterview {
    width: 100%;
    height: 15.64vw;
    background: url(/jp/recruitment/assets/img/top/topInterviewPc.png)no-repeat center;
    background-size:cover ;
  }
  
  .topInterview .text {
    padding: 0;
    position: absolute;
    top: 30%;
    left: 43.2%;
    display: flex;
    flex-direction: column;
    text-align: left;
    color: #fff;
  }

  .topInterview p {
    margin-top: 2%;
    font-size: 1.56vw;
    font-weight: 200;
    font-family: "Oswald", "Bebas Neue", "Bebas", "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  }
  .topInterview .more.pcOnly {
    display: flex;
  }
  .topInterview .more.spOnly {
    display: none;
  }
  .topInterview a.more {
    position: absolute;
    top: 26%;
    left: 21vw;
    padding: .8vw .8vw .8vw 2.08vw;
    height: 3.13vw;
  }
  .topInterview.hoverBlack.moreHoverPc:hover a.more::after{
    background-image: url(/jp/recruitment/assets/img/common/moreArrow.svg);
  }
  .recruitCategory{
    padding-top: 3.7vw;
  }
  
  .recruitCategory .categoryItem {
    width: 39.58vw;
    height: 15.63vw;
    margin: 0 0 4.2vw;
    color: #fff;
    font-size: 2.5vw;
    text-align: center;
    transition: all .3s ease;
  }
  .recruitCategory .categoryItem::before{
    transition: all .2s;
    z-index: 3;
    height: 125%;
    transform: translateY(-125%);
    background: linear-gradient(180deg, rgba(0, 0, 0, .4) 80%, rgba(0, 0, 0, 0) 100%);
  }
  #careerRecruit:hover::before,
  #newbieRecruit:hover::before,
  #intern:hover::before,
  .recruitCategory .categoryItem:hover::before{
    transform: translate(0);
  }
  .categoryText{
    padding: 4.25vw 5.83vw 0;
  }
  .recruitCategory .categoryItem h2 {
    margin-top:0;
    font-size: 2vw;
    letter-spacing: .1vw;
    font-weight: 300;
  }
  #intern h2{
    font-size: 1.8vw;
    font-weight: 400;
  }
  .recruitCategory .categoryItem p {
    margin-top: -.2vw;
    font-size: 1vw;
    letter-spacing: .2vw;
  }
  .recruitCategory .wide .more,
  .recruitCategory div .more{
    position: relative;
    padding: 0;
    bottom: -.75vw;
    line-height: 2vw;
  }
  #newbieRecruit .categoryText,
  #careerRecruit .categoryText{
    padding: 3.5vw 5.2vw 0 5.83vw;
  }
  #newbieRecruit {
    text-align: right;
  }
  #newbieRecruit .categoryText h2{
    letter-spacing: -.05vw;
  }
  #newbieRecruit::before{
    transform: translateX(-125%);
    background: linear-gradient(90deg, rgba(0, 0, 0, .4) 80%, rgba(0, 0, 0, 0) 100%);
  }
  #careerRecruit {
    text-align: left;
  }
  #careerRecruit::before{
    transform: translateX(125%);
    background: linear-gradient(270deg, rgba(0, 0, 0, .4) 80%, rgba(0, 0, 0, 0) 100%);
  }
  #intern::before{
    transform: translateY(125%);
    background: linear-gradient(rgba(0, 0, 0, .4) 80%, rgba(0, 0, 0, 0) 100%);
  }
  #careerRecruit .categoryText h2{
    letter-spacing: -.1vw;
  }
  #newbieRecruit b.more,
  #careerRecruit b.more {
    bottom: -.5vw;
    display: inline;
  }
  #jobDescription {
    height: 15.62vw;
  }
  .recruitCategory div .more .pcOnly {
    display: inline;
    padding: 0;
    line-height: 0;
  }
  
  .recruitCategory div .more::after {
    display: none;
  }

  .recruitContent.pcOnly {
    width: 91.67vw;
    margin-left: 8.39vw;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    flex-direction: initial;
  }
  .recruitContent.spOnly{
    display: none;
  }

  .recruitContent div .text {
    padding: 0;
    text-align: center;
    color: #fff;
  }

  .recruitContent div .text h3 {
    font-size: 2.19vw;
    margin: 0;
  }

  .recruitContent div .text a {
    margin-top: auto;
    border: none;
    padding: 0;
    justify-content: center;
  }

  .recruitContent div .text a.more::after {
    display: none;
  }
  
  #aboutUs {
    width: 83.33vw;
    height: 15.63vw;
    display: flex;
    align-items: center;
    order: 1;
    background: url(/jp/recruitment/assets/img/top/aboutUsPc.png) no-repeat center center;
    background-size: contain;
    margin: 0 auto;
    position: relative;
    color: #fff;
  }

  section.vision .txt {
    margin: 0 auto;
    height: 8.33vw;
    display: flex;
    flex-flow: column;
    align-items: center;
  }
  section.vision .txt p {
    margin-top: 4vw;
    font-size: 1.45vw;
    line-height: 2.08vw;
    letter-spacing: 0;
  }
  section.vision .txt h3 {
    font-size: 2.2vw;
    letter-spacing: .6vw;
    font-weight: 400;
    margin: 0 0 1vw;
  }
  section.vision .txt a{
    display: flex;
    padding: .8vw .8vw .8vw 2.08vw;
    height: 2.5vw;
    font-size: .75vw;
    letter-spacing: .2vw;
    padding: 1.04vw .58vw 1vw 1.5vw;
  }
  section.vision .txt a::after{
    margin-left: 5vw;
  }
  section.vision .txt > img{
    width: 2.03vw;
    height: 2.03vw;
  }

  .eventDesign {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .eventDesign a {
    width: 35vw;
    height: 22vw;
    margin-top: 6vw;
    background: #000;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.5vw;
    text-align: center;
  }

  .projectStory.pcOnly {
    height: 56.25vw;
    transition: all .6s ease;
    display: flex;
    flex-flow: column;
  }
  /* .projectStory:hover {
    background: #4881AE;
    color: #FFF;
  } */
  
  .storyWrap {
    display: flex;
    margin: 5.24vw 0 5.5vw 8.39vw;
    height: 56.21vw;
  }
  .storyWrap::before{
    z-index: 3;
    transition: all .6s ease;
  }
  .storyWrap ul::after{
    display: none;
  }

  .story.TitleBlock {
    flex-wrap: nowrap;
    width: 35%;
    height: 100%;
    padding: 11.25vw 5.3vw 11.5vw 8.25vw;
    z-index: 3;
  }
  .story.TitleBlock h2 {
    font-size: 5.73vw;
    line-height: 7.29vw;
    width: 100%;
  }
  .story.TitleBlock h3 {
    width: 100%;
    writing-mode: initial;
    font-size: 1.29vw;
    margin: 1vw 0 0;
  }

  .story.TitleBlock .storyCaption {
    font-size: 0.93vw;
    line-height: 1.65vw;
    margin: 0;
    width: 100%;
    height: auto;
  }

  .story.TitleBlock .more.spOnly{
    display: none;
  }
  .story.TitleBlock .more {
    display: flex;
    align-items: center;
    font-size: 1.09vw;
    padding: 1.04vw 2.08vw;
    margin-top: 2vw;
    height: 3.13vw;
    border: 4px solid #FFF;
  }

  .storyBlocks {
    width: 66.67vw;
    background: #000;
    color: #fff;
    display: flex;
    justify-content: space-between;
  }

  .storyWrap .storyBlocks .controllScrollWrap .controllScrollItemWrap li.controllScrollItem.storyBlock {
    width: 33.33vw;
    height: 35.47vw;
    padding: 3.39vw 5vw;
    transition: all .6s ease;
    background-size: 100% 100%;
    width: 30vw;
    background-size: 110% 110%;
  }
  .storyWrap .storyBlocks .controllScrollWrap .controllScrollItemWrap li.storyBlock.controllScrollItem:hover {
    background-size: 125% 125%;
  }

  .storyBlock.left {
    width: 50%;
    padding: 0 5vw;

  }

  .storyBlocks .controllScrollWrap .controllScrollItemWrap li.storyBlock.tate h3 {
    font-size: 1.61vw;
    line-height: 3vw;
    font-weight: 200;
    width: 23%;
  }
  .storyBlocks .controllScrollButtonWrap button {
    width: 3.83vw;
    height: 3.83vw;
    border: none;
  }
  .storyBlocks .controllScrollButtonWrap button {
    background: #fff;
    border-radius: 50%;
  }
  .storyBlocks .controllScrollButtonWrap.pcOnly {
    display: flex;
    width: auto;
  }
  .storyBlocks .controllScrollButtonWrap{
    left: -2vw;
  }

  .storyBlock.left h3 {
    writing-mode: vertical-rl;
  }

  .storyBlock.icebox {
    width: 50%;
    padding: 0 5vw;
  }

  .storyBlocks .controllScrollWrap .controllScrollItem.storyBlock.icebox h3 {
    font-size: 1.61vw;
    line-height: 2.55vw;
  }

  .storyBlocks .controllScrollWrap .controllScrollItemWrap li.storyBlock.icebox {
    background-image: url(/jp/recruitment/assets/img/top/fishingPc.png);
    padding: 4.17vw 4.01vw 3.39vw;
  }
  .storyBlocks .controllScrollWrap .controllScrollItemWrap li.storyBlock.q_auto {
    background-image: url(/jp/recruitment/assets/img/top/mobilityPc.png);
    background-size: 125% 125%;
  }
  .storyWrap .storyBlocks .controllScrollWrap .controllScrollItemWrap li.storyBlock.stellaSw {
    background-size: 210%;
  }
  .storyWrap .storyBlocks .controllScrollWrap .controllScrollItemWrap li.storyBlock.stellaSw:hover {
    background-size: 240%;
  }
  .storyWrap .storyBlocks .controllScrollWrap .controllScrollItemWrap li.storyBlock.xtr {
    background-image: url(/jp/recruitment/assets/img/features/xtr/01Pc.png);
    background-size: 210%;
  }
  .storyWrap .storyBlocks .controllScrollWrap .controllScrollItemWrap li.storyBlock.xtr:hover {
    background-size: 240%;
  }



  .TitleBlock {
    padding: 0 4vw;
    display: flex;
    flex-direction: column;
  }
  .TitleBlock p {
    font-size: 1.2vw;
    line-height: 2.5vw;
  }
  .storyCaption {
    height: 100%;
    display: flex;
    flex-direction: column;
  }
  .storyBlocks .controllScrollWrap .controllScrollItemWrap li.storyBlock .more {
    height: 3.13vw;
    font-size: 1.09vw;
    letter-spacing: .4vw;
    padding: 1.04vw 2.08vw;
  }
  .ourFigure {
    width: 91.61vw;
    height: 15.63vw;
    margin-left: auto;
    display: flex;
    align-items: center;
    padding: 3.25vw 11vw 3.25vw 5.73vw;
    background-image: linear-gradient(100deg, #384C5D, #10161C);
    background-image: linear-gradient(100deg, #51718D, #0B2245);
    background-image: linear-gradient(100deg, #384C5D 0%, #10161C 33%, #51718D 66%, #0B2245 100%);
    background-size: 300%;
    background-position-x: 0;
    transition: all .3s ease;
  }
  .ourFigure:hover{
    background-position-x: 100%;
  }

  .ourFigure h2 {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 21.35vw;
    text-align: left;
    height: 100%;
    font-size: 1.82vw;
    padding: 0 0 .4vw;
  }

  .ourFigure h2 span {
    font-size: 3.13vw;
    font-weight: 100;
    letter-spacing: .3vw;
    font-family: "Oswald", "Bebas Neue", "Bebas", "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  }

  .ourFigure h3 {
    font-size: 8.85vw;
    display: flex;
    margin-left: 0;
  }

  .ourFigure h3 span {
    font-size: 2.14vw;
    letter-spacing: .3vw;
    margin-bottom: -1vw;
  }
  .ourFigure h3 span i {
    left: 0;
  }

  .figureCard {
    display: flex;
    align-items: center;
    flex-direction: initial;
  }

  .figureCard .more {
    margin-top: 0;
    margin-left: 0;
    height: 3.13vw;
    width: 18.11vw;
  }

  .figureCard p:first-child {
    width: 10vw;
    font-size: 1.3vw;
    text-align: left;
    margin: 0;
  }

  .figureCard p:nth-child(3) {
    width: 6.72vw;
    font-size: 0.73vw;
    line-height: 1.04vw;
    padding: 0;
    margin: 0 4.48vw 0 1vw;
    text-align: left;
  }
  
  .commonPeopleShimano .voiceCards .controllScrollButtonWrap {
    margin: 0;
    top: -19.5vw;
    right: 2vw;
  }
  
  .works {
    padding: 6.5vw 0 6.5vw;
    margin: 0;
    width: 100%;
    display: flex;
    transition: all .6s ease;
  }
  .works:hover{
    background: #789BAA;
  }
  
  .works .TitleBlock {
    padding: 0;
    transition: all .6s ease;
  }
  .works:hover .TitleBlock {
    color: #FFF;
  }

  #worksInner {
    padding: 0;
    margin: 3.5vw 6.67vw auto 8.39vw;
    height: 24.53vw;
    width: 18.11vw;
    display: flex;
    flex-direction: column;
  }

  #worksInner a.more {
    display: flex;
    align-items: center;
    font-size: 1.09vw;
    padding: 1.04vw 2.08vw;
    height: 3.13vw;
    margin: 2vw 0 0;
    border: 4px solid #000;
  }
  .moreHoverPc:hover #worksInner a.more,
  #worksInner a.more:hover {
    border: 4px solid rgba(0, 0, 0, 0);
  }

  #worksInner a.more.spOnly {
    display: none;
  }

  #worksInner h2 {
    font-weight: 600;
    letter-spacing: 1.02vw;
    font-size: 2.6vw;
    padding-bottom: 3.08vw;
    line-height: 7vw;
  }

  #worksInner h2 span {
    font-weight: 200;
    font-size: 5.73vw;
    letter-spacing: .5vw;
    font-family: "Oswald", "Bebas Neue", "Bebas", "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  }

  #worksInner p {
    font-size: 0.94vw;
    line-height: 1.2vw;
    padding-bottom: 0;
  }

  .worksGrid {
    width: 66.67vw;
    height: 34.9vw;
    background: url(/jp/recruitment/assets/img/top/worksPc.png) no-repeat center;
    background-size:cover ;
    position: relative;
    right: -1px;
    top: 0;
  }
  .worksGrid::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0);
    transition: all .6s ease;
  }
  .works:hover .worksGrid::after{
    background: rgba(20, 55, 70, .4);
  }

  .mono_design {
    width: 100%;
    display: flex;
    justify-content: space-between;
    margin: 4.25vw 0;
  }
  
  .mono_design .mono,
  .mono_design .designItem{
    width: 47.4vw;
    height: 24.9vw;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .mono_design .mono{
    display: flex;
    flex-direction: column;
  }

  .designItem {
    padding: 0;
    align-items: start;
    background: url(/jp/recruitment/assets/img/top/shimanoDesignPc.png) no-repeat center;
    background-size: contain;
  }

  .designItem b.more {
    font-size: 1.82vw;
    margin: 0;
    letter-spacing: .1vw;
    position: relative;
    z-index: 3;
    display: flex;
    flex-flow: column;
  }

  .designItem:hover b.more::after,
  .designItem b.more::after {
    margin: 2.3vw 0 0 0;
    display: block;
    background: url(/jp/recruitment/assets/img/common/circleArrow.svg) no-repeat;
    background-size: cover;
    width: 2.03vw;
    height: 2.03vw;
  }
  .designItem:hover b.more::after {
    background-image: url(/jp/recruitment/assets/img/common/circleArrowHover.svg);
  }

  .designItem .text {
    margin: 0;
  }
  
  .mono_design .mono {
    background: url(/jp/recruitment/assets/img/top/manufacturingPc.png)no-repeat center;
    background-size:cover ;
  }

  .mono_design .mono h2,
  .topInterview h2 {
    font-size: 2.12vw;
    padding-bottom: 0;
    letter-spacing: -.1vw;
    font-weight: 500;
  }
  
  .mono_design .mono p {
    font-size: .9vw;
    line-height: 1.6vw;
    padding: 1.7vw 0 1.8vw;
  }

  .mono .text {
    display: flex;
    flex-direction: column;
    position: relative;
    margin: 5vw auto auto 12vw;
    text-align: left;
    padding: 0;
    width: 18.23vw;
    height: 13.85vw;
  }

  
  .mono_design .mono .more{
    margin-top: auto;
    padding: .8vw .8vw .8vw 2.08vw;
    height: 3.13vw;
  }

  .environment {
    margin: 0 auto 4.75vw;
    width: 83.28vw;
    height: 27.97vw;
    background: url(/jp/recruitment/assets/img/top/environmentPc.png) no-repeat;
    background-size: contain;
  }


  .envItem {
    padding: 0;
    width: 18.23vw;
    margin: 0 auto 0;
    padding: 6.5vw 0 0;
  }

  .envItem h3 {
    text-align: center;
  }

  .environment h2 {
    font-size: 2.08vw;
    padding-bottom: 1.5vw;
  }

  .envItem p {
    font-size: .91vw;
    line-height: 1.6vw;
    font-weight: 300;
  }
  .environment .more.blur {
    margin-top: 2vw;
    padding: .64vw .8vw .64vw 2.08vw;
    backdrop-filter: blur(1px);
  }
  
  .lowerLinks {
    flex-direction: initial;
    width: 100%;
    height: auto;
  }
  .lowerLinks .linkItem h2 {
    font-size: 1.56vw;
    margin-bottom: 1.2vw;
    text-align: center;
  }

  .lowerLinks {
    background: #dedfdf;
    display: flex;
    justify-content: space-between;
    height: 22.34vw;
  }

  .lowerLinks .linkItem {
    padding: 4.95vw 0;
    width: 33.33%;
    display: flex;
    flex-direction: column;
    border: none;
    border-right: 1px solid;
    border-image: linear-gradient(to bottom, transparent 15%, #fff 15% 85%, transparent 85%);
    border-image-slice: 2;
    transition: all .6s ease;
  }
  
  .lowerLinks .linkItem:hover{
    background: #313131;
  }

  .lowerLinks .linkItem > *{
    position: relative;
    z-index: 3;
    transition: all .6s ease;
  }
  .lowerLinks .linkItem:hover > *{
    color: #FFF;
  }
  
  .lowerLinks .linkItem h3 {
    text-align: center;
    font-size: 1.5vw;
  }

  .lowerLinks .linkItem p {
    font-size: 0.94vw;
    padding: 0 9.11vw;
    line-height: 1.6vw;
  }

  .lowerLinks .linkItem .more {
    width: 15.1vw;
    height: 2.86vw;
    margin: auto auto 0;
    padding: 1.04vw 2.08vw;
    font-size: 0.78vw;
    letter-spacing: .2vw;
  }
  
  
}