@charset "UTF-8";

/* 汎用クラス */
.fr,
.imgR {
  float: right;
  margin-left: 10px;
}

.fl,
.imgL {
  float: left;
  margin-right: 10px;
}

.imgC,
.tC,
.btn {
  text-align: center;
}

.tR,
.sign {
  text-align: right;
}

/* clearfix */
/*  h1 h2
-----------------------------------------------------*/
h1 {
  width: 100%;
  margin-top: 20px;
  color: #222;
  font-size: 30px;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: 0.0em;
}
@media screen and (max-width: 768px) {
  h1 {
    margin-top: 10px;
    font-size:24px;
  }
}

#wrapper.astronomy h1 {
  color: #ddd7b3;
}

h2 {
  font-size: 40px;
  font-family: 'Noto Serif JP' , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
  text-align: center;
  letter-spacing: 0.0em;
  font-weight:600;
}
h2 div {
  position: relative;
  margin: 20px auto 0;
  width: 160px;
  height: 0;
  padding-top: 12px;
}
h2 div .svg {
  position: absolute;
  top: -3px;
  left: 0;
  width: 160px;
  height: 12px;
}
h2 p.date {
  font-size: 16px;
  color: #999;
  line-height: 1;
  font-family: "Roboto", sans-serif;
  font-style:italic;
  font-weight: 700;
  text-align: center;
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  h2 {
    font-size: 28px;
    width: 100%;
  }
  h2 div {
    width: 110px;
    height: 9px;
    margin-top: 10px;
  }
  h2 div .svg {
    width: 110px;
    height: 9px;
  }
}

#wrapper.astronomy h2 {
  color: #ddd7b3;
}
#wrapper.astronomy h2 div .svg path, #wrapper.astronomy h2 div .svg polygon {
  fill: #ddd7b3;
}

#wrapper.astronomy h4 {
  color: #ddd7b3;
}

/*  section
-----------------------------------------------------*/
.section_detail {
  width: 100%;
  margin-top: 100px;
}
.section_detail .detail_inner {
  width: 640px;
  margin: 0 auto;
}
.section_detail .detail_inner_substance {
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .section_detail {
    margin-top: 70px;
  }
  .section_detail .detail_inner {
    width: 100%;
    max-width: 640px;
    padding: 0 20px;
  }
  #readmore_detail[data-readmore]{
    padding-top:2px;
  }
}

#wrapper.astronomy #main,
#wrapper.astronomy .section_detail {
  color: #ccc;
}

/*  head bar
-----------------------------------------------------*/
.headbar {
  width: 960px;
  margin: 200px auto 0;
  line-height: 1;
  border-top: 4px #222 double;
  border-bottom: 4px #222 double;
  padding: 20px 30px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  align-items: center;
}
.headbar .title {
  width: calc(100% - 140px);
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  align-items: center;
}
.headbar .title p {
  font-size: 20px;
  font-family: "Roboto", sans-serif;
  font-style:italic;
  font-weight: 500;
  margin-right: 40px;
}
.headbar .title a {
  display: inline-block;
  min-width: 90px;
  font-size: 11px;
  line-height: 18px;
  text-align: center;
  background-color: #fff;
  border: #000 1px solid;
  padding: 0 20px;
  white-space: nowrap;
  border-radius: 30px;
  -webkit-transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  transition: all 0.2s ease;
  margin-right: 10px;
}
.headbar .title a:last-child {
  margin-right: 0;
}
@media screen and (min-width: 768px) {
  .headbar .title a.science:hover {
    background-color: #97e0c8;
  }
}
@media screen and (min-width: 768px) {
  .headbar .title a.computer:hover {
    background-color: #cccccc;
  }
}
@media screen and (min-width: 768px) {
  .headbar .title a.astronomy:hover {
    background-color: #111111;
    color: #ccc;
  }
}
@media screen and (min-width: 768px) {
  .headbar .title a.art:hover {
    background-color: #75d5f9;
  }
}
@media screen and (min-width: 768px) {
  .headbar .title a.craft:hover {
    background-color: #e4dcc4;
  }
}
@media screen and (min-width: 768px) {
  .headbar .title a.cooking:hover {
    background-color: #fc9985;
  }
}
@media screen and (min-width: 768px) {
  .headbar .title a.lifestyle:hover {
    background-color: #fcfc70;
  }
}
@media screen and (min-width: 768px) {
  .headbar .title a.flower:hover {
    background-color: #e697a8;
  }
}
@media screen and (min-width: 768px) {
  .headbar .title a.pets:hover {
    background-color: #f48bbd;
  }
}
@media screen and (min-width: 768px) {
  .headbar .title a.hobby:hover {
    background-color: #ddb4fc;
  }
}
@media screen and (min-width: 768px) {
  .headbar .title a.kids:hover {
    background-color: #71fcac;
  }
}
@media screen and (min-width: 768px) {
  .headbar .title a.general:hover {
    background-color: #f2f6f9;
  }
}
.headbar .sns {
  width: 140px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  align-items: center;
}
.headbar .sns a {
  display: inline-block;
}
.headbar .sns a .svg path, .headbar .sns a .svg polygon {
  fill: #ccc;
}
.headbar .sns a.tw:hover .svg path, .headbar .sns a.tw:hover .svg polygon {
  fill: #1da1f2;
}
.headbar .sns a.twx:hover .svg path, .headbar .sns a.twx:hover .svg polygon {
  fill: #000;
}
.headbar .sns a.fb:hover .svg path, .headbar .sns a.fb:hover .svg polygon {
  fill: #3b579d;
}
.headbar .sns a.ln:hover .svg path, .headbar .sns a.ln:hover .svg polygon {
  fill: #00b900;
}
.headbar .sns a.mail:hover .svg path, .headbar .sns a.mail:hover .svg polygon {
  fill: #000;
}
@media screen and (max-width: 768px) {
  .headbar {
    display: block;
    width: calc(100% - 40px);
    margin: 100px auto 0;
    padding: 20px 20px;
  }
  .headbar .title {
    width: 100%;
    display: block;
    text-align: center;
  }
  .headbar .title p {
    margin: 0;
  }
  .headbar .title a {
    margin-top: 20px;
  }
  .headbar .sns {
    display: none;
  }
}

