@charset "UTF-8";
/* ===================================================================

style style

=================================================================== */
html,
body {
  width: 100%;
  height: 100%;
}

html {
  font-size: 62.5%;
}

body {
  color: #2c2c2c;
  font-size: 10px;
  font-size: 1rem;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic",
    YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial,
    "メイリオ", Meiryo, sans-serif;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}

a {
  transition: all 0.4s ease;
  -moz-transition: all 0.4s ease;
  -webkit-transition: all 0.4s ease;
  color: #646464;
  outline: none;
  text-decoration: none;
}

a:hover {
  color: #3e3e3e;
  text-decoration: none;
}

a:focus {
  color: #181818;
  outline: none;
  text-decoration: none;
}

img {
  -webkit-transition: all 0.4s ease;
  -moz-transition: all 0.4s ease;
  transition: all 0.4s ease;
  vertical-align: bottom;
}

select,
input,
textarea,
button {
  vertical-align: middle;
}

p {
  font-size: 1.6rem;
}

.pc {
  display: block;
}

@media (max-width: 767px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}

@media (max-width: 767px) {
  .sp {
    display: block;
  }
}

#wrap {
  width: 100%;
  margin: 0 auto;
  background: #fff;
}

.big {
  font-size: 120%;
}

.small {
  font-size: 80%;
}

.ybg {
  font-weight: bold;
  background: -webkit-linear-gradient(
    transparent 50%,
    #fffec5 50%,
    #fffec5 120%,
    transparent 120%
  );
  background: -o-linear-gradient(
    transparent 50%,
    #fffec5 50%,
    #fffec5 120%,
    transparent 120%
  );
  background: linear-gradient(
    transparent 50%,
    #fffec5 50%,
    #fffec5 120%,
    transparent 120%
  );
}

.pbg {
  font-weight: bold;
  background: -webkit-linear-gradient(
    transparent 25%,
    #fbcbd5 25%,
    #fbcbd5 75%,
    transparent 75%
  );
  background: -o-linear-gradient(
    transparent 25%,
    #fbcbd5 25%,
    #fbcbd5 75%,
    transparent 75%
  );
  background: linear-gradient(
    transparent 25%,
    #fbcbd5 25%,
    #fbcbd5 75%,
    transparent 75%
  );
}

.obg {
  font-weight: bold;
  background: -webkit-linear-gradient(
    transparent 25%,
    #ffc62e 25%,
    #ffc62e 75%,
    transparent 75%
  );
  background: -o-linear-gradient(
    transparent 25%,
    #ffc62e 25%,
    #ffc62e 75%,
    transparent 75%
  );
  background: linear-gradient(
    transparent 25%,
    #ffc62e 25%,
    #ffc62e 75%,
    transparent 75%
  );
}

.gbg {
  font-weight: bold;
  background: -webkit-linear-gradient(
    transparent 25%,
    #2a9dff 25%,
    #2a9dff 75%,
    transparent 75%
  );
  background: -o-linear-gradient(
    transparent 25%,
    #2a9dff 25%,
    #2a9dff 75%,
    transparent 75%
  );
  background: linear-gradient(
    transparent 25%,
    #2a9dff 25%,
    #2a9dff 75%,
    transparent 75%
  );
}

.marker {
  background: linear-gradient(to right, #fffec5 50%, transparent 50%) 100% 0%/200%
    100% no-repeat;
  transition: background-position 1s ease-out;
  -webkit-transition: background-position 1s ease-out;
  font-weight: bold;
}
.marker.is-show {
  background-position: 0% bottom;
}

.line {
  position: relative;
  font-weight: bold;
  padding-bottom: 5px;
  background-image: linear-gradient(
    180deg,
    transparent 90%,
    rgba(111, 171, 198, 0.6) 0
  );
  background-repeat: no-repeat;
  background-size: 0% 100%;
  transition: 2s;
}
.line.active {
  background-size: 100% 100%;
}

.red {
  color: #e6004f;
}

.pink {
  color: #e37388;
}

.blue {
  color: #112cbb;
}

.bold {
  font-weight: bold;
}

.inner {
  width: 1200px;
  margin: 0 auto;
}

.inner:after {
  content: "";
  display: block;
  clear: both;
}

@media (max-width: 767px) {
  .inner {
    width: auto;
  }
}

/* ===================================================================

header style

=================================================================== */
header {
  background: #fff;
}

.spNav {
  display: none;
}

.header_logo {
  padding: 20px 0;
  width: 1200px;
  margin: 0 auto;
}

@media (max-width: 767px) {
  .header_logo {
    position: absolute;
    top: 0;
    left: 15px;
    padding: 0;
    height: 50px;
  }
  .header_logo a {
    display: block;
    padding: 5px 0;
    height: 40px;
  }
  .header_logo a > img {
    max-width: none;
    max-height: 100%;
  }
}

header .headInner {
  text-align: center;
}

.headerNav {
  background: #fff;
  border-top: 1px solid rgba(34, 51, 88, 0.1);
  border-bottom: 1px solid rgba(34, 51, 88, 0.1);
}

.headerNav .inner > li {
  display: inline-block;
  width: calc(25% - 3px);
  padding: 10px 0;
  z-index: 1;
}

.headerNav .inner > li:first-child a:before {
  display: none;
}

.headerNav .inner > li > a {
  position: relative;
  display: block;
  width: 100%;
  margin: 0 4px;
  color: #412d25;
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
}

.headerNav .inner > li > a > img {
  vertical-align: middle;
}

.dropdown {
  position: relative;
  transition: all 0.3s;
}

.dropdown ul {
  width: 100%;
  background: rgba(255, 255, 255, 0.95);
  display: none;
}

.dropdown li {
  display: block;
  width: auto;
}

.dropdown li a {
  display: block;
  margin: 0;
  padding: 15px 10px;
  background: transparent;
  color: #7e7c76;
  font-size: 1.6rem;
  line-height: 1.4;
  box-shadow: none;
}

.dropdown li + li {
  border-top: 1px solid #4e5c79;
}

.dropdown li + li a {
  border-left: 0;
}

.dropdown li + li a:before {
  content: none;
}

.dropdown:hover {
  transition: all 0.3s;
}

.dropdown:hover .dropdown_toggle + ul {
  opacity: 1;
  display: block;
  height: auto;
  transition: all 0.3s;
  top: 50px;
}

.dropdown_toggle {
  transition: all 0.3s;
  border-left: 1px dotted #fff;
  color: #fff;
}

.dropdown_toggle + ul {
  opacity: 0;
  position: absolute;
  top: 7px;
  left: 0;
  height: 0;
  transition: all 0.3s;
}

.mv {
  padding: 30px 0;
  background: #fff url(../images/mv_bg.jpg) no-repeat center / cover;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .mv {
    padding: 30px 0;
    background: transparent;
    text-align: center;
  }
}

.mv .mvInner {
  max-width: 1200px;
  position: relative;
  margin: 0 auto;
  text-align: center;
  padding: 0;
}

.mv .mvInner:after {
  content: "";
  position: absolute;
  top: -20px;
  left: 0;
  display: block;
  width: 225px;
  height: 192px;
  background: url(../images/usp@2x.png) no-repeat center / contain;
}

@media screen and (max-width: 768px) {
  .mv .mvInner {
    display: none;
  }
}

.mv a {
  display: block;
}

.mv a img {
  margin: 0 auto;
}

@media (max-width: 767px) {
  .mv {
    margin-bottom: 0;
    padding-top: 50px;
    padding-right: 26%;
    background-position: right top;
  }
  .mv .mvInner:after {
    top: -50px;
    width: 30%;
    height: 70px;
  }
  .mv + .contents {
    padding-top: 0;
  }
}

/* ===================================================================

footer style

=================================================================== */
footer .fNav {
  padding: 40px 0;
  background: transparent;
  text-align: center;
}

footer .fNav dl {
  font-size: 0;
}

footer .fNav dt,
footer .fNav dd {
  display: inline-block;
  /* width: 50%; */
  font-size: 1.6rem;
}

footer .fNav dt {
  /* width: 47%; */
  padding-right: 3%;
  text-align: right;
  vertical-align: top;
}

footer .fNav dd {
  text-align: left;
}

@media (max-width: 767px) {
}

.copy {
  background: #eb6877;
  padding: 10px 0;
  color: #fff;
  font-size: 1.4rem;
  text-align: center;
}
@media (max-width: 767px) {
  .copy {
    font-size: 1rem;
  }
}

.pagetop {
  position: fixed;
  bottom: 60px;
  right: 20px;
  border-radius: 100px;
  background: #eb6877;
  border: 3px solid #fff;
}

.pagetop a {
  display: block;
  padding: 20px 18px;
  color: #fff;
  font-size: 2rem;
  text-align: center;
  font-weight: 600;
}

/* ===================================================================

main style

=================================================================== */
.contents {
  width: 1200px;
  padding: 80px 0;
  margin: 0 auto;
}

.contents:after {
  content: "";
  display: block;
  clear: both;
}

@media (max-width: 767px) {
  .contents {
    width: auto;
    padding: 50px 0 0;
  }
}

.main {
  float: left;
  width: 790px;
}

@media (max-width: 767px) {
  .main {
    float: none;
    width: 100%;
    padding: 0 0 4%;
    box-sizing: border-box;
    margin: 0 auto;
  }
  .main:after {
    content: "";
    display: block;
    clear: both;
  }
}

.side {
  width: 366px;
  float: right;
}

@media (max-width: 767px) {
  .side {
    float: none;
    width: 100%;
    padding: 0 0 4%;
    box-sizing: border-box;
    margin: 0 auto;
  }
  .side:after {
    content: "";
    display: block;
    clear: both;
  }
}

/* ===================================================================

side style

=================================================================== */
.sideCont h4 {
  position: relative;
  padding: 10px;
  margin-bottom: 15px;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
}
.sideCont h4.side_bumon_ttl,
.sideCont h4.side_article_ttl {
  color: #fff;
  padding-left: 30px;
  font-size: 2.4rem;
}
.sideCont h4.side_bumon_ttl {
  background: #e37388 url(../images/icon_crown@2x.png) no-repeat left 5% center /
    30px auto;
}
.sideCont h4.side_article_ttl {
  background: #8ac9e0 url(../images/icon_edit@2x.png) no-repeat left 5% center /
    30px auto;
}

.sideCont ul {
  background: #fff;
  padding: 5px 10px;
  margin-bottom: 40px;
}

.sideCont ul li {
  padding: 10px 0;
  font-size: 1.4rem;
}

.sideCont.products ul {
  border: 0;
  background: transparent;
  padding: 0;
  font-size: 0;
  margin-bottom: 20px;
}

