@charset "UTF-8";
/*
*Theme Name: 
*Author: 
*Description: 
*Version: 1.0.0
*/
html,
body,
div,
h1,
h2,
h3,
h4,
h5,
h6,
p,
img,
i,
ul,
li,
header,
nav,
aside,
section,
footer {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  font-style: normal;
  font-weight: normal;
  vertical-align: baseline; }

body {
  overflow-x: hidden;
  position: relative; }

ul,
ol,
li {
  font-size: 0;
  list-style: none; }

a {
  display: block;
  text-decoration: none;
  cursor: pointer;
  border: none;
  outline: none; }
  a:hover, a:active {
    cursor: pointer; }
  a img {
    border: none; }

img {
  vertical-align: middle;
  border: 0;
  width: 100%;
  height: auto; }

body {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif; }

@media (max-width: 750px) {
  .pc-only {
    display: none !important; } }

@media (min-width: 750px) {
  .sp-only {
    display: none !important; } }

#header {
  position: fixed;
  top: 0;
  height: 80px;
  width: 100vw;
  max-width: 100vw;
  background-color: rgba(0, 0, 0, 0);
  z-index: 900;
  transition: 0.5s;
  display: flex;
  justify-content: center;
  align-items: center; }
  #header .headerInner {
    height: 100%;
    width: 90%;
    max-height: 80px;
    display: flex;
    align-items: center;
    justify-content: space-between; }
    @media screen and (max-width: 500px) {
      #header .headerInner {
        width: 90%; } }
    #header .headerInner h1 {
      height: 100%;
      width: auto; }
      #header .headerInner h1 a {
        height: 100%;
        width: auto; }
        #header .headerInner h1 a #logo {
          height: 100%;
          width: 60%;
          object-fit: contain;
          transition: 0.5s; }

#header.size {
  height: 60px;
  background-color: white; }

#footer {
  height: 585px;
  width: 100vw;
  max-width: 100vw;
  padding: 16px 0;
  box-sizing: border-box;
  background-color: #fff; }

#footer {
  height: 130px;
  width: 100vw;
  max-width: 100vw;
  padding: 16px 0;
  box-sizing: border-box;
  background-color: #0f0f0f;
  display: flex;
  align-items: center;
  flex-direction: column; }

@media screen and (max-width: 620px) {
  #footer {
    height: auto; } }
.footerMenuBox {
  height: 100%;
  width: 80%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column; }

.footerMenuBox .footerList {
  height: 30%;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row; }

@media screen and (max-width: 620px) {
  .footerMenuBox .footerList {
    flex-direction: column; } }
.footerMenuBox .footerList li {
  font-size: 14px;
  padding: 0 8px;
  border-right: solid 1px gray;
  cursor: pointer; }

@media screen and (max-width: 620px) {
  .footerMenuBox .footerList li {
    border: none;
    margin-bottom: 8px; } }
.footerMenuBox .footerList li a {
  color: #ffffff; }

.footerMenuBox .footerList li a:hover {
  color: gray; }

.footerMenuBox .footerList .liLineNone {
  border: none; }

#main {
  height: auto;
  width: 100vw;
  max-width: 100vw;
  min-height: 100vh;
  background-color: #000000; }

.top {
  height: auto;
  width: 100%;
  box-sizing: border-box;
  overflow: hidden;
  position: relative;
  max-height: 100vh; }
  .top video {
    height: auto;
    width: 112%;
    opacity: 0.95; }
    @media screen and (max-width: 600px) {
      .top video {
        height: 100vh;
        width: auto; } }
  .top .siteTitle {
    position: absolute;
    left: 12%;
    top: 40%;
    margin: 0 8px; }
    @media screen and (max-width: 900px) {
      .top .siteTitle {
        top: 30%; } }
    @media screen and (max-width: 500px) {
      .top .siteTitle {
        left: 8%; } }

/*スクロールダウン全体の場所*/
.scrolldown1 {
  /*描画位置※位置は適宜調整してください*/
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0%);
  -webkit-transform: translate(-50%, 0%);
  -ms-transform: translate(-50%, 0%);
  bottom: 10px;
  /*全体の高さ*/
  height: 100px;
  /*Scrollテキストの描写*/
  /* 線の描写 */ }
  .scrolldown1 span {
    /*描画位置*/
    position: absolute;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    top: -15px;
    /*テキストの形状*/
    color: #eee;
    font-size: 0.7rem;
    letter-spacing: 0.05em; }
  .scrolldown1::after {
    content: "";
    /*描画位置*/
    position: absolute;
    top: 0;
    /*線の形状*/
    width: 1px;
    height: 100px;
    background: #eee;
    /*線の動き1.4秒かけて動く。永遠にループ*/
    animation: pathmove 3s ease-in-out infinite;
    opacity: 0; }

