@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Kosugi+Maru");
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP|Noto+Serif+JP");
html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}

audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

[hidden],
template {
  display: none;
}

a {
  background-color: transparent;
}
a:active, a:hover {
  outline: 0;
}

abbr[title] {
  border-bottom: 1px dotted;
}

b,
strong {
  font-weight: 700;
}

dfn {
  font-style: italic;
}

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

mark {
  background: #ff0;
  color: #000;
}

small {
  font-size: 80%;
}

sub {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

img {
  border: 0;
  max-width: 100%;
  height: auto;
}

svg:not(:root) {
  overflow: hidden;
}

figure {
  margin: 1em 40px;
}

hr {
  box-sizing: content-box;
  height: 0;
}

pre {
  overflow: auto;
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}

button {
  overflow: visible;
  text-transform: none;
}

select {
  text-transform: none;
}

button,
html input[type=button] {
  -webkit-appearance: button;
  cursor: pointer;
}

input[type=reset], input[type=submit] {
  -webkit-appearance: button;
  cursor: pointer;
}

button[disabled],
html input[disabled] {
  cursor: default;
}

button::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input {
  line-height: normal;
}
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
input[type=checkbox], input[type=radio] {
  box-sizing: border-box;
  padding: 0;
}
input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button {
  height: auto;
}
input[type=search] {
  -webkit-appearance: textfield;
  box-sizing: content-box;
}
input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

fieldset {
  border: 1px solid silver;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

legend {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto;
}

optgroup {
  font-weight: 700;
}

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

td,
th {
  padding: 0;
}

/* Table of contents
––––––––––––––––––––––––––––––––––––––––––––––––––
- Grid
- Base Styles
- Typography
- Links
- Buttons
- Forms
- Lists
- Code
- Tables
- Spacing
- Utilities
- Clearing
- Media Queries
*/
/* Grid
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.container {
  position: relative;
  /*width: 100%;*/
  max-width: 1010px;
  min-width: 1010px;
  /* width: 1010px; */
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}

.column,
.columns {
  width: 100%;
  float: left;
  box-sizing: border-box;
}

@media screen and (max-width: 600px) {
  .container {
    max-width: none;
    min-width: inherit;
    width: auto;
    padding: 1em !important;
  }
}
@media (min-width: 600px) {
  .container {
    /* width: 80%; */
    padding: 0;
  }
  .column,
  .columns {
    margin-left: 4%;
  }
  .column:first-child,
  .columns:first-child,
  .column.first-child,
  .columns.first-child {
    margin-left: 0;
  }
  .one.column, .one.columns {
    width: 4.6666666667%;
  }
  .two.columns {
    width: 13.3333333333%;
  }
  .three.columns {
    width: 22%;
  }
  .four.columns {
    width: 30.6666666667%;
  }
  .five.columns {
    width: 39.3333333333%;
  }
  .six.columns {
    width: 48%;
  }
  .seven.columns {
    width: 56.6666666667%;
  }
  .eight.columns {
    width: 65.3333333333%;
  }
  .nine.columns {
    width: 74%;
  }
  .ten.columns {
    width: 82.6666666667%;
  }
  .eleven.columns {
    width: 91.3333333333%;
  }
  .twelve.columns {
    width: 100%;
    margin-left: 0;
  }
  .one-third.column {
    width: 30.6666666667%;
  }
  .two-thirds.column {
    width: 65.3333333333%;
  }
  .one-half.column {
    width: 48%;
  }
  /* Offsets */
  .offset-by-one.column, .offset-by-one.columns {
    margin-left: 8.6666666667%;
  }
  .offset-by-two.column, .offset-by-two.columns {
    margin-left: 17.3333333333%;
  }
  .offset-by-three.column, .offset-by-three.columns {
    margin-left: 26%;
  }
  .offset-by-four.column, .offset-by-four.columns {
    margin-left: 34.6666666667%;
  }
  .offset-by-five.column, .offset-by-five.columns {
    margin-left: 43.3333333333%;
  }
  .offset-by-six.column, .offset-by-six.columns {
    margin-left: 52%;
  }
  .offset-by-seven.column, .offset-by-seven.columns {
    margin-left: 60.6666666667%;
  }
  .offset-by-eight.column, .offset-by-eight.columns {
    margin-left: 69.3333333333%;
  }
  .offset-by-nine.column, .offset-by-nine.columns {
    margin-left: 78%;
  }
  .offset-by-ten.column, .offset-by-ten.columns {
    margin-left: 86.6666666667%;
  }
  .offset-by-eleven.column, .offset-by-eleven.columns {
    margin-left: 95.3333333333%;
  }
  .offset-by-one-third.column, .offset-by-one-third.columns {
    margin-left: 34.6666666667%;
  }
  .offset-by-two-thirds.column, .offset-by-two-thirds.columns {
    margin-left: 69.3333333333%;
  }
  .offset-by-one-half.column, .offset-by-one-half.columns {
    margin-left: 52%;
  }
}
/* device_only */
.pc_only {
  display: block !important;
}

.sp_only {
  display: none !important;
}

@media only screen and (max-width: 600px) {
  .pc_only {
    display: none !important;
  }
  .sp_only {
    display: block !important;
  }
}
/* Base Styles
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/* NOTE
html is set to 62.5% so that all the REM measurements throughout Skeleton
are based on 10px sizing. So basically 1.5rem = 15px :) */
html {
  font-size: 62.5%;
}

body {
  font-size: 1.5em;
  /* currently ems cause chrome bug misinterpreting rems on body element */
  line-height: 1.6;
  font-weight: 400;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  color: #333;
  background: #f5f6f6 url(../images/base/bg.gif) left top repeat;
}

/* Typography
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.wf-j {
  font-family: "Kosugi Maru", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 0;
  margin-bottom: 2rem;
  font-weight: 300;
}

h1 {
  font-size: 3rem;
  line-height: 1.2;
}

h2 {
  font-size: 2.4rem;
  line-height: 1.25;
}

h3 {
  font-size: 2rem;
  line-height: 1.3;
}

h4 {
  font-size: 1.8rem;
  line-height: 1.35;
}

h5 {
  font-size: 1.6rem;
  line-height: 1.5;
}

h6 {
  font-size: 1.3rem;
  line-height: 1.6;
}

/* Larger than phablet */
@media (min-width: 600px) {
  h1 {
    font-size: 3rem;
  }
  h2 {
    font-size: 2.4rem;
  }
  h3 {
    font-size: 2rem;
  }
  h4 {
    font-size: 1.8rem;
  }
  h5 {
    font-size: 1.6rem;
  }
  h6 {
    font-size: 1.3rem;
  }
}
p {
  margin-top: 0;
}

/* Links
–––––––––––––––––––––––––––––––––––––––––––––––––– */
a {
  color: #9c6018;
}
a:hover {
  color: #da7700;
}

/* Buttons
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.button a,
button a {
  /* display: inline-block; */
  padding: 12px 30px;
  color: #9c6018;
  text-align: center;
  font-size: 1em;
  /* letter-spacing: .3em; */
  text-decoration: none;
  white-space: nowrap;
  border-radius: 5px;
  border: none;
  cursor: pointer;
  box-sizing: border-box;
  margin: 1em 10px;
  background: #ffffff;
  line-height: 1.2em;
  display: inline;
  text-decoration: none;
  border: 1px solid;
}

input[type=submit], input[type=reset], input[type=button] {
  /* display: inline-block; */
  padding: 12px 30px;
  color: #9c6018;
  text-align: center;
  font-size: 1em;
  /* letter-spacing: .3em; */
  text-decoration: none;
  white-space: nowrap;
  border-radius: 5px;
  border: none;
  cursor: pointer;
  box-sizing: border-box;
  margin: 1em 10px;
  background: #ffffff;
  line-height: 1.2em;
  display: inline;
  text-decoration: none;
  border: 1px solid;
}

