@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;500;700;900&display=swap');

html {
  font-size: 62.5%; /* 1rem = 10px */
}

body {
  font-family: 'Noto Sans JP', sans-serif;
  margin: 0;

}

a:hover {
  opacity: 0.8;
}

.inner {
  width: 96%;
  margin: auto;

}


/* ーーーーーー全体ーーーーーー */
.text_area {
  box-shadow: 4px 4px 0px 0px #000000;
  border: 1px solid #000;
  width: 100%;
  min-height: 12rem;
  padding: 0.8rem 1.6rem;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 20.72px;
  letter-spacing: 0.04em;
  text-align: left;
}
.wrap {
  background-image: url(../img/bg.svg);
  background-repeat: repeat-y;
}
.main {
  padding-top: 4.4rem;
  overflow-x: hidden;
}
.main_list .inner,
.main_report_list .inner,
.ranking,
.report_detail .inner {
  max-width: 51.2rem;
  margin: auto;
}

/* モーダルのスタイル */
.modal {
  display: none; /* デフォルトでは非表示 */
  position: fixed;
  z-index: 5;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0,0,0,0.4); /* 背景を半透明に */
}
.modal_content {
  background-color: #fefefe;
  margin: 35vh auto;
  padding: 1.6rem 1.6rem 4.8rem;
  border: 1px solid #888;
  width: 92%;
  max-width: 480px;
  border-radius: 1rem;
}
.close {
  display: flex;
  justify-content: right;
}
.close_icon {
  width: 1.6rem;
  height: auto;
}
.close_icon:hover,
.close_icon:focus {
  opacity: 0.8;
  text-decoration: none;
  cursor: pointer;
}
.modal_head {
  font-size: 2.0rem;
  margin-bottom: 3.2rem;
}

.modal_label {
  font-size: 1.4rem;

}

.modal_input {
  width: 100%;
  padding: 1rem 1.2rem 1rem 1.6rem;
  margin-bottom: 3.2rem;
  border: 1px solid #000;
  border-radius: 1rem;
  font-size: 1.5rem;
}
.modal_input_reset {
  margin-top: 2.4rem;
} 
.modal_btn {
  text-align: center;
}
.modal_btn button {
  width: 100%;
  text-align: center;
  background-color: #000;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  padding: 0.8rem;
  border-radius: 1rem;
}
.modal_button  {
  width: 100%;
  text-align: center;
  background-color: #000;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  padding: 0.8rem;
  border-radius: 1rem;
}
.delete_button {
  margin-top: 1.6rem;
  background-color: #DDD;
  color: #000;

}
.modal_input_member {
  margin-top: 0.8rem;
}
.body_top .prefecture_list,
.body_top .modal_input {
  margin-bottom: 0.8rem;
  margin-top: 0.4rem;
}
.body_top .region_form {
  margin-bottom: 4.8rem;
}

/* ヘッダー */
.header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: #000;
  color: #fff;
  padding: 1rem 2rem;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 20;
  height: 4.4rem;
}
.header_logo {
  display: flex;
  align-items: center;
}

.header input[type="checkbox"] {
  opacity: 0;
  visibility: hidden;
  position: absolute;
}
.hamburger {
  display: block;
  width: 2.4rem;
  height: 2.4rem;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}
.hamburger span,
.hamburger span::before,
.hamburger span::after {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 0.2rem;
  background-color: #fff;
  transition: all 0.5s;
}
.hamburger span::before {
  top: -1rem;
}
.hamburger span::after {
  bottom: -1rem;
}
input[type="checkbox"]:checked + .hamburger span {
  background-color: transparent;
}
input[type="checkbox"]:checked + .hamburger span::before {
  top: 0;
  transform: rotate(45deg);
}
input[type="checkbox"]:checked + .hamburger span::after {
  bottom: 0;
  transform: rotate(-45deg);
}
.nav {
  position: fixed;
  width: 80%;
  height: 100vh;
  top: 4.4rem;
  left: -120%;
  background-color: #fff;
  color: #000;
  padding: 4.8rem 0;
  transition: all 0.5s;
  z-index: 10;
}
.nav_item a,
.nav_item .logout_submit {
  display: block;
  font-size: 2.0rem;
  /* padding: 1.6rem 0 1.6rem 4.8rem; */
  padding: 1.6rem 0 1.6rem 10%;
  text-transform: uppercase;
  color: #000;
  text-decoration: none;
}
.nav_item_small a {
  font-size: 1.6rem;
  color: #9E9E9E;
}

