@charset "utf-8";

/*------------------------------------------------------------------------------
  reset
------------------------------------------------------------------------------*/

html,
input,
textarea,
select,
button {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  font-weight: 500;
}

/* IE10以降 游ゴシック文字ずれ対応 */
html.ie10,
.ie10 input,
.ie10 textarea,
.ie10 select,
.ie10 button,
html.ie11,
.ie11 input,
.ie11 textarea,
.ie11 select,
.ie11 button {
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
  font-weight: normal;
}

html {
  color: #333;
  background: #fff;
  font-size: 14px;
  line-height: 1;
  word-break: break-all;
}

body {
  background: #fff;
  margin: 0;
}

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

img {
  border: 0;
  margin: 0;
  vertical-align: top;
  max-width: 100%;
}

p {
  margin: 0;
  padding: 0;
}

a {
  color: #333;
  text-decoration: none;
}

input[type="submit"],
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="password"],
select,
textarea,
button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  background-color: transparent;
  border: none;
  outline: none;
  font-size: inherit;
  padding: 0;
  margin: 0;
}

input[type="text"],
input[type="tel"],
input[type="email"],
input[type="password"],
select,
textarea {
  background-color: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 5px;
  font-size: 16px;
  color: #333;
  padding: 6px 10px;
}

.ie input[type="text"],
.ie input[type="tel"],
.ie input[type="email"],
.ie input[type="password"],
.ie select,
.ie textarea {
  padding: 8px 10px 4px;
}

input::placeholder {
  color: #ccc;
}
input:-ms-input-placeholder {
  color: #ccc;
}
input::-ms-input-placeholder {
  color: #ccc;
}

select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

textarea {
  resize: vertical;
}

button {
  border: none;
  cursor: pointer;
}

label {
  cursor: pointer;
}

table {
  border-collapse: collapse;
}

ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 14px;
  font-weight: 500;
  margin: 0;
  padding: 0;
}

address {
  font-style: normal;
  margin: 0;
  padding: 0;
}

.outer-block {
  min-width: 1260px;
}

.inner-block {
  margin: 0 auto;
  padding: 0;
  position: relative;
  width: 1024px;
}

#wrapper {
  position: relative;
  min-width: 1104px;
  opacity: 0;
  transition: opacity 0.3s;
  height: 100px;
  overflow: hidden;
}

@media screen and (min-width: 751px) {
  .sp { display: none !important; }

  a,
  a:before,
  a:after,
  button,
  .pagenation .page-num-ul li:hover,
  .pagenation .prev:hover,
  .pagenation .next:hover,
  .back-feature:hover {
    -webkit-transition: opacity 0.2s ease-in-out;
    transition: opacity 0.2s ease-in-out;
  }

  a:hover,
  button:hover {
    opacity: 0.6;
  }
}


@font-face {
  font-family: Viga;
  font-weight: bold;
  src: url("../font/Viga-Regular.eot");
  src: url("../font/Viga-Regular.woff") format("woff"),
  url("../font/Viga-Regular.ttf") format("truetype");
}

.viga {
  font-family: Viga, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  font-weight: bold;
}

.ie .viga {
  font-family: Viga, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
}

.pagetop {
  position: absolute;
  bottom: 100%;
  right: 40px;
  z-index: 99;
  padding-bottom: 40px;
}
.pagetop.is-fixed {
  position: fixed;
  bottom: 40px;
  padding-bottom: 0;
}
.pagetop > a {
  display: block;
  text-align: center;
}
.pagetop > a .text {
  font-size: 24px;
  color: #232323;
  margin-bottom: 7px;
}

input[type="radio"] {
  display: none !important;
}
input[type="radio"] + span {
  position: relative;
  display: block;
  padding-left: 20px;
}
input[type="radio"] + span::before,
input[type="radio"] + span::after {
  content: '';
  border-radius: 50%;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
}
input[type="radio"] + span::before {
  border: 1px solid #e5e5e5;
  background-color: #fff;
  width: 16px;
  height: 16px;
  left: 0;
}
input[type="radio"] + span::after {
  background-color: #232323;
  width: 10px;
  height: 10px;
  left: 3px;
  opacity: 0;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
input[type="radio"]:checked + span::after {
  opacity: 1;
}

.checkbox-label {
  display: inline-block;
  margin: 0 10px 20px 0;
}
.checkbox-label input[type="checkbox"] {
  display: none;
}
.checkbox-label input[type="checkbox"] + span {
  position: relative;
  display: block;
  padding-left: 30px;
}
.checkbox-label input[type="checkbox"] + span::before,
.checkbox-label input[type="checkbox"] + span::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
}
.checkbox-label input[type="checkbox"] + span::before {
  border: 1px solid #e5e5e5;
  background-color: #f8f8f8;
  width: 18px;
  height: 18px;
  left: 0;
}
.checkbox-label input[type="checkbox"] + span::after {
  background: url(../img/common/icon_check-blk.svg) no-repeat;
  background-size: 100%;
  width: 13px;
  height: 10px;
  left: 3px;
  opacity: 0;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.checkbox-label input[type="checkbox"]:checked + span::after {
  opacity: 1;
}


/*------------------------------------------------------------------------------
  header
------------------------------------------------------------------------------*/
.header {
  background-color: #fff;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 110px;
  border-bottom: 1px solid #e5e5e5;
  z-index: 999;
}
.hader-nav {
  position: relative;
  font-size: 0;
  float: left;
  height: 109px;
}
.hader-nav > * {
  display: inline-block;
  vertical-align: bottom;
}
.hader-nav > .logo {
  padding: 31px 0 29px;
}
.hader-nav > .logo a {
  display: block;
}

.header-search {
  position: relative;
  float: right;
  padding: 30px 0;
  height: 109px;
}
#wrapper .header-search input {
  background-color: #f8f8f8;
  border: 1px solid #f8f8f8;
  border-radius: 0;
  padding: 12px 10px;
  width: 288px;
}
#wrapper .header-search button {
  position: absolute;
  top: 0;
  right: 15px;
  bottom: 0;
  margin: auto;
  background: url(../img/common/icon_search.svg) no-repeat !important;
  background-size: contain !important;
  width: 27px;
  top: 10px;
  height: 27px;
}

.header-search .wp_autosearch_form_wrapper {
  border: none !important;
  background: none !important;
  border-radius: 0;
  width: 288px;
}
.header-search input.wp_autosearch_input {
  background-color: #f8f8f8 !important;
  border: 1px solid #f8f8f8 !important;
  border-radius: 0 !important;
  padding: 12px 10px !important;
  padding-right: 50px !important;
  width: 288px !important;
}
.wp_autosearch_suggestions li img {
  display: none;
}
.wp_autosearch_suggestions a .searchheading {
  padding: 10px 5px;
}
.wp_autosearch_suggestions .ac_over {
  background: #232323;
}

.nav {
  padding-left: 65px;
}
.nav-list {
  font-size: 0;
}
.nav-list > li {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  font-size: 16px;
  font-weight: bold;
  margin-right: 24px;
  letter-spacing: 0.04em;
}
.nav-list > li:last-child {
  margin-right: 0;
}
.nav-list > li::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 0;
  background-color: #e5e5e5;
  margin-left: -25px;
  width: 50px;
  height: 4px;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
  pointer-events: none;
}
.nav-list > li.current::after,
.nav-list > li.is-active::after {
  opacity: 1;
}
.nav-list > li > a {
  display: block;
  padding: 8px;
  padding-bottom: 46px;
}

@media screen and (min-width: 751px) {
  .nav-list > li > a:hover,
  .nav-list > li:hover::after {
    opacity: 1;
  }
}


/* g-nav */
.g-nav {
  background-color: #fff;
  box-shadow: 1.4px 1.4px 7px 0 rgba(0, 0, 0, 0.1);
  position: fixed;
  top: 110px;
  left: 0;
  width: 100%;
  padding: 30px 0;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: 0.3s cubic-bezier(0, .4, .2, 1);
  transition: 0.3s cubic-bezier(0, .4, .2, 1);
  -webkit-transform: translateY(-10px);
  transform: translateY(-10px);
  z-index: -1;
}
.is-active.g-nav {
  opacity: 1;
  visibility: visible;
  -webkit-transition-duration: 0.6s;
  transition-duration: 0.6s;
  -webkit-transform: translateY(0);
  transform: translateY(0);
  z-index: 1;
}


.g-nav-inner {
  position: relative;
  width: 1024px;
  margin: 0 auto;
}
.g-nav-list > li {
  float: left;
  width: 96px;
}
.g-nav-list > li:nth-child(9n+1) {
  clear: both;
  margin-left: 0;
}
.g-nav-list > li:nth-child(n+10) {
  margin-top: 50px;
}
.g-nav-list > li + li {
  margin-left: 20px;
}
.g-nav-list a {
  display: block;
}
.g-nav-list .img {
  margin-bottom: 10px;
}
.g-nav-list .text {
  position: relative;
  min-height: 36px;
}
.g-nav-list .text > img {
  width: auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}

.g-nav .more {
  margin-top: 25px;
  text-align: right;
}
.g-nav .more > a {
  position: relative;
  display: inline-block;
  font-size: 18px;
  font-weight: bold;
  padding-right: 35px;
}
.g-nav .more > a::after {
  content: '';
  background: url(../img/common/nav_arrow.svg) no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  width: 31px;
  height: 12px;
}

.g-nav-btnwrap a {
  width: 230px;
  padding: 15px 0;
  text-align: center;
}


/*--- g-web ---*/
.g-nav-web-list > li {
  float: left;
  width: 14.285714%;
  padding: 0 10px;
}
.g-nav-web-list > li:nth-child(7n+1) {
  clear: both;
}
.g-nav-web-list > li:nth-child(n+8) {
  margin-top: 10px;
}
.g-nav-web-list a {
  display: block;
}
.g-nav-web-list .img {
  position: relative;
  width: 100px;
  height: 100px;
  margin: 0 auto;
}
.g-nav-web-list .img > img {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
}
.g-nav-web-list .text-wrap {
  margin-top: 5px;
  text-align: center;
}
.g-nav-web-list .text {
  display: inline-block;
  font-size: 14px;
  font-weight: bold;
  text-align: left;
  line-height: 1.57;
}
.g-nav-web-list .text.ct {
  text-align: center;
}


/*--- g-bookmook ---*/
.g-nav-bookmook-list {
  font-size: 0;
  padding: 0 20px;
  margin-bottom: -40px;
}
.g-nav-bookmook-list > li {
  display: inline-block;
  padding: 0 20px;
  margin-bottom: 40px;
}
.g-nav-bookmook-list a {
  font-size: 14px;
  font-weight: bold;
  display: block;
}
.g-bookmook-inner .g-nav-btnwrap {
  border-top: 1px solid #e1e1e1;
  margin-top: 30px;
  padding-top: 30px;
}
.g-bookmook-inner .g-nav-btnwrap > li {
  float: left;
  width: 328px;
}
.g-bookmook-inner .g-nav-btnwrap > li + li {
  margin-left: 20px;
}
.g-bookmook-inner .g-nav-btnwrap a {
  font-size: 16px;
  width: 328px;
  padding: 16px 0;
}


/*--- g-company ---*/
#g-company {
  padding: 20px 0;
}
.g-nav-company-list {
  font-size: 0;
  height: 52px;
  padding: 18px 0;
}
.g-nav-company-list > li {
  display: inline-block;
  vertical-align: middle;
  width: auto;
  padding: 0 38px;
}
.g-nav-company-list a {
  font-size: 14px;
  font-weight: bold;
  display: block;
}
.g-company-inner .g-nav-btnwrap {
  position: absolute;
  top: 0;
  right: 0;
}
.g-company-inner .g-nav-btnwrap a {
  font-size: 16px;
}

/*------------------------------------------------------------------------------
  footer
------------------------------------------------------------------------------*/
.footer {
  position: relative;
}
.footer-top {
  background-color: #232323;
  padding: 35px 0;
}
.footer-top .title {
  font-size: 0;
  margin-bottom: 35px;
}
.footer-top .title a {
  display: inline-block;
}
.footer-top .title > a > * {
  display: inline-block;
  vertical-align: bottom;
  color: #f7f7f7;
  font-size: 14px;
}
.footer-top .title .text {
  padding-left: 22px;
}

.footer-nav {
  margin-bottom: 45px;
}
.footer-nav > .box {
  float: left;
  padding-top: 10px;
}

@media screen and (min-width: 751px) {
  .footer-nav > .box:nth-child(1) {
    width: calc(100% - (280px + 540px));
  }
  .footer-nav > .box:nth-child(2) {
    width: 250px;
  }
  .footer-nav > .box:nth-child(3) {
    width: 160px;
  }
  .footer-nav > .box:nth-child(4) {
    width: 150px;
  }
}

.footer-nav > .btn-area {
  float: right;
  width: 260px;
}

.footer-nav .btn-list > li + li {
  margin-top: 18px;
}
.footer-nav .btn-list a {
  position: relative;
  border: 1px solid #fff;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  display: block;
  height: 54px;
  line-height: 54px;
  padding: 0 20px;
}

.footer-nav .btn-list a::before,
.footer-nav .btn-list a::after {
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  margin: auto;
  width: 28px;
  height: 11px;
}
.footer-nav .btn-list a::before {
  background-image: url(../img/common/arrow_right03-wt.svg);
}
.footer-nav .btn-list a::after {
  background-image: url(../img/common/arrow_right03.svg);
  opacity: 0;
}

.footer-nav .btn-list a.magazine::before,
.footer-nav .btn-list a.magazine::after {
  width: 17px;
  height: 17px;
  right: 26px;
}
.footer-nav .btn-list a.magazine::before {
  background-image: url(../img/common/icon_blank-wt.svg);
}
.footer-nav .btn-list a.magazine::after {
  background-image: url(../img/common/icon_blank.svg);
}
.footer-nav .sns-list {
  font-size: 0;
  margin-top: 30px;
}
.footer-nav .sns-list > li {
  display: inline-block;
  vertical-align: middle;
}
.footer-nav .sns-list > li + li {
  margin-left: 45px;
}
.footer-nav .sns-list > li.instagram {
  margin-left: 40px;
}
.footer-nav .sns-list li a {
  display: block;
}

.footer-nav .heading {
  margin-bottom: 18px;
}
.footer-nav .heading > a {
  display: inline-block;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
}
.footer-nav .list {
  padding-left: 12px;
}
.footer-nav .list li + li {
  margin-top: 15px;
}
.footer-nav .list a {
  display: inline-block;
  color: #fff;
  font-size: 14px;
  font-weight: bold;
}


.relation-title {
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 20px;
}
.footer-relation .list {
  font-size: 0;
}
.footer-relation .list > li {
  display: inline-block;
  vertical-align: top;
}
.footer-relation .list > li + li {
  margin-left: 16px;
}
.footer-relation .list a {
  display: block;
  color: #fff;
  font-size: 14px;
  font-weight: bold;
}

.ie .footer-relation .list > li + li {
  margin-left: 14px;
}



@media screen and (min-width: 751px) {
  .footer-relation .list {
    white-space: nowrap;
  }
  .footer-nav .btn-list a {
    -webkit-transition-property: background-color, color;
    transition-property: background-color, color;
  }
  .footer-nav .btn-list a:hover {
    background-color: #fff;
    color: #232323;
    opacity: 1;
  }
  .footer-nav .btn-list a:hover::before {
    opacity: 0;
  }
  .footer-nav .btn-list a:hover::after {
    opacity: 1;
  }
  .footer-nav .heading > a:hover,
  .footer-nav .list a:hover {
    opacity: 1;
    text-decoration: underline;
  }
}


.footer-bottom {
  padding: 20px 0;
}
.footer-bottom .link-area {
  float: left;
  font-size: 0;
}
.footer-bottom .link-area > li {
  display: inline-block;
  vertical-align: middle;
  font-size: 14px;
  font-weight: bold;
}
.footer-bottom .link-area > li + li {
  margin-left: 50px;
}
.footer-bottom .link-area a {
  color: #333;
  display: block;
}
.footer-bottom .copyright {
  float: right;
  font-size: 12px;
  font-weight: normal;
  color: #333;
  padding: 1px 0;
}


@media screen and (min-width: 751px) {
  .footer-relation .list a:hover,
  .footer-bottom .link-area a:hover {
    opacity: 1;
    text-decoration: underline;
  }
}



/*------------------------------------------------------------------------------
  main
------------------------------------------------------------------------------*/
.main {
  display: block;
  padding-top: 110px;
  opacity: 0;
  -webkit-transition:
    opacity 0.3s cubic-bezier(0.445, 0.05, 0.55, 0.95);
  transition:
    opacity 0.3s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}
.main.is-init {
  opacity: 1;
}


.c-label {
  position: relative;
  display: inline-block;
  z-index: 0;
  padding: 0 25px;
}
.c-label::before,
.c-label::after {
  content: '';
  background-color: #1c1c1c;
  position: absolute;
  top: 0;
  bottom: 0;
  width: 3em;
  z-index: 1;
}
.c-label::before {
  left: 0;
  transform-origin: bottom left;
  transform: skewX(-38deg);
}
.c-label::after {
  right: 0;
  transform-origin: top right;
  transform: skewX(-38deg);
}
.c-label > .inner {
  position: relative;
  background-color: #1c1c1c;
  color: #fff;
  font-size: 17px;
  font-weight: bold;
  display: block;
  padding: 6px 2px 4px;
  z-index: 2;
}


.c-title {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 40px;
}

.c-title02 {
  font-size: 20px;
  margin-bottom: 60px;
}
.c-title02 > span {
  display: inline-block;
  font-family: Viga, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  font-size: 40px;
  margin-right: 25px;
}

.ie .c-title02 > span {
  font-family: Viga, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
}

.c-title03 {
  font-size: 0;
  margin-bottom: 40px;
}
.c-title03 > span {
  display: inline-block;
  vertical-align: middle;
}
.c-title03 > .ja {
  position: relative;
  font-size: 28px;
  font-weight: bold;
  padding-left: 15px;
  margin-left: 13px;
}
.c-title03 > .ja::before {
  content: '';
  background-color: #e5e5e5;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 1px;
  height: 37px;
}
.c-title03 > .en {
  font-family: Viga, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  font-size: 38px;
}

.ie .c-title03 > span {
  font-family: Viga, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
}

.c-title04 {
  position: relative;
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  padding-bottom: 24px;
  margin-bottom: 42px;
  line-height: 1.5;
}
.c-title04::after {
  content: '';
  background-color: #e5e5e5;
  position: absolute;
  bottom: 0;
  left: 50%;
  margin-left: -30px;
  width: 60px;
  height: 2px;
}

.c-title05 {
  border-bottom: 1px solid #000;
  font-size: 24px;
  font-weight: bold;
  padding-bottom: 12px;
  margin-bottom: 70px;
}
.c-title05::before {
  content: '';
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
  margin-right: 10px;
}
.c-title05.book::before {
  background-image: url(../img/common/icon_book02.svg);
  width: 26px;
  height: 30px;
  vertical-align: -7px;
}
.c-title05.ranking::before {
  background-image: url(../img/common/icon_ranking.svg);
  width: 30px;
  height: 26px;
  vertical-align: -4px;
}
.c-title05 .update {
  color: #f16767;
  font-size: 16px;
  margin: 0 0 0 15px;
}
.c-title05.no-border {
  border: none;
}



.c-btn {
  border: 1px solid #131313;
  background-color: #fff;
  display: inline-block;
  font-family: Viga, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  font-size: 16px;
  font-weight: bold;
  padding: 17px 0;
  width: 420px;
}

.ie .c-btn {
  font-family: Viga, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
}

.c-btn02 {
  position: relative;
  border-radius: 5px;
  background-image:
    linear-gradient(to left, #f37f1f, #dd082f 100%);
  background-size: 1200%;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.15);
  color: #fff;
  display: inline-block;
  font-size: 20px;
  font-weight: bold;
  width: 700px;
  height: 100px;
  padding: 40px 0;
  transition: 0.3s ease-in-out;
  z-index: 0;
}
.c-btn02::after {
  content: '';
  position: absolute;
  bottom: 10px;
  right: 10px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 12px 12px;
  border-color: transparent;
  border-bottom-color: #fff;
  z-index: 1;
  pointer-events: none;
}

.c-btn03 {
  position: relative;
  border: 1px solid #131313;
  display: inline-block;
  font-size: 16px;
  font-weight: bold;
  padding: 17px 0;
  min-width: 280px;
  text-align: center;
  padding-right: 25px;
}
.c-btn03::before,
.c-btn03::after {
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  margin: auto;
  width: 26px;
  height: 9px;
}
.c-btn03::before {
  background-image: url(../img/common/arrow_right03.svg);
}
.c-btn03::after {
  background-image: url(../img/common/arrow_right03-wt.svg);
  opacity: 0;
}
.c-btn03.left_arrow {
  padding-left: 10px;
  padding-right: 10px;
}
.c-btn03.left_arrow::before,
.c-btn03.left_arrow::after {
  left: 20px;
  right: auto;
}
.c-btn03.left_arrow::before {
  background-image: url(../img/common/arrow_left.svg);
}
.c-btn03.left_arrow::after {
  background-image: url(../img/common/arrow_left-wt.svg);
  opacity: 0;
}

.ie .c-btn03::before,
.ie .c-btn03::after {
  background-size: cover;
}

.c-btn04 {
  border: 2px solid #232323;
  background-color: #fff;
  color: #000;
  display: inline-block;
  font-size: 18px;
  font-weight: bold;
  width: 650px;
  padding: 25px 0;
}


