@charset "UTF-8";

/*------------------------------------------------------------
Layout
------------------------------------------------------------*/
body {
  line-height: 1.5;
  min-width: 1120px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  body {
    min-width: 100%;
  }

  .new_tag {
    float: none;
    font-size: 11px;
    margin: 6px 0 0 0;
  }

  
}

h3 {
  font-size: 140%;
  text-align: left;
}

h3 span {
  bottom: 3px;
  color: #b6b6b6;
  font-size: 60%;
  left: 15px;
  letter-spacing: 2px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .sec03 h3 {
    margin: 10px auto 5px;
    padding: 0;
    width: 97%;
  }
}

#sp {
  display: none;
}

@media screen and (max-width: 767px) {
  #pc, #top {
    display: none;
  }

  #sp {
    display: block;
  }
}

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

a {
  text-decoration: none;
}

@media screen and (max-width: 767px) {
  .sidebar {
    margin: 0 auto;
    width: 99%;
  }
}


/*------------------------------------------------------------
Buttons
------------------------------------------------------------*/
.c-toTop {
  background-image: url(../img/common/to_top.png);
  background-size: contain;
  border-radius: 30px;
  bottom: 75px;
  box-shadow: 1px 1px 5px #909090;
  display: none;
  height: 59px;
  position: fixed;
  right: 15px;
  width: 59px;
  z-index: 90;
}

@media screen and (max-width: 767px) {
  .c-toTop {
    background-size: cover;
    bottom: 45px;
    height: 59px;
    right: 10px;
    width: 59px;
  }
}


/*------------------------------------------------------------
いいね関連
------------------------------------------------------------*/
#post_like {
  text-align: center;
}
.post_like_heart {
  display: inline-block;
  position: absolute;
  right: 5px;
}
.post_like_heart span {
  color: #3dbeb5;
  margin: 0 5px 0 0;
}
.post_like_heart span:before {
  background-image: url(../img/common/good.png);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: inline-block;
  height: 18px;
  vertical-align: -4px;
  width: 18px;
}
.post_like_text {
  font-size: 18px;
  margin: 50px 0 0;
  text-align: center;
}
#post_like_button {
  background: #fff;
  border: solid 1px #a7a7a7;
  border-radius: 10px;
  box-shadow: 0 3px 0 0 #a7a7a7;
  color: #656565;
  display: inline-block;
  font-size: 18px;
  font-weight: bold;
  margin: 10px auto 30px;
  padding: 15px 100px;
  text-align: center;
  text-decoration: none;
  width: auto;
}

#post_like_button span:before {
  background-image: url(../img/common/good_button.png);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: inline-block;
  height: 24px;
  vertical-align: -5px;
  width: 24px;
}

#post_like_button:hover {
  box-shadow: none;
  opacity: 1;
  transform: translate3d(0, 3px, 0);
}

.post_like_button_pushed {
  background-color: #a7a7a7!important;
  box-shadow: none!important;
  pointer-events: none;
  transform: translate3d(0, 3px, 0);
}

.good_icon {
  color: #a7a7a7;
  display: inline-block;
  font-size: 12px;
  margin: 5px 10px 0 0;
  text-align: left;
  float: left;
}

.good_icon:before {
  background-image: url(../img/common/good.png);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: inline-block;
  height: 12px;
  margin: 0 0 0 3px;
  vertical-align: -2px;
  width: 12px;
}

.pickup_textarea_main .good_icon {
  display: block;
  font-size: 12px;
  margin: 0 5px 0 0;
}

.pickup_textarea_main .pr-label a {
  display: block;
  font-size: 12px;
  margin: 0;
}

.carousel_textarea .good_icon {
  color: #fff;
  font-size: 12px;
  margin: 3px 10px 0 0;
}

.carousel_textarea .pr-label a {
  color: #fff;
  font-size: 12px;
  margin: 3px 10px 0 0;
}

.sidebar .good_icon {
  font-size: 11px;
}

.pr-img-main img{
  width: 100%;
}

.pr-img-sub img{
  width: 100%;
}

@media screen and (max-width: 767px) {
  .post_like_heart {
    right: 2.5%;
  }
  #post_like_button {
    padding: 15px 70px;
  }
  .good_icon {
    display: block;
    font-size: 12px;
    margin: 2px 5px 0 0;
	float: left;
  }
}

/*------------------------------------------------------------
Contentc
------------------------------------------------------------*/
.c-sec01 {
  margin-top: 50px;
}

.c-sec--ttl {
  font-size: 32px;
}

.c-sec--ttl .news {
  width: 60px;
}

.c-sec--ttl span {
  display: inline-block;
  margin-left: -2px;
  vertical-align: middle;
}

.c-sec--ttl img {
  vertical-align: middle;
}

.c-sec--ttl .pick-up {
  width: 40px;
}

@media screen and (max-width: 767px) {
  .c-sec01 {
    margin-top: 30px;
  }

  .c-sec--ttl {
    font-size: 24px;
  }

  .c-sec--ttl > img {
    height: auto;
    margin-right: 10px;
  }

  .c-sec--ttl .pick-up {
    width: 32px;
  }

  .c-sec--ttl .news {
    width: 54px;
  }
}

.c-date {
  color: #868686;
  font-size: 11px;
  font-weight: bold;
  margin-top: 5px;
  text-align: left;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .c-date {
    font-size: 12px;
    margin-top: 0;
  }
}

.c-ttl {
  color: #525252;
  display: inline-block;
  font-size: 12px;
  font-weight: bold;
  overflow: hidden;
  text-align: justify;
  word-break: break-word;
}

@media screen and (max-width: 767px) {
  .c-ttl {
    height: auto;
  }
}

.c-hashtag {
  margin-top: 87px;
}

.c-hashtag.only_sp {
  display: none !important;
}

@media screen and (max-width: 767px) {
  .c-hashtag {
    margin-top: 38px;
    padding: 0 15px;
  }

  .c-hashtag.only_pc {
    display: none !important;
  }

  .c-hashtag.only_sp {
    display: inline-block !important;
  }
}

.c-hashtag__ttl {
  font-size: 34px;
}

.c-hashtag--list {
  -webkit-box-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: center;
  margin: 30px auto 0;
  max-width: 530px;
}

.c-hashtag--list li {
  margin-bottom: 10px;
}

.c-hashtag--list li:not(:nth-child(5n + 1)) {
  margin-left: 12px;
}

@media screen and (max-width: 767px) {
  .c-hashtag--list {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: center;
    margin: 20px auto 0;
  }

  .c-hashtag--list li {
    margin-bottom: 0;
    margin-top: 15px;
    width: 48%;
  }

  .c-hashtag--list li:nth-child(odd) {
    padding-right: 12px;
  }

  .c-hashtag--list li:nth-child(odd) a {
    margin-left: auto;
  }

  .c-hashtag--list li:nth-child(even) {
    padding-left: 12px;
  }

  .c-hashtag--list li:not(:nth-child(5n + 1)) {
    margin-left: 0;
  }

  .c-hashtag--list a {
    border-width: 2px;
    height: auto;
    padding: 4px 0;
  }
}

.c-content {
  margin: 15px auto 0;
  max-width: 1100px;
}

.c-content > .col-6 {
  margin: 0;
  text-align: center;
}

.c-content > .col-6.left {
  width: 760px;
}

.c-content > .col-6.right {
  float: right;
  width: 300px;
}

@media screen and (max-width: 767px) {
  .c-content {
    margin-top: 40px;
    
  }


  .c-content > .col-6.left, .c-content > .col-6.right {
    width: 100%;
  }
}

/*------------------------------------------------------------
sns
------------------------------------------------------------*/
.sns_area {
  margin-bottom: 20px;
}

.sns_area a img {
  display: inline-block;
  margin: 0 10px 0 0;
  width: 130px;
}

.sns_area_home {
  display: inline-block;
  margin: 30px 0 20px;
}

.sns_area_home h3 {
  border-bottom: solid #bfbfbf;
  color: #000;
  font-size: 16px;
  line-height: 1;
  margin: 20px 0 10px;
  padding: 0 0 5px;
  position: relative;
}

.sns_area_home h3:before {
  background-image: url(../img/common/icon_sns.png);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: inline-block;
  height: 25px;
  vertical-align: middle;
  width: 25px;
}

.sns_area_home img {
  margin: 10px 8px;
  width: 230px;
}

.single-bottom-sns {
  border-bottom: solid 1px #a7a7a7;
  margin: 10px auto 0 auto;
  text-align: left;
  width: 720px;
}
@media (max-width: 767px) {
  .single-bottom-sns {
    border-bottom: solid 1px #a7a7a7;
    margin: 20px auto 0;
    width: 97%;
  }

  .sns_area_home h3:before {
    height: 18px;
    width: 18px;
  }

  .sns_area a img {
    margin: 5px auto 0;
    width: 32%;
  }
  .sns_area_home {
    margin: 0 auto;
    width: 97%;
  }
  .sns_area_home a img {
    margin: 5px auto 0;
    width: 31%;
  }
}

