@charset "UTF-8";
/* CSS Document */

/* ---------------------------------------------------------
animation
----------------------------------------------------------*/
/* .slider02 {
	position: relative;
}
.slider02 .swiper-container::after {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 100;
	content: "";
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.7);
	background-size: contain;
}

.slider02 .swiper-container::before {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 101;
	content: "本年度の賛同企業様が入ります。";
	color: #fff;
	font-size: 30px;
	text-align: center;
} */

.animeBefore,
.animeBefore2 {
	visibility: hidden;
}

.fadeAnime {
	visibility: visible;
	animation-name: fadeAnime;
	animation-duration: 1.5s;
}
@keyframes fadeAnime {
  from {
	  opacity: 0;
  }
  to {
	  opacity: 1;
  }
}

.anm_yoko.off {
  opacity: 0;
  -webkit-transform: translateX(-40%);
  transform: translateX(-40%);
}
.anm_yoko+.anm_yoko, .anm_yoko_02 {
  -webkit-transition-delay: .3s,.7s,.3s;
  transition-delay: .3s,.7s,.3s;
}
.anm_yoko {
  -webkit-transition: opacity .8s .2s,-webkit-transform 1s;
  transition: opacity .8s .2s,-webkit-transform 1s;
  transition: transform 1s,opacity .8s .2s;
  transition: transform 1s,opacity .8s .2s,-webkit-transform 1s;
  opacity: 1;
  -webkit-transform: translateX(0);
  transform: translateX(0);
  position: relative;
  z-index: 1;
}
.anm+.anm {
  -webkit-transition-delay: 1.3s;
  transition-delay: 1.3s;
}

/* ---------------------------------------------------------
common
----------------------------------------------------------*/
body {
  font-size: 16px;
  padding-top: 82px;
  padding-bottom: 76px;
}

.contents {
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto
}
.grayBg {
  background: #F3F3F3;
}
.pinkBg {
  background: #fff1f1
}
.grayBg, .pinkBg {
  padding-top: 72px;
  padding-bottom: 72px;
}
body, a, a:visited, a:hover {
  color: #333;
  outline: none;
}
button {
  outline: none;
}
body:hover, a:hover, a:visited:hover, a:hover:hover {
  text-decoration: none
}
.gap {
  padding-left: 32px;
  padding-right: 32px;
}
.hover_opacity {
  transition: opacity .3s ease;
}
.hover_opacity:hover {
  opacity: .5;
}

.share_pc {
  position: fixed;
  top: 50px;
  right: 26px;
  z-index: 4;
}
.share_pc a {
  display: block;
  width: 40px;
}
.share_pc a+a {
  margin-top: 12px;
}

/*
.mb_96_48 {
  margin-bottom: 96px !important
}
.mb_72_36 {
  margin-bottom: 72px !important
}
.mb_56_28 {
  margin-bottom: 56px !important
}
.mb_24_12 {
  margin-bottom: 24px !important
}
*/
@media screen and (min-width: 480px) {
  .mb_80_40 {
    margin-bottom: 80px !important
  }
  .mb_64_32 {
    margin-bottom: 64px !important
  }
  .mb_48_24 {
    margin-bottom: 48px !important
  }
  .mb_40_20 {
    margin-bottom: 40px !important
  }
  .mb_32_16 {
    margin-bottom: 32px !important
  }
}
.anm_tate {
  -webkit-transition: opacity .7s .3s, -webkit-transform 1s;
  transition: opacity .7s .3s, -webkit-transform 1s;
  transition: transform 1s, opacity .7s .3s;
  transition: transform 1s, opacity .7s .3s, -webkit-transform 1s;
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
  position: relative;
  z-index: 1
}
.anm_tate.off {
  opacity: 0;
  -webkit-transform: translateY(30%);
  transform: translateY(30%)
}
.anm_opacity {
  opacity: 1;
  -webkit-transition: opacity 1s;
  transition: opacity 1s
}
.anm_opacity.off {
  opacity: 0
}
.flex {
  display: flex;
  align-items: center;
  justify-content: space-between
}
.bold {
  font-weight: bold
}
/* ---------------------------------------------------------
.main
----------------------------------------------------------*/
.main {
  position: relative;
}
.main h1 {
  position: absolute;
  top: 0;
  left: 0;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.66;
  letter-spacing: .25em;
  color: #000;
  margin-top: 46px;
  margin-left: 40px;
}

/* ---------------------------------------------------------
.sec01
----------------------------------------------------------*/
.sec01 {
  margin-top: 80px;
  margin-bottom: 90px;
}
.sec01_cnt {
  margin-left: calc(105 / 1000 * 100%);
}
.sec01 h2 {
  position: relative;
  padding-bottom: 8px;
  padding-right: 64px;
  text-align: right;
}
.sec01 h2 img {
  position: relative;
  max-width: 392px;
  width: 100%;
  z-index: 1;
}
.sec01 h2::before {
  content: '';
  background: #e60012;
  width: 100vw;
  position: absolute;
  bottom: 0;
  right: 0
}
.sec01 h2::after {
  content: '';
  background: #e60012;
  width: 100vw;
  position: absolute;
  bottom: 0;
  right: 0;
  width: 40px;
  transform: rotate(40deg);
  transform-origin: bottom right;
  right: 1px
}
.sec01 h2::before,
.sec01 h2::after {
  height: 10px;
}
.sec01 h2::after {
  width: 35px;
}
.sec01 .flex h2 {
  width: calc(100% - 93px);
}

.sec01 .flex>*:last-child {
  width: 59px;
}
.sec01 .fs_m {
  font-size: 18px;
  line-height: 3;
  letter-spacing: .15em;
}
.anm {
  display: block
}
.anm_hl {
  color: inherit;
  -webkit-transition: color 2s;
  transition: color 2s
}
.anm_hl.off {
  color: #fff
}
.anm_hl_2 {
  -webkit-transition: color 2s;
  transition: color 2s;
  -webkit-transition-delay: .3s;
  transition-delay: .3s
}
.anm_hl_3 {
  -webkit-transition: color 2s;
  transition: color 2s;
  -webkit-transition-delay: .5s;
  transition-delay: .5s
}
.anm_hl_4 {
  -webkit-transition: color 2s;
  transition: color 2s;
  -webkit-transition-delay: .7s;
  transition-delay: .7s
}
.anm_hl_5 {
  -webkit-transition: color 2s;
  transition: color 2s;
  -webkit-transition-delay: .9s;
  transition-delay: .9s
}
.anm_hl_6 {
  -webkit-transition: color 2s;
  transition: color 2s;
  -webkit-transition-delay: 1.1s;
  transition-delay: 1.1s
}
.anm_hl_7 {
  -webkit-transition: color 2s;
  transition: color 2s;
  -webkit-transition-delay: 1.3s;
  transition-delay: 1.3s
}
.anm_hl_8 {
  -webkit-transition: color 2s;
  transition: color 2s;
  -webkit-transition-delay: 1.5s;
  transition-delay: 1.5s
}
.anm_hl_9 {
  -webkit-transition: color 2s;
  transition: color 2s;
  -webkit-transition-delay: 1.7s;
  transition-delay: 1.7s
}
.anm_hl_10 {
  -webkit-transition: color 2s;
  transition: color 2s;
  -webkit-transition-delay: 1.9s;
  transition-delay: 1.9s
}
.anm_hl_11 {
  -webkit-transition: color 2s;
  transition: color 2s;
  -webkit-transition-delay: 2.1s;
  transition-delay: 2.1s
}
.anm_hl_12 {
  -webkit-transition: color 2s;
  transition: color 2s;
  -webkit-transition-delay: 2.3s;
  transition-delay: 2.3s
}
.anm_hl_13 {
  -webkit-transition: color 2s;
  transition: color 2s;
  -webkit-transition-delay: 2.5s;
  transition-delay: 2.5s
}
.anm_hl_14 {
  -webkit-transition: color 2s;
  transition: color 2s;
  -webkit-transition-delay: 2.7s;
  transition-delay: 2.7s
}
.anm_hl_15 {
  -webkit-transition: color 2s;
  transition: color 2s;
  -webkit-transition-delay: 2.9s;
  transition-delay: 2.9s
}
.anm_hl_16 {
  -webkit-transition: color 2s;
  transition: color 2s;
  -webkit-transition-delay: 3.1s;
  transition-delay: 3.1s
}
.anm_hl_17 {
  -webkit-transition: color 2s;
  transition: color 2s;
  -webkit-transition-delay: 3.3s;
  transition-delay: 3.3s
}
.anm_hl_18 {
  -webkit-transition: color 2s;
  transition: color 2s;
  -webkit-transition-delay: 3.5s;
  transition-delay: 3.5s
}
.anm_hl_19 {
  -webkit-transition: color 2s;
  transition: color 2s;
  -webkit-transition-delay: 3.7s;
  transition-delay: 3.7s
}
.anm_hl_20 {
  -webkit-transition: color 2s;
  transition: color 2s;
  -webkit-transition-delay: 3.9s;
  transition-delay: 3.9s
}
.anm_hl_21 {
  -webkit-transition: color 2s;
  transition: color 2s;
  -webkit-transition-delay: 4.1s;
  transition-delay: 4.1s
}
.anm_hl_22 {
  -webkit-transition: color 2s;
  transition: color 2s;
  -webkit-transition-delay: 4.3s;
  transition-delay: 4.3s
}



/* ---------------------------------------------------------
#intro
----------------------------------------------------------*/
#intro {
  padding-bottom: 117px;
	margin-bottom: 8vw;
}
#intro h2 {
  width: 258px;
  margin: 0 auto 70px;
}
#intro .inner {
  max-width: 790px;
  width: calc(960 / 1000 * 100%);
  margin-left: auto;
  margin-right: auto;
}
#intro p {
  font-size: 18px;
  line-height: 3;
  letter-spacing: .15em;
}
#intro sup {
  font-size: 10px;
}
#intro .txt-caution {
  font-size: 12px;
  letter-spacing: .08em;
  margin-top: 19px;
}

/* ---------------------------------------------------------
.btn-link
----------------------------------------------------------*/
.btn-link {
  padding: 77px 0 120px;
}
.btn-link ul {
  display: flex;
  justify-content: space-between;
}
.btn-link li {
  width: 46.9%;
}
.btn-link li a {
  display: flex;
  justify-content: center;
  width: 100%;
  height: 109px;
  font-size: 21px;
  color: #fff;
  letter-spacing: .10em;
  background: url(../img/icon_arrow_white.png) no-repeat bottom 14px left 50%;
  background-color: #0886CC;
  background-size: 20px auto;
  border-radius: 11px;
  padding-top: 32px;
  box-sizing: border-box;
}
.btn-link li:nth-child(2) a {
  background-color: #E60012;
}

@media screen and (min-width: 480px) and (max-width: 768px) {
  .btn-link ul {
    display: block;
    margin: 0 auto;
  }
  .btn-link li {
    width: 90%;
    margin: 0 auto 20px;
  }
  .btn-link li:last-child {
    margin-bottom: 0;
  }
  .btn-link li a {
  }
}


/* ---------------------------------------------------------
#campaign
----------------------------------------------------------*/
#campaign .campaign-main {
  background: url(../img/bg.jpg) no-repeat;
  background-size: cover;
  padding: 115px 0 152px;
}
#campaign .campaign-main .subttl {
  font-size: 24px;
  color: #0886CC;
  font-weight: bold;
  letter-spacing: .10em;
  text-align: center;
  margin-bottom: 50px;
}
#campaign .campaign-main h2 {
  max-width: 978px;
  margin: 0 auto 40px;
}
#campaign .campaign-main .close_box {
  max-width: 978px;
  font-weight: bold;
	line-height: 3rem;
	border: solid 1px #0886CC;
  text-align: center;
	background-color: #fff;
	padding: 20px 0 60px;
	margin: 0 auto 40px auto;
}
#campaign .campaign-main .campaign_close{
	font-size: 24px;
  color: #0886CC;
	padding-bottom: 50px;
}
#campaign .campaign-main .close_txt{
	font-size: 15px;
	line-height: 2.0;
	padding-bottom: 50px;
}
#campaign .campaign-main .close_btn a{
width: 50%;
display: flex;
position: relative;
justify-content: center;
align-items: center;
background-color: #E61A19;
margin: 0 auto;
border-radius: 10px;
padding: 35px 0 40px;
}
#campaign .campaign-main .close_btn a::after {
	position: absolute;
	bottom: 10px;
	left: 50%;
	content: "";
	width: 15px;
  height: 15px;
	margin: 0 auto;
  border: 3px solid;
  border-color:  transparent #fff #fff transparent;
  transform: rotate(45deg) translateX(-50%);
}

