@charset "UTF-8";

/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
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 {
  background: transparent;
  border: 0;
  font-size: 100%;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline;
}

body {
  line-height: 1;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

nav ul {
  list-style: none;
}

ul,
li {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none;
}

a {
  background: transparent;
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
  border: 0;
  border-top: 1px solid #cccccc;
  display: block;
  height: 1px;
  margin: 1em 0;
  padding: 0;
}

input,
select {
  vertical-align: middle;
}

textarea:focus,
input:focus,
input[type]:focus,
.uneditable-input:focus {
  box-shadow: none;
  outline: 0;
}

input,
select,
textarea {
  //-webkit-appearance: none;
  //appearance: none;
  background-color: transparent;
  border: none;
  border-radius: 0;
  vertical-align: middle;
}

button,
input,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
}

img {
  vertical-align: top;
  width: 100%;
  height: auto;
}

* {
  box-sizing: border-box;
}

a {
  color: #6A6A6A;
  text-decoration: none;
}

#contact a {
  color: #fff;
}

.footer a {
  color: #fff;
}

.no_wrap {
  white-space: pre;
}

@media screen and (max-width: 895px) {
  .no_wrap_sp {
    white-space: pre;
  }
}

@media screen and (min-width: 896px) {
  .no_wrap_pc {
    white-space: pre;
  }
}

.ind01 {
  text-indent: -1em;
  padding-left: 1em;
}

