@charset "UTF-8";
@-webkit-keyframes $animation-name {
  0% {
    opacity: 0;
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes $animation-name {
  0% {
    opacity: 0;
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
/*! normalize.css v3.0.1 | 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,
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: 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: 0;
}

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  -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 */
  -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;
}

@font-face {
  font-family: "icon";
  src: url("/common/font/icon.eot?c0wqn0");
  src: url("/common/font/icon.eot?c0wqn0#iefix") format("embedded-opentype"), url("/common/font/icon.ttf?c0wqn0") format("truetype"), url("/common/font/icon.woff?c0wqn0") format("woff"), url("/common/font/icon.svg?c0wqn0#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
}
[class^=icon_], [class*=" icon_"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "icon" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-freedial:before {
  content: "";
}

.icon-time:before {
  content: "";
}

.icon-place:before {
  content: "";
}

.icon-mail:before {
  content: "";
}

.icon-tel:before {
  content: "";
}

.icon-barrierfree:before {
  content: "";
}

.icon-bathroom:before {
  content: "";
}

.icon-energy:before {
  content: "";
}

.icon-exterior:before {
  content: "";
}

.icon-interior:before {
  content: "";
}

.icon-kitchen:before {
  content: "";
}

.icon-rebuilding:before {
  content: "";
}

.icon-seismic:before {
  content: "";
}

.icon-toilet:before {
  content: "";
}

.icon-whole:before {
  content: "";
}

.icon-zoom:before {
  content: "";
}

@-webkit-keyframes $animation-name {
  0% {
    opacity: 0;
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes $animation-name {
  0% {
    opacity: 0;
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
*, *:after, *:before {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

body, html {
  font-size: 62.5%;
  padding: 0;
  margin: 0;
}

/* Clearfix hack by Nicolas Gallagher: http://nicolasgallagher.com/micro-clearfix-hack/ */
.clearfix:before, .clearfix:after {
  content: " ";
  display: table;
}

.clearfix:after {
  clear: both;
}

body {
  position: relative;
  font-family: "Noto Sans Japanese", "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS P Gothic", Helvetica, Arial, Verdana, sans-serif, icon;
  font-size: 1.6rem;
  color: #595959;
  line-height: 180%;
  text-align: center;
  letter-spacing: 0.01em;
}
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  body {
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS P Gothic", Helvetica, Arial, Verdana, sans-serif, icon;
  }
}
@media screen and (max-width: 640px) {
  body {
    line-height: 190%;
    font-size: 1.4rem;
  }
}

html {
  height: 100%;
}

body {
  min-height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
  margin: 0;
}

main {
  display: block;
}

a {
  display: block;
  color: #372f2e;
  cursor: pointer;
  outline: none;
  background-color: transparent;
  border: 0;
  overflow: hidden;
  vertical-align: bottom;
  -webkit-transition: 0.3s ease;
  -o-transition: 0.3s ease;
  transition: 0.3s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
a img {
  -webkit-transition: 0.3s ease;
  -o-transition: 0.3s ease;
  transition: 0.3s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
a:after, a:before {
  -webkit-transition: 0.3s ease;
  -o-transition: 0.3s ease;
  transition: 0.3s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
a:link {
  color: #372f2e;
}
a:visited {
  color: #372f2e;
}
a:hover {
  color: #372f2e;
  text-decoration: none;
}
a:active {
  color: #372f2e;
}
a:hover img {
  opacity: 0.8;
}

ul, dl, dt, dd {
  margin: 0;
  padding: 0;
  text-align: left;
}

li {
  list-style: none;
}

li > li:first-child,
li > div:first-child,
div > li:first-child,
div > div:first-child {
  margin-top: 0;
}

li > li:last-child,
li > div:last-child,
div > li:last-child,
div > div:last-child {
  margin-bottom: 0;
}

dt > *:first-child,
dd > *:first-child,
th > *:first-child,
td > *:first-child {
  margin-top: 0;
}
dt > *:last-child,
dd > *:last-child,
th > *:last-child,
td > *:last-child {
  margin-bottom: 0;
}

input, button, select, textarea {
  border-style: none;
  border-width: 0;
  border: none;
  border-radius: 0;
  border: 1px solid #bfbfbf;
  padding: 10px;
  width: 100%;
  -webkit-transition: 0.3s ease;
  -o-transition: 0.3s ease;
  transition: 0.3s ease;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  -webkit-transition: 0.2s ease;
  -o-transition: 0.2s ease;
  transition: 0.2s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

input[type=radio],
input[type=checkbox] {
  display: none;
}
input[type=radio] + label,
input[type=checkbox] + label {
  position: relative;
  display: inline-block;
  margin-right: 12px;
  font-size: 14px;
  cursor: pointer;
  line-height: 140%;
}
input[type=radio]:checked + label:before,
input[type=radio]:checked + .mfp_element_all + .mfp_ok + label:before,
input[type=checkbox]:checked + label:before,
input[type=checkbox]:checked + .mfp_element_all + .mfp_ok + label:before {
  background: #FFFFFF;
  border: 1px solid #c02138;
}
input[type=radio]:checked + label:after,
input[type=radio]:checked + .mfp_element_all + .mfp_ok + label:after,
input[type=checkbox]:checked + label:after,
input[type=checkbox]:checked + .mfp_element_all + .mfp_ok + label:after {
  opacity: 1;
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
      transform: scale(1);
}

/* custom */
label {
  position: relative;
  display: inline-block;
  padding-left: 25px;
  cursor: pointer;
}
label:before, label:after {
  position: absolute;
  content: "";
  top: 0;
  bottom: 0;
  margin: auto;
  -webkit-transition: 0.2s ease;
  -o-transition: 0.2s ease;
  transition: 0.2s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
label:before {
  left: 0;
  width: 18px;
  height: 18px;
  border: 1px solid #bfbfbf;
  background: #FFFFFF;
}
label:after {
  opacity: 0;
  left: 4px;
  width: 10px;
  height: 10px;
  background: #c02138;
  -webkit-transform: scale(2);
  -ms-transform: scale(2);
      transform: scale(2);
}
label:hover:before {
  background: #FFFFFF;
}

select {
  width: auto;
}

input:focus, select:focus, textarea:focus {
  outline: none;
  background: rgba(192, 33, 56, 0.3);
  border: 1px solid rgba(162, 162, 162, 0.5);
}

button {
  border-style: none;
  border-width: 0;
  border: none;
  border-radius: 0;
  background: #FFFFFF;
}

::-webkit-input-placeholder {
  color: #bfbfbf;
  opacity: 1;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}

::-moz-placeholder {
  color: #bfbfbf;
  opacity: 1;
  -moz-transition: 0.3s ease;
  transition: 0.3s ease;
}

:-moz-placeholder {
  color: #bfbfbf;
  opacity: 1;
  -moz-transition: 0.3s ease;
  transition: 0.3s ease;
}

:-ms-input-placeholder {
  color: #bfbfbf;
  opacity: 1;
  -ms-transition: 0.3s ease;
  transition: 0.3s ease;
}

::-placeholder {
  color: #bfbfbf;
  opacity: 1;
  -webkit-transition: 0.3s ease;
  -o-transition: 0.3s ease;
  transition: 0.3s ease;
}

:focus::-webkit-input-placeholder {
  opacity: 0.7;
}

:focus:-moz-placeholder {
  opacity: 0.7;
}

:focus::-moz-placeholder {
  opacity: 0.7;
}

:focus:-ms-input-placeholder {
  opacity: 0.7;
}

:focus::-placeholder {
  opacity: 0.7;
}

i, em, address, b {
  font-style: normal;
  font-weight: normal;
}

.tel-link a {
  display: inline-block;
}

img, canvas, video, svg {
  max-width: 100%;
}

.overflow-container {
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
}

@-webkit-keyframes $animation-name {
  0% {
    opacity: 0;
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes $animation-name {
  0% {
    opacity: 0;
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@media screen and (max-width: 640px) {
  .fixed {
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: -1;
  }
}
.head {
  position: relative;
  font-size: 3.2rem;
  font-weight: bold;
  color: #372f2e;
  margin-top: 30px;
  margin-bottom: 50px;
  line-height: 100%;
}
@media screen and (max-width: 768px) {
  .head {
    font-size: 32px;
    padding-bottom: 20px;
    margin-top: 20px;
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 640px) {
  .head {
    font-size: 22px;
    padding-bottom: 10px;
    margin-top: 10px;
    margin-bottom: 10px;
  }
}
.head span {
  position: relative;
  display: block;
  font-size: 16px;
  font-family: "Noto Sans Japanese", "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS P Gothic", Helvetica, Arial, Verdana, sans-serif, icon;
  line-height: 280%;
}
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .head span {
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS P Gothic", Helvetica, Arial, Verdana, sans-serif, icon;
  }
}
@media screen and (max-width: 640px) {
  .head span {
    font-size: 14px;
    line-height: 200%;
  }
}
.head span i {
  position: relative;
  letter-spacing: 0.05em;
}
.head span i:before, .head span i:after {
  content: "";
  position: absolute;
  width: 25px;
  height: 1px;
  top: 0;
  bottom: 0;
  margin: auto;
  background: #333333;
}
@media screen and (max-width: 640px) {
  .head span i:before, .head span i:after {
    width: 15px;
  }
}
.head span i:before {
  left: -40px;
}
@media screen and (max-width: 640px) {
  .head span i:before {
    left: -25px;
  }
}
.head span i:after {
  right: -40px;
}
@media screen and (max-width: 640px) {
  .head span i:after {
    right: -25px;
  }
}

.subHead {
  display: block;
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  color: #372f2e;
  line-height: 160%;
  text-align: left;
  margin-top: 25px;
  margin-bottom: 25px;
}
@media screen and (max-width: 768px) {
  .subHead {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 640px) {
  .subHead {
    font-size: 1.6rem;
    margin-top: 15px;
    margin-bottom: 10px;
  }
}

.ttl {
  text-align: left;
  font-size: 2.4rem;
  color: #372f2e;
  background: #f2f2f2;
  padding: 10px 15px;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 140%;
  margin: 0 0 20px;
}
@media screen and (max-width: 640px) {
  .ttl {
    font-size: 1.8rem;
    margin-bottom: 15px;
  }
}
.ttl + p {
  margin-top: 0;
}
.ttl .ex {
  font-size: 70%;
  margin-left: 1em;
  letter-spacing: 0;
  line-height: 200%;
}
* + .ttl {
  margin-top: 40px;
}
@media screen and (max-width: 640px) {
  * + .ttl {
    margin-top: 20px;
  }
}

p {
  margin: 20px auto;
  text-align: left;
}
@media screen and (max-width: 640px) {
  p {
    margin: 10px auto;
  }
}
p + .ex {
  margin-top: -10px;
}
p.img + .ex {
  margin-top: 10px;
}

em {
  font-weight: bold;
  font-size: 110%;
}
em.red {
  color: #c02138;
}
em.blue {
  color: #52b3e4;
}
em.green {
  color: #1eb396;
}
em.orange {
  color: #faa531;
}

figure p {
  text-align: center;
}
figure + .ttl,
figure + figure {
  margin-top: 20px;
}
@media screen and (max-width: 640px) {
  figure + .ttl,
figure + figure {
    margin-top: 10px;
  }
}

.ex {
  font-size: 90%;
  font-weight: normal;
  vertical-align: middle;
  line-height: 160%;
}

b {
  font-weight: bold;
}

.mainImg {
  position: relative;
  text-align: center;
  height: 150px;
  display: table;
  width: 100%;
  padding: 0 20px;
  background: url("/common/img/main_common01.png") no-repeat 50% 50%;
  background-size: cover;
}
@media screen and (max-width: 640px) {
  .mainImg {
    height: 80px;
    padding: 0 0px;
  }
}
.mainImg:before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: -o-linear-gradient(left, #333333 0%, rgba(51, 51, 51, 0) 30%);
  background: -webkit-gradient(linear, left top, right top, from(#333333), color-stop(30%, rgba(51, 51, 51, 0)));
  background: linear-gradient(to right, #333333 0%, rgba(51, 51, 51, 0) 30%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr=$black, endColorstr=rgba($black,0),GradientType=1 );
  z-index: 1;
  opacity: 0.8;
}
@media screen and (max-width: 768px) {
  .mainImg:before {
    background: -o-linear-gradient(left, #333333 0%, rgba(51, 51, 51, 0) 50%);
    background: -webkit-gradient(linear, left top, right top, from(#333333), color-stop(50%, rgba(51, 51, 51, 0)));
    background: linear-gradient(to right, #333333 0%, rgba(51, 51, 51, 0) 50%);
  }
}
.mainImg .inner {
  display: table-cell;
  vertical-align: middle;
}
.mainImg .mainTtl {
  position: relative;
  text-align: left;
  font-size: 2.2rem;
  color: #FFFFFF;
  line-height: 100%;
  margin: 0 auto;
  text-shadow: 0px 0px 40px #333333, 0px 0px 80px #333333, 0px 0px 80px #333333, 0px 0px 100px #333333, 0px 0px 100px #333333, 0px 0px 200px #333333, 0px 0px 200px #333333, 0px 0px 300px #333333;
  z-index: 2;
}
@media screen and (max-width: 640px) {
  .mainImg .mainTtl {
    font-size: 18px;
    margin-left: 0;
  }
}

body.feature .mainImg {
  background-image: url("/common/img/main_feature01.png");
}

body.reform .mainImg {
  background-image: url("/common/img/main_reform01.png");
}

body.story .mainImg {
  background-image: url("/common/img/main_story01.png");
}

body.works .mainImg {
  background-image: url("/common/img/main_works01.png");
}

body.company .mainImg {
  background-image: url("/common/img/main_company01.png");
}

body.info .mainImg {
  background-image: url("/common/img/main_info01.png");
}

body.event .mainImg {
  background-image: url("/common/img/main_event01.png");
}

body.news .mainImg {
  background-image: url("/common/img/main_news01.png");
}

body.blog .mainImg {
  background-image: url("/common/img/main_blog01.png");
}

body.other .mainImg {
  background-image: url("/common/img/main_other01.png");
}

#breadCrumb {
  padding: 7px 0;
  text-align: left;
  background: #2d4348;
  line-height: 100%;
}
@media screen and (max-width: 640px) {
  #breadCrumb .inner {
    padding-top: 0;
    padding-bottom: 0;
  }
}
#breadCrumb ul li {
  position: relative;
  display: inline-block;
  font-size: 1.2rem;
  vertical-align: middle;
  padding-right: 20px;
  letter-spacing: 0;
  color: #FFFFFF;
}
@media screen and (max-width: 640px) {
  #breadCrumb ul li {
    font-size: 1rem;
    padding-right: 18px;
  }
}
#breadCrumb ul li a {
  color: #FFFFFF;
  text-decoration: none;
  line-height: 100%;
}
#breadCrumb ul li a:hover {
  text-decoration: underline;
}
#breadCrumb ul li:before {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 7px;
  margin: auto;
  content: "";
  vertical-align: middle;
  width: 6px;
  height: 6px;
  margin: auto;
  border-top: 1px solid #FFFFFF;
  border-right: 1px solid #FFFFFF;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
      transform: rotate(45deg);
}
@media screen and (max-width: 640px) {
  #breadCrumb ul li:before {
    right: 4px;
    width: 5px;
    height: 5px;
  }
}
#breadCrumb ul li:last-child {
  padding-right: 0;
}
#breadCrumb ul li:last-child:before {
  display: none;
}

.inner {
  position: relative;
  max-width: 1024px;
  width: auto;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 1280px) {
  .inner {
    width: 85vw;
    max-width: 1280px;
  }
}
@media screen and (max-width: 1024px) {
  .inner {
    padding: 0 20px;
  }
}
@media screen and (max-width: 640px) {
  .inner {
    padding: 0 15px;
  }
}
.inner .inner {
  padding: 0;
}

#main {
  clear: both;
  overflow: hidden;
}

.bg {
  background: #f2f2f2;
}

.border {
  position: relative;
  border: 1px solid #bfbfbf;
  padding: 10px 20px;
  margin-top: 40px;
  margin-bottom: 40px;
}
@media screen and (max-width: 640px) {
  .border {
    padding: 3px 10px;
    margin-top: 30px;
    margin-bottom: 30px;
  }
}
.border.red {
  border-color: #c02138;
}
.border.red .pickup {
  background: #c02138;
}
.border.blue {
  border-color: #52b3e4;
}
.border.blue .pickup {
  background: #52b3e4;
}
.border.green {
  border-color: #1eb396;
}
.border.green .pickup {
  background: #1eb396;
}
.border.orange {
  border-color: #faa531;
}
.border.orange .pickup {
  background: #faa531;
}
@media screen and (max-width: 640px) {
  .border .subHead {
    font-size: 16px;
    letter-spacing: 0.03em;
  }
}
@media screen and (max-width: 640px) {
  .border.form p {
    font-size: 11px;
    line-height: 160%;
  }
}
@media screen and (max-width: 640px) {
  .border p {
    font-size: 95%;
  }
}
.border .pickup {
  position: absolute;
  display: inline-block;
  top: -15px;
  left: 20px;
  font-family: arial, sans-serif;
  color: #FFFFFF;
  line-height: 100%;
  padding: 10px 15px 10px 20px;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 640px) {
  .border .pickup {
    padding: 5px 15px 5px 20px;
  }
}

.center {
  text-align: center;
}

section {
  position: relative;
  clear: both;
  padding-top: 60px;
  padding-bottom: 60px;
  overflow: hidden;
}
section:first-child {
  padding-top: 0;
}
@media screen and (max-width: 768px) {
  section {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}
@media screen and (max-width: 640px) {
  section {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}
section .head:first-child,
section .sectionHead:first-child,
section .subHead:first-child {
  margin-top: 0;
}
.head + section {
  padding-top: 0;
}
section.bg {
  padding: 60px 0;
}
@media screen and (max-width: 640px) {
  section.bg {
    padding: 20px 0;
  }
}

#mainColumn {
  margin: 60px auto;
}
@media screen and (max-width: 640px) {
  #mainColumn {
    margin: 20px auto;
  }
}
#mainColumn header {
  text-align: left;
  margin-bottom: 50px;
  overflow: hidden;
  border-bottom: 1px dotted #bfbfbf;
  padding-bottom: 20px;
  margin-bottom: 30px;
}
#mainColumn header h1 {
  font-size: 2.8rem;
  font-weight: bold;
  line-height: 140%;
  color: #2d4348;
}
@media screen and (max-width: 640px) {
  #mainColumn header h1 {
    font-size: 20px;
  }
}
#mainColumn header time {
  display: inline-block;
  font-size: 1.6rem;
  font-weight: bold;
  margin: 5px 10px 0 10px;
}
@media screen and (max-width: 640px) {
  #mainColumn header time {
    font-size: 1.4rem;
  }
}
#mainColumn figure.img {
  margin: 40px auto;
}

aside.pageBottom {
  margin-bottom: 60px;
}
aside.pageBottom ul[class*=List] {
  margin-top: 0;
}
@media screen and (max-width: 640px) {
  aside.pageBottom {
    margin-bottom: 20px;
  }
}

#relation {
  clear: both;
  padding-top: 40px;
  padding-bottom: 40px;
  overflow: hidden;
}
@media screen and (max-width: 640px) {
  #relation {
    padding-top: 20px;
    padding-bottom: 20px;
  }
}
#relation .subHead {
  margin: 0 0 10px;
}
#relation .worksList li:nth-child(2n) {
  margin-right: 20px;
}
#relation .worksList li .tagList li:nth-child(2n) {
  margin-right: 0;
}
#relation .worksList li.slick-slide {
  margin: 0 10px;
}
@media screen and (max-width: 640px) {
  #relation .worksList li.slick-slide {
    margin: 0 10px;
  }
}
#relation .newsList li:nth-child(3n) {
  margin-right: 20px;
}
#relation .newsList li.slick-slide {
  margin: 0 10px;
}
@media screen and (max-width: 640px) {
  #relation .newsList li.slick-slide {
    margin: 0 10px;
  }
}

