body{
  background-color: #fef4fe;
  min-width: 400px;
  width: 90vw;
  margin: 0 auto;
}

header{
  border-bottom: 10px dotted white;
  width: 100%;
  margin-bottom: 60px;
}

footer{
  border-top: 10px dotted white;
  width: 100%;
  margin-top: 60px;
}

.bgc_head{
  color: #ffffff;
  text-shadow: 1px 1px 1px #ebdae8;
  background-color: #fa7ec8;
  padding: 5px;
}

.site_name{
  color: #fa7ec8;
  text-shadow: 2px 2px 2px #ebdae8;
}
.site_img{
  width: 100%;
}

.menu_title{
  text-align: center;
  color: #fa7ec8;
  text-shadow: 2px 2px 2px #ebdae8;
}

.menu_button_list{
  list-style: none;
}

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

a.nonstyle{
  text-decoration: none;
}

.button{
  display: flex;
  background: linear-gradient(to bottom, #ffffff,#f0f0f0);
  box-shadow: 2px 2px #e2e2e2;
  border: 1px solid #ffffff;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
}

.button span{
  color: #333333;
  font-weight: bold;
  text-align: center;
}

.button.square{
  width: 27vw;
  height: 20vw;
  margin-bottom: 10px;
}

.button.wide{
  width: 100%;
  height: 70px;
  margin: 10px 0px;
}

.button.mini{
  width: 100%;
  height: 40px;
  margin: 10px 0px;
}

.mail_item{
  margin: 20px 0px;
}
.pagenation_wrap {
  display: flex;
  justify-content: center;
  margin-top: 10px;
}

.pagenation_page {
  padding: 5px;
  border: 1px solid #666;
  margin: 2px;
  color: #000;
  background-color: #fff;
}
.pagenation_page.disabled {
  border: 1px solid #ebdae8;
  color: #ebdae8;
}
.pagenation_wrap a {
  text-decoration: none;
}

.favorite_target_list_wrap {
  text-align: center;
}
.favorite_target_list_wrap img {
  width: 100%;
}
.favorite_target_list_wrap table {
  width: 60%;
  margin: auto;
  background-color: #fff;
}

.favorite_target_list_wrap td.td_icon {
  width: 15%;
  height: auto;
  padding: 5px;
}

.favorite_target_list_wrap td.td_name {
  font-size: 2em;
  font-weight: bolder;
}

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

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

.error{
  color: red;
}


/* reset */
ul {
  padding: 0;
  margin: 0;
}