@media screen and (max-width: 895px) {
  .spmt-50 {
    margin-top: -6.66667vw !important;
  }

  .spmb-50 {
    margin-bottom: -6.66667vw !important;
  }

  .spmr-50 {
    margin-right: -6.66667vw !important;
  }

  .spml-50 {
    margin-left: -6.66667vw !important;
  }

  .sppt-50 {
    padding-top: -6.66667vw !important;
  }

  .sppb-50 {
    padding-bottom: -6.66667vw !important;
  }

  .sppr-50 {
    padding-right: -6.66667vw !important;
  }

  .sppl-50 {
    padding-left: -6.66667vw !important;
  }

  .spmt-45 {
    margin-top: -6vw !important;
  }

  .spmb-45 {
    margin-bottom: -6vw !important;
  }

  .spmr-45 {
    margin-right: -6vw !important;
  }

  .spml-45 {
    margin-left: -6vw !important;
  }

  .sppt-45 {
    padding-top: -6vw !important;
  }

  .sppb-45 {
    padding-bottom: -6vw !important;
  }

  .sppr-45 {
    padding-right: -6vw !important;
  }

  .sppl-45 {
    padding-left: -6vw !important;
  }

  .spmt-40 {
    margin-top: -5.33333vw !important;
  }

  .spmb-40 {
    margin-bottom: -5.33333vw !important;
  }

  .spmr-40 {
    margin-right: -5.33333vw !important;
  }

  .spml-40 {
    margin-left: -5.33333vw !important;
  }

  .sppt-40 {
    padding-top: -5.33333vw !important;
  }

  .sppb-40 {
    padding-bottom: -5.33333vw !important;
  }

  .sppr-40 {
    padding-right: -5.33333vw !important;
  }

  .sppl-40 {
    padding-left: -5.33333vw !important;
  }

  .spmt-35 {
    margin-top: -4.66667vw !important;
  }

  .spmb-35 {
    margin-bottom: -4.66667vw !important;
  }

  .spmr-35 {
    margin-right: -4.66667vw !important;
  }

  .spml-35 {
    margin-left: -4.66667vw !important;
  }

  .sppt-35 {
    padding-top: -4.66667vw !important;
  }

  .sppb-35 {
    padding-bottom: -4.66667vw !important;
  }

  .sppr-35 {
    padding-right: -4.66667vw !important;
  }

  .sppl-35 {
    padding-left: -4.66667vw !important;
  }

  .spmt-30 {
    margin-top: -4vw !important;
  }

  .spmb-30 {
    margin-bottom: -4vw !important;
  }

  .spmr-30 {
    margin-right: -4vw !important;
  }

  .spml-30 {
    margin-left: -4vw !important;
  }

  .sppt-30 {
    padding-top: -4vw !important;
  }

  .sppb-30 {
    padding-bottom: -4vw !important;
  }

  .sppr-30 {
    padding-right: -4vw !important;
  }

  .sppl-30 {
    padding-left: -4vw !important;
  }

  .spmt-25 {
    margin-top: -3.33333vw !important;
  }

  .spmb-25 {
    margin-bottom: -3.33333vw !important;
  }

  .spmr-25 {
    margin-right: -3.33333vw !important;
  }

  .spml-25 {
    margin-left: -3.33333vw !important;
  }

  .sppt-25 {
    padding-top: -3.33333vw !important;
  }

  .sppb-25 {
    padding-bottom: -3.33333vw !important;
  }

  .sppr-25 {
    padding-right: -3.33333vw !important;
  }

  .sppl-25 {
    padding-left: -3.33333vw !important;
  }

  .spmt-20 {
    margin-top: -2.66667vw !important;
  }

  .spmb-20 {
    margin-bottom: -2.66667vw !important;
  }

  .spmr-20 {
    margin-right: -2.66667vw !important;
  }

  .spml-20 {
    margin-left: -2.66667vw !important;
  }

  .sppt-20 {
    padding-top: -2.66667vw !important;
  }

  .sppb-20 {
    padding-bottom: -2.66667vw !important;
  }

  .sppr-20 {
    padding-right: -2.66667vw !important;
  }

  .sppl-20 {
    padding-left: -2.66667vw !important;
  }

  .spmt-15 {
    margin-top: -2vw !important;
  }

  .spmb-15 {
    margin-bottom: -2vw !important;
  }

  .spmr-15 {
    margin-right: -2vw !important;
  }

  .spml-15 {
    margin-left: -2vw !important;
  }

  .sppt-15 {
    padding-top: -2vw !important;
  }

  .sppb-15 {
    padding-bottom: -2vw !important;
  }

  .sppr-15 {
    padding-right: -2vw !important;
  }

  .sppl-15 {
    padding-left: -2vw !important;
  }

  .spmt-10 {
    margin-top: -1.33333vw !important;
  }

  .spmb-10 {
    margin-bottom: -1.33333vw !important;
  }

  .spmr-10 {
    margin-right: -1.33333vw !important;
  }

  .spml-10 {
    margin-left: -1.33333vw !important;
  }

  .sppt-10 {
    padding-top: -1.33333vw !important;
  }

  .sppb-10 {
    padding-bottom: -1.33333vw !important;
  }

  .sppr-10 {
    padding-right: -1.33333vw !important;
  }

  .sppl-10 {
    padding-left: -1.33333vw !important;
  }

  .spmt-5 {
    margin-top: -0.66667vw !important;
  }

  .spmb-5 {
    margin-bottom: -0.66667vw !important;
  }

  .spmr-5 {
    margin-right: -0.66667vw !important;
  }

  .spml-5 {
    margin-left: -0.66667vw !important;
  }

  .sppt-5 {
    padding-top: -0.66667vw !important;
  }

  .sppb-5 {
    padding-bottom: -0.66667vw !important;
  }

  .sppr-5 {
    padding-right: -0.66667vw !important;
  }

  .sppl-5 {
    padding-left: -0.66667vw !important;
  }

  .spmt0 {
    margin-top: 0vw !important;
  }

  .spmb0 {
    margin-bottom: 0vw !important;
  }

  .spmr0 {
    margin-right: 0vw !important;
  }

  .spml0 {
    margin-left: 0vw !important;
  }

  .sppt0 {
    padding-top: 0vw !important;
  }

  .sppb0 {
    padding-bottom: 0vw !important;
  }

  .sppr0 {
    padding-right: 0vw !important;
  }

  .sppl0 {
    padding-left: 0vw !important;
  }

  .spmt5 {
    margin-top: 0.66667vw !important;
  }

  .spmb5 {
    margin-bottom: 0.66667vw !important;
  }

  .spmr5 {
    margin-right: 0.66667vw !important;
  }

  .spml5 {
    margin-left: 0.66667vw !important;
  }

  .sppt5 {
    padding-top: 0.66667vw !important;
  }

  .sppb5 {
    padding-bottom: 0.66667vw !important;
  }

  .sppr5 {
    padding-right: 0.66667vw !important;
  }

  .sppl5 {
    padding-left: 0.66667vw !important;
  }

  .spmt10 {
    margin-top: 1.33333vw !important;
  }

  .spmb10 {
    margin-bottom: 1.33333vw !important;
  }

  .spmr10 {
    margin-right: 1.33333vw !important;
  }

  .spml10 {
    margin-left: 1.33333vw !important;
  }

  .sppt10 {
    padding-top: 1.33333vw !important;
  }

  .sppb10 {
    padding-bottom: 1.33333vw !important;
  }

  .sppr10 {
    padding-right: 1.33333vw !important;
  }

  .sppl10 {
    padding-left: 1.33333vw !important;
  }

  .spmt15 {
    margin-top: 2vw !important;
  }

  .spmb15 {
    margin-bottom: 2vw !important;
  }

  .spmr15 {
    margin-right: 2vw !important;
  }

  .spml15 {
    margin-left: 2vw !important;
  }

  .sppt15 {
    padding-top: 2vw !important;
  }

  .sppb15 {
    padding-bottom: 2vw !important;
  }

  .sppr15 {
    padding-right: 2vw !important;
  }

  .sppl15 {
    padding-left: 2vw !important;
  }

  .spmt20 {
    margin-top: 2.66667vw !important;
  }

  .spmb20 {
    margin-bottom: 2.66667vw !important;
  }

  .spmr20 {
    margin-right: 2.66667vw !important;
  }

  .spml20 {
    margin-left: 2.66667vw !important;
  }

  .sppt20 {
    padding-top: 2.66667vw !important;
  }

  .sppb20 {
    padding-bottom: 2.66667vw !important;
  }

  .sppr20 {
    padding-right: 2.66667vw !important;
  }

  .sppl20 {
    padding-left: 2.66667vw !important;
  }

  .spmt25 {
    margin-top: 3.33333vw !important;
  }

  .spmb25 {
    margin-bottom: 3.33333vw !important;
  }

  .spmr25 {
    margin-right: 3.33333vw !important;
  }

  .spml25 {
    margin-left: 3.33333vw !important;
  }

  .sppt25 {
    padding-top: 3.33333vw !important;
  }

  .sppb25 {
    padding-bottom: 3.33333vw !important;
  }

  .sppr25 {
    padding-right: 3.33333vw !important;
  }

  .sppl25 {
    padding-left: 3.33333vw !important;
  }

  .spmt30 {
    margin-top: 4vw !important;
  }

  .spmb30 {
    margin-bottom: 4vw !important;
  }

  .spmr30 {
    margin-right: 4vw !important;
  }

  .spml30 {
    margin-left: 4vw !important;
  }

  .sppt30 {
    padding-top: 4vw !important;
  }

  .sppb30 {
    padding-bottom: 4vw !important;
  }

  .sppr30 {
    padding-right: 4vw !important;
  }

  .sppl30 {
    padding-left: 4vw !important;
  }

  .spmt35 {
    margin-top: 4.66667vw !important;
  }

  .spmb35 {
    margin-bottom: 4.66667vw !important;
  }

  .spmr35 {
    margin-right: 4.66667vw !important;
  }

  .spml35 {
    margin-left: 4.66667vw !important;
  }

  .sppt35 {
    padding-top: 4.66667vw !important;
  }

  .sppb35 {
    padding-bottom: 4.66667vw !important;
  }

  .sppr35 {
    padding-right: 4.66667vw !important;
  }

  .sppl35 {
    padding-left: 4.66667vw !important;
  }

  .spmt40 {
    margin-top: 5.33333vw !important;
  }

  .spmb40 {
    margin-bottom: 5.33333vw !important;
  }

  .spmr40 {
    margin-right: 5.33333vw !important;
  }

  .spml40 {
    margin-left: 5.33333vw !important;
  }

  .sppt40 {
    padding-top: 5.33333vw !important;
  }

  .sppb40 {
    padding-bottom: 5.33333vw !important;
  }

  .sppr40 {
    padding-right: 5.33333vw !important;
  }

  .sppl40 {
    padding-left: 5.33333vw !important;
  }

  .spmt45 {
    margin-top: 6vw !important;
  }

  .spmb45 {
    margin-bottom: 6vw !important;
  }

  .spmr45 {
    margin-right: 6vw !important;
  }

  .spml45 {
    margin-left: 6vw !important;
  }

  .sppt45 {
    padding-top: 6vw !important;
  }

  .sppb45 {
    padding-bottom: 6vw !important;
  }

  .sppr45 {
    padding-right: 6vw !important;
  }

  .sppl45 {
    padding-left: 6vw !important;
  }

  .spmt50 {
    margin-top: 6.66667vw !important;
  }

  .spmb50 {
    margin-bottom: 6.66667vw !important;
  }

  .spmr50 {
    margin-right: 6.66667vw !important;
  }

  .spml50 {
    margin-left: 6.66667vw !important;
  }

  .sppt50 {
    padding-top: 6.66667vw !important;
  }

  .sppb50 {
    padding-bottom: 6.66667vw !important;
  }

  .sppr50 {
    padding-right: 6.66667vw !important;
  }

  .sppl50 {
    padding-left: 6.66667vw !important;
  }

  .spmt55 {
    margin-top: 7.33333vw !important;
  }

  .spmb55 {
    margin-bottom: 7.33333vw !important;
  }

  .spmr55 {
    margin-right: 7.33333vw !important;
  }

  .spml55 {
    margin-left: 7.33333vw !important;
  }

  .sppt55 {
    padding-top: 7.33333vw !important;
  }

  .sppb55 {
    padding-bottom: 7.33333vw !important;
  }

  .sppr55 {
    padding-right: 7.33333vw !important;
  }

  .sppl55 {
    padding-left: 7.33333vw !important;
  }

  .spmt60 {
    margin-top: 8vw !important;
  }

  .spmb60 {
    margin-bottom: 8vw !important;
  }

  .spmr60 {
    margin-right: 8vw !important;
  }

  .spml60 {
    margin-left: 8vw !important;
  }

  .sppt60 {
    padding-top: 8vw !important;
  }

  .sppb60 {
    padding-bottom: 8vw !important;
  }

  .sppr60 {
    padding-right: 8vw !important;
  }

  .sppl60 {
    padding-left: 8vw !important;
  }

  .spmt65 {
    margin-top: 8.66667vw !important;
  }

  .spmb65 {
    margin-bottom: 8.66667vw !important;
  }

  .spmr65 {
    margin-right: 8.66667vw !important;
  }

  .spml65 {
    margin-left: 8.66667vw !important;
  }

  .sppt65 {
    padding-top: 8.66667vw !important;
  }

  .sppb65 {
    padding-bottom: 8.66667vw !important;
  }

  .sppr65 {
    padding-right: 8.66667vw !important;
  }

  .sppl65 {
    padding-left: 8.66667vw !important;
  }

  .spmt70 {
    margin-top: 9.33333vw !important;
  }

  .spmb70 {
    margin-bottom: 9.33333vw !important;
  }

  .spmr70 {
    margin-right: 9.33333vw !important;
  }

  .spml70 {
    margin-left: 9.33333vw !important;
  }

  .sppt70 {
    padding-top: 9.33333vw !important;
  }

  .sppb70 {
    padding-bottom: 9.33333vw !important;
  }

  .sppr70 {
    padding-right: 9.33333vw !important;
  }

  .sppl70 {
    padding-left: 9.33333vw !important;
  }

  .spmt75 {
    margin-top: 10vw !important;
  }

  .spmb75 {
    margin-bottom: 10vw !important;
  }

  .spmr75 {
    margin-right: 10vw !important;
  }

  .spml75 {
    margin-left: 10vw !important;
  }

  .sppt75 {
    padding-top: 10vw !important;
  }

  .sppb75 {
    padding-bottom: 10vw !important;
  }

  .sppr75 {
    padding-right: 10vw !important;
  }

  .sppl75 {
    padding-left: 10vw !important;
  }

  .spmt80 {
    margin-top: 10.66667vw !important;
  }

  .spmb80 {
    margin-bottom: 10.66667vw !important;
  }

  .spmr80 {
    margin-right: 10.66667vw !important;
  }

  .spml80 {
    margin-left: 10.66667vw !important;
  }

  .sppt80 {
    padding-top: 10.66667vw !important;
  }

  .sppb80 {
    padding-bottom: 10.66667vw !important;
  }

  .sppr80 {
    padding-right: 10.66667vw !important;
  }

  .sppl80 {
    padding-left: 10.66667vw !important;
  }

  .spmt85 {
    margin-top: 11.33333vw !important;
  }

  .spmb85 {
    margin-bottom: 11.33333vw !important;
  }

  .spmr85 {
    margin-right: 11.33333vw !important;
  }

  .spml85 {
    margin-left: 11.33333vw !important;
  }

  .sppt85 {
    padding-top: 11.33333vw !important;
  }

  .sppb85 {
    padding-bottom: 11.33333vw !important;
  }

  .sppr85 {
    padding-right: 11.33333vw !important;
  }

  .sppl85 {
    padding-left: 11.33333vw !important;
  }

  .spmt90 {
    margin-top: 12vw !important;
  }

  .spmb90 {
    margin-bottom: 12vw !important;
  }

  .spmr90 {
    margin-right: 12vw !important;
  }

  .spml90 {
    margin-left: 12vw !important;
  }

  .sppt90 {
    padding-top: 12vw !important;
  }

  .sppb90 {
    padding-bottom: 12vw !important;
  }

  .sppr90 {
    padding-right: 12vw !important;
  }

  .sppl90 {
    padding-left: 12vw !important;
  }

  .spmt95 {
    margin-top: 12.66667vw !important;
  }

  .spmb95 {
    margin-bottom: 12.66667vw !important;
  }

  .spmr95 {
    margin-right: 12.66667vw !important;
  }

  .spml95 {
    margin-left: 12.66667vw !important;
  }

  .sppt95 {
    padding-top: 12.66667vw !important;
  }

  .sppb95 {
    padding-bottom: 12.66667vw !important;
  }

  .sppr95 {
    padding-right: 12.66667vw !important;
  }

  .sppl95 {
    padding-left: 12.66667vw !important;
  }

  .spmt100 {
    margin-top: 13.33333vw !important;
  }

  .spmb100 {
    margin-bottom: 13.33333vw !important;
  }

  .spmr100 {
    margin-right: 13.33333vw !important;
  }

  .spml100 {
    margin-left: 13.33333vw !important;
  }

  .sppt100 {
    padding-top: 13.33333vw !important;
  }

  .sppb100 {
    padding-bottom: 13.33333vw !important;
  }

  .sppr100 {
    padding-right: 13.33333vw !important;
  }

  .sppl100 {
    padding-left: 13.33333vw !important;
  }

  .spmt105 {
    margin-top: 14vw !important;
  }

  .spmb105 {
    margin-bottom: 14vw !important;
  }

  .spmr105 {
    margin-right: 14vw !important;
  }

  .spml105 {
    margin-left: 14vw !important;
  }

  .sppt105 {
    padding-top: 14vw !important;
  }

  .sppb105 {
    padding-bottom: 14vw !important;
  }

  .sppr105 {
    padding-right: 14vw !important;
  }

  .sppl105 {
    padding-left: 14vw !important;
  }

  .spmt110 {
    margin-top: 14.66667vw !important;
  }

  .spmb110 {
    margin-bottom: 14.66667vw !important;
  }

  .spmr110 {
    margin-right: 14.66667vw !important;
  }

  .spml110 {
    margin-left: 14.66667vw !important;
  }

  .sppt110 {
    padding-top: 14.66667vw !important;
  }

  .sppb110 {
    padding-bottom: 14.66667vw !important;
  }

  .sppr110 {
    padding-right: 14.66667vw !important;
  }

  .sppl110 {
    padding-left: 14.66667vw !important;
  }

  .spmt115 {
    margin-top: 15.33333vw !important;
  }

  .spmb115 {
    margin-bottom: 15.33333vw !important;
  }

  .spmr115 {
    margin-right: 15.33333vw !important;
  }

  .spml115 {
    margin-left: 15.33333vw !important;
  }

  .sppt115 {
    padding-top: 15.33333vw !important;
  }

  .sppb115 {
    padding-bottom: 15.33333vw !important;
  }

  .sppr115 {
    padding-right: 15.33333vw !important;
  }

  .sppl115 {
    padding-left: 15.33333vw !important;
  }

  .spmt120 {
    margin-top: 16vw !important;
  }

  .spmb120 {
    margin-bottom: 16vw !important;
  }

  .spmr120 {
    margin-right: 16vw !important;
  }

  .spml120 {
    margin-left: 16vw !important;
  }

  .sppt120 {
    padding-top: 16vw !important;
  }

  .sppb120 {
    padding-bottom: 16vw !important;
  }

  .sppr120 {
    padding-right: 16vw !important;
  }

  .sppl120 {
    padding-left: 16vw !important;
  }

  .spmt125 {
    margin-top: 16.66667vw !important;
  }

  .spmb125 {
    margin-bottom: 16.66667vw !important;
  }

  .spmr125 {
    margin-right: 16.66667vw !important;
  }

  .spml125 {
    margin-left: 16.66667vw !important;
  }

  .sppt125 {
    padding-top: 16.66667vw !important;
  }

  .sppb125 {
    padding-bottom: 16.66667vw !important;
  }

  .sppr125 {
    padding-right: 16.66667vw !important;
  }

  .sppl125 {
    padding-left: 16.66667vw !important;
  }

  .spmt130 {
    margin-top: 17.33333vw !important;
  }

  .spmb130 {
    margin-bottom: 17.33333vw !important;
  }

  .spmr130 {
    margin-right: 17.33333vw !important;
  }

  .spml130 {
    margin-left: 17.33333vw !important;
  }

  .sppt130 {
    padding-top: 17.33333vw !important;
  }

  .sppb130 {
    padding-bottom: 17.33333vw !important;
  }

  .sppr130 {
    padding-right: 17.33333vw !important;
  }

  .sppl130 {
    padding-left: 17.33333vw !important;
  }

  .spmt135 {
    margin-top: 18vw !important;
  }

  .spmb135 {
    margin-bottom: 18vw !important;
  }

  .spmr135 {
    margin-right: 18vw !important;
  }

  .spml135 {
    margin-left: 18vw !important;
  }

  .sppt135 {
    padding-top: 18vw !important;
  }

  .sppb135 {
    padding-bottom: 18vw !important;
  }

  .sppr135 {
    padding-right: 18vw !important;
  }

  .sppl135 {
    padding-left: 18vw !important;
  }

  .spmt140 {
    margin-top: 18.66667vw !important;
  }

  .spmb140 {
    margin-bottom: 18.66667vw !important;
  }

  .spmr140 {
    margin-right: 18.66667vw !important;
  }

  .spml140 {
    margin-left: 18.66667vw !important;
  }

  .sppt140 {
    padding-top: 18.66667vw !important;
  }

  .sppb140 {
    padding-bottom: 18.66667vw !important;
  }

  .sppr140 {
    padding-right: 18.66667vw !important;
  }

  .sppl140 {
    padding-left: 18.66667vw !important;
  }

  .spmt145 {
    margin-top: 19.33333vw !important;
  }

  .spmb145 {
    margin-bottom: 19.33333vw !important;
  }

  .spmr145 {
    margin-right: 19.33333vw !important;
  }

  .spml145 {
    margin-left: 19.33333vw !important;
  }

  .sppt145 {
    padding-top: 19.33333vw !important;
  }

  .sppb145 {
    padding-bottom: 19.33333vw !important;
  }

  .sppr145 {
    padding-right: 19.33333vw !important;
  }

  .sppl145 {
    padding-left: 19.33333vw !important;
  }

  .spmt150 {
    margin-top: 20vw !important;
  }

  .spmb150 {
    margin-bottom: 20vw !important;
  }

  .spmr150 {
    margin-right: 20vw !important;
  }

  .spml150 {
    margin-left: 20vw !important;
  }

  .sppt150 {
    padding-top: 20vw !important;
  }

  .sppb150 {
    padding-bottom: 20vw !important;
  }

  .sppr150 {
    padding-right: 20vw !important;
  }

  .sppl150 {
    padding-left: 20vw !important;
  }
}