#recruit .button a {
  display: inline-block;
  margin: 0 auto 1em;
  border: 2px solid;
  font-weight: bold;
}

.button a:hover,
button a:hover {
  /*color: #333;*/
  /*border-color: #888;*/
  outline: 0;
  background: #9c6018;
  color: #FFF;
}

input[type=submit]:hover, input[type=reset]:hover, input[type=button]:hover {
  /*color: #333;*/
  /*border-color: #888;*/
  outline: 0;
  background: #9c6018;
  color: #FFF;
}

.button a:focus,
button a:focus {
  /*color: #333;*/
  /*border-color: #888;*/
  outline: 0;
  background: #9c6018;
  color: #FFF;
}

input[type=submit]:focus, input[type=reset]:focus, input[type=button]:focus {
  /*color: #333;*/
  /*border-color: #888;*/
  outline: 0;
  background: #9c6018;
  color: #FFF;
}

.button a img {
  vertical-align: middle;
  margin: -1px 10px auto;
}

/* Forms
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.error {
  color: red;
}

body#contact-form.siryou form th,
body#contact-form.siryou form td {
  padding: 15px 5px;
  border-bottom: 1px solid #E1E1E1;
}
body#contact-form form {
  font-size: 0.9em;
}
body#contact-form form .FloatLeft:last-child {
  vertical-align: middle;
  display: block;
  margin: 0.7em auto 0;
}
body#contact-form.siryou form .FloatLeft:last-child {
  vertical-align: auto;
  display: auto;
  margin: auto;
}

@media (max-width: 600px) {
  body#contact-form form {
    font-size: 1em;
  }
  body#contact-form form .FloatLeft:last-child {
    margin: auto;
  }
  body#contact-form.siryou form .FloatLeft:last-child {
    margin: auto;
  }
}
input[type=email], input[type=number], input[type=search], input[type=text], input[type=tel], input[type=url], input[type=password] {
  height: 38px;
  padding: 6px 10px;
  /* The 6px vertically centers text on FF, ignored by Webkit */
  background-color: #fff;
  border: 1px solid #D1D1D1;
  border-radius: 4px;
  box-shadow: none;
  box-sizing: border-box;
  /* min-width: 70%; */
}

textarea {
  padding: 6px 10px !important;
  background-color: #fff !important;
  border: 1px solid #D1D1D1 !important;
  border-radius: 4px !important;
  box-shadow: none !important;
  width: auto !important;
}

select {
  height: 38px !important;
  padding: 6px 10px !important;
  background-color: #fff !important;
  border: 1px solid #D1D1D1 !important;
  border-radius: 4px !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  width: auto !important;
  min-width: 7em !important;
  margin: 0 auto 0 12em !important;
  overflow: overlay;
  display: block;
}

body#contact-form input.Form110 {
  width: 110px;
  margin-right: 10px;
}
body#contact-form input.Form110:last-child {
  margin-right: 0;
}
body#contact-form input.Form250 {
  width: 100%;
}
body#contact-form textarea.Form250 {
  width: 100%;
  min-height: 7em;
}
body#contact-form textarea.Form400 {
  width: 100%;
  min-height: 10em;
}
body#contact-form form h3,
body#contact-form form h4 {
  font-size: 1.2em;
  font-weight: bold;
  margin: 0.5em 0 0.5em 0;
}
body#contact-form form h5 {
  font-size: 1em;
  font-weight: bold;
  margin: 0.5em 0 0.5em 0;
}
body#contact-form form p {
  font-size: 1em;
  margin: 0.5em 0 0.5em 0;
}
body#contact-form form .underline {
  /* border-bottom: 1px solid #E1E1E1; */
}
body#contact-form form .six.columns {
  margin: auto;
}

/* Removes awkward default styles on some inputs for iOS */
input[type=email], input[type=number], input[type=search], input[type=text], input[type=tel], input[type=url], input[type=password] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  min-height: 150px;
  padding-top: 6px;
  padding-bottom: 6px;
  min-width: 100%;
}

input[type=email]:focus, input[type=number]:focus, input[type=search]:focus, input[type=text]:focus, input[type=tel]:focus, input[type=url]:focus, input[type=password]:focus {
  border: 1px solid #33C3F0;
  outline: 0;
}

textarea:focus,
select:focus {
  border: 1px solid #33C3F0;
  outline: 0;
}

label,
legend {
  display: block;
  margin-bottom: 0.5rem;
  /* font-weight: 600; */
  padding-right: 10px;
}

fieldset {
  padding: 0;
  border-width: 0;
}

input[type=checkbox], input[type=radio] {
  display: inline;
  margin: -2px 2px auto;
  vertical-align: middle;
}

label > .label-body {
  display: inline-block;
  margin-left: 0.5rem;
  font-weight: normal;
}

.agetxt {
  float: left;
  font-size: 1.1em;
  margin: 0.4em 0 0 0.5em;
}

@media screen and (max-width: 600px) {
  body#contact-form form tr,
  body#contact-form form th,
  body#contact-form form td {
    clear: both;
    overflow: hidden;
    display: block;
    padding: 10px 0;
    border-bottom: none;
    white-space: initial !important;
  }
  body#contact-form.siryou form tr,
  body#contact-form.siryou form th,
  body#contact-form.siryou form td {
    clear: both;
    overflow: hidden;
    display: block;
    padding: 10px 0;
    border-bottom: none;
    white-space: initial !important;
  }
  body#contact-form form tr, body#contact-form.siryou form tr {
    border-bottom: 1px solid #E1E1E1;
  }
  body#contact-form input.Form110 {
    width: 49%;
    margin-right: 2%;
  }
  body#contact-form input.Form110:last-child {
    margin-right: 0%;
  }
  input[type=email], input[type=number], input[type=search], input[type=text], input[type=tel], input[type=url], input[type=password] {
    margin: 0;
    width: 100%;
    min-width: initial;
  }
  textarea,
  select {
    margin: 0;
    width: 100%;
  }
}
/* Lists
–––––––––––––––––––––––––––––––––––––––––––––––––– */
ul {
  list-style: disc outside;
}

ol {
  list-style: decimal outside;
  padding-left: 0;
  margin-top: 0;
}

ul {
  padding-left: 0;
  margin-top: 0;
}
ul ul,
ul ol {
  margin: 0 0 0rem 3rem;
  /* font-size: 90%; */
}

ol ol,
ol ul {
  margin: 0 0 0rem 3rem;
  /* font-size: 90%; */
}

li {
  margin-bottom: 1rem;
}

/* Code


–––––––––––––––––––––––––––––––––––––––––––––––––– */
code {
  padding: 0.2rem 0.5rem;
  margin: 0 0.2rem;
  font-size: 90%;
  white-space: nowrap;
  background: #F1F1F1;
  border: 1px solid #E1E1E1;
  border-radius: 4px;
}

pre > code {
  display: block;
  padding: 1rem 1.5rem;
  white-space: pre;
}

/* Tables
–––––––––––––––––––––––––––––––––––––––––––––––––– */
th,
td {
  padding: 12px 15px;
  text-align: left;
  /* border-bottom: 1px solid #E1E1E1; */
}

th:first-child,
td:first-child {
  padding-left: 0;
}

th:last-child,
td:last-child {
  padding-right: 0;
}

form table {
  width: 100%;
}
form th,
form td {
  padding: 5px 15px;
  border-bottom: 1px solid #E1E1E1;
}
form th {
  color: #a78232;
}

@media screen and (max-width: 600px) {
  form tr,
  form th,
  form td {
    display: block;
    width: 100%;
    padding: 5px 0;
  }
}
/* Spacing
–––––––––––––––––––––––––––––––––––––––––––––––––– */
button a,
.button a {
  margin-bottom: 1rem;
}

input,
textarea,
select,
fieldset {
  /* margin-bottom: 1.5rem; */
}

pre,
blockquote,
dl,
figure,
table,
p,
ul,
ol,
form {
  margin-bottom: 2.5rem;
}