/*------------------------------------------------------------
タブ
------------------------------------------------------------*/

.cp_tab *, .cp_tab *:before, .cp_tab *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.cp_tab {
  background: #fff;
  border: solid 4px #e5e5e5;
  margin: 20px auto 30px;
  padding: 4px;
}

.cp_tab > input[type="radio"] {
  -webkit-appearance: none;
  appearance: none;
  background: none;
  border: none;
  border-radius: 0;
  display: none;
  margin: 0;
  outline: none;
  padding: 0;
}

.cp_tab .cp_tabpanel {
  display: none;
}

.cp_tab > input:first-child:checked ~ .cp_tabpanels > .cp_tabpanel:first-child, .cp_tab > input:nth-child(3):checked ~ .cp_tabpanels > .cp_tabpanel:nth-child(2), .cp_tab > input:nth-child(5):checked ~ .cp_tabpanels > .cp_tabpanel:nth-child(3) {
  background: #fff;
  display: block;
}

.cp_tab > label {
  border-bottom: 4px solid #fff;
  color: #696969;
  cursor: pointer;
  display: inline-block;
  font-size: 18px;
  font-weight: bold;
  padding: 20px 15px;
  position: relative;
  text-align: center;
  transition: 0.5s;
  width: 50%;
}

.cp_tab > label:hover, .cp_tab > input:focus + label {
  color: #b9b9b9;
}

.cp_tab > input:checked + label {
  border-bottom: solid 4px;
  color: #3dbeb5;
  transition: 0.5s;
}

.cp_tab .cp_tabpanel {
  padding: 0.5em 1em;
}

@media (max-width: 767px) {
  .cp_tab {
    margin: 20px auto;
    width: 97%;
  }

  .cp_tab label {
    font-size: 16px;
    padding: 14px;
  }

  .cp_tab .cp_tabpanel {
    padding: 10px 0.2em 5px;
  }
}

/*------------------------------------------------------------
流行の記事
------------------------------------------------------------*/
.trend_area {
  padding: 20px 0;
  text-align: left;
}

.trend_title_h2 {
  border-bottom: solid #bfbfbf;
  color: #000;
  font-size: 16px;
  line-height: 1;
  margin: 0 0 10px;
  padding-bottom: 3px;
  position: relative;
}

.trend_title_h2:before {
  background-image: url(../img/common/icon_trend.png);
  background-size: contain;
  content: "";
  display: inline-block;
  height: 25px;
  margin: 0 5px 0 0;
  vertical-align: middle;
  width: 25px;
}

.trend_field1 {
  border-bottom: solid 1px #e5e5e5;
  display: flex;
  margin: 15px 0;
  padding: 0 0 15px;
  text-align: left;
  width: 720px;
}

.trend_field1:last-child {
  border-bottom: 0;
  padding: 0;
}

.trend_field1 .trend_tag {
  margin: 3px 0 0 0;
}

.trend_field2 {
  margin: 0 0 0 10px;
  width: 460px;
}

.trend_img {
  float: left;
  height: 170px;
  overflow: hidden;
  position: relative;
  width: 255px;
}

.trend_img img {
  height: 100%;
  object-fit: cover;
  position: relative;
  width: 100%;
}

.trend_img img:hover {
  -khtml-opacity: 0.7;
  opacity: 0.7;
  -webkit-transition: opacity 0.2s ease-out;
  transition: opacity 0.2s ease-out;
}

.trend_title {
  color: #000;
  display: block;
  font-size: 20px;
  word-break: break-all;
}

.trend_tag,.pr-tag,.pr-label {
  font-size: 12px;
}

.trend_tag a {
  color: #a7a7a7;
  display: inline-block;
  margin: 0 5px 3px 0;
  text-decoration-color: #3dbeb5;
}

.pr-tag a {
  color: #a7a7a7;
  display: inline-block;
  margin: 5px 5px 0 0;
  text-decoration-color: #3dbeb5;
  float: left;
}

.trend_tag a:hover {
  text-decoration: underline;
  text-decoration-color: #3dbeb5;
}

.pr-tag a:hover {
  text-decoration: underline;
  text-decoration-color: #3dbeb5;
}

.trend_tag a:before {
  color: #3dbeb5;
  content: "#";
}

.pr-tag a:before {
  color: #3dbeb5;
  content: "#";
}

.trend_time {
  color: #a7a7a7;
  float: left;
  font-size: 12px;
  margin: 5px 10px 0 0;
}

@media screen and (max-width: 767px) {
  .trend_area {
    margin: 0 auto;
    padding: 0;
    width: 100%;
  }

  .trend_img {
    height: 82.5px;
    margin: 0;
    min-height: 82.5px;
    min-width: 125px;
    padding: 0;
    position: relative;
    width: 125px;
  }

  .trend_img img {
    height: 82.5px;
    object-fit: cover;
    width: 125px;
  }

  .trend_title {
    font-size: 12px;
  }

  .trend_field1 .trend_tag {
    margin: 2px 0 0;
  }

  .trend_tag {
    font-size: 12px;
    margin: 0;
  }

  .trend_field1 {
    margin: 0 auto 10px;
    padding: 0 0 10px;
    width: 97%;
  }

  .trend_time {
    display: block;
    margin: 2px 5px 0 0;
  }
}

.pr-label a {
  color: #a7a7a7;
  display: inline-block;
  margin: 5px 0 0 0;
  text-decoration: none;
  float: left;
}

.pr-label a:before {
  color: #3dbeb5;
  content: "#";
}

/*------------------------------------------------------------
サイドバー 流行の記事
------------------------------------------------------------*/
.sidebar .trend_area {
  padding: 20px 0;
  text-align: left;
}

.sidebar .trend_title_h2 {
  border-bottom: solid #bfbfbf;
  color: #000;
  font-size: 16px;
  line-height: 1;
  margin: 20px 0 10px;
  padding-bottom: 3px;
  position: relative;
  text-align: left;
}

.sidebar .trend_title_h2:before {
  background-image: url(../img/common/icon_trend.png);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: inline-block;
  height: 25px;
  margin: 0 5px 0 0;
  vertical-align: middle;
  width: 25px;
}

.sidebar .trend_field1 {
  border-bottom: solid 1px #a7a7a7;
  display: flex;
  margin: 10px 0;
  padding: 0 0 10px;
  text-align: left;
  width: 300px;
}

.sidebar .trend_field1:last-child {
  border-bottom: 0;
  padding: 0;
}

.sidebar .trend_field1 .sidebar .trend_tag {
  margin: 5px 0 0 0;
}

.sidebar .trend_field2 {
  margin: 0 0 0 5px;
  width: 180px;
}

.sidebar .trend_img {
  float: left;
  height: 115px;
  overflow: hidden;
  position: relative;
  width: 115px;
}

.sidebar .trend_img img {
  height: 100%;
  object-fit: cover;
  position: relative;
  width: 100%;
}

.sidebar .trend_img img:hover {
  -khtml-opacity: 0.7;
  opacity: 0.7;
  -webkit-transition: opacity 0.2s ease-out;
  transition: opacity 0.2s ease-out;
}

.sidebar .trend_title {
  display: block;
  font-size: 12px;
}

.sidebar a.trend_title:hover {
  color: #626262;
}

.sidebar .trend_tag {
  font-size: 11px;
}

.sidebar .trend_tag a {
  color: #a7a7a7;
  display: inline-block;
  margin: 0 3px 3px 0;
  text-decoration-color: #3dbeb5;
}

.sidebar .trend_tag a:hover {
  text-decoration: underline;
  text-decoration-color: #3dbeb5;
}

.sidebar .trend_tag a:before {
  color: #3dbeb5;
  content: "#";
}

.sidebar .trend_time {
  color: #a7a7a7;
  float: left;
  font-size: 11px;
  margin: 5px 5px 0 0;
}

@media screen and (max-width: 767px) {
  .sidebar .trend_area {
    margin: 0 auto;
    padding: 0;
    width: 100%;
  }

  .sidebar .trend_img {
    height: 115px;
    margin: 0;
    min-height: 115px;
    min-width: 115px;
    padding: 0;
    position: relative;
    width: 115px;
  }

  .sidebar .trend_img img {
    height: 115px;
    object-fit: cover;
    width: 115px;
  }

  .sidebar .trend_title {
    font-size: 13px;
  }


  .sidebar .trend_field1 .sidebar .trend_tag {
    margin: 2px 0 0;
  }

  .sidebar .trend_tag {
    font-size: 12px;
    margin: 0;
  }

  .sidebar .trend_field1 {
    margin: 10px auto;
    padding: 0 0 10px;
    width: 100%;
  }

  .sidebar .trend_time {
    display: block;
    font-size: 12px;
    margin: 2px 5px 0 0;
  }
}