.headbar.bottom {
  margin-top: 80px;
}
@media screen and (max-width: 768px) {
  .headbar.bottom {
    margin-top: 60px;
  }
}

#wrapper.astronomy .headbar {
  border-top: 4px #999999 double;
  border-bottom: 4px #999999 double;
}
#wrapper.astronomy .headbar .title {
  color: #ddd7b3;
}
#wrapper.astronomy .headbar .sns a.mail:hover .svg path, #wrapper.astronomy .headbar .sns a.mail:hover .svg polygon {
  fill: #fff;
}

#wrapper.astronomy section {
  color: #fff;
}

/*  #main
-----------------------------------------------------*/
#main .detail_inner.main {
  position: relative;
  width: 960px;
  min-height: 600px;
  padding-left: 520px;
  padding-right: 40px;
}
@media screen and (max-width: 768px) {
  #main .detail_inner.main {
    width: calc(100% - 40px);
    min-height: auto;
    margin: 0 auto;
    padding: 0;
  }
}
#main .main_img {
  position: absolute;
  top: 0;
  left: 0;
  width: 480px;
}
#main .main_img .img_container {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 100%;
  overflow: hidden;
}
#main .main_img .img_container ul {
  position: absolute;
  top: 0;
  left: 0;
  width: 500%;
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-overflow-scrolling: touch;
}
#main .main_img .img_container ul li {
  position: relative;
  width: 100%;
  height: 100%;
}
#main .main_img .img_container ul li a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
}
#main .main_img .img_container ul li a .img_hover {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  -webkit-transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  transition: all 0.2s ease;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  align-items: center;
}
#main .main_img .img_container ul li a .img_hover img {
  display: block;
  width: 50px;
  height: 50px;
  background-color: #ddd7b3;
  border-radius: 50%;
}
@media screen and (min-width: 768px) {
  #main .main_img .img_container ul li a:hover .img_hover {
    opacity: 1;
  }
}
#main .main_img .img_container .btn_prev, #main .main_img .img_container .btn_next {
  display: block;
  position: absolute;
  top: 50%;
  margin-top: -20px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  -webkit-transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
#main .main_img .img_container .btn_prev img, #main .main_img .img_container .btn_prev svg, #main .main_img .img_container .btn_next img, #main .main_img .img_container .btn_next svg {
  position: absolute;
  top: 50%;
  margin-top: -5px;
}
@media screen and (min-width: 768px) {
  #main .main_img .img_container .btn_prev:hover, #main .main_img .img_container .btn_next:hover {
    background-color: #000;
  }
  #main .main_img .img_container .btn_prev:hover .svg path, #main .main_img .img_container .btn_prev:hover .svg polygon, #main .main_img .img_container .btn_next:hover .svg path, #main .main_img .img_container .btn_next:hover .svg polygon {
    fill: #fff;
  }
}
#main .main_img .img_container .btn_prev {
  left: 0;
}
#main .main_img .img_container .btn_prev img, #main .main_img .img_container .btn_prev svg {
  left: 15px;
}
#main .main_img .img_container .btn_next {
  right: 0;
}
#main .main_img .img_container .btn_next img, #main .main_img .img_container .btn_next svg {
  right: 15px;
}
#main .main_img .main_thumbnail {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 16.6666%;
  margin-top: 40px;
}
#main .main_img .main_thumbnail ul {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  justify-content: center;
}
#main .main_img .main_thumbnail ul li {
  width: calc((100% - 80px) / 5);
  height: 100%;
  margin-right: 20px;
}
#main .main_img .main_thumbnail ul li:last-child {
  margin-right: 0;
}
#main .main_img .main_thumbnail ul li a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 5px;
  background-color: #fff;
  border: #ccc 1px solid;
}
#main .main_img .main_thumbnail ul li a:hover {
  border: #222 1px solid;
}
#main .main_img .main_thumbnail ul li a.current {
  border: #222 1px solid;
}
@media screen and (max-width: 768px) {
  #main .main_img {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    max-width: 480px;
    margin: 40px auto 0;
  }
  #main .main_img .img_container {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 100%;
    margin: 0 auto;
  }
  #main .main_img .img_container ul {
    position: absolute;
    top: 0;
    left: 0;
    width: 500%;
    height: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
  }
  #main .main_img .img_container ul li {
    width: 100%;
    height: 100%;
  }
  #main .main_img .main_thumbnail {
    margin-top: 20px;
  }
  #main .main_img .main_thumbnail ul li {
    width: calc((100% - 40px) / 5);
    margin-right: 10px;
  }
}
#main .tite_container {
  width: 100%;
}
#main .tite_container .subtitle {
  margin-top: 20px;
  font-size: 20px;
  line-height: 1.4;
}