.c-btn05 {
  display: inline-block;
  border: 2px solid #232323;
  background-color: #232323;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  padding: 15px 0;
  width: 620px;
  text-align: center;
}

.c-btn05.map {
  position: relative;
  background-color: #131313;
  border-color: #131313;
  font-size: 12px;
  width: 100%;
  padding: 12px 0;
  padding-left: 20px;
  height: 40px;
  line-height: 1;
}
.c-btn05.map::before,
.c-btn05.map::after {
  content: '';
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 15px;
  margin: auto;
  width: 20px;
  height: 16px;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}
.c-btn05.map::before {
  background-image: url(../img/common/icon_map-wt.svg);
}
.c-btn05.map::after {
  background-image: url(../img/common/icon_map.svg);
  opacity: 0;
}

.download-btn {
  display: inline-block;
  border: 2px solid #232323;
  background-color: #fff;
  color: #232323;
  font-size: 18px;
  font-weight: bold;
  padding: 15px 70px 15px 40px;
  position: relative;
  text-align: center;
}
.download-btn::before,
.download-btn::after {
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  margin: auto;
  width: 25px;
  height: 25px;
}
.download-btn::before {
  background-image: url(../img/common/download_btn.svg);
}
.download-btn::after {
  background-image: url(../img/common/download_btn-wt.svg);
  opacity: 0;
}
.download-btn.black {
  border: 2px solid #232323;
  background-color: #232323;
  color: #fff;
}
.download-btn.black::before {
  background-image: url(../img/common/download_btn-wt.svg);
}
.download-btn.black::after {
  background-image: url(../img/common/download_btn.svg);
  opacity: 0;
}

@media screen and (min-width: 751px) {
  .c-btn,
  .c-btn03,
  .c-btn04,
  .c-btn05,
  .download-btn {
    -webkit-transition-property: background-color, color;
    transition-property: background-color, color;
  }
  .c-btn02:hover {
    background-size: 100%;
    opacity: 1;
  }
  .c-btn:hover,
  .c-btn04:hover {
    background-color: #131313;
    color: #fff;
    opacity: 1;
  }
  .c-btn03:hover {
    background-color: #131313;
    color: #fff;
    opacity: 1;
  }
  .c-btn03:hover::before {
    opacity: 0;
  }
  .c-btn03:hover::after {
    opacity: 1;
  }
  .c-btn05:hover {
    opacity: 1;
    background-color: #fff;
    color: #232323;
  }
  .c-btn05.map:hover {
    background-color: #fff;
  }
  .c-btn05.map:hover::before {
    opacity: 0;
  }
  .c-btn05.map:hover::after {
    opacity: 1;
  }
  .download-btn:hover {
    opacity: 1;
    background-color: #232323;
    color: #fff;
  }
  .download-btn.black:hover {
    opacity: 1;
    background-color: #fff;
    color: #232323;
  }
  #wrapper .download-btn:hover::before {
    opacity: 0;
  }
  #wrapper .download-btn:hover::after {
    opacity: 1;
  }
}



.c-bd-link {
  color: #41aed6;
  position: relative;
  border-bottom: 1px solid transparent;
}
@media screen and (min-width: 751px) {
  .c-bd-link {
    -webkit-transition-property: border-bottom-color;
    transition-property: border-bottom-color;
  }
  .c-bd-link:hover {
    border-bottom-color: #41aed6;
    opacity: 1;
  }
}


.c-select-box {
  display: inline-block;
  position: relative;
}
.c-select-box::after {
  content: '';
  background: url(../img/common/arrow_bottom02.png) no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 15px;
  margin: auto;
  width: 12px;
  height: 8px;
  pointer-events: none;
}




.c-img-bd {
  display: block;
}
.c-img-bd .img-table {
  display: table;
  width: 100%;
  height: 100%;
}
.c-img-bd .img-table-inner {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
}
.c-img-bd .img {
  display: inline-block;
  position: relative;
  z-index: 0;
}
.c-img-bd .img::after {
  content: '';
  border: 4px solid transparent;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  pointer-events: none;
  z-index: 1;
  -webkit-transition: border-color 0.2s ease-in-out;
  transition: border-color 0.2s ease-in-out;
}
.c-img-bd > .img img {
  width: 100%;
}

.ie .c-img-bd .img > img {
  width: 100%;
}
@media screen and (min-width: 751px) {
  .c-img-bd:hover .img::after {
    border-color: #ccc;
  }
}

.c-hv-bd {
  position: relative;
}
.c-hv-bd::before {
  content: '';
  border: 4px solid transparent;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  pointer-events: none;
  z-index: 19;
  -webkit-transition: border-color 0.2s ease-in-out;
  transition: border-color 0.2s ease-in-out;
}
@media screen and (min-width: 751px) {
  .c-hv-bd:hover::before {
    border-color: #ccc;
  }
}

.c-new-label,
.c-rankind-label {
  position: relative;
  z-index: 0;
}
.c-new-label::after {
  content: '';
  background: url(../img/common/new_article.svg) no-repeat;
  background-size: contain;
  position: absolute;
  top: -25px;
  left: -15px;
  width: 60px;
  height: 60px;
  z-index: 1;
}

.c-rankind-label::after {
  content: attr(data-num);
  background: url(../img/common/ranking_bg.svg) no-repeat;
  background-size: contain;
  color: #fff;
  font-family: Viga, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  font-size: 12px;
  position: absolute;
  top: -20px;
  left: -5px;
  width: 36px;
  height: 30px;
  line-height: 40px;
  text-align: center;
  z-index: 1;
}


.c-sns-list {
  font-size: 0;
  display: inline-block;
}
.c-sns-list > li {
  display: inline-block;
  vertical-align: middle;
}
.c-sns-list > li + li {
  margin-left: 25px;
}
.c-sns-list a {
  display: block;
}

.bd-style {
  position: relative;
  line-height: 0.7;
  margin-bottom: 60px;
}
.bd-style::after {
  content: '';
  background-color: #232323;
  position: absolute;
  bottom: 0;
  right: 0;
  width: calc(100% - ((50% + 0.5em) - 512px));
  height: 2px;
  pointer-events: none;
}


.col-style > li {
  float: left;
  width: 180.8px;
}
.col-style > li + li {
  margin-left: 30px;
}
.col-style a {
  display: block;
}

.col-style.col04 > li {
  width: 159.6px;
}
.col-style.col04 > li + li {
  margin-left: 36px;
}

@media screen and (min-width: 751px) {
  .col-style > li:nth-child(n+6) {
    margin-top: 50px;
  }
  .col-style > li:nth-child(5n+1),
  .col-style.col04 > li:nth-child(5n+1) {
    clear: both;
    margin-left: 0;
  }
}


.c-list > li {
  position: relative;
  padding-left: 15px;
  line-height: 1.86;
}
.c-list > li + li {
  margin-top: 5px;
}
.c-list > li::before {
  content: '';
  border-radius: 50%;
  background-color: #333;
  position: absolute;
  top: 0.7em;
  left: 0;
  width: 6px;
  height: 6px;
}

.c-note {
  font-size: 12px;
  color: #898989;
  text-indent: -1em;
  padding-left: 1em;
  line-height: 2;
}



.c-icon-blank {
  position: relative;
  display: inline-block;
}
.c-icon-blank::before,
.c-icon-blank::after {
  content: '';
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 10px;
  margin: auto;
  width: 13px;
  height: 13px;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}
.c-icon-blank::before {
  background-image: url(../img/common/icon_blank.svg);
}
.c-icon-blank::after {
  background-image: url(../img/common/icon_blank-wt.svg);
  opacity: 0;
}
@media screen and (min-width: 641px) {
  .c-icon-blank:hover::before {
    opacity: 0;
  }
  .c-icon-blank:hover::after {
    opacity: 1;
  }
}


.c-box {
  border: 1px solid #e5e5e5;
  background-color: #f9f9f9;
  border-radius: 10px;
}
.c-box02 {
  border: 1px solid #000;
  background-color: #fff;
}


.before-block {
  padding-bottom: 25px;
  text-align: center;
}
.hot {
  font-size: 0;
  padding-top: 25px;
}
.hot > * {
  display: inline-block;
  vertical-align: middle;
}

.hot > .word {
  margin-right: 20px;
}

.hot-list {
  font-size: 0;
}
.hot-list > li {
  font-size: 16px;
  font-weight: bold;
  display: inline-block;
  vertical-align: middle;
}
.hot-list > li + li {
  margin-left: 10px;
}
.hot-list a {
  border: 1px solid #e6e6e6;
  display: block;
  padding: 4px 16px;
}


.emergency {
  background-color: #f8f8f8;
  padding: 25px 0;
  width: auto;
}
.emergency .inner {
  background-color: #fff;
  border: 1px solid #ccc;
  width: 900px;
  margin: 0 auto;
  padding: 25px 35px;
}
.emergency .title {
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 20px;
}
.emergency .text {
  font-size: 14px;
  text-align: justify;
  line-height: 1.714;
  margin-bottom: 10px;
}
.emergency .name {
  font-size: 14px;
  text-align: right;
  margin-bottom: 15px;
}
.emergency .link {
  text-align: right;
}
.emergency .link > a {
  font-size: 16px;
  text-decoration: underline;
}



@media screen and (min-width: 751px) {
  .hot-list a {
    -webkit-transition-property: background-color;
    transition-property: background-color;
  }
  .hot-list a:hover {
    background-color: #e6e6e6;
    opacity: 1;
  }
}




/* slider */
.slider-btn {
  border: 1px solid #1c1c1c;
  display: block;
  width: 320px;
  height: 52px;
  font-size: 16px;
  text-align: center;
  padding: 18px 0;
  margin: 0 auto;
}
.slider-btn + .slider-btn {
  margin-top: 10px;
}


.slider-books {
  -moz-user-select: none;
  -ms-user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
  position: relative;
  width: 100%;
  overflow: hidden;
}


.slider-item {
  cursor: default;
}
.slider-item img {
  pointer-events: none;
}



/* is-active */
.is-active.slider-item {
  font-size: 0;
  min-height: 434px;
  text-align: center;
  white-space: nowrap;
}

/* is-hidden */
.is-hidden.slider-item {
  display: none !important;
}

.slider-detail-link {
  display: block;
}
.slider-detail-link > .img {
  position: relative;
  z-index: 0;
  -webkit-transform:
    perspective(1000px)
    translate3d(0, 25px, 0px)
    rotate3d(0, 15, -1, -30deg);
  transform:
    perspective(1000px)
    translate3d(0, 25px, 0px)
    rotate3d(0, 15, -1, -30deg);
}
.firefox .slider-detail-link > .img {
  outline: 1px solid transparent;
}
.slider-detail-link > .img::before,
.slider-detail-link > .img::after {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.slider-detail-link > .img::before {
  background-color: #aaa;
  bottom: -10px;
  right: -10px;
  z-index: -1;
}
.slider-detail-link > .img::after {
  background-color: #e5e5e5;
  bottom: -20px;
  right: -20px;
  z-index: -2;
}

/* not is-active */
.slider-item:not(.is-active) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 3;
}
.slider-item:not(.is-active) .body {
  display: none;
}
.slider-item:not(.is-active) .media {
  cursor: pointer;
}

.slider-item:not(.is-active) .slider-detail-link {
  pointer-events: none;
}
.slider-item:not(.is-active) .slider-detail-link .img {
  top: -25px;
}

.is-first.slider-item .media,
.is-last.slider-item .media {
  opacity: 0.3;
  width: 130px;
}

.is-prev.slider-item .media,
.is-next.slider-item .media {
  opacity: 0.3;
  width: 190px;
}

.is-first.slider-item {
  left: 50%;
  margin-left: -830px;
}
.is-last.slider-item {
  right: 50%;
  margin-right: -830px;
}
.is-prev.slider-item {
  left: 50%;
  margin-left: -680px;
}
.is-next.slider-item {
  right: 50%;
  margin-right: -680px;
}


.slider-item .media {
  display: inline-block;
  vertical-align: top;
  width: 276px;
}
.slider-item .media img {
  width: 100%;
}

.slider-item .body {
  display: inline-block;
  vertical-align: top;
  padding-top: 17px;
  padding-right: 20px;
}
.slider-item .body .logo {
  margin-bottom: 30px;
}
.slider-item .date {
  font-size: 41px;
  font-weight: bold;
  margin-bottom: 20px;
}
.slider-item .release {
  position: relative;
  font-size: 33px;
  padding-left: 0.7em;
  margin-left: 0.7em;
}
.slider-item .release::before {
  content: '';
  background-color: #999;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 1px;
  height: 45px;
}
.slider-item .slash {
  font-size: 24.5px;
}
.slider-item .week {
  font-size: 19.5px;
}
.slider-item .text {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.7;
}
.slider-item .btn-area {
  margin-top: 15px;
}

.slider-arrow {
  position: absolute;
  top: 44%;
  left: 50%;
  font-size: 0;
  margin-left: -438px;
  z-index: 19;
  pointer-events: none;
}
.slider-arrow > a {
  display: inline-block;
  pointer-events: auto;
}
.slider-arrow > a + a {
  margin-left: 694px;
}

/* IEフォント調整 */
.ie .slider-item .date {
  font-size: 34px;
}

@media screen and (min-width: 751px) {
  .slider-btn {
    transition-property: background-color, color;
  }
  .slider-arrow > a {
    -webkit-transition: transform 0.4s ease-in-out;
    transition: transform 0.4s ease-in-out;
    padding: 30px 10px;
  }
  .slider-btn:hover {
    background-color: #1c1c1c;
    color: #fff;
    opacity: 1;
  }
  .slider-arrow > a:hover {
    opacity: 1;
  }
  .slider-arrow > a:hover {
    -webkit-transform: translateX(-15px);
    transform: translateX(-15px);
  }
  .slider-arrow > a + a:hover {
    -webkit-transform: translateX(15px);
    transform: translateX(15px);
  }
}

.slider-column > .slider-wrap {
  -webkit-transition: opacity 0.2s ease-in-out;
  transition: opacity 0.2s ease-in-out;
  opacity: 0;
}
.slider-column > .slider-wrap.slick-initialized {
  opacity: 1;
}


/* column */
.slider-column {
  padding-bottom: 45px;
}
.slider-column > .slider-wrap {
  position: relative;
}
.slider-column > .slider-wrap::before {
  content: '';
  background-color: #e5e5e5;
  position: absolute;
  left: 0;
  bottom: 20%;
  width: 100%;
  height: 1px;
  pointer-events: none;
}

.column-slide {
  padding: 8px 1.99404vw;
}
.column-slide > a {
  position: relative;
  display: block;
  outline: none;
  background-color: #fff;
}
.column-slide > a::before {
  content: '';
  background-color: #eee;
  position: absolute;
  top: 8px;
  left: 8px;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.column-slide > a > .inner {
  position: relative;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  height: 18.09523vw;
}
.column-slide .text {
  position: absolute;
  bottom: 8px;
  left: 8px;
  background-color: #fff;
  color: #333;
  font-size: 0.95238vw;
  font-weight: bold;
  height: 32px;
  line-height: 32px;
  padding: 0 0.59523vw;
  white-space: nowrap;
}

@media screen and (max-width: 1260px) {
  .column-slide {
    padding: 8px 25px;
  }
  .column-slide > a > .inner {
    height: 228px;
  }
  .column-slide .text {
    font-size: 12px;
    padding: 0 7.5px;
  }
}


@media screen and (min-width: 751px) {
  .column-slide > a > .inner {
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
  }
  .column-slide > a:hover {
    opacity: 1;
  }
  .column-slide > a:hover > .inner {
    opacity: 0.7;
  }
}



/* publication */
.publication-block {
  background-color: #f9f9f9;
  padding: 50px 0 245px;
  margin-top: -20px;
  overflow: hidden;
}
.publication-list {
  margin: 0 -13px;
}
.publication-list .item {
  padding: 0 15px;
}
.publication-list a {
  display: block;
  outline: none;
}
.publication-list .img {
  position: relative;
  width: 180px;
  height: 234px;
  overflow: hidden;
  margin: 0 auto;
}
.publication-list .img-inner {
  border: 1px solid #ccc;
  position: absolute;
  max-height: 100%;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.edge .publication-list .img-inner {
  position: relative;
  height: 255px;
  top: 0;
  transform: translate3d(0,0,0);
  display: table-cell;
  vertical-align: middle;
}
.home .publication-list .img {
  display: table-cell;
  height: 253px;
  vertical-align: middle;
}
.home .publication-list .img-inner.no-border {
  border: none;
  vertical-align: middle;
  width: 180px;
}
.publication-list .img-inner::after {
  content: '';
  border: 4px solid transparent;
  position: absolute;
  top: 0;
  bottom: -2px;
  left: 0;
  right: 0;
  pointer-events: none;
  z-index: 1;
}
.publication-list .img-inner > img {
  display: inline;
  max-height: 100%;
  vertical-align: middle;
}
.home .publication-list .img-inner.no-border > img {
  width: 180px;
}
.publication-list .text {
  color: #232323;
  font-size: 16px;
  font-weight: bold;
  margin-top: 15px;
  text-align: justify;
  line-height: 1.5;
  max-width: 180px;
}

.publication-arrow {
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 40%;
  width: 92px;
  height: 21px;
  z-index: 6;
}
.publication-arrow.prev {
  background-image: url(../img/common/arrow_left.svg);
  left: 50%;
  margin-left: -620px;
}
.publication-arrow.next {
  background-image: url(../img/common/arrow_right.svg);
  right: 50%;
  margin-right: -620px;
}

.ie .publication-list .img-inner > img {
  width: 100%;
}


.slick-slide {
  outline: none;
}
.style-btn-area {
  margin-top: 45px;
  text-align: center;
}


@media screen and (min-width: 751px) {
  .publication-list a .img-inner::after {
    -webkit-transition: border-color 0.2s ease-in-out;
    transition: border-color 0.2s ease-in-out;
  }
  .publication-arrow {
    -webkit-transition: transform 0.4s ease-in-out;
    transition: transform 0.4s ease-in-out;
  }
  .publication-list a:hover {
    opacity: 0.6;
  }
  .publication-list a:hover .img-inner::after {
    border-color: #ccc;
  }
  .publication-arrow:hover {
    opacity: 1 !important;
  }
  .publication-arrow.next:hover {
    -webkit-transform: translateX(15px);
    transform: translateX(15px);
  }
  .publication-arrow.prev:hover {
    -webkit-transform: translateX(-15px);
    transform: translateX(-15px);
  }
}


/* news */
.news-block {
  padding-bottom: 80px;
  margin-top: -200px;
}
.news-list > li {
  float: left;
  width: 320px;
}
.news-list > li + li {
  margin-left: 32px;
}
.news-list a {
  position: relative;
  display: block;
  z-index: 0;
}
.news-list a > .img-outer {
  overflow: hidden;
}
.news-list a .img {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  height: 241px;
}
.news-list a.new::before {
  content: 'NEW';
  background-color: #f16767;
  color: #fefefe;
  font-family: Viga, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  font-size: 20px;
  position: absolute;
  top: 0;
  left: 0;
  width: 88px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  z-index: 1;
}
#wrapper .ads-box .news-list > li:nth-child(3n+1) {
  clear: both;
  margin-left: 0;
}
#wrapper .ads-box .news-list > li:nth-child(n+4) {
  margin-top: 40px;
}

.ie .news-list a.new::before {
  font-family: Viga, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
}

.news-list a > .text-area {
  position: relative;
  background-color: #1c1c1c;
  color: #fff;
  margin-top: -30px;
  margin-left: auto;
  width: 280px;
  padding: 13px 15px;
}
.news-list a .date {
  font-size: 16px;
  margin-bottom: 6px;
}
.news-list a .text {
  font-size: 16px;
  font-weight: bold;
  text-align: justify;
  line-height: 1.75;
}


