@charset 'UTF-8';
@import url('https://fonts.googleapis.com/css2?family=Black+Ops+One&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Darumadrop+One&display=swap');
/* =======================================
  CONTENTS
 ======================================= */

 /* signup_page */
 .signup_body {
    background-color: #DAF1F0;
 }
 .signup_wrap {
    margin: 6rem auto;
    /* padding: 6rem 10rem; */
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20rem;
 }
 .signup_decoration_wrap {
    text-align: center;
 }
 .signup_decoration_wrap p {
    width: 414px;
    margin-top: 6rem;
    aspect-ratio: 414/200;
    border-radius: 4rem;
    background-color: #F6F6F6;
    font-size: 2.4rem;
    line-height: 60px;
    text-align: left;
    display: flex;
    align-items: center;
    justify-content: center;
 }
 .signup_logo {
    margin-top: 4rem;
 }
 .signup_dog {
    margin-top: 4rem;
    margin-right: 6rem;
 }
 .signup_form_wrap {
    width: 80%;
    max-width: 614px;
    padding: 6rem 5rem;
    /* min-width: 614px; */
    background-color: #F6F6F6;
    aspect-ratio: 614/900;
    border-radius: 4rem;
    text-align: center;
 }
 .signup_welcometxt {
    font-size: 4rem;
 }
 .signup_txt {
    margin-top: 6rem;
    text-align: left;
    font-size: 3.2rem;
    color: #00BFA8;
 }
 .signup_item {
    margin-top: 4rem;
    text-align: left;
 }
 .signup_item_name {
    font-size: 2.4rem;
    font-weight: 400;
 }
 .signup_item_name::after {
    content: "必須";
    margin-left: 2rem;
    padding: 0 1.2rem;
    background-color: #EE7878;
    color: #F6F6F6;
    border-radius: 0.6rem;
    font-size: 1.6rem;
 }
 .username_attention {
    font-size: 1.6rem;
    font-weight: 400;
    color: #BBBBBB;
 }
 .signup_txtbox {
    width: 520px;
    height: 60px;
    margin-top: 0.7rem;
    border-radius: 1rem;
    border: solid 1px #BBBBBB;
 }
 ::placeholder {
    font-size: 2.4rem;
    color: #D8D8D8;

 }
 input[type="text"] {
    font-size: 2.4rem;
 }
 input[type="text"]:focus {
    outline: 0;
    border: solid 3px #00BFA8;
 }
 .annotation_txt {
     margin-top: 0.7rem;
    font-size: 1.4rem;
    font-weight: 400;
    color: #828282;
 }
 .signup_passarea {
    position: relative;
 }
 /* .toggle-password {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
  } */
.view_icon {
    position: absolute;
    right: 2rem;
    top: 5rem
}
.registration_btn {
    margin-top: 5rem;
    margin-bottom: 2rem;
    padding: 1rem 19.0rem 1.3rem;
    border-radius: 1rem;
    background-color: #00BFA8;
    color: #F6F6F6;
    border: solid 3px #00BFA8;
    font-size: 3.2rem;
    transition: .3s;
}
.registration_btn:hover {
    background-color: #F6F6F6;
    color: #00BFA8;
    border: solid 3px #00BFA8;
}
.signup_form_wrap a {
    /* margin-top: 2rem; */
    color: #6B6B6B;
}

 /* login_page */
 .login_body {
    margin: 18rem auto;
    background-color: #DAF1F0;
 }
 .login_form_wrap {
    margin: 0 auto;
 }
 .login_txt {
    margin-top: 10rem;
 }
 .login_item {
    margin-top: 6rem;
 }
.login_registration_btn {
    margin-top: 8rem;
}

