@charset "UTF-8";

html {
  font-size: 62.5%;
}

body {
  margin: 0;
  padding: 0;
  font-size: 16px;
  line-height: 1.6;
  font-family: Helvetica, HiraKakuProN-W3, meiryo, メイリオ, sans-serif;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  color: #545454;
  background: #f3f3f3;
}

img {
  width: 100%;
  height: auto;
  vertical-align: middle;
}

/* 以下共通 */
.container {
  width: 93%;
  margin: 0 auto;
}

.inner {
  width: 92%;
  margin: 0 auto;
}

.bg {
  background: #fff;
}

.mt_small {
  margin-top: 10px;
}

.mt_mid {
  margin-top: 30px;
}

.mt_big {
  margin-top: 60px;
}

.red {
  color: #FF4343;
  font-weight: bold;
}

.red_big {
  color: #FF4343;
  font-weight: bold;
  font-size: 20px;
}

.blue {
  color: #0080a9;
  font-weight: bold;
}

.blue_big {
  color: #0080a9;
  font-weight: bold;
  font-size: 20px;
}

.pink {
  color: #e74880;
  font-weight: bold;
}

.pink_big {
  color: #e74880;
  font-weight: bold;
  font-size: 20px;
}

.mint_green {
  color: #00a99d;
  font-weight: bold;
}

.mint_green_big {
  color: #00a99d;
  font-weight: bold;
  font-size: 20px;
}

.yellow {
  color: #fff9b5;
}

.bold {
  font-weight: bold;
  font-size: 20px;
}

