@charset "UTF-8";

/* sp用共通ＣＳＳ */
.sp_only {
  display: none !important;
}

body {
  position: relative;
  width: 100%;
  height: auto;
  color: #333;
  font-family: "Noto Sans CJK JP", sans-serif;
  margin: unset;
}


img {
  width: 100%;
}

/* マージン調整 */
.mt10 {
  margin-top: 10px;
}

.mt20 {
  margin-top: 20px;
}

.mt30 {
  margin-top: 30px;
}

.mt40 {
  margin-top: 40px;
}

.mt50 {
  margin-top: 50px;
}

.mt60 {
  margin-top: 60px;
}

.mt70 {
  margin-top: 70px;
}

.mt80 {
  margin-top: 80px;
}

.mt90 {
  margin-top: 90px;
}

.mt100 {
  margin-top: 100px;
}

.mt110 {
  margin-top: 110px;
}

.mt120 {
  margin-top: 120px;
}

.mt130 {
  margin-top: 130px;
}

.mt140 {
  margin-top: 140px;
}

.mt150 {
  margin-top: 150px;
}

.mb10 {
  margin-bottom: 10px;
}

.mb20 {
  margin-bottom: 20px;
}

.mb30 {
  margin-bottom: 30px;
}

.mb40 {
  margin-bottom: 40px;
}

.mb50 {
  margin-bottom: 50px;
}

.mb60 {
  margin-bottom: 60px;
}

.mb70 {
  margin-bottom: 70px;
}

.mb80 {
  margin-bottom: 80px;
}

.mb90 {
  margin-bottom: 90px;
}

.mb100 {
  margin-bottom: 100px;
}

.mb110 {
  margin-bottom: 110px;
}

.mb120 {
  margin-bottom: 120px;
}

.mb130 {
  margin-bottom: 130px;
}

.mb140 {
  margin-bottom: 140px;
}

.mb150 {
  margin-bottom: 150px;
}

#all_wrapper {
  position: relative;
  background: #ffffff;
  padding-top: 50px;
}

#all_wrapper #all_wrap_inner {
  height: 100%;
}

#all_wrapper #all_wrap_inner main {
  height: 100%;
}

#all_wrapper .page_wrap {
  position: relative;
  min-width: 550px;
  width: 100%;
  background: #eeeee7;
  padding-bottom: 50px;
  z-index: 1;
}

#all_wrapper .page_wrap::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  background: url(../imgs/common/b_pattern.png) repeat;
  background-size: contain;
  z-index: -1;
  margin: 0 auto;
}

h2 {
  font-size: 22px !important;
  color: #333 !important;
  font-weight: 400 !important;
  padding-left: 20px !important;
  letter-spacing: 0.1em !important;
}

h3 {
  font-size: 18px !important;
  color: #333 !important;
  font-weight: 500 !important;
  letter-spacing: 0.1em !important;
}

h4 {
  font-size: 16px !important;
  color: #333 !important;
  font-weight: 300 !important;
  letter-spacing: 0.1em !important;
}

/*--------------------------------------------------
**************************************************
ヘッダー
**************************************************
--------------------------------------------------*/

header {
  position: fixed;
  top: 0;
  width: 100%;
  height: 50px;
  z-index: 100;
  background: #eeeee7;
  box-shadow: 0px 0px 5px 3px rgb(0 0 0 / 13%);
}

#top_nav_wrap {
  width: calc(100% - 20px);
  height: 100%;
  margin: 0 auto;
}

#header_top_nav .header_usually {
  display: flex;
  height: 50px;
  align-items: center;
}

#header_top_nav .header_new {
  display: none;
  height: 50px;
  align-items: center;
}

#header_top_nav a {
  display: flex;
  align-items: center;
  text-decoration: none;
  font-size: 16px;
  color: #333;
  letter-spacing: 0.1em;
  font-weight: 300;
}

/* #header_top_nav a .logo_img {
  width: 140px;
  margin-right: 10px;
} */
#header_top_nav a .logo_img {
  width: 140px;
  margin-right: 10px;
}

#header_top_nav .top_nav_ul {
  display: flex;
  width: calc(100% - 170px);
  justify-content: flex-end;
}

#header_top_nav .top_nav_ul li {
  margin-right: 35px;
}

#header_top_nav .top_nav_ul li.search {
  margin-right: 0;
}

#header_top_nav .top_nav_ul li a {
  font-size: 14px;
}

#header_top_nav .top_nav_ul a .nav_icon {
  width: 20px;
  margin-right: 10px;
}

#header_top_nav .top_nav_ul li.search a {
  position: relative;
  color: #fff;
  padding: 0 16px;
}

#header_top_nav .top_nav_ul li.search a::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 46px;
  top: -15px;
  left: 0;
  right: 0;
  background: #a5a294;
  border-radius: 0 0 15px 15px;
  z-index: -1;
}

/*--------------------------------------------------
**************************************************
サイドナビ
**************************************************
--------------------------------------------------*/
#side_nav .basic {
  display: none;
}

#side_nav .corporation {
  display: block;
}

#side_nav {
  position: relative;
  max-width: 300px;
  min-width: 200px;
  height: 100%;
  background: #fff;
  padding: 30px 20px 30px 20px;
  box-sizing: border-box;
  z-index: 1;
}

#side_nav .nav_top {
  position: relative;
  width: calc(100% - 20px);
  text-align: center;
  padding: 20px 0px;
  margin: 0px 0 30px 0;
  z-index: 1;
}

#side_nav .nav_top::before {
  position: absolute;
  content: "";
  width: calc(100% + 40px);
  height: 100%;
  top: 0;
  left: -20px;
  background: #eeeee7;
  border-radius: 0 15px 15px 0;
  z-index: -1;
}

.corp_admin #side_nav .nav_top:before {
  background: #fff;
  border: 2px solid #ccc;
}

#side_nav .nav_top p {
  font-size: 15px;
  text-align: left;
  letter-spacing: 0.1em;
}

.q_category a {
  display: flex;
  align-items: center;
  font-size: 12px;
  justify-content: center;
  text-decoration: none;
  color: #333333;
  transition: opacity 0.3s;
}

.q_category .cont_icon {
  width: 15px;
  margin-right: 10px;
}

.nav_wrap li a {
  display: flex;
  align-items: center;
  color: #333;
  font-size: 15px;
  text-decoration: none;
  margin-bottom: 20px;
  transition: opacity 0.3s;
}

.nav_wrap li a:hover,
.q_category a:hover {
  opacity: 0.8;
}

.nav_wrap li a .list_icon {
  width: 20px;
  margin-right: 20px;
}

.banner_area {
  position: relative;
  margin: 50px auto;
}

.banner_area li {
  margin-bottom: 30px;
}

#side_nav .nav_top h3 {
  text-align: left;
}

#side_nav .nav_top .lank {
  font-size: 15px;
  text-align: left;
  margin-left: 10px;
}

#side_nav .nav_top .side_nav a {
  display: flex;
  align-items: center;
  text-decoration: none;
  color: #333;
  font-size: 15px;
  margin-bottom: 10px;
  transition: opacity 0.3s;
}

#side_nav .nav_top .side_nav a:hover {
  opacity: 0.8;
}

