@charset "UTF-8";
/* =========================================

shellrack point CSS

2019/05/07 326_sakaguchi 

============================================ */
/*  共通　　*/
img {
  margin: 0;
  padding: 0;
  vertical-align: bottom;
  width: 100%;
  -webkit-backface-visibility: hidden;
}

/* --------------------------------------
　　　　　　　　　　　　　　content
-----------------------------------------*/
#content {
  margin: 1em auto 0;
  max-width: 940px;
  width: 98%;
}

.img_main {
  background: url("../image/bg-main.jpg") no-repeat;
  background-size: 100%;
  box-sizing: border-box;
  border: 1px solid #ccc;
  border-bottom: none;
  height: 100%;
  min-height: 313px;
  position: relative;
  width: 100%;
}

h1 {
  left: 2em;
  top: 21%;
  position: absolute;
  width: calc( 256 / 940 * 100% );
}

.nav_page {
  box-sizing: border-box;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 100%;
}

.nav_page li {
  background: url("../image/bg-lightgreen.png") repeat;
  background-size: 1.5%;
  box-sizing: border-box;
  padding: 0.4em 0;
  width: calc( 313.3 / 940 * 100% );
}

.nav_page li a {
  box-sizing: border-box;
  color: #fff;
  font-size: 135%;
  text-align: center;
  display: block;
  position: relative;
  padding: 0 0 0.7em 0;
}

.nav_page li a:after {
  background: url(../image/ico-arrow.png) center center no-repeat;
  background-size: 0.85em;
  bottom: -1.5em;
  content: "";
  display: block;
  position: absolute;
  right: 0;
  left: 0;
  top: 0;
  margin: 0 auto;
  width: 1em;
}

.nav_page li:nth-child(2) a {
  border-right: 2px solid #fff;
  border-left: 2px solid #fff;
}

.nav_page li:hover {
  opacity: .8;
  transition: .5s all;
  text-decoration: none;
}

.nav_page li:hover a {
  text-decoration: none;
}

.txt_lead {
  margin: 1.5em auto 0;
  text-align: justify;
  width: calc( 740 / 940 * 100% );
}

@media screen and (max-width: 1000px) {
  .img_main {
    height: 32.5vw;
    min-height: auto;
  }

  .nav_page li a {
    font-size: 2.3vw;
  }
}


@media screen and (max-width: 736px) {
  #content {
    margin-top: 0;
    width: 100%;
  }

  h1 {
    left: 0.5em;
    top: 18%;
    width: 33%;
  }

  .nav_page li {

  }

  .nav_page li a {
    font-size: 3vw;
    padding-bottom: 1.3em;
  }

  .nav_page li:nth-child(2) a {
    border-left: 1px solid #fff;
    border-right: 1px solid #fff;
  }

  .nav_page li a:after {
    bottom: -1.7em;
  }

  .txt_lead {
    margin-top: 1em;
    width: 93%;
  }
}

/* --------------------------------------

　　.con_furniture_point

-----------------------------------------*/
.con_furniture_point {
  border-bottom: 1px solid #ccc;
  margin: 0 auto;
  padding-bottom: 5em;
  width: calc( 894 / 940 * 100% );
}

.con_furniture_point .box_point {
  margin: 2em 0 0;
}

.con_furniture_point .box_point h2 {
  position: relative;
}

.con_furniture_point .box_point h2 span {
  background: #fff;
  color: #004D00;
  display: inline-block;
  font-size: 105%;
  font-weight: bold;
  line-height: 2.5em;
  padding: 0 1.3% 0 3em;
  position: relative;
}

.con_furniture_point .box_point h2:before {
  background: #004D00;
  content: "";
  height: 2px;
  margin-top: -.2%;
  position: absolute;
  right: 0;
  top: 50%;
  width: 100%;
  z-index: -1;
}

.con_furniture_point .box_point h2 span:after {
  background: url("../image/ico-point-green.png") no-repeat;
  background-size: 100%;
  bottom: 0;
  content: "";
  left: 0;
  position: absolute;
  top: 0;
  width: 2.5em;
}

.con_furniture_point .box_point .inner {
  box-sizing: border-box;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 1em auto 0;
  position: relative;
  width: calc( 835 / 894 * 100% );
}