/* Utilities
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.u-full-width {
  width: 100%;
  box-sizing: border-box;
}

.u-max-full-width {
  max-width: 100%;
  box-sizing: border-box;
}

.u-pull-right {
  float: right;
}

.u-pull-left {
  float: left;
}

/* Misc
–––––––––––––––––––––––––––––––––––––––––––––––––– */
hr {
  margin-top: 3rem;
  margin-bottom: 3.5rem;
  border-width: 0;
  border-top: 1px solid #E1E1E1;
}

/* Clearing
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/* Self Clearing Goodness */
.container:after,
.row:after,
.u-cf {
  content: "";
  display: table;
  clear: both;
}

/* Media Queries
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/*
Note: The best way to structure the use of media queries is to create the queries
near the relevant code. For example, if you wanted to change the styles for buttons
on small devices, paste the mobile query code up in the buttons section and style it
there.
*/
/* Larger than mobile */
/* Larger than phablet (also point when grid becomes active) */
/* Larger than tablet */
/* Larger than desktop */
/* Larger than Desktop HD */
/* OriginalCSS
==================================================
*/
@media screen and (max-width: 600px) {
  img {
    max-width: 100%;
    height: auto;
    /* width: 100%; */
  }
}
/* Module
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.clear {
  clear: both;
}

.FloatLeft {
  float: left;
}

.FloatRight {
  float: right;
}

.ImgBox {
  position: relative;
  display: block;
  overflow: hidden;
  clear: both;
  margin-bottom: 1em;
}
.ImgBox img {
  border: none;
  font-size: 0;
  line-height: 0;
  vertical-align: bottom;
  max-width: 100%;
  width: auto;
  height: auto;
}

.img-box-text {
  text-align: left;
  width: 95%;
  margin: 0 !important;
  position: absolute;
  bottom: 5%;
  font-size: 16px !important;
  left: 4%;
  color: #fff !important;
  text-shadow: 1px 1px 3px rgba(51, 51, 51, 0.8);
  line-height: 20px;
}

.table tr th {
  background: #e7f6ff;
  font-weight: normal;
}
.table tr th strong {
  font-size: 1.1em;
  color: #3162a6;
}
.table tr td ul {
  margin-left: 1em;
  margin-bottom: 0em;
}
.table tr td ul li {
  margin-bottom: 0em;
}
.table .FloatLeft {
  float: left;
  display: block;
  padding-right: 5px;
}
.table .FloatRight {
  float: right;
  display: block;
  padding-left: 5px;
}
.table.W100Per {
  width: 100%;
}
.table.M_B0 {
  margin-bottom: 2px;
}
.table th,
.table td {
  padding: 5px 10px;
  border: 1px solid #e1e1e1;
}

@media only screen and (max-width: 600px) {
  .table {
    margin: 0 -10px;
  }
  .table tr {
    display: block;
    margin-bottom: 10px;
  }
  .table th {
    display: block;
    width: 94%;
    padding: 5px 3%;
  }
  .table td {
    display: list-item;
    width: 90%;
    margin-left: 10%;
    border: none;
    padding: 0;
  }
  .table th.MB_none,
  .table td.MB_none {
    display: none;
  }
}
.Small {
  font-size: 0.85em;
}

.TextRight {
  text-align: right;
}

.TextLeft {
  text-align: left;
}

.TextCenter {
  text-align: center;
}

.AnnotationArea {
  border: 3px solid #CCC;
  border-radius: 6px;
  padding: 20px 30px;
}
.AnnotationArea h3 {
  text-align: center;
  font-weight: bold;
  border-bottom: none !important;
}
.AnnotationArea ul {
  list-style: disc outside;
}
.M-B1em {
  margin-bottom: 1em;
}

.M-B2em {
  margin-bottom: 2em;
}

.M-B3em {
  margin-bottom: 3em;
}

.M-B3_2em {
  margin-bottom: 3.2em;
}

.M-B4em {
  margin-bottom: 4em;
}

@media (max-width: 600px) {
  .AnnotationArea {
    padding: 1em;
    font-size: 0.8em;
  }
  .MB-none {
    display: none;
  }
}
/* Layout
–––––––––––––––––––––––––––––––––––––––––––––––––– */
header #G_NavArea .HeadLogo {
  text-align: left;
  width: 35%;
  padding: 0 2%;
  height: 100px;
  display: table;
  vertical-align: middle;
}
header #G_NavArea .HeadLogo h1 {
  display: table-cell;
  margin: auto;
  vertical-align: middle;
  top: 0;
  bottom: 0;
}
header #G_NavArea .HeadLogo span {
  display: table-cell;
  margin: auto;
  vertical-align: middle;
  top: 0;
  bottom: 0;
}
header #G_NavArea .HeadLogo span img {
  width: 100%;
  height: auto;
  max-width: 397px;
  vertical-align: bottom;
}
header #G_NavArea .G_Nav {
  width: 65%;
  margin-left: 0;
  float: right;
}
header #G_NavArea .G_Nav nav {
  font-family: "Kosugi Maru", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
}
header #G_NavArea .G_Nav nav ul {
  list-style: none;
  margin: 0;
  height: auto;
  z-index: 20;
}
header #G_NavArea .G_Nav nav ul li {
  text-align: center;
  font-size: 14px;
  line-height: 50px;
  display: block;
  width: 15.7%;
  float: left;
  margin: 25px 0.25% 0 0px;
  padding: 0;
}
header #G_NavArea .G_Nav nav ul li.NavRight {
  float: right !important;
  width: 25% !important;
}
header #G_NavArea .G_Nav nav ul li a {
  color: #9c6018;
  text-decoration: none;
  padding: 0;
  display: block;
  width: 100%;
  height: 50px;
  overflow: hidden;
  margin: 0 0 0 0px;
  background: #FFF;
  vertical-align: middle;
}
header #G_NavArea .G_Nav nav ul li a span {
  color: #9c6018;
  text-decoration: none;
  padding: 0;
  display: block;
  width: 100%;
  height: 50px;
  overflow: hidden;
  margin: 0 0 0 0px;
  background: #FFF;
  vertical-align: middle;
}
header #G_NavArea .G_Nav nav ul li a:hover {
  background: #9c6018;
  color: #FFF;
}
header #G_NavArea .G_Nav nav ul li.Nav2nd {
  width: 20%;
}
header #G_NavArea .G_Nav nav ul li.Nav2nd a {
  line-height: 18px;
  padding: 6px 0 0;
  height: 44px;
}
header #G_NavArea .G_Nav nav ul li.Nav_kengaku a {
  line-height: 18px;
  padding: 6px 0 0;
  height: 44px;
}
@media screen and (max-width: 780px) {
  header #TopHead .TopHeadNav a {
    font-size: 12px;
  }
  header #TopHead .TopHeadNav a img {
    display: none;
  }
}
@media screen and (max-width: 600px) {
  header #TopHead .TopText,
  header #TopHead .TopHeadNav {
    display: none;
  }
}
@media screen and (max-width: 1200px) {
  header #G_NavArea .G_Nav nav ul li {
    font-size: 14px;
  }
  header #G_NavArea .G_Nav nav ul li a span.EngText {
    font-size: 10px;
  }
}
@media screen and (max-width: 1000px) {
  header #G_NavArea .G_Nav nav ul li {
    font-size: 12px;
  }
}
@media screen and (max-width: 780px) {
  header #G_NavArea .G_Nav nav ul li {
    font-size: 12px;
  }
  header #G_NavArea .G_Nav nav ul li a {
    /* padding: 30px 0% 10px; */
  }
  header #G_NavArea .G_Nav nav ul li a span.EngText, header #G_NavArea .G_Nav nav ul li a span.MbNone {
    display: none;
  }
}
@media screen and (max-width: 600px) {
  header #G_NavArea .HeadLogo {
    width: 100%;
    padding: 15px 15% 0px;
    height: auto;
  }
  header #G_NavArea .G_Nav {
    display: none;
  }
  header #G_NavArea .HeadLogo span img {
    margin-left: 0;
    max-width: initial;
  }
}
/* Footer
–––––––––––––––––––––––––––––––––––––––––––––––––– */
footer {
  /* overflow: hidden; */
  display: block;
  color: #333;
  padding: 0;
  background: #e0c6ad;
  clear: both;
  margin-top: 5em;
  position: absolute;
  width: 100%;
}
footer a {
  color: #FFF;
  text-decoration: none;
}
footer #Copyright {
  float: none;
  font-size: 10px;
  line-height: 20px;
  text-align: center;
  background: #FFF url(../images/base/head-haseko-obi.png) bottom center no-repeat;
  color: rgba(17, 17, 17, 0.831372549);
  text-transform: capitalize;
  padding: 20px 0;
  border-top: 2px solid #a78232;
  background-size: 100% 5px;
}
footer #Copyright::after {
  content: "";
  width: 250px;
  display: block;
  /* background: url(../images/base/head-hsh-logo.png) no-repeat center center; */
  height: 50px;
  background-size: 100% auto;
  margin: 0px auto 0;
}
footer #FooterNavArea {
  background: #FFF;
  padding: 0;
  overflow: hidden;
  text-align: center;
}
footer #FooterNavArea ul {
  margin: 0;
}
footer #FooterNavArea li {
  color: #a5853b;
  float: left;
  list-style: none;
  width: 20%;
  margin-bottom: 0;
}
footer #FooterNavArea li a {
  color: #a5853b;
  font-size: 0.9em;
  line-height: 3.5em;
  margin: 0;
  display: block;
  padding: 10px;
}
footer #FooterNavArea li a:after {
  padding: 0 10px;
  content: url(../images/base/arrow_b01.png);
  vertical-align: middle;
}
footer #FooterNavArea li a:hover {
  background: #a17f32;
  color: #FFF;
}
footer #FooterNavArea li a:hover:after {
  padding: 0 10px;
  content: url(../images/base/arrow_w01.png);
  vertical-align: middle;
}
footer #Pagetop {
  overflow: hidden;
  display: block;
  text-align: center;
  background: #FFF;
}
footer #Pagetop a {
  display: block;
  overflow: hidden;
  padding: 10px;
}
footer #sec-foot-bnr {
  background: #ffffff;
  padding: 50px 0;
}
footer #sec-foot-bnr ul {
  list-style: none;
}
footer #sec-foot-bnr ul li {
  margin: 0;
  padding: 0;
  /* float: left; */
}
footer #sec-foot-bnr ul li a {
  font-size: 1px;
  line-height: 1px;
  padding: 0;
  margin: 0;
  width: 100%;
  display: block;
  text-align: center;
  height: auto;
}
footer #sec-foot-bnr .foot-bnr-service li a {
  background: #FFF;
}
footer #sec-foot-bnr .foot-bnr-special li a {
  /* background: #FFF; */
}
footer #sec-foot-bnr .foot-bnr-special li a img {
  height: 78px;
  width: auto;
}
footer #sec-foot-bnr .foot-bnr-special li.loy2019 a img {
  height: auto;
}
footer #sec-foot-bnr ul li img {
  font-size: 1px;
  line-height: 1px;
  padding: 0;
  margin: 0 auto;
  width: auto;
  text-align: center;
}
footer #sec-foot-bnr .foot-bnr-service {
  float: left;
  margin: 0;
  padding: 0;
  width: 100%;
}
footer #sec-foot-bnr .foot-bnr-service li {
  float: left;
  display: block;
  padding-left: 3%;
  width: 31.333333%;
}
footer #sec-foot-bnr .foot-bnr-service li:first-child {
  padding-left: 0;
}
footer #sec-foot-bnr .foot-bnr-special {
  float: none;
  margin-top: 20px;
  margin-bottom: 20px;
  padding-top: 30px;
  display: block;
  width: 100%;
  overflow: hidden;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