/*------------------------------------------------------------
ランキング
------------------------------------------------------------*/
.c-ranking--item[class^="col"] {
  border-bottom: solid 1px #e5e5e5;
  counter-increment: ranking-number;
  display: flex;
  margin: 15px 0 0;
  padding: 0 0 15px;
  text-align: left;
  width: 720px;
}

.c-ranking--item[class^="col"]:last-child {
  border-bottom: 0;
  padding: 0 0 10px;
}

.ranking .row:last-child .c-ranking--item[class^="col"]:last-child {
  margin-bottom: 0;
}

.c-ranking--img {
  float: left;
  height: 170px;
  overflow: hidden;
  position: relative;
  width: 255px;
}

.c-ranking--img img {
  height: 100%;
  left: 2px;
  position: relative;
  top: 2px;
  width: 100%;
}

.c-ranking--img::before {
  color: #fff;
  content: counter(ranking-number);
  font-size: 24px;
  font-weight: bold;
  left: 18px;
  position: absolute;
  top: 14px;
  z-index: 20;
}

.c-ranking--img:after {
  background: #3dbeb5;
  content: "";
  height: 50px;
  left: 0;
  padding: 0 0;
  position: absolute;
  top: 0;
  width: 50px;
  z-index: 1;
}

.c-ranking--img--1:before, .c-ranking--img--2:before, .c-ranking--img--3:before, .c-ranking--img--4:before, .c-ranking--img--5:before, .c-ranking--img--6:before, .c-ranking--img--7:before, .c-ranking--img--8:before, .c-ranking--img--9:before, .c-ranking--img--10:before {
  color: #fff;
  font-size: 12px;
  font-weight: bold;
  left: 4px;
  position: absolute;
  top: 0;
  z-index: 20;
}

.ranking-time {
  color: #a7a7a7;
  float: left;
  font-size: 12px;
  margin: 5px 10px 0 0;
}

.c-ranking--content {
  margin: 0 0 0 10px;
  width: 460px;
}

.ranking_title {
  color: #000;
  display: block;
  font-size: 20px;
}

.ranking_title a {
  color: #000;
}

.ranking_title a:hover {
  color: #626262;
}

.ranking_tag {
  font-size: 14px;
}

.ranking_tag a {
  color: #a7a7a7;
  display: inline-block;
  margin: 4px 0 0 0;
}

.ranking_tag a:before {
  color: #3dbeb5;
  content: "#";
}

.ranking .new_tag {
  color: #3dbeb5;
  font-size: 12px;
}

@media screen and (max-width: 767px) {
  .ranking {
    margin: 0;
    text-align: center;
  }

  .c-ranking--item[class^="col"] {
    background: #fff;
    margin: 0 1.5% 10px;
    padding: 0 0 10px;
    width: 97%;
  }

  .c-ranking--img {
    height: 82.5px;
    margin: 0;
    margin-right: 5px;
    min-width: 125px;
    object-fit: cover;
    padding: 0;
    width: 125px;
  }

  .c-ranking--img::before {
    color: #fff;
    content: counter(ranking-number);
    font-size: 16px;
    left: 12px;
    position: absolute;
    top: 6px;
    z-index: 20;
  }

  .c-ranking--img:after {
    background: #3dbeb5;
    content: "";
    height: 35px;
    left: 0;
    padding: 0 0;
    position: absolute;
    top: 0;
    width: 35px;
    z-index: 1;
  }

  .c-ranking--content {
    float: none;
    height: auto;
    line-height: 1;
    margin: 0 0 0 5px;
    width: auto;
  }

  .ranking_title {
    display: block;
    font-size: 12px;
  }

  .ranking .new_tag {
    font-size: 11px;
    margin: 0;
  }

  .ranking-time {
    font-size: 12px;
    margin: 2px 5px 0 0;
  }

  .new_main {
    display: none;
    font-size: 11px;
  }

  .ranking_tag {
    font-size: 11px;
  }

  .ranking_tag a {
    font-size: 12px;
    margin: 2px 0 0 0;
  }
}

/*------------------------------------------------------------
サイドバー ランキング
------------------------------------------------------------*/
.sidebar .ranking_title_h2 {
  border-bottom: solid #bfbfbf;
  color: #000;
  font-size: 16px;
  line-height: 1;
  margin: 30px 0 10px;
  padding-bottom: 3px;
  position: relative;
  text-align: left;
}

.sidebar .ranking_title_h2:before {
  background-image: url(../img/common/icon_ranking.png);
  background-size: contain;
  content: "";
  display: inline-block;
  height: 25px;
  margin: 0 5px 0 0;
  vertical-align: middle;
  width: 25px;
}

.sidebar .c-ranking--item[class^="col"] {
  border-bottom: solid 1px #a7a7a7;
  counter-increment: ranking-number;
  margin: 0 0 10px;
  padding-bottom: 10px;
  width: 100%;
}

.sidebar .ranking .row:last-child .sidebar .c-ranking--item[class^="col"]:last-child {
  margin-bottom: 0;
}

.sidebar .c-ranking--img {
  display: inline-block;
  display: inline-block;
  float: left;
  height: 115px;
  overflow: hidden;
  padding: 1px;
  position: relative;
  width: 115px;
}

.sidebar .c-ranking--img img {
  height: 115px;
  left: 2px;
  top: 2px;
  width: 115px;
}

.sidebar .c-ranking--img::before {
  color: #fff;
  content: counter(ranking-number);
  font-size: 20px;
  font-weight: bold;
  left: 11px;
  position: absolute;
  top: 6px;
  z-index: 20;
}

.sidebar .c-ranking--img:after {
  background: #3dbeb5;
  content: "";
  height: 35px;
  padding: 0 0;
  position: absolute;
  width: 35px;
  z-index: 1;
}

.sidebar .c-ranking--img img {
  height: 100%;
  left: 2px;
  object-fit: cover;
  position: relative;
  top: 2px;
  width: 100%;
}

.sidebar .ranking-time {
  color: #a7a7a7;
  font-size: 11px;
  line-height: 1;
  margin: 0 5px 0 0;
}

.sidebar .c-ranking--content {
  float: left;
  margin-left: 5px;
  text-align: left;
  width: 180px;
}

.sidebar .ranking_title {
  color: #000;
  display: block;
  font-size: 12px;
  margin-bottom: 5px;
  text-align: justify;
  width: 100%;
}

.sidebar .ranking_title a {
  color: #000;
}

.sidebar .ranking_title a:hover {
  color: #626262;
}

.sidebar .ranking_tag {
  color: #8b8a8a;
  float: left;
  line-height: 11px;
}

.sidebar .ranking_tag a {
  color: #8b8a8a;
  font-size: 12px;
  line-height: 12px;
  margin: 0 auto;
}

.sidebar .ranking_tag a:before {
  color: #3dbeb5;
  content: "#";
}

.sidebar .ranking .new_tag {
  color: #3dbeb5;
  font-size: 12px;
}

.sec03 .p-sec--ttl {
  font-size: 22px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .sidebar .ranking {
    margin: 0;
    text-align: center;
  }

  .sidebar .ranking_icon h3 {
    color: #3dbeb5;
    font-size: 34px;
    line-height: 1;
    position: relative;
    text-align: center;
    text-shadow: 3px 1px 1px #84643d;
  }

  .sidebar .ranking_icon h3:before {
    background-image: url(../img/common/icon_deco1.png);
    background-size: contain;
    content: "";
    display: block;
    height: 33px;
    margin: 0 auto 5px;
    width: 75px;
  }

  .sidebar .ranking_icon h3 span {
    bottom: 10px;
    font-size: 16px;
    text-shadow: none;
  }

  .sidebar .c-ranking--item[class^="col"] {
    background: #fff;
    margin: 0 0 8px;
    width: 100%;
  }

  .sidebar .c-ranking--item-no1[class^="col"] {
    background: #fff;
    border-bottom: solid 1px #9e9e9e;
    float: none;
    margin: 0 auto 8px;
    overflow: hidden;
    padding-bottom: 5px;
    padding-top: 0;
    width: 97%;
  }

  .sidebar .c-ranking--img {
    height: 80px;
    margin: 0;
    margin-right: 5px;
    object-fit: cover;
    padding: 0;
    width: 80px;
  }

  .sidebar .c-ranking--content {
    float: none;
    height: 80px;
    line-height: 1;
    padding-top: 5px;
    width: auto;
  }

  .sidebar .ranking_title {
    display: block;
    font-size: 12px;
  }

  .sidebar .c-ranking--content-no1 {
    margin: 0 auto 0;
    padding-bottom: 5px;
    text-align: left;
    width: 95%;
  }

  .sidebar .c-ranking--content-no1 .c-ttl {
    font-size: 16px;
    width: 100%;
  }

  .sidebar .c-ranking--img--1:before {
    font-size: 24px;
    left: 10px;
    top: 10px;
  }

  .sidebar .ranking .new_tag {
    font-size: 11px;
    margin: 0;
  }

  .sidebar .ranking-time {
    color: #8b8b8b;
    font-size: 12px;
    margin-right: 5px;
  }

  .new_main {
    display: none;
    font-size: 11px;
  }

  .sidebar .ranking_tag {
    font-size: 11px;
  }

  .sidebar .ranking_tag a {
    font-size: 11px;
  }
}