.con_furniture_point .box_point p {
  margin: 0 auto;
  width: calc( 770 / 835 * 100% );
}

.con_furniture_point .box_point figure {
  margin-top: 1em;
  width: calc( 405 / 835 * 100% );
}

.con_furniture_point .box_point .img_medal {
  position: absolute;
  right: 0.5em;
  top: 0;
  width: calc( 123 / 835 * 100% );
  z-index: 1;
}

.con_furniture_point .box_point ul {
  box-sizing: border-box;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.con_furniture_point .box_point ul li {
  align-items: flex-start;
  flex-direction: column;
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 2em;
  width: calc( 265 / 835 * 100% );
}

.con_furniture_point .box_point ul li:first-child {
  margin-top: 0;
  width: calc( 549 / 835 * 100% );
}

.con_furniture_point .box_point ul li:nth-child(2) {
  margin-top: 0;
}

.con_furniture_point .box_point ul li:last-child {
  width: 100%;
}

.con_furniture_point .box_point ul li h3 {
  background: #e06c00;
  box-sizing: border-box;
  color: #fff;
  font-size: 120%;
  font-weight: bold;
  padding: 0.4em 0 0.4em 0.5em;
  width: 100%;
}

.con_furniture_point .box_point ul li h3 span {
  display: block;
  box-sizing: border-box;
  line-height: 1.2em;
  padding: 0 0.3em 0 0.7em;
  position: relative;
}

.con_furniture_point .box_point ul li h3 span:before {
  background: #fbf183;
  background: -moz-linear-gradient(top, #F8B605 0%, #FFFBF2 100%);
  background: -webkit-linear-gradient(top, #F8B605 0%,#FFFBF2 100%);
  background: linear-gradient(to bottom, #F8B605 0%,#FFFBF2 100%);
  content: "";
  left: 0;
  top: 0;
  bottom: 0;
  height: 100%;
  position: absolute;
  width: 0.3em;
}

.con_furniture_point .box_point ul li p {
  box-sizing: border-box;
  padding: 0.7em 0.5em;
  text-align: justify;
  width: 100%;
}

.con_furniture_point .box_point ul li figure {
  box-sizing: border-box;
  margin-top: auto;
  padding: 0 0.5em;
  width: 100%;
}

.con_furniture_point .box_point ul li div {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
  margin-top: auto;
}

.con_furniture_point .box_point ul li:first-child div figure {
  width: calc( 245 / 512 * 100% );
}

.con_furniture_point .box_point ul li:last-child div figure {
  width: calc( 405 / 835 * 100% );
}

.con_furniture_point .box_color {
  background: #fff0eb;
  margin: 2em auto 0;
  padding: 0 0 1em 0;
  width: calc( 774 / 835 * 100% );
}

.con_furniture_point .box_color h2 {
  background: #131158;
  border-top-right-radius : 3em;
  border-bottom-right-radius : 3em;
  color: #fff;
  display: inline-block;
  font-size: 120%;
  font-weight: bold;
  line-height: 1em;
  letter-spacing: 0.05em;
  padding: 0.7em 2em 0.7em 2.5em;
  position: relative;
}

.con_furniture_point .box_color h2:before {
  background: url(../image/ico-enogu.png) center center no-repeat;
  background-size: 100%;
  bottom: 0;
  display: block;
  content: "";
  left: 0.5em;
  position: absolute;
  top: 0;
  width: 1.7em;
}

.con_furniture_point .box_color .inner {
  margin: 1em auto 0;
  width: calc( 660 / 774 * 100% );
}

.con_furniture_point .box_color .inner ul {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
  margin-top: 1em;
}

.con_furniture_point .box_color .inner ul li {
  width: calc( 105 / 660 * 100% );
}

.con_furniture_point .box_color .inner ul li figure figcaption {
  margin-top: 0.3em;
  text-align: center;
}

@media screen and (max-width: 1000px) {
  .con_furniture_point .box_point h2 span {
    font-size: 3vw;
  }

  .con_furniture_point .box_point .img_medal {
    top: 28%;
  }

  .con_furniture_point .box_point ul li h3 {
    font-size: 2vw;
  }

  .con_furniture_point .box_color h2 {
    font-size: 2.5vw;
  }
}

@media screen and (max-width: 736px) {
  .con_furniture_point {
    padding-bottom: 3em;
  }

  .con_furniture_point .box_point h2:before {
    display: none;
  }

  .con_furniture_point .box_point h2 span {
    font-size: 5vw;
    line-height: 1.3em;
    height: 2.5em;
    display: flex;
    align-items: center;
  }

  .con_furniture_point .box_point h2 span:after {
    background-position: center;
    height: 2.5em;
  }

  .con_furniture_point .box_point p {
    text-align: justify;
  }

  .con_furniture_point .box_point .img_medal {
    right: 0;
    top: auto;
    bottom: 3em;
  }

  .con_furniture_point .box_point ul li {
    width: 100%!important;
  }

  .con_furniture_point .box_point ul li:not(:first-child) {
    margin-top: 2em;
  }

  .con_furniture_point .box_point ul li h3 {
    font-size: 4.5vw;
  }

  .con_furniture_point .box_point ul li figure {
    margin: 0 auto;
    width: 80%;
  }

  .con_furniture_point .box_color .inner {
    width: 95%;
  }

  .con_furniture_point .box_color h2 {
    font-size: 4.5vw;
  }

  .con_furniture_point .box_color .inner p {
    text-align: justify;
    padding: 0 0.5em; 
  }

  .con_furniture_point .box_color .inner ul {
    justify-content: center;
    flex-wrap: wrap;
  }

  .con_furniture_point .box_color .inner ul li {
    margin-left: 0.5em;
    width: 30%;
  }

  .con_furniture_point .box_color .inner ul li:first-child,
  .con_furniture_point .box_color .inner ul li:nth-child(4) {
    margin-left: 0;
  }

  .con_furniture_point .box_color .inner ul li:nth-child(n+4) {
    margin-top: 1em;
  }
}


/* --------------------------------------

　　.con_style

-----------------------------------------*/

.con_style {
  border-bottom: 1px solid #ccc;
  margin: 2em auto 0;
  padding-bottom: 4em;
  width: calc( 860 / 940 * 100% );
}

.con_style:last-of-type {
  border-bottom: none;
}

.con_style .ttl {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.con_style .ttl figure {
  width: calc( 460 / 860 * 100% );
}

.con_style .ttl .txt {
  width: calc( 363 / 860 * 100% );
}

.con_style .ttl .txt img {
  display: block;
  margin: 0 auto;
  width: calc( 70 / 363 * 100% );
}

.con_style#high .ttl .txt img {
  width: calc( 50 / 363 * 100% );
}

.con_style .ttl .txt h2 {
  font-size: 190%;
  margin-top: 0.5em;
  padding-top: 0.5em;
  text-align: center;
}

.con_style#living .ttl .txt h2 {
  border-top: 2px solid #C84B21;
  color: #C84B21;
}

.con_style#high .ttl .txt h2 {
  border-top: 2px solid #005500;
  color: #005500;
}

.con_style#flap .ttl .txt h2 {
  border-top: 2px solid #151F7A;
  color: #151F7A;
}

.con_style .ttl .txt h2 span {
  font-size: 50%;
  font-weight: normal;
  display: block;
  line-height: 1em;
  margin-top: 0.1em;
}



.con_style .box_pattern,
.con_style .box_size {
  margin: 2em auto 0;
  width: calc( 835 / 860 * 100% );
}

.con_style .box_size {
  margin-top: 3em;
}

.con_style .box_pattern h3,
.con_style .box_size h3 {
  color: #fff;
  font-size: 150%;
  padding: 0.3em 0;
  text-align: center;
  width: 100%;
}

.con_style#living .box_pattern h3,
.con_style#living .box_size h3 {
  background: url("../image/bg-orange.png") repeat;
  background-size: 0.5%;
}

