body {
  background-color: #fff;
}

* {
  font: inherit;
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
  font: inherit;
}

.text_center {
  text-align: center;
}

.text_bold {
  font-weight: bold;
}

.dib{
  display: inline-block;
}

.c_blue {
  color: #0886CC;
}

.c_red {
  color: #E60012;
}

.c_white {
  color: #fff;
}

.bg_white {
  background-color: #fff;
}

.bg_blue {
  background-color: #0886CC;
}

.bg_red {
  background-color: #E60012;
}

.border_red {
  border: 2px solid #E60012;
}

div.lead p {
  letter-spacing: 0.1em;
  line-height: 1.71;
}

.mb_24 {
  margin-bottom: 24px;
}

.block3 .displayFlex strong {
  font-size: 2em;
}

.block3 .displayFlex>*:first-child .box_02 {
  position: relative;
}

.block3 .displayFlex>*:first-child .box_02::before {
  content: '';
  display: block;
  position: absolute;
  width: 0;
  height: 0;
  left: 105%;
  border: .5em solid transparent;
  border-left-color: #0886CC;
  top: 50%;
  margin-top: -0.5em;
}


#campaign .campaign-main .date {
  background-color: #0886CC;
  color: #fff;
  border-radius: 100px;
}

.btn-tw.btn_normal a,
.btn-tw.comingsoon a {
  padding-left: 0;
  background-image: none;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
}

.btn-tw.comingsoon a {
  pointer-events: none;
}

.how h4.bg_blue {
  position: relative;
  line-height: 1.5;
  padding: 0.5em;
}


.how h4.bg_blue::after {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  top: 100%;
  width: 0;
  height: 0;
  border: .4em solid transparent;
  border-top-color: #0886CC;
}

#action03 .block.acc-block0 {
  background: #FFFCE6;
}

#action03 .block.acc-block0 .acc-inner h5 {
  border-left: .3em solid #E60012;
  line-height: 1.3;
  padding-left: 0.5em;
}

#action03 .block.acc-block0 .acc-inner .displayFlex>* {
  position: relative;
  line-height: 1.5;
}

#action03 .is-open+.acc-inner {
  max-height: 5000px;
}

.acc-block0 .img01 img {
  width: 100%;
}

.point {
  position: absolute;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  width: 150px;
  top: -1em;
  border-radius: 100px;
  font-size: 20px;
  line-height: 2.4;
}

#action03 .block.acc-block0 .acc-inner .displayFlex {
  border-bottom: 1px solid #707070;
}


.pic-manga {
  max-width: 385px;
  width: 70%;
  margin-left: auto;
  margin-right: auto;
}

#action02 .sec3 .sec_new .slider .block .wrapper {
  display: block;
}

#action02 .sec3 .sec_new .slider .block .wrapper img {
  display: inline-block;
}

.sec_new_head .icon+* img {
  vertical-align: -3px;
}


.allDisplayFlex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.align_center {
  align-items: center;
}

.footerNavi {
  width: 50%;
  background: none;
  box-shadow: none;
  bottom: 16px;
  left: 16px;
  z-index: 9998;
  transform: none !important;
  pointer-events: auto !important;
}

.footerNavi_btn {
  background: #fff;
  border-radius: 50%;
}

.footerNavi_btn::after {
  display: none;
}

.footerNavi_btn+* {
  display: none;
}

.how_original {
  border-bottom: none !important;
}

.sec-action .btn-tw a {
  justify-content: center;
}

.idea .block2 {
  background-color: #FFFCE6 !important;
}

.idea h4 {
  color: #C69420 !important;
}

.know .block2 {
  background-color: #FFF1F1 !important;
}

#action01 .how.know {
  border-bottom: none;
}

#action01 .how.how_original::after,
#action01 .how.know::after {
  display: none;
}

.know h4 {
  color: #E61A19 !important;
}

#action01 .idea .block2 h4 .txt-big,
#action01 .know .block2 h4 .txt-big {
  letter-spacing: 0 !important;

}

#action01 .idea .block2 .txt-ex,
#action01 .know .block2 .txt-ex {
  color: #000;
  line-height: 2;
}

.idea_lead {
  font-size: 28px;
  line-height: 1.6;
  margin-bottom: 24px;
}

.idea_lead strong {
  font-size: 1.28em;
}

.youtubeEmbed {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.youtubeEmbed iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.youtubeEmbed>img {
  position: absolute;
  display: block;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  top: 50%;
  width: calc(64 / 695 * 100%);
  margin-top: calc(-48 / 695 * 100%);
}

.btn-link ul{
  justify-content: center;
}

.btn-link li a{
  background-color: #E60012;
}

.end{
  max-width: 978px;
  width: 80%;
  margin-left: auto;
  margin-right: auto;
  border: 1px solid #0886CC;
  font-size: 24px;
  margin-bottom: 78px;
}



#sns-info{
	margin-bottom: 0;
}

