@charset "UTF-8";
h1, h2, h3, h4, h5, h6, p, ul, ol, dl, dt, dd {
  margin: 0;
  padding: 0;
}

ol, ul {
  list-style-type: none;
}

/*-----------------------------------------------
 root
-----------------------------------------------*/
html {
  overflow-y: scroll;
}

body {
  overflow: hidden;
  font-weight: 400;
  font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,sans-serif;
}

/*-----------------------------------------------
 font
-----------------------------------------------*/
html {
  overflow-x: hidden;
  font-size: medium;
}

body {
  font-size: 62.5%;
  /* 16px -> 10px */
}

div {
  box-sizing: border-box;
  line-height: 0;
}

dt, dd, li,
caption, th, td,
input, button, textarea, select,
h1, h2, h3, h4, h5, h6, address {
  margin: 0;
  padding: 0;
  font-size: 140%;
  line-height: 0;
}

p {
  margin: 0;
  padding: 0;
  font-size: 140%;
  line-height: 1.5;
}

h1 *, h2 *, h3 *, h4 *, h5 *, h6 *,
p input, p button, p select,
li h1, li h2, li h3, li h4, li h5, li h6, li p, li dt, li dd, li li, li th, li td, li input, li button, li textarea, li select,
dd h1, dd h2, dd h3, dd h4, dd h5, dd h6, dd p, dd dt, dd dd, dd li, dd th, dd td, dd input, dd button, dd textarea, dd select,
tr h1, tr h2, tr h3, tr h4, tr h5, tr h6, tr p, tr dt, tr dd, tr li, tr input, tr button, tr textarea, tr select {
  font-size: 100%;
}

input, button, select, option, textarea {
  font-size: 14px;
}

figure {
  margin: 0;
}

a,
a:link,
a:visited {
  color: #000;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
  opacity: 0.75;
}

section {
  box-sizing: border-box;
  position: relative;
}

/*-----------------------------------------------
 cf
-----------------------------------------------*/
.clearfix {
  min-height: 1px;
}

.clearfix::after {
  display: block;
  visibility: hidden;
  height: 0;
  clear: both;
  content: " ";
}

* html .clearfix {
  height: 1px;
  /*¥*/
  /*/
		height: auto;
		overflow: hidden;
		/**/
}

/*-----------------------------------------------
mouse_on
-----------------------------------------------*/

.mouse_on:active img {
	transform:translateY(5px);
}

/*-----------------------------------------------
 body
-----------------------------------------------*/
body {
  /* background-image: none; */
  background: url(../img/kv/kv_bg02-pc.png);
}

.sp {
  display: none !important;
}

/*ここから*/
body {
  -webkit-text-size-adjust: 100%;
  font-feature-settings: "palt";
}

body.fixed {
  position: fixed;
  left: 0;
  width: 100%;
}

img {
  width: 100%;
  max-width: 100%;
  height: auto;
  vertical-align: top;
}

.inner-contents {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}

/* .g-header
-------------------------------------------------*/
.g-header-desktop-nav .container {
  width: 960px;
  max-width: 100%;
  margin: 0 auto;
  padding: 0 15px;
}

.g-header__navbar li {
  line-height: 1.5;
}

.g-header-mobile-nav__search-btn {
  background-image: url(../img/global/icon_glass_black.png);
}

.c-search__btn {
  background-image: url(../img/global/icon_glass.png);
}

.g-header__navbar a.release::before {
  background-image: url(../img/global/icon_release.png);
}

.g-header__navbar a.product::before {
  background-image: url(../img/global/icon_product.png);
}

.g-header__navbar a.special::before {
  background-image: url(../img/global/icon_special.png);
}

.g-header__navbar a.blog::before {
  background-image: url(../img/global/icon_blog.png);
}

.g-header__navbar a.award::before {
  background-image: url(../img/global/icon_award.png);
}

.g-offcanvas-nav a {
  padding: 20px 40px 20px 50px;
}

/* .page-title
-------------------------------------------------*/
.page-title {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  min-height: 122px;
  background: url(../img/pagetitle/bg_page_title.jpg) 0 0 repeat;
}

.page-title::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 250px;
  height: 8px;
  transform: translate(-50%, 0);
  background: url(../img/pagetitle/line_page-title.png) 0 0 repeat-x;
  content: "";
}

