.mv {
  width: 100%;
  margin-bottom: 120px;
  background: url(/index/img/mv_poster.jpg) no-repeat center center/cover;
  overflow: hidden;
  position: relative; }
  @media screen and (max-width: 768px) {
    .mv {
      margin-bottom: 70px; } }
  .mv.pcSize {
    height: calc(100vh - 100px);
    position: relative;
    overflow: hidden; }
    .mv.pcSize video {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); }
      .mv.pcSize video.wFit {
        width: 100%; }
      .mv.pcSize video.hFit {
        height: 100%; }
  .mv.spSize video {
    width: 100%; }
  .mv video {
    display: block; }
  .mv .ctrl {
    display: flex;
    align-items: center;
    padding: 3px 15px 3px 10px;
    border: 1px solid #fff;
      border-radius: 20px;
    color: #fff;
    font-size: 20px;
    position: absolute;
    right: 5%;
    bottom: 5%;
    cursor: pointer;
    -moz-transition: all 0.3s;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    -ms-transition: all 0.3s;
    transition: all 0.3s; }
    @media screen and (max-width: 768px) {
      .mv .ctrl {
        font-size: 14px; } }
    .mv .ctrl:hover {
      background-color: rgba(255, 255, 255, 0.4); }
    @media screen and (max-width: 768px) {
      .mv .ctrl img {
        width: 22px; } }
    .mv .ctrl span {
      font-size: inherit;
      color: inherit; }
    .mv .ctrl.on span:nth-of-type(1) {
      font-weight: bold; }
    .mv .ctrl.off span:nth-of-type(2) {
      font-weight: bold; }

img#slash {
  height: 100vh;
  position: fixed;
  top: 0;
  left: 50%;
  z-index: -1;
  transform: translate(50%, -100%) scale(1);
  transform-origin: center;
  opacity: 1; }
  img#slash.act {
    animation-name: slash;
    -webkit-animation-duration: 1.5s;
    animation-duration: 1.5s; }

@-webkit-keyframes slash {
  0% {
    transform: translate(50%, -100%) scale(1); }
  10% {
    transform: translate(50%, -100%) scale(1); }
  50% {
    transform: translate(-50%, 0) scale(1); }
  60% {
    transform: translate(-50%, 0) scale(1);
    opacity: 1; }
  100% {
    transform: translate(-50%, 0) scale(0);
    opacity: 0; } }
@keyframes slash {
  0% {
    transform: translate(50%, -100%) scale(1); }
  10% {
    transform: translate(50%, -100%) scale(1); }
  50% {
    transform: translate(-50%, 0) scale(1); }
  60% {
    transform: translate(-50%, 0) scale(1);
    opacity: 1; }
  100% {
    transform: translate(-50%, 0) scale(0);
    opacity: 0; } }