.con_style#high .box_pattern h3,
.con_style#high .box_size h3 {
  background: url("../image/bg-green.png") repeat;
  background-size: 0.5%;
}

.con_style#flap .box_pattern h3,
.con_style#flap .box_size h3 {
  background: url("../image/bg-blue.png") repeat;
  background-size: 0.5%;
}

.con_style .box_pattern .pattern {
  margin-top: 2.5em;
  overflow: hidden;
}

.con_style .box_pattern .pattern:first-of-type {
  margin-top: 1.5em;
}

.con_style .box_pattern .pattern h4 {
  align-items: center;
  display: flex;
  font-size: 170%;
  margin: 0 0.3em;
  position: relative;
  width: 100%;
}

.con_style#living .box_pattern .pattern h4:before {
  background: #E86C44;
  content: "";
  height: 2px;
  margin-top: -.2%;
  position: absolute;
  right: 0;
  top: 50%;
  width: 100%;
  z-index: -1;
}

.con_style#high .box_pattern .pattern h4:before {
  background: #005500;
  content: "";
  height: 2px;
  margin-top: -.2%;
  position: absolute;
  right: 0;
  top: 50%;
  width: 100%;
  z-index: -1;
}

.con_style#flap .box_pattern .pattern h4:before {
  background: #151F7A;
  content: "";
  height: 2px;
  margin-top: -.2%;
  position: absolute;
  right: 0;
  top: 50%;
  width: 100%;
  z-index: -1;
}