.nav_item a:hover,
.nav_item .logout_submit:hover {
  color: #0f5474;
  background-color: #fff;
}
input[type="checkbox"]:checked ~ .nav {
  left:  0;
}

.header_logo {
  display: flex;
  position: absolute;
  right: 0;
  left: 0;
  margin: 0 auto;
  width: 22rem;

}
.header_logo_icon {
  height: 3.2rem;
  width: 3.2rem;
}
.header_logo .heder_text {
  font-size: 1.6rem;
  font-weight: 700;

}
.header_logo_text {
  margin-left: 0.4rem;
}
.header_logo_text_top {
  width: 19.2rem;
  display: block;
}
.header_logo_text_bottom {
  width: 8.8rem;
  display: block;
  margin-top: 0.4rem;
}
.sarch {
  width: 2.8rem;
  height: 2.8rem;
}
.sarch_icon {
  width: 100%;
}
.nav_bottom {
  width: 100%;
  height: 50%;
  position: relative;
}
.nav_bottom a {
  position: absolute;
    bottom: 8.0rem;
    /* left: 4.8rem; */
    left: 10%;
    font-size: 1.2rem;
    font-weight: 500;
    text-align: left;
    color: #000;
    display: flex;
    align-items: center;
    text-decoration: none;
}
.nav_bottom_icon {
  display: inline-block;
  margin-right: 4px;
}
@media (min-width: 768px) {
  .nav {
    width: 40%;
  }
}
@media (min-width: 1024px) { 
  .nav {
    width: 30%;
  }

}


/* フッター */
.terms_links {
  text-align: center;
}


/* ログインページ */
.main_login {
  padding-top: 0;
}
.main_head_logo {
  text-align: center;
  margin-top: 15vh;
  margin-bottom: 2.4rem;

}
.main_head_logo img {
  width: 63%;
  max-height: 160px;
  margin: auto;
  object-fit: contain;
}
.login_content {
  width: 90%;
  margin: 2.4rem auto;
}
.login_form label {
  display: block;
  margin-bottom: 0.4rem;
  font-size: 1.2rem;
}
.login_form input[type="password"],
.login_form input[type="email"] {
  width: 100%;
  padding: 1rem 1.2rem 1rem 1.6rem;
  margin-bottom: 1.6rem;
  border: 1px solid #000;
  border-radius: 1rem;
  font-size: 1.5rem;
}
.login_form .login_btn {
  text-align: center;
}

.login_form button {
  /* width: 92%; */
  width: 100%;
  padding: 1.3rem 1.6rem;
  background-color: #01A1E0;
  border-radius: 1rem;
  color: white;
  font-size: 1.6rem;
  cursor: pointer;
  margin: 2.4rem auto 1.6rem;
}
.login_form button:hover {
  background-color: #0056b3;
}
.reset_password_link {
  text-align: right;
  font-size: 1.2rem;
}
.terms_checkbox {
  display: flex;
  align-items: center;
  color: #000;
  font-size: 1.2rem;
  margin-top: 0.8rem;

}
.terms_checkbox a {
  color: #000;
}
.terms_checkbox_main {
  margin-right: 0.8rem;
}
.register_link {
  font-size: 1.6rem;
  color: #9E9E9E;
  text-align: center;
}
.register_link_btn {
  color: #01A1E0;
  font-weight: 700;
  text-decoration: none;
}
.register_link_btn:hover {
  cursor: pointer;
  opacity: 0.8;
}