#main .tite_container .labels {
  font-size: 12px;
  color: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
#main .tite_container .labels p {
  padding: 0 20px;
  margin-right: 10px;
  margin-bottom: 10px;
  display: inline-block;
}
#main .tite_container .labels p:last-child {
  margin-right: 0;
}
#main .tite_container .labels p.new, #main .tite_container .labels p.insession, #main .tite_container .labels p.newrelease {
  background-color: #ff5224;
}
#main .tite_container .labels p.recent, #main .tite_container .labels p.comingsoon {
  background-color: #00a7e5;
}
#main .tite_container .labels p.end, #main .tite_container .labels p.soldout {
  background-color: #999;
}
#main .tite_container .labels p.reservation {
  background-color: #24a179;
}
#main .tite_container .labels p.full {
  background-color: #e20031;
}
#main .labels + .serieslist {
  margin-top: 5px;
}
#main .series {
  color: #00a7e5;
  display: inline-block;
  margin-right: 20px;
  margin-bottom:5px;
}
#main .series:last-child{
  margin-bottom:0px;
}
#main .series:hover{
  text-decoration:underline;
}
@media screen and (max-width: 768px) {
  #main .tite_container .subtitle {
    font-size:18px;
  }
  #main .tite_container .labels {
    font-size: 11px;
  }
  #main .tite_container .labels p {
    padding: 0 10px;
  }
}
#main .spec {
  margin-top: 20px;
  width: 100%;
  font-size: 13px;
}
@media screen and (max-width: 768px) {
  #main .spec {
    width: 100%;
    margin-right: 0;
  }
}
#main .spec .data1 span {
  display: inline-block;
}
#main .spec .data2 {
  width: 100%;
  margin-top: 20px;
}
#main .spec .data2 p {
  padding: 20px 15px;
  border-bottom: #ccc 1px solid;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
  line-height:1.5;
}
#main .spec .data2 p:first-child {
  border-top: #222 1px solid;
}
#main .spec .data2 p:last-child {
  border-bottom: #222 1px solid;
}
#main .spec .data2 p span:first-child {
  width: 100px;
}
#main .spec .data2 p span:nth-child(2) {
   -webkit-flex: 1;
  flex:1;
}
#main .spec .data2 a{
  color:#00a7e5;
}
#main .spec .data2 a:hover{
  text-decoration: underline;
}

#main .spec .btns {
  margin-top: 40px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
#main .spec .btns a {
  position: relative;
  font-weight: 500;
  background-color: #222;
  color: #fff;
  border: #222 1px solid;
  border-radius: 5px;
  height: 50px;
  font-size: 14px;
  font-weight: 500;
  -webkit-transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  transition: all 0.2s ease;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  align-items: center;
}
@media screen and (min-width: 768px) {
  #main .spec .btns a:hover {
    background-color: #fff;
    color: #222;
  }
}
#main .spec .btns .btn_L {
  width: 100%;
}
#main .spec .btns .btn_S {
  margin-top: 20px;
  width: calc(50% - 10px);
}
#main .spec .btns a.read {
  background-color: #fff;
  color: #222;
}
#main .spec .btns a.read .svg {
  position: absolute;
  top: 50%;
  margin-top: -6px;
  right: 20px;
  -webkit-transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
@media screen and (min-width: 768px) {
  #main .spec .btns a.read:hover {
    background-color: #222;
    color: #fff;
  }
  #main .spec .btns a.read:hover .svg path, #main .spec .btns a.read:hover .svg polygon {
    fill: #fff;
  }
}
@media screen and (max-width: 768px) {
  #main .spec .btns .btn_S {
    margin-top: 15px;
    width: calc(50% - 7px);
  }
}
#main .spec .tags {
  margin-top: 20px;
}
#main .spec .tags a {
  display: inline-block;
  margin-right: 20px;
  color: #00a7e5;
}
@media screen and (min-width: 768px) {
  #main .spec .tags a:hover {
    text-decoration: underline;
  }
}
@media screen and (max-width: 768px) {
  #main .spec {
    margin-top: 40px;
  }
  #main .spec .data2 p {
    padding: 15px;
  }
  #main .spec .data2 p span {
    width: calc(100% - 80px);
    text-align: left;
  }
  #main .spec .data2 p span:first-child {
    width: 80px;
    text-align: left;
  }
}

#wrapper.astronomy #main .main_img .img_container .btn_prev, #wrapper.astronomy #main .main_img .img_container .btn_next {
  -webkit-transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