@media screen and (min-width: 896px) {
  .pcmt-50 {
    margin-top: -50px !important;
  }

  .pcmb-50 {
    margin-bottom: -50px !important;
  }

  .pcmr-50 {
    margin-right: -50px !important;
  }

  .pcml-50 {
    margin-left: -50px !important;
  }

  .pcpt-50 {
    padding-top: -50px !important;
  }

  .pcpb-50 {
    padding-bottom: -50px !important;
  }

  .pcpr-50 {
    padding-right: -50px !important;
  }

  .pcpl-50 {
    padding-left: -50px !important;
  }

  .pcmt-45 {
    margin-top: -45px !important;
  }

  .pcmb-45 {
    margin-bottom: -45px !important;
  }

  .pcmr-45 {
    margin-right: -45px !important;
  }

  .pcml-45 {
    margin-left: -45px !important;
  }

  .pcpt-45 {
    padding-top: -45px !important;
  }

  .pcpb-45 {
    padding-bottom: -45px !important;
  }

  .pcpr-45 {
    padding-right: -45px !important;
  }

  .pcpl-45 {
    padding-left: -45px !important;
  }

  .pcmt-40 {
    margin-top: -40px !important;
  }

  .pcmb-40 {
    margin-bottom: -40px !important;
  }

  .pcmr-40 {
    margin-right: -40px !important;
  }

  .pcml-40 {
    margin-left: -40px !important;
  }

  .pcpt-40 {
    padding-top: -40px !important;
  }

  .pcpb-40 {
    padding-bottom: -40px !important;
  }

  .pcpr-40 {
    padding-right: -40px !important;
  }

  .pcpl-40 {
    padding-left: -40px !important;
  }

  .pcmt-35 {
    margin-top: -35px !important;
  }

  .pcmb-35 {
    margin-bottom: -35px !important;
  }

  .pcmr-35 {
    margin-right: -35px !important;
  }

  .pcml-35 {
    margin-left: -35px !important;
  }

  .pcpt-35 {
    padding-top: -35px !important;
  }

  .pcpb-35 {
    padding-bottom: -35px !important;
  }

  .pcpr-35 {
    padding-right: -35px !important;
  }

  .pcpl-35 {
    padding-left: -35px !important;
  }

  .pcmt-30 {
    margin-top: -30px !important;
  }

  .pcmb-30 {
    margin-bottom: -30px !important;
  }

  .pcmr-30 {
    margin-right: -30px !important;
  }

  .pcml-30 {
    margin-left: -30px !important;
  }

  .pcpt-30 {
    padding-top: -30px !important;
  }

  .pcpb-30 {
    padding-bottom: -30px !important;
  }

  .pcpr-30 {
    padding-right: -30px !important;
  }

  .pcpl-30 {
    padding-left: -30px !important;
  }

  .pcmt-25 {
    margin-top: -25px !important;
  }

  .pcmb-25 {
    margin-bottom: -25px !important;
  }

  .pcmr-25 {
    margin-right: -25px !important;
  }

  .pcml-25 {
    margin-left: -25px !important;
  }

  .pcpt-25 {
    padding-top: -25px !important;
  }

  .pcpb-25 {
    padding-bottom: -25px !important;
  }

  .pcpr-25 {
    padding-right: -25px !important;
  }

  .pcpl-25 {
    padding-left: -25px !important;
  }

  .pcmt-20 {
    margin-top: -20px !important;
  }

  .pcmb-20 {
    margin-bottom: -20px !important;
  }

  .pcmr-20 {
    margin-right: -20px !important;
  }

  .pcml-20 {
    margin-left: -20px !important;
  }

  .pcpt-20 {
    padding-top: -20px !important;
  }

  .pcpb-20 {
    padding-bottom: -20px !important;
  }

  .pcpr-20 {
    padding-right: -20px !important;
  }

  .pcpl-20 {
    padding-left: -20px !important;
  }

  .pcmt-15 {
    margin-top: -15px !important;
  }

  .pcmb-15 {
    margin-bottom: -15px !important;
  }

  .pcmr-15 {
    margin-right: -15px !important;
  }

  .pcml-15 {
    margin-left: -15px !important;
  }

  .pcpt-15 {
    padding-top: -15px !important;
  }

  .pcpb-15 {
    padding-bottom: -15px !important;
  }

  .pcpr-15 {
    padding-right: -15px !important;
  }

  .pcpl-15 {
    padding-left: -15px !important;
  }

  .pcmt-10 {
    margin-top: -10px !important;
  }

  .pcmb-10 {
    margin-bottom: -10px !important;
  }

  .pcmr-10 {
    margin-right: -10px !important;
  }

  .pcml-10 {
    margin-left: -10px !important;
  }

  .pcpt-10 {
    padding-top: -10px !important;
  }

  .pcpb-10 {
    padding-bottom: -10px !important;
  }

  .pcpr-10 {
    padding-right: -10px !important;
  }

  .pcpl-10 {
    padding-left: -10px !important;
  }

  .pcmt-5 {
    margin-top: -5px !important;
  }

  .pcmb-5 {
    margin-bottom: -5px !important;
  }

  .pcmr-5 {
    margin-right: -5px !important;
  }

  .pcml-5 {
    margin-left: -5px !important;
  }

  .pcpt-5 {
    padding-top: -5px !important;
  }

  .pcpb-5 {
    padding-bottom: -5px !important;
  }

  .pcpr-5 {
    padding-right: -5px !important;
  }

  .pcpl-5 {
    padding-left: -5px !important;
  }

  .pcmt0 {
    margin-top: 0px !important;
  }

  .pcmb0 {
    margin-bottom: 0px !important;
  }

  .pcmr0 {
    margin-right: 0px !important;
  }

  .pcml0 {
    margin-left: 0px !important;
  }

  .pcpt0 {
    padding-top: 0px !important;
  }

  .pcpb0 {
    padding-bottom: 0px !important;
  }

  .pcpr0 {
    padding-right: 0px !important;
  }

  .pcpl0 {
    padding-left: 0px !important;
  }

  .pcmt5 {
    margin-top: 5px !important;
  }

  .pcmb5 {
    margin-bottom: 5px !important;
  }

  .pcmr5 {
    margin-right: 5px !important;
  }

  .pcml5 {
    margin-left: 5px !important;
  }

  .pcpt5 {
    padding-top: 5px !important;
  }

  .pcpb5 {
    padding-bottom: 5px !important;
  }

  .pcpr5 {
    padding-right: 5px !important;
  }

  .pcpl5 {
    padding-left: 5px !important;
  }

  .pcmt10 {
    margin-top: 10px !important;
  }

  .pcmb10 {
    margin-bottom: 10px !important;
  }

  .pcmr10 {
    margin-right: 10px !important;
  }

  .pcml10 {
    margin-left: 10px !important;
  }

  .pcpt10 {
    padding-top: 10px !important;
  }

  .pcpb10 {
    padding-bottom: 10px !important;
  }

  .pcpr10 {
    padding-right: 10px !important;
  }

  .pcpl10 {
    padding-left: 10px !important;
  }

  .pcmt15 {
    margin-top: 15px !important;
  }

  .pcmb15 {
    margin-bottom: 15px !important;
  }

  .pcmr15 {
    margin-right: 15px !important;
  }

  .pcml15 {
    margin-left: 15px !important;
  }

  .pcpt15 {
    padding-top: 15px !important;
  }

  .pcpb15 {
    padding-bottom: 15px !important;
  }

  .pcpr15 {
    padding-right: 15px !important;
  }

  .pcpl15 {
    padding-left: 15px !important;
  }

  .pcmt20 {
    margin-top: 20px !important;
  }

  .pcmb20 {
    margin-bottom: 20px !important;
  }

  .pcmr20 {
    margin-right: 20px !important;
  }

  .pcml20 {
    margin-left: 20px !important;
  }

  .pcpt20 {
    padding-top: 20px !important;
  }

  .pcpb20 {
    padding-bottom: 20px !important;
  }

  .pcpr20 {
    padding-right: 20px !important;
  }

  .pcpl20 {
    padding-left: 20px !important;
  }

  .pcmt25 {
    margin-top: 25px !important;
  }

  .pcmb25 {
    margin-bottom: 25px !important;
  }

  .pcmr25 {
    margin-right: 25px !important;
  }

  .pcml25 {
    margin-left: 25px !important;
  }

  .pcpt25 {
    padding-top: 25px !important;
  }

  .pcpb25 {
    padding-bottom: 25px !important;
  }

  .pcpr25 {
    padding-right: 25px !important;
  }

  .pcpl25 {
    padding-left: 25px !important;
  }

  .pcmt30 {
    margin-top: 30px !important;
  }

  .pcmb30 {
    margin-bottom: 30px !important;
  }

  .pcmr30 {
    margin-right: 30px !important;
  }

  .pcml30 {
    margin-left: 30px !important;
  }

  .pcpt30 {
    padding-top: 30px !important;
  }

  .pcpb30 {
    padding-bottom: 30px !important;
  }

  .pcpr30 {
    padding-right: 30px !important;
  }

  .pcpl30 {
    padding-left: 30px !important;
  }

  .pcmt35 {
    margin-top: 35px !important;
  }

  .pcmb35 {
    margin-bottom: 35px !important;
  }

  .pcmr35 {
    margin-right: 35px !important;
  }

  .pcml35 {
    margin-left: 35px !important;
  }

  .pcpt35 {
    padding-top: 35px !important;
  }

  .pcpb35 {
    padding-bottom: 35px !important;
  }

  .pcpr35 {
    padding-right: 35px !important;
  }

  .pcpl35 {
    padding-left: 35px !important;
  }

  .pcmt40 {
    margin-top: 40px !important;
  }

  .pcmb40 {
    margin-bottom: 40px !important;
  }

  .pcmr40 {
    margin-right: 40px !important;
  }

  .pcml40 {
    margin-left: 40px !important;
  }

  .pcpt40 {
    padding-top: 40px !important;
  }

  .pcpb40 {
    padding-bottom: 40px !important;
  }

  .pcpr40 {
    padding-right: 40px !important;
  }

  .pcpl40 {
    padding-left: 40px !important;
  }

  .pcmt45 {
    margin-top: 45px !important;
  }

  .pcmb45 {
    margin-bottom: 45px !important;
  }

  .pcmr45 {
    margin-right: 45px !important;
  }

  .pcml45 {
    margin-left: 45px !important;
  }

  .pcpt45 {
    padding-top: 45px !important;
  }

  .pcpb45 {
    padding-bottom: 45px !important;
  }

  .pcpr45 {
    padding-right: 45px !important;
  }

  .pcpl45 {
    padding-left: 45px !important;
  }

  .pcmt50 {
    margin-top: 50px !important;
  }

  .pcmb50 {
    margin-bottom: 50px !important;
  }

  .pcmr50 {
    margin-right: 50px !important;
  }

  .pcml50 {
    margin-left: 50px !important;
  }

  .pcpt50 {
    padding-top: 50px !important;
  }

  .pcpb50 {
    padding-bottom: 50px !important;
  }

  .pcpr50 {
    padding-right: 50px !important;
  }

  .pcpl50 {
    padding-left: 50px !important;
  }

  .pcmt55 {
    margin-top: 55px !important;
  }

  .pcmb55 {
    margin-bottom: 55px !important;
  }

  .pcmr55 {
    margin-right: 55px !important;
  }

  .pcml55 {
    margin-left: 55px !important;
  }

  .pcpt55 {
    padding-top: 55px !important;
  }

  .pcpb55 {
    padding-bottom: 55px !important;
  }

  .pcpr55 {
    padding-right: 55px !important;
  }

  .pcpl55 {
    padding-left: 55px !important;
  }

  .pcmt60 {
    margin-top: 60px !important;
  }

  .pcmb60 {
    margin-bottom: 60px !important;
  }

  .pcmr60 {
    margin-right: 60px !important;
  }

  .pcml60 {
    margin-left: 60px !important;
  }

  .pcpt60 {
    padding-top: 60px !important;
  }

  .pcpb60 {
    padding-bottom: 60px !important;
  }

  .pcpr60 {
    padding-right: 60px !important;
  }

  .pcpl60 {
    padding-left: 60px !important;
  }

  .pcmt65 {
    margin-top: 65px !important;
  }

  .pcmb65 {
    margin-bottom: 65px !important;
  }

  .pcmr65 {
    margin-right: 65px !important;
  }

  .pcml65 {
    margin-left: 65px !important;
  }

  .pcpt65 {
    padding-top: 65px !important;
  }

  .pcpb65 {
    padding-bottom: 65px !important;
  }

  .pcpr65 {
    padding-right: 65px !important;
  }

  .pcpl65 {
    padding-left: 65px !important;
  }

  .pcmt70 {
    margin-top: 70px !important;
  }

  .pcmb70 {
    margin-bottom: 70px !important;
  }

  .pcmr70 {
    margin-right: 70px !important;
  }

  .pcml70 {
    margin-left: 70px !important;
  }

  .pcpt70 {
    padding-top: 70px !important;
  }

  .pcpb70 {
    padding-bottom: 70px !important;
  }

  .pcpr70 {
    padding-right: 70px !important;
  }

  .pcpl70 {
    padding-left: 70px !important;
  }

  .pcmt75 {
    margin-top: 75px !important;
  }

  .pcmb75 {
    margin-bottom: 75px !important;
  }

  .pcmr75 {
    margin-right: 75px !important;
  }

  .pcml75 {
    margin-left: 75px !important;
  }

  .pcpt75 {
    padding-top: 75px !important;
  }

  .pcpb75 {
    padding-bottom: 75px !important;
  }

  .pcpr75 {
    padding-right: 75px !important;
  }

  .pcpl75 {
    padding-left: 75px !important;
  }

  .pcmt80 {
    margin-top: 80px !important;
  }

  .pcmb80 {
    margin-bottom: 80px !important;
  }

  .pcmr80 {
    margin-right: 80px !important;
  }

  .pcml80 {
    margin-left: 80px !important;
  }

  .pcpt80 {
    padding-top: 80px !important;
  }

  .pcpb80 {
    padding-bottom: 80px !important;
  }

  .pcpr80 {
    padding-right: 80px !important;
  }

  .pcpl80 {
    padding-left: 80px !important;
  }

  .pcmt85 {
    margin-top: 85px !important;
  }

  .pcmb85 {
    margin-bottom: 85px !important;
  }

  .pcmr85 {
    margin-right: 85px !important;
  }

  .pcml85 {
    margin-left: 85px !important;
  }

  .pcpt85 {
    padding-top: 85px !important;
  }

  .pcpb85 {
    padding-bottom: 85px !important;
  }

  .pcpr85 {
    padding-right: 85px !important;
  }

  .pcpl85 {
    padding-left: 85px !important;
  }

  .pcmt90 {
    margin-top: 90px !important;
  }

  .pcmb90 {
    margin-bottom: 90px !important;
  }

  .pcmr90 {
    margin-right: 90px !important;
  }

  .pcml90 {
    margin-left: 90px !important;
  }

  .pcpt90 {
    padding-top: 90px !important;
  }

  .pcpb90 {
    padding-bottom: 90px !important;
  }

  .pcpr90 {
    padding-right: 90px !important;
  }

  .pcpl90 {
    padding-left: 90px !important;
  }

  .pcmt95 {
    margin-top: 95px !important;
  }

  .pcmb95 {
    margin-bottom: 95px !important;
  }

  .pcmr95 {
    margin-right: 95px !important;
  }

  .pcml95 {
    margin-left: 95px !important;
  }

  .pcpt95 {
    padding-top: 95px !important;
  }

  .pcpb95 {
    padding-bottom: 95px !important;
  }

  .pcpr95 {
    padding-right: 95px !important;
  }

  .pcpl95 {
    padding-left: 95px !important;
  }

  .pcmt100 {
    margin-top: 100px !important;
  }

  .pcmb100 {
    margin-bottom: 100px !important;
  }

  .pcmr100 {
    margin-right: 100px !important;
  }

  .pcml100 {
    margin-left: 100px !important;
  }

  .pcpt100 {
    padding-top: 100px !important;
  }

  .pcpb100 {
    padding-bottom: 100px !important;
  }

  .pcpr100 {
    padding-right: 100px !important;
  }

  .pcpl100 {
    padding-left: 100px !important;
  }

  .pcmt105 {
    margin-top: 105px !important;
  }

  .pcmb105 {
    margin-bottom: 105px !important;
  }

  .pcmr105 {
    margin-right: 105px !important;
  }

  .pcml105 {
    margin-left: 105px !important;
  }

  .pcpt105 {
    padding-top: 105px !important;
  }

  .pcpb105 {
    padding-bottom: 105px !important;
  }

  .pcpr105 {
    padding-right: 105px !important;
  }

  .pcpl105 {
    padding-left: 105px !important;
  }

  .pcmt110 {
    margin-top: 110px !important;
  }

  .pcmb110 {
    margin-bottom: 110px !important;
  }

  .pcmr110 {
    margin-right: 110px !important;
  }

  .pcml110 {
    margin-left: 110px !important;
  }

  .pcpt110 {
    padding-top: 110px !important;
  }

  .pcpb110 {
    padding-bottom: 110px !important;
  }

  .pcpr110 {
    padding-right: 110px !important;
  }

  .pcpl110 {
    padding-left: 110px !important;
  }

  .pcmt115 {
    margin-top: 115px !important;
  }

  .pcmb115 {
    margin-bottom: 115px !important;
  }

  .pcmr115 {
    margin-right: 115px !important;
  }

  .pcml115 {
    margin-left: 115px !important;
  }

  .pcpt115 {
    padding-top: 115px !important;
  }

  .pcpb115 {
    padding-bottom: 115px !important;
  }

  .pcpr115 {
    padding-right: 115px !important;
  }

  .pcpl115 {
    padding-left: 115px !important;
  }

  .pcmt120 {
    margin-top: 120px !important;
  }

  .pcmb120 {
    margin-bottom: 120px !important;
  }

  .pcmr120 {
    margin-right: 120px !important;
  }

  .pcml120 {
    margin-left: 120px !important;
  }

  .pcpt120 {
    padding-top: 120px !important;
  }

  .pcpb120 {
    padding-bottom: 120px !important;
  }

  .pcpr120 {
    padding-right: 120px !important;
  }

  .pcpl120 {
    padding-left: 120px !important;
  }

  .pcmt125 {
    margin-top: 125px !important;
  }

  .pcmb125 {
    margin-bottom: 125px !important;
  }

  .pcmr125 {
    margin-right: 125px !important;
  }

  .pcml125 {
    margin-left: 125px !important;
  }

  .pcpt125 {
    padding-top: 125px !important;
  }

  .pcpb125 {
    padding-bottom: 125px !important;
  }

  .pcpr125 {
    padding-right: 125px !important;
  }

  .pcpl125 {
    padding-left: 125px !important;
  }

  .pcmt130 {
    margin-top: 130px !important;
  }

  .pcmb130 {
    margin-bottom: 130px !important;
  }

  .pcmr130 {
    margin-right: 130px !important;
  }

  .pcml130 {
    margin-left: 130px !important;
  }

  .pcpt130 {
    padding-top: 130px !important;
  }

  .pcpb130 {
    padding-bottom: 130px !important;
  }

  .pcpr130 {
    padding-right: 130px !important;
  }

  .pcpl130 {
    padding-left: 130px !important;
  }

  .pcmt135 {
    margin-top: 135px !important;
  }

  .pcmb135 {
    margin-bottom: 135px !important;
  }

  .pcmr135 {
    margin-right: 135px !important;
  }

  .pcml135 {
    margin-left: 135px !important;
  }

  .pcpt135 {
    padding-top: 135px !important;
  }

  .pcpb135 {
    padding-bottom: 135px !important;
  }

  .pcpr135 {
    padding-right: 135px !important;
  }

  .pcpl135 {
    padding-left: 135px !important;
  }

  .pcmt140 {
    margin-top: 140px !important;
  }

  .pcmb140 {
    margin-bottom: 140px !important;
  }

  .pcmr140 {
    margin-right: 140px !important;
  }

  .pcml140 {
    margin-left: 140px !important;
  }

  .pcpt140 {
    padding-top: 140px !important;
  }

  .pcpb140 {
    padding-bottom: 140px !important;
  }

  .pcpr140 {
    padding-right: 140px !important;
  }

  .pcpl140 {
    padding-left: 140px !important;
  }

  .pcmt145 {
    margin-top: 145px !important;
  }

  .pcmb145 {
    margin-bottom: 145px !important;
  }

  .pcmr145 {
    margin-right: 145px !important;
  }

  .pcml145 {
    margin-left: 145px !important;
  }

  .pcpt145 {
    padding-top: 145px !important;
  }

  .pcpb145 {
    padding-bottom: 145px !important;
  }

  .pcpr145 {
    padding-right: 145px !important;
  }

  .pcpl145 {
    padding-left: 145px !important;
  }

  .pcmt150 {
    margin-top: 150px !important;
  }

  .pcmb150 {
    margin-bottom: 150px !important;
  }

  .pcmr150 {
    margin-right: 150px !important;
  }

  .pcml150 {
    margin-left: 150px !important;
  }

  .pcpt150 {
    padding-top: 150px !important;
  }

  .pcpb150 {
    padding-bottom: 150px !important;
  }

  .pcpr150 {
    padding-right: 150px !important;
  }

  .pcpl150 {
    padding-left: 150px !important;
  }
}