#side_nav .corporation .nav_top .side_nav a .side_name {
  text-align: left;
}

#side_nav .nav_top .side_nav a .side_icon {
  width: 20px;
  margin-right: 20px;
}

#side_nav .nav_top .side_nav a .icon_name {
  text-align: left;
  line-height: 1.1;
}

#side_nav .nav_top .side_nav a .side_icon.wide {
  width: 40px;
  margin: 0 10px 0 -5px;
}

#side_nav .nav_top .side_nav {
  margin: 20px 0 0px 20px;
}

.bottom_banner {
  position: relative;
}










/*--------------------------------------------------
**************************************************
ボタン
**************************************************
--------------------------------------------------*/
.log_btn a {
  display: inline-block;
  max-width: 200px;
  min-width: 150px;
  width: 100%;
  font-size: 14px;
  text-decoration: none;
  border-radius: 8px;
  padding: 10px 15px;
  margin: 20px auto;
  cursor: pointer;
  text-align: center;
  transition: opacity 0.3s;
}

.log_btn a:hover {
  opacity: 0.8;
}

.log_btn.login a {
  background: #9c1a1a;
  color: #fff;
}

.log_btn.logout a {
  background: #888888;
  color: #fff;
}

.log_btn.category {
  margin: 20px auto 0 auto;
  text-align: center;
}

.log_btn.category a {
  background: #000000;
  color: #ffffff;
}

/* .next_page a {
  position: relative;
  display: inline-block;
  text-decoration: none;
  font-size: 15px;
  color: #333333;
  letter-spacing: 0.2em;
  transition: opacity 0.3s;
}

.next_page a:hover {
  opacity: 0.8;
}

.next_page a::before {
  position: absolute;
  content: "";
  width: 10px;
  height: 10px;
  top: 0;
  right: -20px;
  bottom: 0;
  border-top: solid 1px #333;
  border-right: solid 1px #333;
  transform: rotate(45deg);
  margin: auto;
} */

.btn_select {
  width: 100%;
  margin-bottom: 20px;
}

.btn_select a {
  position: relative;
  display: inline-block;
  width: 100px;
  height: 40px;
  text-decoration: none;
  font-size: 15px;
  text-align: center;
  line-height: 40px;
  border-radius: 10px;
  letter-spacing: 0.1em;
  transition: opacity 0.3s;
}

.btn_select a:hover {
  opacity: 0.8;
}

.btn_select.edit {
  text-align: right;
}

.btn_select.edit a {
  font-size: 15px;
  color: #fff;
  background: #666666;
}

.btn_select.free a,
.btn_select.release a {
  background: #a3a090;
  color: #fff;
  border-radius: 0;
}

.btn_select.back a {
  width: 150px;
  background: #000;
  color: #fff;
  padding-right: 10px;
}

.btn_select.back a::before {
  position: absolute;
  content: "";
  width: 10px;
  height: 10px;
  top: 0;
  right: 5px;
  bottom: 0;
  background: url(../imgs/common/w_arrow.svg) no-repeat;
  margin: auto;
}

.bth_watch a {
  position: relative;
  display: inline-block;
  max-width: 200px;
  width: 100%;
  font-size: 14px;
  color: #fff;
  background: #cf6936;
  border-radius: 8px;
  text-decoration: none;
  letter-spacing: 0.1em;
  margin: 20px auto;
  padding: 10px 15px;
  transition: opacity 0.3s;
}

.bth_watch a::before {
  position: absolute;
  content: "";
  width: 10px;
  height: 10px;
  top: 0;
  right: 5px;
  bottom: 0;
  background: url(../imgs/common/w_arrow.svg) no-repeat;
  margin: auto;
}

.bth_watch a:hover {
  opacity: 0.8;
}

.bth_watch.read a {
  min-width: 200px;
}

.bth_watch a .mintext {
  display: block;
  font-size: 12px;
}

.bth_watch a .explain {
  display: block;
  font-size: 10px;
}

.bth_watch a.green {
  min-width: 150px;
  background: #368598;
  margin-right: 10px;
}

.bth_watch.plus {
  margin-left: 10px;
}

.bth_watch.plus a {
  min-width: unset;
  width: 80px;
  padding: 10px 10px;
  background: #a3a090;
}

.bth_watch.plus a::before {
  background: none;
}

.bth_watch.plus a .img_icon {
  display: inline-block;
  width: 20px;
}

.bth_watch.plus a .mintext {
  font-size: 10px;
}

.btn_cont a {
  position: relative;
  display: block;
  min-width: 100px;
  height: 30px;
  font-size: 12px;
  text-decoration: none;
  text-align: center;
  line-height: 30px;
  border-radius: 5px;
  box-sizing: border-box;
  transition: opacity 0.3s;
}

.btn_cont a:hover {
  opacity: 0.8;
}

.btn_cont.detail a {
  background: #888888;
  color: #fff;
}

.btn_cont.read a {
  background: #368598;
  color: #fff;
  padding-right: 10px;
}

.btn_cont a::before {
  position: absolute;
  content: "";
  width: 8px;
  height: 8px;
  top: 0;
  right: 10px;
  bottom: 0;
  background: url(../imgs/common/w_arrow.svg) no-repeat;
  margin: auto;
}

.btn_select.bulk a {
  background: #bb4646;
  color: #fff;
  margin-right: 20px;
}

.btn_select.delete a {
  background: #cf6936;
  color: #fff;
  margin-right: 20px;
}

.btn_select.paschange {
  width: unset;
  height: 30px;
  color: #333;
  line-height: 30px;
  cursor: pointer;
  border-radius: 5px;
  padding: 0 20px;
  border: 1px solid #cccccc;
  text-decoration: none;
}

.log_btn.change a {
  background: #cf6936;
  color: #fff;
}

.bth_watch.sign a {
  background: #b03b3b;
}

.bth_watch.sign a::before {
  background: unset;
}

.bth_watch.new a {
  background: #9c1a1a;
}

.log_btn.payment a {
  background: #307ec7;
  color: #fff;
  letter-spacing: 0.1em;
}

.log_btn.return a {
  background: #333333;
  color: #fff;
  letter-spacing: 0.1em;
}

.bth_select.member a {
  position: relative;
  display: flex;
  max-width: 180px;
  width: 100%;
  height: 50px;
  font-size: 12px;
  text-decoration: none;
  border-radius: 5px;
  background: #9c1a1a;
  color: #fff;
  letter-spacing: 0.1em;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  transition: opacity 0.3s;
}

.log_btn.update a {
  background: #9c1a1a;
  color: #fff;
}

.log_btn.new a {
  background: #bb4646;
  color: #fff;
}

.log_btn.delete a {
  background: #cf6936;
  color: #fff;
}

/*--------------------------------------------------
**************************************************
インプット
**************************************************
--------------------------------------------------*/


input[type="checkbox"] {
  display: none;
}

input[type=checkbox]+label {
  position: relative;
  width: auto;
  box-sizing: border-box;
  cursor: pointer;
  padding: 5px 20px;
}


input[type=checkbox]+label::before {
  position: absolute;
  display: block;
  content: '';
  width: 50px;
  height: 50px;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #ffffff;
  margin: auto;
}