/* リポートリストページ */
.list_prefecture {
  font-size: 1.6rem;
  font-weight: 700;
  margin: 1.6rem 0 0.8rem;
}
.main_list .report_head {
  align-items: flex-start;
}
/* .team_name {
  position: relative; 
  margin-bottom: 8px;
  width: 100%;
 
}
.team_name_container {
    margin: auto;
    width: 80%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: absolute;
    color: #fff;
    top: 0.5rem;
    left: 10%;

}
.team_name_container p {
  font-size: 1.6rem;
  font-weight: 700;
} */
.team_back {
  width: 100%;
}
.member_list {
  display: flex;
  align-items: center;
  border-bottom: 1px dotted #DDD;
  margin-bottom: 0.8rem;
  justify-content: space-evenly;
} 
.member_icon_non {
  width: 25%;
  max-width: 9rem;
  height: 9vh;
  min-height: 7.2rem;
  position: relative;
  overflow: hidden;
  clip-path: polygon(32% 0%, 100% 0%, 68% 100%, 0% 100%);
  background-color: #9E9E9E;
}
.member_icon_non_img {
  width: 3.2rem;
  height: 3.2rem;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
}
.member_icon {
  width: 25%;
  max-width: 9rem;
  height: 9vh;
  min-height: 7.2rem;
  position: relative;
  overflow: hidden;
  clip-path: polygon(32% 0%, 100% 0%, 68% 100%, 0% 100%);
  background-color: #9E9E9E;
}
.member_icon_img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* object-position: top; */
}
.member_name {
  width: 45%;
  font-size: 1.4rem;
  padding-left: 0.8rem;
}
.member_name_none {
  color: #DDDDDD;
}
.member_insta {
  width: 15%;
  text-align: center;
}
.member_edit {
  width: 15%;
  text-align: center;
}
.member_form .profile_icon {
  display: flex;
  align-items: center;
  margin-bottom: 2.4rem;
}
.member_form .profile_icon_img {
  /* width: 25%; */
  width: auto;
  height: 9vh;
  min-height: 7.2rem;
  position: relative;
  overflow: hidden;
  clip-path: polygon(32% 0%, 100% 0%, 68% 100%, 0% 100%);
  background-color: #9E9E9E;
  
}
.top_link {
  width: 92%;
  margin: 3.2rem auto 1.6rem;
}
.top_link_button {
  width: 100%;
  padding: 0.8rem 1.6rem;
  background-color: #01A1E0;
  border-radius: 10rem;
  box-shadow: 0px 2px 6px 0px #00000042;
  color: #fff;
  font-size: 1.6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}
.crown_icon {
  margin-right: 0.8rem;
  margin-bottom: -0.2rem;
}
.report_list {
  width: 92%;
  margin: auto;
}
.report_content a {
  width: 100%;
  display: flex;
  padding: 1.6rem;
  border-radius: 1.2rem;
  box-shadow: 0px 2px 6px 0px #00000029;
  align-items: center;
  text-decoration: none;
  color: #000;
  margin-bottom: 0.8rem;
}
.report_content_none a {
  color: #DDDDDD;
}
.report_time,
.report_point {
  width: 45%;
}
.report_point {
  text-align: right;
}
.arrows {
  width: 10%;
  display: flex;
  justify-content: end;
}
.arrows_icon {
  width: auto;
  height: 1.2rem;
}
.report_week {
  font-size: 1.4rem;
}
.total_point{
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 4%;
}
.report_days,
.total_point_small {
  font-size: 1.6rem;
  font-weight: 700;
}
.total_point_small {
  margin-right: 0.8rem;
}
.like_point {
  display: flex;
  justify-content: right;
  font-size: 1.2rem;
  color: #E6645F;
  align-items: unset;
  justify-content: right;

}
.like_icon {
  margin-top: 0.2rem;
}
.like_icon_img {
  width: auto;
  height: 1.6rem;
  margin-right: 0.4rem;
}
.prefecture_list {
  width: 100%;
  border-radius: 1rem;
  padding: 1.6rem;
  border: 1px solid #9E9E9E;
  background-color: #DDDDDD;
  font-size: 1.5rem;
  margin-bottom: 3.2rem;
}