footer #sec-foot-bnr .foot-bnr-special li {
  margin: 0% 10px;
  padding: 0;
  /* float: left; */
  display: block;
}
footer #sec-foot-bnr .foot-bnr-special li:first-child {
  /* margin: 0; */
}
footer #sec-foot-nav {
  /* background: url(../images/foot/foot-illust01.png)no-repeat 10px 160px, url(../images/foot/foot-illust02.png)no-repeat right 150px; */
  padding: 50px 0px 110px;
}
footer #sec-foot-nav h3 {
  font-size: 0.9em;
  border-bottom: 1px solid #a17f32;
  margin-bottom: 5px;
  padding-bottom: 5px;
}
footer #sec-foot-nav h4 {
  padding: 0;
  margin: 0;
  font-size: 1em;
}
footer #sec-foot-nav ul li {
  list-style: url(../images/base/arrow_s_blk01.png);
  list-style-position: outside;
  padding: 0;
  margin: 0;
  margin-left: 15px;
  font-size: 0.85em;
}
footer #sec-foot-nav h3 a,
footer #sec-foot-nav h4 a,
footer #sec-foot-nav ul li a {
  text-decoration: none;
  color: #333;
}
footer #sec-foot-nav h3 a:hover,
footer #sec-foot-nav h4 a:hover,
footer #sec-foot-nav ul li a:hover {
  text-decoration: underline;
  color: #a17f32;
}
footer .bottom-nav-tenant {
  display: block;
  float: right;
  margin: 40px 0 -50px;
}
footer .bottom-nav-tenant li {
  margin: 0 auto;
  list-style: none !important;
}
footer .bottom-nav-tenant li a {
  background: #FFF url(../images/base/arrow_s_blk01.png) no-repeat left 10px center;
  padding: 12px 10px 12px 20px;
  border-radius: 5px;
  border: 2px solid #a5853b;
  color: #a5853b !important;
  font-weight: bold;
}
footer .bottom-nav-tenant li a:hover {
  background: #a5853b url(../images/base/arrow_s_blk01.png) no-repeat left 10px center;
  color: #FFF !important;
}

@media screen and (max-width: 600px) {
  footer {
    padding: 0px 0;
  }
  footer #Copyright {
    float: none;
    font-size: 10px;
    line-height: 16px;
    text-align: center;
    background: #FFF url(../images/base/head-haseko-obi.png) bottom center no-repeat;
    color: #b9b9b9;
    text-transform: capitalize;
    padding: 20px 0;
    border-top: 2px solid #a78232;
    background-size: 100% 5px;
    letter-spacing: -1px;
  }
  footer #Copyright::after {
    content: "";
    width: 200px;
    display: block;
    background: url(../images/base/head-hsh-logo.png) no-repeat center center;
    height: 40px;
    background-size: 100% auto;
    margin: 5px auto 0;
  }
  footer #FooterNavArea {
    float: none;
    margin-left: 0%;
    clear: both;
    display: block;
    width: 100%;
    text-align: center;
  }
  footer #FooterNavArea .container {
    padding: 0;
  }
  footer #FooterNavArea ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  footer #FooterNavArea li {
    text-align: center;
    padding: 0;
    font-size: 10px;
    width: 50%;
    line-height: 12px;
  }
  footer #FooterNavArea li a {
    padding: 5px 0;
    line-height: 12px;
  }
  footer #FooterNavArea li a:after {
    display: none;
  }
  footer #Pagetop {
    float: none;
    overflow: hidden;
    display: block;
    clear: both;
  }
  footer #Pagetop a {
    text-align: center;
    width: 100%;
    padding: 10px 0;
  }
  footer #sec-foot-nav {
    /* background: url(../images/foot/foot-illust01.png)no-repeat 10px bottom, url(../images/foot/foot-illust02.png)no-repeat right bottom; */
    padding: 50px 0px 40px;
    background-size: 130px;
  }
  footer #sec-foot-bnr .foot-bnr-service li {
    width: 33.33%;
    padding-left: 0;
  }
  footer #sec-foot-bnr .foot-bnr-special {
    width: 100%;
    margin: 0px auto 10px;
    /* display: none; */
    flex-wrap: wrap;
    padding-top: 0;
  }
  footer #sec-foot-bnr .foot-bnr-special img {
    width: 100%;
    height: 35px !important;
  }
}
/* cta-button-area */
.cta-button-area {
  /* border: 3px solid #f2e1b9; */
  /* border-radius: 5px; */
  padding: 1em 2em 0;
  /* margin-bottom: 1em; */
  border-top: 1px solid #f2e1b9;
}
.cta-button-area p {
  font-size: 0.85em;
  text-align: center;
  margin: 0;
}