input[type=checkbox]+label::after {
  position: absolute;
  content: '';
  display: block;
  width: 65px;
  height: 65px;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  background: url(../imgs/common/check.png) no-repeat;
  background-size: 100%;
  margin: auto;
}

input[type=checkbox]:checked+label::after {
  opacity: 1;
}

input[type="password"] {
  outline: none;
}

::placeholder {
  color: #cccccc;
  font-weight: 100;
}

.popup_cont.radio {
  display: flex;
  flex-direction: column;
}

.popup_cont.radio input {
  display: none;
}

.popup_cont.radio label {
  position: relative;
  display: block;
  margin-top: 30px;
  padding-left: 30px;
  cursor: pointer;
}

input[type=radio]+label::before {
  position: absolute;
  content: "";
  width: 15px;
  height: 15px;
  top: 0;
  left: 0;
  bottom: 0;
  background: #fff;
  border-radius: 50%;
  margin: auto;
}

input[type=radio]+label::after {
  position: absolute;
  content: "";
  width: 10px;
  height: 10px;
  top: 7px;
  left: 3px;
  bottom: 0;
  opacity: 0;
  background: #cf6936;
  border-radius: 50%;
}

input[type=radio]:checked+label::after {
  opacity: 1;
}

input[type=email],
input[type=tel],
input[type=text],
input[type="number"],
input[type="password"] {
  width: 100%;
  height: 40px;
  border: none;
  border-radius: 5px;
  font-size: 15px;
  background: #fff;
  padding: 0 20px;
}

select {
  height: 40px;
  border: none;
  border-radius: 5px;
  font-size: 15px;
  background: #fff;
  padding: 0 20px;
}

#popup .pop_content.password .popup_wrap .popup_cont label,
#popup .pop_content.account .popup_wrap .popup_cont label {
  display: block;
  margin-top: 15px;
}

.period_search {
  display: flex;
  max-width: 700px;
  width: calc(100% - 20px);
  background: #ffffff;
  border-radius: 10px;
  margin: 50px auto;
  padding: 20px 20px;
  box-sizing: border-box;
}

.period_search .input_wrap {
  width: calc(100% - 80px);
}

.period_search .input_wrap input[type="date"] {
  width: 40%;
  height: 40px;
  border: 1px solid #eeeee7;
  border-radius: 5px;
  font-size: 15px;
  background: #fff;
  padding: 0 20px;
}

input[type="date"]:focus {
  outline: unset;
}

.search_btn {
  width: 80px;
  height: 40px;
}

.search_btn a {
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
  background: #888888;
  text-align: center;
  color: #fff;
  line-height: 40px;
  border-radius: 10px;
}


.feature {
  position: relative;
  width: calc(100% - 40px);
  height: auto;
  background: rgb(255 255 255 / 30%);
  border-radius: 20px;
  padding: 15px 20px;
  margin: 20px auto;
}

.feature .feature_title {
  position: absolute;
  display: block;
  width: 100%;
  top: -13px;
  left: 0;
  right: 0;
  text-align: center;
  letter-spacing: 0.2em;
}

.feature ul.feature_wrap {
  margin-left: 20px;
  font-size: 13px;
  letter-spacing: 0.1em;
}

.pagination {
  text-align: center;
}

.pagination a,
.pagination span {
  display: inline-block;
  margin: 8px 4px;
  text-decoration: none;
  border-radius: 6px;
  background: #fff;
  width: 50px;
  height: 50px;
  padding: 18px 0;
  box-sizing: border-box;
  color: #899a96;
  line-height: 1;
}

a.first.page-numbers.text,
a.last.page-numbers.text {
  font-size: 14px;
}

.nav-links input[type="number"] {
  width: 60px;
  height: 50px;
  padding: 0 10px;
  margin-left: 20px;
  border: 1px solid #cccccc;
}

font.text_p {
  font-size: 14px;
  color: #899a96;
  font-weight: 500;
}

.pagination a:hover {
  opacity: 0.7;
}

.pagination .current {
  background: transparent;
  font-weight: bold;
}

@media screen and (max-width: 767px) {

  .pagination a,
  .pagination span {
    margin: 4px 2px;
    width: 46px;
    height: 46px;
    padding: 16px 0;
  }
}

/*--------------------------------------------------
**************************************************
フッター
**************************************************
--------------------------------------------------*/

footer {
  position: relative;
  padding: 30px 0 0px 0;
  color: #333;
  text-align: center;
  font-size: 12px;
  line-height: 12px;
  font-weight: 300;
  letter-spacing: 0.1em;
  background: #eeeee7;
  box-shadow: 0px 0px 5px 3px rgb(0 0 0 / 13%);
  z-index: 1000;
}

.footer_logo a {
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  color: #333;
  font-size: 15px;
  letter-spacing: 0.1em;
  transition: opacity 0.3s;
}

.footer_logo a:hover {
  opacity: 0.8;
}

.footer_logo a .logo_img {
  width: 150px;
}

.footer_nav ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin: 30px auto;
}

.footer_nav ul a {
  display: inline-block;
  margin: 20px 20px;
  letter-spacing: 0.1em;
  font-size: 15px;
  text-decoration: none;
  color: #333;
  transition: opacity 0.3s;
}

.footer_nav ul a:hover {
  opacity: 0.8;
}

.footer_inner {
  width: 100%;
  height: 40px;
  color: #fff;
  font-size: 12px;
  letter-spacing: 0.1em;
  background: #948f78;
  line-height: 40px;
}

/*--------------------------------------------------
**************************************************
ポップアップ
**************************************************
--------------------------------------------------*/
#popup {
  position: fixed;
  display: block;
  width: 100%;
  height: calc(100% - 50px);
  top: 50px;
  left: 0;
  pointer-events: none;
  z-index: 100000;
}

body.pop-is-open {
  overflow: hidden;
}

.popup_wrap h3 {
  margin-left: 10%;
}

.pop_content.password h3,
.pop_content.account h3 {
  margin-left: 0;
}

#popup .pop_content {
  position: fixed;
  display: flex;
  width: 100%;
  height: auto;
  background: rgb(255 255 255 / 80%);
  top: 0;
  left: 0;
  bottom: 0;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  opacity: 0;
  transition: opacity 1s;
  z-index: -1;
  overflow-y: scroll;
}

#popup .pop_content.is-open {
  pointer-events: auto;
  opacity: 1;
}

#popup .pop_content .popup_inner {
  position: relative;
  max-width: 900px;
  width: calc(100% - 20px);
  height: auto;
  background: #d6d4ca;
  padding: 20px 0 10px 0;
  margin: auto;
  z-index: 9999;
}

#popup .pop_content.account .popup_inner,
#popup .pop_content.password .popup_inner,
#popup .pop_content.plan_change .popup_inner,
#popup .pop_content.user_new .popup_inner {
  max-width: 700px;
}

#popup .pop_content.account .popup_inner h3,
#popup .pop_content.password .popup_inner h3,
#popup .pop_content.plan_change .popup_inner h3,
#popup .pop_content.user_new .popup_inner h3 {
  text-align: center;
  margin-left: 0;
  margin-bottom: 20px;
}