@media screen and (min-width: 751px) {
  .news-list a .img {
    -webkit-transition: 0.6s ease-in-out;
    transition: 0.6s ease-in-out;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  .news-list a:hover {
    opacity: 1;
  }
  .news-list a:hover .img {
    opacity: 0.6;
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
}


.article-block {
  position: relative;
  padding-top: 80px;
  padding-bottom: 100px;
}
.article-block::before {
  content: '';
  background-color: #f9f9f9;
  position: absolute;
  top: 140px;
  left: 0;
  width: 58%;
  height: 290px;
  pointer-events: none;
}

.article-main {
  width: 646px;
  float: left;
}
.article-sidebar {
  width: 320px;
  float: right;
}


.top-article {
  position: relative;
  margin-bottom: 80px;
  padding-right: 75px;
}
.top-article-link {
  position: relative;
  display: block;
  z-index: 0;
}
.top-article-link::before {
  content: '';
  background: url(../img/common/new_article.svg) no-repeat;
  background-size: contain;
  position: absolute;
  top: -50px;
  left: -50px;
  width: 142px;
  height: 140px;
  z-index: 1;
}

.top-article .img-area {
  display: inline-block;
  position: relative;
  z-index: 0;
}
.top-article .img-outer {
  overflow: hidden;
}
.top-article .img {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  width: 466px;
  height: 330px;
}
.top-article .text-area {
  position: absolute;
  top: 12px;
  right: 0;
  min-height: 350px;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  z-index: 1;
}
.top-article .text {
  color: #232323;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.88;
  text-align: justify;
}
.top-article .text > span {
  background-color: #fff;
  padding: 0 4px 6px;
}
.top-article .category {
  background-color: #fff;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 210px;
  height: 63px;
  padding: 0 10px;
}
.top-article .category > img {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  width: auto;
  max-width: 80%;
  max-height: 40px;
}

@media screen and (min-width: 751px) {
  .top-article-link,
  .top-article .img {
    -webkit-transition: 0.6s ease-in-out;
    transition: 0.6s ease-in-out;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  .top-article-link:hover .img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
}

.article-list > li {
  float: left;
  width: 300px;
}
.article-list > li:nth-child(2n) {
  float: right;
}
.article-list > li:nth-child(2n + 1) {
  clear: both;
}
.article-list > li:nth-child(n+3) {
  margin-top: 45px;
}

.article-item {
  display: block;
}

.article-item .img-area {
  position: relative;
}
.article-item .img-area::after {
  content: '';
  background-color: #eee;
  position: absolute;
  top: 8px;
  left: 8px;
  width: 100%;
  height: 100%;
  z-index: 0;
}
.article-item .category {
  background-color: #fff;
  position: absolute;
  bottom: -20px;
  left: 0;
  width: 140px;
  height: 40px;
  z-index: 2;
}
.article-item .category img {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  max-width: 80%;
  max-height: 30px;
}

.article-item .img-outer {
  overflow: hidden;
}
.article-item .img {
  position: relative;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  height: 212px;
  z-index: 1;
}

.article-item .text {
  font-size: 16px;
  font-weight: bold;
  margin-top: 34px;
  padding: 0 15px 5px;
  text-align: justify;
  line-height: 1.75;
}


.sidebar-title {
  font-size: 32px;
  color: #232323;
  text-align: center;
  margin-bottom: 30px;
}

.sidebar-tab {
  margin-bottom: 40px;
}
.sidebar-tab > li {
  float: left;
  width: 50%;
}
.sidebar-tab a {
  background-color: #eee;
  color: #898989;
  display: block;
  font-size: 20px;
  height: 46px;
  line-height: 46px;
  text-align: center;
  -webkit-transition-property: background-color, color;
  transition-property: background-color, color;
}
.sidebar-tab a.current {
  background-color: #1c1c1c;
  color: #fff;
}

@media screen and (min-width: 751px) {
  .article-item .img-area::after,
  .article-item .img,
  .article-item .text {
    -webkit-transition: 0.6s ease-in-out;
    transition: 0.6s ease-in-out;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  .article-item:hover {
    opacity: 1;
  }
  .article-item:hover .img-area::after {
    top: 0;
    left: 0;
  }
  .article-item:hover .img {
    opacity: 0.6;
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
  .article-item:hover .text {
    opacity: 0.6;
  }
  .sidebar-tab a:hover {
    opacity: 1;
  }
}

.ranking-list + .ranking-list {
  display: none;
}

.ranking-list > li + li {
  margin-top: 35px;
}

.ranking-item {
  position: relative;
  display: block;
}
.ranking-item::before {
  content: attr(data-num);
  background-color: #131313;
  color: #fff;
  position: absolute;
  top: -4px;
  left: -4px;
  font-family: Viga, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  font-size: 20px;
  width: 28px;
  height: 28px;
  line-height: 28px;
  text-align: center;
  z-index: 1;
}

.ie .ranking-item::before {
  font-family: Viga, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
}

.ranking-item .img-area {
  display: table;
  width: 100%;
}
.ranking-item .img-area > * {
  display: table-cell;
  vertical-align: middle;
}
.ranking-item .img-outer {
  width: 160px;
  overflow: hidden;
}
.ranking-item .img {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  height: 113px;
}
.ranking-item .logo {
  width: calc(100% - 160px);
  text-align: center;
}
.ranking-item .logo > img {
  max-width: 70%;
}

.ranking-item .text-area {
  background-color: #fff;
  margin-top: -20px;
  margin-left: 12px;
  padding: 4px 6px;
  position: relative;
  text-align: justify;
}
.ranking-item .text {
  font-size: 14px;
  font-weight: bold;
  line-height: 1.43;
}

.ie .ranking-item .logo > img {
  max-width: 112px;
}

@media screen and (min-width: 751px) {
  .ranking-item:hover {
    opacity: 1;
  }
  .ranking-item .img,
  .ranking-item .text {
    -webkit-transition: 0.6s ease-in-out;
    transition: 0.6s ease-in-out;
  }
  .ranking-item .img {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  .ranking-item:hover .img {
    opacity: 0.6;
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
  .ranking-item:hover .text {
    opacity: 0.6;
  }
}


.bread {
  padding: 30px 0 50px;
}
.bread-list {
  font-size: 0;
}
.bread-list .home,
.bread-list .home a {
  display: inline-block;
  vertical-align: 1px;
}
.bread-list > li {
  display: inline;
  font-size: 14px;
  vertical-align: bottom;
  line-height: 1.17;
}
.bread-list > li + li {
  position: relative;
  margin-left: 13px;
  padding-left: 16px;
}
.bread-list > li + li::before {
  content: '';
  background: url(../img/common/arrow_right04-blk.svg) no-repeat;
  background-size: contain;
  position: absolute;
  top: 4px;
  left: 0;
  width: 6px;
  height: 9px;
}
.bread-list svg {
  display: inline-block;
  vertical-align: top;
  fill: currentColor;
  -webkit-transition: fill 0.2s ease-in-out;
  transition: fill 0.2s ease-in-out;
}

@media screen and (min-width: 641px) {
  .bread-list a {
    -webkit-transition-property: color;
    transition-property: color;
  }
  .bread-list a:hover {
    color: #f16767;
    opacity: 1;
  }
}

.ie .bread-list > li + li::before {
  background-size: auto;
}


/* wrap */
.title-standard-wrap {
  position: relative;
  margin-bottom: 40px;
}
.title-standard-wrap.mb {
  margin-bottom: 25px;
}
.title-standard-wrap .title {
  margin-bottom: 0;
}
.title-standard-wrap .btn-wrap {
  position: absolute;
  top: -6px;
  right: 0;
}


.link-head-wrap {
  position: relative;
  padding-right: 430px;
  min-height: 58px;
}
.link-head-wrap.no-bg {
  padding-right: 0;
}
.link-head-wrap .text {
  font-size: 14px;
  padding-right: 40px;
  text-align: justify;
  line-height: 1.86;
}
.link-head-wrap .text + .text {
  margin-top: 15px;
}
.link-head-wrap.no-bg .text {
  padding-right: 0;
}
.link-head-wrap .bg {
  background-color: #f8f8f8;
  font-size: 0;
  position: absolute;
  top: 0;
  right: 0;
  width: 430px;
  padding: 22px 0;
  text-align: center;
}
.link-head-wrap .bg > li {
  position: relative;
  font-size: 14px;
  font-weight: bold;
  display: inline-block;
  vertical-align: middle;
  padding-right: 17px;
}
.link-head-wrap .bg > li::after {
  content: '';
  background: url(../img/common/arrow_right06.svg) no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  width: 6px;
  height: 10px;
}
.link-head-wrap .bg > li + li {
  margin-left: 30px;
}

@media screen and (min-width: 751px) {
  .link-head-wrap .bg a:hover {
    opacity: 1;
    text-decoration: underline;
  }
  .link-head-wrap.company {
    padding-right: 300px;
  }
  .link-head-wrap.company .bg {
    width: 300px;
  }
}


/*------------------------------------------------------------------------------
  magazine
------------------------------------------------------------------------------*/
.magazine-block {
  padding-bottom: 40px;
}

.select-category {
  font-size: 0;
  text-align: center;
}
.select-category > li {
  display: inline-block;
  vertical-align: top;
}
.select-category > li + li {
  margin-left: 10px;
}
.select-category a {
  border: 1px solid #e6e6e6;
  color: #1c1c1c;
  display: block;
  font-size: 16px;
  font-weight: bold;
  padding: 6px 0;
  min-width: 117px;
  text-align: center;
}
.select-category > li.current a {
  background-color: #1c1c1c;
  color: #fff;
}

.magazine-artiche-block {
  background-color: #f9f9f9;
  padding-top: 70px;
  padding-bottom: 100px;
}

.magazine-list > li {
  float: left;
  width: 328px;
  margin-right: 20px;
}
.magazine-list > li:nth-child(3n) {
  margin-right: 0;
}
.magazine-list > li:nth-child(3n+1) {
  clear: both;
}
.magazine-list > li:nth-child(n+4) {
  margin-top: 20px;
}

.magazine-list a {
  position: relative;
  background-color: #fff;
  border: 1px solid #ccc;
  display: block;
  padding: 55px 30px 30px;
  text-align: center;
}

.magazine-list .number {
  background-color: #131313;
  color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  font-size: 18px;
  font-weight: bold;
  height: 36px;
  line-height: 36px;
  text-align: center;
  padding: 0 20px;
}

.magazine-list .logo {
  height: 45px;
  margin-bottom: 15px;
}
.magazine-list .text {
  margin-bottom: 20px;
  line-height: 1.69;
}
.magazine-list .img {
  height: 246px;
  margin-bottom: 19px;
}
.magazine-list .img img {
  width: auto;
  height: 100%;
}
.magazine-list .date {
  font-size: 0;
}
.magazine-list .date > span {
  font-size: 14px;
  display: inline-block;
  vertical-align: middle;
}
.magazine-list .date > span + span {
  margin-left: 20px;
}


@media screen and (min-width: 751px) {
  .select-category a {
    -webkit-transition-property: background-color, color;
    transition-property: background-color, color;
  }
  .magazine-list a {
    -webkit-transition-property: border-color;
    transition-property: border-color;
  }
  .magazine-list a .number {
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
  }
  .select-category a:hover {
    background-color: #1c1c1c;
    color: #fff;
    opacity: 1;
  }
  .magazine-list a:hover {
    border-color: #f16767;
    opacity: 1;
  }
  .magazine-list a:hover .number {
    background-color: #f16767;
    color: #fff;
  }
}


.magazine-heading-block {
  padding: 100px 0 47px;
}
.magazine-heading-title .left {
  float: left;
  width: 465px;
  padding-left: 20px;
  text-align: center;
  margin: 0 0 40px;
}
.magazine-heading-title .left > .inner {
  display: inline-block;
  text-align: left;
}
.magazine-heading-title .right {
  overflow: hidden;
  margin: 0 0 40px;
}
.magazine-heading-title .title-wrap {
  margin-bottom: 25px;
}
.magazine-heading-title .title span {
  display: block;
  font-size: 0;
  text-indent: -9999px;
  height: 0;
}
.magazine-heading-title .date {
  padding-left: 10px;
}
.magazine-heading-title .date > span {
  display: block;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.75;
}

.magazine-heading-title .contact-link {
  font-size: 18px;
  font-weight: bold;
  padding: 20px 0 0 10px;
}
.magazine-heading-title .contact-link a {
  text-decoration: underline;
}

@media screen and (min-width: 751px) {
  .magazine-heading-title .title-wrap .title {
    width: 456px;
  }
  .magazine-heading-title .title > .img {
    max-width: 83%;
  }
  .magazine-heading-title .title > .img > img {
    max-width: 100%;
    max-height: 95px;
    height: auto;
  }
  .magazine-heading-title .left > .inner {
    min-width: 320px;
  }
}

.ie .magazine-heading-title .title > .img > img {
  max-height: 95px;
  height: auto;
  width: auto;
}
.ie .magazine-heading-title [data-cat="jprime"] {
  max-width: 100%;
}
.ie .magazine-heading-title [data-cat="jprime"] img {
  max-width: inherit;
  max-height: inherit !important;
  height: auto;
}

.magazine-caption {
  color: #000;
  padding-left: 22px;
  border-left: 2px solid #232323;
  line-height: 1.75;
}
.magazine-caption > .heading {
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 7px;
}
.magazine-caption > .text {
  font-size: 16px;
}


.magazine-link-area {
  font-size: 0;
  text-align: center;
  margin-top: 10px;
}
.magazine-link-area > * {
  display: inline-block;
  vertical-align: middle;
  
}
.magazine-link-area > .official a {
  position: relative;
  font-size: 20px;
  font-weight: bold;
  display: block;
  line-height: 1.5;
  padding-bottom: 4px;
  margin: 20px 0 0 0;
}
.magazine-link-area > .official a::after {
  content: '';
  background-color: #1b1b1b;;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  pointer-events: none;
}

.magazine-link-area .sns {
  font-size: 0;
  margin-left: 30px;
}
.magazine-link-area .sns > li {
  display: inline-block;
  vertical-align: middle;
  margin: 20px 0 0 0;
}
.magazine-link-area .sns > li a {
  display: inline-block;
}
.magazine-link-area .sns > li + li {
  margin-left: 30px;
}
.magazine-link-area .sns > li.instagram {
  margin-left: 25px;
}
.magazine-link-area .sns > li.youtube {
  margin-left: 25xpx;
}


.current-issue {
  color: #000;
  margin-left: -160px;
}
.current-issue .title {
  font-size: 36px;
}

@media screen and (min-width: 751px) {
  .magazine-link-area > .official a::after {
    -webkit-transition: 0.14s ease-out;
    transition: 0.14s ease-out;
  }
  .magazine-link-area > .official a:hover {
    opacity: 0.6;
  }
  .magazine-link-area > .official a:hover::after {
    bottom: -2px;
    opacity: 0;
  }
}


.magazine-detail-block {
  overflow: hidden;
  padding-top: 47px;
  padding-bottom: 90px;
}


.magazine-introduction {
  position: relative;
  overflow: hidden;
  padding-bottom: 45px;
  z-index: 0;
}
.magazine-introduction .media {
  float: left;
  width: 369px;
}
.magazine-introduction .body {
  color: #000;
  padding-top: 45px;
  padding-left: 38px;
  overflow: hidden;
}
.magazine-introduction .body .title {
  font-size: 0;
  margin-bottom: 40px;
}
.gatten-special-block .magazine-introduction .body .title {
  padding: 0 0 30px;
  margin: 0 0 30px;
}
.magazine-introduction .body .title > .current {
  font-size: 50px;
  font-weight: bold;
  display: inline-block;
  vertical-align: baseline;
}
.magazine-introduction .body .title > .date {
  display: inline-block;
  font-size: 20px;
  font-weight: bold;
  padding-left: 25px;
}
.gatten-special-block .magazine-introduction .body .title > .date {
  padding-left: 0;
}

.magazine-introduction .body .price {
  display: block;
  font-size: 24px;
  font-weight: bold;
  margin-top: 20px;
}
.magazine-introduction .body .price > span {
  font-size: 14px;
}
.magazine-introduction .body .box {
  font-size: 14px;
  line-height: 2.14;
  text-align: justify;
}
.magazine-introduction .body .list > li {
  position: relative;
  text-indent: -1em;
  padding-left: 1em;
}
.magazine-introduction .body .list > li::before {
  content: '・';
  display: inline;
}
.magazine-introduction .body .wrap {
  position: relative;
  height: 160px;
  overflow: hidden;
}
.magazine-introduction .body .wrap::after {
  content: '';
  background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff);
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 46px;
  z-index: 1;
  pointer-events: none;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.magazine-introduction .body .wrap.is-open::after {
  opacity: 0;
}

.magazine-more-area {
  text-align: center;
  margin-top: 15px;
}
.magazine-more-area a {
  position: relative;
  display: inline-block;
  font-size: 14px;
  font-weight: bold;
  padding-right: 16px;
}
.magazine-more-area a::after {
  content: '';
  background: url(../img/common/arrow_bottom-blk.svg) no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  width: 8px;
  height: 5px;
}
.magazine-more-area a.is-open::after {
  transform: scaleY(-1);
}

.magazine-btn-area {
  padding-top: 40px;
}
.magazine-btn-area > .btn-wrap {
  font-size: 0;
  width: 620px;
  margin: 0 auto;
  text-align: center;
}
.magazine-btn-area > .btn-wrap + .btn-wrap {
  margin-top: 24px;
}
.magazine-btn-area .btn-large {
  display: block;
  border: 2px solid #232323;
  background-color: #232323;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  padding: 16px 0;
}
.magazine-btn-area .btn-large > span {
  position: relative;
  display: inline-block;
  padding-left: 40px;
}
.magazine-btn-area .btn-large > span::before,
.magazine-btn-area .btn-large > span::after {
  content: '';
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  bottom: 2px;
  left: 0;
  margin: auto;
  width: 26px;
  height: 21px;
  margin-right: 15px;
}
.magazine-btn-area .btn-large > span::before {
  background-image: url(../img/common/icon_book-wt.svg);
}
.magazine-btn-area .btn-large > span::after {
  background-image: url(../img/common/icon_book.svg);
  opacity: 0;
}
.magazine-btn-area .btn {
  border: 2px solid #232323;
  display: inline-block;
  font-size: 16px;
  width: 300px;
  padding: 16px 0;
}
.magazine-btn-area .btn + .btn {
  margin-left: 20px;
}
.buy-btn-area .btn {
  position: relative;
  padding-left: 10px;
}
.buy-btn-area .btn:before {
  background: url(../img/common/icon_cart.svg) no-repeat;
  background-size: contain;
  content: '';
  top: 0;
  bottom: 0;
  left: 20px;
  margin: auto;
  position: absolute;
  height: 25px;
  width: 24px;
}
@media screen and (min-width: 751px) {
  .buy-btn-area .btn:hover:before {
    background: url(../img/common/icon_cart-wt.svg) no-repeat;
    background-size: contain;
  }
}

.buy-modal .modal-container {
  padding: 20px;
  width: 674px;
}
.buy-modal .title-area {
  display: table;
  margin: 0 0 20px;
}
.buy-modal .title-area .title {
  background: url(../img/common/icon_cart.svg) no-repeat left center;
  background-size: 24px;
  display: table-cell;
  font-size: 24px;
  font-weight: bold;
  padding: 0 0 0 40px;
  text-align: left;
  vertical-align: middle;
}
.buy-modal .title-area .notice {
  display: table-cell;
  padding: 0 0 0 10px;
  font-size: 12px;
  font-weight: bold;
  line-height: 1.5;
  text-align: left;
  vertical-align: middle;
}
.buy-modal .list {
  margin: 0 0 30px;
}
.buy-modal .list li:nth-child(4n+1) {
  clear: both;
  margin-left: 0;
}
.buy-modal .list li:nth-child(n+5) {
  margin-top: 3px;
}
.buy-modal .close-btn {
  background: url(../img/common/icon_close02-blk.svg) no-repeat 10px center;
  background-size: 12px;
  border: 1px solid #333;
  cursor: pointer;
  font-size: 16px;
  font-weight: bold;
  margin: auto;
  padding: 10px 10px 10px 20px;
  text-align: center;
  width: 140px;
}


@media screen and (min-width: 751px) {
  .gatten-magazine-btn-area.magazine-btn-area .btn {
    width: 295px;
  }

  .magazine-btn-area .btn-large,
  .magazine-btn-area .btn {
    -webkit-transition-property: background-color, color;
    transition-property: background-color, color;
  }
  .magazine-btn-area .btn-large > span::before,
  .magazine-btn-area .btn-large > span::after {
    -webkit-transition: opacity 0.2s ease-in-out;
    transition: opacity 0.2s ease-in-out;
  }
  .magazine-btn-area .btn-large:hover {
    opacity: 1;
    background-color: #fff;
    color: #232323;
  }
  .magazine-btn-area .btn-large:hover > span::before {
    opacity: 0;
  }
  .magazine-btn-area .btn-large:hover > span::after {
    opacity: 1;
  }
  .magazine-btn-area .btn:hover {
    background-color: #232323;
    color: #fff;
    opacity: 1;
  }
  .magazine-more-area > a:hover {
    opacity: 1;
  }
}



.magazine-webmedia-block {
  position: relative;
  background-color: #f8f8f8;
  padding: 65px 0;
  overflow: hidden;
}
.magazine-webmedia-block::before {
  content: '';
  background-color: #f4f4f4;
  position: absolute;
  top: 0;
  bottom: 0;
  left: -20%;
  right: 52%;
  -webkit-transform: skewX(-36deg);
  transform: skewX(-36deg);
  pointer-events: none;
}

.magazine-webmedia-block .title {
  font-size: 32px;
  margin-bottom: 60px;
}

.magazine-webmedia-box .media {
  float: left;
  width: 546px;
}
.magazine-webmedia-box .body {
  padding-top: 35px;
  padding-left: 60px;
  overflow: hidden;
}
.magazine-webmedia-box .text-short {
  color: #ccc;
  font-size: 12px;
  margin-bottom: 14px;
}
.magazine-webmedia-box .website {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 25px;
}
.magazine-webmedia-box .website > span {
  display: inline-block;
  padding-right: 0.2em;
}

.magazine-webmedia-box .text {
  color: #333;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.71;
  text-align: justify;
  margin-bottom: 40px;
}
.magazine-webmedia-box .btn-area {
  font-size: 0;
}
.magazine-webmedia-box .btn-area > * {
  display: inline-block;
  vertical-align: middle;
}
.magazine-webmedia-box .official {
  padding-right: 50px;
}
.magazine-webmedia-box .official > a {
  position: relative;
  border: 2px solid #232323;
  display: block;
  font-size: 14px;
  font-weight: bold;
  min-width: 206px;
  padding: 13px 10px;
  padding-right: 30px;
  text-align: center;
}

.magazine-webmedia-box .sns {
  font-size: 0;
  padding: 10px 0;
}
.magazine-webmedia-box .sns > li {
  display: inline-block;
  vertical-align: middle;
}

.magazine-webmedia-box .sns > li a {
  display: inline-block;
}
.magazine-webmedia-box .sns > li + li {
  margin-left: 30px;
}
.magazine-webmedia-box .sns > li.instagram {
  margin-left: 24px;
}

.magazine-webmedia-box .btn-wrap {
  display: block;
  border: 2px solid #232323;
  background-color: #232323;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  margin: 0 0 20px;
}
.magazine-webmedia-box .btn-wrap .btn {
  color: #fff;
  display: inline-block;
  font-size: 16px;
  width: 100%;
  padding: 16px 0;
  text-align: center;
}

@media screen and (min-width: 751px) {
  .magazine-webmedia-box .btn-wrap .btn {
    -webkit-transition-property: background-color, color;
    transition-property: background-color, color;
  }
  .magazine-webmedia-box .btn-wrap .btn:hover {
    opacity: 1;
    background-color: #fff;
    color: #232323;
  }
  .magazine-webmedia-box .btn-wrap > a {
    -webkit-transition-property: background-color;
    transition-property: background-color;
  }
  .magazine-webmedia-box .btn-wrap > a:hover {
    background-color: #707070;
    opacity: 1;
  }
}


@media screen and (min-width: 641px) {
  .magazine-webmedia-box .official > a {
    -webkit-transition-property: background-color, color;
    transition-property: background-color, color;
    margin-bottom: 5px;
  }
  .magazine-webmedia-box .official > a:hover {
    background-color: #232323;
    color: #fff;
    opacity: 1;
  }
  .magazine-webmedia-block + .magazine-contents {
    padding-top: 70px;
  }
}


.magazine-contents-title {
  position: relative;
  text-align: right;
  z-index: 0;
  margin-bottom: 140px;
}
.magazine-contents-title::after {
  content: '';
  background-color: #000;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: calc(100% - (50% - 512px));
  height: 2px;
  z-index: -1;
  pointer-events: none;
}
.magazine-contents-title .title {
  position: relative;
  background-color: #fff;
  display: inline-block;
  color: #000;
  font-size: 24px;
  padding-left: 90px;
  z-index: 0;
}
.magazine-contents-title .title::after {
  content: '';
  background-color: #000;
  position: absolute;
  bottom: -74px;
  right: -36px;
  width: 2px;
  height: 145px;
  -webkit-transform: rotateZ(34deg);
  transform: rotateZ(34deg);
  pointer-events: none;
  z-index: -1;
}

.magazine-contents-box {
  border: 2px solid #232323;
  background-color: #fff;
  color: #000;
  width: 904px;
  padding: 60px 50px;
  margin: 0 auto;
  text-align: center;
}
.magazine-contents-box.no-border {
  background: none;
  border: none;
  padding-top: 0;
}
.magazine-contents-box .title {
  font-size: 36px;
  font-weight: bold;
  margin-bottom: 50px;
}
.magazine-contents-box .title > span {
  padding-right: 0.2em;
}
.magazine-contents-box .text {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 30px;
  line-height: 1.6;
}
.magazine-contents-box .period {
  font-size: 0;
  margin-bottom: 30px;
}
.magazine-contents-box .period > span {
  display: inline-block;
  vertical-align: middle;
}
.magazine-contents-box .period > .label {
  background-color: #000;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  line-height: 1.39;
  padding: 5px 12px;
}
.magazine-contents-box .period > .num {
  font-size: 40px;
  font-weight: bold;
  padding-left: 25px;
}
.magazine-contents-box .img {
  font-size: 0;
  text-align: center;
}
.magazine-contents-box .img img {
  display: block;
  margin: 0 auto;
}
.magazine-contents-box .img img + img {
  margin-top: 10px;
}
.magazine-contents-box .btn-area {
  margin-top: 45px;
}
.magazine-contents-box.no-border .btn-area {
  margin-top: -10px;
}
.magazine-contents-box .btn {
  position: relative;
  display: block;
  border: 2px solid #232323;
  background-color: #232323;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  padding: 25px 0;
  text-align: center;
}
.magazine-contents-box .btn > .icon {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 25px;
  margin: auto;
  width: 25px;
  height: 25px;
}
.magazine-contents-box .btn > .icon > span {
  background-color: #fff;
  position: absolute;
}
.magazine-contents-box .btn > .icon > span:nth-child(1) {
  top: 0;
  left: 50%;
  width: 3px;
  height: 100%;
  margin-left: -1.5px;
  -webkit-transition: opacity 0.2s ease-in-out;
  transition: opacity 0.2s ease-in-out;
}
.magazine-contents-box .btn > .icon > span:nth-child(2) {
  top: 50%;
  left: 0;
  width: 100%;
  height: 3px;
  margin-top: -1.5px;
}
.magazine-contents-box .btn.is-open > .icon > span:nth-child(1) {
  opacity: 0;
}

.magazine-contents-box .backnumber-wrap {
  background-color: #232323;
  display: none;
}
.magazine-contents-box .backnumber-inner {
  padding: 30px 50px;
}
.magazine-contents-box .backnumber-wrap li {
  float: left;
  width: calc((100% - 40px) / 3);
  margin-right: 20px;
}
.magazine-contents-box .backnumber-wrap li:nth-child(3n) {
  margin-right: 0;
}
.magazine-contents-box .backnumber-wrap li:nth-child(3n+1) {
  clear: both;
}
.magazine-contents-box .backnumber-wrap li:nth-child(n+4) {
  margin-top: 40px;
}
.magazine-contents-box .backnumber-wrap a {
  display: block;
}
.magazine-contents-box .backnumber-wrap .textarea {
  color: #fff;
}
.magazine-contents-box .backnumber-img {
  margin-bottom: 20px;
}
.magazine-contents-box .backnumber-title {
  font-size: 30px;
  font-weight: bold;
  margin-bottom: 10px;
}


@media screen and (min-width: 751px) {
  .magazine-contents-box .btn:hover {
    opacity: 1;
  }
}


.magazine-contents01 {
  position: relative;
  z-index: 0;
  padding-bottom: 50px;
}
.magazine-contents01::before {
  content: '';
  background-color: #f7f7f7;
  position: absolute;
  top: 30%;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: -1;
  pointer-events: none;
}

.magazine-contents02 {
  position: relative;
  background-color: #f7f7f7;
  color: #000;
  padding: 90px 0 100px;
  z-index: 0;
  min-height: 300px;
}
.magazine-contents02::before {
  content: '';
  background-color: #eee;
  position: absolute;
  top: 220px;
  left: 0;
  width: 100%;
  height: 600px;
  z-index: -1;
}
.magazine-contents02 + .magazine-contents02 {
  padding-top: 0;
}
.magazine-contents02 + .magazine-contents02::before {
  content: none;
}

.magazine-contents-container + .magazine-contents-container {
  padding-top: 100px;
}
.magazine-contents-container .btn-area {
  text-align: center;
  margin-top: 70px;
}
@media screen and (min-width: 751px) {
  .magazine-contents-container .btn-area > a::before,
  .magazine-contents-container .btn-area > a::after {
    width: 16px;
    height: 16px;
    right: 20px;
  }
}

.magazine-contents-list + .magazine-contents-list {
  display: none;
  margin-top: 40px;
}
.magazine-contents-list > li {
  width: 320px;
  float: left;
  margin-right: 32px;
}
.magazine-contents-list > li:nth-child(3n) {
  margin-right: 0;
}
.magazine-contents-list > li:nth-child(3n+1) {
  clear: both;
}
.magazine-contents-list > li:nth-child(n+4) {
  margin-top: 40px;
}
.magazine-contents-list a {
  display: block;
}
.magazine-contents-list .img-area {
  position: relative;
  margin-bottom: 15px;
}
.magazine-contents-list .img-area .img {
  padding-top: 100%;
  width: 100%;
  background-size: cover;
  background-position: center center;
}
.magazine-contents-list.event-campaign-ul .img-area .img {
  padding-top: 75%;
}
.magazine-contents-list .label {
  position: absolute;
  bottom: 0;
  left: 0;
}
.magazine-contents-list .title {
  color: #000;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.75;
  text-align: justify;
}


/* type01 */
.magazine-contents-list.type01 .label {
  background-color: #fff;
  box-shadow: 4px 4px #232323;
  min-width: 80px;
  text-align: center;
  padding: 8px 18px;
}

/* type02 */
.magazine-contents-list.type02 .img-area {
  margin-bottom: 30px;
}
.magazine-contents-list.type02 .label {
  background-color: #232323;
  color: #fff;
  font-size: 16px;
  min-width: 110px;
  text-align: center;
  padding: 10px;
  -webkit-transform: translateY(50%);
  transform: translateY(50%);
}
.magazine-contents-list.type02 .title {
  padding: 0 15px;
}
.magazine-contents-list.type02 > li:nth-child(n+4) {
  margin-top: 60px;
}



/*------------------------------------------------------------------------------
  subscribe
------------------------------------------------------------------------------*/
.subscribe-block {
  padding-bottom: 100px;
}

.subscribe-check {
  position: relative;
  background-color: #f8f8f8;
  border: 1px solid #e5e5e5;
  font-size: 0;
  padding: 15px 20px;
  z-index: 0;
  margin-bottom: 18px;
}
.subscribe-check::before,
.subscribe-check::after {
  content: '';
  position: absolute;
  left: 20px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 16px 12px 0 12px;
  border-color: transparent;
  pointer-events: none;
  z-index: 1;
}
.subscribe-check::after {
  bottom: -15px;
  border-top-color: #f8f8f8;
}
.subscribe-check::before {
  bottom: -16px;
  border-top-color: #e5e5e5;
}

.subscribe-check.arw-top {
  margin-top: 18px;
  margin-bottom: auto;
}
.subscribe-check.arw-top::before,
.subscribe-check.arw-top::after {
  bottom: auto;
  border-width: 0 12px 16px 12px;
  border-color: transparent;
}
.subscribe-check.arw-top::after {
  top: -15px;
  border-bottom-color: #f8f8f8;
}
.subscribe-check.arw-top::before {
  top: -16px;
  border-bottom-color: #e5e5e5;
}


.subscribe-check > * {
  display: inline-block;
  vertical-align: middle;
}
.subscribe-check .text {
  font-size: 14px;
  font-weight: bold;
  margin-right: 20px;
}
.subscribe-check button {
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  padding: 12px 29px;
}
.subscribe-check button + button {
  margin-left: 15px;
}
.subscribe-check .buy {
  background-color: #f16767;
}
.subscribe-check .clear {
  background-color: #898989;
}

.subscribe-list {
  border: 1px solid #e5e5e5;
}
.subscribe-list > li {
  position: relative;
  padding: 30px 20px;
}
.subscribe-list > li + li {
  border-top: 1px solid #e5e5e5;
}
.subscribe-col {
  padding-right: 505px;
  min-height: 205px;
}

.subscribe-body {
  position: relative;
  float: left;
  width: calc(100% - 166px);
  padding-left: 40px;
  padding-right: 20px;
}
.subscribe-img {
  float: right;
  width: 166px;
}
.subscribe-data {
  position: absolute;
  top: 30px;
  right: 20px;
  width: 505px;
  padding-left: 20px;
}

.subscribe-list > li .title {
  position: relative;
  font-size: 28px;
  font-weight: bold;
  margin-bottom: 26px;
}
.subscribe-list > li .checkmark {
  background-color: #898989;
  border-radius: 50%;
  display: block;
  position: absolute;
  top: 1px;
  left: 0;
  width: 26px;
  height: 26px;
}
.subscribe-list > li .checkmark img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}

.subscribe-body .select-area {
  font-size: 0;
}
.subscribe-body .select-area + .select-area {
  margin-top: 10px;
}
.subscribe-body .select-area > * {
  display: inline-block;
  vertical-align: middle;
}

.subscribe-body .select-text {
  color: #898989;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.57;
  width: calc(100% - 190px);
}
.subscribe-body .select-box {
  position: relative;
  width: 190px;
}
.subscribe-body .select-box > select {
  font-weight: bold;
  width: 100%;
  padding: 7px 15px;
}

.subscribe-body .campaign-btn {
  margin-top: 20px;
}
.subscribe-body .campaign-btn > a {
  background-color: #333;
  color: #fff;
  display: block;
  font-size: 16px;
  font-weight: bold;
  padding: 13px 0;
  text-align: center;
  -webkit-transition-property: background-color;
  transition-property: background-color;
}

@media screen and (min-width: 641px) {
  .subscribe-body .campaign-btn > a:hover {
    background-color: #f16767;
    opacity: 1;
  }
}


.subscribe-data .box {
  border: 1px solid #e5e5e5;
}
.subscribe-data dl,
.subscribe-data dt,
.subscribe-data dd {
  margin: 0;
  padding: 0;
}

.subscribe-data dl {
  background-color: #fff;
  font-size: 0;
  padding: 18.5px 20px;
}
.subscribe-data dl + dl {
  border-top: 1px solid #e5e5e5;
}
.subscribe-data dl > * {
  display: inline-block;
  vertical-align: top;
  font-size: 14px;
  font-weight: bold;
}
.subscribe-data dt {
  color: #898989;
}
.subscribe-data dd {
  color: #333;
}
.subscribe-data dd + dt {
  margin-left: 2em;
}


/* is-check */
.subscribe-list > li,
.subscribe-list > li .checkmark {
  -webkit-transition: background-color 0.2s ease-in-out;
  transition: background-color 0.2s ease-in-out;
}
.subscribe-list > li.is-check {
  background-color: #fef8f8;
}
.subscribe-list > li.is-check .checkmark {
  background-color: #f16767;
}



/*------------------------------------------------------------------------------
  modal
------------------------------------------------------------------------------*/
.modal-wrap {
  display: none;
  background-color: rgba(0, 0, 0, 0.6);
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  overflow: hidden;
  overflow-y: scroll;
  z-index: 9999;
}
.modal-wrap .wrap-table {
  display: table;
  width: 100%;
  height: 100%;
}
.modal-wrap .wrap-cell {
  display: table-cell;
  vertical-align: middle;
  padding: 44px 0;
}

.modal-container {
  position: relative;
  background-color: #fff;
  width: 900px;
  margin: 0 auto;
}

.modal-close {
  display: inline-block;
  position: absolute;
  right: 0;
  bottom: 100%;
  margin-bottom: 10px;
}

.modal-container .magazine-contents-box {
  background-color: transparent;
  width: auto;
  margin: 0;
}

.modal-item {
  display: none;
}

#js-ready-modal.moda-wrap {
  height: 100vh;
  width: 100vw;
}
#js-ready-modal .modal-container {
  position: absolute;
  height: 100px;
  line-height: 100px;
  width: 400px;
  margin: auto;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  font-size: 18px;
  text-align: center;
  color: #232323;
}

/*** recruit message ***/
.interview-title {
  background-image: linear-gradient(to right, #f49d15, #dd082f 100%);
  color: #fff;
  display: inline-block;
  min-width: 500px;
  margin: 0 0 20px;
  padding: 15px 20px 10px;
}
.interview-title .title {
  font-size: 20px;
  font-weight: bold;
  margin: 0 0 10px 5px;
}
.interview-title .text {
  font-size: 36px;
  font-weight: bold;
}


  /*------------------------------------------------------------------------------
    poricy
  ------------------------------------------------------------------------------*/
.subscribe-poricy-block > .contents {
  padding: 100px 0;
}
.subscribe-poricy-block > .contents.sec03 p,
.subscribe-poricy-block > .contents.sec03 address {
  line-height: 1.86;
  text-align: justify;
}
.subscribe-poricy-block > .contents.sec03 address {
  margin-bottom: 12px;
}
.subscribe-poricy-block > .bg {
  background-color: #f8f8f8;
}
.subscribe-poricy-block .bold {
  font-weight: bold;
}

.subscribe-poricy-anchor + .contents {
  padding-top: 130px;
}
.subscribe-poricy-anchor {
  position: relative;
  margin-bottom: -30px;
  text-align: center;
  z-index: 1;
}
.subscribe-poricy-anchor > .list {
  background-color: #fff;
  border: 1px solid #333;
  display: table;
  table-layout: fixed;
  width: 900px;
  margin: 0 auto;
}
.subscribe-poricy-anchor li {
  position: relative;
  display: table-cell;
  vertical-align: top;
}
.subscribe-poricy-anchor li + li {
  position: relative;
}
.subscribe-poricy-anchor li + li::before {
  content: '';
  background-color: #585858;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -12px;
  width: 1px;
  height: 24px;
}
.subscribe-poricy-anchor a {
  display: table;
  font-size: 13px;
  font-weight: bold;
  width: 100%;
  height: 58px;
  line-height: 1.54;
}
.subscribe-poricy-anchor a > .inner {
  position: relative;
  display: table-cell;
  vertical-align: middle;
}

.subscribe-poricy-anchor .icon {
  position: relative;
  display: inline-block;
}
.subscribe-poricy-anchor .icon::after {
  content: '';
  background: url(../img/common/arrow_bottom02.png) no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  bottom: 0;
  right: -20px;
  margin: auto;
  width: 10px;
  height: 6px;
}


@media screen and (min-width: 751px) {
  .subscribe-poricy-anchor a {
    -webkit-transition-property: background-color;
    transition-property: background-color;
  }
  .subscribe-poricy-anchor a:hover {
    background-color: #f8f8f8;
    opacity: 1;
  }
}


.subscribe-poricy-table-wrap {
  margin: 0 -30px;
}
.subscribe-poricy-table-wrap > table {
  border-collapse: separate;
  border-spacing: 30px 0;
  width: 100%;
}
.subscribe-poricy-table-wrap th,
.subscribe-poricy-table-wrap td {
  border-bottom: 1px solid #e5e5e5;
  padding: 25px 20px;
}
.subscribe-poricy-table-wrap th {
  width: 290px;
  text-align: left;
}

.subscribe-poricy-table-wrap p {
  line-height: 2;
}
.subscribe-poricy-table-wrap p + * {
  margin-top: 2em;
}
.subscribe-poricy-block > .contents a {
  color: #41aed6;
  position: relative;
  border-bottom: 1px solid transparent;
}

@media screen and (min-width: 751px) {
  .subscribe-poricy-block > .contents a {
    -webkit-transition-property: border-bottom-color;
    transition-property: border-bottom-color;
  }
  .subscribe-poricy-block > .contents a:hover {
    border-bottom-color: #41aed6;
    opacity: 1;
  }
}


.subscribe-poricy-head {
  line-height: 1.86;
  text-align: justify;
}
.subscribe-poricy-head p + p {
  margin-top: 1.86em;
}

.subscribe-poricy-box {
  margin-top: 50px;
}
.subscribe-poricy-subtitle {
  background-color: #333;
  color: #fff;
  font-size: 18px;
  padding: 16px 30px;
  margin-bottom: 24px;
}
.subscribe-poricy-box > .inner {
  width: 790px;
  margin: 0 auto;
}
.subscribe-poricy-box > .text {
  margin-bottom: 24px;
}

.subscribe-poricy-box p {
  text-align: justify;
  line-height: 1.86;
}
.subscribe-poricy-box p + p {
  margin-top: 25px;
}

.subscribe-poricy-box table {
  border: 1px solid #e5e5e5;
  width: 100%;
}
.subscribe-poricy-box th,
.subscribe-poricy-box td {
  padding: 16px 20px;
  line-height: 1.56;
  vertical-align: top;
}
.subscribe-poricy-box tr + tr {
  border-top: 1px solid #e5e5e5;
}
.subscribe-poricy-box th {
  border-right: 1px solid #e5e5e5;
  width: 310px;
  text-align: left;
}

.subscribe-poricy-box .sub-table {
  margin-top: 25px;
}
.subscribe-poricy-box .sub-table th {
  width: 40%;
}

.subscribe-poricy-box .list {
  margin-top: 25px;
}


.subscribe-poricy-list {
  margin-top: 40px;
  line-height: 1.86;
}
.subscribe-poricy-list > li + li {
  margin-top: 25px;
}

.subscribe-poricy-list .body {
  padding-left: 20px;
  margin-top: 15px;
}
.subscribe-poricy-list .sub-title {
  margin-bottom: 5px;
}
.subscribe-poricy-list .sub-title + .sub-title {
  margin-top: 10px;
}


.subscribe-poricy-list .sub-list > li {
  line-height: 2.14;
}
.subscribe-poricy-list .sub-list > li + li {
  margin-top: 0;
}
.subscribe-poricy-list .sub-list + .sub-title {
  margin-top: 15px;
}

.subscribe-poricy-list .body .mb {
  margin-bottom: 18px;
}
.subscribe-poricy-list .body .mt {
  margin-top: 12px;
}
.subscribe-poricy-list .body .pl {
  padding-left: 30px;
}

.subscribe-poricy-list .sublist > li + li {
  margin-top: 12px;
}
.subscribe-poricy-list .sublist ul {
  padding: 12px 0;
}
.subscribe-poricy-list .sublist .heading {
  text-indent: -1em;
  padding-left: 1em;
}
.subscribe-poricy-list .sublist .list > li {
  line-height: 2.14;
}

.subscribe-poricy-contact {
  background-color: #fff;
  padding: 28px 30px;
  margin: 50px 0;
}
.subscribe-poricy-contact .title {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 10px;
}
.subscribe-poricy-contact .text {
  margin-bottom: 18px;
}


.subscribe-poricy-address {
  display: inline-block;
  vertical-align: middle;
  padding-left: 0.5em;
}
.subscribe-poricy-address > img {
  vertical-align: baseline;
  max-height: 12px;
}


/*------------------------------------------------------------------------------
  faq
------------------------------------------------------------------------------*/
.subscribe-faq-block {
  background-color: #f8f8f8;
  padding: 100px 0;
}

.faq-list {
  margin-top: 60px;
}

.faq-list > li + li {
  margin-top: 20px;
}

.faq-btn {
  background-color: #fff;
  border: 1px solid #e5e5e5;
  position: relative;
  display: block;
  padding: 10px 75px;
  min-height: 50px;
}
.faq-btn > .number {
  background-color: #333;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  position: absolute;
  top: 0;
  left: 0;
  width: 48px;
  height: 100%;
}
.faq-btn > .number > span {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
  height: 20px;
  text-align: center;
}
.faq-btn > .que {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.56;
}
.faq-btn > .icon {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 30px;
  margin: auto;
  width: 16px;
  height: 16px;
}
.faq-btn > .icon::before,
.faq-btn > .icon::after {
  content: '';
  background-color: #333;
  position: absolute;
}
.faq-btn > .icon::before {
  top: 0;
  left: 50%;
  width: 2px;
  height: 100%;
  margin-left: -1px;
  -webkit-transition: opacity 0.2s ease-in-out;
  transition: opacity 0.2s ease-in-out;
}
.faq-btn > .icon::after {
  top: 50%;
  left: 00px;
  width: 100%;
  height: 2px;
  margin-top: -1px;
}

.is-default-open.faq-btn + .faq-body {
  display: block;
}

.is-open.faq-btn  .icon::before {
  opacity: 0;
}

@media screen and (min-width: 751px) {
  .faq-btn:hover {
    opacity: 1;
  }
}

.faq-body {
  background-color: #fff;
  display: none;
  text-align: justify;
}
.faq-body > .inner {
  border: 1px solid #e5e5e5;
  border-top: none;
  padding: 35px 40px;
}
.faq-body .text {
  font-size: 16px;
  line-height: 1.75;
}
.faq-body .text + * {
  margin-top: 1em;
}
.faq-body .list {
  font-size: 14px;
}
.faq-body .list + * {
  margin-top: 1em;
}
.faq-body .list > li {
  line-height: 1.86;
}
.faq-body .list-num li + li {
  margin-top: 15px;
}
.faq-body .list-num .head {
  padding-left: 1em;
  text-indent: -1em;
}
.faq-body .list-num .body {
  padding-left: 0.8em;
}
.faq-body .list-num .body + * {
  margin-top: 1em;
}


/*------------------------------------------------------------------------------
  campaign
------------------------------------------------------------------------------*/
.magazine-block-subscribe-campaign {
  padding-bottom: 30px;
}
.subscribe-campaign-block {
  padding-bottom: 100px;
}

.subscribe-campaign-list > li {
  border: 1px solid #e5e5e5;
  padding: 30px;
}
.subscribe-campaign-list > li + li {
  margin-top: 20px;
}
.subscribe-campaign-list .inner {
  position: relative;
}
.subscribe-campaign-list .btn-area {
  position: absolute;
  bottom: 0;
  right: 0;
}
.subscribe-campaign-list .btn {
  background-color: #333;
  color: #fff;
  display: block;
  font-size: 16px;
  font-weight: bold;
  padding: 13px 0;
  text-align: center;
  -webkit-transition-property: background-color;
  transition-property: background-color;
  width: 250px;
}

@media screen and (min-width: 751px) {
  .subscribe-campaign-list .btn:hover {
    background-color: #f16767;
    opacity: 1;
  }
}

.subscribe-campaign-list .media {
  float: left;
  width: 180px;
}
.subscribe-campaign-list .media > img {
  width: 100%;
}
.subscribe-campaign-list .body {
  overflow: hidden;
  padding-left: 50px;
  padding-bottom: 70px;
}

.subscribe-campaign-list .title {
  margin-bottom: 12px;
}
.subscribe-campaign-list .text {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.88;
  margin-bottom: 18px;
  text-align: justify;
}
.subscribe-campaign-list .sub-text {
  font-size: 14px;
  line-height: 1.71;
  text-align: justify;
}
.subscribe-campaign-list .box {
  margin-bottom: 15px;
}

.subscribe-campaign-list .box-inner {
  background-color: #fef8f8;
  color: #f16767;
  display: inline-block;
  font-size: 16px;
  font-weight: bold;
  padding: 18px 20px;
}


/*------------------------------------------------------------------------------
  subscribe-continue
------------------------------------------------------------------------------*/
.subscribe-continue-block {
  padding-bottom: 100px;
}
.subscribe-continue-box {
  padding: 20px 0 30px;
  text-align: center;
}
.subscribe-continue-box .title {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.75;
  margin-bottom: 10px;
}

.subscribe-continue-box .btn-wrap {
  text-align: center;
  margin-top: 30px;
}

.subscribe-continue-input > li {
  position: relative;
  width: 240px;
  margin: 0 auto;
}
.subscribe-continue-input > li + li {
  margin-top: 15px;
}
.subscribe-continue-input .text {
  font-size: 16px;
  position: absolute;
  right: 100%;
  top: 0;
  bottom: 0;
  margin: auto;
  height: 16px;
  white-space: nowrap;
  padding-right: 20px;
}
.subscribe-continue-input input {
  width: 100%;
}
.subscribe-continue-box .btn {
  padding: 10px 0;
}

@media screen and (min-width: 751px) {
  .subscribe-continue-box .btn {
    -webkit-transition-property: background-color, color;
    transition-property: background-color, color;
  }
  .subscribe-continue-box .btn:hover {
    opacity: 1;
    background-color: #fff;
    color: #232323;
  }
  .subscribe-continue-box .title.large {
    font-size: 32px;
    line-height: 1.3;
    text-align: left;
    padding: 0 60px;
    margin-bottom: 20px;
  }
}

.subscribe-continue-failed {
  font-size: 12px;
  font-weight: bold;
  color: #b91111;
  margin: 10px auto;
  width: 240px;
  text-align: left;
}

.subscribe-continue-box-article {
  background-color: transparent;
  border-radius: 0;
}

.subscribe-continue-article {
  padding: 0 60px;
}
.subscribe-continue-article > .box {
  float: left;
  width: 220px;
}
.subscribe-continue-article > .box + .box {
  float: right;
  width: calc(100% - 220px);
  padding-left: 40px;
}

.subscribe-continue-article .title {
  font-size: 20px;
  font-weight: bold;
  text-align: left;
  margin-bottom: 12px;
  line-height: 1.4;
}

.subscribe-continue-article .table-price {
  background-color: #fef8f8;
  width: 100%;
}
.subscribe-continue-article .table-price th,
.subscribe-continue-article .table-price td,
.subscribe-continue-article .table-select th,
.subscribe-continue-article .table-select td {
  text-align: left;
  padding: 10px 20px;
}
.subscribe-continue-article .table-price th {
  width: 120px;
}
.subscribe-continue-article .table-price td {
  font-size: 30px;
  font-weight: bold;
}

.subscribe-continue-article .table-select {
  border-top: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
  width: 100%;
  margin-top: 20px;
}

.subscribe-continue-article .table-select th,
.subscribe-continue-article .table-select td {
  vertical-align: top;
}
.subscribe-continue-article .table-select th {
  width: 140px;
}

.subscribe-continue-article .table-select label {
  display: block;
}

.subscribe-continue-article .btn {
  width: 100%;
}
.subscribe-continue-article .btn-wrap {
  margin-top: 20px;
}

.subscribe-continue-article .table-select .list {
  font-size: 0;
}
.subscribe-continue-article .table-select .list > li {
  display: inline-block;
  font-size: 14px;
  margin-right: 20px;
  vertical-align: middle;
}


/*------------------------------------------------------------------------------
  hotword
------------------------------------------------------------------------------*/
.hotword-title-wrap {
  font-size: 0;
  margin-bottom: 17px;
}
.hotword-title-wrap > * {
  display: inline-block;
  vertical-align: middle;
}
.hotword-title-wrap .item {
  font-size: 17px;
}
.hotword-title-wrap .title {
  font-size: 28px;
  font-weight: bold;
}

.hotword-caption {
  font-size: 14px;
  text-align: justify;
  line-height: 1.86;
}

.hotword-list-block {
  padding: 24px 0 30px;
}
.hotword-list-block + .hotword-list-block {
  padding: 40px 0 30px;
}
.hotword-list-block:last-of-type {
  padding-bottom: 100px;
}
.hotword-list-block.bg {
  background-color: #f8f8f8;
}

.hotword-list a {
  display: block;
}
.hotword-list .img {
  position: relative;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  outline: 1px solid #ccc;
  position: relative;
  width: 100%;
  height: 200px;
}
.hotword-list .body {
  margin-top: 13px;
}
.hotword-list .title {
  font-size: 14px;
  line-height: 1.86;
  text-align: justify;
}


@media screen and (min-width: 751px) {
  .hotword-list > li {
    float: left;
    width: 328px;
    margin-right: 20px;
  }
  .hotword-list > li:nth-child(3n) {
    margin-right: 0;
  }
  .hotword-list > li:nth-child(3n+1) {
    clear: both;
  }
  .hotword-list > li:nth-child(n+4) {
    margin-top: 18px;
  }
  .hotword-list .img::after {
    content: '';
    border: 4px solid transparent;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    pointer-events: none;
    z-index: 19;
    -webkit-transition: border-color 0.2s ease-in-out;
    transition: border-color 0.2s ease-in-out;
  }
  .hotword-list a:hover .img::after {
    border-color: #ccc;
  }
}





/*------------------------------------------------------------------------------
  web
------------------------------------------------------------------------------*/
@media screen and (min-width: 751px) {
  .web.magazine-block .title {
    margin-bottom: 0;
  }
  .web.magazine-list a {
    padding-top: 30px;
  }
  .web.magazine-list .img {
    height: auto;
  }
  .web.magazine-list .img img {
    width: 100%;
    height: auto;
  }
  .web.magazine-list .logo {
    margin-bottom: 20px;
  }
  .web.magazine-list .logo img {
    width: auto;
    height: 100%;
  }
}

.webmedia-wrap .magazine-webmedia-box .text {
  line-height: 2.14;
}

.webmedia-container {
  padding: 70px 0 60px;
  margin-top: 100px;
  line-height: 1.6;
  text-align: justify;
}
.webmedia-container > img {
  width: 100%;
}
.webmedia-container > img + img {
  margin-top: 30px;
}

.webmedia-detail-block {
  padding: 45px 0 80px;
}
.webmedia-detail-block .current-issue {
  margin-bottom: 100px;
}
.webmedia-more-block {
  position: relative;
  padding-bottom: 100px;
  z-index: 0;
}
.webmedia-more-block::after {
  content: '';
  background-color: #f7f7f7;
  position: absolute;
  top: 200px;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: -1;
  pointer-events: none;
}


/*------------------------------------------------------------------------------
  bookmook
------------------------------------------------------------------------------*/
.bookmook-title-wrap {
  position: relative;
}
.bookmook-head-block {
  padding-bottom: 40px;
}
.bookmook-head-box {
  padding: 20px 20px 30px;
}
.bookmook-head-box .title {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 20px;
}

.bookmook-head-box .inputarea01 {
  margin-bottom: 15px;
}
.bookmook-head-box .inputarea01 > * {
  float: left;
  width: 728px;
}
.bookmook-head-box .inputarea01 > * + * {
  float: right;
  width: 246px;
}
.bookmook-head-box .inputarea01 select {
  font-size: 16px;
  width: 100%;
}

.bookmook-head-box .inputarea02 {
  font-size: 0;
}
.bookmook-head-box .inputarea02 > * {
  display: inline-block;
  vertical-align: middle;
}
.bookmook-head-box .inputarea02 > .text {
  font-size: 16px;
  padding-right: 13px;
}
.bookmook-head-box .box {
  font-size: 0;
}
.bookmook-head-box .box + .box {
  padding-left: 8px;
}
.bookmook-head-box .box > span {
  display: inline-block;
  vertical-align: middle;
}
.bookmook-head-box .box .text {
  font-size: 16px;
  padding-left: 10px;
}
.bookmook-head-box .box > .s01 {
  width: 146px;
}
.bookmook-head-box .box > .s02 {
  width: 96px;
}
.bookmook-head-box .box select {
  font-size: 16px;
  width: 100%;
}

.bookmook-head-box .btn-wrap {
  margin-top: 30px;
  text-align: center;
}
.bookmook-head-box .btn {
  padding: 10px 0;
}
.ie .bookmook-head-box .btn {
  padding: 16px 0;
}
.bookmook-head-box .btn > span {
  position: relative;
  display: inline-block;
  padding: 0 40px;
}
.bookmook-head-box .btn > span::before,
.bookmook-head-box .btn > span::after {
  content: '';
  background:url(../img/common/icon_search-wt.svg) no-repeat;
  background-size: contain;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 2px;
  margin: auto;
  width: 19px;
  height: 19px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.bookmook-head-box .btn > span::after {
  background-image: url(../img/common/icon_search.svg);
  opacity: 0;
}

@media screen and (min-width: 751px) {
  .bookmook-head-box .btn:hover {
    opacity: 1;
  }
  .bookmook-head-box .btn:hover > span::before {
    opacity: 0;
  }
  .bookmook-head-box .btn:hover > span::after {
    opacity: 1;
  }
}


.bookmook-item {
  display: block;
  outline: none;
  padding: 1px;
}
.bookmook-item > .img-wrap {
  width: 170px;
  margin: 0 auto;
}

.bookmook-item .body {
  margin-top: 15px;
  text-align: justify;
}
.bookmook-item .title {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 8px;
}
.bookmook-item .text {
  font-size: 14px;
  line-height: 1.71;
}

.bookmook-new-block {
  background-color: #f8f8f8;
  padding: 100px 0 70px;
}
.bookmook-new-btnwrap > .btn {
  width: 350px;
  padding-right: 0;
}

.bookmook-ranking-block {
  background-color: #eee;
  padding: 100px 0 70px;
}
.bookmook-ranking-box + .bookmook-ranking-box {
  margin-top: 70px;
}


.bookmook-add-block {
  background-color: #f8f8f8;
  padding: 100px 0;
}
.bookmook-add-box {
  padding: 40px 39px;
}
.bookmook-add-box + .bookmook-add-box {
  margin-top: 40px;
}
.bookmook-add-box > .title {
  border-bottom: 1px solid #000;
  font-size: 24px;
  font-weight: bold;
  padding-bottom: 12px;
  margin-bottom: 50px;
}
.bookmook-add-box > .title.mb {
  margin-bottom: 28px;
}
.bookmook-add-box .bookmook-item > .img-wrap {
  width: 100%;
}
.bookmook-add-box .bookmook-item .title {
  font-size: 15px;
  line-height: 1.67;
  margin-bottom: 10px;
}
.bookmook-add-box .bookmook-item .text {
  line-height: 1.57;
}
.bookmook-add-box:not(.sapix) .col-style a {
  outline: none;
}

.ie .bookmook-add-box .bookmook-btn-wrap > a {
  padding-top: 19px;
  padding-bottom: 15px;
}

.bookmook-add-list > li {
  width: 300px;
  float: left;
}
.bookmook-add-list > li + li {
  margin-left: 22px;
}
.bookmook-add-list > li:nth-child(3n+1) {
  margin-left: 0;
}
.bookmook-add-list .img-wrap {
  border: 1px solid #c9c9c9;
  width: 100%;
  height: 140px;
}
.bookmook-add-list .img-table,
.bookmook-add-list .img-table-inner {
  display: block;
  height: 100%;
}
.bookmook-add-list .img {
  width: 100%;
  height: 100%;
  display: block;
}
.bookmook-add-list .img img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}
.bookmook-add-list .title {
  font-size: 16px;
  font-weight: bold;
  margin-top: 20px;
}

.bookmook-btn-wrap {
  font-size: 0;
  text-align: center;
  margin-top: 45px;
}
.bookmook-btn-wrap > a {
  width: 350px;
  padding-right: 0;
  padding-right: 10px;
}
.bookmook-btn-wrap > a + a {
  margin-left: 40px;
}


.bookmook-search-block {
  background-color: #f8f8f8;
  padding: 40px 0 100px;
}
.bookmook-search-title {
  border-bottom: 1px solid #000;
  font-size: 24px;
  padding-bottom: 12px;
  margin-bottom: 50px;
}
.bookmook-search-title > span {
  font-size: 36px;
  font-weight: bold;
}

.bookmook-search-block .bookmook-title-wrap {
  padding-top: 12px;
}
.bookmook-search-form {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  height: 40px;
}
.bookmook-search-form ul {
  font-size: 0;
}
.bookmook-search-form ul > li {
  display: inline-block;
  vertical-align: middle;
}
.bookmook-search-form ul > li + li {
  margin-left: 20px;
}
.bookmook-search-form ul > li.btn02 {
  position: relative;
  padding-left: 20px;
}
.bookmook-search-form ul > li.btn02::before {
  content: '';
  background-color: #333;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 1px;
  height: 14px;
}


.bookmook-search-form .select select {
  width: 246px;
  padding-left: 20px;
  padding-right: 20px;
}
.bookmook-search-form .btn {
  position: relative;
  display: block;
  font-size: 14px;
  padding: 5px 0;
}
.bookmook-search-form .btn::before,
.bookmook-search-form .btn::after {
  content: '';
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  -webkit-transition: opacity 0.2s ease-in-out;
  transition: opacity 0.2s ease-in-out;
}
.bookmook-search-form .list {
  padding-left: 28px;
}
.bookmook-search-form .list::before,
.bookmook-search-form .list::after {
  width: 20px;
  height: 20px;
}
.bookmook-search-form .list::before {
  background-image: url(../img/common/icon_list.svg);
}
.bookmook-search-form .list::after {
  background-image: url(../img/common/icon_list-current.svg);
  opacity: 0;
}
.bookmook-search-form .detail {
  padding-left: 34px;
}
.bookmook-search-form .detail::before,
.bookmook-search-form .detail::after {
  width: 24px;
  height: 20px;
}
.bookmook-search-form .detail::before {
  background-image: url(../img/common/icon_detail.svg);
}
.bookmook-search-form .detail::after {
  background-image: url(../img/common/icon_detail-current.svg);
  opacity: 0;
}

.ie .bookmook-search-form .btn {
  padding: 7px 0 3px;
}
.ie .bookmook-search-form .btn.list {
  padding-left: 28px;
}
.ie .bookmook-search-form .detail {
  padding-left: 34px;
}

.bookmook-search-form .btn.current {
  color: #f16767;
  pointer-events: none;
}
.bookmook-search-form .btn.current::before {
  opacity: 0;
}
.bookmook-search-form .btn.current::after {
  opacity: 1;
}

@media screen and (min-width: 751px) {
  .bookmook-search-form .btn {
    -webkit-transition-property: color;
    transition-property: color;
  }
  .bookmook-search-form .btn:hover {
    color: #f16767;
    opacity: 1;
  }
  .bookmook-search-form .btn:hover::before {
    opacity: 0;
  }
  .bookmook-search-form .btn:hover::after {
    opacity: 1;
  }
}

.bookmook-search-detail {
  background-color: #fff;
}
.bookmook-search-detail > li {
  padding: 20px;
}
.bookmook-search-detail > li + li {
  border-top: 1px solid #e5e5e5;
}

.bookmook-search-detail .head-wrap {
  float: left;
  width: calc(100% - 250px);
}
.bookmook-search-detail .img-wrap {
  float: left;
  width: 180px;
}
.bookmook-search-detail .img-wrap > img {
  width: 100%;
}
.bookmook-search-detail .detail-wrap {
  float: right;
  width: calc(100% - 180px);
  padding: 0 20px;
}

.bookmook-search-detail .title {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 7px;
}
.bookmook-search-detail .author {
  font-size: 16px;
  line-height: 1.63;
  margin-bottom: 11px;
}
.bookmook-search-detail .text {
  font-size: 14px;
  text-align: justify;
  line-height: 1.71;
}

.bookmook-search-detail .body-wrap {
  float: right;
  width: 250px;
}

.bookmook-search-detail .data {
  border: 1px solid #e5e5e5;
  background-color: #fff;
  padding: 10px;
}
.bookmook-search-detail .data > li {
  color: #696969;
  padding: 8px 10px;
}
.bookmook-search-detail .data > li:nth-child(2n+1) {
  background-color: #f8f8f8;
}

.bookmook-search-detail .btn-wrap {
  margin-top: 10px;
}
.bookmook-search-detail .btn {
  font-size: 16px;
  min-width: 100%;
  padding: 14px 0;
  padding-right: 10px;
}
.ie .bookmook-search-detail .btn {
  padding: 16px 0 12px;
  padding-right: 10px;
}


/*------------------------------------------------------------------------------
  bookmook-detail
------------------------------------------------------------------------------*/
.bookmook-detail-head-block .title-wrap {
  padding-bottom: 40px;
}
.bookmook-detail-head-block .main-wrap {
  background-color: #f8f8f8;
  padding: 50px 0;
}

.bookmook-detail-title {
  font-size: 30px;
  font-weight: bold;
}
.bookmook-detail-title > span {
  display: block;
  font-size: 14px;
  font-weight: normal;
  margin-top: 19px;
}



@media screen and (min-width: 751px) {
  .bookmook-detail-data > .media {
    float: left;
    width: 360px;
  }
  .bookmook-detail-data > .body {
    float: left;
    width: calc(100% - 360px);
    padding-left: 40px;
  }
}

.bookmook-detail-data .img-list {
  width: 100%;
  overflow: hidden;
}
.bookmook-detail-data .img-list li {
  display: -webkit-flex;
  display: -ms-flex;
  display: flex !important;
  -webkit-align-items: center;
  -ms-align-items: center;
  align-items: center;
  vertical-align: top;
  height: 460px;
}
.bookmook-detail-data .img-list li > img {
  width: auto;
  max-width: 360px;
  max-height: 100%;
  margin: 0 auto;
}
.bookmook-detail-data .thumbnail-list {
  margin-top: 20px;
}
.bookmook-detail-data .thumbnail-list li {
  float: left;
  width: 113px;
  margin-right: 10.5px;
}
.bookmook-detail-data .thumbnail-list a {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  display: block;
  border: 1px solid #e0e0e0;
  padding-top: 100%;
}
.bookmook-detail-data .thumbnail-list a.current {
  opacity: 0.6;
  pointer-events: none;
}
.bookmook-detail-data .thumbnail-list a.current::before {
  border-color: #ccc;
}
@media screen and (min-width: 751px) {
  .bookmook-detail-data .thumbnail-list li:nth-child(3n) {
    margin-right: 0;
  }
  .bookmook-detail-data .thumbnail-list li:nth-child(n+4) {
    margin-top: 10.5px;
  }
}

.bookmook-detail-body-top {
  position: relative;
  min-height: 24px;
  margin-bottom: 20px;
}
.bookmook-detail-body-top .sns {
  position: absolute;
  top: 0;
  right: 0;
}
.bookmook-detail-body-top .sns > li + li {
  margin-left: 20px;
}

.bookmook-detail-body-top .author {
  font-size: 0;
}
.bookmook-detail-body-top .author > li {
  display: inline-block;
  font-size: 14px;
  font-weight: bold;
}
.bookmook-detail-body-top .author > li + li {
  margin-left: 30px;
}
.bookmook-detail-body-top .author a {
  text-decoration: underline;
}


.bookmook-detail-body-textwrap {
  margin-bottom: 30px;
}
.bookmook-detail-body-textwrap .wrap {
  position: relative;
  height: 65px;
  overflow: hidden;
  z-index: 0;
}
.bookmook-detail-body-textwrap .wrap::after {
  content: '';
  background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0), #f8f8f8);
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 46px;
  z-index: 1;
  pointer-events: none;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.bookmook-detail-body-textwrap .wrap.is-open::after {
  opacity: 0;
}
.bookmook-detail-body-textwrap .text {
  font-size: 14px;
  line-height: 1.71;
  text-align: justify;
}

.bookmook-detail-body-textwrap .btn {
  text-align: center;
  margin-top: 15px;
}
.bookmook-detail-body-textwrap .btn > a {
  position: relative;
  display: inline-block;
  font-size: 14px;
  font-weight: bold;
  padding-right: 16px;
}
.bookmook-detail-body-textwrap .btn > a::after {
  content: '';
  background: url(../img/common/arrow_bottom-blk.svg) no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  width: 8px;
  height: 5px;
}

.ie .bookmook-detail-body-textwrap .btn > a::after {
  -webkit-background-size: cover;
  background-size: cover;
}

.bookmook-detail-body-textwrap .btn > a.is-open::after {
  transform: scaleY(-1);
}
@media screen and (min-width: 751px) {
  .bookmook-detail-body-textwrap .btn > a:hover {
    opacity: 1;
  }
}

.bookmook-detail-body-info {
  border-top: 1px solid  #e5e5e5;
  border-bottom: 1px solid  #e5e5e5;
  margin-bottom: 30px;
}
.bookmook-detail-body-info > .box {
  float: left;
  width: 50%;
  padding: 30px 20px;
}
.bookmook-detail-body-info > .box li {
  font-size: 14px;
  line-height: 2;
}
.bookmook-detail-body-info > .box li a {
  text-decoration: underline;
}

.bookmook-detail-body-btn {
  padding-top: 0;
  text-align: center;
  margin-bottom: 50px;
}

.bookmook-detail-body-shop > .title {
  position: relative;
  font-size: 24px;
  font-weight: bold;
  padding-left: 33px;
  margin-bottom: 28px;
}
.bookmook-detail-body-shop > .title::before {
  content: '';
  background: url(../img/common/icon_cart.svg) no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 24px;
  height: 25px;
}
.bookmook-detail-body-shop .list li {
  float: left;
  width: 154px;
}
.bookmook-detail-body-shop .list li + li {
  margin-left: 5.3333px;
}
.bookmook-detail-body-shop .list a {
  display: block;
  text-align: center;
}

@media screen and (min-width: 751px) {
  .bookmook-detail-body-shop .list li:nth-child(4n+1) {
    margin-left: 0;
  }
  .bookmook-detail-body-shop .list li:nth-child(n+5) {
    margin-top: 5.3333px;
  }
}


.bookmook-detail-main-block {
  padding: 50px 0;
}
.bookmook-detail-main-container > .box {
  border-top: 2px solid #ccc;
  border-bottom: 2px solid #ccc;
  padding: 40px 20px;
}
.bookmook-detail-main-container > .box + .box {
  border-top: none;
  border-bottom: 2px solid #ccc;
}
.bookmook-detail-main-container > .box > *:last-child {
  margin-bottom: 0;
}
.bookmook-detail-main-container img {
  outline: 1px solid #e0e0e0
}
#wrapper .bookmook-detail-main-container > .up > div +div,
#wrapper .bookmook-detail-main-container > .down > div + div {
  margin-top: 30px;
}

@media screen and (min-width: 751px) {
  .bookmook-detail-main-container > .left::before,
  .bookmook-detail-main-container > .left::after,
  .bookmook-detail-main-container > .right::before,
  .bookmook-detail-main-container > .right::after {
    content: '';
    display: table;
  }
  .bookmook-detail-main-container > .left::after,
  .bookmook-detail-main-container > .right::after {
    clear: both;
  }

  .bookmook-detail-main-container > .right > div {
    float: left;
    width: calc(100% - 270px);
    padding-right: 45px;
  }
  .bookmook-detail-main-container > .right > div + div {
    float: right;
    width: 270px;
    padding-right: 0;
  }
  .bookmook-detail-main-container > .left > div {
    float: left;
    width: 270px;
  }
  .bookmook-detail-main-container > .left > div + div {
    float: right;
    width: calc(100% - 270px);
    padding-left: 45px;
  }

  .bookmook-detail-main-container > .up > div:first-child,
  .bookmook-detail-main-container > .down > div + div {
    max-width: 50%;
    margin: auto;
  }
}

.bookmook-detail-main-container .zoom {
  position: relative;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  outline: 1px solid #e0e0e0;
  position: relative;
  display: block;
  padding-top: 100%;
}
.bookmook-detail-main-container .zoom.large {
  padding-top: 116.8224%;
}
.bookmook-detail-main-container .zoom::after {
  content: '';
  background: url(../img/common/icon_zoom.svg) no-repeat;
  background-size: contain;
  position: absolute;
  bottom: 15px;
  right: 15px;
  width: 24px;
  height: 24px;
}


.bookmook-detail-main-container h2 {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 28px;
  text-align: justify;
}
.bookmook-detail-main-container p {
  font-size: 16px;
  line-height: 1.75;
  text-align: justify;
}
.bookmook-detail-main-container p + p {
  margin-top: calc(1em * 1.75);
}

.bookmook-detail-main-container .c01 {
  color: #e61774;
  font-weight: bold;
}
.bookmook-detail-main-container .c02 {
  color: #397af0;
  font-weight: bold;
}
.bookmook-detail-main-container .c03 {
  color: #ff7a32;
  font-weight: bold;
}
.bookmook-detail-main-container .c04 {
  color: #12d27a;
  font-weight: bold;
}
.bookmook-detail-main-container .c01 + p,
.bookmook-detail-main-container .c02 + p,
.bookmook-detail-main-container .c03 + p,
.bookmook-detail-main-container .c04 + p {
  margin-top: 0;
}

.bookmook-detail-main-container .thumb {
  width: 43.5%;
  margin: 50px auto;
}

.bookmook-detail-main-container .series .list li {
  padding: 0 10px;
  vertical-align: top;
}
.bookmook-detail-main-container .series .img-wrap {
  width: auto;
  max-width: 90%;
}
.bookmook-detail-main-container .series .body {
  margin-top: 20px;
  padding: 0 10px;
}

.bookmook-detail-main-container .media .movie {
  position: relative;
  padding-top: 56.25%;
}
.bookmook-detail-main-container .media .movie > iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.bookmook-detail-main-container .media .copy {
  font-size: 12px;
  margin-top: 20px;
}

.bookmook-detail-main-container .author h2 {
  position: relative;
  padding-left: 35px;
}
.bookmook-detail-main-container .author h2::before {
  content: '';
  background: url(../img/common/icon_people.svg) no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 25px;
  height: 26px;
}

.ie .bookmook-detail-main-container .author h2::before {
  background-size: cover;
}

.bookmook-detail-main-container .author h3 {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.75;
  margin-bottom: 10px;
}
.bookmook-detail-main-container .author p {
  font-size: 16px;
  line-height: 1.75;
}
.bookmook-detail-main-container .author p + h3 {
  margin-top: 15px;
}


.bookmook-detail-after-block {
  background-color: #f8f8f8;
  padding: 50px 0 100px;
}
.bookmook-detail-after-title {
  border: none;
  position: relative;
  font-size: 24px;
  font-weight: bold;
  padding-bottom: 0;
  padding-left: 35px;
  margin-bottom: 30px;
}
.bookmook-detail-after-title::before {
  content: '';
  background: url(../img/common/icon_book02.svg) no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
  width: 24px;
  height: 30px;
}
.bookmook-detail-author-list li {
  padding: 0 10px;
}

.after-sns-wrap {
  text-align: center;
}
.after-sns-wrap img {
  outline: none !important;
}


/*------------------------------------------------------------------------------
  company
------------------------------------------------------------------------------*/
.company-block {
  padding-bottom: 35px;
}

.company-select > select {
  width: 280px;
  padding: 12px 20px;
}

.company-main-block {
  padding: 20px 0 100px;
}

.company-table {
  border-top: 1px solid #e5e5e5;
  width: 100%;
}
.company-table th,
.company-table td {
  font-size: 16px;
  padding: 22px 20px;
  text-align: justify;
  vertical-align: top;
  line-height: 2;
}
.company-table tr {
  border-bottom: 1px solid #e5e5e5;
}
.company-table th {
  width: 185px;
}
.company-table .inner {
  position: relative;
}
.company-table .btn-wrap {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  width: 200px;
  height: 40px;
}
.company-table .box + .box {
  margin-top: 22px;
}
.company-table .title {
  font-size: 16px;
  font-weight: bold;
}

.company-lang-wrap {
  background-color: #f8f8f8;
  display: inline-block;
  padding: 13px 10px;
}
.company-lang-wrap > p {
  font-size: 32px;
  font-weight: bold;
}
.company-lang-wrap > p > span {
  font-size: 18px;
  display: block;
  margin-top: 5px;
}

.company-magazine {
  padding-top: 40px;
}
.company-magazine-title {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 25px;
}
.company-magazine .list > li {
  border: 1px solid #ccc;
  padding: 20px;
  /* width: 328px; */
  width: 100%;
  float: left;
}
.company-magazine .list > li + li {
  margin-left: 20px;
}

.company-magazine .logo {
  text-align: center;
  margin-bottom: 22px;
}
.company-magazine .title {
  font-size: 20px;
  text-align: center;
  line-height: 1.3;
  margin-bottom: 12px;
  padding-top: 66px;
}
.company-magazine .logo + .title {
  padding-top: 0;
}
.company-magazine .text {
  font-size: 14px;
  text-align: justify;
  line-height: 1.71;
}

@media screen and (min-width: 751px) {
  .company-magazine .list > li:nth-child(3n+1) {
    clear: both;
    margin-left: 0;
  }
  .company-magazine .list > li:nth-child(n+4) {
    margin-top: 20px;
  }
}


.company-history-list > li {
  position: relative;
  z-index: 1;
}
.company-history-list > li::after {
  content: '';
  background-color: #e5e5e5;
  position: absolute;
  top: 0;
  left: 212px;
  width: 1px;
  height: 100%;
  z-index: 0;
}

@media screen and (min-width: 751px) {
  .company-history-list > li:first-child::after {
    top: 50%;
    height: 50%;
  }
  .company-history-list > li:last-child .company-history-item {
    padding-bottom: 22px;
  }
}

.company-history-item {
  position: relative;
  padding: 22px 0;
}

.company-history-item.img-wrap {
  padding: 15px 0;
}
.company-history-item .date {
  font-size: 24px;
  font-weight: bold;
  width: 206px;
  line-height: 32px;
}
.company-history-item .date > span {
  font-size: 18px;
}

@media screen and (min-width: 751px) {
  .company-history-item {
    display: table;
    width: 100%;
  }
  .company-history-item > * {
    display: table-cell;
    vertical-align: middle;
  }
  .company-history-item > .inner {
    padding-right: 140px;
  }
  .company-history-item.img-wrap {
    min-height: 151px;
  }
  .company-history-item.img-wrap > .inner {
    width: calc(100% - 120px);
    padding-right: 20px;
  }
  .company-history-item .img {
    width: 120px;
    text-align: right;
  }
  .company-history-item .colwrap {
    display: table;
    width: 100%;
  }
  .company-history-item .colwrap > * {
    display: table-cell;
    vertical-align: top;
  }
}


.company-history-child-list > li {
  position: relative;
  padding-left: 40px;
  z-index: 1;
}
.company-history-child-list > li::before {
  content: '';
  background-color: #f16767;
  border-radius: 50%;
  position: absolute;
  top: 0.6em;
  left: 0;
  width: 13px;
  height: 13px;
  z-index: 2;
}
.company-history-child-list > li + li {
  margin-top: 15px;
}
.company-history-child-list .inner {
  position: relative;
}
.company-history-child-list .inner > * {
  font-size: 16px;
  line-height: 2;
}
.company-history-child-list .inner > .month {
  position: absolute;
  top: 0;
  left: 0;
  font-weight: bold;
}
.company-history-child-list .inner > .text {
  padding-left: 3em;
  text-align: justify;
}

.company-back-btn-wrap {
  text-align: center;
  margin-top: 15px;
}
.company-back-btn-wrap.mt {
  margin-top: 40px;
}

.company-access-block {
  padding: 25px 0 100px;
}
.company-access-col .iframe {
  border: 1px solid #e0e0e0;
  position: relative;
  padding-top: 73.8054%;
}
.company-access-col .iframe > iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.company-access-col .address {
  font-size: 16px;
  line-height: 1.6;
  padding: 0 20px 25px;
}
.company-access-col .list {
  border-top: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
  padding: 30px 20px;
}
.company-access-col .list > li {
  font-size: 14px;
  line-height: 1.6;
}
.company-access-col .list > li + li {
  margin-top: 2.1em;
}

.company-access-col .btn-wrap {
  width: 200px;
  margin-left: auto;
  margin-top: 15px;
}


@media screen and (min-width: 751px) {
  .company-access-col {
    display: table;
    width: 100%;
  }
  .company-access-col > * {
    display: table-cell;
    vertical-align: middle;
  }
  .company-access-col > .left {
    width: 565px;
  }
  .company-access-col > .right {
    width: calc(100% - 565px);
    padding-left: 60px;
    padding-bottom: 55px;
  }
}


.company-organization-block {
  padding: 25px 0 100px;
}
.company-organization-wrap {
  position: relative;
  z-index: 0;
}
.company-organization-wrap > .date {
  font-size: 14px;
  font-weight: bold;
  position: absolute;
  top: 0;
  right: 0;
}

.company-organization-wrap .bd-column {
  position: relative;
  z-index: 0;
}
.company-organization-wrap .bd-column::before {
  content: '';
  background-color: #626262;
  position: absolute;
  top: 50%;
  right: 100%;
  margin-top: -0.5px;
  width: 140px;
  height: 1px;
  z-index: -1;
}
.company-organization-wrap .bd-column .leon-li01 {
  position: relative;
  width: 200px;
  margin-left: 15px;
}
.company-organization-wrap .bd-column .leon-li01:before {
  content: '';
  background-color: #626262;
  position: absolute;
  top: 50%;
  right: 100%;
  margin-top: -0.5px;
  width: 140px;
  height: 1px;
  z-index: -1;
}
.company-organization-wrap .bd-row {
  position: relative;
  z-index: 0;
}
.company-organization-wrap .bd-row::after {
  content: '';
  background-color: #626262;
  position: absolute;
  top: 0;
  left: 100px;
  width: 1px;
  height: 100%;
  z-index: -1;
}
.company-organization-wrap .bor01-1016 .bd-row::after {
  left: 200px;
}
.company-organization-wrap .bor01-1016 .bd-column::before {
  width: 40px;
}

.company-organization-wrap .bd-row.end::after {
  height: calc(100% - (137px / 2));
}
.company-organization-wrap .bd-row.end.no-h2::after {
  height: calc(100% - (106px / 2));
}
.company-organization-wrap .bor02-1016.bd-row.end::after {
  height: calc(100% - (157px / 2));
}

.company-organization-wrap .bd-row.all-bor-1016:after {
  height: calc(100% - (297px / 2));
}
.company-organization-container .list-size1016 .list-item:nth-child(3n) {
  margin-right: 7px;
}
.company-organization-wrap .bor02-1016.bd-row.end.bor02-end::after {
  height: calc(100% - (79px / 2));
}
.company-organization-wrap .bd-row.all-bor-1016.bd-end:after {
  height: calc(100% - (1158px / 2));
}
.company-organization-wrap .bor02-1016.bd-row.end.bd-end::after {
  height: calc(100% - (156px / 2));
}

.company-organization-container > * + * {
  padding-top: 30px;
}
.company-organization-container > * + *.pt {
  padding-top: 40px;
}
.company-organization-container > * + *.pt02 {
  padding-top: 60px;
}
.company-organization-container .type01 {
  font-size: 0;
}
.company-organization-container .type02 {
  padding-left: 240px;
}
.company-organization-container .type02.pd-1016 {
  padding-left: 480px;
}
.company-organization-container .type02.pd02-1016 {
  padding-left: 300px;
} 
.company-organization-container .type02.pd-1016 .bd-column::before {
  width: 380px;
}
.company-organization-container .type02.pd-1016 .list-item.sml-1016 {
  margin-top: 7px;
}

.company-organization-container .type03 {
  padding-top: 0;
  padding-left: 240px;
}
.company-organization-container .type03 > * {
  padding-top: 40px;
}

.company-organization-container .type-inner {
  background-color: #f8f8f8;
  padding: 30px 25px;
}
.company-organization-container .type-inner.pd {
  padding-left: 28px;
  padding-right: 28px;
}

.company-organization-container .inner-wrap > * + * {
  padding-top: 40px;
}

.company-organization-container .item {
  display: inline-block;
  width: 200px;
  background-color: #626262;
  border: 1px solid #626262;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  padding: 18px 0 16px;
  text-align: center;
}
.company-organization-container .item.bg {
  background-color: #fff;
  color: #232323;
}
.company-organization-container .item + .item {
  margin-left: 40px;
}

.company-organization-container .item02 {
  background-color: #f8f8f8;
  font-size: 16px;
  font-weight: bold;
  width: 270px;
  padding: 19px 0 17px;
  text-align: center;
}

.company-organization-container .part {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 30px;
}
.company-organization-container .part.no-margin {
  margin: 0;
}

.company-organization-container .list,
.company-organization-container .list02 {
  font-size: 0;
}
.company-organization-container .list-item {
  background-color: #fff;
  border: 1px solid #e5e5e5;
  font-size: 14px;
  font-weight: bold;
  display: inline-block;
  width: 240px;
  margin-right: 7px;
  padding: 16px 20px;
}
.company-organization-container .list-item.small {
  font-size: 12px;
}

@media screen and (min-width: 751px) {
  .company-organization-container .list > li:nth-child(3n),
  .company-organization-container .list02 > li:nth-child(2n) {
    margin-right: 0;
  }
  .company-organization-container .list > li:nth-child(n+4),
  .company-organization-container .list02 > li:nth-child(n+3) {
    margin-top: 10px;
  }
}



.company-block.ch .title-standard-wrap > .title > .en {
  font-weight: bold;
}
.company-block.ch .title-standard-wrap > .title > .en.inherit {
  font-family: inherit;
}


/*------------------------------------------------------------------------------
  bookstore
------------------------------------------------------------------------------*/
.bookstore-topics-block {
  background-color: #f8f8f8;
  padding: 50px 0;
}
.bookstore-topics-block.pb {
  padding-bottom: 100px;
}

.bookstore-topics-block .c-title05 {
  margin-bottom: 40px;
}
.bookstore-topics-block .c-title05::before {
  content: none;
}

.magazine-block.bookstore {
  padding-bottom: 20px;
}

.title-read {
  line-height: 1.8;
  margin: 20px 0 0;
}

.title-read .title {
  font-weight: bold;
}

.important-news-box {
  background: #fff;
  border: 1px solid #f16767;
  margin: 0 0 20px;
  padding: 20px 20px 1px;
}

.important-news-box .important-mark {
  background: #f16767;
  color: #fff;
  display: inline-block;
  font-size: 14px;
  margin: 0 0 -5px;
  letter-spacing: 7px;
  text-indent: 10px;
  text-align: center;
  width: 108px;
  height: 30px;
  line-height: 30px;
}
@media screen and (min-width: 751px) {
  .important-news-box .important-mark.ads {
    width: auto;
    letter-spacing: 0.1em;
    text-indent: 0;
    padding: 0 20px;
  }
}

.important-news-box .topics-list {
  border-top: none;
}

.important-news-box .topics-list a {
  padding: 20px 0;
}

.important-news-box .topics-list li:last-child {
  border-bottom: none;
}

.important-news-box .topics-list .title {
  display: inline-block;
}

.important-news-box .topics-list .title-side-date {
  font-weight: bold;
  margin: 0 0 0 10px;
}

.bookstore-topics-block .topics-list {
  border-top: none;
}

.bookstore-topics-block .topics-meta-area .date {
  color: #232323;
}

.bookstore-topics-block .c-btn03 {
  background: #fff;
}

@media screen and (min-width: 751px) {
  .bookstore-topics-block .c-btn03:hover {
    background: #232323;
  }
}

.bookstore-reprint-block {
  padding: 60px 0 100px;
}

.bookstore-reprint-table-wrap {
  display: table;
  width: 100%;
}

.bookstore-reprint-table-wrap .bookstore-reprint-table {
  display: table-row;
  border: 1px solid #e5e5e5;
  width: 100%;
}

.bookstore-reprint-table .tr-div {
  border: 1px solid #e5e5e5;
  display: table-cell;
}
.bookstore-reprint-table .tr-div + .tr-div {
  border-left: none;
}


.bookstore-reprint-table .th-div {
  background: #f8f8f8;
  border-bottom: 1px solid #e5e5e5;
  display: block;
  font-weight: bold;
  padding: 15px;
  text-align: center;
}

.bookstore-reprint-table .td-div {
  display: block;
  padding: 15px;
  text-align: left;
}

.bookstore-reprint-table .title-td {
  font-weight: bold;
  width: 600px;
  text-align: justify;
}

@media screen and (min-width: 751px) {
  .bookstore-reprint-table .title-td {
    line-height: 1.5;
    padding-top: 12px;
    padding-bottom: 12px;
  }
}

.ie .bookstore-reprint-table .title-td{
  width: 560px;
}

.bookstore-download-block {
  padding: 0 0 100px;
}

.bookstore-download-box {
  background: #f9f9f9;
  border: 1px solid #e5e5e5;
  border-radius: 10px;
  margin: 0 0 0 20px;
  padding: 40px 80px;
  position: relative;
  text-align: center;
}

.bookstore-download-box + .bookstore-download-box {
  margin-top: 40px;
}

.bookstore-download-box .sign {
  background: #232323;
  border-radius: 50%;
  color: #fff;
  position: absolute;
  left: -20px;
  text-align: center;
  top: -10px;
  width: 80px;
  height: 80px;
  line-height: 80px;
}

.bookstore-download-box .title {
  font-size: 20px;
  font-weight: bold;
  margin: 0 0 20px;
}

.bookstore-download-box .read {
  font-size: 16px;
  line-height: 1.5;
  margin: 0 0 40px;
}

.bookstore-download-block .download-link-area a {
  margin: 0 10px;
  padding-left: 0;
  padding-right: 10px;
  width: 350px;
}

@media screen and (min-width: 751px) {
  .bookstore-reprint-table + .bookstore-reprint-table .tr-div {
    border-top: none;
  }
  .bookstore-reprint-table + .bookstore-reprint-table .th-div {
    display: none;
  }
}

.bookstore-pop-block {
  padding: 0 0 100px;
}

.bookstore-pop-ul li {
  border: 1px solid #e0e0e0;
  float: left;
  margin: 0 8px 0 0;
  width: 250px;
}
.bookstore-pop-ul li:nth-child(4n) {
  float: right;
  margin-right: 0;
}
.bookstore-pop-ul li:nth-child(n + 5) {
  margin-top: 20px;
}

.bookstore-pop-ul li .img {
  height: 175px;
  overflow: hidden;
}

.bookstore-pop-ul li .img img {
}

.bookstore-pop-ul li .title {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.5;
  margin: 15px 15px 10px;
}

.bookstore-pop-ul li .download-area {
  margin: 15px;
}
.bookstore-pop-ul li .download-area a {
  border-width: 1px;
  float: left;
  font-size: 14px;
  padding: 15px 10px 15px 0;
  width: 105px;
}
.bookstore-pop-ul li .download-area a + a {
  float: right;
}

.bookstore-pop-ul .download-btn:before,
.bookstore-pop-ul .download-btn:after {
  height: 18px;
  right: 10px;
  width: 18px;
}


/*------------------------------------------------------------------------------
  search
------------------------------------------------------------------------------*/
.search-page-title {
  background: url(../img/common/icon_search.svg) no-repeat left top;
  background-size: 22px;
  border-bottom: 1px solid #232323;
  font-size: 24px;
  font-weight: bold;
  margin: 0 0 20px;
  padding: 0 0 8px 40px;
}

.pop-search-word {
  font-size: 16px;
  font-weight: bold;
}

.pop-search-word .indent {
  display: inline-block;
  margin: 0 10px 10px 0;
  width: 180px;
}

.pop-search-word .pop-search-ul,
.pop-search-word ul {
  display: inline-block;
  width: 820px;
}

.pop-search-word .pop-search-ul li,
.pop-search-word ul li {
  display: inline-block;
  margin: 0 5px;
}

.pop-search-word .pop-search-ul li a,
.pop-search-word ul li a{
  text-decoration: underline;
}

.topics-block.search-block {
  padding: 20px 0 30px;
}

.search-block .topics-title {
  margin: 0
}

#wrapper .search-head-block {
  background: #f8f8f8;
  padding: 30px 0 0;
}

#wrapper .search-main-block {
  background: #f8f8f8;
  padding: 10px 0 100px;
}

.search-head-block .topics-title {
  margin: 0;
  padding: 0 0 40px;
}

.search-head-block .topics-title .category-wrap {
  position: relative;
  top: auto;
  right: auto;
  float: left;
}

.search-head-block  .sort-btn-wrap {
  float: right;
}

.search-head-block .topics-title .category-wrap a {
  background: #fff;
  padding-top: 12px;
  padding-bottom: 12px;
}

.search-head-block .topics-title  .select-category > li.current a {
  background: #232323;
}

.search-head-block .sort-btn-wrap select {
  padding-left: 15px;
  padding-right: 40px;
}

.search-main-block .topics-list {
  background: #fff;
  border-left: 1px solid #e5e5e5;
  border-right: 1px solid #e5e5e5;
}

.search-main-block .topics-list li {
  position: relative;
}

.search-main-block .topics-list .category {
  background: #232323;
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  position: absolute;
  right: 0;
  text-align: center;
  top: 0;
  padding: 10px;
  min-width: 140px;
}

.search-main-block .topics-list .title {
  font-size: 20px;
  padding-right: 140px;
  line-height: 1.5;
}

.search-main-block .topics-list .date {
  display: block;
  margin: 0 0 20px;
}

.search-main-block .topics-list .text {
  font-size: 16px;
}

.search-main-block .topics-list .search-word {
  font-weight: bold;
}

.search-main-block .topics-list .author {
  font-size: 16px;
  line-height: 1.5;
}

.search-main-block .topics-list .description {
  font-size: 16px;
  line-height: 1.5;
}

.search-main-block .topics-list .info-box {
  border: 1px solid #e5e5e5;
  display: inline-block;
  padding: 10px;
  min-width: 250px;
}

.search-main-block .topics-list .info-box dl {
  margin: 0;
  padding: 10px;
}

.search-main-block .topics-list .info-box dl:nth-child(odd) {
  background: #f8f8f8;
}

.search-main-block .topics-list .info-box dt,
.search-main-block .topics-list .info-box dd {
  display: inline-block;
  margin: 0;
}




/*------------------------------------------------------------------------------
  topics
------------------------------------------------------------------------------*/
.topics-block {
  padding: 20px 0 100px;
}
.topics-title {
  position: relative;
  margin-bottom: 40px;
}
.topics-title .category-wrap {
  position: absolute;
  top: 5px;
  right: 0;
}
.post-type-archive-ads_topics .topics-title .category-wrap {
  position: relative;
  top: auto;
  right: auto;
}
.post-type-archive-ads_topics .topics-title .category-wrap li {
  margin-top: 10px;
}
.topics-title .category-wrap a {
  padding-left: 20px;
  padding-right: 20px;
}

@media screen and (min-width: 751px) {
  .topics-title .category-wrap a:hover {
    background-color: #1c1c1c;
    color: #fff;
    opacity: 1;
  }
}


.topics-list {
  border-top: 1px solid #e5e5e5;
}
.topics-list > li {
  border-bottom: 1px solid #e5e5e5;
}
.topics-list > li > a {
  display: block;
  padding: 20px;
}

.topics-list .media {
  float: left;
  width: 180px;
}
.topics-list .img > img {
  width: 100%;
}
.topics-list .body {
  overflow: hidden;
  padding-left: 20px;
}

.topics-meta-area {
  font-size: 0;
  margin-bottom: 15px;
}
.topics-meta-area > * {
  display: inline-block;
  vertical-align: middle;
}
.topics-meta-area > * + * {
  margin-left: 20px;
}
.topics-meta-area .category {
  font-size: 14px;
  font-weight: bold;
  background-color: #1c1c1c;
  color: #fff;
  padding: 6px 20px;
  min-width: 100px;
  text-align: center;
}
.topics-meta-area .date {
  color: #c9c9c9;
  font-size: 16px;
}

.topics-list .title {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.88;
  text-align: justify;
  margin-bottom: 5px;
}

.topics-list .text {
  font-size: 14px;
  line-height: 1.71;
  text-align: justify;
}


/* pagination */
.pagination {
  text-align: right;
  margin-top: 40px;
}
.pagination-list {
  display: inline-block;
  font-size: 0;
}
.pagination-list > li {
  display: inline-block;
  vertical-align: middle;
}
.pagination-list > li + li {
  margin-left: 10px;
}
.pagination-list .item {
  border: 2px solid #e6e6e6;
  background-color: #fff;
  color: #1c1c1c;
  font-size: 15px;
  font-weight: bold;
  display: block;
  width: 30px;
  height: 30px;
  line-height: 26px;
  text-align: center;
  white-space: nowrap;
}
.pagination-list .item.current {
  background-color: #1c1c1c;
  border-color: #1c1c1c;
  color: #fff;
}
.ie .pagination-list .item {
  font-size: 12px;
}
.pagination-list .arrow {
  position: relative;
}
.pagination-list .arrow::before,
.pagination-list .arrow::after {
  content: '';
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 7px;
  height: 12px;
}

.pagination-list .arrow::after {
  opacity: 0;
}

.pagination-list .arrow.prev::before {
  background-image: url(../img/common/arrow_prev.svg);
}
.pagination-list .arrow.prev::after {
  background-image: url(../img/common/arrow_prev-wt.svg);
}

.pagination-list .arrow.next::before {
  background-image: url(../img/common/arrow_next.svg);
}
.pagination-list .arrow.next::after {
  background-image: url(../img/common/arrow_next-wt.svg);
}

@media screen and (min-width: 751px) {
  .pagination-list a.item {
    transition-property:
      background-color,
      border-color,
      color;
  }
  .pagination-list a.item:hover {
    background-color: #1c1c1c;
    border-color: #1c1c1c;
    color: #fff;
    opacity: 1;
  }
  .pagination-list .arrow:hover::before {
    opacity: 0;
  }
  .pagination-list .arrow:hover::after {
    opacity: 1;
  }
}


/* IE調整 */
.ie .topics-list .category {
  padding-top: 8px;
  padding-bottom: 4px;
}
.ie .pagination-list .item {
  line-height: 30px;
}
.ie .topics-title .category-wrap a {
  padding-top: 8px;
  padding-bottom: 4px;
}



.topics-article-head {
  border-bottom: 1px solid #333;
  padding-bottom: 25px;
}
.topics-article-head .title {
  font-size: 30px;
  font-weight: bold;
  line-height: 1.4;
}

.topics-article-body {
  border-bottom: 1px solid #333;
  padding: 40px 0;
}
.topics-article-body .sns-list-wrap {
  text-align: right;
  margin-bottom: 20px;
}


/* topics-article-content */
.topics-article-content {
  line-height: 1.71;
  text-align: justify;
  text-justify: inter-ideograph;
}
.topics-article-content > *:first-child {
  margin-top: 0 !important;
}
.topics-article-content > *:last-child {
  margin-bottom: 0 !important;
}
.topics-article-content h2,
.topics-article-content h3,
.topics-article-content h4,
.topics-article-content h5,
.topics-article-content h6 {
  font-weight: bold;
  line-height: 1.56;
}
.topics-article-content p {
  margin: 40px 0;
}
.topics-article-content p.detail {
  margin-bottom: 20px;
}
.topics-article-content h2 {
  font-size: 24px;
  margin: 30px 0;
}
.topics-article-content h2 + p {
  margin-top: 0;
}
.topics-article-content h3 {
  border-bottom: 1px solid #333;
  font-size: 18px;
  padding-bottom: 17px;
  margin: 55px 0 20px;
}

.topics-article-content h4 {
  border-top: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
  font-size: 16px;
  padding: 14px 0;
  margin: 40px 0;
}

.topics-article-content img {
  display: block;
  margin: 40px auto;
  height: auto;
}

.topics-article-content table {
  border: 1px solid #e5e5e5;
  width: 100%;
  margin: 40px 0;
}
.topics-article-content th,
.topics-article-content td {
  font-size: 14px;
  padding: 15px 20px;
  vertical-align: top;
}
.topics-article-content th {
  font-weight: bold;
}
.topics-article-content thead {
  border-bottom: 1px solid #e5e5e5;
}
.topics-article-content thead tr {
  background-color: #f8f8f8;
  text-align: center;
}

.topics-article-content tbody tr + tr {
  border-top: 1px solid #e5e5e5;
}
.topics-article-content tbody th {
  border-right: 1px solid #e5e5e5;
  width: 250px;
}

.topics-article-content a {
  border-bottom: 1px solid transparent;
  color: #41aed6;
  font-weight: bold;
}

.topics-article-content blockquote {
  background:
    url(../img/common/quote-left.svg) top 20px left 20px no-repeat,
    url(../img/common/quote-right.svg) bottom 20px right 20px no-repeat;
  background-color: #f8f8f8;
  font-size: 14px;
  margin: 40px 0;
  padding: 40px 70px;
}

.topics-article-content .tac {
  text-align: center;
  margin: 40px 0;
}
.topics-article-content .btn {
  position: relative;
  display: inline-block;
  border: 1px solid #131313 !important;
  background-color: #fff;
  color: #1c1c1c;
  font-size: 16px;
  font-weight: bold;
  min-width: 350px;
  padding: 17px 50px;
  text-align: center;
  line-height: 1;
}
.topics-article-content .btn::before,
.topics-article-content .btn::after {
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  margin: auto;
  width: 28px;
  height: 11px;
}
.topics-article-content .btn::before {
  background-image: url(../img/common/arrow_right03.svg);
}
.topics-article-content .btn::after {
  background-image: url(../img/common/arrow_right03-wt.svg);
  opacity: 0;
}


.topics-article-content .box {
  position: relative;
  background-color: #f8f8f8;
  padding: 20px;
  margin: 20px 0;
}
.topics-article-content .box::before,
.topics-article-content .box::after {
  content: '';
  display: table;
}
.topics-article-content .box::after {
  clear: both;
}

.topics-article-content .box img {
  margin: 0;
}
.topics-article-content .box .media {
  float: left;
  width: 170px;
  padding-right: 20px;
}
.topics-article-content .box .body {
  overflow: hidden;
  padding-bottom: 52px;
}
.topics-article-content .box .pb0 {
  padding-bottom: 0 !important;
}
.topics-article-content .box .mb0 {
  margin-bottom: 0 !important;
}

.topics-article-content .box .btn {
  position: absolute;
  bottom: 20px;
  right: 20px;
  min-width: 300px;
}
.topics-article-content .box .btn::before,
.topics-article-content .box .btn::after {
  content: none;
}
.topics-article-content .box h4 {
  padding-bottom: 20px;
}
.topics-article-content .box p {
  margin: 0;
}
.topics-article-content .box p:not(.bold) + p {
  margin-top: 1.71em;
}
.topics-article-content .box p.bold {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.33;
  margin-bottom: 25px;
}


.topics-article-content ul,
.topics-article-content ol {
  list-style: none;
  padding: 0 1.5em;
  margin: 40px 0;
}
.topics-article-content ul > li,
.topics-article-content ol > li {
  position: relative;
  padding-left: 1.4em;
}
.topics-article-content ul > li::before {
  content: '';
  background-color: #232323;
  position: absolute;
  top: 0.4em;
  left: 0;
  width: 10px;
  height: 10px;
}

.topics-article-content ol {
  counter-reset: ol;
}
.topics-article-content ol > li::before {
  counter-increment: ol;
  content: counter(ol) '.';
  font-weight: bold;
  position: absolute;
  top: 0;
  left: 0;
}


.topics-article-content .column {
  margin: 40px 0;
}
.topics-article-content .column::before,
.topics-article-content .column::after {
  content: '';
  display: table;
}
.topics-article-content .column::after {
  clear: both;
}

.topics-article-content .column > * {
  width: 450px;
}
.topics-article-content .column > .left {
  float: left;
}
.topics-article-content .column > .right {
  float: right;
}

.topics-article-content .column img,
.topics-article-content .column p {
  margin: 0;
}
.topics-article-content .column p + p {
  margin-top: 1.71em;
}


@media screen and (min-width: 751px) {
  .topics-article-content a {
    -webkit-transition-property: border;
    transition-property: border;
  }
  .topics-article-content a:hover {
    border-bottom-color: #41aed6;
    opacity: 1;
  }
  .topics-article-content .btn {
    -webkit-transition-property: background-color, color;
    transition-property: background-color, color;
  }
  .topics-article-content .btn:hover {
    background-color: #131313;
    color: #fff;
  }
  .topics-article-content .btn:hover::before {
    opacity: 0;
  }
  .topics-article-content .btn:hover::after {
    opacity: 1;
  }
}


.article-pagination {
  position: relative;
  margin-top: 45px;
  text-align: center;
  padding: 0 180px;
}
.article-pagination > a {
  position: relative;
  border: 1px solid #131313;
  display: inline-block;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  padding: 18px;
}
.article-pagination > a::before,
.article-pagination > a::after {
  content: '';
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 28px;
  height: 11px;
}
.article-pagination > a::before {
  background-image: url(../img/common/arrow_right03.svg);
}
.article-pagination > a::after {
  background-image: url(../img/common/arrow_right03-wt.svg);
  opacity: 0;
}
.article-pagination .prev,
.article-pagination .next {
  position: absolute;
  top: 0;
  width: 180px;
}
.article-pagination .prev {
  left: 0;
  padding-left: 30px;
}
.article-pagination .next {
  right: 0;
  padding-right: 30px;
}
.article-pagination .index {
  min-width: 350px;
  padding-left: 60px;
  padding-right: 60px;
}

.article-pagination .prev::before,
.article-pagination .prev::after,
.article-pagination .index::before,
.article-pagination .index::after {
  left: 20px;
  -webkit-transform: scaleX(-1);
  transform: scaleX(-1);
}
.article-pagination .next::before,
.article-pagination .next::after {
  right: 20px;
}

@media screen and (min-width: 751px) {
  .article-pagination > a {
    -webkit-transition-property: background-color, color;
    transition-property: background-color, color;
  }
  .article-pagination > a:hover {
    background-color: #131313;
    color: #fff;
    opacity: 1;
  }
  .article-pagination > a:hover::before {
    opacity: 0;
  }
  .article-pagination > a:hover::after {
    opacity: 1;
  }
}


/*------------------------------------------------------------------------------
  404
------------------------------------------------------------------------------*/
.not-found-block {
  padding: 14px 0 100px;
}
.not-found-container .title {
  font-size: 24px;
  font-weight: bold;
  border-bottom: 1px solid #000;
  padding-bottom: 10px;
  margin-bottom: 32px;
}
.not-found-container .text {
  font-size: 14px;
  text-align: justify;
  line-height: 1.86;
}
.not-found-container .text + .text {
  margin-top: 1.86em;
}

.not-found-btn-wrap {
  text-align: center;
  margin-top: 42px;
}
.not-found-btn-wrap > .btn {
  padding-right: 0;
}


/*------------------------------------------------------------------------------
  search-not-found-block
------------------------------------------------------------------------------*/
#wrapper .search-not-found-block {
  padding: 50px 0 150px;
}

.search-not-found-block .search-not-found-title {
  font-size: 20px;
  font-weight: bold;
  margin: 0 0 30px;
}

.search-not-found-block .hint-title {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.5;
  margin: 0 0 30px;
}

.search-not-found-block .hint {
  font-size: 16px;
  line-height: 1.6;
}



/*------------------------------------------------------------------------------
  privacy
------------------------------------------------------------------------------*/
.privacy-block {
  padding-bottom: 60px;
}
.privacy-main-block {
  background-color: #f8f8f8;
  padding: 40px 0;
}
.privacy-after-block {
  padding: 40px 0 100px;
}

.privacy-list > li {
  background-color: #fff;
  border: 1px solid #e5e5e5;
  padding: 23px 20px;
}
.privacy-list > li + li {
  margin-top: 10px;
}
.privacy-list > li .text {
  font-size: 14px;
  text-indent: -2em;
  padding-left: 2em;
  line-height: 1.86;
  text-align: justify;
}

.privacy-note {
  font-size: 14px;
  text-align: justify;
  line-height: 1.86;
  margin-top: 32px;
}

.privacy-box {
  border: 1px solid #e5e5e5;
  padding: 28px 30px;
}
.privacy-box > .title {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 16px;
}
.privacy-box > .text {
  font-size: 14px;
  text-align: justify;
  margin-bottom: 20px;
}

@media screen and (min-width: 751px) {
  .privacy-box .address > img {
    height: 20px;
  }
}


/*------------------------------------------------------------------------------
  inquire
------------------------------------------------------------------------------*/
.inquire-block {
  padding-bottom: 20px;
}
.inquire-block .title-standard-wrap {
  margin-bottom: 0;
}

.inquire-main-block {
  padding: 20px 0 100px;
}


.inquire-list > li {
  border: 1px solid #000;
  background-color: #fff;
  padding: 15px 20px 20px;
}
.inquire-list > li > .title {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 16px;
  line-height: 1.4;
}
.inquire-list > li .text {
  font-size: 14px;
  line-height: 1.71;
  text-align: justify;
  margin-bottom: 5px;
}
.inquire-list > li > .text-area {
  background-color: #f8f8f8;
  padding: 10px 15px;
}
.inquire-list > li .inner {
  font-size: 14px;
  line-height: 1.3;
}
.inquire-list > li .inner > span {
  font-size: 24px;
  font-weight: bold;
  display: inline-block;
}
.inquire-list > li .mail {
  margin-top: 10px;
}
.inquire-list > li .mail > img {
  height: 45px;
}

@media screen and (min-width: 751px) {
  .inquire-list > li {
    width: calc(50% - 5px);
  }
  .inquire-list > li:nth-child(2n) {
    float: right;
  }
  .inquire-list > li:nth-child(2n+1) {
    float: left;
  }
  .inquire-list > li:nth-child(n+3) {
    margin-top: 10px;
  }
}


.inquire-privacy-box {
  background-color: #f8f8f8;
  padding: 20px;
  margin-top: 20px;
}
.inquire-privacy-box > .title {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 15px;
}
.inquire-privacy-box > .text {
  font-size: 14px;
  line-height: 1.71;
}


/*------------------------------------------------------------------------------
  ads
------------------------------------------------------------------------------*/
.ads-head-block {
  padding-bottom: 40px;
}
.ads-head-block .title-standard-wrap {
  margin-bottom: 0;
}

.ads-main-block {
  padding: 0 0 50px;
}
.ads-main-bg-block {
  background-color: #f9f9f9;
  padding: 50px 0 100px;
}

.ads-box .title-text {
  font-size: 24px;
  font-weight: bold;
}

.ads-box > .title {
  margin-bottom: 20px;
}
.ads-box > .title::before {
  content: none;
}
.ads-box + .ads-box {
  margin-top: 40px;
}

.ads-select-wrap {
  position: relative;
}
.ads-select-area {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 12px;
  margin: auto;
  height: 40px;
}
.ads-select-area select {
  width: 200px;
  padding: 6px 20px;
}


.ads-media-list {
  font-size: 0;
}
.ads-media-list > li {
  display: inline-block;
  font-size: 14px;
  font-weight: bold;
  margin-right: 30px;
}
.ads-media-list a {
  display: block;
}


@media screen and (min-width: 751px) {
  .ads-media-list a:hover {
    text-decoration: underline;
    opacity: 1;
  }
}

.ads-box .topics-meta-area .date {
  color: #232323;
}

.csv_import_textarea input {
  background: #232323;
  color: #fff;
  cursor: pointer;
  font-size: 16px;
  font-weight: bold;
  margin: 40px 0;
  padding: 10px;
  text-align: center;
}
.csv_import_textarea input:hover {
  opacity: 0.7;
}

.contact-label {
  font-weight: bold;
  margin: 0 0 13px;
}
.required-mark {
  background: #232323;
  color: #fff;
  font-size: 11px;
  font-weight: bold;
  margin: 0 10px;
  padding: 4px 20px;
  position: relative;
  top: -1px;
  left: 0;
}
.contact-body {
  margin: 0 0 35px;
}
.contact-body input,
.contact-body textarea {
  border: 1px solid #e5e5e5;
  border-radius: 0;
  background-color: #f8f8f8;
  padding: 7px 10px;
  width: 730px;
}
.contact-body input.short {
  width: 400px;
}
.contact-body textarea {
  height: 150px;
  width: 100%;
  resize: none;
}

.contact-finish-message {
  border: solid 1px #333;
  padding: 50px;
  text-align: center;
  margin: 50px 0;
}

.agree-title {
  font-size: 18px;
  font-weight: bold;
  margin: 0 0 20px;
}
.agree-check-box {
  margin: 20px 0 0;
}
.agree-explain-box {
  border: 1px solid #e5e5e5;
  background-color: #f8f8f8;
  height: 150px;
  padding: 15px;
  overflow: auto;
  line-height: 1.8;
}

.confirm-area {
  display: none;
}

.confirm-area .agree-check-box {
  margin: 0 0 20px;
}

.validate-text {
  color: #f00;
  display: none;
  margin: 10px 0 0;
}

.ads-box .btn-area {
  text-align: center;
}
.ads-box .btn-area .btn {
  border: 2px solid #232323;
  background: #232323;
  color: #fff;
  cursor: pointer;
  display: inline-block;
  font-size: 16px;
  font-weight: bold;
  margin: 0 20px;
  padding: 15px;
  position: relative;
  text-align: center;
  width: 280px;
}
.ads-box .btn-area .btn.confirm-btn:before,
.ads-box .btn-area .btn.submit-btn:before {
  background: url(../img/common/arrow_right-sml-wt.svg) no-repeat center center;
  background-size: 100%;
  content: '';
  height: 13px;
  width: 25px;
  top: 0;
  bottom: 0;
  right: 20px;
  position: absolute;
  margin: auto;
}
.ads-box .btn-area .btn.back-btn {
  background: #fff;
  color: #232323;
}


@media screen and (min-width: 751px) {
  .ads-box .btn-area .btn.confirm-btn:hover,
  .ads-box .btn-area .btn.submit-btn:hover {
    background: #fff;
    color: #232323;
  }
  .ads-box .btn-area .btn.confirm-btn:hover:before,
  .ads-box .btn-area .btn.submit-btn:hover:before {
    background: url(../img/common/arrow_right-sml.svg) no-repeat center center;
    background-size: 100%;
  }
  .ads-box .btn-area .btn.back-btn:hover {
    background: #232323;
    color: #fff;
  }
}

.cx-block {
  display: none;
}

.cx-block .js-based {
  display: none;
}

.web-media-inner-magazine {
  margin: 40px 0 0;
}

#existing {
  padding-bottom: 100px;
}
#existing {
  line-height: 1.6;
}