.owner-cta-area .cta-button-area h4 {
  text-align: center;
  margin: 0;
  padding: 0;
  font-weight: bold;
}
.owner-cta-area .cta-button-area h4 img {
  vertical-align: middle;
  margin-left: -40px;
}

.cta-button-area .button a {
  background: #a78232;
  background: linear-gradient(to bottom, #dba930 0%, #a78232 82%, #725b33 100%);
  color: #FFF;
  border: none;
  padding: 15px 20px;
  letter-spacing: 0;
  display: block !important;
  overflow: initial !important;
}
.cta-button-area .button a:hover {
  background: #9c6018;
}

@media (max-width: 600px) {
  .ggmap {
    height: 0;
  }
  .organizational a {
    width: 100%;
    display: block;
    overflow: hidden;
    float: left;
    padding: 0 1%;
    margin-top: 0px;
  }
  body#company .cyuusyaku-right {
    text-align: right;
    margin-bottom: 1em;
    margin-top: 0em;
  }
}
.sec-cta-logo {
  display: block;
  overflow: hidden;
  padding: 20px 20px 25px;
  border-top: 1px solid #111;
  border-bottom: 1px solid #111;
  margin: 3em 0 0;
  text-align: center;
}
.sec-cta-logo .button {
  width: 85%;
}
.sec-cta-logo .button a {
  background: linear-gradient(to bottom, #dba930 0%, #a78232 82%, #725b33 100%);
  color: #FFF;
  border: none;
  padding: 10px 20px;
  letter-spacing: 0;
  display: block;
}
.sec-cta-logo .button a:link:after, .sec-cta-logo .button a:visited:after {
  content: " " attr(href) " ";
  /* text-transform: uppercase; */
  font-size: 12px;
  margin-bottom: 0px;
  word-wrap: break-word;
  display: block;
  text-align: center;
}
.sec-cta-logo .button a:hover {
  background: #9c6018;
}
.sec-cta-logo .button a img {
  vertical-align: middle;
  margin-top: 9px;
  float: right;
}
.sec-cta-logo .cta-logo {
  margin: 18px auto 0;
  text-align: right;
}
.sec-cta-logo .cta-logo img {
  vertical-align: middle;
}

@media (max-width: 600px) {
  .sku-organization > .six.columns {
    width: 100%;
    margin: 0 auto 40px;
  }
  .sec-cta-logo .cta-logo {
    margin: 0 auto 0;
    text-align: center;
  }
  .sec-cta-logo .button {
    width: 100%;
  }
  .sku-organization > .six.columns h3 {
    width: auto;
  }
}
/*Module
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.AttentionRed {
  color: #F44336;
}

.txt-center {
  text-align: center;
}

@media (max-width: 600px) {
  body#topics p.txt-center {
    text-align: left;
    font-size: 0.8em;
  }
}
/* dl
-------------------------------------------------- */
@media only screen and (max-width: 570px) {
  .tbl-common02 dt,
  .tbl-common02 dd {
    padding: 8px 20px;
  }
  .tbl-common01 dt,
  .tbl-common01 dd {
    padding: 8px 20px;
  }
  .tbl-common02 dt,
  .tbl-common01 dt {
    float: none;
    background-color: #f1f1f1;
    padding: 5px 15px 0px;
  }
  #TopTopics .tbl-common01 dt span {
    /* display:none; */
  }
  #TopTopics .tbl-common01 dt span.area_name {
    display: inline !important;
    margin-left: 1em;
  }
  .tbl-common02 dd,
  .tbl-common01 dd {
    border-top: 1px solid #dedede;
    border-bottom: 1px solid #dedede;
    margin: 0;
    padding: 10px 15px 10px;
    font-size: 1em;
  }
}
@media only screen and (min-width: 571px) {
  .tbl-common01 {
    margin: 0;
    border-top: none;
  }
  .tbl-common01 dt,
  .tbl-common01 dd {
    padding: 10px 0px;
  }
  .tbl-common01 dt {
    clear: both;
    float: left;
    width: 105px;
    margin: 0;
    padding-left: 0;
    font-size: 1.1em;
    padding: 5px 0;
    color: #a5853b;
  }
  .tbl-common01 dd {
    padding-left: 110px;
    border-bottom: 1px solid #dedede;
    margin: 0;
    font-size: 1em;
  }
  .tbl-common01 dd span {
    position: relative;
  }
  #TopTopics .tbl-common01 dt {
    /* width: 150px; */
    font-size: 1em;
    color: #333;
    width: 100%;
  }
  #TopTopics .tbl-common01 dt span {
    float: left;
    padding: 0 10px 0px 0;
    display: block;
    /* font-size:1px; */
    /* line-height:1px; */
    /* font-size:1px; */
    /* line-height:1px; */
    margin: 0;
    display: block;
    overflow: hidden;
  }
  #TopTopics .tbl-common01 dt span a,
  #TopTopics .tbl-common01 dt span img {
    /* font-size:1px; */
    /* line-height:1px; */
    /* font-size:1px; */
    /* line-height:1px; */
    margin: 0;
    display: block;
    overflow: hidden;
  }
  #TopTopics .tbl-common01 dd {
    /* padding-left: 160px; */
    /* min-height: 38px; */
    width: 100%;
    display: block;
    clear: both;
    padding-left: 0;
    min-height: auto;
    padding: 0 0 5px;
    font-size: 0.85em;
    line-height: 1.6em;
  }
  #TopTopics .tbl-common01 dd a {
    /* font-size: 1em; */
    font-size: 1.1em;
  }
  /**/
  .tbl-common02 {
    margin: inherit;
    border-top: none;
  }
  .tbl-common02 dt,
  .tbl-common02 dd {
    padding: 10px 0px;
  }
  .tbl-common02 dt {
    clear: both;
    float: left;
    width: 205px;
    margin: 0;
    padding-left: 0;
    font-size: 1.1em;
    padding: 13px 0 0;
    color: #a5853b;
  }
  .tbl-common02 dd {
    padding-left: 210px;
    border-bottom: 1px solid #dedede;
    margin: 0;
    font-size: 1em;
  }
  .tbl-common02 dd span {
    position: relative;
  }
}
/*aside
–––––––––––––––––––––––––––––––––––––––––––––––––– */
aside.three.columns {
  background: #e0c6ad;
  display: block;
  overflow: hidden;
  float: left;
  margin-left: 0;
  padding: 0;
  border-radius: 5px;
  box-shadow: 1px 2px 13px rgba(17, 17, 17, 0.2);
}
aside .SideNav {
  list-style: none;
  padding: 15px;
  margin-bottom: 0;
}

/* satori banner */
#satori__popup_widget {
  width: auto !important;
  border: none !important;
  bottom: 20px;
  position: fixed;
  right: 20px;
  z-index: 9999;
  /* left: 20px; */
  box-shadow: 1px 3px 15px 4px rgba(0, 0, 0, 0.27);
  border-radius: 5px;
  padding: 13px;
}

