/* 初期設定 */
*,*::before,*::after {
  box-sizing: border-box;
  font-family: 'BIZ UDPGothic', sans-serif;
}
body {
  max-width: 600px;
  margin: auto;
  font-size: 15px;
  color: #000;
  padding-bottom: 100px; /* 固定フッター分 */
}
body *{
  font-style: normal;
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

/*
既存スタイル上書き用
*/
#wrap {
  background-image: none;
  padding: 30px 15px;
}
/* 見出し */
h2.lower_title {
  color: #fff;
  border: none;
  max-width: 95%;
  font-size: 1.1rem;
  padding: 15px 20px;
  line-height: 1.2rem;
  height: auto;
  text-align:left;
  margin:10px auto;
  text-shadow:0 2px black;
  border-radius:20px;
  border:outset 2px #fe5377;
  background: linear-gradient(90deg, #fe5377 50%, #ffc7d3 75%);
}
/* ホームに戻るボタン */
.back_link {
  width: auto;
  height: auto;
}
.back_link a {
  background-image: none;
  color: #000;
  border-bottom:solid 1px #ffcfcf;
  background:#ffcfcf;
  font-size:16px;
  text-indent: 0;
  padding: 5px 10px;
  height: auto;
  text-decoration: none;
  border-radius: 0;
}
.back_link a::before{
  content:"◀";
  color: #000;
  font-weight:bold;
  margin-right:5px;
}
.btnA {
  background-image: none;
  background: #ffcfcf;
  color: #333;
  font-weight:bold;
  font-size:130%;
  border:none;
}
/* フッター */
footer {
  margin: 0;
  padding: 0;
  background-image: none;
}
/* 下層ページ */
.page-title h1 {
  font-size: 22px;
  border-bottom: 1px solid;
  padding: 10px 20px;
  margin: 0 0 20px;
  text-align: center;
}

/*
共通スタイル
*/
/* ボタンの影 */
.cc-btn-shadow {
  -webkit-box-shadow: 0 3px 5px rgba(0, 0, 0, .3);
  box-shadow: 0 3px 5px rgba(0, 0, 0, .3);
}
/* 光るボタン */
.cc-hikaru-btn {
  display: block;
  position: relative;
  width: 80%;/*ボタンの幅*/
  padding: 10px 0;
  margin: 30px auto;
  background-color: hotpink;/*ボタンの色*/
  box-shadow: 0 3px 0 0 pink;/*影の色(rgbaの値を変更)*/
  font-weight: bold;
  font-size: 18px;
  color: #fff;
  text-align: center;
  text-decoration: none;
  overflow: hidden;
}
.cc-hikaru-btn:hover {
  text-decoration: none;
  color: #fff;
}
.cc-hikaru-btn::before {
  position: absolute;
  content: '';
  display: inline-block;
  top: -180px;
  left: 0;
  width: 30px;
  height: 100%;
  background-color: #fff;
  animation: hikaru-btn 3s ease-in-out infinite;
}
@keyframes hikaru-btn {
  0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
  80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
  81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
  100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}
/* 画面上部固定 */
.cc-sticky {
  position: sticky;
  top: 0px;
  z-index: 998;
}
/* 立体ボタン */
.cc-btn {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
}
a.btn-custom01 {
  margin-bottom: 0.5rem;
  padding: 0;
}
a.btn-custom01:before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform: translate3d(0, 0.75rem, -1rem);
  transform: translate3d(0, 0.75rem, -1rem);
  border: 2px solid #000;
  border-radius: inherit;
  background: #ccc100;
  -webkit-box-shadow: 0 0.6rem 0 0 rgba(0, 0, 0, 0.2);
  box-shadow: 0 0.6rem 0 0 rgba(0, 0, 0, 0.2);
}
.btn-custom01-front {
  position: relative;
  display: block;
  padding: 1rem 3rem;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border: 2px solid #000;
  border-radius: inherit;
  background: #fff100;
}
/* フリー領域見出し3 */
.cc-free-midashi3 {
  background: #490B03;
  color: #fff;
  box-shadow: 0px 0px 0px 5px #490B03;
  border: dashed 2px #fff;
  padding: 5px 5px;
  font-size: 1.5rem;
  font-weight: bold;
  text-align: center;
}
/* 文字装飾 */
.cc-wavy {
  text-decoration: #FF3145 wavy underline;
  -webkit-text-decoration: #FF3145 wavy underline;
}
/*マーカーアニメーション*/
.cc-marker-animation.cc-scroll-active{
  background-position: -100% .5em;
}
.cc-marker-animation {
  background-image: -webkit-linear-gradient(left, transparent 50%, rgb(255,220,0) 50%);
  background-image: -moz-linear-gradient(left, transparent 50%, rgb(255,220,0) 50%);
  background-image: -ms-linear-gradient(left, transparent 50%, rgb(255,220,0) 50%);
  background-image: -o-linear-gradient(left, transparent 50%, rgb(255,220,0) 50%);
  background-image: linear-gradient(left, transparent 50%, rgb(255,220,0) 50%);
  background-repeat: repeat-x;
  background-size: 200% .8em;
  background-position: 0 .5em;
  transition: all 2s ease;
  font-weight: bold;
}

