@charset "utf-8";

/*!
 * Copyright 2017 有限会社セブンテック
 * 
 * # 主な内容
 * - normalize.css v7.0.0
 * - Bootstrap ver3.3.7とver4.0.0-alpha6を独自カスタマイズ
 * - 独自追加したコンポーネント系の汎用スタイル集
 * - 独自追加したページやブロックごとの個別スタイル集
 * 
*/


/* ============================================================
   # normalize
   ============================================================ */

/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */

html {
  line-height: 1.15;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
body {
  margin: 0;
}
article,aside,footer,header,nav,section {
  display: block;
}
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
figcaption,figure,main {
  display: block;
}
figure {
  margin: 1em 40px;
}
hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}
pre {
  font-family: monospace, monospace;
  font-size: 1em;
}
a {
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
}
abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}
b,strong {
  font-weight: inherit;
}
b,strong {
  font-weight: bolder;
}
code,kbd,samp {
  font-family: monospace, monospace;
  font-size: 1em;
}
dfn {
  font-style: italic;
}
mark {
  background-color: #ff0;
  color: #000;
}
small {
  font-size: 80%;
}
sub,sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
audio,video {
  display: inline-block;
}
audio:not([controls]) {
  display: none;
  height: 0;
}
img {
  border-style: none;
}
svg:not(:root) {
  overflow: hidden;
}
button,input,optgroup,select,textarea {
  font-family: sans-serif;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}
button,input {
  overflow: visible;
}
button,select {
  text-transform: none;
}
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}
fieldset {
  padding: 0.35em 0.75em 0.625em;
}
legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}
progress {
  display: inline-block;
  vertical-align: baseline;
}
textarea {
  overflow: auto;
}
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}
details,menu {
  display: block;
}
summary {
  display: list-item;
}
canvas {
  display: inline-block;
}
template {
  display: none;
}
[hidden] {
  display: none;
}

/*-----追加-----*/
table {
  border-collapse: collapse;
  border-spacing: 0;
}
td,th {
  padding: 0;
}



/*!
 * Bootstrap v3.3.7 (http://getbootstrap.com)
 * Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com)
 * Copyright 2011-2017 The Bootstrap Authors
 * Copyright 2011-2017 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */

/* ============================================================
   # Content
   ============================================================ */

/* ## Reboot
   ============================================================ */

html {
  box-sizing: border-box;
}
*,
*::before,
*::after {
  box-sizing: inherit;
}
@-ms-viewport {
  width: device-width;
}

html {
  font-size: 100%;/*基本フォントサイズ（16pxを想定）*/
  font-size: 14px;
  -ms-overflow-style: scrollbar;
  -webkit-tap-highlight-color: transparent;
}
body {
  background-color: #fff;/*基本背景色*/
  color: #333;/*基本文字色*/
  font-family: "Yu Gothic", "YuGothic", "Meiryo", sans-serif;/*基本フォントファミリー*/
  font-size: 1rem;/*基本フォントサイズ*/
  font-weight: 500;/*Yu Gothicを使う場合必須*/
  line-height: 1.5;/*基本行高さ*/
}

[tabindex="-1"]:focus {
  outline: none !important;
}
h1,h2,h3,h4,h5,h6 {
  margin-top: 0;
  margin-bottom: 0.5rem;
}
p {
  line-height: 1.8;
  margin-top: 0;
  margin-bottom: 1.5rem;
}
abbr[title],
abbr[data-original-title] {
  cursor: help;
}
address {
  font-style: normal;
  line-height: inherit;
  margin-bottom: 1.125rem;
}
ol,ul,dl {
  margin-top: 0;
  margin-bottom: 1.5rem;
}
ol ol,ul ul,ol ul,ul ol {
  margin-bottom: 0;
}
dt {
  font-weight: 700;
}
dd {
  margin-left: 0;
}
blockquote {
  margin: 0 0 1.125rem;
}
a {
  color: #000037;/*リンク文字色*/
  text-decoration: none;
}
a:focus,a:hover {
  color: #39397d;/*リンク文字色*/
  text-decoration: underline;
}
a:not([href]):not([tabindex]) {
  color: inherit;
  text-decoration: none;
}
a:not([href]):not([tabindex]):focus,
a:not([href]):not([tabindex]):hover {
  color: inherit;
  text-decoration: none;
}
a:not([href]):not([tabindex]):focus {
  outline: 0;
}
pre {
  margin-top: 0;
  margin-bottom: 1.125rem;
  overflow: auto;
}
figure {
  margin: 0 0 1.125rem;
}
img {
  max-width: 100%;/*はみ出し防止*/
  vertical-align: middle;
}
[role="button"] {
  cursor: pointer;
}
a,area,button,[role="button"],
input,label,select,summary,textarea {
  -ms-touch-action: manipulation;
      touch-action: manipulation;
}
table {
  border-collapse: collapse;
  background-color: transparent;
}
caption {
  color: #636c72;
  caption-side: bottom;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  text-align: left;
}
th {
  text-align: left;
}
label {
  display: inline-block;
  margin-bottom: 0.5rem;
}
button:focus {
  outline: 1px dotted;
  outline: 5px auto -webkit-focus-ring-color;
}
input,button,select,textarea {
  line-height: inherit;
}
input[type="radio"]:disabled,
input[type="checkbox"]:disabled {
  cursor: not-allowed;
}
input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"] {
  -webkit-appearance: listbox;
}
textarea {
  resize: vertical;
}
fieldset {
  border: 0;
  margin: 0;
  min-width: 0;
  padding: 0;
}
legend {
  display: block;
  font-size: 1.5rem;
  line-height: inherit;
  margin-bottom: 0.5rem;
  padding: 0;
  width: 100%;
}
input[type="search"] {
  -webkit-appearance: none;
}
output {
  display: inline-block;
}
[hidden] {
  display: none !important;
}



/* ## Typography
   ============================================================ */

/* ### Headings
   ---------------------------------------- */