#campaign .campaign-main .close_btn p{
font-size: 1.8vw;
color: #fff;
}
@media screen and (min-width: 1280px) {
  #campaign .campaign-main .close_btn p{
		font-size: 23px;
		}
}
/* #campaign .campaign-main .close_btn__arrow{
	width: 25px;
  height: 25px;
	margin: 0 auto;
  border: 4px solid;
  border-color:  transparent #fff #fff transparent;
  transform: rotate(45deg);
} */
@media screen and (min-width: 480px) and (max-width: 978px) {
  #campaign .campaign-main h2 {
    max-width: 90%;
  }
	#campaign .campaign-main .close_btn p{
		font-size: 2.3vw;
		color: #fff;
		}
}
#campaign .campaign-main .date {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 250px;
  height: 48px;
  font-size: 16px;
  color: #0886CC;
  font-weight: bold;
  letter-spacing: 0;
  background: #fff;
  border: 1px solid #0886CC;
  margin: 0 auto 79px;
  box-sizing: border-box;
}
#campaign nav {
  position: absolute;
  width: 100%;
  background-color: #fff;
  transition: transform .3s;
}
#campaign nav.is-fixed {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 3;
}
#campaign nav.is-hide {
  transform: translateY(-100%);
}
#campaign nav ul {
  display: flex;
  max-width: 1000px;
  height: 152px;
  margin: 0 auto;
}
#campaign nav li {
  position: relative;
  width: 33.33%;
}
#campaign nav li.cr::after {
  content: '';
  position: absolute;
  bottom: 0;
  display: block;
  width: 100%;
  height: 5px;
  background: #0886CC;
}
#campaign nav li a {
  display: block;
  height: 100%;
  background: url(../img/icon_arrow_gray.png) no-repeat bottom 12px left 50%;
  background-size: 16px auto;
  padding-top: 23px;
}
#campaign nav a {
  border-bottom: 5px solid rgb(255, 255, 255, 0);
  transition: border-bottom .3s;
}
#campaign nav a:hover {
  border-bottom: 5px solid #0886CC;
}
#campaign nav li::before,
#campaign nav li:last-child ::after {
  content: '';
  position: absolute;
  top: 40px;
  left: 0;
  display: block;
  width: 1px;
  height: 79px;
  background: #C9C9C9;
}
#campaign nav li:last-child ::after {
  left: auto;
  right: 0;
}
#campaign nav .wrapper {
  display: flex;
  padding-left: 46px;
}
#campaign nav li:nth-child(2) .wrapper {
  padding-left: 31px;
}
#campaign nav li:nth-child(3) .wrapper {
  padding-left: 55px;
}
#campaign nav .icon {
  width: 42px;
  padding-top: 13px;
  margin-right: 19px;
}
#campaign nav li:nth-child(2) .icon {
  width: 62px;
  padding-top: 19px;
  margin-right: 17px;
}
#campaign nav li:nth-child(3) .icon {
  width: 43px;
  padding-top: 15px;
}
#campaign nav p {
  font-size: 14px;
  color: #000;
  font-weight: bold;
  letter-spacing: .10em;
}
#campaign nav .nav-ttl {
  font-size: 23px;
  color: #0886CC;
  line-height: 1.3;
  letter-spacing: .15em;
  margin-top: 6px;
}
#campaign .lead {
  background: #EBF8FF;
  padding: 95px 0 100px;
}
#campaign .lead h3 {
  font-size: 32px;
  color: #0886CC;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: .10em;
  text-align: center;
  margin-bottom: 33px;
}
#campaign .lead p {
  font-size: 16px;
  color: #000;
  line-height: 1.9;
  text-align: center;
}
#campaign .lead .txt-blue {
  color: #0886CC;
}

@media screen and (max-width: 768px) {
  #campaign .campaign-main .subttl {
    font-size: 18px;
  }
  #campaign .lead h3 {
    font-size: 24px;
  }
}

@media screen and (min-width: 840px) and (max-width: 931px) {
  #campaign nav .nav-ttl {
    font-size: 20px;
  }
}
@media screen and (min-width: 701px) and (max-width: 839px) {
  #campaign nav .nav-ttl {
    font-size: 16px;
  }
}
@media screen and (min-width: 480px) and (max-width: 700px) {
  #campaign nav .icon {
    display: none;
  }
  #campaign nav .nav-ttl {
    font-size: 16px;
  }
  #campaign nav .wrapper,
  #campaign nav li:nth-child(2) .wrapper,
  #campaign nav li:nth-child(3) .wrapper {
    justify-content: center;
    padding: 0;
  }
}

/* ---------------------------------------------------------
.sec-action
----------------------------------------------------------*/
.sec-action {
  background: #EBF8FF;
}
.sec-action .ttl-area {
  background: #0886CC;
  padding: 65px 0 50px;
  margin-bottom: 73px;
  box-sizing: border-box;
}
.sec-action .ttl-area .wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 1000px;
  margin: 0 auto;
}
.sec-action .ttl-area .left-col,
.sec-action .ttl-area .right-col {
  width: 500px;
  width: 50%;
}
.sec-action .ttl-area .left-col {
  border-right: 1px solid #fff;
}
#action02 .ttl-area .left-col {
  width: 55%;
}
#action02 .ttl-area .right-col {
  width: 45%;
}

.sec-action .ttl-area .left-col p {
  font-size: 14px;
  color: #fff;
  font-weight: bold;
  letter-spacing: .10em;
  padding-left: 6px;
  margin-bottom: 4px;
  box-sizing: border-box;
}
.sec-action .ttl-area .left-col .inner {
  display: flex;
}
.sec-action .ttl-area h3 {
  font-size: 48px;
  color: #fff;
  font-weight: bold;
  line-height: 1.66;
  letter-spacing: .10em;
}
@media screen and (min-width: 480px) and (max-width: 768px) {
  .sec-action .ttl-area .wrapper {
    display: block;
  }
  .sec-action .ttl-area .left-col,
  .sec-action .ttl-area .right-col,
  #action02 .ttl-area .left-col,
  #action02 .ttl-area .right-col {
    width: 100%;
  }
  .sec-action .ttl-area .left-col {
    padding-left: 45px;
  }
  .sec-action .ttl-area .right-col {
    padding-right: 40px;
  }
  .sec-action .ttl-area h3 {
    font-size: 40px;
  }
}
#action01 .ttl-area .icon {
  width: 61px;
  padding-top: 58px;
  margin-right: 35px;
  margin-left: 0;
}
#action02 .ttl-area .icon {
  width: 83px;
  padding-top: 57px;
  margin-right: 14px;
}
#action03 .ttl-area .icon {
  width: 62px;
  padding-top: 59px;
  margin-right: 30px;
}
.sec-action .ttl-area .right-col p {
  font-size: 20px;
  color: #fff;
  line-height: 1.7;
  letter-spacing: .10em;
  padding-left: 45px;
}
.sec-action .ttl-area .right-col .txt2 {
  font-size: 16px;
  line-height: 1.87;
  letter-spacing: 0;
  margin-top: 20px;
}

.sec-action .btn-tw {
  position: relative;
  width: 469px;
  width: calc(469 / 1000 * 100%);
  margin: 0 auto;
}

.sec-action .btn-tw.btn-other {
  width: calc(469 / 1000 * 100%);
  height: 108px;
}
.sec-action .btn-tw.btn-other p {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  font-size: 21px;
  color: #fff;
  letter-spacing: .10em;
  background: #1DA1F2;
  border: 4px solid #1887CB;
  border-radius: 11px;
  margin: 0 auto;
  box-sizing: border-box;
  z-index: 1;
}

.sec-action .btn-tw::before {
  content: '';
  position: absolute;
  top: 8px;
  left: 7px;
  display: block;
  width: 100%;
  height: 108px;
  background: #1887CB;
  border-radius: 11px;
}
.sec-action .btn-tw a {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  height: 108px;
  font-size: 21px;
  color: #fff;
  letter-spacing: .10em;
  background: #1DA1F2 url(../img/icon_tw_sp.png) no-repeat left 22px top 50%;
  background-size: 59px auto;
  border: 4px solid #1887CB;
  border-radius: 11px;
  padding-left: 125px;
  padding-left: calc(80 / 469 * 100%);
  margin: 0 auto 10px;
  box-sizing: border-box;
  z-index: 1;
}
.sec-action .txt-caution.txt-tw {
  font-size: 16px !important;
  font-weight: bold;
  text-align: center;
}


/* ---------------------------------------------------------
#action01
----------------------------------------------------------*/
#action01 {
  padding-bottom: 83px;
}
#action01 .movie .anm {
  width: 69.5%;
  margin: 0 auto 82px;
}
#action01 .how {
  margin-bottom: 50px;
}
#action01 .how .subttl {
  font-size: 20px;
  color: #0886CC;
  font-weight: bold;
  text-align: center;
  letter-spacing: .10em;
  margin-bottom: 5px;
}
#action01 .how h3 {
  font-size: 50px;
  color: #0886CC;
  font-weight: bold;
  letter-spacing: .10em;
  text-align: center;
  margin-bottom: 66px;
}
#action01 .how .wrapper {
  display: flex;
  justify-content: space-between;
  margin: 0 auto 110px;
}
#action01 .how .block {
  position: relative;
  width: 490px;
  width: 49%;
  background: #fff;
  padding-bottom: 65px;
}
#action01 .how .block::after {
  content: '';position: absolute;
  bottom: 0;
  left: 50%;
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 35px 34.5px 0 34.5px;
  border-color: #0886CC transparent transparent transparent;
  margin-left: -35px;
  margin-bottom: -68px;
}
#action01 .circle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 86px;
  height: 86px;
  font-size: 16px;
  color: #fff;
  line-height: 1.40;
  letter-spacing: .10em;
  text-align: center;
  background: #0886CC;
  border-radius: 50%;
  margin: -43px auto 44px;
}
#action01 .block:nth-child(2) .circle {
  margin-bottom: 38px;
}
#action01 .icon {
  width: 138px;
  margin: 0 auto;
}
#action01 .block:nth-child(2) .icon {
  width: 62px;
}
#action01 .block h4 {
  font-size: 40px;
  color: #0886CC;
  font-weight: bold;
  letter-spacing: .10em;
  line-height: 1.4;
  text-align: center;
  margin: 33px 0 46px;
}
#action01 .block:nth-child(2) h4 {
  margin-top: 23px;
}
#action01 .bg-blue {
  width: calc(417 / 490 * 100%);
  min-height: 268px;
  background: #0886CC;
  border-radius: 5px;
  padding: 30px calc(40 / 490 * 100%) 34px calc(32 / 490 * 100%);
  margin: 0 auto 45px;
  box-sizing: border-box;
}
#action01 .bg-blue li {
  font-size: 18px;
  color: #fff;
  letter-spacing: .05em;
  margin-bottom: 15px;
}
#action01 .bg-blue li:last-child {
  margin-bottom: 21px;
}
#action01 .bg-blue p {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.43;
  background: #fff;
  border: 1px solid #000;
  padding: 10px 20px 10px;
  padding: 10px calc(20 / 417 * 100%) 10px;
  box-sizing: border-box;
}
#action01 .bg-blue .txt-blue {
  color: #0886CC;
}

@media screen and (min-width:1000px) {
  #action01 .bg-blue .pic {
    height: 146px;
    background: #fff;
  }
}

#action01 .txt-hashtag {
  font-size: 24px;
  color: #000;
  font-weight: bold;
  line-height: 1.66;
  letter-spacing: 0;
  text-align: center;
}
#action01 .txt-blue {
  font-weight: bold;
  color: #0886CC;
}
#action01 .block2 {
  background: #fff;
  border-radius: 5px;
  padding: 55px 0 60px;
  margin-bottom: 10px;
}
#action01 .block2 h4 {
  font-size: 32px;
  color: #0886CC;
  line-height: 1.4;
  letter-spacing: .10em;
  text-align: center;
  margin-bottom: 37px;
}
#action01 .block2 h4 .txt-big {
  font-size: 50px;
  font-weight: bold;
  letter-spacing: .11em;
}
#action01 .block2 .txt-ex {
  font-size: 20px;
  color: #0886CC;
  font-weight: bold;
  letter-spacing: .10em;
  text-align: center;
  margin-bottom: 47px;
}
#action01 .block2 ul {
  margin-left: 26.7%;
}
#action01 .block2 li {
  font-size: 24px;
  font-weight: bold;
  line-height: 2.1;
  letter-spacing: .10em;
}
#action01 .block2 li p {
  font-size: 16px;
  font-weight: bold;
  padding-left: 1.8em;
  margin-bottom: 20px;
}