.page-title h1 {
  width: 250px;
  color: #fff;
  font-weight: 700;
  font-size: 34px;
  line-height: 1.1;
  text-align: center;
}

.page-title h1 span {
  display: block;
  margin-top: 30px;
  font-size: 20px;
  font-family: "Josefin Sans",sans-serif;
}

/* .kv
-------------------------------------------------*/
.kv {
  width: 100%;
  padding:0;
	position:relative;
}
.kv::before {
	content:"";
	height:100%;
	width: 100%;
  background:url(../img/kv/kv_bg01-pc.png) no-repeat top -3.5vw center;
  background-size:100% 100%;
	position: absolute;
	z-index: 1;
}
.kv .kv_wrap {
	position:relative;
}
.kv .kv_title {
	padding-top:calc(90 / 1800 * 100%);
	overflow: hidden;
}
.kv h1 {
  width: calc(886 / 1800 * 100%);
  margin:0 auto 0;
  text-align: center;
  position: relative;
  z-index: 1;
}
.kv h1 picture {
	margin:0 0 0 calc(10 / 1800 * 100%);
	display:block;
}
.kv .catch {
	width: calc(620 / 1800 * 100%);
	margin: 0 auto calc(30 / 1800 * 100%);
	text-align: center;
	position: relative;
	z-index: 1;
}
.kv .catch img {
	margin-left:calc(-10 / 1800 * 100%);
}

/* .campaign
-------------------------------------------------*/
.campaign {
	position:relative;
}

.campaign .campaign_list {
	background: url(../img/bg/bg-rounded-pc.png) no-repeat top left;
    background-size: 100%;
	height: clamp(80px, 11.1vw, 300px);
}
.campaign .campaign_list ul {
	display:flex;
	flex-wrap: wrap;
  width: calc(1022 / 1800 * 100%);
	margin:calc(30 / 1800 * 100%) auto 0;
	z-index: 2;
	position: relative;
	padding: calc(50 / 1800 * 100%) 0 0 0;
}
.campaign .campaign_list ul li:nth-child(1) {
	width: calc(499 / 1022 * 100%);
}
.campaign .campaign_list ul li:nth-child(2) {
	width: calc(498 / 1022 * 100%);
	margin: 0 0 0 calc(14 / 1022 * 100%);
}

.campaign .campaign_wrap {
background:url(../img/bg/bg_left.png) repeat-y left top, url(../img/bg/bg_right.png) repeat-y right top, url(../img/bg/bg_brown-pc.png) no-repeat;
	background-size:10.7vw auto,10.7vw auto,100%;
	padding: clamp(120px, 11.1vw, 300px) 0 0;
}

.campaign .campaign_contents h2 {
  width: calc(198 / 1800 * 100%);
	position:absolute;
	transform: translateX(-50%);
	width: calc(530 / 1800 * 100%);
	left: 50%;
	top: 1%;
}
.campaign #campaign01 {
	padding: calc(110 / 1800 * 100vw) 0 0;
	margin-bottom: calc(4 / 1800 * 100vw);
	position:relative;
}
.campaign #campaign01 .box {
  width: calc(900 / 1800 * 100%);
  margin: 0 auto;
	background:url(../img/campaign/cam1_bg-pc.png) no-repeat top left;
	background-size:100% 100%;
	padding: calc(575 / 1800 * 100vw) 0 0;
}

.entry-btn{
	width: calc(506 / 1800 * 100vw);
	display: block;
	margin: 0 auto;
	padding-bottom: calc(60 / 830 * 100%);
}

.campaign .targetbooks {
	display: flex;
	position: absolute;
	width: calc(770 / 830 * 100%);
	justify-content: space-between;
	left: 50%;
	top: calc(680 / 830 * 100%);
	transform: translateX(-50%);
}
.campaign .targetbooks li {
	width: 41.7%;
}

.campaign .targetbooks li:nth-child(1){
	margin-left:calc(20 / 830 * 100%) ;
}


.campaign #campaign01 .box > ul {
	padding-bottom:calc(20 / 830 * 100%);
}
.campaign #campaign01 .box > ul > li {
	position:relative;
}

.campaign #campaign01 .box .cam1_2 {
	margin: calc(-20 / 830 * 100%) auto;
    width: calc(830 / 1800 * 100vw);
	margin-bottom: calc(58 / 830 * 100%);
}

