@charset "UTF-8";

.border-blue {
  text-align: center;
  background-image: url(../images/charm/border_blue.png),
    url(../images/charm/border_blue.png);
  background-position: center top, center bottom;
  background-size: auto, auto;
  background-repeat: no-repeat, no-repeat;
  margin-bottom: 30px;
}
.point_ttl_h2 {
  text-align: center;
  position: relative;
  margin-bottom: 25px;
}

.point_ttl_h2 h2 {
  font-family: YuMincho, "Yu Mincho", serif;
  font-weight: bold;
  font-size: 24px;
  margin: 0;
  display: inline-block;
  width: 49%;
}

.point_ttl_h2::before {
  content: "";
  background: url(../images/women/icon_ttl_line.png) 0 0 repeat-x;
  background-size: auto;
  height: 16px;
  width: 24%;
  display: inline-block;
  vertical-align: middle;
}
.point_ttl_h2::after {
  content: "";
  background: url(../images/women/icon_ttl_line.png) 0 0 repeat-x;
  background-size: auto;
  height: 16px;
  width: 24%;
  display: inline-block;
  vertical-align: middle;
}
.border-blue h3 {
  font-family: YuMincho, "Yu Mincho", serif;
  line-height: 1.5;
  color: #222;
  font-weight: 800;
  font-size: 24px;
  padding: 20px 0;
}

.charm_point_box {
  background: url(../images/women/img_bg_rainbow.png) 0 0 no-repeat;
  background-size: cover;
  padding: 45px 40px;
  margin-bottom: 40px;
  border-radius: 10px;
}

.charm_point_lists {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.point_list_box {
  background: #fff;
  width: 33%;
  margin-right: 4.7%;
  border-radius: 20px;
  padding: 20px;
  position: relative;
  padding-bottom: 9%;
}

.point_list_box:last-child {
  margin-right: 0;
}

.point_list_box > h4 {
  margin-top: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  line-height: 1.5;
  min-height: 49px;
  color: #222;
  font-size: 17px;
  margin-bottom: 10px;
}

.source_text {
  margin-top: 0;
  font-size: 13px !important;
  text-align: center;
  font-weight: normal;
  margin-bottom: 20px;
  line-height: 1.5;
}

.point_list_box figure {
  text-align: center;
  margin-bottom: 15px;
}

.point_ranking {
  font-weight: 800;
  text-align: center;
  font-size: 20px;
  color: #222;
  letter-spacing: 2px;
  position: absolute;
  width: 100%;
  left: 0;
  bottom: 15px;
}

.point_ranking > span {
  font-family: YuMincho, "Yu Mincho", serif;
  font-size: 60px;
  color: #f4164f;
  padding: 0 8px;
}

.charm_point_box:last-child {
  margin-bottom: 0;
}

.charm_point_block {
  margin-bottom: 45px;
}

.charm_point_box p {
  text-align: center;
  line-height: 1.5;
  font-size: 16px;
  margin: 0 0 35px;
}

.charm_flex_box {
  display: flex;
  margin-bottom:3rem;
}
.cont_block .charm_flex_box p {
  line-height: 1.5;
  font-size: 18px;
  margin-bottom:10px;
}

.charm_voice {
  background: rgba(255, 255, 255, 0.6);
  box-shadow: 0px 0px 4px #c9d8da;
  border-radius: 10px;
  padding: 10px 20px 45px;
  margin: 1rem auto 3rem;
  position: relative;
}

.cycle-blue h4 {
  font-family: YuMincho, "Yu Mincho", serif;
  color: #0c6aa9;
  position: relative;
  padding-left: 2rem;
  font-size: 22px;
  line-height:1.3;
}
.cycle-blue h4:before {
  position: absolute;
  content: "";
  background: url(../images/charm/icon-blue-cycle.png) 0 0 no-repeat;
  background-size: 100%;
  width: 25px;
  height: 25px;
  top: -2px;
  left: 0;
}
.flex-lists {
  display: flex;
  justify-content: space-around;
  margin: 0;
  padding: 0;
}
.expand {
  padding: 0;
  max-height: 270px;
  overflow: hidden;
  position: relative;
  transition: 0.5s;
}
.expand.leisure1 {
    max-height: 1200px;
}
.expand::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 50%;
  bottom: 0;
  pointer-events: none;
  transition: 1s;
}