/*
ロゴ
*/
.site-logo {
  text-align: center;
  padding: 10px 20px;
}
.site-logo img {
  width: 75%;
}
/*
トップページ
*/
/* メインイメージ */
.home-main-img {
  text-align: center;
  margin: 30px 0;
}
.main-logo {
  width: 75%;
  margin-bottom: 40px;
}

/* 見出し */
.home-midashi-img {
  text-align: center;
}
.home-midashi-title {
  margin-bottom: 10px;
}

/* 共通ボックス */
.home-box {
  margin:20px 0;
}

/* 会員情報 */
.member-info {
  padding:0 0px 20px 0px;
}
.member-info hr{
  margin:2px 0;
}
.member-info h3{
  font-size:1em;
  margin:5px;
}
.user-box .user-name > span,.user-box .user-id > span,.user-box .user-point > span{
  display:inline-block;
  background:rgb(255, 235, 235);
  color:#3d3d3d;
  border:solid 2px #fe5377;
  width:35%;
  border-radius:20px;
  margin-right:5px;
  padding:3px 5px;
  text-align:center;
  font-size:1em;
  margin-bottom:5px;
}
/* メール */
.home-mail {
  position: relative;
  border: 1px solid #e6e6e6;
  background-color: #ffffff;
  width:90%;
  margin:0 auto;
}
.home-mail-menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.home-mail-menu li {
  width: calc(84% / 3);
  text-align: center;
}
.home-mail-menu li a {
  display: block;
  text-decoration: none;
  color: #303030;
}
.home-mail-menu li a span {
  display: block;
  text-align: center;
  font-weight: bold;
}
.home-mail-menu li a img{
  width:50%;
}

/* メニュー */
.home-menu-title {
  display: block;
  margin: 50px auto 0px;
}
.home-main-menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.home-main-menu li {
  width: calc(84% / 3);
  text-align: center;
  margin: 15px 2%;
}
.home-main-menu li a {
  display: block;
  text-decoration: none;
  color: #303030;
  font-size: 15px;
}
.home-main-menu li a span {
  display: block;
  text-align: center;
  font-size: 15px;
  font-weight: bold;
}
.home-main-menu li a:hover{
  animation:homebtn .3s ease-in-out forwards;
}
@keyframes homebtn{
 to{transform:rotateY(360deg);}
}

/* フッターメニュー */
.home-footer-menu {
  position: relative;
  background-color: #fff;
}
.home-footer-menu ul li a span{
  text-shadow:0 0 3px white,0 0 3px white,0 0 3px white,0 0 3px white,0 0 3px white,0 0 3px white;
}
.home-footer-img {
  text-align: center;
}
.home-footer-title {
  width: 50%;
  margin-bottom: 25px;
}
.home-footer-menu ul {
  max-width: 226px;
  margin: auto;
}
.home-footer-menu ul li a {
  display: block;
  color: #303030;
  border: 1px solid #303030;
  text-align: center;
  text-decoration: none;
  margin-bottom: 20px;
  padding: 5px;
  font-size: 16px;
  position: relative;
  z-index: 1;
}
.home-footer-menu .home-footer-img-bottom {
  position: absolute;
  bottom: -105px;
}