.cam1_2 a img{
	width:calc(365 / 1800 * 100vw);
	margin: 0 auto;
	display: block;
	margin-top:calc(80 / 1800 * 100%);
}
.campaign #campaign01 .box .cam1_3 {
	margin: 0 auto;
    width: calc(830 / 1800 * 100vw);
	margin-bottom: calc(8 / 830 * 100%);
}
.campaign #campaign01 .box .cam1_4 {
	margin: 0 auto;
    width: calc(830 / 1800 * 100vw);
	margin-bottom: calc(28 / 830 * 100%);
}
.campaign #campaign01 .box .cam1_5 {
	margin: 0 auto;
    width: calc(830 / 1800 * 100vw);
	margin-bottom: calc(58 / 830 * 100%);
}
.campaign #campaign01 .box .cam1_6 {
	padding-top: calc(20 / 830 * 100%);
	background: url(../img/campaign/cam1_cam6_bg-sp.png) no-repeat top left;
        background-size: 100% 100%;
		margin: 0 auto;
    width: calc(830 / 1800 * 100vw);
		
}
.campaign #campaign01 .box .cam1_6 picture img {
	width: calc(55 / 572 * 100%);
	margin-left: 2em;
}
.campaign #campaign01 .box .cam1_6 ul {
	padding:calc(70 / 1800 * 100%) calc(30 / 1800 * 100%);
}
.campaign #campaign01 .box .cam1_6 ul li {
	font-family: "dnp-shuei-mgothic-std", sans-serif;
	font-style: normal;
	font-size:calc(18 / 1800 * 100vw);
	line-height:1.52;
	color:#603e39;
	font-weight: 400;
	text-indent:-1em;
	margin-left:2em;
	letter-spacing: 0.1em;
}

.campaign #campaign01 .box .cam1_6 ul li:nth-child(11){
	margin-top: 1em;
	margin-bottom: 1em;
	margin-left: 2em;
}

.campaign #campaign01 .box .cam1_6 ul li:nth-child(11) a{
	margin-left: -1em;
}

.campaign #campaign01 .box .cam1_6 ul li a,.campaign #campaign01 .box .cam1_6 ul li a:link {
	color:#603e39;
	text-decoration:underline;
}
.campaign #campaign02 {
	padding: calc(95 / 1800 * 100vw) 0 calc(133 / 1800 * 100vw);
	position:relative;
}

.campaign #campaign02 .box{
	width: calc(900 / 1800 * 100%);
	margin: 0 auto;
	background: url(../img/campaign/cam2_bg-pc.png) no-repeat top left;
	background-size: 100% 100%;
	padding: calc(610 / 1800 * 100vw) 0 0;
}
.campaign #campaign02 .box > ul{
	margin: 0 auto;
	width: calc(830 / 1800 * 100vw);
}
.campaign #campaign02 .box .cam2_1{
	margin: 0 auto;
	padding:0 0 calc(60 / 930 * 100%);
}
.campaign #campaign02 .box .cam2_2{
	width: 100%;
	margin: 0 auto;
	padding: calc(0 / 930 * 100%) 0 calc(50 / 930 * 100%);
}
.campaign #campaign02 .box .cam2_2 picture.mb30 img{
	margin-bottom: calc(10 / 830 * 100%);
}
.campaign #campaign02 .box .cam2_3 {
  padding-top: calc(30 / 830 * 100%);
	background: url(../img/campaign/cam1_cam6_bg-sp.png) no-repeat top left;
    background-size: 100% 100%;
	margin-bottom: calc(60 / 830 * 100%);
}
.campaign #campaign02 .box .cam2_3 picture img {
	width: calc(55 / 572 * 100%);
    margin-left: 2em;
}
.campaign #campaign02 .box .cam2_3 ul {
  padding: calc(50 / 1800 * 100%) calc(30 / 1800 * 100%) calc(130 / 1800 * 100%);
}
.campaign #campaign02 .box .cam2_3 ul li {
	font-family: "dnp-shuei-mgothic-std", sans-serif;
	font-style: normal;
  font-size: calc(18 / 1800 * 100vw);
  line-height: 1.72;
  color: #603e39;
  font-weight: 400;
  text-indent: -1em;
  margin-left: 1.7em;
  letter-spacing: 0.02em;
}
.campaign #campaign02 .box .cam2_4 {
	margin-left: calc(-10 / 830 * 100%);
	margin-bottom: calc(37 / 830 * 100%);
	position: relative;
}
.campaign #campaign02 .box .cam2_4 h3 {
  width: calc(822 / 930 * 100%);
  margin: 0 auto calc(30 / 930 * 100%) calc(50 / 930 * 100%);
}
.campaign #campaign02 .box .cam2_5 {
	overflow: hidden;
	padding-bottom: calc(50 / 830 * 100%);
}
.campaign #campaign02 .box .cam2_5 h3 {
  width: 100%;
  margin: 0 0 calc(15 / 572 * 100%) 0;
}

