@charset "UTF-8";

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

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

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

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;
  padding-top: 70px;
  background: #eeeee7;
  z-index: 1;
}

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

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

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

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

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

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

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

header .log_btn.login {
  margin-top: 0;
}

#header_sp_nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 5px 0;
}

#header_sp_nav a {
  display: flex;
  height: 25px;
  align-items: center;
  text-decoration: none;
  font-size: 14px;
  color: #333;
  margin: 0;
  padding: 0 5px;
  font-weight: 300;
}

#header_sp_nav a .logo_img {
  width: 90px;
  margin-right: 10px;
}

#header_sp_nav a .logo_img.new {
  display: none;
}

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

.header_list ul {
  display: flex;
  align-items: center;
  justify-content: center;
}

.header_list ul li {
  position: relative;
  width: calc(100% / 4);
  height: 30px;
}

.header_list ul li::before {
  position: absolute;
  content: "";
  width: 1px;
  height: 30px;
  top: 0;
  right: 0;
  bottom: 0;
  background: #333333;
}

.header_list ul li:last-child::before {
  background: none;
}

.header_list ul li a {
  display: block;
  width: calc(100% - 10px);
  text-decoration: none;
  text-align: center;
  color: #333;
  font-size: 10px;
  line-height: 10px;
  margin: 0 auto;
}

.header_list ul li a .list_icon {
  width: 15px;
  height: 15px;
  margin: 0 auto 0 auto;
}

.header_list ul li .list_text {
  display: flex;
  height: 17px;
  justify-content: center;
  align-items: center;
  transform: scale(0.8);
}

header .log_btn.login {
  margin-top: 0;
}

.nav_content {
  position: fixed;
  display: block;
  width: 100%;
  height: auto;
  top: 0;
  left: 0;
  margin: auto;
  z-index: 1;
  opacity: 0;
  padding: 50px 20px 50px 20px;
  background: rgb(255 255 255 / 95%);
  box-shadow: 0px 0px 5px 3px rgb(0 0 0 / 13%);
  pointer-events: none;
  transition: 1s;
}

.corp_admin .nav_content {
  border-top: 2px solid #dcd7bf;
  border-bottom: 2px solid #dcd7bf;
}

#header_inner .nav_content.is-open {
  opacity: 1;
  pointer-events: auto;
}

#header_inner .nav_content h3 {
  text-align: center;
  letter-spacing: 0.2em;
}

#header_inner .nav_content .lank {
  font-size: 15px;
  text-align: center;
}

.nav_content ul {
  max-width: 300px;
  width: 100%;
  margin: 0 auto;
}

.nav_content li a {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  text-decoration: none;
  font-size: 18px;
  letter-spacing: 0.2em;
  color: #333333;
}

.nav_content li a .nav_icon {
  width: 20px;
  margin: 20px 30px;
}

.nav_content li a .icon_name {
  width: 150px;
}

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



/* ハンバーガーアイコン */

.icon-animation {
  position: relative;
  display: block;
  width: 26px;
  height: 16px;
  margin: 0 0 0 15px;
  cursor: pointer;
  z-index: 2;
}

.icon-animation span {
  position: absolute;
  display: block;
  width: 100%;
  height: 2px;
  top: 50%;
  background: #333333;
}

#hamburger_icon span {
  transition: all 0.8s;
  transform: rotate(0deg);
  background: #333;
}

#hamburger_icon .top {
  top: 0;
}

#hamburger_icon .bottom {
  top: 100%;
}

.is-open #hamburger_icon .middle {
  background: rgba(255, 255, 255, 0);
}

.is-open #hamburger_icon .top {
  transform: rotate(-405deg);
  top: 50%;
}

.is-open #hamburger_icon .bottom {
  transform: rotate(405deg);
  top: 50%;
}

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

.bottom_banner {
  position: relative;
  padding: 50px 0;
}
