#wrapper.astronomy #main .main_img .img_container .btn_prev .svg path, #wrapper.astronomy #main .main_img .img_container .btn_prev .svg polygon, #wrapper.astronomy #main .main_img .img_container .btn_next .svg path, #wrapper.astronomy #main .main_img .img_container .btn_next .svg polygon {
  fill: #fff;
}
@media screen and (min-width: 768px) {
  #wrapper.astronomy #main .main_img .img_container .btn_prev:hover, #wrapper.astronomy #main .main_img .img_container .btn_next:hover {
    background-color: #ddd7b3;
  }
  #wrapper.astronomy #main .main_img .img_container .btn_prev:hover .svg path, #wrapper.astronomy #main .main_img .img_container .btn_prev:hover .svg polygon, #wrapper.astronomy #main .main_img .img_container .btn_next:hover .svg path, #wrapper.astronomy #main .main_img .img_container .btn_next:hover .svg polygon {
    fill: #222;
  }
}
#wrapper.astronomy #main .main_img .main_thumbnail ul li a {
  border: #999 1px solid;
}
#wrapper.astronomy #main .main_img .main_thumbnail ul li a:hover {
  border: #ddd7b3 1px solid;
}
#wrapper.astronomy #main .main_img .main_thumbnail ul li a.current {
  border: #ddd7b3 1px solid;
}
#wrapper.astronomy #main .spec .data2 {
  width: 100%;
  margin-top: 20px;
}
#wrapper.astronomy #main .spec .data2 p {
  border-bottom: #999999 1px solid;
}
#wrapper.astronomy #main .spec .data2 p:first-child {
  border-top: #cccccc 1px solid;
}
#wrapper.astronomy #main .spec .data2 p:last-child {
  border-bottom: #cccccc 1px solid;
}
#wrapper.astronomy #main .spec .btns a {
  position: relative;
  font-weight: 500;
  color: #222;
  background-color: #ddd7b3;
  border: #ddd7b3 1px solid;
}
@media screen and (min-width: 768px) {
  #wrapper.astronomy #main .spec .btns a:hover {
    background-color: #fff;
  }
}
#wrapper.astronomy #main .spec .btns a.read {
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  #wrapper.astronomy #main .spec .btns a.read:hover {
    background-color: #ddd7b3;
    color: #222;
  }
  #wrapper.astronomy #main .spec .btns a.read:hover .svg path, #wrapper.astronomy #main .spec .btns a.read:hover .svg polygon {
    fill: #222;
  }
}

/*  #recommend
-----------------------------------------------------*/
#recommend p {
  position: relative;
  width: 100%;
  font-size: 20px;
  font-weight: 700;
  text-align: center;
  line-height: 1.6;
}
#recommend p span {
  display: block;
  font-size: 14px;
  line-height: 1;
  font-weight: normal;
  margin-top: 20px;
}
#recommend p:before {
  content: "";
  position: absolute;
  top: 0;
  left: -46px;
  width: 36px;
  height: 30px;
  background: url("../images/common/dq_lt.png") left top no-repeat;
}
#recommend p:after {
  content: "";
  position: absolute;
  bottom: 0;
  right: -46px;
  width: 36px;
  height: 30px;
  background: url("../images/common/dq_rb.png") left top no-repeat;
}
@media screen and (max-width: 768px) {
  #recommend p {
    text-align: left;
    padding: 24px;
  }
  #recommend p:before {
    left: 0;
    width: 24px;
    height: 20px;
    background-size: contain;
  }
  #recommend p:after {
    right: 0;
    width: 24px;
    height: 20px;
    background-size: contain;
  }
}

/*  #pagelink
-----------------------------------------------------*/
#detail_pagelink {
  width: 960px;
  margin: 100px auto 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  -webkit-align-items: flex-end;
  -moz-align-items: flex-end;
  align-items: flex-end;
}
#detail_pagelink .pagelink_container {
  width: 400px;
  margin: 0 40px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  justify-content: center;
}
#detail_pagelink .pagelink_container a {
  line-height: 1;
  width: calc((100% - 40px) / 3);
  text-align: center;
  margin-right: 20px;
  -webkit-transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
#detail_pagelink .pagelink_container a:last-child {
  margin-right: 0;
}
#detail_pagelink .pagelink_container a p {
  font-weight: 500;
}
#detail_pagelink .pagelink_container a div {
  margin-top: 20px;
  background-color: #222;
  height: 10px;
  width: 100%;
  border: #222 1px solid;
  border-radius: 20px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  align-items: center;
}
@media screen and (min-width: 768px) {
  #detail_pagelink .pagelink_container a:hover {
    -webkit-transform: translateY(10px);
    -ms-transform: translateY(10px);
    transform: translateY(10px);
  }
  #detail_pagelink .pagelink_container a:hover div {
    background-color: #fff;
  }
  #detail_pagelink .pagelink_container a:hover div .svg path, #detail_pagelink .pagelink_container a:hover div .svg polygon {
    fill: #222;
  }
}
#detail_pagelink .left, #detail_pagelink .right {
  width: 240px;
  height: 15px;
}
#detail_pagelink .left {
  background: url("../images/common/detail_pagelink_left.png") right bottom no-repeat;
}
#detail_pagelink .right {
  background: url("../images/common/detail_pagelink_right.png") left bottom no-repeat;
}
@media screen and (max-width: 768px) {
  #detail_pagelink {
    margin-top: 70px;
    width: 100%;
    max-width: 640px;
    padding: 0 20px;
  }
  #detail_pagelink .pagelink_container {
    width: 100%;
    margin: 0 auto;
  }
  #detail_pagelink .pagelink_container a {
    font-size: 13px;
  }
  #detail_pagelink .pagelink_container a p {
    display: inline-block;
    white-space: nowrap;
  }
  #detail_pagelink .pagelink_container .left, #detail_pagelink .pagelink_container .right {
    display: none;
  }
}