/* その他ページ */

/*お気に入り一覧*/
.favorite_list{
  padding: 5px;
}
ul.favorite_list li {
  background: #ffffff;
  border-top: 2px solid #f1f1f1;
  border-bottom: 1px solid silver;
  padding: 5px;
  position: relative;
}
ul.favorite_list li::before{
  content:"";
  background-image:url(/freefiles/zjsb5vhx/home/site/hukidasi.gif);
  width:20px;
  height:20px;
}

/*
メール
*/
/* メール一覧 */
/* メール一覧 */
ul.mail_list li {
  margin:0 5px;
  background: #ffffff;
  border:solid 1px #fe5377;
  padding: 12px 8px;
  position: relative;
  border-radius:5px;
}
.midoku-delete {
  display: flex;
  justify-content: space-between;
  margin-bottom: 2px;
}
.mail-list-midoku {
  color: #333;
  font-size:11px;
  padding: 0px 10px;
  font-weight: bold;
  position:absolute;
  right:0;
  bottom:0;
  background:#ffcfcf;
}
.mail-list-kidoku {
  color: #cccccc;
  font-size:11px;
  padding: 0px 10px;
  font-weight: bold;
  position:absolute;
  transform:skewX(-5deg);
  right:0;
  bottom:0;
  background:#e6e6e6;
}
.mail-list-delete {
  text-decoration: none;
  color: #fff;
  position: absolute;
  z-index:99;
  top: 0px;
  left: 0px;
}
.receive_time{
  position:absolute;
  top:5px;
  right:5px;
  font-size:12px;
  color:#666;
}
.mail-list-delete img {
  width: 25px;
  padding: 2px;
}
.chara-area {
  display: flex;
  align-items: center;
  position: relative;
  align-items:flex-start;
}
.chara-name {
  font-weight: bold;
  text-decoration:none;
  padding:0 10px;
  color:#008080;
  font-size:14px;
}
.mail-media {
  display: flex;
}
.mail-btn-wrap {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: 0 10px 0 0;
}
.mail-btn-wrap span {
  position: relative;
  top: -5px;
  font-size: 12px;
}
.mail-btn {
  text-decoration: none;
}
.mail-btn img {
  width: 20px;
}
.mail-btn.favorite.comp {
  background-color: #fff;
  color: #000;
  border: 2px solid #490B03;
}
.mail-btn span{
  font-size:10px;
}
.honbun-area {
  display: flex;
  align-items: center;
  color:#555;
  position: relative;
  font-size:13px;
}
.mail_subject{
  text-decoration:none;
  color:#000 !important;
  background:#eee;
  font-size:16px;
  padding:5px 5px;
}
/* メール前次ボタン */
.mail-next-btn-wrap {
  display: flex;
  justify-content: space-between;
}
.mail-next-btn a {
  color: #000;
  display: block;
  width: 110px;
  text-align: center;
  text-decoration: none;
  font-size: 16px;
  padding:5px 0;
}
.mail-next-btn .prev{
  color:#fff;
  background:#1e2b2b;
  box-shadow:inset 0 30px 20px -10px #333;
}

.mail-next-btn .next{
  color:#fff;
  background:#1e2b2b;
  box-shadow:inset 0 30px 20px -10px #333;
}