#popup .pop_content .popup_inner .popup_overflow {
  width: calc(100% - 10px);
  overflow-y: auto;
  max-height: 600px;
}

.popup_wrap {
  padding: 20px 20px;
}

.pop_content.password .popup_wrap {
  height: unset;
  max-width: 700px;
  margin: 0 auto;
}

#popup button.close-button {
  position: absolute;
  display: block;
  width: 50px;
  height: 50px;
  top: 0px;
  right: 20px;
  background: none;
  border: none;
  cursor: pointer;
  z-index: 20;
}

#popup button.close-button::before,
#popup button.close-button::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2px;
  height: 30px;
  background: #333;
}

#popup button.close-button::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

#popup button.close-button::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

#popup .popup_wrap .popup_cont {
  display: flex;
  width: 100%;
  height: auto;
  justify-content: center;
  margin: 30px 0 0 0;
  overflow: hidden;
}

#popup .pop_content.account .popup_inner .popup_cont,
#popup .pop_content.password .popup_inner .popup_cont {
  flex-direction: column;
  margin: 0 auto;
}

#popup .popup_wrap .popup_cont .pop_left {
  margin-right: 30px;
}

#popup .popup_wrap .popup_cont .popimg {
  width: 240px;
}

#popup .popup_wrap .popup_cont .sample_read {
  display: flex;
  max-width: 150px;
  width: 100%;
  height: 30px;
  text-decoration: none;
  background: #8f9193;
  border-radius: 10px;
  color: #ffff;
  margin: 10px auto;
  justify-content: center;
  align-items: center;
  letter-spacing: 0.1em;
  transition: opacity 0.3s;
}

#popup .popup_wrap .popup_cont .sample_read:hover{
  opacity: 0.8;
}

.pop_right .btn_wrap {
  display: flex;
  align-items: center;
  justify-content: center;
}

.pop_right .book_cont {
  margin: 10px 0 20px 0;
  font-size: 17px;
  letter-spacing: 0.1em;
}

.pop_right .book_cont.delivery {
  margin-top: -20px;
}

.pop_right .book_text {
  font-size: 15px;
  letter-spacing: 0.1em;
  line-height: 30px;
}

#popup .popup_wrap .popup_cont .pop_right .note {
  font-size: 15px;
  letter-spacing: 0.1em;
  margin-bottom: 10px;
}

.pop_right .btn_wrap .btn_select {
  margin-left: 10px;
}

.pop_right .btn_wrap .btn_select.back {
  margin-left: 50px;
}

.bth_watch {
  text-align: center;
  margin-top: 20px;
}

.popup_wrap .q_category {
  position: absolute;
  bottom: -25px;
  right: 200px;
}

#popup .popimg_set {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.pop_content.set_free .popup_cont {
  justify-content: normal !important;
}

#popup .popimg_set li {
  width: calc(100% / 3) !important;
  min-width: unset;
  padding: 0px 10px 10px 0;
}

.pop_content.set_free .pop_left {
  width: 50% !important;
}

#popup .popup_wrap .popup_cont .type li {
  display: inline-block;
  min-width: unset;
  width: unset;
  padding: 5px 10px;
  font-size: 12px;
  background: #e9e7dc;
  color: #333;
  border-radius: 5px;
  text-align: center;
  margin: 0 5px 10px 0;
}

.pop_content.set_paid .set_cont p {
  text-align: center;
}

.popup_overflow::-webkit-scrollbar {
  width: 10px;
  padding-top: 100px;
}

.popup_overflow::-webkit-scrollbar-track {
  background-color: #ccc;
}

.popup_overflow::-webkit-scrollbar-thumb {
  background-color: #fff;
  border-radius: 5px;
}

.pop_content .set_wrap ul {
  display: block;
  margin-top: 20px;
}

.pop_content .set_wrap ul li {
  display: flex;
  width: 100%;
  justify-content: center;
  align-items: center;
  background: #e9e7dc;
  padding: 10px 20px;
  border-radius: 10px;
  margin-bottom: 20px;
}

.pop_content .set_wrap ul li .setcont_img {
  width: 15%;
  padding: 10px 20px;
}

.pop_content .set_wrap ul li .setcont_text {
  width: 65%;
  font-size: 15px;
}

.pop_content .set_wrap ul li .setcont_text .title {
  display: block;
  font-size: 18px;
  letter-spacing: 0.1em;
}

.pop_content .set_wrap ul li .setcont_btn {
  width: 20%;
}

.pop_content .btn_select.back a {
  width: 220px;
  background: #000;
  color: #fff;
  font-size: 13px;
  padding-right: 10px;
}

.pop_content.set_buy .set_cont p {
  text-align: center;
  margin: 20px auto;
}

.pop_content.set_buy .set_btnwrap {
  width: calc(100% - 100px);
  background: #e9e7dc;
  padding: 20px 20px;
  border-radius: 20px;
  text-align: center;
  margin: 0 auto;
}

.pop_content.set_buy .set_btnwrap .set_link {
  display: flex;
  flex-wrap: wrap;
}

.pop_content.set_buy .set_btnwrap .set_link li {
  min-width: unset;
  width: unset;
}

.pop_content.set_buy .set_btnwrap li a {
  position: relative;
  display: inline-block;
  font-size: 13px;
  letter-spacing: 0.1em;
  text-decoration: none;
  color: #fff;
  background: #449e72;
  border-radius: 10px;
  padding: 10px 30px 10px 20px;
  margin: 5px 5px;
  transition: opacity 0.3s;
}

.pop_content.set_buy .set_btnwrap li a:hover {
  opacity: 0.8;
}

.pop_content.set_buy .set_btnwrap li a::before {
  position: absolute;
  content: "";
  width: 8px;
  height: 8px;
  top: 0;
  right: 10px;
  bottom: 0;
  background: url(../imgs/common/w_arrow.svg) no-repeat;
  margin: auto;
}

.radiobutton {
  display: none;
}

.radiobox {
  margin-bottom: 30px;
}

.radiobox.select {
  display: flex;
  justify-content: center;
  align-items: center;
}

.radiobox.select .bth_select.member {
  width: 150px;
}

.radiobox label {
  position: relative;
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  align-content: center;
  justify-content: center;
  width: 120px;
  height: 50px;
  background-color: #ffffff;
  border-radius: 5px;
  line-height: 50px;
  cursor: pointer;
  margin: 0 10px;
}

.radiobox label .month {
  display: block;
  width: 100%;
  font-size: 16px;
}

.radiobox label::before,
.radiobox label::after {
  display: none;
}

.radiobutton:checked+label {
  background-color: #3e92a6;
  color: #ffffff;
}

.user_count input[type="number"] {
  width: 100px;
  margin-right: 10px;
}

input#member:checked~.add_cont {
  display: block;
}

.page_wrap.mypurchase .photo_wrap {
  pointer-events: none;
  display: flex;
  width: 100%;
  height: 100%;
  justify-content: center;
  align-items: center;
  background: #ffffff;
}

.page_wrap.mypurchase .photo_wrap img {
  height: unset !important;
  aspect-ratio: 12/17;
}

