@charset "UTF-8";
#strengths .btn a, #business .btn a, #mailorder .btn a {
  font-family: 'Noto Sans JP', sans-serif;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  padding: 0 44px;
  max-width: 220px;
  height: 50px;
  background: #3f598f;
  color: #fff;
  text-decoration: none;
  -webkit-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0.05em;
  background-image: url(../images/btn-arrow.png);
  background-repeat: no-repeat;
  background-position: center right 12px;
}

#strengths .btn a:hover, #business .btn a:hover, #mailorder .btn a:hover {
  opacity: 0.6;
}

#strengths h2, #business h2, #mailorder h2, #news h2 {
  font-family: "Noto Sans JP", sans-serif;
  margin-bottom: 40px;
  font-size: 38px;
  color: #54c2e6;
  letter-spacing: 0.08em;
  line-height: 1.2;
  font-weight: bold;
}

#strengths h2:after, #business h2:after, #mailorder h2:after, #news h2:after {
  margin-top: 15px;
  display: block;
  content: "";
  width: 40px;
  height: 1px;
  background-color: #54c2e6;
}

#strengths h2 span, #business h2 span, #mailorder h2 span, #news h2 span {
  margin-top: 7px;
  display: block;
  font-size: 16px;
  letter-spacing: 0.1em;
  color: #333333;
}

@media (max-width: 767px) {
  #strengths h2, #business h2, #mailorder h2, #news h2 {
    font-size: 26px;
  }
  #strengths h2:after, #business h2:after, #mailorder h2:after, #news h2:after {
    margin-top: 10px;
  }
  #strengths h2 span, #business h2 span, #mailorder h2 span, #news h2 span {
    margin-top: 5px;
    font-size: 12px;
  }
}

/* ----------------------------------------------
mainimg
------------------------------------------------- */
#mainimg {
  margin-bottom: 140px;
  position: relative;
}

#mainimg #mainslider img {
  height: calc(100vh - 100px);
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit: cover;";
}

#mainimg .catch {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#mainimg .catch .catchinner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: 100%;
  max-width: 1020px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 10px;
  padding-right: 10px;
  height: 100%;
}

@media (max-width: 999px) {
  #mainimg #mainslider img {
    height: calc(100vh - 80px);
  }
}

@media (max-width: 767px) {
  #mainimg #mainslider img {
    height: 260px;
  }
  #mainimg .catch .catchinner {
    padding: 0 20px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

/* ----------------------------------------------
strengths
------------------------------------------------- */
#strengths {
  margin-bottom: 70px;
  background-color: #edf4f6;
  font-size: 16px;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", system-ui, sans-serif;
  line-height: 1.75;
  letter-spacing: 0.08em;
  color: #333;
}

@media (max-width: 767px) {
  #strengths {
    font-size: 14px;
  }
}

#strengths .contents {
  width: 100%;
  max-width: 1020px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 10px;
  padding-right: 10px;
  position: relative;
  top: -60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

#strengths .image {
  width: 40%;
}

#strengths .image img {
  width: 100%;
}

#strengths .txtbox {
  width: 50%;
}

#strengths .btn {
  margin-top: 30px;
}

@media (max-width: 767px) {
  #strengths .contents {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #strengths .image {
    margin-bottom: 40px;
    max-width: 400px;
    width: 100%;
  }
  #strengths .txtbox {
    width: 100%;
  }
  #strengths .btn a {
    margin: 0 auto;
  }
}

/* ----------------------------------------------
business
------------------------------------------------- */
#business {
  margin-bottom: 70px;
}

#business h2 {
  width: 100%;
  max-width: 1020px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 10px;
  padding-right: 10px;
}

#business .block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

#business .block:nth-child(1) .txtbox {
  background: url(../images/business-bg1.jpg) no-repeat center/cover;
}

#business .block:nth-child(2) .txtbox {
  background: url(../images/business-bg2.jpg) no-repeat center/cover;
}

#business .block:nth-child(3) .txtbox {
  background: url(../images/business-bg3.jpg) no-repeat center/cover;
}

#business .block:nth-child(even) .image {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

#business .block:nth-child(even) .inner {
  margin-right: auto;
  margin-left: calc((100vw - 1020px) / 2);
}

@media (max-width: 1040px) {
  #business .block:nth-child(even) .inner {
    margin-left: auto;
    padding-left: 20px;
    padding-right: 20px;
  }
}

#business .block:nth-child(odd) .inner {
  margin-left: auto;
  margin-right: calc((100vw - 1020px) / 2);
}

@media (max-width: 1040px) {
  #business .block:nth-child(odd) .inner {
    margin-right: auto;
    padding-right: 20px;
    padding-left: 20px;
  }
}