/* home (mainmenu) */
.home_body {
    margin-bottom: 16rem;
    padding-bottom: 20rem;
    position: relative;
    text-align: center;
    background-image: url(/img/home_bg.svg);
    background-position: bottom;
    background-repeat: no-repeat;
    background-size: contain;
}
.body_fullscreen {
    height: 100vh;
}
.help_icon {
    position: absolute;
    left: 4rem;
    font-size: 1.6rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.help_icon::before {
    content: "？";
    width: 5rem;
    height: 5rem;
    padding-top: 0.4rem;
    margin-bottom: 0.5rem;
    /* padding: 0.2rem 0.8rem 0.3rem; */
    border: solid 3px black;
    border-radius: 100%;
    font-size: 2.4rem;
}
.logout_btn {
    position: absolute;
    top: 2rem;
    right: 3rem;
    padding: 16px 42px 20px;
    border: solid 4px #00BFA8;
    border-radius: 60px;
    text-decoration: none;
    font-size: 2.4rem;
    transition: .3s;
    color: black;
    background-color: #F6F6F6;
    transition: .3s;
   }
   .logout_btn:hover {
    color: #F6F6F6;
    background-color: #00BFA8;
   }
.home_body p {
    margin-top: 4rem;
    padding: 7rem 0 8rem;
    font-size: 6rem;
    color: #5E493D;
    background-image: url(/img/home_title_bg4.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    font-family: "Darumadrop One", sans-serif;
  font-weight: 400;
  font-style: normal;
}
.home_menu_wrap {
    width: 70%;
    max-width: 1400px;
    margin: 10rem auto 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, 1fr);
    grid-column-gap: 20px;
    grid-row-gap: 20px;
}  
.start_btn { 
    /* padding: 5rem 11rem; */
    aspect-ratio: 670/200;
    color: #F6F6F6;
    background-color: #00BFA8;
    border: solid 4px #00BFA8;
    border-radius: 3rem;
    font-size: 6.4rem;
    text-decoration: none;
    grid-area: 1 / 1 / 2 / 3; 
    display: flex;
    justify-content: center;
    align-items: center;
    transition: .3s;
}
.start_btn:hover {
    color: black;
    background-color: #F6F6F6;
}
.trainer_btn { 
    text-align: left;
    aspect-ratio: 320/200;
    color: black;
    background-color: #F6F6F6;
    border: solid 4px #00BFA8;
    border-radius: 3rem;
    font-size: 3.6rem;
    line-height: 56px;
    text-decoration: none;
    grid-area: 1 / 3 / 2 / 4; 
    display: flex;
    justify-content: center;
    align-items: center;
    transition: .3s;
}
.trainer_btn:hover {
    background-color: #00BFA8;
    color: #F6F6F6;
}
.setting_btn { 
    aspect-ratio: 320/200;
    color: black;
    background-color: #F6F6F6;
    border: solid 4px #00BFA8;
    border-radius: 3rem;
    font-size: 3.6rem;
    text-decoration: none;
    grid-area: 2 / 1 / 3 / 2; 
    display: flex;
    justify-content: center;
    align-items: center;
    transition: .3s;
}
.setting_btn:hover {
    background-color: #00BFA8;
    color: #F6F6F6;
}
.home_menu_btn_wrap { 
    aspect-ratio: 320/200;
    grid-area: 2 / 2 / 3 / 3; 
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.record_btn {
    aspect-ratio: 320/90;
    color: black;
    background-color: #F6F6F6;
    border: solid 4px #00BFA8;
    border-radius: 3rem;
    font-size: 2.4rem;
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: .3s;
}
.record_btn:hover {
    background-color: #00BFA8;
    color: #F6F6F6;
}
.community_btn {
    aspect-ratio: 320/90;
    color: black;
    background-color: #F6F6F6;
    border: solid 4px #00BFA8;
    border-radius: 3rem;
    font-size: 2.4rem;
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: .3s;
}
.community_btn:hover {
    background-color: #00BFA8;
    color: #F6F6F6;
}
/*モーダル本体の指定 + モーダル外側の背景の指定*/
.modal-container{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-align: center;
    background: rgba(0,0,0,50%);
    padding: 40px 20px;
    overflow: auto;
    opacity: 0;
    visibility: hidden;
    transition: .3s;
    box-sizing: border-box;
    z-index: 3;
  }
  /*モーダル本体の擬似要素の指定*/
  .modal-container:before{
    content: "";
    display: inline-block;
    vertical-align: middle;
    height: 100%;
  }
  /*モーダル本体に「active」クラス付与した時のスタイル*/
  .modal-container.active{
    opacity: 1;
    visibility: visible;
  }
  /*モーダル枠の指定*/
  .modal-body{
    position: relative;
    display: inline-block;
    vertical-align: middle;
    max-width: 1000px;
    width: 90%;
  }
  /*モーダルを閉じるボタンの指定*/
  .modal-close{
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    top: -40px;
    right: -40px;
    width: 40px;
    height: 40px;
    font-size: 40px;
    color: #fff;
    cursor: pointer;
  }
  /*モーダル内のコンテンツの指定*/
  .modal-content{
    background: #F6F6F6;
    text-align: center;
    padding: 6rem;
    border-radius: 3rem;
  }
  .explanation_title {
    margin-bottom: 4rem;
    font-size: 3.6rem;
    color: #00BFA8;
  }
  .explanation_first_wrap {
    margin-bottom: 10rem;
  }
  .explanation_txt {
    margin-left: 1em;
    margin-bottom: 3rem;
    font-size: 2.6rem;
    text-align: left;
    text-indent: -1em;
  }
  .explanation_last_wrap {
    margin-bottom: 0;
  }

/* workout_select */
.workout_select_menu_wrap {
    padding-top: 16rem;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6rem;
}
.today_workout_start_btn {
    /* max-width: 500px; */
    padding: 17rem 6rem;
    aspect-ratio: 800/800;
    border-radius: 6rem;
    border: solid 4px #00BFA8;
    background-color: #F6F6F6;
    text-decoration: none;
    color: black;
    font-size: 3.2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 3rem;
    transition: .3s;
}
.today_workout_start_btn div {
    /* margin-top: 3rem; */
    font-size: 2.4rem;
    line-height: 40px;
    font-weight: 400;
}
.today_workout_start_btn:hover {
    background-color: #00BFA8;
    color: #F6F6F6;
}
.independent_workout_start_btn {
    /* max-width: 500px; */
    padding: 18rem 8rem;
    aspect-ratio: 1/1;
    border-radius: 6rem;
    border: solid 4px #00BFA8;
    background-color: #F6F6F6;
    text-decoration: none;
    color: black;
    font-size: 3.2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 3rem;
    transition: .3s;
}
.independent_workout_start_btn div {
    /* margin-top: 3rem; */
    font-size: 2.4rem;
    line-height: 40px;
    font-weight: 400;
}
.independent_workout_start_btn:hover {
    background-color: #00BFA8;
    color: #F6F6F6;
}
.workout_independent_character_wrap {
    position: absolute;
    left: 5%;
    bottom: 2%;
    z-index: -1;
}

/* workout_selected */
.workout_selected_wrap {
    padding: 20rem 20rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8rem;
}
.workout_selected_list_title {
    font-size: 3.2rem;
}
.workout_selected_list_item_wrap {
    margin-top: 8rem;
    padding: 16rem 16rem;
    background-color: #C9EFED;
}
.workout_first {
    font-size: 4rem;
}
.workout_second {
    margin-top: 8rem;
    font-size: 4rem;
}
.workout_third {
    margin-top: 8rem;
    font-size: 4rem;
}
.workout_start_btn {
    padding: 3rem 6rem;
    font-size: 3.2rem;
    text-decoration: none;
    color: #F6F6F6;
    background-color: #00BFA8;
    border: solid 3px #00BFA8;
    transition: .3s;
}
.workout_start_btn:hover {
    background-color: #F6F6F6;
    color: black;
}

/* workout first */
.workout_top_wrap {
    /* margin-top: 3rem; */
    padding: 5rem 10rem;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.today_menu_wrap {
    text-align: left;
}
.today_menu_wrap span {
    font-size: 3.2rem;
}
.today_menu_wrap div {
    margin-top: 1rem;
    /* padding: 9rem 10rem; */
    width: 550px;
    aspect-ratio: 403/163;
    background-image: url(/img/home_title_bg4.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    font-size: 4.8rem;
    color: black;
    display: flex;
    justify-content: center;
    align-items: center;
}
.timer_wrap {
    background-image: url(/img/timer_bg.svg);
    background-repeat: no-repeat;
    background-size: 100% 100%;
}
.timer_string {
    padding: 7rem 10rem 14rem;
    font-size: 5rem;
    font-family: "Black Ops One", system-ui;
  font-weight: 400;
  font-style: normal;
}
.workout_character_wrap {
    position: absolute;
    left: 5%;
    bottom: -5%;
    z-index: -1;
}
.workout_character_comment {
    margin-right: 3rem;
    font-size: 2rem;
    padding: 8rem 2rem;
    background-color: #C9EFED;
    border-radius: 4rem;
}
.workout_character {
    margin-top: 2rem;
    /* position: absolute;
    left: 10rem;
    bottom: 5rem; */
}
.workout_bottom_wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8rem;
}
.workout_finish_btn {
    padding: 3rem 6rem;
    font-size: 3.2rem;
    text-decoration: none;
    color: #F6F6F6;
    background-color: #00BFA8;
    border: solid 3px #00BFA8;
    transition: .3s;
}
.workout_finish_btn:hover {
    background-color: #F6F6F6;
    color: black;
}
.workout_img_wrap {
    width: 100%;
}

/* workout_finish */
.workout_finish_wrap {
    max-width: 900px;
    width: 80%;
    margin: 0 auto;
    padding: 12rem 0;
}
.workout_finish_txt {
    margin-bottom: 10rem;
    color: #00BFA8;
    font-size: 6rem;
}
.workout_finish_contents {
    text-align: left;
}
.workout_finish_contents_title {
    margin-top: 8rem;
    font-weight: 400;
    font-size: 3.6rem;
}
.workout_finish_contents_detail {
    margin-top: 3rem;
    padding: 2rem;
    background-color: #C9EFED;
    border-radius: 1rem;
    color: black;
    font-size: 4rem;
}
.workout_finish_character_wrap {
    position: absolute;
    left: 5%;
    bottom: -8%;
    z-index: -1;
}

/* character_select */
.character_explanation_wrap {
    margin-top: 7rem;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10rem;
}
.character_explanation_item {
    display: flex;
    flex-direction: column;
    gap: 4rem;
}
.character_explanation_txt {
    width: 300px;
    padding: 3.6rem 2rem;
    aspect-ratio: 300/142;
    font-size: 1.6rem;
    background-color: #C9EFED;
    border-radius: 2.4rem;
    text-align: left;
    line-height: 26px;
}
.character_explanation_img_name_wrap {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}
.character_explanation_item img {
    border: solid 6px #C9EFED;
    border-radius: 5rem;
}
.character_name {
    /* display: block; */
    font-size: 3.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
}
.radio_btn {
    appearance: none;
    position: relative;
    width: 24px;
    height: 24px;
    border: solid 2px #989898;
    border-radius: 100%;
}
.radio_btn:checked::before {
    position: absolute;
    top: .2rem;
    left: .2rem;
    transform: translate(-50% -50%);
    width: 16px;
    height: 16px;
    border-radius: 100%;
    background-color: #00BFA8;
    content: "";
}
.character_select_btn {
    margin-top: 10rem;
    padding: 1.7rem 6rem;
    font-size: 3.2rem;
    background-color: #00BFA8;
    color: #F6F6F6;
    border: solid 3px #00BFA8;
    border-radius: 4rem;
    transition: .3s;
}
.character_select_btn:hover {
    background-color: #F6F6F6;
    color: black;
}
.level {
    margin-bottom: 1rem;
    font-size: 2.4rem;
    display: flex;
    justify-content: center;
    align-items: first baseline;
}
.normal {
    font-size: 3.6rem;
    color: #00BFA8;
}
.hard {
    font-size: 3.6rem;
    color: #e81e03;
}
.easy {
    font-size: 3.6rem;
    color: #ffbf00;
}
.level_explanation {
    width: 300px;
    text-align: justify;
    font-size: 1.4rem;
    line-height: 26px;
}

/* setting */
.setting_title {
    padding: 1rem 0 1rem 3rem;
    text-align: left;
    background-color: #00BFA8;
    color: #F6F6F6;
    font-size: 3.2rem;
}
.setting_form_top_wrap {
    margin-top: 6rem;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 2rem;
}
.setting_form_top_wrap input {
    margin-top: 2rem;
}
.setting_registration_btn {
    /* margin-top: auto; */
    width: 220px;
    margin: 0 auto;
    padding: 1rem 2rem;
    border-radius: 1rem;
    font-size: 2rem;
    color: #F6F6F6;
    background-color: #00BFA8;
}
.notification_form_wrap {
    width: 360px;
    aspect-ratio: 360/380;
}
.notification_form_detail_wrap {
    height: 100%;
    padding: 2rem 3rem 4rem;
    background-color: #C9EFED;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.notification_form_item {
    display: flex;
    flex-direction: column;
    text-align: left;
}
.notification_form_item label {
    font-size: 2rem;
    font-weight: 400;
}
.notification_attention {
    font-size: 1.2rem;
}
.today_notification {
    margin-top: 3rem;
}
.usersetting_form_wrap {
    width: 900px;
    aspect-ratio: 900/380;
}
.usersetting_form_detail_wrap {
    height: 100%;
    padding: 2rem 3rem 4rem;

    background-color: #C9EFED;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.usersetting_form_item {
    /* display: flex;
    flex-direction: column; */
    text-align: left;
}
.usersetting_form_item label {
    /* display: flex;
    flex-direction: column; */
    font-size: 2rem;
    font-weight: 400;
}
.usersetting_txtbox {
    width: 350px;
    height: 50px;
    margin-top: 0.7rem;
    border-radius: 1rem;
    background-color: #F6F6F6;
    font-size: 2rem;
 }
 .status_message_txtbox {
    width: 460px;
    height: 50px;
    margin-top: 0.7rem;
    border-radius: 1rem;
    background-color: #F6F6F6;
 }
.usersetting_form_top_wrap {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 2rem;
}
.img_upload_wrap {
    margin-top: 3rem;
    display: flex;
    flex-direction: column;
}
.setting_form_bottom_wrap {
    margin-top: 2rem;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 2rem;
}
.timesetting_form_wrap {
    width: 630px;
    aspect-ratio: 630/620;
}
.timesetting_form_wrap input {
    margin-top: 2rem;
}
.timesetting_checkbox_wrap {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 1rem;
}
.timesetting_form_bottom_wrap {
    margin-top: 5rem;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 8rem;
}
.dayofweek_checkbox {
    appearance: none;
    position: relative;
    width: 40px;
    height: 40px;
    border-radius: 100%;
    background-color: #F6F6F6;
}
.dayofweek_checkbox::before {
    position: absolute;
    content: "日";
    font-size: 2rem;
    top: 0.5rem;
    left: 1rem;
    color: #6C6C6C;
}
.dayofweek_checkbox:checked {
    background-color: #00BFA8;
}
.dayofweek_checkbox:checked::before {
    color: #F6F6F6;
}
.mon::before {
    content: "月";
}
.tue::before {
    content: "火";
}
.wed::before {
    content: "水";
}
.thu::before {
    content: "木";
}
.fri::before {
    content: "金";
}
.sut::before {
    content: "土";
}
.menusetting_attention {
    margin-top: 3rem;
    font-size: 2rem;
    text-align: left;
    color: rgb(50, 50, 50);
    font-weight: 400;
}
.menusetting_form_wrap {
    width: 630px;
    aspect-ratio: 630/620;
}
/* .menusetting_input_wrap {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    gap: 3rem;
} */
.menusetting_form_item {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.menusetting_form_item label {
    margin-left: 1rem;
    font-size: 2rem;
    font-weight: 400;
}
.menusetting_checkbox {
    appearance: none;
    width: 20px;
    height: 20px;
    border: solid 2px #00BFA8;
    border-radius: 0.4rem;
    background-color: #F6F6F6;
}
.menusetting_checkbox:checked {
    appearance: none;
    position: relative;
    width: 20px;
    height: 20px;
    border: solid 2px #00BFA8;
    border-radius: 0.4rem;
    background-color: #00BFA8;
}
.menusetting_checkbox:checked::before {
    appearance: none;
    position: absolute;
    position: absolute;
    top: 0.6px;
    left: 4px;
    transform: rotate(50deg);
    width: 8px;
    height: 12px;
    border-right: 3px solid #F6F6F6;
    border-bottom: 3px solid #F6F6F6;
    content: '';
}
.menusetting_item_wrap {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    gap: 3rem;
}
.genre_name {
    font-size: 2rem;
    text-align: left;
    margin-bottom: 2rem;
}
.arm_main {
    margin-top: 5rem;
}
.reg_main {
    margin-top: 5rem;
}

/* community */
.ranking_btn {
    padding: 21rem 9rem;
    aspect-ratio: 800 / 800;
    border-radius: 6rem;
    border: solid 4px #00BFA8;
    background-color: #F6F6F6;
    text-decoration: none;
    color: black;
    font-size: 3.2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 3rem;
    transition: .3s;
}
.ranking_btn div {
    font-size: 2.4rem;
    line-height: 40px;
    font-weight: 400;
}
.ranking_btn:hover {
    background-color: #00BFA8;
    color: #F6F6F6;
}

/* everyone_records */
.nationwide_btn {
    position: absolute;
    top: 3rem;
    right: 12rem;
    width: 80px;
    aspect-ratio: 1/1;
    font-size: 1.4rem;
    background-color: #00BFA8;
    color: #F6F6F6;
    border-radius: 100%;
    box-shadow: 0 4px 0 rgb(70, 70, 70);
    transition: .3s;
}
.nationwide_btn:hover {
    transform: translateY(5px);
    box-shadow: 0 0 0 #333;
  }
.ranking_notification_icon {
    position: absolute;
    top: 3rem;
    right: 4rem;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.ranking_notification_icon::before {
    content: url(/img/gold_cup.svg);
    margin-bottom: 0.5rem;
    /* padding: 0.2rem 0.8rem 0.3rem; */
}
.notification_icon {
    position: absolute;
    top: 4rem;
    right: 5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.modal_list_item_notification {
    padding: 3rem 2rem 3rem;
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    border-top: solid 1px black;
}
.modal_list_item_notification:last-child {
    border-bottom: solid 1px black;
}
.modal_list_contents_txt {
    font-size: 2.4rem;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 2rem;
}
.modal_list_contents_txt::before {
    content: "";
    width: 28px;
    height: 24px;
    background-image: url(/img/heart2.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}
.modal_list_contents_img_wrap {
    margin-top: 2rem;
    padding-left: 5.6rem;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 1rem;
}
.modal_list_contents_img_wrap img {
    border-radius: 1rem;
}
.notification_time {
    font-size: 1.2rem;
    font-weight: 400;
}
.notification_icon::before {
    content: "";
    display: block;
    position: relative;
    width: 45px;
    height: 45px;
    background-image: url(/img/notification_icon.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}
.notification_icon::after {
    position: absolute;
    content: "1";
    font-size: 1.6rem;
    /* top: 0rem; */
    left: 3rem;
    width: 24px;
    height: 24px;
    background-color: #EC4A4A;
    color: #F6F6F6;
    border-radius: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.everyone_records_wrap {
    margin: 6rem auto 0;
    padding: 3rem 0;
    width: 95%;
    max-width: 1200px;
    height: 1000px;
    overflow-y: scroll;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 4rem;
}
.everyone_records_card {
    width: 360px;
    padding: 2rem 1rem;
    aspect-ratio: 400/460;
    background-color: #C9EFED;
    border-radius: 3rem;
}
.everyone_records_card_profile {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.everyone_records_card_profile img {
    border-radius: 2rem;
}
.everyone_records_card_profile_txt {
    height: 130px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
}
.everyone_records_card_profile_txt time {
    font-size: 1.4rem;
    font-weight: 400;
}
.everyone_records_card_username {
    font-size: 2.6rem;
}
.everyone_records_card_message {
    width: 176px;
    height: 50px;
    font-size: 2rem;
    background-color: #F6F6F6;
    border-radius: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
.everyone_records_todaymenu_wrap {
    width: 100%;
    margin-top: 2rem;
}
.everyone_records_todaymenu_title {
    font-size: 1.6rem;
    text-align: left;
}
.everyone_records_todaymenu {
    height: 50px;
    margin-top: .6rem;
    padding-left: 2rem;
    background-color: #F6F6F6;
    border-radius: 1rem;
    font-size: 1.6rem;
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.everyone_records_card_bottom {
    margin-top: 2rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.everyone_records_calorie_wrap {
    width: 45%;
}
.everyone_records_calorie_title {
    font-size: 1.6rem;
    text-align: left;
}
.everyone_records_calorie {
    height: 50px;
    margin-top: .6rem;
    padding-left: 2rem;
    background-color: #F6F6F6;
    border-radius: 1rem;
    font-size: 2rem;
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.good_btn {
    width: 110px;
    height: 40px;
    margin-top: 3rem;
    margin-left: auto;
    border: solid 2px #FF1651;
    color: #FF1651;
    font-size: 1.4rem;
    border-radius: 2.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1.4rem;
}

/* ranking */
.ranking_notification_icon {
    position: absolute;
    top: 3rem;
    right: 4rem;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.ranking_notification_icon::before {
    content: url(/img/gold_cup.svg);
    margin-bottom: 0.5rem;
    /* padding: 0.2rem 0.8rem 0.3rem; */
}
.modal-body_ranking{
    position: relative;
    display: inline-block;
    vertical-align: middle;
    max-width: 1100px;
    width: 90%;
  }
.modal-content_ranking {
    width: 1100px;
    aspect-ratio: 1100/700;
    background: #C9EFED;
    text-align: center;
    padding: 6rem;
    border-radius: 3rem;
}
.modal_list_wrap {
    width: 1000px;
    aspect-ratio: 1000/520;
    overflow-y: scroll;
    background-color: #F6F6F6;
}
.modal_list_item:last-child {
    border-bottom: solid 1px black;
}
.modal_list_item {
    padding: 3rem 2rem 3rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: solid 1px black;
}
.modal_list_item_title {
    font-size: 2.4rem;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 2rem;
}
.modal_list_item_title::before {
    content: "";
    width: 37px;
    height: 38px;
    background-image: url(/img/gold_cup.svg);
    background-repeat: no-repeat;
    background-size: contain;
}
.silver::before {
    content: "";
    background-image: url(/img/silver_cup.svg);
}
.bronze::before {
    content: "";
    background-image: url(/img/bronze_cup.svg);
}
.modal_list_item time {
    font-size: 2rem;
    font-weight: 400;
}
.explanation_title_ranking {
    margin-bottom: 4rem;
    font-size: 3.6rem;
    color: black;
}
.tab {
    position: absolute;
    top: -5rem;
    left: 6rem;
    width: 130px;
    aspect-ratio: 130/50;
    font-size: 2.4rem;
    background-color: #C9EFED;
    border-radius: 1rem 1rem 0 0;
    z-index: -1;
    display: flex;
    justify-content: center;
    align-items: center;
}
.tab2 {
    position: absolute;
    top: -5rem;
    left: 19rem;
    width: 130px;
    aspect-ratio: 130/50;
    font-size: 2.4rem;
    background-color: #00BFA8;
    color: #F6F6F6;
    border-radius: 1rem 1rem 0 0;
    z-index: -1;
    display: flex;
    justify-content: center;
    align-items: center;
}
.tab {
    position: absolute;
    top: -5rem;
    left: 6rem;
    width: 130px;
    aspect-ratio: 130/50;
    font-size: 2.4rem;
    background-color: #C9EFED;
    border-radius: 1rem 1rem 0 0;
    z-index: -1;
    display: flex;
    justify-content: center;
    align-items: center;
}
.tab2 {
    position: absolute;
    top: -5rem;
    left: 19rem;
    width: 130px;
    aspect-ratio: 130/50;
    font-size: 2.4rem;
    background-color: #00BFA8;
    color: #F6F6F6;
    border-radius: 1rem 1rem 0 0;
    z-index: -1;
    display: flex;
    justify-content: center;
    align-items: center;
}
.ranking_wrap {
    width: 1100px;
    margin: 6rem auto 0;
    padding: 6rem 4rem 4rem;
    aspect-ratio: 1000 / 600;
    background-color: #C9EFED;
    border-radius: 6rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative;
}
.ranking_top_wrap {
    display: flex;
    justify-content: flex-start;
    align-items: baseline;
    gap: 7rem;
    margin-bottom: 2rem;
}
.weekly_ranking_txt {
    font-size: 3.2rem;
}
.group_txt {
    font-size: 2.4rem;
    font-weight: 400;
    display: flex;
    justify-content: flex-start;
    align-items: baseline;
}
.group_txt div {
    background-color: #F6F6F6;
    width: 400px;
    padding: 1rem 2rem 1rem;
    text-align: left;
    font-weight: 500;
}
.ranking_bottom_wrap {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.ranking_bottom_ranking {
    width: 800px;
    padding: 3rem 3rem;
    aspect-ratio: 700/470;
    border-radius: 4rem;
    background-color: #F6F6F6;
    overflow-y: scroll;
}
.ranking_contents_title {
    padding-bottom: 2rem;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 15rem;
    font-size: 2rem;
    border-bottom: solid 2px black;
}
.ranking_contents {
    padding-top: 1.6rem;
    padding-bottom: 2rem;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 19rem;
    font-size: 2.4rem;
    border-bottom: solid 1px black;
}
.rank_txt {
    margin-left: 2rem;
}
.ranking_contents_nocup {
    padding-top: 2rem;
    padding-bottom: 2.5rem;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 19rem;
    font-size: 2.4rem;
    border-bottom: solid 1px black;
}
.ranking_bottom_summary {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
}
.your_ranking_title {
    font-size: 1.6rem;
    letter-spacing: .15em;
}
.your_ranking {
    margin-top: 2rem;
    font-size: 2.4rem;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    gap: 1rem;
}
.your_ranking span {
    font-size: 6.4rem;
}
.month_ranking_btn {
    padding: 2.4rem 2rem 2.6rem;
    font-size: 1.6rem;
    color: #F6F6F6;
    background-color: #00BFA8;
    border: solid 3px #00BFA8;
    border-radius: 6rem;
    text-decoration: none;
    transition: .3s;
}
.month_ranking_btn:hover {
    background-color: #F6F6F6;
    color: #00BFA8;
}

/* past_recods */
.slider_wrap {
    padding-top: 16rem;
    z-index: 1;
}
.calendar_container {
  width: 1050px;
  margin: 0 auto;
  /* padding-top: 14rem; */
  border-radius: 5px;
  background: #f6f5f4;
  color: #1a1a1a;
}
h1 {
    margin-bottom: 8rem;
  height: 80px;
  line-height: 80px;
  text-align: center;
  font-size: 3.6rem;
  margin: 0;
}
.calendar {
    margin-top: 3rem;
  padding: 0 30px 30px 30px;
  aspect-ratio: 1050/710;
}
table {
  width: 100%;
}
.day_title {
    height: 50px;
    background-color: #38DDC9;
    border-bottom: solid 2px #F6F6F6;
}
.day_title *:first-child {
    border-right: solid 2px #F6F6F6;
    color: #ff5d68;
}
.day_title *:nth-child(2) {
    border-right: solid 2px #F6F6F6;
}
.day_title *:nth-child(3) {
    border-right: solid 2px #F6F6F6;
}
.day_title *:nth-child(4) {
    border-right: solid 2px #F6F6F6;
}
.day_title *:nth-child(5) {
    border-right: solid 2px #F6F6F6;
}
.day_title *:nth-child(6) {
    border-right: solid 2px #F6F6F6;
}
.day_title *:last-child {
    color: #238eff;
}
th, td {
  text-align: center;
  padding: 10px;
}
th {
    width: 150px;
    padding-top: 1.6rem;
  font-weight: 900;
    color: #F6F6F6;
  font-size: 14px;
}
.odd_number {
    background-color: #B8F0ED;
}
.even_number {
    background-color: #D6F6F5;
}
td {
  font-weight: bold;
  text-align: left;
  position: relative;
}
.day:nth-child(2) {
    border-bottom: solid 2px #F6F6F6;
}
.day:nth-child(3) {
    border-bottom: solid 2px #F6F6F6;
}
.day:nth-child(4) {
    border-bottom: solid 2px #F6F6F6;
}
.day:nth-child(5) {
    border-bottom: solid 2px #F6F6F6;
}
.day:nth-child(6) {
    border-bottom: solid 2px #F6F6F6;
}
.day:nth-child(7) {
    border-bottom: solid 2px #F6F6F6;
}
.day *:first-child {
  color: #ff838b;
}
.day *:nth-child(2) {
    border-left: solid 2px #F6F6F6;
  }
  .day *:nth-child(3) {
    border-left: solid 2px #F6F6F6;
  }
  .day *:nth-child(4) {
    border-left: solid 2px #F6F6F6;
  }
  .day *:nth-child(5) {
    border-left: solid 2px #F6F6F6;
  }
  .day *:nth-child(6) {
    border-left: solid 2px #F6F6F6;
    border-right: solid 2px #F6F6F6;
  }
.day *:last-child {
  color: #6fb5ff;
}
.implementation_date_icon {
    position: absolute;
    /* padding: 1rem; */
    width: 60px;
    height: 60px;
    top: 2.8rem;
    left: 4.6rem;
    background-color: #fff2e2;
    border-radius: 100%;
    background-image: url(/img/implementation_date_icon.svg);
    background-repeat: no-repeat;
    background-size: 70%;
    background-position: center;
    transition: .3s;
}
.implementation_date_icon:hover {
    background-color: #ffffff;
    background-image: url(/img/implementation_date_icon_hover.svg);
}
.tooltips_wrap {
    position: absolute;
    width: 340px;
    aspect-ratio: 340/400;
    bottom: -38rem;
    left: -62%;
    padding: 4rem;
    background-color: #00BFA8;
    color: #F6F6F6 !important;
    border-radius: 3rem;
    display: none;
    border-left: none !important;
    transition: .3s;
    z-index: 2;
    text-align: center;
    font-size: 2rem;
    font-weight: 400;
}
.tooltips_wrap_middle {
    position: absolute;
    width: 340px;
    aspect-ratio: 340/400;
    top: -120%;
    right: -210%;
    padding: 4rem;
    background-color: #00BFA8;
    color: #F6F6F6 !important;
    border-radius: 3rem;
    display: none;
    border-left: none !important;
    transition: .3s;
    z-index: 2;
    text-align: center;
    font-size: 2rem;
    font-weight: 400;
}
.tooltips_wrap_bottom {
    position: absolute;
    width: 340px;
    aspect-ratio: 340/400;
    top: -38rem;
    left: -62%;
    padding: 4rem;
    background-color: #00BFA8;
    color: #F6F6F6 !important;
    border-radius: 3rem;
    display: none;
    border-left: none !important;
    transition: .3s;
    z-index: 2;
    text-align: center;
    font-size: 2rem;
    font-weight: 400;
}
.implementation_date_icon:hover~.tooltips_wrap {
    display: block;
    transition: .3s;
}
.implementation_date_icon:hover~.tooltips_wrap_middle {
    display: block;
}
.implementation_date_icon:hover~.tooltips_wrap_bottom {
    display: block;
}
.tooltips_title {
    color: #F6F6F6 !important;
}
.tooltips_top {
    margin-top: 2rem;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 2rem;
    border-left: none !important;
}
.trainer_wrap {
    border-left: none !important;
}
.trainer_txt {
    border-left: none !important;
    color: #F6F6F6 !important;
    text-align: left;
    font-size: 1.6rem;
    font-weight: 500;
}
.trainer_wrap img {
    margin-top: 1rem;
    border-left: none !important;
}
.calorie_wrap {
    border-left: none !important;
}
.tooltips_calorie_title {
    color: #F6F6F6 !important;
    border-left: none !important;
    text-align: left;
    font-size: 1.6rem;
    font-weight: 500;
}
.tooltips_calorie_txt {
    width: 140px;
    padding: 2rem;
    margin-top: 1rem;
    aspect-ratio: 140/100;
    background-color: #F6F6F6;
    color: black !important;
    border-left: none !important;
    border-radius: 1.5rem;
    display: flex;
    align-items: center;
    font-size: 2.4rem;
}
.tooltips_bottom {
    margin-top: 2rem;
    border-left: none !important;
}
.tooltips_menu_title {
    color: #F6F6F6 !important;
    text-align: left;
    font-size: 1.6rem;
    font-weight: 500;
}
.tooltips_menu_list {
    width: 260px;
    margin-top: 1rem;
    padding: 2rem;
    background-color: #F6F6F6;
    aspect-ratio: 260/110;
    border-radius: 1.5rem;
    border-left: none !important;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.tooltips_menu_list_item {
    color: black !important;
}

/* フラッシュメッセージcss */
.message {
    text-align: center;
}
.error {
    width: 100%;
    padding: 2rem 0 2rem;
    background-color: #ffeded;
    color: #c70000;
    border: solid 2px #f0a5a5;
    font-size: 2rem;
    font-weight: 400;
}
.success {
    width: 100%;
    padding: 2rem 0 2rem;
    background-color: #00BFA8;
    color: #F6F6F6;
    border: solid 2px #00BFA8;
    font-size: 2.4rem;
    font-weight: 400;
}

/* 自主トレ */
.independent_body {
    margin-bottom: 0;
    padding-bottom: 50rem;
  }
.workout_independent_list_item_wrap {
    aspect-ratio: 1/1;
    width: 500px;
    margin-top: 8rem;
    padding: 3rem 5rem;
    background-color: #C9EFED;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 3rem;
}
.workout_independent_title {
    font-size: 3.2rem;
}
.menu_select_wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2rem;
}
.menu_select_txt {
    margin-bottom: 1rem;
    text-align: left;
    font-size: 2rem;
}
.selectbox select {
    appearance: none;
  width: 300px;
  padding: 11px 15px;
  padding-right: 1em;
  border: none;
  outline: 0;
  background: #fff;
  background-image: none;
  box-shadow: none;
  text-indent: 0.01px;
  text-overflow: ellipsis; 
  cursor: pointer;
}
.selectbox {
    display: inline-block;
    position: relative;
    border: 1px solid #eee;
    vertical-align: middle;
  }
  .selectbox::before {
    position: absolute;
    top: 18px;
    right: 16px;
    width: 0;
    height: 0;
    border-width: 10px 5px 0 5px;
    border-style: solid;
    border-color: #eee transparent transparent transparent;
    content: "";
    pointer-events: none;
  }
  .select_time_wrap {
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    gap: 1rem;
  }
  .selectbox_time select {
    appearance: none;
  width: 65px;
  padding: 11px 15px;
  padding-right: 1em;
  border: none;
  outline: 0;
  background: #fff;
  background-image: none;
  box-shadow: none;
  text-indent: 0.01px;
  text-overflow: ellipsis; 
  cursor: pointer;
}
.selectbox_time {
    display: inline-block;
    position: relative;
    border: 1px solid #eee;
    vertical-align: middle;
  }
  .selectbox_time::before {
    position: absolute;
    top: 18px;
    right: 16px;
    width: 0;
    height: 0;
    border-width: 10px 5px 0 5px;
    border-style: solid;
    border-color: #eee transparent transparent transparent;
    content: "";
    pointer-events: none;
  }
  .minute_txt {
    font-size: 1.6rem;
  }
  .item_addition_btn {
    font-size: 2rem;
    padding: 0.4rem 3rem;
    background-color: #00BFA8;
    color: #F6F6F6;
  }