.tagList {
  overflow: hidden;
  margin: 10px auto 0;
}
#news .tagList {
  float: left;
}
.tagList li {
  float: left;
  display: inline-block;
}
.tagList li a {
  display: block;
  text-align: center;
  font-size: 1.2rem;
  font-weight: bold;
  margin: 0;
  margin-right: 10px;
  margin-bottom: 7px;
  padding: 3px 7px;
  color: #FFFFFF;
  background: #2d4348;
  line-height: 100%;
  text-decoration: none;
  z-index: 1;
}
@media screen and (max-width: 640px) {
  .tagList li a {
    font-size: 1rem;
  }
}
.tagList li.info a {
  background: #1eb396;
}
.tagList li.magazine a {
  background: #faa531;
}
.tagList li.staff a {
  background: #c02138;
}

#header {
  position: fixed;
  text-align: center;
  width: 100%;
  background: #FFFFFF;
  border-bottom: 1px solid #bfbfbf;
  z-index: 200;
  -webkit-transition: 0.3s ease;
  -o-transition: 0.3s ease;
  transition: 0.3s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
@media screen and (max-width: 640px) {
  #header {
    text-align: left;
    height: auto;
    border-bottom: none;
  }
}
#header .inner {
  padding-top: 30px;
  padding-bottom: 25px;
}
@media screen and (max-width: 768px) {
  #header .inner {
    padding-top: 15px;
    padding-bottom: 15px;
  }
}
@media screen and (max-width: 640px) {
  #header .inner {
    padding-top: 10px;
    padding-bottom: 10px;
    height: 60px;
  }
}
#header .logo {
  display: inline-block;
  float: left;
  text-indent: 130%;
  white-space: nowrap;
  overflow: hidden;
  width: 176px;
  margin: 5px 0;
}
@media screen and (max-width: 940px) {
  #header .logo {
    width: 150px;
  }
}
@media screen and (max-width: 768px) {
  #header .logo {
    float: none;
  }
}
#header .logo a, #header .logo > span {
  display: block;
  line-height: 100%;
  background: url("/common/img/logo01.svg") no-repeat 0 0;
  background-size: contain;
  height: 32px;
}
@media screen and (max-width: 940px) {
  #header .logo a, #header .logo > span {
    width: 150px;
  }
}
#header .logo a:hover, #header .logo > span:hover {
  text-decoration: none;
}
#header nav {
  padding-left: 20rem;
}
@media screen and (max-width: 940px) {
  #header nav {
    padding-left: 16rem;
  }
}
@media screen and (max-width: 768px) {
  #header nav {
    padding-left: 0;
  }
}

.nav {
  width: 100%;
  display: box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .nav {
    display: block;
    position: relative;
    top: 30px;
  }
}
.nav li {
  position: relative;
}
@media screen and (max-width: 940px) {
  .nav li.story {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .nav li.story {
    display: block;
  }
}
.nav li.contact {
  line-height: 100%;
}
@media screen and (max-width: 768px) {
  .nav li.contact {
    display: none;
  }
}
@media screen and (max-width: 640px) {
  .nav li.contact {
    display: block;
  }
}
.nav li.contact span {
  display: block;
  white-space: nowrap;
  text-align: center;
}
.nav li.contact span i {
  display: block;
}
.nav li.contact span .number {
  position: relative;
  display: inline-block;
  color: #c02138;
  font-size: 2.6rem;
  font-weight: bold;
  font-family: arial, sans-serif;
  padding-left: 30px;
  line-height: 100%;
}
.nav li.contact span .number:after {
  font-family: "icon";
  position: absolute;
  content: "";
  width: 8rem;
  height: 8rem;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
  font-size: 8rem;
  line-height: 100%;
  color: #c02138;
  font-weight: normal;
  text-indent: -60px;
}
.nav li.contact span .text {
  font-size: 1.2rem;
  letter-spacing: 0;
  margin-top: 2px;
}
.nav li a {
  position: relative;
  display: inline-block;
  font-size: 1.6rem;
  color: #333333;
  white-space: nowrap;
  text-decoration: none;
  letter-spacing: 0;
  overflow: visible;
}
@media screen and (max-width: 640px) {
  .nav li a {
    display: block;
    margin-bottom: 20px;
    border-bottom: 1px solid #bfbfbf;
  }
}
.nav li a:after {
  position: absolute;
  bottom: 2px;
  left: 0;
  content: "";
  width: 100%;
  height: 2px;
  background: #595959;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: 0.4s ease;
  -o-transition: 0.4s ease;
  transition: 0.4s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
@media screen and (max-width: 640px) {
  .nav li a:after {
    display: none;
  }
}
.nav li a:hover:after {
  bottom: -4px;
  opacity: 1;
  visibility: visible;
}

.navBtn {
  display: none;
}
@media screen and (max-width: 640px) {
  .navBtn {
    display: block;
    position: absolute;
    top: 0;
    right: 70px;
  }
}
.navBtn li {
  display: inline-block;
  vertical-align: top;
  width: 50px;
  height: 60px;
}
.navBtn li a, .navBtn li span {
  position: relative;
  display: block;
  text-indent: 130%;
  white-space: nowrap;
  overflow: hidden;
  width: 50px;
  height: 60px;
}
.navBtn li a:after, .navBtn li span:after {
  font-family: "icon";
  position: absolute;
  width: 50px;
  height: 60px;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  font-size: 6rem;
  line-height: 1em;
  font-weight: normal;
  text-indent: 0;
}
.navBtn li.form a:after {
  content: "";
  color: #2d4348;
}
.navBtn li.contact a:after, .navBtn li.contact span:after {
  content: "";
  color: #c02138;
}

body.category .nav li:nth-child(1) a,
body.about .nav li:nth-child(2) a,
body.activity .nav li:nth-child(3) a,
body.course .nav li:nth-child(4) a,
body.examination .nav li:nth-child(5) a,
body.job .nav li:nth-child(6) a,
body.campuslife .nav li:nth-child(7) a {
  background: rgba(192, 33, 56, 0.8);
}

.navBanner {
  display: none;
}
@media screen and (max-width: 640px) {
  .navBanner {
    display: block;
    padding: 15px 25px;
    background: #FFFFFF;
  }
  .navBanner li {
    margin-top: 15px;
  }
  .navBanner li:first-child {
    margin-top: 0;
  }
}

.splinkNav {
  display: none;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .splinkNav {
    display: block;
    background: #372f2e;
    background: rga(#372f2e, 0.8);
    display: box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 15px 25px 5px;
  }
  .splinkNav li {
    width: 50%;
    margin-bottom: 13px;
  }
  .splinkNav li:nth-child(odd) a {
    margin-right: 7px;
  }
  .splinkNav li:nth-child(even) a {
    margin-left: 7px;
  }
  .splinkNav li a {
    font-size: 12px;
    padding: 3px 10px;
    color: #595959;
    background: #FFFFFF;
    background: rgba(255, 255, 255, 0.95);
  }
  .splinkNav li a[target=_blank] {
    display: block;
  }
  .splinkNav li.contact {
    width: 100%;
  }
  .splinkNav li.contact a {
    font-size: 14px;
    margin-right: 0;
    background: #c02138;
    color: #595959;
    padding-top: 7px;
    padding-bottom: 7px;
  }
}

@media screen and (min-width: 640px) {
  .menuTrigger,
.menuTrigger span {
    display: none;
  }
}
@media screen and (max-width: 640px) {
  body.fixed #wrapper {
    display: none;
  }

  #header {
    border-bottom: none;
  }
  #header.open {
    position: static;
    top: 0;
    left: 0;
    width: 100%;
  }

  nav {
    display: none;
    height: auto;
  }
  .open nav {
    display: block;
    height: 100vh;
    overflow: scroll;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 60px;
  }

  .menuTrigger,
.menuTrigger span {
    display: inline-block;
    -webkit-transition: 0.2s ease;
    -o-transition: 0.2s ease;
    transition: 0.2s ease;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }

  .menuTrigger {
    position: absolute;
    display: block;
    width: 60px;
    height: 60px;
    float: right;
    right: 0;
    top: 0;
    z-index: 6000;
    cursor: pointer;
    background: #2d4348;
    -webkit-transition: 1s ease;
    -o-transition: 1s ease;
    transition: 1s ease;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
    color: #FFFFFF;
    line-height: 100%;
    font-size: 11px;
    padding: 43px 0 0;
    text-align: center;
    letter-spacing: 0;
  }
  .menuTrigger span {
    position: absolute;
    left: 50%;
    width: 26px;
    height: 2px;
    margin-left: -13px;
    background-color: #FFFFFF;
  }
  .menuTrigger span:nth-of-type(1) {
    top: 18px;
  }
  .menuTrigger span:nth-of-type(2) {
    top: 28px;
  }
  .menuTrigger span:nth-of-type(3) {
    top: 38px;
  }

  .menuTrigger:not(.active):hover span:nth-of-type(1) {
    top: 16px;
  }

  .menuTrigger:not(.active):hover span:nth-of-type(3) {
    top: 40px;
  }

  .menuTrigger.active span:nth-of-type(1) {
    -webkit-transform: translateY(10px) rotate(-45deg);
    -ms-transform: translateY(10px) rotate(-45deg);
        transform: translateY(10px) rotate(-45deg);
  }
  .menuTrigger.active span:nth-of-type(2) {
    opacity: 0;
  }
  .menuTrigger.active span:nth-of-type(3) {
    -webkit-transform: translateY(-10px) rotate(45deg);
    -ms-transform: translateY(-10px) rotate(45deg);
        transform: translateY(-10px) rotate(45deg);
  }
}
#footer {
  clear: both;
  text-align: center;
  background: #eff4f5;
}
#footer .inner {
  position: relative;
}
#footer .footerAddress {
  overflow: hidden;
  background: #2d4348;
  color: #FFFFFF;
  padding: 20px 0;
}
#footer .pageTop {
  position: relative;
  text-align: right;
  margin: 0;
  width: 100%;
}
#footer .pageTop a {
  position: fixed;
  bottom: 60px;
  right: 60px;
  display: inline-block;
  *display: inline;
  *zoom: 1;
  vertical-align: top;
  width: 60px;
  height: 60px;
  background: #2d4348;
  z-index: 100;
}
@media screen and (max-width: 1024px) {
  #footer .pageTop a {
    right: 30px;
  }
}
@media screen and (max-width: 640px) {
  #footer .pageTop a {
    right: 10px;
    bottom: 10px;
    width: 47px;
    height: 47px;
  }
}
#footer .pageTop a.scrollBottom {
  bottom: 69px;
}
@media screen and (max-width: 640px) {
  #footer .pageTop a.scrollBottom {
    bottom: 98px;
  }
}
#footer .pageTop a:hover {
  background: #c02138;
}
#footer .pageTop a:hover span:before {
  margin-top: -12px;
}
#footer .pageTop a:hover span:after {
  margin-top: -12px;
}
#footer .pageTop a span {
  position: relative;
  display: block;
  text-indent: 130%;
  white-space: nowrap;
  overflow: hidden;
  height: 60px;
}
@media screen and (max-width: 640px) {
  #footer .pageTop a span {
    height: 47px;
  }
}
#footer .pageTop a span:before {
  position: absolute;
  content: "";
  top: 50%;
  left: 50%;
  width: 14px;
  height: 14px;
  margin: -9px 0 0 -7px;
  border-top: 2px solid #FFFFFF;
  border-right: 2px solid #FFFFFF;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  zoom: 1;
  -webkit-transition: 0.2s ease;
  -o-transition: 0.2s ease;
  transition: 0.2s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