.con_style#living .box_pattern .pattern h4 img,
.con_style#flap .box_pattern .pattern h4 img {
  display: inline-block;
  width: calc( 55 / 835 * 100% );
}

.con_style#high .box_pattern .pattern h4 img {
  display: inline-block;
  width: calc( 28 / 835 * 100% );
}

.con_style .box_pattern .pattern h4 span {
  background: #fff;
  display: inline-block;
  letter-spacing: 0.05em;
  padding: 0 0.5em;
}

.con_style .box_pattern .pattern h4 span.txt_small {
  font-size: 70%;
  padding: 0;
  display: inline;
}

.con_style#living .box_pattern .pattern .inner {
  background: #fcd4c7;
  margin-top: 1em;
  padding: 1em 0;
}

.con_style#high .box_pattern .pattern .inner {
  background: #c7dcc7;
  margin-top: 1em;
  padding: 1em 0;
}

.con_style#flap .box_pattern .pattern .inner {
  background: #d7e8ff;
  margin-top: 1em;
  padding: 1em 0;
}

.con_style .box_pattern .pattern ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0.5em auto 0;
  width: calc( 800 / 835 * 100% );
}

.con_style .box_pattern .pattern ul li {
  display: flex;
  align-items: center;
  width: calc( 260 / 800 * 100% );
}

.con_style .box_pattern .pattern ul.col_04 li {
  width: calc( 193 / 800 * 100% );
}

.con_style .box_pattern .pattern ul li:nth-child(n+4) {
  margin-top: 1em;
}

.con_style .box_pattern .pattern ul.col_04 li:nth-child(n+4) {
  margin-top: 0;
}

.con_style .box_pattern .pattern ul li span {
  display: block;
  margin: 0 auto;
  width: calc( 95 / 260 * 100% );
}

.con_style .box_pattern .pattern ul li figure a {
  background: #fff;
  display: block;
  position: relative;
}

.con_style .box_pattern .pattern ul li figure a img:hover {
  opacity: .8;
  transition: .5s all;
}

.con_style#living .box_pattern .pattern ul li figure a:after {
  background: url(../image/ico_orange_grass.png) 0 0 no-repeat;
  background-size: 100%;
  bottom: 0;
  content: "";
  display: block;
  height: 26px;
  position: absolute;
  right: 0;
  width: 26px;
}

.con_style#high .box_pattern .pattern ul li figure a:after {
  background: url(../image/ico_green_grass.png) 0 0 no-repeat;
  background-size: 100%;
  bottom: 0;
  content: "";
  display: block;
  height: 26px;
  position: absolute;
  right: 0;
  width: 26px;
}

.con_style#flap .box_pattern .pattern ul li figure a:after {
  background: url(../image/ico_blue_grass.png) 0 0 no-repeat;
  background-size: 100%;
  bottom: 0;
  content: "";
  display: block;
  height: 26px;
  position: absolute;
  right: 0;
  width: 26px;
}

.con_style .box_pattern .pattern ul li figure figcaption {
  margin-top: 0.5em;
  text-align: center;
}

.con_style .box_pattern .pattern h5 {
  align-items: center;
  display: flex;
  font-size: 170%;
  letter-spacing: 0.05em;
  margin: 0 1em;
  position: relative;
}