.campaign #campaign02 .box .cam2_5 ul.short li img {
	border:solid 1px #3c4150;
}
.campaign #campaign02 .box .cam2_5 ul.short li .booktitle {
	font-size: calc(28	 / 1800 * 100vw);
	color:#603e39;
}

.campaign #campaign02 .box .cam2_5 ul.short {
	display:flex;
	flex-wrap:wrap;
	justify-content: space-between;
	width: 100%;
	padding: calc(30 / 930 * 100%);
	background: url(../img/campaign/short_bg_pc.png) no-repeat top left;
	background-size: 100% 100%;
}
.campaign #campaign02 .box .cam2_5 ul.short li {
	width:28.7%;
}

.campaign #campaign02 .box .cam2_5 ul.short li:nth-child(4),.campaign #campaign02 .box .cam2_5 ul.short li:nth-child(5),.campaign #campaign02 .box .cam2_5 ul.short li:nth-child(6),.campaign #campaign02 .box .cam2_5 ul.short li:nth-child(7),.campaign #campaign02 .box .cam2_5 ul.short li:nth-child(8),.campaign #campaign02 .box .cam2_5 ul.short li:nth-child(9){
margin-top: calc(16 / 830 * 100%);
}

/* .shortstory
-------------------------------------------------*/

  
.shortstory_kv {
  width: 100%;
  padding:0;
  position:relative;
}
.shortstory_kv::before {
	content:"";
	height:100%;
	width: 100%;
  background:url(../img/shortstory/kv_bg01-pc.png) no-repeat top -4vw center;
  background-size:100% 100%;
	position: absolute;
	z-index: 1;
}
.shortstory_kv .tokuten_kv_wrap {
  	position:relative;
}
.shortstory_kv .shortstory_kv_title {
	text-align:center;
	width:100%;
	padding-top: calc(60 / 1800 * 100%);
    padding-bottom: calc(60 / 1800 * 100%);
	background:url(../img/shortstory/kv_bg02-pc.png) no-repeat top center;
	 background-size:100% auto;
	 overflow: visible;
}
.shortstory_kv h1 {
	width: calc(886 / 1800 * 100%);
	margin: calc(80 / 1800 * 100%) auto 0;
	text-align: center;
	position: relative;
	z-index: 1;
}
.shortstory_kv h1 picture {
	margin: 0 0 0 calc(13 / 1800 * 100%);
	display: block;
}
.shortstory_kv .catch {
	width: calc(559 / 1800 * 100%);
	margin: 0 auto calc(55 / 1800 * 100%);
	text-align: center;
	position: relative;
	z-index: 1;
}
.shortstory_kv .catch picture {
	margin: 0 0 0 calc(10 / 1800 * 100%);
}
  .shortstory_bg-rounded {
	width: 100%;
    position: relative;
    top: 0;
    margin-top: calc(-20px - 2.2vw);
    height: auto;
    line-height: 0; 
}
  
  .shortstory_bg-rounded img {
	width: 100%;
	display: block;
  }
  
.shortstory_wrap {
    background: url(../img/bg/bg_left.png) repeat-y left top, url(../img/bg/bg_right.png) repeat-y right top, url(../img/bg/bg_brown-pc.png) no-repeat;
    background-size: 16vw auto, 15.5vw auto, 100%;
}

#shortstory .shortstory-contents {
  width: calc(947 / 1800 * 100%);
  max-width: 947px;
  margin: 0 auto;
  margin-top: calc(-40 / 640 * 100vw);
  padding:0 0 calc(135 / 1800 * 100%);
  position:relative;
  z-index:1;
}
#shortstory .shortstory-contents li {
	margin-top:calc(90 / 1800 * 100%);
	cursor:pointer;
}
#shortstory .illust {
	text-align:right;
	color:#734c39;
	width:calc(900 / 1000 * 100%);
	max-width:900px;
	margin:10px auto 0;
	padding-bottom:62px;
	font-size:12px;
}