@media screen and (max-width: 640px) {
  #footer .pageTop a span:before {
    width: 11px;
    height: 11px;
    margin: -8px 0 0 -6px;
    border-width: 1px;
  }
}
#footer .pageTop a span:after {
  position: absolute;
  content: "";
  top: 50%;
  left: 50%;
  width: 2px;
  height: 21px;
  margin: -9px 0 0 -1px;
  background: #FFFFFF;
  -webkit-transition: 0.2s ease;
  -o-transition: 0.2s ease;
  transition: 0.2s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
@media screen and (max-width: 640px) {
  #footer .pageTop a span:after {
    height: 17px;
    margin: -9px 0 0 -1px;
    width: 1px;
  }
}
#footer .footerLink {
  float: left;
  line-height: 100%;
  margin-top: 5px;
}
@media screen and (max-width: 768px) {
  #footer .footerLink {
    float: none;
    clear: both;
    text-align: center;
    margin-top: 10px;
  }
}
#footer .footerLink li {
  display: inline-block;
  vertical-align: top;
  margin-left: 10px;
  border-left: 1px solid #FFFFFF;
  padding-left: 1em;
}
@media screen and (max-width: 768px) {
  #footer .footerLink li {
    margin-left: 5px;
    padding-left: 0.5em;
  }
}
#footer .footerLink li:first-child {
  border: none;
  margin-left: 0px;
  padding-left: 0;
}
#footer .footerLink li a {
  color: #FFFFFF;
  font-size: 12px;
  text-decoration: none;
  letter-spacing: 0;
}
@media screen and (max-width: 640px) {
  #footer .footerLink li a {
    font-size: 1rem;
  }
}
#footer .footerLink li a:hover {
  text-decoration: underline;
}
#footer .copyright {
  float: right;
  margin: 0;
  margin-left: 3rem;
}
@media screen and (max-width: 768px) {
  #footer .copyright {
    float: none;
    clear: both;
    text-align: center;
    line-height: 0;
    margin-top: 20px;
  }
}
#footer .copyright small {
  font-size: 1.2rem;
}
@media screen and (max-width: 640px) {
  #footer .copyright small {
    line-height: 140%;
  }
}
#footer .footerBnr {
  display: block;
  clear: both;
  padding: 30px 0 80px;
}
#footer .footerBnr ul {
  display: box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -ms-flex-line-pack: justify;
      align-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin: 0 -15px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0;
}
#footer .footerBnr ul li {
  width: calc((100% - (15px * 3)) / 4);
  text-align: center;
}
@media screen and (max-width: 768px) {
  #footer .footerBnr ul li {
    width: calc((100% - (15px * 1)) / 2);
  }
}
#footer .footerBnr ul li + li {
  margin-left: 15px;
}
@media screen and (max-width: 768px) {
  #footer .footerBnr ul li + li {
    margin-left: 0;
  }
}
@media screen and (max-width: 768px) {
  #footer .footerBnr ul li:nth-child(even) {
    margin-left: 15px;
  }
}
#footer .footerBnr ul li:nth-child(1), #footer .footerBnr ul li:nth-child(2) {
  margin-bottom: 15px;
}
#footer .footerNav {
  display: block;
  width: 100%;
  padding: 60px 0 30px;
  text-align: left;
  font-size: 0;
}
@media screen and (max-width: 640px) {
  #footer .footerNav {
    padding: 0;
  }
}
#footer .footerNav .inner {
  display: box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -ms-flex-line-pack: justify;
      align-content: space-between;
}
@media screen and (max-width: 768px) {
  #footer .footerNav .inner {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media screen and (max-width: 640px) {
  #footer .footerNav .inner {
    display: block;
    padding: 0;
  }
}
#footer .footerNav .inner > ul {
  width: 23%;
}
#footer .footerNav .inner > ul:nth-child(3) {
  width: 15%;
}
#footer .footerNav .inner > ul:nth-child(5) {
  width: 15%;
}
@media screen and (max-width: 640px) {
  #footer .footerNav .inner > ul {
    width: 50%;
    float: left;
  }
  #footer .footerNav .inner > ul:nth-child(3) {
    width: 50%;
  }
  #footer .footerNav .inner > ul:nth-child(5) {
    width: 100%;
    border-bottom: 1px solid #FFFFFF;
  }
  #footer .footerNav .inner > ul:nth-child(5) a {
    width: 50%;
    float: left;
  }
}
#footer .footerNav .inner > ul > li > a {
  font-size: 1.8rem;
  color: #372f2e;
  font-weight: bold;
  margin-bottom: 15px;
  text-decoration: none;
}
#footer .footerNav .inner > ul > li > a:hover {
  text-decoration: underline;
}
@media screen and (max-width: 640px) {
  #footer .footerNav .inner > ul > li > a {
    position: relative;
    border: none;
    margin: 0px;
    padding: 10px;
    border: 1px solid #FFFFFF;
    font-size: 1.4rem;
    font-weight: bold;
  }
  #footer .footerNav .inner > ul > li > a:before {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 10px;
    margin: auto;
    content: "";
    vertical-align: middle;
    width: 7px;
    height: 7px;
    border-top: 2px solid #2d4348;
    border-right: 2px solid #2d4348;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    zoom: 1;
    -webkit-transition: 0.2s ease;
    -o-transition: 0.2s ease;
    transition: 0.2s ease;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
  }
}
@media screen and (max-width: 640px) {
  #footer .footerNav .inner > ul > li ul {
    display: none;
  }
}
#footer .footerNav .inner > ul > li ul + a {
  margin-top: 20px;
}
@media screen and (max-width: 640px) {
  #footer .footerNav .inner > ul > li ul + a {
    margin: 0;
  }
}
#footer .footerNav .inner > ul > li ul li {
  line-height: 100%;
}
#footer .footerNav .inner > ul > li ul li a {
  display: inline-block;
  position: relative;
  font-size: 1.4rem;
  color: #333333;
  padding-left: 16px;
  white-space: nowrap;
  line-height: 100%;
  padding-top: 5px;
  padding-bottom: 5px;
  text-decoration: none;
}
#footer .footerNav .inner > ul > li ul li a:hover {
  text-decoration: underline;
}
#footer .footerNav .inner > ul > li ul li a:hover:after {
  text-decoration: none;
}
#footer .footerNav .inner > ul > li ul li a:after {
  position: absolute;
  content: "・";
  top: 0;
  left: 0;
  bottom: 0;
  width: 1em;
  height: 1em;
  margin: auto;
  font-size: 15px;
  font-weight: bold;
  line-height: 100%;
  color: #372f2e;
}
#footer .footerNav .inner > ul > li ul li a[target=_blank] {
  color: #333333;
}

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

.tabList {
  text-align: center;
  font-size: 0;
  line-height: 100%;
  margin-bottom: 60px;
}
@media screen and (max-width: 640px) {
  .tabList {
    margin-bottom: 40px;
  }
}
.tabList li {
  display: inline-block;
  margin: 0 2px 4px;
}
@media screen and (max-width: 640px) {
  .tabList li {
    margin: 0 4px 7px;
  }
}
.tabList li a {
  display: block;
  font-size: 14px;
  background: #a2a2a2;
  color: #FFFFFF;
  padding: 10px 35px;
  line-height: 100%;
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
  text-decoration: none;
}
@media screen and (max-width: 768px) {
  .tabList li a {
    padding: 15px 20px;
    font-size: 12px;
  }
}
@media screen and (max-width: 640px) {
  .tabList li a {
    padding: 7px 10px;
    font-size: 11px;
    letter-spacing: 0;
    border-radius: 30px;
  }
}
.tabList li a.active, .tabList li a:hover {
  text-decoration: none;
  color: #333333;
  background: #c02138;
}
.tabList li a.active {
  pointer-events: none;
  cursor: default;
}

.featureList {
  display: box;
  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;
  clear: both;
  max-width: 900px;
  margin: 0 auto;
  margin-top: 60px;
}
@media screen and (max-width: 640px) {
  .featureList {
    margin-top: 30px;
  }
}
.featureList li {
  width: calc((100% - (20px * 1)) / 2);
  margin: 6px 45px 0px;
  max-width: 335px;
}
@media screen and (max-width: 1024px) {
  .featureList li {
    margin: 6px 20px 0px;
  }
}
@media screen and (max-width: 768px) {
  .featureList li {
    width: calc((100% - (40px * 1)) / 2);
    margin: 6px 10px 0px;
  }
}
@media screen and (max-width: 640px) {
  .featureList li {
    width: calc((100% - (30px * 1)) / 2);
    margin: 6px 7px 0px;
  }
}
.featureList li a {
  text-align: center;
  text-decoration: none;
}
.featureList li a .subHead {
  font-size: 2rem;
  text-align: center;
  margin: 10px auto 10px;
}
@media screen and (max-width: 640px) {
  .featureList li a .subHead {
    font-size: 1.4rem;
  }
}
.featureList li a .text {
  text-align: left;
  line-height: 160%;
  margin-top: 10px;
}
@media screen and (max-width: 640px) {
  .featureList li a .text {
    font-size: 1.3rem;
  }
}
.featureList li a .img {
  position: relative;
  border: 1px solid #bfbfbf;
  border-radius: 13px;
  padding: 15px 40px;
}
@media screen and (max-width: 640px) {
  .featureList li a .img {
    padding: 5px 10px;
  }
}
.featureList li a figure {
  position: relative;
  overflow: hidden;
  padding-bottom: 67%;
}
.featureList li a figure img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  max-width: 100%;
  -webkit-transition: 0.5s ease;
  -o-transition: 0.5s ease;
  transition: 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.seismicList {
  display: box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.seismicList li {
  position: relative;
  width: calc((100% - (200px * 1)) / 2);
  margin: 6px 40px 0px;
  counter-increment: count;
  list-style-type: none;
}
@media screen and (max-width: 768px) {
  .seismicList li {
    width: calc((100% - (60px * 1)) / 2);
    margin: 6px 15px 0px;
  }
}
@media screen and (max-width: 640px) {
  .seismicList li {
    width: 100%;
    margin: 0 0 20px;
  }
}
.seismicList li .subHead {
  position: relative;
  text-align: center;
  font-size: 2.2rem;
  color: #372f2e;
  letter-spacing: 0;
  margin: 10px 0;
  padding-top: 85px;
  line-height: 140%;
}
@media screen and (max-width: 640px) {
  .seismicList li .subHead {
    font-size: 1.8rem;
  }
}
.seismicList li .subHead:after {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 70px;
  display: marker;
  content: counter(count);
  text-align: center;
  color: #FFFFFF;
  font-size: 3.2rem;
  font-family: arial, sans-serif;
  line-height: 90px;
}
.seismicList li .subHead:before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 70px;
  height: 70px;
  display: marker;
  content: "取り組み";
  text-align: center;
  color: #FFFFFF;
  line-height: 40px;
  font-size: 1.3rem;
  letter-spacing: 0;
  font-weight: bold;
  letter-spacing: 0;
  background: #c02138;
  border-radius: 50%;
}
.seismicList li .text {
  margin-top: 15px;
}

.sketch {
  background: url("/img/feature/bg_sketch_01.jpg") no-repeat 0 0;
  background-size: cover;
  padding: 40px 40px 20px 100px;
  width: 992px;
  margin: 0 auto;
}
@media screen and (max-width: 1024px) {
  .sketch {
    width: 96.5vw;
  }
}
@media screen and (max-width: 768px) {
  .sketch {
    padding: 30px 20px 20px 20px;
    width: auto;
  }
}
@media screen and (max-width: 640px) {
  .sketch {
    padding: 20px 0 20px 0px;
  }
}
.sketch .info {
  position: relative;
  padding-left: 40px;
  font-weight: bold;
  margin: 0;
}
.sketch .info:before {
  font-family: "icon";
  position: absolute;
  content: "";
  width: 8rem;
  height: 8rem;
  top: 0;
  left: -15px;
  bottom: 0;
  margin: auto;
  font-size: 8rem;
  font-weight: normal;
  line-height: 100%;
  color: #c02138;
}
.sketch .sketchIn {
  position: relative;
  padding: 40px 0;
}
@media screen and (max-width: 640px) {
  .sketch .sketchIn {
    padding: 20px 0;
  }
}
.sketch .sketchIn ul li {
  position: absolute;
  top: 0;
  left: 0;
}
.sketch .sketchIn ul li a {
  position: relative;
  display: block;
  text-align: center;
  width: 112px;
  height: 112px;
  background: #c02138;
  border-radius: 50%;
  text-decoration: none;
  line-height: 100%;
}
@media screen and (max-width: 1024px) {
  .sketch .sketchIn ul li a {
    width: 11.2vw;
    height: 11.2vw;
  }
}
@media screen and (max-width: 640px) {
  .sketch .sketchIn ul li a {
    width: 60px;
    height: 60px;
  }
}
.sketch .sketchIn ul li a:hover {
  -webkit-transform: scale(1.1);
      -ms-transform: scale(1.1);
          transform: scale(1.1);
  opacity: 1;
}
.sketch .sketchIn ul li a:before {
  font-family: "icon";
  position: absolute;
  content: "";
  width: 10rem;
  height: 10rem;
  left: 0;
  right: 0;
  bottom: -22px;
  margin: auto;
  font-size: 10rem;
  font-weight: normal;
  line-height: 100%;
  color: #FFFFFF;
}
@media screen and (max-width: 1024px) {
  .sketch .sketchIn ul li a:before {
    width: 10vw;
    height: 10vw;
    bottom: -2.2vw;
    font-size: 10vw;
  }
}
@media screen and (max-width: 768px) {
  .sketch .sketchIn ul li a:before {
    bottom: -2.2vw;
  }
}
.sketch .sketchIn ul li a span {
  position: relative;
  top: 25%;
  color: #FFFFFF;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 120%;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 1024px) {
  .sketch .sketchIn ul li a span {
    font-size: 1.6vw;
  }
}
@media screen and (max-width: 768px) {
  .sketch .sketchIn ul li a span {
    top: 14%;
    line-height: 110%;
  }
}
@media screen and (max-width: 640px) {
  .sketch .sketchIn ul li a span {
    font-size: 1rem;
  }
}
.sketch .sketchIn ul li.btn01 {
  top: 232px;
  left: 193px;
}
@media screen and (max-width: 1024px) {
  .sketch .sketchIn ul li.btn01 {
    top: 23.2vw;
    left: 18.3vw;
  }
}
.sketch .sketchIn ul li.btn02 {
  top: 96px;
  left: 573px;
}
@media screen and (max-width: 1024px) {
  .sketch .sketchIn ul li.btn02 {
    top: 11.6vw;
    left: 53.3vw;
  }
}
@media screen and (max-width: 768px) {
  .sketch .sketchIn ul li.btn02 {
    top: 13.6vw;
    left: 63.3vw;
  }
}
.sketch .sketchIn ul li.btn03 {
  top: 282px;
  left: 639px;
}
@media screen and (max-width: 1024px) {
  .sketch .sketchIn ul li.btn03 {
    top: 28.2vw;
    left: 60.9vw;
  }
}
@media screen and (max-width: 768px) {
  .sketch .sketchIn ul li.btn03 {
    top: 31.2vw;
    left: 67.9vw;
  }
}
.sketch .sketchIn ul li.btn04 {
  top: 405px;
  left: 452px;
}
@media screen and (max-width: 1024px) {
  .sketch .sketchIn ul li.btn04 {
    top: 40.5vw;
    left: 43.2vw;
  }
}
@media screen and (max-width: 768px) {
  .sketch .sketchIn ul li.btn04 {
    top: 42.5vw;
  }
}
@media screen and (max-width: 640px) {
  .sketch .sketchIn ul li.btn04 {
    top: 39.5vw;
  }
}
.sketch .sketchIn ul li.btn05 {
  top: 102px;
  left: 512px;
}
@media screen and (max-width: 1024px) {
  .sketch .sketchIn ul li.btn05 {
    top: 10.2vw;
    left: 51.2vw;
  }
}