#business .block:not(:first-child) {
  margin-top: 60px;
}

#business .image {
  width: 40%;
}

#business .image img {
  width: 100%;
  max-height: 400px;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit: cover;";
}

#business .txtbox {
  padding-top: 60px;
  padding-bottom: 100px;
  width: 60%;
}

#business .inner {
  max-width: 500px;
}

#business h3 {
  margin-bottom: 20px;
  text-align: center;
  font-size: 20px;
  line-height: 1.6;
  letter-spacing: 0.1em;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
}

#business h3 img {
  margin: auto auto 10px;
  display: block;
}

#business .text {
  font-size: 16px;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", system-ui, sans-serif;
  letter-spacing: 0.1em;
  color: #fff;
  line-height: 2;
}

@media (max-width: 767px) {
  #business .text {
    font-size: 14px;
  }
}

#business .btn {
  margin-top: 50px;
}

#business .btn a {
  margin: 0 auto;
  background-color: #fff;
  color: #3f598f;
  background-image: url(../images/btn-arrow2.png);
}

@media (max-width: 999px) {
  #business .txtbox {
    padding-top: 30px;
    padding-bottom: 40px;
    width: 60%;
  }
}

@media (max-width: 767px) {
  #business .block {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #business .block:nth-child(even) .image {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
  }
  #business .block:not(:first-child) {
    margin-top: 60px;
  }
  #business .image {
    width: 100%;
    max-width: 400px;
  }
  #business .txtbox {
    width: 100%;
  }
  #business h3 {
    font-size: 16px;
  }
  #business h3 img {
    margin: auto auto 10px;
    width: 44px;
  }
  #business .btn {
    margin-top: 30px;
  }
}

/* ----------------------------------------------
mailorder
------------------------------------------------- */
#mailorder {
  margin-bottom: 70px;
  width: 100%;
  max-width: 1020px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 10px;
  padding-right: 10px;
}

#mailorder .contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

#mailorder .block {
  width: 31%;
  font-weight: bold;
  letter-spacing: 0.08em;
}

#mailorder .block + .block {
  margin-left: 3.5%;
}

#mailorder .block a {
  display: block;
  -webkit-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
  text-decoration: none;
  color: #333333;
}

#mailorder .block a:hover {
  opacity: 0.6;
}

#mailorder .image {
  margin-bottom: 15px;
  width: 100%;
  padding-top: 96.7741935483%;
  position: relative;
}

#mailorder .image img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit: cover;";
}

#mailorder .title {
  margin-bottom: 10px;
  font-size: 18px;
}

#mailorder .price {
  font-size: 16px;
}

#mailorder .btn {
  margin-top: 50px;
}

#mailorder .btn a {
  margin: 0 auto;
  height: 60px;
  max-width: 280px;
}

@media (max-width: 767px) {
  #mailorder .block {
    width: 32%;
  }
  #mailorder .block + .block {
    margin-left: 2%;
  }
  #mailorder .image {
    margin-bottom: 10px;
  }
  #mailorder .title {
    margin-bottom: 5px;
    font-size: 14px;
  }
  #mailorder .price {
    font-size: 12px;
  }
}

@media (max-width: 500px) {
  #mailorder .contents {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #mailorder .block {
    width: 100%;
    max-width: 300px;
  }
  #mailorder .block + .block {
    margin-top: 30px;
    margin-left: 0;
  }
}

/* ----------------------------------------------
news
------------------------------------------------- */
#news {
  margin-bottom: 70px;
  width: 100%;
  max-width: 1020px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 10px;
  padding-right: 10px;
}

#news .contents {
  max-height: 238px;
  overflow-y: scroll;
}

#news article {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0 25px 15px 25px;
  font-size: 16px;
  letter-spacing: 0.02em;
  line-height: 1.875;
  border-bottom: solid 1px #e8eaeb;
}

#news article + article {
  margin-top: 50px;
}

#news article time {
  display: block;
  margin-right: 60px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-weight: bold;
}

@media (max-width: 767px) {
  #news article {
    display: block;
    padding: 0 15px 15px 15px;
    font-size: 14px;
  }
  #news article + article {
    margin-top: 20px;
  }
}

/* ----------------------------------------------
#map
------------------------------------------------- */
#map {
  margin-bottom: 60px;
}

#map iframe {
  width: 100%;
  height: 300px;
}

@media (max-width: 767px) {
  #map iframe {
    height: 240px;
  }
}

/* ----------------------------------------------

------------------------------------------------- */
/* ----------------------------------------------

------------------------------------------------- */
/*# sourceMappingURL=index.css.map */