#detail_pagelink.link2 .pagelink_container {
  width: 260px;
}
#detail_pagelink.link2 .pagelink_container a {
  width: calc((100% - 40px) / 2);
}
#detail_pagelink.link2 .left, #detail_pagelink.link2 .right {
  width: calc((100% - 260px -80px) / 2);
  height: 15px;
}

#wrapper.astronomy #detail_pagelink .pagelink_container a {
  color: #cccccc;
}
#wrapper.astronomy #detail_pagelink .pagelink_container a div {
  background-color: #cccccc;
  border: #cccccc 1px solid;
}
#wrapper.astronomy #detail_pagelink .pagelink_container a div .svg path, #wrapper.astronomy #detail_pagelink .pagelink_container a div .svg polygon {
  fill: #222;
}
@media screen and (min-width: 768px) {
  #wrapper.astronomy #detail_pagelink .pagelink_container a:hover div {
    background-color: #fff;
  }
}
#wrapper.astronomy #detail_pagelink .left {
  background: url("../images/common/detail_pagelink_left_white.png") right bottom no-repeat;
}
#wrapper.astronomy #detail_pagelink .right {
  background: url("../images/common/detail_pagelink_right_white.png") left bottom no-repeat;
}

/*  #content
-----------------------------------------------------*/
#content a:not(.btn_more) {
  color: #00a7e5;
}
@media screen and (min-width: 768px) {
  #content a:not(.btn_more):hover {
    text-decoration: underline;
  }
}
#content .btn_more .minus {
  display: none;
}
#content .btn_more.open .minus {
  display: block;
}
#content .btn_more.open .plus {
  display: none;
}
#content .accordion_detail {
  margin-top: 20px;
  display: none;
}

/*  caution
-----------------------------------------------------*/
.text-link-btn{position:relative}.text-link-btn a{-webkit-transition:color .2s ease;transition:color .2s ease}.text-link-btn a:after{content:"";background-image:url(../images/common/arrow_black2.svg);background-repeat:no-repeat;position:absolute;display:inline-block;width:20px;height:14px;margin-left:12px;top:6px;-webkit-transition:background-image .2s ease;transition:background-image .2s ease}@media print, screen and (min-width: 769px){.text-link-btn a:hover{color:#00a7e5}.text-link-btn a:hover:after{background-image:url(../images/common/arrow_blue2.svg)}}.text-link-btn+.text-link-btn{margin-top:0.75em}p+.text-link-btn{margin-top:0.75em}

h2.caution__title,h3.caution__title{display:block;width: 100%;background-color:#e20031;color:#fff;padding:17px 39px;margin:0;font-size:20px;font-family:"Noto Serif JP","游明朝","Yu Mincho","游明朝体","YuMincho","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","HiraMinProN-W3","HGS明朝E","ＭＳ Ｐ明朝","MS PMincho",serif;font-weight:500}
@media only screen and (max-width: 768px){h3..caution__title{padding:17px 25px}}
.caution__txt{font-size:14px;line-height:1.9;background-color:#fff2f5;padding:32px 39px;letter-spacing:0.01em}
@media only screen and (max-width: 768px){
  .caution__txt{padding:25px}
}
.caution__txt>*:first-child{margin-top:0}
.caution__txt>*:last-child{margin-bottom:0}
.red{color:#e20031;}


/*  #auther
-----------------------------------------------------*/
#auther.section_detail .detail_inner_substance:nth-child(n+3) {
  margin-top: 100px;
}
@media screen and (max-width: 768px) {
  #auther.section_detail .detail_inner_substance:nth-child(n+3) {
    margin-top: 60px;
  }
}

#auther .auther_profile {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
}
#auther .auther_profile .auther_photo {
  width: 150px;
  height: 150px;
  border-radius: 50%;
  margin-right: 40px;
  overflow: hidden;
}
#auther .auther_profile .auther_profile_text {
  width: calc(100% - 190px);
}
#auther .auther_profile .auther_profile_text .name {
  font-size: 20px;
  line-height: 1.4;
  font-weight: 700;
}
#auther .auther_profile .auther_profile_text .text {
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  #auther .auther_profile {
    display: block;
  }
  #auther .auther_profile .auther_photo {
    margin: 0 auto;
  }
  #auther .auther_profile .auther_profile_text {
    margin-top: 20px;
    width: 100%;
  }
  #auther .auther_profile .auther_profile_text .name {
    text-align: center;
  }
}