.sec06_add .sec05_box{
	margin-left: auto;
	margin-right: auto;
	justify-content: center;
	width: 100%;
	max-width: 720px;
}

.sec06_add .sec05_box a{
	position: relative;
	width: 100%;
	justify-content: center;
}


/* ---------------------------------------------------------
#sns-info
----------------------------------------------------------*/
#sns-info {
  background: #E60012;
  padding-top: 130px;
  padding-bottom: 114px;
  margin-bottom: 90px;
}
#sns-info h2,
#sns-info p {
  color: #fff;
}
#sns-info .ttl-block {
  text-align: center;
  margin-bottom: 30px;
}
#sns-info .ttl-block p {
  font-size: 18px;
  letter-spacing: .15em;
  margin-bottom: 12px;
}
#sns-info h2 {
  font-size: 42px;
  font-weight: bold;
  letter-spacing: .15em;
  line-height: 1.66;
}
#sns-info .sns-inner {
  position: relative;
  max-width: 1000px;
  margin: 0 auto;
}
#sns-info .txt1 {
  width: 325px;
  width: 360px;
  font-size: 18px;
  line-height: 1.8;
  margin-left: calc(538 / 1000 * 100%);
  padding-top: calc(21 / 1000 * 100%);
}
#sns-info .ill {
  width: calc(140 / 1000 * 100%);
  margin-top: calc(-134 / 1000 * 100%);
  margin-left: auto;
  margin-bottom: calc(30 / 1000 * 100%);
}
#sns-info .pic-area {
  position: absolute;
  top: 0;
  left: 50%;
  width: calc(374 / 1000 * 100%);
  margin-left: calc(-417 / 1000 * 100%);
}
#sns-info .pic-area .pic {
  width: 100%;
}
#sns-info .gif-anime {
  position: absolute;
  top: 0;
  left: 0;
  width: calc(315 / 374 * 100%);
  margin-top: calc(83 / 374 * 100%);
  margin-left: calc(30 / 374 * 100%);
}
#sns-info .btn-modal a {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 226px;
  width: calc(226 / 374 * 100%);
  height: 207px;
  font-size: 22px;
  color: #fff;
  font-weight: bold;
  text-align: center;
  line-height: 1.6;
  background-color: rgba(0,0,0,.8);
  background-image: url("../img/sec_sns/icon_arrow.png");
  background-repeat: no-repeat;
  background-size: 30px auto;
  background-position: left 50% bottom 34px;
  border-radius: 11px;
  padding-top: 31px;
  margin-top: 20px;
  box-sizing: border-box;
  transform: translate(-50%,-50%);
  transition: opacity .3s;
}

#modal-sphone {
  display: none;
}
.phone-modal-wrapper .modaal-container {
  max-width: 700px;
}
.phone-modal-wrapper .modaal-inner-wrapper {
  padding-top: 100px;
}
.modaal-wrapper.phone-modal-wrapper .modaal-close {
  position: absolute;
  left: 50%;
  right: auto;
  top: -30px;
  width: 29px;
  height: 29px;
  background: url(../img/icon_modal_close2.png) no-repeat;
  background-size: contain;
  border-radius: 0;
  margin-left: 0;
  margin-left: 28%;
}
.modal-sphone-inner {
  position: relative;
  max-width: 1000px;
  margin: 0 auto;
}
.modal-sphone-inner .txt-scroll {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 112px;
  height: 123px;
  font-size: 14px;
  color: #fff;
  line-height: 1.3;
  font-weight: bold;
  text-align: center;
  background-color: rgba(0,0,0,.8);
  background-image: url("../img/sec_sns/icon_scroll.png");
  background-repeat: no-repeat;
  background-position: left 50% top 15px;
  background-size: 72px 53px;
  border-radius: 11px;
  padding-top: 76px;
  box-sizing: border-box;
  transform: translate(-50%,-50%);
  z-index: 2;
  transition: opacity .3s,visibility .3s;
  pointer-events: none;
}
.modal-sphone-inner .txt-scroll.is-hide {
  opacity: 0;
  visibility: hidden;
}
.slider-phone .swiper-wrapper {
  padding: 0;
}
.slider-phone .swiper-slide {
  width: 100%!important;
  padding-bottom: 46px;
  padding-bottom: calc(155 / 1000 * 100%);
  margin: 0 auto;
}
.slider-phone .swiper-slide h3 {
  width: 386px;
  width: calc(386 / 1000 * 100%);
  /*
  height: 70px;
  */
  height: auto;
  font-size: 22.4px;
  font-weight: bold;
  text-align: center;
  background: #fff;
  letter-spacing: .15em;
  border-radius: 42px;
  padding: calc(11 / 1000 * 100%) 0;
  margin: 0 auto calc(120 / 1000 * 100%);
}

