@charset "UTF-8";
/* css start */
/* reset
================================================== */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent;
}

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

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

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

input, select {
  vertical-align: middle;
}

input, button, textarea, select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/* Setting */
html {
  height: auto;
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%;
}

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

ul {
  list-style-position: outside;
  list-style-type: none;
}

ol {
  list-style-position: inside;
}

h1, h2, h3, h4, h5, h6, p {
  font-size: 1rem;
  font-weight: normal;
  text-align: justify;
}

*:active, *:focus {
  outline: none;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 1rem;
}

/************************************************
	Setting
************************************************ */
* {
  transition: opacity 0.2s ease-out, color 0.1s ease-out, background-color 0.2s ease-out, border-radius 0.2s ease-out, box-shadow 0.2s ease-out, text-shadow 0.2s ease-out, transform 0.2s ease-out;
  -webkit-transition: opacity 0.2s ease-out, color 0.1s ease-out, background-color 0.2s ease-out, border-radius 0.2s ease-out, box-shadow 0.2s ease-out, text-shadow 0.2s ease-out, -webkit-transform 0.2s ease-out;
}

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

html {
  font-size: 16px;
}

body {
  color: #000;
  font-size: 100%;
  letter-spacing: 0.05em;
  line-height: 1.8;
  -webkit-text-size-adjust: none;
}

/* link */
a {
  text-decoration: none;
  color: #000;
}

a:hover {
  /*text-decoration: underline;*/
}

a img {
  background-color: rgba(255, 255, 255, 0.01);
}

a:hover img {
  opacity: 0.8;
}

/* clear */
.cf {
  zoom: 1;
}

.cf, .cf:before {
  content: '';
  display: table;
}

.cf:after {
  clear: both;
}

.clear {
  clear: both;
}