/* レポートポストページ */
.report_head_week {
  font-size: 1.4rem;
  color: #9E9E9E;
}
.report_head_day {
  font-size: 1.6rem;
  font-weight: 700;
}
.report_post_form_time {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  font-size: 1.6rem;
  font-weight: 700;
}
.report_post_form_time input {
  width: 11.2rem;
  border-radius: 1rem;
  border: 1px solid;
  padding: 0.8rem 1.6rem;
  font-size: 1.5rem;
  margin: 0.8rem 1.6rem;
  text-align: right;
}
.report_post_form_text {
  margin-top: 2.4rem;

}
.report_post_form_text_check {
  display: block;
  margin-bottom: 1.6rem;
  font-size: 1.6rem;
}
.report_post_form_text_label {
  font-size: 1.6rem;
  font-weight: 700;
  display: block;
  margin-bottom: 0.8rem;
}
.report_post_form_text_area {
  padding: 0.8rem;
  border-radius: 0.8rem;
  border: 1px solid #DDDDDD;
  width: 100%;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 2.2;
}
.report_post_form_btn {
  text-align: center;
} 
.report_post_form_btn {
  width: 100%;
  padding: 1.2rem 1.6rem;
  text-align: center;
  border-radius: 1rem;
  background-color: #01A1E0;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  margin-top: 24px;
}
.report_post_form_btn_delete {
  background-color: #fff;
  color: #FF543E;
  font-weight: 500;
  margin-top: 0.8rem;
  
}


/* topページ */
.bnr {
  width: 100%;
  display: inline-block;
}
.bnr_recipe {
  margin: 0.8rem auto;
  width: 100%;
  max-width: 42.2rem;
  display: block;
}
.bnr_img {
  width: 100%;
}
.tabs {
  display: flex;
  justify-content: flex-start;
  overflow-x: auto;
  padding-bottom: 1px;
}
@media screen and (min-width:960px) {
  .tabs {
     max-width: 1100px;
     margin: auto;
     justify-content: center;

  }

}
.tabs_bottom {
  width: 100%;
  height: 0.4rem;
  background-color: #000;
}
.tab_button {
  border: none;
  color: #C6C3C4;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 1.6rem;
  cursor: pointer;
  width: 8rem; /* 通常時の幅 */
  height: 4rem;
  position: relative;
  z-index: 1;
  margin-left: 0.4rem;
  flex: 0 0 8rem; /* 幅を固定 */
}
.tab_button::before {
  content: "";
  position: absolute;
  top: 0; 
  bottom: 0; 
  left: 0; 
  right: 0;
  z-index: -1;
  background: #F1F1F1;
  transform: skewX(-25deg);
  width: 100%; /* 通常時の幅 */
}
.tab_button:first-child {
  margin-left: 1.2rem;
}
.tab_button.active, .tab_button:hover {
  color: #fff;
}
.tab_button.active {
  width: 14.4rem; /* アクティブ時の幅 */
  flex: 0 0 14.4rem; /* 幅を固定 */
}
.tab_button.active::before {
  content: "";
  position: absolute;
  top: 0; 
  bottom: 0; 
  left: 0; 
  right: 0;
  z-index: -1;
  background-color: #000;
  transform: skewX(-25deg);
  width: 100%; /* アクティブ時の幅 */
}
.tab_button .tab_text_small {
  display: none; /* 通常時は非表示 */
  font-size: 1.0rem;
}
.tab_button.active .tab_text_small {
  display: block; /* アクティブ時は表示 */
}
.text_area_home {
  margin: 0.8rem auto;
  max-width: 68.2rem;
}