.is-win10 .slider-phone .swiper-slide h3 {
  padding-top: calc(16 / 1000 * 100%);
  padding-bottom: calc(5 / 1000 * 100%);
}

.slider-phone .phone-inner {
  position: relative;
  width: calc(345 / 1000 * 100%);
  height: auto;
  padding-top: calc(632 / 1000 * 100%);
  overflow-y: auto;
  margin: 0 auto;
}
.slider-phone .swiper-slide::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: calc(410 / 1000 * 100%);
  height: auto;
  padding-top: calc(768 / 1000 * 100%);
  background: url("../img/sec_sns/pic_phone.png") no-repeat;
  background-size: contain;
  margin-top: calc(100 / 1000 * 100%);
  margin-left: calc(-205 / 1000 * 100%);
}
.phone-inner .pic {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
.phone-inner .pic img {
  width: 100%;
}
.slider-phone .swiper-button-next,
.slider-phone .swiper-button-prev {
  position: absolute;
  top: 50%;
  left: 50%;
  right: auto;
  width: auto;
  width: calc(268 / 1000 * 100%);
  height: auto;
  background: none;
  margin-top: calc(-50 / 1000 * 100%);
  z-index: 10;
  cursor: pointer;
}
.slider-phone .swiper-button-prev {
  margin-left: -38.5%;
  margin-left: -50%;
}
.slider-phone .swiper-button-next {
  margin-left: 23%;
}
.slider-phone .swiper-button-prev::before,
.slider-phone .swiper-button-next::before {
  content: '';
  display: block;
  width: 55px;
  height: 55px;
  background: url("../img/icon_arrow_slider.png") no-repeat;
  background-size: contain;
}
.slider-phone .swiper-button-prev::before {
  transform: scaleX(-1);
  margin-left: auto;
}
.slider-phone .txt {
  display: none;
  font-size: 28px;
  font-size: 19.6px;
  color: #fff;
  font-weight: bold;
  letter-spacing: .10em;
  margin-top: 8px;
}

.slider-phone .txt.is-show {
  display: block;
}

.slider-phone .swiper-button-prev .txt {
  text-align: right;
}
.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
  opacity: 0;
}

@media screen and (min-width: 480px) and (max-width: 650px) {
  .slider-phone .swiper-slide h3 {
    font-size: 18px
  }
}

#sns-info .ill img,
#sns-info .pic img,
#sns-info .gif-anime img {
  width: 100%;
}
#sns-info .btn-wrapper {
  width: 370px;
  margin-left: calc(538 / 1000 * 100%);
}
#sns-info .btn a {
  display: flex;
  align-items: center;
  width: 370px;
  width: 100%;
  height: 90px;
  font-size: 20px;
  color: #fff;
  font-weight: bold;
  line-height: 1.3;
  letter-spacing: .10em;
  background: #1DA1F2 url("../img/sec_sns/icon_tw.png") no-repeat left 12px top 12px;
  background-size: 59px auto;
  border: 3px solid #fff;
  border-radius: 11px;
  padding-left: 82px;
  margin-bottom: 22px;
  box-sizing: border-box;
  transition: opacity .3s;
}
#sns-info .btn-fb a {
  background: #1877F2 url("../img/sec_sns/icon_fb.png") no-repeat left 12px top 12px;
  background-size: 54px auto;
}
#sns-info .btn-ig a {
  letter-spacing: .08em;
  background: #7A38AE url("../img/sec_sns/icon_ig.png") no-repeat left 24px top 25px;
  background-size: 36px auto;
  margin-bottom: 0;
}


#sns-info .btn-modal a:hover,
#sns-info .btn-wrapper .btn a:hover {
  opacity: .7;
}



@media screen and (min-width: 450px) and (max-width: 850px) {
  #sns-info .btn-modal a {
    height: auto;
    font-size: 18px;
    background-position: left 50% bottom 11%;
    padding-top: calc(31 / 374 * 100%);
    padding-bottom: calc(73 / 374 * 100%);
  }
}
@media screen and (min-width: 450px) and (max-width: 690px) {
  #sns-info .btn-modal a {
    font-size: 12px;
    background-size: 20px auto;
  }
}

@media screen and (min-width: 480px) and (max-width: 950px) {
  #sns-info .pic-area {
    position: relative;
    top: auto;
    left: auto;
    margin: 0 auto calc(62 / 1000 * 100%);
  }
  #sns-info .txt1 {
    width: 100%;
    text-align: center;
    margin: 0 auto calc(35 / 1000 * 100%);
  }
  #sns-info .ill {
    margin: 0 auto calc(40 / 1000 * 100%);
  }
  #sns-info .btn-wrapper {
    margin: 0 auto;
  }
}