.yellow_marker {
  background: linear-gradient(transparent 50%, #f9f3a5 40%);
  font-weight: bold;
  font-size: 20px;
  display: inline;
}

.yellow_marker_small {
  background: linear-gradient(transparent 60%, #f9f3a5 60%);
  font-weight: bold;
  display: inline;
}

/* star review */
.star_rating {
  position: relative;
  display: inline-block;
  word-break: normal !important;
}

.star_rating .star_rating_item {
  position: absolute;
  overflow: hidden;
}

.star_rating .star_rating_item:before {
  content: "★★★★★";
  color: #ffcc33;
}

.star_rating:after {
  content: "★★★★★";
  color: #ccc;
}
/* star review end*/

.image {
  margin-top: 10px;
}

.text_center {
  text-align: center;
}

.head_title {
  /* position: relative; */
  color: #ffffff;
  /* border-radius: 4px; */
  background: #444444;
  padding: 12px;
  font-size: 20px;
  font-weight: bold;
  margin-top: 70px;
  border-left: 4px solid #f7568a;
  border-right: 4px solid #f7568a;
}

.head_subtitle {
  border-left: 5px solid #f7568a;
  border-bottom: 1px solid #f7568a;
  font-size: 20px;
  font-weight: bold;
  padding: 4px 10px;
  margin-top: 60px;
}


.small_text {
  font-size: 14px;
  color: #888888;
}

.commonBox {
  background: rgb(239 239 239);
  padding: 5px;
  border-radius: 4px;
  margin-top: 50px;
}



/* ここからコンテンツ */
.content {
  margin-top: 30px;
}

.header {
  box-shadow: 0 4px 4px 0 rgb(0 0 0 / 10%);
  padding: 1em 1em 1em;
  background: #333;
}

.header_logo {
  width: 120px;
  margin: 0 auto;
}

/* FV */
.lp_hasu {
  font-size: 14px;
  color: #777;
}

.lp_ttl {
  font-size: 18px;
  font-weight: bold;
  margin-top: 15px;
  padding-top: 15px;
}

.date {
  font-size: 14px;
  margin: 20px 0 5px 0;
  color: #888;
}

/* アイキャッチ画像 */
.catch {
  position: relative;
}

.fv_iconBox {
  position: absolute;
  display: flex;
  align-items: center;
  width: 35%;
  top: 0;
  right: 0;
  margin-top: 5px;
}

.fv_icon {
  margin-right: 5px;
  width: 150px;
}

.fv_textBox {
  font-size: 14px;
  margin-top: 20px;
  padding-bottom: 15px;
}


/* ランキング要素 */
.rankingBox01 {
  border-top: 5px solid #ceaf43;
  border-bottom: 5px solid #ceaf43;
  padding-top: 40px;
  padding-bottom: 40px;
  background: #fff;
  position: relative;
}

.ranking_recommendimg {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 60px;
  animation: anime1 0.5s ease 0s infinite alternate;
  transform-origin:center;
}

@keyframes anime1 {
  from {
    transform: rotate(15deg);
  }

  to {
    transform: rotate(30deg);
  }
}

.rankingBox02 {
  border-top: 5px solid #9c9c9c;
  border-bottom: 5px solid #9c9c9c;
  padding-top: 40px;
  padding-bottom: 40px;
  background: #fff;
  margin-top: 60px;
  position: relative;
}

.rankingBox03 {
  border-top: 5px solid #aa7a40;
  border-bottom: 5px solid #aa7a40;
  padding-top: 40px;
  padding-bottom: 40px;
  background: #fff;
  margin-top: 60px;
  position: relative;
}

.ranking_infoTop {
  display: flex;
  align-items: center;
}

.ranking_infoTop_left {
  width: 85px;
  box-shadow: 1px 1px 5px;
  border-radius: 18px;
}

.ranking_infoTop_right {
  margin-left: 15px;
}

.ad_icoBox {
  position: relative;
}

.crown_img {
  position: absolute;
  top: -30px;
  left: -10px;
  width: 50px;
  transform: rotate(-15deg);
}

.ap_name {
  font-size: 20px;
  font-weight: bold;
  color: #00a1d6;
  text-decoration: underline;
}

.star_rating_number {
  font-size: 14px;
  color: #ccc;
}

.tagBox span {
  border: 1px solid #333;
  margin-right: 10px;
  padding: 2px;
  font-size: 14px;
}

.tagBox span:first-child {
  color: #f35454;
  border: 1px solid #f35454;
}

.ap_summary {
  font-size: 18px;
  font-weight: bold;
}

.ap_summary {
  margin-top: 16px;
}

.ranking_img {
  margin-top: 15px;
}


/* おすすめポイント */
.recommendBox {
  margin-top: 20px;
  border-radius: 4px;
}

.recommendBox p {
  background: #00a99d;
  color: #fff;
  font-weight: bold;
  padding: 8px 10px;
  border-radius: 4px 4px 0 0;
  font-size: 18px;
}

.recommend_point {
  background: #eaf6f5;
  padding: 8px;
  border-radius: 0 0 4px 4px;
}

.recommend_point li:not(:first-child){
  margin-top: 10px;
}

.fa-check-circle {
  margin-right: 10px;
}


/* ユーザーレビュー */
.fa-comments {
  margin-right: 10px;
  font-size: 18px;
}

.review_box {
  background: #fffadd;
  margin-top: 20px;
  padding-bottom: 20px;
  border-radius: 6px;
}

.review_box_inner {
  background: #fff;
  padding: 10px;
  border-radius: 3px;
}

.review_box_inner:nth-child(2) {
  margin-top: 15px;
}

.review_title {
  font-weight: bold;
  padding: 10px;
  text-align: center;
}

.review_name {
  font-weight: bold;
  margin-right: 5px;
  font-size: 14px;
  border-bottom: 1px solid #e6e6e6;
  padding-bottom:  5px;
}

.review_name span {
  font-size: 12px;
}

.review_text {
  font-size: 14px;
  margin-top: 10px;
}

.review_star_ratingBox_top {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.review_star_rating_number {
  font-size: 14px;
}

.review_date {
  font-size: 14px;
}



/* ボタン */
.balloon2 {
  position: relative;
  padding: 12px 10px;
  width: 100%;
  margin: 40px auto 0;
  font-size: 16px;
  color: #6a6a6a;
  font-weight: bold;
  background: #FFF;
  border: solid 2px #6a6a6a;
  box-sizing: border-box;
  text-align: center;
  border-radius: 4px;
}

.balloon2:before {
  content: "";
  position: absolute;
  bottom: -24px;
  left: 50%;
  margin-left: -15px;
  border: 12px solid transparent;
  border-top: 12px solid #6a6a6a;
  z-index: 2;
}

.balloon2:after {
    content: "";
    position: absolute;
    bottom: -28px;
    left: 50%;
    margin-left: -17px;
    border: 14px solid transparent;
    border-top: 14px solid #6a6a6a;
    z-index: 1;
}

.button_box {
  width: 90%;
  margin: 20px auto 0;
  text-align: center;
  font-size: 18px;
}

.button_box a {
  display: block;
  position: relative;
  padding: 15px;
  background: #ff9b2b;
  box-shadow: 0 4px 0 #aa681e;
  color: #fff;
  font-weight: bold;
  border-radius: 30px;
  overflow: hidden;
}

.shiny-btn::before {
    position: absolute;
    content: '';
    display: inline-block;
    top: -180px;
    left: 0;
    width: 30px;
    height: 100%;
    background-color: #fff;
    animation: shiny-btn 3s ease-in-out infinite;
}

@-webkit-keyframes shiny-btn {
    0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}

.button_box a:active {
  box-shadow: none;
  transform: translateY(5px);
}


/* レーダーチャート */
.graphBox_title {
  font-weight: bold;
  background: #888888;
  text-align: center;
  padding: 6px;
  color: #fff;
  font-size: 18px;
}

.graphBox {
  background: #fff;
  margin-top: 50px;
}

.graph_outer {
  background: #fff;
  margin: 20px 0;
}

.graph-bg {
  width: 200px;
  height: 200px;
  margin: 60px auto;
  background: url("https://img-storage.com/lp/2022/h_n/matchplus/default/graph_bg.webp") no-repeat center / contain;
  position: relative;
}

.graph_nurse {
  position: absolute;
  top: -30px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 14px;
  color: #5e8da8;
}

.graph_childminder {
  position: absolute;
  top: 60px;
  right: -80px;
  font-size: 14px;
  color: #5e8da8;
}

.graph_esthetician {
  position: absolute;
  bottom: -30px;
  right: -35px;
  font-size: 14px;
  color: #5e8da8;
}

.graph_dentalhygienist {
  position: absolute;
  bottom: -30px;
  left: -35px;
  font-size: 14px;
  color: #5e8da8;
}

.graph_caregiver {
  position: absolute;
  top: 60px;
  left: -70px;
  font-size: 14px;
  color: #5e8da8;
}


.pentagon {
  margin: 0 auto;
  width: 200px;
  height: 200px;
  background: #6bd0ff4d;
  clip-path: polygon(50% 0%, 100% 39%, 75% 89%, 26% 89%, 0% 39%);
  animation: graphAnim04 3s forwards;
}

@keyframes graphAnim04 {
  0% {
    clip-path: polygon(50% 50%, 50% 50%, 50% 50%, 50% 50%, 50% 50%);
  }
  100% {
    clip-path: polygon(0, 0, 0, 0, 0);
  }
}

.graph_notes {
  text-align: right;
  margin-top: 20px;
  margin-right: 10px;
  font-size: 12px;
  color: #a1a1a1;
}

.balloon2-top {
  position: relative;
  display: inline-block;
  margin: 30px 20px;
  padding: 7px 10px;
  min-width: 120px;
  max-width: 100%;
  color: #848484;
  font-size: 16px;
  background: #FFF;
  border: solid 1px #848484;
  box-sizing: border-box;
  border-radius: 3px;
  font-size: 14px;
}

.balloon2-top:before {
  content: "";
  position: absolute;
  top: -24px;
  left: 30%;
  margin-left: -15px;
  border: 12px solid transparent;
  border-bottom: 12px solid #FFF;
  z-index: 2;
}

.balloon2-top:after {
  content: "";
  position: absolute;
  top: -28px;
  left: 30%;
  margin-left: -17px;
  border: 14px solid transparent;
  border-bottom: 14px solid #848484;
  z-index: 1;
}


/* コメント */
.comment_section {
  background: #fff;
  padding-top: 30px;
}

.comment_ttl {
  border-bottom: 1px solid #F3F3F3;
  padding: 5px;
}

.comment_box {
  border-bottom: 1px solid #F3F3F3;
  padding: 12px 8px;
}

.comment_box_name {
  display: flex;
  justify-content: space-between;
}

.comment_box_name p:nth-of-type(1) {
  font-size: 14px;
}

.comment_box_name p:nth-of-type(2) {
  font-size: 12px;
}

.comment_box_text {
  font-size: 14px;
  margin-top: 10px;
}

.comment_box_heart {
  text-align: right;
  color: #ff0984;
  margin-top: 10px;
}

/* フッター */
.footer {
  background: #35434f;
  text-align: center;
  padding-top: 10px;
}

.contact_box {
  width: 70%;
  margin: 20px auto 10px;
}

.contact_box a {
  display: block;
  font-weight: bold;
  font-size: 14px;
  padding: 8px 20px;
  border-radius: 30px;
  color: #fff;
  border: 2px solid #fff;
}

.contact_box a:hover {
  color: #333;
  background: #fffd;
}

.copy {
  color: #ffffff;
}