.report_card {
  width: 100%;
  text-decoration: none;
  margin-bottom: 2.4rem;
  border-bottom: 1px solid #DDD;
}
.report_card_content {
  padding-bottom: 0.8rem;
  position: relative;
  
}
.report_card_content a {
  text-decoration: none;
}
.report_head {
  width: 92%;
  margin: 0 auto 0.4rem;
  height: 4rem;
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  padding: 0.4rem 1.6rem 0;
  /* align-items: flex-start; */
  align-items: baseline;
}
.report_head::before {
  position: absolute;
  transform: skewX(40deg);
  content: "";
  position: absolute;
  top: 0; 
  bottom: 0; 
  left: 0; 
  right: 0;
  z-index: -1;
  background-color: #000;
 
}
.report_head_edit_icon {
  width: 2.4rem;
  height: 2.4rem;
  display: inline-block;

}
.report_head_arrow {
  transition: transform 0.3s ease;
}
.report_head_arrow.open {
  transform: rotate(180deg);
}
.report_head_bg_bottom {
  width: 100.1%;
  height: 0.8rem;
  background-color: #01A1E0;
  transform: skewX(40deg);
  position: absolute;
  bottom: 0;
  left: 1.3rem;
}
.report_head_team_name {
  font-weight: 700;
  color: #fff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.report_head_prefecture {
  font-size: 1.2rem;
  font-weight: 700;
  color: #fff;
  width: 56px;
  text-align: end;
  white-space: nowrap;
}
.member_info {
  display: flex;
  width: 92%;
  justify-content: space-between;
  margin: auto;
}
.member_info_content {
  width: 19.5%;
  transform: skewX(160deg);
}
@media screen and (min-width: 680px) {
  .member_info_content {
    transform: skewX(163deg);
  }

}
.member_info_icon_non {
  width: 100%;
  /* height: 100%; */
  height: 10vh;
  min-height: 7.2rem;
  /* min-height: 9rem; */
  position: relative;
  overflow: hidden;
  background-color: #000;
  position: relative;
}
@media screen and (min-width: 680px) {
  .member_info_icon_non {
    height: 20vh;
    max-height: 96px;
  }
}
.member_info_icon {
  width: 100%;
  /* height: 9vh; */
  height: 100%;
  /* min-height: 9rem; */
  min-height: 7.2rem;
  position: relative;
  overflow: hidden;
  position: relative;
  
  
}
.member_info_icon_img {
  width: 100%;
  height: 100%;
  /* object-fit: cover; */
  object-fit: contain;
  transform:skewX(-160deg) scale(1.5);
  transform-origin:center;
  /* transform-origin: calc(50% + 35px) top; */
  

}
@media screen and (min-width: 680px) {
  .member_info_icon {
    min-height: 9rem;
  }
  .member_info_icon_img {
    transform: skewX(-167deg) scale(1.4);
  }

}
.member_info_icon_non_img {
  width: 4.5rem;
  height: auto;
  object-fit: contain;
  display: block;
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  transform: skewX(-160deg);

}
.member_info_bottom {
  text-align: center;
  position: absolute;
  bottom: 0;
  width: 100%;
  color: #fff;
}
.member_info_bottom_content {
  position: relative;
  width: 100%;
  z-index: 1;
  display: flex;
  justify-content: space-evenly;
  height: 1.4rem;
  align-items: center;
  transform: skewX(-160deg);
}