/*------------------------------------------------------------
カテゴリー
------------------------------------------------------------*/
.category_icon h2 {
  border-bottom: solid #bfbfbf;
  color: #000;
  font-size: 16px;
  line-height: 1;
  margin: 0 0 10px;
  position: relative;
  text-align: left;
}

.category_icon h2:before {
  background-image: url(../img/common/icon_cat.png);
  background-size: contain;
  content: "";
  display: inline-block;
  height: 25px;
  vertical-align: middle;
  width: 25px;
}
@media screen and (max-width: 767px) {
  .category_icon h2 {
    margin: 20px auto 10px;
    padding: 0 0 4px 0;
    width: 97%;
  }

  .category_icon h2:before {
    height: 18px;
    vertical-align: bottom;
    width: 18px;
  }
}

/*------------------------------------------------------------
パンくず
------------------------------------------------------------*/
.breadcrumb_area {
  background: #eee;
  padding: 9px 0 8px;
}

.breadcrumb_field {
  margin: auto;
  width: 1100px;
}

.breadcrumb {
  font-size: 12px;
  overflow: hidden;
  padding: 0;
}

.breadcrumb li {
  color: #696969;
  display: table-cell;
  position: relative;
  white-space: nowrap;
}

.breadcrumb li a {
  color: #036eb8;
  text-decoration-color: #036eb8;
}

.breadcrumb li a:hover {
  color: #036eb8;
  text-decoration: underline;
  text-decoration-color: #036eb8;
}

@media screen and (max-width: 767px) {
  .breadcrumb_area {
    padding: 0;
  }

  .breadcrumb_field {
    margin: 10px auto;
    width: 100%;
  }

  .breadcrumb {
    font-size: 11px;
    margin: 0 auto 0;
    -webkit-overflow-scrolling: touch;
    overflow-x: auto;
    padding-top: 6px;
    position: relative;
    width: 97%;
  }

  .breadcrumb li {
    display: table-cell;
    padding-bottom: 5px;
    position: relative;
    white-space: nowrap;
  }

  .breadcrumb ul li:last-child {
    padding-right: 0;
  }

  .breadcrumb ul li:last-child:after {
    display: none;
  }

  .breadcrumb::-webkit-scrollbar {
    height: 5px;
  }

  .breadcrumb::-webkit-scrollbar-thumb {
    background: #3dbeb5;
    border-radius: 5px;
  }
}

/*------------------------------------------------------------
category
------------------------------------------------------------*/
.sec_category {
  padding: 0 0 20px;
  text-align: left;
}

.cat_h1title h1 {
  border-top: solid 3px #3dbeb5;
  color: #000;
  font-size: 24px;
  padding: 5px 0 10px 0;
  position: relative;
  text-align: left;
}

.cat_field1 {
  border-bottom: solid 1px #a7a7a7;
  display: flex;
  margin: 15px 0;
  padding: 0 0 15px;
  width: 760px;
}

.cat_field2 {
  margin: 0 0 0 10px;
  width: 495px;
}

.cat_img {
  float: left;
  height: 150px;
  overflow: hidden;
  position: relative;
  width: 225px;
}

.cat_img img {
  height: 100%;
  object-fit: cover;
  position: relative;
  width: 100%;
}

.cat_img img:hover {
  -khtml-opacity: 0.7;
  opacity: 0.7;
  -webkit-transition: opacity 0.2s ease-out;
  transition: opacity 0.2s ease-out;
}

/* PR記事 */
.pr-img-cat {
  float: left;
  height: 150px;
  overflow: hidden;
  position: relative;
  width: 225px;
}

.pr-img-cat img {
  height: 100%;
  object-fit: cover;
  position: relative;
  width: 100%;
}

.pr-img-cat img:hover {
  -khtml-opacity: 0.7;
  opacity: 0.7;
  -webkit-transition: opacity 0.2s ease-out;
  transition: opacity 0.2s ease-out;
}

.cat_title {
  color: #000;
  display: inline-block;
  font-size: 17px;
  word-break: break-word;
}

.cat_main {
  color: #656565;
  display: block;
  font-size: 14px;
  margin-top: 10px;
}

.cat_tag {
  font-size: 12px;
}

.cat_tag a {
  color: #a7a7a7;
  display: inline-block;
  margin: 5px 5px 0 0;
  text-decoration-color: #3dbeb5;
  float:left;
}

.cat_tag a:hover {
  text-decoration: underline;
  text-decoration-color: #3dbeb5;
  float:left;
}

.cat_tag a:before {
  color: #3dbeb5;
  content: "#";
  float:left;
}

.cat_time {
  color: #a7a7a7;
  float: left;
  font-size: 12px;
  margin: 5px 10px 0 0;
}

.cat_btn {
  background: #fff;
  border: 2px #3dbeb5 solid;
  border-radius: 35px;
  color: #3dbeb5;
  display: block;
  font-size: 18px;
  font-weight: bolder;
  letter-spacing: 2px;
  line-height: 1.2;
  margin: 2rem auto;
  padding: 15px 148px;
  position: relative;
  text-align: center;
  width: 400px;
}

.cat_btn:hover {
  box-shadow: none;
  opacity: 1;
  transform: translate3d(0, 3px, 0);
}

.cat_btn:hover::before {
  color: #fff;
}

p#loading {
  display: block;
  margin: 20px 0 0 0;
  text-align: center;
}

p#loading img {
  width: 80px;
}

@media screen and (max-width: 767px) {
  .cat_area {
    margin: 0 auto;
    padding: 0;
    width: 100%;
  }

  .cat_h1title {
    margin: 10px auto;
    width: 97%;
  }

  .cat_h1title h1 {
    font-size: 20px;
  }

  .cat_icon {
    margin: 30px 0 0 0;
  }

  .cat_icon img {
    height: 82px;
    max-width: 100%;
    position: relative;
  }

  .cat_img {
    height: 82px;
    margin: 0;
    min-height: 82px;
    min-width: 125px;
    padding: 0;
    position: relative;
    width: 125px;
  }

  .cat_img img {
    height: 82px;
    object-fit: cover;
    width: 125px;
  }

/* PR記事 */
  .pr-img-cat {
    height: 82px;
    margin: 0;
    min-height: 82px;
    min-width: 125px;
    padding: 0;
    position: relative;
    width: 125px;
  }

  .pr-img-cat img {
    height: 82px;
    object-fit: cover;
    width: 125px;
  }

  .pr-img-cat:before {
    font-size: 12px;
    width: 25px;
    z-index: 1;
    height: 18px;
    line-height: 19px;
}

  .cat_title {
    display: block;
    font-size: 13px;
  }

  .cat_tag {
    font-size: 12px;
  }

  .cat_tag a {
    margin: 2px 5px 0 0;
	float: left;
  }

  .cat_tag a:hover {
    border: 0;
  }

  .cat_main {
    display: none;
  }

  .cat_field1 {
    margin: 10px auto;
    padding: 0 0 10px;
    width: 97%;
  }

  .cat_field2 {
    margin: 0 0 0 10px;
    width: 100%;
  }

  .cat_time {
    display: block;
    font-size: 12px;
    margin: 2px 5px 0 0;
  }

  .pr-tag a {
    color: #a7a7a7;
    display: inline-block;
    margin: 2px 5px 0 0;
    text-decoration-color: #3dbeb5;
  }

  .pr-label a {
    display: block;
    margin: 2px 5px 0 0;
	float: left;
  }

}

/*------------------------------------------------------------
pagination
------------------------------------------------------------*/
.pagination {
  margin: 40px auto 40px;
  overflow: hidden;
  position: relative;
  text-align: center;
  width: 100%;
}

.pagination ul {
  float: left;
  left: 50%;
  position: relative;
}

.pagination li {
  float: left;
  font-size: 14px;
  height: auto;
  left: -50%;
  position: relative;
  width: 50px;
}

.pagination span, .pagination a {
  background-color: #fff;
  border: 1px solid #bfbfbf;
  color: #bfbfbf!important;
  display: block;
  margin: 4px;
  padding: 10px;
  text-align: center;
  text-decoration: none !important;
  width: auto;
}

.pagination .pager {
  width: 32px;
}

.pagination .current {
  background-color: #3dbeb5;
  border-color: #3dbeb5;
  color: #fff!important;
}

.pagination a:hover {
  background-color: #bfbfbf;
  border-color: #bfbfbf;
  color: #fff!important;
}