.g-footer .bnr{
    margin-bottom: 30px;
}

/* .g-footer
-------------------------------------------------*/
.g-footer {
  position: relative;
  padding-top: 33px;
  background: #fff;
  color: #1f1f1f;
  text-align: center;
}

.g-footer::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 33px;
  background-color: #fff;
  content: "";
}

.g-footer .container {
  position: relative;
  width: 100%;
  max-width: 750px;
  margin: 0 auto;
}

.g-footer .g-footer-banner {
  padding: 30px 0 30px;
  border-top: 1px solid #ddd;
}

.g-footer .g-footer-banner .g-footer-banner__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.g-footer .g-footer-banner .g-footer-banner__list li {
  margin: 0 21px;
  transition: all 0.5s ease;
}

.g-footer .g-footer-banner .g-footer-banner__list li:hover {
  opacity: 0.75;
}

.g-footer .g-footer-nav {
  background-color: #f9be00;
}

.g-footer .g-footer-nav .g-footer-navbar__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding: 32px 0 26px;
}

.g-footer .g-footer-nav .g-footer-navbar__list li {
  border-right: 1px solid #fff;
  font-size: 14px;
  line-height: 1.1;
}

.g-footer .g-footer-nav .g-footer-navbar__list li:last-of-type {
  border-right: none;
}

.g-footer .g-footer-nav .g-footer-navbar__list li a {
  display: inline-block;
  padding: 0 15px;
  color: #fff;
}

.g-footer .g-footer__inner {
  padding: 25px 0 100px;
}

.g-footer .g-footer__inner .c-list-sns {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 15px;
}

.g-footer .g-footer__inner .c-list-sns li {
  margin: 0 7.5px;
}

.g-footer .g-footer__inner .c-list-sns li a {
  display: block;
  transition: all 0.5s ease;
}

.g-footer .g-footer__inner .c-list-sns li a:hover {
  opacity: 0.75;
}

.g-footer .g-footer__inner .g-footer__logo {
  width: calc(320 / 750 * 100%);
  max-width: 320px;
  margin: 0 auto 20px;
}

.g-footer .g-footer__inner .g-footer__logo a {
  display: block;
  transition: all 0.5s ease;
}

.g-footer .g-footer__inner .g-footer__logo a:hover {
  opacity: 0.75;
}

.g-footer .g-footer__inner .g-footer__copyright {
  font-size: 14px;
}
#page-top-scroll {
	display:none;
}
#page-top-scroll.scroll {
	display:block !important;
	z-index: 5;
	right: calc(50% - (900 / 1800 * 100% / 2) - 82px);
	bottom:20px;
	width:calc(76 / 1800 * 100%);
}


@media only screen and (max-width: 768px) {
  body {
    min-width: 0;
	background: url(../img/kv/kv_bg02-sp.png);
  }
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }
}