#satori__popup_close.satori__popup_do_hide {
  background: #333 url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAMVJREFUeNq01oEJAyEMBVDpBB3FkTpCR+gGN4Kj3Ai3QjfoCGnay1ELlzuj/wciiJKHKGpKGiJyS8TQ+lfN+9aZZI1CxBYzpu/q5BeFiL008zYAR12smgBDTzEk2owh0DA2gnZjPegwVhXKVsBFYVgLCsccdDGIgx2gPMxBu7BL0Hxaen3qRfy3p2ws7x0kJFj29oyCehgFPcOgaCsGQaPYEFph0vObC6GjWAhFYU0oGjtEtXkwMPc9ra4t2nff0PljvQUYAD/gP88INfa3AAAAAElFTkSuQmCC") center center no-repeat;
  background-size: 15px 15px;
  border-radius: 50%;
  color: #fff;
  cursor: pointer;
  display: block;
  height: 40px;
  position: absolute;
  right: -27px;
  text-align: center;
  top: -30px;
  width: 40px;
  font-size: 30px;
  /* left: -10px; */
  z-index: 1000;
}
#satori__popup_close.satori__popup_do_hide:hover {
  background: #f95346 url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAMVJREFUeNq01oEJAyEMBVDpBB3FkTpCR+gGN4Kj3Ai3QjfoCGnay1ELlzuj/wciiJKHKGpKGiJyS8TQ+lfN+9aZZI1CxBYzpu/q5BeFiL008zYAR12smgBDTzEk2owh0DA2gnZjPegwVhXKVsBFYVgLCsccdDGIgx2gPMxBu7BL0Hxaen3qRfy3p2ws7x0kJFj29oyCehgFPcOgaCsGQaPYEFph0vObC6GjWAhFYU0oGjtEtXkwMPc9ra4t2nff0PljvQUYAD/gP88INfa3AAAAAElFTkSuQmCC") center center no-repeat !important;
  background-size: 15px 15px !important;
  color: #ffffff;
}

.satori__popup_body a {
  /* background: #333; */
  /* color: #fff; */
  /* display: inline-block; */
  /* font-size: 16px; */
  /* padding: 5px 20px; */
  /* background: #fff; */
  /* box-shadow: 1px 3px 15px 4px rgba(0, 0, 0, 0.27); */
  /* border-radius: 5px; */
  padding: 0;
  /* text-align: center; */
  /* padding: 10px; */
  /* overflow: hidden; */
  /* display: block; */
  /* border:3px solid #ffffff */
}
.satori__popup_body img:hover {
  /*        filter: brightness(105%); */
  /*       border:3px solid #f95346 */
}

.campaign__contents__link img {
  overflow: hidden;
  display: block;
}

.satori__popup_inner {
  background: none;
  box-shadow: none;
}

/* web font google aerly */
#lp {
  background: #FFF !important;
}
#lp footer #Copyright::after {
  background: url(../img/well-logo.svg) no-repeat center center !important;
  height: 36px;
  width: 290px;
  background-size: cover !important;
  margin-top: 10px;
}

.wf-mincho {
  font-family: "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.wf-gothic {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  color: #333;
}

.marker {
  background: linear-gradient(transparent 50%, #fff491 0%);
  display: inline;
  padding: 0 2px 1px;
}

#lp a {
  transition: all 0.3s ease;
}
#lp a img {
  transition: all 0.3s ease;
}
#lp .button a:hover {
  box-shadow: 1px 5px 10px rgba(17, 17, 17, 0.3);
}
#lp a img:hover {
  filter: brightness(120%);
}
#lp header #G_NavArea .HeadLogo {
  text-align: center;
  width: 100%;
  height: 80px;
}
#lp header #G_NavArea .HeadLogo img {
  width: 300px;
}
#lp header .haseko-obi {
  background: url(../img/head-haseko-obi2@2x.png) center center;
  color: #FFF;
  text-align: center;
  background-size: 100% auto;
  padding: 5px 0;
  height: 7px;
}
#lp header .haseko-obi h1 {
  font-size: 1.6em;
  line-height: 1.6em;
  margin: 0 auto;
  padding: 0;
  text-shadow: 1px 2px 3px rgba(17, 17, 17, 0.5019607843);
}
#lp .main {
  /* 	min-width: 1010px; */
  background: #ffffff;
  /* padding-top: 130px; */
}
#lp h2.tit {
  text-align: center;
  padding: 10px;
  margin: 120px auto 65px;
  font-size: 3.2rem;
  font-weight: bold;
}
@media (max-width: 600px) {
  #lp h2.tit {
    text-align: center;
    padding: 4px;
    margin: 30px auto 30px;
    font-size: 2.5rem;
    font-weight: bold;
  }
}
#lp h3.shead {
  font-size: 2rem;
  margin: 0 auto 24px;
  font-weight: 900;
  padding-right: 10px;
  height: 5.5rem;
}
@media (max-width: 600px) {
  #lp h3.shead {
    font-size: 1.6rem;
    margin: 0 auto 10px;
    height: 2.5em;
    align-items: center;
    vertical-align: middle;
    height: auto;
  }
  #lp h3.shead br {
    display: none;
  }
}

/*header*/
/*main*/
.main a {
  /* color: #4bc3ce; */
  text-decoration: none;
}
.main a:hover {
  text-decoration: underline;
}

.container {
  width: 1010px;
  margin: auto;
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box;
}

.main-c-container {
  margin: 0 auto 4em;
  width: 100%;
  margin: auto;
}

/* mainvisual */
.mainvisual {
  width: 100%;
  /* background: url(../img/kv-bg@2x.png) no-repeat top center; */
  /* background-size: cover; */
}
.mainvisual .main-container {
  width: 100%;
  margin: 0em auto;
  padding: 0;
  text-align: center;
  /* display: flex; */
  max-width: 1200px;
  text-align: center;
}
.mainvisual .main-container h1 {
  margin: 0.5em auto 1em;
  text-align: center;
}
.mainvisual .main-container h1 img,
.mainvisual .main-container h1 source {
  max-width: 100%;
}
.mainvisual .main-container h2 {
  text-align: center;
  margin: 1rem auto;
}
.mainvisual .main-container h2 img {
  display: block;
  margin: auto;
}
@media (max-width: 600px) {
  .mainvisual .main-container h2 img {
    max-width: 80%;
  }
}

.kv-nav {
  background: #152E4F no-repeat padding-box;
}
.kv-nav ul {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  font-size: 1.15em;
  justify-content: center;
  justify-content: space-evenly;
  margin: 0 auto !important;
  padding: 0;
}
.kv-nav ul li {
  margin-bottom: 0;
}
.kv-nav ul li a {
  text-shadow: 0px 3px 6px rgba(0, 0, 0, 0.1607843137);
  color: #FFF;
  padding: 22px 15px;
  display: block;
  font-size: 1.1em;
}

.cta-btn {
  position: fixed;
  right: 10px;
  top: 15px;
  z-index: 1000;
}
.cta-btn a {
  display: block;
  width: 130px;
}
.cta-btn img {
  display: block;
  height: auto;
  width: auto;
  max-width: 100%;
}
/* service  */
.service .row {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  /* width: calc(100% + 30px); */
  margin-right: -10px;
}
@media (max-width: 600px) {
  .service .row {
    margin-right: auto;
  }
}
.service .row .columns.four {
  /* width: 33.33333%; */
  margin: 0 10px 20px 0;
  width: calc(33.33333% - 10px);
}
.service-photo-box {
  padding: 0;
  height: 100%;
  overflow: hidden;
}
.service-photo-box .small {
  font-size: 13px;
}
.service-photo-box .img-box {
  /* height: 200px; */
  /* overflow: hidden; */
  margin-bottom: 20px;
}
.service-photo-box .img-box img {
  width: 100%;
  height: auto;
}
.service-photo-box p {
  border-left: 3px solid #C6BD94;
  padding: 0 15px;
  display: block;
  height: 100%;
  margin-bottom: 0;
}
.service--cap {
  text-align: center;
}
.service--cap p {
  text-align: center;
  font-size: 1.05rem;
  margin: 1rem auto;
}