.pagination a.prev {
  margin-right: 16px;
}

.pagination a.next {
  margin-left: 16px;
}

.pagination span.page_num {
  display: none;
}

@media screen and (max-width: 767px) {
  .pagination {
    margin: 20px 0;
  }

  .pagination ul {
    display: flex;
    float: none;
    height: 39px;
    justify-content: center;
    left: auto;
    margin: auto;
    width: 95%;
  }

  .pagination li {
    float: unset;
    font-size: 12px;
    height: 0;
    left: auto;
    width: 43.4px;
  }

  .pagination a.prev {
    margin: 4px;
  }

  .pagination a.next {
    margin: 4px;
  }

  .pagination span, .pagination a {
    padding: 7px;
  }
}

/*------------------------------------------------------------
tagcloud
------------------------------------------------------------*/
.tagcloud {
  margin: auto;
  margin: 0 auto 10px;
  text-align: left;
  width: 95%;
}

.tagcloud_title {
  border-bottom: solid #bfbfbf;
  color: #000;
  font-size: 16px;
  line-height: 1;
  margin: 30px 0 10px;
  padding: 0 0 5px;
  position: relative;
}

.tagcloud_title:before {
  background-image: url(../img/common/icon_tag.png);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: inline-block;
  height: 25px;
  margin: 0 5px 0 0;
  vertical-align: middle;
  width: 25px;
}

.tagcloud a {
  border: solid 1px #e5e5e5;
  border-radius: 8px;
  color: #000;
  display: inline-block;
  font-size: 14px !important;
  margin: 5px 0 5px;
  padding: 5px 14px 4px;
  text-decoration: none;
  white-space: nowrap;
}

.tagcloud a:before {
  color: #3dbeb5;
  content: "#";
  margin-right: 1px;
}

.tagcloud a:hover {
  border: solid 1px #3dbeb5;
}

@media screen and (max-width: 767px) {
  .tagcloud {
    margin: 0 auto 5px;
    padding: 5px 0 5px;
    text-align: left;
    width: 97%;
  }

  .tagcloud_title {
    margin: 30px auto 10px;
    width: 97%;
  }

  .tagcloud_title:before {
    height: 18px;
    width: 18px;
  }

  .tag_icon {
    height: 100px;
    margin-bottom: 15px;
    margin-top: 30px;
  }

  .tag_icon img {
    bottom: 15px;
    height: 40px;
    max-width: 97%;
    padding-left: 15px;
    position: relative;
  }
}

/*------------------------------------------------------------
header
------------------------------------------------------------*/
.c-header-area {
  margin: auto;
  max-width: 1100px;
  height: 57px;
}

.c-logo img {
  display: block;
  height: auto;
  text-align: left;
  width: 100px;
  position: relative;
  top: 18px;
}
.coupon{
	float: right;
 	line-height: 0.8px;
  position: relative;
  bottom: 13px;
}
.coupon-list-btn{
  cursor: pointer;
  display: block;
  height: 48px;
  width: 54px;
}
.coupon-list-btn a{
  font-size: 12px;
  line-height: 12px;
  color: #424242;
  position: absolute;
  left: 0;
  bottom: 4px;	
}
.coupon-list-btn img{
	width: 37px;
	height: 30px;
	position: absolute;
	top: 0;
	left: 0;
	padding: 0 0 0 7px;
}
.header_pc_hr{
  width: 100%;
  position: absolute;
}
.header-frame_pc{
	margin: 0px auto;
  max-width: 1100px;
}

.c-header-area2_pc {
  margin: 20px auto 20px;
  position: relative;
  width: 1100px;
}

.c-header-area2_pc a {
  display: block;
  height: 50px;
  margin: 0;
  width: 300px;
}

.c-header_field_4 {
  display: block;
  margin: auto;
  width: 1100px;
}


.menu {
  margin: 0 auto;
  max-width: 1100px;
  position: relative;
  width: 100%;
  z-index: 100;
}

.menu > li a {
  color: #8c8c8c;
  display: block;
  font-weight: bold;
  opacity: 1;
  padding: 13px 0;
}

.menu > li a:hover {
  color: #fff;
}

ul.children {
  opacity: 0;
  visibility: hidden;
  z-index: 1;
}

li.cat-item ul.children li ul.children {
  opacity: 0;
  visibility: hidden;
}

.menu > li {
  /* グローバルナビ4つの場合 */
  background: #fff;
  border-left: 1px solid #8c8c8c;
  float: left;
  font-size: 12px;
  width: 140px;
}

.menu > li:last-child {
  border-right: 1px solid #8c8c8c;
}

ul.children li > ul.chidren {
  opacity: 0;
  visibility: hidden;
}

.menu > li:hover {
  background: #000;
}

.menu > li:hover {
  background: #000;
  -webkit-transition: all .5s;
  transition: all .5s;
}

li.cat-item ul.children li ul.children {
  opacity: 0;
  visibility: hidden;
}

ul.children li a {
  border-bottom: solid 1px #fff;
  color: #fff;
  padding: 10px 0;
}

ul.children li a:hover {
  background: #cfd0d0;
  color: #000;
}

ul.children li > ul.chidren li {
  border-top: 1px solid #111;
}

ul.children li a:hover {
  background: #ababab;
}

.menu > li.cat-item {
  position: relative;
}

li.cat-item ul.children {
  background: #595757;
  position: absolute;
  top: 44px;
  -webkit-transition: all .2s ease;
  transition: all .2s ease;
  width: 100%;
}

li.cat-item:hover ul.children {
  opacity: 0.85;
  top: 44px;
  visibility: visible;
}

li.cat-item ul.children li {
  position: relative;
}

li.cat-item ul.children li:hover {
  background: #111;
}

li.cat-item ul.children li > ul.children {
  background: #797979;
  left: 100%;
  position: absolute;
  top: 0;
  -webkit-transition: all .2s ease;
  transition: all .2s ease;
  width: 100%;
}

li.cat-item ul.children li:hover > ul.children {
  opacity: 1;
  visibility: visible;
}

li.cat-item ul.children li > ul.children li {
  position: relative;
}

li.cat-item ul.children li > ul.children li:hover {
  background: #2a1f1f;
}

.init-right:after {
  border-right: 1px solid #fff;
  border-top: 1px solid #fff;
  content: "";
  display: inline-block;
  height: 6px;
  margin: 0 0 0 15px;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  width: 6px;
}

/* floatクリア */
.menu:before, .menu:after {
  content: " ";
  display: table;
}

.menu:after {
  clear: both;
}

.menu {
  zoom: 1;
}