/*
メール表示
*/
.mail-view-header {
  padding: 10px;
  background-color: #eee;
  position: relative;
  text-align: center;
}
.mail-view-header-return {
  position: absolute;
}
.mail-view-header-title {
  font-weight: bold;
}
.mail-wrap {
  margin-bottom: 50px;
}
.mail-header {
  padding: 10px;
  position: relative;
}
.mail-header-from {
  font-weight: bold;
  font-size: 1.1rem;
  margin-right: 1rem;
}
.mail-title {
  border-top: 1px solid lightgray;
  padding-top: 10px;
}
.mail-title span {
  font-weight: bold;
  font-size: 1.1rem;
}
.mail-header-btn img {
  width: 25px;
  margin-right: 5px;
}
.mail-body {
  padding: 10px;
}
/* 返信 */
.mail-reply {
  border: 1px solid;
  margin: 0 5px;
}
.mail-reply-title {
  text-align: center;
  font-weight: bold;
  font-size: 1.2rem;
  color:#ffcfcf;
  padding: 10px;
  margin-bottom: 10px;
}
/* 削除確認 */
.mail-delete-kakunin-txt {
  font-weight: bold;
  color: red;
  font-size: 1.5rem;
}
.mail-delete-yesno {
  display: flex;
  justify-content: space-around;
  margin: 30px 0;
}
.mail-delete-yes,.mail-delete-no {
  width: 100px;
  height: 50px;
}
.mail-delete-yes {
  color: red;
}
.mail-delete-no {
  text-decoration: none;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 2px solid;
}
/*
お気に入り
*/
/* お気に入り一覧 */
.favorite ul.mail_list li {
  border: 1px solid #e6e6e6;
}
.favorite-name {
  display: block;
  text-align: center;
  font-weight: bold;
  font-size: 1.2rem;
}
.favorite-list {
  display: flex;
  flex-wrap: wrap;
}
.favorite-list a {
  margin: 10px;
  padding: 5px 10px;
}



/*
フリー領域用
*/

/* フッター固定メニュー */
.footer-menu {
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  width: 100%;
  z-index: 10;
  height: 85px;
  max-width: 450px;
  background: #e6e6e6;
  line-height:16px;
}
.footer-menu ul {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  height: 100%;
}
.footer-menu ul li {
  width: calc(100% / 5);
  z-index: 2;
}
.footer-menu ul li a {
  text-decoration: none;
  font-size: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  color: #303030;
  text-align: center;
}
.footer-menu ul li a img {
  width: 50px;
  height: auto;
}
.footer-menu ul li a span{
  text-shadow:0 0 3px white,0 0 3px white,0 0 3px white,0 0 3px white,0 0 3px white,0 0 3px white;
}

/* ホームに戻る */
.back-btn {
  display: flex;
  flex-direction: column;
  margin-top: 50px;
  padding: 20px;
}
.back-btn a {
  display: block;
  color: #512E1D;
  border: 1px solid #512E1D;
  text-decoration: none;
  margin-bottom: 15px;
  position: relative;
  padding: 5px;
  text-align: center;
  background-color: #fff;
}

/* メニュー一覧 */
.menu {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
}
.menu li {
  width: calc(100% / 3);
  text-align: center;
  margin-top: 30px;
}

/*各種設定*/
#freelist_kakushu{
  display:flex;
  justify-content: center;
  flex-wrap: wrap;
  width:90%;
  margin:0 auto;
}
#freelist_kakushu li{
  width:calc(100%/3);
}

/*
下層ページ
*/

/* メニュー */
.main-menu {
  margin: 30px 0 0;
}
.main-menu li {
  text-align: center;
  margin-bottom: 30px;
}


/* お問い合わせ */
.form-history p {
  text-align: center;
}

/* フリー領域 */
.free-ryouiki {
  background: #fff;
  padding: 10px 5px;
}