.facade {
  margin: 10rem 0;
}
.facade .row {
  display: flex;
  align-self: flex-start;
  justify-content: space-between;
  margin-bottom: 8rem;
}
.facade .row:last-child {
  margin-bottom: 3rem;
}
@media (max-width: 600px) {
  .facade .row {
    display: block;
  }
}
.facade .row .column {
  max-width: calc(50% - 10px);
}
@media (max-width: 600px) {
  .facade .row .column {
    max-width: -moz-max-content;
    max-width: max-content;
  }
}
.facade .row .column figure {
  margin: 0 0 2rem;
  max-width: 600px;
}
.facade .row .column figure img {
  display: block;
}
.facade .row .column dl {
  display: flex;
  flex-wrap: wrap;
  margin: 1rem 0;
  font-size: 1.3rem;
}
.facade .row .column dl dt {
  width: 7em;
  margin: 0 0 5px 0;
  padding: 0;
}
.facade .row .column dl dd {
  width: calc(100% - 7em);
  margin: 0 0 5px 0;
  padding: 0;
}
.facade .row .column ul li {
  list-style: disc outside;
  padding-left: 1rem;
  margin-left: 1.5rem;
  margin-bottom: 0.5rem;
  font-size: 1.3rem;
  line-height: 1.2;
}
.facade .row .column .button {
  display: block;
}
.facade .row .column .button a {
  display: inline-block;
  position: relative;
  overflow: hidden;
  padding: 1em 2.5em;
  border: 1px solid #111;
  border-radius: 5em;
  background-color: #fff;
  vertical-align: middle;
  white-space: nowrap;
  text-align: center;
  text-decoration: none;
  font-weight: 400;
  line-height: 1;
  color: #333;
}
.facade .row .column .button a:hover {
  border-color: #0b6b95;
  transform: scale(1.025, 1.025);
  box-shadow: none;
}
@media (min-width: 600px) {
  .facade .row.reverse {
    flex-direction: row-reverse;
  }
  .facade .row.reverse .column:first-child {
    margin-left: 4%;
  }
  .facade .row.reverse .column:last-child {
    margin-left: 0%;
  }
}

/* kenngaku-online */
.kenngaku-online {
  background: #FFFFFF 0% 0% no-repeat padding-box;
  border: 1px solid #E54E93;
  border-radius: 5px;
  padding: 40px 40px 0;
  margin-bottom: 40px;
}
.kenngaku-online h3 {
  text-align: center;
}
.kenngaku-online .kengaku-chucyaku {
  background: #F2F2F2;
  border-top: 1px solid #E54E93;
  padding: 20px 30px 15px;
  margin: 0 -40px;
  border-radius: 0 0 5px 5px;
}
.kenngaku-online .kengaku-chucyaku h4 {
  font-size: 1em;
  font-weight: bold;
  margin-bottom: 0.5em;
}
.kenngaku-online .kengaku-chucyaku ul {
  margin: 0 auto;
  padding: 0;
}
.kenngaku-online .kengaku-chucyaku ul li {
  margin: 0 auto 0.5em 1em;
}

.kengaku-list h3 .button img {
  display: none;
}
.kengaku-list h3 .button a {
  padding: 10px 30px;
}
.kengaku-list h4 img {
  display: none;
}
.kengaku-list ul .result1 {
  display: flex;
  flex-wrap: wrap-reverse;
  justify-content: space-between;
  flex-flow: row-reverse;
}
.kengaku-list ul .result1 li {
  width: 46%;
  margin: 0;
}
.kengaku-list h4 span.house-brand {
  display: none;
}

/* hshtemp-pagetop */
.hshtemp-pagetop {
  position: absolute;
  right: 20px;
  margin-top: -25px;
}
@media (max-width: 600px) {
  .hshtemp-pagetop {
    right: 10px;
    text-align: center;
  }
}
.hshtemp-pagetop a {
  background: #a78232;
  height: 50px;
  width: 50px;
  display: block;
  position: relative;
  margin: auto;
}
.hshtemp-pagetop a:hover {
  background: #dba930;
}
.hshtemp-pagetop a img {
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  top: 0;
  bottom: 0;
}

/* syoutai */
.syoutai {
  padding: 50px 0;
  background: #EFEDE5;
  /* border-bottom: 1px solid #725b33; */
}
@media screen and (max-width: 600px) {
  .syoutai {
    padding: 0;
    background: none;
  }
}
.syoutai .row {
  margin-bottom: 30px;
}
.syoutai .form-content {
  box-shadow: 6px 10px 20px rgba(17, 17, 17, 0.2);
  background: #FFF;
  margin: 2em auto;
  width: 720px;
  padding: 5em 7em 2em;
  border-radius: 5px;
}
.syoutai .bottom_note p {
  font-size: 1rem;
  line-height: 1.6;
}
.syoutai h2 {
  color: #EE273B;
  text-align: center;
  font-size: 2em;
  font-weight: 900;
}
.syoutai .illust {
  position: absolute;
  right: 60px;
  top: -40px;
}
.syoutai h2.timer {
  width: 540px;
  margin: auto auto 1em;
  text-align: left;
}
.syoutai p.shotai-lead {
  text-align: center;
  font-weight: 900;
  font-size: 1.2em;
  font-weight: normal;
}
.syoutai p.chushaku {
  width: 620px;
  margin: auto auto 1em;
  font-size: 1.2em;
}
.syoutai p.chushaku.timer {
  width: 540px;
}
.syoutai .columns h3 {
  color: #EF5B03;
  font-weight: 900;
  text-align: center;
  font-size: 1.5em;
  letter-spacing: 2px;
}
.syoutai .columns h3 span.Small {
  font-size: 14px;
  letter-spacing: 0;
}
.syoutai .columns h3.sishakai {
  padding: 18px 0 0px;
  margin-bottom: 3px;
}
.syoutai .button a {
  background: #EE273B linear-gradient(#EE273B, #750e18);
  color: #FFF;
  border: none;
  border-radius: 5px;
  width: 100%;
  display: block;
  margin: 0;
  padding: 20px 0;
  font-size: 1.4em;
  text-shadow: 1px 2px 3px rgba(17, 17, 17, 0.3);
  letter-spacing: 0;
}
.syoutai .button a:hover {
  background: #EE273B;
}
.syoutai .right {
  text-align: right;
}

#satori__custom_form input[type=email] {
  height: 38px !important;
  padding: 6px 10px !important;
  /* The 6px vertically centers text on FF, ignored by Webkit */
  background-color: #fff !important;
  border: 1px solid #D1D1D1 !important;
  border-radius: 4px !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  width: auto !important;
  min-width: 7em !important;
  /* float: left; */
  margin: 0 auto 0 12em !important;
  overflow: overlay;
  display: block;
}

input[type=number], input[type=search], input[type=text], input[type=tel], input[type=url], input[type=password] {
  height: 38px !important;
  padding: 6px 10px !important;
  /* The 6px vertically centers text on FF, ignored by Webkit */
  background-color: #fff !important;
  border: 1px solid #D1D1D1 !important;
  border-radius: 4px !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  width: auto !important;
  min-width: 7em !important;
  /* float: left; */
  margin: 0 auto 0 12em !important;
  overflow: overlay;
  display: block;
}