#action01 .block2 .bg-yellow {
  font-weight: bold;
  background: #FFF700;
  padding: 3px 1px 7px;
}
#action01 .btn-tw {
  margin-top: 35px;
}
#action01 .txt-caution {
  font-size: 14px;
  font-weight: bold;
}

@media screen and (min-width: 480px) and (max-width: 768px) {
  #action01 .how .wrapper {
    display: block;
  }
  #action01 .how .block {
    width: 80%;
    margin: 0 auto 140px;
  }
  #action01 .block2 ul {
    margin-left: 10%;
  }
  .sec-action .btn-tw {
    width: 70%;
  }
  #action01 .block2 h4 .txt-big {
    font-size: 40px;
  }

}

@media screen and (min-width: 480px) and (max-width: 600px) {
  .sec-action .btn-tw a {
    font-size: 18px;
  }
}

#action01 .sponsor {
  max-width: 1010px;
  max-width: 1200px;
  margin: 0 auto;
  overflow: hidden;
	margin-bottom: 10vw;
}
#action01 .sponsor h5 {
  font-size: 21px;
  font-weight: bold;
  letter-spacing: .1em;
  text-align: center;
  margin-bottom: 25px;
}
#action01 .sponsor p {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.87;
  letter-spacing: 0;
  text-align: center;
  margin-bottom: 30px;
}
#action01 .sponsor p.txt-caution {
  font-size: 16px;
  font-weight: normal;
  text-align: left;
  line-height: 1;
  margin: -30px 0 0 calc(5 / 1010 * 100%);
}

#action01 .sponsor .slider {
  position: relative;
  max-width: 1010px;
  margin: 0 auto 40px;
}
#action01 .swiper-slide {
  display: flex;
}

#action01 .sponsor ul {
  width: calc(242 / 1010 * 100%);
  /* padding-bottom: 33px; */
  margin: 0 calc(5 / 1010 * 100%);
}
#action01 .sponsor li {
  width: 100%;
  margin: 0 0 10px;
}

.cursorNone{
	cursor: default;
}

.swiper-pagination{
	position: relative;
}

.swiper-container-horizontal > .swiper-pagination-bullets,
.swiper-pagination-custom,
.swiper-pagination-fraction {
  bottom: 0;
  line-height: 1;
}
.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  width: 14px;
  height: 14px;
  background: #fff;
  opacity: 1;
  margin: 0 7px;
}
.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet-active {
  background: #0886CC;
}

.sponsor-nav-prev,
.sponsor-nav-next {
  position: absolute;
  top: 62px;
  right: -57px;
  filter: drop-shadow(0 0 20px rgba(29,134,201,1));
  opacity: 0;
}
.swiper-container-initialized ~ .sponsor-nav-next,
.swiper-container-initialized ~ .sponsor-nav-prev {
  opacity: 1;
}
.sponsor-nav-prev {
  right: auto;
  left: -46px;
  transform: scaleX(-1);
}
@media screen and (min-width: 480px) and (max-width: 1140px) {
  .sponsor-nav-prev,
  .sponsor-nav-next {
    top: auto;
    bottom: -20px;
    right: 5px;
  }
  .sponsor-nav-prev {
    right: auto;
    left: 5px;
  }

  #action01 .swiper-container {
    padding-bottom: 20px;
  }
}

.btn-list {
  text-align: center;
}
.btn-list a {
  display: inline-flex;
  align-items: center;
  font-size: 18px;
  color: #0886CC;
  line-height: 1;
}
.btn-list a::before {
  content: '';
  display: block;
  width: 20px;
  height: 20px;
  background: url("../img/icon_arrow_blue.png") no-repeat;
  background-size: contain;
  margin-right: 4px;
}



/* ---------------------------------------------------------
#modal
----------------------------------------------------------*/
#modal {
  display: none;
}
.modaal-wrapper .modaal-close {
  width: 47px;
  height: 47px;
  background: url("../img/icon_modal_close.png") no-repeat;
  background-size: contain;
  border-radius: 0;
}
.modaal-wrapper .modaal-close::before,
.modaal-wrapper .modaal-close::after {
  content: none;
}
.modaal-content-container {
  padding: 0;
}
.modaal-container {
  max-width: 1068px;
  background: transparent;
  box-shadow: none;
}
.modal-list-inner h3 {
  font-size: 21px;
  font-weight: bold;
  text-align: center;
  color: #fff;
  margin-bottom: 60px;
}
.modal-list-inner ul {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  width: 1068px;
  padding: 0 3px;
  margin: 0 auto;
  box-sizing: border-box;
}
.modal-list-inner li {
  width: 170px;
  margin: 0 3px 6px;
}
.modal-list-inner li img {
  width: 100%;
  height: auto;
}

@media screen and (min-width: 480px) and (max-width: 1100px) {
  .modal-list-inner ul {
    width: 100%;
  }
  .modal-list-inner li {
    width: calc(33% - 6px);
    margin: 0 3px 6px;
  }
}
.modal-video-inner {
  margin: 0 auto;
  max-width: 900px;

}
.youtube-box {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.youtube-box iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


/* ---------------------------------------------------------
#action02
----------------------------------------------------------*/
#action02 {
  padding-bottom: 70px;
}
#action02 .sec1 {
  margin-bottom: 80px;
}
#action02 .sec1 h3 {
  font-size: 42px;
  color: #0886CC;
  font-weight: bold;
  text-align: center;
  letter-spacing: .1em;
}
@media screen and (min-width: 480px) and (max-width: 768px) {
  #action02 .sec1 h3 {
    font-size: 32px;
  }
}

#action02 .sec1 .num-box::after {
  content: '';
  display: block;
  width: 627px;
  height: 10px;
  background: #0886CC;
  margin: 19px auto 0;
  transform: translateX(5px);
}
#action02 .sec1 .num-box .wrapper {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  height: 146px;
}

#action02 .sec1 .num-box .block {
  position: relative;
  width: 92px;
  height: 146px;
  margin: 0 4px;

  transform-style:preserve-3d;
  perspective: 200px;
}
#action02 .sec1 .num-box .block > div {
  position: relative;
  width: 92px;
  height: 73px;
}
#action02 .sec1 .num-box .num-upper img,
#action02 .sec1 .num-box .num-bottom img {
  position: absolute;
  top: 0;
  left: 0;
}
#action02 .sec1 .num-box .num-blank {
  display: block;
}
#action02 .sec1 .num-box .num-upper,
#action02 .sec1 .num-box .num-bottom,
#action02 .sec1 .num-box .is-active .num-blank {
  display: none;
}
#action02 .sec1 .num-box .is-active .num-upper,
#action02 .sec1 .num-box .is-active .num-bottom {
  display: block;
}
#action02 .sec1 .num-upper img {
  transform-origin: bottom;
}
#action02 .sec1 .num-bottom img {
  animation-fill-mode:forwards;
  transform-origin: top;
  transform: rotateX(-90deg);
}
#action02 .sec1 .num-box .num-upper img.cardAnime {
	animation-name: cardAnime1;
	animation-duration: 100ms;
  animation-timing-function: ease-out;
  animation-fill-mode:forwards;
}
#action02 .sec1 .num-bottom img.cardAnime {
	animation-name: cardAnime2;
	animation-duration: 100ms;
  animation-delay: 60ms;
  animation-timing-function: ease-in;
}
#action02 .sec1 .num-bottom img:first-child {
  transform: rotateX(0deg);
}
#action02 .sec1 .num-box img {
  display: block;
  /* width: 92px;
  height: 73px; */
  vertical-align: top;
}
@keyframes cardAnime1 {
  from {
	  transform: rotateX(0deg);
    opacity: 1;
  }
  to {
	  transform: rotateX(-90deg);
    opacity: 0;
  }
}
@keyframes cardAnime2 {
  from {
	  transform: rotateX(90deg);
  }
  to {
	  transform: rotateX(0deg);
    display: none;
  }
}

@media screen and (min-width: 480px) and (max-width: 768px) {
  #action02 .sec1 .num-box {
    max-width: 330px;
    margin: 0 auto;
  }
  #action02 .sec1 .num-box::after {
    width: 100%;
  }
  #action02 .sec1 .num-box .wrapper {
    height: 72px;
  }
  #action02 .sec1 .num-box .block {
    width: 46px;
    height: 72px;
    margin: 0 2px;
  }
  #action02 .sec1 .num-box .block > div {
    width: 100%;
    height: 36px;
  }
  #action02 .sec1 .num-box img,
  #action02 .num-blank img {
    display: block;
    width: 46px;
    height: 36px;
    vertical-align: top;
  }
}

#action02 .sec1 .num-box p {
  font-size: 20px;
  font-weight: bold;
}
#action02 .sec1 .txt-caution {
  font-size: 16px;
  text-align: center;
  line-height: 1;
  margin: 16px 0 100px;
}
#action02 .sec1 h4 {
  text-align: center;
  margin-bottom: 15px;
}
#action02 .sec1 .txt-caution {
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0;
  text-align: center;
}
#action02 .sec1 .tw-block {
  position: relative;
  opacity: 0;
}
#action02 .sec1 .tw-block.is-show {
  opacity: 1;
}
#action02 .sec1 .tw-block .txt-balloon {
  position: absolute;
  top: -36px;
  left: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 424px;
  height: 73px;
  font-size: 32px;
  color: #fff;
  font-weight: bold;
  letter-spacing: .10em;
  background: #0886CC;
  border-radius: 37px;
  margin-left: -212px;
  z-index: 2;
}
#action02 .sec1 .tw-block .txt-balloon::after {
  content: '';
  position: absolute;
  bottom: -10px;
  left: 50%;
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 13px 10.5px 0 10.5px;
  border-color: #0886CC transparent transparent transparent;
  margin-left: -10px;
}
#action02 .sec1 .tw-block .post-wrapper {
  display: flex;
  background: #fff;
  margin: 0 auto;
}
#action02 .sec1 .tw-block .block {
  width: 1000px;
  position: relative;
  word-break: break-all;
  padding: 67px 61px 44px 83px;
  box-sizing: border-box;
}
#action02 .sec1 .tw-block .block.no-pic {
  padding: 67px 259px 60px;
}
@media screen and (min-width: 480px) and (max-width: 999px) {
  #action02 .sec1 .tw-block .block {
    width: 100vw;
  }
  #action02 .sec1 .tw-block .block.no-pic {
    padding: calc(67 / 1000 * 100vw) calc(259 / 1000 * 100vw) calc(60 / 1000 * 100vw);
  }
}
#action02 .sec1 .tw-block .block::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  border-radius: 26px;
}
#action02 .sec1 .tw-block .block.no-pic::before {
  width: calc(658 / 1000 * 100%);
  left: 50%;
  transform: translateX(-50%);
}
#action02 .sec1 .tw-block .block .left-col {
  position: relative;
  width: calc(503 / 856 * 100%);
  text-align: left;
  padding-right: 10px;
  box-sizing: border-box;
}
#action02 .sec1 .tw-block .block .right-col {
  position: relative;
  width: calc(353 / 856 * 100%);
}
#action02 .sec1 .tw-block .block .post-name {
  position: relative;
  font-size: 26px;
  font-weight: bold;
  margin-bottom: 15px;
}
#action02 .sec1 .tw-block .block .post-id {
  color: #B1B1B1;
}
#action02 .sec1 .tw-block .block .post-txt {
  position: relative;
  font-size: 24px;
  line-height: 1.5;
}
#action02 .sec1 .tw-block .block .right-col img {
  border-radius: 16px;
}

.slick-slide:focus {
  outline: none;
}

