@charset "UTF-8";
/*===============================================*/
/*  common.css */
/*===============================================*/
/*//////////////////////////////////

reset
///////////////////////////////////*/
/* Fonts
---------------------------------------------------------------------*/
/*localfont  -------------------------*/
@font-face {
  font-family: ftM;
  src: url("../fonts/futura medium bt.ttf"); }
@font-face {
  font-family: 'icomoon';
  src: url("../fonts/icomoon.eot?6ywhrr");
  src: url("../fonts/icomoon.eot?6ywhrr#iefix") format("embedded-opentype"), url("../fonts/icomoon.ttf?6ywhrr") format("truetype"), url("../fonts/icomoon.woff?6ywhrr") format("woff"), url("../fonts/icomoon.svg?6ywhrr#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block; }
[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.icon-x:before {
  content: "\e90c"; }

.icon-back:before {
  content: "\e90a"; }

.icon-hide:before {
  content: "\e90b"; }

.icon-content-copy:before {
  content: "\e905"; }

.icon-view:before {
  content: "\e900"; }

.icon-link:before {
  content: "\e901"; }

.icon-line:before {
  content: "\e009"; }

.icon-search:before {
  content: "\e902"; }

.icon-mail:before {
  content: "\e903"; }

.icon-mail2:before {
  content: "\e904"; }

.icon-tel:before {
  content: "\e907"; }

.icon-home:before {
  content: "\e908"; }

.icon-youtube:before {
  content: "\e909"; }

.icon-mobile:before {
  content: "\e958"; }

.icon-heart1:before {
  content: "\e9db"; }

.icon-facebook:before {
  content: "\ea90"; }

.icon-instagram:before {
  content: "\ea92"; }

.icon-pdf:before {
  content: "\e906"; }

.icon-printer:before {
  content: "\e954"; }

.icon-heart:before {
  content: "\e9da"; }

.icon-mail:before {
  content: "\e903";
  font-size: 2rem;
  position: relative;
  top: 3px;
  margin-right: 5px; }

@media screen and (max-width: 768px) {
  .icon-columun:before {
    width: 40px;
    height: 40px; }

  .icon-mov:before {
    width: 40px;
    height: 40px; } }
/**/
/*site main rules
---------------------------------------------------------------------*/
/*color  ------------------*/
.clr-wh {
  color: #fff; }

/*bgcolor  ------------------*/
.bgcGly {
  background-color: #f2f2f2; }

.bgc-Orng {
  background-color: #f05e1c !important; }

/*テキストのハイライトカラーを変える  ------------------*/
::selection {
  /* Safari and Opera */
  background: #ffeae0;
  color: #151515; }

::-moz-selection {
  /* Firefox */
  background: #ffeae0;
  color: #151515; }

/*link  ------------------*/
a:link {
  color: #151515;
  text-decoration: none; }

a:visited {
  color: #151515;
  text-decoration: none; }

a:hover {
  color: #151515;
  text-decoration: none; }

a:active {
  text-decoration: none; }

/* reset
---------------------------------------------------------------------*/
html {
  font-size: 62.5%; }

body {
  margin: 0;
  padding: 0;
  height: 100%;
  font-size: 1.6rem;
  /* 16px*/
  line-height: 2;
  color: #151515;
  background-color: #fff;
  font-weight: 500;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  -webkit-text-size-adjust: 100%; }

/*responsive FONTS*/
.tx-60 {
  font-size: 6rem;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.005em;
  font-feature-settings: "palt"; }

.tx-40 {
  font-size: 4rem;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.01em;
  font-feature-settings: "palt"; }

.tx-36 {
  font-size: 3.6rem;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: 0.08em;
  font-feature-settings: "palt"; }

.tx-32 {
  font-size: 3.2rem;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: 0.01em;
  font-feature-settings: "palt"; }

.tx-26 {
  font-size: 2.6rem;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: 0.01em;
  font-feature-settings: "palt"; }

.tx-24 {
  font-size: 2.4rem;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: 0.01em;
  font-feature-settings: "palt"; }

.tx-22 {
  font-size: 2.2rem;
  line-height: 1.8;
  font-weight: 700;
  letter-spacing: 0.01em;
  font-feature-settings: "palt"; }

.tx-20 {
  font-size: 2rem;
  line-height: 1.8;
  font-weight: 700;
  letter-spacing: 0.01em;
  font-feature-settings: "palt"; }

.tx-18 {
  font-size: 1.8rem;
  line-height: 1.8;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-feature-settings: "palt"; }

.tx-16 {
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: 0.08em;
  font-feature-settings: "palt"; }

.tx-14 {
  font-size: 1.4rem;
  line-height: 1.5;
  font-weight: 500;
  letter-spacing: 0.01em;
  font-feature-settings: "palt"; }

.tx-12 {
  font-size: 1.2rem;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: 0.01em;
  font-feature-settings: "palt"; }

.tx-10 {
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 500;
  letter-spacing: 0.01em;
  font-feature-settings: "palt"; }

@media screen and (max-width: 959px) {
  .tx-60 {
    font-size: 3rem;
    line-height: 1.2; }

  .tx-40 {
    font-size: 3rem;
    line-height: 1.2; } }
@media screen and (max-width: 768px) {
  .tx-60 {
    font-size: 3rem;
    line-height: 1.2; }

  .tx-40 {
    font-size: 2.6rem;
    line-height: 1.2; }

  .tx-36 {
    font-size: 2.6rem;
    line-height: 1.5; }

  .tx-32 {
    font-size: 2.6rem; }

  .tx-26 {
    font-size: 2rem; }

  .tx-24 {
    font-size: 2rem; }

  .tx-20 {
    font-size: 1.5rem; }

  .tx-18 {
    font-size: 1.6rem;
    line-height: 1.5; } }
html, body,
h1, h2, h3, h4, h5, h6,
a, p, span,
em, small, strong,
sub, sup,
mark, del, ins, strike,
abbr, dfn,
blockquote, q, cite,
code, pre,
ol, ul, li, dl, dt, dd,
div, section, article,
main, aside, nav,
header, hgroup, footer,
img, figure, figcaption,
address, time,
audio, video,
canvas, iframe,
details, summary,
fieldset, form, label, legend,
table, caption,
tbody, tfoot, thead,
tr, th, td {
  margin: 0;
  padding: 0;
  border: 0; }

h1, h2, h3, h4, h5, h6, p, address,
ul, ol, li, dl, dt, dd,
table, caption, th, td, img, form {
  font-style: normal;
  font-weight: normal;
  font-size: 14px;
  text-align: left;
  list-style-type: none; }

/* Layout
 * *********************************** */
article,
aside,
footer,
header,
nav,
section,
main {
  display: block; }

* {
  box-sizing: border-box; }

*:before,
*:after {
  box-sizing: inherit; }

/* テキストエリア内文字サイズのブラウザ間での差異をなくす */
textarea {
  font-size: 100%; }

/* 画像の下にできる隙間をなくす */
img {
  border: 0;
  vertical-align: bottom; }

img {
  max-width: 100%;
  height: auto;
  width: auto; }

/* hr 要素は不可視で使う */
hr {
  display: none; }

/* br 要素のレスポンシブ化 */
/* none */
@media screen and (max-width: 1350px) {
  .brNone {
    display: none; } }
@media screen and (max-width: 959px) {
  .pc-Only {
    display: none; } }
@media screen and (min-width: 768px) {
  .sp-Only {
    display: none; } }
/* テキストインデント */
.txtindent {
  padding-left: 1em;
  text-indent: -1em; }

/*float
----------------------------------*/
.left {
  float: left; }

.right {
  float: right; }

#left {
  float: left; }

#right {
  float: right; }

/*txt-align
----------------------------------*/
.txt-align-l {
  text-align: left; }

.txt-align-r {
  text-align: right; }

/*//////////////////////////////////

module
///////////////////////////////////*/
/*background color
---------------------------*/
.bg-Cmpn {
  background: url("../images/common/bg_company.jpg") no-repeat center top;
  background-size: cover; }

/*inner
---------------------------*/
.inner {
  position: relative;
  margin: 0 auto;
  padding: 5rem 2rem;
  /*max-width: 1160px;*/
  width: min(100%, 1000px); }

.inner-Form {
  position: relative;
  margin: 0 auto;
  padding: 0rem 2rem 10rem;
  /*max-width: 1160px;*/
  width: min(100%, 840px); }

.inner-top {
  position: relative;
  margin: 0 auto;
  padding: 0rem 2rem;
  /*max-width: 1160px;*/
  width: min(100%, 1000px); }

.inner-Ttl {
  position: relative;
  margin: 0 auto;
  padding: 5rem 2rem 0;
  width: min(100%, 1000px); }

@media screen and (max-width: 959px) {
  .inner {
    padding: 2rem 2rem 0; }

  .inner-top {
    padding: 4rem 2rem 0; }

  .inner-Form {
    padding: 0rem 2rem 5rem; }

  .inner-Ttl {
    padding: 4rem 2rem; } }
/*flex-box
---------------------------*/
.flex-Sb {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }

.flex-Center {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around; }

.flex-St {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start; }

.flex-Nomal {
  display: flex;
  flex-wrap: wrap; }

/*button
---------------------------------*/
/*hover color*/
.hvr-grn {
  color: #fff !important;
  background-color: #f05e1c;
  box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.06); }
  .hvr-grn:hover {
    color: #fff !important;
    background-color: #f05e1c;
    border-radius: 8px;
    box-shadow: 0px 3px 3px 1px rgba(0, 0, 0, 0.3); }
  .hvr-grn:focus {
    color: #fff !important;
    background-color: #f05e1c;
    border-radius: 8px;
    box-shadow: 0px 0px 0px 3px #a1e3c0; }

/**/
.hvr-wh {
  color: #121212 !important;
  background-color: #fff;
  border: 1px solid #DBDBDB;
  box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.06); }
  .hvr-wh:hover {
    color: #121212 !important;
    background-color: #ECECEC;
    border-radius: 8px;
    border: 1px solid #DBDBDB;
    box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.06); }
  .hvr-wh:focus {
    color: #121212 !important;
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0px 0px 0px 3px #ebebeb; }

/**/
.hvr-wh2 {
  color: #383838 !important;
  background-color: #fff;
  border: 1px solid #DBDBDB;
  box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.06); }
  .hvr-wh2:hover {
    color: #121212 !important;
    background-color: #F5F5F5;
    border-radius: 8px;
    border: 1px solid #fff;
    box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.06); }

/**/
.hvr-gry {
  color: #fff !important;
  background-color: #DBDBDB;
  box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.06); }
  .hvr-gry:hover {
    cursor: default; }

/**/
.hvr-red {
  color: #fff !important;
  background-color: #EC5962;
  box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.06); }
  .hvr-red:hover {
    color: #fff !important;
    background-color: #D5394A;
    border-radius: 8px;
    box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.06); }
  .hvr-red:focus {
    color: #fff !important;
    background-color: #ec5962;
    border-radius: 8px;
    box-shadow: 0px 0px 0px 3px #f1b7ba; }

/**/
.button-Main {
  cursor: pointer;
  display: block;
  position: relative;
  z-index: 0;
  transition: all 0.25s;
  margin: 16px auto;
  padding: 8px;
  width: 300px;
  height: auto;
  font-size: 1.4rem;
  text-align: center;
  letter-spacing: 0.02em;
  font-feature-settings: "palt";
  font-weight: 600;
  border-radius: 8px; }

@media screen and (max-width: 600px) {
  .button-Main {
    margin: 24px auto;
    padding: 8px;
    width: 100%;
    font-size: 1.4rem; } }
/*//////////////////////////////////

Header
///////////////////////////////////*/
header {
  margin: 0 auto;
  padding: 3rem 4rem 0;
  width: 100%;
  height: 100px;
  background: rgba(255, 255, 255, 0);
  position: fixed;
  z-index: 1000;
  top: 0;
  transition: .5s; }

header h1 {
  width: 150px;
  position: relative; }
  header h1 img {
    width: 150px; }

/*変形header*/
header.transform {
  background: rgba(255, 255, 255, 0.9); }

/**/
/*- @media 959px-*/
@media screen and (max-width: 1000px) {
  header {
    padding: 1rem 1rem 2.2rem;
    width: 100%;
    height: 50px; }

  header h1 {
    width: 100px !important; } }
/*//////////////////////////////////

G_Nav
/////////////////////////////////*/
nav {
  width: calc(100% - 150px);
  height: auto;
  position: relative;
  z-index: 9999; }

.gnavList {
  padding: 0;
  width: 100%;
  height: auto;
  position: relative;
  z-index: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end; }

.gnavList li {
  position: relative;
  width: auto;
  padding: 0; }

.gnavList li a {
  position: relative;
  display: block;
  padding: 1.4rem 3rem;
  width: 100%;
  height: auto;
  font-size: 2rem;
  line-height: 1.0;
  text-align: center;
  color: #151515;
  font-weight: 500;
  transition: all 0.25s; }

/**/
.buttonNavPc:after {
  position: absolute;
  bottom: -23px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  content: '';
  height: 0px;
  width: 0px;
  background-color: #f05e1c;
  opacity: 0;
  transition: 0.2s; }

.buttonNavPc:hover {
  color: #f05e1c !important; }

.buttonNavPc:hover:after {
  opacity: 1;
  height: 2px;
  width: 100%; }

.buttonNavPc.active {
  color: #f05e1c !important; }

.buttonNavPc.active:after {
  opacity: 1;
  height: 2px;
  width: 100%; }

/**/
.buttonNavPc2 {
  color: #fff !important; }

.buttonNavPc2:after {
  position: absolute;
  bottom: -23px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  content: '';
  height: 0px;
  width: 0px;
  background-color: #f05e1c;
  opacity: 0;
  transition: 0.2s; }

.buttonNavPc2:hover {
  color: #151515 !important; }

.buttonNavPc2:hover:after {
  opacity: 1;
  height: 2px;
  width: 100%; }

.buttonNavPc2.active {
  color: #151515 !important; }

.buttonNavPc2.active:after {
  opacity: 1;
  height: 2px;
  width: 100%; }

/*- @media 959px-*/
@media screen and (max-width: 1000px) {
  .gnavList {
    display: none !important; }

  .nav__Tel {
    display: none !important; } }
#circledots {
  position: fixed;
  z-index: 0;
  width: 100%;
  height: 100%; }

.first-View {
  width: 100%;
  position: relative; }

.hero-Header {
  position: relative;
  width: 100%;
  margin: 0 auto 0; }
  .hero-Header h2 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
  .hero-Header figure {
    width: 100%;
    height: 680px; }
    .hero-Header figure img {
      width: 100%;
      height: 100%;
      object-fit: cover; }

@media screen and (max-width: 959px) {
  .hero-Header h2 {
    width: 100%;
    text-align: center; }
    .hero-Header h2 img {
      width: 90%; }
  .hero-Header figure {
    width: 100%;
    height: 100vh; }
    .hero-Header figure img {
      width: 100%;
      height: 100%;
      object-fit: cover; } }
/*//////////////////////////////////

Contents
/////////////////////////////////*/
main {
  margin: 0 auto;
  padding: 0;
  width: 100%;
  height: auto;
  position: relative; }

/*h2ttl-Wrap
---------------------------*/
.heading-H2 {
  margin-bottom: 30px;
  padding-bottom: 10px; }

.heading-H3 {
  margin-top: 30px;
  margin-bottom: 10px; }

.brd-black {
  border-bottom: 2px solid #4c4949;
  color: #4c4949; }

.brd-blue {
  border-bottom: 2px solid #2b71b8;
  color: #2b71b8; }

.brd-grn {
  border-bottom: 2px solid #6eb92c;
  color: #6eb92c; }

@media screen and (max-width: 959px) {
  .heading-H2 {
    margin: 0 auto 20px; } }
/*page-top
---------------------------*/
#page-top {
  width: 70px;
  height: 70px;
  display: none;
  position: fixed;
  right: 0.5%;
  bottom: 40px;
  z-index: 1000; }

#page-top p {
  margin: 0;
  padding: 0;
  text-align: center;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s; }

#move-page-top {
  color: #fff;
  line-height: 50px;
  text-decoration: none;
  display: block;
  cursor: pointer; }

/*- @media 768px-*/
@media screen and (max-width: 768px) {
  #page-top p {
    display: none; } }
/*////////////////////////////////

footer
////////////////////////////////*/
footer {
  position: relative;
  z-index: 1;
  margin: 0 auto 0;
  padding: 4rem 0;
  width: 100%;
  border-top: 1px solid #ececec; }

/*fInner-----------------*/
.fInner {
  position: relative;
  text-align: center; }
  .fInner h2 {
    text-align: center; }
  .fInner #copy {
    margin-top: 10px;
    text-align: center; }

/*- @media 959px-*/