.charm_voice ul {
  margin-left: 0;
  padding-left: 0;
}
.charm_voice ul li {
  font-size: 16px;
  margin-bottom: 0.5rem;
  line-height: 1.3;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #c9d8da;
}
.charm_voice input {
  visibility: hidden;
}
.charm_voice ul li a {
  text-decoration: none;
  color: #000;
}
.charm_voice ul li a:hover {
  text-decoration: underline;
  color: #096d92;
}
.charm_voice label {
  position: absolute;
  bottom: 0.2em;
  right: 0.2em;
  display: block;
  font-size: 16px;
padding: 10px 40px 10px 30px;
  right: 10px;
  bottom: 8px;
  z-index: 999;
  cursor: pointer;
  text-transform: uppercase;
  background: #0c6aa9;
  color: #fff;
  border-radius: 20px;
}

.charm_voice label:before {
  content: "すべてを見る";
}
.charm_voice label:after {
  content: "";
  position: absolute;
  top: 12px;
  right: 15px;
  width: 5px;
  height: 5px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}

.charm_voice input:checked + label:before {
  content: "閉じる";
}
.charm_voice input:checked + label:after{
    content: "";
  position: absolute;
  top: 15px;
  right: 15px;
  width: 5px;
  height: 5px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
 }
input[type="checkbox"]:checked ~ .expand {
  max-height: inherit;
}

input[type="checkbox"]:checked ~ .expand:before {
  opacity: 0;
}
.advice_ttl {
  text-align: center;
  background-image: url(../images/charm/border_green.png);
  background-position: center bottom;
  background-size: auto;
  background-repeat: no-repeat;
  margin: 0 auto 30px;
}
.advice_ttl h3 {
  font-family: YuMincho, "Yu Mincho", serif;
  position: relative;
  padding-bottom: 20px;
  font-size: 22px;
}
.charm_point_box p.left-txt {
  text-align: left;
}
.bold-blue {
  color: #0587a7;
  font-weight: bold;
}
.right-txt {
  margin-top: 4rem;
}
.right-txt p {
  text-align: left !important;
}