#action02 .sec2 {
  padding-bottom: 60px;
}
#action02 .sec2 h5 {
  font-size: 21px;
  font-weight: bold;
  letter-spacing: .10em;
  text-align: center;
  line-height: 1;
  margin-bottom: 37px;
}
#action02 .sec2 p {
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 22px;
}
#action02 .sec2 .post-box {
  position: relative;
  max-width: 1000px;
  margin: 0 auto;
  box-sizing: content-box;
  transition: height .8s;
}
#action02 .sec2 .post-box .sr-sh-clearfix {
  position: relative;
  z-index: 1;
}

.sr-sh-theme-card__wrapper {
  background: #fff;
  padding: 23px 34px;
  box-shadow: none;
  border-radius: 10px;
}
.sr-sh-theme-card__description-container {
  background: transparent;
}
.sr-sh-theme-card__name-show,
.sr-sh-theme-card__description-show {
  font-size: 14px;
  line-height: 1.6;
}
.sr-sh-theme-card__wrapper .sr-sh-theme-card__media img {
  border-radius: 10px;
}
.sr-sh .sr-sh-theme-btn,
.ngdialog .sr-sh-theme-btn {
  font-size: 21px;
  font-weight: bold;
  line-height: 1;
  letter-spacing: .10em;
  color: #000;
  padding: 0;
  margin: 30px 0 0;
  border: none;
  border-radius: none;
  background: transparent;
}
.sr-sh .sr-sh-theme-btn::after,
.ngdialog .sr-sh-theme-btn::after {
  content: '';
  display: block;
  width: 38px;
  height: 20px;
  background: url("../img/icon_arrow_black.png") no-repeat;
  background-size: contain;
  margin: 20px auto 0;
}
.sr-sh .sr-sh-theme-btn:hover,
.sr-sh .sr-sh-theme-btn:active,
.sr-sh .sr-sh-theme-btn:focus,
.sr-sh .sr-sh-theme-btn.selected,
.ngdialog .sr-sh-theme-btn:hover,
.ngdialog .sr-sh-theme-btn:active,
.ngdialog .sr-sh-theme-btn:focus,
.ngdialog .sr-sh-theme-btn.selected {
  color: #000;
  background: transparent;
  outline: none;
}


#action02 .sec2 .btn-more {
  position: relative;
  text-align: center;
  z-index: 2;
}
#action02 .sec2 .btn-more.is-show {
  opacity: 1;
  visibility: visible;
}
#action02 .sec2 .btn-more a {
  display: block;
  font-size: 21px;
  font-weight: bold;
  line-height: 1;
  letter-spacing: .10em;
}
#action02 .sec2 .btn-more a::after {
  content: '';
  display: block;
  width: 38px;
  height: 20px;
  background: url("../img/icon_arrow_black.png") no-repeat;
  background-size: contain;
  margin: 20px auto 0;
}

#action02 .sec3 {
  margin: 70px 0 100px;
}
#action02 .sec3 .subttl {
  font-size: 20px;
  color: #0886CC;
  font-weight: bold;
  text-align: center;
  margin-bottom: 50px;
}
#action02 .sec3 h3 {
  font-size: 42px;
  color: #0886CC;
  font-weight: bold;
  line-height: 1.71;
  letter-spacing: .10em;
  text-align: center;
}
#action02 .sec3 .slider {
  position: relative;
}
.sonae-nav-prev,
.sonae-nav-next {
  position: absolute;
  top: 50%;
  left: 50%;
  filter: drop-shadow(0 0 20px rgba(29,134,201,1));
  opacity: 1;
  margin-top: -22px;
  margin-left: 397px;
}
.sonae-nav-prev {
  transform: scaleX(-1);
  margin-left: -436px;
}
.swiper-container-initialized ~ .sonae-nav-next,
.swiper-container-initialized ~ .sonae-nav-prev {
  opacity: 1;
}

.slick-dots {
  position: absolute;
  bottom: -51px;
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
}
.slick-dots li {
  width: 14px;
  height: 14px;
  margin: 0 7px;
}
.slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 14px;
  height: 14px;
  padding: 7px;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background: #fff;
  border-radius: 50%;
}
.slick-dots li.slick-active button {
  background: #1D86C9;
}
.slick-dots li button:before {
  content: none;
}

#action02 .sec3 .slider-box {
  max-width: 834px;
  height: 551px;
  overflow-x: hidden;
  margin: 0 auto;
}
#action02 .sec3 .slider-box.slick-initialized {
  max-width: 100%;
	width: 100vw;
  height: inherit;
  overflow: visible;
}
#action02 .sec3 .slider .block {
  width: 744px;
  min-height: 580px;
  background: #fff;
  padding: 30px 40px;
  margin: 0 45px;
  box-sizing: border-box;
}
#action02 .sec3 .slider .block .wrapper {
  display: flex;
  justify-content: space-between;
}
#action02 .sec3 .slider .block .left-col {
  width: 272px;
}
#action02 .sec3 .slider .block .left-col .txt {
  font-size: 20px;
  color: #fff;
  background: #0886CC;
  padding: 16px 26px 22px;
}
#action02 .sec3 .slider .block .left-col .txt .txt-small {
  font-size: 16px;
}
#action02 .sec3 .slider .block .txtbox {
	display: flex;
	margin-bottom: 20px;
}
#action02 .sec3 .slider .block .info {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}
#action02 .sec3 .slider .block .right-col .icon {
  width: 59px;
  margin-right: 20px;
}
#action02 .sec3 .slider .block .name {
  font-size: 20px;
  font-weight: bold;
  letter-spacing: .10em;
}
#action02 .sec3 .slider .block .txt-ex {
  font-size: 16px;
  line-height: 1.87;
  font-weight: bold;
  letter-spacing: 0;
  margin-right: -14px;
  margin-bottom: 12px;
}
#action02 .sec3 .slider .block .txt-blue {
  color: #00B4EC;
}
#action02 .sec3 .slider .block .right-col .pic1 {
  width: 170px;
  margin: 0 auto;
}

/*
#action02 .sec3 .btn-tw a,
#action02 .sec3 .btn-tw::before {
  width: 469px;
}
*/
#action02 .sec3 .btn-tw {
  width: 469px;
  margin-top: 134px;
}
@media screen and (min-width: 480px) and (max-width: 768px) {
  #action02 .sec3 .slider .block {
    width: calc(744 / 768 * 100vw);
    background: #fff;
    padding: 44px calc(54 / 768 * 100vw) 38px calc(51 / 768 * 100vw);
    margin: 0;
    box-sizing: border-box;
  }
  #action02 .sec3 .slider .block .left-col {
    width: calc(272 / 639 * 100%);
  }
  #action02 .sec3 .slider .block .right-col {
  }
  #action02 .sec3 .slider .block .right-col .icon {
  }
}
@media screen and (min-width: 480px) and (max-width: 890px) {
  .sonae-nav-prev,
  .sonae-nav-next {
    top: auto;
    bottom: -60px;
    left: 10px;
    margin-top: -22px;
    margin-left: 0;
  }
  .sonae-nav-next {
    left: auto;
    right: 10px;
  }
}


/* new 2022 */
#sr-social-hub-wrapper .grid-item {
  background: #fff;
  box-shadow: none;
	border: none;
  border-radius: 10px;
}
#sr-social-hub-wrapper .EntryImage__img-container___LVSby,
#sr-social-hub-wrapper .Entry__card-caption___AGG2C {
  padding: 23px 34px;
}
#sr-social-hub-wrapper .EntryImage__img-container___LVSby + .Entry__card-caption___AGG2C {
	padding-top: 0;
}
#sr-social-hub-wrapper .Entry__logo___3VVZq span,
#sr-social-hub-wrapper .Entry__comment-title___3QwYj {
  font-size: 14px;
  line-height: 1.6;
	color: #333;
}
#sr-social-hub-wrapper .Entry__logo___3VVZq span {
	margin-left: 10px;
}
#sr-social-hub-wrapper .Entry__comment-title___3QwYj {
	display: block;
	margin-top: 10px;
}
#sr-social-hub-wrapper .LoadMoreButton__load-more-button___3uRPa {
  font-size: 21px;
  font-weight: bold;
  line-height: 1;
  letter-spacing: .10em;
  color: #000;
  padding: 0;
  margin: 30px 0 0;
  border: none;
  border-radius: none;
  background: transparent;
}
#sr-social-hub-wrapper .LoadMoreButton__load-more-button___3uRPa::after {
  content: '';
  display: block;
  width: 38px;
  height: 20px;
  background: url("../img/icon_arrow_black.png") no-repeat;
  background-size: contain;
  margin: 20px auto 0;
}
/* /new 2022 */


/* ---------------------------------------------------------
#action03
----------------------------------------------------------*/
#action03 {
  padding-bottom: 100px;
}
#action03 .ttl-area {
  margin-bottom: 101px;
}
#action03 .txt-check {
  font-size: 28px;
  font-weight: bold;
  letter-spacing: 0;
  text-align: center;
  padding-left: 60px;
  margin-bottom: 66px;
}
#action03 .txt-check::before {
  content: '';
  display: inline-block;
  width: 65px;
  height: 52px;
  background: url("../img/icon_check.svg") no-repeat;
  vertical-align: top;
  margin-top: -8px;
  margin-right: 10px;
}
#action03 .block {
  max-width: 1000px;
  background: #fff;
  padding-top: 40px;
  margin: 0 auto 35px;
}
#action03 .ttl-block {
  padding-bottom: 40px;
}

#action03 .btn-ttl {
  display: flex;
  margin-left: 50px;
}
#action03 .btn-acc p {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 71px;
  height: 71px;
  font-size: 10px;
  color: #E60012;
  font-weight: bold;
  text-align: center;
  margin-right: 73px;
  border: 4px solid #000;
  margin-top: 24px;
}
#action03 .btn-acc {
  position: relative;
}
#action03 .btn-acc .icon-checked {
  position: absolute;
  top: 7px;
  left: 0;
  width: 109px;
  opacity: 0;
}
#action03 .ttl-block .icon-check {
  width: 109px;
  padding-top: 17px;
  margin-right: 35px;
}
#action03 .is-open .icon-checked {
  opacity: 1;
}
#action03 .is-open .btn-acc p {
  opacity: 0;
}
#action03 .ttl-block h4 {
  font-size: 35px;
}
#action03 .ttl-block h5 {
  font-size: 20px;
  font-weight: bold;
  line-height: 2;
  padding-right: 45px;
  margin-left: 194px;
  margin-top: -30px;
}
#action03 .acc-inner {
  max-height: 0;
  overflow: hidden;
  transition: max-height .3s,padding .3s;
  box-sizing: border-box;
}
#action03 .is-open + .acc-inner {
  max-height: 1800px;
  padding-top: 64px;
  padding-bottom: 90px;
  border-top: 1px solid #C7C7C7;
}
#action03 .acc-block1 .pic {
  width: 862px;
  width: calc(862 / 1000 * 100%);
  margin: 0 auto;
}
#action03 .txt-link .inner {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 79px;
}
#action03 .txt-link p {
  position: relative;
  font-size: 18px;
  color: #0886CC;
  font-weight: bold;
}
#action03 .txt-link p::before {
  content: '';
  position: absolute;
  top: 20px;
  left: -28px;
  display: inline-block;
  width: 20px;
  height: 20px;
  background: url("../img/icon_arrow_blue.png") no-repeat;
  background-size: contain;
}
#action03 .txt-link .pic {
  width: 79px;
}
#action03 .acc-block2.is-open .acc-inner {
  padding-bottom: 68px;
}
#action03 .acc-block2 .pic {
  width: calc(1768 / 2000 * 100%);
  margin: 0 auto;
}
#action03 .acc-block3.is-open .acc-inner {
  padding-bottom: 65px;
}
#action03 .acc-block3 .wrapper {
  display: flex;
  justify-content: space-between;
  width: calc(874 / 1000 * 100%);
  margin: 0 auto;
}
#action03 .acc-block3 .pic {
  width: calc(211 / 874 * 100%);
}
#action03 .acc-block4 .acc-inner {
  position: relative;
  padding-left: calc(64 / 1000 * 100%);
}
#action03 .acc-block4.is-open .acc-inner {
  padding-bottom: 65px;
}
#action03 .acc-block4 .acc-inner p {
  width: calc(422 / 937 * 100%);
  line-height: 30px;
}
#action03 .acc-block4 .acc-inner .pic {
  position: absolute;
  top: 0;
  left: calc(522 / 1000 * 100%);
  width: calc(431 / 1000 * 100%);
  margin-top: calc(66 / 1000 * 100%);
}
#action03 .acc-block4 .acc-inner .txt-link {
  font-weight: bold;
  padding-top: 98px;
}
#action03 .acc-block4 .acc-inner .txt-link a {
  display: block;
  color: #0886CC;
  background: url("../img/icon_arrow_blue.png") no-repeat left center;
  background-size: 20px auto;
  padding-left: 28px;
}
#action03 .txt-link-more {
  margin: 76px 0 0;
}
#action03 .txt-link-more .inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 476px;
  margin: 0 auto;
}
#action03 .txt-link-more a {
  color: #0886CC;
}
#action03 .txt-link-more p {
  font-size: 18px;
  line-height: 30px;
  background: url("../img/icon_arrow_blue.png") no-repeat left center;
  background-size: 20px auto;
  padding-left: 28px;
}
#action03 .txt-link-more .pic {
  width: 79px;
}
#action03 .btn-tw {
  width: 469px;
  margin-top: 70px;
}