@media screen and (max-width: 640px) {
  .subsidyTable {
    margin-top: 40px;
  }
}
@media screen and (max-width: 640px) {
  .subsidyTable .ttl {
    color: #c02138;
    font-size: 1.6rem;
    padding: 5px 15px;
  }
}

.remodal .modalFrame {
  background: #FFFFFF;
  padding: 30px;
  max-width: 660px;
  margin: 0 auto;
  background: #FFFFFF url("/img/feature/bg_workspace_modal01.jpg") no-repeat 50% 100%;
  background-size: contain;
}
@media screen and (max-width: 768px) {
  .remodal .modalFrame {
    padding: 20px;
  }
}
@media screen and (max-width: 640px) {
  .remodal .modalFrame {
    padding: 15px;
  }
}
.remodal .modalFrame .subHead {
  font-size: 1.8rem;
  color: #c02138;
  margin-bottom: 5px;
}
.remodal .modalFrame .subHead + p {
  margin-top: 0;
}
.remodal .modalFrame .ttl {
  font-size: 1.6rem;
  padding: 0;
  margin-top: 20px;
  margin-bottom: 5px;
  background: none;
}
.remodal .modalFrame .ttl + p {
  margin-top: 0;
}

body.reform .subHead.center {
  margin-bottom: 10px;
}

.reformImg {
  display: box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 1024px;
  margin-left: auto;
  margin-right: auto;
}
.reformImg li {
  width: calc((100% - (4px * 2)) / 3);
  margin-top: 6px;
}

.reformHead {
  position: relative;
  padding: 10px 10px 10px 100px;
  background: #f2f2f2;
}
.reformHead:before {
  font-family: "icon";
  position: absolute;
  content: "";
  width: 13rem;
  height: 13rem;
  top: 0;
  left: -15px;
  bottom: 0;
  margin: auto;
  font-size: 13rem;
  font-weight: normal;
  line-height: 100%;
  color: #372f2e;
}
.reformHead.barrierfree:before {
  content: "";
}
.reformHead.bathroom:before {
  content: "";
}
.reformHead.energy:before {
  content: "";
}
.reformHead.exterior:before {
  content: "";
}
.reformHead.interior:before {
  content: "";
}
.reformHead.kitchen:before {
  content: "";
}
.reformHead.rebuilding:before {
  content: "";
}
.reformHead.seismic:before {
  content: "";
}
.reformHead.toilet:before {
  content: "";
}
.reformHead.whole:before {
  content: "";
}

.reformList {
  display: box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.reformList li {
  width: calc((100% - (6px * 2)) / 3);
  margin-top: 6px;
}
@media screen and (max-width: 768px) {
  .reformList li {
    width: calc((100% - (6px * 1)) / 2);
  }
}
.reformList li a {
  position: relative;
  text-align: center;
  padding: 120px 20px 30px;
  background: #FFFFFF;
  border: 2px solid #FFFFFF;
  border-radius: 13px;
  text-decoration: none;
}
@media screen and (max-width: 768px) {
  .reformList li a {
    padding: 100px 15px 20px;
  }
}
@media screen and (max-width: 640px) {
  .reformList li a {
    padding: 80px 10px 10px;
    letter-spacing: 0;
  }
}
.reformList li a:hover {
  border-color: #c02138;
}
.reformList li .subHead {
  text-align: center;
  color: #372f2e;
  font-size: 2.2rem;
  margin-bottom: 5px;
}
@media screen and (max-width: 640px) {
  .reformList li .subHead {
    font-size: 1.6rem;
  }
}
.reformList li .text {
  margin: 0;
  line-height: 140%;
}
@media screen and (max-width: 640px) {
  .reformList li .text {
    font-size: 1.3rem;
  }
}
.reformList li.wateraround a:after, .reformList li.interior a:after, .reformList li.exterior a:after, .reformList li.subsidy a:after, .reformList li.whole a:after, .reformList li.rebuilding a:after {
  font-family: "icon";
  position: absolute;
  content: "";
  width: 13rem;
  height: 13rem;
  top: 10px;
  left: 0;
  right: 0;
  margin: auto;
  font-size: 13rem;
  line-height: 100%;
  color: #c02138;
}
@media screen and (max-width: 768px) {
  .reformList li.wateraround a:after, .reformList li.interior a:after, .reformList li.exterior a:after, .reformList li.subsidy a:after, .reformList li.whole a:after, .reformList li.rebuilding a:after {
    top: -10px;
  }
}
@media screen and (max-width: 640px) {
  .reformList li.wateraround a:after, .reformList li.interior a:after, .reformList li.exterior a:after, .reformList li.subsidy a:after, .reformList li.whole a:after, .reformList li.rebuilding a:after {
    width: 10rem;
    height: 10rem;
    font-size: 10rem;
    top: -5px;
  }
}
.reformList li.wateraround a:after {
  content: "";
}
.reformList li.interior a:after {
  content: "";
}
.reformList li.exterior a:after {
  content: "";
}
.reformList li.subsidy a:after {
  content: "";
}
.reformList li.whole a:after {
  content: "";
}
.reformList li.rebuilding a:after {
  content: "";
}
.reformList li.whole .subHead {
  letter-spacing: -0.02em;
}

.reformDetailList {
  overflow: hidden;
  margin-right: -40px;
}
@media screen and (max-width: 640px) {
  .reformDetailList {
    margin-right: -15px;
  }
}
.reformDetailList li {
  float: left;
  width: calc((100% - (40px * 3)) / 3);
  margin: 20px 40px 20px 0;
}
@media screen and (max-width: 640px) {
  .reformDetailList li {
    width: calc((100% - (15px * 2)) /2);
    margin: 15px 15px 15px 0;
  }
}
.reformDetailList li .img {
  position: relative;
}
.reformDetailList li figure {
  position: relative;
  overflow: hidden;
  border-radius: 13px;
  padding-bottom: 67%;
}
.reformDetailList li figure img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  max-width: 100%;
  -webkit-transition: 0.5s ease;
  -o-transition: 0.5s ease;
  transition: 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  width: 100%;
}
.reformDetailList li .subHead {
  text-align: left;
  color: #372f2e;
  font-size: 2rem;
  margin-bottom: 5px;
  letter-spacing: 0;
  line-height: 140%;
}
@media screen and (max-width: 640px) {
  .reformDetailList li .subHead {
    font-size: 1.6rem;
  }
}
.reformDetailList li .text {
  margin-top: 15px;
  line-height: 140%;
}
@media screen and (max-width: 640px) {
  .reformDetailList li .text {
    font-size: 1.3rem;
  }
}
.reformDetailList li dl dt {
  float: left;
  display: inline-block;
  text-align: center;
  font-size: 1.4rem;
  font-weight: bold;
  margin: 0;
  margin-right: 0.5em;
  padding: 3px 7px;
  color: #FFFFFF;
  background: #2d4348;
  line-height: 100%;
}
@media screen and (max-width: 640px) {
  .reformDetailList li dl dt {
    font-size: 1.1rem;
    float: none;
    margin: 0 auto 5px;
  }
}
.reformDetailList li dl dd {
  float: left;
  padding: 3px 7px;
  line-height: 100%;
  font-weight: bold;
}
@media screen and (max-width: 640px) {
  .reformDetailList li dl dd {
    float: none;
    padding: 3px 0;
    font-size: 1.2rem;
  }
}

.textDetail .subHead {
  position: relative;
  font-size: 2.4rem;
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: normal;
  padding-top: 40px;
}
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .textDetail .subHead {
    font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  }
}
@media screen and (max-width: 640px) {
  .textDetail .subHead {
    padding-top: 30px;
    font-size: 1.8rem;
  }
}
.textDetail .subHead:after {
  position: absolute;
  display: block;
  content: "";
  height: 2px;
  background: #595959;
  width: 100px;
  top: 0;
  left: 0;
}
.textDetail p {
  margin: 40px auto;
}
@media screen and (max-width: 640px) {
  .textDetail p {
    margin: 30px auto;
  }
}

.mainDetail {
  position: relative;
  text-align: left;
  max-width: 1024px;
  margin-left: auto;
  margin-right: auto;
}
.mainDetail .text {
  position: absolute;
  z-index: 1;
  top: 40%;
  right: 40px;
  margin: auto;
  line-height: 140%;
}
@media screen and (max-width: 640px) {
  .mainDetail .text {
    right: 10px;
    top: 40px;
  }
}
.mainDetail .text .subHead {
  position: relative;
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: normal;
  color: #1a1a1a;
  font-size: 3.2rem;
  letter-spacing: 0;
  margin-bottom: 0;
  line-height: 135%;
  z-index: 2;
}
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .mainDetail .text .subHead {
    font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  }
}
@media screen and (max-width: 1024px) {
  .mainDetail .text .subHead {
    font-size: 3vw;
  }
}
@media screen and (max-width: 640px) {
  .mainDetail .text .subHead {
    font-size: 1.6rem;
  }
}
.mainDetail .text .name {
  color: #1a1a1a;
  text-align: right;
  margin-top: 5px;
  margin-right: 20px;
}
@media screen and (max-width: 1024px) {
  .mainDetail .text .name {
    font-size: 1.5vw;
  }
}
@media screen and (max-width: 640px) {
  .mainDetail .text .name {
    font-size: 1.2rem;
  }
}
.mainDetail .text .number {
  position: absolute;
  display: inline-block;
  background: rgba(192, 33, 56, 0.95);
  width: 100px;
  height: 100px;
  border-radius: 50%;
  top: -46%;
  left: -75px;
  z-index: 1;
  text-shadow: none;
}
@media screen and (max-width: 1024px) {
  .mainDetail .text .number {
    width: 9.4vw;
    height: 9.4vw;
  }
}
@media screen and (max-width: 640px) {
  .mainDetail .text .number {
    top: -33px;
    left: auto;
    right: 0;
    width: 45px;
    height: 45px;
  }
}
.mainDetail .text .number p {
  position: relative;
  top: 25%;
  margin: auto;
  color: #FFFFFF;
  font-weight: bold;
  text-align: center;
  line-height: 150%;
}
@media screen and (max-width: 1024px) {
  .mainDetail .text .number p {
    top: 20%;
    font-size: 1.5vw;
  }
}
@media screen and (max-width: 640px) {
  .mainDetail .text .number p {
    font-size: 1rem;
  }
}
.mainDetail .text .number p i {
  display: block;
  font-family: arial, sans-serif;
  font-size: 3.4rem;
  font-weight: normal;
  margin-top: 3px;
}
@media screen and (max-width: 1024px) {
  .mainDetail .text .number p i {
    font-size: 3.2vw;
  }
}
@media screen and (max-width: 640px) {
  .mainDetail .text .number p i {
    font-size: 1.6rem;
    margin-top: 0px;
  }
}
.mainDetail .text.story02 {
  right: auto;
  left: 100px;
  top: 25%;
  text-shadow: 0px 0px 10px #FFFFFF, 0px 0px 20px #FFFFFF, 0px 0px 20px #FFFFFF, 0px 0px 40px #FFFFFF, 0px 0px 40px #FFFFFF;
}
@media screen and (max-width: 640px) {
  .mainDetail .text.story02 {
    top: 52px;
    left: 10px;
  }
  .mainDetail .text.story02 .subHead {
    background: rgba(255, 255, 255, 0.8);
  }
  .mainDetail .text.story02 .name {
    display: inline-block;
    background: rgba(255, 255, 255, 0.8);
  }
  .mainDetail .text.story02 .number {
    top: -47px;
    left: 0;
    right: auto;
  }
}
.mainDetail .text.story03 {
  top: 65%;
  right: auto;
  left: 100px;
}
.mainDetail .text.story03 .subHead, .mainDetail .text.story03 .name {
  color: #FFFFFF;
}
@media screen and (max-width: 640px) {
  .mainDetail .text.story03 {
    text-shadow: 0px 0px 20px #333333, 0px 0px 20px #333333, 0px 0px 40px #333333, 0px 0px 40px #333333;
    top: 16vw;
    left: 63px;
  }
  .mainDetail .text.story03 .number {
    left: -53px;
    top: -3px;
  }
}
.mainDetail .text.story04 .number {
  left: -80px;
}
@media screen and (max-width: 640px) {
  .mainDetail .text.story04 {
    top: 65px;
  }
  .mainDetail .text.story04 .number {
    top: -48px;
    left: auto;
  }
}

.mainText {
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .mainText {
    font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  }
}
.mainText .subHead {
  text-align: center;
  font-weight: normal;
  font-size: 2.6rem;
}
@media screen and (max-width: 640px) {
  .mainText .subHead {
    font-size: 2.2rem;
    line-height: 140%;
  }
}
.mainText p {
  text-align: center;
  font-size: 110%;
}
@media screen and (max-width: 640px) {
  .mainText p {
    text-align: left;
    font-size: 1.4rem;
    letter-spacing: -0.05em;
    line-height: 180%;
  }
  .mainText p br {
    display: none;
  }
}

.storyHead {
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: normal;
  text-align: center;
}
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .storyHead {
    font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  }
}
@media screen and (max-width: 640px) {
  .storyHead {
    font-size: 120%;
  }
}
.storyHead i {
  display: inline-block;
  background: #c02138;
  color: #FFFFFF;
  width: 1.1em;
  height: 1.1em;
  line-height: 1em;
  border-radius: 50%;
  font-size: 150%;
  margin: 0 4px;
}