.sideCont.products .btn_cont {
  text-align: center;
  margin-bottom: 40px;
}

.sideCont.products ul li {
  position: relative;
  display: inline-block;
  margin-bottom: 20px;
  padding: 0;
  font-size: 1.4rem;
  width: 100%;
  text-align: center;
}

.sideCont.products ul li .side_thumb {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  padding: 10%;
}
.sideCont.products ul li:nth-of-type(1) .side_thumb {
  padding: 15% 10% 6% 10%;
}
.sideCont.products ul li .side_thumb img {
  max-height: 100%;
  max-width: 100%;
}

.sideCont.products ul li:first-of-type .medal {
  top: -60px;
  left: -40px;
}

.sideCont.products ul li:nth-of-type(n + 4) {
  width: calc(50% - 5px);
}

.sideCont.products ul li:nth-of-type(n + 4) + li {
  padding-left: 10px;
}

.sideCont.products ul li:nth-of-type(4) .medal {
  top: -10px;
  left: -10px;
}

.sideCont.products ul li:nth-of-type(5) .medal {
  top: -10px;
  left: 0;
}

.sideCont.products ul .medal {
  position: absolute;
  top: -20px;
  left: -20px;
}

.sideCont.bumon ul li:before,
.sideCont.article ul li:before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 18px;
  margin-right: 10px;
  background: url(../images/icon_arrow_pink@2x.png) no-repeat center / contain;
}
.sideCont.article ul li:before {
  background-image: url(../images/icon_arrow_sky@2x.png);
}

@media (max-width: 767px) {
  .sideCont.bumon ul,
  .sideCont.overview ul {
    padding: 0 15px 10px;
  }
}

.sideCont.bumon a,
.sideCont.overview a {
  text-decoration: underline;
}

.sideCont.overview {
  padding: 10px 20px 0;
  background: #fff;
  border: 1px solid rgba(55, 39, 22, 0.5);
}

.sideCont.overview h4 {
  text-align: center;
  color: #372716;
  font-size: 2.4rem;
  font-weight: bold;
}
.sideCont.overview ul li {
  padding: 0;
}
.sideCont.overview ul li + li {
  padding: 5px 0 0;
}
.sideCont.overview ul li:before {
  content: none;
}

.sideCont.article h4 span {
  padding-left: 43px;
}

.sideCont.article h4 span:before {
  background: url(../images/side_column_icon.png) no-repeat top left;
  width: 37px;
  height: 30px;
}

.sideCont.article ul {
  background: transparent;
  border: 0;
  padding: 0;
}

.sideCont.article ul li a:after {
  content: "";
  display: block;
  clear: both;
}

.sideCont.article ul li a .pic {
  position: relative;
  float: left;
  display: inline-block;
  width: 80px;
  height: 80px;
  overflow: hidden;
  margin-right: 10px;
  background: #ffd800;
}

.sideCont.article ul li a .pic img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  max-height: 100%;
  margin: auto;
}

.sideCont.article ul li a h5,
.sideCont.article ul li a p {
  display: inline-block;
  float: right;
  width: calc(100% - 90px);
  font-size: 1.4rem;
}

.sideCont.article ul li a h5 {
  color: #2c2c2c;
  font-weight: bold;
  font-size: 1.6rem;
}

@media (max-width: 767px) {
  .sideCont.article ul {
    padding: 0 15px 10px;
  }
}

.side_btn {
  position: relative;
  display: block;
  padding: 15px 0;
  border-radius: 10px;
  background: #ff95b5 url(../images/btn_bg01.jpg) repeat center/auto;
  overflow: hidden;
  text-align: center;
}

.side_btn:before {
  content: "";
  position: absolute;
  top: -15px;
  left: 0;
  right: 0;
  display: block;
  width: 100%;
  height: 50px;
  margin: auto;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.1);
  -webkit-border-radius: 0 0 50% 50%/0 0 50% 50%;
  -moz-border-radius: 0 0 50% 50%/0 0 50% 50%;
  border-radius: 0 0 50% 50%/0 0 50% 50%;
}

/* ===================================================================

search style

=================================================================== */
#searchArea {
  margin-bottom: 50px;
  box-sizing: border-box;
}

#searchArea img {
  vertical-align: top;
}

@media (max-width: 767px) {
  #searchArea {
    margin-bottom: 4%;
  }
}

.searchCont {
  text-align: center;
  min-height: 1px;
  font-size: 0;
}
.searchCont .btn_search {
  position: relative;
  display: block;
  width: 480px;
  margin: 0 auto;
  padding: 10px 0;
  background: #ff0;
  background-image: linear-gradient(
    -45deg,
    rgba(255, 255, 255, 0.3) 25%,
    transparent 25%,
    transparent 50%,
    rgba(255, 255, 255, 0.3) 50%,
    rgba(255, 255, 255, 0.3) 75%,
    transparent 75%,
    transparent
  );
  -webkit-background-size: 8px 8px;
  background-size: 8px 8px;
  border-bottom: 3px solid #eee;
  border-radius: 10px;
  text-align: center;
  font-weight: bold;
  font-size: 2.4rem;
  cursor: pointer;
}
.searchCont .btn_search:after {
  content: "+";
  display: block;
  position: absolute;
  width: 30px;
  height: 30px;
  top: 0;
  bottom: 0;
  right: 5%;
  margin: auto;
  border-radius: 50%;
  background: #fff;
  font-size: 2.6rem;
  font-weight: bold;
  line-height: 1;
  transition: all 0.3s;
}

.searchCont h2 {
  position: relative;
  padding: 12px 0 10px;
  color: #fff;
  background: #e37388;
  background-image: linear-gradient(
    -45deg,
    rgba(255, 255, 255, 0.1) 25%,
    transparent 25%,
    transparent 50%,
    rgba(255, 255, 255, 0.1) 50%,
    rgba(255, 255, 255, 0.1) 75%,
    transparent 75%,
    transparent
  );
  background-size: 8px 8px;
  font-size: 2.6rem;
  font-weight: bold;
  text-align: center;
  border: 2px solid #e37388;
  border-bottom: 0;
}

.searchCont .search_inr {
  padding: 20px 20px 20px 40px;
  border: 2px solid #e37388;
  border-top: 0;
  background: #fff;
}

@media (max-width: 767px) {
  .searchCont .search_inr {
    padding: 20px 0 0;
  }
}

.searchCont dl {
  font-size: 0;
  text-align: left;

  vertical-align: top;
}

.searchCont dl:after {
  content: "";
  display: block;
  clear: both;
}

.searchCont dl + dl {
  border-top: 0;
}

.searchCont dl dt {
  float: left;
  display: block;
  width: 140px;
  padding: 10px 0;
  margin-bottom: 15px;
  background: #6c563d;
  background-image: linear-gradient(163deg, #6c563d 50%, #5d4830 49%);
  color: #fff;
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
  line-height: 1;
  box-sizing: border-box;
}

.searchCont dl dd {
  float: right;
  width: calc(100% - 140px);
  padding: 6px 15px;
  background: #fff;
  box-sizing: border-box;
  font-size: 0;
}

.searchCont dl dd label {
  display: inline-block;
  width: 25%;
  padding: 0 0;
  font-size: 1.6rem;
  vertical-align: top;
}

.searchBtn {
  position: relative;
  display: inline-block;
  margin: 30px auto 10px;
  border-radius: 10px;
  text-align: center;
  overflow: hidden;
}
#feas-form-0 {
  display: none;
  margin-top: 20px;
}

.searchBtn input {
  display: block;
  -webkit-appearance: none;
  appearance: none;
  border: none;
  width: 328px;
  height: 90px;
  background: url(../images/search_btn@2x.png) no-repeat center/contain;
  text-indent: -9999px;
  margin: 0 auto;
  transition: all 0.3s;
  outline: 0;
}

.searchBtn:hover {
  opacity: 0.9;
}

.sort {
  margin-bottom: 10px;
  padding-top: 10px;
  border-top: 1px solid #eeeeee;
}

.sort ul {
  padding: 0 20px;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}

.sort ul li {
  text-align: center;
  font-size: 1.4rem;
}

/* 検索結果 */
.tbl-ranking-result {
  width: 100%;
  clear: both;
  margin: 0px auto;
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
  background: #fff;
  margin-bottom: 40px;
}

.tbl-ranking-result thead th {
  background: #efefef;
}

.tbl-ranking-result tbody th {
  background: #fdf4e5;
}

.tbl-ranking-result tbody h3 {
  font-size: 1.4rem;
}

.tbl-ranking-result tbody td span {
  display: inline-block;
  padding-top: 8px;
  font-weight: bold;
  font-size: 120%;
}

.tbl-ranking-result th,
.tbl-ranking-result td {
  border-bottom: 1px solid #ccc;
  border-right: 1px solid #ccc;
  padding: 10px;
  text-align: center;
  vertical-align: middle;
  max-width: 150px;
}

.tbl-ranking-result .wrap-thumbnails {
  width: 100px;
  padding: 10px 0 0 0;
  margin: 0 auto;
}

.tbl-ranking-result .wrap-thumbnails img {
  max-width: 100%;
}

.tbl-ranking-result td.sml {
  font-size: 80%;
}

@media (max-width: 767px) {
  .searchCont {
    padding: 4%;
  }
  .searchCont h2 {
    margin-bottom: 0;
  }
  .searchCont h2 span img:nth-child(2) {
    display: none;
  }
  .searchCont dl dt {
    float: none;
    display: block;
    width: auto;
    padding: 5px 0;
  }
  .searchCont dl dd {
    float: none;
    width: auto;
  }
  .searchCont dl dd label {
    width: 46%;
    font-size: 1.4rem;
  }
  .searchCont .btn_search {
    width: auto;
    margin: 0 3% 10px;
    font-size: 2rem;
  }

  .resultArea {
    padding: 4% 0 4% 0;
  }
  .result_txt {
    text-align: center;
    margin: 0 auto 0 auto;
    padding-bottom: 4%;
  }
  .tbl-ranking-result {
    width: 100%;
    clear: both;
    margin: 0px auto 4%;
    border-top: 1px solid #ccc;
    border-left: 1px solid #ccc;
    background: #fff;
  }
  .tbl-ranking-result th {
    background: #efefef;
  }
  .tbl-ranking-result th,
  .tbl-ranking-result td {
    border-bottom: 1px solid #ccc;
    border-right: 1px solid #ccc;
    padding: 1%;
    font-size: 70%;
    text-align: center;
    vertical-align: middle;
  }
  .tbl-ranking-result .wrap-thumbnails {
    width: 70px;
    padding: 0;
    margin: 0 auto;
  }
  .tbl-ranking-result td.sml {
    font-size: 80%;
  }
  .tbl-ranking-result tbody tr:first-of-type td:first-of-type {
    width: 152px;
  }
}