@media screen and (max-width: 895px) {
  .palt-sp {
    font-feature-settings: 'palt';
  }
}

.u-bold {
  font-weight: bold !important;
}

.u-text-align-center {
  text-align: center !important;
}

.u-text-align-left {
  text-align: left !important;
}

.u-text-align-right {
  text-align: right !important;
}

.u-no-margin-top {
  margin-top: 0 !important;
}

.u-text-color--pink {
  color: #ff4b6d;
}

html {
  font-size: 62.5%;
}

body {
  background: #000000;
  color: #ffffff;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.6rem;
  font-weight: 300;
  height: 100%;
  //letter-spacing: 0.06em;
  line-height: 1.7;
  width: 100%;
  -webkit-font-feature-settings: "paln";
  font-feature-settings: "palt";
}

.wrapper {
  display: block;
  position: relative;
  width: 100%;
}

@media screen and (min-width: 896px) {
  .wrapper {
    margin: auto;
  }
}

@media screen and (max-width: 895px) {
  .wrapper {
    overflow-x: hidden;
  }
}

/* clearfix */
.clearfix {
  overflow: hidden;
  zoom: 1;
}

.clearfix:after {
  clear: both;
  content: "";
  display: block;
}

@media screen and (max-width: 895px) {
  .pc {
    display: none !important;
  }
}