/*--------------------------------------------------
**************************************************
ボタン
**************************************************
--------------------------------------------------*/
.log_btn a {
  display: inline-block;
  min-width: 90px;
  height: 30px;
  border-radius: 8px;
  padding: 0px 15px;
  font-size: 10px !important;
  margin: 10px auto;
  text-decoration: none;
  line-height: 30px;
  transition: opacity 0.3s;
}

.log_btn a:hover {
  opacity: 0.8;
}

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

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

/* .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: 80px;
  height: 34px;
  text-decoration: none;
  font-size: 10px;
  text-align: center;
  line-height: 34px;
  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: 10px;
  color: #fff;
  background: #666666;
}

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

.btn_select.back a {
  width: 120px;
  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;
  min-width: 120px;
  font-size: 10px;
  color: #fff;
  background: #cf6936;
  border-radius: 8px;
  text-decoration: none;
  margin: 10px auto;
  padding: 10px 15px 10px 10px;
  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: 120px;
}

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

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

.bth_watch a.green {
  min-width: 100px;
  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: 13px;
}

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


.btn_cont a {
  position: relative;
  min-width: 100px;
  height: 30px;
  font-size: 12px;
  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: 5px;
  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;
}

.log_btn.payment a {
  display: flex;
  max-width: 140px;
  background: #307ec7;
  line-height: 12px;
  color: #fff;
  justify-content: center;
  align-items: center;
}

.log_btn.payment a {
  background: #307ec7;
  color: #fff;
}

.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;
}

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

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

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


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;
  margin: auto;
  background: #ffffff;
}

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

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 10px;
}

#popup .pop_content .popup_wrap .popup_cont label {
  display: block;
  margin-top: 0px;
}

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

.period_search .input_wrap {
  width: 100%;
}

.period_search .input_wrap input[type="date"] {
  width: 45%;
  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;
  margin: 20px auto 0 auto;
}

.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;
}

.nav-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

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

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

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

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

.pagination a:hover {
  opacity: 0.7;
}

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




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

footer {
  position: relative;
  padding: 15px 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;
}

body.pop-is-open footer {
  z-index: 0;
}

.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: 100px;
}

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

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

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

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

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

.popup_wrap h3 {
  text-align: center;
}

#popup .pop_content {
  position: absolute;
  width: 100%;
  height: auto;
  background: rgb(255 255 255 / 80%);
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
  padding-top: 25px;
  box-sizing: border-box;
  opacity: 0;
  transition: opacity 1s;
  z-index: -1;
}

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

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

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

.pop_content {
  width: 100%;
  height: 100%;
}

.popup_overflow::-webkit-scrollbar,
.popup_wrap .pop_inner::-webkit-scrollbar {
  width: 5px;
}

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

.popup_overflow::-webkit-scrollbar-thumb,
.popup_wrap .pop_inner::-webkit-scrollbar-thumb {
  background-color: #f1f1f1;
  border-radius: 5px;
}

#popup button.close-button {
  position: absolute;
  display: block;
  width: 50px;
  height: 50px;
  top: 0px;
  right: 6px;
  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: block;
  width: calc(100% - 20px);
  height: auto;
  margin: 30px auto 20px auto;
}

#popup .popup_wrap .popup_cont .pop_left {
  width: 100%;
  margin: 0 auto;
}

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

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

#popup .popup_wrap .popup_cont .note {
  font-size: 12px;
  text-align: center;
  margin-top: 10px;
}


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

.pop_right .btn_select {
  width: unset;
  margin: 20px 10px 0 10px;
}

.pop_right .book_cont {
  margin: 10px 0 10px 0;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-align: center;
}

.pop_right .book_text {
  font-size: 12px;
  letter-spacing: 0.1em;
  line-height: 20px;
  text-align: center;
}

.pop_right .book_text br {
  display: none;
}


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

.popup_wrap .q_category {
  display: flex;
  justify-content: flex-end;
}

.popup_wrap .q_category .cont-text {
  font-size: 10px;
}

#popup .popimg_set {
  display: flex;
  width: 70%;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 auto;
}

#popup .bth_watch p {
  font-size: 12px;
}

.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;
}

#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 {
  font-size: 12px;
  text-align: center;
}

.pop_content.set_paid .set_wrap::-webkit-scrollbar {
  width: 10px;
}

.pop_content.set_paid .set_wrap::-webkit-scrollbar-track {
  background-color: #ccc;
}

.pop_content.set_paid .set_wrap::-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: calc(100% - 20px);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: #e9e7dc;
  padding: 10px 10px;
  border-radius: 10px;
  margin: 0 auto 20px auto;
}

.pop_content .set_wrap ul li .setcont_img {
  width: 35%;
  padding: 10px 20px;
  margin: 0 auto;
}

.pop_contentd .set_wrap ul li .setcont_text {
  width: 100%;
  font-size: 13px;
  letter-spacing: 0.1em;
}

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

.pop_content .setcont_text .cont_text {
  display: block;
  font-size: 12px;
  margin: 10px auto;
}

.pop_content .set_wrap ul li .setcont_btn {
  display: flex;
  width: 100%;
  justify-content: center;
}

#popup .pop_content .btn_wrap {
  display: flex;
  justify-content: center;
}

#popup .pop_content .btn_wrap .btn_select.back {
  display: none;
}

.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;
  font-size: 12px;
  margin: 20px auto;
}

.pop_content.set_buy .set_btnwrap {
  width: calc(100% - 20px);
  background: #e9e7dc;
  font-size: 14px;
  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;
  justify-content: flex-start;
}

.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: 20px 10px 0 10px;
  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;
}

.popup_wrap .type ul {
  justify-content: center;
}


.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 {
  display: inline-flex !important;
  flex-wrap: wrap;
  align-items: center;
  align-content: center;
  justify-content: center;
  width: calc(25% - 8px);
  max-width: 120px;
  height: 50px;
  font-size: 12px;
  background-color: #ffffff;
  border-radius: 5px;
  line-height: 50px;
  margin: 10px 4px;
}

.radiobox label .month {
  display: block;
  width: 100%;
  height: 10px;
  line-height: 12px;
  font-size: 12px;
}

.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;
  position: relative;
  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: 30px;
}

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

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

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

.popup_wrap .info_inner .inner_cont {
  margin: 20px 10px;
}

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

.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: 0px;
}

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

.popup_wrap .info_inner .inner_cont li .img_wrap {
  max-width: 180px;
  width: 100%;
  margin: 10px 0 20px 30px;
}

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

.add_cont .info_inner .log_btn.payment {
  width: 100%;
  display: flex;
  justify-content: center;
}

.log_btn.payment button {
  display: flex;
  max-width: 180px;
  width: 100%;
  height: 40px;
  background: #307ec7;
  border-radius: 10px;
  border: none;
  line-height: 12px;
  color: #fff;
  justify-content: center;
  padding: 5px 10px;
  align-items: center;
}

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

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

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

.popup_wrap .user_listwrap p {
  max-width: 600px;
  width: calc(100% - 40px);
  font-size: 12px;
  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 {
  display: flex;
  width: 100%;
  justify-content: center;
}

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

.pop_content .set_wrap ul li .bottoun_wrap .setcont_btn .btn_cont.detail a {
  display: block;
  min-width: 60px;
  width: 60px;
  height: 50px;
  background: #a3a090;
  text-decoration: none;
  text-align: center;
  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;
}

.pop_content .set_wrap ul li .bottoun_wrap .setcont_btn .bth_watch.plus a {
  width: 60px;
  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;
}

#popup .pop_content.password .popup_wrap .popup_cont label,
#popup .pop_content.account .popup_wrap .popup_cont label {
  display: block;
  width: 200px;
}

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

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

.pop_content .plan_wrap .plan_btn .plan_list{
  position: relative;
  display: flex;
  width: 145px;
  line-height: 20px;
  padding: 5px 5px 5px 0;
}

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

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

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

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

.pop_content .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;
  box-sizing: border-box;
  z-index: -1;
}

.pop_content .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;
}

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;
}

.pop_content .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 .plan_wrap .custom{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  font-size: 12px;
  padding: 10px 10px 10px 10px;
}

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

.add_cont .term_wrap {
  margin: 20px 0;
  text-align: center;
}

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

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

@media (max-width: 520px) {
  .add_cont .term_wrap .bth_watch.select a {
    font-size: 10px;
  }
}

@media (max-width: 460px) {
  .add_cont .term_wrap .bth_watch.select {
    width: 260px;
    margin: 0 auto;
  }

  .add_cont .term_wrap .bth_watch.select a {
    width: calc(50% - 10px);
    max-width: 120px;
  }
}

.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: 10px;
  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;
  padding-bottom: 20px;
}

.pop_content.subscribe .inner_cont li,
.pop_content.set_free .inner_cont li {
  margin-top: 0;
}

.contract_detail {
  text-align: center;
}

.contract_detail .item_wrap {
  display: inline-block;
  width: calc(100% - 20px);
  font-size: 12px;
  letter-spacing: 0.1em;
  line-height: 30px;
  background: #ffffff;
  border-radius: 10px;
  padding: 20px 0px;
  margin: 20px 0 10px 0;
}

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

.pop_content.contract01 .check_btnbox label {
  display: inline-block;
  font-size: 12px;
}

.pop_content.contract01 .check_btnbox label.add_num {
  padding-left: 20px;
}

.pop_content.useredit01 .check_btnbox label {
  display: inline-block;
  width: calc(100% - 20px);
  font-size: 12px;
  text-align: left;
  padding-left: 30px;
}

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

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

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

.pop_content.useredit01 .check_btnbox input[type=checkbox]+label::after {
  width: 20px;
  height: 20px;
  top: 10px;
  left: 0px;
  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;
}

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

.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: 40px;
}

.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: 8px 0 4px 0;
}

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

.pop_content.useredit01 td.check input[type=checkbox]+label::after {
  width: 20px;
  height: 20px;
  top: 5px;
  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: 12px;
  color: #333;
  background: #ffffff;
  border-radius: 6px;
  letter-spacing: 0.1em;
  justify-content: space-between;
  padding: 10px 10px;
  margin: 30px 0 0 auto;
}

.pop_inner .user_listwrap .user_count {
  width: 200px;
  height: 40px;
  align-items: center;
}

#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;
}

.book_list .p_title {
  text-align: left;
  margin-left: 10px;
}

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

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

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

.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: 12px;
  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: 0px 10px 20px 10px;
}

.book_list ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  padding-top: 10px;
}


.book_list ul li {
  position: relative;
  width: calc(100% / 4);
  font-size: 12px;
  text-align: center;
  margin-bottom: 4vw;
}

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

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

/* 
@media (max-width:372px) {
  .page_wrap.mypurchase .book_list ul {
    justify-content: center;
  }
} */