/* ===================================================================

intro style

=================================================================== */
.topBnr {
  display: block;
  text-align: center;
  padding: 0 12% 20px 12%;
}

.topBnr a {
  position: relative;
  display: block;
  margin: 0 10px auto;
}

@media (max-width: 767px) {
  .topBnr {
    margin-bottom: 4%;
  }
}

.intro {
  margin-bottom: 40px;
}

.intro .introBox {
  padding: 20px 30px 20px 20px;
  margin-bottom: 40px;
  background: url(../images/bg01.png) repeat top left / 15px auto;
  background-position: center top 1%, center bottom 1%;
  border: 1px solid rgba(65, 155, 232, 0.4);
}
.intro .introBox p:first-letter {
  font-size: 3.6rem;
}
@media (max-width: 767px) {
  .intro .introBox {
    background-position: center top 0.3%, center bottom 0.3%;
  }
}

.intro h3 {
  position: relative;
  padding: 10px 0;
  color: #fff;
  background: #8ac9e0;
  font-size: 3rem;
  font-weight: bold;
  text-align: center;
}

.intro h3 span {
  font-size: 2.4rem;
  font-weight: bold;
  text-align: left;
  z-index: 1;
}

.intro p {
  padding: 0 0 20px;
  font-size: 2rem;
  line-height: 1.5;
}

.intro h4 {
  padding: 0 0 2.5%;
  text-align: center;
  color: #372716;
  font-size: 3rem;
  font-weight: bold;
}

.intro ul {
  margin: 0 -1% 60px;
  font-size: 0;
}

.intro ul li {
  display: inline-block;
  position: relative;
  counter-increment: point;
  font-size: 1.2rem;
  width: 29%;
  padding: 0 0 1%;
  vertical-align: top;
  border: 1px solid rgba(255, 149, 181, 0.4);
  background: #fff;
}

.intro ul li:before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: 79px;
  height: 88px;
  display: block;
  background: url(../images/point_icon01.png) no-repeat top left/contain;
}

.intro ul li:nth-child(1):before {
  background-image: url(../images/point_icon01.png);
}

.intro ul li:nth-child(2) {
  margin: 0 6%;
}

.intro ul li:nth-child(2):before {
  background-image: url(../images/point_icon02.png);
}

.intro ul li:nth-child(3):before {
  background-image: url(../images/point_icon03.png);
}

.intro ul li div {
  text-align: center;
}

.intro ul li div > img {
  max-width: 100%;
}

.intro ul li h5 {
  text-align: center;
  color: #372716;
  font-size: 2.4rem;
  font-weight: bold;
  padding-top: 15px;
  margin-bottom: 5px;
  letter-spacing: 0.1em;
}

.intro ul li h5:after {
  content: "";
  display: block;
  width: 40px;
  height: 1px;
  background: #8ac9e0;
  margin: 5px auto 10px;
}

.intro ul li p {
  padding: 0 2% 3%;
  font-size: 1.8rem;
  text-align: center;
}

@media (max-width: 767px) {
  .intro {
    margin: 0 3% 4%;
  }
  .intro h3 {
    padding: 3% 1% 0;
    font-size: 2rem;
    margin-bottom: 4%;
  }
  .intro h3:after {
    width: 102%;
    margin-left: -1%;
  }
  .intro p {
    font-size: 1.6rem;
    padding: 0 4% 4%;
  }
  .intro .photo_r img {
    padding-bottom: 20px;
  }
  .intro ul {
    text-align: center;
  }
  .intro ul li {
    overflow: hidden;
    width: 100%;
    margin: 0 auto 2%;
  }
  .intro ul li div {
    float: right;
    width: 45%;
  }
  .intro ul li:nth-child(2) {
    margin: 0 auto 2%;
  }
  .intro ul li h5,
  .intro ul li p {
    float: left;
    width: 49%;
    margin: 0 1%;
  }
  .intro ul li p {
    font-size: 1.4rem;
  }
}

#rank .rank_ttl {
  color: #372716;
  font-size: 2.6rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  text-align: center;
}

#rank .rank_ttl span {
  font-size: 4.4rem;
}

#rank .rank_ttl img {
  padding-top: 20px;
}

#rank h4 {
  position: relative;
  text-align: center;
}

@media (max-width: 767px) {
  #rank .rank_ttl {
    font-size: 2rem;
  }
  #rank .rank_ttl span {
    font-size: 2.4rem;
  }
  #rank h4 {
    margin-bottom: 4%;
  }
}

#rank h5.h5 {
  color: #2c2c2c;
  font-weight: bold;
  font-size: 2.4rem;
  padding-top: 30px;
  margin-bottom: 15px;
}

@media (max-width: 767px) {
  #rank h5.h5 {
    padding: 0 4%;
    margin-bottom: 4%;
    font-size: 1.8rem;
  }
}

#rank p {
  line-height: 1.8;
  padding: 0 4% 4%;
}

.rank_bnr {
  border: 2px solid #f1b9c3;
  padding: 2px;
  margin-bottom: 60px;
}
.rank_bnr a {
  position: relative;
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-items: center;
  border: 1px solid #f1b9c3;
  padding: 20px 40px 20px 90px;
}
.rank_bnr a:after {
  content: "";
  position: absolute;
  top: -70px;
  left: -40px;
  display: block;
  width: 120px;
  height: 174px;
  background: url(../images/medal_rank01@2x.png) no-repeat center / contain;
}
.rank_bnr .product_info {
  padding-top: 10px;
}
.rank_bnr .product_info .company,
.rank_bnr .product_info .productname {
  display: block;
  color: #e37388;
  font-size: 3.6rem;
  margin-bottom: 0;
  font-weight: bold;
  line-height: 1.2;
}
.rank_bnr .product_info .productname {
  margin-bottom: 0;
}

@media (max-width: 767px) {
  .rank_bnr a {
    padding-left: 40px;
    flex-flow: column-reverse nowrap;
  }
  .rank_bnr a:after {
    top: -50px;
    left: 0px;
    width: 110px;
    height: 115px;
  }
}

.rank_bnr img {
  max-width: 100%;
}

@media (max-width: 767px) {
  .rank_bnr {
    margin-bottom: 4%;
  }
  .rank_bnr .product_info .company,
  .rank_bnr .product_info .productname {
    font-size: 2.4rem;
  }
}

.rank_recommend {
  background: linear-gradient(transparent 60px, #feffec 59px);
}
.rank_recommend h3 {
  margin-bottom: 30px;
  text-align: center;
  background-image: url(../images/line01.png), url(../images/line01.png),
    linear-gradient(transparent 71%, #feffec 69%);
  background-repeat: no-repeat;
  background-position: left bottom 20px, right bottom 20px, center bottom;
  background-size: auto 5px, auto 5px, auto;
}

#rank .rank_recommend p {
  padding: 0 2% 4%;
  font-size: 1.8rem;
}
@media (max-width: 767px) {
  #rank .rank_recommend {
    font-size: 1.6rem;
  }
  #rank .rank_recommend p {
    padding: 0 4% 4%;
    font-size: 1.6rem;
  }
}

.rank_recommend .marker {
  background: linear-gradient(to right, #fffd92 50%, transparent 50%) 100% 0%/200%
    100% no-repeat;
}
.rank_recommend .marker {
  background: linear-gradient(to right, #fffd92 50%, transparent 50%) 100% 0%/200%
    100% no-repeat;
}
.rank_recommend .marker.is-show {
  background-position: 0% bottom;
}

.rank_recommend .photo_r img {
  padding-right: 20px;
}
.rank_recommend .photo_r .list {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  padding: 0 2%;
  font-size: 2.4rem;
  text-align: center;
}
.rank_recommend .photo_r .list li {
  width: 30%;
  padding: 5px;
  margin-bottom: 5px;
  background: #ffe2e7;
}
#rank .rank_recommend .photo_l p {
  padding-bottom: 0;
}
#rank .rank_recommend .btn_cont {
  text-align: center;
  padding: 10px;
}
@media (max-width: 767px) {
  .rank_recommend h3 {
    background-position: left -100% bottom 20px, right -100% bottom 20px,
      center bottom;
  }
  .rank_recommend h3 img {
    width: 80%;
    padding: 10px;
  }
  .rank_recommend .photo_r .list {
    font-size: 2rem;
    margin-bottom: 20px;
  }
  .rank_recommend .photo_r .list li {
  }
}

#rank .point h4 {
  text-align: center;
}

#rank .point h4:after {
  background: #99d9c6;
  content: "";
  display: block;
  height: 1px;
}

#rank .point h5 {
  color: #2c2c2c;
  font-weight: bold;
  font-size: 2.4rem;
  padding: 0 4% 0;
  margin-bottom: 3%;
}

#rank .point ul {
  margin: 0;
  padding: 20px 0 0;
  counter-reset: none;
}

#rank .point ul li {
  position: relative;
  min-height: 0;
  font-size: 1.6rem;
  line-height: 1.5;
  counter-increment: count-point;
}

#rank .point ul li:after {
  content: "";
  display: block;
  clear: both;
}

#rank .point ul li + li:before {
  content: "";
  display: block;
  height: 3px;
  margin-bottom: 3%;
  background-color: rgba(255, 149, 181, 0.4);
  background-color: #ffc8d9;
  background-image: linear-gradient(
    -45deg,
    rgba(255, 255, 255, 0.6) 25%,
    transparent 25%,
    transparent 50%,
    rgba(255, 255, 255, 0.6) 50%,
    rgba(255, 255, 255, 0.6) 75%,
    transparent 75%,
    transparent
  );
  -webkit-background-size: 6px 6px;
  background-size: 6px 6px;
}

#rank .point ul li.photo_r h5,
#rank .point ul li.photo_r p {
  padding-left: 0;
}

@media (max-width: 767px) {
  #rank .point ul li.photo_r h5,
  #rank .point ul li.photo_r p {
    padding-left: 4%;
  }
}

#rank .point ul li p {
  padding-bottom: 30px;
}

@media (max-width: 767px) {
  #rank .point ul li h5 {
    padding-top: 4%;
  }
}

@media (max-width: 767px) {
  #rank .point {
    padding: 4% 0;
  }
}

.btns {
  margin-bottom: 80px;
}

.btns ul {
  padding: 0 0 0;
  margin: 0 20px;
  font-size: 0;
}

.btns ul li {
  position: relative;
  display: inline-block;
  width: 48%;
  margin: 0 1%;
  padding: 0;
  text-align: center;
  overflow: hidden;
}