.member_info_bottom_content::before {
  position: absolute;
  content: "";
  position: absolute;
  top: 0; 
  bottom: 0; 
  left: 0; 
  right: 0;
  z-index: -1;
  background-color: #000;
  transform: skewX(160deg);
}
.member_info_bottom_content_name {
  width:70%;
  max-width: 70%; /* 必要に応じて調整 */
  color: #fff;
  font-size: 1rem;
  padding-bottom: 2px;
  
}
.member_info_bottom_content_name p {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;

}
.member_info_bottom_content_icon {
  width: 1.2rem;
  height: 1.2rem;
  text-decoration: none;
}
.member_info_bottom_content_icon_img {
  width: 100%;
  height: auto;
}
.member_info_name_none {
  color: #fff;
}
.report_card_report_text {
  width: 98%;
  margin: 0.8rem auto;
  color: #000;
}
.report_card_report_text_main {
  font-size: 1.4rem;
  display: -webkit-box; 
  -webkit-box-orient: vertical; 
  -webkit-line-clamp: 2; 
  overflow: hidden;
}
.report_card_report_text_days {
  text-align: right;
  font-size: 1.2rem;
  color: #9E9E9E;
}
.report_card_report_total {
  display: flex;
  align-items: center;
  justify-content: right;
}
.report_card_report_total_score {
  font-size: 1.2rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  color: #000;
}
.report_card_report_total_score_big {
  font-size: 2.4rem;
  margin-left: 0.8rem;
}
.report_link {
  text-decoration: none;
}
.non_report {
  height: 90vh;
  width: 100%;

}
.non_report_img {
  width: 20.8rem;
  height: auto;
  display: block;
  margin: 12.8rem auto 0;
}
.non_report_text {
  font-size: 1.6rem;
  font-weight: 700;
  color: #9E9E9E;
  text-align: center;
} 
.comment_non {
  color: #9E9E9E;
  text-align: center;
}
.comment_non_img {
  width: 9.6rem;
  margin: auto;
  display: block;
}
.filter {
  display: flex;
  align-items: center;
  margin-top: 0.8rem;
  margin-bottom: 0.8rem;
}
.filter_result {
  font-size: 1.8rem;
  font-weight: 700;
  color: #01A1E0;
}
.like_button {
  font-size: 1.4rem;
  color: #9E9E9E;
  background-color: #DDD;
  border: 1px solid #9E9E9E;
  width: 11.8rem;
  border-radius: 10rem;
  padding-top: 0.4rem;
  padding-bottom: 0.4rem;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: 0.8rem;
}
.likes_text {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  color: #9E9E9E;

}
.likes_icon {
  height: 1.8rem;
  margin-right: 0.4rem;
}
.likes_icon img {
  width: 1.8rem;
  height: 1.8rem;
  object-fit: contain;
  display: inline-block;
}
.likes_message {
  width: 100vw;
  margin-top: 0.8rem;
  margin-bottom: 0.8rem;
  
}
@media screen and (min-width: 960px) {
  .likes_message {
    margin-top: 1.6rem;
    margin-bottom: 1.6rem;
    
  }
  

}

.likes_message_inner {
  width: 100vw;
  height: 60px;
  background-image: url(../img/likes_bg.png);
  background-size: cover;
  margin-left: -2%;
}
.likes_message_color {
  display: flex;
  align-items: center;
  color: #E6645F;
}
.likes_message_icon {
  width: 32px;
  height: 32px;
  display: inline-block;
  margin-left: -4px;
}

.likes_message_head {
  font-size: 18px;
  letter-spacing: 1.44px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
}
.likes_message_bottom {
  font-size: 12px;
  letter-spacing: 0.96px;
  text-align: center;
  font-weight: 400;
}


