@charset "UTF-8";
html, body {
  -webkit-text-size-adjust: 100%;
  width: 100%;
}

body {
  font-family: -apple-system, blinkMacSystemFont, "Helvetica Neue", "Segoe UI", "游ゴシック体", YuGothic, Osaka, Meiryo, sans-serif;
  color: #000000;
  font-size: 18px;
  line-height: 1.4;
}

@media screen and (max-width: 1023px) {
  body {
    font-size: 16px;
  }
}
@media screen and (max-width: 800px) {
  body {
    font-size: 14px;
  }
}
@media screen and (max-width: 480px) {
  html,
  body {
    -webkit-overflow-scrolling: touch;
  }
}
.clearfix::after {
  content: "";
  display: block;
  clear: both;
}

* {
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
}

a {
  text-decoration: none;
}

a:link {
  text-decoration: none;
}

a:visited {
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

a:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}

/* userAgentで異なる表示を元に戻す */
.luxbar-navigation .luxbar-item.contact span.tel a {
  width: auto;
  border: none;
  padding: 0;
  margin: 0;
}

span.tel a {
  color: inherit;
  text-decoration: none;
}

/* スマホサイズの時だけ表示する */
.sp_only {
  display: none !important;
}

.sp_only480 {
  display: none !important;
}

@media screen and (max-width: 1023px) {
  .sp_only {
    display: block !important;
  }

  .sp_hide {
    display: none !important;
  }
}
@media screen and (max-width: 800px) {
  /* スマホサイズの時は非表示 */
  .sp_hide800 {
    display: none !important;
  }
}
@media screen and (max-width: 480px) {
  .sp_only480 {
    display: block !important;
  }

  /* スマホサイズの時は非表示 480px以下 */
  .sp_hide480 {
    display: none !important;
  }
}
/* ヘッダー画像
---------------------------------------------------------------------------------------------------------------------------------------*/
h1 {
  width: 1320px;
  margin-left: auto;
  margin-right: auto;
  font-weight: normal;
  font-size: 12px;
  padding: 0 60px;
  padding-right: 45px;
}

.img_sp {
  display: none !important;
}

@media screen and (max-width: 1320px) {
  h1 {
    width: 100%;
  }
}
@media screen and (max-width: 1023px) {
  h1 {
    display: none;
  }
}
@media screen and (max-width: 800px) {
  .img_pc {
    display: none !important;
  }

  .img_sp {
    display: block !important;
  }
}
/* コンテンツ
---------------------------------------------------------------------------------------------------------------------------------------*/
article {
  width: 100%;
}

section {
  width: 100%;
}

.wrap {
  width: 100%;
  position: relative;
}

.contents-wrap {
  width: 1320px;
  margin: 0 auto;
  display: flex;
  flex-wrap: nowrap;
  flex-direction: column;
  justify-content: space-between;
}
.contents-wrap.wrap-full {
  width: 100%;
}

.contents-box {
  /*    width: 960px;*/
  width: 100%;
  padding: 0 10px;
  padding-right: 350px;
  z-index: 999;
}

.full-inner {
  width: 1320px;
  height: 100%;
  margin: 0 auto;
  z-index: 999;
}

.contents-box-side {
  width: 340px;
  padding: 0 20px;
  /*    display: flex;
      flex-wrap: nowrap;
      flex-direction: column;*/
  /*    align-items: flex-end;*/
  /*    position: absolute;*/
  top: 0;
  right: 0;
}
.contents-box-side img {
  display: block;
  margin-bottom: 10px;
}

.flex_box {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
.flex_box.nowrap {
  flex-wrap: nowrap;
}

.box {
  width: 100%;
  padding: 1em;
}
.box img {
  width: 100%;
}

.box2 {
  width: 50%;
  padding: 1em;
}
.box2 img {
  width: 100%;
}

.box3 {
  width: 33.33%;
  padding: 1em;
}
.box3 img {
  width: 100%;
}

.box4 {
  width: 25%;
  padding: 1em;
}
.box4 img {
  width: 100%;
}

/* 文字サイズを少し下げる */
.fnt_s {
  font-size: .9em;
}

.fnt_ss {
  font-size: .8em;
}

/* 文字色を赤にする */
.txt_red {
  color: #bc272d;
}

/* 文字を中央寄せにする */
.txt_center {
  text-align: center;
}

@media screen and (max-width: 1320px) {
  .contents-wrap {
    width: 100%;
  }

  .contents-box {
    width: 100%;
    padding-right: 323px;
  }

  .full-inner {
    width: 100%;
  }
}
@media screen and (max-width: 1023px) {
  .box3 {
    width: 50%;
  }

  .box4 {
    width: 50%;
  }
}
@media screen and (max-width: 800px) {
  .contents-box {
    width: 100% !important;
    padding-left: 5%;
    padding-right: 5%;
  }

  .box2 {
    width: 100%;
  }

  .box3 {
    width: 100%;
  }

  .box4 {
    width: 100%;
  }
}

/*# sourceMappingURL=common.css.map */