@media screen and (min-width: 480px) and (max-width: 800px) {
  #action03 .ttl-block h4 {
    font-size: 30px;
  }
  #action03 .btn-ttl {
    margin-left: 20px;
  }
  #action03 .btn-acc p {
    margin-right: 50px;
  }
  #action03 .ttl-block h5 {
    margin-left: 146px;
  }
}
@media screen and (min-width: 480px) and (max-width: 660px) {
  #action03 .ttl-block h4 {
    font-size: 24px;
  }
  #action03 .acc-block3 .wrapper {
    flex-wrap: wrap;
  }
  #action03 .acc-block3 .pic {
    width: 48%;
    margin-bottom: 20px;
  }
}


/* ---------------------------------------------------------
#work1
----------------------------------------------------------*/
#work1 {
  max-width: 1000px;
  padding: 100px 0 0;
  margin: 0 auto;
}
#work1 .subttl {
  font-size: 20px;
  font-weight: bold;
  letter-spacing: .1em;
  text-align: center;
  margin-bottom: 7px;
}
#work1 h2 {
  font-size: 42px;
  color: #E60012;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: .1em;
  text-align: center;
  margin-bottom: 28px;
	display: block;
  height: auto;
}
#work1 h2::after {
  content: '';
  display: block;
  width: 61px;
  height: 1px;
  background: #E60012;
  margin: 30px auto 0;
}
#work1 .lead {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.9;
  letter-spacing: 0;
  text-align: center;
  margin-bottom: 70px;
}
#work1 .pic-main {
  width: calc(627 / 1000 * 100%);
  text-align: center;
  margin: 0 auto;
}
#work1 .pic img {
  width: 100%;
  height: auto;
}
#work1 .balloon {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 84px;
  font-size: 21px;
  color: #fff;
  font-weight: bold;
  background: #E60012;
  letter-spacing: .2em;
  z-index: 2;
}
#work1 .balloon::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -9px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 9px 5.5px 0 5.5px;
  border-color: #E60012 transparent transparent transparent;
  transform: translateX(-50%);
}
#work1 .bg-gray {
  background: #F3F3F3;
  padding-bottom: 38px;
}
#work1 .bg-white {
  position: relative;
  background: #fff;
  padding-top: 80px;
}
#work1 .txt-balloon {
  position: absolute;
  top: -40px;
  left: 50%;
  width: 140px;
  transform: translateX(-50%);
}
#work1 .ttl-bar {
  font-size: 20px;
  letter-spacing: .1em;
  text-align: center;
  margin-bottom: 35px;
}
#work1 .ttl-bar::after {
  content: '';
  display: block;
  width: 33px;
  height: 2px;
  background: #FF0000;
  margin: 30px auto 0;
}
#work1 .txt-link a {
  display: block;
  font-size: 18px;
  font-weight: bold;
  color: #E60012;
  line-height: 20px;
  background: url("../img/icon_arrow_red_right.png") no-repeat left center;
  background-size: 20px 20px;
  padding-left: 25px;
}

#work1 .block-first {
  position: relative;
  padding: 67px 0 48px calc(44 / 1000 * 100%);
  margin-bottom: 58px;
}
#work1 .block-first .txt1 {
  width: 95%;
  font-size: 16px;
  line-height: 30px;
  margin-bottom: 40px;
}
#work1 .block-first .bg-white {
  position: absolute;
  top: 67px;
  left: calc(496 / 1000 * 100%);
  width: calc(457 / 1000 * 100%);
  padding-bottom: 37px;
}
#work1 .block-first .ttl-bar {
  margin-bottom: 30px;
}
#work1 .block-first .bg-white .wrapper {
  display: flex;
  justify-content: space-between;
  width: calc(382 / 457 * 100%);
  margin: 0 auto;
}
#work1 .block-first .bg-white .wrapper .pic {
  width: calc(156 / 382 * 100%);
}
#work1 .block-first .bg-white .wrapper .txt2 {
  width: calc(208 / 382 * 100%);
}
#work1 .block-first .txt-link:last-child {
  margin-top: 23px;
}

#work1 .wrapper-col2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#work1 .wrapper-col2 .block {
  width: calc(481 / 1000 * 100%);
  margin-bottom: 55px;
}
#work1 .wrapper-col2 .bg-gray {
  width: calc(419 / 481 * 100%);
  padding: 0 calc(40 / 481 * 100%) 38px;
  margin: -41px auto 0;
}
#work1 .wrapper-col2 .balloon {
  margin: 0 -40px 28px;
}
#work1 .wrapper-col2 .bg-gray > p {
  font-size: 16px;
  line-height: 30px;
}
#work1 .wrapper-col2 .bg-white {
  padding: 87px 0 40px;
  margin-bottom: 43px;
}
#work1 .wrapper-col2 .txt1 {
  margin-bottom: 68px;
}
#work1 .wrapper-col2 .bg-white .pic {
  margin: 0 calc(40 / 336 * 100%);
}
#work1 .wrapper-col2 .bg-white p {
  font-size: 16px;
  line-height: 30px;
  margin: 13px calc(40 / 336 * 100%) 0;
}
#work1 .wrapper-col2 .block:nth-child(3) .bg-white .pic {
  margin: 0 calc(97 / 336 * 100%);
}
#work1 .wrapper-col2 .block:nth-child(4) .bg-white {
  padding-top: 64px;
}
#work1 .wrapper-col2 .block:nth-child(4) h4::after {
  margin-top: 15px;
}

@media screen and (min-width: 480px) and (max-width: 560px) {
  #work1 .wrapper-col2 {
    display: block;
  }
  #work1 .wrapper-col2 .block {
    width: 90%;
    margin: 0 auto 55px;
  }

#work1 .block-first {
  position: relative;
    padding: 67px calc(44 / 1000 * 100%) 48px;
  margin-bottom: 58px;
}
  #work1 .block-first .txt1 {
    width: 100%;
    margin-bottom: 40px;
  }
  #work1 .block-first .bg-white {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    margin-bottom: 40px;
  }
}

#modal-work {
  display: none;
}
.modal-work-inner {
  max-width: 1000px;
  margin: 0 auto;
}
.modal-work-inner h2 {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 58px;
  font-size: 18px;
  font-weight: bold;
  background: #fff;
  letter-spacing: .2em;
  margin-bottom: 16px;
}
.modal-work-inner .wrapper {
  display: flex;
  justify-content: space-between;
}
.modal-work-inner .block {
  width: calc(319 / 1000 * 100%);
  background: #fff;
  padding-bottom: 23px;
}
.modal-work-inner h3 {
  font-size: 24px;
  font-weight: bold;
  line-height: 1;
  padding: 0 calc(30 / 319 * 100%);
  margin: 30px 0 23px;
}
.modal-work-inner p {
  font-size: 16px;
  line-height: 30px;
  padding: 0 calc(30 / 319 * 100%);
}
#work1 .txt-caution {
  font-size: 14px;
  line-height: 24px;
  text-align: center;
  margin-bottom: 63px;
}

#work1 .nationwide {
  padding: 75px 0 0;
  border-top: 1px solid #E2E2E2;
}
#work1 .nationwide h3 {
  font-size: 20px;
  line-height: 30px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 24px;
}
#work1 .nationwide h3 + p {
  margin-bottom: 50px;
}
#work1 .nationwide .block {
  margin-bottom: 27px;
}
#work1 .nationwide .block,
#work1 .nationwide ul {
  display: flex;
  align-items: center;
}
#work1 .nationwide ul {
  width: calc(100% - 126px);
  flex-wrap: wrap;
}
#work1 .nationwide .block h4 {
  width: 126px;
  font-size: 19px;
  font-weight: bold;
  margin-bottom: 4px;
}
#work1 .nationwide li {
  margin: 0 0 4px 4px;
}
#work1 .nationwide li a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 120px;
  height: 45px;
  font-size: 16px;
  font-weight: bold;
  color: #E60012;
  border: 1px solid #E60012;
  border-radius: 5px;
}

/* ---------------------------------------------------------
#work2
----------------------------------------------------------*/
#work2 {
  max-width: 1000px;
  padding: 100px 0;
  margin: 0 auto;
}
#work2 .subttl {
  font-size: 20px;
  font-weight: bold;
  letter-spacing: .1em;
  text-align: center;
  margin-bottom: 7px;
}
#work2 h2 {
  font-size: 42px;
  color: #E60012;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: .1em;
  text-align: center;
  margin-bottom: 40px;
}
#work2 h2::after {
  content: '';
  display: block;
  width: 61px;
  height: 1px;
  background: #E60012;
  margin: 54px auto 0;
}
#work2 .lead {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.9;
  letter-spacing: 0;
  text-align: center;
  margin-bottom: 48px;
}
#work2 .ttl {
  display: flex;
  align-items: center;
  height: 79px;
  padding-left: 11px;
  border: 1px solid #E60012;
  border-radius: 40px;
  margin-bottom: 26px;
}
#work2 .num {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 58px;
  height: 58px;
  font-size: 20px;
  font-weight: bold;
  color: #fff;
  background: #E60012;
  border-radius: 29px;
  margin-right: 39px;
}
#work2 .ttl .txt {
  display: flex;
  align-items: center;
  color: #E60012;
}
#work2 .ttl h3 {
  font-size: 22px;
  font-weight: bold;
  line-height: 1;
  padding-right: 11px;
  border-right: 2px solid #E60012;
  margin-right: 10px;
}
#work2 .ttl .txt p {
  font-size: 16px;
}

#work2 .balloon {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 84px;
  font-size: 21px;
  color: #fff;
  font-weight: bold;
  background: #E60012;
  letter-spacing: .2em;
  z-index: 2;
}
#work2 .balloon::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -9px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 9px 5.5px 0 5.5px;
  border-color: #E60012 transparent transparent transparent;
  transform: translateX(-50%);
}
#work2 .bg-gray {
  font-size: 16px;
  line-height: 30px;
  background: #F3F3F3;
  padding: 26px 43px 57px;
}
#work2 .bg-gray p {
  line-height: 30px;
}

#work2 .wrapper {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#work2 .wrapper .block {
  width: calc(481 / 1000 * 100%);
  margin-bottom: 64px;
}
#work2 .wrapper .balloon,
#work2 .wrapper .bg-gray {
  width: calc(419 / 481 * 100%);
  margin: 0 auto;
}
#work2 .wrapper .balloon {
  padding: 0 20px;
  margin-top: -41px;
}
#work2 .block-col1 {
  display: flex;
  align-items: center;
  margin-bottom: 70px;
}
#work2 .block-col1 .pic {
  width: calc(610 / 1000 * 100%);
}
#work2 .block-col1 .bg-gray {
  position: relative;
  width: calc(450 / 1000 * 100%);
  padding: 29px 44px;
  margin-left: calc(-60 / 1000 * 100%);
}

/* ---------------------------------------------------------
#thanks
----------------------------------------------------------*/
#thanks {
  background: #FFF1F1;
  padding-bottom: 105px;
}
#sec04 {
  text-align: center;
  padding: 100px 0 0;
}
#sec04 p {
  font-size: 18px;
  font-weight: bold;
  line-height: 2.22;
  letter-spacing: .1em;
  margin-top: 54px;
}