.add_cont {
  position: relative;
  display: block;
  text-align: center;
  margin-top: 50px;
}

.add_cont .add_title {
  font-size: 15px;
  margin-bottom: 20px;
}

.popup_wrap .total {
  text-align: center;
  font-size: 18px;
  letter-spacing: 0.2em;
  margin: 50px 0 30px 0;
}

.info_inner {
  max-width: 600px;
  width: 100%;
  text-align: center;
  background: #ffffff;
  padding: 20px 0;
  margin: 0 auto;
}

.popup_wrap .info_inner .inner_cont {
  margin: 20px 30px 0 30px;
  padding: 20px 30px;
}

.popup_wrap .info_inner .inner_cont li {
  display: block;
  width: 100%;
  height: 60px;
  text-align: left;
  margin: 20px 30px;
}

.popup_wrap .info_inner .inner_cont li label {
  position: relative;
  padding-left: 20px;
}

input[type=radio]+label::before {
  border: 1px solid #cccccc;
  bottom: unset;
  top: 5px;
  left: -10px;
}

input[type=radio]+label::after {
  background: #307ec7;
  left: -7px;
}



.plan_wrap .plan_btn .plan_list label .circle,
.pop_content.set_free .plan_wrap .plan_btn .plan_list label .circle {
  position: absolute;
  width: 15px;
  height: 15px;
  top: 0;
  left: 10px;
  bottom: 0;
  border: 1px solid #cccccc;
  background: #fff;
  border-radius: 50%;
  margin: auto;
  z-index: 1;
}

.pop_content.subscribe .plan_wrap .plan_btn .plan_list input[type=radio]+label::before,
.pop_content.set_free .plan_wrap .plan_btn .plan_list input[type=radio]+label::before {
  width: 100%;
  height: 100%;
  top: 0;
  left: 3px;
  bottom: 0;
  background: #f1f1f1;
  border: 1px solid #cccccc;
  border-radius: 5px;
  padding: 5px 5px;
  z-index: -1;
}

.plan_wrap .plan_btn .plan_list input[type=radio]+label::after,
.plan_wrap .plan_btn .plan_list input[type=radio]+label::after {
  width: 100%;
  height: 100%;
  top: 0;
  left: 3px;
  bottom: 0;
  background: #307ec7;
  color: #ffffff;
  border-radius: 5px;
  padding: 5px 5px;
  z-index: -1;
}

.popup_wrap .info_inner .inner_cont li .img_wrap {
  width: 300px;
  margin: 10px 0 20px 30px;
}

.log_btn.payment {
  text-align: center;
}

.log_btn.payment .btn_title .min_coment {
  font-size: 12px;
  display: block;
}

.popup_wrap .user_listwrap {
  text-align: center;
}

.popup_wrap .user_listwrap .title {
  font-size: 18px;
  letter-spacing: 0.1em;
  margin: 30px 0;
}

.popup_wrap .user_listwrap p {
  max-width: 600px;
  width: calc(100% - 40px);
  font-size: 15px;
  text-align: left;
  letter-spacing: 0.1em;
  line-height: 25px;
  margin: 0 auto 30px auto;
}

.popup_wrap .user_listwrap p .red {
  color: #cb1919;
}

.pop_content .set_wrap ul li .bottoun_wrap {
  width: 200px;
}

.pop_content .set_wrap ul li .bottoun_wrap .setcont_btn {
  display: flex;
  align-items: center;
  margin-right: 10px;
}

.pop_content .set_wrap ul li .bottoun_wrap .setcont_btn .btn_cont.detail a {
  width: 60px;
  background: #a3a090;
  height: 50px;
  line-height: 50px;
  margin: 0 10px 0 0px;
}

.pop_content .set_wrap ul li .bottoun_wrap .setcont_btn .btn_cont.detail a::before {
  background: none;
}

.pop_content .set_wrap ul li .bottoun_wrap .setcont_btn .bth_watch.plus {
  margin-left: 0;
  margin-top: 0;
}

.pop_content .set_wrap ul li .bottoun_wrap .setcont_btn .bth_watch.plus a {
  width: 70px;
  height: 50px;
  padding: 5px 5px;
  margin: unset;
  color: #fff;
}

.bottoun_wrap .bth_watch.read {
  margin-top: 0;
}

.bottoun_wrap .bth_watch.read a {
  color: #ffffff;
  margin: 10px 0;
}

.set_cont .text_red {
  display: none;
}

.set_cont.buy .text_red {
  display: block;
  text-align: center;
  color: #d22a32;
  margin: 10px 0;
}

.pop_inner .btn_wrap {
  display: flex;
  justify-content: center;
}

.pop_inner .pop_right .btn_wrap {
  justify-content: unset;
}

.pop_inner .pop_right .btn_wrap .btn_select {
  width: unset;
}

#popup .pop_content.password .popup_wrap .popup_cont label,
#popup .pop_content.account .popup_wrap .popup_cont label {
  display: block;
  margin-top: 15px;
}

.pop_content .plan_wrap {
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
  background: #fff;
}

.plan_wrap .plan_btn .plan_list {
  position: relative;
  display: flex;
  width: calc(90% / 3);
  line-height: 20px;
  padding: 5px 5px;
  margin: 0 5px;
}

.pop_content .plan_wrap .plan_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 20px;
}


 .plan_wrap .plan_btn .plan_list label {
  position: relative;
  width: 100%;
  z-index: 1;
}


.plan_wrap .plan_btn .plan_list input[type=radio]+label::before {
  width: 100%;
  height: 100%;
  top: 0;
  left: 3px;
  bottom: 0;
  background: #f1f1f1;
  border: 1px solid #cccccc;
  border-radius: 5px;
  padding: 5px 5px;
  z-index: -1;
}

 .plan_wrap .plan_btn .plan_list input[type=radio]+label::after {
  width: 100%;
  height: 100%;
  top: 0;
  left: 3px;
  bottom: 0;
  background: #307ec7;
  color: #ffffff;
  border-radius: 5px;
  padding: 5px 5px;
  z-index: -1;
}

.plan_wrap .custom input[type="number"] {
  width: 50px;
  height: 30px;
  border: 1px solid #cccc;
  margin: 0 10px;
  padding: 0 10px;
}

div .plan_wrap .custom {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  font-size: 12px;
  padding: 10px 10px 10px 0;
}

.plan_wrap .plan_btn .plan_list .plan_name .text {
  font-size: 12px;
}

.plan_wrap .plan_btn .plan_list .plan_name .title {
  display: block;
  font-size: 15px;
}

#popup .pop_content.user_new .popup_cont label {
  margin-top: 20px;
}

.plan_wrap .plan_btn .plan_list {
  position: relative;
  display: flex;
  width: calc(90% / 3);
  line-height: 20px;
  padding: 5px 5px;
  margin: 0 5px;
}

.plan_wrap .plan_btn .plan_list label {
  position: relative;
  width: 100%;
  z-index: 1;
}

.plan_wrap .plan_btn .plan_list .plan_name {
  padding-left: 10px;
}

.plan_wrap .plan_btn .plan_list .plan_name .title {
  display: block;
  font-size: 15px;
}

.plan_wrap .plan_btn .plan_list .plan_name .text {
  font-size: 12px;
}