.btns ul li a {
  position: relative;
  display: block;
  height: 60px;
  border-radius: 10px;
  padding-top: 20px;
  margin: 20px 10px auto;
  background: #f57832;
  background-image: -moz-linear-gradient(
    90deg,
    #ff9148 1%,
    #f54e13 50%,
    #ff9148 100%
  );
  background-image: -webkit-linear-gradient(
    90deg,
    #ff9148 1%,
    #f54e13 50%,
    #ff9148 100%
  );
  background-image: -ms-linear-gradient(
    90deg,
    #ff9148 1%,
    #f54e13 50%,
    #ff9148 100%
  );
  text-shadow: 0 0 5px #ed732e;
  box-shadow: inset 0px 0px 10px white, 1px 0px 10px white, 0px 1px 10px white,
    0px 0px 5px white, 1px 0px 5px white, 0px 1px 5px white, 0 0 0 3px white;
  border: 1px solid #ed732e;
  color: #fff;
  font-size: 2.4rem;
  font-weight: bold;
  overflow: hidden;
}

.btns ul li a:before {
  content: "";
  position: absolute;
  top: -15px;
  left: 0;
  right: 0;
  display: block;
  width: 100%;
  height: 60px;
  margin: auto;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.1);
  -webkit-border-radius: 0 0 50% 50%/0 0 50% 50%;
  -moz-border-radius: 0 0 50% 50%/0 0 50% 50%;
  border-radius: 0 0 50% 50%/0 0 50% 50%;
}

.btns ul li a:hover {
  opacity: 0.9;
}

.btns ul li:nth-of-type(2) a {
  background: #66c87b;
  background-image: -moz-linear-gradient(
    90deg,
    #5fc16c 1%,
    #259d09 50%,
    #5fc16c 100%
  );
  background-image: -webkit-linear-gradient(
    90deg,
    #5fc16c 1%,
    #259d09 50%,
    #5fc16c 100%
  );
  background-image: -ms-linear-gradient(
    90deg,
    #5fc16c 1%,
    #259d09 50%,
    #5fc16c 100%
  );
  box-shadow: inset 0px 0px 10px white, 1px 0px 10px white, 0px 1px 10px white,
    0px 0px 5px white, 1px 0px 5px white, 0px 1px 5px white, 0 0 0 3px white;
  border: 1px solid #46ac54;
  text-shadow: 0 0 5px #46ac54;
}

.btns ul li:nth-of-type(2) a:hover {
  opacity: 0.9;
}

@media (max-width: 767px) {
  .btns {
    margin-bottom: 8%;
  }
  .btns ul li a {
    margin: 0 0 10px;
  }
}

/* ===================================================================

top_itemTeble style

=================================================================== */
.itemTbl {
  margin-bottom: 40px;
}
@media (max-width: 767px) {
  .itemTbl {
    padding: 30px 3% 0;
  }
}
.itemTbl a {
  text-decoration: underline;
}

.itemTbl a:hover {
  text-decoration: none;
}

.itemTbl .itemTbl-ttl {
  position: relative;
  text-align: center;
  margin: 40px 0 -40px;
  padding: 30px 0 0 0;
  height: 229px;
  box-sizing: border-box;
}

.itemTbl .itemTbl-ttl span {
  right: 0;
  display: block;
  width: 100%;
  margin: 0 auto;
  z-index: 1;
}

@media (max-width: 767px) {
  .itemTbl .itemTbl-ttl {
    height: auto;
    margin: 0;
    padding: 0;
  }
}

.itemTbl .itemTblCont {
  position: relative;
  margin-top: 90px;
}

@media (max-width: 767px) {
  .itemTbl .itemTblCont {
    margin-top: 60px;
  }
}

.itemTbl table {
  width: 100%;
  border: 0;
  font-size: 1.4rem;
  border-collapse: separate;
  border-spacing: 0;
}

.itemTbl table tr th img,
.itemTbl table tr td img {
  max-width: 100%;
}

.itemTbl table tr th {
  border: 0;
  width: calc(77% / 5);
  vertical-align: middle;
  color: #2c2c2c;
  font-weight: bold;
}

.itemTbl table tr th:first-of-type {
  width: 13%;
}

.itemTbl table tr td {
  width: 16.6%;
  text-align: center;
}

.itemTbl table thead tr th,
.itemTbl table thead tr td {
  border-bottom: 1px solid rgba(65, 155, 232, 0.2);
}

/* .itemTbl table thead th.bdw {
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff !important;
  border-left: 1px solid #fff !important;
  background: transparent url(../images/icon_recommend.png) no-repeat center bottom/auto;
} */

@media (max-width: 767px) {
  .itemTbl table thead th.bdw {
    background-size: 100% auto;
  }
}

.itemTbl table thead th {
  position: relative;
  border-left: 0;
  padding-top: 30px;
  padding-bottom: 5px;
  border-bottom: 0;
  font-size: 1.2rem;
  border-top: 1px solid rgba(65, 155, 232, 0.2);
  border-right: 1px solid #eee;
}
.itemTbl table thead th:first-of-type {
  border-left: 1px solid rgba(65, 155, 232, 0.2);
}
.itemTbl table thead th:last-of-type {
  border-right: 1px solid rgba(65, 155, 232, 0.2);
}
.itemTbl table thead th:nth-of-type(1) .pic {
}

.itemTbl table thead th:nth-of-type(1) .pic + a {
}

@media (max-width: 767px) {
  .itemTbl table thead th {
    padding-top: 10px;
  }
}

.itemTbl table thead .medal {
  position: absolute;
  bottom: 160px;
  left: 0;
  right: 0;
  width: 60%;
  margin: auto;
}
.itemTbl table thead th:nth-of-type(2) .medal {
  width: 70%;
}

.itemTbl table thead th .inr {
  display: flex;
  flex-flow: column nowrap;
  justify-content: space-between;
  height: 100%;
}
.itemTbl table thead .pic {
  overflow: hidden;
  background: #fff;
}
.itemTbl table thead .pic a {
  display: flex;
  align-items: center;
  width: 80px;
  height: 90px;
  box-sizing: border-box;
  padding: 0;
  margin: 0 auto;
  transition: all 0.3s;
}
.itemTbl table thead .pic a:hover {
  opacity: 0.8;
}

.itemTbl table thead .pic img {
  max-width: 100%;
  max-height: 100%;
  width: 100%;
  height: 100%;
  object-fit: scale-down;
}

.itemTbl table thead .pic + a {
  display: block;
  background: #fff;
  height: 70px;
  display: flex;
  flex-flow: column;
  justify-content: center;
  color: #372716;
  text-decoration: none;
  transition: all 0.3s;
}

.itemTbl table thead .pic + a:hover {
  opacity: 0.8;
}

.itemTbl table thead .pic + a .spec_name {
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.4;
  vertical-align: middle;
}

@media (max-width: 767px) {
  .itemTbl table thead .pic + a {
  }
}

.itemTbl table tbody th {
  padding: 5px 0;
  background: #cfe9f3;
  font-size: 1.6rem;
  line-height: 1.2;
  border-left: 1px solid #eee;
  border-bottom: 1px solid #eee;
  color: #392916;
}

.itemTbl table tbody td {
  background: #fff;
  border-bottom: 1px solid #eee;
  border-right: 1px solid #eee;
  font-size: 1.4rem;
  line-height: 1.2;
  vertical-align: middle;
  font-weight: normal;
}

@media (max-width: 767px) {
  .itemTbl table tbody td {
    border: 5px solid #fff;
  }
}

.itemTbl table tbody td .mark {
  height: 80px;
  font-size: 5.8rem;
  font-weight: bold;
  display: inline-block;
  width: 100%;
}

.itemTbl .wcir,
.itemTbl .cir,
.itemTbl .tri,
.itemTbl .peke {
  position: relative;
  width: calc(16.6% - 10px);
  padding: 60px 5px;
  vertical-align: top;
}

.itemTbl .wcir:after,
.itemTbl .cir:after,
.itemTbl .tri:after,
.itemTbl .peke:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: block;
  width: 84px;
  height: 84px;
  margin: auto;
  background: #fff;
  padding: 0 10px;
  font-size: 5.6rem;
  line-height: 1;
}

.itemTbl .wcir:after {
  background: url(../images/spec_w_cicle@2x.png) no-repeat center / contain;
  color: #ff92a1;
}

.itemTbl .cir:after {
  background: url(../images/spec_cicle@2x.png) no-repeat center / contain;
  color: #eb6877;
}

.itemTbl .tri:after {
  background: url(../images/spec_triangle@2x.png) no-repeat center / contain;
  color: #766754;
}

.itemTbl .peke:after {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
  content: "✕";
  display: block;
  height: 70px;
  color: #067eb1;
}

.itemTbl.bumonbetsu {
  position: relative;
  padding: 5px;
  background: transparent url(../images/bumonrank_bg.jpg) repeat-y center
    top/100% auto;
}

.itemTbl .itemTbl-ttl2 {
  position: relative;
  text-align: center;
  padding: 40px 0;
  text-align: center;
  background: #fff;
}

@media (max-width: 767px) {
  .itemTbl .itemTbl-ttl2 {
    padding: 8% 0 4%;
  }
  .itemTbl .itemTbl-ttl2 > img {
    max-width: 90%;
  }
}

.itemTbl .itemTblCont2 {
  background: #fff;
}

.itemTbl ul {
  font-size: 0;
  padding-bottom: 60px;
  margin: 0;
}

.itemTbl ul li {
  display: inline-block;
  width: 48%;
  margin: 0 1% 15px;
  font-size: 1.2rem;
  vertical-align: top;
}

@media (max-width: 767px) {
  .itemTbl ul li {
    width: 100%;
  }
}

.itemTbl dl {
  font-size: 0;
  font-weight: bold;
  margin: 0 1%;
}

.itemTbl dl dt {
  display: block;
  width: calc(98% - 10px);
  margin: 0 0 3%;
  padding: 5px 1%;
  color: #e37388;
  background: #fff;
  border: 1px solid #ff95b5;
  border-radius: 10px;
  font-size: 2.2rem;
  text-align: center;
}

.itemTbl dl dd {
  position: relative;
  display: inline-block;
  width: 33.3%;
  margin-top: 60px;
  font-size: 1.2rem;
  vertical-align: top;
  text-align: center;
}

.itemTbl dl dd .pic {
  width: calc(90% - 0px);
  height: 72px;
  padding: 0 0px 15px;
  margin: 0 auto;
  background: #fff;
  box-sizing: border-box;
}

.itemTbl dl dd .pic img {
  max-height: 100%;
}

.itemTbl dl dd:after {
  content: "";
  position: absolute;
  top: -60px;
  left: 0;
  right: 0;
  margin: 0 auto;
  display: block;
  width: 100%;
  height: 50px;
  background: transparent url(../images/spec_rank01@2x.png) no-repeat
    center/contain;
}

