@charset "UTF-8";
/* ------------------------------------------------
 * Mixin for center - 要素中央配置する
 * @include center(xy); // 中央
 * @include center(x);  // 横中央
 * @include center(y);  // 縦中央
 ------------------------------------------------ */
/* ------------------------------------------------

 * visible / hidden - 表示・非表示の切り替えをする
 * @include display(DV-visible); // 要素を表示
 * @include display(DV-hidden);  // 要素を非表示
 * @include display(V-visible);  // ボックスを表示
 * @include display(V-hidden);   // ボックスを非表示

 ------------------------------------------------ */
/* ------------------------------------------------

 * font-family - フォントの指定をする
 * @include font(gothic); // ゴシック
 * @include font(mincho); // 明朝

 ------------------------------------------------ */
html, body, div, span, iframe, h1, h2, h3, h4, h5, h6, p, img, strong, i, dl, dt, dd, ol, ul, li, form, label, table, tbody, tfoot, thead, tr, th, td, article, aside, figure, footer, header, menu, nav, section, select, button {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0; }

body {
  line-height: 0; }

footer, header, menu, nav, section, aside, figure {
  display: block; }

.ul, .ol {
  list-style: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

img {
  width: 100%;
  height: auto;
  vertical-align: bottom; }

input[type="submit"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer; }

/*------------------------------------
 clearfix
------------------------------------*/
.clearfix::before,
.clearfix::after {
  content: "";
  display: table; }

.clearfix::after {
  clear: both; }

.clearfix {
  *zoom: 1; }

body {
  width: 100%;
  height: 100%;
  color: #3e3a39;
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-weight: 500;
  font-size: 116%;
  font-weight: normal;
  line-height: 1;
  -webkit-text-size-adjust: none; }
  @media only screen and (max-width: 1200px) {
    body {
      font-size: 93%; } }

#wrapper,
#header,
#container,
#footer {
  width: 100%; }

#wrapper {
  position: relative;
  overflow: hidden; }

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

/* -----------------------------------
 * container
 ----------------------------------- */
.main-visual {
  position: relative; }

.txt-area {
  position: absolute;
  left: 50%;
  top: 50%;
  bottom: auto;
  right: auto;
  transform: translateX(-50%) translateY(-50%);
  text-align: center;
  z-index: 3; }
  .txt-area .big {
    font-size: 100px;
    color: #fff; }
    @media only screen and (max-width: 1200px) {
      .txt-area .big {
        font-size: 90px; } }
  .txt-area h1 {
    margin: 30px auto 0;
    width: 300px; }
  .txt-area .s-font {
    margin-top: 50px;
    color: #fff;
    line-height: 2; }
    @media only screen and (max-width: 1200px) {
      .txt-area .s-font {
        margin-top: 30px; } }
  .txt-area .tel {
    display: block;
    width: 400px;
    margin: 50px auto 0;
    padding: 10px;
    color: #fff;
    font-size: 116%;
    border: 1px solid #fff;
    border-radius: 50px;
    letter-spacing: 0.1em;
    text-decoration: none; }
    @media only screen and (max-width: 1200px) {
      .txt-area .tel {
        width: auto;
        margin: 30px 0 0;
        pointer-events: auto; } }

.bg-dotted {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
  z-index: 1; }