h1,h2,h3,h4,h5,h6,
.h1,.h2,.h3,.h4,.h5,.h6 {
  color: inherit;
  font-family: inherit;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 0.5rem;
}
h1,.h1 {
  font-size: 1.25rem;
}
h2,.h2 {
  font-size: 1.25rem;
}
h3,.h3 {
  font-size: 1.125rem;
}
h4,.h4 {
  font-size: 1.063rem;
}
h5,.h5 {
  font-size: 1rem;
}
h6,.h6 {
  font-size: 1rem;
}
/*
（参考）「rem」と「px」のサイズ対応リスト
0.625rem = 10px
0.688rem = 11px
0.75rem = 12px
0.813rem = 13px
0.875rem = 14px
0.938rem = 15px
1rem = 16px
1.063rem = 17px
1.125rem = 18px
1.188rem = 19px
1.25rem = 20px
1.313rem = 21px
1.375rem = 22px
1.438rem = 23px
1.5rem = 24px
1.625rem = 26px
1.750rem = 28px
1.875rem = 30px
2rem = 32px
2.125rem = 34px
2.25rem = 36px
2.375rem = 38px
2.5rem = 40px
3rem = 48px
*/


/* ### Lead
   ---------------------------------------- */

.lead {
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 1.4;
  margin-bottom: 1.875rem;
}


/* ### Inline text elements
   ---------------------------------------- */

hr {
  border: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}
small,.small {
  font-size: 80%;
  font-weight: 500;
}
mark,.mark {
  /*background-color: #fcf8e3;*/
  background-color: #ff0;/*目立つように変更*/
  color: #000;/*目立つように変更*/
  padding: 0.2em;
}


/* ### Lists
   ---------------------------------------- */

.list-unstyled {
  list-style: none;
  padding-left: 0;
}
.list-inline {
  list-style: none;
  padding-left: 0;
}
.list-inline-item {
  display: inline-block;
}
.list-inline-item:not(:last-child) {
  margin-right: 6px;
}



/* ## Images
   ============================================================ */

.img-fluid {
  height: auto;
  max-width: 100%;
}
.img-thumbnail {
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 3px;
  height: auto;
  max-width: 100%;
  padding: 0.3rem;
  transition: all 0.2s ease-in-out;
}



/* ## Tables
   ============================================================ */

.table {
  max-width: 100%;
  margin-bottom: 1.5rem;
  width: 100%;
}
.table th,
.table td {
  border-top: 1px solid #ddd;
  font-size: 0.85rem;
  padding: 0.75rem;
  vertical-align: top;
}
.table td p {
  font-size: 0.85rem;
}
.table thead th {
  border-bottom: 2px solid #ddd;
  vertical-align: bottom;
}
.table tbody + tbody {
  border-top: 2px solid #ddd;
}
.table .table {
  background-color: #fff;
}
.table td > p:last-child {
  margin-bottom: 0;
}





/* ============================================================
   # Layout
   ============================================================ */

.container {
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
  position: relative;
}
@media (min-width: 576px) {
  .container {
    width: 540px;
    max-width: 100%;
  }
}
@media (min-width: 768px) {
  .container {
    width: 720px;
    max-width: 100%;
  }
}
@media (min-width: 1040px) {
  .container {
    width: 1000px;
    max-width: 100%;
  }
}

.container-fluid {
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
  position: relative;
}
.row {
  margin-left: -15px;
  margin-right: -15px;
}
.row::after {
  clear: both;
  content: "";
  display: block;
}
/*.row*/.no-gutters {
  margin-left: 0;
  margin-right: 0;
}
/*.row*/.no-gutters > .col,
/*.row*/.no-gutters > [class*="col-"] {
  padding-right: 0;
  padding-left: 0;
}



/* ## Grid
   ============================================================ */

/* ### 全幅カラム用
   ---------------------------------------- */

.col-full {
  padding-left: 15px;
  padding-right: 15px;
  width: 100%;
}
@media (min-width: 576px) {
  .col-full {
    padding-left: 10px;
    padding-right: 10px;
  }
}
@media (min-width: 768px) {
  .col-full {
    padding-left: 0;
    padding-right: 0;
  }
}
@media (min-width: 1040px) {
  .col-full {
    padding-left: 0;
    padding-right: 0;
  }
}


/* ### メインコンテンツ カラム分割
   ---------------------------------------- */

.contents__row {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  margin-left: -15px;/*端のガター幅調整*/
  margin-right: -15px;/*端のガター幅調整*/
}
.contents__main,
.contents__sub {
  flex: 1 1 auto;
  max-width: 100%;
  margin: 15px;/*ガター幅*/
  padding-bottom: 60px;
}
@media (min-width: 576px) {
  .contents__main,
  .contents__sub {
  }
}
@media (min-width: 768px) {
  .contents__main,
  .contents__sub {
  }
}
@media (min-width: 1040px) {
  .contents__row {
    flex-direction: row;
    margin-left: -30px;/*端のガター幅調整*/
    margin-right: -30px;/*端のガター幅調整*/
  }
  .contents__main {
    flex: 1 1 calc(100% - 220px - 60px);
    max-width: calc(100% - 220px - 60px);
    width: calc(100% - 220px - 60px);/*IE対策（TODO:要検証箇所）*/
  }
  .contents__sub {
    flex: 1 1 220px;
    max-width: 220px;
    width: 220px;/*IE対策（TODO:要検証箇所）*/
  }
}


/* ### 均等割りカラム分割--flex
   ---------------------------------------- */

.flex-container {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  margin-left: -15px;/*端のガター幅調整*/
  margin-right: -15px;/*端のガター幅調整*/
}
.flex-item-6,
.flex-item-5,
.flex-item-4,
.flex-item-3,
.flex-item-2,
.flex-item-1 {
  flex: 1 1 auto;
  max-width: 100%;
  margin: 15px;/*ガター幅*/
  background-color: #fafafa;
  border: solid 1px #ddd;
  border-radius: 3px;
  padding: 12px;
}
@media (min-width: 768px) {
  .flex-container {
    flex-direction: row;
  }
  .flex-item-1 {
    flex: 1 1 100%;
    max-width: 100%;
    width: 100%;/*IE対策（TODO:要検証箇所）*/
  }
  .flex-item-2 {
    flex: 1 1 calc(100% / 2);
    max-width: calc(100% / 2);
    width: calc(100% / 2);/*IE対策（TODO:要検証箇所）*/
  }
  .flex-item-3 {
    flex: 1 1 calc(100% / 3);
    max-width: calc(100% / 3);
    width: calc(100% / 3);/*IE対策（TODO:要検証箇所）*/
  }
  .flex-item-4 {
    flex: 1 1 calc(100% / 4);
    max-width: calc(100% / 4);
    width: calc(100% / 4);/*IE対策（TODO:要検証箇所）*/
  }
  .flex-item-5 {
    flex: 1 1 calc(100% / 5);
    max-width: calc(100% / 5);
    width: calc(100% / 5);/*IE対策（TODO:要検証箇所）*/
  }
  .flex-item-6 {
    flex: 1 1 calc(100% / 6);
    max-width: calc(100% / 6);
    width: calc(100% / 6);/*IE対策（TODO:要検証箇所）*/
  }
}