.con_style .box_pattern .pattern h5:nth-of-type(2) {
  margin-top: 1em;
}

.con_style .box_pattern .pattern h5 img {
  display: inline-block;
  margin-right: 0.5em;
  width: calc( 55 / 835 * 100% );
}

.con_style .box_pattern .pattern h5 .txt_small {
  font-size: 70%;
  padding: 0;
}


.con_style .box_size .inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 1.5em auto 0;
  width: calc( 800 / 835 * 100% );
}

.con_style#living .box_size .inner figure {
  width: calc( 428 / 800 * 100% ); 
}

.con_style#living .box_size .inner figure:nth-of-type(2) {
  width: calc( 352 / 800 * 100% );
}

.con_style#high .box_size .inner figure {
  width: calc( 326 / 800 * 100% ); 
}

.con_style#high .box_size .inner figure:nth-of-type(2) {
  width: calc( 400 / 800 * 100% );
}

.con_style#flap .box_size .inner figure {
  width: calc( 430 / 800 * 100% ); 
}

.con_style#flap .box_size .inner figure:nth-of-type(2) {
  width: calc( 353 / 800 * 100% );
}


.con_style#flap .box_point {
  margin: 2em 0 0;
}

.con_style#flap .box_point h3 {
  position: relative;
}

.con_style#flap .box_point h3 span {
  background: #fff;
  color: #1B2789;
  display: inline-block;
  font-size: 130%;
  font-weight: bold;
  line-height: 2.5em;
  padding: 0 1.3% 0 3em;
  position: relative;
}

.con_style#flap .box_point h3:before {
  background: #1B2789;
  content: "";
  height: 2px;
  margin-top: -.2%;
  position: absolute;
  right: 0;
  top: 50%;
  width: 100%;
  z-index: -1;
}

.con_style#flap .box_point h3 span:after {
  background: url("../image/ico-point-blue.png") no-repeat;
  background-size: 100%;
  bottom: 0;
  content: "";
  left: 0;
  position: absolute;
  top: 0;
  width: 2.5em;
}

.con_style#flap .box_point .inner {
  box-sizing: border-box;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 1em auto 0;
  position: relative;
  width: calc( 835 / 894 * 100% );
}

.con_style#flap .box_point p {
  margin: 0 auto;
  width: calc( 770 / 835 * 100% );
}

.con_style#flap .box_point figure {
  margin-top: 1em;
  width: calc( 405 / 835 * 100% );
}


@media screen and (max-width: 1000px) {
  .con_style .ttl .txt h2 {
    font-size: 3.8vw;
  }

  .con_style .box_pattern h3,
  .con_style .box_size h3 {
    font-size: 3vw;
  }

  .con_style .box_pattern .pattern h4 {
    font-size: 3vw;
  }

  .con_style .box_pattern .pattern h5 {
    font-size: 3vw;
  }

  .con_style#flap .box_point h3 span {
    font-size: 3vw;
  }
}

@media screen and (max-width: 736px) {
  .con_style {
    padding-bottom: 2em;
  }

  .con_style .ttl figure {
    width: 45%;
  }

  .con_style .ttl .txt {
    width: 50%;
  }

  .con_style .ttl .txt img {
    width: 28%;
  }

  .con_style#high .ttl .txt img {
    width: 15%;
  }

  .con_style .ttl .txt h2 {
    font-size: 4vw;
    margin-top: 0.3em;
    padding-top: 0.3em;
  }

  .con_style .box_pattern h3, .con_style .box_size h3 {
    font-size: 4.5vw;
  }

  .con_style .box_pattern .pattern h4 {
    font-size: 4.5vw;
  }

  .con_style .box_pattern .pattern h4 span {
    display: block;
    width: 60%;
  }

  .con_style .box_pattern .pattern h4 span.txt_small {
    letter-spacing: 0;
  }

  .con_style .box_pattern .pattern h5 span {
    display: block;
    width: 100%;
  }

  .con_style .box_pattern .pattern h5 .txt_small {
    display: inline;
  }

  .con_style#living .box_pattern .pattern h4 img,
  .con_style#flap .box_pattern .pattern h4 img {
    width: 12%;
  }

  .con_style#high .box_pattern .pattern h4 img {
    width: 6%;
  }

  .con_style .box_pattern .pattern:first-of-type {
    margin-top: 1em;
  }

  .con_style .box_pattern .pattern ul li {
    width: 48%;
  }

  /*.con_style .box_pattern .pattern ul li.img_space {
    display: none;
  }*/

  .con_style .box_pattern .pattern ul li:nth-child(n+3) {
    margin-top: 1em!important;
  }

  .con_style .box_pattern .pattern ul li figure figcaption {
    font-size: 90%;
    margin-top: 0.3em;
  }

  .con_style .box_pattern .pattern h5 {
    font-size: 5vw;
  }

  .con_style .box_pattern .pattern h5 img {
    width: 13%;
  }

  .con_style .box_pattern .pattern ul.col_04 li {
    width: 48%;
  }

  .con_style .box_size {
    margin-top: 2em;
  }

  .con_style#flap .box_point h3:before {
    display: none;
  }

  .con_style#flap .box_point h3 span {
    font-size: 5vw;
    line-height: 1.3em;
    height: 2.5em;
    display: flex;
    align-items: center;
  }

  .con_style#flap .box_point h3 span:after {
    background-position: center;
    height: 2.5em;
  }

  .con_style#flap .box_point p {
    text-align: justify;
  }
}