/*高さ・位置・透過が変化して線が上から下に動く*/
@keyframes pathmove {
  0% {
    height: 0;
    top: 0;
    opacity: 0; }
  30% {
    height: 60px;
    opacity: 1; }
  100% {
    height: 0;
    top: 100px;
    opacity: 0; } }
.about {
  margin-top: -8px;
  height: auto;
  width: 100%;
  background-image: url("../img/bg_business.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-clip: border-box; }
  .about .bgFilter {
    height: 100%;
    width: 100%;
    padding: 128px 0 0 0;
    box-sizing: border-box;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    background: linear-gradient(90deg, #ffffff, #0000003a); }
    @media screen and (max-width: 600px) {
      .about .bgFilter {
        padding: 64px 0 64px 0; } }
    .about .bgFilter .aboutContent {
      min-height: 500px;
      width: 80%;
      padding: 64px;
      box-sizing: border-box;
      background-color: #ffffff;
      box-shadow: -5px -5px 10px rgba(0, 0, 0, 0.056); }
      @media screen and (max-width: 600px) {
        .about .bgFilter .aboutContent {
          width: 94%;
          padding: 16px;
          min-height: 300px; } }
      @media screen and (max-width: 600px) {
        .about .bgFilter .aboutContent h3 {
          margin-bottom: 32px; } }

.service {
  height: auto;
  width: 100%;
  background-color: #ffffff;
  padding: 64px 0 32px 0;
  display: flex;
  flex-direction: column;
  justify-content: center; }

.service .serviceGrid,
.service .serviceGrid2 {
  display: grid;
  justify-content: center;
  grid-template-columns: repeat(2, 40%);
  grid-auto-rows: min-content;
  column-gap: 16px;
  row-gap: 16px;
  margin-bottom: 16px; }

.service .serviceGrid .serviceContent1 img,
.service .serviceGrid .serviceContent2 img,
.service .serviceGrid .serviceContent3 img,
.service .serviceGrid .serviceContent4 img,
.service .serviceGrid2 .serviceContent1 img,
.service .serviceGrid2 .serviceContent2 img,
.service .serviceGrid2 .serviceContent3 img,
.service .serviceGrid2 .serviceContent4 img {
  height: 100%;
  width: 100%;
  object-fit: cover; }

.service .serviceGrid .serviceContent2,
.service .serviceGrid .serviceContent3,
.service .serviceGrid2 .serviceContent2,
.service .serviceGrid2 .serviceContent3 {
  padding: 16px;
  box-sizing: border-box; }

@media screen and (max-width: 700px) {
  .service .serviceGrid,
  .service .serviceGrid2 {
    grid-template-columns: 80%; } }
  @media screen and (max-width: 700px) and (max-width: 600px) {
    .service .serviceGrid,
    .service .serviceGrid2 {
      grid-template-columns: 90%; } }

@media screen and (max-width: 700px) {
  .service .serviceGrid .serviceContent1,
  .service .serviceGrid2 .serviceContent1 {
    order: 1; }

  .service .serviceGrid .serviceContent2,
  .service .serviceGrid2 .serviceContent2 {
    order: 2; }

  .service .serviceGrid .serviceContent3,
  .service .serviceGrid2 .serviceContent3 {
    order: 4; }

  .service .serviceGrid .serviceContent4,
  .service .serviceGrid2 .serviceContent4 {
    order: 3; } }
.advice {
  height: auto;
  width: 100%;
  background-color: #ffffff;
  padding: 128px 0 64px 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: linear-gradient(#ffffff, #0f0f0f); }
  @media screen and (max-width: 620px) {
    .advice {
      padding: 32px 0 0 0; } }
  .advice .adviceGrid {
    display: grid;
    justify-content: center;
    grid-template-columns: repeat(4, 20%);
    grid-auto-rows: auto;
    column-gap: 16px;
    row-gap: 16px;
    margin-bottom: 16px; }
    @media screen and (max-width: 1200px) {
      .advice .adviceGrid {
        grid-template-columns: repeat(2, 40%); } }
    @media screen and (max-width: 738px) {
      .advice .adviceGrid {
        row-gap: 32px;
        grid-template-columns: 90%; } }
    .advice .adviceGrid .adviceContent:nth-child(1) {
      background-color: #102c71; }
    .advice .adviceGrid .adviceContent:nth-child(2) {
      background-color: #c0b9df; }
    .advice .adviceGrid .adviceContent:nth-child(3) {
      background-color: #9cc1fb; }
    .advice .adviceGrid .adviceContent:nth-child(4) {
      background-color: #a0ffe9; }
    .advice .adviceGrid .adviceContent .imgWrapper {
      height: 200px;
      display: flex;
      justify-content: center;
      align-items: center; }
      @media screen and (max-width: 550px) {
        .advice .adviceGrid .adviceContent .imgWrapper {
          height: 150px; } }
      .advice .adviceGrid .adviceContent .imgWrapper img {
        height: 90%;
        max-width: 90%;
        object-fit: contain;
        object-position: center; }
    .advice .adviceGrid .adviceContent .imgWrapper:nth-child(1) img {
      height: 60%; }
    .advice .adviceGrid .adviceContent .content {
      background-color: #ffffff;
      padding: 16px;
      box-sizing: border-box;
      height: 340px; }
      @media screen and (max-width: 1200px) {
        .advice .adviceGrid .adviceContent .content {
          height: 280px; } }
      @media screen and (max-width: 861px) {
        .advice .adviceGrid .adviceContent .content {
          height: 300px; } }
      @media screen and (max-width: 777px) {
        .advice .adviceGrid .adviceContent .content {
          height: 340px; } }
      @media screen and (max-width: 738px) {
        .advice .adviceGrid .adviceContent .content {
          height: auto;
          min-height: 0px; } }

.company {
  height: auto;
  width: 100%;
  padding: 32px 0 32px 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center; }

.contact {
  height: auto;
  width: 100%;
  padding: 32px 0 32px 0;
  display: flex;
  align-items: center;
  justify-content: center; }

@media screen and (max-width: 620px) {
  .contact {
    padding: 16px 0 32px 0; } }
.inner {
  height: auto;
  width: 80%; }
  @media screen and (max-width: 640px) {
    .inner {
      height: 50%;
      width: 90%; } }

.innerCol {
  height: 100%;
  width: 80%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column; }
  @media screen and (max-width: 640px) {
    .innerCol {
      width: 90%; } }

.companyInner {
  height: auto;
  width: 95%;
  margin: 0 0 16px 0;
  padding: 8px 0;
  box-sizing: border-box;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  border-top: 1px solid #dfdfdf; }

@media screen and (max-width: 700px) {
  .companyInner {
    flex-direction: column; } }
.w50 {
  width: 50%; }

.w60 {
  width: 60%; }

.w70 {
  width: 70%; }

.w80 {
  width: 80%; }

.w90 {
  width: 90%; }

.mb8 {
  margin: 0 0 8px 0; }

.mb16 {
  margin: 0 0 16px 0; }

.mb32 {
  margin: 0 0 32px 0; }

.mb40 {
  margin: 0 0 40px 0; }

.mb64 {
  margin: 0 0 64px 0; }
  @media screen and (max-width: 600px) {
    .mb64 {
      margin: 0 0 40px 0; } }

.mtn {
  margin-top: 0px; }

.mt16 {
  margin-top: 16px; }

.pl16 {
  padding-left: 16px;
  box-sizing: border-box; }

.pr16 {
  padding-right: 16px;
  box-sizing: border-box; }

.alC {
  text-align: center; }

.tW {
  color: #fff; }

.tB {
  font-weight: bold; }

h2 {
  font-size: 50px;
  line-height: 100%;
  font-weight: bold;
  color: #fff;
  width: auto;
  margin: 24px 0px; }

h3 {
  font-size: 35px;
  line-height: 100%;
  color: #000000;
  width: auto;
  text-align: center;
  font-weight: bold; }
  @media screen and (max-width: 620px) {
    h3 {
      font-size: 25px; } }

h4 {
  font-size: 25px;
  line-height: 100%;
  color: #000000;
  width: auto;
  text-align: left; }
  @media screen and (max-width: 620px) {
    h4 {
      font-size: 22px;
      font-weight: 500; } }

.textSubTitle {
  font-size: 22px;
  color: #fff; }
  @media screen and (max-width: 620px) {
    .textSubTitle {
      font-size: 14px; } }

.title {
  font-size: 22px;
  font-weight: 400; }
  @media screen and (max-width: 600px) {
    .title {
      font-size: 20px; } }

.textBase {
  font-size: 16px;
  line-height: 1.5; }
  @media screen and (max-width: 600px) {
    .textBase {
      font-size: 14px;
      line-height: 1; } }

.txtCompany {
  font-size: 16px;
  font-weight: bold;
  color: #fff;
  width: 30%;
  text-align: left; }

.textDetail {
  font-size: 16px;
  line-height: 100%;
  margin: 32px 0px 0px 0px;
  text-align: left; }

.mailAdress {
  margin: 16px 0 0 0;
  color: #3e95b8;
  text-decoration: underline; }

.footerMenutxt {
  width: 100%;
  font-size: 14px;
  text-align: center;
  margin: 0 0 8px 0; }

.copyright {
  text-align: center;
  font-size: 12px;
  color: #fff; }

.toggleText {
  font-size: 16px;
  color: gray; }

.textAnker {
  margin: 16px 0 0 0;
  font-size: 16px;
  color: #3e95b8;
  text-decoration: underline; }

.toggleTextAnker {
  margin: 16px 0 0 0;
  color: #3e95b8;
  text-decoration: underline; }

@media screen and (max-width: 600px) {
  .textDetail {
    font-size: 14px;
    margin: 32px 0px 0px 0px; }

  .footerMenutxt {
    font-size: 12px; }

  .toggleText {
    font-size: 14px; }

  .textAnker {
    font-size: 14px; } }
.startBtnAnker {
  height: auto;
  width: 200px;
  margin: 40px 0px; }
  .startBtnAnker .startBtn {
    height: auto;
    width: 100%;
    padding: 8px 0px;
    border-radius: 4px;
    display: inline-flex;
    justify-content: center; }
    .startBtnAnker .startBtn:hover {
      color: #000000; }

.hamburger {
  position: relative;
  width: 33.33334%;
  margin-left: 32px;
  text-align: center;
  box-sizing: border-box;
  counter-increment: item; }
  @media only screen and (max-width: 1121px) {
    .hamburger {
      width: auto; } }
  @media only screen and (max-width: 620px) {
    .hamburger {
      margin-right: 8px; } }
  @media only screen and (min-width: 1121px) {
    .hamburger {
      display: none; } }

.hamburger:after {
  display: none;
  position: absolute;
  top: 1.5em;
  left: 1.5em;
  width: 40px;
  height: 40px;
  content: counter(item);
  color: #000000;
  font-size: 20px;
  text-align: center;
  line-height: 40px; }

.menu-trigger,
.menu-trigger span {
  display: inline-block;
  transition: all 0.4s;
  box-sizing: border-box; }

.menu-trigger {
  position: relative;
  width: 32px;
  height: 40px;
  background: none;
  border: none;
  appearance: none;
  cursor: pointer; }

.menu-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 3px;
  background-color: rgba(237, 110, 52, 0.95);
  border-radius: 3px; }

.menu-trigger span:nth-of-type(1) {
  top: 8.5px; }

.menu-trigger span:nth-of-type(2) {
  top: 20px; }

.menu-trigger span:nth-of-type(3) {
  bottom: 5px; }

#menu12::after {
  position: absolute;
  top: 112%;
  left: 122%;
  display: block;
  content: "";
  width: 40px;
  height: 40px;
  margin: -45px 0 0 -45px;
  border-radius: 50%;
  border: 2px solid transparent;
  transition: all 0.75s; }

#menu12.active span:nth-of-type(1) {
  transform: translateY(12px) rotate(-45deg); }

#menu12.active span:nth-of-type(2) {
  left: 60%;
  opacity: 0;
  animation: active-menu12-bar02 0.8s forwards; }

@keyframes active-menu12-bar02 {
  100% {
    height: 0; } }
#menu12.active span:nth-of-type(3) {
  transform: translateY(-11px) rotate(45deg); }

#menu12.active::after {
  animation: active-menu12 0.4s 0.25s forwards; }

@keyframes active-menu12 {
  0% {
    border-color: transparent;
    transform: rotate(0); }
  25% {
    border-color: transparent rgba(237, 110, 52, 0.95) transparent transparent; }
  50% {
    border-color: transparent rgba(237, 110, 52, 0.95) rgba(237, 110, 52, 0.95) transparent; }
  75% {
    border-color: transparent rgba(237, 110, 52, 0.95) rgba(237, 110, 52, 0.95) rgba(237, 110, 52, 0.95); }
  100% {
    border-color: rgba(237, 110, 52, 0.95);
    transform: rotate(-680deg); } }
.spMenu {
  position: fixed;
  top: 80px;
  left: 0;
  color: #000000;
  background: rgba(0, 0, 0, 0.9);
  text-align: center;
  width: 100%;
  height: auto;
  transition: all 0.6s ease; }
  .spMenu .spNavUl {
    padding: 25% 0;
    width: 100%;
    height: 100vh;
    display: none; }
    .spMenu .spNavUl .spNavList {
      list-style-type: none;
      height: auto;
      transition: 0.4s all;
      padding: 16px 0;
      width: 100%;
      position: relative; }
      .spMenu .spNavUl .spNavList a {
        color: #fff;
        font-size: 22px; }
      .spMenu .spNavUl .spNavList span {
        color: white;
        font-size: 18px;
        margin: 0 8px; }
      .spMenu .spNavUl .spNavList label {
        color: white;
        font-size: 18px;
        display: inline-block;
        cursor: pointer; }
      .spMenu .spNavUl .spNavList:hover {
        background: #ffffff43; }

.spMenuPosition {
  top: 60px !important; }

.subNav {
  height: auto;
  width: 80%;
  margin: 0 auto 100px auto;
  font-size: 0;
  list-style-type: none;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row; }
  .subNav li {
    border-left: 1px solid #e5e5e5; }
  .subNav li:last-child {
    border-right: 1px solid #e5e5e5; }
  .subNav .pcNavList {
    height: auto;
    font-size: 14px;
    line-height: 100%;
    font-weight: 400;
    padding: 0 14px;
    display: flex;
    align-items: center;
    flex-direction: row; }
    .subNav .pcNavList a {
      color: #000000;
      width: auto;
      position: relative; }
      .subNav .pcNavList a::after {
        position: absolute;
        bottom: -1px;
        left: 0;
        content: "";
        width: 100%;
        height: 1px;
        background: #000000;
        transform: scale(0, 1);
        transform-origin: right top;
        transition: transform 0.3s; }
      .subNav .pcNavList a:hover::after {
        transform-origin: left top;
        transform: scale(1, 1); }

.pcNav {
  width: auto;
  font-size: 0;
  list-style-type: none; }
  @media screen and (max-width: 1120px) {
    .pcNav {
      display: none; } }
  .pcNav .pcNavList {
    font-size: 14px;
    font-weight: 400;
    color: gray;
    display: inline-block;
    margin: 10px;
    position: relative; }
    .pcNav .pcNavList::before {
      content: "";
      position: absolute;
      bottom: -20px;
      left: 0;
      width: 100%;
      height: 0px; }
    .pcNav .pcNavList:hover::before {
      height: 60px;
      bottom: -52px; }
    .pcNav .pcNavList::after {
      position: absolute;
      bottom: -4px;
      left: 0;
      content: "";
      width: 100%;
      height: 2px;
      background: rgba(237, 110, 52, 0.95);
      transform: scale(0, 1);
      transform-origin: right top;
      transition: transform 0.3s; }
    .pcNav .pcNavList:hover::after {
      transform-origin: left top;
      transform: scale(1, 1); }
    .pcNav .pcNavList a {
      color: #ffffff; }

#header .pcNav .pcNavList a.size {
  color: #0f0f0f; }

.start {
  background: #000;
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  z-index: 9000; }

.demo {
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 9200;
  display: block;
  opacity: 0;
  width: 200px;
  height: auto;
  object-fit: contain;
  object-position: center;
  -o-object-fit: contain;
  -o-object-position: center;
  -webkit-transition: 0.6s ease-in-out;
  transition: 0.6s ease-in-out; }

.demoIn {
  opacity: 1;
  -webkit-transition: 0.6s ease-in-out;
  transition: 0.6s ease-in-out; }

.animationBg {
  width: 100vw;
  height: 100vh;
  object-fit: cover;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 9100;
  display: none; }

.animationBgFilter {
  width: 100vw;
  height: 100vh;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 9110;
  background: -moz-linear-gradient(top, #fff -12%, rgba(255, 255, 255, 0) 80%, #fff);
  background: -webkit-linear-gradient(top, #fff -12%, rgba(255, 255, 255, 0) 80%, #fff);
  background: linear-gradient(to bottom, #fff -12%, rgba(255, 255, 255, 0) 80%, #fff); }

.hamaniraLogo {
  width: auto;
  height: 100px;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 9200;
  display: none; }

.demoTxtAfter {
  opacity: 0;
  position: fixed;
  right: 6%;
  top: 16%;
  z-index: 9200;
  font-size: 24px;
  text-align: center;
  color: #4f4f4f;
  white-space: nowrap; }

.txtMove {
  opacity: 1;
  top: 20%;
  -webkit-transition: 2s ease-in-out;
  transition: 2s ease-in-out; }

.titleTxt {
  font-size: 32px !important;
  font-weight: bold;
  opacity: 0;
  position: fixed;
  right: 6%;
  top: 30%;
  z-index: 9200;
  font-size: 24px;
  text-align: center;
  color: #4a4a4a;
  white-space: nowrap; }

.titleMove {
  opacity: 1;
  top: 35%;
  -webkit-transition: 2s ease-in-out;
  transition: 2s ease-in-out; }

.fadeIn {
  opacity: 0;
  /* 初期値は透明にしておく */
  transition: 2s;
  /* 動くスピードを0.5秒に指定 */ }

.onFadeIn {
  opacity: 1;
  /* 透明度を元に戻す */ }

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