input[type=radio]:checked+label .plan_name {
  color: #ffffff;
}

input[type=radio]:checked+label .circle {
  background: #307ec7 !important;
  border: 3px solid #ffffff !important;
  z-index: 1;
}

.plan_wrap .plan_btn .plan_list label .circle {
  position: absolute;
  width: 15px;
  height: 15px;
  top: 0;
  left: 10px;
  bottom: 0;
  border: 1px solid #cccccc;
  background: #fff;
  border-radius: 50%;
  margin: auto;
  z-index: 1;
}

.pop_content.subscribe .plan_wrap .custom,
.pop_content.set_free .plan_wrap .custom {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  font-size: 12px;
  padding: 10px 10px 10px 0;
}

.pop_content.subscribe .plan_wrap .custom input[type="number"],
.pop_content.set_free .plan_wrap .custom input[type="number"] {
  width: 60px;
  height: 30px;
  border: 1px solid #cccc;
  margin: 0 10px;
  padding: 0 10px;
}

.add_cont .term_wrap {
  max-width: 600px;
  margin: 20px auto;
  text-align: center;
}

.add_cont .term_wrap .title {
  margin-bottom: 20px;
}

.add_cont .term_wrap .bth_watch.select {
  display: flex;
  justify-content: center;
  margin-top: 10px;
}

.add_cont .term_wrap .bth_watch.select a {
  min-width: 120px;
  width: 100%;
  font-size: 12px;
  background: #3893a8;
  padding: 5px 10px;
  margin: 0 5px;
}

.add_cont .term_wrap .bth_watch.select a .month {
  display: block;
}

.add_cont .total_wrap {
  font-size: 18px;
  letter-spacing: 0.1em;
  text-align: center;
  font-weight: 500;
  margin-bottom: 20px;
}

.add_cont .total_wrap.rebate_cont {
  display: flex;
  justify-content: center;
  align-items: center;
}

.add_cont .total_wrap.rebate_cont .rebate {
  font-size: 12px;
  background: #e80610;
  color: #ffffff;
  padding: 0 10px;
  margin-left: 20px;
}

.pop_content.subscribe .inner_cont,
.pop_content.set_free .inner_cont {
  border: 1px solid #cccccc;
  border-radius: 5px;
}

.contract_detail {
  text-align: center;
}

.contract_detail .item_wrap {
  display: inline-block;
  font-size: 15px;
  letter-spacing: 0.1em;
  line-height: 30px;
  background: #ffffff;
  border-radius: 10px;
  padding: 20px 50px;
  margin: 20px 0;
}

.pop_content.contract01 .check_btnbox,
.pop_content.useredit01 .check_btnbox {
  text-align: center;
  margin-bottom: 30px;
}

.pop_content.contract01 .check_btnbox label,
.pop_content.useredit01 .check_btnbox label {
  display: inline-block;
}

.pop_content.contract01 .check_btnbox input[type=checkbox]+label::before,
.pop_content.useredit01 .check_btnbox input[type=checkbox]+label::before {
  width: 20px;
  height: 20px;
  top: 8px;
  left: -10px;
  border-radius: 5px;
  margin: unset;
}

.pop_content.contract01 .check_btnbox input[type=checkbox]+label::after,
.pop_content.useredit01 .check_btnbox input[type=checkbox]+label::after {
  width: 20px;
  height: 20px;
  top: 10px;
  left: -10px;
  background: url(../imgs/common/check.png) no-repeat;
  background-size: 100%;
  margin: unset;
}

.pop_content.useredit01 .tabel_wrap {
  width: calc(100% - 20px);
  text-align: center;
  margin: 0 auto;
}

#popup .popup_wrap .popup_cont .input_wrap {
  margin-top: 10px;
}

.pop_content.useredit01 .tabel_wrap table {
  width: calc(100% - 20px);
  text-align: center;
  font-size: 15px;
  margin: 0 auto;
  padding: 0 10px 10px 10px;
  background: #ffffff;
  border-radius: 10px;
}

#popup .popup_wrap .popup_cont .input_wrap label {
  position: relative;
  padding-left: 30px;
  margin-right: 50px;
}

.pop_content.useredit01 .tabel_wrap table tbody {
  position: relative;
  border-radius: 10px;
  padding: 10px 20px;
  z-index: 1;
}

.pop_content.useredit01 .tabel_wrap table tbody tr {
  height: 50px;
}

.pop_content.useredit01 .tabel_wrap table tbody tr:nth-child(odd) {
  background: #eeeee7;
  border-radius: 10px;

}

.pop_content.useredit01 .tabel_wrap table th {
  font-weight: normal;
  padding: 10px 0 5px 0;
}

.pop_content.useredit01 td.check input[type=checkbox]+label::before {
  width: 20px;
  height: 20px;
  top: 8px;
  left: 10px;
  border: 1px solid #cccccc;
  border-radius: 5px;
}

.pop_content.useredit01 td.check input[type=checkbox]+label::after {
  width: 20px;
  height: 20px;
  top: 10px;
  left: 10px;
  background: url(../imgs/common/check.png) no-repeat;
  background-size: 100%;
}

.pop_content.useredit01 .tabel_wrap table tr .check {
  margin: 0 auto;
}

.pop_content.useredit01 .tabel_wrap table tr .icon {
  display: block;
  width: 20px;
  margin: 0 auto;
}

#popup .popup_wrap .user_count {
  display: flex;
  width: 200px;
  font-size: 15px;
  color: #333;
  background: #ffffff;
  border-radius: 6px;
  letter-spacing: 0.1em;
  justify-content: space-between;
  padding: 10px 20px;
  margin: 30px 0 0 auto;
}

.pop_inner .user_listwrap .user_count {
  width: 300px !important;
  height: 50px;
  align-items: center;
}

#popup .popup_wrap .popup_cont .gender {
  display: flex;
}

#popup .popup_wrap .user_count.on {
  display: block;
  background: unset;
  text-align: center;
  margin: 0 auto;
}

.pop_content.user_new .popup_cont {
  flex-direction: column;
}

@media (max-width: 1000px) {

  #popup .popup_wrap .popup_cont {
    display: block;
    margin: 0 auto;
  }

  .popup_wrap h3 {
    text-align: center;
    margin-left: 0;
  }

  #popup .popup_wrap .popup_cont .pop_left {
    width: 100% !important;
    margin: 20px 0;
  }

  #popup .popup_wrap .popup_cont .popimg {
    width: 30%;
    margin: 20px auto;
  }

  .pop_right .btn_wrap .btn_select {
    width: unset;
  }

  .pop_right .book_cont,
  .pop_right .book_text {
    width: calc(100% - 80px);
    margin: 10px auto 20px auto;
    text-align: center;
  }

  .pop_right .book_text br {
    display: none;
  }

  #popup .popup_wrap .popup_cont .pop_right .note {
    text-align: center;
  }

  .popup_wrap .q_category {
    right: 60px;
  }

  .pop_content.set_free .pop_left {
    width: 100% !important;
  }

  #popup .popimg_set {
    max-width: 350px;
    margin: 0 auto;
  }

  #popup .popup_wrap .popup_cont .pop_right .btn_wrap .btn_select.back {
    display: none;
  }
  
  .book_list ul {
    justify-content: center;
  }
}

