@charset "utf-8";

/*
|--------------------------------------------------------------------------
| Use Only My Page and accompanying components
|--------------------------------------------------------------------------
*/

#mypage {
  position: relative;
  min-height: 100vh;
  display: flex;
}

/* header */
#mypage header {
  position: relative;
  height: auto;
  width: fit-content;
  min-width: 280px;
}
#mypage header .header-fixed-menu {
  position: fixed;
  background-color: var(--color-primary);
  top: 0;
  left: 0;
  z-index: 999;
  height: 100%;
}
#mypage header .logo {
  padding: var(--spacing-medium);
  width: clamp(150px, 20vw, 240px);
}
#mypage header .logo a {
  display: block;
}
#mypage header .mypage-header-profile {
  color: var(--color-white);
  padding: var(--spacing-small) var(--spacing-medium);
  font-size: var(--font-size-small);
  font-weight: bold;
  background-color: var(--color-primary-dark);
}
#mypage header .hamburder {
  display: none;
}
#mypage header .mypage-menu {
  display: flex;
  flex-direction: column;
}
#mypage header .mypage-menu li {
  display: flex;
  align-items: center;
  width: 100%;
  border-bottom: 1px solid var(--color-primary-pale);
}
#mypage header .mypage-menu li a {
  text-decoration: none;
  padding: var(--spacing-small);
  width: 100%;
  background-color: var(--color-primary);
  color: var(--color-white);
  font-size: var(--font-size-small);
  transition: background-color 0.5s;
}
#mypage header .mypage-menu li a.none-active {
  background-color: var(--color-gray);
  color: var(--color-white);
  cursor: not-allowed;
}

/* #drawer-menu */
#drawer-menu {
  display: none;
}

/* main */
#mypage main {
  background-color: var(--color-white);
  padding: var(--spacing-medium) 0;
  width: 80%;
}
#mypage .mypage-wrapper {
  padding: 0 var(--spacing-large);
}
#mypage .lead {
  background-color: var(--color-primary-pale2);
  padding: var(--spacing-medium);
  border-radius: var(--border-radius-medium);
}
#mypage .lead .hello {
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-bold);
  color: var(--color-primary);
  margin-bottom: var(--spacing-small);
}
#mypage .lead .name {
  font-size: var(--font-size-medium);
  font-weight: bold;
  color: var(--color-secondary);
}

/* .block */
#mypage .block {
  margin: var(--spacing-large) 0;
}
#mypage .block h2 {
  font-size: var(--font-size-medium);
  font-weight: bold;
  color: var(--color-primary);
  margin-bottom: var(--spacing-small);
  padding-bottom: var(--spacing-xsmall);
  border-bottom: 2px solid var(--color-secondary-pale);
}
#mypage .fav-list {
  overflow: hidden;
}

#mypage .form-container {
  overflow: auto;
  max-width: 100%;
}

/* .job-checkbox */
.job-checkbox {
  margin-bottom: var(--spacing-small);
}
.job-checkbox .checkbox-input {
  display: none;
}
.job-checkbox .checkbox-label {
  display: flex;
  align-items: center;
  cursor: pointer;
  padding: var(--spacing-xsmall);
  border-radius: var(--border-radius-small);
  transition: background-color 0.3s;
}
.job-checkbox .checkbox-label::before {
  content: '';
  display: inline-block;
  width: 18px;
  height: 18px;
  margin-right: var(--spacing-xsmall);
  border: 2px solid var(--color-primary);
  border-radius: 3px;
  transition: all 0.3s;
}
.job-checkbox .checkbox-input:checked + .checkbox-label::before {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41L9 16.17z'/%3E%3C/svg%3E");
  background-size: 14px;
  background-position: center;
  background-repeat: no-repeat;
}
.checkbox-text {
  font-size: var(--font-size-xsmall);
  color: var(--color-primary);
}

/* .search-history-list */
.search-history-list {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-small);
}
.search-history-list .search-history-item {
  background-color: var(--color-primary-pale);
  padding: var(--spacing-medium);
  border-radius: var(--border-radius-small);
}
.search-condition {
  margin-bottom: var(--spacing-small);
}
.searched-date {
  font-size: var(--font-size-xsmall);
  color: var(--color-gray);
  margin-top: var(--spacing-xsmall);
}

@media (max-width: 820px) {
  #mypage header {
    min-width: 150px;
  }
  #mypage header .mypage-menu li a {
    font-size: var(--font-size-xsmall);
    padding: var(--spacing-xsmall);
  }
}

@media (max-width: 480px) {
  #mypage {
    flex-direction: column;
    min-height: 100vh;
  }

  /* header */
  #mypage header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    padding: var(--spacing-small);
    z-index: 999;
  }
  #mypage header .header-fixed-menu {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: auto;
    padding: var(--spacing-small);
  }
  #mypage header .logo {
    flex-grow: 1;
    padding: 0;
    max-width: 100%;
  }
  #mypage header .logo a {
    width: fit-content;
  }
  #mypage header .logo a img {
    width: 130px;
  }
  #mypage header .hamburder {
    position: relative;
    display: block;
    margin-left: var(--spacing-small);
  }
  #mypage header .hamburder i {
    font-size: calc(var(--font-size-medium) * 1.5);
    color: var(--color-white);
  }
  #mypage header .mypage-menu {
    display: none;
  }
  #mypage header .mypage-header-profile {
    padding: var(--spacing-xsmall);
    font-size: var(--font-size-xsmall);
  }

  #drawer-menu {
    opacity: 0;
    visibility: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--color-white);
    transition: opacity 0.3s ease, visibility 0.3s ease;
  }
  #drawer-menu.active {
    opacity: 1;
    visibility: visible;
    z-index: 99;
  }
  #drawer-menu ul li {
    list-style: none;
  }
  #drawer-menu ul li a {
    text-decoration: none;
    padding: var(--spacing-small);
    color: var(--color-primary);
    font-size: var(--font-size-medium);
    display: flex;
    align-items: center;
    gap: var(--spacing-small);
    width: 100%;
    font-weight: bold;
  }

  /* main */
  #mypage main {
    width: 100%;
    padding-top: calc(var(--spacing-large) * 2.75);
  }
}

/* hover animation */
/* マイページローディング専用スタイル */
#mypageLoading {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  background-color: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(2px);
}

#mypageLoading.show {
  display: flex !important;
  align-items: center;
  justify-content: center;
}

@media (min-width: 1028px) {
  #mypage header .mypage-menu li a:not(.none-active):hover {
    background-color: var(--color-primary-light);
    color: var(--color-white);
  }
  .job-checkbox .checkbox-label:hover {
    background-color: var(--color-primary-pale);
  }
}