/* ミニボタン */
.mini-btn {
  margin: 10px 0;
  padding: 0 10px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.mini-btn-item {
  width: calc(95% / 3);
}
.mini-btn-item a {
  display: block;
  text-decoration: none;
  text-align: center;
  color: #ffddb4;
  font-weight: bold;
  border: 1px solid #e6e6e6;
  background: rgb(0, 0, 0);
  font-size: 15px;
}

/*
ログイン前 ページ
*/
body.login-mae {
  max-width:450px;
  margin: auto;
  text-align: center;
}
body.login-mae h2.lower_title {
  padding: 10px;
  padding:5px;
  text-align: center;
  font-weight: bold;
  font-size: 1.2rem;
}
.login-mae-wrap {
  margin: 50px 0;
}
.login-mae-inner {
  padding: 20px;
}
body.login-mae input[type="tel"],body.login-mae input[type="password"] {
  width: 100%;
  padding: 0.5rem;
}
.id-pass-box {
  margin: 10px 0;
}
.login-touroku-box-wrap {
  display: flex;
  justify-content: space-around;
  margin: 10px 0;
}
.login-touroku-box {
  display: block;
  width: 45%;
  padding: 10px;
}
.login-touroku-box.otoko {
  border: 2px solid #0B6DAC;
  color: #0B6DAC;
}
.login-touroku-box.onna {
  border: 2px solid #DA4C6F;
  color: #DA4C6F;
}
.login-touroku-box p {
  font-size: 1.2rem;
  font-weight: bold;
}
.login-touroku-box span {
  display: block;
  background-color: #FF9921;
  padding: 5px;
  width: 70%;
  margin: 10px auto 0;
  color: #000000;
}
.login-touroku-btn {
  margin: 10px 0;
  padding: 10px;
  display: block;
  background-color: #f8fff1;
  color: #000000;
  font-size: 1.5rem;
  font-weight: bold;
}
.login-mae-menu {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.login-mae-menu li {
  margin: 10px 0;
}
.chara-img{
  margin-left:10px;
  width:40px;
  height:40px;
  display:flex;
  justify-content:center;
  align-items:center;
  margin-right:15px;
  }
  .chara-img img{width:50px; height:50px; object-fit:cover}
  .mailkoumoku{
    font-size:10px;
  }
  .mailkoumoku a{
    font-weight:400;
    text-decoration:none;
    background:#fff;
    color:#555;
    border:solid 1px grey;
    font-size:13px !important;
    padding:6px 5px;
     margin-left:3px;
     text-shadow:none;
     border-radius:5px;
    }
  .switch-btn-active{
    color:#333 !important;
    background:#ffcfcf !important;
    border-radius:5px;
    font-weight:bold !important;
  }
  .minimenub{
    border-top:none;
    display:flex;
    box-sizing: border-box;
    justify-content: space-around;
    flex-wrap: nowrap;
    box-sizing: border-box;
    padding:10px 0px;
    padding-top:0;
    position:sticky;
    top:0;
    z-index:999;
  }
  .minimenub a{
    width:calc(100%/3.1);
    box-sizing: border-box;
    text-decoration:none;
    border-bottom:solid 2px #333;
    display:flex;
    justify-content: center;
    align-items: flex-end;
    border-radius:20px;
    color:#fe5377;
    background:#ffffff;
    padding:6px 0;
    border:solid 1px #fe5377;
  }
  .minimenub a img{
    display:block;
    width:15%;
  }
  .minimenub a span{
    display:inline-block;
    color:#fe5377;
    padding:0 3px;
    font-size:15px;
  }
  .minimenub a:hover{
    background:#b86f6f;
  }

  .topmenu{
    display:flex;
    justify-content: flex-end;
    align-items:center;
  }
  .topmenu a{
    display:flex;
    justify-content: center;
    align-items: center;
    width:40px;
    height:40px;
    background:#fe5377;
    text-align: center;
    text-decoration:none;
    margin-left:10px;
    border-radius:10px;
  }
  .topmenu a img{
    width:80%;
  }
  .topmenu a span{
    display:block;
    font-size:10px;
  }
.ptbykoumoku{
  text-align:center;
  padding:4px 0;
   border-top:solid 1px #171e75;
   border-bottom:solid 1px #171e75;
   margin-bottom:20px;
}
.ptbykoumoku a{
  text-decoration:none;
}
.ptbykoumoku span{
  display:block;
  padding:6px 20px;
  width:80%;
  border:solid 1px rgb(255, 40, 40);
  background:rgb(255, 216, 216);
  border-radius:5px;
  color:#333;
  box-shadow:0 2px 2px silver;
  margin:8px auto;
}