.detail_publish {
  margin-top: 40px;
}
.detail_publish h4 {
  margin-bottom: 40px;
}
.detail_publish ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
}
.detail_publish ul li {
  width: 200px;
  margin-right: 20px;
}
.detail_publish ul li:last-child {
  margin-right: 0;
}
.detail_publish a.detail_publish_box {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  background-color: #fff;
  padding: 30px;
  border-top: #000 1px solid;
}
.detail_publish a.detail_publish_box .publish_img {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 100%;
}
.detail_publish a.detail_publish_box .publish_img img {
  max-height:100%;
  position:absolute;
  top:50%;
  left:50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.detail_publish a.detail_publish_box .publish_title {
  margin-top: 30px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
}
.detail_publish a.detail_publish_box .label {
  position: absolute;
  top: 0;
  left: 0;
  color: #fff;
  text-align: center;
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
  padding: 2px 20px;
}
.detail_publish a.detail_publish_box .label.recent {
  background-color: #00a7e5;
}
.detail_publish a.detail_publish_box .label.new {
  background-color: #ff5224;
}
.detail_publish a.detail_publish_box .label.none {
  display: none;
}
.detail_publish a.detail_publish_box .overlay {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.9);
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  align-items: center;
  -webkit-transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
@media screen and (min-width: 768px) {

  .detail_publish a.detail_publish_box:hover .overlay {
    opacity: 1;
  }
}
@media screen and (max-width: 768px) {
  .detail_publish h4 {
    width: 100%;
    margin-bottom: 30px;
  }
  .detail_publish h4 p {
    padding: 0;
  }
  .detail_publish h4 .link{
    display:block;
  }
  .detail_publish ul {
    display: block;
  }
  .detail_publish ul li {
    width: 100%;
    margin-right: 0;
    margin-top: 20px;
  }
  .detail_publish ul li:first-child {
    margin-top: 0;
  }
  .detail_publish a.detail_publish_box {
    height: auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center;
  }
  .detail_publish a.detail_publish_box .publish_img {
    width: 30%;
    padding-top: 30%;
    margin-right: 20px;
  }
  .detail_publish a.detail_publish_box .publish_title {
    width: calc(70% - 20px);
    margin-top: 0;
  }
}

/*  #story
-----------------------------------------------------*/
.detail_box {
  width: 100%;
  margin-top: 100px;
}
.detail_box .detail_box_img {
  width: 100%;
}
.detail_box .detail_box_img img {
  display: block;
  margin: 0 auto;
}
.detail_box .detail_box_movie {
  position: relative;
  width: 480px;
  height: 270px;
  margin: 40px auto 0;
}
.detail_box .detail_box_movie iframe {
  width: 100%;
  height: 100%;
}
.detail_box .detail_box_heading {
  font-size: 30px;
  font-family: 'Noto Serif JP' , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
  font-weight: 600;
  line-height: 1.4;
}
.detail_box .detail_box_text {
  margin-top: 40px;
}
.detail_box .detail_box_text a {
  color: #00a7e5;
}
@media screen and (min-width: 768px) {
  .detail_box .detail_box_text a:hover {
    text-decoration: underline;
  }
}
@media screen and (max-width: 768px) {
  .detail_box {
    margin-top: 60px;
  }
  .detail_box .detail_box_img img {
    width: 100%;
    height: auto;
    max-width: 480px;
  }
  .detail_box .detail_box_movie {
    margin-top: 30px;
    width: 100%;
    height: 0;
    padding-top: 56.25%;
    max-width: 480px;
  }
  .detail_box .detail_box_movie iframe {
    position: absolute;
    top: 0;
    left: 0;
  }
  .detail_box .detail_box_heading {
    font-size: 20px;
  }
  .detail_box .detail_box_text {
    margin-top: 30px;
  }
}

.detail_box.first_child {
  margin-top: 60px;
}
@media screen and (max-width: 768px) {
  .detail_box.first_child {
    margin-top: 40px;
  }
}

.detail_box.type1 .detail_box_heading {
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .detail_box.type1 .detail_box_heading {
    margin-top: 30px;
  }
}

.detail_box.type2 .detail_box_img {
  display: none;
}

.detail_box.type3 .detail_box_heading {
  display: none;
}

/*  #introduction
-----------------------------------------------------*/
#introduction .mag_logo {
  width: 50%;
  margin: 0 auto;
  text-align: center;
}
#introduction .mag_logo .svg {
  width: 100%;
  height: auto;
}
#introduction .mag_text {
  margin-top: 60px;
}
#introduction .mag_links {
  margin-top: 40px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  justify-content:center;
}
#introduction .mag_links a {
  position: relative;
  display: block;
  width: calc((100% - 60px) / 3);
  height: 50px;
  background-color: #fff;
  border: #000 1px solid;
  border-radius: 5px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  align-items: center;
  margin-right: 30px;
  -webkit-transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
#introduction .mag_links a:last-child {
  margin-right: 0;
}
#introduction .mag_links a .svg {
  position: absolute;
  top: 50%;
  margin-top: -6px;
  right: 20px;
  -webkit-transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
@media screen and (min-width: 768px) {
  #introduction .mag_links a:hover {
    background-color: #000;
    color: #fff;
  }
  #introduction .mag_links a:hover .svg path, #introduction .mag_links a:hover .svg polygon {
    fill: #fff;
  }
}
@media screen and (max-width: 768px) {
  #introduction .mag_links {
    display: block;
  }
  #introduction .mag_links a {
    width: 100%;
    margin-right: 0;
    margin-top: 15px;
  }
  #introduction .mag_links a:first-child {
    margin-top: 0;
  }
}
#introduction .mag_publish {
  margin-top: 60px;
}

#wrapper.astronomy #introduction .mag_logo .svg path, #wrapper.astronomy #introduction .mag_logo .svg polygon {
  fill: #cccccc;
}
#wrapper.astronomy #introduction .mag_links a {
  background-color: #ddd7b3;
  -webkit-transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
@media screen and (min-width: 768px) {
  #wrapper.astronomy #introduction .mag_links a:hover {
    background-color: #fff;
    color: #222;
  }
  #wrapper.astronomy #introduction .mag_links a:hover .svg path, #wrapper.astronomy #introduction .mag_links a:hover .svg polygon {
    fill: #222;
  }
}