@media screen and (min-width: 896px) {
  .sp {
    display: none !important;
  }
}

.footer {
  background-color: #fcfcfb;
  box-shadow: 0px 1px 6px 0px rgba(32, 29, 28, 0.24);
  position: relative;
}

.header {
  position: absolute;
  width: 100%;
  z-index: 2;
  transition: all 400ms cubic-bezier(0.5, 1, 0.89, 1);
  /*easeOutQuad*/
}

.lower-page .header {
  position: relative;
}

.header.is-fixed,
.lower-page .header.is-fixed {
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 2;
  background-color: rgba(255, 255, 255, 0.9);
}

@media screen and (min-width: 896px) {
  .header {
    position: absolute;
    left: 0;
    top: 0;
  }

  .lower-page .header {
    position: absolute;
    height: 240px;
  }

  .lower-page .header.is-fixed {
    height: inherit;
  }
}

@media screen and (max-width: 895px) {
  .header {
    height: 16vw;
  }
}

@media screen and (min-width: 896px) {
  .header__inner {
    height: 100%;
    margin: auto;
    padding: 0 20px;
    width: 1000px;
  }

  .is-fixed .header__inner {
    padding: 5px 0;
  }
}

@media screen and (min-width: 896px) and (max-width: 1020px) {
  .header__inner {
    width: 100%;
  }
}

.logo {
  position: relative;
}

@media screen and (min-width: 896px) {
  .logo {
    text-align: center;
  }

  .logo a img {
    width: 226px;
    margin: 30px auto 35px;
  }

  .logo a {
    transition: all 400ms cubic-bezier(0.5, 1, 0.89, 1);
    /*easeOutQuad*/
  }

  .logo a:hover {
    opacity: 0.6;
  }

  .is-fixed .logo a img {
    width: 140px;
    margin: 0 auto 10px;
  }

}

@media screen and (max-width: 895px) {
  .logo {
    height: 9.6vw;
    left: 4vw;
    position: absolute;
    top: 3.33333vw;
  }
}

.logo img {
  height: 100%;
  width: auto;
}

.menu__content {
  align-items: center;
  display: flex;
  flex: 1;
  justify-content: center;
  position: relative;
}

@media screen and (max-width: 895px) {
  .menu__content {
    align-items: center;
    background-color: rgba(255, 255, 255, 0.9);
    display: flex;
    height: 100vh;
    justify-content: center;
    left: 0;
    opacity: 0;
    position: fixed;
    text-align: center;
    top: 0;
    transition: 0.5s;
    visibility: hidden;
    width: 100%;
  }
}

.menu__content.active {
  opacity: 1;
  visibility: visible;
}

@media screen and (min-width: 896px) {
  .menu__wrapper {
    width: 100%;
  }
}

.menu {
  align-items: center;
  display: flex;
  font-family: "Noto Serif JP", serif;
  justify-content: space-between;
}

.menu li {
  padding: 5px;
}


@media screen and (min-width: 896px) {
  .menu {
    padding: 0 8px;
    font-size: 1.4rem;
  }

  .menu li a,
  .menu li.active a,
  .menu li a.menu_sc_active {
    position: relative;
    color: #000000;
    display: block;
    padding: 0 0 5px;
    text-decoration: none;
  }

  .menu li a:before,
  .menu li a:after {
    border-bottom: solid 2px #000000;
    bottom: 0;
    content: "";
    display: block;
    position: absolute;
    transition: all 400ms cubic-bezier(0.5, 1, 0.89, 1);
    /*easeOutQuad*/
    width: 0;
  }

  .menu li a:before {
    left: 50%;
  }

  .menu li a:after {
    right: 50%;
  }

  .menu li a:hover:before,
  .menu li a:hover:after {
    width: 50%;
  }

  .menu li.active a:before,
  .menu li.active a:after,
  .menu li a.menu_sc_active:before,
  .menu li a.menu_sc_active:after {
    border-bottom: solid 2px #000000;
    bottom: 0;
    content: "";
    display: block;
    position: absolute;
    width: 50%;
  }

}

@media screen and (max-width: 895px) {
  .menu {
    display: block;
  }
}

@media screen and (max-width: 895px) {
  .menu li {
    border-bottom: 1px solid #666;
    margin: 30px 0;
  }
}

@media screen and (max-width: 895px) {
  .menu li a {
    font-size: 4.8vw;
    padding: 2.5vw;
    text-decoration: none;
  }
}

@media screen and (min-width: 896px) {
  .menu li a {
    transition: all 400ms cubic-bezier(0.5, 1, 0.89, 1);
    /*easeOutQuad*/
  }

  .menu li a:hover {
    opacity: 0.6;
  }
}

.menu__btn {
  cursor: pointer;
  padding: 10px;
  position: fixed;
  right: 1.5625vw;
  top: 3.5vw;
  z-index: 15;
}

@media screen and (min-width: 896px) {
  .menu__btn {
    display: none;
  }
}

.menu__btn.active span:nth-of-type(1) {
  transform: translateY(7px) rotate(-45deg);
}

.menu__btn.active span:nth-of-type(2) {
  opacity: 0;
}

.menu__btn.active span:nth-of-type(3) {
  transform: translateY(-7px) rotate(45deg);
}

.menu__btn .menu__btn-wrap {
  box-sizing: border-box;
  display: inline-block;
  height: 15px;
  position: relative;
  transition: all .4s;
  width: 20px;
}

.menu__btn span {
  background-color: #000;
  box-sizing: border-box;
  display: inline-block;
  height: 1px;
  left: 0;
  position: absolute;
  transition: all .4s;
  width: 100%;
}

.menu__btn span:nth-of-type(1) {
  top: 0;
}

.menu__btn span:nth-of-type(2) {
  top: 7px;
}

.menu__btn span:nth-of-type(3) {
  bottom: 0;
}

.breadcrumb {
  padding: 5px 20px 0;
  margin: 0 auto 10px;
  text-align: left;
  font-size: 1.2rem;
}

.main-visual {
  position: relative;
  width: 100%;
}

.index_page .main-visual {
  background: url(../img/index/header_bg01.png) no-repeat center bottom;
  background-size: cover;
  height: 60vw;
}

.index_page .main-visual .inner {
  background: url(../img/index/header_bg02.png) repeat-x left 20% bottom;
  background-size: cover;
  height: 60vw;
}

/*メンバー紹介*/
.member_page .main-visual {
  background: url(../img/member/mv.png) no-repeat center center;
  background-size: cover;
}

/*品質管理体制*/
.quality_page .main-visual {
  background: url(../img/quality/mv.png) no-repeat center center;
  background-size: cover;
}

/*プライバシーポリシー*/
.privacy_page .main-visual {
  background: url(../img/member/mv.png) no-repeat center center;
  background-size: cover;
}

/*お問い合わせ*/
.contact_page .main-visual {
  background: url(../img/member/mv.png) no-repeat center center;
  background-size: cover;
}

.lower-page .header {
  height: 16vw;
  background-color: rgba(255, 255, 255, 0.9);
}

.lower-page .main-visual {
  display: none;
}

@media screen and (min-width: 896px) {
  .index_page .main-visual {
    height: 402px;
  }

  .index_page .main-visual .inner {
    background: url(../img/index/header_bg02.png) repeat-x center bottom;
    background-size: auto;
    height: 402px;
  }

  .lower-page .header {
    height: 240px;
    background: none;
    ;
  }

  .lower-page .main-visual {
    display: block;
    height: 240px;
  }
}

@media screen and (min-width: 896px) and (max-width: 1020px) {
  .lower-page .header {
    height: 200px;
  }

  .lower-page .main-visual {
    height: 200px;
  }
}

@media screen and (max-width: 895px) {
  .main-visual__text {
    font-size: 2.5rem;
  }

  .privacy_page .main-visual__text {
    font-size: 2.5rem;
    width: 100%;
    text-align: center;
  }
}

.main-visual__logo {
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
}

@media screen and (min-width: 896px) {
  .main-visual__logo {
    height: 77px;
    margin-top: -40px;
    width: auto;
  }
}

@media screen and (max-width: 895px) {
  .main-visual__logo {
    height: 13.33333vw;
    margin-top: 9.33333vw;
    width: auto;
  }
}

.main-visual__logo img {
  height: 100%;
  width: auto;
}

/*cmn_parts*/
.section {
  position: relative;
  padding: 10% 5% 5%;
}