@media (max-width: 767px) {
  .itemTbl dl dd:after {
    top: -55px;
    height: 50px;
  }
}

.itemTbl dl dd:nth-of-type(2):after {
  background-image: url(../images/spec_rank02@2x.png);
}

.itemTbl dl dd:nth-of-type(3):after {
  background-image: url(../images/spec_rank03@2x.png);
}

@media (max-width: 767px) {
  .itemTbl {
    margin-bottom: 4%;
    overflow: hidden;
  }
  .itemTbl table thead tr th,
  .itemTbl table thead tr td {
    vertical-align: bottom;
  }
}

.itemTbl table tbody.compare-tbl-v2 td {
  padding: 10px;
  vertical-align: top;
  border: 1px solid #f1f1f1;
}
.itemTbl table tbody.compare-tbl-v2 td .icon {
  padding: 0 10px;
}
.itemTbl table tbody.compare-tbl-v2 td p {
  font-size: 1.2rem;
  padding: 0 !important;
  font-weight: bold;
}
.itemTbl table tbody.compare-tbl-v2 td .tbl-cell-inner {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.itemTbl table tbody.compare-tbl-v2 .tbl-inner-btn a {
  display: block;
  text-decoration: none;
  background: #0fa57e;
  color: #fff;
  line-height: 1;
  font-size: 1.4rem;
  padding: 15px 0;
  text-align: center;
  border-radius: 5px;
  transition: 0.2s;
}
.itemTbl table tbody.compare-tbl-v2 .tbl-inner-btn a:hover {
  opacity: 0.7;
}
.tbl-inner-btn__no1:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 13.5%;
  width: 17.5%;
  height: 100%;
}
@media (max-width: 767px) {
  .itemTbl table thead .pic + a .spec_name {
    font-size: 1.1rem;
  }
  .itemTbl table tbody.compare-tbl-v2 td {
    padding: 5px;
  }
  .itemTbl table tbody.compare-tbl-v2 td p {
    font-size: 1rem;
  }
  .itemTbl table tbody.compare-tbl-v2 th {
    font-size: 1.2rem;
  }
  .tbl-inner-btn__no1:after {
    left: 17%;
    width: 27.5%;
  }
}

.about .title {
  text-align: center;
  margin-bottom: 30px;
}

/* ===================================================================

block_product_ranking style

=================================================================== */

.pe-n {
  pointer-events: none;
}
.uv-image img {
  margin-top: 10px;
  max-width: 100%;
  height: auto;
}
.productInfo .thumb-image {
  width: 50%;
  aspect-ratio: 1;
  border: 1px solid #ff95b5;
}
.productInfo .thumb-image a {
  padding: 35px 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
}
.productInfo .thumb-image a img {
  max-height: 100%;
  max-width: 100%;
}
.productInfo .thumb-image + .info {
  width: 50%;
}
@media (max-width: 767px) {
  .productInfo .thumb-image {
    width: 100%;
  }
  .productInfo .thumb-image + .info {
    width: 100%;
    box-sizing: border-box;
    margin-top: 20px;
  }
}

.rank_ttl {
  margin-bottom: 4%;
  text-align: center;
  font-size: 2.8rem;
  font-weight: bold;
}

@media (max-width: 767px) {
  .rank_ttl {
    margin-top: 8%;
  }
}

.rankHead {
  position: relative;
  padding: 30px 20px 0;
  border: 1px solid #eb6877;
}

.rankHead .pic {
  position: absolute;
  top: 40px;
  left: 40px;
  height: 220px;
  display: flex;
  justify-content: center;
}

.rankHead .pic > img {
  max-width: 100%;
  max-height: 100%;
  object-fit: scale-down;
}

@media (max-width: 767px) {
  .rankHead .pic {
    top: 30px;
    height: 180px;
  }
}

.rankHead .companyName,
.rankHead h3,
.rankHead .bumonTbl,
.rankHead .btns,
.rankHead .txts {
  margin: 0 0 0 230px;
}

.rankHead .companyName {
  color: #eb6877;
  font-weight: bold;
}

.rankHead h3 {
  min-height: 60px;
  padding-bottom: 10px;
  font-size: 4rem;
  font-weight: bold;
  color: #6a3906;
}

.rankHead .btns {
  clear: both;
  padding: 40px 0 0 0;
}

.rankHead .btn_official {
  position: relative;
  display: inline-block;
  padding: 2% 0;
  overflow: hidden;
  border-radius: 10px;
  background: #66c87b;
  background-image: -moz-linear-gradient(
    90deg,
    #5fc16c 1%,
    #259d09 50%,
    #5fc16c 100%
  );
  background-image: -webkit-linear-gradient(
    90deg,
    #5fc16c 1%,
    #259d09 50%,
    #5fc16c 100%
  );
  background-image: -ms-linear-gradient(
    90deg,
    #5fc16c 1%,
    #259d09 50%,
    #5fc16c 100%
  );
  box-shadow: inset 0px 0px 10px white, 1px 0px 10px white, 0px 1px 10px white,
    0px 0px 5px white, 1px 0px 5px white, 0px 1px 5px white, 0 0 0 3px white;
  border: 1px solid #46ac54;
  text-shadow: 0 0 5px #46ac54;
  color: #fff;
  text-align: center;
}

.rankHead .btn_official:before {
  content: "";
  position: absolute;
  top: -25px;
  left: 0;
  right: 0;
  display: block;
  width: 100%;
  height: 60px;
  margin: auto;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.1);
  -webkit-border-radius: 0 0 50% 50%/0 0 50% 50%;
  -moz-border-radius: 0 0 50% 50%/0 0 50% 50%;
  border-radius: 0 0 50% 50%/0 0 50% 50%;
}

.rankHead .btn_official:hover {
  opacity: 0.9;
}

.rankHead .btn_detail {
  position: relative;
  display: inline-block;
  padding: 2% 0;
  overflow: hidden;
  border-radius: 10px;
  background: #f57832;
  background-image: -moz-linear-gradient(
    90deg,
    #ff9148 1%,
    #f54e13 50%,
    #ff9148 100%
  );
  background-image: -webkit-linear-gradient(
    90deg,
    #ff9148 1%,
    #f54e13 50%,
    #ff9148 100%
  );
  background-image: -ms-linear-gradient(
    90deg,
    #ff9148 1%,
    #f54e13 50%,
    #ff9148 100%
  );
  text-shadow: 0 0 5px #ed732e;
  box-shadow: inset 0px 0px 10px white, 1px 0px 10px white, 0px 1px 10px white,
    0px 0px 5px white, 1px 0px 5px white, 0px 1px 5px white, 0 0 0 3px white;
  border: 1px solid #ed732e;
  color: #fff;
  text-align: center;
}

.rankHead .btn_detail:before {
  content: "";
  position: absolute;
  top: -25px;
  left: 0;
  right: 0;
  display: block;
  width: 100%;
  height: 60px;
  margin: auto;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.1);
  -webkit-border-radius: 0 0 50% 50%/0 0 50% 50%;
  -moz-border-radius: 0 0 50% 50%/0 0 50% 50%;
  border-radius: 0 0 50% 50%/0 0 50% 50%;
}

.rankHead .btn_detail:hover {
  opacity: 0.9;
}

.rankCont {
  font-size: 1.6rem;
  margin-bottom: 60px;
  box-sizing: border-box;
  border: 1px solid #ff95b5;
}

.rankCont .mainTitle {
  padding: 10px 40px;
  background: #eb6877;
  color: #fff;
  font-weight: bold;
  font-size: 3rem;
}
#rank01.rankCont .mainTitle,
#rank02.rankCont .mainTitle,
#rank03.rankCont .mainTitle,
#rank04.rankCont .mainTitle,
#rank05.rankCont .mainTitle {
  position: relative;
  padding-left: 120px;
}
#rank01.rankCont .mainTitle:before,
#rank02.rankCont .mainTitle:before,
#rank03.rankCont .mainTitle:before,
#rank04.rankCont .mainTitle:before,
#rank05.rankCont .mainTitle:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 1%;
  display: block;
  margin: auto;
  width: 100px;
  height: 120px;
  background: url(../images/medal_rank01.png) no-repeat center / contain;
}
#rank02.rankCont .mainTitle:before {
  background-image: url(../images/medal_rank02.png);
}
#rank03.rankCont .mainTitle:before {
  background-image: url(../images/medal_rank03.png);
}
#rank04.rankCont .mainTitle:before {
  background-image: url(../images/medal_rank04.png);
}
#rank05.rankCont .mainTitle:before {
  background-image: url(../images/medal_rank05.png);
}
@media (max-width: 767px) {
  .rankCont .mainTitle {
    font-size: 2.4rem;
    line-height: 1.4;
  }
  #rank01.rankCont .mainTitle,
  #rank02.rankCont .mainTitle,
  #rank03.rankCont .mainTitle,
  #rank04.rankCont .mainTitle,
  #rank05.rankCont .mainTitle {
    padding-left: 80px;
  }
  #rank01.rankCont .mainTitle:before,
  #rank02.rankCont .mainTitle:before,
  #rank03.rankCont .mainTitle:before,
  #rank04.rankCont .mainTitle:before,
  #rank05.rankCont .mainTitle:before {
    width: 70px;
    height: 80px;
  }
}
.productInfo {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  padding: 30px;
}
.productInfo .image {
  width: 460px;
  height: 200px;
  padding: 35px 60px;
  border: 1px solid #ff95b5;
  display: flex;
  justify-content: center;
}
.productInfo .image img {
  max-width: 100%;
  max-height: 100%;
  object-fit: scale-down;
}

.productInfo .info {
  padding: 0 30px;
}
.productInfo .price {
  margin-bottom: 10px;
  color: #666;
}
.productInfo .price p {
  line-height: 1.4;
  font-size: 2rem;
}
.productInfo .btns {
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .productInfo {
    display: block;
    padding: 20px;
  }
  .productInfo .image {
    width: auto;
    margin-bottom: 20px;
  }
  .productInfo .image img {
    max-width: 100%;
  }
}

.eval {
  margin: 0 0 20px;
  border-top: 0;
  padding: 0;
  font-size: 0;
  background: #fff;
}

.eval .eval_inner {
  padding: 0 40px;
}

.eval ul {
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
}

.eval ul li {
  width: 140px;
  height: 140px;
  margin: 0 15px;
  border-radius: 100px;
  background: #ff95b5;
}

.eval ul li .icon {
  position: relative;
}