@media print, screen and (max-width: 640px) and (min-width: 1px) {
  body {
    width: 100%;
  }
  .inner-contents {
    width: calc(622 / 640 * 100%);
  }
  .main {
    margin-bottom: 7.8125vw;
    padding-bottom: 6.5625vw;
  }
  .page-title {
    min-height: 30vw;
  }
  .page-title::before {
    width: calc(440 / 640 * 100%);
    height: 1.25vw;
    background-size: auto 100%;
  }
  .page-title h1 {
    font-size: 7.5vw;
  }
  .page-title h1 span {
    margin-top: 3.75vw;
    font-size: 6.25vw;
  }
  .kv {
		position:relative;
		width: 100%;
		padding-top: calc(100 / 640 * 100%);
		background: url(../img/kv/kv_bg02-sp.png) no-repeat top center;
			background-size: auto;
		background-size: 100% auto;
		overflow: hidden;
	}

	.kv::before {
		content: "";
		height: 100%;
		width: 100%;
		background:url(../img/kv/kv_bg01-sp.png) no-repeat center;
		background-size: 100% 100%;
		top:0;
  }
	.kv .kv_wrap {
		z-index:1;
	}
	.kv .kv_title {
		background:none;
		padding: 0;
	}
  .kv h1 {
    height: auto;
		width: calc(489 / 640 * 100%);
		margin-bottom: calc(20 / 640 * 100%);
		z-index: 2;
		position: relative;	
  }

	.kv .catch {
		width: calc(549 / 640 * 100%);
		max-width: 549px;
		margin: calc(0 / 640 * 100%) auto calc(15 / 640 * 100%);
	}
	
	.campaign .campaign_list {
		padding: calc(35 / 640 * 100%) 0 0;
		background: url(../img/bg/bg-rounded-sp.png) no-repeat top left;
		background-size: 100%;
		height: clamp(80px, 5.5vw, 90px);
	}
	.campaign .campaign_list ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		width:100%;
		z-index: 2;
		position: relative;
		padding: 0 calc(15 / 640 * 100vw) calc(16 / 640 * 100vw) calc(15 / 640 * 100vw);
	}
	.campaign .campaign_list ul li:nth-child(1) {
		width: calc(295 / 640 * 100vw);
	}
	.campaign .campaign_list ul li:nth-child(2) {
		width: calc(295 / 640 * 100vw);
		margin:initial;
	}
	.campaign .campaign_wrap {
		background: url(../img/bg/bg_brown-sp.png) repeat top left;
		background-size: 100% 100%;
		padding-top: clamp(10px, 28.125vw, 180px);
}
	.campaign #campaign01 {
		padding: calc(56 / 640 * 100vw) calc(20 / 640 * 100vw) 0 calc(20 / 640 * 100vw);
		margin-bottom: calc(55 / 640 * 100vw);
	}
	.campaign .campaign_contents h2 {
		width: calc(359 / 640 * 100%);
		left: 50%;
		top: 1%;
	}
	.campaign #campaign01 .box {
  	width: 100%;
		margin:0;
		background: url(../img/campaign/cam1_bg-sp.png) no-repeat top left;
		background-size: 100% 100%;
		padding: calc(390 / 640 * 100vw) 0 calc(0 / 640 * 100vw);
	}
	.campaign #campaign01 .box > ul {
		margin: 0 auto;
		width: 100%;
		padding-bottom: calc(0 / 830 * 100%);
	}
	.campaign #campaign01 .box .cam1_1 {
		margin-bottom: calc(-12 / 572 * 100%);
		width: 100%;
	}

	.campaign #campaign01 .box .cam1_6 picture img {
		width: calc(60 / 572 * 100%);
		margin-left: 1.2em;
	}

	

	.entry-btn {
		width: calc(475 / 640 * 100vw);
		padding-bottom: calc(60 / 830 * 100%);
	}

	.entry-btn:hover {
		opacity: 1;

	}
	.campaign .download {
		width: 84%;
		top: calc(236 / 572 * 100%);
	}
	.campaign .download li {
		width:calc(270 / 572 * 100%);
	}
	.campaign #campaign01 .box .cam1_2 {
		width:calc(528 / 572 * 100%);
		margin: 0 auto;
		margin-bottom: calc(36 / 572 * 100%);
	}

	.cam1_2 a img{
		width: calc(335 / 572 * 100vw);
	}

	.campaign #campaign01 .box .cam1_3 {
		width: calc(528 / 572 * 100%);
		margin: 0 auto;
		margin-bottom: calc(15 / 572 * 100%);
	}
	.campaign #campaign01 .box .cam1_4 {
		width: calc(528 / 572 * 100%);
		margin: 0 auto;
	}
  .campaign #campaign01 .box .cam1_5 {
	width: calc(528 / 572 * 100%);
		margin: 0 auto;
		margin-bottom: calc(36 / 572 * 100%);
	}
  .campaign #campaign01 .box .cam1_6 {
	width: calc(528 / 572 * 100%);
	margin: 0 auto;
	
	}
	.campaign #campaign01 .box .cam1_6 ul {
		padding: calc(25 / 572 * 100%) calc(25 / 572 * 100%) calc(25 / 572 * 100%) calc(20 / 572 * 100%);
	}
	.campaign #campaign01 .box .cam1_6 ul li {
		font-size: calc(12 / 640 * 100vw);
		line-height: 1.6;
		letter-spacing: 0.04em;
	}
	
	.campaign #campaign01 .box .cam1_6 ul li:nth-child(10) {
		margin-top: 2em;
		margin-bottom: 2em;
		margin-left: 2em;
	}

	.campaign #campaign01 .box .cam1_6 ul li:nth-child(10) a {
		font-size: calc(18 / 640 * 100vw);
	}

	.campaign #campaign02 {
		padding: calc(50 / 640 * 100vw) calc(20 / 640 * 100vw) calc(110 / 572 * 100%) calc(20 / 640 * 100vw);
	}
	.campaign #campaign02 h2 {
		top: 0.3%;
		z-index: 1;
	}
	.campaign #campaign02 .box{
		width: 100%;
		position: relative;
		margin: 0;
		background: url(../img/campaign/cam2_bg-sp.png) no-repeat top left;
		background-size: 100% 100%;
		padding: calc(400 / 640 * 100vw) 0 calc(20 / 640 * 100vw);
	}
	.campaign #campaign02 .box > ul {
		margin: 0 auto;
		width: calc(572 / 640 * 100vw);
	}
	.campaign #campaign02 .box .cam2_1{
		padding: 0;
		width: calc(560 / 572 * 100%);
        margin: 0 auto;
        margin-bottom: calc(36 / 572 * 100%);
	}
	.campaign #campaign02 .box .cam2_2{
		width: calc(560 / 572 * 100%);
		padding: 0 0 calc(10 / 572 * 100%);
	}

	.campaign #campaign02 .box .cam2_2 picture.mb30 img {
		margin-bottom: calc(30 / 830 * 100%);
	}
	.campaign #campaign02 .box .cam2_3 {
		padding-bottom: 0;
		width: calc(560 / 572 * 100%);
		margin:0 0 calc(33 / 572 * 100%) calc(6 / 572 * 100%);
	}
	.campaign #campaign02 .box .cam2_3 ul {
		padding: calc(15 / 572 * 100%) calc(10 / 572 * 100%) calc(30 / 572 * 100%) calc(10 / 572 * 100%);
	}
	.campaign #campaign02 .box .cam2_3 ul li {
		font-size: calc(12 / 640 * 100vw);
		line-height: 1.6;
	}
	.campaign #campaign02 .box .cam2_4 {
		width: calc(560 / 572 * 100%);
		margin: 0 0 calc(40 / 572 * 100%) calc(6 / 572 * 100%);
	}

	.campaign .targetbooks li:nth-child(1) {
		margin-left: calc(5 / 830 * 100%);
	}

	.campaign .targetbooks li {
		width: 44%;
	}

	.campaign #campaign02 .box .cam2_5 {
		width: calc(560 / 572 * 100%);
		padding: 0;
		margin: 0 auto;
	}
	.campaign #campaign02 .box .cam2_5 h3 {
		width: 100%;
		margin: 0 0 calc(15 / 572 * 100%) 0;
	}
	.campaign #campaign02 .box .cam2_5 ul.short {
		width: calc(560 / 561 * 100%);
		/* margin: 0 auto calc(38 / 561 * 100%) calc(13 / 561 * 100%); */
		padding: calc(15 / 561 * 100%) calc(23 / 561 * 100%);
		background: url(../img/campaign/short_bg_sp.png) no-repeat top left;
        background-size: 100% 100%;
	}
	.campaign #campaign02 .box .cam2_5 ul.short li {
		width: 29%;
	}
	.campaign #campaign02 .box .cam2_5 ul.short li .booktitle {
		font-size: calc(18.92 / 640 * 100vw);
		color: #92664d;
	}
	.campaign #campaign02 .box .cam2_5 ul.short li:nth-child(4), .campaign #campaign02 .box .cam2_5 ul.short li:nth-child(5) {
		width: 30.2%;
	}
	.campaign #campaign02 .box .cam2_5 ul.short li:nth-child(4) {
		margin-right: 3%;
	}
	.campaign #campaign02 .box .cam2_5 ul.short li:nth-child(5) {
		margin-right: 3.2%;
	}

	#page-top-scroll.scroll {
		right: 0;
		bottom:calc(20 / 640 * 100%);
		width:calc(76 / 640 * 100%);
	}
	
	.shortstory_kv {
		position: relative;
		width: 100%;
		padding-top: calc(77 / 640 * 100%);
		padding-bottom: calc(90 / 640 * 100%);
		background: url(../img/shortstory/kv_bg02-sp.png) no-repeat top center;
		background-size: 100% auto;
		overflow: hidden;
	}
	.shortstory_kv::before {
		content: "";
		height: 100%;
		width: 100%;
		background: url(../img/shortstory/kv_bg01-sp.png) no-repeat top center;
		background-size: 100%;
		top: 0;
	}
	.shortstory_kv .shortstory_kv_title {
		background: none;
		padding: 0;
	}
	.shortstory_kv .shortstory_kv_title h1 {
		height: auto;
		width: calc(495 / 640 * 100%);
		margin:0 0 calc(14 / 640 * 100%) calc(74 / 640 * 100%);
		z-index: 2;
		position: relative;
	}
	.shortstory_kv .shortstory_kv_title .catch {
		width: calc(466 / 640 * 100%);
		margin: 0 auto calc(10 / 640 * 100%);
		position: relative;
		z-index: 2;
	}


	  
  .shortstory_wrap{
	        background: url(../img/bg/bg_brown-sp.png) repeat top left 3vw;
        background-size: 100% auto;
  }
	#shortstory .shortstory-contents {
	  width: calc(600 / 640 * 100%);
		margin-top: calc(-300 / 640 * 100vw);
		padding: 0 0 calc(135 / 640 * 100%);
	}
	#shortstory .shortstory-contents li {
		margin-top: calc(48 / 640 * 100%);
	}
	#shortstory .shortstory-contents li:nth-child(2n) {
		margin-left: calc(-15 / 640 * 100%);
	}
	
  .g-footer .container {
    width: 100%;
  }
  .g-footer .g-footer-banner {
    padding: 7.8125vw 0 7.8125vw;
  }
  .g-footer .g-footer-banner .g-footer-banner__list {
    justify-content: space-between;
    width: calc(586 / 640 * 100%);
    margin: 0 auto;
  }
  .g-footer .g-footer-banner .g-footer-banner__list li {
    width: calc(280 / 586 * 100%);
    margin: 0;
  }
  .g-footer .g-footer-nav .g-footer-navbar__list {
    justify-content: flex-start;
    padding: 0;
  }
  .g-footer .g-footer-nav .g-footer-navbar__list li {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50%;
    border-bottom: 1px solid #fff;
    font-weight: 700;
    font-size: 22px;
    font-size: 3.4375vw;
  }
  .g-footer .g-footer-nav .g-footer-navbar__list li:last-of-type {
    border-right: 1px solid #fff;
    border-bottom: none;
  }
  .g-footer .g-footer-nav .g-footer-navbar__list li:nth-of-type(2n) {
    border-right: none;
  }
  .g-footer .g-footer-nav .g-footer-navbar__list li a {
    display: inherit;
    padding: 3.90625vw 0 3.4375vw;
  }
  .g-footer .g-footer__inner {
    padding: 6.25vw 0 100px;
  }
  .g-footer .g-footer__inner .c-list-sns {
    margin-bottom: 4.0625vw;
  }
  .g-footer .g-footer__inner .c-list-sns li {
    width: calc(68 / 640 * 100%);
    margin: 0 1.875vw;
  }
  .g-footer .g-footer__inner .g-footer__logo {
    width: calc(542 / 640 * 100%);
    margin-bottom: 3.90625vw;
  }
  .g-footer .g-footer__inner .g-footer__copyright {
    font-size: 22px;
    font-size: 3.4375vw;
  }
}