.section__heading {
  color: #ffffff;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 2.2rem;
  padding: 10px 0 20px;
  letter-spacing: 0.2em;
  text-align: right;
}

.section__read {
  font-family: "Noto Serif JP", serif;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.4;
}

.section__en {
  color: #ffffff;
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0.06em;
  padding: 0;
}

.section__en .heading {
  color: #ffffff;
  font-size: 4rem;
  font-weight: 500;
  line-height: 1;
}

.section__en .heading span {
  display: block;
  font-size: 2rem;
}

.section__en .txt {
  color: #6A6A6A;
  font-size: 1rem;
  font-weight: 300;
  letter-spacing: 0.06em;
  line-height: 1.2;
  width: 100%;
  margin: 10px 0 0;
}

@media screen and (min-width: 896px) {

  /*cmn_parts*/
  .breadcrumb {
    max-width: 1180px;
    padding: 15px 20px 0;
    margin: 0 auto;
  }

  .contents {
    position: relative;
    max-width: 1180px;
    margin: 0 auto;
  }

  .section {
    padding: 0;
    margin: 0;
  }

  .section.inner_width {
    padding: 0 20px;
  }

  .section .section__heading {
    position: relative;
    letter-spacing: 0.2em;
    text-align: left;
    font-size: 2.8rem;
  }

  .section .section__en {
    letter-spacing: 0.06em;
    transform: rotate(-90deg);
  }

  .section .section__en .heading {
    font-size: 10rem;
  }

  .section .section__en .heading span {
    font-size: 5rem;
  }

  .section .section__en .txt {
    font-size: 1.2rem;
    width: 270px;
  }

  .section .section__read {
    line-height: 1.4;
  }
}

@media only screen and (min-width: 896px) and (max-width: 1180px) {
  .section {
    max-width: 896px;
  }

  .section.inner_width {
    max-width: inherit;
  }
}

/*about*/
.section.about .about-pic-wrap {
  font-family: "Noto Serif JP", serif;
  padding: 20px 0 0;
}

.section.about .about-pic__text img {
  padding: 0 0 10px;
}

.section.about .about-pic__text {
  font-size: 1.8rem;
  font-weight: 300;
  line-height: 1;
  width: 100%;
}

.section.about .about-pic__text span {
  border-bottom: 3px solid #6A6A6A;
  padding: 0 0 5px;
  display: block
}

.section.about .about-pic__text span+span {
  margin: 20px 0 0;
}

/*philosophy*/
.section.philosophy .philosophy-wrap {
  padding: 20px 0 0;
}

.section.philosophy .philosophy__text-wrap {
  display: flex;
  flex-wrap: wrap;
  padding: 20px 0 0;
}

.section.philosophy .philosophy__indent-list {
  font-size: 1.4rem;
  width: 100%;
}

.section.philosophy .philosophy__indent-list:nth-of-type(1) {
  padding: 0;
}

.section.philosophy .philosophy__indent-list:nth-of-type(2) {
  padding: 0 0 0 5px;
}

.section.philosophy .philosophy__indent-list:nth-of-type(3) {
  padding: 20px 5px 0 0;
}

.section.philosophy .philosophy__indent-list-node {
  position: relative;
  background: #6A6A6A;
  color: #ffffff;
  padding: 4px 12px;
}

.section.philosophy .philosophy__indent-list-node+.philosophy__indent-list-node {
  margin-top: 5px;
}

/*business*/
.section.business .business-wrap {
  padding: 20px 0 0;
}

.section.business .business__pic {
  max-width: 200px;
  margin: 0 auto;
}

.section.business .business__text-wrap {
  display: flex;
  flex-wrap: wrap;
  padding: 20px 0 0;
}

.philosophy-pic__item {
  display: block;
  padding-top: 15px;
  width: 100%;
}

.section.business .business__indent-list {
  font-size: 1.4rem;
  width: 50%;
}

.section.business .business__indent-list:nth-of-type(1) {
  padding: 0 5px 0 0;
}

.section.business .business__indent-list:nth-of-type(2) {
  padding: 0 0 0 5px;
}

.section.business .business__indent-list:nth-of-type(3) {
  padding: 20px 5px 0 0;
}

.section.business .business__indent-list-node {
  position: relative;
  background: #6A6A6A;
  color: #ffffff;
  padding: 4px 6px 4px 20px;
}

.section.business .business__indent-list-node+.business__indent-list-node {
  margin-top: 5px;
}

.section.business .business__indent-list-node:before {
  background-color: #ffffff;
  border-radius: 50%;
  content: "";
  position: absolute;
}

.section.business .business__indent-list-node:before {
  width: 4px;
  height: 4px;
  left: 10px;
  top: calc(50% - 1px);
}

/*company*/
.section.company .company__tbl dl {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  font-size: 1.6rem;
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
}

.section.company .company__tbl dl dt {
  width: 30%;
  padding: 0 0 10px;
}

.section.company .company__tbl dl dd {
  width: 70%;
  padding: 0 0 10px;
}

.section.company .company__pic {
  width: 40%;
  margin: 0 0 0 auto;
}

/*contact*/
.section.contact .section__heading {
  text-align: center;
}

.section.contact .section__read {
  text-align: center;
}

.section.contact .contact-wrap {
  position: relative;
  margin: 20px 0 0;
  padding: 20px;
  background: url(../img/index/contact01.png) no-repeat center bottom;
  background-size: cover;
}

.section.contact .contact-wrap:after {
  content: '';
  background-color: rgba(0, 0, 0, 0.5);
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}

.section.contact .contact__text {
  position: relative;
  padding: 0;
  z-index: 1;
}

.section.contact .tel-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
}

.section.contact .tel-wrap img {
  width: 30px;
}

.section.contact .tel-wrap .number {
  font-size: 3rem;
  padding: 0 0 0 14px;
}

.section.contact .date-wrap {
  display: table;
  width: 80%;
  margin: 0 auto;
}

.section.contact .date-wrap dt {
  display: table-cell;
  text-align: center;
  font-size: 1.4rem;
  color: #000000;
  background: #ffffff;
  width: 30%;
  min-height: 30px;
  padding: 0 0 3px 0;
}

.section.contact .date-wrap dd {
  display: table-cell;
  text-align: center;
  font-size: 1.8rem;
  color: #ffffff;
  background: #888888;
  width: 70%;
}

.section__read .btn {
  color: #000000 !important;
  background-color: rgba(255, 255, 255, 1);
  padding: 0.4rem;
  text-align: center;
  margin-top: 16px;
  display: block;
  transition: 0.3s;
}

.section__read .btn:hover {
  background-color: rgba(255, 255, 255, 0.6);
}

/*access*/
.section.access .access_txt .map {
  padding: 10px 0 0;
  height: 66.66667vw;
}

.section.access .access_txt .map iframe {
  height: 100%;
  width: 100%;
}

.section.access .access_txt .address {
  position: relative;
  padding: 0 0 0 12%;
  margin: 3% 0 0;
}

.section.access .access_txt .tel {
  position: relative;
  padding: 0 0 0 12%;
  margin: 3% 0 0;
}

.section.access .access_txt .tel a {
  color: #ffffff;
}

.section.access .access_txt .map {
  position: relative;
  padding: 12% 0 0;
  margin: 6% 0 0;
}

.section.access .access_txt .address:before {
  background: url(../img/index/access_home.png) no-repeat left center;
  background-size: contain;
  content: "";
  width: 30px;
  height: 30px;
  left: 0;
  position: absolute;
  top: 3px;
}

.section.access .access_txt .tel:before {
  background: url(../img/index/access_tel.png) no-repeat left center;
  background-size: contain;
  content: "";
  width: 30px;
  height: 30px;
  left: 0;
  position: absolute;
  top: 0;
}

.section.access .access_txt .map:before {
  background: url(../img/index/access_map.png) no-repeat left top;
  background-size: contain;
  content: "";
  width: 30px;
  height: 30px;
  left: 0;
  position: absolute;
  top: 0;
}