@media all and (-ms-high-contrast: none) {
  .phone-modal-wrapper .modaal-container {
    width: 90vw;
  }
}


/* ---------------------------------------------------------
#work-box
----------------------------------------------------------*/
#work-box .ttl-block a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 90px;
  border: 4px solid #E60012;
  margin-bottom: 30px;
  box-sizing: border-box;
}

#work-box .ttl-block2 a {
  margin-bottom: 90px;
}

#work-box .ttl-block a::before,
#work-box .ttl-block a::after {
  content: '';
  position: absolute;
  top: 38px;
  right: 36px;
  width: 28px;
  height: 6px;
  background: #E60012;
}
#work-box .ttl-block a::after {
  transform: rotate(90deg);
  transition: opacity .3s,transform .3s;
}
#work-box .ttl-block.is-open a::after {
  opacity: 0;
  transform: rotate(0deg);
}
#work-box .ttl-block h2 {
  font-size: 32px;
  font-weight: bold;
  color: #E60012;
}
#work-box .acc-inner {
  max-height: 0;
  overflow: hidden;
  transition: max-height .3s,padding .3s;
  box-sizing: border-box;
}
#work-box .is-open a {
  margin-bottom: 0;
}
#work-box .is-open + .acc-inner1 {
  max-height: 7000px;
  padding-bottom: 63px;
}
#work-box .is-open + .acc-inner2 {
  max-height: 2700px;
  padding-bottom: 26px;
}

@media screen and (min-width: 480px) and (max-width: 800px) {
  #work-box .ttl-block h2 {
    font-size: 25px;
  }
}
@media screen and (min-width: 480px) and (max-width: 650px) {
  #work-box .ttl-block a::before,
  #work-box .ttl-block a::after {
    right: 10px;
    width: 23px;
  }
  #work-box .ttl-block h2 {
    font-size: 20px;
  }
}

.is-win10 #work-box .ttl-block h2 {
  margin-top: 13px;
}
.mb_large{
	margin-bottom: 40px;
}

.text_normal{
	font-size: 18px;
}

.main h1{
	max-width: 1000px;
	width: 100%;
}

.main h1 img{
	width: calc( 480 / 1000 * 100%);
}

.house{
	padding: 48px 72px;
}

.house + .house{
	margin-top: 10px;
}

.house > *{
	width: 46%;
}

.house h3,
#know .txt2{
	font-size: 32px;
}

.house h4{
	font-size: 40px;
	margin-bottom: 56px;
}

.sossen{
	width: calc(938 / 1000 * 100%);
	margin-left: auto;
	padding-right: 36px;
}

.sossen > *:first-child{
	width: 80%;
}

.sossen > *:last-child{
	width: 18%;
}

.acc-block1 .c_red{
	font-size: 24px;
}

.sec06_add{
	padding-top: 80px;
}

.sec06 .ttl.text_mid{
	font-size: 28px;
}




.text_bold{
	font-weight: bold;
}

.text_center{
	text-align: center;
}

.displayFlex{
	display: flex;
}

.justify_sb{
	justify-content: space-between;
}

.c_red{
	color: #e70012;
}

.bg_white{
	background-color: #fff;
}

#learn .is-open + .acc-inner{
	max-height: 3600px;
}

.house{
	background-color: #f3f3f3;
	margin: 3vw;
}

.house h3,
.house h4{
	font-weight: bold;
}

.house h3{
	color: #bdbdbd;
}

.house h4{
	line-height: 1.4;
}

#know{
	padding-top: 0;
}

#know .txt2{
	line-height: 1.4;
}

#learn .acc-block4 .acc-inner p,
.sossen{
	line-height: 1.81;
}

/*ベース*/
.toggle {
	display: none;
}
.Label {		/*タイトル*/
	padding: 1em;
	display: block;
	color: #fff;
	background:#019ac6;
}
.Label::before{		/*タイトル横の矢印*/
	content:"";
	width: 6px;
	height: 6px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	position: absolute;
	top:calc( 50% - 3px );
	right: 20px;
	transform: rotate(135deg);
}
.Label,
.content {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.3s;
}
.content {		/*本文*/
	height: 0;
	margin-bottom:10px;
	padding:0 20px;
	overflow: hidden;
}
.toggle:checked + .Label + .content {	/*開閉時*/
	height: auto;
	padding:20px ;
	transition: all .3s;
}
.toggle:checked + .Label::before {
	transform: rotate(-45deg) !important;
}