.book_list ul li a {
  position: relative;
  display: block;
  text-align: center;
  text-decoration: none;
  color: #333;
  font-size: 12px;
  margin: 0px 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: 5vw;
  top: -2.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;
  height: 5vw;
}

.book_list ul li .t_icon_wrap .icon_con {
  height: 100%;
}

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

.book_list ul li .t_icon_wrap .icon_cont {
  width: 25px;
  opacity: 0;
}
@media (max-width: 516px) {
  .book_list ul li {
      margin-bottom: 5.6vw;
  }
  .book_list ul li .t_icon_wrap {
      top: -3.3vw;
      height: 6.6vw;
  }
  .book_list ul li .t_icon_wrap .icon_rwrap {
      display: flex;
      height: 6.6vw;
  }
  .book_list ul li .t_icon_wrap .toll {
      height: 6.6vw;
  }
  .book_list ul li .t_icon_wrap .icon_cont {
      width: 6.6vw;
  }
}

@media (max-width: 380px) {
  .book_list ul li {
      margin-bottom: 8.9vw;
  }
  .book_list ul li .t_icon_wrap {
      top: -4.45vw;
      height: 9.9vw;
  }
  .book_list ul li .t_icon_wrap .icon_rwrap {
      display: flex;
      height: 9.9vw;
  }
  .book_list ul li .t_icon_wrap .toll {
      height: 9.9vw;
  }
  .book_list ul li .t_icon_wrap .icon_cont {
      width: 9.9vw;
  }
}

