@charset "utf-8";


/* Fonts
-------------------------------------------------------------- */
* {
  font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
}




/* Global Elements
-------------------------------------------------------------- */

.hidden {
  display: none;
}
.sp {
  display: block;
}
br.sp {
  display: inline;
}
br.sp-none {
  display: none;
}
.pc {
  display: none;
}

a:link,
a:visited {
  color: inherit;
  text-decoration: none;
}
a:active,
a:hover {
  color: inherit;
  text-decoration: none;
  opacity: 0.6;
}
a:active img,
a:hover img {
  opacity: 0.6;
}
a.bg-white {
  display: inline-block;
  background-color: #fff;
  max-width: 100%;
}

.alignleft {
  float: left;
  margin-right: 15px;
  margin-botttom: 10px;
}
.alignright {
  float: right;
  margin-left: 15px;
  margin-botttom: 10px;
}
.clear {
  clear: both;
}
.clearfix:after {
  content: "";
  clear: both;
  display: block;
}
.justifyleft {
  text-align: left;
}
.justifyright {
  text-align: right;
}
.center,
.centerize {
  text-align: center;
}

.orange, .dic636 {
  color: #ff8200;
}
.blue, .dic579c {
  color: #0053b0;
}
.purple {
  color: #4d0099;
}
.black {
  color: #000;
}
.green {
  color: #1aac4d;
}
.red{
  color: #FF0004;
}
.darkgreen {
	color: #006960;
}
.brown {
	color: #bb5f3a;
}
.gray {
	color: #7d7d7d;
}
.blue2023 {
	color: #00a0d2;
}
.green2024 {
	color: #9AC717;
}
.purple2025 {
	color: #a66aaa;
}
.bold {
  font-weight: bold;
}
.sub {
  font-size: 0.9em;
  font-weight: normal;
}

.standard {
  font-size: 1.4rem;
}
.x-small {
  font-size: 1.2rem;
}
.small {
  font-size: 1.3rem;
}
.large {
  font-size: 1.5rem;
}
.x-large {
  font-size: 1.6rem;
}
.xx-large {
  font-size: 1.8rem;
}

