/*************************************
*
*  個人USERのマイページ
*  /mypage
*
**************************************/

/* ==================================
  マイページ - 共通
================================== */
.mypage__box {
  padding: 24px 48px;
  background: var(--color-white);
  border: 1px solid var(--color-middleyellow);
  border-radius: 10px;
  box-shadow: 0px 1px 4px 2px rgba(255, 215, 74, 0.25);
}
.mypage__box__en {
  padding: 24px 48px;
  background: var(--color-white);
  border: 1px solid var(--color-middleblue);
  border-radius: 10px;
}
@media only screen and (max-width: 768px) {
  .mypage__box {
    padding: 24px 20px;
  }
  .mypage__box__en {
    padding: 24px 20px;
  }
}
.mypage__boxmini{
  max-width: 856px;
  margin: 0px auto;
}
.mypage__attention {
  margin-top: 10px;
  margin-left: 1rem;
  font-size: 24px;
  color: var(--color-darkgray);
}

.notification-badge{
  position: absolute;
  top:58px;
  left:60px;
  width: 50px;
  height: 50px;
  font-size: 20px;
  line-height: 2.2;
  color: #fff;
  vertical-align: middle;
  background-color: #E53535;
  border: 2px solid #fff;
  border-radius: 50%;
  -webkit-transform: translate(-50%,-50%) scale(.5);
  transform: translate(-50%,-50%) scale(.5);
}
.header__userImg{
  position: relative;
} 
.header__userImg img {
  width: 72px;
  border-radius: 50%;
}

.breadCrumb{
  color: var(--color-link);
}

.tx-edit{
  color: var(--color-link);
}

.tx-edit::before {
  content: url(../../images/icon/icon-garbage.svg);
vertical-align: middle;
margin-left: 20px;
top: 0;
left: 35%;
position: absolute;
}

.requestEdit{
position: relative;
display: block;
}

.requestEdit::before {
  content: url(../../images/icon/icon-note.svg);
vertical-align: middle;
display: block;
margin-left:20%;
}

/* タイトル */
.title__box-mypage {
  margin-bottom: 10px;
}
.mypage__title {
  font-size: 32px;
}
.mypage__title--second {
  font-size: 24px;
}
@media only screen and (max-width: 768px) {
  .mypage__title {
    font-size: 20px;
  }
  .mypage__title--second {
    font-size: 18px;
  }
}

/* リスト */
.mypage__list {
  display: flex;
  flex-direction: column;
}
.mypage__list li:nth-of-type(n+2) {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--color-middleyellow);
}
.mypage__list__box {
  display: flex;
  flex-direction: row;
  gap: 36px;
  font-size: 14px;
}
.mypage__list--date {
  width: 100px;
  color: var(--color-darkgray);
}
.mypage__list--cnt {
  width: calc(100% - 100px - 36px);
}

.mypage__list-news a {
  padding-right: 30px;
  position: relative;
}
.mypage__list-news a::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: calc(50% - 12px);
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--color-yellow);
  cursor: pointer;
  z-index: 2;
}
.mypage__list-news a::after {
  content: "";
  position: absolute;
  right: 9px;
  bottom: calc(50% - 4px);
  margin-left: 11px;
  border-top: solid 2px var(--color-white);
  border-right: solid 2px var(--color-white);
  transform: rotate(45deg);
  z-index: 3;
  width: 8px;
  height: 8px;
}
@media only screen and (max-width: 768px) {
  .mypage__list__box {
    flex-direction: column;
    gap: 5px;
  }
  :is(.mypage__list--date, .mypage__list--cnt) {
    width: 100%;
  }
}

/* ==================================
  マイページ
  /mypage/index.html
================================== */
.mypageTop {
  display: flex;
  flex-direction: row;
  gap: 48px;
}
/* -- 左ブロック -- */
.mypageTop-left {
  padding: 32px 24px;
  width: 314px;
  background: var(--color-white);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 50px;
}