/*  #product
-----------------------------------------------------*/
/*  #detail_tab
-----------------------------------------------------*/

#detail_tab.section_detail .detail_inner {
  overflow:hidden;
}
#detail_tab .detail_tab_header {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
}
#detail_tab .detail_tab_header div {
  /*border-bottom: #000 1px solid;*/
  width: 15px;
}
#detail_tab .detail_tab_header div:first-child, #detail_tab .detail_tab_header div:last-child {
  width: 20px;
}
#detail_tab .detail_tab_header a {
  display: block;
  color: #666;
  line-height: 1.4;
  text-align: center;
  padding: 16px;
  height: 50px;
  min-width: 190px;
  border-top: #000 1px solid;
  border-right: #000 1px solid;
  border-left: #000 1px solid;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  align-items: center;
}
#detail_tab .detail_tab_header a p {
  white-space: nowrap;
  text-align: center;
}
#detail_tab .detail_tab_header a.current {
  border-bottom: none;
  color: #222;
  font-weight: 500;
  position:relative;
}
#detail_tab .detail_tab_header a.current:after {
    content: "";
    display: inline-block;
    height: 1px;
    width: 100vw;
    background: #000;
    position: absolute;
    bottom: -1px;
    left: 100%;
}
#detail_tab .detail_tab_header a.current:before {
    content: "";
    display: inline-block;
    height: 1px;
    width: 100vw;
    background: #000;
    position: absolute;
    bottom: -1px;
    right: 100%;
}

@media screen and (max-width: 768px) {
  #detail_tab .detail_tab_header div {
    width: 6px;
  }
  #detail_tab .detail_tab_header div:first-child, #detail_tab .detail_tab_header div:last-child {
    width: 15px;
  }
  #detail_tab .detail_tab_header a {
    width: calc((100% - 42px) / 3);
    min-width: auto;
    padding: 12px;
    height: 44px;
  }
}
#detail_tab .detail_tab_header.tab3-2 div:last-child {
  width: calc(100% - 415px);
}
@media screen and (max-width: 768px) {
  #detail_tab .detail_tab_header.tab3-2 div:last-child {
    width: calc((100% - 42px) / 3 + 20px);
  }
}
#detail_tab .detail_tab_header.tab2 a {
  font-size: 13px;
  width: calc((100% - 55px) / 2);
}
@media screen and (max-width: 768px) {
  #detail_tab .detail_tab_header.tab2 a {
    width: calc((100% - 36px) / 2);
    height: auto;
  }
}
#detail_tab .detail_tab_content {
  width: 100%;
  padding-top: 40px;
/*  border-top:1px solid #000;*/
}
#detail_tab .detail_tab_content article {
  display: none;
  opacity: 0;
  width: 100%;
  font-size: 13px;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
#detail_tab .detail_tab_content article > div{
  margin-bottom: 0.5em;
}
#detail_tab .detail_tab_content article p a,
#detail_tab .detail_tab_content article div a {
  font-weight: 700;
  color: #00a7e5;
}
.tab_content.content2 p + p,
.tab_content.content3 p + p {
    margin-top:1.2em;
}

@media screen and (min-width: 768px) {
  #detail_tab .detail_tab_content article p a:hover,
  #detail_tab .detail_tab_content article div a:hover {
    text-decoration: underline;
  }
}
#detail_tab .detail_tab_content article p.heading {
  font-size: 16px;
  font-weight: 700;
}
#detail_tab .detail_tab_content article.current {
  display: block;
  opacity: 1;
}
#detail_tab .detail_tab_content article.table p {
  padding: 20px 15px;
  border-bottom: #ccc 1px solid;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
}
#detail_tab .detail_tab_content article.table p span:first-child {
  min-width: 100px;
  font-weight: 500;
}
#detail_tab .detail_tab_content article.table p:first-child {
  border-top: #222 1px solid;
}
#detail_tab .detail_tab_content article.table p:last-child {
  border-bottom: #222 1px solid;
}
#detail_tab .detail_tab_content article.table p a {
  font-weight: normal;
}
@media screen and (max-width: 768px) {
/*  #detail_tab .detail_tab_content {
    margin-top: 25px;
  }*/
  #detail_tab .detail_tab_content article.table p {
    padding: 15px 15px;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  #detail_tab .detail_tab_content article.table p span {
    display: block;
  }
  #detail_tab .detail_tab_content article.table p span:last-child {
    min-width: auto;
    margin-top: 5px;
  }
}

#wrapper.astronomy #detail_tab .detail_tab_header div {
 border-bottom: #999999 1px solid;
}
#wrapper.astronomy #detail_tab .detail_tab_header a {
  color: #999999;
  border: #999999 1px solid;
}
#wrapper.astronomy #detail_tab .detail_tab_header a.current {
  border-bottom: none;
  color: #ddd7b3;
}
#wrapper.astronomy #detail_tab .detail_tab_content article.table p {
  border-bottom: #999999 1px solid;
}
#wrapper.astronomy #detail_tab .detail_tab_content article.table p:first-child {
  border-top: #999999 1px solid;
}
#wrapper.astronomy #detail_tab .detail_tab_content article.table p:last-child {
  border-bottom: #999999 1px solid;
}