.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;
}

.page_wrap.myview_edit .book_list .btn_wrap {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.page_wrap.myview_edit .btn_wrap .btn_select {
  width: unset;
  margin-top: 10px;
  margin-bottom: 0;
}

.page_wrap.myview_edit .book_list .btn_wrap {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.page_wrap.myview_edit .btn_wrap .btn_select {
  width: unset;
}

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

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

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

.page_content .count {
  width: 20px;
  font-size: 12px;
}

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

.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;
}

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

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

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

.page_wrap.static_page .cont_inner .main_cont {
    font-size: 12px;
    letter-spacing: 0.05em;
    line-height: 15px;
}

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

.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: 20px;
}

.page_wrap.static_page .cont_inner.company {
    padding: 20px 20px;
}

.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: 100px;
    text-align: center;
    border-right: 1px solid #cccccc;
    background: #eeeee7;
    vertical-align: middle;
    font-weight: normal;
}

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

@media (max-width: 400px) {
    .page_wrap.static_page .cont_inner.company .main_cont {
        font-size: 10px;
    }
    .page_wrap.static_page .cont_inner .main_cont table th {
        width: 80px;
    }
    .page_wrap.static_page .cont_inner .main_cont table td {
        padding: 10px 10px 10px 20px;
        line-height: 15px;
    }
}


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