.single_line {
  text-align: center;
  background-image: url(../images/women/img_border4.png);
  background-position: center bottom;
  background-size: auto;
  background-repeat: no-repeat;
  margin: 10px auto;
}
.charm_flex_box figure {
    width: 45%;
    margin-left:0;
    margin-right: 5%;
}
.charm_flex_box figure img {
  border-radius:10px;
}
.right-statistics {
  width:50%;
}
.right-statistics h4 {
  margin:0 0 15px;
}
.right-statistics p {
  text-align:left!important;
}
.cont_block .charm_flex_box p.statistics-txt {
  font-size:14px;
  margin-bottom: 15px;
}
.cont_block .charm_flex_box p .rank {
    color: #f4164f;
    font-size: 25px;
    padding: 0 4px;
    line-height: 0;
}
.leisure_bx {
  margin:0;
  padding:0;
  display:flex;
  justify-content: center;
  flex-wrap:wrap;
}
.leisure_bx .single_bx:before {
  display:none;
}
.leisure_bx .single_bx {
  margin-bottom:1rem;
}
.leisure_bx .single_bx:nth-child(3n + 2) {
    margin-left: 1rem;
    margin-right: 1rem;
}
.leisure_bx .link_box_text{
    right: 0;
    margin:0 auto;
    max-width: 190px;
}
.leisure_bx .single_bx a {
  text-decoration:none;
  padding-bottom: 18%;
}
.leisure_bx .single_bx a p.leisure_comment {
  text-align:left!important;
  font-weight:bold;
  color:#0587a7;
  font-size:18px;
  margin-bottom:1rem;
}
.leisure_bx .single_bx a p.leisure_profile {
  text-align:left!important;
  padding-bottom:1rem;
  color:#000;
}
.bg-bubble ,
.icon-bubble {
  position:relative;
}
.bg-bubble {
  margin-bottom:5rem;
}
.icon-bubble {
  margin-top:3rem;
}
.bg-bubble:before {
  position: absolute;
  content: "";
  background: url(../images/charm/bg-bubble01.png) 0 0 no-repeat;
  background-size: 100%;
  width: 1000px;
  height: 137px;
  bottom: -2rem;
  left: -8rem;
}
.bg-bubble:after {
  position: absolute;
  content: "";
  background: url(../images/charm/bg-bubble02.png) 0 0 no-repeat;
  background-size: 100%;
  width: 268px;
  height: 137px;
  bottom: -6rem;
  right: -1rem;
}
.icon-bubble:before {
  position: absolute;
  content: "";
  background: url(../images/charm/bg-bubble03.png) 0 0 no-repeat;
  background-size: 100%;
  width: 268px;
  height: 190px;
  top: -6rem;
  right: -1rem;
}
.center.icon-bubble {
  margin:4rem auto 3rem;
}
.center.icon-bubble:before {
  top: -2rem;
  right: -5rem;
}
.center.icon-bubble:after {
  position: absolute;
  content: "";
  background: url(../images/charm/bg-bubble04.png) 0 0 no-repeat;
  background-size: 100%;
  width: 268px;
  height: 190px;
  top: -1rem;
  left: -5rem;
}
.charm_voice .more {
  position: static;
}
.charm_voice .more a {
  margin:0 auto;
  max-width:400px;
  display:block;
  text-align:center;
  background:#75b4e0;
  font-size:20px;
  padding:15px;
  display:flex;
  justify-content: center;
  align-items:center;
  border-radius: 25px;
}
.wrapper.women {
  background-image: url(../images/women/bg_top_women.png);
  background-size: 100%;
  background-position: top center;
  background-repeat: no-repeat;
}
.women-content {
    max-width: 960px;
    width: 100%;
    margin: 7rem auto;
    text-align:center;
    border-radius: 10px;
    padding: 1rem;
    background: rgb(254,245,247,0.7);
}
.women-content h2 {
    text-align: center;
    font-family: "Sawarabi Mincho", sans-serif;
    letter-spacing: 0.2em;
    line-height: 1.6;
    color: #0587a7;
    margin-bottom: 5%;
    color: #cf0b3e;
}
.women-content h3 {
    color: #f08599;
    margin-bottom:0;
    line-height:1.3;
}
.women-content p {
  line-height:1.5;
  margin-bottom:2rem;
}
.women-content .btn-center {
    background: url(../../assets/images/charm/bg-btn-women.png) no-repeat center 0;
    background-size: 100%;
    text-align: center;
    margin-bottom: 5rem;
    width: 690px;
    height: 260px;
    margin: auto;
    display: flex;
    justify-content: center;
    align-items: center;
}
@media screen and (max-width: 768px) {
  .header_title {
      width: 100%;
  }
  .header_title img {
      width: 100%;
      height: auto;
  }
  .charm_point_box {
      padding: 45px 15px;
  }
  .border-blue h3 {
    font-size:20px;
  }
  .point_list_box {
    width:100%;
    margin:0 0 1rem;
  }
  .point_ranking > span {
    font-size:40px;
  }
  .charm_flex_box {
    flex-wrap:wrap;
    margin-bottom:1rem;
  }
  .charm_flex_box figure ,
  .charm_flex_box figure img {
    width:100%;
    margin-right:0;
  }
  .charm_flex_box figure {
    margin-bottom:1rem;
  }
  .right-txt {
    margin-top: 0;
  }
  .flex-lists {
    flex-wrap:wrap;
  }
  .flex-lists li {
    width:48%;
  }
  .flex-lists li img {
    width:100%;
  }
  .charm_voice ul li {
    font-size:14px;
  }
  .advice_ttl h3 {
    font-size:20px;
  }
  .right-statistics {
    width:100%;
  }
  .cont_block .charm_flex_box p {
    font-size:14px;
  }
  .leisure_bx .single_bx:nth-child(3n + 2) {
    margin:0 auto 1rem;
  }
  .charm_point_box p {
    margin-bottom:0;
  }
  .charm_point_box p.source_text {
    margin-bottom: 35px;
  }
  .charm_voice .more a {
    margin: 2rem auto 0;
    font-size: 16px;
  }
  .leisure_bx .link_box_text {
    margin: 0 auto 1.5rem;
  }
  .center.icon-bubble:before ,
  .center.icon-bubble:after {
    display:none;
  }
  .point_ttl_h2 {
    margin-bottom: 40px;
  }
  .point_ttl_h2 h2 {
    width: 100%;
  }
  .point_ttl_h2::before {
    position: absolute;
    top: -1.5rem;
    left: 0;
    right: 0;
    margin: auto;
  }
  .point_ttl_h2::after {
    position: absolute;
    bottom: -1.5rem;
    left: 0;
    right: 0;
    margin: auto;
  }
  .women-content h2 {
    font-size:22px;
  }
  .women-content .btn-center {
    width: 100%;
    height: 160px;
  }
  .charm_voice label {
    font-size:14px;
  }
  .women-content{
    width: 95%;
    margin: 0 auto;
  }

}