.eval ul li h5 {
  margin-top: 10px;
  color: #fff;
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center;
}
.eval .wcir:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  display: block;
  width: 84px;
  height: 84px;
  margin: auto;
  padding: 0 10px;
  font-size: 5.6rem;
  line-height: 1;
  background: url(../images/spec_w_cicle@2x.png) no-repeat center / contain;
  padding: 0;
  filter: brightness(0) invert(1);
}

@media (max-width: 767px) {
  .eval ul {
    flex-flow: row wrap;
  }
  .eval ul li {
    margin: 0 5px;
  }
  .eval ul li:nth-of-type(n + 3) {
    margin-top: 10px;
  }
  .eval .wcir:after {
  }
}

.rankCont .productArticleCont {
  padding: 4% 0 0;
  margin-bottom: 40px;
  background: #fff;
}

.rankCont .productArticleCont h4 {
  margin: 0 3% 20px;
  background-image: -webkit-linear-gradient#fff calc(50% - 1px),
    #000 calc(50% - 1px), #000 50%, #fff 50%;
  background-image: linear-gradient(
    #fff calc(50% - 1px),
    #000 calc(50% - 1px),
    #000 50%,
    #fff 50%
  );
  font-size: 3.6rem;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
}

.rankCont .productArticleCont h4 span {
  background: #fff;
  padding: 0 2% 10px;
}

.rankCont .productArticleCont p {
  font-size: 2rem;
  padding: 0 4%;
  margin-bottom: 2%;
}

.rankCont .productArticleCont p.caution {
  font-size: 80%;
}

.rankCont .productArticleCont p.caution.right {
  text-align: right;
}

.rankCont .productArticleCont p:last-of-type {
  margin-bottom: 20px;
}
.rankCont .productArticleCont sup {
  font-size: 50%;
  vertical-align: top;
}

@media (max-width: 767px) {
  .rankCont .productArticleCont h4 {
    font-size: 2.4rem;
  }
  .rankCont .productArticleCont p {
    font-size: 1.6rem;
    line-height: 1.6;
  }
}
.rankCont .productArticleCont .btns {
  margin-bottom: 30px;
  text-align: center;
}

.rankCont .productArticleCont .btns .btn_official {
  width: 46%;
  position: relative;
  display: inline-block;
  padding: 2% 0;
  overflow: hidden;
  border-radius: 10px;
  background: #66c87b;
  background-image: -moz-linear-gradient(
    90deg,
    #5fc16c 1%,
    #259d09 50%,
    #5fc16c 100%
  );
  background-image: -webkit-linear-gradient(
    90deg,
    #5fc16c 1%,
    #259d09 50%,
    #5fc16c 100%
  );
  background-image: -ms-linear-gradient(
    90deg,
    #5fc16c 1%,
    #259d09 50%,
    #5fc16c 100%
  );
  box-shadow: inset 0px 0px 10px white, 1px 0px 10px white, 0px 1px 10px white,
    0px 0px 5px white, 1px 0px 5px white, 0px 1px 5px white, 0 0 0 3px white;
  border: 1px solid #46ac54;
  text-shadow: 0 0 5px #46ac54;
  color: #fff;
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center;
}

@media (max-width: 767px) {
  .rankCont .productArticleCont .btns .btn_official {
    width: 70%;
  }
}

.rankCont .productArticleCont .btns .btn_official:before {
  content: "";
  position: absolute;
  top: -15px;
  left: 0;
  right: 0;
  display: block;
  width: 100%;
  height: 60px;
  margin: auto;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.1);
  -webkit-border-radius: 0 0 50% 50%/0 0 50% 50%;
  -moz-border-radius: 0 0 50% 50%/0 0 50% 50%;
  border-radius: 0 0 50% 50%/0 0 50% 50%;
}

.rankCont .productArticleCont .btns .btn_official:hover {
  opacity: 0.9;
}

.rankCont .productArticleCont .images {
  text-align: center;
}

.rankCont .productArticleCont .box {
  border-top: 0;
  padding: 0;
}

.rankCont .productArticleCont .box + .box {
  border-top: 5px solid rgba(65, 155, 232, 0.4);
  margin-top: 8%;
}

.rankCont .productArticleCont .box.overview {
  margin: 0 0 20px;
  padding: 4%;
  border: 1px solid #9ccbf3;
  border-top: 0;
}

.rankCont .productArticleCont .box.overview:first-of-type {
  margin-top: 0;
}

.rankCont .productArticleCont .box.overview p {
  background: rgba(255, 255, 255, 0.85);
  border: 10px solid #eb6877;
  padding: 3%;
  margin-bottom: 1%;
}

@media (max-width: 767px) {
  .rankCont .productArticleCont h3 {
    padding-top: 6%;
  }
  .rankCont .productArticleCont h4 {
    margin-bottom: 6%;
  }
  .rankCont .productArticleCont .box + .box {
    border-top-color: #ff95b5;
    margin-top: 12%;
  }
  .rankCont .productArticleCont .box.overview {
    margin-bottom: 12%;
  }
}

.voice {
  background: #feffec;
  margin: 0 3% 20px;
}

.voice h4 {
  text-align: center;
  font-size: 2.8rem;
  font-weight: bold;
  padding: 3% 0;
  background-image: url(../images/line02.png), url(../images/line02.png);
  background-repeat: no-repeat;
  background-position: left center, right center;
  background-size: auto 5px, auto 5px;
}
.voice h4 span {
  background: #feffec;
}

@media (max-width: 767px) {
  .voice {
    margin-bottom: 20px;
  }
  .voice h4 {
    margin: 8% 0 0;
    padding: 4% 0;
  }
}

.voice li {
  padding: 3% 3%;
  margin-bottom: 4%;
  font-size: 1.5rem;
  background: #feffec;
  min-height: 80px;
}

.voice li.icon {
  position: relative;
  padding-left: 140px;
}

.voice li.icon:before {
  content: "";
  position: absolute;
  top: 20px;
  left: 0;
  display: block;
  width: 120px;
  height: 120px;
  margin: auto;
  background: url(../images/user01@2x.png) no-repeat center / contain;
}

.voice li.icon.icon02:before {
  background-image: url(../images/user02@2x.png);
}
.voice li.icon.icon03:before {
  background-image: url(../images/user03@2x.png);
}

.voice li + li {
  border-top: 1px dashed #000;
}

.voice ul {
  margin: 0;
  padding: 0 3% 6%;
}

@media (max-width: 767px) {
  .voice ul {
    margin: 0 2% 3%;
  }
  .voice li.icon {
    padding-left: 100px;
  }
  .voice li.icon:before {
    top: 15px;
    width: 80px;
    height: 80px;
  }
}

.rankCont .productTbl {
  padding: 6% 3% 0;
}

.rankCont .productTbl th,
.rankCont .productTbl td {
  font-size: 1.5rem;
}

@media (max-width: 767px) {
  .rankCont .productTbl {
    padding: 6% 2% 0;
  }
}
.rankCont .btn_cont {
  margin-bottom: 20px;
  text-align: center;
}
.bumonDescription {
  margin: 3% 0;
}

.bumonDescription h3 {
  background: #eb6877;
  border-top: 1px solid #eb6877;
  border-bottom: 1px solid #eb6877;
  color: #fff;
  font-size: 3rem;
  text-align: center;
  font-weight: bold;
}

.bumonDescription p {
  padding: 20px;
}

.orange {
  color: #ec7e12;
}

.footDescri {
  background: #f4f4f4;
  padding: 20px;
}

.bumonCont,
.productCont {
  position: relative;
  margin-bottom: 40px;
}

.bumonCont .rankHead,
.bumonCont
  .rankHead.bumonCont
  .rankHead.bumonCont
  .rankHead.bumonCont
  .rankHead
  .productCont
  .rankHead {
  padding-bottom: 30px;
  background: url(../images/product_list_bg.png) repeat-y top center;
}

.bumonCont .rankHead:after,
.productCont .rankHead:after {
  content: "";
  display: block;
  clear: both;
}

.bumonCont .rankHead .pic,
.productCont .rankHead .pic {
  top: 0;
  bottom: 0;
  width: 160px;
  height: 220px;
  margin: auto;
  text-align: center;
  display: flex;
  align-items: center;
}

.bumonCont .rankHead .bumonTbl,
.productCont .rankHead .bumonTbl {
  margin-bottom: 3%;
}

.bumonCont .rankHead .bumonTbl li,
.productCont .rankHead .bumonTbl li {
  border-bottom: 1px dashed #eb6877;
  margin-bottom: 10px;
}

.bumonCont .rankHead .bumonTbl dl dt,
.bumonCont .rankHead .bumonTbl dl dd,
.productCont .rankHead .bumonTbl dl dt,
.productCont .rankHead .bumonTbl dl dd {
  display: inline-block;
}

.bumonCont .rankHead .bumonTbl dl dt,
.productCont .rankHead .bumonTbl dl dt {
  font-size: 1.4rem;
  width: 30%;
}

.bumonCont .rankHead .bumonTbl dl dd,
.productCont .rankHead .bumonTbl dl dd {
  font-size: 1.2rem;
}

.bumonCont .rankHead .btn_official,
.bumonCont .rankHead .btn_detail,
.productCont .rankHead .btn_official,
.productCont .rankHead .btn_detail {
  width: 46%;
  color: #fff;
  font-weight: bold;
  font-size: 2rem;
  margin: 0 1% 0 1%;
}

.bumonCont .rankBtn,
.productCont .rankBtn {
  padding-bottom: 0;
}

.productCont .rankHead {
  background: #fff;
}

.bumonCont {
  background: #fff;
}

.bumonCont .rankHead {
  border: 0;
}

.bumonCont:after {
  content: "";
  position: absolute;
  top: -3%;
  left: -1%;
  display: block;
  width: 120px;
  height: 96px;
  background: url(../images/medal_rank01.png) no-repeat center/contain;
}

.bumonCont:nth-of-type(2):after {
  background-image: url(../images/medal_rank02.png);
}

.bumonCont:nth-of-type(3):after {
  background-image: url(../images/medal_rank03.png);
}

.bumonCont:nth-of-type(4):after {
  background-image: url(../images/medal4_lg.png);
}

.bumonCont:nth-of-type(5):after {
  background-image: url(../images/medal5_lg.png);
}

.rankTbl {
  padding: 0 20px;
}

.rankTbl table {
  background: #fff;
  border-top: 1px solid #b9b9b9;
  border-left: 1px solid #b9b9b9;
  width: 100%;
  margin-bottom: 30px;
  font-size: 1.8rem;
}

.rankTbl th {
  padding: 10px;
  text-align: left;
  border-bottom: 1px solid #b9b9b9;
  border-right: 1px solid #b9b9b9;
  background: #fffae0;
  width: 123px;
  color: #4c4900;
  font-weight: bold;
}