@media screen and (min-width: 896px) {

  /*philosophy*/
  .section.philosophy {
    margin: 150px auto 0;
    padding: 0 0 0 20px;
  }

  .section.philosophy .section__heading {
    padding: 0 0 20px 700px;
  }

  .section.philosophy .section__en {
    position: absolute;
    right: -11px;
    top: 210px;
  }

  .section.philosophy .section__en .txt {
    position: absolute;
    top: -120px;
    right: 165px;
    width: 280px;
    margin: 30px 0 0 0;
  }

  .section.philosophy .section__read {
    margin: 0 0 0 310px;
    width: 520px;
  }

  .section.philosophy .philosophy-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    padding: 30px 0 0 0;
  }

  .section.philosophy .philosophy__text {
    padding: 0 0 0 235px;
  }

  .section.philosophy .philosophy__text-wrap {
    display: block;
    padding: 0
  }

  .philosophy-pic__item {
    max-width: 656px;
  }

  .section.philosophy .philosophy__indent-list:nth-of-type(1) {
    padding: 0;
  }

  .section.philosophy .philosophy__indent-list:nth-of-type(2) {
    padding: 0;
  }

  .section.philosophy .philosophy__indent-list:nth-of-type(3) {
    padding: 0;
  }

  .section.philosophy .philosophy__indent-list {
    font-size: 1.4rem;
  }

  .section.philosophy .philosophy__indent-list+.philosophy__indent-list {
    padding: 28px 0 0;
  }

  .section.philosophy .philosophy__indent-list-node {
    background: #6A6A6A;
    color: #ffffff;
  }

  .section.philosophy .philosophy__indent-list-node+.philosophy__indent-list-node {
    margin-top: 4px;
  }

  /*about*/
  .section.about {
    margin: 330px 20px 0 100px;
  }

  .section.about .about-pic__item {
    max-width: 362px;
  }

  .section.about .about-pic__item {
    width: inherit;
  }

  .section.about .about-pic__item img {
    max-width: 362px;
    width: inherit;
  }

  .section.about .about-pic__item img+img {
    margin: 5px 0 0;
  }

  .section.about .about-pic-wrap {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding: 10px 0 0 400px;
  }

  .section.about .about-pic__text {
    font-size: 1.8rem;
    padding: 0;
    margin: 0 25px 0 0;
  }

  .section.about .about-pic__text span {
    border-bottom: 5px solid #6A6A6A;
    padding: 0 0 5px;
    width: 264px;
  }

  .section.about .about-pic__text span+span {
    margin: 50px 0 0;
  }

  .section.about .section__heading {
    padding: 0 0 20px 220px;
  }

  .section.about .section__en {
    position: absolute;
    top: 0;
    left: 60px;
    padding: 0 58px 0 0;
  }

  .section.about .section__en .txt {
    margin: 15px 0 100px -80px;
  }

  .section.about .section__read {
    margin: 0 0 0 220px;
  }

  /*business*/
  .section.business {
    margin: 150px auto 0;
    padding: 0 0 0 20px;
  }

  .section.business .section__heading {
    padding: 0 0 20px 700px;
  }

  .section.business .section__en {
    position: absolute;
    right: -11px;
    top: 210px;
  }

  .section.business .section__en .txt {
    position: absolute;
    top: -120px;
    right: 165px;
    width: 280px;
    margin: 20px 0 0 0;
  }

  .section.business .section__read {
    margin: 0 0 0 310px;
    width: 520px;
  }

  .section.business .business__pic {
    max-width: 362px;
    margin: 0;
  }

  .section.business .business-wrap {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    padding: 30px 0 0 0;
  }

  .section.business .business__text {
    padding: 0 0 0 30px;
  }

  .section.business .business__text-wrap {
    display: block;
    padding: 0
  }

  .section.business .business__indent-list:nth-of-type(1) {
    padding: 0;
  }

  .section.business .business__indent-list:nth-of-type(2) {
    padding: 0;
  }

  .section.business .business__indent-list:nth-of-type(3) {
    padding: 0;
  }

  .section.business .business__indent-list {
    font-size: 1.4rem;
    width: 264px;
  }

  .section.business .business__indent-list+.business__indent-list {
    padding: 28px 0 0;
  }

  .section.business .business__indent-list-node {
    background: #6A6A6A;
    color: #ffffff;
    padding: 4px 6px 4px 20px;
  }

  .section.business .business__indent-list-node+.business__indent-list-node {
    margin-top: 4px;
  }

  .section.business .business__indent-list-node:before {
    width: 4px;
    height: 4px;
    left: 10px;
    top: calc(50% - 1px);
  }

  /*company*/
  .section.company {
    margin: 150px auto 0;
    padding: 0 20px 0 180px;
  }

  .section.company .company-wrap {
    font-family: "Noto Serif JP", serif;
    display: flex;
    padding: 0 0 0 235px;
  }

  .section.company .section__heading {
    padding: 0 0 60px 235px;
  }

  .section.company .section__en {
    position: absolute;
    top: 210px;
    left: 70px;
  }

  .section.company .section__en .txt {
    margin: 20px 0 180px 0;
  }

  .section.company .section__read {
    margin: 0 0 0 170px;
  }

  .section.company .company__pic {
    width: 100%;
    max-width: 392px;
    margin: 0;
  }

  .section.company .company__tbl dl {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
  }

  .section.company .company__tbl dl dt {
    width: 30%;
    padding: 0 0 30px;
  }

  .section.company .company__tbl dl dd {
    width: 70%;
    padding: 0 0 30px;
  }

  /*contact*/
  .section.contact {
    margin: 150px auto 0;
    padding: 0 0 0 20px;
  }

  .section.contact .section__heading {
    text-align: left;
  }

  .section.contact .section__read {
    text-align: left;
  }

  .section.contact .contact-wrap {
    margin: 0;
    padding: 0;
    width: 784px;
    height: 580px;
  }

  .section.contact .contact__text {
    padding: 60px 20px 0 392px;
  }

  .section.contact .section__heading {
    padding: 0;
  }

  .section.contact .section__en {
    position: absolute;
    top: 140px;
    right: 50px;
  }

  .section.contact .section__en .txt {
    position: absolute;
    top: -60px;
    right: 110px;
  }

  .section.contact .section__read {
    margin: 0;
  }

  .section.contact .tel-wrap {
    justify-content: flex-start;
  }

  .section.contact .tel-wrap img {
    width: 40px;
  }

  .section.contact .tel-wrap .number {
    font-size: 5rem;
    padding: 0 0 0 28px;
  }

  .section.contact .date-wrap {
    display: table;
    width: 100%;
  }

  .section.contact .date-wrap dt {
    width: 10%;
    padding: 0 0 3px 0;
  }

  .section.contact .date-wrap dd {
    width: 90%;
  }

  /*access*/
  .section.access {
    margin: 150px auto 0;
    padding: 0 20px 0 0;
  }

  .section.access .section__heading {
    padding: 0 0 20px 310px;
  }

  .section.access .section__en {
    position: absolute;
    top: 120px;
    left: 75px;
  }

  .section.access .access-wrap {
    padding: 0 0 0 310px;
  }

  .section.access .access-wrap__inner {
    max-width: 852px;
  }

  .section.access .access_txt {
    font-size: 1.6rem;
  }

  .section.access .access_txt .address {
    padding: 0 0 0 50px;
    margin: 20px 0 0;
  }

  .section.access .access_txt .tel {
    padding: 0 0 0 50px;
    margin: 20px 0 0;
  }

  .section.access .access_txt .map {
    position: relative;
    padding: 50px 0 0;
    margin: 35px 0 0;
  }

  .section.access .access_txt .map iframe {
    height: 402px;
    width: 100%;
  }

  .section.access .access_txt .address:before {
    width: 40px;
    height: 40px;
  }

  .section.access .access_txt .tel:before {
    width: 40px;
    height: 40px;
  }

  .section.access .access_txt .map:before {
    width: 40px;
    height: 40px;
  }

  .section.access .access_txt .map {
    height: 100%;
  }
}

@media only screen and (min-width: 896px) and (max-width: 1180px) {

  /*about*/
  .section.about {
    margin: 330px 20px 0 auto;
  }

  .section.about .section__heading {
    padding: 0 0 20px 120px;
  }

  .section.about .section__read {
    margin: 0 0 0 120px;
  }

  .section.about .about-pic__item {
    max-width: 300px;
  }

  .section.about .about-pic-wrap {
    padding: 10px 0 0 34.5%;
  }

  .section.about .about-pic__item img {
    max-width: 300px;
  }

  .section.about .about-pic__text span {
    width: inherit;
  }

  .section.about .section__en {
    left: -40px;
  }

  /*philosophy*/
  .section.philosophy {
    margin: 150px auto 0 0;
  }

  .section.philosophy .section__heading {
    padding: 0 0 20px 600px;
  }

  .section.philosophy .section__en {
    right: -180px;
  }

  .section.philosophy .section__read {
    margin: 0 0 0 210px;
  }

  .section.philosophy .philosophy__text {
    padding: 0 0 0 135px;
  }

  .philosophy-pic__item {
    padding: 15px 100px 0 0;
  }

  /*business*/
  .section.business {
    margin: 150px auto 0 0;
  }

  .section.business .section__heading {
    padding: 0 0 20px 600px;
  }

  .section.business .section__en {
    right: -190px;
  }

  .section.business .section__read {
    margin: 0 0 0 210px;
  }

  .section.business .business__pic {
    max-width: 300px;
  }

  .section.business .business__indent-list {
    width: 224px;
  }

  /*company*/
  .section.company {
    margin: 150px 0 0 auto;
    padding: 0 20px 0 0;
  }

  .section.company .company-wrap {
    padding: 0 0 0 200px;
  }

  .section.company .section__heading {
    padding: 0 0 60px 200px;
  }

  .section.company .section__en .txt {
    margin: 20px 0 200px 0;
  }

  .section.company .section__en {
    top: 120px;
    left: -118px;
  }

  .section.company .company__pic {
    max-width: 300px;
  }

  /*contact*/
  .section.contact {
    margin: 150px auto 0 0;
  }

  .section.contact .contact-wrap {
    width: 680px;
    height: 480px;
  }

  .section.contact .contact-wrap:before {
    width: 100%;
    height: 100%;
  }

  .section.contact .section__en {
    top: 120px;
    right: -120px;
  }

  .section.contact .contact__text {
    padding: 30px 20px 0 280px;
  }

  /*access*/
  .section.access {
    margin: 150px 0 0 auto;
  }

  .section.access .section__en {
    top: 150px;
    left: -125px;
  }

  .section.access .section__heading {
    padding: 0 0 20px 110px;
  }

  .section.access .access-wrap {
    padding: 0 0 0 110px;
  }
}

/*member*/
.member_page .section {
  padding: 5%;
}

.member_page .main__text .heading {
  font-size: 5rem;
  color: #1F1F1F;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  text-align: center;
  line-height: 1;
  padding: 0 0 10%;
}

.member_page .col2_area {
  background: #151515;
  padding: 10% 5% 8%;
}

.member_page .col2_area:not(:nth-of-type(1)) {
  margin: 5% 0 0;
}

.member_page .img_area {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  flex-direction: column-reverse;
}

.member_page .img_area .name_area {
  text-align: center;
}

.member_page .img_area .name {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 3rem;
  line-height: 1.3;
  padding: 10% 0 0;
}

.member_page .img_area .name_en {
  color: #6A6A6A;
  font-weight: 300;
}

.member_page .img_area .position {
  padding: 7% 0 0;
}

.member_page .img_area img {
  width: 60%;
}

.member_page .detail_area {
  margin: 7% auto 0;
  font-size: 1.4rem;
}

.member_page .career_area {
  width: 100%;
  font-size: 1.4rem;
  display: flex;
  flex-wrap: wrap;
}

.member_page .career_area dt {
  color: #6A6A6A;
  width: 25%;
  font-weight: 300;
}

.member_page .career_area dt:not(:nth-of-type(1)) {
  margin: 4% 0 0;
}

.member_page .career_area dd {
  width: 75%;
  font-weight: 400;
}

.member_page .career_area dd:not(:nth-of-type(1)) {
  margin: 4% 0 0;
}

@media screen and (min-width: 896px) {

  /*member*/
  .member_page .main__text .heading {
    font-size: 10rem;
    padding: 0 0 65px;
  }

  .member_page .col2_wrap {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
  }

  .member_page .col2_area {
    width: calc(50% - 15px);
    padding: 35px 0 42px;
  }

  .member_page .col2_area:not(:nth-of-type(1)) {
    margin: inherit;
  }

  .member_page .col2_area:nth-child(odd) {
    margin: 0 15px 0 0;
  }

  .member_page .col2_area:nth-child(even) {
    margin: 0 0 0 15px;
  }

  .member_page .col2_area:nth-of-type(n+3) {
    margin-top: 30px;
  }

  .member_page .img_area {
    flex-direction: row;
    margin: 0 auto;
  }

  .member_page .img_area .name {
    padding: 0;
  }

  .member_page .img_area .position {
    padding: 10px 0 0;
  }

  .member_page .img_area img {
    width: 166px;
    margin: 0 0 0 42px;
  }

  .member_page .detail_area {
    width: 362px;
    margin: 0 auto;
  }

  .member_page .Takaguchi .detail_area {
    width: 376px;
  }

  .member_page .career_area {
    margin: 15px 0 0;
  }

  .member_page .Takaguchi .career_area {
    margin: 15px 0 0 6px;
  }

  .member_page .career_area dt {
    width: 98px;
  }

  .member_page .career_area dt:not(:nth-of-type(1)) {
    margin: 20px 0 0;
  }

  .member_page .career_area dd {
    width: calc(100% - 98px);
  }

  .member_page .career_area dd:not(:nth-of-type(1)) {
    margin: 20px 0 0;
  }
}

@media only screen and (min-width: 896px) and (max-width: 1180px) {

  /*member*/
  .member_page .col2_area {
    padding: 4% 0 5%;
  }

  .member_page .col2_area {
    width: 49%;
  }

  .member_page .col2_area:nth-child(odd) {
    margin: 0 1% 0 0;
  }

  .member_page .col2_area:nth-child(even) {
    margin: 0 0 0 1%;
  }

  .member_page .col2_area:nth-of-type(n+3) {
    margin-top: 2.5%;
  }

  .member_page .Takaguchi .career_area {
    margin: 15px 0 0 0;
  }
}

