@charset "UTF-8";

.clearfix:before, .clearfix:after {
  content: " ";
  display: table;
}

.clearfix:after {
  clear: both;
}

#main_image {
  position: relative;
  max-width: 1000px;
  margin: 0 auto;
}

#main_image img {
  width: 100%;
  height: auto;
  vertical-align: top;
}

#main_image .ttl_box {
  position: absolute;
  left: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.7);
  color: #fff;
  width: 100%;
  display: table;
  font-size: 0.6em;
}

#main_image .ttl_box .inner {
  display: table-cell;
  vertical-align: middle;
  padding: 1em 3em;
}

#main_image .ttl_box .ttl {
  font-size: 3.6em;
  font-weight: 700;
}

#main_image .ttl_box .txt {
  margin-top: .5em;
  font-size: 2.4em;
  line-height: 1.5;
}

#main_container .main_inner {
  max-width: 950px;
  margin: 0 auto;
  padding: 0 1.5em 5em;
}

#main_container .sec {
  padding: 5% 0;
  font-size: 1.4em;
  line-height: 1.7;
}

#main_container ul li {
  list-style: none;
}

/*キャンペーン*/
#main_image .ttl_box .txt {
  margin: 0;
}

#main_container .sec1,
#main_container .sec2 {
  border-bottom: 1px solid #d3d3d3;
}

#main_container .sec1 h2,
#main_container .sec2 h2,
#main_container .sec3 h2 {
  color: #8db8a1;
  font-size: 1.4em;
  font-weight: bold;
  text-align: center;
  margin-bottom: 2%;
}

#main_container .sec1 p {
  font-size: 16px;
  text-align: left;
  word-break: break-all;
}

#main_container .sec1 p:nth-of-type(1) {
  margin-bottom: 5%;
}

#main_container .sec1 p:nth-of-type(2) {
  margin: 1% 0 5%;
}

#main_container .sec1 p:nth-of-type(3) {
  margin-bottom: 10%;
}

#main_container .sec1 p:nth-of-type(4) {
  margin-bottom: 4%;
  text-align: center;
}

#main_container .sec1 ul {
  margin-bottom: 0;
}

#main_container .sec1 ul li {
  float: left;
  width: 32%;
}

#main_container .sec1 ul li:nth-of-type(2) {
  margin: 0 2%;
}

#main_container .sec1 ul li img {
  max-width: 100%;
}

#main_container .sec1 dl {
  line-height: 2.0;
  margin-bottom: 10%;
}

#main_container .sec1 dl:last-child{
  margin-bottom: 0;
}

#main_container .sec1 dl dt {
  position: relative;
}

#main_container .sec1 dl dt:before {
  color: #8db8a1;
  font-size: 2em;
  position: absolute;
  left: 10px;
  top: 0;
}

#main_container .sec1 dl:nth-of-type(1) dt:before {
  content: '\02460'
}

#main_container .sec1 dl:nth-of-type(2) dt:before {
  content: '\02461'
}

#main_container .sec1 dl:nth-of-type(3) dt:before {
  content: '\02462'
}

#main_container .sec1 dl:nth-of-type(4) dt:before {
  content: '\02463'
}

#main_container .sec1 dl dt a img {
  display: block;
  margin: 0 auto;
  max-width: 100%;
  width: 80%;
}

#main_container .sec1 dl dd:nth-of-type(1) {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 5%;
  text-align: left;
}

#main_container .sec1 .att {
  font-size: 12px;
}

#main_container .sec2 dl {
  border: 2px solid #8db8a1;
  padding: 2% 2% 3%;
  text-align: center;
}

#main_container .sec2 dl:nth-of-type(2) {
  margin: 10% 0;
}

#main_container .sec2 dl:nth-of-type(2),
#main_container .sec2 dl:nth-of-type(3) {
  position: relative;
}

#main_container .sec2 dl:nth-of-type(2):before,
#main_container .sec2 dl:nth-of-type(3):before {
  color: #8db8a1;
  content: '\f0d7';
  font-family: FontAwesome;
  font-size: 2em;
  position: absolute;
  top: -45%;
  left: 48%;
}

#main_container .sec2 dl dt {
  font-size: 1em;
  font-weight: bold;
  margin-bottom: 2%;
}

#main_container .sec2 dl dd {
  font-size: 14px;
}

#main_container .sec2 dl dd a {
  text-decoration: underline;
}

#main_container .sec2 dl dd a:hover {
  text-decoration: none;
}

#main_container .sec2 p.att {
  font-size: 12px;
  margin: 5% 0 0;
  text-align: left;
}

#main_container .sec2 ul li {
  font-size: 12px;
  line-height: 2.0;
  text-align: left;
}

#main_container .sec2 ul li:before {
  content: "・";
}

#main_container .sec2 ul li span {
  font-weight: bold;
}

/*Instagram*/
#instafeed {
  margin: 0 auto;
  max-width: 950px;
}

#instafeed li {
  display: inline-block;
  list-style: none;
  margin: 0 1% 1% 0;
  vertical-align: middle;
  width: 24%;
}

#instafeed li:nth-child(4n) {
  margin-right: 0;
}

#instafeed li img {
  max-width: 100%;
}

#main_container .insta_btn {
  margin-top: 10px;
}

#main_container .insta_btn a {
  background-color: #bdd3be;
  color: #fff;
  display: block;
  font-size: 16px;
  margin: 0 auto;
  max-width: 220px;
  line-height: 2.5;
  text-align: center;
  text-decoration: none;
}

#main_container .insta_btn a:hover {
  opacity: 0.8;
  text-decoration: none;
}

@media (min-width: 768px) {
  .ttl_box {
    bottom: 2.5em !important;
  }

  #main_container .sec {
    font-size: 1.6em;
  }
  #main_container .sec .ttl {
    font-size: 1.875em;
  }
  #main_container .sec1 .ttl {
    text-align: center;
  }

/*キャンペーン*/
  .pc_none {
    display: none;
  }

  #main_image .ttl_box {
    text-align: center;
    width: 100%;
  }

  #main_container .sec1 dl {
    width: 22%;
    float: left;
    margin: 0 4% 0 0;
  }

  #main_container .sec1 dl:last-child {
    margin: 0;
  }

  #main_container .sec1 dl dt a img {
    width: 100%;
  }

  #main_container .sec1 dl dt:before {
    font-size: 1.4em;
  }

  #main_container .sec2 dl {
    float: left;
    padding: 1.5% 1% 2%;
    width: 30%;
  }

  #main_container .sec2 dl:nth-of-type(2) {
    margin: 0 5%;
  }

  #main_container .sec2 dl:nth-of-type(2):before,
  #main_container .sec2 dl:nth-of-type(3):before {
    content: '\f0da';
    font-size: 1.4em;
    left: -10%;
    top: 30%;
  }
}