.rankTbl td {
  padding: 10px;
  text-align: left;
  border-bottom: 1px solid #b9b9b9;
  border-right: 1px solid #b9b9b9;
}

.productDetail .productOverview {
  padding: 40px 0;
}

@media (max-width: 767px) {
  .productDetail .productOverview {
    padding: 4%;
  }
}

/* ===================================================================

productList style

=================================================================== */
.productList .rankHead {
  border: 1px solid #e6f8bf;
}

.productList .eachProduct {
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid #ccc;
  margin-bottom: 20px;
}

.productList .eachProduct:after {
  content: "";
  display: block;
  clear: both;
}

.productList .eachProduct h3 {
  padding: 10px 5px 10px;
  border-top: 2px solid #eb6877;
  border-left: 1px solid rgba(65, 155, 232, 0.75);
  border-right: 1px solid rgba(65, 155, 232, 0.75);
  color: #ff95b5;
  font-size: 2rem;
}

.productList .eachProduct .fl {
  width: 200px;
  text-align: center;
}

.productList .eachProduct .fl a {
  display: inline-block;
}

.productList .eachProduct .fl img {
  max-width: 100%;
  margin: 10px 0;
}

.productList .eachProduct .fr {
  width: 530px;
}

.productList .eachProduct .btns {
  clear: both;
}

.productList .eachProduct .btns:after {
  content: "";
  display: block;
  clear: both;
}

.productList .eachProduct .btns li {
  width: 49%;
  display: inline-block;
  text-align: center;
}

.productTbl {
  padding: 0px;
}

.productTbl table {
  background: #fff;
  border-top: 1px solid #b9b9b9;
  border-left: 1px solid #b9b9b9;
  width: 100%;
  margin-bottom: 30px;
  font-size: 1.4rem;
}

.productTbl table tr th {
  padding: 10px;
  text-align: left;
  border-bottom: 1px solid #b9b9b9;
  border-right: 1px solid #b9b9b9;
  background: #fffae0;
  width: 100px;
  color: #341111;
  font-weight: bold;
}

.productTbl table tr td {
  padding: 10px;
  text-align: left;
  border-bottom: 1px solid #b9b9b9;
  border-right: 1px solid #b9b9b9;
}

/* ===================================================================

breadCrumb style

=================================================================== */
.breadCrumb {
  margin-bottom: 15px;
}

.breadCrumb ul {
  padding: 0 0 4px;
  position: relative;
  border-bottom: 5px dotted #fff;
}

.breadCrumb ul li {
  color: #2c2c2c;
  font-size: 1.6rem;
  display: inline-block;
  margin-right: 5px;
  position: relative;
}

.breadCrumb ul li a {
  color: #2c2c2c;
  text-decoration: none;
  position: relative;
  padding-right: 15px;
}

.breadCrumb ul li a:after {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
  right: 0;
  width: 8px;
  height: 8px;
  border-top: 2px solid #eb6877;
  border-right: 2px solid #eb6877;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

/* ===================================================================

article style

=================================================================== */
#articleCont {
  border: 1px solid #ffda09;
  padding: 0 0 20px;
  background: #fff;
}

#articleCont .img img {
  max-width: 100%;
}

#articleCont h2 {
  margin: 0 auto 3% auto;
  box-sizing: border-box;
  padding: 2% 2% 2% 2%;
  max-width: 96%;
  background: url(../images/line01.png) repeat-x bottom center / auto 5px;
  text-align: left;
  color: #6a3906;
  font-size: 2.4rem;
  font-weight: bold;
}

#articleCont h3 {
  color: #eb6877;
  font-weight: bold;
  font-size: 2rem;
  margin: 0 4% 4%;
}

#articleCont h3:before {
  content: "●";
  color: #ffd800;
  margin-right: 10px;
}

#articleCont h4 {
  margin: 0 4% 4%;
  padding: 2% 0 0 0;
  font-size: 1.8rem;
  border-top: 0;
  color: #6a3906;
  border-bottom: 1px dashed #6a3906;
  font-weight: bold;
}

#articleCont h5 {
  display: inline-block;
  padding: 2% 10% 2% 0;
  margin: 0 4% 20px;
  font-weight: bold;
  font-size: 1.8rem;
  border-bottom: 1px dotted #eb6877;
}

#articleCont ul {
  font-size: 1.6rem;
  margin-left: 4%;
}

#articleCont ul li:before {
  content: "・";
}

#articleCont p {
  padding: 0 4%;
  margin-bottom: 20px;
}

@media (max-width: 767px) {
  #articleCont h2 {
    padding: 4% 0;
  }
  #articleCont h3 {
    padding: 4% 0;
  }
  #articleCont h4 {
    padding: 4% 10% 4% 0;
  }
}

/* ===================================================================

article_single style

=================================================================== */
#articlelistAll ul {
  display: -webkit-flex;
  /* Safari */
  display: flex;
  flex-flow: row wrap;
  margin: 10px 0;
}

#articlelistAll li {
  width: calc(32.5% - 2px);
  margin-bottom: 25px;
  border: 1px solid rgba(81, 185, 189, 0.3);
  background: #fff;
}

#articlelistAll li + li {
  margin-left: 1%;
}

#articlelistAll li:nth-child(3n) + li {
  margin-left: 0;
}

#articlelistAll li a {
  display: block;
  max-height: 100px;
  margin: 0 auto;
  overflow: hidden;
}

#articlelistAll li a img {
  max-width: 100%;
}

#articlelistAll li h5 {
  border-bottom: 2px solid #eb6877;
  margin: 0 10px;
  padding: 5px 0 3px;
  font-size: 1.8rem;
}

#articlelistAll li h5 > a {
  color: #ff95b5;
  text-decoration: none;
}

#articlelistAll li > p {
  min-height: 140px;
  padding: 5px 10px;
  line-height: 1.6;
}

/* ===================================================================

popup style

=================================================================== */
.popup {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  width: 800px;
  background: #efefef;
  max-height: 100%;
  overflow: hidden;
  overflow-y: scroll;
  z-index: 101;
  font-size: 1.2rem;
  border-radius: 6px;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
}

.popup_inner {
  padding: 20px;
}

#overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0.7;
  z-index: 100;
}

/* ポップアップするブロック内のレイアウト用css */
.popup h4 {
  display: block;
  background: #ff95b5;
  text-align: center;
  color: white;
  font-size: 20px;
  padding: 7px 0;
  margin-bottom: 20px;
  border-radius: 6px;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
}

.popup h4:after {
  content: none;
}

.popup_inner > div:nth-of-type(2) {
  text-align: center;
}

.popup_inner dl {
  border-bottom: 1px solid #ccc;
  overflow: auto;
}

.popup_inner dl .box {
  overflow: auto;
}

.popup_inner dl dt {
  clear: both;
  width: 130px;
  padding: 15px 10px 15px 30px;
  border-top: 1px solid #ccc;
  font-weight: bold;
  float: left;
}

.popup_inner dl dd {
  width: 520px;
  padding: 15px 0 15px 30px;
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
  float: left;
}

.close {
  display: inline-block;
  margin-top: 10px;
  padding: 2px 5px;
  border: 2px solid #fff;
  background: #ff95b5;
  text-align: center;
  color: #fff;
  font-weight: bold;
}

.close a {
  color: #fff;
}