.nowrap {
  white-space: nowrap;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
img.bg-white {
  background: #fff;
}
img.img-border {
  border: 1px solid #ccc;
}
img.img-320 {
  width: 320px;
  max-width: 100%;
}

@media screen and (min-width: 641px) {
  .sp {
    display: none;
  }
  br.sp {
    display: none;
  }
  .pc {
    display: block;
  }
}


/* swipebox
-------------------------------------------------------------- */
#swipebox-slider .slide-loading{background:url(../ikkialhara_images/loader.gif);}
#swipebox-close,#swipebox-next,#swipebox-prev{background-image:url(../ikkialhara_images/icons.png);}

/* Structure
-------------------------------------------------------------- */

html {
  font-size: 62.5%;
}
body {
  background-color: #fff;
  color: #000;
  font-size: 3.125vw;
  width: 100%;
  overflow: hidden;
}

@media screen and (min-width: 641px) {
  body {
    font-size: 1em;
  }
  .wrapper {
    width: 100%;
    max-width: 960px;
    padding: 20px 0;
    margin: 0 auto;
  }
}


/* Header
-------------------------------------------------------------- */
.site-header {
  /*background-image: url(../ikkialhara_images/waku_sp_up.gif), url(../ikkialhara_images/sen.gif);
  background-position: center top, center bottom;
  background-repeat: no-repeat, no-repeat;
  background-size: 100% auto, 100% auto;*/
  border: 3px solid #000;
  padding: calc(10em / 10);
  margin: calc(8em / 10) calc(8em / 10) 0;
}
.socialmedia {
  margin-bottom: calc(4em / 10);
}
.socialmedia .facebook {
  display: inline-block;
  height: 21px;
}
.socialmedia .twitter {
  display: inline-block;
  height: 20px;
}
.breadcrumb {
  display: block;
  font-size: calc(11em / 10);
  color: #989898;
  line-height: calc(18em / 11);
  margin-bottom: calc(12em / 11);
}
.breadcrumb .layer {
  display: block;
}
.title {
  font-size: calc(18em / 10);
  color: #ff8200;
  text-align: center;
  line-height: calc(28em / 18);
  margin-bottom: calc(12em / 18);
}
.description {
  text-align: center;
  font-size: calc(10.5em / 10);
  line-height: calc(20em / 10.5);
  margin-bottom: calc(12em / 10.5);
}
.site-header h1 {
  font-size: calc(22em / 10);
  line-height: calc(32em / 20);
  text-align: center;
  margin-bottom: calc(12em / 20);
}
.site-header h2 {
  font-size: calc(20em / 10);
  line-height: calc(32em / 20);
  text-align: center;
  margin-bottom: calc(12em / 20);
}
.topiclist {
	width: 100%; 
	margin:  0 auto; 
}
.topic {
  text-align: left;
  font-size: calc(10.5em / 10);
  line-height: calc(20em / 10.5);
  margin-bottom: calc(12em / 10.5);
}
@media screen and (min-width: 641px) {
  .site-header {
    /*width: 100%;*/
    background-position: center top 100px, center bottom;
    padding: 50px;
    margin: 120px 20px 0;
    position: relative;
  }
  .socialmedia {
    position: absolute;
    top: -85px;
    left: 0;
    margin-bottom: 0;
  }
  .socialmedia .facebook {
  }
  .socialmedia .twitter {
  }
  .breadcrumb {
    font-size: 12px;
    line-height: 18px;
    margin-bottom: 12px;
    position: absolute;
    top: -110px;
    left: 0;
  }
  .breadcrumb .layer {
    display: inline;
  }
  .title {
    font-size: 32px;
    line-height: 48px;
    margin-bottom: 12px;
  }
	
  .description {
    font-size: 16px;
    line-height: 22px;
    margin-bottom: 12px;
  }
	.topiclist {
	width: 630px; 
	margin:  0 auto; 
	}
	.topic {
    font-size: 16px;
    line-height: 22px;
    margin-bottom: 12px;
  }
  .site-header h1 {
    font-size: 32px;
    line-height: 52px;
    width: auto;
  }
  .site-header h2 {
    font-size: 28px;
    line-height: 52px;
    margin-bottom: 24px;
    width: auto;
  }
}



/* PageTop
-------------------------------------------------------------- */
.pagetop {
  text-align: center;
  padding: calc(4em / 10) 0;
  background-color: rgba(204,204,204,0.4);
  border-radius: calc(5em / 10);
  position: fixed;
  bottom: calc(20em / 10);
  right: calc(8em / 10);
  width: calc(28em / 10);
}
.pagetop-1 {
  display: none;
}
.pagetop-2 {
  font-size: calc(14em / 10);
  color: #666;
  width: calc(18em / 10);
  margin-bottom: calc(4em / 10);
}
@media screen and (min-width: 641px) {
  .pagetop {
    padding: 8px;
    border-radius: 5px;
    bottom: 20px;
    right: 8px;
    width: auto;
  }
  .pagetop-1 {
    display: block;
    font-size: 12px;
    color: #666;
  }
  .pagetop-2 {
    font-size: 16px;
    width: 20px;
    margin-bottom: 0;
    vertical-align: middle;
  }
}


/* Content (Common)
-------------------------------------------------------------- */
.site-main article {
  padding: calc(18em / 10);
  /*background-image: url(../ikkialhara_images/waku_sp.gif), url(../ikkialhara_images/sen.gif);
  background-position: center top, center bottom;
  background-repeat: repeat-y, no-repeat;
  background-size: 100% auto, 100% auto;*/
  border-right: 3px solid #000;
  border-bottom: 3px solid #000;
  border-left: 3px solid #000;
  padding: calc(10em / 10);
  margin: 0 calc(8em / 10);
}
.site-main article:last-child {
  padding: calc(18em / 10);
  /*background-image: url(../ikkialhara_images/waku_sp_down.gif), url(../ikkialhara_images/waku_sp.gif);
  background-position: center bottom, center top;
  background-repeat: no-repeat, repeat-y;
  background-size: 100% auto, 100% auto;*/
  border-right: 3px solid #000;
  border-bottom: 3px solid #000;
  border-left: 3px solid #000;
  padding: calc(10em / 10);
  margin: 0 calc(8em / 10) calc(8em / 10);
}
@media screen and (min-width: 641px) {
  .site-main article {
    /*width: 100%;*/
    max-width: 960px;
    padding: 30px 50px 50px;
    margin: 0 20px;
    position: relative;
  }
  .site-main article:last-child {
    padding: 30px 50px 50px;
    margin: 0 20px;
  }
}

.content-wrapper {
  padding: 0 0 calc(18em / 10) 0;
}
.sp-left50 {
  float: left;
  width: 50%;
}
.sp-left50 .content-wrapper {
  padding: 0 calc(5em / 10) calc(18em / 10) 0;
}
.sp-right50 {
  float: right;
  width: 50%;
}
.sp-right50 .content-wrapper {
  padding: 0 0 calc(18em / 10) calc(5em / 10);
}
@media screen and (min-width: 641px) {
  .content-wrapper {
    padding: 0 0 20px 0;
  }
  .pc-640 {
    max-width: 640px;
    margin: 0 auto;
  }
  .sp-left50,
  .sp-right50 {
    float: none;
    width: auto;
  }
  .sp-left50 .content-wrapper,
  .sp-right50 .content-wrapper {
    padding: 30px 0 20px;
  }
  .pc-left33 {
    float: left;
    width: 33.3333%;
  }
  .pc-left50 {
    float: left;
    width: 50%;
  }
  .pc-left33 .content-wrapper,
  .pc-left50 .content-wrapper {
    padding: 0 15px 20px 0;
  }
  .pc-right50 {
    float: right;
    width: 50%;
  }
  .pc-right66 {
    float: right;
    width: 66.6666%;
  }
  .pc-right50 .content-wrapper,
  .pc-right66 .content-wrapper {
    padding: 0 0 20px 15px;
  }
}

.content h2 {
  font-size: calc(18em / 10);
  line-height: calc(32em / 20);
  text-align: center;
  margin-bottom: calc(12em / 20);
}
.content h3 {
  font-size: calc(16em / 10);
  margin-bottom: calc(12em / 18);
}
.content h4 {
  font-size: calc(14em / 10);
  margin-bottom: calc(12em / 12);
}
.content h4.line {
  border-bottom: 1px solid #000;
}
.content h5 {
  font-size: calc(12em / 10);
  margin-bottom: calc(12em / 12);
}
.content h2 span,
.content h3 span,
.content h4 span {
  display: inline-block;
  text-align: left;
}
.content p {
  font-size: calc(12em / 10);
  line-height: calc(20em / 12);
  margin: 0 0 calc(12em / 12);
}
.content p a {
  text-decoration: underline;
}
.content p.button a {
  display: inline-block;
  font-size: calc(14em / 12);
  line-height: calc(24em / 12);
  letter-spacing: calc(2em / 14);
  width: 98%;
  padding: calc(8em / 14);
  background-color: #000000;
  color: #fff;
  border-radius: calc(12em / 14);
  font-weight: bold;
  text-align: center;
  text-decoration: none;
}
.content p.button a:hover {
  opacity: 0.6;
}
.content p.video {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 62.5%;
}
.content p.video iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.content ul {
  margin-bottom: calc(24em / 10);
}
.content li {
  display: block;
  font-size: calc(12em / 10);
  line-height: calc(16em / 12);
  margin-bottom: calc(4em / 12);
}
.content li a:before {
  content: '● ';
}
.content ul.dot li {
  text-indent: -1em;
  padding: 0 0 0 1.5em;
}
.content ul.dot li:before {
  content: '・';
}
.content dl {
  font-size: calc(12em / 10);
  line-height: calc(20em / 12);
  margin: 0 0 calc(24em / 12);
}
.content dl:nth-child(2) {
  border-top: 1px solid #00a0d2;
}
.content dl img {
  padding-bottom: calc(12em / 12);
}
.content dt {
  text-align: center;
  color: #00a0d2;
  float: left;
  padding: calc(12em / 12) 0;
  width: 130px;
}
.content dd {
  margin: 0 0 0 140px;
}
.content dd dl {
  font-size: calc(12em / 12);
  border-bottom: 0;
  padding: calc(8em / 12) 0;
  margin: 0;
}
.content dd dl:nth-child(2) {
  border-top: 0;
}
.content dd dt {
  text-align: left;
  font-weight: bold;
  float: none;
  padding: 0;
  width: auto;
}
.content dd dd {
  margin: 0;
}
/*
.content dt {
  float: left;
  width: 12rem;
  margin-bottom: 2rem;
  color: #3bb200;
  font-weight: bold;
  font-size: 1.4rem;
  text-align: center;
}
.knowledge dt img {
  margin-bottom: 0.5rem;
}
.knowledge dd {
  margin: 0 0 2rem 14rem;
}
.knowledge dd dt {
  padding: 8px 0;
}
.knowledge dd dt {
  float: none;
  width: auto;
  color: #b51f7a;
  margin-bottom: 0.5rem;
  padding-left: 2rem;
  background: url(../ikkialhara_images/li-red-bg.png) 0 0.5rem no-repeat;
  font-weight: bold;
  font-size: 1.4rem;
  text-align: left;
}
.knowledge dd dd {
  float: none;
  margin: 0 0 1rem 0;
  padding-left: 2rem;
}*/
@media screen and (min-width: 641px) {
  .content h2 {
    font-size: 24px;
    line-height: 36px;
    margin-bottom: 24px;
    width: auto;
  }
  .content h3 {
    font-size: 20px;
    margin-bottom: 12px;
    width: auto;
  }
  .content h4 {
    font-size: 16px;
    margin-bottom: 16px;
  }
  .content h5 {
    font-size: 14px;
    line-height: 24px;
    margin-bottom: 14px;
  }
  .content p {
    font-size: 14px;
    line-height: 24px;
    margin: 0 auto 14px;
    width: auto;
  }
  .content p.button a {
    font-size: 28px;
    line-height: 52px;
    letter-spacing: 4px;
    width: 560px;
    max-width: 100%;
    padding: 10px;
    border-radius: 20px;
  }
  .content ul {
    margin-bottom: 24px;
  }
  .content li {
    font-size: 14px;
    line-height: 24px;
    margin-bottom: 4px;
  }
  .content dl {
    font-size: 14px;
    line-height: 24px;
    padding: 12px 0;
    margin: 0 0 24px;
  }
  .content dl img {
    padding-bottom: 12px;
  }
}



/* Content (Top)
-------------------------------------------------------------- */
.campaign-banner {
  margin: 0 auto;
}
.campaign-banner img {
	
}
.campaign-banner h2 {
  font-size: calc(22em / 10);
  line-height: calc(44em / 24);
  text-align: center;
  margin: 0 auto calc(8em / 24);
}
.campaign-banner h3 {
  font-size: calc(16em / 10);
  line-height: calc(32em / 18);
  text-align: left;
  margin-bottom: calc(12em / 18);
  font-weight: normal;
}
.campaign-banner h3 span {
  display: inline-block;
  text-align: left;
}
.campaign-banner h4 {
  font-size: calc(12em / 10);
  line-height: calc(20em / 12);
  font-weight: normal;
  text-align: left;
  margin: 0 0 calc(12em / 12);
}
.campaign-banner h4:before {
  display: inline-block;
  content: '▲';
  vertical-align: top;
  margin-right: calc(4em / 12);
  transform: rotate(90deg);
}
.campaign-banner p {
  font-size: calc(12em / 10);
  line-height: calc(20em / 12);
  margin: 0 auto calc(12em / 12);
}
@media screen and (min-width: 641px) {
  .campaign-banner {
    width: 94%;
  }
  .campaign-banner img {
    margin: 0 0 20px;
  }
  .campaign-banner-left {
    float: left;
    width: 52%;
  }
  .campaign-banner-right {
    float: left;
    width: 48%;
  }
  .campaign-banner h2 {
    font-size: 26px;
    line-height: 48px;
    margin: 20px auto;
    width: auto;
  }
  .campaign-banner h2 img {
    padding: 8px 48px 8px 0;
  }
  .campaign-banner h3 {
    font-size: 24px;
    line-height: 48px;
    margin: 0 0 16px;
    text-align: left;
    width: 102%;
	font-weight: normal;
  }
  .campaign-banner h4 {
    font-size: 15px;
    line-height: 26px;
    margin: 0 auto 12px;
    text-align: left;
  }
  .campaign-banner h4:before {
    margin-right: 4px;
  }
  .campaign-banner p {
    font-size: 16px;
    line-height: 28px;
    margin: 0 0 24px;
    width: auto;
  }
}

.campaign-factor {
  margin: 0 auto;
}
.campaign-factor img {
  margin: 0;
}
.campaign-factor h2 {
  font-size: calc(24em / 10);
  line-height: calc(34em / 24);
  text-align: center;
  margin: 0 auto calc(8em / 24);
}
.campaign-factor h3 {
  font-size: calc(18em / 10);
  line-height: calc(32em / 18);
  text-align: center;
  margin-bottom: calc(12em / 18);
}
.campaign-factor h3 span {
  display: inline-block;
  text-align: left;
}
.campaign-factor h4 {
  font-size: calc(12em / 10);
  line-height: calc(20em / 12);
  font-weight: normal;
  text-align: left;
  margin: 0 0 calc(12em / 12);
}
.campaign-factor p {
  font-size: calc(12em / 10);
  line-height: calc(20em / 12);
  margin: 0 auto calc(12em / 12);
}
@media screen and (min-width: 641px) {
  .campaign-factor {
    width: 94%;
  }
  .campaign-factor img {
    margin: 0px;
  }
  .campaign-factor-left {
    float: left;
    width: 52%;
  }
  .campaign-factor-right {
    float: left;
    width: 48%;
  }
  .campaign-factor h2 {
    font-size: 24px;
    line-height: 48px;
    margin: 0 auto 20px auto;
    width: auto;
  }
  .campaign-factor h2 img {
    padding: 8px 48px 8px 0;
  }
  .campaign-factor h3 {
    font-size: 26px;
    line-height: 48px;
    margin: 0 0 16px;
    text-align: left;
    width: 102%;
  }
    .campaign-factor h4 {
    font-size: 15px;
    line-height: 26px;
    margin: 0 auto 12px;
    text-align: left;
  }
  .campaign-factor h4:before {
    margin-right: 4px;
  }
  .campaign-factor p {
    font-size: 16px;
    line-height: 28px;
    margin: 0 0 24px;
    width: auto;
  }
}

.campaign-window {
  margin: 0 calc(-19em / 10) calc(24em / 10);
}
.campaign-window p {
  margin: 0;
  width: 100%;
}

@media screen and (min-width: 641px) {
  .campaign-window {
    margin: 0 -52px 24px;
    width: auto;
  }
  .campaign-window p {
    margin: 0;
    width: 100%;
  }
}

.campaign-poster {
  
}
.campaign-poster p.poster {
  font-size: calc(10em / 10);
  line-height: calc(20em / 10);
  text-align: center;
  margin: 0 auto calc(20em / 10);
}
.campaign-poster-right {
  display: flex;
}
.campaign-poster p.chirashi {
  font-size: calc(10em / 10);
  line-height: calc(20em / 10);
  text-align: center;
  margin: 0 calc(5em / 10) calc(20em / 10);
}
.campaign-poster p img {
	border: 1px solid #999;
  margin-bottom: calc(8em / 12);
}
@media screen and (min-width: 641px) {
  .campaign-poster {
    width: 84%;
    margin: 0 auto 24px;
  }
  .campaign-poster-left {
    float: left;
    width: 40%;
  }
  .campaign-poster-right {
    float: right;
    width: 60%;
    display: block;
  }
  .campaign-poster p.poster {
    font-size: 14px;
    line-height: 24px;
    text-align: center;
    padding-right: 24px;
    margin: 0 0 20px;
    width: auto;
  }
  .campaign-poster p.chirashi {
    float: left;
    font-size: 14px;
    line-height: 24px;
    text-align: center;
    padding-top: 10%;
    padding-left: 24px;
    margin: 0 0 10px;
    width: 50%;
  }
  .campaign-poster p img {
    margin-bottom: 6px;
  }
}

.campaign-download {
  margin: 0 auto;
}
.campaign-download p {
  font-size: calc(12em / 10);
  line-height: calc(20em / 12);
  margin: 0 auto calc(12em / 12);
	color: #000;
}
.campaign-download p.button a {
  display: inline-block;
  font-size: calc(14em / 12);
  line-height: calc(24em / 12);
  letter-spacing: calc(2em / 14);
  width: 98%;
  padding: calc(8em / 14);
  background-color: #a66aaa;
  color: #fff;
  border-radius: calc(12em / 14);
  font-weight: bold;
  text-align: center;
  text-decoration: none;
}
.campaign-download a {
	color: #a66aaa;
}
.campaign-download a:hover {
  opacity: 0.6;
}
.campaign-download p.button span {
  display: inline-block;
  font-size: calc(14em / 12);
  line-height: calc(16em / 12);
  letter-spacing: calc(2em / 14);
  width: 98%;
  padding: calc(16em / 14);
  background-color: #a66aaa;
  color: #fff;
  border-radius: calc(12em / 14);
  font-weight: bold;
  text-align: center;
  text-decoration: none;
}
.campaign-download ul {
  margin-bottom: calc(24em / 10);
}
.campaign-download li {
  display: block;
  font-size: calc(12em / 10);
  line-height: calc(16em / 12);
  text-align: center;
  margin-bottom: calc(12em / 12);
}
.campaign-download li a:before {
  content: '●';
  margin-right: calc(4em / 12);
}
.campaign-download hr{
	margin: 50px 0px;
}
.campaign-download p img {
  border: 1px solid #999;
}
.campaign-download .artist {
	background: #F5F5F5;
	margin: 0 20px 10px 20px;
	padding: 30px 30px 20px 30px;
	border-radius: 20px;
}
@media screen and (min-width: 641px) {
  .campaign-download {
    width: 84%;
    margin: 0 auto;
  }
  .campaign-download .button {
    font-size: 14px;
    line-height: 20px;
    text-align: center;
    margin: 0 auto 24px;
  }
  .campaign-download p.button a {
    font-size: 20px;
    line-height: 30px;
    width: 400px;
    max-width: 100%;
    padding: 10px;
    border-radius: 10px;
  }
  .campaign-download p.button span {
    font-size: 20px;
    line-height: 30px;
    width: 400px;
    max-width: 100%;
    padding: 10px;
    border-radius: 10px;
  }
  .campaign-download ul {
    margin-bottom: 48px;
  }
  .campaign-download li {
    font-size: 14px;
    line-height: 24px;
    margin-bottom: 12px;
  }
  .campaign-download li a:before {
    margin-right: 4px;
  }
}

.campaign-manga {
  color: #135ba7;
  width: 88vw;
  margin: 0 auto;
}
.campaign-manga h2 {
  font-size: calc(24em / 10);
  line-height: calc(44em / 24);
  text-align: center;
  margin: 0 auto calc(8em / 24);
  width: 88vw;
}
.campaign-manga p {
  font-size: calc(12em / 10);
  line-height: calc(20em / 12);
  margin: 0 auto calc(12em / 12);
  width: 84vw;
}
.campaign-manga p.link {
  color: #00a0d2;
  letter-spacing: calc(-0.6em / 12);
}
.campaign-manga p.illust {
  width: 70vw;
  height: 70vw;
  margin: 0 auto calc(24em / 12);
  position: relative;
}
.campaign-manga .illust img:nth-child(1) {
  position: absolute;
  top: 0;
  left: 6%;
  width: 87%;
}
.campaign-manga .illust img:nth-child(2) {
  position: absolute;
  top: 55%;
  left: -2%;
  width: 40%;
  transform: rotate(-16deg);
}
.campaign-manga .illust img:nth-child(3) {
  position: absolute;
  top: 66%;
  left: 52%;
  width: 36%;
  transform: rotate(5deg);
}
.campaign-manga .illust img:nth-child(4) {
  position: absolute;
  top: 70%;
  left: 88%;
  width: 11%;
}
@media screen and (min-width: 641px) {
  .campaign-manga {
    width: 92%;
    padding-right: 36%;
    margin: 0 auto 72px;
  }
  .campaign-manga h2 {
    font-size: 26px;
    line-height: 48px;
    text-align: left;
    margin: 0 0 12px;
    width: auto;
  }
  .campaign-manga p {
    font-size: 16px;
    line-height: 28px;
    margin: 0 auto 12px;
    width: auto;
  }
  .campaign-manga p.link {
    letter-spacing: 0;
  }
  .campaign-manga p.illust {
    position: absolute;
    width: 32%;
    height: 25.5%;
    margin: 0 auto 24px;
    top: 4%;
    left: 62%;
  }
}

.campaign-slide {
  color: #135ba7;
  width: 88vw;
  margin: 0 auto;
}
.campaign-slide ul {
  list-style-type: none;
}
.campaign-slide li {
  font-size: calc(12em / 10);
  line-height: calc(20em / 12);
  text-align: center;
  margin-bottom: calc(12em / 12);
}
.campaign-slide li a:before {
  content: '●';
  margin-right: calc(4em / 12);
}
.campaign-slide ul.slide {
  margin: 0 auto;
}
.campaign-slide ul.slide li {
  font-size: calc(12em / 10);
  line-height: calc(20em / 12);
  padding: 0 calc(36em / 12);
  margin-bottom: 0;
}
.campaign-slide ul.slide li:nth-child(1) {
  display: block;
}
.campaign-slide ul.slide .slick-prev,
.campaign-slide ul.slide .slick-next {
  position: absolute;
  font-size: calc(20em / 10);
  color: transparent;
  top: 50%;
  left: 4%;
  width: calc(20em / 20);
  height: calc(28em / 20);
  overflow: hidden;
  transform: translateY(-50%);
  z-index: 2;
}
.campaign-slide ul.slide .slick-next {
  left: auto;
  right: 4%;
  transform: translateY(-50%);
}
.campaign-slide ul.slide .slick-prev:before,
.campaign-slide ul.slide .slick-next:before {
  position: absolute;
  content: '▲';
  color: #0053b0;
  top: 0;
  left: 0;
  width: calc(20em / 20);
  height: calc(28em / 20);
  transform: rotate(-90deg);
}
.campaign-slide ul.slide .slick-next:before {
  left: auto;
  right: 0;
  transform: rotate(90deg);
}
@media screen and (min-width: 641px) {
  .campaign-slide {
    width: 92%;
    padding-right: 0;
    margin: 0 auto;
  }
  .campaign-slide li {
    font-size: 16px;
    line-height: 28px;
    margin-bottom: 12px;
  }
  .campaign-slide li a:before {
    margin-right: 4px;
  }
  .campaign-slide ul.slide {
    margin: 0 auto;
  }
  .campaign-slide ul.slide li {
    font-size: 12px;
    line-height: 20px;
    padding: 0;
    margin-bottom: 0;
  }
  .campaign-slide ul.slide .slick-prev,
  .campaign-slide ul.slide .slick-next {
    font-size: 32px;
    left: -4%;
    width: 32px;
    height: 40px;
}
  .campaign-slide ul.slide .slick-next {
    left: auto;
    right: -4%;
  }
  .campaign-slide ul.slide .slick-prev:before,
  .campaign-slide ul.slide .slick-next:before {
    width: 32px;
    height: 40px;
  }
}

.campaign-goods {
  margin: 0 auto;
}
.campaign-goods hr{
	margin: 50px 0px;
	border: solid 1px #9D9D9D;
}
.campaign-clearfile-right {
  display: none;
}
.campaign-clearfile h2 {
  font-size: calc(22em / 10);
  line-height: calc(36em / 22);
  text-align: center;
  margin: 0 auto calc(8em / 22);
}
.campaign-clearfile h2 span {
  display: inline-block;
  text-align: center;
}
.campaign-clearfile p {
  font-size: calc(12em / 10);
  line-height: calc(18em / 10);
  margin: 0 auto calc(20em / 12);
}
.campaign-clearfile p.clearfile {
}
@media screen and (min-width: 641px) {
  .campaign-clearfile {
    width: 94%;
    margin: 0 auto 24px;
  }
  .campaign-clearfile-left {
    float: left;
    width: 50%;
  }
  .campaign-clearfile-left p.clearfile {
    display: none;
  }
  .campaign-clearfile-right {
    display: block;
    float: right;
    width: 50%;
  }
  .campaign-clearfile h2 {
    font-size: 26px;
    line-height: 48px;
    margin: 4px auto 12px;
  }
  .campaign-clearfile h2 span {
    text-align: center;
  }
  .campaign-clearfile p {
    font-size: 16px;
    line-height: 28px;
    margin: 0 auto 12px;
    width: auto;
  }
  .campaign-clearfile p.clearfile {
    width: auto;
  }
  .campaign-clearfile p.clearfile img {
    padding-left: 0px;
  }
}

.campaign-clearfile-form p {
  font-size: calc(14em / 10);
  line-height: calc(18em / 14);
  margin: 0 auto calc(20em / 14);
  width: 78vw;
}
.campaign-clearfile-form p.button a {
  display: inline-block;
  font-size: calc(14em / 14);
  line-height: calc(20em / 14);
  letter-spacing: calc(2em / 14);
  width: 98%;
  padding: calc(8em / 14);
  background-color: #a66aaa;
  color: #fff;
  border-radius: calc(8em / 14);
  font-weight: bold;
  text-align: center;
  text-decoration: none;
}
.campaign-clearfile p.button a:hover {
  opacity: 0.6;
}
@media screen and (min-width: 641px) {
  .campaign-clearfile-form {
    margin: 0 auto;
    width: 94%;
  }
  .campaign-clearfile-form p {
    font-size: 18px;
    margin: 0 auto 10px;
    text-align: center;
    width: auto;
  }
  .campaign-clearfile-form p.button a {
    font-size: 20px;
    line-height: 30px;
    width: 420px;
    max-width: 100%;
    padding: 10px;
    border-radius: 10px;
  }
}

.campaign-sheet {
  color: #135ba7;
  width: 88vw;
  margin: 0 auto;
}
.campaign-sheet-right {
  display: none;
}
.campaign-sheet h2 {
  font-size: calc(22em / 10);
  line-height: calc(36em / 22);
  text-align: center;
  margin: 0 auto calc(8em / 22);
}
.campaign-sheet h2 span {
  display: inline-block;
  text-align: left;
}
.campaign-sheet p {
  font-size: calc(12em / 10);
  line-height: calc(18em / 10);
  margin: 0 auto calc(20em / 12);
  width: 84vw;
}
.campaign-sheet p.sheet {
  width: 78vw;
}
@media screen and (min-width: 641px) {
  .campaign-sheet {
    width: 94%;
    margin: 0 auto 24px;
  }
  .campaign-sheet-left {
    float: left;
    width: 52%;
  }
  .campaign-sheet-left p.sheet {
    display: none;
  }
  .campaign-sheet-right {
    display: block;
    float: right;
    width: 48%;
  }
  .campaign-sheet h2 {
    font-size: 26px;
    line-height: 48px;
    text-align: left;
    margin: 4px auto 12px;
  }
  .campaign-sheet h2 span {
  }
  .campaign-sheet p {
    font-size: 16px;
    line-height: 28px;
    margin: 0 auto 12px;
    width: auto;
  }
  .campaign-sheet p.sheet {
    width: auto;
  }
  .campaign-sheet p.sheet img {
    padding-left: 48px;
  }
}

.campaign-sheet-form p {
  font-size: calc(12em / 10);
  line-height: calc(18em / 10);
  margin: 0 auto calc(20em / 12);
  width: 78vw;
}
.campaign-sheet-form p.button a {
  display: inline-block;
  font-size: calc(14em / 12);
  line-height: calc(24em / 12);
  letter-spacing: calc(2em / 14);
  width: 98%;
  padding: calc(8em / 14);
  background-color: #00a0d2;
  color: #fff;
  border-radius: calc(12em / 14);
  font-weight: bold;
  text-align: center;
  text-decoration: none;
}
.campaign-sheet p.button a:hover {
  opacity: 0.6;
}
@media screen and (min-width: 641px) {
  .campaign-sheet-form {
    margin: 0 auto;
    width: 94%;
  }
  .campaign-sheet-form p {
    margin: 0 auto;
    text-align: center;
    width: auto;
  }
  .campaign-sheet-form p.button a {
    font-size: 28px;
    line-height: 52px;
    letter-spacing: 4px;
    width: 560px;
    max-width: 100%;
    padding: 10px;
    border-radius: 20px;
  }
}

.campaign-thisyear {
  color: #135ba7;
  margin: 0 auto;
}
.campaign-thisyear h2 {
  font-size: calc(22em / 10);
  line-height: calc(40em / 22);
  text-align: center;
  margin: 0 auto calc(20em / 22);
}
.campaign-thisyear h4 {
  font-size: calc(12em / 10);
  font-weight: normal;
  text-align: center;
  margin-bottom: calc(12em / 12);
}
.campaign-thisyear h4:before {
  display: inline-block;
  content: '▲';
  vertical-align: top;
  margin-right: calc(4em / 12);
  transform: rotate(90deg);
}
.campaign-thisyear p {
  font-size: calc(12em / 10);
  line-height: calc(20em / 12);
  margin: 0 auto calc(24em / 12);
}
.campaign-thisyear p.poster {
}
.campaign-thisyear p.clearfile {
}
@media screen and (min-width: 641px) {
  .campaign-thisyear {
    width: 86%;
    margin: 0 auto 24px;
  }
  .campaign-thisyear-left {
    float: left;
    padding-right: 16px;
    width: 50%;
  }
  .campaign-thisyear-right {
    float: right;
    padding-left: 16px;
    width: 50%;
  }
  .campaign-thisyear h2 {
    font-size: 28px;
    line-height: 52px;
    margin: 0 auto 24px;
  }
  .campaign-thisyear h4 {
    font-size: 15px;
    line-height: 26px;
    text-align: left;
    margin-bottom: 12px;
  }
  .campaign-thisyear h4:before {
    margin-right: 4px;
  }
  .campaign-thisyear p {
    font-size: 14px;
    line-height: 24px;
  }
  .campaign-thisyear p.poster {
    width: 72%;
    margin: 4px 0 0 36px;
  }
  .campaign-thisyear p.clearfile {
    width: 72%;
    margin: 0 0 0 48px;
  }
  .campaign-thisyear img {
    font-size: 14px;
    line-height: 24px;
    width: auto;
  }
}

.campaign-sns {
  margin: 0 auto;
}
.campaign-sns-twitter {
  border: 1px solid #ccc;
  margin: 0 auto calc(16em / 12);
  max-width: 500px;
}
.campaign-sns-facebook {
  margin: 0 auto calc(16em / 12);
  max-width: 500px;
}
.campaign-sns h2 {
	
}
.campaign-sns h4 {
  font-size: calc(12em / 10);
  line-height: calc(20em / 12);
  font-weight: normal;
  text-align: center;
  margin-bottom: calc(12em / 12);
}
.campaign-sns h4:before {
  display: inline-block;
  content: '▲';
  vertical-align: top;
  margin-right: calc(4em / 12);
  transform: rotate(90deg);
}
.campaign-sns p {
  font-size: calc(12em / 10);
  line-height: calc(20em / 12);
  text-align: left;
  margin: 0 auto calc(12em / 12);
}
.campaign-sns a {
	color: #00a0d2;
}
.campaign-sns a:hover{
	opacity: 0.6;
}
.campaign-sns-btn p {
  font-size: calc(14em / 10);
  line-height: calc(18em / 14);
  margin: 0 auto calc(20em / 14);
  width: 78vw;
}
.campaign-sns-btn p.button a {
  display: inline-block;
  font-size: calc(14em / 14);
  line-height: calc(20em / 14);
  letter-spacing: calc(2em / 14);
  width: 98%;
  padding: calc(8em / 14);
  background-color: #a66aaa;
  color: #fff;
  border-radius: calc(8em / 14);
  font-weight: bold;
  text-align: center;
  text-decoration: none;
}
@media screen and (min-width: 641px) {
  .campaign-sns {
    width: 86%;
    margin: 0 auto;
  }
  .campaign-sns-left {
    float: left;
    width: 50%;
    padding-right: 16px;
    text-align: center;
  }
  .campaign-sns-right {
    float: right;
    width: 50%;
    padding-left: 16px;
    text-align: center;
  }
  .campaign-sns-twitter {
    margin: 0 0 16px;
  }
  .campaign-sns-facebook {
    margin: 0 0 16px;
  }
  .campaign-sns h4 {
    font-size: 15px;
    line-height: 26px;
    margin: 0 auto 12px;
    text-align: left;
  }
  .campaign-sns h4:before {
    margin-right: 4px;
  }
  .campaign-sns p {
    font-size: 14px;
    line-height: 20px;
    margin: 0 auto 12px;
  }
  .campaign-sns-btn p {
    font-size: 18px;
    margin: 0 auto 10px;
    text-align: center;
    width: auto;
  }
  .campaign-sns-btn p.button a {
    font-size: 20px;
    line-height: 30px;
    width: 400px;
    max-width: 100%;
    padding: 10px;
    border-radius: 10px;
  }
}

.sns-icon{
	-webkit-display: flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-flex-direction: row;
	flex-direction: row;
	margin: 0 0 10px 0;
	padding: 0 0 0 0;
}
.sns-icon img{
	width: 100px;
	min-width: 32px;
	padding: 25px;
}
.sns-icon a :hover{
	opacity: 0.6;
}
@media screen and (max-width: 640px) {
	.sns-icon{
		-webkit-display: flex;
		display: flex;
		-webkit-justify-content: center;
		justify-content: center;
		flex-wrap: wrap;
		-webkit-flex-direction: row;
		flex-direction: row;
		margin: 0 0 10px 0;
		padding: 0 0 0 0;
	}
}



.campaign-tool {
  margin: 0 auto;
}
.campaign-tool h2 {
  font-size: calc(18em / 10);
  line-height: calc(32em / 18);
  text-align: center;
  margin: 0 auto calc(24em / 18);
}
.campaign-tool h4 {
  font-size: calc(12em / 10);
  line-height: calc(20em / 12);
  font-weight: normal;
  text-align: center;
  margin-bottom: calc(12em / 12);
}
.campaign-tool h4.left {
  text-align: left;
}
.campaign-tool h4:before {
  display: inline-block;
  content: '▲';
  vertical-align: top;
  margin-right: calc(4em / 12);
  transform: rotate(90deg);
}
.campaign-tool h4 span {
  display: inline-block;
  text-align: left;
}
.campaign-tool p {
  font-size: calc(12em / 10);
  line-height: calc(20em / 10);
  margin: 0 auto calc(24em / 12);
  text-align: center;
}
.campaign-tool p.video {
}
.campaign-tool p.sticker {
}
.campaign-tool p.sheet {
}
.campaign-tool p.dvd-book {
}
.campaign-tool p.dvd-book img:first-child {
  margin-bottom: calc(12em / 12);
}
@media screen and (min-width: 641px) {
  .campaign-tool {
    width: 86%;
    margin: 0 auto;
  }
  .campaign-tool-left {
    float: left;
    padding-right: 16px;
    width: 50%;
  }
  .campaign-tool-right {
    float: right;
    padding-left: 16px;
    width: 50%;
  }
  .campaign-tool h2 {
    font-size: 28px;
    line-height: 52px;
    margin: 0 auto 24px;
  }
  .campaign-tool h4 {
    font-size: 15px;
    line-height: 26px;
    margin: 0 auto 12px;
    text-align: left;
  }
  .campaign-tool h4:before {
    margin-right: 4px;
  }
  .campaign-tool p {
    font-size: 14px;
    line-height: 24px;
    text-align: left;
    margin: 0 auto 24px;
  }
  .campaign-tool p.video {
    width: auto;
  }
  .campaign-tool p.video iframe {
    padding-left: 16px;
  }
  .campaign-tool p.sticker {
    width: auto;
  }
  .campaign-tool p.sticker img {
    padding-left: 16px;
    width: 300px;
  }
  .campaign-tool p.sheet {
    width: auto;
  }
  .campaign-tool p.sheet img {
    padding-left: 28px;
    width: 210px;
  }
  .campaign-tool p.dvd-book {
    width: auto;
  }
  .campaign-tool p.dvd-book img {
    padding-left: 16px;
    width: 50%;
    max-width: 160px;
  }
  .campaign-tool p.dvd-book img:first-child {
    margin-bottom: 0;
  }
  .campaign-tool p img {
    font-size: 14px;
    line-height: 24px;
    width: auto;
  }
}

.campaign-student {
  margin: 0 auto;
}
.campaign-student h2 {
  font-size: calc(18em / 10);
  line-height: calc(32em / 18);
  text-align: center;
  margin: 0 auto calc(12em / 18);
}
.campaign-student h4 {
  font-size: calc(12em / 10);
  line-height: calc(20em / 12);
  font-weight: normal;
  text-align: left;
  margin-bottom: calc(12em / 12);
}
.campaign-student h4:before {
  display: inline-block;
  content: '▲';
  vertical-align: top;
  margin-right: calc(4em / 12);
  transform: rotate(90deg);
}
.campaign-student p {
  font-size: calc(12em / 10);
  line-height: calc(20em / 12);
  margin: 0 auto calc(12em / 12);
}
@media screen and (min-width: 641px) {
  .campaign-student {
    width: 82%;
    margin: 0 auto;
  }
  .campaign-student h2 {
    font-size: 28px;
    line-height: 52px;
    margin: 0 auto 32px;
  }
  .campaign-student h4 {
    font-size: 15px;
    line-height: 26px;
    margin: 0 auto 12px;
    text-align: left;
  }
  .campaign-student h4:before {
    margin-right: 4px;
  }
  .campaign-student p {
    position: absolute;
    font-size: 12px;
    line-height: 20px;
    width: 15%;
    top: 24%;
    left: 70%;
    margin: 0;
  }
  .campaign-student a:hover {
    opacity: 0.6;
  }
}

.campaign-knowledge {
  margin: 0 auto;
}
.campaign-knowledge-left {
  position: relative;
}
.campaign-knowledge-right {
  position: relative;
}
.campaign-knowledge h2 {
  font-size: calc(18em / 10);
  line-height: calc(32em / 18);
  text-align: center;
  margin: 0 auto calc(24em / 18);
}
.campaign-knowledge h3 {
  font-size: calc(16em / 10);
  margin: calc(24em / 16) auto calc(12em / 16);
  color: #666;
}
.campaign-knowledge h4 {
  font-size: calc(12em / 10);
  line-height: calc(20em / 12);
  font-weight: normal;
  text-align: left;
  margin-bottom: calc(8em / 12);
}
.campaign-knowledge h4:before {
  display: inline-block;
  content: '▲';
  vertical-align: top;
  margin-right: calc(4em / 12);
  transform: rotate(90deg);
}
.campaign-knowledge-left p {
  position: absolute;
  top: 0;
}
.campaign-knowledge-right p {
  position: absolute;
}
@media screen and (min-width: 641px) {
  .campaign-knowledge {
    width: 82%;
    margin: 0 auto;
  }
  .campaign-knowledge-left {
    float: left;
    width: 50%;
  }
  .campaign-knowledge-right {
    float: right;
    width: 50%;
  }
  .campaign-knowledge h2 {
    font-size: 28px;
    line-height: 52px;
    margin: 0 auto 32px;
  }
  .campaign-knowledge h3 {
    font-size: 16px;
    margin: 0 0 24px;
    width: auto;
  }
  .campaign-knowledge h4 {
    font-size: 15px;
    line-height: 26px;
    margin: 0 auto 12px;
    text-align: left;
  }
  .campaign-knowledge h4:before {
    margin-right: 4px;
  }
  .campaign-knowledge-left p {
    display: none;
    top: auto;
    bottom: -14%;
    left: -22%;
    width: 20%;
  }
  .campaign-knowledge-right p {
    top: -26%;
    left: 70%;
    width: 36%;
  }
  .campaign-knowledge-left a:hover {
    opacity: 0.6;
  }
  .campaign-knowledge-right a:hover {
    opacity: 0.6;
  }
}

.campaign-enquette {
  margin: 0 auto;
}
.campaign-enquette h2 {
  font-size: calc(18em / 10);
  line-height: calc(32em / 18);
  text-align: center;
  margin: 0 auto calc(4em / 18);
}
.campaign-enquette h4 {
  font-size: calc(12em / 10);
  line-height: calc(20em / 12);
  font-weight: normal;
  text-align: left;
  margin-bottom: calc(8em / 12);
}
.campaign-enquette h4:before {
  display: inline-block;
  content: '▲';
  vertical-align: top;
  margin-right: calc(4em / 12);
  transform: rotate(90deg);
}
.campaign-enquette .enquette-left {
  display: inline-block;
  width: 62%;
  vertical-align: middle;
}
.campaign-enquette .enquette-right {
  display: inline-block;
  font-weight: bold;
  width: 28%;
  background-color: #a66aaa;
  border-radius: calc(4em / 12);
  color: #fff;
  text-align: center;
  padding: calc(2em / 12) calc(4em / 12);
  vertical-align: middle;
}
.campaign-enquette p {
  margin: 0 auto calc(4em / 12);
}
@media screen and (min-width: 641px) {
  .campaign-enquette {
    width: 72%;
    margin: 0 auto 48px;
  }
  .campaign-enquette h2 {
    font-size: 28px;
    line-height: 52px;
    margin: 0 auto 32px;
  }
  .campaign-enquette h4 {
    font-size: 15px;
    line-height: 26px;
    margin: 0 auto 12px;
    text-align: left;
  }
  .campaign-enquette h4:before {
    margin-right: 4px;
  }
  .campaign-enquette .enquette-left {
    width: 70%;
  }
  .campaign-enquette .enquette-right {
    font-size: 15px;
    line-height: 26px;
    margin: 0 auto 12px;
    text-align: center;
	width: 16%;
    border-radius: 4px;
    padding: 2px 4px;
  }
  .campaign-enquette p {
    font-size: 16px;
    font-weight: bold;
    line-height: 28px;
    margin: 0 0 24px;
    width: auto;
  }
  .campaign-enquette p img {
    position: absolute;
    top: 30%;
    left: 80%;
    width: 14%;
  }
  .campaign-enquette .enquette-left a:hover {
    opacity: 0.6;
  }
  .campaign-enquette .enquette-right:hover {
    background: #a62057;
  }
}

.campaign-material {
  position: relative;
  margin: 0 auto;
}
.campaign-material h2 {
  font-size: calc(18em / 10);
  line-height: calc(32em / 18);
  text-align: center;
  margin: 0 auto calc(24em / 18);
}
.campaign-material h4 {
  font-size: calc(12em / 10);
  line-height: calc(20em / 12);
  font-weight: normal;
  text-align: left;
  margin: 0 0 calc(12em / 12);
}
.campaign-material h4:before {
  display: inline-block;
  content: '▲';
  vertical-align: top;
  margin-right: calc(4em / 12);
  transform: rotate(90deg);
}
.campaign-material p {
  font-size: calc(12em / 10);
  line-height: calc(20em / 12);
  color: #666;
  margin: calc(12em / 12) auto calc(24em / 12);
}
.campaign-material p.illust {
  position: absolute;
  top: 6vw;
  left: 55vw;
  width: 29vw;
}
@media screen and (min-width: 641px) {
  .campaign-material {
    width: 82%;
    margin: 0 auto 48px;
  }
  .campaign-material h2 {
    font-size: 28px;
    line-height: 52px;
    margin: 0 auto 32px;
  }
  .campaign-material h4 {
    font-size: 15px;
    line-height: 26px;
    margin: 0 auto 12px;
    text-align: left;
  }
  .campaign-material h4:before {
    margin-right: 4px;
  }
  .campaign-material p {
    font-size: 16px;
    font-weight: bold;
    line-height: 28px;
    margin: 0 0 24px;
    width: auto;
  }
  .campaign-material p.illust {
    top: 44%;
    left: 74%;
    width: 18%;
  }
  .campaign-material a:hover {
    opacity: 0.6;
  }
}

.campaign-log {
  position: relative;
  margin: 0 auto;
}
.campaign-log h2 {
  font-size: calc(18em / 10);
  line-height: calc(32em / 18);
  text-align: center;
  margin: 0 auto calc(24em / 18);
}
.campaign-log h4 {
  font-size: calc(12em / 10);
  line-height: calc(20em / 12);
  font-weight: normal;
  text-align: left;
  margin: 0 0 calc(12em / 12);
}
.campaign-log h4:before {
  display: inline-block;
  content: '▲';
  vertical-align: top;
  margin-right: calc(4em / 12);
  transform: rotate(90deg);
}
.campaign-log p {
  font-size: calc(12em / 10);
  line-height: calc(20em / 12);
  color: #666;
  margin: calc(12em / 12) auto calc(24em / 12);
}
.campaign-log p.illust {
  position: absolute;
  top: 6vw;
  left: 55vw;
  width: 29vw;
}
@media screen and (min-width: 641px) {
  .campaign-log {
    width: 82%;
    margin: 0 auto 48px;
  }
  .campaign-log h2 {
    font-size: 28px;
    line-height: 52px;
    margin: 0 auto 32px;
  }
  .campaign-log h4 {
    font-size: 15px;
    line-height: 26px;
    margin: 0 auto 12px;
    text-align: left;
  }
  .campaign-log h4:before {
    margin-right: 4px;
  }
  .campaign-log p {
    font-size: 16px;
    font-weight: bold;
    line-height: 28px;
    margin: 0 0 24px;
    width: auto;
  }
  .campaign-log p.illust {
    top: 44%;
    left: 74%;
    width: 18%;
  }
  .campaign-log a:hover {
    opacity: 0.6;
  }
}

.campaign-sns hr{
	margin: 50px 0px;
	border: solid 1px;
}

.campaign-sns img{
	margin: 0px 0px 20px 0px;
}

/* Content (outline)
-------------------------------------------------------------- */
.outline-poster-1 {
  margin-right: calc(5em / 10);
}
.outline-poster-2 {
  margin-left: calc(5em / 10);
}
.outline-poster img {
  border: 1px solid #999;
}
.content p.outline-clearfile-form-desc {
  font-size: calc(14em / 10);
}
@media screen and (min-width: 641px) {
  .outline-0 img {
    max-width: 240px;
  }
  .outline-poster-1 {
    margin-right: 5px;
  }
  .outline-poster-2 {
    margin-left: 5px;
  }
  .content p.outline-clearfile-form-desc {
    font-size: 18px;
  }
}

/* Content (Taishitsu)
-------------------------------------------------------------- */
.taishitsu h4 {
  margin: 1.5rem 0 0.5rem;
  border-bottom: 1px solid #b51f7a;
}
.taishitsu h5 {
  width: 14rem;
  margin: 1rem 1rem 0.5rem;
  padding: 0.2rem 0.5rem 0;
  border: 1px solid #b51f7a;
  background-color: #f2dae9;
  color: #b51f7a;
  text-align: center;
  border-radius: 5px;
}
.taishitsu h5 strong {
  font-size: 2.4rem;
}

@media screen and (min-width: 480px) {
  .taishitsu h5 {
    float: left;
  }
  .taishitsu p.pc-ml160 {
    margin-left: 16rem;
  }
}




/* Content (Yoi no Shinnkou)
-------------------------------------------------------------- */
.yoinoshinnkou img {
  float: left;
  width: 7.5rem;
  height: auto;
  margin: 0 0 1rem 0;
}
.yoinoshinnkou h4 {
  clear: none;
  margin: 0 0 1rem 8rem;
}
.yoinoshinnkou p {
  margin-left: 8rem;
}

@media screen and (min-width: 480px) {
  /* Content (Yoi no shinnkou) */
  .yoinoshinnkou img {
    width: 10rem;
  }
  .yoinoshinnkou h4 {
    margin-left: 12rem;
  }
  .yoinoshinnkou p {
    margin-left: 12rem;
  }
}


/* Content (Speed)
-------------------------------------------------------------- */

.speed-bg {
  margin: 0 0 1.5rem;
  padding: 1rem 1rem 0;
  background-color: #f2dae9;
}
.speed ul {
  margin: 0 0 1.5rem;
  font-size: 0;
}
.speed li {
/*  float: left;*/
  display: inline-block;
  width: 33.33333333%;
/*  height: 11.5rem;*/
  margin: 0;
  padding: 0;
  background-image: none;
  font-size: 1.4rem;
  text-align: center;
}
.speed li img {
  width: auto;
  height: 6rem;
  padding: 0 0.2rem;
}

@media screen and (min-width: 480px) {
  /* Content (Speed) */
  .speed li {
    width: 20%;
  }
}



/* Content (Chance)
-------------------------------------------------------------- */
.chance img {
  display: block;
  margin: 0 auto 1rem;
}

@media screen and (min-width: 480px) {
  .chance img {
    float: left;
    width: 27.5rem;
    margin: 0 1rem 1rem 0;
  }
  .chance p {
    margin-left: 29.5rem;
  }
}


/* Content (knowledge)
-------------------------------------------------------------- */
/*.knowledge dl {
  padding: 2rem 0 0;
  border-bottom: 0.1rem solid #b51f7a;
}
.knowledge dl:first-child {
  border-top: 0.1rem solid #b51f7a;
}
.knowledge dt {
  float: left;
  width: 12rem;
  margin-bottom: 2rem;
  color: #3bb200;
  font-weight: bold;
  font-size: 1.4rem;
  text-align: center;
}
.knowledge dt img {
  margin-bottom: 0.5rem;
}
.knowledge dd {
  margin: 0 0 2rem 14rem;
}
.knowledge dd dl {
  margin-bottom: 0.5rem;
  padding: 0;
  border-bottom: 0;
}
.knowledge dd dl:first-child {
  border-top: 0;
}
.knowledge dd dt {
  float: none;
  width: auto;
  color: #b51f7a;
  margin-bottom: 0.5rem;
  padding-left: 2rem;
  background: url(../ikkialhara_images/li-red-bg.png) 0 0.5rem no-repeat;
  font-weight: bold;
  font-size: 1.4rem;
  text-align: left;
}
.knowledge dd dd {
  float: none;
  margin: 0 0 1rem 0;
  padding-left: 2rem;
}
*/


/* Content (Houritsu)
-------------------------------------------------------------- */
.houritsu h4 {
  margin: 1rem;
  border-bottom: 0.1rem solid #b51f7a;
}
.houritsu .talk {
  margin: 1rem;
  padding: 1rem;
  border-radius: 0.5rem;
  background-color: #f2dae9;
}
.houritsu .talk dl {
  clear: both;
  margin: 0 0 0.5rem 0;
}
.houritsu .talk dt {
  float: left;
  width: 4rem;
  font-weight: bold;
  white-space: nowrap;
}
.houritsu .talk dd {
  margin: 0 0 0 6rem;
}
.houritsu .law dl {
  clear: both;
  margin: 1rem 0;
  padding: 0 1rem;
}
.houritsu .law dt {
  float: left;
  min-width: 7rem;
  padding-top: 0.4rem;
  font-weight: normal;
}
.houritsu .law dd {
  margin-left: 9rem;
}

/* Content (Cace)
-------------------------------------------------------------- */
.cace h3 {
  margin: 0 0 0.5rem;
}

/* アルコールの分解スピード
-------------------------------------------------------------- */
.al-table {
	-webkit-display: flex;
    display: flex;
    -webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: center;
	justify-content: center;
    -webkit-flex-direction: row;
    flex-direction: row;
	margin-bottom: 20px;
}
.al-left {
	-webkit-display: flex;
    display: flex;
    -webkit-justify-content: space-between;
	justify-content: space-between;
    -webkit-flex-direction: row;
    flex-direction: row;
}
.al-right {
	-webkit-display: flex;
    display: flex;
    -webkit-justify-content: space-between;
	justify-content: space-between;
    -webkit-flex-direction: row;
    flex-direction: row;
}
.al-box {
	-webkit-flex: 1;
    flex: 1;
    margin: 0px;
    padding: 0px;
    background-color: #fff;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
	text-align: center;
}

/* ジェルパッチバナー
-------------------------------------------------------------- */
.banner-box {
	-webkit-display: flex;
    display: flex;
    -webkit-justify-content: center;
	justify-content: center;
}
.jellpatch {
	-webkit-flex: 1;
    flex: 1;
    background-color: #fff;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
	text-align: center;
	margin: 20px 0px;
	padding: 10px;
}

/* 2022年キャンペーン「3つの要素」
-------------------------------------------------------------- */
.factor1{
	-webkit-display: flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
}
.factor2-3 {
	-webkit-display: flex;
    display: flex;
    -webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-around;
	justify-content: space-around;
    -webkit-flex-direction: row-reverse;
    flex-direction: row-reverse;
	margin-bottom: 20px;
}
.factor-box {
    margin: 0px;
    padding: 0px;
	text-align: center;
}
.factor2020 {
	color: #965c82;
}
.factor2021 {
	color: #d35270;
}
.factor2022 {
	color: #a62057;
}

/* 過去のキャンペーン内容
-------------------------------------------------------------- */
.goods hr{
	margin: 20px 0;
}
.goods h3{
	margin: 0 0 10px;
}
.goods h4{
	margin: 20px 0 10px;
}
.goods h5 {
  font-size: calc(12em / 10);
  line-height: calc(20em / 12);
  font-weight: normal;
  text-align: left;
  margin: 0 0 calc(12em / 12);
}
.goods h5:before {
  display: inline-block;
  content: '▲';
  vertical-align: top;
  margin-right: calc(4em / 12);
  transform: rotate(90deg);
}

.visual-list {
	-webkit-display: flex;
    display: flex;
    -webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-around;
	justify-content: space-around;
    -webkit-flex-direction: row;
    flex-direction: row;
	margin-bottom: 20px;
}
.visual-box {
    margin: 5px 0;
    padding: 10px 0 10px 0;
	width: 48%;
	height: auto;
	text-align: center;
	background: #eee;
	border-radius: 10px;
}
.visual-box p {
	font-size: 10px;
	line-height: 15px;
	padding: 5px 0 0;
	margin: 0 0 0 0;
}
.goods-list {
	-webkit-display: flex;
    display: flex;
    -webkit-flex-direction: row;
    flex-direction: row;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: center;
	justify-content: center;
	margin-bottom: 10px;
}
.goods-box {
    margin: 0 0 10px;
    padding: 10px;
	width: 70%;
	background: #eee;
	border-radius: 10px;
}
.goods-box p {
	position: relative;
	margin-bottom: 0px;
}
.goods-box p::before {
	display: block;
	content: '';
    padding-top: 100%;
	margin-bottom: 0px;
}
.goods-box p img{
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

@media screen and (min-width: 641px) {
	.goods h5 {
		font-size: 15px;
		line-height: 26px;
		margin: 0 auto 12px;
		text-align: left;
	}
	.goods h5:before {
		margin-right: 4px;
	}
	.visual-list {
		-webkit-display: flex;
	    display: flex;
		-webkit-flex-wrap: wrap;
	    flex-wrap: wrap;
		-webkit-justify-content: left;
		justify-content: left;
	    -webkit-flex-direction: row;
	    flex-direction: row;
		margin: 0 0 20px 0;
		padding: 0 0 0 0;
	}
	.visual-box {
	    margin: 0 5px 10px 5px;
	    padding: 10px 0px 10px 0px;
		width: 170px;
		height: auto;
		text-align: center;
	}
	.visual-box p{
		font-size: 9px;
		line-height: 16px;
		margin: 0;
	}
	.goods-list {
		-webkit-display: flex;
		display: flex;
		-webkit-justify-content: left;
		justify-content: left;
		-webkit-flex-direction: row;
		flex-direction: row;
		margin: 0 0 10px 0;
		padding: 0 0 0 0;
	}
	.goods-box {
	    margin: 0 10px 0 0;
	    padding: 10px;
		width: 30%;
	}
	.goods-box p {
		position: relative;
		margin-bottom: 0px;
	}
	.goods-box p::before {
		display: block;
		content: '';
	    padding-top: 100%;
	}
	.goods-box p img{
	    position: absolute;
	    top: 0;
	    width: 100%;
	    height: 100%;
	    object-fit: contain;
	}
}

/* あぶない飲み会漫画
-------------------------------------------------------------- */
.tweet-list {
	-webkit-display: flex;
    display: flex;
    -webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-around;
	justify-content: space-around;
    -webkit-flex-direction: row;
    flex-direction: row;
	margin-bottom: 20px;
}
.tweet-box {
    margin: 5px 0;
    padding: 10px 0 10px 0;
	width: 48%;
	height: auto;
	text-align: center;
	background: #fff;
	border-radius: 10px;
}
@media screen and (min-width: 641px) {
	.tweet-list {
		-webkit-display: flex;
	    display: flex;
		-webkit-flex-wrap: wrap;
	    flex-wrap: wrap;
		-webkit-justify-content: left;
		justify-content: left;
	    -webkit-flex-direction: row;
	    flex-direction: row;
		margin: 0 0 20px 0;
		padding: 0 0 0 0;
	}
	.tweet-box {
	    margin: 0 5px 10px 5px;
	    padding: 10px 0px 10px 0px;
		width: 48%;
		height: auto;
		text-align: center;
	}
}

/* 主催／後援／協力／デザイン協力／協賛／連携 アコーディオンメニュー
-------------------------------------------------------------- */
.ac-menu input {
	display: none;
}
.ac-menu label {
	font-size: calc(12em / 10);
   	line-height: calc(20em / 10.5);
	text-align: center; /* 文字を中央に */
	background: #fff; /* 背景色 */
	padding: 0px; /* 内側の余白 */
	margin: 20px 0 10px;
	cursor: pointer;
	position: relative;
	display: block;
}
.ac-menu div {
	height: 0;
	overflow: hidden;
	opacity: 0;
	transition: 0.3s; /* 開閉スピード */
}
.ac-menu input:checked ~ div {
	height: auto;
	opacity: 1;
	padding: 20px; /* 中身の枠内の余白 */
	background: #eee; /* 中身の背景色 */
}
.ac-menu-inside {
   	font-size: calc(12em / 10);
   	line-height: calc(20em / 12);
   	margin: 0 0 calc(12em / 12);
}

@media screen and (min-width: 641px) {
	.ac-menu input {
		display: none;
	}
	.ac-menu label {
		font-size: 16px;
		line-height: 22px;
		text-align: center; /* 文字を中央に */
		background: #fff; /* 背景色 */
		padding: 0px; /* 内側の余白 */
		margin: 40px 0 10px;
		cursor: pointer;
		position: relative;
		display: block;
	}
	.ac-menu div {
		height: 0;
		overflow: hidden;
		opacity: 0;
		transition: 0.3s; /* 開閉スピード */
	}
	.ac-menu input:checked ~ div {
		height: auto;
		opacity: 1;
		padding: 20px; /* 中身の枠内の余白 */
		background: #eee; /* 中身の背景色 */
	}
	.ac-menu-inside {
		font-size: 14px;
		line-height: 24px;
		margin: 0 auto 14px;
		width: auto;
	}
}

/* コロナ禍の状況と対策
-------------------------------------------------------------- */
.image-sort {
	-webkit-display: flex;
    display: flex;
	-webkit-justify-content: center;
	justify-content: center;
    -webkit-flex-direction: column;
    flex-direction: column;
}

@media screen and (min-width: 641px) {
	.image-sort {
		-webkit-display: flex;
	    display: flex;
		-webkit-justify-content: space-around;
		justify-content: space-around;
	    -webkit-flex-direction: row;
	    flex-direction: row;
	}
}

.taisaku-list{
	background: #DCF6D2;
	padding: 20px 10px 5px 10px;
	margin-bottom: 20px;
	border-radius: 10px;
}
.taisaku-list li{
	font-size: 1.4em;
	padding-left: 1.4em;
	margin-bottom: 1em;
	position:relative;
}
.taisaku-list li:before {
	content: '▲';
	display: inline-block;
	transform: rotate(90deg);
	vertical-align: top;
	position: absolute;
	top: 0em;
	left: 0em;
}

/* flex設定
-------------------------------------------------------------- */
.flex-container {
	-webkit-display: flex;
    display: flex;
    -webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-around;
	justify-content: space-around;
	margin-bottom: 0;
}
.flex-box {
    margin: 0px;
    padding: 0px;
	text-align: center;
}

/* Footer
-------------------------------------------------------------- */
.site-footer{
	text-align: center;
	margin: 10px 0 0 0;
}

.campaign-12{
	display: none;
}