/* 既存ページ調整 */
.copa-2019-kabegami-wrap {
  background: url(../assets/contents/copa/2019/kabegami/images/bg.gif) top left repeat;
}
.miyamotosansu_pazzle-wrap {
  background:url(../assets/contents/miyamotosansu_pazzle/images/bg.gif) top left repeat;
}
.miyamotosansu_pazzle-text {
  background-image: url("../assets/contents/miyamotosansu_pazzle/images/bar_400_100.png");
}
.miyamotosansu_pazzle-text02 {
  background-image: url("../assets/contents/miyamotosansu_pazzle/images/bar_625.png");
}
.miyamotosansu_pazzle-text03 {
  background-image: url("../assets/contents/miyamotosansu_pazzle/images/bar_600.png");
}

.ct-co_0818-wrap {
  background:url(../assets/ct/co_0818/images/bg.gif) top left repeat;
}
.kenko-wrap {
  background: url(../assets/kenko/images/back.gif);
}
.lifeplus-killer_stress-wrap {
  background:url(../assets/lifeplus/killer_stress/images/bg.gif) top left repeat;
}
.lp-kg_kimono-wrap {
  background: url(../assets/lp/kg_kimono/images/bg.gif) top left repeat;
}
.nhk-wrapper {
  background:url(../assets/nhk/images/bg.gif) repeat left top;
}
.jitsuyo-kawaii_wrapping-wrap {
  background:url(../assets/jitsuyo/kawaii_wrapping/images/bg.gif) top left repeat;
}
.jitsuyo-stamp_idea-wrap {
  background:url(../assets/jitsuyo/stamp_idea/images/bg.gif) top left repeat;
}