.popup_wrap .info_inner .inner_cont.pay li {
  height: auto;
}

.popup_wrap .info_inner .inner_cont.pay .credit .info_wrap {
  margin-top: 0px;
}

.popup_wrap .info_inner .inner_cont.pay .credit .info_wrap li {
  display: block;
  width: calc(100% - 20px);
  text-align: left;
  margin-bottom: 10px;
}

.popup_wrap .info_inner .inner_cont.pay .credit .info_wrap li::before {
  background: unset;
}

.popup_wrap .info_inner .inner_cont.pay .credit .info_wrap li .title_wrap {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}

.popup_wrap .info_inner .inner_cont.pay .credit .info_wrap li .title_wrap .title {
  width: 30%;
  font-size: 15px;
  padding: 0;
}

.popup_wrap .info_inner .inner_cont.pay .credit .info_wrap li .note {
  font-size: 10px;
  color: #ff0000;
}

.popup_wrap .info_inner .inner_cont.pay .credit .info_wrap li .title_wrap .img_wrap {
  max-width: 300px;
  width: 100%;
}

.popup_wrap .info_inner .inner_cont.pay .credit .info_wrap li input[type="number"],
.popup_wrap .info_inner .inner_cont.pay .credit .info_wrap li input[type="text"] {
  width: calc(100% - 20px);
  border: 1px solid #cccccc;
  height: 30px;
}

.popup_wrap .info_inner .inner_cont.pay .credit .info_wrap li select {
  border: 1px solid #ccc;
  height: 30px;
}

.popup_wrap .info_inner .inner_cont.pay .credit .info_wrap li .select_wrap {
  display: flex;
  align-items: center;
}

.popup_wrap .info_inner .inner_cont.pay .credit .info_wrap li .select_wrap .text_center {
  margin: 0 20px;
}

.popup_wrap .info_inner .inner_cont.pay .credit .info_wrap li .code_wrap {
  display: flex;
}

.popup_wrap .info_inner .inner_cont.pay .credit .info_wrap li .code_wrap input {
  width: 30%;
  margin-right: 20px;
}

.popup_wrap .info_inner .inner_cont.pay .privacy .privacy_cont {
  width: calc(100% - 20px);
  height: 100px;
  border: 1px solid #cccccc;
  border-radius: 10px;
  padding: 10px 10px;
  font-size: 10px;
  text-align: left;
  margin-bottom: 20px;
  overflow-y: scroll;
}

.popup_wrap .info_inner .inner_cont.pay .privacy .privacy_cont::-webkit-scrollbar {
  width: 10px;
  padding-top: 100px;
}

.popup_wrap .info_inner .inner_cont.pay .privacy .privacy_cont::-webkit-scrollbar-track {
  background-color: #ccc;
  border-radius: 10px;
}

.popup_wrap .info_inner .inner_cont.pay .privacy .privacy_cont::-webkit-scrollbar-thumb {
  background-color: #fff;
  border-radius: 5px;
}

.popup_wrap .info_inner .inner_cont.pay .credit .info_wrap .application label {
  padding-left: 30px;
}

.popup_wrap .info_inner .inner_cont.pay .credit .info_wrap .application label::before {
  right: unset;
  border: 1px solid #eeeeee;
  width: 20px;
  height: 20px;
}

.popup_wrap .info_inner .inner_cont.pay .credit .info_wrap .application input[type=checkbox]+label::after {
  width: 20px;
  height: 20px;
  right: unset;
}

.popup_wrap .info_inner .inner_cont.pay .select_wrap.conbini select {
  border: 1px solid #ccc;
  height: 30px;
}

.popup_wrap .info_inner .inner_cont.pay .credit .info_wrap li input[type="number"]::-webkit-outer-spin-button,
.popup_wrap .info_inner .inner_cont.pay .credit .info_wrap li input[type="number"]::-webkit-inner-spin-button { 
  -webkit-appearance: none; 
  margin: 0; 
} 

/*--------------------------------------------------
**************************************************
ブックリスト
**************************************************
--------------------------------------------------*/


.book_list {
  padding: 30px 10px;
}

.book_list ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.book_list ul li {
  position: relative;
  min-width: 150px;
  width: calc(100% / 5);
  margin-bottom: 2vw;
  text-align: center;
}

@media (min-width: 1300px) {
  .book_list ul li {
    width: calc(100% / 6);
  }
}

@media (max-width: 1020px) {
  .book_list ul li {
    width: calc(100% / 4);
  }
}

@media (max-width: 870px) {
  .book_list ul li {
    width: calc(100% / 3);
  }
}

.book_list ul li .book_on {
  position: relative;
  display: block;
  text-align: center;
  text-decoration: none;
  color: #333;
  cursor: pointer;
  margin: 20px 10px 0 10px;
  transition: opacity 0.3s;
}

.book_list ul li a {
  position: relative;
  display: block;
  text-align: center;
  text-decoration: none;
  color: #333;
  margin: 0 10px 0 10px;
  transition: opacity 0.3s;
}

.book_list ul li a:hover {
  opacity: 0.8;
}

.book_list ul li a .img_wrap {
  display: flex;
  width: 100%;
  height: 100%;
  justify-content: center;
  align-items: center;
  background: #ffffff;
}

.book_list ul li a .img_wrap img {
  aspect-ratio: 12/17;
}

.book_list ul li a .photo_wrap {
  width: 100%;
}

.book_list ul li .t_icon_wrap {
  position: absolute;
  display: flex;
  width: calc(100% - 20px);
  height: 3vw;
  top: -1.5vw;
  left: 0;
  right: 0;
  z-index: 2;
  justify-content: space-between;
  margin: 0 auto;
}

.book_list ul li .t_icon_wrap .icon_rwrap {
  display: flex;
}

.book_list ul li .t_icon_wrap .icon_cont {
  max-width: 36px;
  width: 3vw;
  opacity: 0;
}

.book_list ul li .t_icon_wrap img {
  width: auto;
  height: 100%;
}

.book_list ul li .t_icon_rwrap img {
  width: auto;
  height: 100%;
}

@media (min-width: 1300px) {
  .book_list ul li .t_icon_wrap {
    height: 38px;
    top: -19px;
  }

  .book_list ul li .t_icon_wrap .icon_cont {
    width: 38px;
  }
}

/* .book_list ul li.toll .t_icon_wrap .icon_cont.toll,
.book_list ul li.lock .t_icon_wrap .icon_cont.lock,
.book_list ul li.not .t_icon_wrap .icon_cont.not {
  opacity: 1;
} */


.book_list .p_title,
.book_list .p_date {
  text-align: left;
  margin-left: 10px;
  font-size: 13px;
}

.book_list .category_wrap,
.book_list .buy_wrap {
  margin-bottom: 50px;
}

.book_list .category_wrap .category_name,
.book_list .buy_wrap .buy_name {
  width: 100%;
  height: 40px;
  letter-spacing: 0.1em;
  line-height: 40px;
  font-size: 18px;
  text-align: center;
  background: #a5a294;
  color: #fff;
  margin: 20px 0 20px 0;
}