/* ### グリッド状にして幅によりカラム落ちさせる均等割りカラム分割--flex
   ---------------------------------------- */

.grid-container {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  margin-left: -15px;/*端のガター幅調整*/
  margin-right: -15px;/*端のガター幅調整*/
}
.grid-item {
  flex: 1 1 auto;
  max-width: 100%;
  margin: 15px;/*ガター幅*/
  background-color: #fafafa;
  border: solid 1px #ddd;
  border-radius: 3px;
  padding: 12px;
}
@media (min-width: 576px) {
  .grid-container {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .grid-item {
    flex: 1 1 calc(100% / 2 - 30px);
    max-width: calc(100% / 2 - 30px);
    width: calc(100% / 2 - 30px);/*IE対策*/
  }
}
@media (min-width: 768px) {
  .grid-item {
    flex: 1 1 calc(100% / 2 - 30px);
    max-width: calc(100% / 2 - 30px);
    width: calc(100% / 2 - 30px);/*IE対策*/
  }
}
@media (min-width: 1040px) {
  .grid-item {
    flex: 1 1 calc(100% / 3 - 30px);
    max-width: calc(100% / 3 - 30px);
    width: calc(100% / 3 - 30px);/*IE対策*/
  }
}




/* ### Media Object--flex
   ---------------------------------------- */

.media-container {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  margin-left: -15px;/*端のガター幅調整*/
  margin-right: -15px;/*端のガター幅調整*/
}
.media-item__txt,
.media-item__img {
  flex: 1 1 auto;
  max-width: 100%;
  margin: 15px;/*ガター幅*/
}
@media (min-width: 768px) {
  .media-container {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .media-item__img {
    flex: 1 1 300px;
    max-width: 300px;
    width: 300px;/*IE対策（TODO:要検証箇所）*/
  }
  .media-item__txt {
    flex: 1 1 calc(100% - 300px - 60px);
    max-width: calc(100% - 300px - 60px);
    width: calc(100% - 300px - 60px);/*IE対策（TODO:要検証箇所）*/
  }
}



/* ### table状のいい感じの横並び--flex
   ---------------------------------------- */

.flex-table-container {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}
.flex-table-container__head,
.flex-table-container__body {
  border: solid 2px #999;
  flex: 1 1 auto;
  max-width: 100%;
  padding: 12px;
}
.flex-table-container__head {
  align-items: center;
  background-color: #999;
  color: #fff;
  display: flex;
  justify-content: center;
}
@media (min-width: 768px) {
  .flex-table-container {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .flex-table-container__head {
    flex: 1 1 10em;
    max-width: 10em;
  }
  .flex-table-container__body {
    flex: 1 1 calc(100% - 10em);
    max-width: calc(100% - 10em);
    width: calc(100% - 10em);/*IE対策（TODO:要検証箇所）*/
  }
}
.flex-table-container__head > p:last-child,
.flex-table-container__body > p:last-child {
  margin-bottom: 0;
}




/* ============================================================
   # Components
   ============================================================ */


/* ## Breadcrumbs
   ============================================================ */

/*ol*/.breadcrumb {
  display: none;/*非表示*/
}
@media (min-width: 768px) {
  /*ol*/.breadcrumb {
    display: block;/*表示用*/
  }
}

/*ol*/.breadcrumb {
  font-size: 0.8rem;
  list-style: none;
  margin-bottom: 1.5rem;
  padding: 0 0.5em;
}
/*ol*/.breadcrumb li {
  display: inline-block;
}
/*ol*/.breadcrumb li + li::before {
  color: #666;
  content: ">\00a0";
  padding: 0 0.3em;
}
/*ol*/.breadcrumb .active {
  color: #777;
  font-weight: 700;
}



/* ## Forms
   ============================================================ */

.form-control {
  background-color: #fff;
  background-image: none;
  -webkit-background-clip: padding-box;
          background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 0.25rem;
  -webkit-transition: border-color ease-in-out 0.15s,-webkit-box-shadow ease-in-out 0.15s;
  transition: border-color ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s;
  -o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s;
  color: #464a4c;
  display: block;
  font-size: 1rem;
  line-height: 1.25;
  padding: 0.5rem 0.75rem;
  width: 100%;
}
.form-control::-ms-expand {
  background-color: transparent;
  border: 0;
}
.form-control:focus {
  background-color: #fff;
  border-color: #5cb3fd;
  color: #464a4c;
  outline: none;
}
.form-control::-webkit-input-placeholder {
  color: #636c72;
  opacity: 1;
}
.form-control::-moz-placeholder {
  color: #636c72;
  opacity: 1;
}
.form-control:-ms-input-placeholder {
  color: #636c72;
  opacity: 1;
}
.form-control::placeholder {
  color: #636c72;
  opacity: 1;
}
.form-control:disabled,
.form-control[readonly] {
  background-color: #eceeef;
  opacity: 1;
}
.form-control:disabled {
  cursor: not-allowed;
}
select.form-control:not([size]):not([multiple]) {
  height: calc(2.25rem + 2px);
}
select.form-control:focus::-ms-value {
  background-color: #fff;
  color: #464a4c;
}



/* ## Input group
   ============================================================ */

.form-group {
  margin-bottom: 1rem;
}
.form-text {
  display: block;
  margin-top: 0.25rem;
}
.form-check {
  position: relative;
  display: block;
  margin-bottom: 0.5rem;
}
.form-check.disabled .form-check-label {
  color: #636c72;
  cursor: not-allowed;
}
.form-check-label {
  padding-left: 1.25rem;
  margin-bottom: 0;
  cursor: pointer;
}
.form-check-input {
  position: absolute;
  margin-top: 0.25rem;
  margin-left: -1.25rem;
}
.form-check-input:only-child {
  position: static;
}
.form-check-inline {
  display: inline-block;
}
.form-check-inline .form-check-label {
  vertical-align: middle;
}
.form-check-inline + .form-check-inline {
  margin-left: 0.75rem;
}
.form-control-feedback {
  margin-top: 0.25rem;
}



/* ## Navs
   ============================================================ */

.nav {
  list-style: none;
  margin-bottom: 0;
  padding-left: 0;
}
.nav::after {
  clear: both;
  content: "";
  display: block;
}
.nav > li > a {
  display: block;
  padding: 0.75em 1em;
}
.nav > li > a:hover,
.nav > li > a:focus {
  background-color: #eee;
  text-decoration: none;
}





/* ============================================================
   # Utilities
   ============================================================ */

/* ## Clearfix
   ============================================================ */

.clearfix::after {
  display: block;
  clear: both;
  content: "";
}



/* ## Colors
   ============================================================ */

/* ### text-color
   ---------------------------------------- */

.text-colored {/*主な色文字*/
  color: #c00;
}
.text-color--red {
  color: #f00;
}
.text-color--blue {
  color: #00f;
}

/*ここに色を追加していく*/



/* ### background-color
   ---------------------------------------- */

.bg-color--red {
  background-color: #f00;
}
.bg-color--blue {
  background-color: #00f;
}

/*ここに色を追加していく*/




/* ## Display property
   ============================================================ */

.center-block {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.pull-right {/*廃止予定*/
  float: right !important;
}
.pull-left {/*廃止予定*/
  float: left !important;
}
.d-none {
  display: none !important;
}
.d-inline {
  display: inline !important;
}
.d-inline-block {
  display: inline-block !important;
}
.d-block {
  display: block !important;
}



/* ## Responsive floats
   ============================================================ */

.float-left {
  float: left !important;
}
.float-right {
  float: right !important;
}
.float-none {
  float: none !important;
}



/* ## Image replacement
   ============================================================ */

.text-hide {
  background-color: transparent;
  border: 0;
  color: transparent;
  font-size: 0;
  line-height: 0;
  text-shadow: none;
}



/* ## Invisible content
   ============================================================ */

.invisible {
  visibility: hidden !important;
}



/* ## Screenreaders
   ============================================================ */

.sr-only {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}
.sr-only-focusable:active,
.sr-only-focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto;
}



/* ## Spacing（mt-x,mb-x,,,etc）改
   ============================================================ */

.mt-0 {
  margin-top: 0 !important;
}
.mb-0 {
  margin-bottom: 0 !important;
}
.mt-1 {
  margin-top: 0.375rem !important;
}
.mb-1 {
  margin-bottom: 0.375rem !important;
}
.mt-2 {
  margin-top: 0.75rem !important;
}
.mb-2 {
  margin-bottom: 0.75rem !important;
}
.mt-3 {
  margin-top: 1.5rem !important;
}
.mb-3 {
  margin-bottom: 1.5rem !important;
}
.mt-4 {
  margin-top: 2.25rem !important;
}
.mb-4 {
  margin-bottom: 2.25rem !important;
}
.mt-5 {
  margin-top: 3.75rem !important;
}
.mb-5 {
  margin-bottom: 3.75rem !important;
}
.mr-auto {
  margin-right: auto !important;
}
.ml-auto {
  margin-left: auto !important;
}




/* ## Typography
   ============================================================ */

/* ### Text alignment
   ---------------------------------------- */

.text-justify {
  text-align: justify !important;
}
.text-nowrap {
  white-space: nowrap !important;
}
.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.text-left {
  text-align: left !important;
}
.text-right {
  text-align: right !important;
}
.text-center {
  text-align: center !important;
}


/* ## Font size, weight, family and decoration
   ============================================================ */

a.underline {
  text-decoration: underline;
}

.font-size-large {
  font-size: 1.25em;
}
.font-size-xlarge {
  font-size: 1.5em;
}
.font-size-xxlarge {
  font-size: 2em;
}
.font-weight-normal {
  font-weight: 500;
}
.font-weight-bold {
  font-weight: 700;
}
.font-italic {
  font-style: italic;
}
.font-family-mincho {
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
}



/* ## Vertical alignment
   ============================================================ */

.align-baseline {
  vertical-align: baseline !important;
}
.align-top {
  vertical-align: top !important;
}
.align-middle {
  vertical-align: middle !important;
}
.align-bottom {
  vertical-align: bottom !important;
}
.align-text-bottom {
  vertical-align: text-bottom !important;
}
.align-text-top {
  vertical-align: text-top !important;
}




/* ============================================================
   # Page common
   ============================================================ */

/* ## ヘッダー
   ============================================================ */

.header {
  padding: 18px 0;
  position: relative;
}


/* ### ヘッダー カラム分割
   ---------------------------------------- */

.header__row {
  align-items: center;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
}
.header__primary,
.header__secondary {
  flex: 0 1 auto;
  max-width: 100%;
}
.header__secondary {
  /*display: none;非表示*/
}
@media (min-width: 768px) {
  .header__secondary {
    display: block;/*表示用*/
  }

  .header__row {
    flex-direction: row;
    justify-content: space-between;/*アイテムを両端に寄せる*/
  }
  .header__primary,
  .header__secondary {
    flex: 0 1 auto;
    width: auto;
  }
}


/* ### ヘッダー ロゴ
   ---------------------------------------- */

.header__logo {
  margin: 0 auto 12px;
  max-width: 200px;/*ロゴ画像の最大表示幅*/
}
@media (min-width: 768px) {
  .header__logo {
    margin: 0;
    max-width: 356px;/*ロゴ画像の最大表示幅*/
  }
}
.header__logo {
  transition: all 0.15s ease 0s;
}
.header__logo:hover,
.header__logo:focus {
  opacity: 0.8;
}



/* ### ヘッダー 電話
   ---------------------------------------- */

.header__tel {
  margin: 0 auto;
  text-align: center;
}
@media (min-width: 768px) {
  .header__tel {
    margin: 0;
    text-align: right;
  }
}
.header__tel p {
  line-height: 1.35;
  margin: 0;
}
.header__tel-number {
  color: #000037;
  font-size: 1.75rem;
  font-weight: 700;
}
.header__tel-number a {
  color: #000037;
}


/* ### ヘッダー メニューボタン
   ---------------------------------------- */

.header__menu-btn {
  position: absolute;
    right: 15px;
    top: 3px;
  z-index: 10;
}
.header__menu-btn {
  background-color: #000037;
  background-image: linear-gradient(to bottom, #1e5ed0, #000037);
  border-radius: 3px;
  color: #fff;
  cursor: pointer;
  font-size: 11px;
  height: 52px;
  margin: 0;
  padding-top: 5px;
  text-align: center;
  width: 52px;
}
.header__menu-btn i {
  font-size: 28px;
}
@media (min-width: 768px) {
  .header__menu-btn {
    display: none;/*非表示*/
  }
}



/* ## ヘッダーナビゲーション（横並びメニュー）
   ============================================================ */

.header-nav {
  display: none;/*非表示*/
}
@media (min-width: 768px) {
  .header-nav {
    display: block;/*表示用*/
  }
}

.header-nav {
  background-color: #000037;
  background-image: linear-gradient(to bottom, #000076, #000037);
  color: #fff;
}

/*ul*/.header-nav__menu {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  margin-left: -15px;/*端のガター幅調整*/
  margin-right: -15px;/*端のガター幅調整*/
}
/*ul*/.header-nav__menu > li {
  border-right: solid 1px #ccc;
  flex: 1 1 calc(100% / 4);
  max-width: calc(100% / 4);
  width: calc(100% / 4);/*IE対策*/
  text-align: center;
}
/*ul*/.header-nav__menu > li:first-child {
  border-left: solid 1px #ccc;
}

/*ul*/.header-nav__menu > li > a {
  background-color: #000037;
  background-image: linear-gradient(to bottom, #000076, #000037);
  color: #fff;
  font-weight: 700;
  line-height: 1.35;
  padding: 0.55em 0.5em 0.45em;
  transition: all 0.15s ease 0s;
}
/*ul*/.header-nav__menu > li > a small {
  color: #82aaff;
  font-size: 0.75rem;
  font-weight: 700;
}
/*ul*/.header-nav__menu > li > a:hover,
/*ul*/.header-nav__menu > li > a:focus {
  background-color: #000037;
  background-image: none;
  color: #fff;
  text-decoration: none;
}
/*ul*/.header-nav__menu > li.active > a,
/*ul*/.header-nav__menu > li.active > a:hover,
/*ul*/.header-nav__menu > li.active > a:focus {
  background-color: #000037;
  background-image: none;
  color: #fff;
}



/* ## ヘッダーナビゲーション（縦並びトグルメニュー）
   ============================================================ */

.header-nav-toggle {
  display: block;
  padding: 0 15px;
}
@media (min-width: 768px) {
  .header-nav-toggle {
    display: none;/*非表示*/
  }
}

/*ul*/.header-nav-toggle__menu {
  list-style: none;
  margin: 0 auto 24px;
  padding-left: 0;
}
/*ul*/.header-nav-toggle__menu li {
  background-color: #fff;
  border-left: solid 1px #ddd;
  border-right: solid 1px #ddd;
  margin: 0;
  width: 100%;
}

/*見出し*/
li.toggle-menu__head {
  background-color: #000037;
  border-top: solid 1px #ddd;
  border-bottom: solid 1px #fff;
  border-radius: 6px 6px 0 0;
  color: #fff;
  font-size: 1.125rem;
  padding: 12px 15px;
  text-align: center;
}
li.toggle-menu__child + li.toggle-menu__child {
  border-top: solid 1px #ddd;
}
/*ul*/.header-nav-toggle__menu li a {
  display: block;
  position: relative;
  text-decoration: none;
  transition: all 0.15s ease 0s;
}
/*ul*/.header-nav-toggle__menu li a:hover,
/*ul*/.header-nav-toggle__menu li a:focus {
  text-decoration: none;
}

/*子ページ*/
li.toggle-menu__child a {
  background-color: #fff;
  padding: 9px 36px 9px 15px;
}
li.toggle-menu__child a:hover,
li.toggle-menu__child a:focus {
  background-color: #eee;
}
li.toggle-menu__child a::before {
  content: "\f054";
  font-family: FontAwesome;
  position: absolute;
    right: 15px;
    top: 10px;
}

/*閉じるボタン*/
li.header-nav-toggle__btn_close {
  background-color: #777;
  border-bottom: solid 1px #ddd;
  border-radius: 0 0 6px 6px;
  color: #fff;
  cursor: pointer;
  font-size: 1.125rem;
  padding: 12px 15px 10px;
  transition: all 0.15s ease 0s;
  text-align: center;
}
li.header-nav-toggle__btn_close:hover,
li.header-nav-toggle__btn_close:focus {
  background-color: #666;
}
li.header-nav-toggle__btn_close i {
  font-size: 1.125rem;
}



/* ## ビジュアル
   ============================================================ */

.page-visual--fluid {
  background-color: #fafafa;
  border-bottom: solid 1px #ddd;
  box-shadow: 0 5px 4px -3px rgba(0, 0, 0, 0.15) inset;
  margin: 0 0 0.5rem;
}
.page-visual {
  background-image: url();
  background-position: right center;
  background-repeat: no-repeat;
  background-size: cover;
  box-shadow: 0 5px 4px -3px rgba(0, 0, 0, 0.15) inset;
  padding: 16px 30px 14px;
}
.page-visual--dummy {
  background-image: url("../img/visual_dummy.jpg");
}
.page-visual__title {
  font-size: 1.375rem;
  text-shadow: 1px 1px 0px rgba(255, 255, 255, 1),/*白＋白*/
    0px 0px 4px rgba(255, 255, 255, 1);
}
@media (min-width: 768px) {
  .page-visual__title {
    font-size: 1.5rem;
  }
}

.home-visual--fluid {
  background-color: #eee;
  background-image: url("../img/home/visual_bg.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  border-bottom: solid 1px #ddd;
  box-shadow: 0 5px 4px -3px rgba(0, 0, 0, 0.15) inset;
  margin: 0 0 2rem;
}
.home-visual {
  padding: 1.5rem 0;
}


/* ## 見出し
   ============================================================ */

.heading--lg {
  border-top: solid 2px #000037;
  border-bottom: solid 1px #ccc;
  line-height: 1.4;
  margin-bottom: 1.125rem;
}
.heading--lg h1,
.heading--lg .h1,
.heading--lg h2,
.heading--lg .h2 {
  margin: 0;
  padding: 0.6em 0.1em 0.4em;
}

.heading--md {
  border-bottom: dotted 1px #000037;
  margin-bottom: 0.75rem;
}

.heading--md h2,
.heading--md .h2,
.heading--md h3,
.heading--md .h3 {
  margin: 0;
  padding: 0.4em 0.1em 0.3em;
}

.heading--sm {
  border-left: solid 6px #39397d;
  border-radius: 2px;
  margin-bottom: 0.75rem;
}
.heading--sm h3,
.heading--sm .h3,
.heading--sm h4,
.heading--sm .h4 {
  margin: 0;
  padding: 0.3em 0.6em 0.2em;
}

.heading--xs {}




/* ## ボックス系 装飾クラス
   ============================================================ */

/* ### いい感じのボックス ボーダー
   ---------------------------------------- */

.well--border {
  background-color: #f5f5f5;
  border: solid 1px #e3e3e3;
  border-radius: 3px;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
  margin: 0 0 1.5rem;
  min-height: 1.5rem;
  padding: 1.125rem;
}
.well--border > p:last-child,
.well--border > ul:last-child,
.well--border > ol:last-child,
.well--border > dl:last-child {
  margin-bottom: 0;
}

/* ### いい感じのボックス シェード
   ---------------------------------------- */

.well--shade {
  background-color: #f5f5f5;
  border-radius: 3px;
  box-shadow: 0 0 6px 1px rgba(0, 0, 0, 0.02) inset;
  margin: 0 0 1.5rem;
  min-height: 1.5rem;
  padding: 1.5rem;
}
.well--shade > p:last-child,
.well--shade > ul:last-child,
.well--shade > ol:last-child,
.well--shade > dl:last-child {
  margin-bottom: 0;
}

/* ### いい感じのボックス フラット
   ---------------------------------------- */

.well--flat {
  background-color: #f5f5f5;
  border-radius: 3px;
  margin: 0 0 1.5rem;
  min-height: 1.5rem;
  padding: 1.5rem;
}
.well--flat > p:last-child,
.well--flat > ul:last-child,
.well--flat > ol:last-child,
.well--flat > dl:last-child {
  margin-bottom: 0;
}



/* ## テーブル
   ============================================================ */

/*table*/.table--basic {
  border: 1px solid #ddd;
}
/*table*/.table--basic th,
/*table*/.table--basic td {
  border: 1px solid #ddd;
}
/*table*/.table--basic th {
  background-color: #eee;
  font-weight: 500;
  width: 10em;
}
/*table*/.table--basic thead th {
  border-bottom-width: 2px;
}

/*2列テーブルのレスポンシブ*/
/*-576px*/
@media (max-width: 576px){/*max*/
  /*table*/.table-responsive-2col > tbody > tr > th,
  /*table*/.table-responsive-2col > tbody > tr > td {
    border: none;
    box-sizing: border-box;
    display: block;
    width: 100%;
  }
  /*table*/.table-responsive-2col > tbody > tr > th {
    /*padding-bottom: 3px;*/
  }
  /*table*/.table-responsive-2col > tbody > tr > td {
    /*padding-top: 3px;*/
  }
}



/* ## リンクボタン
   ============================================================ */

/* ### アイコン付きリンクボタン
   ---------------------------------------- */

.link-btn--add_icon {
  margin: 0 0 24px;
}
.link-btn--add_icon a {
  background-color: #ddd;
  border: solid 1px #ccc;
  border-radius: 3px;
  color: #555;
  display: block;
  font-weight: 700;
  padding: 9px 15px 8px 34px;
  position: relative;
  transition: all 0.15s ease 0s;
}
.link-btn--add_icon a:hover,
.link-btn--add_icon a:focus {
  background-color: #eee;
  border: solid 1px #ccc;
  color: #333;
}
.link-btn--add_icon a::before {
  color: #000037;
  content: "\f061";
  font-family: FontAwesome;
  font-size: 0.875rem;
  position: absolute;
    left: 12px;
    top: 10px;
}


/* ### アイコン付きリンクボタン インライン
   ---------------------------------------- */

.link-btn--inline {
  margin: 0 0 24px;
}
.link-btn--inline a {
  background-color: #fafafa;
  border: solid 1px #ccc;
  border-radius: 3px;
  /*color: #555;*/
  display: inline-block;
  font-weight: 700;
  padding: 9px 15px 8px 34px;
  position: relative;
  transition: all 0.15s ease 0s;
}
.link-btn--inline a:hover,
.link-btn--inline a:focus {
  background-color: #eee;
  border: solid 1px #adadad;
  /*color: #333;*/
}
.link-btn--inline a::before {
  color: #000037;
  content: "\f0da";
  font-family: FontAwesome;
  font-size: 0.875rem;
  position: absolute;
    left: 12px;
    top: 10px;
}


/* ### ラベル用小さいリンクボタン
   ---------------------------------------- */

.label-btn {}
.label-btn a {
  background-color: #000037;
  border-radius: 3px;
  color: #fff;
  display: inline;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1;
  padding: 3px 9px 2px;
  text-align: center;
  /*vertical-align: baseline;*/
  vertical-align: middle;
  white-space: nowrap;
}
.label-btn a:hover,
.label-btn a:focus {
  background-color: #286090;
  color: #fff;
}




/* ## 縦積みナビ
   ============================================================ */

/* ### 縦積みナビ 左アイコン
   ---------------------------------------- */

.stacked-nav-basic {
  margin: 0 0 24px;
}
/*ul*/.stacked-nav-basic__menu {

}
/*ul*/.stacked-nav-basic__menu li {
  font-size: 0.875rem;
}
/*ul*/.stacked-nav-basic__menu > li > a {
  color: #333;
  padding: 16px 15px 14px 24px;
  position: relative;
}
/*ul*/.stacked-nav-basic__menu > li > a:hover,
/*ul*/.stacked-nav-basic__menu > li > a:focus {

}
/*ul*/.stacked-nav-basic__menu > li > a::before {
  color: #000037;
  content: "\f0da";
  font-family: FontAwesome;
  position: absolute;
    left: 12px;
    top: 16px;
}
/*ul*/.stacked-nav-basic__menu > li + li {
  border-bottom: dashed 1px #ccc;
}

/*アクティブ*/
/*ul*/.stacked-nav-basic__menu > li.active > a,
/*ul*/.stacked-nav-basic__menu > li.active > a:hover,
/*ul*/.stacked-nav-basic__menu > li.active > a:focus {

}

/*見出し*/
li.stacked-nav-basic__heading {

}
li.stacked-nav-basic__heading > a::before {
  content: "";
}
li.stacked-nav-basic__heading > a {
  border-radius: 3px;
  padding: 16px 15px 14px;
}
li.stacked-nav-basic__heading > a,
li.stacked-nav-basic__heading > a:hover,
li.stacked-nav-basic__heading > a:focus {
  background-color: #000037;
  color: #fff;
}



/* ## 縦積みバナー
   ============================================================ */

.stacked-bnr {
  margin: 0 0 24px;
}
/*ul*/.stacked-bnr-list {
  list-style: none;
  margin: 0;
  padding-left: 0;
}
/*ul*/.stacked-bnr-list > li {
  margin: 0 0 15px;
}
/*ul*/.stacked-bnr-list > li > a > img {
  margin: 0 auto;
  max-width: 360px;
  width: 100%;
  transition: all 0.15s ease 0s;
}
/*ul*/.stacked-bnr-list > li > a > img:hover,
/*ul*/.stacked-bnr-list > li > a > img:focus {
  opacity: 0.8;
}



/* ## フッター
   ============================================================ */

.footer {
  background-color: #000037;
  border-top: solid 3px #82aaff;
  color: #fff;
  padding: 15px 0;
  width: 100%;
}


/* ### フッター カラム分割
   ---------------------------------------- */

.footer__row {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
}
.footer__primary,
.footer__secondary {
  flex: 0 1 auto;
  max-width: 100%;
}



/* ### フッターナビゲーション
   ---------------------------------------- */

/*ul*/.footer-nav__menu {
  display: flex;
  flex-direction: column;/*縦並び*/
  flex-direction: row;/*横並び*/
  flex-wrap: wrap;
  justify-content: flex-end;/*右揃え*/
  justify-content: center;/*中央揃え*/
  justify-content: space-between;/*等間隔*/
  justify-content: space-around;/*等間隔*/
  justify-content: flex-start;/*左揃え*/
  margin: 0 0 12px;
}
/*ul*/.footer-nav__menu > li + li {
  border-left: solid 1px #eee;
}

/*ul*/.footer-nav__menu > li > a {
  border-radius: 3px;
  color: #fff;
  padding: 3px 9px;
  transition: all 0.15s ease 0s;
}
/*ul*/.footer-nav__menu > li > a:hover,
/*ul*/.footer-nav__menu > li > a:focus {
  background-color: #00155b;
  color: #fff;
  text-decoration: none;
}



/* ### フッター ロゴ
   ---------------------------------------- */

.footer__logo {
  margin: 0 auto 12px;
  max-width: 130px;/*ロゴ画像の最大表示幅*/
}
@media (min-width: 768px) {
  .footer__logo {
    margin: 0 0 12px;
  }
}
.footer__logo {
  transition: all 0.15s ease 0s;
}
.footer__logo:hover,
.footer__logo:focus {
  opacity: 0.8;
}

/* ### フッター 住所
   ---------------------------------------- */

.footer__address {
  margin: 0 auto;
  text-align: center;
}
@media (min-width: 768px) {
  .footer__address {
    margin: 0;
    text-align: left;
  }
}
.footer__address p {
  margin: 0;
}


/* ### コピーライト
   ---------------------------------------- */

.copyright {
  background-color: #000037;
  color: #fff;
  padding: 12px;
}
.copyright p {
  text-align: center;
  font-size: 0.875rem;
  margin: 0;
}



/* ## ページの先頭に戻るボタン
   ============================================================ */

.gotop {
  position: fixed;
  z-index: 10;
    right: 24px;
    bottom: 24px;
}
.gotop a {
  background-color: #3264c8;
  border-radius: 50%;
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.35);
  color: #fff;
  display: inline-block;
  font-size: 16px;
  height: 48px;
  padding-top: 9px;
  text-align: center;
  text-decoration: none;
  transition: all 0.15s ease 0s;
  width: 48px;
}
.gotop a:hover,
.gotop a:focus {
  color: #fff;
  padding-top: 6px;
}





/* ============================================================
   # Pages
   ============================================================ */


/* ## homeページ
   ============================================================ */

/* ### グリッド状
   ---------------------------------------- */

.home-grid-container {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  margin-top: -15px;/*端のガター幅調整*/
  margin-left: -15px;/*端のガター幅調整*/
  margin-right: -15px;/*端のガター幅調整*/
}
.home-grid-item {
  flex: 1 1 auto;
  max-width: 100%;
  margin: 15px;/*ガター幅*/
  border-left: solid 1px #ccc;
  padding: 0 0 15px 15px;
}
@media (min-width: 768px) {
  .home-grid-container {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .home-grid-item {
    flex: 1 1 calc(100% / 3 - 30px);
    max-width: calc(100% / 3 - 30px);
    width: calc(100% / 3 - 30px);/*IE対策*/
  }
}

/*h2*/.home-grid-item__heading {
  color: #000037;
  font-size: 1.125rem;
  font-weight: 700;
  margin-bottom: 0.75rem;
  padding: 0.3em 0 0.2em;
}
/*h2*/.home-grid-item__heading a {
  color: #000037;
}
.home-grid-item p {
  font-size: 0.875rem;
  line-height: 1.4;
  margin-bottom: 0.5rem;
}
.home-grid-item img {
  max-width: 320px;
  width: 100%;
}



/* ## xxxxページ
   ============================================================ */

.xxxx-Block__Element--Key_Value {

}
.xxxx-item-list__btn--color_red {

}


/* ## 会社案内ページ
   ============================================================ */


/* ### ごあいさつ
   ---------------------------------------- */


/* ### 会社概要
   ---------------------------------------- */

/*table*/.company-table-about {
  border: 1px solid #ddd;
  margin-top: 1.5rem;
}
/*table*/.company-table-about th,
/*table*/.company-table-about td {
  border: 1px solid #ddd;
}
/*table*/.company-table-about th {
  background-color: #eee;
  font-weight: 500;
  width: 8em;
}
/*2列テーブルのレスポンシブ*/
/*-576px*/
@media (max-width: 576px){/*max*/
  /*table*/.company-table-about > tbody > tr > th,
  /*table*/.company-table-about > tbody > tr > td {
    border: none;
    box-sizing: border-box;
    display: block;
    width: 100%;
  }
  /*table*/.company-table-about > tbody > tr > th {
    /*padding-bottom: 3px;*/
  }
  /*table*/.company-table-about > tbody > tr > td {
    /*padding-top: 3px;*/
  }
}


/* ### 沿革
   ---------------------------------------- */

/*table*/.company-table-history {
  margin-top: 1.5rem;
}
/*table*/.company-table-history tr:nth-child(even) th,
/*table*/.company-table-history tr:nth-child(even) td {
  background-color: #f5f5f5;
}
/*table*/.company-table-history th {
  font-weight: 500;
  width: 10em;
}
/*2列テーブルのレスポンシブ*/
/*-576px*/
@media (max-width: 576px){/*max*/
  /*table*/.company-table-history > tbody > tr > th,
  /*table*/.company-table-history > tbody > tr > td {
    border: none;
    box-sizing: border-box;
    display: block;
    width: 100%;
  }
  /*table*/.company-table-history > tbody > tr > th {
    padding-bottom: 3px;
  }
  /*table*/.company-table-history > tbody > tr > td {
    padding-top: 3px;
  }
}


/* ### 地図
   ---------------------------------------- */

.embed-google-map {
  display: block;
  height: 0;
  margin-bottom: 1.5rem;
  overflow: hidden;
  padding: 0;
  padding-bottom: 75%;/*縦横比*/
  padding-bottom: 56.25%;/*縦横比*/
  position: relative;
}
.embed-google-map iframe {
  border: 0;
  height: 100%;
  position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
  width: 100%;
}



/* ## サービス案内ページ
   ============================================================ */

/* ### 営業種目
   ---------------------------------------- */

/* -----グリッド配置----- */
.business-grid-container {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  margin-left: -15px;/*端のガター幅調整*/
  margin-right: -15px;/*端のガター幅調整*/
}
.business-grid-item {
  flex: 1 1 auto;
  max-width: 100%;
  margin: 15px;/*ガター幅*/
}
@media (min-width: 768px) {
  .business-grid-container {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .business-grid-item {
    flex: 1 1 calc(100% / 2 - 30px);
    max-width: calc(100% / 2 - 30px);
    width: calc(100% / 2 - 30px);/*IE対策*/
  }
}


/* ## 採用情報ページ
   ============================================================ */

/*table*/.company-table-recruit {
  border: 1px solid #ddd;
  margin-top: 1.5rem;
}
/*table*/.company-table-recruit th,
/*table*/.company-table-recruit td {
  border: 1px solid #ddd;
}
/*table*/.company-table-recruit th {
  background-color: #eee;
  font-weight: 500;
  width: 12em;
}
/*2列テーブルのレスポンシブ*/
/*-576px*/
@media (max-width: 576px){/*max*/
  /*table*/.company-table-recruit > tbody > tr > th,
  /*table*/.company-table-recruit > tbody > tr > td {
    border: none;
    box-sizing: border-box;
    display: block;
    width: 100%;
  }
  /*table*/.company-table-recruit > tbody > tr > th {
    /*padding-bottom: 3px;*/
  }
  /*table*/.company-table-recruit > tbody > tr > td {
    /*padding-top: 3px;*/
  }
}



/* ## お問い合わせページ
   ============================================================ */

/*table*/.contact-form-table {
  border: 1px solid #ddd;
}
/*table*/.contact-form-table th,
/*table*/.contact-form-table td {
  border: 1px solid #ddd;
}
/*table*/.contact-form-table th {
  background-color: #eee;
  font-weight: 500;
  width: 15em;
}
/*2列テーブルのレスポンシブ*/
/*-768px*/
@media (max-width: 768px){/*max*/
  /*table*/.contact-form-table > tbody > tr > th,
  /*table*/.contact-form-table > tbody > tr > td {
    border: none;
    box-sizing: border-box;
    display: block;
    width: 100%;
  }
  /*table*/.contact-form-table > tbody > tr > th {
    /*padding-bottom: 3px;*/
  }
  /*table*/.contact-form-table > tbody > tr > td {
    /*padding-top: 3px;*/
  }
}

.form-input__year {
  margin-right: 6px;
  width: 6em;
}
.form-input__month,
.form-input__day {
  margin-left: 6px;
  margin-right: 6px;
  width: 4em;
}
.form-input__tel {
  width: 15em;
}
.form-input__zip {
  width: 10em;
}
.form-badge-caution {
  background-color: #000037;
  border-radius: 3px;
  color: #fff;
  display: inline;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1;
  padding: 3px 9px 2px;
  text-align: center;
  /*vertical-align: baseline;*/
  vertical-align: middle;
  white-space: nowrap;
  position: relative;
  left: 6px;
  top: -1px;
}
button.form-submit-btn {
  background-color: #000037;
  background-image: linear-gradient(to bottom, #000076, #000037);
  border: solid 1px #999;
  border-radius: 3px;
  color: #f5f5f5;
  cursor: pointer;
  display: block;
  font-family: "Yu Gothic", "YuGothic", "Meiryo", sans-serif;/*基本フォントファミリー*/
  font-weight: 700;
  margin: 0 auto 1.5rem;
  padding: 12px 15px 11px;
  width: 280px;
  transition: all 0.15s ease 0s;
}
.form-submit-btn:hover,
.form-submit-btn:focus {
  color: #fff;
}