/*  #related_banner
-----------------------------------------------------*/
@media screen and (max-width: 768px) {
  #related_banner .detail_inner {
    max-width: 640px;
    margin: 0 auto;
  }
}
#related_banner ul {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  justify-content: center;
}
#related_banner ul li {
  width: calc((100% - 60px) / 3);
  margin-right: 30px;
  background-color: #fff;
}
#related_banner ul li:last-child {
  margin-right: 0;
}
@media screen and (min-width: 768px) {
  #related_banner ul li a:hover {
    opacity: 0.8;
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
    transition: all 0.2s ease;
  }
}
@media screen and (max-width: 768px) {
  #related_banner ul {
    padding: 0 20px;
    display: block;
  }
  #related_banner ul li {
    width: 100%;
    margin-right: 0;
    margin-top: 20px;
    background-color: transparent;
  }
  #related_banner ul li:first-child {
    margin-top: 0;
  }
  #related_banner ul li img {
    width: 100%;
    height: auto;
  }
}

/*  #book_area
-----------------------------------------------------*/
#book_area {
  width: 990px;
}
#book_area h4 {
  padding: 0 15px;
}
#book_area .section_inner {
  margin-top: 40px;
}
#book_area .section_inner .module_book_container {
  padding-top: 10px;
}
#book_area .section_inner .module_book_box .category {
  display: block;
}
@media screen and (max-width: 768px) {
  #book_area {
    width: 100%;
  }
  #book_area h4 {
    padding: 0;
  }
  #book_area .section_inner {
    margin-top: 30px;
  }
}

/*  #modal_largeImage
-----------------------------------------------------*/
#modal_largeImage {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 2000;
}
#modal_largeImage .modal_wrapper {
  position: relative;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 768px) {
  #modal_largeImage .modal_wrapper {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center;
  }
}
#modal_largeImage .modal_bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #f2f6f9;
}
#modal_largeImage .modal_inner {
  opacity: 0;
  position: relative;
  opacity: 1;
  width: 960px;
  margin: 0 auto;
  padding-top: 100px;
}
#modal_largeImage .modal_inner .img_wrapper {
  position: relative;
  max-width: 800px;
  margin: 0 auto;
  width:100%;
  max-height:calc(100vh - 200px);

}
#modal_largeImage .modal_inner .img_container {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: calc(100vh - 200px);
  margin: 0 auto;
  overflow: hidden;
}
#modal_largeImage .modal_inner .img_container ul {
  position: absolute;
  top: 0;
  left: 0;
  width: 500%;
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
}
#modal_largeImage .modal_inner .img_container ul li {
  width: 100%;
  height: 100%;
}
#modal_largeImage .modal_inner .btn_prev, #modal_largeImage .modal_inner .btn_next {
  display: block;
  position: absolute;
  top: 50%;
  margin-top: -20px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  -webkit-transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
#modal_largeImage .modal_inner .btn_prev img, #modal_largeImage .modal_inner .btn_prev svg, #modal_largeImage .modal_inner .btn_next img, #modal_largeImage .modal_inner .btn_next svg {
  position: absolute;
  top: 50%;
  margin-top: -5px;
}
@media screen and (min-width: 768px) {
  #modal_largeImage .modal_inner .btn_prev:hover, #modal_largeImage .modal_inner .btn_next:hover {
    background-color: #000;
  }
  #modal_largeImage .modal_inner .btn_prev:hover .svg path, #modal_largeImage .modal_inner .btn_prev:hover .svg polygon, #modal_largeImage .modal_inner .btn_next:hover .svg path, #modal_largeImage .modal_inner .btn_next:hover .svg polygon {
    fill: #fff;
  }
}
#modal_largeImage .modal_inner .btn_prev {
  left: -100px;
}
#modal_largeImage .modal_inner .btn_prev img, #modal_largeImage .modal_inner .btn_prev svg {
  left: 15px;
}
#modal_largeImage .modal_inner .btn_next {
  right: -100px;
}
#modal_largeImage .modal_inner .btn_next img, #modal_largeImage .modal_inner .btn_next svg {
  right: 15px;
}
#modal_largeImage .modal_inner .modal_image_pager {
  margin-top: 20px;
  font-size: 16px;
  font-family: "Roboto", sans-serif;
  font-style:italic;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #modal_largeImage .modal_inner {
    width: 100%;
    padding-top: 0px;
  }
  #modal_largeImage .modal_inner .img_wrapper {
    width: calc(100% - 80px);
    max-width: 540px;
  }
  #modal_largeImage .modal_inner .btn_prev {
    left: -30px;
  }
  #modal_largeImage .modal_inner .btn_next {
    right: -30px;
  }
  #modal_largeImage .modal_inner .modal_image_pager {
    margin-top: 30px;
  }
}
#modal_largeImage .modal_close {
  position: absolute;
  top: 30px;
  left: 40px;
  display: block;
  width: 50px;
  height: 50px;
  background-color: #222;
  border: 1px #000 solid;
  border-radius: 50%;
  -webkit-transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
@media screen and (min-width: 768px) {
  #modal_largeImage .modal_close:hover {
    background-color: #fff;
  }
  #modal_largeImage .modal_close:hover .svg path, #modal_largeImage .modal_close:hover .svg polygon {
    fill: #000;
  }
}
@media screen and (max-width: 768px) {
  #modal_largeImage .modal_close {
    top: 20px;
    left: 20px;
  }
}