@media print, screen and (max-width: 991px) {
  .body {
    position: relative;
    height: 100%;
    overflow-x: hidden;
  }
  .js-acms-offcanvas-body-right {
    left: 0;
  }
  .js-acms-offcanvas-body-right .body-inner {
    transform: translateX(-300px);
  }
  .body-inner {
    height: 100%;
    min-height: 100vh;
    transition: all .3s;
  }
  .js-acms-offcanvas-active {
    display: block;
    width: 100%;
    transform: translateX(100%);
  }
  .js-acms-offcanvas-open {
    right: 0;
    transform: translateX(0);
  }
  .g-offcanvas-header::after {
    background-image: url(../img/global/icon_close.png);
  }
  .g-offcanvas-nav li {
    line-height: 1.5;
  }
  .g-offcanvas-nav a.release::before {
    background-image: url(../img/global/icon_release.png);
  }
  .g-offcanvas-nav a.product::before {
    background-image: url(../img/global/icon_product.png);
  }
  .g-offcanvas-nav a.special::before {
    background-image: url(../img/global/icon_special.png);
  }
  .g-offcanvas-nav a.blog::before {
    background-image: url(../img/global/icon_blog.png);
  }
  .g-offcanvas-nav a.award::before {
    background-image: url(../img/global/icon_award.png);
  }
  .g-offcanvas-nav a::after {
    background-image: url(../img/global/icon_arrow_offcanvas_nav.png);
  }
}