section {
  margin-top: -100px;
  padding-top: 100px;
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    section {
      margin-top: -60px;
      padding-top: 60px; } }
  section p.copy {
    font-size: 40px;
    font-weight: 500;
    font-feature-settings: "palt"; }
    @media screen and (max-width: 768px) {
      section p.copy {
        font-size: 32px;
        line-height: 1.2;
        font-weight: bold; } }
    @media screen and (max-width: 500px) {
      section p.copy {
        font-size: 22px; } }
    section p.copy span.en {
      display: block;
      padding-top: 12px;
      font-size: 16px; }
      @media screen and (max-width: 500px) {
        section p.copy span.en {
          font-size: 14px; } }
  section h2 {
    display: inline-block;
    line-height: 1;
    position: relative;
    z-index: 999; }
    section h2::after {
      content: '';
      display: block;
      width: 300px;
      height: 130px;
      border: 2px solid #cfcbc0;
      position: absolute;
      top: 0;
      z-index: -1;
      transition: all .8s ease 1s; }
      @media screen and (max-width: 768px) {
        section h2::after {
          width: 180px;
          height: 75px;
          border-width: 1px; } }
    section h2.right {
      text-align: right; }
      section h2.right span {
        padding: 100px 20px 20px 100px; }
        @media screen and (max-width: 768px) {
          section h2.right span {
            padding: 50px 15px 15px 50px; } }
      section h2.right::after {
        right: 0; }
    section h2.left {
      text-align: left; }
      section h2.left span {
        padding: 100px 100px 20px 20px; }
        @media screen and (max-width: 768px) {
          section h2.left span {
            padding: 50px 50px 15px 15px; } }
      section h2.left::after {
        left: 0; }
    section h2 span {
      display: inline-block;
      background: url(/index/img/ttl_bg.gif) repeat top left;
      font-size: 40px;
      letter-spacing: 5px;
      position: relative;
      z-index: 1; }
      @media screen and (max-width: 768px) {
        section h2 span {
          background-size: 30px auto;
          font-size: 32px;
          letter-spacing: 3px; } }
      @media screen and (max-width: 500px) {
        section h2 span {
          font-size: 30px; } }
  section.fadeInUp h2::after {
    top: -80px; }
    @media screen and (max-width: 768px) {
      section.fadeInUp h2::after {
        top: -50px; } }
  section.fadeInUp h2.right::after {
    right: -100px; }
    @media screen and (max-width: 768px) {
      section.fadeInUp h2.right::after {
        right: -60px; } }
  section.fadeInUp h2.left::after {
    left: -100px; }
    @media screen and (max-width: 768px) {
      section.fadeInUp h2.left::after {
        left: -60px; } }
  section#branding {
    width: 100%;
    margin-bottom: 130px;
    position: relative; }
    @media screen and (max-width: 768px) {
      section#branding {
        margin-bottom: 60px; } }
    section#branding .colorBox {
      display: flex;
      flex-wrap: wrap;
      align-content: space-between;
      width: 50px;
      height: 210px;
      position: absolute;
      top: 180px;
      left: 0; }
      @media screen and (max-width: 768px) {
        section#branding .colorBox {
          width: 28px;
          height: 140px;
          margin: 0 auto 50px;
          position: static; } }
      section#branding .colorBox .box {
        width: 50px;
        height: 50px; }
        @media screen and (max-width: 768px) {
          section#branding .colorBox .box {
            width: 26px;
            height: 26px; } }
        section#branding .colorBox .box.box01 {
          background-color: #383838; }
        section#branding .colorBox .box.box02 {
          background-color: #cfcbc0; }
        section#branding .colorBox .box.box03 {
          background-color: #f5f5f2; }
    section#branding p.copy {
      margin-bottom: 150px;
      text-align: center; }
      @media screen and (max-width: 768px) {
        section#branding p.copy {
          margin-bottom: 80px;
          padding: 0 3.5%; } }
    section#branding .inner {
      max-width: 1300px;
      width: 100%;
      margin: 0 auto; }
      section#branding .inner .cntWrap {
        padding-top: 80px;
        background: url(/index/img/branding_bg.jpg) no-repeat top 25px right/54% auto; }
        @media screen and (max-width: 768px) {
          section#branding .inner .cntWrap {
            padding-top: 50px;
            background-position: top 100px right;
            background-size: 76% auto; } }
        @media screen and (max-width: 500px) {
          section#branding .inner .cntWrap {
            background-size: 100% auto; } }
        section#branding .inner .cntWrap h2 {
          margin: 0 auto 65px 15%; }
          @media screen and (max-width: 768px) {
            section#branding .inner .cntWrap h2 {
              margin: 0 auto 100px 0; } }
          @media screen and (max-width: 768px) {
            section#branding .inner .cntWrap h2 {
              margin-bottom: 48%; } }
        section#branding .inner .cntWrap p.txt {
          max-width: 805px;
          width: 70%;
          margin-left: 15%;
          padding: 20px 45px 20px 100px;
          background-color: #fff;
          line-height: 2; }
          @media screen and (max-width: 768px) {
            section#branding .inner .cntWrap p.txt {
              width: 82%;
              margin-left: 0;
              padding: 5%;
              font-size: 14px;
              line-height: 1.6; } }
          @media screen and (max-width: 500px) {
            section#branding .inner .cntWrap p.txt {
              width: 100%; } }
  section#service {
    background: url(/index/img/service_bg.jpg) no-repeat top 375px left/78% auto;
    margin-bottom: 160px; }
    @media screen and (max-width: 768px) {
      section#service {
        margin-bottom: 70px;
        background: none; } }
    section#service .inner {
      max-width: 1300px;
      width: 100%;
      margin: 0 auto;
      padding: 0 3.5%; }
      @media screen and (max-width: 768px) {
        section#service .inner {
          padding: 0; } }
      section#service .inner p.copy {
        width: 100%; }
        @media screen and (max-width: 768px) {
          section#service .inner p.copy {
            margin-bottom: 50px;
            padding: 3.5%; } }
        @media screen and (max-width: 500px) {
          section#service .inner p.copy {
            margin-bottom: 30px; } }
        section#service .inner p.copy span.en {
          text-indent: 0; }
      section#service .inner .cntWrap {
        display: flex;
        flex-direction: column;
        width: 100%;
        margin-top: -65px;
        padding-top: 80px; }
        @media screen and (max-width: 768px) {
          section#service .inner .cntWrap {
            margin-top: 0;
            padding-top: 50px;
            background: url(/index/img/service_bg.jpg) no-repeat top 110px left/100% auto; } }
        section#service .inner .cntWrap h2 {
          margin: 0 0 75px auto; }
          @media screen and (max-width: 768px) {
            section#service .inner .cntWrap h2 {
              margin-bottom: 18%; } }
        section#service .inner .cntWrap p.txt {
          max-width: 765px;
          width: 60%;
          margin: 0 0 0 auto;
          padding: 20px 100px 20px 28px;
          background-color: #fff;
          line-height: 2; }
          @media screen and (max-width: 768px) {
            section#service .inner .cntWrap p.txt {
              width: 82%;
              padding: 5%;
              font-size: 14px;
              line-height: 1.6; } }
          @media screen and (max-width: 500px) {
            section#service .inner .cntWrap p.txt {
              width: 100%; } }
  section#phase {
    margin-bottom: 200px; }
    @media screen and (max-width: 768px) {
      section#phase {
        margin-bottom: 90px; } }
    section#phase .inner {
      max-width: 1000px;
      width: 90%;
      margin: 0 auto;
      padding-top: 80px; }
      @media screen and (max-width: 768px) {
        section#phase .inner {
          width: 100%;
          padding-top: 50px; } }
      section#phase .inner h2 {
        margin-bottom: 70px; }
        @media screen and (max-width: 768px) {
          section#phase .inner h2 {
            margin: 0 auto 50px 60px; } }
        @media screen and (max-width: 500px) {
          section#phase .inner h2 {
            margin-bottom: 38px; } }
      @media screen and (max-width: 768px) {
        section#phase .inner dl {
          width: 90%;
          margin: 0 auto; } }
      section#phase .inner dl dt {
        display: flex;
        align-items: center;
        width: 100%;
        height: 60px;
        margin-bottom: 1px;
        padding: 0 30px;
        background-color: #cfcbc0;
        font-size: 18px;
        position: relative;
        cursor: pointer; }
        @media screen and (max-width: 768px) {
          section#phase .inner dl dt {
            height: 50px;
            padding: 0 3%;
            line-height: 1.2; } }
        section#phase .inner dl dt span {
          display: flex;
          justify-content: center;
          align-items: center;
          width: 40px;
          height: 40px;
          margin-right: 25px;
          border-radius: 2px;
          background-color: #4d4d4c;
          color: #fff; }
          @media screen and (max-width: 768px) {
            section#phase .inner dl dt span {
              width: 30px;
              height: 30px;
              margin-right: 3%; } }
        section#phase .inner dl dt::after {
          content: '+';
          display: flex;
          justify-content: center;
          align-items: center;
          width: 25px;
          height: 25px;
          color: #fff;
          font-size: 40px;
          position: absolute;
          top: 45%;
          right: 3%;
          transform: translateY(-50%); }
        section#phase .inner dl dt.ex {
          margin-bottom: 0; }
          section#phase .inner dl dt.ex::after {
            content: '-'; }
      section#phase .inner dl dd {
        padding: 25px 60px 25px 100px;
        background-color: #f5f5f2; }
        @media screen and (max-width: 768px) {
          section#phase .inner dl dd {
            padding: 14px 0 14px 10%; } }
        @media screen and (max-width: 768px) {
          section#phase .inner dl dd {
            padding: 3.5%; } }
        section#phase .inner dl dd ul li:not(:nth-last-of-type(1)) {
          margin-bottom: 30px; }
        section#phase .inner dl dd ul li p.ttl {
          margin-bottom: 10px;
          font-size: 16px;
          font-weight: bold; }
        section#phase .inner dl dd ul li p span {
          display: inline-block;
          margin-right: 16px; }
  section#organization {
    margin-bottom: 180px; }
    @media screen and (max-width: 768px) {
      section#organization {
        margin-bottom: 90px; } }
    section#organization .inner {
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      align-items: flex-end;
      max-width: 1300px;
      width: 100%;
      margin: 0 auto;
      padding-top: 80px; }
      @media screen and (max-width: 768px) {
        section#organization .inner {
          padding-top: 50px; } }
      section#organization .inner dl {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        flex-wrap: wrap;
        max-width: 1080px;
        width: 94%;
        margin: 0 auto 95px; }
        @media screen and (max-width: 768px) {
          section#organization .inner dl {
            margin-bottom: 32px; } }
        section#organization .inner dl dt {
          line-height: 1.2;
          font-size: 116px; }
          @media screen and (max-width: 768px) {
            section#organization .inner dl dt {
              width: 100%;
              margin-bottom: 22px;
              font-size: 15.1vw; } }
          section#organization .inner dl dt sup {
            font-size: .517em;
            top: -.7em; }
          section#organization .inner dl dt p {
            font-size: 14px; }
            section#organization .inner dl dt p span {
              display: inline-block;
              margin-right: 20px;
              font-size: 18px; }
        section#organization .inner dl dd {
          width: calc(100% - 310px);
          line-height: 1.8; }
          @media screen and (max-width: 768px) {
            section#organization .inner dl dd {
              width: 100%;
              line-height: 1.6; } }
      section#organization .inner .figure {
        width: 100%;
        text-align: center; }
  section#message {
    margin-bottom: 260px; }
    @media screen and (max-width: 768px) {
      section#message {
        margin-bottom: 110px; } }
    section#message .inner {
      display: flex;
      flex-direction: column;
      align-items: center;
      max-width: 1300px;
      width: 100%;
      margin: 0 auto;
      padding-top: 80px; }
      @media screen and (max-width: 768px) {
        section#message .inner {
          padding-top: 50px; } }
      section#message .inner h2 {
        margin: 0 auto 0 0; }
      section#message .inner img {
        margin-top: -55px; }
        @media screen and (max-width: 768px) {
          section#message .inner img {
            margin-top: -30px; } }
      section#message .inner .txt {
        max-width: 815px;
        width: 70%;
        margin: -175px 0 0 auto;
        padding: 23px 25px;
        background-color: #cfcbc0;
        line-height: 2; }
        @media screen and (max-width: 768px) {
          section#message .inner .txt {
            width: 90%;
            margin: -135px 0 0 auto;
            padding: 5%;
            font-size: 14px;
            line-height: 1.6; } }
        @media screen and (max-width: 500px) {
          section#message .inner .txt {
            width: 100%;
            margin: 0; } }
        section#message .inner .txt p:first-child {
          margin-bottom: 30px; }
          @media screen and (max-width: 768px) {
            section#message .inner .txt p:first-child {
              margin-bottom: 16px; } }
        section#message .inner .txt p.sign {
          text-align: right; }
  section#activity {
    background: url(/index/img/activity_bg.jpg) no-repeat top 210px left/70% auto;
    margin-bottom: 180px; }
    @media screen and (max-width: 768px) {
      section#activity {
        margin-bottom: 80px;
        background: none; } }
    section#activity .inner {
      max-width: 1300px;
      width: 100%;
      margin: 0 auto;
      padding: 0 3.5%; }
      @media screen and (max-width: 768px) {
        section#activity .inner {
          padding: 0; } }
      section#activity .inner .cntWrap {
        display: flex;
        flex-direction: column;
        width: 100%;
        padding-top: 80px; }
        @media screen and (max-width: 768px) {
          section#activity .inner .cntWrap {
            padding-top: 50px;
            background: url(/index/img/activity_bg.jpg) no-repeat top 110px left/100% auto; } }
        section#activity .inner .cntWrap h2 {
          margin: 0 0 150px auto; }
          @media screen and (max-width: 768px) {
            section#activity .inner .cntWrap h2 {
              margin: 0 auto 20% 0; } }
          @media screen and (max-width: 500px) {
            section#activity .inner .cntWrap h2 {
              margin-bottom: 33%; } }
        section#activity .inner .cntWrap p.copy {
          max-width: 900px;
          width: 90%;
          margin: 0 auto;
          padding: 30px 45px 35px;
          background-color: #fff;
          line-height: 1.4;
          font-size: 36px;
          font-weight: 400; }
          @media screen and (max-width: 768px) {
            section#activity .inner .cntWrap p.copy {
              padding: 5%;
              font-size: 14px;
              line-height: 1.6; } }
          @media screen and (max-width: 500px) {
            section#activity .inner .cntWrap p.copy {
              width: 100%; } }
          section#activity .inner .cntWrap p.copy span.en {
            padding-top: 18px; }
  section#contact {
    margin-bottom: 120px; }
    @media screen and (max-width: 768px) {
      section#contact {
        margin-bottom: 70px; } }
    section#contact .inner {
      display: flex;
      flex-direction: column;
      max-width: 1300px;
      width: 100%;
      margin: 0 auto;
      padding-top: 80px; }
      @media screen and (max-width: 768px) {
        section#contact .inner {
          padding-top: 50px; } }
      section#contact .inner h2 {
        margin: 0 0 0 auto; }
        @media screen and (max-width: 768px) {
          section#contact .inner h2 {
            margin: 0 0 40px auto; } }
      section#contact .inner > p {
        max-width: 1000px;
        width: 100%;
        margin: 0 auto 60px;
        line-height: 2; }
        @media screen and (max-width: 768px) {
          section#contact .inner > p {
            width: 94%;
            margin: 0 auto 35px;
            line-height: 1.4; } }
      section#contact .inner form {
        max-width: 1000px;
        width: 100%;
        margin: 0 auto;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap; }
        @media screen and (max-width: 768px) {
          section#contact .inner form {
            width: 94%; } }
        @media screen and (max-width: 768px) {
          section#contact .inner form .box dt {
            margin-bottom: 2px; } }
        section#contact .inner form .box dt span {
          font-size: 0; }
        section#contact .inner form .box dd input, section#contact .inner form .box dd textarea {
          box-sizing: border-box;
          border: 1px solid #cfcbc0;
          border-radius: 2px; }
        section#contact .inner form .box dd input {
          padding: 3px;
          line-height: 30px; }
        section#contact .inner form .box dd span {
          color: #de0000; }
        section#contact .inner form .box.box01 {
          width: 40%; }
          @media screen and (max-width: 768px) {
            section#contact .inner form .box.box01 {
              width: 60%;
              margin-bottom: 35px; } }
          @media screen and (max-width: 500px) {
            section#contact .inner form .box.box01 {
              width: 100%; } }
          section#contact .inner form .box.box01 dd:not(:nth-last-of-type(1)) {
            margin-bottom: 45px; }
            @media screen and (max-width: 768px) {
              section#contact .inner form .box.box01 dd:not(:nth-last-of-type(1)) {
                margin-bottom: 35px; } }
            @media screen and (max-width: 500px) {
              section#contact .inner form .box.box01 dd:not(:nth-last-of-type(1)) {
                margin-bottom: 25px; } }
          section#contact .inner form .box.box01 dd input {
            width: 100%;
            box-shadow: none;
            -webkit-appearance: none;
            -moz-appearance: none;
            appearance: none; }
        section#contact .inner form .box.box02 {
          width: 50%; }
          @media screen and (max-width: 768px) {
            section#contact .inner form .box.box02 {
              width: 100%; } }
          section#contact .inner form .box.box02 dd {
            height: calc(100% - 24px); }
            @media screen and (max-width: 768px) {
              section#contact .inner form .box.box02 dd {
                height: 240px; } }
            section#contact .inner form .box.box02 dd textarea {
              width: 100%;
              height: 100%;
              padding: 3px;
              box-shadow: none;
              -webkit-appearance: none;
              -moz-appearance: none;
              appearance: none; }
        @media screen and (max-width: 768px) {
          section#contact .inner form p#form_submit {
            width: 100%; } }
        section#contact .inner form p#form_submit input[type="button"] {
          display: flex;
          justify-content: center;
          align-items: center;
          width: 200px;
          height: 50px;
          margin: 30px 0 0 auto;
          border: none;
          background-color: #cfcbc0;
          font-size: 20px;
          cursor: pointer; }
          @media screen and (max-width: 768px) {
            section#contact .inner form p#form_submit input[type="button"] {
              margin: 30px auto 0; } }
  section#company {
    margin-bottom: 90px; }
    @media screen and (max-width: 768px) {
      section#company {
        margin-bottom: 30px; } }
    section#company .inner {
      display: flex;
      flex-wrap: wrap;
      max-width: 1300px;
      width: 100%;
      margin: 0 auto; }
      section#company .inner h2 {
        margin: 0 100px 30px auto; }
        @media screen and (max-width: 768px) {
          section#company .inner h2 {
            margin: 0 100px 45px auto; } }
      section#company .inner .cntWrap {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        flex-wrap: wrap;
        width: 100%; }
        section#company .inner .cntWrap .map {
          max-width: 800px;
          width: 61.5%;
          filter: grayscale(100%); }
          @media screen and (max-width: 768px) {
            section#company .inner .cntWrap .map {
              max-width: 100%;
              width: 100%;
              margin-bottom: 40px; } }
          section#company .inner .cntWrap .map iframe {
            display: block;
            width: 100%;
            height: 400px; }
        section#company .inner .cntWrap .txt {
          max-width: 480px;
          width: 37%;
          background-color: #fff;
          line-height: 1.6; }
          @media screen and (max-width: 768px) {
            section#company .inner .cntWrap .txt {
              max-width: 100%;
              width: 100%;
              padding: 0 3%; } }
          section#company .inner .cntWrap .txt h3 {
            display: flex;
            align-items: center;
            margin-bottom: 4px; }
            section#company .inner .cntWrap .txt h3:nth-of-type(2) {
              margin-top: 35px; }
            section#company .inner .cntWrap .txt h3::after {
              content: '';
              height: 1px;
              margin-left: 15px;
              background-color: #383838;
              flex-grow: 1; }
          section#company .inner .cntWrap .txt p:not(:nth-last-of-type(1)) {
            margin-bottom: 18px; }
          section#company .inner .cntWrap .txt p span, section#company .inner .cntWrap .txt p a {
            display: inline-block;
            margin-bottom: 1px;
            padding: 0 3px;
            background-color: #f5f5f2; }
          section#company .inner .cntWrap .txt p a {
            text-decoration: underline; }
            section#company .inner .cntWrap .txt p a:hover {
              text-decoration: none; }
          section#company .inner .cntWrap .txt dl {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            flex-wrap: wrap; }
            section#company .inner .cntWrap .txt dl dt {
              width: 80px; }
            section#company .inner .cntWrap .txt dl dd {
              width: calc(100% - 80px); }

/*# sourceMappingURL=style.css.map */