.storyList {
  display: box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.storyList li {
  position: relative;
  width: calc((100% - (40px * 1)) / 2);
  margin: 6px 10px 0px;
  counter-increment: count;
  list-style-type: none;
}
@media screen and (max-width: 640px) {
  .storyList li {
    width: 100%;
    margin: 0 0 20px;
  }
}
.storyList li a {
  position: relative;
  text-decoration: none;
}
.storyList li a .subHead {
  position: relative;
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  padding-left: 85px;
  font-size: 2.2rem;
  font-weight: normal;
  letter-spacing: 0;
  margin: 10px 0;
  line-height: 140%;
}
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .storyList li a .subHead {
    font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  }
}
@media screen and (max-width: 640px) {
  .storyList li a .subHead {
    font-size: 1.8rem;
    letter-spacing: -0.04em;
    padding-left: 60px;
    margin-top: -60px;
    left: 10px;
    color: #FFFFFF;
    text-shadow: 0px 0px 20px #333333, 0px 0px 20px #333333, 0px 0px 40px #333333, 0px 0px 40px #333333;
  }
}
.storyList li a .subHead:after {
  position: absolute;
  top: 0;
  left: 0;
  width: 70px;
  display: marker;
  content: "0" counter(count);
  text-align: center;
  color: #FFFFFF;
  font-size: 3.2rem;
  font-family: arial, sans-serif;
  line-height: 75px;
}
@media screen and (max-width: 640px) {
  .storyList li a .subHead:after {
    text-shadow: none;
    width: 54px;
    font-size: 2.6rem;
    line-height: 60px;
  }
}
.storyList li a .subHead:before {
  position: absolute;
  top: -5px;
  left: 0;
  width: 70px;
  height: 70px;
  display: marker;
  content: "STORY";
  text-align: center;
  color: #FFFFFF;
  line-height: 40px;
  font-size: 1.3rem;
  font-family: "Noto Sans Japanese", "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS P Gothic", Helvetica, Arial, Verdana, sans-serif, icon;
  font-weight: bold;
  letter-spacing: 0;
  background: #c02138;
  background: #a2a2a2;
  border-radius: 50%;
}
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .storyList li a .subHead:before {
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS P Gothic", Helvetica, Arial, Verdana, sans-serif, icon;
  }
}
@media screen and (max-width: 640px) {
  .storyList li a .subHead:before {
    text-shadow: none;
    width: 54px;
    height: 54px;
    font-size: 1.1rem;
    line-height: 30px;
  }
}
.storyList li a:hover {
  text-decoration: none;
}
.storyList li a:hover .subHead:before {
  background: #c02138;
}
.storyList li a:hover figure img {
  -webkit-transform: scale(1.1);
      -ms-transform: scale(1.1);
          transform: scale(1.1);
}
.storyList li a figure {
  position: relative;
  overflow: hidden;
  border-radius: 13px;
  padding-bottom: 45%;
}
@media screen and (max-width: 640px) {
  .storyList li a figure {
    padding-bottom: 38%;
  }
}
.storyList li a figure img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  max-width: 100%;
  -webkit-transition: 0.5s ease;
  -o-transition: 0.5s ease;
  transition: 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
.storyList li a .text {
  line-height: 160%;
  margin-top: 15px;
  opacity: 0.8;
}

.eventList {
  display: box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.eventList li {
  width: calc((100% - (20px * 2)) / 3);
  margin-top: 20px;
  padding-top: 50px;
}
@media screen and (max-width: 640px) {
  .eventList li {
    width: calc((100% - (10px * 1)) / 2);
    margin-top: 10px;
    padding-top: 30px;
  }
}
.eventList li a {
  position: relative;
  text-align: center;
  padding: 65px 20px 20px;
  background: #FFFFFF;
  border: 2px solid rgba(191, 191, 191, 0.5);
  border-radius: 13px;
  text-decoration: none;
  overflow: visible;
  line-height: 140%;
}
@media screen and (max-width: 768px) {
  .eventList li a {
    padding: 65px 15px 20px;
  }
}
@media screen and (max-width: 640px) {
  .eventList li a {
    padding: 50px 15px 15px;
  }
}
.eventList li a:hover {
  border: 2px solid #c02138;
}
.eventList li .subHead {
  color: #c02138;
  font-size: 2rem;
  margin-bottom: 5px;
  letter-spacing: 0;
  line-height: 140%;
}
@media screen and (max-width: 640px) {
  .eventList li .subHead {
    font-size: 1.6rem;
  }
}

.eventList li a .entryTag,
section#event header .entryTag {
  display: inline-block;
  color: #FFFFFF;
  background: #c02138;
  font-size: 1.4rem;
  font-weight: bold;
  padding: 7px 10px;
  text-align: center;
  line-height: 100%;
  margin: 0 0 10px;
}
@media screen and (max-width: 640px) {
  .eventList li a .entryTag,
section#event header .entryTag {
    padding: 5px 10px;
    font-size: 1.2rem;
  }
}
.eventList li a .entryTag.close,
section#event header .entryTag.close {
  background: #a2a2a2;
}
.eventList li a .time, .eventList li a .place,
section#event header .time,
section#event header .place {
  position: relative;
  margin: 0;
  font-weight: bold;
  padding-left: 27px;
  margin-top: 10px;
}
@media screen and (max-width: 640px) {
  .eventList li a .time, .eventList li a .place,
section#event header .time,
section#event header .place {
    font-size: 1.2rem;
    margin-top: 5px;
  }
}
.eventList li a .time:after, .eventList li a .place:after,
section#event header .time:after,
section#event header .place:after {
  font-family: "icon";
  position: absolute;
  content: "";
  width: 6rem;
  height: 6rem;
  top: 0;
  left: 0;
  margin: auto;
  font-size: 6rem;
  color: #c02138;
  font-weight: normal;
  text-indent: -20px;
}
.eventList li a .place:after,
section#event header .place:after {
  content: "";
}
.eventList li a .date,
section#event header .date {
  position: absolute;
  top: -50px;
  left: 0;
  right: 0;
  display: inline-block;
  text-align: center;
  width: 98px;
  height: 98px;
  background: #c02138;
  border-radius: 50%;
  color: #FFFFFF;
  font-weight: bold;
  padding: 25px 0px;
  margin: 0 auto;
  line-height: 140%;
}
.eventList li a .date.close,
section#event header .date.close {
  background: #a2a2a2;
}
.eventList li a .date.close .week,
section#event header .date.close .week {
  color: #a2a2a2;
}
@media screen and (max-width: 640px) {
  .eventList li a .date,
section#event header .date {
    top: -30px;
    width: 70px;
    height: 70px;
    padding: 15px 0px;
  }
}
.eventList li a .date i,
section#event header .date i {
  font-family: arial, sans-serif;
  font-weight: bold;
  line-height: 100%;
  margin: 0 2px;
}
@media screen and (max-width: 640px) {
  .eventList li a .date i,
section#event header .date i {
    margin: 1px;
  }
}
.eventList li a .date .month,
section#event header .date .month {
  font-size: 1.6rem;
}
@media screen and (max-width: 640px) {
  .eventList li a .date .month,
section#event header .date .month {
    font-size: 1.4rem;
  }
}
.eventList li a .date .day,
section#event header .date .day {
  font-size: 2rem;
}
@media screen and (max-width: 640px) {
  .eventList li a .date .day,
section#event header .date .day {
    font-size: 1.8rem;
  }
}
.eventList li a .date .week,
section#event header .date .week {
  background: #FFFFFF;
  color: #c02138;
  border-radius: 50%;
  font-size: 1.2rem;
  width: 1.2em;
  height: 1.2em;
  line-height: 1.2em;
  padding: 2px;
}
@media screen and (max-width: 640px) {
  .eventList li a .date .week,
section#event header .date .week {
    font-size: 1rem;
    width: 1em;
    height: 1em;
    line-height: 1em;
    padding: 1px;
  }
}

section#event header {
  position: relative;
  padding-left: 140px;
}
@media screen and (max-width: 640px) {
  section#event header {
    padding-left: 80px;
  }
}
section#event header .entryTag {
  margin-bottom: 0;
}
section#event header h1 {
  margin-top: 10px;
}
@media screen and (max-width: 640px) {
  section#event header h1 {
    margin-top: 5px;
  }
}
section#event header .date {
  top: 0;
  left: 0;
  bottom: auto;
  right: auto;
  margin: auto;
  width: 120px;
  height: 120px;
  padding: 30px 0px;
}
@media screen and (max-width: 640px) {
  section#event header .date {
    width: 70px;
    height: 70px;
    padding: 15px 0px;
  }
}
section#event header .date .month {
  font-size: 2.2rem;
}
@media screen and (max-width: 640px) {
  section#event header .date .month {
    font-size: 1.4rem;
  }
}
section#event header .date .day {
  font-size: 2.8rem;
}
@media screen and (max-width: 640px) {
  section#event header .date .day {
    font-size: 1.8rem;
  }
}
section#event header .date .week {
  font-size: 1.6rem;
  width: 1.6em;
  height: 1.6em;
  line-height: 1.6em;
}
@media screen and (max-width: 640px) {
  section#event header .date .week {
    font-size: 1rem;
    width: 1em;
    height: 1em;
    line-height: 1em;
    padding: 1px;
  }
}
section#event header .place {
  margin-top: 0;
}
@media screen and (max-width: 640px) {
  section#event header .time, section#event header .place {
    margin-left: -80px;
    line-height: 140%;
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 640px) {
  section#event header .time {
    margin-top: 20px;
  }
}

#footerContact {
  background: rgba(250, 165, 49, 0.15);
}