#thanks .subttl {
  font-size: 20px;
  font-weight: bold;
  letter-spacing: .1em;
  text-align: center;
  margin-top: 144px;
  margin-bottom: 7px;
}
#thanks .ttl {
  font-size: 32px;
  color: #E60012;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: .1em;
  text-align: center;
  margin-bottom: 58px;
}
#thanks .ttl::after {
  content: '';
  display: block;
  width: 61px;
  height: 1px;
  background: #E60012;
  margin: 50px auto 0;
}
#thanks .wrapper {
  display: flex;
  justify-content: space-between;
  max-width: 1000px;
  margin: 0 auto;
}
#thanks .block {
  width: calc(492 / 1000 * 100%);
  background: #fff;
  padding: 49px calc(69 / 1000 * 100%) 69px;
  border-radius: 8px;
}
#thanks .block .pic {
  width: 131px;
  margin: 0 auto 21px;
}
#thanks .block h3 {
  font-size: 22px;
  font-weight: bold;
  line-height: 40px;
  color: #E60012;
  letter-spacing: .1em;
  margin-bottom: 12px;
}
#thanks .block .lead {
  height: 81px;
  font-size: 16px;
  font-weight: bold;
  line-height: 28px;
  letter-spacing: .1em;
}
#thanks .block .txt {
  font-size: 16px;
  line-height: 30px;
  padding-top: 18px;
  border-top: 1px solid #D4D4D4;
}

/* ---------------------------------------------------------
#donate
----------------------------------------------------------*/
#donate {
  background: #FFF1F1;
  padding-bottom: 164px;
}
#donate h2 {
  font-size: 32px;
  color: #E60012;
  font-weight: bold;
  line-height: 1;
  letter-spacing: .1em;
  text-align: center;
  margin-bottom: 49px;
}
#donate h2::after {
  content: '';
  display: block;
  width: 61px;
  height: 1px;
  background: #E60012;
  margin: 47px auto 0;
}
#donate .wrapper {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 1000px;
  margin: 0 auto;
}
#donate .block {
  width: calc(239 / 1000 * 100%);
  background: #fff;
  padding-bottom: 28px;
}
#donate .ttl {
  position: relative;
  text-align: center;
  color: #fff;
  background: #E60012;
}
#donate .ttl::after {
  content: '';
  position: absolute;
  bottom: -10px;
  left: 50%;
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 5.5px 0 5.5px;
  border-color: #E60012 transparent transparent transparent;
  transform: translateX(-50%);
}
#donate h3 {
  font-size: 18px;
  line-height: 1.3;
  padding: 24px 0 27px;
}
#donate h3 .txt-big {
  font-size: 45px;
  font-weight: bold;
  line-height: 1;
}
#donate h4 {
  font-size: 21px;
  color: #E60012;
  line-height: 1.2;
  text-align: center;
  letter-spacing: .1em;
  padding: 44px 15px 28px;
}
#donate h4 .txt-big {
  font-size: 30px;
  font-weight: bold;
}
#donate .block p {
  font-size: 16px;
  line-height: 30px;
  padding: 0 20px 0 24px;
}
@media screen and (min-width: 601px) and (max-width: 768px) {
  #donate h3 {
    font-size: 14px;
  }
  #donate h3 .txt-big {
    font-size: 35px;
  }
}
@media screen and (min-width: 480px) and (max-width: 600px) {
  #donate h3 {
    font-size: 12px;
  }
  #donate h3 .txt-big {
    font-size: 28px;
  }
}


/* ---------------------------------------------------------
.sec05
----------------------------------------------------------*/
.sec05 {
  position: relative;
  background: #FFF1F1;
  padding-bottom: 80px
}

.sec05 .subttl {
  font-size: 22px;
  font-weight: bold;
  letter-spacing: .15em;
  text-align: center;
  margin-bottom: 5px;
}
.sec05 .ttl {
  font-size: 32px;
  color: #E60012;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: .15em;
  text-align: center;
  margin-bottom: 58px;
}
.sec05 .ttl::after {
  content: '';
  display: block;
  width: 61px;
  height: 1px;
  background: #E60012;
  margin: 54px auto 0;
}

.sec05 .ttl2 {
  font-size: 22px;
  font-weight: bold;
  letter-spacing: .15em;
  line-height: 1;
  text-align: center;
  margin-bottom: 45px;
}


.sec05_ttl {
  font-weight: bold;
  font-size: 1.25em
}
.sec05_box {
  position: relative;
  width: 47%;
  display: flex;
  align-items: center;
  max-width: 570px;
  padding-bottom: 80px
}
.sec05_box h3 {
  font-size: 20px;
  font-weight: bold;
  color: #E60012;
  margin-bottom: 12px
}
.sec05_box p {
  font-size: 16px;
  line-height: 30px;
}
.sec05_box a {
  position: relative;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  width: 100%;
  min-height: 50px;
  font-size: 14px;
  color: #fff;
  font-weight: bold;
  text-align: center;
  background: #e60012;
  border-radius: 8px;
  padding: 12px 0;
  padding-left: 18px;
  padding-right: 44px;
  margin-top: 16px
}
.sec05_box a::before {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  right: 18px;
  margin-top: -10px;
  background: url(../img/icon_arrow_re.png) no-repeat;
  background-size: cover;
  width: 20px;
  height: 20px;
  transform: rotate(-90deg)
}
.sec05_box>*:first-child {
  width: 112px
}
.sec05_box>*:last-child {
  width: calc(100% - 112px);
  height: 100%;
  padding-left: 24px
}
.sec05_box_flex {
  border-top: 1px solid #fff;
  padding-top: 20px;
  align-items: stretch;
  margin-bottom: 25px;
}

@media screen and (min-width: 480px) and (max-width: 1070px) {
  .sec05_box_flex {
    display: block;
    border-top: none;
    padding-top: 0
  }
  .sec05_box_flex .sec05_box {
    width: 100%;
    max-width: 100%
  }
  .sec05_box_flex .sec05_box+* {
    margin-top: 32px
  }
}

.pullDown {
  background: #fff;
  border: 1px solid #ccc;
  width: 100%;
  cursor: pointer
}
.pullDown_ttl {
  position: relative;
  padding-right: 54px !important;
  font-weight: bold
}
.pullDown_ttl div {
  margin-top: 8px;
  font-weight: normal
}
.pullDown_ttl span {
  display: inline-block;
  width: 20px;
  height: 20px;
  min-width: 20px;
  min-height: 20px;
  position: absolute;
  right: 18px;
  top: 50%;
  margin-top: -10px;
  background: #ccc;
  border-radius: 50%
}
.pullDown_ttl span::before, .pullDown_ttl span::after {
  position: absolute;
  top: 50%;
  left: 25%;
  content: '';
  width: 50%;
  height: 1px;
  background: #fff;
  -webkit-transition: all .3s ease;
  transition: all .3s ease
}
.pullDown_ttl span::after {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg)
}
.pullDown.open .pullDown_ttl span::before {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg)
}
.pullDown.open .pullDown_ttl span::after {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg)
}
.pullDown_box {
  display: none;
  line-height: 1.5
}
.pullDown_box::before {
  content: '';
  display: block;
  background: #f5f5f5;
  width: 100%;
  height: 1px
}
.pullDown_box div {
  font-weight: bold
}
.pullDown_box div + div {
  margin-top: 8px
}
.pullDown_dest {
  display: none
}
.pullDown_dest .pullDown_box {
  display: block
}

.sec05_02 .pullDown {
  border: none;
  background: none;
  padding: 0
}
.sec05_02 .pullDown_ttl {
  padding: 0 !important;
  font-weight: bold
}
.sec05_02 .pullDown_ttl img {
  width: 100%;
  height: auto;
}
.sec05_02 .pullDown_ttl div {
  display: -ms-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  font-size: 16px;
  line-height: 1.5
}
.sec05_02 .pullDown_ttl span {
  background: #e60012;
  position: relative;
  margin-top: 0;
  right: 0
}
.sec05_02 .pullDown_box .red {
  text-decoration: underline
}


.sec05_02 {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  border-bottom: 2px solid #fff;
  padding-bottom: 40px;
  margin-bottom: 40px
}
.red {
  color: #e60012;
}
.sec05_02 .pullDown {
  width: 30%
}
.sec05_02 .pullDown_box {
  font-size: 14px;
  padding: 0;
  margin-top: 12px
}
.sec05_02 .pullDown_box::before {
  display: none
}
.sec05_point {
  display: -ms-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: #fff;
  padding: 32px 0
}
.sec05_point > *:first-child {
  width: 172px;
  text-align: center
}
.sec05_point > *:first-child img {
  width: 98px
}
.sec05_point > *:last-child {
  width: calc(100% - 172px);
  padding-right: 38px
}
.sec05_point h4 {
  padding-bottom: 8px;
  margin-bottom: 18px;
  border-bottom: 2px solid #e60012;
}
.sec05_point a {
  font-size: 14px;
  margin-bottom: 12px
}
.sec05_point a img {
  margin-right: 8px;
  vertical-align: -4px
}
.sec05_point a img {
  width: 18px;
  height: 18px;
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
}
.sec06_point {
  display: -ms-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: #fff;
  padding: 32px 0;
  margin-top: 20px;
}
.sec06_point p {
  text-align: left;
}
.sec06_point > *:first-child {
  width: 400px;
  /*
  text-align: center;
  */
  padding-left: 38px;
}
.sec06_point > *:last-child {
  width: calc(100% - 400px);
  padding-right: 28px;
  padding-left: 45px;
}
.sec06_point h4 {
  padding-bottom: 8px;
  margin-bottom: 18px;
  text-align: left;
  border-bottom: 2px solid #e60012;
}
.sec06_point a {
  font-size: 14px;
  margin-bottom: 12px;
  padding-right: 10px;
  padding-right: 40px;
}
.sec06_point a img {
  margin-right: 8px;
  vertical-align: -4px;
  width: 18px;
  height: 18px;
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
}

@media screen and (min-width: 480px) and (max-width: 1070px) {
  .sec05_02 .pullDown_ttl div {
    font-size: 18px;
  }
}

/* ---------------------------------------------------------
.sec06
----------------------------------------------------------*/
.sec06 {
	padding-top: 50px;
  padding-bottom: 60px;
	background-color: #FFF1F1;
}
.sec06 .subttl {
  font-size: 22px;
  font-weight: bold;
  letter-spacing: .15em;
  text-align: center;
  margin-bottom: 5px;
}
.sec06 .ttl {
  font-size: 32px;
  color: #E60012;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: .15em;
  text-align: center;
  margin-bottom: 40px;
}
.sec06 .ttl::after {
  content: '';
  display: block;
  width: 61px;
  height: 1px;
  background: #E60012;
  margin: 28px auto 0;
}
.sec06 .wrapper {
  display: flex;
  justify-content: space-between;
  max-width: 1000px;
  margin: 0 auto;
}
.sec06_link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #fff;
  width: calc(492 / 1000 * 100%);
  border: 1px solid #e60012;
  padding: 34px 24px 31px;
  padding-left: 16px;
  border-radius: 6px;
  box-sizing: border-box;
}
.sec06_link>* {
  display: block
}
.sec06_link>*:first-child {
  width: 30%;
  text-align: center
}
.sec06_link>*:last-child {
  width: 70%;
  font-size: 16px;
  line-height: 1.65;
  letter-spacing: .10em;
  padding-left: 3%;
  box-sizing: border-box;
}
.sec06_link>*:last-child img {
  position: absolute;
  bottom: 8px;
  right: 8px;
  transform: rotate(-90deg)
}
.sec06_link .red {
  font-weight: bold;
  display: block;
  font-size: 1.25em;
  font-size: 20px;
  letter-spacing: .10em;
}