/* レポート詳細 ページ*/
.home_link {
 text-align: right;
 margin-top: 1.6rem;
  
}
.home_link a {
  font-size: 1.6rem;
    font-weight: 700;
    margin: 1.6rem 0 0.8rem;
}
.report_detail .report_head {
  align-items: flex-start;
}
.report_detail_icon_non {
  width: 25%;
  max-width: 9rem;
  height: 9vh;
  min-height: 7.2rem;
  position: relative;
  overflow: hidden;
  clip-path: polygon(32% 0%, 100% 0%, 68% 100%, 0% 100%);
  background-color: #000;
}
.report_detail_icon_non .member_info_icon_non_img {
  transform: skewX(0);
}
/* .report_detail .member_list {
  justify-content: space-between;
} */
.report_detail .member_name {
  width: 60%;
}
.report_detail .point {
  margin: 3.2rem auto 0;
  text-align: right;
  padding-right: 0.8rem;
}
.report_detail .point_results {
  font-size: 1.6rem;
  font-weight: 700;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.report_detail .point_results .score {
  width: 12.8rem;
  text-align: right;
  font-size: 1.6rem;
}
.report_detail .point_results .point_big {
  font-size: 2.4rem;
}
.report_detail .point_total {
  font-size: 1.6rem;
  font-weight: 700;
  display: inline-block;
}
.report_detail .point_total .point_big {
  font-size: 2.4rem;
  margin-left: 0.8rem;
}
.report_detail .message {
  margin-top: 3.2rem;
}
.report_detail .report_message_head {
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 0.8rem;
}
.report_detail .report_message_main {
  box-shadow: 4px 4px 0px 0px #000000;
  border: 1px solid #000;
  width: 100%;
  padding: 0.8rem 1.6rem;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 20.72px;
  letter-spacing: 0.04em;
  text-align: left;
  margin-bottom: 2.4rem;
}
.report_detail .likes {
  display: flex;
  justify-content: end;
  margin-top: 0.8rem;
}
.report_detail .members {
  display: none;
  transition: max-height 0.3s ease-out;
}
.report_detail .members.open {
  display: block;
}



/* 運営ページ */
.manager_page {
  margin-top: 0.4rem;
}
#commentSection {
  margin-top: 1.6rem;
  max-width: 51.2rem;
  margin: auto;
}




/* 利用規約・プラポリ */
.terms .content ,
.privacy .content {
  padding: 1.6rem 0.8rem;

  font-size: 14px;
  font-weight: 400;
  line-height: 20.72px;
  letter-spacing: 0.04em;
  text-align: left;


}
.terms h2,
.privacy h2 {
  font-size: 14px;
  line-height: 20.72px;
  letter-spacing: 0.04em;
  text-align: left;
  margin-top: 2.4rem;
}
.terms ul {
  padding-left: 2.4rem;
  
}
.privacy ul {
  padding-left: 0;
  list-style: none;
}
.privacy ul ul {
  padding-left: 0.8rem;
}
.terms ol,
.privacy ol {
  padding-left: 3.6rem;
}

.terms .end-text,
.privacy .end-text {
  margin-top: 2.4rem;
  text-align: right;
}

@media screen and (min-width: 680px) {
  .page_header_logo {
    left: 8rem;
    margin: 0;

  }

}


.report_post_form_text {
  margin-bottom: 20px;
}

.training_schedule_table {
  width: 100%;
  border-collapse: collapse;
  overflow-x: auto;
  display: block;
  max-width: 100%;
}

.training_schedule_table th, .training_schedule_table td {
  border: 1px solid #ddd;
  padding: 8px;
  text-align: center;
}

.training_schedule_table th {
  background-color: #f2f2f2;
}

.training_schedule_table td select {
  width: 100%;
  min-width: 80px; /* セレクトボックスの最小幅を設定 */
  box-sizing: border-box; /* paddingを含むようにbox-sizingを設定 */
  margin: 0 auto;
  display: block;
  font-size: 14px;
  padding: 4px;
  text-align: center;
  border-radius: 8px;
  background: #dcdcdc;
}

.training_schedule_table td:first-child {
  width: 120px; /* 名前の部分の幅を大きくしました */
  white-space: nowrap;
}

@media (max-width: 768px) {
  .training_schedule_table td select {
    width: auto; /* モバイルでは自動幅 */
    min-width: 80px; /* モバイルでも最小幅を広く設定 */
  }
}