@media screen and (max-width: 767px) {
  
  header {
    margin-bottom: 35px;
  }

  .pc{
    display: none;
  }

  .c-header-area2_pc{
    display: none;
  }

  .fixed_nav {
    border-bottom: solid 1px #e5e5e5;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 50;
  }

  .l-header {
    border-top: 0;
    box-shadow: 0 1px 7px rgba(0, 0, 0, 0.2);
    height: auto;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 100;
    background: none;
    
  }

  .head-edit {
    transform: translateY(-100%);
  }

  .c-header-area {
    background: #fff;
    border-bottom: 1px solid #c1c1c1;
    border-top: solid 3px #8dbe2e;
    height: 45px;
    position: relative;
   
  }

  .c-header-area2 {
    background: #fff;
    display: block;
    height: 40px;
    margin: 0;
    width: 100%;
    z-index: 100;
  }

  .c-header-area2 a {
    height: auto;
    width: 160px;
  }

  .c-header-field {
    position: relative;
  }

  .header_logo_sp {
    margin: 0 auto;
    width: 150px;
  }

  .header_logo_sp img {
    padding: 9px 0 7px;
    vertical-align: middle;
    width: 160px;
  }

  .c-logo img {
    height: 12.5px;
    left: 10px;
    position: absolute;
    top: 13px;
    width: 60px;
  }

  .c-logo2 img {
    left: 0;
    margin: 0 auto;
    position: absolute;
    right: 0;
    top: 25px;
    width: 225px;
  }

  .coupon{
		z-index: 200;
		position: fixed;
    right: 10px;
    top: 5px;
    bottom: auto;
	}

  .coupon-list-btn{
		font-size: 8px;
		line-height: 8px;
		color: #424242;	
		display: block;
		height: 40px;
		width: 40px;
	}

  .coupon-list-btn img{
		width: 32px;
		height: 25px;
		right: 4px;
		top: 0;
		left: 0;
		padding: 0 0 0 7px;
  }
  
	.coupon-list-btn a{
		font-size: 10px;
		line-height: 10px;
		color: #424242;
		position: absolute;
		bottom: 4px;	
	}

  .header-frame.sp{
		background-color: #fff;
	}

  *, *:before, *:after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
  }

  ol, ul {
    list-style: none;
  }

  a {
    color: inherit;
    text-decoration: none;
  }

  .menu {
    height: 50px;
    margin: 0 auto;
    max-width: 1100px;
    position: relative;
    width: 100%;
    z-index: 100;
  }

  .menu > li {
    background: none;
    border-bottom: solid 1px;
    border-left: 0;
    float: none;
    text-align: left;
    width: 100%;
  }

  .menu > li:last-child {
    border-right: 0;
  }

  .menu > li a {
    color: #000;
    display: block;
    font-weight: bold;
    opacity: 1;
    padding: 13px 0 13px 10px;
  }

  .menu > li a:hover {
    color: #000;
  }

  ul.children {
    opacity: 1;
    visibility: visible;
    z-index: 1;
  }

  ul.children li > ul.chidren {
    display: none;
    opacity: 1;
    visibility: unset;
  }

  .menu > li:hover {
    background: #dcdcdc;
    -webkit-transition: all .5s;
    transition: all .5s;
  }

  li.cat-item ul.children li ul.children {
    opacity: 1;
    visibility: unset;
  }

  ul.children li a {
    border-bottom: 1px solid #000;
    color: #000;
    margin: 0 0 15px 40px;
    padding: 5px 10px 5px 5px;
  }

  ul.children li > ul.chidren li {
    border-top: 1px solid #111;
  }

  ul.children li a:hover {
    background: #cfd0d0;
  }

  .menu > li.cat-item {
    position: relative;
  }

  li.cat-item ul.children {
    background: #dcdcdc;
    border: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    position: relative;
    top: 0;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
    width: 100%;
  }

  li.cat-item:hover ul.children {
    opacity: 0.85;
    top: 0;
    visibility: visible;
  }

  li.cat-item ul.children li {
    position: relative;
    text-align: left;
    width: 120px;
  }

  li.cat-item ul.children li:hover {
    background: unset;
  }

  li.cat-item ul.children li > ul.children {
    display: none;
  }

  li.cat-item ul.children li:hover > ul.children {
    opacity: 0;
    visibility: hidden;
  }

  li.cat-item ul.children li > ul.children li {
    position: relative;
    width: 100px;
  }

  li.cat-item ul.children li > ul.children li:hover {
    background: #2a1f1f;
  }

  /*------------------------------------------------------------
	ハンバーガー
	------------------------------------------------------------*/
  .cp_offcm01 {
    left: 10px;
    position: fixed;
    top: 50px;
    z-index: 100;
  }

  .cp_offcm01 .cp_menu {
    cursor: pointer;
    height: calc(100% + -74px);
    left: -100vw;
    opacity: 1;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    position: fixed;
    top: 80px;
    -webkit-transition: 0.53s transform;
    transition: 0.53s transform;
    -webkit-transition-timing-function: cubic-bezier(.38, .52, .23, .99);
    transition-timing-function: cubic-bezier(.38, .52, .23, .99);
    width: 100%;
    z-index: 101;
  }

  .cp_offcm01 #cp_toggle01 {
    display: none;
    opacity: 0;
    position: absolute;
  }

  .cp_offcm01 #cp_toggle01:checked ~ .cp_menu {
    -webkit-transform: translateX(100vw);
    transform: translateX(100vw);
  }

  .cp_offcm01 #cp_toggle01 ~ #cp_toggle01_label {
    cursor: pointer;
    display: block;
    padding: 0 0 0 0;
    position: relative;
    text-align: center;
    -webkit-transition: 0.5s transform;
    transition: 0.5s transform;
    -webkit-transition-timing-function: cubic-bezier(.61, -0.38, .37, 1.27);
    transition-timing-function: cubic-bezier(.61, -0.38, .37, 1.27);
    z-index: 100;
  }

  .cp_offcm01 #cp_toggle01 ~ #cp_toggle01_label::before {
    background-image: url("../img/common/sp_on.png");
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    height: 24px;
    width: 25px;
  }

  .cp_offcm01 #cp_toggle01:checked ~ #cp_toggle01_label::before {
    background-image: url("../img/common/sp_off.png");
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    height: 24px;
    width: 25px;
  }

  .cp_offcm01 #cp_toggle01:checked ~ #nav-close {
    align-items: stretch;
    background: #000;
    height: 100%;
    left: 0;
    opacity: 0.15;
    position: fixed;
    top: 80px;
    -webkit-transition: -webkit- .5s ease-in-out;
    transition: .5s ease-in-out;
    width: 200%;
  }
}

/*------------------------------------------------------------
404
------------------------------------------------------------*/
.error404_text {
  color: #595757;
  font-size: 20px;
  line-height: 45px;
  margin: 150px auto 150px auto;
  width: 620px;
}

@media screen and (max-width: 767px) {
  .error404_text {
    font-size: 16px;
    line-height: 30px;
    margin: 50px auto 40px auto;
    width: 90%;
  }
}

/*------------------------------------------------------------
検索
------------------------------------------------------------*/
#searchform {
  margin: 0 0 0 auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 300px;
}

#searchform #s {
  border: solid 1px #9c8f80;
  border-radius: 25px;
  color: #696969;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", YuGothic, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 12px;
  height: 40px;
  margin: 5px 0;
  padding: 14px 10px 14px 18px;
  width: 100%;
}

#searchform #searchsubmit {
  background: #fff;
  background-image: url(../img/common/icon_glass.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 25px 25px;
  border: solid 1px #9c8f80;
  border-left: none;
  border-radius: 0 25px 25px 0;
  height: 40px;
  margin: 5px 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 45px;
}

.search_nohit {
  color: #595757;
  font-size: 20px;
  margin: 40px 0 0;
  text-align: center;
}

@media screen and (max-width: 767px) {
  #searchform {
    margin: 0 auto;
    position: relative;
    width: 100%;
    /* left: 2%; */
  }

  #searchform #s {
    border: solid 1px #e5e5e5;

/* right: 2%; */
    font-size: 13px;
    height: 35px;
    position: relative;
    width: 97%;

    /* border-radius: 25px 0 0 25px; */
  }

  #searchform #searchsubmit {
    border: solid 1px #e5e5e5;
    border-left: none;
    height: 35px;
    position: absolute;
    right: 1.5%;
    width: 45px;
  }

  .search_nohit {
    font-size: 16px;
    margin: 30px auto 3px;
    width: 97%;
  }
}

.front_search h3 {
  border-bottom: solid #bfbfbf;
  color: #000;
  font-size: 16px;
  line-height: 1;
  margin: 40px 0 10px;
  padding: 0 0 5px;
  position: relative;
}

.front_search h3:before {
  background-image: url(../img/common/icon_glass.png);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: inline-block;
  height: 25px;
  vertical-align: middle;
  width: 25px;
}

.front_search #searchform {
  margin: 0 auto 50px;
  position: relative;
  width: 670px;
}

.front_search #searchform #s {
  border: solid 1px #e5e5e5;
  border-radius: 25px;
  color: #696969;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", YuGothic, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 15px;
  height: 50px;
  margin: 25px 0;
  padding: 15px;
  width: 100%;
}

.front_search #searchform #searchsubmit {
  background-color: #3dbeb5;
  background-image: none;
  border: solid 1px #e5e5e5;
  border-left: none;
  border-radius: 0 25px 25px 0;
  color: #fff;
  font-size: 17px;
  height: 50px;
  margin: 25px 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 80px;
}

.front_search .search_nohit {
  color: #656565;
  font-size: 20px;
  margin: 40px 0 0;
  text-align: center;
}

.pr-icon h3{
  border-bottom: solid #bfbfbf;
  color: #000;
  font-size: 16px;
  line-height: 1;
  margin: 40px 0 0px;
  padding: 0 0 5px;
  position: relative;
}

.pr-icon h3:before{
    background-image: url(../img/common/icon_pr.png);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: inline-block;
    height: 25px;
    width: 25px;
    vertical-align: middle;
}

@media screen and (max-width: 767px) {
  .front_search h3 {
    margin: 20px auto 5px;
    width: 97%;
  }

  .front_search h3:before {
    height: 18px;
    vertical-align: bottom;
    width: 18px;
  }

  .front_search #searchform {
    left: 0;
    margin: 0 auto;
    position: relative;
    width: 100%;
  }

  .front_search #searchform #s {
    border: solid 1px #e5e5e5;

/* right: 3%; */
    font-size: 13px;
    height: 35px;
    position: relative;
    width: 97%;

    /* border-radius: 25px 0 0 25px; */
  }

  .front_search #searchform #searchsubmit {
    border: solid 1px #e5e5e5;
    border-left: none;
    font-size: 13px;
    height: 35px;
    right: 1.5%;
    width: 45px;
  }

  .front_search .search_nohit {
    font-size: 16px;
    margin: 30px auto 3px;
    width: 97%;
  }

  .pr-icon h3{
    margin: 20px auto 5px;
    width: 97%;
  }

  .pr-icon h3:before{
    height: 18px;
    vertical-align: bottom;
    width: 18px;
  }
  
}