/*------------------------------------------------------------------------------
  gatten-special-block
------------------------------------------------------------------------------*/
.gatten-special-main .magazine-contents {
  padding-top: 0;
}
.gatten-special-main .gatten-special-block {
  margin-top: 0;
}

.gatten-special-block {
  background: #f7f7f7;
  margin: 90px 0 0;
  padding: 40px 0 0;
}
.gatten-special-block .magazine-introduction {
  padding-bottom: 0;
}
.gatten-special-block .magazine-introduction .body .wrap::after {
  background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0), #f7f7f7);
}

.gatten-special-block .title {
  border-bottom: 1px solid #232323;
  font-size: 24px;
  font-weight: bold;
  margin: 0 0 40px;
  padding: 0 0 10px;
}
.gatten-special-block .title.gatten-title {
  border-bottom: none;
  font-size: 36px;
}

@media screen and (min-width: 751px) {
  .gatten-special-block .magazine-contents-container + .magazine-contents-container {
    padding-top: 90px;
  }
}


.gatten-special-block .magazine-introduction .media {
  padding: 0 20px;
  text-align: center;
}
.gatten-special-block .magazine-introduction .media img {
  border: 1px solid #aaa;
  width: 100%;
}

.gatten-special-block .magazine-introduction .body {
  padding-top: 0;
}

