@charset "UTF-8";
/*
primary: 第1
secondary: 第2
tertiary: 第3
quaternary: 第4
quinary: 第5
senary: 第6
septenary: 第7
octonary: 第8
nonary: 第9
denary: 第10
*/
/* =======================================================================
　normalize
======================================================================= */
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/**
 * Remove default margin.
 */
body {
  margin: 0; }

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block; }

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none; }

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0; }

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted; }

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold; }

/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic; }

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000; }

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%; }

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0; }

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden; }

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px; }

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  height: 0; }

/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto; }

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */ }

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible; }

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none; }

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ }

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default; }

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal; }

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type="checkbox"],
input[type="radio"] {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  /* 2 */
  box-sizing: content-box; }

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto; }

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold; }

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0; }

/* =======================================================================
リセット
======================================================================= */
img {
  vertical-align: top;
  font-size: 0;
  line-height: 0;
  max-width: 100%;
  height: auto; }

ul, ol, li, dl, dt, dd, h1, h2, h3, h4, h5, h6, p, figure {
  margin: 0;
  padding: 0; }

h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
  font-size: 100%; }

ol, ul {
  list-style: none; }

i {
  font-style: normal; }

label {
  cursor: pointer; }

th, td {
  vertical-align: middle; }

th {
  font-weight: normal;
  text-align: left; }

a {
  color: #000000;
  text-decoration: none;
  outline: none; }
  a:hover {
    text-decoration: underline; }

em {
  font-weight: bold;
  font-style: normal; }

figcaption {
  line-height: normal; }

button,
input[type="reset"],
input[type="submit"] {
  display: inline-block;
  -moz-appearance: none;
  appearance: none;
  -webkit-appearance: none;
  border: 0;
  background: none;
  outline: none;
  vertical-align: top;
  margin: 0;
  padding: 0; }

hr {
  margin: 0; }

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  *:before, *:after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }

/* =======================================================================
module
======================================================================= */
/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
font
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.m-ff-primary {
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500; }

.m-ff-secondary {
  font-family: 'PT Mono', monospace;
  font-weight: 700; }

.m-ff-tertiary {
  font-family: 'Lato', sans-serif; }

.m-fw-n {
  font-weight: 500; }

.m-fw-b {
  font-weight: 700; }

.m-fs-10 {
  font-size: 1.0rem;
  line-height: 1.75; }

.m-fs-11 {
  font-size: 1.1rem;
  line-height: 1.75; }

.m-fs-12 {
  font-size: 1.2rem;
  line-height: 1.75; }

.m-fs-13 {
  font-size: 1.3rem;
  line-height: 1.75; }

.m-fs-14 {
  font-size: 1.4rem;
  line-height: 1.75; }

.m-fs-15 {
  font-size: 1.5rem;
  line-height: 1.75; }

.m-fs-16 {
  font-size: 1.6rem;
  line-height: 1.75; }

.m-fs-17 {
  font-size: 1.7rem;
  line-height: 1.75; }

.m-fs-18 {
  font-size: 1.8rem;
  line-height: 1.75; }

.m-fs-19 {
  font-size: 1.9rem;
  line-height: 1.75; }

.m-fs-20 {
  font-size: 2.0rem;
  line-height: 1.75; }

.m-fs-21 {
  font-size: 2.1rem;
  line-height: 1.5; }

.m-fs-22 {
  font-size: 2.2rem;
  line-height: 1.5; }

.m-fs-23 {
  font-size: 2.3rem;
  line-height: 1.5; }

.m-fs-24 {
  font-size: 2.4rem;
  line-height: 1.5; }

.m-fs-25 {
  font-size: 2.5rem;
  line-height: 1.4; }

.m-fs-26 {
  font-size: 2.6rem;
  line-height: 1.4; }

.m-fs-27 {
  font-size: 2.7rem;
  line-height: 1.4; }

.m-fs-28 {
  font-size: 2.8rem;
  line-height: 1.4; }

.m-fs-30 {
  font-size: 3.0rem;
  line-height: 1.4; }

.m-fs-31 {
  font-size: 3.1rem;
  line-height: 1.4; }

.m-fs-32 {
  font-size: 3.2rem;
  line-height: 1.2; }

.m-fs-34 {
  font-size: 3.4rem;
  line-height: 1.2; }

.m-fs-35 {
  font-size: 3.5rem;
  line-height: 1.2; }

.m-fs-36 {
  font-size: 3.6rem;
  line-height: 1.2; }

.m-fs-37 {
  font-size: 3.7rem;
  line-height: 1.2; }

.m-fs-38 {
  font-size: 3.8rem;
  line-height: 1.2; }

.m-fs-40 {
  font-size: 4.0rem;
  line-height: 1.2; }

.m-fs-42 {
  font-size: 4.2rem;
  line-height: 1.2; }

.m-fs-44 {
  font-size: 4.4rem;
  line-height: 1.2; }

.m-fs-46 {
  font-size: 4.6rem;
  line-height: 1.2; }

.m-fs-48 {
  font-size: 4.8rem;
  line-height: 1.2; }

.m-lh-l {
  line-height: 2; }

.m-lh-s {
  line-height: 1.5; }

.m-lh-xs{
  line-height: 1.2;}  

.m-ls {
  letter-spacing: 0.1em; }

.m-ls-l {
  letter-spacing: 0.2em; }

.m-indent {
  text-indent: 1em; }