/*------------------------------------------------------------
関連記事
------------------------------------------------------------*/
.related {
  margin: 40px auto 0;
  text-align: left;
  width: 720px;
}

.related_text1 {
  color: #3dbeb5;
  font-size: 20px;
  font-weight: bold;
  margin: 15px 0 10px;
  padding: 5px 7px 0 0;
}

.related ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  list-style: none;
}

.related li {
  border: solid 1px #e5e5e5;
  display: flex;
  margin: 0 5px 10px 5px;
  padding: 10px 5px 10px 10px;
  position: relative;
  width: 350px;
}

.related li a {
  color: #000;
  text-decoration: none;
}

.related li a:hover {
  color: #626262;
  transition: 0.3s;
}

.related a img {
  float: left;
  height: 110px;
  margin-right: 10px;
  max-width: 150px;
  object-fit: cover;
  width: 150px;
}

.related_title {
  color: #000;
  display: block;
  font-size: 15px;
  width: 100%;
  word-break: break-all;
}

.related_main {
  color: #646464;
  display: block;
  font-size: 13px;
  margin-bottom: 12px;
  width: 100%;
}

.related_time {
  color: #a7a7a7;
  float: left;
  font-size: 12px;
  margin-right: 10px;
}

.related_tag {
  font-size: 11px;
}

.related_cat {
  color: #4eaba7;
  float: left;
  font-size: 11px;
}

.related_genrename {
  background: #4eaba7;
  border-radius: 3px;
  bottom: 10px;
  color: #fff;
  display: inline;
  font-size: 11px;
  font-weight: bold;
  padding: 3px 20px;
  position: absolute;
  right: 0;
}

@media screen and (max-width: 767px) {
  .related {
    margin: 35px 0 0;
    text-align: left;
    width: 100%;
  }

  .related_text1 {
    font-size: 18px;
    margin: 5px auto 0;
    width: 95%;
  }

  .related_area {
    float: none;
    width: 100%;
  }

  .related a img {
    height: 82.5px;
    margin-right: 10px;
    object-fit: cover;
    width: 125px;
  }

  .related li {
    border: 0;
    border-bottom: solid 1px #ababab;
    margin: 8px auto 0;
    padding: 0 0 8px;
    position: relative;
    width: 97%;
  }

  .related_main {
    display: none;
  }

  .related_title {
    font-size: 12px;
  }

  .related_time {
    float: none;
  }

  .wp_rp_content {
    padding: 0 15px;
  }

  ul.related_post li a img {
    width: 100%;
  }

  .wp_rp_publish_date {
    max-width: 60%;
  }

  ul.related_post li a {
    font-size: 13px;
    max-width: 60%;
  }

  ul.related_post li a.wp_rp_thumbnail {
    height: 100%;
    width: 35%;
  }

  .wp_rp_excerpt {
    display: none;
  }
}

/*------------------------------------------------------------
記事内キーワード
------------------------------------------------------------*/
.hashtag_area {
  margin: 20px auto 20px;
  width: 720px;
}

.hashtag_area h3 {
  border-bottom: 0 !important;
  border-left: 0 !important;
  font-size: 20px!important;
  margin-bottom: 10px !important;
}

.hashtag_area ul {
  margin: 10px 0 10px 0;
  width: 100%;
}

.hashtag_area ul li a {
  border: solid 1px #e5e5e5;
  border-radius: 8px;
  color: #000;
  display: inline-block;
  font-size: 13px !important;
  margin: 2px 4px 2px;
  padding: 7px 12px 5px;
  text-decoration: none;
  white-space: nowrap;
}

.hashtag_area ul li a:before {
  color: #3dbeb5;
  content: "#";
  margin-right: 1px;
}

.hashtag_area ul li a:hover {
  border: solid 1px #3dbeb5;
  color: #000;
}

@media screen and (max-width: 767px) {
  .hashtag_area {
    margin: 20px auto 20px;
    width: 100%;
  }

  .p-sec01 .hashtag_area h3 {
    padding: 6px 2px 3px 8px !important;
    font-size: 18px !important;
  }
  
}

/*------------------------------------------------------------
ナビゲーション
------------------------------------------------------------*/
.g-nav {
  margin: 0 0 40px;
}

.g-nav nav ul {
  display: inline-block;
  display: flex;
  flex-wrap: wrap;
  width: 300px;
}

.g-nav li {
  border: solid 1px #e5e5e5;
  font-size: 14px;
  margin: 5px 0;
  position: relative;
  text-align: left;
  width: 145px;
}

.g-nav li:nth-child(even) {
  margin: 5px 0 5px 10px;
}

.g-nav li:last-child {
  text-align: center;
  width: 300px;
}

.g-nav li a {
  color: #000;
  display: block;
  padding: 11px 0 9px 16px;
  position: relative;
  width: 100%;
}

.g-nav li a:hover {
  color: #3dbeb5;
}

.g-nav li::before {
  color: #3dbeb5;
  content: ">";
  position: absolute;
  right: 8px;
  top: 11px;
  ;
}

.search_area img {
  position: fixed;
  right: 10px;
  top: 50px;
  width: 25px;
  z-index: 100;
}

.search_area {
  margin: 35px 0;
}

.search_area label {
  color: #000;
  display: block;
  font-size: 18px;
  font-weight: bold;
  position: relative;
  text-align: left;
}

.search_area input {
  display: none;
}

.search_area .search_show {
  height: 0;
  opacity: 0;
  overflow: hidden;
  padding: 0;
  transition: 0.8s;
}

.search_show {
  background: rgba(65, 65, 65, 0.48);
  position: relative;
  top: 25px;
  z-index: 100;
}

.search_show {
  position: fixed;
  top: 80px;
  width: 100%;
}

.search_check:checked + .search_show {
  height: auto;
  opacity: 0.9;
}

.search_show #searchform {
  margin: 10px auto;
}

input:checked ~ .search_show {
  height: 65px;
  opacity: 1;
}

input:checked ~ .search_show #searchform input {
  display: unset;
}

#search_btn_off {
  display: none;
}

input:checked + #search_btn_on {
  display: none;
}

input:checked ~ #search_btn_off {
  display: unset;
}

@media screen and (max-width: 767px) {
  .g-nav {
    margin: 0 auto;
    width: 97%;
  }

  .g-nav nav ul {
    width: 100%;
  }

  .g-nav li {
    border: solid 1px #e5e5e5;
    font-size: 15px;
    margin: 5px 0;
    position: relative;
    text-align: left;
    width: 49%;
  }

  .g-nav li:nth-child(even) {
    margin: 5px 0 5px 2%;
  }

  .g-nav li:last-child {
    width: 100%;
  }

  /*ハンバーガーメニュー */
  .splist {
    margin: 0 0 40px;
  }

  .splist nav ul {
    background-color: #f5fffe;
    border-top: solid 1px #3dbeb5;
    display: inline-block;
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 0 0;
    padding: 0 0 0 0;
    width: 100%;
  }

  .splist li {
    border-bottom: solid 1px #3dbeb5;
    border-top: solid 1px #3dbeb5;
    font-size: 15px;
    height: 42px;
    margin: 0 auto -1px auto;
    position: relative;
    text-align: left;
    width: 90%;
  }
  .splist li:first-child {
    border-top: 0;
    color: #000;
    display: block;
    font-size: 17px;
    font-weight: bold;
    padding: 10px 0 10px 10px;
    position: relative;
    width: 100%;
  }

  .splist li:nth-child(even) {
    margin: 0 auto -1px auto;
  }

  .splist li:first-child {
    text-align: left;
    width: 90%;
  }

  .splist li:last-child {
    border-bottom: 0;
    text-align: left;
    width: 90%;
  }

  .splist li a {
    color: #000;
    display: block;
    font-weight: bold;
    padding: 10px 0 10px 20px;
    position: relative;
    width: 100%;
  }

  .splist li a:hover {
    -khtml-opacity: 0.9;
    color: #aea2a2;
    opacity: 0.9;
    transition: 0.3s;
  }
}


/*------------------------------------------------------------
からだの症状一覧
------------------------------------------------------------*/
.symptoms_h1title h1 {
  border-top: solid 3px #3dbeb5;
  color: #000;
  font-size: 24px;
  padding: 5px 0 0 0;
  position: relative;
  text-align: left;
}

.symptoms_area {
  border-bottom: solid 1px #e5e5e5;
  display: flex;
  margin: 0 auto;
  padding: 30px 0;
  text-align: left;
}

.sec_category .symptoms_area {
  border: solid 5px #e5e5e5;
  margin: 0 auto 35px auto;
  padding: 20px;
  width: 720px;
}

.symptoms_parent {
  width: 125px;
}

.sec_category .symptoms_parent {
  width: 180px;
}

.symptoms_child {
  padding: 0 10px;
  width: 635px;
}