/* --------------------------------------

　　#factory 

-----------------------------------------*/

#factory {
  border-bottom: 1px solid #ccc;
  margin: 0 auto;
  padding-bottom: 2em;
  width: calc( 860 / 940 * 100% );
}

#factory h2 {
  box-sizing: border-box;
  border-top: 2px solid #F4D9E5;
  color: #362808;
  display: flex;
  justify-content: space-between;
  font-size: 160%;
  font-weight: bold;
  padding: 0.3em 0.7em;
  position: relative;
  /*text-shadow: 0 1px 0 #362808, 1px 0px 0 #362808, 1px 1px 0 #362808;*/
  width: 100%;
}

#factory h2:after {
  border-top: solid 2px #DE5266;
  top: -2px;
  content: " ";
  display: block;
  left: 0;
  position: absolute;
  width: 40%;
}

#factory h2 span {
  color: #0D8DCF;
  /*text-shadow: 0 1px 0 #0D8DCF, 1px 0px 0 #0D8DCF, 1px 1px 0 #0D8DCF;*/
}

#factory .inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 1em auto 0;
  width: calc( 820 / 860 * 100% );
}

#factory .inner figure {
  width: calc( 390 / 820 * 100% );
}

#factory .inner div {
  width: calc( 405 / 820 * 100% );
}

#factory .inner div .btn {
  background: #4FB4DA;
  background: -moz-linear-gradient(top, #4FB4DA 0%, #ffffff 0%, #4DB2D9 2%, #4DB2D9 28%, #3A99CE 100%);
  background: -webkit-linear-gradient(top, #4FB4DA 0%,#ffffff 0%,#4DB2D9 2%,#4DB2D9 28%,#3A99CE 100%);
  background: linear-gradient(to bottom, #4FB4DA 0%,#ffffff 0%,#4DB2D9 2%,#4DB2D9 28%,#3A99CE 100%);
  border: 1px solid #2C89C6;
  border-radius: 5px;
  margin: 0.5em auto 0;
  padding: 0.4em 0;
  position: relative;
  width: calc( 295 / 405 * 100% );
}

#factory .inner div .btn a {
  color: #fff;
  display: block;
  font-size: 100%;
  font-weight: bold;
  padding-right: 0.5em;
  text-align: center;
}

#factory .inner div .btn:after {
  content: "";
  box-sizing: border-box;
  width: 0.35em;
  height: 0.35em;
  border: 0.35em solid transparent;
  border-left: 0.35em solid #fff;
  bottom: 0;
  top: 50%;
  margin-top: -0.3em; 
  right: 0.3em;
  position: absolute;
}

#factory .inner div .btn:hover {
  opacity: 0.8;
  transition: 0.5s all;
}

#factory .inner div .btn a:hover {
  text-decoration: none;
}

@media screen and (max-width: 1000px) {
  #factory h2 {
    font-size: 3vw;
  }

  #factory .inner div .btn {
    width: 100%;
  }
}