/* プロフィール */
.mypageTop__profile {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}
.mypageTop__profile--img {
  width: 176px;
  height: 176px;
  border-radius: 50%;
  object-fit: cover;
}
/* ナビ */
.mypageTop__nav {
  margin-top: 50px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.mypageTop__nav li {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
}
.mypageTop__nav li > span {
  width: 24px;
  height: 24px;
}
.mypageTop__nav a {
  padding: 5px 15px 5px 0;
  width: calc(100% - 24px - 8px);
  display: block;
  position: relative;
}
.mypageTop__nav a::after {
  content: "";
  position: absolute;
  right: 9px;
  bottom: calc(50% - 4px);
  margin-left: 11px;
  border-top: solid 2px var(--color-darkgray);
  border-right: solid 2px var(--color-darkgray);
  transform: rotate(45deg);
  z-index: 3;
  width: 8px;
  height: 8px;
}
.mypageTop__nav__notice {
  background: var(--color-red);
  border-radius: 50%;
  text-align: center;
  color: var(--color-white);
  line-height: 22px;
}
.mypageTop__btn-make {
  margin-top: 50px;
  width: 100%;
}
/* サブメニュー */
.mypageTop__navSub {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
/* -- 右ブロック -- */
.mypageTop-right {
  width: calc(100% - 314px - 48px);
}
.mypageTop-right section:first-child {
  margin-top: 0;
}
.mypageTop-right section:nth-child(n+2) {
  margin-top: 40px;
}
/* 進行中のリクエスト */
.mypageTop__request_list {
  gap: 16px;
}
.mypageTop__request_box {
  padding: 24px 16px;
}
.mypageTop__request_box-left {
  width: 70px;
}
.mypageTop__request__catch {
  font-size: 20px;
}
.mypageTop__request__user--date {
  margin-top: 10px;
  column-gap: 5px;
}
.mypageTop__request_box-center {
  width: calc(100% - 70px - 250px - 40px);
}
.mypageTop__request_box-right {
  width: 250px;
}
.mypageTop__request_box-right dl {
  gap: 10px;
}
.mypageTop__request__info dd {
  width: calc(100% - 10px - 84px);
  font-size: 14px;
}
@media only screen and (max-width: 768px) {
  .mypageTop {
    flex-direction: column;
    gap: 40px;
  }
  .mypageTop-left, .mypageTop-right {
    width: 100%;
  }
  .mypageTop-left {
    gap: 20px;
  }

  /* プロフィール */
  .mypageTop__profile {
    flex-direction: row;
  }
  .mypageTop__profile--img {
    width: 74px;
    height: 74px;
  }
  /* ナビ */
  .mypageTop__nav {
    margin-top: 20px;
    gap: 10px;
  }
  .mypageTop__btn-make {
    margin: 20px auto 0;
    max-width: 400px;
  }
  /* 進行中のリクエスト */
  :is(.mypageTop__request_box-left, .mypageTop__request_box-center, .mypageTop__request_box-right) {
    width: 100%;
  }
  .mypageTop__request__catch {
    font-size: 18px;
  }
}

/* ==================================
  お知らせ一覧画面
  /mypage/news/list.html
================================== */
.news__list {
  margin: 50px auto 0;
  max-width: 960px;
}
.news__list li:last-child {
  padding-bottom: 16px;
  border-bottom: 1px solid var(--color-middleyellow);
}
@media only screen and (max-width: 768px) {
  .news__list {
    margin-top: 0;
  }
}

/* ==================================
  お知らせ詳細画面
  /mypage/news/news.html
================================== */
.newsDetail__box {
  display: flex;
  flex-direction: column;
  gap: 26px;
  max-width: 720px;
}
.newsDetail__date {
  font-size: 14px;
  color: var(--color-darkgray);
}
.newsDetail__title {
  font-size: 24px;
}
.newsDetail__cnt > * {
  margin-bottom: 1rem;
}
.newsDetail__backLink {
  margin-top: 50px;
}
@media only screen and (max-width: 768px) {
  .newsDetail__box {
    gap: 16px;
  }
  .newsDetail__title {
    font-size: 18px;
  }
  .newsDetail__backLink {
    margin-top: 40px;
  }
}

/* ==================================
  リクエスト確認・送信画面
  /mypage/request/request-confirm.html
================================== */
.requestConfirm {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.requestConfirm__line {
  border-top: 1px solid var(--color-middleyellow);
}
.requestConfirm__line02 {
  border-top: 1px dashed var(--color-middleyellow);
  max-width: 950px;
}

/* リクエスト詳細の確認 */
.requestConfirm__head {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  gap: 32px;
}
.requestConfirm__head-left {
  width: calc(100% - 370px - 32px);
}
.requestConfirm__category {
  margin-top: 16px;
  display: flex;
  flex-direction: row;
  gap: 10px;
  color: var(--color-blue);
}
.requestConfirm__head-right {
  width: 370px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 32px;
}
.requestConfirm__user {
  font-size: 14px;
}
.requestConfirm__user--date {
  color: var(--color-darkgray);
}
.requestConfirm__userImg img {
  width: 72px;
  height: 72px;
  border-radius: 50%;
}

.requestConfirm__box {
  display: flex;
  flex-direction: column;
  gap: 24px;
  max-width: 950px;
}
.requestConfirm__list {
  display: flex;
  flex-direction: row;
  gap: 32px;
}
.requestConfirm__list dt {
  width: 150px;
}
.requestConfirm__list dd {
  width: calc(100% - 150px - 32px);
  font-size: 14px;
}
/* リクエストの公開内容 */
.requestConfirm__subtext {
  margin-bottom: 8px;
  color: var(--color-darkgray);
}
.requestRelease__UserBox {
margin-top: 16px;
  display: flex;
  flex-direction: row;
  gap: 24px;
  align-items: center;
  max-width: 950px;
}
.userBox__Name--date {
  flex-direction: column;
}
@media only screen and (max-width: 768px) {
  .requestConfirm__head {
    flex-direction: column;
    gap: 24px;
  }
  :is(.requestConfirm__head-left, .requestConfirm__head-right) {
    width: 100%;
  }
  .requestConfirm__user {
    font-size: 14px;
  }
  .requestConfirm__list {
    flex-direction: column;
    gap: 10px;
  }
  .requestConfirm__list :is(dt, dd) {
    width: 100%;
  }
}

/* ==================================
  トークスレッド一覧画面
  /mypage/request/talklist.html
================================== */

/* リクエストのトークスレッド一覧 */
.talkThread__list__content{
  margin-bottom: 180px;
}

.talkThread__list{
gap: 16px;
}


.talkThread__list__companyInfo{
  display:flex;
  align-items: center;
  gap: 20px;
  min-width:290px;
}

.talkThread__list__box{
padding: 28px 44px;
background: var(--color-white);
display: flex;
flex-direction: row;
gap: 104px;
align-items: center;
}

.talkThread__list__closed{
 background: #C7C6C6;
}

.talkThread__list__campanyImg{
}
.talkThread__list__campanyName{
    font-size: 24px;
}
.talkThread__description{

}
.talkThread__list__notification{
  margin-left: auto;
  color:#EA5D5D;
}

.talkThread__list__date{
  margin-bottom: 8px;
  font-size: 14px;
  color: var(--color-darkgray);
  display:block;
}

.talkThread__list__endDescription{
 color: var(--color-white);
}

@media only screen and (max-width: 768px) {
  .talkThread__list__box{
    flex-direction: column;
    gap:20px;
  }
  .talkThread__list__companyInfo {
    min-width: 350px;
  }
  .talkThread__list__companyInfo + div {
    min-width: 350px;
  }
}

/* ==================================
  トークスレッド画面
  /mypage/request/talk.html
================================== */

/* リクエストのトークスレッド */
.talkThread{
  display: flex;
  flex-direction: row;
  gap: 48px;
}

.talkThread__page{
  margin-bottom: 14%;
}

.talkThread-left{
  width: calc(100% - 314px - 48px);
}


.talkThread-right{
  width: 314px;
  margin-top:8%;
}

.request__userBox{
  margin-top: 16px;
  display: flex;
  flex-direction: row;
  gap: 12px;
  align-items: center;
  max-width: 950px;
}

.talkThread-right > div{
margin-bottom: 24px;
}

.talkThread__request{
  padding: 20px 20px 30px 20px;
  border-radius: 10px;
  background: var(--color-white);
}

.talkThread__request__inner{
  margin-bottom: 14px;
}

.talkThread__request__info{
  margin-bottom: 14px;
  background: var(--color-white);
}

.request__userImg img {
  width: 72px;
  height: 72px;
  max-width: none;
  border-radius: 50%;
}

.userBox__date{
  font-size: 12px;
  color: var(--color-darkgray);
}

.talkThread__companyInfo{
  display:flex;
  gap: 20px;
}

.talkThread__container{
}

.talkThread__box{
  padding: 24px 40px;
  background: var(--color-white);
  display: flex;
  gap: 20px;
  align-items: center;
  position: relative;
}


.talkThread--attFile{
  display:block;
  margin-top:18px;
}

.talkThread__companyBox{
  padding: 20px 24px;
  background: var(--color-white);
  border: 1px solid var(--color-middleblue);
  border-radius: 10px;
  box-shadow: 0px 1px 4px 2px rgba(18, 88, 146, 0.25);
}

.companyBox__inner{
  display:flex;
  gap:20px;
  align-items: center;
  margin-bottom: 20px;
}

.btn-blk{
  border:2px solid #454545;
}

.talkThread__suggestion{
  padding: 5px 15px 5px 25px;
  border: 1px solid var(--color-link);
  color: var(--color-link);
  display:block;
  border-radius: 5px;
}

.talkThread__btnBox{
  padding: 0 8%;
}

.talkThread__btnBox a{
  margin: 20px 0px;
}

.talkThread__btnBox a:last-child{
  text-align: center;
}

.talkThread__box:nth-child(2n) {
  background-color: #EEFDFE;
}

.talkThread__closed{
 background: #C7C6C6;
}

.talkThread__campanyImg{
  width: 72px;
  border-radius: 50%;
  max-width: none;
}
.talkThread__campanyName{
  font-size: 16px;
}
.mgmtOffice{
  color: #125892;
}
.talkThread__description{

}
.talkThread__notification{
  margin-left: auto;
  color:#EA5D5D;
}

.talkThread__date{
  margin-bottom: 8px;
  font-size: 12px;
  color: var(--color-darkgray);
  display: block;
  position: absolute;
  top:18%;
  left:82%;
}

.talkThread__endDescription{
 color: var(--color-white);
}

.talkThread__form {
  display:flex;
  flex-direction: row;
  flex-wrap: wrap;
  background-color: var(--color-white);
  border: 1px solid #E4E4E4;
  box-shadow: 0px 1px 4px 2px rgba(190, 190, 190, 0.25);
  border-radius: 4px;
  padding:20px;
}

.talkThread__form:focus{
    outline: 0;
    box-shadow: 0 0 0 2px rgb(33, 150, 243) inset;
}

.form-inner{
  width: 100%;
  border: 2px solid #FFD74A;
  border-radius: 4px;
  margin-bottom: 12px;
  padding: 3.8%;
}

.form-inner:focus::-webkit-input-placeholder{ 
  color: var(--color-white);
} /* Chrome・Safari・Opera用(※Edge) */
.form-inner:focus:-moz-placeholder{ 
  color: var(--color-white);
}  /* Firefox18以前用 */
.form-inner:focus::-moz-placeholder{
  color: var(--color-white);
} /* Firefox19以上用 */
.form-inner:focus::placeholder{
  color: var(--color-white);
} /* CSS標準 */

.talkThread__form__container{
  width:100%;
  position:relative;
}

.thread-send{
}

.formBtn{
  background-color: #125892;
  width: 12%;
  padding: 0.38% 5.2% 0.38% 2.2%;
  height: 38px;
  float: right;
}

.formBtn::after{
  content: "";
  background: url('../../images/icon/icon-send.svg') no-repeat;
  width: 1em;
  height: 2em;
  margin-left: 0.7em;
  position: absolute;
  background-size: contain;
  background-position: center;
}

.formFile__icon{
  width:24px;
  margin: 0px 10px;
}

.textCount{
  margin-right: 1%;
  width: auto;
}

@media only screen and (max-width: 768px) {
  .breadCrumb {
    margin-bottom: 1%;
    display:block;
  }

  .talkThread{
    flex-direction: column;
  }
  .talkThread-left{
    width: 100%;
  }
  .talkThread-right{
    width: 100%;
    margin-top: 0;
  }
  .talkThread__box {
    padding: 4.41% 2.4%;
  }
  .talkThread__suggestion{
    text-align: center;
  }
  .btn-common {
    max-width: none;
  }
}


/* ==================================
  購入者情報の編集
  /mypage/setting/index.html
================================== */
.mypageSetting {
  margin-top: 50px;
  display: flex;
  flex-direction: row;
  gap: 45px;
}
.mypageSetting-left {
  width: 350px;
}
.mypageSetting__menu {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.mypageSetting__menu a {
  padding: 12px 35px 12px 32px;
  display: block;
  width: 100%;
  border: 1px solid var(--color-rightyellow);
  border-radius: 100vh;
  font-size: 24px;
  cursor: pointer;
  position: relative;
}
.mypageSetting__menu a::after {
  content: "";
  position: absolute;
  right: 25px;
  bottom: calc(50% - 5px);
  border-top: solid 2px var(--color-darkgray);
  border-right: solid 2px var(--color-darkgray);
  transform: rotate(45deg);
  width: 10px;
  height: 10px;
}
.mypageSetting__menu-active a, .mypageSetting__menu a:hover {
  background: var(--color-white);
  border-color: var(--color-middleyellow);
  box-shadow: 0px 1px 4px 2px rgba(255, 215, 74, 0.25);
  opacity: 1.0;
}
.mypageSetting-right {
  width: calc(100% - 350px - 45px);
}
.mypageSetting__form .form__box {
  max-width: 500px;
}
.mypageSetting__form .form__box dl {
  gap: 9px;
}
.mypageSetting__form .form__box dt {
  font-size: 16px;
}
.mypageSetting__form .form__btn {
  max-width: 500px;
}
@media only screen and (max-width: 768px) {
  .mypageSetting {
    flex-direction: column;
    gap: 40px;
  }
  .mypageSetting-left, .mypageSetting-right {
    width: 100%;
  }
  .mypageSetting__menu {
    gap: 20px;
  }
  .mypageSetting__menu a {
    padding: 10px 25px 10px 15px;
    font-size: 18px;
  }
  .mypageSetting__menu a::after {
    right: 18px;
  }
  .mypageSetting__form .form__box,
  .mypageSetting__form .form__btn {
    max-width: 100%;
  }
}