@media (min-width: 1000px) {
  .page_wrap {
    width: calc(100% - 300px);
  }
}



.page_content {
  display: flex;
  width: 100%;
  height: 40px;
  margin-top: 10px;
  align-items: center;
}

.page_content .arrow {
  display: block;
  width: 15px;
}

.page_content .arrow.left {
  margin-right: 20px;
}

.page_content .count {
  width: 30px;
}

.page_content .count a {
  display: block;
  text-decoration: none;
  color: #333;
  cursor: pointer;
}

.bth_watch.sign button {
  background: #bb4646;
  color: #fff;
}

.log_btn.payment button {
  background: #307ec7;
  color: #fff;
  letter-spacing: 0.1em;
  display: inline-block;
  max-width: 200px;
  min-width: 150px;
  width: 100%;
  border: unset;
  font-size: 14px;
  text-decoration: none;
  border-radius: 8px;
  padding: 10px 15px;
  margin: 0px auto;
  cursor: pointer;
  text-align: center;
  transition: opacity 0.3s;
}

/*--------------------------------------------------
**************************************************
静的ページ
**************************************************
--------------------------------------------------*/
.page_wrap.static_page {}

.page_wrap.static_page h1 {
  font-size: 18px;
  color: #333;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 30px;
  text-align: center;
  margin-top: 20px;
}

.page_wrap.static_page .cont_inner {
  width: calc(100% - 80px);
  max-width: 800px;
  margin: 20px auto 40px auto;
  background: #fff;
  padding: 50px 50px;
}

.page_wrap.static_page .cont_inner .main_cont {
  font-size: 14px;
  letter-spacing: 0.1em;
  line-height: 20px;
}

.page_wrap.static_page .cont_inner .main_cont p {
  margin-bottom: 1rem;
}

.page_wrap.static_page .cont_inner .main_cont .static_list {
  list-style: auto;
  margin-left: 20px;
}

.page_wrap.static_page .cont_inner .main_cont .static_list li {
  margin-bottom: 10px;
}

.page_wrap.static_page .cont_inner .main_cont .static_list li .sub_static_list {
  margin-top: 10px;
}

.page_wrap.static_page .cont_inner .main_cont .static_list li .sub_static_list li {
  margin-bottom: 5px;
}

.page_wrap.static_page .cont_inner .main_cont .company_info {
  line-height: 25px;
}

.page_wrap.static_page .cont_inner .main_cont table {
  width: 100%;
  border: 1px solid #cccccc;
}

.page_wrap.static_page .cont_inner .main_cont table tr {
  border-bottom: 1px solid #cccccc;
  height: 50px;
}

.page_wrap.static_page .cont_inner .main_cont table th {
  width: 150px;
  text-align: center;
  border-right: 1px solid #cccccc;
  font-weight: normal;
  vertical-align: middle;
  background: #eeeee7;
}

.page_wrap.static_page .cont_inner .main_cont table td {
  padding: 10px 20px;
  line-height: 25px;
}

/*--------------------------------------------------
**************************************************
総合案内
**************************************************
--------------------------------------------------*/

.page_content.guide {
  display: flex;
  width: 100%;
  height: 100%;
  max-width: 1200px;
  margin: 0 auto;
  align-items: center;
}

.page_content.guide .guide_wrap {
  width: calc(100% - 40px);
  margin: 0 auto;
}

.page_content.guide .guide_wrap .title_wrap {
  text-align: center;
  margin: 50px auto;
}

.guide_wrap .cont_top {
  display: flex;
  align-items: flex-start;
}

.guide_wrap .cont_top .guide_cont {
  width: 50%;
}

.guide_wrap .cont_top .guide_cont .title {
  text-align: center;
  letter-spacing: 0.2em;
  font-size: 20px;
  margin: 20px auto 0 auto;
}

.guide_wrap .cont_top .guide_cont .main_guide .sub_guide {
  margin-left: 50px;
  font-size: 15px;
}

.guide_wrap .cont_top .guide_cont .main_guide .sub_guide li {
  position: relative;
  padding-left: 20px;
  line-height: 30px;
  letter-spacing: 0.1em;
}

.guide_wrap .cont_top .guide_cont .main_guide .sub_guide li::before {
  position: absolute;
  content: "";
  width: 7px;
  height: 7px;
  top: 13px;
  left: 0;
  background: #3e92a6;
  border-radius: 50%;
  margin: auto;
}

.guide_wrap .cont_top .guide_cont .main_guide .title_wrap .number {
  display: inline-block;
  width: 30px;
  height: 30px;
  background: #3e92a6;
  text-align: center;
  color: #ffffff;
  margin-right: 10px;
}

.guide_wrap .cont_top .guide_cont .main_guide .title_wrap {
  display: flex;
  text-align: left;
  margin: 20px auto 0px auto;
}

.guide_wrap .cont_top .guide_img {
  width: 50%;
}

/*--------------------------------------------------
**************************************************
ヘルプ
**************************************************
--------------------------------------------------*/

.page_wrap.static_page .breadcrumb {
  background-color: unset;
}

.page_wrap.static_page .breadcrumb a {
  color: #0c6bd0;
}

.page_wrap.static_page .cont_inner.help {
  background: unset !important;
}

.page_wrap.static_page .cont_inner.help .help_content {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.page_wrap.static_page .cont_inner.help .help_content li a {
  display: flex;
  width: 200px;
  height: 100px;
  font-size: 15px;
  text-decoration: none;
  color: #333333;
  background: #ffffff;
  letter-spacing: 0.1em;
  margin: 10px 10px;
  justify-content: center;
  align-items: center;
  transition: opacity 0.3s;
}

.page_wrap.static_page .cont_inner.help .help_content li a:hover {
  opacity: 0.8;
}

.page_wrap.static_page .cont_inner.help .help_list {
  width: calc(100% - 40px);
  margin: 0 auto;
}

.page_wrap.static_page .cont_inner.help .help_list li a {
  display: flex;
  width: 100%;
  height: auto;
  font-size: 15px;
  background: #ffffff;
  margin: 20px 0;
  padding: 20px 20px;
  align-items: center;
  text-decoration: none;
  color: #333333;
  letter-spacing: 0.1em;
  transition: opacity 0.3s;
}

.page_wrap.static_page .cont_inner.help .help_list li a:hover {
  opacity: 0.8;
  color: #007bff;
}

.page_wrap.static_page .cont_inner.help .help_detail {
  background: #ffffff;
  padding: 50px 50px;
}

.page_wrap.static_page .cont_inner.help .help_detail .question_cont {
  position: relative;
  font-size: 20px;
  letter-spacing: 0.1em;
  margin-bottom: 30px;
}

.page_wrap.static_page .cont_inner.help .help_detail .question_cont::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  bottom: -10px;
  background: url(../imgs/common/dot_line.png);
  background-repeat: repeat-x;
  background-size: contain;
}

.page_wrap.static_page .cont_inner.help .help_detail .answer_text {
  font-size: 15px;
  letter-spacing: 0.1em;
  line-height: 30px;
}

.page_wrap.user .userl_cont .in_cont .required {
  font-size: 10px;
  color: #ce0808;
}