.gatten-special-block .magazine-btn-area {
  text-align: center;
}
.gatten-special-block .magazine-btn-area a {
  background: #fff;
}

.gatten-special-block .magazine-more-area > a {
  background: none;
  color: #232323;
  width: auto;
}
.gatten-special-block .magazine-more-area > a::after {
  background: url(../img/common/arrow_bottom-blk.svg) no-repeat;
  background-size: contain;
  right: -25px;
}

.gatten-relation-link {
  margin: 50px 0 -30px;
  padding: 0;
}

.magazine-contents02 .gatten-relation-link {
  margin: 60px 0 0;
}

.high_light {
  background: orange;
}

.gatten-slider-img {
  overflow: hidden;
}

.gatten-sub-title {
  position: relative;
  padding-bottom: 16px;
  margin-bottom: 20px;
}
.gatten-sub-title::after {
  content: '';
  background-color: #232323;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 30px;
  height: 4px;
}


.gatten-relation-btn-wrap .btn-large {
  font-size: 0 ;
  background-color: #fff;
  color: #232323;
  width: 650px;
  padding: 11px 0;
}
.gatten-relation-btn-wrap span {
  display: inline-block;
  vertical-align: middle;
  padding-left: 0 !important;
}
.gatten-relation-btn-wrap span::before,
.gatten-relation-btn-wrap span::after {
  content: none !important;
}
.gatten-relation-btn-wrap .icon {
  width: 235px;
}
.gatten-relation-btn-wrap .text {
  font-size: 18px;
  padding-left: 20px !important;
}

