@charset "UTF-8";
*, ::before, ::after {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}
/* Document */
/* ============================================ */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -webkit-tap-highlight-color: transparent; /* 3*/
}
/* Sections */
/* ============================================ */
body {
  margin: 0;
}
main {
  display: block;
}
/* Vertical rhythm */
/* ============================================ */
p, table, blockquote, address, pre, iframe, form, figure, dl {
  margin: 0;
}
/* Headings */
/* ============================================ */
h1, h2, h3, h4, h5, h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}
/* Lists (enumeration) */
/* ============================================ */
ul, ol {
  margin: 0;
  padding: 0;
  list-style: none;
}
/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}
dd {
  margin-left: 0;
}
/* Grouping content */
/* ============================================ */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}
address {
  font-style: inherit;
}
/* Text-level semantics */
/* ============================================ */
a {
  display: block;
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}
abbr[title] {
  text-decoration: underline dotted; /* 2 */
}
b, strong {
  font-weight: bolder;
}
code, kbd, samp {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}
small {
  font-size: 80%;
}
sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
/* Replaced content */
/* ============================================ */
svg, img, embed, object, iframe {
  vertical-align: bottom;
}
img{
  max-width: 100%;
}
/* Forms */
/* ============================================ */
button, input, optgroup, select, textarea {
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit;
  -webkit-appearance: none;
  appearance: none;
}
input[type='radio']{
  display: none;
}
button, [type="button"], [type="reset"], [type="submit"] {
  cursor: pointer;
}
button:disabled, [type="button"]:disabled, [type="reset"]:disabled, [type="submit"]:disabled {
  cursor: default;
}
:-moz-focusring {
  outline: auto;
}
select:disabled {
  opacity: inherit;
}
option {
  padding: 0;
}
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}
legend {
  padding: 0;
}
progress {
  vertical-align: baseline;
}
textarea {
  overflow: auto;
}
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button {
  height: auto;
}
[type="search"] {
  outline-offset: -2px; /* 1 */
}
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}
[type="number"] {
  -moz-appearance: textfield;
}
/* Interactive */
/* ============================================ */
details {
  display: block;
}
summary {
  display: list-item;
}
[contenteditable]:focus {
  outline: auto;
}
/* Tables */
/* ============================================ */
table {
  border-color: inherit; /* 1 */
  border-collapse: collapse;
}
caption {
  text-align: left;
}
td, th {
  vertical-align: top;
  padding: 0;
}
th {
  text-align: left;
  font-weight: bold;
}


/* body設定/基本的ブレイクポイント設定 */
/* ============================================ */
body {
  position: relative;
  overflow-wrap: break-word;
  -webkit-text-size-adjust: 100%;
  word-wrap: break-word;
  font-size: 0.95rem;
  font-family: "Helvetica Neue", "Helvetica", "メイリオ", meiryo, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
  line-height: 1.9;
  letter-spacing: .05em;
  background: #fff;
  color: #323232;
  overflow-x: hidden;
}
.pc {display: none;}
.sp {display: block;}
@media screen and (min-width:960px) {
  .pc {display: block;}
  .sp {display: none;}
}
@media screen and (min-width:960px) {
  a {transition: all .3s ease-out;}
  a:hover {opacity: .5;text-decoration: none;transition: all .3s ease-out;}
}
.hd_cts {
  width: 100%;
  position: relative;
}
@media screen and (min-width:960px) {
  .hd_cts {
    margin: 0 auto;
    padding: 0 20px;
  }
}
.hd ,
.main ,
.ft {
  text-align: center;
}

/* clearfix */
/* ============================================ */
.clearfix:after {
  content: "";
  display: block;
  clear: both;
} 
.clearfix:before {
  content: "";
  display: block;
  clear: both;
} 
.clearfix {
  display: block;
}