@media screen and (max-width: 895px) {
  .member_page .col2_area.Katsuragawa {
    padding: 10% 3% 8% 5%;
  }
}

/*quality*/
.quality_page .section.inner_width {
  padding: 0 5%;
}

.quality_page .main__text .heading {
  font-size: 3rem;
  color: #ffffff;
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
  text-align: center;
  line-height: 1;
  padding: 10% 0;
}

.quality_page .read .heading {
  font-size: 2rem;
  font-weight: 500;
  text-align: center;
  padding: 0 0 5%;
}

.quality_page .read .text {
  text-align: justify;
  padding: 0 0 10%;
}

.quality_page .col2_area {
  background: #151515;
  padding: 6% 5%;
}

.quality_page .col2_area .number {
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
  font-size: 5rem;
  line-height: 1;
  text-align: center;
}

.quality_page .col2_area:not(:nth-of-type(1)) {
  margin: 5% 0 0;
}

.quality_page .detail_area {
  margin: 7% 0 0;
}

.quality_page .text_area dt {
  text-align: center;
  font-weight: 500;
}

.quality_page .text_area dd {
  font-size: 1.4rem;
  text-align: justify;
  line-height: 1.8;
  margin: 3% 0 0;
}

@media screen and (min-width: 896px) {

  /*quality*/
  .quality_page .main__text .heading {
    padding: 60px 0;
  }

  .quality_page .read .text {
    padding: 0 0 140px;
  }

  .quality_page .read .heading {
    padding: 0 0 24px;
  }

  .quality_page .read .text {
    font-size: 1.8rem;
    width: 810px;
    margin: 0 auto;
  }

  .quality_page .col2_wrap {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
  }

  .quality_page .col2_area {
    width: calc(50% - 15px);
    padding: 40px 50px 52px;
  }

  .quality_page .col2_area:not(:nth-of-type(1)) {
    margin: inherit;
  }

  .quality_page .col2_area:nth-child(odd) {
    margin: 0 15px 0 0;
  }

  .quality_page .col2_area:nth-child(even) {
    margin: 0 0 0 15px;
  }

  .quality_page .col2_area:nth-of-type(n+3) {
    margin-top: 30px;
  }

  .quality_page .detail_area {
    margin: 25px 0 0;
  }

  .quality_page .text_area {
    margin: 10px 0 0;
  }

  .quality_page .text_area dd {
    margin: 15px 0 0;
  }
}

@media only screen and (min-width: 896px) and (max-width: 1180px) {

  /*quality*/
  .quality_page .col2_area {
    width: 48.8%;
    padding: 4% 5% 5%;
  }

  .quality_page .col2_area:nth-child(odd) {
    margin: 0 1.2% 0 0;
  }

  .quality_page .col2_area:nth-child(even) {
    margin: 0 0 0 1.2%;
  }

  .quality_page .col2_area:nth-of-type(n+3) {
    margin-top: 2.5%;
  }
}


/* contact */
.contact_page .section.inner_width {
  padding: 5%;
}

.contact_page .main__text .heading {
  font-size: 3rem;
  color: #ffffff;
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
  text-align: center;
  line-height: 1;
}

.contact_page .contact_box button,
.contact_page .contact_box input,
.contact_page .contact_box select,
.contact_page .contact_box textarea {
  border: solid 1px #cccccc;
  color: #000000;
  background: #ffffff;
}

.contact_page .contact_box textarea {
  width: 100%;
}

.contact_page .submit_area input {
  background: #efefef;
}

.contact_page .contact_wrap .read_text {
  margin: 8px 0;
  color: #ffffff;
}

.contact_page .contact_box {
  color: #000000;
}

.contact_page table.formTable {
  width: 100%;
  margin: 0 auto;
  border-collapse: collapse;
}

.contact_page table.formTable td,
table.formTable th {
  padding: 2%;
  font-size: 1.4rem;
}

.contact_page table.formTable th {
  width: auto;
  display: block;
  font-weight: 300;
  background: #333333;
  color: #ffffff;
  text-align: left;
}

.contact_page table.formTable td {
  width: auto;
  display: block;
  background: #888888;
  color: #ffffff;
  margin: 0 0 2%;
}

.contact_page .submit_area {
  padding: 8% 0;
}

.wpcf7 form .wpcf7-response-output {
  color: #ffffff !important;
}

.wpcf7-not-valid-tip {
  font-weight: bold !important;
}

.wpcf7-list-item-label {
  color: #ffffff !important;
}

input[type=checkbox] {
  width: 16px;
  height: 16px;
}

.link_top {
  color: #ffffff;
  text-decoration: underline;
  transition: 0.3s;
}

.link_top:hover {
  opacity: 0.7;
  text-decoration: none;
}

@media screen and (max-width: 895px) {
  .contact_page .main__text .heading {
    padding: 10% 0;
  }

  .contact_page input[type="text"],
  textarea {
    width: 100%;
    padding: 5px;
    margin-bottom: 5px;
    display: block;
  }

  .contact_page input[type="submit"],
  input[type="reset"],
  input[type="button"] {
    display: block;
    width: 100%;
    height: 40px;
  }
}

@media screen and (min-width: 896px) {
  .contact_page .section.inner_width {
    padding: 0 5%;
  }

  .contact_page .main__text .heading {
    padding: 60px 0;
  }

  .contact_page .contact_wrap .read_text {
    margin: 16px 0;
  }

  .contact_page .contact_box {
    max-width: 700px;
    margin: 0 auto;
  }

  .contact_page table.formTable td,
  table.formTable th {
    padding: 15px 20px;
  }

  .contact_page table.formTable th {
    width: 30%;
    border-bottom: 1px solid #666666;
    display: table-cell;
  }

  .contact_page table.formTable td {
    width: 70%;
    border-bottom: 1px solid #666666;
    display: table-cell;
  }

  .contact_page table.formTable tr:last-of-type th,
  .contact_page table.formTable tr:last-of-type td {
    border-bottom: none;
  }

  .contact_page .submit_area {
    padding: 16px 0;
  }

  .contact_page .submit_area input:hover {
    background: linear-gradient(to bottom, #f5f5f5 0%, #faf9f9 50%, #fffffe 100%);
    cursor: pointer;
  }
}

/*privacy*/
.privacy_page .section.inner_width {
  padding: 0 5%;
}

.privacy_page .main__text .heading {
  font-size: 3rem;
  color: #ffffff;
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
  text-align: center;
  line-height: 1;
  padding: 10% 0;
}

.privacy_page .read .text+.text {
  padding: 2.5% 0 0;
}

.privacy_page .privacy_area {
  padding: 12% 0 0;
}

.privacy_page .privacy_area dt {
  font-size: 1.8rem;
  font-weight: 500;
}

.privacy_page .privacy_area dd {
  padding: 5% 0 0;
  line-height: 1.8;
}

.privacy_page .privacy_area dt:not(:nth-of-type(1)) {
  margin: 12% 0 0;
}

.privacy_page .privacy_area dd p+p {
  padding: 2.5% 0 0;
}

@media screen and (min-width: 896px) {

  /*quality*/
  .privacy_page .section.inner_width {
    max-width: 950px;
    padding: 0 20px;
    margin: 0 auto;
  }

  .privacy_page .main__text .heading {
    padding: 60px 0;
  }

  .privacy_page .read .text+.text {
    padding: 15px 0 0;
  }

  .privacy_page .privacy_area {
    padding: 75px 0 0;
  }

  .privacy_page .privacy_area dt {
    font-size: 2rem;
  }

  .privacy_page .privacy_area dd {
    padding: 20px 0 0;
  }

  .privacy_page .privacy_area dt:not(:nth-of-type(1)) {
    margin: 75px 0 0;
  }

  .privacy_page .privacy_area dd p+p {
    padding: 15px 0 0;
  }
}


.section.news .section__heading {
  text-align: left;
}

.section.news .section__read a {
  color: #ffffff;
  transition: 0.3s;
  text-decoration: underline;
}

.section.news .section__read a:hover {
  opacity: 0.7;
}

@media screen and (min-width: 896px) {
  .section.news {
    margin: 170px 20px 0 100px;
  }

  .section.news .section__heading {
    padding: 0 0 20px 220px;
  }

  .section.news .section__read {
    margin: 0 0 0 220px;
  }

}

/*footer*/
.footer {
  background-color: #000;
  color: #fff;
}

.footer-inner {
  position: relative;
  text-align: center;
}

@media screen and (min-width: 896px) {
  .footer-inner {
    margin: auto;
    padding: 185px 20px 20px;
    max-width: 1000px;
  }
}

@media screen and (max-width: 895px) {
  .footer-inner {
    margin: auto;
    padding: 6.66667vw 4vw;
    width: 100%;
  }
}

@media screen and (min-width: 896px) and (max-width: 1020px) {
  .footer-inner {
    width: 100%;
  }
}

@media screen and (min-width: 896px) {
  .footer__logo {
    width: auto;
    height: 72px;
  }
}

@media screen and (max-width: 895px) {
  .footer__logo {
    height: 60px;
    width: auto;
  }
}

.footer__logo img {
  height: 100%;
  width: auto;
}

.footer__text {
  font-size: 1rem;
  line-height: 2;
}

.footer__copyright {
  font-size: 1rem;
  color: #aaaaaa;
  margin-top: 3px;
}

@media screen and (min-width: 896px) {
  .footer__text {
    font-size: 1.2rem;
    margin-top: 30px;
  }

  .footer__text a {
    transition: all 400ms cubic-bezier(0.5, 1, 0.89, 1);
    /*easeOutQuad*/
  }

  .footer__text a:hover {
    opacity: 0.7;
  }
}

@media screen and (min-width: 896px) {
  .footer__copyright {
    font-size: 1.2rem;
  }
}

@media screen and (min-width: 896px) {
  a[href*="tel:"] {
    cursor: default;
    pointer-events: none;
    text-decoration: none;
  }
}

#philosophy_sc,
#about_sc,
#business_sc,
#company_sc,
#access_sc {
  padding-top: 40px;
  margin-top: -40px;
}

@media screen and (min-width: 896px) {

  #philosophy_sc,
  #about_sc,
  #business_sc,
  #company_sc,
  #access_sc {
    padding-top: 40px;
    margin-top: -40px;
  }
}


.pdf-button {
  text-align: center;
}

.pdf-button a {
  position: relative;
  width: 100%;
  margin: 0 auto;
  display: inline-block;
  padding: 0.8em 2em;
  background-color: #fff;
  text-align: center;
  font-weight: bold;
  cursor: pointer;
  text-decoration: none;
  color: #000;
  transition: 0.2s;
  font-size: 15px;
}

.pdf-button a:hover {
  opacity: 0.7;
}

.pdf-button a::before {
  position: absolute;
  content: "";
  background-image: url(../img/cmn/icon_pdf.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
  width: 2em;
  height: 2.2em;
  right: 1em;
  top: 50%;
  transform: translateY(-50%);
}

@media screen and (min-width: 896px) {
  .pdf-button a {
    width: 60%;
    padding: 0.8em 2em;
    font-size: 18px;
  }

  .pdf-button a::before {
    width: 30px;
    height: 36px;
  }
}