@media screen and (max-width: 768px) {
  .sec06_link {
    display: block
  }
  .sec06_link>* {
    width: 100% !important
  }
  .sec06_link>*+* {
    margin-top: 32px;
    padding-left: 0
  }
}
.sec06_box {
  width: calc(492 / 1000 * 100%);
  background: #fff;
  border: 1px solid #e60012;
  border-radius: 6px;
}
@media screen and (max-width: 768px) {
  .sec06_box {
    display: block;
    padding-top: 16px
  }
  .sec06_box>* {
    width: 100%
  }
  .sec06_box>*+* {
    margin-top: 32px
  }
}
.sec06_sns {
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.sec06_sns a {
  margin: 0 15px;
}
.sec06_sns a:nth-child(3) {
  margin-bottom: -1px;
}

.sec06_box .ttl-sns {
  width: 100%;
  font-size: 15px;
  line-height: 1;
  text-align: center;
  letter-spacing: .12em;
  padding: 48px 0 28px;
  margin: 0 auto;
}
.sec06_sns_wrap {
  display: -ms-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column;
  flex-flow: column
}
.sec06 .insta_box {
  padding: 0 32px
}

@media screen and (min-width: 480px) and (max-width: 880px) {
  .sec06 .wrapper {
    display: block;
    padding: 0 calc(20 / 375 * 100%);
    margin: 0 auto;
  }
  .sec06_link {
    display: block;
    width: 100%;
    padding: calc(30 / 335 * 100%) calc(20 / 335 * 100%);
    border-radius: 5.33vw;
    margin-bottom: calc(16 / 335 * 100%)
  }
  .sec06_link>*:first-child {
    width: 100%;
    text-align: center;
    padding-left: 0;
    margin-bottom: calc(18 / 335 * 100%);
  }
  .sec06_link>*:first-child img {
    width: calc(93 / 335 * 100%);
  }
  .sec06_link>*:last-child {
    width: 100%;
    font-size: calc(14 / 375 * 100vw);
    line-height: 2.18;
    padding-left: 0;
    margin-top: calc(22 / 375 * 100vw);
  }
  .sec06_link .red {
    font-size: calc(17 / 375 * 100vw);
    margin-bottom: calc(5 / 375 * 100vw);
  }
  .sec06_box {
    width: 100%;
    padding-top: calc(35 / 375 * 100vw);
    border-radius: 5.33vw;
  }
  .sec06_box>* {
    padding: 16px 8px
  }
  .sec06_box>*+* {
    margin-top: 16px
  }
  .sec06_box .ttl-sns {
    font-size: calc(15 / 375 * 100vw);
    line-height: 1.75;
    padding: 0;
  }
  .sec06_box .ttl-sns .spOnly {
    display: block !important;
  }
  .sec06_sns {
    width: 90%;
    justify-content: space-between;
    padding: 0 0 calc(21 / 375 * 100vw);
    margin: calc(31 / 375 * 100vw) auto 0;
  }
  .sec06_sns a {
    width: calc(67 / 375 * 100vw);
    margin: 0 calc(16 / 375 * 100vw);
  }
  .sec06_sns a img {
    width: 100%;
  }
  .sec06_sns a:nth-child(2) {
    width: calc(56 / 375 * 100vw);
  }
  .sec06_sns a:nth-child(3) {
    width: calc(71 / 375 * 100vw);
  }
  .sec06_sns a:nth-child(4) {
    width: calc(62 / 375 * 100vw);
  }


  .sec06_point {
    padding: 0 calc(14 / 375 * 100vw);
    padding-top: calc(15 / 375 * 100vw);
    padding-bottom: calc(24 / 375 * 100vw);
    margin-top: calc(32 / 375 * 100vw);
    position: relative;
    display: flex;
    display: block;
    align-items: flex-start
  }
  .sec06_point > *:first-child {
    width: 100%;
    padding: 0;
  }
  .sec06_point > *:last-child {
    width: 70%;
    padding-right: 0;
    padding-left: 0;
    margin: calc(15 / 375 * 100vw) auto 0;
  }
  #kifu_kojo {
    color: #e60012;
  }
  .sec06_point .koujo img {
    padding-top: 7%;
  }
  .sec06_link>*:last-child img {
    width: calc(24 / 375 * 100vw);
    bottom: calc(11 / 375 * 100vw);
    right: calc(11 / 375 * 100vw);
  }
}

/* ---------------------------------------------------------
footer
----------------------------------------------------------*/
footer .detail {
  display: block
}

footer .f-banner{
	text-align: center;
	margin: 0 auto 40px auto !important;
	max-width: 430px;
}

footer .f-banner img{
	border: solid 1px #e60012;
}

footer .detail p.f-logo {
  margin-bottom: 16px
}

.footerNavi {
  width: 100%;
  background: #fff;
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 8998;
  display: -ms-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-animation-fill-mode: backwards;
  animation-fill-mode: backwards;
  box-shadow: 0px 0px 10px 0px #999;
  -webkit-transform: translateY(100%);
  transform: translateY(100%);
  -webkit-transition: all .3s;
  transition: all .3s
}
.footerNavi.anm {
  -webkit-transform: translateY(0);
  transform: translateY(0)
}
.footerNavi.opacity {
  -webkit-transform: translateY(100%);
  transform: translateY(100%);
  pointer-events: none
}
.footerNavi_btn {
  letter-spacing: 0;
  height: 100%;
  display: -ms-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column;
  flex-flow: column;
  color: #e60012;
  position: relative;
  -webkit-transition: all .3s ease;
  transition: all .3s ease
}
.footerNavi_btn::after {
  width: 1px;
  background: #e60012;
  position: absolute;
  right: 0;
  top: 50%;
  content: ''
}
.footerNavi_btn div {
  display: -ms-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column;
  flex-flow: column
}
.footerNavi_btn div span {
  display: block;
  border-radius: 100px;
  background: #e60012;
  -webkit-transition: all .3s ease;
  transition: all .3s ease
}
.footerNavi_btn > span {
  line-height: 1
}
.footerNavi_btn .cl {
  display: none;
  margin-left: -8px;
  margin-top: 4px
}
.open .footerNavi_btn {
  background: #e60012;
  color: #fff
}
.open .footerNavi_btn > span {
  display: none
}
.open .footerNavi_btn > span.cl {
  display: block
}
.open .footerNavi_btn div span {
  background: #fff;
  -webkit-transform-origin: center left;
  transform-origin: center left
}
.open .footerNavi_btn div span:nth-child(1) {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg)
}
.open .footerNavi_btn div span:nth-child(2) {
  opacity: 0
}
.open .footerNavi_btn div span:nth-child(3) {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg)
}
.footerNavi_btn + * {
  display: -ms-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}
.footerNavi_btn + * a {
  display: block
}
.footerNavi_screen {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 120vh;
  z-index: 9997;
  pointer-events: none;
  -webkit-transition: background .3s ease .3s;
  transition: background .3s ease .3s
}
.open + .footerNavi_screen {
  -webkit-transition: background .3s ease;
  transition: background .3s ease;
  pointer-events: auto;
  background: rgba(0, 0, 0, 0.3)
}
.footerNavi_nav {
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  background: #e60012;
  color: #fff;
  -webkit-transition: -webkit-transform .3s ease;
  transition: -webkit-transform .3s ease;
  transition: transform .3s ease;
  transition: transform .3s ease, -webkit-transform .3s ease
}
.footerNavi_nav::after {
  display: block;
  content: '';
  width: 100%
}
.open + * .footerNavi_nav {
  -webkit-transition: -webkit-transform .3s ease .3s;
  transition: -webkit-transform .3s ease .3s;
  transition: transform .3s ease .3s;
  transition: transform .3s ease .3s, -webkit-transform .3s ease .3s;
  -webkit-transform: translateX(0);
  transform: translateX(0)
}
.footerNavi_nav a {
  color: #fff;
  display: block;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  position: relative
}
.footerNavi_nav a::after {
  position: absolute;
  right: 0;
  top: 50%;
  display: block;
  content: '';
  background: url(../img/icon_arrow_re.png) no-repeat;
  background-size: cover
}
.footerNavi_nav a + a {
  border-top: none
}
.footerNavi {
  height: 76px
}
.footerNavi_btn {
  width: 80px
}
.footerNavi_btn::after {
  height: 32px;
  margin-top: -16px
}
.footerNavi_btn > span {
  margin-top: 6px;
  font-size: 12px
}
.footerNavi_btn div {
  width: 32px;
  height: 18px
}
.footerNavi_btn div span {
  width: 100%;
  height: 4px
}
.open .footerNavi_btn div span:nth-child(1) {
  margin-top: -4px;
  margin-right: -8px
}
.open .footerNavi_btn div span:nth-child(3) {
  margin-right: -8px;
  margin-bottom: -4px
}
.footerNavi_btn .cl {
  margin-right: -8px
}
.footerNavi_btn + * {
  width: calc(100% - 80px)
}
.footerNavi_btn + * div {
  width: 100%;
  padding-left: 38px;
  padding-right: 30px;
  display: -ms-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}
.footerNavi_btn + * img {
  vertical-align: middle;
  width: calc(30% - 20px)
}
.footerNavi_btn + * img.pcOnly {
  width: 34%;
  max-width: 341px;
  min-width: 160px
}
.footerNavi_btn + * a {
  width: calc(30% - 20px);
  max-width: 147px
}
.footerNavi_btn + * a img {
  width: 100%
}
.footerNavi_btn + * a.corp {
  max-width: 162px
}
.footerNavi_btn + * a.kifu_PC {
  max-width: 270px
}
.footerNavi_nav {
  width: 360px;
  padding: 30px;
  -webkit-transform: translateX(-360px);
  transform: translateX(-360px)
}
.footerNavi_nav::after {
  height: 220px
}
.footerNavi_nav a {
  padding: 24px 0
}
.footerNavi_nav a::after {
  width: 16px;
  height: 16px;
  margin-top: -8px
}


/* ---------------------------------------------------------
media queries
----------------------------------------------------------*/
@media screen and (max-width:479px) {
  /* ---------------------------------------------------------
  common sp
  ----------------------------------------------------------*/
  .pcOnly {
    display: none !important;
  }
  body {
    overflow-x: hidden;
    overflow-y: auto;
    font-size: 14px;
    padding-top: 0;
    padding-bottom: 60px
  }
  .gap {
    padding-left: 20px;
    padding-right: 20px
  }
  .gap+.gap {
    margin-top: 40px
  }
  .grayBg, .pinkBg {
    padding-top: 36px;
    padding-bottom: 36px
  }
  /*
  .mb_96_48 {
    margin-bottom: 48px
  }
  .mb_72_36 {
    margin-bottom: 36px
  }
  .mb_56_28 {
    margin-bottom: 28px
  }
  .mb_24_12 {
    margin-bottom: 12px !important
  }
  */
  .mb_80_40 {
    margin-bottom: 40px
  }
  .mb_64_32 {
    margin-bottom: 32px !important;
  }
  .mb_48_24 {
    margin-bottom: 24px
  }
  .mb_40_20 {
    margin-bottom: 20px
  }
  .mb_32_16 {
    margin-bottom: 16px
  }
  .share_sp {
    position: fixed;
    top: 10px;
    right: 10px;
    width: 40px;
    height: 40px;
    z-index: 1030;
  }
  .share_screen {
    width: 100vw;
    height: 120vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    pointer-events: none;
    background: transparent;
    transition: background .3s ease .3s
  }
  .share_screen.open {
    transition: background .3s ease;
    background: rgba(0,0,0,0.3);
    pointer-events: auto
  }
  .share_box {
    width: 260px;
    height: 100%;
    background: #ccc;
    position: absolute;
    top: 0;
    right: 0;
    color: #fff;
    padding-top: 42px;
    transform: translateX(260px);
    transition: transform .3s ease;
  }
  .open .share_box {
    transition: transform .3s ease .3s;
    transform: translateX(0)
  }
  .share_box>img {
    width: 40px;
    height: 40px;
    position: absolute;
    top: 6px;
    right: 6px
  }
  .share_box div {
    border-bottom: 1px solid #fff;
    font-size: 14px;
    padding-bottom: 10px
  }
  .share_box .flex {
    margin-top: 20px;
    padding: 0 32px;
    padding-bottom: 20px
  }
  .share_box .flex>* {
    width: 50px
  }

/* ---------------------------------------------------------
.main sp
----------------------------------------------------------*/
  .main {
    margin-bottom: calc(10 / 375 * 100vw);
  }
  .main h1 {
    display: flex;
    align-items: center;
    width: calc(180 / 375 * 100%);
    height: calc(75 / 375 * 100vw);
    font-size: calc(18 / 375 * 100vw);
    line-height: 1.5;
    background-color: rgba(255, 255, 255, 0.7);
    padding-left: calc(17 / 375 * 100vw);
    margin-top: calc(78 / 375 * 100%);
    margin-left: 0;
  }

/* ---------------------------------------------------------
.sec01 sp
----------------------------------------------------------*/
  .sec01 {
    margin-top: 0;
    margin-bottom: calc(78 / 375 * 100%);
  }
  .sec01 h2 {
    position: relative;
    padding-bottom: 4px;
    padding-right: 40px
  }
  .sec01 h2 img {
    max-width: 246px;
    position: relative;
    z-index: 1
  }
  .sec01 h2::before {
    height: 5px
  }
  .sec01 h2::after {
    height: 5px;
    width: 20px
  }
  .sec01_cnt {
    margin-left: 0;
  }
  .sec01 .flex h2 {
    width: calc(100% - 57px)
  }
  .sec01 .flex>*:last-child {
    width: 35px
  }
  .sec01 .fs_m {
    font-size: calc(16 / 375 * 100vw);
    line-height: 2.18;
    letter-spacing: .15em;
  }

/* ---------------------------------------------------------
#intro sp
----------------------------------------------------------*/
  #intro {
    padding: calc(63 / 375 * 100%) 20px calc(70 / 375 * 100%);
  }
  #intro h2 {
    width: calc(190 / 375 * 100vw);
    margin: 0 auto calc(50 / 375 * 100vw);
  }
  #intro .inner {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  #intro p {
    font-size: calc(16 / 375 * 100vw);
    line-height: 2.2;
  }
  #intro sup {
    font-size: calc(10 / 375 * 100vw);
  }
  #intro .txt-caution {
    font-size: calc(12 / 375 * 100vw);
    line-height: 1.5;
    margin-top: 19px;
  }