@media screen and (min-width: 751px) {
  .gatten-relation-btn-wrap .btn-large:hover {
    background-color: #232323;
    color: #fff;
  }
}


body .wp_autosearch_suggestions .wp_autosearch_category,
body .wp_autosearch_suggestions .wp_autosearch_more {
  background-color: #232323 !important;
}
body .wp_autosearch_suggestions {
  box-shadow: none;
}
body .wp_autosearch_suggestions li > a:hover {
  opacity: 1;
}

body .wp_autosearch_suggestions .wp_autosearch_category,
body .wp_autosearch_suggestions .wp_autosearch_more {
  display: none !important;
}


/*** loading ***/
.loading-div {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: #fff;
}
.loader {
  font-size: 10px;
  margin: auto;
  text-indent: -9999em;
  width: 6em;
  height: 6em;
  border-radius: 50%;
  background: #232323;
  background: -moz-linear-gradient(left, #232323 10%, rgba(255, 255, 255, 0) 42%);
  background: -webkit-linear-gradient(left, #232323 10%, rgba(255, 255, 255, 0) 42%);
  background: -o-linear-gradient(left, #232323 10%, rgba(255, 255, 255, 0) 42%);
  background: -ms-linear-gradient(left, #232323 10%, rgba(255, 255, 255, 0) 42%);
  background: linear-gradient(to right, #232323 10%, rgba(255, 255, 255, 0) 42%);
  position: absolute;
  top: 50%;
  left: 50%;
  right: 50%;
  bottom: 50%;
  -webkit-animation: load3 0.7s infinite linear;
  animation: load3 0.7s infinite linear;
  -webkit-transform: translate3D(0,0,0);
  -ms-transform: translate3D(0,0,0);
  transform: translate3D(0,0,0);
}


.loader:before {
  width: 50%;
  height: 50%;
  background: #232323;
  border-radius: 100% 0 0 0;
  position: absolute;
  top: 0;
  left: 0;
  content: '';
}
.loader:after {
  background: #fff;
  width: 85%;
  height: 85%;
  border-radius: 50%;
  content: '';
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}
@-webkit-keyframes load3 {
  0% {
    -webkit-transform: translate3D(0,0,0) rotate(0deg);
    transform: translate3D(0,0,0) rotate(0deg);
  }
  100% {
    -webkit-transform: translate3D(0,0,0) rotate(360deg);
    transform: translate3D(0,0,0) rotate(360deg);
  }
}
@keyframes load3 {
  0% {
    -webkit-transform: translate3D(0,0,0) rotate(0deg);
    transform: translate3D(0,0,0) rotate(0deg);
  }
  100% {
    -webkit-transform: translate3D(0,0,0) rotate(360deg);
    transform: translate3D(0,0,0) rotate(360deg);
  }
}


.abj-box {
  display: table;
  margin: 0 0 40px;
}

.abj-box .abj-mark {
  display: table-cell;
  text-align: left;
  vertical-align: middle;
  width: 120px;
  padding: 0 20px 0 0;
}
.abj-box .abj-text {
  display: table-cell;
  line-height: 1.6;
  text-align: left;
  vertical-align: middle;
}
.abj-box .abj-text a {
  text-decoration: underline;
}


/*** ガッテン増刊号 調整 ***/
.gatten-special-main.main {
  padding-top: 180px;
}
.gatten-special-main .gatten-special-block {
  margin-top: 60px;
  padding-bottom: 80px;
}


.ads-box .subtitle {
  font-size: 14px;
  font-weight: bold;
  margin: 0 0 20px;
}

#wrapper .ads-box.news-block {
  margin: 80px 0 0;
  padding: 0;
}

.download-btn.black.to-link-btn {
  font-size: 16px;
}
.download-btn.black.to-link-btn::before {
  background: url(../img/common/arrow_right-wt.svg) no-repeat;
  background-size: 100%;
  width: 30px;
  height: 11px;
}
.download-btn.black.to-link-btn::after {
  background: url(../img/common/arrow_right.svg) no-repeat;
  background-size: 100%;
  width: 30px;
  height: 11px;
}


.pop-search-area {
  background: #f9f9f9;
  border: 1px solid #e5e5e5;
  border-radius: 5px;
  margin: 0 0 40px;
  padding: 20px;
}

.pop-search-area .title {
  font-size: 18px;
  font-weight: bold;
  margin: 0 0 20px;
}

.pop-search-area .search-input {
  background: #fff;
  border-radius: 3px;
  display: inline-block;
  margin: 0 1% 0 0;
  padding: 10px 20px;
  width: 73%;
}
.pop-search-area .search-btn {
  background: #232323;
  border: 2px solid #232323;
  color: #fff;
  display: inline-block;
  font-size: 18px;
  font-weight: bold;
  padding: 6px 5px 6px 20px;
  position: relative;
  text-align: center;
  width: 25%;
}
.pop-search-area .search-btn:before {
  background: url(../img/common/icon_search-wt.svg) no-repeat center center;
  background-size: 100%;
  content: '';
  left: 50%;
  margin: auto;
  margin-left: -55px;
  top: 0;
  bottom: 0;
  position: absolute;
  height: 26px;
  width: 25px;
}
.pop-search-area .search-btn:after {
  background: url(../img/common/icon_search.svg) no-repeat center center;
  background-size: 100%;
  content: '';
  left: 50%;
  margin: auto;
  margin-left: -55px;
  top: 0;
  bottom: 0;
  position: absolute;
  height: 26px;
  width: 25px;
  opacity: 0;
}

@media screen and (min-width: 751px) {
  .pop-search-area .search-btn:hover {
    background: #fff;
    color: #232323;
    opacity: 1;
  }
  .pop-search-area .search-btn:hover:before {
    opacity: 0;
  }
  .pop-search-area .search-btn:hover:after {
    opacity: 1;
  }
}

.bookstore-pop-notfound {
  font-size: 18px;
}


/*------------------------------------------------------------------------------
  clearfix
------------------------------------------------------------------------------*/
.search-head-block .topics-title:after,
.bookstore-pop-ul li .download-area:after,
.bookstore-pop-ul:after,
.clearfix:after {
  clear: both;
  content: "";
  display: block;
  height: 0px;
  font-size: 0;
  visibility: hidden;
}

/*------------------------------------------------------------------------------
  パスワード保護コンテンツ
------------------------------------------------------------------------------*/
#password_protect {
  min-height: 352px;
  display: flex;
  align-items: center;
  justify-content: center;
}
#password_protect .post-pw .post-pw__text {
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 20px;
  text-align: center;
}
#password_protect .post-pw__form {
  display: flex;
  justify-content: center;
}
#password_protect .post-pw__form .post-pw__form--txtbox {
  width: calc(100% - 66px - 8px);
  max-width: 300px;
  height: 44px;
  border-radius: 6px;
  padding: 0 8px;
  margin-right: 8px;
  border: 1px solid #E5E4E5;
  font-size: 14px;
}
#password_protect .post-pw__form .post-pw__form--submit {
  width: 66px;
  border-radius: 6px;
  padding: 10px 16px;
  border: 1px solid #E5E4E5;
  font-size: 14px;
  color: #fff;
  background: #333;
  transition: opacity 0.3s;
  cursor: pointer;
}
#password_protect .post-pw__form .post-pw__form--submit:hover {
  opacity: .8;
}
#password_protect .post-pw__form .post-pw__form--submit:disabled {
  color: #A2A2A2;
  background: #fff;
  pointer-events: none;
}
#password_protect .inner-block {
  max-width: 720px;
  width: 100%;
}
#password_protect .title-standard-wrap {
  margin-bottom: 60px;
}
#password_protect .c-title05 {
  margin-bottom: 20px;
  border-color: #E5E4E5;
  padding: 10px 0;
  color: #333333;
}
#password_protect .title-standard-wrap > p {
  font-size: 14px;
  font-weight: 500;
  line-height: 24px;
  color: #646464;
}
#password_protect .title-standard-wrap strong {
  font-weight: 700;
  color: #333333;
}
#password_protect .title-standard-wrap > ul {
  list-style-type: disc;
  padding: 0 0 0 2em;
}
#password_protect .title-standard-wrap > ol {
  list-style-type: decimal;
  padding: 0 0 0 2em;
}
#password_protect img {
  height: auto;
}
#password_protect .title-standard-wrap > ul > li,
#password_protect .title-standard-wrap > ol > li {
  font-size: 14px;
  font-weight: 500;
  line-height: 24px;
  color: #646464;
}
.mce-notice {
  font-size: 12px;
  font-weight: 500;
  line-height: 20px;
  color: #646464;
}
.mce-dl-btn, .mce-digital-btn, .mce-black-btn, .mce-green-btn, .mce-red-btn, .mce-blue-btn {
  text-align: center;
}
.mce-dl-btn a, .mce-digital-btn a, .mce-black-btn a, .mce-green-btn a, .mce-red-btn a, .mce-blue-btn a {
  display: inline-flex;
  align-items: center;
  width: auto;
  height: 50px;
  padding: 0 20px;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  border-radius: 6px;
  position: relative;
  transition: background-color .3s;
}
.mce-dl-btn a, .mce-digital-btn a {
  background: #333;
  border: 1px solid #333;
  padding: 0 48px 0 20px;
}
.mce-black-btn a {
  background: #333;
  border: 1px solid #333;
}
.mce-green-btn a {
  background: #8EBD20;
  border: 1px solid #8EBD20;
}
.mce-red-btn a {
  background: #F25C72;
  border: 1px solid #F25C72;
}
.mce-blue-btn a {
  background: #569DD6;
  border: 1px solid #569DD6;
}
.mce-dl-btn a:hover, .mce-digital-btn a:hover, .mce-black-btn a:hover, .mce-green-btn a:hover, .mce-red-btn a:hover, .mce-blue-btn a:hover {
  opacity: 1;
  background: #fff;
}
.mce-dl-btn a:hover, .mce-digital-btn a:hover, .mce-black-btn a:hover {
  color: #333;
}
.mce-green-btn a:hover {
  color: #8EBD20;
}
.mce-red-btn a:hover {
  color: #F25C72;
}
.mce-blue-btn a:hover {
  color: #569DD6;
}
.mce-dl-btn a::after {
  position: absolute;
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  background: url(../img/common/dl-btn_white.svg) no-repeat;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
}
.mce-dl-btn a:hover::after {
  background: url(../img/common/dl-btn_black.svg) no-repeat;
}
.mce-digital-btn a::after {
  position: absolute;
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  background: url(../img/common/digital-btn_white.svg) no-repeat;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
}
.mce-digital-btn a:hover::after {
  background: url(../img/common/digital-btn_black.svg) no-repeat;
}