@charset "UTF-8";
/* �����ڡ�����SCSS */
@media only screen and (min-width: 640px) {
  .st-sp {
    display: none !important; } }

@media only screen and (max-width: 641px) {
  .lt-sp {
    display: none !important; } }

#mainHeader {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto; }
  @media only screen and (min-width: 640px) {
    #mainHeader {
      padding-top: 20px; } }
  #mainHeader iframe {
    width: 100%;
    height: 450px; }
    @media only screen and (max-width: 641px) {
      #mainHeader iframe {
        height: 20vw; } }

#mainFooter {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding-top: 20px; }
  #mainFooter iframe {
    width: 100%;
    height: 540px; }
    @media only screen and (max-width: 641px) {
      #mainFooter iframe {
        height: 340vw; } }

#content {
  max-width: 1150px;
  margin: 0 auto;
  font-family: sans-serif; }

.filter {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 0;
  margin: 0 0 -10px; }
  .filter li {
    list-style-type: none;
    margin-right: 10px;
    margin-bottom: 10px; }
   .filter li img {
      display: block;
      max-width: calc( 100% - 10px);
      margin: 10px auto 0; }
    @media only screen and (max-width: 641px) {
      .filter li {
        width: calc( ( 100% - 20px ) * .3333); }
        .filter li:nth-child(3n) {
          margin-right: 0; } }
  .filter button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    border: none;
    background: transparent;
    padding: 0;
    margin: 0;
    border-radius: 0;
    cursor: pointer;
    line-height: 40px;
    font-size: 15px;
    width: 120px;
    white-space: nowrap;
    border: 1px solid #dc6eab;
    position: relative;
    max-width: 100%; }
    @media only screen and (max-width: 641px) {
      .filter button {
        font-size: 12px; } }
    .filter button:after {
      content: '';
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      height: 100%;
      width: 100%;
      border: 0px solid #aeaeae;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; }
    .filter button:hover:after {
      border: 2px solid #aeaeae; }
    .filter button.is-selected {
      background-color: #dc6eab;
      color: white; }
  .filter__contents {
    color: #312f2e; }
  .filter__ttl {
    background-color: #dc6eab;
    text-align: center;
    font-size: 24px;
    padding: 10px;
    color: #fff;
    letter-spacing: .05em; }
    @media only screen and (max-width: 641px) {
      .filter__ttl {
        font-size: 20px; } }
  .filter__wrap {
    border-top: 1px dashed #dc6eab;
    padding: 10px 0; }
    @media only screen and (min-width: 640px) {
      .filter__wrap {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start; } }
    .filter__wrap:last-child {
      border-bottom: 1px dashed #dc6eab; }
  .filter__color {
    padding: 20px 7px 6px; }
    @media only screen and (max-width: 641px) {
      .filter__color {
        padding: 0px 0 10px;
        width: calc( 100% + 10px);
        margin: 0 -5px; } }
    .filter__color li {
      display: block;
      list-style-type: none;
      margin: 0 7px;
      margin-bottom: 14px; }
      @media only screen and (min-width: 641px) and (max-width: 1050px) {
        .filter__color li {
          width: calc( ( 100% - 84px ) * 0.16666667); } }
      @media only screen and (max-width: 641px) {
        .filter__color li {
          width: calc( ( 100% - 40px ) * .25);
          margin: 0 5px 10px; }
          .filter__color li:not(:nth-child(4n)) {
            margin-right: 5px; } }
    .filter__color button {
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      outline: none;
      -webkit-box-shadow: none;
      box-shadow: none;
      border: none;
      background: transparent;
      padding: 0;
      margin: 0;
      border-radius: 0;
      cursor: pointer;
      width: auto;
      border: 1px solid #aeaeae;
      padding-bottom: 5px;
      position: relative; }
     .filter__color button img {
        display: block;
        max-width: 100%;
        margin: 0 auto; }
      .filter__color button.is-selected {
        background-color: transparent; }
        .filter__color button.is-selected:after {
          border: 2px solid #aeaeae;
          background-color: rgba(220, 110, 171, 0.1); }
  .filter__name {
    width: 200px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    color: #dc6eab;
    font-weight: normal;
    text-align: center;
    padding: 0;
    margin: 0;
    font-size: 18px;
    line-height: 40px; }
    @media only screen and (max-width: 641px) {
      .filter__name {
        width: 100%;
        margin-bottom: 10px;
        font-size: 16px; } }

.reset-selections {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  border: none;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  cursor: pointer;
  font-size: 15px; }
  @media only screen and (min-width: 640px) {
    .reset-selections:hover {
      opacity: .75; } }
  @media only screen and (max-width: 641px) {
    .reset-selections {
      font-size: 14px; } }
  .reset-selections__wrap {
    border-top: 1px dashed #dc6eab;
    text-align: right;
    padding-top: 20px; }

#filterState {
  text-align: center;
  font-weight: bold;
  font-size: 18px;
  padding: 10px;
  color: #fff;
  margin: 120px auto 10px;
  background-color: #dc6eab; }
  #filterState.filterd {
    color: #312f2e;
    background-color: #FAE3DE; }
  @media only screen and (max-width: 641px) {
    #filterState {
      margin-top: 60px; } }

#filterItems {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  padding: 0;
  margin: 10px auto;
  border-style: solid;
  border-color: #aeaeae;
  border-width: 1px 0 0 1px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  #filterItems > * {
    display: block;
    padding: 0;
    width: 20%;
    border-style: solid;
    border-color: #aeaeae;
    border-width: 0 1px 1px 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
    @media only screen and (min-width: 641px) and (max-width: 1050px) {
      #filterItems > * {
        width: calc( 25%); } }
    @media only screen and (max-width: 641px) {
      #filterItems > * {
        width: calc( 33.3333%); } }
    #filterItems > *.hide {
      display: none; }
    #filterItems > * a {
      display: block;
      -webkit-transition: opacity 200ms;
      -o-transition: opacity 200ms;
      transition: opacity 200ms;
      text-decoration: none;
      color: #312f2e; }
      #filterItems > * a:hover {
        opacity: .75; }
    #filterItems > * .item-desc {
      padding: 10px 15px 15px;
      line-height: 1.35; }
      @media only screen and (max-width: 641px) {
        #filterItems > * .item-desc {
          padding: 7px; } }
      #filterItems > * .item-desc img {
        display: block;
        max-width: 100%; }
    #filterItems > * .kikan {
      margin: 5px 0;
      background-color: #ffdeea;
      text-align: center;
      font-size: 16px;
      padding: 10px 0; }
      @media only screen and (max-width: 641px) {
        #filterItems > * .kikan {
          padding: 5px 0;
          font-size: 14px; } }
    #filterItems > * .name {
      font-size: 14px;
      font-weight: normal;
      margin: 0; }
      @media only screen and (max-width: 641px) {
        #filterItems > * .name {
          font-size: 12px; } }