.sec_category .symptoms_child {
  padding: 0 0;
  width: 635px;
}

.symptoms_parent img {
  display: block;
  margin: 0 auto;
  min-height: 100px;
  min-width: 100px;
}

.sec_category .symptoms_parent img {
  display: block;
  margin: 0 auto;
  min-height: 120px;
  min-width: 120px;
}

.symptoms_parent p {
  font-size: 15px;
  font-weight: bold;
  margin: 5px 0 0;
  text-align: center;
}

.symptoms_parent p a {
  color: #000;
}

.symptoms_parent p a:hover {
  color: #626262;
}

.symptoms_child ul {
  display: flex;
  flex-wrap: wrap;
}

.symptoms_child ul li {
  border-bottom: 1px solid #3dbeb5;
  border-top: 1px solid #3dbeb5;
  font-size: 15px;
  margin: 0 10px -1px;
  width: 180px;
}

.sec_category .symptoms_child ul li {
  border-bottom: 1px solid #e5e5e5;
  border-top: 1px solid #e5e5e5;
  font-size: 13px;
  margin: 0 10px -1px;
  width: 154px;
}

.symptoms_child ul li span {
  color: #a7a7a7;
  display: block;
  height: 100%;
  padding: 20px 10px;
  position: relative;
  width: 100%;
}

.sec_category .symptoms_child ul li span {
  color: #a7a7a7;
  display: block;
  height: 100%;
  padding: 15px 10px;
  position: relative;
  width: 100%;
}

.symptoms_child ul li span:after {
  color: #a7a7a7;
  content: ">";
  font-size: 16px;
  position: absolute;
  right: 8px;
}

.symptoms_child ul li a {
  color: #000;
  display: block;
  height: 100%;
  padding: 20px 10px;
  position: relative;
  width: 100%;
}

.sec_category .symptoms_child ul li a {
  padding: 15px 10px;
}

.symptoms_child ul li a:after {
  color: #3dbeb5;
  content: ">";
  font-size: 16px;
  position: absolute;
  right: 8px;
}

.symptoms_child ul li a:hover {
  color: #3dbeb5;
  display: block;
}

@media screen and (max-width: 767px) {
  .symptoms_h1title h1 {
    border-top: solid 3px #3dbeb5;
    color: #000;
    font-size: 20px;
    margin: 10px auto 19px;
    padding: 5px 0 0 0;
    position: relative;
    text-align: left;
    width: 97%;
  }

  .symptoms_area {
    display: block;
    padding: 1px 0 0;
    width: 100%;
  }

  .sec_category .symptoms_area {
    border: solid 3px #e5e5e5;
    display: block;
    margin: 20px auto;
    padding: 15px 0 0;
    width: 95%;
  }

  .symptoms_parent {
    align-items: center;
    align-self: center;
    display: flex;
    margin: 10px 0 10px 0;
    position: relative;
    width: auto;
  }

  .symptoms_parent:after {
    color: #3dbeb5;
    content: ">";
    font-size: 16px;
    position: absolute;
    right: 10px;
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
  }

  .sec_category .symptoms_parent:after {
    content: "";
  }

  .acd-check:checked + .acd-label *.symptoms_parent:after {
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
  }

  .sec_category .symptoms_parent {
    align-items: center;
    align-self: center;
    display: flex;
    margin: 0 0 15px 0;
    width: auto;
  }

  .symptoms_child {
    height: 0;
    opacity: 0;
    padding: 0;
    transition: 0s;
    visibility: hidden;
    width: auto;
  }

  .sec_category .symptoms_child {
    height: auto;
    opacity: 1;
    padding: 0;
    visibility: visible;
    width: auto;
  }

  .symptoms_parent img {
    flex-basis: 62.5px;
    height: 62.5px;
    margin: 0 auto 0 15px;
    min-height: 62.5px;
    min-width: 62.5px;
    width: 62.5px;
  }

  .sec_category .symptoms_parent img {
    display: block;
    flex-basis: 62.5px;
    height: 62.5px;
    margin: 0 auto 0 30px;
    min-height: 62.5px;
    min-width: 62.5px;
    width: 62.5px;
  }

  .symptoms_parent p {
    flex-basis: 100%;
    font-size: 14px;
    padding-left: 15px;
    text-align: left;
  }

  .symptoms_parent p a {
    color: #000;
  }

  .symptoms_parent p a:hover {
    color: #626262;
  }

  .symptoms_child ul {
    width: 100%;
  }

  .symptoms_child ul li {
    border: 1px solid #e5e5e5;
    border-left: 0;
    border-right: 0;
    font-size: 12px;
    margin: 0 -1px -1px 0;
    width: 50%;
  }

  .sec_category .symptoms_child ul li {
    border-bottom: 1px solid #e5e5e5;
    border-top: 1px solid #e5e5e5;
    font-size: 12.5px;
    margin: 0 0 -1px;
    width: 50%;
  }

  .symptoms_child ul li:nth-child(odd) {
    border-right: 1px solid #e5e5e5;
  }

  .sec_category .symptoms_child ul li:nth-child(even) {
    border-left: 1px solid #e5e5e5;
  }

  .symptoms_child ul li a {
    display: block;
    height: 100%;
    padding: 20px 10px;
    position: relative;
    width: 100%;
  }

  .symptoms_child ul li a:hover {
    color: #3dbeb5;
    display: block;
  }

  .symptoms_field {
    border: solid 2px #e5e5e5;
    margin: 0 auto 20px;
    width: 97%;
  }

  .symptoms_child ul li a:after {
    right: 10px;
  }

  .symptoms_child ul li span:after {
    right: 10px;
  }

  .acd-check {
    display: none;
  }

  .acd-label {
    display: block;
  }

  .acd-check:checked + .acd-label + .symptoms_child {
    height: auto;
    opacity: 1;
    transition: 0.5s;
    visibility: visible;
  }
}

/*------------------------------------------------------------
サイドバナー
------------------------------------------------------------*/
.side_banner img {
  margin-top: 10px;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .side_banner {
    margin: 0 auto;
    width: 97%;
  }
}

/*------------------------------------------------------------
Footer
------------------------------------------------------------*/
.l-footer {
  margin-top: 30px;
}

@media screen and (max-width: 767px) {
  .l-footer {
    margin-top: 15px;
  }
}

footer {
  background: #f1f1f1;
}

.footer_logo {
  margin: 0 0 20px 20px;
  text-align: left;
}

.footer_field1 dl {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  width: 900px;
}

.footer_field1 dt {
  border-left: 1px solid #5b5b5b;
  border-right: 1px solid #5b5b5b;
  font-size: 12px;
  padding: 0 35px;
}

.footer_field1 dt + dt {
  border-left: 0;
  border-right: 1px solid #5b5b5b;
}

.footer_field1 dt:first-child {
  border-left: 0;
}

.footer_field1 dt:last-child {
  border-right: 0;
}

.footer_field1 dt a {
  color: #000;
  display: block;
  text-decoration-color: #3dbeb5;
  width: 100%;
}

.footer_field1 dt a:hover {
  color: #626262;
  text-decoration: underline;
  text-decoration-color: #3dbeb5;
}

.footer_back {
  margin: 0 auto;
  padding: 30px 0 40px;
  width: 1100px;
}

.footer_copy {
  background: #3dbeb5;
  color: #fff;
  font-size: 14px;
  padding: 10px 0 10px;
}

.footer_copy span:nth-child(1) {
  display: inline;
  font-size: 130%;
  line-height: 1;
  vertical-align: middle;
}

.footer_copy span:last-child {
  color: #73ebe3;
  font-size: 14px;
}

@media screen and (max-width: 767px) {
  footer {
    background: #fff;
  }

  .footer_back {
    margin: 0 auto;
    padding: 0;
    width: 100%;
  }

  .footer_logo {
    margin-bottom: 5px;
    margin-left: 5px;
    padding-top: 10px;
  }

  .footer_logo img {
    width: 150px;
  }

  .footer_logo a {
    display: block;
    width: 100%;
  }

  .footer_field1 {
    background: #f3f3ef;
    margin: 0;
    padding: 0;
    width: 100%;
  }

  .footer_field1 dl {
    flex-direction: column;
    text-align: center;
    width: 100%;
  }

  .footer_field1 dt:first-child {
    border-top: solid 2px #fff;
  }

  .footer_field1 dt {
    border: 0;
    border-bottom: solid 2px #fff;
    color: #595757;
    font-size: 12px;
    margin: 0;
    width: 100%;
  }

  .footer_field1 dt + dt {
    border: 0;
    border-bottom: solid 2px #fff;
  }

  .footer_field1 dt a {
    padding: 15px 0;
  }

  .footer_copy {
    color: #fff;
    font-size: 12px;
    padding: 10px 0 10px;
  }

  .footer_copy span:last-child {
    font-size: 12px;
  }
}