@media screen and (max-width: 736px) {
  #factory {
    margin-top: 2em;
  }

  #factory h2 {
    border-top: 4px solid #F4D9E5;
    font-size: 5vw;
    text-shadow: none;
    padding: 0.3em;
  }

  #factory h2:after {
    border-top: solid 4px #DE5266;
    top: -4px;
  }

  #factory h2 span {
    font-size: 80%;
    text-shadow: none;
    display: inline-block;
    width: 8em;
  }

  #factory .inner figure {
    margin: 0 auto;
    width: 80%;
  }

  #factory .inner div {
    margin: 1em auto 0;
    text-align: justify;
    width: 100%;
  }

  #factory .inner div .btn {
    margin-top: 1em;
  }

  #factory .inner div .btn a {
    font-size: 4.8vw;
  }
}



/* --------------------------------------

　　#heartmark_shop

-----------------------------------------*/
#heartmark_shop {
  background: #FFEEF3;
  margin: 2em auto 0;
  position: relative;
  padding-top: 5em;
  padding-bottom: 1em;
  overflow: visible;
  width: calc( 840 / 940 * 100% );
}

#heartmark_shop h2 {
  top: -4.5%;
  left: -1%;
  position: absolute;
  width: 101%;
}

#heartmark_shop h2 span {
  display: none;
}

#heartmark_shop .inner {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0 auto;
  width: calc( 800 / 840 * 100% );
}

#heartmark_shop .inner div {
  width: calc( 490 / 800 * 100% );
}

#heartmark_shop .inner figure {
  width: calc( 300 / 800 * 100% );
}

#heartmark_shop .inner div figure {
  margin-top: 1em;
  width: 100%;
}

#heartmark_shop .inner figure a {
  display: block;
}

#heartmark_shop .inner figure a:hover {
  opacity: .8;
  transition: .5s all;
}

@media screen and (max-width: 736px) {
  #heartmark_shop {
    padding-top: 0;
  }

  #heartmark_shop h2 {
    background: #de3266;
    box-sizing: border-box;
    color: #fff;
    font-size: 5vw;
    padding: 0.3em 0.5em;
    top: auto;
    left: auto;
    position: static;
    width: 100%;
  }

  #heartmark_shop h2 span {
    display: block;
  }

  #heartmark_shop h2 img {
    display: none;
  }

  #heartmark_shop .inner {
    margin-top: 1em;
  }

  #heartmark_shop .inner figure {
    margin: 1em auto 0;
    width: 80%;
  }

  #heartmark_shop .inner div {
    width: 100%;
  }

  #heartmark_shop .inner div figure {
    display: none;
  }
}






.btn_shopping {
  background: #D2234E;
  background: -moz-linear-gradient(top, #D2234E 0%, #ffffff 0%, #CE214A 2%, #CE214A 28%, #BE1836 100%);
  background: -webkit-linear-gradient(top, #D2234E 0%,#ffffff 0%,#CE214A 2%,#CE214A 28%,#BE1836 100%);
  background: linear-gradient(to bottom, #D2234E 0%,#ffffff 0%,#CE214A 2%,#CE214A 28%,#BE1836 100%);
  border: 1px solid #9E0E1F;
  border-radius: 5px;
  margin: 1.5em auto 0;
  padding: 0.4em 0;
  position: relative;
  width: calc( 300 / 940 * 100% );
}

.btn_shopping a {
  color: #fff;
  display: block;
  font-size: 140%;
  font-weight: bold;
  text-align: center;
}

.btn_shopping:after {
  content: "";
  box-sizing: border-box;
  width: 0.4em;
  height: 0.4em;
  border: 0.4em solid transparent;
  border-left: 0.4em solid #fff;
  bottom: 0;
  top: 50%;
  margin-top: -0.35em; 
  right: 0.3em;
  position: absolute;
}

.btn_shopping:hover {
  opacity: 0.8;
  transition: 0.5s all;
}

.btn_shopping a:hover {
  text-decoration: none;
}

@media screen and (max-width: 1000px) {
  .btn_shopping {
    width: 50%;
  }

  .btn_shopping a {
    font-size: 3vw;
  }
}

@media screen and (max-width: 735px) {
  .btn_shopping {
    width: 80%;
  }

  .btn_shopping a {
    font-size: 5vw;
  }
}