/* ===================================================================

sp style

=================================================================== */
@media (max-width: 767px) {
  img {
    max-width: 100%;
    height: auto;
    vertical-align: top;
  }
  /* header */
  .spNav {
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 100;
    display: block;
  }
  .nav_toggle {
    position: absolute;
    display: inline-block;
    top: 0;
    right: 15px;
    width: 30px;
    height: 50px;
    z-index: 999;
  }
  .nav_toggle span {
    position: absolute;
    top: 25px;
    display: block;
    width: 100%;
    height: 2px;
    background: #eb6877;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -moz-transition: all 0.3s;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .nav_toggle span:before {
    content: "";
    position: absolute;
    width: 30px;
    height: 2px;
    background: #eb6877;
    top: -9px;
    right: 0;
    -moz-transition: all 0.3s;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .nav_toggle span:after {
    content: "";
    position: absolute;
    width: 30px;
    height: 2px;
    background: #eb6877;
    bottom: -9px;
    right: 0;
    -moz-transition: all 0.3s;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .nav_toggle span.active {
    background: transparent;
  }
  .nav_toggle span.active:before {
    -moz-transform: rotate(-135deg);
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
    top: 0;
    right: 0;
  }
  .nav_toggle span.active:after {
    -moz-transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    bottom: 0;
    right: 0;
  }
  .gNav {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 400px;
    padding-top: 50px;
    overflow-x: hidden;
    overflow-y: scroll;
    padding-bottom: 15px;
    background: rgba(54, 46, 63, 0.9);
  }
  .gNav nav {
    font-size: 1.4rem;
    display: block;
    width: 100%;
    margin: 0 auto;
    text-align: left;
  }
  .gNav ul {
    padding: 0 2% 2%;
  }
  .gNav ul li a:link {
    font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
    text-decoration: none;
    display: block;
    width: 100%;
    color: #fff;
    padding: 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
    font-size: 100%;
  }
  .gNav ul li a:visited {
    color: #fff;
  }
  .gNav li.dropdown > span {
    display: block;
    width: 100%;
    color: #fff;
    padding: 15px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
    font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ",
      Meiryo, "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,
      "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 100%;
  }
  .gNav li + li {
    border-top: 1px solid #999;
  }
  .gNav .dsp {
    display: none;
  }
  .spnav_toggle + ul {
    display: none;
    position: static;
    top: auto;
    left: auto;
    background: transparent;
  }
  .spnav_toggle + ul li:first-of-type {
    border-top: 1px solid #b5b5b5;
  }
  .spnav_toggle:after {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    position: absolute;
    top: 12px;
    right: 10px;
    background: transparent;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(-45deg);
    transition: all 0.3s;
  }
  .spnav_toggle.active:after {
    transform: rotate(45deg);
    transition: all 0.3s;
    z-index: 999;
  }
  .header_logo {
    float: left;
  }

  @media screen and (max-width: 768px) {
    .header {
      background-image: url(../images/mv_sp.png);
      background-size: 100% auto;
      background-repeat: no-repeat;
      height: 70vh;
    }
  }

  /* footer */
  .footer .footCont {
    display: none;
  }
  .footer .fNav {
    margin-bottom: 0;
  }
  .footer .fNav ul {
    padding: 0;
    border-bottom: 1px solid #b5b5b5;
  }
  .footer .fNav ul li {
    width: 100%;
    padding: 10px 0;
    background-image: linear-gradient(#fff, #eeeeee);
    border-top: 1px solid #b5b5b5;
  }
  .footer .fNav ul li a {
    color: #303030;
    border-bottom: 0;
  }
  .footer .fNav ul li a:visited {
    color: #303030;
  }
  section.about {
    padding: 4%;
  }
  section.about h4 {
    font-weight: bold;
    text-align: center;
    color: #6a3906;
    font-size: 1.8rem;
  }
  section.about p {
    font-size: 1.3rem;
  }
  .pagetop {
    display: none;
  }
  /* contents */
  .footDescri {
    padding: 0;
  }
  .rankHead .pic {
    width: 100px;
    height: auto;
    left: 0;
  }
  .rankHead .pic img {
    max-width: 100%;
    max-height: auto;
  }
  .rankHead .companyName,
  .rankHead h3,
  .rankHead .bumonTbl,
  .rankHead .btn_official {
    margin: 0 0 0 100px;
  }
  .rankHead h3 {
    min-height: 60px;
  }
  .rankHead .btn_official img {
    max-width: 75%;
  }
  .rankCont .point ul li {
    padding: 0;
    margin-bottom: 0;
  }
  .rankCont .point ul li + li {
    margin-top: 60px;
  }
  .rankCont .point ul li h5 {
    padding-left: 90px;
    margin-bottom: 30px;
    font-size: 1.9rem;
  }
  .rankCont .point ul li h5 .big {
    display: block;
  }
  .rankCont .point ul li:before,
  .rankCont .point ul li:after {
    top: -20px;
    left: -15px;
  }
  .rankBtn ul {
    margin: 0 10px;
  }
  .rankBtn ul li a {
    position: relative;
    height: 50px;
    padding: 20px 10px;
    border-radius: 50px;
  }
  .rankBtn ul li a:before {
    top: -5px;
    height: 50px;
  }
  .rankBtn ul li a img {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    max-height: 26px;
    max-width: none;
  }
  .productCont .rankHead .btn_detail,
  .productCont .rankHead .btn_official {
    width: 70%;
    padding: 2% 0;
    margin: 0 auto;
  }
  .productCont .rankHead .btn_detail + a,
  .productCont .rankHead .btn_official + a {
    margin: 10px auto 0;
  }
  .productCont .rankHead .pic {
    width: 100px;
    top: 30px;
    left: 10px;
    height: auto;
  }
  .bumonCont:after {
    width: 100px;
    height: 80px;
    top: 1%;
    left: 1%;
    background: #fff url(../images/medal_rank01.png) no-repeat center/contain;
  }
  .bumonCont .rankHead .pic {
    width: 100px;
    top: 100px;
    left: 10px;
    height: auto;
  }
  .breadCrumb {
    display: none;
  }
  .breadCrumb ul li a:after {
    right: 0;
  }
  .rankHead .btns {
    margin: 0 0 20px 0;
    padding-top: 20px;
  }
  .rankHead .btns a {
    display: block;
  }
  .bumonCont .rankHead .btns a + a {
    margin-top: 10px;
  }
  .bumonCont .rankHead .btns a {
    width: auto;
    padding: 12px 0;
  }
  .rankHead .txts {
    margin: 0 0 0 100px;
    min-height: 54px;
  }
  .rankHead h3 {
    font-size: 2rem;
  }
  .intro .introBox {
    padding: 2%;
  }
  .intro .introBox p {
    padding: 0 2% 4%;
  }
  .intro ul {
    margin: 0 0 4%;
  }
  .intro ul li:before {
    background-size: 60% auto;
  }
  .point ul {
    margin: 0;
  }
  .point ul li + li {
    margin-top: 0;
  }
  .point h5 {
    font-size: 1.8rem;
  }
  .btns ul li {
    display: block;
    width: 100%;
  }
  .topBnr {
    padding: 40px 0 20px 0;
  }
  .sideCont.article ul li a .pic img {
    max-width: 200px;
  }
  .bumonDescription h3 {
    font-size: 2.2rem;
  }
  .bumonDescription p {
    padding: 2% 4%;
  }
  #articlelistAll ul {
    display: inline-block;
  }
  #articlelistAll li {
    position: relative;
    width: auto;
    margin-bottom: 10px;
    margin-right: 2%;
    padding-left: 0;
    margin-left: 2%;
  }
  #articlelistAll li + li {
    margin-left: 2%;
  }
  #articlelistAll li:nth-child(3n) + li {
    margin-left: 2%;
  }
  #articlelistAll li > a {
    display: inline-block;
    overflow: hidden;
  }
  #articlelistAll li > a > img {
    width: 100%;
    height: auto;
    float: left;
  }
  #articlelistAll li > h5 {
    padding-top: 0;
  }
  #articlelistAll li > p {
    min-height: auto;
    line-height: 1.4;
  }
  .itemTbl .btns img {
    max-width: 80px;
  }
  .itemTbl .wcir:after,
  .itemTbl .cir:after,
  .itemTbl .tri:after,
  .itemTbl .peke:after {
    padding: 0;
  }
  .itemTbl .wcir:after {
    left: 5px;
  }
  .productList {
    padding: 0 2%;
  }
  .productList .eachProduct {
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid #ccc;
    min-height: 1px;
  }
  .productList .eachProduct:after {
    content: " ";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
  }
  .productList .eachProduct h3 {
    font-size: 1.6rem;
    padding: 10px;
  }
  .productList .eachProduct .fl {
    width: 25%;
    text-align: center;
  }
  .productList .eachProduct .fl img {
    margin-bottom: 10px;
  }
  .productList .eachProduct .fr {
    width: 70%;
  }
  .productList .eachProduct .btns {
    clear: both;
    min-height: 1px;
  }
  .productList .eachProduct .btns:after {
    content: " ";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
  }
  .productList .eachProduct .btns li {
    width: 49%;
    display: inline-block;
    text-align: center;
  }
  .productList .eachProduct .btns .fl img {
    margin: 0 0 10px;
  }
  .productList .eachProduct .btn {
    text-align: center;
  }
  .productList .eachProduct .btn a {
    display: inline-block;
    height: 50px;
  }
  .productList .eachProduct .btn a img {
    max-width: none;
    width: auto;
    max-height: 100%;
    height: auto;
  }
  .productTbl {
    padding: 0;
  }
  .productTbl table {
    background: #fff;
    width: 100%;
    margin-bottom: 20px;
    font-size: 1.2rem;
  }
  .productTbl table tr th {
    padding: 5px;
    text-align: left;
    width: 100px;
  }
  .productTbl table tr td {
    padding: 5px;
    text-align: left;
  }
  /* popup */
  .popup {
    width: 96%;
    margin: 0 2%;
  }
  .popup_inner {
    padding: 3%;
  }
  .popup_inner dl dt {
    width: 34%;
    padding: 3%;
  }
  .popup_inner dl dd {
    width: 54%;
    padding: 3%;
    border-left: 0;
  }
  .bumonCont .rankHead .pic .productCont .rankHead .pic {
    display: block;
    height: 80px;
    margin: 0 auto;
  }
  .bumonCont .rankHead .pic,
  .productCont .rankHead .pic {
    display: block;
    height: 100px;
    margin: 0 auto;
  }
  .hidden-sp {
    display: none;
  }
  .hidden-pc {
    display: block;
  }
  .section {
    text-align: center;
    position: relative;
  }
  .section.active h2:after {
    width: 32px;
    margin: 0 auto 0 -16px;
  }
  .section h2 {
    text-align: center;
    padding: 10px 30px 20px 30px;
    margin-bottom: 60px;
    color: #0ed2d9;
    position: relative;
  }
  .section h2.white {
    color: #fff;
  }
  .section h2.white:after {
    background: #fff;
  }
  .section h2:after {
    content: "";
    display: inline-block;
    margin: 0 auto 0 0;
    height: 1px;
    width: 1px;
    background: #6a3906;
    position: absolute;
    bottom: 0;
    -webkit-transition: 1s ease-in-out 0.3s;
  }
  .section h2 span.title {
    display: block;
    font-size: 2.4rem;
    line-height: 1;
    padding-top: 10px;
    font-family: "svk";
    letter-spacing: 1rem;
    box-sizing: border-box;
  }
  .section p {
    font-size: 1.4rem;
    letter-spacing: 2;
  }
}

.searchBtn input {
  display: block;
  -webkit-appearance: none;
  appearance: none;
  border: none;
  width: 328px;
  height: 90px;
  background: url(../images/search_btn@2x.png) no-repeat center/contain;
  text-indent: -9999px;
  margin: 0 auto;
  transition: all 0.3s;
  outline: 0;
  cursor: pointer;
}

.search_inr form {
  display: flex;
  flex-wrap: wrap;
  text-align: left;
}

.search_inr form > p:nth-of-type(2n - 1) {
  width: 20%;
  font-weight: bold;
  padding: 10px;
  box-sizing: border-box;
}

.search_inr form > p:nth-of-type(2n) {
  width: 80%;
  padding: 10px;
  box-sizing: border-box;
}

.search-result .flex {
  display: flex;
}

.search-result-header dt {
  background: #ddd;
  font-size: 1.4rem;
  padding: 10px;
  text-align: center;
}

.search-result-header dt:nth-of-type(1) {
  width: 40%;
}
.search-result-header dt:nth-of-type(2) {
  width: 60%;
}
.search-result-each dd:nth-of-type(1) {
  width: 40%;
}
.search-result-each dd:nth-of-type(2) {
  width: 60%;
}

.search-result-each {
  margin: 10px 0;
}

.search-result-each__left a {
  text-align: center;
  display: block;
  padding: 10px;
}

.search-result-each__left h3 {
  font-size: 1.4rem;
  margin-bottom: 10px;
}

.search-result-each__right .productTbl {
  height: 100%;
}

.search-result-each__right .productTbl table {
  font-size: 12px;
  height: 100%;
}

.search-result-each__right .productTbl table tr th {
  width: auto;
  max-width: 100px;
}
.search-result-each__right .productTbl table tr td {
  max-width: 200px;
}

.search-result-wrapper {
  margin-bottom: 40px;
}

@media screen and (max-width: 768px) {
  .search-result-header dt:nth-of-type(1) {
    width: 30%;
  }
  .search-result-header dt:nth-of-type(2) {
    width: 70%;
  }
  .search-result-each dd:nth-of-type(1) {
    width: 30%;
  }
  .search-result-each dd:nth-of-type(2) {
    width: 70%;
  }
  .search-result-each__right .productTbl table tr th {
    width: auto;
    min-width: 50px;
  }
  .search-result-each__right .productTbl table tr td {
    max-width: calc(100% - 100px);
  }
  .search-result-each__right .productTbl {
    padding-right: 10px;
  }
}