.page_content.guide {
  display: flex;
  width: 100%;
  height: 100%;
  margin-top: 0;
  align-items: center;
}

.page_content.guide .guide_wrap {
  width: calc(100% - 20px);
  margin: 0 auto;
  padding-bottom: 30px;
}

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

.guide_wrap .cont_top {
  display: block;
}

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

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

.guide_wrap .cont_top .guide_cont .main_guide .sub_guide {
  margin-left: 30px;
}

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

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

.guide_wrap .cont_top .guide_cont .main_guide .title_wrap .number {
  display: inline-block;
  width: 25px;
  height: 25px;
  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;
  font-size: 14px;
  margin: 20px auto 0px auto;
}

.guide_wrap .cont_top .guide_cont .main_guide .title_wrap .title_text {
  width: calc(100% - 35px);
  display: inline-block;
}

.guide_wrap .cont_top .guide_img {
  width: calc(100% - 20px);
  margin: 0 auto;
}


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

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

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

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

.page_wrap.static_page .cont_inner.help {
  width: calc(100% - 20px);
  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: 120px;
  height: 70px;
  font-size: 12px;
  text-decoration: none;
  color: #333333;
  background: #ffffff;
  letter-spacing: 0.1em;
  margin: 5px 5px;
  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% - 20px);
  margin: 0 auto;
}

.page_wrap.static_page .cont_inner.help .help_list li a {
  display: flex;
  width: 100%;
  height: auto;
  font-size: 12px;
  background: #ffffff;
  margin: 10px 0;
  padding: 10px 15px;
  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: 15px;
  letter-spacing: 0.1em;
  margin-bottom: 20px;
}

.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: 12px;
  letter-spacing: 0.1em;
  line-height: 25px;
}

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