body { font-family: "游ゴシック", "YuGothic", "メイリオ", meiryo, sans-serif; }
/* zinのロゴ */
.zin-logo {
  max-width: 20%;
  margin: 10px;
}
/* ------------- */
header{
  background-color: #8BDAE0;
  margin: auto;
  width: 100%;
}
.campaign{
  background-color: #8BDAE0;
  padding: 30px;
  text-align: center;
  color: white;
}
h1 {
  margin: 0;
  font-size: 4.5vw;
  letter-spacing: 0.1em;
}
.caution{
  font-size: 1.2vw;

  /* position: relative;
  bottom: 73px; */
}
.sp-block{
  display: none;
}
.sp-br{
  display: none;
}
/* 赤字 */
.red{
  color: #ff6a6a;
}
/* 太字 */
.bold{
  font-weight: bold;
}
/* top-viewのストライプ */
.bg_border{
	background-color: #8BDAE0;
  background-image: linear-gradient(-90deg, #ffffff29 50%, transparent 50%);
  background-size: 155px 104px;
}
/* top-viewの画像 */
.top-view-img{
  margin: 0 auto;
  display: block;
  max-width: 80%;
}
/* リボン */
.ribbon9 {
  display: inline-block;
  position: relative;
  height: 98px;
  text-align: center;
  margin: auto;
  box-sizing: border-box;
  border: solid 6px #fcfc95;
  margin: auto;
  display: block;
  width: 55%;
  margin-top: 100px;
  margin-bottom: 80px;
}
.ribbon9:before {/*左側のリボン端*/
    content: '';
    position: absolute;
    width: 50px;
    bottom: -40px;
    left: -80px;
    /* z-index: -2; */
    border: 41px solid #fcfc95;
    border-left-color: transparent;
    /* color: aqua; */
}

.ribbon9:after {/*右側のリボン端*/
    content: '';
    position: absolute;
    width: 60px;
    bottom: -40px;
    right: -80px;
    z-index: -2;
    border: 41px solid #fcfc95;
    border-right-color: transparent;
}

.ribbon9 h3 {
  display: inline-block;
  position: relative;
  margin: 0;
  padding: 0 20px;
  line-height: 45px;
  font-size: 18px;
  color: #FFF;
}
.ribbon9 h3:before {
  position: absolute;
  content: '';
  top: 100%;
  left: 0;
  border: none;
  border-bottom: solid 10px transparent;
  border-right: solid 15px #397eb5;/*左の折り返し部分*/
}
.ribbon9 h3:after {
  position: absolute;
  content: '';
  top: 100%;
  right: 0;
  border: none;
  border-bottom: solid 10px transparent;
  border-left: solid 15px #397eb5;/*右の折り返し部分*/
}
/* --------------------------------- */
h2{
  text-align: center;
  color: #396599;
  font-size: 2vw;
  margin: 9px 0;
}
/* STEP */
.step {
  background-color: #fcfc95;
  color: #396599;
  border: solid 2px;
  height: 70px;
  width: 70px;
  border-radius: 40px;
  font-weight: bold;
  text-align: center;
  padding: 20px 0;
  font-size: 19px;
  position: relative;
  top: 5px;
  left: -10px;
}

.step-lable{
  background-color: #396599;
  color: white;
  text-align: center;
  background-image: linear-gradient(310deg, #ffffc9 20px, transparent 0), 
  linear-gradient(-135deg, #ffffc9 20px, transparent 0);
}
.step-lable p {
  font-size: 20px;
  font-weight: bold;
  margin: 6px 0;
  letter-spacing: 0.2em;
}
.step1{
  display: flex;
  flex-direction: column;
  display: flex;
  flex-direction: column;
  width: 34%;
}
.step2_3{
  display: flex;
  flex-direction: column;
  display: flex;
  flex-direction: column;
  width: 65%;
}
.friend-form{
  font-weight: bold;
  color: #ff6a6a;
}
.box-img{
  max-width: 100%;
}
.box-wrap{
  display: flex;
  flex-direction: row;
}
.box {
  display: flex;
  flex-direction: column;
  max-width: 100%;
  margin: -36px 5px;
  height: 110%;
}
.box2{
  display: flex;
  flex-direction: column;
  max-width: 100%;
  margin: -36px 5px;
  /* width: 95%; */
  height: 110%;
}
.box3{
  display: flex;
  flex-direction: column;
  max-width: 100%;
  margin: -36px 5px;
  height: 110%;
}
.box h3 {
  text-align: center;
  font-size: 1.4vw;
  margin-bottom: 0;
}
.box2 h3 {
  text-align: center;
  font-size: 1.4vw;
  margin-bottom: 0;
}
.box3 h3 {
  text-align: center;
  font-size: 1.4vw;
  margin-bottom: 0;
}
.box p{
  margin: 10px 15px;
}
.box2 p{
  margin: 10px 15px;
}
.box3 p{
  margin: 10px 15px;
}
.boxs{
  display: flex;
  margin: 0 auto;
  flex-direction: row;
  justify-content: space-around;
  max-width: 70%;
  background-color: #FFFFC9;
  padding-top: 30px;
  padding-bottom: 90px;
  box-sizing: border-box;
}
.share-box {
  display: flex;
  flex-direction: column;
  width: 50%;
  text-align: center;
  margin: 0 10px;
  border: solid 3px #3866995c;
  padding: 20px 10px 20px 10px;
}
.share-box a {
  margin-bottom: 40px;
}
.share-box h3{
  color: #396599;
}
.share-url {
  margin: 0 auto;
  margin-top: 40px;
}
.share-url h3 {
  color: #ffffff;
  background-color: #396599;
  margin: 0;
  padding: 16px;
}

.url-content p{
  font-size: 16px;
}
.url-content {
    display: flex;
    flex-direction: row;
    align-items: center;
    margin: auto;
    padding: 20px 20px;
    justify-content: space-around;
}
.url-box {
  background-color: rgb(255, 255, 255);
  /* border: solid 1px #396599; */
  padding: 0px 10px;
  border-radius: 10px;
}
.url-boxs {
  padding: 0px 10px 20px 10px;
}
.url-wrap{
  width: 74%;
  border: solid 3px #b8c8da;
}
textarea {
  margin: 0;
  width: 100%;
  height: 46px;
  overflow: auto;
  padding: 10px 10px;
  resize: vertical;
  resize: block;
  font-size: 14px;
}
/* Mail */
.mail-btn{
  background-color: #ff5a5a;
}
/* LINE */
.line-btn{
  background-color: #06c755;
}
/* Twitter */
.twitter-btn{
  background-color: #00acee;
}
/* Facebook */
.facebook-btn{
  background-color:  #3b5998;
}
/* ここから下がボタンのCSS　*/
.btn-denim {
  width: 100%;
  display: inline-block;
  max-width: 220px;
  text-align: left;
  /* background-color: #396599; */
  font-size: 21px;
  color: #FFF;
  text-decoration: none;
  text-align: center;
  font-weight: bold;
  padding: 8px 16px;
  margin: auto;
  border: 2px dashed #ffffff;
  box-shadow: 0px 0px 0px 2px #b8c8da;
}
.btn-denim:hover {
  border-style: solid;
}
/* ベエくん */
.character_icon {
  max-width: 33%;
  position: relative;
}
/* ベエくんの位置 */
.relative {
  position: relative;
}
.absolute {
  position: absolute;
  width: 100%;
}
/*-------------*/
.top-share {
  display: flex;
  flex-direction: row;
  margin: 0 auto;
  justify-content: center;
}
.share-content {
  width: 70%;
  margin: auto;
}
.Q-A{
  max-width: 70%;
  margin: auto;
  background-color: #FFFFC9;
  padding: 30px;
}
.Q-A h3 {
  color: #396599;
  font-size: 1.7vw;
  width: 76%;
}
.Q-title{
  display: flex;
  background-color: #ffffff;
  align-items: center;
}

.attention {
  max-width: 70%;
  margin: auto;
  background-color: #cfcfcf;
  padding: 30px;
  margin-bottom: 60px;
}
.Q {
  font-weight: bold;
  font-size: 36px;
  background-color: #396599;
  color: #ffffff;
  padding: 2px;
  border-radius: 176px;
  width: 60px;
  margin-right: 30px;
  text-align: center;
  margin-left: 40px;
}
.A {
  font-size: 1.2vw;
  padding: 15px 36px 15px 130px;
}
.line-h {
  line-height: 2.9;
}
.s-five a{
  text-decoration: none;
  background-color: #396599;
  color: #ffffff;
  font-size: 26px;
  letter-spacing: 0.1em;
  font-weight: bold;
  padding: 20px 30px;
  margin: auto;
  display: block;
  text-align: center;
  width: 30%;
  margin-bottom: 30px;
}
/* マウスオーバー時の背景色 */
.share-go:hover {
  background-color: #264872;
  }
.copy{
  text-align: center;
}
/* ワイドPC */
@media screen and (min-width: 1600px){
  .box {
    margin: -41px 5px;
    height: 110%;
  }
  .box h3 {
    font-size: 1.4vw;
  }
  .box p {
    margin: 10px 15px;
  }
  .character_icon {
    max-width: 22%;
    position: relative;
  }
  .ribbon9{
    height: 116px;
  }
  .btn-denim {
    width: 330px;
  }
  .character_icon {
    max-width: 20%;
  }
  textarea {
    font-size: 15px;
  }
  .url-box {
    padding: 0px 10px;
  }
  .Q-A h3 {
    font-size: 1.4vw;
  }
  .line-h {
    line-height: 2.5;
  }
  .A {
    font-size: 1.0vw;
  }
}
@media screen and (max-width: 1599px){
.box{
  height: 142%;
}
}
@media screen and (max-width: 1378px){
  .box{
    height: 150%;
  }
}
@media screen and (max-width: 1230px){
  .box{
    height: 135%;
  }
/* TB用 */
@media screen and (max-width: 1000px){
  .campaign {
    padding: 10px;
  }
  .step {
    height: 50px;
    width: 50px;
    border-radius: 40px;
    padding: 16px 0;
    font-size: 10px;
  }
  .step-lable p {
    font-size: 17px;
  }
  .box {
    height: 143%;
  }
  .boxs {
    max-width: 95%;
  }
  .box h3 {
    font-size: 2.5vw;
  }
  .box2 h3 {
    font-size: 2.5vw;
  }
  .box3 h3 {
    font-size: 2.5vw;
  }
  .box p {
    margin: 10px 10px;
    font-size: 2vw;
  }
  .box2 p {
    margin: 10px 10px;
    font-size: 2vw;
  }
  .box3 p {
    margin: 10px 10px;
    font-size: 2vw;
  }
  .ribbon9 {
    height: 64px;
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .ribbon9:before {
    bottom: -30px;
    left: -50px;
    border: 25px solid #fcfc95;
    border-left-color: transparent;
  }
  .ribbon9:after {
    width: 60px;
    bottom: -30px;
    right: -60px;
    border: 25px solid #fcfc95;
    border-right-color: transparent;
  }
  .share-content {
    width: 95%;
  }
  .character_icon {
    max-width: 30%;
  }
  .url-content {
    padding: 20px 15px;
  }
  .line-h {
    line-height: 1.5;
  }
  .absolute {
    position: absolute;
    width: 100%;
  }
  .relative {
    position: relative;
    margin: 20px 5px;
  }
  .url-content p {
    font-size: 14px;
  }
  .Q-A {
    max-width: 95%;
  }
  .Q-A h3 {
    font-size: 18px;
  }
  .A {
    font-size: 2.5vw;
    padding: 15px 14px 15px 20px;
  }
  .Q {
    font-size: 29px;
    width: 47px;
    margin: 20px;
  }
  .attention {
    max-width: 95%;
  }
}

/* 500px以下 */
@media screen and (max-width: 500px){
  .zin-logo {
    max-width: 48%;
    margin: 10px;
  }
  .step {
    height: 80px;
    width: 80px;
    padding: 25px 2px;
    font-size: 17px;
  }
  .sp-br{
    display: block;
  }
  h1{
    font-size: 9.5vw;
  }
  .caution{
    font-size: 2.3vw;
  }
  h2{
    font-size: 5vw;
  }
  .h2-title{
    line-height: 1.5;
  }
  .box h3 {
    font-size: 6vw;
  }
  .box2 h3 {
    font-size: 6vw;
  }
  .box3 h3 {
    font-size: 6vw;
  }
  .sp-block{
    display: block;
  }
  .pc-block{
    display: none;
  }
  .top-view-img-sp {
    width: 90%;
    margin: auto;
  }
  .box {
    display: flex;
    flex-direction: column;
    max-width: 95%;
    margin: 0 auto;
    margin-bottom: 30px;
    margin-top: -50px;
  }
  .box2 {
    display: flex;
    flex-direction: column;
    width: 95%;
    margin: -50px 5px;
    width: 95%;
    height: 110%;
  }
  .box3 {
    max-width: 95%;
    margin-top: 4px;
  }
  .boxs {
    flex-direction: column;
    max-width: 100%;
  }
  .box p {
    font-size: 4.5vw;
  }
  .box2 p {
    font-size: 4.5vw;
  }
  .box3 p {
    font-size: 4.5vw;
  }
  .step{
    z-index: 2;
  }
  .step1 {
    display: flex;
    flex-direction: column;
    width: 95%;
    margin: auto;
  }
  .step2_3 {
    display: flex;
    flex-direction: column;
    width: 95%;
    margin: auto;
  }
  .step3{
    position: relative;
    top: 58px;
  }
  .box-wrap {
    display: flex;
    flex-direction: column;
  }
  .share-content {
    width: 95%;
    margin: auto;
  }
  .ribbon9 {
    height: 86px;
    width: 68%;
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .ribbon9:before {
    width: 50px;
    bottom: -20px;
    left: -50px;
    border: 21px solid #fcfc95;
    border-left-color: transparent;
  }
  .ribbon9:after {
    width: 50px;
    bottom: -20px;
    right: -54px;
    border: 21px solid #fcfc95;
    border-right-color: transparent;
  }
  .top-share {
    display: flex;
    flex-direction: column;
  }
  .share-url {
    width: 100%;
    margin: 0 auto;
    margin-top: 0px;
  }
  .share-box {
    width: 100%;
    margin: 0 0px;
  }
  .url-wrap {
    width: 100%;
    position: relative;
    top: -92px;
    background: #fff;
  }
  .url-content {
    display: flex;
    flex-direction: column;
  }
  .url-box {
    padding: 0px 0px 0px 0px;
}
  .absolute {
    position: absolute;
    width: 100%;
    margin-top: 18px;
  }
  .relative{
    width: 100%;
    margin: auto;
  }
  .character_icon {
    position: relative;
    max-width: 54%;
    top: -32px;
  }
  textarea {
    font-size: 12px;
    padding: 10px 2px;

  }
  .Q-A {
    max-width: 100%;
  }
  .s-three h3 {
    padding: 5px 5px 5px 0px;
    font-size: 4.5vw;
    max-width: 100%;
    width: 96%;
    line-height: 1.3;
  }
  .s-three{
    margin-top: -111px;
  }
  .Q {
    width: 25px;
    font-size: 6vw;
    border-radius: 168px;
    width: 42px;
    margin-right: 20px;
    margin-left: 20px;
  }
  .A {
  font-size: 4.2vw;
  padding: 5px 6px 10px 10px;
  }
  .s-five a {
    text-decoration: none;
    background-color: #396599;
    color: #ffffff;
    font-size: 24px;
    letter-spacing: 0.1em;
    font-weight: bold;
    padding: 20px 30px;
    margin: auto;
    display: block;
    text-align: center;
    width: 90%;
    margin-bottom: 30px;
  }
  .attention {
    margin-bottom: 30px;
  }
}
/* スマートフォン用 */
@media screen and (max-width: 380px){
  .top-share {
    flex-direction: column;
  }
  .share-box {
    flex-direction: column;
    margin: 0 auto;
    width: 95%;
    margin-bottom: 30px;
  }
  .Q-A {
    max-width: 95%;
    padding: 10px;
  }
  .s-three p {
    margin: 10px;
    padding-left: 0px;
  }
  .attention {
    max-width: 95%;
    padding: 10px;
  }
}
}