#satori__custom_form #satori__customer_first_name_reading,
#satori__custom_form #satori__customer_last_name_reading,
#satori__custom_form #satori__customer_first_name,
#satori__custom_form #satori__customer_last_name {
  margin-left: 9em !important;
  width: 10em !important;
}
#satori__custom_form #satori__customer_email,
#satori__custom_form #satori__customer_address {
  width: 35em !important;
}
#satori__custom_form .satori__require {
  background: #f44336;
  color: #FFF;
  font-size: 12px;
  /* padding: .1em .3em; */
  margin: 0 0.5em;
  font-weight: normal;
}
#satori__custom_form .satori__input_group label {
  color: #152E4F;
  float: left;
  margin-top: 0.3em;
  min-width: 4em;
  /* text-align: right; */
  /* position: absolute; */
  /* clear: both; */
  /* overflow: hidden; */
}
#satori__custom_form input[type=checkbox], #satori__custom_form input[type=radio] {
  clear: both;
  display: block;
  float: left;
  flex: none;
  margin-top: 1em;
}
#satori__custom_form #satori__custom_field_9fa2cc4ad4b8b8125_0_0f97235ab2287754 {
  /* float: none; */
  /* position:static; */
  /* clear: none; */
  /* width: auto; */
  /* overflow: auto; */
  /* min-width: auto; */
  /* text-align: left; */
  /* float: left; */
  /* display: inline; */
}
#satori__custom_form .satori__input_group {
  padding: 20px 5px;
  border-bottom: 1px solid #E1E1E1;
}
#satori__custom_form .satori__not_require {
  background: #3162a6;
  color: #FFF;
  font-size: 0.8em;
  /* padding: .1em .3em; */
  margin: 0 0.5em;
  font-weight: normal;
}
#satori__custom_form br {
  clear: both;
  height: 1px;
  overflow: hidden;
  display: block;
  width: 100%;
}
#satori__custom_form .satori__notes {
  background: #ee1c44;
  color: #FFF;
  font-size: 0.8em;
  padding: 0.1em 0.3em;
  margin: 1em 0;
  font-weight: normal;
  /* position: absolute; */
  display: inline-block;
}

.satori__custom_form_272f379b3f2aa4de_css textarea {
  min-height: 7em !important;
  width: 35em !important;
  max-width: !important;
}

#satori__privacy_policy_agreement_wrapper {
  text-align: center;
  display: block;
  overflow: hidden;
  width: 100%;
}
#satori__privacy_policy_agreement_wrapper .satori__input_group {
  overflow: hidden;
  display: block;
  text-align: center;
  width: 330px;
  margin: auto;
  padding: 0;
  border-bottom: none;
}
.syoutai .privacyBox {
  display: block;
  width: 120px;
  overflow: hidden;
  height: 82px;
  float: right;
  text-align: right;
}

@media screen and (max-width: 1200px) {
  .mainvisual {
    width: 100%;
  }
}
/* Tablet
------------------------------------*/
@media screen and (max-width: 1010px) {
  .mainvisual div {
    width: auto !important;
  }
}
@media screen and (max-width: 900px) {
  .mainvisual {
    width: 100%;
  }
  .container {
    width: auto;
    padding: 0 10px;
    max-width: initial;
    min-width: auto;
  }
  .syoutai .form-content,
  .kaijou .map-content {
    width: auto;
    padding: 2em;
  }
}
/* SP
------------------------------------*/
@media screen and (max-width: 600px) {
  .kv-nav {
    display: none;
  }
  .cta-btn {
    top: 10px;
    right: 5px;
  }
  .cta-btn a {
    width: 70px;
  }
  .cta-btn img {
    display: block;
    height: auto;
    width: auto;
    max-width: 100%;
  }
  #lp .main {
    width: auto;
    padding-top: 0;
  }
  .mainvisual {
    /* background-position: left -290px top; */
    background-attachment: initial;
    background-size: cover;
  }
  .main-c-container {
    border: none;
    /* border-bottom: 10px solid #fff8b4; */
    width: 90%;
    margin: 0 auto;
    padding: 0 5%;
    font-size: 0.8em;
  }
  .mainvisual {
    width: 100%;
    margin-left: 0px;
    margin-top: 0px;
  }
  .main-container {
    width: auto;
    padding: 0 10px;
  }
  .main-c-container .container {
    width: 100%;
    min-width: auto;
    max-width: initial;
    padding: 0 !important;
  }
  .container {
    width: auto;
    padding: 0 10px;
    max-width: initial;
    min-width: auto;
  }
  #lp header #G_NavArea .HeadLogo {
    width: 100%;
    height: auto;
    padding: 0;
    text-align: center;
  }
  #lp header #G_NavArea .HeadLogo img {
    width: 190px;
  }
  #lp header .haseko-obi h1 {
    font-size: 0.7em;
    line-height: 1.4em;
  }
  /* main */
  .mainvisual .main-container {
    width: 100%;
    /* margin: 0 auto 2em; */
    /* display: block; */
    padding: 0;
  }
  .mainvisual .main-container h1 {
    margin: 0.5em auto 0;
  }
  /* .service */
  .service .row {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  .service .row .columns.four {
    width: auto;
    margin: 0 0px 10px 0;
  }
  .service-photo-box {
    padding: 0;
    height: 100%;
    overflow: hidden;
  }
  .service-photo-box .img-box {
    height: auto;
    margin-bottom: 5px;
  }
  .service-photo-box .small {
    font-size: 11px;
  }
  #satori__custom_form input[type=email] {
    width: 100% !important;
    display: block !important;
    clear: both;
    float: none;
    margin: auto !important;
    max-width: 100% !important;
  }
  input[type=number], input[type=search], input[type=text], input[type=tel], input[type=url], input[type=password] {
    width: 100% !important;
    display: block !important;
    clear: both;
    float: none;
    margin: auto !important;
    max-width: 100% !important;
  }
  #satori__custom_form #satori__customer_first_name_reading,
  #satori__custom_form #satori__customer_last_name_reading,
  #satori__custom_form #satori__customer_first_name,
  #satori__custom_form #satori__customer_last_name {
    margin-left: 0 !important;
  }
}
/*Utilities
------------------------------------*/
.pc {
  display: block;
}

.sp {
  display: none;
}

@media screen and (max-width: 600px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
}
.gmap {
  height: 0;
  overflow: hidden;
  padding-bottom: 56.25%;
  position: relative;
}
.gmap iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}

.attentionBox p {
  font-size: 0.9em;
}
.attentionBox .hswnote {
  font-size: 0.9em;
}
.attentionBox .hswnote .right {
  text-align: right;
}

.price_table {
  margin: 5rem auto;
}
.price_table h2 {
  margin: 3rem 0;
  max-width: 200px;
}
.price_table h2 img {
  display: block;
}
@media (min-width: 600px) {
  .price_table h2 {
    max-width: initial;
  }
}
@media (min-width: 600px) {
  .price_table .six.columns {
    width: 46%;
    margin-left: 8%;
  }
  .price_table .six.columns:first-child {
    margin-left: 0;
  }
}
.price_table--list ul li {
  border-bottom: 1px solid #CB9231;
  padding: 1rem 0;
  margin: 1rem 0;
  list-style: none;
}
.price_table--list ul li img {
  display: block;
}
.price_table--list dl {
  border-bottom: 1px solid #CB9231;
  padding: 0rem 0 2rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 600px) {
  .price_table--list dl {
    display: block;
  }
}
@media screen and (max-width: 600px) {
  .price_table--list dl:nth-child(1) dd img, .price_table--list dl:nth-child(2) dd img, .price_table--list dl:nth-child(4) dd img {
    max-width: 90%;
  }
}
.price_table--list dl dt,
.price_table--list dl dd {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
@media screen and (max-width: 600px) {
  .price_table--list dl dt,
  .price_table--list dl dd {
    justify-content: flex-start;
    padding: 0;
    margin: 0;
  }
  .price_table--list dl dt img,
  .price_table--list dl dd img {
    max-height: 50px;
  }
}
.price_table--list dl dd {
  justify-content: flex-end;
}
@media screen and (max-width: 600px) {
  .price_table--list dl dd {
    justify-content: center;
    margin: 1rem 0;
  }
  .price_table--list dl dd img {
    max-height: initial;
    max-width: 100%;
  }
}
.price_table--cap {
  text-align: right;
  font-size: 1.2rem;
}
@media screen and (max-width: 600px) {
  .price_table--cap {
    text-align: left;
  }
}