@charset "UTF-8";
/*ーーーーーーーーーーーーーーーーーーーーーーー*/
/*青色のカラーコード指定*/
/*白色のカラーコード指定*/
/*ーーーーーーーーーーーーーーーーーーーーーーー*/
header {
  background-image: url("../img/mv-img.png");
  background-size: cover;
  height: 100vh;
  position: relative;
  /*SPサイズ時メニューボタンの設定*/
  /*SPサイズ時のナビゲーション*/
  /*PCサイズ時のナビゲーション*/ }
  header .menuBtn {
    position: fixed;
    top: 30px;
    right: 30px;
    cursor: pointer;
    font-size: 3rem;
    color: #F7F7F7;
    z-index: 100;
    /*画面幅768px以上の設定*/ }
    header .menuBtn .btnClose {
      display: none; }
    header .menuBtn.active {
      color: #0A4751; }
      header .menuBtn.active .btnClose {
        display: block; }
      header .menuBtn.active .btnMenu {
        display: none; }
    @media screen and (min-width: 768px) {
      header .menuBtn {
        display: none; } }
  header .menu--spSize {
    display: none;
    height: 100vh;
    width: 70vw;
    background: #F7F7F7;
    position: fixed;
    top: 0;
    right: 0;
    color: #0A4751;
    z-index: 99;
    box-shadow: -2px 2px 50px gray; }
    header .menu--spSize.active {
      display: block; }
    header .menu--spSize a {
      color: #0A4751; }
    header .menu--spSize .nav {
      font-size: 3rem;
      margin: 80px 0 0 30px; }
      header .menu--spSize .nav__item:not(:last-child) {
        padding-bottom: 20px; }
      header .menu--spSize .nav .allow-blue img {
        width: 20.21px;
        height: 20.61px; }
    header .menu--spSize .menuLogo {
      text-align: center;
      margin-top: 100px; }
      header .menu--spSize .menuLogo img {
        width: 107.21px;
        height: 143.31px; }
    header .menu--spSize .menuCopyright {
      text-align: center;
      padding-top: 20px; }
  header .menu--pcSize {
    display: none;
    grid-template-columns: 2, 1fr;
    padding: 50px 50px 0 0;
    font-size: 1.8rem;
    /*画面幅768px以上の設定*/ }
    @media screen and (min-width: 768px) {
      header .menu--pcSize {
        display: grid; } }
    header .menu--pcSize .nav {
      display: flex;
      grid-column: 2;
      justify-content: flex-end; }
      header .menu--pcSize .nav__item:not(:last-of-type) {
        padding-right: 30px; }
      header .menu--pcSize .nav__item a {
        color: #F7F7F7;
        transition: all 0.8s; }
        header .menu--pcSize .nav__item a:hover {
          opacity: 0.7; }
      header .menu--pcSize .nav__item .allow-white img {
        width: 14.02px;
        height: 14.3px; }
  header .mvLogo {
    margin: 0;
    padding: 0;
    width: 60%;
    position: absolute;
    top: 52%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center; }
    @media screen and (min-width: 768px) {
      header .mvLogo {
        width: 260px;
        height: 350px; } }
    header .mvLogo img {
      width: 60%; }
      @media screen and (min-width: 768px) {
        header .mvLogo img {
          width: 100%; } }

/*青色のカラーコード指定*/
/*白色のカラーコード指定*/
/*セクション左右の余白の設定*/
section {
  width: 90%;
  margin: auto; }

/*セクション左右の余白のリセット*/
.marginReset {
  width: 100%; }

/*セクション区切り線の設定*/
.lineArea--right {
  display: flex;
  justify-content: flex-end; }

.btnArea {
  display: flex;
  justify-content: flex-end; }
  .btnArea .btn {
    font-size: 1.8rem;
    color: #F7F7F7;
    background-color: #0A4751;
    border-radius: 100px;
    padding: 12px 40px;
    transition: all 0.5s;
    border: solid 1px #0A4751; }
    .btnArea .btn:hover {
      background-color: #F7F7F7;
      color: #0A4751; }
  .btnArea .whiteBtn {
    background-color: #F7F7F7;
    color: #0A4751;
    border: 0px; }
    .btnArea .whiteBtn:hover {
      background-color: #000;
      color: #F7F7F7; }

.line {
  content: "";
  width: 80vw;
  height: 1px;
  background: #0A4751;
  margin: 10rem 0 3rem 0; }
  @media screen and (min-width: 768px) {
    .line {
      /*画面幅768px以上の設定*/
      margin: 15rem 0 4rem 0; } }

.sectionHeading {
  display: flex;
  padding-bottom: 15px; }
  .sectionHeading .headingEn .headingInitial {
    font-size: 8rem; }
  .sectionHeading .headingJp {
    align-content: flex-end;
    padding: 0 0 10px 15px; }

/*セクション_works*/
.works .wrapper {
  margin: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column; }
  @media screen and (min-width: 768px) {
    .works .wrapper {
      /*画面幅768px以上の設定*/
      flex-direction: row;
      flex-wrap: wrap;
      justify-content: space-between; } }
  .works .wrapper .worksItem {
    margin-bottom: 50px; }
    @media screen and (min-width: 768px) {
      .works .wrapper .worksItem {
        /*画面幅768px以上の設定*/
        width: 45%; } }
    @media screen and (min-width: 1200px) {
      .works .wrapper .worksItem {
        /*画面幅1200px以上の設定*/
        width: 33%; } }
    .works .wrapper .worksItem__img {
      margin-bottom: 20px;
      width: 353px;
      height: 294px; }
      .works .wrapper .worksItem__img img {
        width: 100%;
        height: 100%;
        transition: all 0.8s; }
        .works .wrapper .worksItem__img img:hover {
          transform: scale(1.05); }
    .works .wrapper .worksItem__category {
      font-size: 1.1rem; }
      .works .wrapper .worksItem__category__type {
        background: #0A4751;
        color: #F7F7F7;
        padding: 4px 13px 3px 13px;
        border-radius: 100px; }
      .works .wrapper .worksItem__category__tag {
        padding-left: 5px;
        color: #868686; }
    .works .wrapper .worksItem__name {
      font-size: 1.8rem; }

/*セクション_skills*/
.skills {
  background: url("../img/s_background.png"); }
  .skills .sectionHeading {
    padding-top: 3rem; }
  .skills .marginSide {
    width: 90%;
    margin: auto; }
    @media screen and (min-width: 768px) {
      .skills .marginSide .skillsArea {
        display: flex;
        justify-content: center; } }
    .skills .marginSide .circle {
      width: 500px;
      height: 500px;
      border: solid 1px #F7F7F7;
      border-radius: 500px;
      align-content: center;
      margin: auto; }
      .skills .marginSide .circle:first-child {
        transform: translateY(25px); }
      .skills .marginSide .circle:last-child {
        transform: translateY(-25px); }
      @media screen and (min-width: 768px) {
        .skills .marginSide .circle {
          margin: 0; }
          .skills .marginSide .circle:first-child {
            transform: translateX(25px); }
          .skills .marginSide .circle:last-child {
            transform: translateX(-25px); } }
    .skills .marginSide .textArea {
      padding: 15% 15% 17% 15%;
      text-align: center;
      color: #F7F7F7; }
      .skills .marginSide .textArea .skillsTag {
        display: flex;
        justify-content: center; }
        .skills .marginSide .textArea .skillsTag__items {
          font-size: 1.1rem;
          background-color: #000;
          padding: 4px 13px;
          border-radius: 100px; }
          .skills .marginSide .textArea .skillsTag__items:not(last-child) {
            margin-right: 5px; }
      .skills .marginSide .textArea .skillsHeading {
        padding-top: 10px;
        padding-bottom: 6px;
        border-bottom: solid 0.5px #F7F7F7;
        display: inline-block; }
      .skills .marginSide .textArea .skillsText {
        font-size: 1.4rem;
        padding-top: 10px;
        line-height: 2.8rem; }

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box; }

a {
  text-decoration: none; }

li {
  list-style: none; }

html {
  font-size: 62.5%; }

body {
  margin: 0;
  background-color: #F7F7F7; }

/*英語フォントの指定*/
.font-en, header .menuBtn, header .menu--spSize, header .menu--pcSize .nav, .skills .marginSide .textArea .skillsHeading {
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-weight: 700;
  font-style: normal;
  letter-spacing: 0.03rem; }

/*日本語フォントの指定*/
/*文字の太さ_Light*/
.font-jp-l, .skills .marginSide .textArea .skillsText {
  font-family: "dnp-shuei-gothic-gin-std", sans-serif;
  font-weight: 400;
  font-style: normal; }

/*文字の太さ_Midium*/
.font-jp-m, body {
  font-family: "dnp-shuei-gothic-gin-std", sans-serif;
  font-weight: 500;
  font-style: normal; }

/*文字の太さ_Bold*/
.font-jp-b, .btnArea .btn {
  font-family: "dnp-shuei-gothic-gin-std", sans-serif;
  font-weight: 600;
  font-style: normal; }

/*ヘディングフォントの指定*/
.font-heading, .sectionHeading .headingEn {
  font-family: "tarzana-narrow", sans-serif;
  font-weight: 700;
  font-style: normal; }

/*青色のカラーコード指定*/
.blue, html {
  color: #0A4751; }

/*白色のカラーコード指定*/
.white {
  color: #F7F7F7; }

/*フォントサイズの指定*/
h1 {
  font-size: 10rem; }

h2 {
  font-size: 6rem; }

h3 {
  font-size: 4rem; }

h4 {
  font-size: 2rem; }

h5 {
  font-size: 1.8rem; }

.fontWhite {
  color: #F7F7F7; }

/*# sourceMappingURL=style.css.map */