.contactList {
  display: box;
  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;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.contactList li {
  margin: 0 3rem;
}
@media screen and (max-width: 768px) {
  .contactList li {
    margin: 0 10px;
  }
}
@media screen and (max-width: 640px) {
  .contactList li {
    margin-bottom: 15px;
  }
}
.contactList li.contact {
  line-height: 100%;
}
.contactList li.contact > a, .contactList li.contact > span {
  display: block;
  white-space: nowrap;
  text-align: center;
  border: 1px solid #c02138;
  background: #FFFFFF;
  width: 340px;
  height: 78px;
  padding: 10px;
  text-decoration: none;
  border-radius: 13px;
}
@media screen and (max-width: 768px) {
  .contactList li.contact > a, .contactList li.contact > span {
    width: 280px;
    height: 68px;
  }
}
.contactList li.contact > a i, .contactList li.contact > span i {
  display: block;
}
.contactList li.contact > a .number, .contactList li.contact > span .number {
  position: relative;
  display: inline-block;
  color: #c02138;
  font-size: 3.4rem;
  font-weight: bold;
  font-family: arial, sans-serif;
  padding-left: 47px;
  line-height: 100%;
}
@media screen and (max-width: 768px) {
  .contactList li.contact > a .number, .contactList li.contact > span .number {
    font-size: 2.8rem;
    padding-left: 30px;
  }
}
.contactList li.contact > a .number:after, .contactList li.contact > span .number:after {
  font-family: "icon";
  position: absolute;
  content: "";
  width: 10rem;
  height: 10rem;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
  font-size: 10rem;
  line-height: 100%;
  color: #c02138;
  font-weight: normal;
  text-indent: -60px;
}
@media screen and (max-width: 768px) {
  .contactList li.contact > a .number:after, .contactList li.contact > span .number:after {
    width: 8rem;
    height: 8rem;
    font-size: 8rem;
  }
}
.contactList li.contact > a .text, .contactList li.contact > span .text {
  font-size: 1.5rem;
  letter-spacing: 0;
  margin-top: 5px;
}
@media screen and (max-width: 768px) {
  .contactList li.contact > a .text, .contactList li.contact > span .text {
    font-size: 1.2rem;
    margin-top: 0;
  }
}
.contactList li.form .btn {
  margin: 0;
}
.contactList li.form .btn a {
  position: relative;
  padding: 10px 10px 10px 50px;
  width: 340px;
  height: 78px;
  font-size: 1.8rem;
  background: #c02138;
  border: 1px solid #c02138;
  color: #FFFFFF;
  font-weight: bold;
  line-height: 5.8rem;
}
@media screen and (max-width: 768px) {
  .contactList li.form .btn a {
    width: 280px;
    height: 68px;
    font-size: 1.6rem;
    line-height: 4.8rem;
  }
}
.contactList li.form .btn a:after {
  font-family: "icon";
  position: absolute;
  content: "";
  width: 7rem;
  height: 7rem;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
  font-size: 7rem;
  line-height: 100%;
  color: #FFFFFF;
  font-weight: normal;
  text-indent: 25px;
}
@media screen and (max-width: 768px) {
  .contactList li.form .btn a:after {
    width: 5rem;
    height: 5rem;
    font-size: 5rem;
  }
}
.contactList li.form .btn a:hover {
  background: #FFFFFF;
  color: #c02138;
  border: 1px solid #c02138;
}
.contactList li.form .btn a:hover:after {
  color: #c02138;
}

.anchorTab {
  display: box;
  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;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 700px;
  margin: 0 auto;
}
.anchorTab li {
  margin: 7px 5px;
}
.anchorTab li a, .anchorTab li span {
  display: block;
  color: #2d4348;
  border: 1px solid #2d4348;
  padding: 5px 10px;
  line-height: 100%;
  font-size: 1.6rem;
  cursor: pointer;
  text-decoration: none;
}
@media screen and (max-width: 640px) {
  .anchorTab li a, .anchorTab li span {
    font-size: 1.4rem;
    padding: 5px 5px;
  }
}
.anchorTab li a:hover, .anchorTab li span:hover {
  background: #c02138;
  color: #FFFFFF;
  border-color: #c02138;
}

.newsList {
  display: box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.newsList li {
  position: relative;
  width: 23.5%;
  width: calc((100% - (15px * 3)) / 4);
  margin: 10px 15px 20px 0;
  background: #FFFFFF;
}
.newsList li:nth-child(4n) {
  margin-right: 0px;
}
@media screen and (max-width: 768px) {
  .newsList li {
    width: calc((100% - (10px * 2)) / 3);
    margin-right: 10px;
    margin: 10px 10px 15px 0;
  }
  .newsList li:nth-child(4n) {
    margin-right: 10px;
  }
  .newsList li:nth-child(3n) {
    margin-right: 0;
  }
}
@media screen and (max-width: 640px) {
  .newsList li {
    margin-top: 0px;
    margin-bottom: 15px;
    width: calc((100% - (10px * 1)) / 2);
  }
  .newsList li:nth-child(3n) {
    margin-right: 10px;
  }
  .newsList li:nth-child(2n) {
    margin-right: 0;
  }
}
.newsList li a {
  text-decoration: none;
}
.newsList li a {
  position: relative;
  display: block;
  font-size: 14px;
  color: #595959;
  text-decoration: none;
}
.newsList li a:hover {
  text-decoration: none;
}
.newsList li a:hover figure img {
  -webkit-transform: scale(1.1);
      -ms-transform: scale(1.1);
          transform: scale(1.1);
}
.newsList li a .img {
  position: relative;
}
.newsList li a figure {
  position: relative;
  overflow: hidden;
  border-radius: 13px;
  padding-bottom: 67%;
}
.newsList li a figure img {
  position: absolute;
  top: -100%;
  left: -100%;
  right: -100%;
  bottom: -100%;
  margin: auto;
  max-width: 140%;
  min-width: 100%;
  min-height: 100%;
  -webkit-transition: 0.5s ease;
  -o-transition: 0.5s ease;
  transition: 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
.newsList li .text {
  position: relative;
  overflow: hidden;
  margin: 15px auto 10px;
}
.newsList li .tag {
  position: relative;
  display: inline-block;
  text-align: center;
  float: left;
  font-size: 1.2rem;
  font-weight: bold;
  margin: 0;
  padding: 3px 7px;
  color: #FFFFFF;
  background: #dddddd;
  line-height: 100%;
  z-index: 1;
}
@media screen and (max-width: 640px) {
  .newsList li .tag {
    font-size: 1rem;
  }
}
.newsList li .tag.info {
  background: #1eb396;
}
.newsList li .tag.magazine {
  background: #faa531;
}
.newsList li .tag.staff {
  background: #c02138;
}
.newsList li time {
  position: relative;
  float: right;
  display: block;
  font-size: 1.6rem;
  font-family: arial, sans-serif;
  padding: 2px 0;
  line-height: 100%;
}
@media screen and (max-width: 640px) {
  .newsList li time {
    font-size: 1.3rem;
  }
}
.newsList li .subHead {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 140%;
  letter-spacing: 0;
  padding: 0;
  margin: 0;
  border: none;
  font-family: "Noto Sans Japanese", "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS P Gothic", Helvetica, Arial, Verdana, sans-serif, icon;
}
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .newsList li .subHead {
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS P Gothic", Helvetica, Arial, Verdana, sans-serif, icon;
  }
}
@media screen and (max-width: 640px) {
  .newsList li .subHead {
    font-size: 1.6rem;
  }
}

.pager {
  font-size: 0;
  text-align: center;
  margin: 40px auto;
}
.pager span {
  display: inline-block;
  margin: 0 20px;
}
@media screen and (max-width: 640px) {
  .pager span {
    margin: 0 10px;
  }
}
.pager span a {
  display: block;
  position: relative;
  font-size: 1.6rem;
  padding: 7px 15px;
  line-height: 100%;
  color: #595959;
  border: 1px solid #bfbfbf;
  background: #FFFFFF;
  text-decoration: none;
}
@media screen and (max-width: 640px) {
  .pager span a {
    font-size: 1.4rem;
    padding: 7px 10px;
  }
}
.pager span a:hover {
  background: #c02138;
  color: #FFFFFF;
}

.pagination {
  font-size: 0;
  text-align: center;
  margin-top: 40px;
}
.pagination li {
  display: inline-block;
  margin: 0 20px;
  vertical-align: top;
}
@media screen and (max-width: 640px) {
  .pagination li {
    margin: 0 10px;
  }
}
.pagination a, .pagination span {
  display: block;
  position: relative;
  font-size: 1.6rem;
  padding: 7px 15px;
  line-height: 100%;
  color: #595959;
  border: 1px solid #bfbfbf;
  background: #FFFFFF;
  text-decoration: none;
}
@media screen and (max-width: 640px) {
  .pagination a, .pagination span {
    font-size: 1.4rem;
    padding: 7px 10px;
  }
}
.pagination a:hover, .pagination span:hover {
  background: #c02138;
  color: #FFFFFF;
}
.pagination.number li {
  margin: 0 7px;
}
@media screen and (max-width: 640px) {
  .pagination.number li {
    margin: 0 3px;
  }
}
.pagination.number a, .pagination.number span {
  padding: 0;
  font-size: 1.8rem;
  width: 40px;
  height: 40px;
  line-height: 40px;
}
@media screen and (max-width: 640px) {
  .pagination.number a, .pagination.number span {
    font-size: 1.4rem;
    width: 38px;
    height: 38px;
    line-height: 38px;
  }
}
.pagination.number .current a, .pagination.number .current span {
  background: #c02138;
  color: #FFFFFF;
  pointer-events: none;
  cursor: default;
}
.pagination.number .prev a, .pagination.number .next a {
  text-indent: 130%;
  white-space: nowrap;
  overflow: hidden;
}
.pagination.number .prev a:before, .pagination.number .next a:before {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
  width: 10px;
  height: 10px;
  border-top: 2px solid #595959;
  border-right: 2px solid #595959;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  zoom: 1;
}
.pagination.number .prev a:hover:before, .pagination.number .next a:hover:before {
  border-color: #FFFFFF;
}
.pagination.number .prev a:before {
  left: 4px;
  border: none;
  border-bottom: 2px solid #595959;
  border-left: 2px solid #595959;
}
.pagination.number .next a:before {
  right: 4px;
}

.worksList {
  display: box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.worksList li {
  position: relative;
  width: 33%;
  width: calc((100% - (30px * 2)) / 3);
  margin: 10px 30px 20px 0;
  vertical-align: top;
}
.worksList li:nth-child(3n) {
  margin-right: 0px;
}
@media screen and (max-width: 640px) {
  .worksList li {
    width: calc((100% - (20px * 1)) / 2);
    margin: 0 20px 15px 0;
  }
  .worksList li:nth-child(3n) {
    margin-right: 20px;
  }
  .worksList li:nth-child(2n) {
    margin-right: 0px;
  }
}
.worksList li a {
  position: relative;
  display: block;
  font-size: 1.2rem;
  color: #595959;
  text-decoration: none;
}
.worksList li a:hover {
  text-decoration: none;
}
.worksList li a:hover figure img {
  -webkit-transform: scale(1.1);
      -ms-transform: scale(1.1);
          transform: scale(1.1);
}
.worksList li a .img {
  position: relative;
}
.worksList li a figure {
  position: relative;
  overflow: hidden;
  border-radius: 13px;
  padding-bottom: 67%;
  margin-bottom: 10px;
}
.worksList li a figure img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  max-width: 115%;
  -webkit-transition: 0.5s ease;
  -o-transition: 0.5s ease;
  transition: 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
.worksList li .subHead {
  font-size: 2rem;
  font-weight: bold;
  line-height: 160%;
  letter-spacing: 0;
  padding: 0;
  margin: 10px auto 0;
  border: none;
  font-family: "Noto Sans Japanese", "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS P Gothic", Helvetica, Arial, Verdana, sans-serif, icon;
}
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .worksList li .subHead {
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS P Gothic", Helvetica, Arial, Verdana, sans-serif, icon;
  }
}
@media screen and (max-width: 768px) {
  .worksList li .subHead {
    font-size: 1.6rem;
  }
}
.worksList li .text {
  position: relative;
  overflow: hidden;
  font-size: 1.4rem;
  line-height: 160%;
  margin: 10px auto 15px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  max-width: inherit;
}
@media screen and (max-width: 768px) {
  .worksList li .text {
    font-size: 1.3rem;
  }
}
.worksList li .tagList li {
  width: auto;
  margin: 0;
}
.worksList li .tagList li a {
  color: #FFFFFF;
}
@media screen and (max-width: 640px) {
  .worksList li .tagList li a {
    font-size: 1rem;
  }
}

.workDetail .worksImg {
  position: relative;
  margin-bottom: 60px;
}
.workDetail .boxLeft {
  float: left;
  width: calc(100% - 300px);
}
@media screen and (max-width: 768px) {
  .workDetail .boxLeft {
    width: calc(100% - 280px);
  }
}
@media screen and (max-width: 640px) {
  .workDetail .boxLeft {
    float: none;
    width: auto;
  }
}
.workDetail .boxRight {
  float: right;
  width: 250px;
  margin-left: 30px;
  margin-top: 20px;
}
@media screen and (max-width: 640px) {
  .workDetail .boxRight {
    float: none;
    width: auto;
    margin: 30px auto 0;
  }
}

.worksPhotoList {
  display: box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.worksPhotoList > li {
  position: relative;
  width: 18%;
  width: calc((100% - (15px * 4)) / 5);
  margin: 6px 15px 6px 0;
  vertical-align: top;
}
.worksPhotoList > li:nth-child(5n) {
  margin-right: 0;
}
@media screen and (max-width: 640px) {
  .worksPhotoList > li {
    width: calc((100% - (10px * 2)) / 3);
    margin: 6px 10px 6px 0;
  }
  .worksPhotoList > li:nth-child(5n) {
    margin-right: 10px;
  }
  .worksPhotoList > li:nth-child(3n) {
    margin-right: 0;
  }
}
.worksPhotoList > li a {
  position: relative;
  display: block;
  text-decoration: none;
}
.worksPhotoList > li a:hover figure img {
  -webkit-transform: scale(1.1);
      -ms-transform: scale(1.1);
          transform: scale(1.1);
}
.worksPhotoList > li a .img {
  position: relative;
}
.worksPhotoList > li a figure {
  position: relative;
  overflow: hidden;
  border-radius: 13px;
  padding-bottom: 93%;
}
.worksPhotoList > li a figure img {
  position: absolute;
  top: -100%;
  left: -100%;
  right: -100%;
  bottom: -100%;
  margin: auto;
  max-width: 150%;
  height: 150%;
  -webkit-transition: 0.5s ease;
  -o-transition: 0.5s ease;
  transition: 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.companyList {
  display: box;
  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;
  clear: both;
  max-width: 900px;
  margin: 0 auto;
}
.companyList li {
  width: calc((100% - (20px * 1)) / 2);
  margin: 6px 45px 0px;
  max-width: 335px;
}
@media screen and (max-width: 1024px) {
  .companyList li {
    margin: 6px 20px 0px;
  }
}
@media screen and (max-width: 768px) {
  .companyList li {
    width: calc((100% - (40px * 1)) / 2);
    margin: 6px 10px 0px;
  }
}
@media screen and (max-width: 640px) {
  .companyList li {
    width: calc((100% - (30px * 1)) / 2);
    margin: 6px 7px 0px;
  }
}
.companyList li a {
  position: relative;
  display: block;
  text-decoration: none;
}
.companyList li a:hover figure img {
  -webkit-transform: scale(1.1);
      -ms-transform: scale(1.1);
          transform: scale(1.1);
}
.companyList li a .img {
  position: relative;
}
.companyList li a figure {
  position: relative;
  overflow: hidden;
  border-radius: 13px;
  padding-bottom: 48%;
}
.companyList li a figure img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  max-width: 100%;
  -webkit-transition: 0.5s ease;
  -o-transition: 0.5s ease;
  transition: 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
.companyList li .subHead {
  font-size: 2rem;
  text-align: center;
  margin: 10px auto 10px;
}
@media screen and (max-width: 640px) {
  .companyList li .subHead {
    font-size: 1.6rem;
  }
}
.companyList li .text {
  text-align: left;
  line-height: 160%;
  margin-top: 10px;
}
@media screen and (max-width: 640px) {
  .companyList li .text {
    font-size: 1.3rem;
  }
}
.companyList li figure {
  position: relative;
  overflow: hidden;
  padding-bottom: 67%;
}
.companyList li figure img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  max-width: 100%;
  -webkit-transition: 0.5s ease;
  -o-transition: 0.5s ease;
  transition: 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.staffList {
  display: box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 60px auto;
}
@media screen and (max-width: 640px) {
  .staffList {
    margin: 30px auto;
  }
}
.staffList > li {
  position: relative;
  width: 45%;
  width: calc((100% - (80px * 1)) / 2);
  margin: 40px 80px 0 0;
  padding-bottom: 40px;
  border-bottom: 1px dotted #bfbfbf;
}
@media screen and (max-width: 768px) {
  .staffList > li {
    width: 100%;
    margin-right: 0;
  }
}
.staffList > li:nth-child(2n+1) {
  margin-right: 0;
}
.staffList > li.top {
  width: 100%;
  margin-right: 0;
}
.staffList > li.top .textPlus {
  clear: none;
}
.staffList > li .img {
  float: left;
  margin-right: 20px;
  margin-bottom: 30px;
}
@media screen and (max-width: 640px) {
  .staffList > li .img {
    float: none;
    margin-right: 0;
  }
}
.staffList > li .img figure {
  overflow: hidden;
  border-radius: 50%;
  width: 165px;
  height: 165px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 15px;
}
@media screen and (max-width: 640px) {
  .staffList > li .img figure {
    width: 100px;
    height: 100px;
    margin-bottom: 10px;
  }
}
.staffList > li .text {
  margin-left: 185px;
}
@media screen and (max-width: 640px) {
  .staffList > li .text {
    margin-left: 0;
  }
}
.staffList > li .textPlus {
  clear: both;
  border: 7px solid #ddd;
  border-radius: 5px;
  padding: 10px 20px 0px;
  margin-top: 1.2em;
  margin-bottom: 1.2em;
}
.staffList > li .text p + p,
.staffList > li .textPlus p + p {
  margin-top: 0.7em;
}
.staffList > li .text em,
.staffList > li .textPlus em {
  font-size: 1.4rem;
  margin-right: 0.5em;
}
.staffList > li p {
  margin: 0;
  line-height: 180%;
  font-size: 1.4rem;
}
.staffList > li .position {
  text-align: center;
  font-size: 1.4rem;
  font-weight: bold;
  letter-spacing: -0.02em;
  line-height: 140%;
  margin-bottom: 5px;
}
@media screen and (max-width: 640px) {
  .staffList > li .position {
    font-size: 1.1rem;
  }
}
.staffList > li .name {
  text-align: center;
  font-weight: bold;
  font-size: 2.4rem;
  line-height: 100%;
}
@media screen and (max-width: 640px) {
  .staffList > li .name {
    font-size: 1.8rem;
  }
}
.staffList > li .name.hide {
  display: none;
}
.staffList > li .name span {
  display: block;
  font-size: 1.4rem;
  font-weight: normal;
  font-family: arial, sans-serif;
}
@media screen and (max-width: 640px) {
  .staffList > li .name span {
    font-size: 1.1rem;
  }
}
.staffList > li .msg {
  line-height: 180%;
  font-size: 1.4rem;
}
@media screen and (max-width: 640px) {
  .staffList > li .msg {
    font-size: 1.2rem;
    margin-top: 10px;
  }
}

.outlineTable {
  width: 100%;
  max-width: 800px;
  margin: 60px auto;
}
@media screen and (max-width: 640px) {
  .outlineTable {
    margin: 30px auto;
  }
}
.outlineTable tbody tr {
  border-bottom: 1px solid rgba(191, 191, 191, 0.8);
}
@media screen and (max-width: 640px) {
  .outlineTable tbody tr {
    border: none;
  }
}
.outlineTable tbody th, .outlineTable tbody td {
  padding: 10px 20px;
  text-align: left;
  vertical-align: top;
}
@media screen and (max-width: 640px) {
  .outlineTable tbody th, .outlineTable tbody td {
    display: block;
    width: 100%;
    padding: 10px 0;
  }
}
.outlineTable tbody th {
  color: #c02138;
  font-weight: bold;
  border-right: 1px solid rgba(191, 191, 191, 0.8);
  white-space: nowrap;
}
@media screen and (max-width: 640px) {
  .outlineTable tbody th {
    font-size: 1.6rem;
    border: none;
    padding: 5px 15px;
    margin-top: 20px;
    background: #f2f2f2;
  }
  .outlineTable tbody th br {
    display: none;
  }
}
.outlineTable tbody td .ttl {
  font-size: 1.6rem;
  padding: 0;
  background: none;
  margin-bottom: 0;
}

.bannerList {
  font-size: 0;
  display: box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.bannerList li {
  display: inline-block;
  width: calc((100% - (10px * 2)) / 3);
  margin-bottom: 10px;
}
@media screen and (max-width: 640px) {
  .bannerList li {
    width: calc((100% - (10px * 1)) / 2);
  }
}
.bannerList li a {
  text-align: left;
  font-size: 12px;
  color: #333333;
}
.bannerList li a figure {
  position: relative;
  overflow: hidden;
  padding-bottom: 38%;
}
.bannerList li a figure img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  -webkit-transition: 0.3s ease;
  -o-transition: 0.3s ease;
  transition: 0.3s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
.bannerList li a figure figcaption {
  position: absolute;
  width: 100%;
  bottom: 0;
  padding: 10px 15px 5px;
  line-height: 120%;
  background: rgba(255, 255, 255, 0.8);
}
@media screen and (max-width: 640px) {
  .bannerList li a figure figcaption {
    padding: 3px 5px;
    line-height: 100%;
  }
}
.bannerList li a:hover {
  text-decoration: none;
}

.linkList {
  font-size: 0;
  display: box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.linkList li {
  display: inline-block;
  width: calc((100% - (25px * 1)) / 2);
  margin-bottom: 25px;
}
@media screen and (max-width: 640px) {
  .linkList li {
    width: 100%;
    margin-bottom: 15px;
  }
}
.linkList li a {
  display: table;
  width: 100%;
  text-align: left;
  font-size: 13px;
  padding: 0;
  text-decoration: none;
}
.linkList li a:hover {
  text-decoration: none;
}
.linkList li a div,
.linkList li a figure {
  display: table-cell;
  vertical-align: middle;
  width: 50%;
}
.linkList li a div {
  padding: 15px 20px;
}
@media screen and (max-width: 640px) {
  .linkList li a div {
    width: 70%;
  }
}
@media screen and (max-width: 640px) {
  .linkList li a div {
    padding: 5px 20px;
    width: 50%;
  }
}
.linkList li a div .subHead {
  font-size: 18px;
  color: #FFFFFF;
  background: none;
  margin-bottom: 0;
  padding: 0;
  text-align: center;
  line-height: 130%;
}
@media screen and (max-width: 640px) {
  .linkList li a div .subHead {
    font-size: 17px;
  }
}
.linkList li a div p {
  margin: 0;
}
.linkList li a figure {
  position: relative;
  overflow: hidden;
  padding-bottom: 27%;
  margin: 0;
}
@media screen and (max-width: 640px) {
  .linkList li a figure {
    width: 30%;
  }
}
@media screen and (max-width: 640px) {
  .linkList li a figure {
    width: 50%;
    padding-bottom: 25%;
  }
}
.linkList li a figure img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  -webkit-transition: 0.3s ease;
  -o-transition: 0.3s ease;
  transition: 0.3s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
.linkList li:nth-child(4n+1) a {
  background: #52b3e4;
}
.linkList li:nth-child(4n+2) a {
  background: #c02138;
}
.linkList li:nth-child(4n+3) a {
  background: #1eb396;
}
.linkList li:nth-child(4n+4) a {
  background: #1eb396;
}

.columnBox {
  overflow: hidden;
}
.columnBox > *:first-child {
  margin-top: 0;
}

.bgBox {
  margin-top: 60px;
  background: #f2f2f2;
  padding: 40px;
}
@media screen and (max-width: 640px) {
  .bgBox {
    margin-top: 30px;
    padding: 15px;
  }
}

.borderBox {
  background: #52b3e4;
  background-image: -o-linear-gradient(45deg, #FFFFFF 25%, #52b3e4 25%, #52b3e4 50%, #FFFFFF 50%, #FFFFFF 75%, #52b3e4 75%, #52b3e4);
  background-image: linear-gradient(45deg, #FFFFFF 25%, #52b3e4 25%, #52b3e4 50%, #FFFFFF 50%, #FFFFFF 75%, #52b3e4 75%, #52b3e4);
  background-size: 10px 10px;
  overflow: hidden;
}
.borderBox .inner {
  background: #FFFFFF;
  margin: 15px;
  padding: 30px 40px;
}
@media screen and (max-width: 640px) {
  .borderBox .inner {
    padding: 20px 15px;
  }
}
.borderBox.slim .inner {
  margin: 7px;
}
.borderBox.red {
  background: #c02138;
  background-image: -o-linear-gradient(45deg, #FFFFFF 25%, #c02138 25%, #c02138 50%, #FFFFFF 50%, #FFFFFF 75%, #c02138 75%, #c02138);
  background-image: linear-gradient(45deg, #FFFFFF 25%, #c02138 25%, #c02138 50%, #FFFFFF 50%, #FFFFFF 75%, #c02138 75%, #c02138);
  background-size: 10px 10px;
}
.borderBox.red .sectionHead {
  border-color: #c02138;
}
.borderBox.blue {
  background: #52b3e4;
  background-image: -o-linear-gradient(45deg, #FFFFFF 25%, #52b3e4 25%, #52b3e4 50%, #FFFFFF 50%, #FFFFFF 75%, #52b3e4 75%, #52b3e4);
  background-image: linear-gradient(45deg, #FFFFFF 25%, #52b3e4 25%, #52b3e4 50%, #FFFFFF 50%, #FFFFFF 75%, #52b3e4 75%, #52b3e4);
  background-size: 10px 10px;
}
.borderBox.blue .sectionHead {
  border-color: #52b3e4;
}
.borderBox.green {
  background: #1eb396;
  background-image: -o-linear-gradient(45deg, #FFFFFF 25%, #1eb396 25%, #1eb396 50%, #FFFFFF 50%, #FFFFFF 75%, #1eb396 75%, #1eb396);
  background-image: linear-gradient(45deg, #FFFFFF 25%, #1eb396 25%, #1eb396 50%, #FFFFFF 50%, #FFFFFF 75%, #1eb396 75%, #1eb396);
  background-size: 10px 10px;
}
.borderBox.green .sectionHead {
  border-color: #1eb396;
}
.borderBox.orange {
  background: #faa531;
  background-image: -o-linear-gradient(45deg, #FFFFFF 25%, #faa531 25%, #faa531 50%, #FFFFFF 50%, #FFFFFF 75%, #faa531 75%, #faa531);
  background-image: linear-gradient(45deg, #FFFFFF 25%, #faa531 25%, #faa531 50%, #FFFFFF 50%, #FFFFFF 75%, #faa531 75%, #faa531);
  background-size: 10px 10px;
}
.borderBox.orange .sectionHead {
  border-color: #faa531;
}

@media screen and (max-width: 640px) {
  .submitList {
    text-align: center;
  }
  .submitList li {
    display: inline-block;
  }
  .submitList li button {
    padding: 15px 30px 15px 20px;
    min-width: 0;
  }
  .submitList li button[type=reset], .submitList li button#backBtn, .submitList li button.back {
    font-size: 12px;
    padding: 10px 20px 10px 10px;
  }
  .submitList li:first-child {
    width: 33%;
  }
  .submitList li:last-child {
    width: 54%;
  }
}
button {
  position: relative;
  display: block;
  text-align: center;
  padding: 15px 0;
  margin: 0 auto;
  color: #372f2e;
  border: 1px solid #372f2e;
  background: #FFFFFF;
  margin: 0 auto 0;
  min-width: 260px;
  max-width: 260px;
  font-size: 14px;
  letter-spacing: 0.05em;
  -webkit-transition: 0.2s ease;
  -o-transition: 0.2s ease;
  transition: 0.2s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
button[type=reset], button#backBtn, button.back {
  background: #f2f2f2;
  border-color: #f2f2f2;
  color: #595959;
}
button[type=reset]:before, button#backBtn:before, button.back:before {
  border-color: #595959;
}
button[type=reset]:hover, button#backBtn:hover, button.back:hover {
  color: #FFFFFF;
  background: #bfbfbf;
}
button[type=reset]:hover:before, button#backBtn:hover:before, button.back:hover:before {
  border-color: #FFFFFF;
}
button:before {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 15px;
  margin: auto;
  content: "";
  vertical-align: middle;
  width: 8px;
  height: 8px;
  border-top: 1px solid #372f2e;
  border-right: 1px solid #372f2e;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  zoom: 1;
  -webkit-transition: 0.2s ease;
  -o-transition: 0.2s ease;
  transition: 0.2s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
button:hover {
  text-decoration: none;
  color: #FFFFFF;
  background: #372f2e;
}
button:hover:before {
  border-color: #FFFFFF;
}

.btn {
  clear: both;
  text-align: center;
  margin: 30px auto 0;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 640px) {
  .btn {
    margin: 15px 15px 0;
  }
}
.btn a, .btn input {
  position: relative;
  display: block;
  text-align: center;
  padding: 7px 15px 7px 15px;
  color: #595959;
  background: #FFFFFF;
  border-radius: 10px;
  border: 1px solid #bfbfbf;
  margin: 0 auto 0;
  width: 340px;
  font-size: 1.6rem;
  font-weight: bold;
  letter-spacing: 0;
  text-decoration: none;
}
@media screen and (max-width: 768px) {
  .btn a, .btn input {
    width: auto;
  }
}
@media screen and (max-width: 640px) {
  .btn a, .btn input {
    padding: 10px 15px 10px 15px;
  }
}
.btn a:hover, .btn input:hover {
  text-decoration: none;
  background: #c02138;
  color: #FFFFFF;
}
.btn a[target=_blank], .btn input[target=_blank] {
  color: #595959;
  display: block;
}
.btn.booking a {
  font-size: 1.8rem;
  background: #c02138;
  border-color: #c02138;
  color: #FFFFFF;
}
.btn.booking a:hover {
  background: #941a2b;
  color: #c02138;
  background: #FFFFFF;
}
.btn.detail {
  position: absolute;
  top: 0;
  right: 0;
  margin: 0;
}
@media screen and (max-width: 1024px) {
  .btn.detail {
    right: 20px;
  }
}
@media screen and (max-width: 640px) {
  .btn.detail {
    right: 15px;
  }
}
.btn.detail a {
  width: auto;
  padding: 7px 30px;
  line-height: 100%;
  border-radius: 0;
}
@media screen and (max-width: 640px) {
  .btn.detail a {
    padding: 3px 10px;
    font-size: 1.2rem;
  }
}
.btn.disabled a {
  cursor: default;
  pointer-events: none;
  background: gray;
  color: #FFFFFF;
}

a.link {
  display: inline;
  text-decoration: underline;
  color: #372f2e;
}
a.link:hover {
  text-decoration: none;
}
a.link[target=_blank] {
  display: inline;
  padding-right: 0;
}
a[target=_blank] {
  position: relative;
  display: inline-block;
  color: #372f2e;
}
a[target=_blank] i {
  position: relative;
  padding-right: 30px;
}
a[target=_blank] i:before, a[target=_blank] i:after {
  display: block;
  content: "";
  width: 12px;
  height: 10px;
  position: absolute;
  border: 1px solid #a2a2a2;
  margin-top: -7px;
  background: #FFFFFF;
}
a[target=_blank] i:before {
  right: 8px;
  bottom: 5px;
}
a[target=_blank] i:after {
  right: 5px;
  bottom: 8px;
  width: 12px;
  height: 10px;
  border-top: 2px solid #a2a2a2;
}
a[target=_blank][href$=".pdf"], a[target=_blank][href$=".doc"], a[target=_blank][href$=".xls"] {
  display: inline;
}
a[target=_blank][href$=".pdf"] i:before, a[target=_blank][href$=".pdf"] i:after, a[target=_blank][href$=".doc"] i:before, a[target=_blank][href$=".doc"] i:after, a[target=_blank][href$=".xls"] i:before, a[target=_blank][href$=".xls"] i:after {
  height: 15px;
  width: 13px;
  margin-top: -8px;
}
a[target=_blank][href$=".pdf"] i:before, a[target=_blank][href$=".doc"] i:before, a[target=_blank][href$=".xls"] i:before {
  right: 10px;
  bottom: 3px;
  border-radius: 2px;
}
a[target=_blank][href$=".pdf"] i:after, a[target=_blank][href$=".doc"] i:after, a[target=_blank][href$=".xls"] i:after {
  border: none;
  bottom: 7px;
  right: 13px;
  height: 7px;
  width: 7px;
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(14%, #a2a2a2), color-stop(14%, #FFFFFF), color-stop(42%, #FFFFFF), color-stop(42%, #a2a2a2), color-stop(56%, #a2a2a2), color-stop(56%, #FFFFFF), color-stop(84%, #FFFFFF), color-stop(84%, #a2a2a2), color-stop(98%, #a2a2a2), color-stop(98%, #FFFFFF), to(#FFFFFF));
  background-image: -o-linear-gradient(#a2a2a2 14%, #FFFFFF 14%, #FFFFFF 42%, #a2a2a2 42%, #a2a2a2 56%, #FFFFFF 56%, #FFFFFF 84%, #a2a2a2 84%, #a2a2a2 98%, #FFFFFF 98%, #FFFFFF);
  background-image: linear-gradient(#a2a2a2 14%, #FFFFFF 14%, #FFFFFF 42%, #a2a2a2 42%, #a2a2a2 56%, #FFFFFF 56%, #FFFFFF 84%, #a2a2a2 84%, #a2a2a2 98%, #FFFFFF 98%, #FFFFFF);
  background-size: 7px 7px;
}

.selectContainer {
  display: inline-block;
  position: relative;
}
.selectContainer:before {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 15px;
  margin: auto;
  content: "";
  vertical-align: middle;
  width: 8px;
  height: 8px;
  border-top: 1px solid #372f2e;
  border-right: 1px solid #372f2e;
  -webkit-transform: rotate(135deg);
  -ms-transform: rotate(135deg);
  transform: rotate(135deg);
  zoom: 1;
  -webkit-transition: 0.2s ease;
  -o-transition: 0.2s ease;
  transition: 0.2s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
.list_point {
  margin-top: 20px;
  margin-bottom: 20px;
  text-align: left;
}
.list_point li {
  position: relative;
  padding-left: 1em;
  line-height: 140%;
  margin-bottom: 0.5em;
}
.list_point li:before {
  position: absolute;
  display: block;
  content: "・";
  top: 0;
  left: 0;
  width: 1em;
  height: 1em;
  margin: auto;
  vertical-align: middle;
  line-height: 140%;
}
.list_point.color li {
  padding-left: 1.3em;
}
.list_point.color li:before {
  position: absolute;
  display: block;
  content: "◯";
  font-weight: bold;
  color: #372f2e;
}

.list_number {
  text-align: left;
  margin-top: 10px;
  margin-bottom: 10px;
}
.list_number > li {
  position: relative;
  counter-increment: count;
  list-style-type: none;
  text-align: left;
  padding-left: 2.2em;
}
.list_number > li:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 1.5em;
  display: marker;
  content: "(" counter(count) ")";
  text-align: right;
  line-height: 180%;
}
.list_number.outline li .ttl {
  margin-top: 20px;
}
.list_number.outline li + li {
  margin-top: 20px;
}

.indent {
  clear: both;
  text-align: left;
  margin-left: 1em;
  margin-bottom: 20px;
}
.indent li {
  text-indent: -1em;
}
.indent.ex {
  font-size: 12px;
}
.bgBox + .indent {
  margin-top: 20px;
}
table + .indent {
  margin-top: -20px;
}

.caution {
  border: 1px solid #e73462;
  border-radius: 3px;
  color: #e73462;
  padding: 7px 10px;
}
@media screen and (max-width: 640px) {
  .caution {
    text-align: left;
  }
}
.caution.link {
  padding: 0;
}
.caution a {
  color: #e73462;
  text-decoration: none;
  padding: 7px 10px;
}
.caution a:hover {
  background: rgba(231, 52, 98, 0.05);
}
.caution a i {
  display: inline-block;
  color: #e73462;
  text-decoration: underline;
}
.caution p {
  margin: 0;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .caution p {
    text-align: left;
  }
}

.column05,
.column04,
.column03,
.column02 {
  clear: both;
  margin: 20px -10px;
  overflow: hidden;
}
@media screen and (max-width: 640px) {
  .column05,
.column04,
.column03,
.column02 {
    margin: 15px -8px;
  }
}
.column05 > li,
.column04 > li,
.column03 > li,
.column02 > li {
  float: left;
  margin: 0 10px 30px;
}
@media screen and (max-width: 640px) {
  .column05 > li,
.column04 > li,
.column03 > li,
.column02 > li {
    float: none;
    margin: 0 8px 30px;
  }
}
.column05 > li .bgBox,
.column04 > li .bgBox,
.column03 > li .bgBox,
.column02 > li .bgBox {
  padding: 20px;
  margin-top: 30px;
}
.column05.slim,
.column04.slim,
.column03.slim,
.column02.slim {
  margin: 20px 0;
}
.column05.slim li,
.column04.slim li,
.column03.slim li,
.column02.slim li {
  margin: 0 0 10px;
}

.column05 > li .subHead,
.column04 > li .subHead,
.column03 > li .subHead {
  font-size: 22px;
  padding-bottom: 10px;
  margin-bottom: 20px;
}
@media screen and (max-width: 640px) {
  .column05 > li .subHead,
.column04 > li .subHead,
.column03 > li .subHead {
    font-size: 17px;
    padding-bottom: 5px;
    margin-bottom: 15px;
  }
}

.column05 > li {
  width: calc((100% - (20px * 5)) / 5);
}

.column05.slim > li {
  width: calc(100% / 5);
}

.column04 > li {
  width: calc((100% - (20px * 4)) / 4);
}

.column04.slim > li {
  width: calc(100% / 4);
}

.column03 > li {
  width: calc((100% - (20px * 3)) / 3);
}

.column03.slim > li {
  width: calc(100% / 3);
}

.column02 > li {
  width: calc((100% - (20px * 2)) / 2);
}

.column02.slim > li {
  width: calc(100% / 2);
}

@media screen and (max-width: 640px) {
  .column05 > li,
.column04 > li {
    float: left;
    width: calc((100% - (16px * 2)) / 2);
  }

  .column05.slim > li,
.column04.slim > li {
    float: left;
    width: calc(100% / 2);
  }

  .column03 > li,
.column03.slim,
.column02 > li,
.column02.slim > li {
    width: auto;
  }
}
.tableA {
  width: 100%;
}
.head + .tableA, .subHead + .tableA, .ttl + .tableA, p + .tableA {
  margin-bottom: 40px;
}
@media screen and (max-width: 640px) {
  .head + .tableA, .subHead + .tableA, .ttl + .tableA, p + .tableA {
    margin-bottom: 30px;
  }
}
div + .tableA {
  margin-top: 40px;
}
@media screen and (max-width: 640px) {
  div + .tableA {
    margin-top: 30px;
  }
}
table + .tableA {
  margin-top: 40px;
}
@media screen and (max-width: 640px) {
  table + .tableA {
    margin-top: 30px;
  }
}
.tableA thead {
  position: relative;
}
.tableA thead:after {
  position: absolute;
  display: block;
  top: 0;
  right: 0;
  background: #2d4348;
  height: 100%;
  width: 1px;
}
.tableA thead th {
  text-align: center;
  background: #2d4348;
  color: #FFFFFF;
  font-size: 16px;
  padding: 5px 15px;
  font-weight: normal;
  white-space: nowrap;
}
@media screen and (max-width: 640px) {
  .tableA thead th {
    font-size: 12px;
    padding: 3px 5px;
  }
}
.tableA thead th.inherit {
  white-space: inherit;
}
.tableA tbody th {
  white-space: nowrap;
}
.tableA tbody th.inherit {
  white-space: inherit;
}
.tableA tbody th span {
  display: inline-block;
  font-weight: normal;
  font-size: 90%;
  line-height: 140%;
}
.tableA th, .tableA td {
  text-align: left;
  border: 1px solid #bfbfbf;
  background: #FFFFFF;
  padding: 4px 15px;
  vertical-align: middle;
}
.tableA th *:first-child, .tableA td *:first-child {
  margin-top: 0;
}
.tableA th *:last-child, .tableA td *:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 640px) {
  .tableA th .btn a, .tableA td .btn a {
    width: 80%;
    line-height: 140%;
    font-size: 14px;
  }
}
.tableA th {
  vertical-align: middle;
}
.tableA.tableWorks tbody th {
  border-right: none;
}
.tableA.tableWorks tbody td {
  border-left: none;
}

.borderTable {
  width: 100%;
  border-top: 1px solid #bfbfbf;
}
.head + .borderTable, .subHead + .borderTable, .ttl + .borderTable, p + .borderTable {
  margin-bottom: 40px;
}
@media screen and (max-width: 640px) {
  .head + .borderTable, .subHead + .borderTable, .ttl + .borderTable, p + .borderTable {
    margin-bottom: 30px;
  }
}
div + .borderTable {
  margin-top: 40px;
}
@media screen and (max-width: 640px) {
  div + .borderTable {
    margin-top: 30px;
  }
}
table + .borderTable {
  margin-top: 40px;
}
@media screen and (max-width: 640px) {
  table + .borderTable {
    margin-top: 30px;
  }
}
.borderTable tbody th {
  white-space: nowrap;
}
.borderTable tbody th.inherit {
  white-space: inherit;
}
.borderTable tbody th span {
  display: inline-block;
  font-weight: normal;
  font-size: 90%;
  line-height: 140%;
}
.borderTable th, .borderTable td {
  text-align: left;
  border-bottom: 1px solid #bfbfbf;
  background: #FFFFFF;
  padding: 10px;
  vertical-align: middle;
}
@media screen and (max-width: 640px) {
  .borderTable th, .borderTable td {
    padding: 5px;
  }
}
@media screen and (max-width: 640px) {
  .borderTable th .btn a, .borderTable td .btn a {
    width: 80%;
    line-height: 140%;
    font-size: 14px;
  }
}
.borderTable.red {
  border-color: #c02138;
}
.borderTable.red th, .borderTable.red td {
  border-color: #c02138;
}
.borderTable.blue {
  border-color: #52b3e4;
}
.borderTable.blue th, .borderTable.blue td {
  border-color: #52b3e4;
}
.borderTable.green {
  border-color: #1eb396;
}
.borderTable.green th, .borderTable.green td {
  border-color: #1eb396;
}
.borderTable.orange {
  border-color: #faa531;
}
.borderTable.orange th, .borderTable.orange td {
  border-color: #faa531;
}

.googleMap {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
}
.googleMap iframe,
.googleMap object,
.googleMap embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.formContainer {
  margin: 0 auto 20px;
  max-width: 900px;
}

dl.formList {
  width: 100%;
  margin: 0 auto 30px;
  border-top: 1px solid #bfbfbf;
}
@media screen and (max-width: 640px) {
  dl.formList {
    border-top: none;
  }
}
dl.formList dt, dl.formList dd {
  text-align: left;
  padding: 20px;
  border-bottom: 1px solid #bfbfbf;
  border-right: 1px solid #bfbfbf;
  background: #FFFFFF;
}
@media screen and (max-width: 640px) {
  dl.formList dt, dl.formList dd {
    padding: 15px 10px;
  }
}
dl.formList dt {
  float: left;
  width: 220px;
  vertical-align: bottom;
  background: #f2f2f2;
  border-left: 1px solid #bfbfbf;
}
@media screen and (max-width: 640px) {
  dl.formList dt {
    float: none;
    width: auto;
    padding-top: 10px;
    padding-bottom: 10px;
    border-top: 1px solid #bfbfbf;
  }
}
dl.formList dt span {
  display: inline-block;
  font-size: 10px;
  color: #c02138;
  border: 1px solid #c02138;
  padding: 2px 5px;
  border-radius: 4px;
  line-height: 100%;
  margin-left: 10px;
  background: #FFFFFF;
}
dl.formList dd {
  margin-left: 220px;
}
@media screen and (max-width: 640px) {
  dl.formList dd {
    float: none;
    margin-left: 0;
    border-left: 1px solid #bfbfbf;
    margin-bottom: 20px;
  }
}
dl.formList dd input {
  width: 70%;
}
@media screen and (max-width: 640px) {
  dl.formList dd input {
    width: 100%;
  }
}
dl.formList dd input#guardian, dl.formList dd input#age {
  width: 4em;
}
dl.formList dd .ex {
  display: inline-block;
  margin: 0 10px;
  font-size: 12px;
}
dl.formList dd .ex:first-child {
  margin-left: 0;
}
dl.formList dd input + .ex {
  margin-top: 10px;
  margin-left: 0;
}
dl.formList dd textarea + .ex {
  margin-top: 10px;
  margin-left: 0;
}
dl.formList dd br + .ex {
  margin-top: 10px;
}

dl.formList #postal-code,
dl.formList #postal-code2 {
  width: 10em;
}
dl.formList #tel,
dl.formList #fax {
  width: 12em;
}

form.post_password input[name=post_password] {
  width: 200px;
}
form.post_password input[name=Submit] {
  width: 200px;
}
@media screen and (max-width: 640px) {
  form.post_password input[name=Submit] {
    margin-top: 20px;
  }
}

.enqueteList {
  display: box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 800px;
  margin: 60px auto;
  text-align: center;
}
.enqueteList li {
  text-align: center;
  display: inline-block;
  width: calc((100% - (25px * 1)) / 2);
  margin-bottom: 25px;
}
@media screen and (max-width: 768px) {
  .enqueteList li {
    width: 100%;
    margin-bottom: 20px;
  }
}
.enqueteList li a {
  text-decoration: none;
  padding: 20px 10px;
  font-weight: bold;
  font-size: 1.8rem;
  background: #fbbb63;
}
.enqueteList li a:hover {
  opacity: 0.85;
}
.enqueteList li:first-child a {
  background: #add4c7;
}
.enqueteList li:last-child {
  width: 100%;
  margin-top: 30px;
}
.enqueteList li:last-child a {
  background: #f49dbe;
  font-size: 2.2rem;
  padding: 30px 10px;
}
@media screen and (max-width: 640px) {
  .enqueteList li:last-child a {
    font-size: 2rem;
    padding: 20px 10px;
  }
}

section.enquete .inner {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}
section.enquete input {
  padding: 5px;
}
section.enquete table {
  width: 100%;
}
section.enquete table th, section.enquete table td {
  padding: 10px 5px;
}
@media screen and (max-width: 640px) {
  section.enquete table th, section.enquete table td {
    display: block;
    width: 100%;
  }
}
section.enquete table th {
  text-align: left;
  width: 20%;
  white-space: nowrap;
  vertical-align: top;
}
@media screen and (max-width: 640px) {
  section.enquete table th {
    width: 100%;
    padding-bottom: 0;
  }
}
section.enquete table th .multi {
  opacity: 0.6;
  font-size: 1.4rem;
  display: inline-block;
  margin-left: 1em;
}
section.enquete table td {
  text-align: left;
}
@media screen and (max-width: 640px) {
  section.enquete table td {
    padding-top: 0;
  }
}
section.enquete table .rq {
  font-size: 1.4rem;
  font-weight: bold;
  color: #c02138;
}
section.enquete .columns.submit {
  margin: 60px auto;
}
section.enquete .columns.submit input[type=reset],
section.enquete .columns.submit input[type=submit] {
  max-width: 200px;
  margin: 0 10px;
}
section.enquete .columns.submit input[type=submit] {
  padding: 10px;
  background: #c02138;
  color: #FFFFFF;
  font-weight: bold;
}
@media screen and (max-width: 640px) {
  section.enquete .columns.submit input[type=submit] {
    margin-top: 20px;
    width: 80%;
    max-width: 300px;
  }
}

.enqueteBoxList dt {
  font-size: 2rem;
  color: #372f2e;
  background: #f2f2f2;
  padding: 10px 15px;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 140%;
  margin: 30px 0 20px;
}
@media screen and (max-width: 640px) {
  .enqueteBoxList dt {
    font-size: 1.6rem;
    margin-bottom: 15px;
  }
}
.enqueteBoxList dt span {
  opacity: 0.6;
  font-size: 1.4rem;
  display: inline-block;
  margin-left: 1em;
}
@media screen and (max-width: 640px) {
  .enqueteBoxList dt span {
    font-size: 1.1rem;
  }
}
.enqueteBoxList dt span.rq {
  opacity: 1;
  color: #c02138;
}
.enqueteBoxList dd ul li {
  display: inline-block;
  margin-top: 5px;
  margin-bottom: 5px;
}
.enqueteBoxList dd .scoringList {
  width: 100%;
}
.enqueteBoxList dd .scoringList li {
  display: inline-block;
  width: 19%;
  white-space: nowrap;
  vertical-align: middle;
}
.enqueteBoxList dd textarea + .ex {
  text-align: left;
  display: block;
  font-size: 1.2rem;
  margin: 0 0 15px;
}
.enqueteBoxList dd input.w50 {
  width: 50px;
}
.enqueteBoxList dd input.w100 {
  width: 100px;
}
.enqueteBoxList dd input.w150 {
  width: 150px;
}
.enqueteBoxList dd input.w200 {
  width: 200px;
}
@media screen and (max-width: 640px) {
  .enqueteBoxList dd input.w200 {
    width: 40%;
  }
}
.enqueteBoxList dd input.w300 {
  width: 300px;
}
@media screen and (max-width: 640px) {
  .enqueteBoxList dd input.w300 {
    width: 100%;
  }
}
.enqueteBoxList dd input + .ex {
  text-align: left;
  display: block;
  font-size: 1.2rem;
  margin: 10px 0 10px;
}
.enqueteBoxList dd #postal-code, .enqueteBoxList dd #postal-code2 {
  width: 10em;
}
.enqueteBoxList dd #tel, .enqueteBoxList dd #fax {
  width: 10em;
}
.enqueteBoxList dd #name, .enqueteBoxList dd #charge {
  max-width: 15em;
}
.enqueteBoxList dd #birthday {
  width: 10em;
}
.enqueteBoxList dd #email {
  max-width: 20em;
}

.spOnly {
  display: none;
}
@media screen and (max-width: 640px) {
  .spOnly {
    display: block;
  }
}

.pcOnly {
  display: block;
}
@media screen and (max-width: 640px) {
  .pcOnly {
    display: none;
  }
}

.cRed {
  color: #c02138;
}

.cBlue {
  color: #52b3e4;
}

.cGreen {
  color: #1eb396;
}

.cOrange {
  color: #faa531;
}

.cLightRed {
  color: #c5223a;
}

.cLightBlue {
  color: #57b5e5;
}

.cLightGreen {
  color: #1fb89a;
}

.cLightOrange {
  color: #faa837;
}

.cDarkBlue {
  color: #007cc3;
}

.cYellow {
  color: #ffef00;
}

.cLightGray {
  color: #dddddd;
}

.cGray {
  color: #a2a2a2;
}

.cDarkGray {
  color: #262626;
}

.cDeepRed {
  color: #e73462;
}

.mw_wp_form .horizontal-item + .horizontal-item {
  margin-left: 0 !important;
}

.clear {
  clear: both;
}

.fR {
  float: right;
  margin-left: 28px;
  margin-bottom: 28px;
}
@media screen and (max-width: 640px) {
  .fR {
    float: none;
    margin-left: 0;
    margin-bottom: 28px;
  }
}

.fL {
  float: left;
  margin-right: 28px;
  margin-bottom: 28px;
}
@media screen and (max-width: 640px) {
  .fL {
    float: none;
    margin-right: 0;
    margin-bottom: 28px;
  }
}

_:-ms-lang(x)::-ms-backdrop, .selector {
  /* IE11用 */
}
_:-ms-lang(x)::-ms-backdrop .reformList li a, .selector .reformList li a {
  height: 238px;
}
_:-ms-lang(x)::-ms-backdrop .eventList li a, .selector .eventList li a {
  height: 259px;
}
/*# sourceMappingURL=common.css.map */