/* ---------------------------------------------------------
.btn-link
----------------------------------------------------------*/
  .btn-link {
    padding: 60px 0;
  }
  .btn-link ul {
    display: block;
    padding: 0 20px;
  }
  .btn-link li {
    width: 100%;
  }
  .btn-link li a {
    height: 80px;
    font-size: 18px;
    background: url(../img/icon_arrow_white.png) no-repeat bottom 14px left 50%;
    background-color: #0886CC;
    background-size: 20px auto;
    border-radius: 11px;
    padding: 20px 10px 0;
  }
  .btn-link li:nth-child(2) a {
    background-color: #E60012;
    margin-top: 20px;
  }









/* ---------------------------------------------------------
.sec05
----------------------------------------------------------*/
  .sec05 {
    padding-top: 52px;
    padding-bottom: 38px
  }
  .sec05_box {
    display: -ms-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    position: relative;
    padding-bottom: 72px
  }
  .sec05_box>*:first-child {
    width: 124px
  }
  .sec05_box>*:last-child {
    width: calc(100% - 124px);
    padding-left: 16px
  }
  .sec05_box h3 {
    margin-bottom: 8px;
    font-size: 14px;
    line-height: 1.2
  }
  .sec05_box h3 span {
    display: none
  }
  .sec05_box p {
    font-size: 12px;
    line-height: 1.33
  }
  .sec05_box a {
    border-radius: 4px;
    padding: 16px;
    padding-left: 12px;
    padding-right: 28px;
    font-size: 12px;
    line-height: 1.33
  }
  .sec05_box a::before {
    width: 14px;
    height: 14px;
    right: 8px
  }
  .sec05_box_flex {
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch
  }
  .sec05_box_flex .sec05_box {
    width: calc(50% - 18px);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column;
    flex-flow: column
  }
  .sec05_box_flex .sec05_box>* {
    width: 100%
  }
  .sec05_box_flex .sec05_box a {
    padding-top: 8px;
    padding-bottom: 8px
  }
  .sec05_box_flex .sec05_box h3 {
    margin-top: 14px
  }
  .preferential {
    padding: 20px
  }
  .preferential>*:last-child {
    margin-top: 24px
  }
  .preferential h3 {
    padding-bottom: 8px;
    margin-bottom: 20px
  }

/* ---------------------------------------------------------
.sec06
----------------------------------------------------------*/
  .sec06_link {
    display: block;
    padding: 24px 20px;
    border-radius: 4px;
    margin-bottom: 16px
  }
  .sec06_link>*:first-child {
    margin-bottom: 18px
  }
  .sec06_link>*:first-child img {
    width: 80px
  }
  .sec06_box>* {
    padding: 16px 8px
  }
  .sec06_box>*+* {
    margin-top: 16px
  }
  .sec06_sns {
    width: 80%
  }
  .sec06 .insta_box {
    padding: 0 16px
  }

/* ---------------------------------------------------------
footer
----------------------------------------------------------*/
  footer .sns_wrap {
    padding: 24px 0
  }
  footer .sns_wrap .sns {
    width: 66%
  }
  footer .sns_wrap .tac {
    margin-bottom: 10px
  }
  .footerNavi {
    height: 60px
  }
  .footerNavi_btn {
    width: 75px;
    padding-top: 8px
  }
  .footerNavi_btn::after {
    height: 32px;
    margin-top: -16px
  }
  .footerNavi_btn>span {
    font-size: 12px;
    margin-top: 6px
  }
  .footerNavi_btn div {
    width: 32px;
    height: 18px
  }
  .footerNavi_btn div span {
    width: 100%;
    height: 4px
  }
  .footerNavi_btn .cl {
    margin-right: -6px
  }
  .footerNavi_main {
    width: 100%;
    height: 100%;
    padding: 8px 0;
    padding-left: 14px;
    padding-right: 12px;
    display: -ms-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
  }
  .footerNavi_main a.spOnly {
    width: 180px;
    display: inline-block
  }
  .footerNavi_main a.spOnly img {
    width: auto;
    height: 100%
  }
  .footerNavi_main div {
    width: 44%;
    height: 100%;
    max-width: 92px;
    margin-left: 12px;
    display: -ms-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background: #e60012
  }
  .open .footerNavi_btn div span:nth-child(1) {
    margin-top: -4px;
    margin-right: -8px
  }
  .open .footerNavi_btn div span:nth-child(3) {
    margin-right: -8px;
    margin-bottom: -4px
  }
  .footerNavi_nav {
    width: 260px;
    padding: 20px;
    -webkit-transform: translateX(-260px);
    transform: translateX(-260px)
  }
  .footerNavi_nav::after {
    height: 180px
  }
  .footerNavi_nav a {
    padding: 18px 0
  }
  .footerNavi_nav a::after {
    width: 16px;
    height: 16px;
    margin-top: -8px
  }
  .donate {
    width: 32px;
    height: 144px;
    margin-top: -72px
  }
  .insta {
    margin-left: auto;
    margin-right: auto;
    margin-top: 24px;
    border-top: 1px solid #fff;
    padding-top: 16px
  }
  .insta>div:first-child {
    text-align: center
  }

}


/* ---------------------------------------------------------
#know
----------------------------------------------------------*/
#know {
  padding-top: 140px;
}
#know h2 {
  font-size: 42px;
  color: #E60012;
  font-weight: bold;
  line-height: 1.66;
  letter-spacing: .10em;
  text-align: center;
  margin-bottom: 26px;
}
#know .lead {
  font-size: 16px;
  color: #000;
  line-height: 1.87;
  text-align: center;
  margin-bottom: 44px;
}
#know .bg-red {
  background: #E60012;
  border-radius: 13px;
  padding-top: 74px;
  padding-bottom: 70px;
}
#know h3,
#know p {
  color: #fff;
}
#know .txt-en {
  width: 62px;
  line-height: 1;
  margin: 0 auto 40px;
}
#know .txt-en2 {
  width: 113px;
}
#know .txt-en::after {
  content: '';
  display: block;
  width: 48px;
  height: 1px;
  background: #fff;
  margin: 15px auto 0;
}
#know .manga-area .txt-en::after {
  background: #E60012;
}
#know h3 {
  font-size: 28px;
  font-weight: bold;
  letter-spacing: .10em;
  line-height: 1;
  text-align: center;
  margin-bottom: 32px;
}
#know .manga-area h3 {
  color: #E60012;
}
#know .txt1,
#know .txt2 {
  font-size: 18px;
  line-height: 1.8;
  text-align: center;
  margin: 0 auto 35px;
}
#know .txt2 {
  color: #000000;
  margin-bottom: 20px;
}
#know .txt-en img {
  display: block;
  width: 100%;
  height: auto;
}
#know .movie {
  width: 592px;
  width: calc(592 / 1000 * 100%);
  margin: 0 auto;
}
#know .movie a {
  position: relative;
  display: block;
}
#know .movie a::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: calc(60 / 592 * 100%);
  height: 0;
  background: url(../img/icon_play.png) no-repeat;
  background-size: contain;
  padding-top: calc(80 / 592 * 100%);
  margin-top: calc(-40 / 592 * 100%);
  margin-left: calc(-30 / 592 * 100%);
  z-index: 2;
}

#ytPlayerWrap1,
#ytPlayerWrap2 {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  overflow: hidden;
  z-index: 1;
}

#know .manga-area {
  padding-top: 84px;
}
#know .pic-manga {
  width: 374px;
  width: calc(374 / 1000 * 100%);
  width: calc(385 / 1000 * 100%);
  margin: 0 auto 30px;
}
#know .pic-manga img {
  width: 100%;
}
#know .btn-manga a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(374 / 1000 * 100%);
  height: 64px;
  font-size: 26px;
  color: #fff;
  font-weight: bold;
  background: #E60012 url("../img/sec_know/icon_arrow_manga.png") no-repeat right 19px top 50%;
  background-size: 26px auto;
  margin: 0 auto;
  transition: opacity .3s;
}
#know .btn-manga a:hover {
  opacity: .7;
}
.is-win10 #know .btn-manga a {
  padding-top: 12px;
}

@media screen and (min-width: 480px) and (max-width: 750px) {
  #know .btn-manga a {
    font-size: 20px;
  }
}
@media screen and (min-width: 480px) and (max-width: 600px) {
  #know .btn-manga a {
    background-size: 20px auto;
    background-position: right 5px top 50%;
  }
}

#modal-manga {
  display: none;
}

#modal-manga02 {
  display: none;
}
.manga-modal-wrapper .modaal-inner-wrapper {
  padding: 60px 0 0 0;
}
.manga-modal-wrapper .modaal-container {
  max-width: 700px;
}
.modaal-wrapper.manga-modal-wrapper .modaal-close {
  position: absolute;
  left: 50%;
  right: auto;
  top: -45px;
  width: 29px;
  height: 29px;
  background: url(../img/icon_modal_close2.png) no-repeat;
  background-size: contain;
  border-radius: 0;
  margin-left: 24.5%;
  margin-left: 26%;
}
.manga-slider-box {
  padding: 0 calc(210 / 1000 * 100%);
}

#modal-manga-block .swiper-wrapper {
  margin: 0 auto calc(70 / 580 * 100%);
}
#modal-manga-block .swiper-slide {
  width: 100%!important;
}
#modal-manga-block img {
  width: 100%;
}
#modal-manga-block .swiper-button-next,
#modal-manga-block .swiper-button-prev {
  position: absolute;
  top: auto;
  bottom: 0;
  left: 50%;
  left: 0;
  width: calc(55 / 1000 * 100%);
  width: calc(55 / 580 * 100%);
  height: auto;
  padding-top: calc(55 / 1000 * 100%);
  padding-top: calc(55 / 580 * 100%);
  margin-top: 0;
  z-index: 11;
  cursor: pointer;
}
#modal-manga-block .swiper-button-prev,
#modal-manga-block .swiper-container-rtl .swiper-button-next {
  background: url("../img/icon_arrow_slider.png") no-repeat;
  background-size: contain;
  transform: scaleX(-1);
}
#modal-manga-block .swiper-button-next,
#modal-manga-block .swiper-container-rtl .swiper-button-prev {
  left: auto;
  right: 0;
  background: url("../img/icon_arrow_slider.png") no-repeat;
  background-size: contain;
}
.swiper-container-horizontal>.swiper-pagination-bullets,
.swiper-pagination-custom,
.swiper-pagination-fraction {
  bottom: 0;
  font-size: 22px;
  font-weight: bold;
  color: #fff;
  margin-bottom: calc(10 / 1000 * 100%);
}

@media screen and (min-width: 480px) and (max-width: 680px) {
  .swiper-container-horizontal>.swiper-pagination-bullets,
  .swiper-pagination-custom,
  .swiper-pagination-fraction {
    font-size: 18px;
    margin-bottom: 0;
  }
}

@media all and (-ms-high-contrast: none) {
  .manga-modal-wrapper .modaal-container {
    width: 90vw;
  }
}

.anccer {
	padding-top: 130px;
	margin-top: -130px;
}

.spOnly br{
	display: none;
}

.text_center img{
  text-align: center;
	margin: 0 auto;
}