.m-color-primary {
  color: #1f647a; }
  .m-color-primary a {
    color: #1f647a; }

.m-color-clear {
  color: #ffffff; }
  .m-color-clear a {
    color: #ffffff; }

.m-color-alert {
  color: #e35a19; }
  .m-color-alert a {
    color: #e35a19; }

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
link
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.m-uline {
  text-decoration: underline;
  color: #1f647a; }

.m-uline:hover {
  text-decoration: none; }

.m-hline:hover {
  text-decoration: underline; }

.m-op {
  display: block;
  -webkit-transition: opacity 0.3s;
  -o-transition: opacity 0.3s;
  transition: opacity 0.3s; }
  .m-op:hover {
    opacity: 0.7;
    text-decoration: none; }

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
display
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
@media screen and (min-width: 768px), print {
  .m-sp-only {
    display: none !important; } }

.m-cf {
  *zoom: 1; }
  .m-cf:after {
    content: "";
    display: table;
    clear: both; }

.m-d-n {
  display: none; }

.m-d-b {
  display: block; }

.m-d-ib {
  display: inline-block; }

.m-d-i {
  display: inline; }

.m-ov-h {
  overflow: hidden; }

.m-d-tbl {
  display: table;
  width: 100%; }
  .m-d-tbl__cell {
    display: table-cell; }

.m-nowrap {
  white-space: nowrap; }

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
float
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.m-fl-l {
  float: left; }

.m-fl-r {
  float: right; }

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
hr
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.m-hr {
  height: 1px;
  background-color: #878787;
  border: 0; }

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
img
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.m-img-fit {
  width: 100%; }

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
align
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.m-align-c {
  text-align: center; }

.m-align-l {
  text-align: left; }

.m-align-r {
  text-align: right; }

.m-valign-t {
  vertical-align: top; }

.m-valign-m {
  vertical-align: middle; }

.m-valign-b {
  vertical-align: bottom; }

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
layout
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.l-inner-xs,
.l-inner-s,
.l-inner {
  *zoom: 1;
  position: relative;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px; }
  .l-inner-xs:after,
  .l-inner-s:after,
  .l-inner:after {
    content: "";
    display: table;
    clear: both; }

.l-inner {
  max-width: 1184px; }

.l-inner-s {
  max-width: 988px; }

.l-inner-xs {
  max-width: 798px; }

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
margin
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.m-mt-2xs {
  margin-top: 5px; }

.m-mt-xs {
  margin-top: 10px; }

.m-mt-s {
  margin-top: 20px; }

.m-mt {
  margin-top: 30px; }

.m-mt-l {
  margin-top: 40px; }

.m-mt-xl {
  margin-top: 60px; }

.m-mt-2xl {
  margin-top: 80px; }

.m-mt-3xl {
  margin-top: 100px; }

.m-mb-2xs {
  margin-bottom: 5px; }

.m-mb-xs {
  margin-bottom: 10px; }

.m-mb-s {
  margin-bottom: 20px; }

.m-mb {
  margin-bottom: 30px; }

.m-mb-l {
  margin-bottom: 40px; }

.m-mb-xl {
  margin-bottom: 60px; }

.m-mb-2xl {
  margin-bottom: 80px; }

.m-mb-3xl {
  margin-bottom: 100px; }

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
padding
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.m-pt-2xs {
  padding-top: 5px; }

.m-pt-xs {
  padding-top: 10px; }

.m-pt-s {
  padding-top: 20px; }

.m-pt {
  padding-top: 30px; }

.m-pt-l {
  padding-top: 40px; }

.m-pt-xl {
  padding-top: 60px; }

.m-pt-2xl {
  padding-top: 80px; }

.m-pt-3xl {
  padding-top: 100px; }

.m-pb-2xs {
  padding-bottom: 5px; }

.m-pb-xs {
  padding-bottom: 10px; }

.m-pb-s {
  padding-bottom: 20px; }

.m-pb {
  padding-bottom: 30px; }

.m-pb-l {
  padding-bottom: 40px; }

.m-pb-xl {
  padding-bottom: 60px; }

.m-pb-2xl {
  padding-bottom: 80px; }

.m-pb-3xl {
  padding-bottom: 100px; }

.m-p-2xs {
  padding: 5px; }

.m-p-xs {
  padding: 10px; }

.m-p-s {
  padding: 20px; }

.m-p {
  padding: 30px; }

.m-p-l {
  padding: 40px; }

.m-p-xl {
  padding: 60px; }

.m-p-2xl {
  padding: 80px; }

.m-p-3xl {
  padding: 100px; }

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
list
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.m-list-dot > * {
  position: relative;
  padding-left: 1em; }
  .m-list-dot > *:before {
    content: "・";
    position: absolute;
    left: 0;
    top: 0; }

.m-list-cir > * {
  position: relative; }
  .m-list-cir > *:before {
    content: "●";
    position: absolute;
    left: 0;
    top: 0; }

.m-list-square > * {
  position: relative; }
  .m-list-square > *:before {
    content: "■";
    position: absolute;
    left: 0;
    top: 0; }

.m-list-decimal {
  list-style: decimal;
  margin-left: 1.5em; }

.m-list-ar > * {
  position: relative;
  padding-left: 20px; }
  .m-list-ar > *:before {
    content: "";
    width: 10px;
    height: 10px;
    border-top: solid 2px #1f647a;
    border-right: solid 2px #1f647a;
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%) rotate(45deg);
    -ms-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg); }

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
border
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.m-circle {
  border-radius: 50%; }

.m-bor-primary {
  border: solid 1px #878787; }

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
bg
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.m-bg-clear {
  background-color: #ffffff; }

.m-bg-primary {
  background-color: #edebe1; }

.m-bg-secondary {
  background-color: #f7f4f3; }

.m-bg-tertiary {
  background-color: #1f647a; }

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
btn
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
button.m-btn,
input.m-btn,
a.m-btn,
.m-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 58px;
  width: 372px;
  border-radius: 4px;
  font-weight: 700;
  font-size: 1.8rem;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
  text-align: center;
  background-color: #1f647a;
  -webkit-transition: opacity 0.3s;
  -o-transition: opacity 0.3s;
  transition: opacity 0.3s;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  color: #ffffff; }
  button.m-btn:hover,
  input.m-btn:hover,
  a.m-btn:hover,
  .m-btn:hover {
    opacity: 0.7;
    text-decoration: none; }
  button.m-btn--s,
  input.m-btn--s,
  a.m-btn--s,
  .m-btn--s {
    height: 43px;
    font-size: 1.5rem; }
  button.m-btn--ws,
  input.m-btn--ws,
  a.m-btn--ws,
  .m-btn--ws {
    width: 192px; }
  button.m-btn--wa,
  input.m-btn--wa,
  a.m-btn--wa,
  .m-btn--wa {
    width: 100%; }

.m-link {
  position: relative;
  display: block;
  text-align: center;
  font-weight: 700;
  padding: 16px;
  font-size: 1.5rem; }
  .m-link:before, .m-link:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    height: 1px;
    background-color: #000000;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s; }
  .m-bg-tertiary .m-link:before, .m-bg-tertiary .m-link:after {
    background-color: #ffffff; }
  .m-link:before {
    top: 0;
    width: calc(100% - 60px); }
  .m-link:after {
    bottom: 0;
    width: calc(100% - 120px); }
  .m-link:hover {
    text-decoration: none; }
    .m-link:hover:before {
      width: calc(100% - 120px); }
    .m-link:hover:after {
      width: calc(100% - 60px); }
  a:hover .m-link:before {
    width: calc(100% - 120px); }
  a:hover .m-link:after {
    width: calc(100% - 60px); }

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
icon
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.m-icon {
  display: inline-block;
  vertical-align: middle;
  margin-right: .5em;
  background-size: auto 100%; }

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
breadcrumb
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.m-breadcrumb-wrap {
  max-width: 1184px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
  overflow: hidden; }

.m-breadcrumb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 20px 0;
  font-size: 1.4rem;
  line-height: 1; }
  .m-breadcrumb__item {
    position: relative;
    padding-right: 2em;
    -ms-flex-negative: 0;
    flex-shrink: 0; }
    .m-breadcrumb__item:before {
      content: "＞";
      position: absolute;
      right: .5em;
      top: 50%;
      font-size: 1.4rem;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%); }
    .m-breadcrumb__item:last-child:before {
      display: none; }
    .m-breadcrumb__item a {
      color: #1f647a;
      text-decoration: underline; }
      .m-breadcrumb__item a:hover {
        text-decoration: none; }

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
form
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
input[type="text"].m-input-text,
input[type="text"].hasDatepicker,
textarea.m-textarea {
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  -moz-appearance: none;
  appearance: none;
  -webkit-appearance: none;
  border: solid 1px #878787;
  -webkit-box-shadow: none;
  box-shadow: none;
  padding: 10px 15px;
  border-radius: 4px;
  width: 100%;
  background-color: #ffffff;
  outline: none;
  font-size: 1.6rem; }
  input[type="text"].m-input-text:focus,
  input[type="text"].hasDatepicker:focus,
  textarea.m-textarea:focus {
    border-color: #1f647a;
    background-color: #bec8cd; }
  input[type="text"].m-input-text--s,
  input[type="text"].hasDatepicker--s,
  textarea.m-textarea--s {
    width: 30%; }

textarea.m-textarea {
  resize: none;
  line-height: 1.875; }

input[type="radio"].m-input-radio,
input[type="checkbox"].m-input-checkbox {
  position: relative;
  -moz-appearance: none;
  appearance: none;
  -webkit-appearance: none;
  margin-right: 10px;
  margin-top: -3px;
  border: solid 1px #878787;
  -webkit-box-shadow: none;
  box-shadow: none;
  background-color: #ffffff;
  outline: none;
  width: 30px;
  height: 30px;
  vertical-align: middle; }

input[type="radio"].m-input-radio:after {
  content: "";
  width: 12px;
  height: 12px;
  background-color: #000000;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-top: -6px;
  margin-left: -6px;
  border-radius: 100%;
  display: none; }

input[type="radio"].m-input-radio:checked:after {
  display: block; }

input[type="checkbox"].m-input-checkbox:after {
  content: "";
  width: 10px;
  height: 20px;
  position: absolute;
  left: 50%;
  top: 50%;
  border-bottom: solid 2px #1f647a;
  border-right: solid 2px #1f647a;
  margin-top: -12px;
  margin-left: -4px;
  display: none;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg); }

input[type="checkbox"].m-input-checkbox:checked:after {
  display: block; }

input[type="radio"].m-input-radio {
  border-radius: 100%; }

input[type="checkbox"].m-input-checkbox {
  border-radius: 4px; }

label {
  font-weight: 700; }

select.m-select {
  position: relative;
  width: 100%;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  min-height: 40px;
  padding: 12px 45px 12px 15px;
  border: solid 1px #878787;
  -webkit-box-shadow: none;
  box-shadow: none;
  border-radius: 4px;
  background-color: #ffffff;
  background-repeat: no-repeat;
  background-size: 40px auto;
  background-image: url("../images/common/icon_select.png");
  background-position: right 50%;
  cursor: pointer;
  font-size: 1.6rem;
  outline: none;
  line-height: 1.231;
  -o-text-overflow: '';
  text-overflow: ''; }

select.m-select::-ms-expand {
  display: none; }

.mw_wp_form .error {
  width: 100% !important;
  font-size: 1.4rem !important;
  color: #e35a19 !important;
  display: block !important;
  margin-top: 10px !important;
  font-weight: 700 !important; }

.mwform-checkbox-field-text {
  font-weight: inherit !important; }

.mwform-checkbox-field-text {
  font-weight: 700 !important; }

.mwform-checkbox-field.horizontal-item + .mwform-checkbox-field.horizontal-item {
  margin-left: 0px !important; }

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
cms
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
body.m-cms-editor-body {
  background-color: #ffffff;
  color: #000000;
  max-width: 760px !important;
  padding: 40px !important; }

body.m-cms-editor-body,
.m-cms-body {
  *zoom: 1;
  word-wrap: break-word;
  font-size: 1.6rem;
  line-height: 1.75;
  overflow: hidden; }
  body.m-cms-editor-body:after,
  .m-cms-body:after {
    content: "";
    display: table;
    clear: both; }
  body.m-cms-editor-body h1, body.m-cms-editor-body h2, body.m-cms-editor-body h3, body.m-cms-editor-body h4, body.m-cms-editor-body h5, body.m-cms-editor-body h6, body.m-cms-editor-body p, body.m-cms-editor-body ol, body.m-cms-editor-body ul, body.m-cms-editor-body dl, body.m-cms-editor-body pre, body.m-cms-editor-body hr, body.m-cms-editor-body blockquote,
  .m-cms-body h1,
  .m-cms-body h2,
  .m-cms-body h3,
  .m-cms-body h4,
  .m-cms-body h5,
  .m-cms-body h6,
  .m-cms-body p,
  .m-cms-body ol,
  .m-cms-body ul,
  .m-cms-body dl,
  .m-cms-body pre,
  .m-cms-body hr,
  .m-cms-body blockquote {
    *zoom: 1;
    clear: both; }
    body.m-cms-editor-body h1:after, body.m-cms-editor-body h2:after, body.m-cms-editor-body h3:after, body.m-cms-editor-body h4:after, body.m-cms-editor-body h5:after, body.m-cms-editor-body h6:after, body.m-cms-editor-body p:after, body.m-cms-editor-body ol:after, body.m-cms-editor-body ul:after, body.m-cms-editor-body dl:after, body.m-cms-editor-body pre:after, body.m-cms-editor-body hr:after, body.m-cms-editor-body blockquote:after,
    .m-cms-body h1:after,
    .m-cms-body h2:after,
    .m-cms-body h3:after,
    .m-cms-body h4:after,
    .m-cms-body h5:after,
    .m-cms-body h6:after,
    .m-cms-body p:after,
    .m-cms-body ol:after,
    .m-cms-body ul:after,
    .m-cms-body dl:after,
    .m-cms-body pre:after,
    .m-cms-body hr:after,
    .m-cms-body blockquote:after {
      content: "";
      display: table;
      clear: both; }
  body.m-cms-editor-body a,
  .m-cms-body a {
    text-decoration: underline;
    color: #1f647a; }
    body.m-cms-editor-body a:hover,
    .m-cms-body a:hover {
      text-decoration: none; }
  body.m-cms-editor-body h1, body.m-cms-editor-body h2, body.m-cms-editor-body h3, body.m-cms-editor-body h4, body.m-cms-editor-body h5, body.m-cms-editor-body h6,
  .m-cms-body h1,
  .m-cms-body h2,
  .m-cms-body h3,
  .m-cms-body h4,
  .m-cms-body h5,
  .m-cms-body h6 {
    margin-bottom: 15px;
    line-height: 1.4;
    font-weight: 700; }
  body.m-cms-editor-body h2,
  .m-cms-body h2 {
    font-size: 2.4rem; }
  body.m-cms-editor-body h3,
  .m-cms-body h3 {
    font-size: 2.2rem; }
  body.m-cms-editor-body h4,
  .m-cms-body h4 {
    font-size: 2.0rem; }
  body.m-cms-editor-body i,
  .m-cms-body i {
    font-style: italic; }
  body.m-cms-editor-body pre,
  .m-cms-body pre {
    overflow: auto;
    white-space: pre-wrap;
    word-wrap: break-word; }
  body.m-cms-editor-body blockquote,
  .m-cms-body blockquote {
    margin: 0 0 30px;
    padding: 10px 20px;
    background-color: #edebe1;
    font-size: 1.4rem; }
  body.m-cms-editor-body hr,
  .m-cms-body hr {
    height: 1px;
    background-color: #878787;
    border: 0;
    margin-bottom: 30px; }
  body.m-cms-editor-body p,
  .m-cms-body p {
    *zoom: 1;
    margin-bottom: 30px;
    line-height: 2; }
    body.m-cms-editor-body p:after,
    .m-cms-body p:after {
      content: "";
      display: table;
      clear: both; }
  body.m-cms-editor-body ul, body.m-cms-editor-body ol,
  .m-cms-body ul,
  .m-cms-body ol {
    margin-bottom: 30px; }
  body.m-cms-editor-body ol li,
  .m-cms-body ol li {
    list-style-type: decimal;
    margin-left: 1.5em; }
  body.m-cms-editor-body ul li,
  .m-cms-body ul li {
    list-style-type: disc;
    margin-left: 1.5em; }
  body.m-cms-editor-body img,
  .m-cms-body img {
    max-width: 100%;
    height: auto; }
    body.m-cms-editor-body img.alignleft,
    .m-cms-body img.alignleft {
      float: left;
      margin-right: 40px;
      margin-bottom: 20px; }
    body.m-cms-editor-body img.alignright,
    .m-cms-body img.alignright {
      float: right;
      margin-left: 40px;
      margin-bottom: 20px; }
    body.m-cms-editor-body img.aligncenter,
    .m-cms-body img.aligncenter {
      display: block;
      text-align: center;
      margin-left: auto;
      margin-right: auto; }
  body.m-cms-editor-body table,
  .m-cms-body table {
    width: 100%;
    background-color: #ffffff;
    table-layout: fixed; }
    body.m-cms-editor-body table th, body.m-cms-editor-body table td,
    .m-cms-body table th,
    .m-cms-body table td {
      padding: 10px 20px;
      font-size: 1.5rem;
      border: solid 1px #878787; }
    body.m-cms-editor-body table th,
    .m-cms-body table th {
      background-color: #1f647a;
      color: #ffffff;
      font-weight: 700; }
  body.m-cms-editor-body .wp-caption-text,
  .m-cms-body .wp-caption-text {
    font-size: 1.4rem;
    margin-top: .5em; }
  body.m-cms-editor-body .wp-caption.alignleft,
  .m-cms-body .wp-caption.alignleft {
    display: block;
    float: left;
    margin-bottom: 10px;
    width: calc(50% - 20px) !important;
    margin-right: 20px; }
    body.m-cms-editor-body .wp-caption.alignleft img,
    .m-cms-body .wp-caption.alignleft img {
      width: 100%;
      height: auto; }
  body.m-cms-editor-body .wp-caption.alignright,
  .m-cms-body .wp-caption.alignright {
    display: block;
    float: right;
    margin-bottom: 10px;
    width: calc(50% - 20px) !important;
    margin-left: 20px; }
    body.m-cms-editor-body .wp-caption.alignright img,
    .m-cms-body .wp-caption.alignright img {
      width: 100%;
      height: auto; }
  body.m-cms-editor-body .wp-caption.aligncenter, body.m-cms-editor-body .wp-caption.alignnone,
  .m-cms-body .wp-caption.aligncenter,
  .m-cms-body .wp-caption.alignnone {
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px; }

.wp-pagenavi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 60px;
  margin-bottom: -16px; }
  .wp-pagenavi > a, .wp-pagenavi > span {
    margin-left: 8px;
    margin-right: 8px;
    margin-bottom: 16px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
    font-size: 1.2rem;
    font-weight: 700;
    width: 48px;
    height: 32px;
    color: #1f647a;
    background-color: #ffffff;
    border-radius: 4px;
    border: solid 1px; }
  .wp-pagenavi > a {
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s; }
    .wp-pagenavi > a:hover {
      text-decoration: none; }
    .wp-pagenavi > a:hover {
      background-color: #1f647a;
      color: #ffffff; }
  .wp-pagenavi > span {
    border-color: #808080;
    color: #808080; }

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
slick
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.slick-slider {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0);
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  min-height: 1px;
  display: none;
  outline: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block; }

.slick-arrow.slick-disabled {
  display: none;
  opacity: 0; }

/* =======================================================================
base
======================================================================= */
/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
layout
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-smoothing: antialiased;
  font-size: 62.5%;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%; }

body {
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.231;
  color: #000000; }

#l-wrapper {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
  min-width: 1184px;
  padding-bottom: 100px;
  -webkit-transition: 1s;
  -o-transition: 1s;
  transition: 1s;
  opacity: 0; }
  #l-wrapper.is-active {
    opacity: 1; }
  .t-home #l-wrapper {
    padding-top: 80px; }

.l-container {
  position: relative;
  z-index: 1;
  margin-bottom: -1px; }

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
header
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.b-header {
  position: fixed;
  z-index: 5010;
  left: auto;
  right: auto;
  top: 0;
  width: 100%;
  min-width: 1184px; }
  .b-header-inner {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 0 40px;
    max-width: 1136px;
    margin-left: auto;
    margin-right: auto;
    height: 80px;
    background-color: #ffffff;
    border-radius: 0 0 16px 16px; }

.m-header-logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-transition: opacity 0.3s;
  -o-transition: opacity 0.3s;
  transition: opacity 0.3s; }
  .m-header-logo:hover {
    opacity: 0.7;
    text-decoration: none; }
  .m-header-logo-image {
    width: 244px;
    -ms-flex-negative: 0;
    flex-shrink: 0; }
  .m-header-logo-txt {
    white-space: nowrap;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 0px;
    flex: 1 1 0;
    margin-left: 1em;
    font-weight: 700;
    font-size: 1.3rem; }

.m-header-sub {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }

.m-header-hnav {
  margin-right: 32px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end; }
  .m-header-hnav__item {
    font-weight: 700;
    font-size: 1.6rem; }
    .m-header-hnav__item + .m-header-hnav__item {
      border-left: solid 1px #000000; }
    .m-header-hnav__item a {
      display: inline-block;
      padding-left: 24px;
      padding-right: 24px; }

.m-header-menu {
  position: relative;
  display: block;
  width: 40px;
  height: 40px; }
  .m-header-menu figure {
    width: 32px;
    height: 2px;
    background-color: #000000;
    position: absolute;
    right: 50%;
    margin-right: -16px;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s; }
    .m-header-menu figure:nth-of-type(1) {
      top: 50%;
      margin-top: -16px; }
    .m-header-menu figure:nth-of-type(2) {
      top: 50%;
      margin-top: -1px; }
    .m-header-menu figure:nth-of-type(3) {
      width: 20px;
      bottom: 50%;
      margin-bottom: -16px; }
  .m-header-menu.is-active figure:nth-of-type(1) {
    -webkit-transform: translateY(15px) rotate(-45deg);
    -ms-transform: translateY(15px) rotate(-45deg);
    transform: translateY(15px) rotate(-45deg); }
  .m-header-menu.is-active figure:nth-of-type(2) {
    height: 0;
    opacity: 0; }
  .m-header-menu.is-active figure:nth-of-type(3) {
    width: 32px;
    -webkit-transform: translateY(-15px) rotate(45deg);
    -ms-transform: translateY(-15px) rotate(45deg);
    transform: translateY(-15px) rotate(45deg); }

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
nav
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.m-header-nav {
  position: fixed;
  left: 0;
  top: 0;
  background-color: #ffffff;
  z-index: 5009;
  width: 100%;
  height: 100vh;
  padding-top: 80px;
  padding-bottom: 110px;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
  opacity: 0;
  pointer-events: none;
  overflow: auto; }
  .m-header-nav.is-active {
    pointer-events: auto;
    opacity: 1; }
  .m-header-nav-inner {
    max-width: 1136px;
    margin-left: auto;
    margin-right: auto;
    padding: 60px 0; }
  .m-header-nav-service {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-right: -32px; }
    .m-header-nav-service__item {
      width: calc(25% - 32px);
      margin-right: 32px;
      margin-bottom: 32px; }
    .m-header-nav-service a {
      position: relative;
      display: block;
      -webkit-transition: opacity 0.3s;
      -o-transition: opacity 0.3s;
      transition: opacity 0.3s; }
      .m-header-nav-service a:hover {
        opacity: 0.7;
        text-decoration: none; }
    .m-header-nav-service-image img {
      border-radius: 0 40px 0 0; }
    .m-header-nav-service-title {
      position: absolute;
      left: 50%;
      top: 50%;
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      color: #ffffff;
      font-weight: 700;
      font-size: 1.9rem;
      white-space: nowrap;
      text-align: center; }
  .m-header-nav-col {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    .m-header-nav-col__item {
      -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
      flex: 1 1 0; }
      .m-header-nav-col__item + .m-header-nav-col__item {
        margin-left: 20px;
        padding-left: 20px;
        border-left: dotted 2px #000000; }
  .m-header-nav-list__item {
    position: relative;
    border-bottom: solid 1px #000000; }
    .m-header-nav-list__item > a {
      position: relative;
      display: block;
      padding: 32px 40px 32px 20px;
      font-weight: 700;
      font-size: 1.8rem; }
      .m-header-nav-list__item > a:before {
        content: "";
        width: 10px;
        height: 10px;
        border-top: solid 2px #000000;
        border-right: solid 2px #000000;
        position: absolute;
        right: 10px;
        top: 50%;
        -webkit-transform: translateY(-50%) rotate(45deg);
        -ms-transform: translateY(-50%) rotate(45deg);
        transform: translateY(-50%) rotate(45deg); }
    .m-header-nav-list__item > span {
      display: block;
      padding: 32px 40px 32px 20px;
      font-weight: 700;
      font-size: 1.8rem; }
  .m-header-nav-list-child {
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%); }
    .m-header-nav-list-child__item + .m-header-nav-list-child__item {
      margin-top: 12px; }
    .m-header-nav-list-child__item a {
      position: relative;
      display: block;
      font-size: 1.6rem;
      padding: 0 40px 0 10px; }
      .m-header-nav-list-child__item a:after {
        content: "";
        width: 4px;
        height: 1px;
        position: absolute;
        left: 0;
        top: 50%;
        background-color: #000000; }
      .m-header-nav-list-child__item a:before {
        content: "";
        width: 10px;
        height: 10px;
        border-top: solid 2px #000000;
        border-right: solid 2px #000000;
        position: absolute;
        right: 10px;
        top: 50%;
        -webkit-transform: translateY(-50%) rotate(45deg);
        -ms-transform: translateY(-50%) rotate(45deg);
        transform: translateY(-50%) rotate(45deg); }
  .m-header-nav-sub {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 60px; }
    .m-header-nav-sub__item {
      font-size: 1.5rem;
      font-weight: 700; }
      .m-header-nav-sub__item + .m-header-nav-sub__item {
        margin-left: 20px;
        padding-left: 20px;
        border-left: solid 1px #000000; }

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
footer
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.b-footer {
  position: relative;
  background-color: #ffffff; }
  .b-footer-inner {
    position: relative;
    max-width: 1184px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 24px;
    padding-right: 24px; }

.m-footer-sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-top: 40px;
  padding-bottom: 40px;
  border-top: solid 1px #000000;
  border-bottom: solid 1px #000000; }
  .m-footer-sns__item {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 0px;
    flex: 1 1 0;
    text-align: center; }
    .m-footer-sns__item + .m-footer-sns__item {
      border-left: dotted 2px #000000; }
    .m-footer-sns__item a {
      display: block;
      margin-left: auto;
      margin-right: auto;
      width: 38px;
      -webkit-transition: opacity 0.3s;
      -o-transition: opacity 0.3s;
      transition: opacity 0.3s; }
      .m-footer-sns__item a:hover {
        opacity: 0.7;
        text-decoration: none; }

.m-footer-logo {
  width: 244px; }

.m-footer-company {
  margin-top: 48px; }
  .m-footer-company-logo {
    width: 172px;
    margin-bottom: 10px; }
  .m-footer-company-text {
    font-size: 1.5rem;
    line-height: 2; }
  .m-footer-company-address {
    font-size: 1.5rem;
    line-height: 2; }

.m-footer-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding-top: 48px;
  padding-bottom: 48px; }
  .m-footer-content__nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end; }
    .m-footer-content__nav__item + .m-footer-content__nav__item {
      margin-left: 64px; }

.m-footer-nav-list__item {
  font-size: 1.5rem;
  line-height: 1.75; }
  .m-footer-nav-list__item + .m-footer-nav-list__item {
    margin-top: .5em; }

.m-footer-nav-list-child {
  margin-bottom: 2em; }
  .m-footer-nav-list-child > * {
    position: relative;
    padding-left: .5em; }
    .m-footer-nav-list-child > *:before {
      content: "";
      width: 4px;
      height: 1px;
      position: absolute;
      left: 0;
      top: 50%;
      background-color: #000000; }

.m-footer-cr {
  display: block;
  padding: 32px;
  font-size: 1.5rem;
  text-align: center;
  background-color: #cdcccb; }

.m-pagetop {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 98px;
  -webkit-transform: translateY(50%);
  -ms-transform: translateY(50%);
  transform: translateY(50%);
  -webkit-transition: opacity 0.3s;
  -o-transition: opacity 0.3s;
  transition: opacity 0.3s; }
  .m-pagetop:hover {
    opacity: 0.7;
    text-decoration: none; }

/* =======================================================================
共通
======================================================================= */
/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
slider
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.icon-slider-prev,
.icon-slider-next {
  position: absolute;
  width: 40px;
  height: 40px;
  background-color: #000000;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  cursor: pointer;
  border-radius: 4px;
  -webkit-transition: opacity 0.3s;
  -o-transition: opacity 0.3s;
  transition: opacity 0.3s;
  z-index: 1; }
  .icon-slider-prev:hover,
  .icon-slider-next:hover {
    opacity: 0.7;
    text-decoration: none; }
  .icon-slider-prev:before,
  .icon-slider-next:before {
    content: "";
    width: 16px;
    height: 16px;
    border-top: solid 1px #ffffff;
    position: absolute;
    top: 50%; }

.icon-slider-prev {
  left: -30px; }
  .icon-slider-prev:before {
    left: 50%;
    border-left: solid 1px #ffffff;
    -webkit-transform: translate(-30%, -50%) rotate(-45deg);
    -ms-transform: translate(-30%, -50%) rotate(-45deg);
    transform: translate(-30%, -50%) rotate(-45deg); }

.icon-slider-next {
  right: -30px; }
  .icon-slider-next:before {
    right: 50%;
    border-right: solid 1px #ffffff;
    -webkit-transform: translate(30%, -50%) rotate(45deg);
    -ms-transform: translate(30%, -50%) rotate(45deg);
    transform: translate(30%, -50%) rotate(45deg); }

.icon-slider-prev2,
.icon-slider-next2 {
  position: absolute;
  width: 60px;
  height: 60px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  cursor: pointer;
  border-radius: 4px;
  -webkit-transition: opacity 0.3s;
  -o-transition: opacity 0.3s;
  transition: opacity 0.3s;
  z-index: 1; }
  .icon-slider-prev2:hover,
  .icon-slider-next2:hover {
    opacity: 0.7;
    text-decoration: none; }
  .icon-slider-prev2:before,
  .icon-slider-next2:before {
    content: "";
    width: 24px;
    height: 24px;
    border-top: solid 3px #000000;
    position: absolute;
    top: 50%; }

.icon-slider-prev2 {
  left: -60px; }
  .icon-slider-prev2:before {
    left: 50%;
    border-left: solid 3px #000000;
    -webkit-transform: translate(-30%, -50%) rotate(-45deg);
    -ms-transform: translate(-30%, -50%) rotate(-45deg);
    transform: translate(-30%, -50%) rotate(-45deg); }

.icon-slider-next2 {
  right: -60px; }
  .icon-slider-next2:before {
    right: 50%;
    border-right: solid 3px #000000;
    -webkit-transform: translate(30%, -50%) rotate(45deg);
    -ms-transform: translate(30%, -50%) rotate(45deg);
    transform: translate(30%, -50%) rotate(45deg); }

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
title
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.m-common-page-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 320px;
  padding: 104px 24px 24px;
  background-size: cover;
  background-position: 50%; }
  .m-common-page-title.about {
    background-image: url("../images/about/img_title.jpg"); }
  .m-common-page-title.house {
    background-image: url("../images/house/img_title.jpg"); }
  .m-common-page-title.renovation {
    background-image: url("../images/renovation/img_title.jpg"); }
  .m-common-page-title.land {
    background-image: url("../images/land/img_title.jpg"); }
  .m-common-page-title.other {
    background-image: url("../images/other/img_title.jpg"); }
  .m-common-page-title.store {
    background-image: url("../images/store/img_title.jpg"); }
  .m-common-page-title.case {
    background-image: url("../images/case/img_title.jpg"); }
  .m-common-page-title.housebuilder {
    background-image: url("../images/case/housebuilder/img_title.jpg"); }
  .m-common-page-title.question {
    background-image: url("../images/question/img_title.jpg"); }
  .m-common-page-title.voice {
    background-image: url("../images/voice/img_title.jpg"); }
  .m-common-page-title.reservation {
    background-image: url("../images/reservation/img_title.jpg"); }
  .m-common-page-title.column {
    background-image: url("../images/column/img_title.jpg"); }
  .m-common-page-title.information {
    background-image: url("../images/information/img_title.jpg"); }
  .m-common-page-title.sitemap {
    background-image: url("../images/sitemap/img_title.jpg"); }

.m-common-title {
  font-weight: 700;
  font-size: 2rem;
  text-align: center;
  color: #ffffff; }
  .m-common-title span {
    position: relative;
    display: inline-block;
    padding-left: 80px;
    padding-top: 40px;
    padding-bottom: 10px; }
    .m-common-title span:before {
      content: "";
      position: absolute;
      left: 0;
      bottom: 0;
      background-size: 100% auto;
      background-repeat: no-repeat;
      width: 182px;
      height: 82px;
      background-image: url("../images/common/icon_title-wh.svg"); }
  .m-common-title--secondary {
    color: #000000; }
    .m-common-title--secondary span:before {
      background-image: url("../images/common/icon_title.svg"); }

.m-line-title {
  padding: 24px;
  border-top: solid 1px #000000;
  border-bottom: solid 1px #000000;
  text-align: center; }

.m-line-btm-title {
  padding-bottom: 24px;
  border-bottom: solid 1px #000000; }

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
service
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.m-common-service {
  position: relative; }
  .m-common-service:before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 240px;
    height: 220px;
    margin-left: -560px;
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: 10% 100%;
    background-image: url("../images/common/bg/flower_01.svg"); }
  .m-common-service-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
  .m-common-service__title {
    position: relative;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 0px;
    flex: 1 1 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; }
    .m-common-service__title:before {
      content: "";
      position: absolute;
      right: 60px;
      top: 30px;
      width: 96px;
      height: 124px;
      background-size: 100% auto;
      background-repeat: no-repeat;
      background-position: 10% 100%;
      background-image: url("../images/common/bg/bird_01.svg");
      -webkit-transform: scale(-1, 1);
      -ms-transform: scale(-1, 1);
      transform: scale(-1, 1); }
  .m-common-service__content {
    width: 550px;
    -ms-flex-negative: 0;
    flex-shrink: 0; }
  .m-common-service-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -30px;
    margin-bottom: -30px; }
    .m-common-service-list__item {
      width: calc(50% - 30px);
      margin-right: 30px;
      margin-bottom: 30px; }
      .m-common-service-list__item a {
        position: relative;
        display: block;
        -webkit-transition: opacity 0.3s;
        -o-transition: opacity 0.3s;
        transition: opacity 0.3s; }
        .m-common-service-list__item a:hover {
          opacity: 0.7;
          text-decoration: none; }
  .m-common-service-image {
    border-radius: 0 40px 0 0;
    overflow: hidden; }
  .m-common-service-title {
    position: absolute;
    left: 50%;
    top: 50%;
    text-align: center;
    color: #ffffff;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    white-space: nowrap; }

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
link
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.m-relation-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  padding-right: 40px;
  -webkit-transition: opacity 0.3s;
  -o-transition: opacity 0.3s;
  transition: opacity 0.3s; }
  .m-relation-links:hover {
    opacity: 0.7;
    text-decoration: none; }
  .m-relation-links:before {
    content: "";
    width: 24px;
    height: 24px;
    border-top: solid 2px #000000;
    border-right: solid 2px #000000;
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%) rotate(45deg);
    -ms-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg); }
  .m-relation-links-image {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    border-radius: 4px;
    width: 458px;
    height: 244px;
    background-position: 50%;
    background-size: cover;
    margin-right: 40px; }
  .m-relation-links-title {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 0px;
    flex: 1 1 0;
    text-align: center; }

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
contact
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.m-common-contact {
  position: fixed;
  left: 0;
  bottom: 0;
  background-color: #ffffff;
  width: 100%;
  -webkit-box-shadow: 0 -5px 10px 0 rgba(0, 0, 0, 0.1);
  box-shadow: 0 -5px 10px 0 rgba(0, 0, 0, 0.1);
  min-width: 1184px;
  z-index: 5010; }
  .m-common-contact-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    flex-wrap: wrap;
    max-width: 1184px;
    padding-left: 24px;
    padding-right: 24px;
    margin-left: auto;
    margin-right: auto;
    height: 100px; }
  .m-common-contact-item {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 0px;
    flex: 1 1 0; }
    .m-common-contact-item-head{
      display: flex;
      align-items: center;
    }
    .m-common-contact-item + .m-common-contact-item {
      margin-left: 40px;
      padding-left: 40px;
      border-left: dotted 2px #1f647a; }
  .m-common-contact-sp-title {
    display: none; }
  .m-common-contact-title {
    font-weight: 700;
    font-size: 1.6rem;
    color: #1f647a; }
  .m-common-contact-info{
    flex: 1;
    font-weight: 700;
    padding-left: 10px;
  }
  .m-common-contact-info .note{
    font-size: 1.2rem;
    color: #1f647a;
  }
  .m-common-contact-info .time{
      font-size: 1.3rem;
      color: #808080;
      text-align: right;
  }
  .m-common-contact-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    margin-top: 8px; }
  .m-common-contact-tel {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    font-weight: 700;
    margin-bottom: 10px;
    width: calc(41% - 2px);
    margin-right: auto; }
    .m-common-contact-tel .num {
      font-size: 1.5rem;
      font-family: 'Lato', sans-serif; }
  .m-common-contact-reservation {
    width: 59%;}
    .m-common-contact-reservation .icon {
      margin-right: 16px;
      display: inline-block;
      width: 20px;
      height: 20px;
      background-size: 100%;
      background-image: url("../images/common/icon_reservation.svg"); }

/* =======================================================================
page
======================================================================= */
/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
mv
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.home-mv {
  position: relative;
  z-index: 1;
  height: calc(100vh - 190px); }
  .home-mv-image {
    width: calc(100% - 70px);
    height: calc(100% - 50px);
    background-size: cover;
    background-position: 50%;
    background-image: url("../images/index/img_mv.jpg"); }
  .home-mv-title {
    position: absolute;
    left: 70px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    color: #ffffff;
    font-weight: 700;
    font-size: 6rem;
    line-height: 1.4;
    text-shadow: rgba(0, 0, 0, 0.1) 1px 1px 16px, rgba(0, 0, 0, 0.1) -1px 1px 16px, rgba(0, 0, 0, 0.1) 1px -1px 16px, rgba(0, 0, 0, 0.1) -1px -1px 16px; }
  .home-mv-content {
    position: absolute;
    width: 640px;
    right: 0;
    bottom: 0;
    background-color: #edebe1;
    padding: 160px 72px 40px;
    border-radius: 32px 0 0 0; }
    .home-mv-content:before {
      content: "";
      position: absolute;
      right: 24px;
      top: 0;
      -webkit-transform: translateY(-70%);
      -ms-transform: translateY(-70%);
      transform: translateY(-70%);
      width: 310px;
      height: 270px;
      background-size: 100% auto;
      background-repeat: no-repeat;
      background-image: url("../images/common/bg/flower_01.svg"); }
  .home-mv-en {
    position: absolute;
    left: -10px;
    top: 10px;
    width: 260px; }
  .home-mv-text {
    line-height: 1.75;
    font-weight: 700;
    font-size: 1.8rem; }
    .home-fix-bnr{
      position: fixed;
      top: 100px;
      right: 0;
      transform: translateX(640px);
      transition: .4s;
      z-index: 50;
    }
    .home-fix-bnr-inner{
      display: flex;
    }
    .home-fix-bnr:hover {
      transform: translateX(0);
    }
    .home-fix-bnr-h{
      cursor: pointer;
      width: 120px;
    }
    .home-fix-bnr-linik{
      width: 640px;
    }
    .home-fix-bnr-link a{
      transition: .3s;
    }
    .home-fix-bnr-link a:hover{
      opacity: 0.8;
    }

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
information
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.home-information {
  position: relative; }
  .home-information:before, .home-information:after {
    content: "";
    position: absolute;
    background-size: 100% auto;
    background-repeat: no-repeat; }
  .home-information:before {
    width: 182px;
    height: 366px;
    left: -10px;
    top: 0;
    background-image: url("../images/common/bg/flower_02.svg"); }
  .home-information:after {
    width: 156px;
    height: 314px;
    right: -40px;
    top: -50px;
    background-image: url("../images/common/bg/flower_03.svg"); }

.home-information-col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-right: -56px; }
  .home-information-col__item {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 0px;
    flex: 1 1 0;
    margin-right: 56px; }
    .home-information-col__item:hover {
      text-decoration: none; }
    .m-bg-tertiary .home-information-col__item {
      color: #ffffff; }

.home-information-image {
  position: relative;
  padding-bottom: calc(196 / 340 * 100%);
  background-size: cover;
  background-position: 50%;
  -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1); }
  .home-information-image .cat {
    position: absolute;
    left: 0;
    top: 0;
    color: #ffffff;
    font-size: 1.4rem;
    font-weight: 700;
    background-color: #000000;
    min-width: 98px;
    padding: 10px;
    text-align: center; }

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
about
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.home-about-col {
  position: relative;
  margin-top: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }
  .home-about-col:before {
    content: "";
    position: absolute;
    background-size: 100% auto;
    background-repeat: no-repeat;
    width: 240px;
    height: 210px;
    left: 30px;
    top: 0;
    -webkit-transform: translateY(-90%);
    -ms-transform: translateY(-90%);
    transform: translateY(-90%);
    background-image: url("../images/common/bg/flower_01.svg"); }
  .home-about-col__image {
    position: relative;
    z-index: 1;
    border-radius: 0 40px 0 0;
    overflow: hidden;
    margin-right: 48px; }
  .home-about-col__title {
    font-weight: 700;
    font-size: 3.3rem;
    line-height: 1.5; }

.home-about-question-wrap {
  overflow: hidden; }

.home-about-question {
  margin-top: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-left: -30px;
  margin-right: -30px; }
  .home-about-question__item {
    width: 33.3%;
    padding: 30px 30px 40px;
    border-left: dotted 2px #000000;
    border-top: dotted 2px #000000; }
  .home-about-question-title {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    min-height: 80px;
    padding-right: 80px; }
    .home-about-question-title:before {
      content: "";
      width: 64px;
      height: 80px;
      background-size: 100%;
      position: absolute;
      right: 0;
      bottom: 0;
      background-image: url("../images/index/img_question.svg"); }
    .home-about-question-title .icon {
      width: 32px;
      height: 38px;
      -ms-flex-negative: 0;
      flex-shrink: 0;
      margin-right: 30px;
      background-size: 100%;
      background-image: url("../images/index/icon_question.svg"); }
  .home-about-question-answer {
    position: relative;
    border: solid 1px #000000;
    border-radius: 4px;
    padding: 20px 10px 20px 110px;
    min-height: 150px; }
    .home-about-question-answer:before {
      content: "";
      width: 88px;
      height: 124px;
      background-size: 100%;
      position: absolute;
      left: 10px;
      bottom: 0;
      background-image: url("../images/index/img_answer.svg"); }
    .home-about-question-answer:after {
      content: "";
      width: 24px;
      height: 24px;
      border-bottom: solid 1px #000000;
      border-right: solid 1px #000000;
      position: absolute;
      left: 50%;
      bottom: 0;
      -webkit-transform: translate(-50%, 100%) rotate(45deg);
      -ms-transform: translate(-50%, 100%) rotate(45deg);
      transform: translate(-50%, 100%) rotate(45deg); }

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
flow
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.home-flow-bg {
  background-position: 50%;
  background-size: cover;
  background-image: url("../images/index/bg_flow.jpg"); }

.home-flow-title {
  text-align: center; }
  .home-flow-title span {
    position: relative;
    display: inline-block;
    padding-left: 50px;
    padding-right: 50px; }
    .home-flow-title span:before, .home-flow-title span:after {
      content: "";
      width: 3px;
      height: 100%;
      background-color: #1f647a;
      position: absolute;
      top: 0; }
    .home-flow-title span:before {
      left: 0;
      -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
      transform: rotate(-45deg); }
    .home-flow-title span:after {
      right: 0;
      -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      transform: rotate(45deg); }

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
image
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.home-image {
  text-align: center; }

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
case
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.home-case {
  background-image: -webkit-gradient(linear, left top, left bottom, from(#edebe1), color-stop(50%, #edebe1), color-stop(50%, rgba(255, 255, 255, 0)), to(rgba(255, 255, 255, 0)));
  background-image: -webkit-linear-gradient(top, #edebe1 0%, #edebe1 50%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0) 100%);
  background-image: -o-linear-gradient(top, #edebe1 0%, #edebe1 50%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0) 100%);
  background-image: linear-gradient(180deg, #edebe1 0%, #edebe1 50%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0) 100%); }

.home-case-list__item {
  margin-left: 30px;
  margin-right: 30px;
  padding-bottom: 10px; }
  .home-case-list__item a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1); }
    .home-case-list__item a:hover {
      text-decoration: none; }

.home-case-list-image {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0px;
  flex: 1 1 0;
  background-size: cover;
  background-position: 50%; }

.home-case-list-content {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0px;
  flex: 1 1 0;
  background-color: #ffffff;
  padding: 80px 60px;
  text-align: center; }

.home-case-list-housebuilder {
  margin-bottom: 20px; }

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
housebuilder
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.home-housebuilder {
  position: relative; }
  .home-housebuilder:before {
    content: "";
    position: absolute;
    right: 50%;
    bottom: 0;
    width: 240px;
    height: 220px;
    margin-right: -540px;
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: 10% 100%;
    background-image: url("../images/common/bg/flower_01.svg"); }
  .home-housebuilder:after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50px;
    margin-left: -560px;
    width: 96px;
    height: 124px;
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: 10% 100%;
    background-image: url("../images/common/bg/bird_01.svg"); }
  .home-housebuilder-content__item {
    margin-left: 30px;
    margin-right: 30px; }
  .home-housebuilder-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -30px;
    margin-bottom: -30px; }
    .home-housebuilder-list__item {
      width: calc(33.3% - 30px);
      margin-right: 30px;
      margin-bottom: 30px;
      border: solid 1px #000000; }
      .home-housebuilder-list__item a {
        -webkit-transition: opacity 0.3s;
        -o-transition: opacity 0.3s;
        transition: opacity 0.3s;
        padding: 20px;
        height: 270px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        background-color: #ffffff; }
        .home-housebuilder-list__item a:hover {
          opacity: 0.7;
          text-decoration: none; }
        .home-housebuilder-list__item a > * {
          overflow: hidden; }
          .home-housebuilder-list__item a > * img {
            width: auto;
            height: auto; }

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
store
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.home-store {
  position: relative; }
  .home-store:before, .home-store:after {
    content: "";
    position: absolute;
    background-size: 100% auto;
    background-repeat: no-repeat; }
  .home-store:before {
    width: 150px;
    height: 300px;
    left: -10px;
    bottom: 80px;
    background-image: url("../images/common/bg/flower_02.svg"); }
  .home-store:after {
    width: 156px;
    height: 314px;
    right: -10px;
    top: 80px;
    background-image: url("../images/common/bg/flower_03.svg"); }
  .home-store-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;}
    .home-store-list__item {
      width: calc(50% - 30px);
      margin-bottom: 60px;
      text-align: center; }
      .home-store-list__item:nth-child(even){
        margin-left: 60px;
      }
  .home-store-tel {
    font-size: 3.4rem; }
    .home-store-tel small {
      font-size: 2.5rem; }
  .home-store-time {
    margin-top: 10px;
    font-size: 1.5rem;
    color: #808080; }
  .home-store-note {
    font-size: 1.5rem;
    margin-top: 15px;
  }
  .home-store-btns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
    flex-wrap: wrap; }
    .home-store-btns__item {
      width: calc(50% - 10px); }
    .home-store-btns__item:nth-child(even) {
      margin-left: auto;
    }
    .home-store-btns .reservation,
    .home-store-btns .store {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-transition: opacity 0.3s;
      -o-transition: opacity 0.3s;
      transition: opacity 0.3s;
      height: 58px;
      font-size: 1.8rem;
      font-weight: 700;
      border-radius: 4px; }
      .home-store-btns .reservation:hover,
      .home-store-btns .store:hover {
        opacity: 0.7;
        text-decoration: none; }
      .home-store-btns .reservation .icon,
      .home-store-btns .store .icon {
        width: 30px;
        height: 30px;
        margin-right: 10px;
        background-size: 100%;
        background-repeat: no-repeat; }
    .home-store-btns .reservation {
      background-color: #1f647a;
      color: #ffffff; }
      .home-store-btns .reservation .icon {
        background-image: url("../images/common/icon_reservation.svg"); }
    .home-store-btns .store {
      border: solid 2px #000000; }
      .home-store-btns .store .icon {
        background-image: url("../images/common/icon_store.svg"); }

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
column
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.home-column {
  position: relative; }
  .home-column:before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 240px;
    height: 220px;
    margin-left: -560px;
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: 10% 100%;
    background-image: url("../images/common/bg/flower_01.svg"); }
  .home-column-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -60px;
    margin-bottom: -60px; }
    .home-column-list__item {
      width: calc(50% - 60px);
      margin-right: 60px;
      margin-bottom: 60px; }
      .home-column-list__item a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
  .home-column-image {
    background-position: 50%;
    background-size: cover;
    width: 260px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 20px; }
  .home-column-content {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 0px;
    flex: 1 1 0; }

/* =======================================================================
page
======================================================================= */
/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
about
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.about-col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-right: -90px; }
  .about-col__item {
    margin-right: 90px;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 0px;
    flex: 1 1 0; }
  .about-col-image {
    position: relative;
    -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1); }
    .about-col-image .icon {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      color: #ffffff;
      font-weight: 700;
      font-size: 2.1rem;
      line-height: 1.3;
      text-align: center;
      width: 160px;
      height: 160px;
      background-color: #1f647a;
      border-radius: 50%;
      position: absolute;
      left: 0;
      top: 0;
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%); }

.about-flow-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-right: -30px; }
  .about-flow-list__item {
    margin-right: 30px;
    overflow: hidden; }
    .about-flow-list__item img {
      border-radius: 50%; }

.about-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-right: -20px; }
  .about-list__item {
    width: calc(50% - 20px);
    margin-right: 20px; }

.about-check {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }
  .about-check__title {
    position: relative;
    width: 220px;
    background-color: #b4d4db;
    margin-right: 40px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    text-align: center;
    padding: 16px; }
    .about-check__title:before {
      content: "";
      border-left: solid 20px #b4d4db;
      border-top: solid 10px transparent;
      border-bottom: solid 10px transparent;
      position: absolute;
      right: 0;
      top: 50%;
      -webkit-transform: translate(100%, -50%);
      -ms-transform: translate(100%, -50%);
      transform: translate(100%, -50%); }
  .about-check__text {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 0px;
    flex: 1 1 0; }

.about-decision {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .about-decision__item {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 0px;
    flex: 1 1 0; }
    .about-decision__item + .about-decision__item {
      position: relative;
      margin-left: 100px; }
      .about-decision__item + .about-decision__item:before {
        content: "";
        width: 36px;
        height: 36px;
        border-top: solid 4px #1f647a;
        border-right: solid 4px #1f647a;
        position: absolute;
        left: -40px;
        top: 50%;
        -webkit-transform: translate(-100%, -50%) rotate(45deg);
        -ms-transform: translate(-100%, -50%) rotate(45deg);
        transform: translate(-100%, -50%) rotate(45deg); }

.about-bnr {
  position: relative;
  padding: 40px;
  background-color: #ffffff; }
  .about-bnr-title {
    padding-right: 140px; }
  .about-bnr .icon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #1f647a;
    font-weight: 700;
    font-size: 2.1rem;
    line-height: 1.3;
    text-align: center;
    width: 124px;
    height: 124px;
    background-color: #b4d4db;
    border-radius: 50%;
    position: absolute;
    right: 30px;
    top: -40px; }

.about-bg {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 24px;
  background-position: 50%;
  background-size: cover;
  height: 340px;
  background-image: url("../images/about/bg.jpg"); }

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
service
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.service-step__item {
  background-color: #edebe1; }
  .service-step__item:nth-of-type(even) {
    background-color: #f7f4f3; }
    .service-step__item:nth-of-type(even) .service-step-num {
      color: #ffffff;
      background-color: #1f647a; }
  .service-step__item:nth-last-of-type(1) .service-step-col__title:before {
    display: none; }
  .service-step__item + .service-step__item {
    margin-top: 12px; }

.service-step-num {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center;
  width: 124px;
  height: 124px;
  border-radius: 50%;
  border: solid 3px #1f647a;
  color: #1f647a;
  font-size: 4rem;
  background-color: #ffffff; }
  .service-step-num small {
    display: block;
    font-size: 2.5rem; }

.service-step-col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-top: 40px;
  padding-bottom: 40px; }
  .service-step-col__title {
    position: relative;
    width: 124px;
    margin-right: 50px;
    -ms-flex-negative: 0;
    flex-shrink: 0; }
    .service-step-col__title:before {
      content: "";
      width: 3px;
      height: calc(100% + 52px);
      background-color: #1f647a;
      position: absolute;
      left: 50%;
      top: 40px; }
  .service-step-col__content {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 0px;
    flex: 1 1 0;
    padding-top: 40px; }

.service-copy span {
  display: inline-block;
  padding-bottom: 10px;
  border-bottom: solid 4px #1f647a; }

.service-title {
  position: relative;
  padding: 40px 24px;
  text-align: center;
  background-color: #ffffff; }
  .service-title:before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    border-top: solid 32px #ffffff;
    border-left: solid 50px transparent;
    border-right: solid 50px transparent;
    -webkit-transform: translate(-50%, 100%);
    -ms-transform: translate(-50%, 100%);
    transform: translate(-50%, 100%);
    z-index: 1; }

.service-mv {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .service-mv-image {
    position: relative;
    margin-left: auto;
    margin-right: -70px;
    z-index: 1; }
  .service-mv-content {
    position: absolute;
    left: 0;
    width: 100%;
    bottom: 24px;
    height: 530px;
    background-color: #edebe1;
    border-radius: 80px 0 0 0; }
  .service-mv-title {
    position: absolute;
    left: 0;
    bottom: 24px;
    z-index: 2; }
    .service-mv-title-item {
      min-width: 640px;
      background-color: #ffffff;
      font-size: 4rem;
      font-weight: 700;
      padding: 40px 80px;
      line-height: 1.5;
      color: #394954; }
      .service-mv-title-item + .service-mv-title-item {
        margin-top: 20px; }
      .service-mv-title-item.small {
        padding: 20px 80px;
        font-size: 2.8rem; }
    .service-mv-title:before {
      content: "";
      position: absolute;
      left: 80px;
      top: 0;
      width: 352px;
      height: 310px;
      background-size: 100% auto;
      background-repeat: no-repeat;
      background-position: 10% 100%;
      background-image: url("../images/common/bg/flower_01.svg");
      -webkit-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
      transform: translateY(-100%); }

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
house
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.house-list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background-color: #ffffff;
  -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1); }
  .house-list-item + .house-list-item {
    margin-top: 30px; }
  .house-list-item-image {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: calc(558 / 1080 * 100%); }
  .house-list-item-content {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 0px;
    flex: 1 1 0;
    padding: 40px 30px; }

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
renovation
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.renovation-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }
  .renovation-list__item {
    text-align: center;
    width: 300px;
    height: 300px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    border-radius: 50%;
    background-color: #ffffff; }
    .renovation-list__item + .renovation-list__item {
      margin-left: 40px; }

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
land
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.land-col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -20px;
  margin-bottom: -20px; }
  .land-col__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: calc(33.3% - 20px);
    margin-right: 20px;
    margin-bottom: 20px;
    border-radius: 10px;
    background-color: #1f647a;
    padding: 40px;
    color: #ffffff; }

.land-list__item {
  padding: 20px;
  background-color: #ffffff; }
  .land-list__item + .land-list__item {
    margin-top: 12px; }

.land-bg {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 24px;
  background-position: 50%;
  background-size: cover;
  height: 340px;
  background-image: url("../images/land/bg.jpg"); }

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
other
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.other-list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background-color: #ffffff;
  -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1); }
  .other-list-item + .other-list-item {
    margin-top: 30px; }
  .other-list-item-image {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: calc(444 / 940 * 100%); }
  .other-list-item-content {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 0px;
    flex: 1 1 0;
    padding: 40px 30px; }

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
case
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* archives */
.case-archives {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -20px;
  margin-bottom: -40px; }
  .case-archives__item {
    width: calc(25% - 20px);
    margin-right: 20px;
    margin-bottom: 40px; }
  .case-archives-image {
    padding-bottom: calc(156 / 269 * 100%);
    background-size: cover;
    background-position: 50%;
    -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1); }

/* detail */
.case-detail-housebuilder {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 30px 30px 30px 0;
  background-color: #ffffff; }
  .case-detail-housebuilder__title {
    padding: 20px 0;
    width: 240px;
    text-align: center;
    border-right: solid 1px #000000; }
  .case-detail-housebuilder__logo {
    padding: 20px 0;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 0px;
    flex: 1 1 0;
    text-align: center; }
    .case-detail-housebuilder__logo img {
      display: block;
      margin-left: auto;
      margin-right: auto;
      width: auto;
      max-height: 32px; }

.case-relation {
  background-image: -webkit-gradient(linear, left top, left bottom, from(#f7f4f3), color-stop(50%, #f7f4f3), color-stop(50%, rgba(255, 255, 255, 0)), to(rgba(255, 255, 255, 0)));
  background-image: -webkit-linear-gradient(top, #f7f4f3 0%, #f7f4f3 50%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0) 100%);
  background-image: -o-linear-gradient(top, #f7f4f3 0%, #f7f4f3 50%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0) 100%);
  background-image: linear-gradient(180deg, #f7f4f3 0%, #f7f4f3 50%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0) 100%); }

.case-detail-figure {
  padding-bottom: calc(438 / 750 * 100%);
  background-size: cover;
  background-position: 50%; }

.case-detail-thumbs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -20px; }
  .case-detail-thumbs__item {
    width: calc(25% - 20px);
    margin-right: 20px;
    margin-top: 20px;
    -webkit-transition: opacity 0.3s;
    -o-transition: opacity 0.3s;
    transition: opacity 0.3s; }
    .case-detail-thumbs__item:hover {
      opacity: 0.7;
      text-decoration: none; }
    .case-detail-thumbs__item.is-active {
      opacity: .7; }

.housebuilder-detail-logo {
  text-align: center;
  background-color: #ffffff;
  padding: 48px 24px; }
  .housebuilder-detail-logo img {
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: auto;
    max-height: 48px; }

.housebuilder-archives-image {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background-color: #ffffff;
  border: solid 1px #000000;
  /* padding: 48px 24px; */
  text-align: center;
  overflow: hidden;
  height: 112px!important;
  padding: 40px; }
  .housebuilder-archives-image > * {
    /* max-height: 32px; */
    overflow: hidden; }
    .housebuilder-archives-image > * img {
      width: auto;
      height: 100%;
      max-height: 85px; }

.case-relation-list__item {
  margin-left: 10px;
  margin-right: 10px; }

.case-relation-list-image {
  padding-bottom: calc(156 / 269 * 100%);
  background-size: cover;
  background-position: 50%;
  -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1); }

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
voice
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.voice-archives__item + .voice-archives__item {
  margin-top: 12px; }

.voice-archives-col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .voice-archives-col__image {
    width: 50%;
    height: 312px;
    background-size: cover;
    background-position: 50%;
    background-repeat: no-repeat;
  }
  .voice-archives-col-slide {
    width: 50%;
    min-height: 312px;
  }
  .voice-archives-col-imgs {
    position: relative;
  }
  .voice-archives-col-imgs-item {
    width: 100%;
    height: 312px;
    background-size: contain;
    background-position: 50%;
    background-repeat: no-repeat;
  }
  .m-slide-arrow {
    width: 50px;
    height: 50px;
    position: absolute;
    top: 50%;
    margin-top: -25px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 1.2rem;
    cursor: pointer;
    z-index: 1;
    color: #fff;
    background: #1f647a; }
    .m-slide-arrow.is-prev {
      left: 0;
      -webkit-transform: scale(-1);
      -ms-transform: scale(-1);
      transform: scale(-1); }
    .m-slide-arrow.is-next {
      right: 0; }


  .voice-archives-col__content {
    width: 50%;
    padding-left: 40px; }

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
question
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.question-index {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1); }
  .question-index + .question-index {
    margin-top: 30px; }
  .question-index-title {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 366px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    color: #ffffff;
    background-color: #1f647a; }
  .question-index-content {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 0px;
    flex: 1 1 0; }

.question-index-list__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 15px 30px 15px 0;
  color: #1f647a; }
  .question-index-list__item:nth-of-type(even) {
    background-color: #f7f4f3; }
  .question-index-list__item a {
    text-decoration: underline;
    color: #1f647a; }
    .question-index-list__item a:hover {
      text-decoration: none; }
  .question-index-list__item .num {
    border-right: solid 2px #1f647a;
    width: 80px;
    margin-right: 30px;
    text-align: center;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    font-family: 'PT Mono', monospace;
    font-weight: 700; }

.question-list {
  margin-left: 40px;
  margin-right: 40px; }
  .question-list-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 30px 0;
    background-color: #ffffff;
    border-left: solid 8px #1f647a; }
    .question-list-item + .question-list-item {
      margin-top: 20px; }
    .question-list-item-title {
      width: 410px;
      padding: 0 50px;
      -ms-flex-negative: 0;
      flex-shrink: 0;
      text-align: center; }
      .question-list-item-title .icon {
        display: block;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 20px;
        width: 32px;
        height: 38px;
        background-size: 100%;
        background-image: url("../images/question/icon_question.svg"); }
    .question-list-item-content {
      padding: 40px;
      border-left: solid 1px #1f647a;
      -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
      flex: 1 1 0; }

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
store
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.store-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-left: 40px;
  margin-right: 40px; }
  .store-info__main {
    width: 296px;
    -ms-flex-negative: 0;
    flex-shrink: 0; }
  .store-info__sub {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 0px;
    flex: 1 1 0;
    padding-left: 40px;
    margin-left: 40px;
    border-left: solid 1px #000000; }

.store-tel {
  font-size: 3.4rem; }
  .store-tel small {
    font-size: 2.5rem; }
  .store-tel-btn {
    display: none; }

.store-time {
  color: #808080; }

.store-info-data + .store-info-data {
  margin-top: 20px; }

.store-reservation .icon {
  margin-right: 16px;
  display: inline-block;
  width: 30px;
  height: 30px;
  background-size: 100%;
  background-image: url("../images/common/icon_reservation.svg"); }

.store-photo {
  text-align: center; }

.store-gmap {
  position: relative;
  height: 440px; }
  .store-gmap iframe {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%; }

.store-map {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background-color: #ffffff; }
  .store-map__title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 0px;
    flex: 1 1 0; }
  .store-map__image {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 0px;
    flex: 1 1 0; }

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
information
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* archives */
.information-archives__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
  background-color: #f7f4f3; }
  .information-archives__item + .information-archives__item {
    margin-top: 30px; }

.information-archives-image {
  width: 260px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  background-size: cover;
  background-position: 50%; }

.information-archives-content {
  padding: 30px 40px 40px;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0px;
  flex: 1 1 0; }

.information-cat {
  display: inline-block;
  color: #ffffff;
  font-weight: 700;
  font-size: 1.4rem;
  text-align: center;
  min-width: 92px;
  padding: 10px;
  background-color: #000000; }

.information-date {
  display: block;
  margin-bottom: 10px; }

/* detail */
.information-article-heading {
  padding-bottom: 16px;
  border-bottom: solid 1px #000000; }
  .information-article-heading-info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-right: -20px;
    margin-bottom: 10px; }
    .information-article-heading-info > * {
      margin-right: 20px; }

.information-article-body {
  margin-top: 40px; }

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
column
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* archives */
.column-archives {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -60px;
  margin-bottom: -60px; }
  .column-archives__item {
    width: calc(50% - 60px);
    margin-right: 60px;
    margin-bottom: 60px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .column-archives-content {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 0px;
    flex: 1 1 0;
    margin-left: 20px; }
  .column-archives-image {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 0px;
    flex: 1 1 0;
    background-size: cover;
    background-position: 50%; }

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
reservation
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.reservaton-tel-btn {
  display: none; }

.form-col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -30px;
  margin-bottom: -20px; }
  .form-col > * {
    width: calc(50% - 30px);
    margin-right: 30px;
    margin-bottom: 20px; }

.form-item + .form-item {
  margin-top: 30px; }

.form-item-title {
  font-weight: 700;
  font-size: 1.8rem; }

.form-item-content {
  margin-top: 10px; }

.form-item .require {
  display: inline-block;
  margin-left: 1em;
  font-size: 1.4rem;
  color: #1f647a; }

.form-item .error {
  color: #e35a19;
  font-weight: 700;
  display: block;
  margin-top: 10px;
  font-size: 1.4rem; }

.form-col2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }
  .form-col2 > * + * {
    margin-left: 1em; }

.form-btn {
  margin-top: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }
  .form-btn input,
  .form-btn button {
    margin-left: 10px;
    margin-right: 10px; }

@media screen and (max-width: 767px) {
  /* =======================================================================
module
======================================================================= */
  .m-fs-10 {
    font-size: 1.0rem; }
  .m-fs-11 {
    font-size: 1.1rem; }
  .m-fs-12 {
    font-size: 1.2rem; }
  .m-fs-13 {
    font-size: 1.3rem; }
  .m-fs-14 {
    font-size: 1.3rem; }
  .m-fs-15 {
    font-size: 1.4rem; }
  .m-fs-16 {
    font-size: 1.4rem; }
  .m-fs-17 {
    font-size: 1.5rem; }
  .m-fs-18 {
    font-size: 1.5rem; }
  .m-fs-19 {
    font-size: 1.6rem; }
  .m-fs-20 {
    font-size: 1.6rem; }
  .m-fs-21 {
    font-size: 1.7rem; }
  .m-fs-22 {
    font-size: 1.7rem; }
  .m-fs-23 {
    font-size: 1.7rem; }
  .m-fs-24 {
    font-size: 1.7rem; }
  .m-fs-25 {
    font-size: 1.8rem; }
  .m-fs-26 {
    font-size: 1.8rem; }
  .m-fs-27 {
    font-size: 1.8rem; }
  .m-fs-28 {
    font-size: 1.8rem; }
  .m-fs-30 {
    font-size: 1.8rem; }
  .m-fs-31 {
    font-size: 1.8rem; }
  .m-fs-32 {
    font-size: 1.8rem; }
  .m-fs-34 {
    font-size: 1.9rem; }
  .m-fs-35 {
    font-size: 1.9rem; }
  .m-fs-36 {
    font-size: 1.9rem; }
  .m-fs-37 {
    font-size: 1.9rem; }
  .m-fs-38 {
    font-size: 1.9rem; }
  .m-fs-40 {
    font-size: 2rem; }
  .m-fs-42 {
    font-size: 2rem; }
  .m-fs-44 {
    font-size: 2rem; }
  .m-fs-46 {
    font-size: 2rem; }
  .m-fs-48 {
    font-size: 2rem; }
  /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
font
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
  .m-lh-l {
    line-height: 1.8; }
  /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
link
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
  .m-uline {
    text-decoration: underline; }
  .m-uline:hover {
    text-decoration: underline; }
  .m-hline {
    text-decoration: underline; }
  .m-hline:hover {
    text-decoration: underline; }
  a {
    -webkit-transition: none !important;
    -o-transition: none !important;
    transition: none !important;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0.2); }
    a:hover {
      opacity: 1 !important;
      text-decoration: none !important; }
  a.m-uline:hover {
    text-decoration: underline !important; }
  .m-op {
    -webkit-transition: opacity 0s;
    -o-transition: opacity 0s;
    transition: opacity 0s; }
    .m-op:hover {
      opacity: 1; }
  /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
display
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
  .m-align-c--pc {
    text-align: inherit; }
  .m-pc-only {
    display: none !important; }
  /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
layout
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
  .l-inner-xs,
  .l-inner-s,
  .l-inner {
    max-width: inherit;
    padding-left: 20px;
    padding-right: 20px; }
    .l-inner-xs .l-inner-xs,
    .l-inner-xs .l-inner-s,
    .l-inner-xs .l-inner,
    .l-inner-s .l-inner-xs,
    .l-inner-s .l-inner-s,
    .l-inner-s .l-inner,
    .l-inner .l-inner-xs,
    .l-inner .l-inner-s,
    .l-inner .l-inner {
      padding-left: 0;
      padding-right: 0; }
  /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
margin
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
  .m-mt-2xs {
    margin-top: 4px; }
  .m-mt-xs {
    margin-top: 8px; }
  .m-mt-s {
    margin-top: 16px; }
  .m-mt {
    margin-top: 24px; }
  .m-mt-l {
    margin-top: 32px; }
  .m-mt-xl {
    margin-top: 40px; }
  .m-mt-2xl {
    margin-top: 48px; }
  .m-mt-3xl {
    margin-top: 56px; }
  .m-mb-2xs {
    margin-bottom: 4px; }
  .m-mb-xs {
    margin-bottom: 8px; }
  .m-mb-s {
    margin-bottom: 16px; }
  .m-mb {
    margin-bottom: 24px; }
  .m-mb-l {
    margin-bottom: 32px; }
  .m-mb-xl {
    margin-bottom: 40px; }
  .m-mb-2xl {
    margin-bottom: 48px; }
  .m-mb-3xl {
    margin-bottom: 56px; }
  /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
padding
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
  .m-pt-2xs {
    padding-top: 4px; }
  .m-pt-xs {
    padding-top: 8px; }
  .m-pt-s {
    padding-top: 16px; }
  .m-pt {
    padding-top: 24px; }
  .m-pt-l {
    padding-top: 32px; }
  .m-pt-xl {
    padding-top: 40px; }
  .m-pt-2xl {
    padding-top: 48px; }
  .m-pt-3xl {
    padding-top: 56px; }
  .m-pb-2xs {
    padding-bottom: 4px; }
  .m-pb-xs {
    padding-bottom: 8px; }
  .m-pb-s {
    padding-bottom: 16px; }
  .m-pb {
    padding-bottom: 24px; }
  .m-pb-l {
    padding-bottom: 32px; }
  .m-pb-xl {
    padding-bottom: 40px; }
  .m-pb-2xl {
    padding-bottom: 48px; }
  .m-pb-3xl {
    padding-bottom: 56px; }
  .m-p-xs {
    padding: 8px; }
  .m-p-s {
    padding: 16px; }
  .m-p {
    padding: 24px; }
  .m-p-l {
    padding: 32px; }
  .m-p-xl {
    padding: 40px; }
  .m-p-2xl {
    padding: 48px; }
  .m-p-3xl {
    padding: 56px; }
  /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
border
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
  /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
bg
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
  /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
btn
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
  /* btn */
  button.m-btn,
  input.m-btn,
  a.m-btn,
  .m-btn {
    width: calc(100% - 40px);
    height: 48px;
    font-size: 1.5rem; }
    button.m-btn--s,
    input.m-btn--s,
    a.m-btn--s,
    .m-btn--s {
      height: 36px;
      font-size: 1.2rem; }
    button.m-btn--ws,
    input.m-btn--ws,
    a.m-btn--ws,
    .m-btn--ws {
      width: calc(100% - 40px); }
    button.m-btn--wa,
    input.m-btn--wa,
    a.m-btn--wa,
    .m-btn--wa {
      width: 100%; }
  .m-link {
    display: none; }
  /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
icon
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
  /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
breadcrumb
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
  .m-breadcrumb-wrap {
    max-width: inherit;
    padding-left: 20px;
    padding-right: 20px; }
  .m-breadcrumb {
    padding: 12px;
    font-size: 1rem; }
  .m-breadcrumb__item:before {
    font-size: 1rem; }
  /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
form
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
  input[type="text"].m-input-text,
  input[type="text"].hasDatepicker,
  textarea.m-textarea {
    width: 100%;
    padding: 10px;
    font-size: 1.6rem; }
  textarea.m-textarea {
    line-height: 1.6; }
  select.m-select {
    font-size: 1.6rem;
    background-size: 20px auto; }
  label {
    display: block; }
  /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
cms
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
  body.m-cms-editor-body {
    max-width: inherit !important;
    padding: 20px !important; }
  body.m-cms-editor-body,
  .m-cms-body {
    font-size: 1.4rem; }
    body.m-cms-editor-body h1, body.m-cms-editor-body h2, body.m-cms-editor-body h3, body.m-cms-editor-body h4, body.m-cms-editor-body h5, body.m-cms-editor-body h6,
    .m-cms-body h1,
    .m-cms-body h2,
    .m-cms-body h3,
    .m-cms-body h4,
    .m-cms-body h5,
    .m-cms-body h6 {
      margin-bottom: 10px; }
    body.m-cms-editor-body h2,
    .m-cms-body h2 {
      font-size: 2.0rem; }
    body.m-cms-editor-body h3,
    .m-cms-body h3 {
      font-size: 1.8rem; }
    body.m-cms-editor-body h4,
    .m-cms-body h4 {
      font-size: 1.6rem; }
    body.m-cms-editor-body blockquote,
    .m-cms-body blockquote {
      margin: 0 0 20px; }
    body.m-cms-editor-body hr,
    .m-cms-body hr {
      margin-bottom: 20px; }
    body.m-cms-editor-body p,
    .m-cms-body p {
      margin-bottom: 20px; }
    body.m-cms-editor-body ul, body.m-cms-editor-body ol,
    .m-cms-body ul,
    .m-cms-body ol {
      margin-bottom: 20px; }
    body.m-cms-editor-body img,
    .m-cms-body img {
      max-width: 100%;
      height: auto; }
      body.m-cms-editor-body img.alignleft, body.m-cms-editor-body img.alignright, body.m-cms-editor-body img.aligncenter,
      .m-cms-body img.alignleft,
      .m-cms-body img.alignright,
      .m-cms-body img.aligncenter {
        display: block;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 20px;
        float: none; }
    body.m-cms-editor-body table th, body.m-cms-editor-body table td,
    .m-cms-body table th,
    .m-cms-body table td {
      padding: 10px;
      font-size: 1.3rem; }
    body.m-cms-editor-body .wp-caption-text,
    .m-cms-body .wp-caption-text {
      font-size: 1.2rem;
      margin-top: .5em; }
    body.m-cms-editor-body .wp-caption.alignleft, body.m-cms-editor-body .wp-caption.alignright,
    .m-cms-body .wp-caption.alignleft,
    .m-cms-body .wp-caption.alignright {
      display: block;
      margin-bottom: 10px;
      float: none;
      width: auto;
      margin-left: auto;
      margin-right: auto;
      text-align: center; }
      body.m-cms-editor-body .wp-caption.alignleft img, body.m-cms-editor-body .wp-caption.alignright img,
      .m-cms-body .wp-caption.alignleft img,
      .m-cms-body .wp-caption.alignright img {
        width: 100%;
        height: auto; }
    body.m-cms-editor-body .wp-caption.aligncenter, body.m-cms-editor-body .wp-caption.alignnone,
    .m-cms-body .wp-caption.aligncenter,
    .m-cms-body .wp-caption.alignnone {
      display: block;
      margin-left: auto;
      margin-right: auto;
      margin-bottom: 20px; }
  .wp-pagenavi {
    margin-top: 30px; } }

@media screen and (max-width: 767px) {
  /* =======================================================================
base
======================================================================= */
  /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
layout
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
  body {
    font-size: 1.2rem; }
  #l-wrapper {
    min-width: inherit;
    padding-top: 60px;
    padding-bottom: 135px; }
    .t-home #l-wrapper {
      padding-top: 60px; }
  .l-container {
    position: relative;
    z-index: 1;
    margin-bottom: -1px; }
  /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
header
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
  .b-header {
    min-width: inherit; }
    .b-header-inner {
      padding: 0 0 0 15px;
      max-width: inherit;
      height: 60px;
      border-radius: 0; }
  .m-header-logo {
    position: relative;
    padding-top: 12px; }
    .m-header-logo-image {
      width: 160px; }
    .m-header-logo-txt {
      position: absolute;
      margin-left: 0;
      right: 0;
      top: 0;
      font-size: 1rem;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: end;
      -ms-flex-pack: end;
      justify-content: flex-end;
      -webkit-transform: scale(0.8);
      -ms-transform: scale(0.8);
      transform: scale(0.8);
      -webkit-transform-origin: 100% 100%;
      -ms-transform-origin: 100% 100%;
      transform-origin: 100% 100%; }
      .m-header-logo-txt > * + * {
        margin-left: 8px;
        padding-left: 8px;
        border-left: solid 1px #000000; }
  .m-header-sub {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
  .m-header-hnav {
    display: none; }
  .m-header-menu {
    position: relative;
    display: block;
    width: 60px;
    height: 60px; }
    .m-header-menu figure:nth-of-type(1) {
      top: 50%;
      margin-top: -10px; }
    .m-header-menu figure:nth-of-type(2) {
      top: 50%;
      margin-top: -1px; }
    .m-header-menu figure:nth-of-type(3) {
      width: 20px;
      bottom: 50%;
      margin-bottom: -10px; }
    .m-header-menu.is-active figure:nth-of-type(1) {
      -webkit-transform: translateY(9px) rotate(-45deg);
      -ms-transform: translateY(9px) rotate(-45deg);
      transform: translateY(9px) rotate(-45deg); }
    .m-header-menu.is-active figure:nth-of-type(2) {
      height: 0;
      opacity: 0; }
    .m-header-menu.is-active figure:nth-of-type(3) {
      width: 32px;
      -webkit-transform: translateY(-9px) rotate(45deg);
      -ms-transform: translateY(-9px) rotate(45deg);
      transform: translateY(-9px) rotate(45deg); }
  /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
nav
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
  .m-header-nav {
    padding-top: 60px;
    padding-bottom: 200px; }
    .m-header-nav-inner {
      max-width: inherit;
      padding: 24px; }
    .m-header-nav-service {
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      margin-right: -24px; }
      .m-header-nav-service__item {
        width: calc(50% - 24px);
        margin-right: 24px;
        margin-bottom: 24px; }
      .m-header-nav-service-title {
        font-size: 1.5rem; }
    .m-header-nav-col {
      display: block; }
      .m-header-nav-col__item + .m-header-nav-col__item {
        margin-left: 0;
        padding-left: 0;
        border-left: 0; }
    .m-header-nav-list__item > a {
      padding: 32px 40px 32px 12px;
      font-size: 1.6rem; }
    .m-header-nav-list__item > span {
      padding: 32px 40px 0 12px;
      font-size: 1.6rem; }
    .m-header-nav-list-child {
      position: relative;
      right: auto;
      top: auto;
      -webkit-transform: none;
      -ms-transform: none;
      transform: none;
      margin: 16px 0 32px 12px; }
      .m-header-nav-list-child__item {
        font-weight: 700; }
        .m-header-nav-list-child__item + .m-header-nav-list-child__item {
          margin-top: 12px; }
        .m-header-nav-list-child__item a {
          font-size: 1.5rem;
          padding: 0 40px 0 10px; }
    .m-header-nav-sub {
      margin-top: 24px; }
      .m-header-nav-sub__item {
        font-size: 1.4rem; }
  /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
footer
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
  .b-footer-inner {
    max-width: inherit;
    padding-left: 20px;
    padding-right: 20px;
    padding-bottom: 45px; }
  .m-footer-sns {
    padding-top: 30px;
    padding-bottom: 30px; }
    .m-footer-sns__item a {
      width: 32px; }
  .m-footer-logo {
    width: 160px; }
  .m-footer-company {
    margin-top: 20px; }
    .m-footer-company-logo {
      width: 160px;
      margin-bottom: 10px; }
    .m-footer-company-text {
      font-size: 1.4rem; }
    .m-footer-company-address {
      font-size: 1.4rem; }
  .m-footer-content {
    display: block;
    padding-top: 0;
    padding-bottom: 0; }
    .m-footer-content__info {
      padding: 20px;
      border-top: solid 1px #878787; }
    .m-footer-content__nav {
      display: block;
      padding: 20px; }
      .m-footer-content__nav__item + .m-footer-content__nav__item {
        margin-left: 0;
        margin-top: 30px; }
  .m-footer-nav-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -10px;
    margin-bottom: -10px; }
    .m-footer-nav-list__item {
      width: calc(50% - 10px);
      margin-right: 10px;
      margin-bottom: 10px;
      font-size: 1.4rem; }
      .m-footer-nav-list__item--wide {
        width: calc(100% - 10px); }
      .m-footer-nav-list__item + .m-footer-nav-list__item {
        margin-top: 0; }
    .m-footer-nav-list-child {
      margin-bottom: 0; }
      .m-footer-nav-list-child--col {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
        .m-footer-nav-list-child--col > * {
          width: 50%; }
  .m-footer-cr {
    padding: 20px;
    font-size: 1.4rem; }
  .m-pagetop {
    right: 20px;
    width: 64px;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); }

@media screen and (max-width: 767px) {
  /* =======================================================================
共通
======================================================================= */
  /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
slider
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
  .icon-slider-prev,
  .icon-slider-next {
    width: 30px;
    height: 30px; }
    .icon-slider-prev:before,
    .icon-slider-next:before {
      width: 12px;
      height: 12px; }
  .icon-slider-prev {
    left: -10px; }
  .icon-slider-next {
    right: -10px; }
  .icon-slider-prev2,
  .icon-slider-next2 {
    width: 40px;
    height: 40px; }
    .icon-slider-prev2:before,
    .icon-slider-next2:before {
      width: 16px;
      height: 16px; }
  .icon-slider-prev2 {
    left: -20px; }
  .icon-slider-next2 {
    right: -20px; }
  /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
title
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
  .m-common-page-title {
    height: 120px;
    padding: 20px; }
  .m-common-title {
    font-size: 1.4rem; }
    .m-common-title span {
      padding-left: 64px;
      padding-top: 40px;
      padding-bottom: 5px; }
      .m-common-title span:before {
        width: 134px;
        height: 60px; }
  .m-line-title {
    padding: 20px; }
  /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
service
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
  .m-common-service {
    padding-bottom: 80px; }
    .m-common-service:before {
      left: 20px;
      width: 120px;
      height: 110px;
      margin-left: 0; }
    .m-common-service-inner {
      display: block; }
    .m-common-service__title {
      display: block; }
      .m-common-service__title:before {
        right: 0;
        top: 0;
        width: 48px;
        height: 62px; }
    .m-common-service__content {
      width: auto;
      margin-top: 30px;
      -ms-flex-negative: 0;
      flex-shrink: 0; }
    .m-common-service-list {
      margin-top: 30px;
      margin-right: -20px;
      margin-bottom: -20px; }
      .m-common-service-list__item {
        width: calc(50% - 20px);
        margin-right: 20px;
        margin-bottom: 20px; }
    .m-common-service-image {
      border-radius: 0 20px 0 0; }
  /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
link
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
  .m-relation-links {
    padding-right: 20px; }
    .m-relation-links:before {
      width: 12px;
      height: 12px; }
    .m-relation-links-image {
      width: 60%;
      padding-bottom: calc(244 / 416 * 50%);
      height: auto;
      margin-right: 20px; }
  /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
contact
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
  .m-common-contact {
    min-width: inherit;
    padding: 10px 20px;
    height: 135px; }
    .m-common-contact-inner {
      max-width: inherit;
      padding-left: 0;
      padding-right: 0;
      margin-left: auto;
      margin-right: auto;
      height: auto; }
    .m-common-contact-item {
      width: calc(50% - 10px);
      flex: inherit;
    }
    .m-common-contact-item:not(:first-child),
    .m-common-contact-item:not(:nth-child(2)){
      margin-top: 10px;
    }
    .m-common-contact-item + .m-common-contact-item {
      margin-left: 0;
      padding-left: 0;
      border-left: none; }
      .m-common-contact-item:nth-child(even){
        border-left: dotted 2px #1f647a;
        margin-left: 10px;
       padding-left: 10px;
      }
    .m-common-contact-sp-title {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      font-weight: 700;
      font-size: 1.1rem;
      margin-bottom: 8px; }
      .m-common-contact-sp-title .icon {
        margin-right: 8px;
        display: inline-block;
        width: 14px;
        height: 14px;
        background-size: 100%;
        background-image: url("../images/common/icon_reservation-bk.svg"); }
    .m-common-contact-title {
      display: none; }
    .m-common-contact-content {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      margin-top: 0; }
    .m-common-contact-tel {
      display: none; } }
      .m-common-contact-reservation {
        width: 100%;}

@media screen and (max-width: 767px) {
  /* =======================================================================
page
======================================================================= */
  /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
mv
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
  .home-mv {
    height: auto; }
    .home-mv-image {
      position: relative;
      width: auto;
      height: calc(100vh - 300px); }
    .home-mv-title {
      position: absolute;
      left: 50%;
      top: 50%;
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      font-size: 3rem;
      text-align: center;
      white-space: nowrap; }
    .home-mv-content {
      position: relative;
      width: auto;
      right: auto;
      bottom: auto;
      padding: 20px;
      margin-top: -30px;
      border-radius: 0; }
      .home-mv-content:before {
        right: 20px;
        -webkit-transform: translateY(-60%);
        -ms-transform: translateY(-60%);
        transform: translateY(-60%);
        width: 200px;
        height: 174px; }
    .home-mv-en {
      position: relative;
      left: auto;
      top: auto;
      width: 120px;
      -webkit-transform: rotate(12deg);
      -ms-transform: rotate(12deg);
      transform: rotate(12deg);
      -webkit-transform-origin: 0 0;
      -ms-transform-origin: 0 0;
      transform-origin: 0 0;
      margin-bottom: 20px; }
    .home-mv-text {
      font-weight: 400;
      font-size: 1.5rem; }
      .home-fix-bnr{
        position: relative;
        top: auto;
        right: auto;
        transform: translateX(0);
      }
      .home-fix-bnr-h{
        display: none;
      }
      .home-fix-bnr-linik{
        max-width: 640px;
        margin-right: auto;
        margin-left: auto;
        width: 100%;
      }
  /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
information
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
  .home-information:before, .home-information:after {
    display: none; }
  .home-information-col {
    display: block;
    margin-right: 0; }
    .home-information-col__item {
      margin-right: 0; }
  /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
about
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
  .home-about-question-wrap {
    overflow: visible; }
  .home-about-col {
    margin-top: 30px;
    display: block; }
    .home-about-col:before {
      display: none; }
    .home-about-col__image {
      width: 100%;
      margin-left: -20px;
      margin-right: 0; }
      .home-about-col__image img {
        width: 100%; }
    .home-about-col__title {
      margin-top: 20px;
      font-size: 1.7rem; }
  .home-about-question {
    margin-top: 30px;
    display: block;
    margin-left: 0;
    margin-right: 0; }
    .home-about-question__item {
      width: auto;
      padding: 0;
      padding: 0 0 40px;
      border-left: 0;
      border-top: 0; }
  /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
flow
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
  .home-flow-title span {
    padding-left: 30px;
    padding-right: 30px; }
    .home-flow-title span:before, .home-flow-title span:after {
      width: 2px; }
  /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
case
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
  .home-case-list__item {
    margin-left: 1px;
    margin-right: 1px; }
    .home-case-list__item a {
      display: block;
      -webkit-box-shadow: none;
      box-shadow: none; }
  .home-case-list-image {
    padding-bottom: calc(350 / 433 * 100%); }
  .home-case-list-content {
    background-color: transparent;
    margin-top: 20px;
    padding: 0; }
  .home-case-list-housebuilder {
    margin-bottom: 20px; }
  /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
housebuilder
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
  .home-housebuilder:before, .home-housebuilder:after {
    display: none; }
  .home-housebuilder-content__item {
    margin-left: 0px;
    margin-right: 0px; }
  .home-housebuilder-list {
    margin-right: -16px;
    margin-bottom: -16px; }
    .home-housebuilder-list__item {
      width: calc(50% - 16px);
      margin-right: 16px;
      margin-bottom: 16px; }
      .home-housebuilder-list__item a {
        height: calc(50vw - 40px);
        padding: 10px; }
        .home-housebuilder-list__item a > * { }
          .home-housebuilder-list__item a > * img { }
  /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
store
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
  .home-store {
    position: relative; }
    .home-store:before, .home-store:after {
      display: none; }
    .home-store-list {
      display: block;
      margin-right: 0; }
      .home-store-list__item {
        width: 100%;
        margin-bottom: 0; }
        .home-store-list__item:nth-child(even){
          margin-left: 0;
        }
        .home-store-list__item + .home-store-list__item {
          margin-top: 30px; }

    .home-store-tel {
      font-size: 2.6rem; }
      .home-store-tel small {
        font-size: 1.9rem; }
    .home-store-time {
      margin-top: 0;
      font-size: 1.1rem; }
    .home-store-note{
      font-size: 1.3rem;
    }
      .home-store-btns__item {
        width: calc(50% - 8px); }
      .home-store-btns .reservation,
      .home-store-btns .store {
        height: 48px;
        font-size: 1.4rem; }
        .home-store-btns .reservation .icon,
        .home-store-btns .store .icon {
          width: 20px;
          height: 20px; }
  /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
column
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
  .home-column:before {
    display: none; }
  .home-column-list {
    display: block;
    margin-right: 0;
    margin-bottom: 0; }
    .home-column-list__item {
      width: 190px;
      margin-left: 15px;
      margin-right: 15px;
      margin-bottom: 0; }
      .home-column-list__item a {
        display: block; }
  .home-column-image {
    padding-bottom: calc(269 / 380 * 100%);
    width: auto;
    margin-right: 0;
    margin-bottom: 10px; } }

@media screen and (max-width: 767px) {
  /* =======================================================================
page
======================================================================= */
  /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
about
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
  .about-col {
    display: block;
    margin-right: 0; }
    .about-col__item {
      margin-right: 0; }
      .about-col__item + .about-col__item {
        margin-top: 30px; }
    .about-col-image img {
      width: 100%; }
    .about-col-image .icon {
      font-size: 1.6rem;
      width: 120px;
      height: 120px;
      left: auto;
      right: -4px;
      top: 0;
      -webkit-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
      transform: translate(0, -50%); }
  .about-flow-list {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -12px; }
    .about-flow-list__item {
      width: 120px;
      margin-right: 12px; }
      .about-flow-list__item:nth-of-type(1) {
        width: calc(100% - 12px); }
      .about-flow-list__item img {
        width: 120px;
        display: block;
        margin-left: auto;
        margin-right: auto; }
  .about-list {
    display: block;
    margin-right: 0; }
    .about-list__item {
      width: auto;
      margin-right: 0; }
      .about-list__item + .about-list__item {
        margin-top: 20px; }
  .about-check {
    display: block; }
    .about-check__title {
      display: inline-block;
      width: auto;
      margin-right: 0;
      margin-bottom: 20px;
      padding: 12px; }
      .about-check__title:before {
        border-left: solid 10px transparent;
        border-right: solid 10px transparent;
        border-top: solid 10px #b4d4db;
        border-bottom: 0;
        position: absolute;
        right: 50%;
        top: auto;
        bottom: 0;
        -webkit-transform: translate(50%, 100%);
        -ms-transform: translate(50%, 100%);
        transform: translate(50%, 100%); }
  .about-decision {
    display: block; }
    .about-decision__item + .about-decision__item {
      position: relative;
      margin-left: 0;
      margin-top: 30px; }
      .about-decision__item + .about-decision__item:before {
        width: 20px;
        height: 20px;
        border-top: solid 2px #1f647a;
        border-right: solid 2px #1f647a;
        left: 50%;
        top: -20px;
        -webkit-transform: translate(-50%, -50%) rotate(135deg);
        -ms-transform: translate(-50%, -50%) rotate(135deg);
        transform: translate(-50%, -50%) rotate(135deg); }
  .about-bnr {
    padding: 16px; }
    .about-bnr-title {
      padding-right: 80px; }
    .about-bnr .icon {
      font-size: 1rem;
      width: 64px;
      height: 64px;
      right: 16px;
      top: -10px; }
  .about-bg {
    padding: 40px 20px;
    height: auto; }
  /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
service
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
  .service-step-num {
    width: 56px;
    height: 56px;
    border: solid 2px #1f647a;
    font-size: 1.8rem; }
    .service-step-num small {
      display: block;
      font-size: 1.1rem; }
  .service-step-col {
    padding-top: 30px;
    padding-bottom: 30px; }
    .service-step-col__title {
      width: 56px;
      margin-right: 12px; }
      .service-step-col__title:before {
        width: 2px;
        height: calc(100% + 42px);
        top: 30px; }
    .service-step-col__content {
      padding-top: 20px; }
  .service-copy span {
    border-bottom: solid 2px #1f647a; }
  .service-title {
    padding: 24px; }
    .service-title:before {
      border-top: solid 20px #ffffff;
      border-left: solid 30px transparent;
      border-right: solid 30px transparent; }
  .service-mv {
    margin-right: -20px;
    margin-left: -20px; }
    .service-mv-image {
      width: calc(530 / 750 * 100%);
      margin-left: auto;
      margin-right: 0; }
    .service-mv-content {
      width: 100%;
      bottom: 12px;
      height: calc(520 / 710 * 100%);
      border-radius: 0; }
      .service-mv-content:before {
        content: "";
        position: absolute;
        left: -20px;
        top: 0;
        width: calc(352px * 0.5);
        height: calc(310px * 0.5);
        background-size: 100% auto;
        background-repeat: no-repeat;
        background-position: 10% 100%;
        background-image: url("../images/common/bg/flower_01.svg");
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%); }
    .service-mv-title {
      left: 0;
      bottom: 12px;
      z-index: 2; }
      .service-mv-title-item {
        min-width: inherit;
        font-size: 1.9rem;
        padding: 12px 20px 12px 30px; }
        .service-mv-title-item + .service-mv-title-item {
          margin-top: 8px; }
        .service-mv-title-item.small {
          padding: 10px 20px 10px 30px;
          font-size: 1.3rem; }
      .service-mv-title:before {
        display: none; }
  /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
house
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
  .house-list-item {
    display: block; }
    .house-list-item + .house-list-item {
      margin-top: 20px; }
    .house-list-item-image {
      width: auto; }
      .house-list-item-image img {
        width: 100%; }
    .house-list-item-content {
      padding: 20px; }
  /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
renovation
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
  .renovation-list__item {
    width: 160px;
    height: 160px; }
    .renovation-list__item + .renovation-list__item {
      margin-left: 10px; }
  /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
land
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
  .land-col {
    display: block;
    margin-right: 0;
    margin-bottom: 0; }
    .land-col__item {
      width: auto;
      margin-right: 0;
      margin-bottom: 0;
      padding: 20px; }
  .land-list__item {
    padding: 20px;
    background-color: #ffffff; }
    .land-list__item + .land-list__item {
      margin-top: 12px; }
  .land-bg {
    padding: 40px 20px;
    height: auto; }
  /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
other
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
  .other-list-item {
    display: block; }
    .other-list-item + .other-list-item {
      margin-top: 20px; }
    .other-list-item-image {
      width: auto; }
      .other-list-item-image img {
        width: 100%; }
    .other-list-item-content {
      padding: 20px; }
  /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
case
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
  /* archives */
  .case-archives {
    margin-right: -16px;
    margin-bottom: -20px; }
    .case-archives__item {
      width: calc(50% - 16px);
      margin-right: 16px;
      margin-bottom: 20px; }
  /* detail */
  .case-detail-housebuilder {
    padding: 20px 20px 20px 0; }
    .case-detail-housebuilder__title {
      width: 120px; }
    .case-detail-housebuilder__logo img {
      max-height: 24px; }
  .case-detail-thumbs {
    margin-right: -10px; }
    .case-detail-thumbs__item {
      width: calc(25% - 10px);
      margin-right: 10px;
      margin-top: 10px; }
  .housebuilder-detail-logo {
    padding: 20px; }
    .housebuilder-detail-logo img {
      max-height: 32px; }
  .housebuilder-archives-image {
    padding: 20px; }
    .housebuilder-archives-image > * {
      max-height: 60px; }
      .housebuilder-archives-image > * img {
        max-height: 60px; }
  .case-relation-list__item {
    width: 160px; }
  /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
voice
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
  .voice-archives-col {
    display: block; }
    .voice-archives-col__image {
      width: auto;
      height: auto;
      min-height: inherit;
      padding-bottom: calc(376 / 670 * 100%); }

    .voice-archives-col-slide {
      width: auto;
      min-height: inherit;
    }
    .voice-archives-col-imgs {
      position: relative;
    }
    .voice-archives-col-imgs-item {
      width: 100%;
      height: auto;
      min-height: inherit;
      padding-bottom: calc(376 / 670 * 100vw);
    }
    .m-slide-arrow {
      width: 30px;
      height: 30px;
      margin-top: -15px; }
    .m-slide-arrow .material-icons{
      font-size: 0.95rem;
    }

    .voice-archives-col__content {
      width: auto;
      padding-left: 0;
      margin-top: 20px; }
  /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
question
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
  .question-index {
    display: block; }
    .question-index + .question-index {
      margin-top: 20px; }
    .question-index-title {
      width: auto;
      padding: 16px; }
  .question-index-list__item {
    padding: 15px 20px 15px 0; }
    .question-index-list__item .num {
      width: 40px;
      margin-right: 16px; }
  .question-list {
    margin-left: 0;
    margin-right: 0; }
    .question-list-item {
      display: block;
      padding: 30px 20px 20px;
      border-left: 0;
      border-top: solid 4px #1f647a; }
      .question-list-item + .question-list-item {
        margin-top: 12px; }
      .question-list-item-title {
        width: auto;
        padding: 0; }
        .question-list-item-title .icon {
          margin-bottom: 12px; }
      .question-list-item-content {
        margin-top: 20px;
        padding: 20px 0 0;
        border-top: solid 1px #1f647a;
        border-left: 0; }
  /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
store
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
  .store-info {
    display: block;
    margin-left: 0;
    margin-right: 0; }
    .store-info__main {
      width: auto;
      text-align: center; }
    .store-info__sub {
      margin-top: 20px;
      padding-left: 0;
      margin-left: 0;
      border-left: 0; }
  .store-tel {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 2.6rem; }
    .store-tel small {
      font-size: 1.9rem; }
    .store-tel-btn {
      padding: 8px 12px;
      margin-left: 8px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      border-radius: 4px;
      color: #ffffff;
      font-size: 1.1rem;
      background-color: #1f647a; }
      .store-tel-btn .icon {
        margin-right: 4px;
        width: 16px;
        height: 16px;
        background-size: 100%;
        background-image: url("../images/common/icon_tel.svg"); }
  .store-info-data + .store-info-data {
    margin-top: 20px; }
  .store-reservation .icon {
    margin-right: 16px;
    width: 20px;
    height: 20px; }
  .store-gmap {
    height: auto;
    padding-bottom: calc(420 / 750 * 100%); }
  .store-map {
    display: block;
    background-color: transparent; }
    .store-map__title {
      display: block;
      text-align: left; }
    .store-map__image {
      margin-top: 12px; }
      .store-map__image img {
        width: 100%; }
  /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
information
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
  /* archives */
  .information-archives {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -16px;
    margin-bottom: -16px; }
    .information-archives__item {
      width: calc(50% - 16px);
      margin-right: 16px;
      margin-bottom: 16px;
      display: block;
      -webkit-box-shadow: none;
      box-shadow: none;
      background-color: transparent; }
      .information-archives__item + .information-archives__item {
        margin-top: 0px; }
    .information-archives-image {
      padding-bottom: calc(185 / 318 * 100%);
      width: auto; }
    .information-archives-content {
      margin-top: 12px;
      padding: 0; }
  .information-cat {
    font-size: 1rem;
    min-width: 60px; }
  /* detail */
  .information-article-heading {
    padding-bottom: 12px; }
    .information-article-heading-info {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      margin-right: -12px; }
      .information-article-heading-info > * {
        margin-right: 12px; }
  .information-article-body {
    margin-top: 20px; }
  /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
column
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
  /* archives */
  .column-archives {
    margin-right: -16px;
    margin-bottom: -16px; }
    .column-archives__item {
      width: calc(50% - 16px);
      margin-right: 16px;
      margin-bottom: 16px;
      display: block; }
    .column-archives-content {
      margin-left: 0;
      margin-top: 12px; }
    .column-archives-image {
      padding-bottom: calc(185 / 318 * 100%); }
  /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
reservation
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
  .reservaton-tel-btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    .reservaton-tel-btn .icon {
      width: 20px;
      height: 20px;
      margin-right: 8px;
      background-size: 100%;
      background-image: url("../images/common/icon_tel.svg"); }
  .form-col {
    display: block;
    margin-right: 0;
    margin-bottom: 0; }
    .form-col > * {
      display: block;
      width: auto;
      margin-right: 0;
      margin-bottom: 0; }
      .form-col > * + * {
        margin-top: 12px; }
  .form-item + .form-item {
    margin-top: 20px; }
  .form-item-title {
    font-size: 1.4rem; }
  .form-item .require {
    font-size: 1.2rem; }
  .form-item .error {
    font-size: 1.2rem; }
  .form-col2 {
    display: block; }
    .form-col2 > * + * {
      margin-left: 0;
      margin-top: 10px; }
  .form-btn {
    margin-top: 30px;
    display: block; }
    .form-btn input,
    .form-btn button {
      margin-left: auto;
      margin-right: auto;
      margin-bottom: 10px; } }