@media screen and (min-width: 769px) {
  .sp {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .pc {
    display: none !important;
  }
}
/************************************************
	PC
************************************************ */
@media screen and (min-width: 1520px) {
  .gnav.is-fixed {
    left: 120px;
  }
}
@media screen and (max-width: 1519px) and (min-width: 769px) {
  .gnav.is-fixed {
    left: 0;
  }
}
@media screen and (min-width: 769px) {
  #content {
    margin: 0 auto;
    max-width: 1400px;
    min-width: 1200px;
  }

  .navWrap {
    max-height: 70px;
    min-height: 60px;
    text-align: center;
  }

  .gnav {
    display: inline-block;
  }
  .gnav ul {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-justify-content: center;
    justify-content: center;
    min-width: 1200px;
  }
  .gnav.is-fixed {
    max-width: 100%;
    min-width: 1200px;
    position: fixed;
    top: 0;
    margin: auto;
    z-index: 999;
    width: 100%;
  }

  .bokenSec {
    background: url(../images/bg01.jpg) top center;
    padding: 130px 0 160px;
  }
  .bokenSec h2 {
    margin-bottom: 80px;
    text-align: center;
  }
  .bokenSec p {
    text-align: center;
  }

  .specSec {
    background: url(../images/bg02.jpg) top center;
    padding: 95px 0 0;
    overflow: hidden;
  }
  .specSec .spec01 {
    margin-bottom: 125px;
  }
  .specSec .spec01 h2 {
    margin-bottom: 40px;
    text-align: center;
  }
  .specSec .spec02 {
    margin-bottom: 140px;
  }
  .specSec .spec02 h2 {
    margin-bottom: 40px;
    text-align: center;
  }
  .specSec .spec03 h2 {
    margin-bottom: 67px;
    text-align: center;
  }
  .specSec .spec04 {
    padding: 75px 0 175px;
    background: url(../images/bg01.jpg) top center;
  }
  .specSec .spec04 h2 {
    margin-bottom: 120px;
    text-align: center;
  }
  .specSec .spec04 p {
    text-align: center;
  }
  .specSec .spec04 p.img01 {
    margin-bottom: 60px;
  }
  .specSec .spec04 p.img02 {
    margin-bottom: 70px;
  }
  .specSec .spec05 {
    padding: 110px 0 160px;
  }
  .specSec .spec05 h2 {
    margin-bottom: 100px;
    text-align: center;
  }
  .specSec .spec05 p {
    text-align: center;
  }
  .specSec .spec06 {
    padding: 160px 0 110px;
    background: url(../images/bg01.jpg) top center;
  }
  .specSec .spec06 h2 {
    text-align: center;
  }
  .specSec .spec06 p {
    text-align: center;
  }
  .specSec .spec06 p.img01 {
    margin-bottom: 50px;
  }
  .specSec .spec01 .bx-viewport, .specSec .spec02 .bx-viewport {
    overflow: visible !important;
    /* 両サイドに前後の画像を表示させる */
    width: 100%;
    /* 画像の幅（表示させる幅） */
    height: 520px;
    /* 画像の高さ（表示させる高さ） */
    margin: 0 auto;
  }
  .specSec .spec01 li, .specSec .spec02 li {
    text-align: center;
  }
  .specSec .spec01 li img, .specSec .spec02 li img {
    box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.2);
  }
  .specSec .spec01 .bx-controls .bx-prev, .specSec .spec02 .bx-controls .bx-prev {
    background: url(../images/slider_arrow_prev.png) no-repeat;
    width: 26px;
    height: 52px;
    position: absolute;
    left: -20px;
    top: 50%;
    transform: translateY(-50%);
  }
  .specSec .spec01 .bx-controls .bx-next, .specSec .spec02 .bx-controls .bx-next {
    background: url(../images/slider_arrow_next.png) no-repeat;
    width: 26px;
    height: 52px;
    position: absolute;
    right: -20px;
    top: 50%;
    transform: translateY(-50%);
  }
  .specSec .spec03 {
    padding-bottom: 200px;
  }
  .specSec .spec03 .bx-wrapper * {
    transition: none;
  }
  .specSec .spec03 .thumbnail {
    margin-top: 40px;
  }
  .specSec .spec03 .thumbnail .color_thumb {
    width: 600px;
    margin: 0 auto;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-justify-content: center;
    justify-content: center;
  }
  .specSec .spec03 .thumbnail .color_thumb a {
    display: block;
    width: 53px;
    margin: 23px;
  }

  /* bxslider */
  .bx-wrapper .bx-pager-item,
  .bx-wrapper .bx-controls-auto .bx-controls-auto-item {
    display: inline-block;
    vertical-align: bottom;
    *zoom: 1;
    *display: inline;
  }

  .bx-wrapper .bx-pager-item {
    font-size: 0;
    line-height: 0;
  }

  .bx-wrapper {
    position: relative;
    margin: 0 auto;
  }

  .copy {
    background: #333f4f;
    color: #fff;
    font-weight: bold;
    font-size: 25px;
    text-align: center;
    padding: 20px 0;
  }
}
/************************************************
	SP
************************************************ */
@media screen and (max-width: 768px) {
  .bokenSec {
    background: url(../images/bg01.jpg) top center;
    padding: 40px 20px 40px;
  }
  .bokenSec h2 {
    margin-bottom: 30px;
    text-align: center;
  }

  .specSec {
    background: url(../images/bg02.jpg) top center;
    padding: 40px 0 0;
    overflow: hidden;
  }
  .specSec .spec01 {
    margin-bottom: 40px;
    padding: 0 20px;
  }
  .specSec .spec01 h2 {
    margin-bottom: 20px;
    text-align: center;
  }
  .specSec .spec02 {
    margin-bottom: 40px;
    padding: 0 20px;
  }
  .specSec .spec02 h2 {
    margin-bottom: 20px;
    text-align: center;
  }
  .specSec .spec03 {
    padding: 0 20px;
  }
  .specSec .spec03 h2 {
    margin-bottom: 40px;
    text-align: center;
  }
  .specSec .spec04 {
    padding: 40px 20px;
    background: url(../images/bg01.jpg) top center;
  }
  .specSec .spec04 h2 {
    margin-bottom: 20px;
    text-align: center;
  }
  .specSec .spec04 p {
    text-align: center;
  }
  .specSec .spec04 p.img01 {
    margin-bottom: 20px;
  }
  .specSec .spec04 p.img02 {
    margin-bottom: 20px;
  }
  .specSec .spec05 {
    padding: 40px 20px;
  }
  .specSec .spec05 h2 {
    margin-bottom: 20px;
    text-align: center;
  }
  .specSec .spec05 p {
    text-align: center;
  }
  .specSec .spec06 {
    padding: 40px 20px;
    background: url(../images/bg01.jpg) top center;
  }
  .specSec .spec06 h2 {
    text-align: center;
  }
  .specSec .spec06 p {
    text-align: center;
  }
  .specSec .spec06 p.img01 {
    margin-bottom: 20px;
  }
  .specSec .spec01 .bx-viewport, .specSec .spec02 .bx-viewport, .specSec .spec04 .bx-viewport {
    overflow: visible !important;
    /* 両サイドに前後の画像を表示させる */
    width: 100%;
    /* 画像の幅（表示させる幅） */
    height: 520px;
    /* 画像の高さ（表示させる高さ） */
    margin: 0 auto;
  }
  .specSec .spec01 li, .specSec .spec02 li, .specSec .spec04 li {
    text-align: center;
  }
  .specSec .spec01 li img, .specSec .spec02 li img, .specSec .spec04 li img {
    box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.2);
  }
  .specSec .spec01 .bx-controls .bx-prev, .specSec .spec02 .bx-controls .bx-prev, .specSec .spec04 .bx-controls .bx-prev {
    background: url(../images/slider_arrow_prev.png) no-repeat;
    background-size: cover;
    width: 13px;
    height: 26px;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
  }
  .specSec .spec01 .bx-controls .bx-next, .specSec .spec02 .bx-controls .bx-next, .specSec .spec04 .bx-controls .bx-next {
    background: url(../images/slider_arrow_next.png) no-repeat;
    background-size: cover;
    width: 13px;
    height: 26px;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
  }
  .specSec .spec03 {
    padding-bottom: 40px;
  }
  .specSec .spec03 .bx-wrapper * {
    transition: none;
  }
  .specSec .spec03 .thumbnail {
    margin-top: 20px;
  }
  .specSec .spec03 .thumbnail .color_thumb {
    width: 100%;
    margin: 0 auto;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
  }
  .specSec .spec03 .thumbnail .color_thumb a {
    display: block;
    width: 10%;
    margin: 3%;
  }

  /* bxslider */
  .bx-wrapper .bx-pager-item,
  .bx-wrapper .bx-controls-auto .bx-controls-auto-item {
    display: inline-block;
    vertical-align: bottom;
    *zoom: 1;
    *display: inline;
  }

  .bx-wrapper .bx-pager-item {
    font-size: 0;
    line-height: 0;
  }

  .bx-wrapper {
    position: relative;
    margin: 0 auto;
  }

  .copy {
    background: #333f4f;
    color: #fff;
    font-weight: bold;
    font-size: 14px;
    text-align: center;
    padding: 10px 0;
  }
}