/* HTML: <div class="loader"></div> */
.loading-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.8); /* 背景を半透明にする */
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999; /* 最前面に表示する */
}
.loader {
  width: 80px;
  height: 40px;
  display: flex;
}
.loader::before,
.loader::after {
  content: "";
  flex: 1;
  clip-path: polygon(0 0, 100% 0, 100% 100%);
  background: #01A1E0; /* 色を変更 */
  animation: 
      l15-1 1s infinite linear alternate,
      l15-2 2s infinite linear -.5s;
}
.loader::after {
  --s: -1, -1;
}
@keyframes l15-1 {
  0%,
  10%  {transform: scale(var(--s, 1)) translate(0px) perspective(150px) rotateY(0deg)}
  33%  {transform: scale(var(--s, 1)) translate(-10px) perspective(150px) rotateX(0deg)}
  66%  {transform: scale(var(--s, 1)) translate(-10px) perspective(150px) rotateX(-180deg)}
  90%,
  100% {transform: scale(var(--s, 1)) translate(0px) perspective(150px) rotateX(-180deg)}
}
@keyframes l15-2 {
  0%, 49.99% {background: #01A1E0;} /* 色を変更 */
  50%, 100%  {background: #01A1E0;}
}

.custom-message {
  font-size: 14px;
  margin-top: 8px;
}
.red {
  color: red;
}
.report_head_weakly {
  font-size: 1.4rem;
}
.weakly {
  margin: 24px auto 8px;
}
.custom-message_weakly {
  width: 90%;
  margin: 16px auto;
}
.kanri {
  max-width: 51.2rem;
  margin: auto;
}

.post_item {
  border: 1px solid #ccc;
  padding: 15px;
  margin-bottom: 15px;
  border-radius: 5px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
.form_group {
  margin-bottom: 15px;
}
.form_group label {
  display: block;
  font-weight: bold;
  margin-bottom: 5px;
}
.form_group input[type="text"],
.form_group textarea,
.form_group select {
  width: 100%;
  padding: 8px;
  border: 1px solid #ddd;
  border-radius: 4px;
  box-sizing: border-box;
}
.form_group textarea {
  resize: vertical;
}
.form_group button {
  padding: 10px 15px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  margin-right: 10px;
}
.form_group button[type="submit"] {
  background-color: #28a745;
  color: #fff;
}
.form_group button[type="submit"][name="action"][value="delete"] {
  background-color: #dc3545;
}
.masked {
  position: relative;
  pointer-events: none; /* クリックを無効化 */
}
.masked::before {
  content: "";
  position: absolute;
  top: -8px;
  left: 0;
  width: 100%;
  height: 100%;
  background-color:#fff;
  filter: blur(5px); /* 背景をぼかす */
  z-index: 3; /* テキストより背面に配置 */
  pointer-events: none; /* クリックを無効化 */
}

.mask {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 10px 20px;
  border-radius: 5px;
  z-index: 5;
  white-space: nowrap;
}

.section-title {
  font-size: 18px;
  font-weight: bold;
  color: #333;
  margin-bottom: 4px;
}
.section-text {
  font-size: 14px;
  width: 96%;
  margin: auto;
  line-height: 1.5;
  
}
.section-text-mini {
  color: red;
}
.highlight {
  color: #ff5733;
  font-weight: bold;
}

.example {
  margin-top: 10px;
  margin-left: 16px;
  font-size: 12px;
  color: #666;
}

.section-title {
  display: flex;
  align-items: center;
  font-weight: bold;
}
.section-title {
  display: flex;
  align-items: center;
}
.likes_message_icon {
  vertical-align: middle; /* 画像を文字と垂直方向に揃える */
}
.example {
  margin-bottom: 10px; /* 各例の間隔を調整 */
}

.campaign {
  position: fixed;
  bottom: 0;
  z-index: 2;
  right: 0;
  left: 0;
  margin: auto;
}
.bnr_campaign {
  position: relative;
  width: 98%;
  max-width: 36rem;
  margin: auto;
  display: block;

}
.bnr_campaign .bnr_img {
  width: 100%;
  
}
.bnr_close {
  position: absolute;
  top: 35%;
  left: 3%;
  width: 16px;
  height: 16px;
}
@media (min-width: 1024px) { 
  .campaign {
    right: 0;
    top: 50%;
    left: auto;
  }

}