@charset "UTF-8";

/*----------------------------------------------------
 Reset
----------------------------------------------------*/
*,
*::before,
*::after {
    box-sizing: border-box;
}

ul[class], ol[class] {
    padding: 0;
}

body, h1, h2, h3, h4, p, ul[class], ol[class], li, figure, figcaption, blockquote, dl, dd {
    margin: 0;
}

body {
    min-height: 100vh;
    scroll-behavior: smooth;
    line-height: 1.7;
    -webkit-text-size-adjust: 100%;
}

ul[class], ol[class] {
    list-style: none;
}

img {
    max-width: 100%;
    display: block;
}

input, button, textarea, select {
    font: inherit;
}

/*----------------------------------------------------
    Component
----------------------------------------------------*/
/* clearfix */
.clearfix {
    clear: both;
    zoom: 1;
}

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

/* rollover */
.rollover {
    animation: horizontalY 1s ease-in-out infinite alternate;
            transition: all 1s;
    -webkit-transition: all 1s;
}

.rollover:hover {
    animation: horizontalY 0.5s ease-in-out infinite alternate;
            transition: all 0.5s;
    -webkit-transition: all 0.5s;
    filter: alpha(opacity=70);
    opacity: 0.7;
}

/* innerlink */
.innerlink {
    display: block;
    height: 1px;
    position: relative;
    top: -60px;
}

/* pc/sp */
.pc {
    display: none;
}

.pc-i {
    display: none;
}

.sp {
    display: block;
}

.sp-i {
    display: inline;
}

@media (min-width: 940px) {
    .pc {
        display: block;
    }

    .pc-i {
        display: inline;
    }

    .sp,
    .sp-i {
        display: none;
    }
}

/*----------------------------------------------------
 header
----------------------------------------------------*/
.header {
  padding: 1.6vw 0;
}
.header-logo {
  margin: 0 auto;
  width: 24.8%;
}

@media (min-width: 940px) {
  .header {
    padding: 1.5625vw 0;
  }
  .header-logo {
    max-width: 478px;
    width: 24%;
  }
}
@media (min-width: 1920px) {
  .header {
    padding: 30px 0;
  }
}

/*----------------------------------------------------
 main-visual
----------------------------------------------------*/
.main-visual {
    position: relative;
}
.main-visual img {
  width: 100%;
}
.main-visual-ticket,
.main-visual-campaign,
.main-visual-about {
    position: absolute;
    left: 15.5%;
    width: 69%;
    height: 9.5%;
}

.main-visual-ticket {
    top: 62.7%;
}

.main-visual-campaign {
    top: 74%;
}

.main-visual-about {
    top: 85.5%;
}

@media (min-width: 940px) {
    .main-visual-ticket,
    .main-visual-campaign,
    .main-visual-about {
        top: 76%;
        height: 10%;
        width: 18.75%;
    }
    
    .main-visual-ticket {
        left: 21%;
    }
    
    .main-visual-campaign {
        left: 40.5%;
    }
    
    .main-visual-about {
        left: 60%;
    }
}


/*----------------------------------------------------
 ticket
----------------------------------------------------*/
.ticket {
  background: url(img/ticket-bg-sp.png) no-repeat center center;
  background-size: cover;
  padding: 7vw 0;
}

/* title */
.ticket-title {
  margin: 0 auto 6vw;
  width: 68.8%;
}

/* use */
.ticket-use {
  margin: 0 auto 6vw;
  width: 55%;
}
.ticket-use a {
  display: inline-block;
}
.ticket-use a:nth-child(n+2) {
  margin-top: 3vw;
}

/* text */
.ticket-text p,
.campaign-text p {
  font-size: 2.13vw;
  /* font-weight: bold; */
  text-align: center;
}
.campaign-text p {
  font-size: min(3.33333vw, 16px);
  font-weight: bold;
  margin-bottom: 1em;
  text-align: left;
}
.ticket-text .subject,
.campaign-text .subject  {
  width: min(85%, 1000px);
  margin: 40px auto 0;
  position: relative;
}
.campaign-text .subject  {
  width: 100%;
}
.ticket-text .subject h5,
.campaign-text .subject h5 {
  text-align: center;
  margin-top: 0;
  margin-bottom: 0;
  font-size: min(5.5vw, 27px);
  position: absolute;
  top: -1em;
  left: 50%;
  transform: translateX(-50%) skew(-10deg);
  padding: 3px min(5.128vw, 40px);
  background: #ff6427;
  color: #fff;
    /* text-shadow: 0px 0px 12px #6b6b6b; */
  box-shadow: 3px 3px 6px #c9c9c9;
  letter-spacing: 1.5px;
  border-radius: 5px;
}
.campaign-text .subject h5 {
  white-space: nowrap;
}
.ticket-text .subject ul,
.campaign-text .subject .subject-body {
  margin: 0 auto 10px;
  padding-left: 0;
  padding: min(10vw, 50px) min(5.128vw, 40px) min(5.128vw, 40px);
  background: #fff;
  border-radius: 10px;
}
.ticket-text .subject ul li,
.campaign-text .subject ul li {
  list-style: none;
  font-size: min(3.33333vw, 16px);
  text-indent: -1em;
  padding-left: 1em;
  line-height: 2;
}
.campaign-text .subject ul li {
  font-size: min(2.56411vw, 12px);
}
.ticket-text .subject ul li {
  font-weight: bold;
}
.ticket-text .subject .text__box p,
.campaign-text .subject .text__box p {
  text-align: left;
  font-size: min(2.56411vw, 12px);
  text-indent: -1em;
  padding-left: 1em;
}
@media (min-width: 940px) {
  .ticket {
    background-image: url(img/ticket-bg.png);
    padding: 6.77vw 0;
  }

  /* title */
  .ticket-title {
    margin-bottom: 4.4vw;
    max-width: 749px;
    width: 39.5%;
  }
  
  /* use */
  .ticket-use {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 3.65vw;
    max-width: 925px;
    width: 48.2%;
  }
  .ticket-use a {
    width: 46.9%;
  }
  .ticket-use a:nth-child(n+2) {
    margin-top: 0;
  }
  
  /* text */
  .ticket-text p,
  .campaign-text p {
    font-size: 1.2vw;
   /* line-height: 2;*/
  }
  .ticket-text .subject,
  .campaign-text .subject {
	width: min(65%, 1000px);
	margin: 80px auto 0;
	}
  .ticket-text .subject ul li,
  .campaign-text .subject ul li {
    font-size: min(1.3vw, 18px);
    line-height: 2;
  }
  .ticket-text .subject h5,
  .campaign-text .subject h5 {
    font-size: 2.2vw;
  }
  .ticket-text .subject .text__box p,
  .campaign-text .subject .text__box p {
    font-size: min(1.1vw, 16px);
  }
}
@media (min-width: 1920px) {
  .ticket {
    padding: 130px 0;
  }
  /* title */
  .ticket-title {
    margin-bottom: 85px;
  }
  /* use */
  .ticket-use {
    margin-bottom: 70px;
  }
  /* text */
  .ticket-text p,
  .campaign-text p {
    font-size: 23px;
  }
  .ticket-text .subject ul li,
  .campaign-text .subject ul li {
    font-size: 18px;
  }
  .ticket-text .subject h5,
  .campaign-text .subject h5 {
    font-size: 32px;
  }
}
/*----------------------------------------------------
 campaign
----------------------------------------------------*/
.campaign {
  background: url(img/campaign-bg-sp.png) no-repeat center bottom;
  background-size: cover;
  padding: 7.3vw 7%;
}
/* img */
.campaign-img {
  margin: 0 auto 7.3vw;
}
.campaign-img img {
  width: 100%;
}
/* list */
.campaign-list {
  margin-bottom: 7.3vw;
}
.campaign-each:nth-child(n+2) {
  margin-top: 5.3vw;
}
.campaign-body {
  background: #fff;
  border-radius: 0 0 5px 5px;
  padding: 1em;
}
/* catch */
.campaign-catch {
  font-size: 2.53vw;
  font-weight: bold;
  line-height: 2;
  margin-bottom: 5.3vw;
  text-align: center;
}
/* exchange */
.campaign-exchange {
  border: 1px solid #265796;
  margin-bottom: 5.3vw;
  padding: 0 1em 1em;
}
.campaign-exchange-title {
  color: #265796;
  font-size: 2.53vw;
  font-weight: bold;
  text-align: center;
}
.campaign-exchange-title span {
  background: #fff;
  display: inline-block;
  padding: 0 1em;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.campaign-exchange ul {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.campaign-exchange li:nth-child(1) {
  margin-bottom: 1em;
  width: 28.86%;
}
.campaign-exchange li:nth-child(2) {
  margin-bottom: 1em;
  width: 58.6%;
}
.campaign-exchange li:nth-child(3) {
  width: 42.27%;
}
.campaign-exchange li:nth-child(4) {
  margin-right: 5%;
  width: 35.22%;
}

/* egift */
.campaign-egift {
  align-items: flex-start;
  display: flex;
  justify-content: space-between;
  margin-bottom: 5.3vw;
}
.campaign-egift-img {
  width: 16.6%;
}
.campaign-egift-text {
  font-size: min(2.13vw, 12px);
  flex-shrink: 100;
  padding-left: 1em;
}
.campaign-egift-text a {
  color: inherit;
  text-decoration: none;
}
.campaign-egift-text p:nth-child(n+2) {
  margin-top: 1em;
}
.indent {
  padding-left: 1em;
  text-indent: -1em;
}
/* remark */
.campaign-remark-title {
  color: #265796;
  font-size: min(2.53vw, 13px);
  margin-bottom: .5em;
}
.campaign-remark li {
  font-size: min(1.86vw, 12px);
  padding-left: 1em;
  text-indent: -1em;
}
/* body */
.campaign-body-img {
  margin: 0 auto 1em;
  max-width: 63%;
}
.campaign-body-text {
  font-size: min(2.53vw, 13px);
}

/* link */
.campaign-link {
  text-align: center;
}
.campaign-link a {
  display: inline-block;
  width: 77%;
}

@media (min-width: 940px) {
  .campaign {
    background-image: url(img/campaign-bg.png);
    padding-top: min(6.5vw, 125px);
    padding-bottom: min(5.73vw, 110px);
  }
  /* img */
  .campaign-img img {
    margin-left: auto;
    margin-right: auto;
    max-width: 1104px;
    width: 57.5%;
  }

  /* list */
  .campaign-list {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: min(6.8vw, 130px);
    max-width: 1100px;
    width: 57.5%;
  }
  .campaign-each:nth-child(n+2) {
    margin-top: min(2.6vw, 50px);
  }
  .campaign-body {
    padding-left: 8.7%;
    padding-right: 8.7%;
    padding-top: min(2.86vw, 55px);
    padding-bottom: min(2.86vw, 55px);
  }
  .campaign-body-2col {
    display: flex;
    padding-left: 5.5%;
    padding-right: 5.5%;
  }
  /* catch */
  .campaign-catch {
    font-size: min(1.1vw, 25px);
    margin-bottom: min(2.6vw, 50px);
  }
  /* exchange */
  .campaign-exchange {
    border: 1px solid #265796;
    margin-bottom: min(2.6vw, 50px);
    padding: 1em 9.5% 2em;
  }
  .campaign-exchange-title {
    font-size: min(1.1vw, 25px);
  }
  .campaign-exchange-title span {
    padding: 0 1.5em;
    position: relative;
    top: -1em;
  }
  .campaign-exchange li:nth-child(1),
  .campaign-exchange li:nth-child(2) {
    margin-bottom: 1.5em;
  }
  .campaign-exchange li:nth-child(4) {
    margin-right: 7%;
  }
  /* egift */
  .campaign-egift {
    margin-bottom: min(2.6vw, 50px);
  }
  .campaign-egift-img {
    width: 13%;
  }
  .campaign-egift-text {
    font-size: min(.99vw, 19px);
    flex-shrink: 100;
    padding-left: 1em;
  }
  /* remark */
  .campaign-remark-title {
    font-size: min(.99vw, 19px);
  }
  .campaign-remark li {
    font-size: min(.83vw, 16px);
  }

  /* body */
  .campaign-body-img {
    margin: 0;
    max-width: 36%;
  }
  .campaign-body-text {
    font-size: min(1.1vw, 25px);
    flex-shrink: 100;
    padding-left: 1.5em;
  }
  .campaign-body-text p:nth-child(n+2) {
    margin-top: 1em;
  }
  /* link */
  .campaign-link a {
    width: min(40%, 749px);
  }
}
/*----------------------------------------------------
 about
----------------------------------------------------*/
.about {
  background: url(img/about-bg-sp.png) no-repeat center center;
  background-size: cover;
  padding-top: 9.6vw;
}

.about-wrap {
  margin: 0 auto;
  width: 86.6%;
}
.about-main {
  background: #fff;
  padding: 12.6vw 10.3% 16vw;
}

@media (min-width: 940px) {
  .about {
    background-image: url(img/about-bg.png);
    padding-top: 6.77vw;
  }
  
  .about-wrap {
    max-width: 1310px;
    width: 68.23%;
  }
  .about-main {
    padding: 6.77vw 8%;
  }
}
@media (min-width: 1920px) {
  .about {
    padding-top: 130px;
  }
  .about-main {
    padding: 130px 10.3%;
  }
}

/* summary */
.about-summary {
  margin-bottom: 2em;
}
.about-summary-title {
  font-size: 3.6vw;
  margin-bottom: 1em;
  text-align: center;
}
.about-summary p {
  font-size: 2.7vw;
  text-align: center;
}
@media (min-width: 940px) {
  .about-summary {
    margin-bottom: 6.77vw;
  }
  .about-summary-title {
    font-size: 1.5625vw;
  }
  .about-summary p {
    font-size: 1.25vw;
    line-height: 2;
  }
}
@media (min-width: 1920px) {
  .about-summary {
    margin-bottom: 130px;
  }
  .about-summary-title {
    font-size: 30px;
  }
  .about-summary p {
    font-size: 22px;
  }
}

/* apply */
.about-apply {
  margin-bottom: 9.6vw;
}
.about-last {
  margin-bottom: 0;
}
.about-apply-btn a {
  display: inline-block;
  margin-bottom: .25em;
}
.about-apply p {
  font-size: 3.6vw;
  font-weight: bold;
  text-align: center;
}
.about-apply p:nth-child(n+2) {
  margin-top: .25em;
}
.about-apply p a {
  color: #265796;
}
@media (min-width: 940px) {
  .about-apply {
    margin-bottom: 6.77vw;
  }
  .about-last {
    margin-bottom: 0;
  }
  .about-apply-btn {
    display: flex;
    justify-content: space-between;
    margin: 0 auto 2.1vw;
    width: 77.5%;
  }
  .about-apply-btn a {
    margin-bottom: 0;
    width: 47%;
  }
  .about-apply p {
    font-size: 1.46vw;
  }
  .about-apply p:nth-child(n+2) {
    margin-top: .5em;
  }
}
@media (min-width: 1920px) {
  .about-apply {
    margin-bottom: 130px;
  }
  .about-last {
    margin-bottom: 0;
  }
  .about-apply-btn {
    margin-bottom: 40px;
  }
  .about-apply p {
    font-size: 28px;
  }
}


/* subtitle */
.about-subtitle {
  margin: 0 auto 5vw;
}
@media (min-width: 940px) {
  .about-subtitle {
    margin-bottom: 3.4vw;
    max-width: 750px;
    width: 68.2%;
  }
}
@media (min-width: 1920px) {
  .about-subtitle {
    margin-bottom: 65px;
  }
}

/* fun */
.about-fun {
  margin-bottom: 9.6vw;
}
.about-fun-each:nth-child(n+2) {
  margin-top: 5vw;
}
.about-fun-each img {
  display: block;
  margin: 0 auto .5em;
  width: 61.2%;
}
.about-fun-each p {
  font-size: 3.6vw;
}
.about-fun-each:nth-child(2) p {
  text-align: center;
}
@media (min-width: 940px) {
  .about-fun {
    margin-bottom: 6.77vw;
  }
  .about-fun-list {
    display: flex;
    justify-content: space-between;
  }
  .about-fun-each {
    width: 30%;
  }
  .about-fun-each:nth-child(n+2) {
    margin-top: 0;
  }
  .about-fun-each img {
    width: 100%;
  }
  .about-fun-each p {
    font-size: 1.25vw;
  }
  .about-fun-each:nth-child(2) p {
    text-align: left;
  }
}
@media (min-width: 1920px) {
  .about-fun {
    margin-bottom: 130px;
  }
  .about-fun-each p {
    font-size: 24px;
  }
}

/* new */
.about-new {
  margin-bottom: 9.6vw;
}
.about-new-each:nth-child(n+2) {
  margin-top: 5vw;
}
.about-new-each img {
  display: block;
  margin: 0 auto .5em;
  width: 80.6%;
}
.about-new-each p {
  font-size: 3.6vw;
}
.about-new-each a {
  color: inherit;
  text-decoration: none;
}

@media (min-width: 940px) {
  .about-new {
    margin-bottom: 6.77vw;
  }
  .about-new-list {
    display: flex;
    justify-content: space-between;
  }
  .about-new-each {
    width: 31%;
  }
  .about-new-each:nth-child(n+2) {
    margin-top: 0;
  }
  .about-new-each img {
    width: 100%;
  }
  .about-new-each p {
    font-size: 1.25vw;
  }
}
@media (min-width: 1920px) {
  .about-new {
    margin-bottom: 130px;
  }
  .about-new-each p {
    font-size: 24px;
  }
}

/* banner */
.about-banner {
  border-top: 1px solid #90a64c;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 3vw;
  padding-top: 3vw;
}
.about-banner-each {
  margin: 0 .1em .25em;
}
.about-banner-each:nth-child(1),
.about-banner-each:nth-child(4) {
  width: 31%;
}
.about-banner-each:nth-child(2) {
  width: 40%;
}
.about-banner-each:nth-child(3) {
  width: 63%;
}
@media (min-width: 940px) {
  .about-banner {
    justify-content: space-between;
    margin-top: 2vw;
    padding-top: 2vw;
  }
  .about-banner-each {
    margin: 0;
  }
  .about-banner-each:nth-child(1),
  .about-banner-each:nth-child(2),
  .about-banner-each:nth-child(4) {
    width: 19%;
  }
  .about-banner-each:nth-child(3) {
    width: 39%;
  }
}
@media (min-width: 1920px) {
  .about-banner {
    margin-top: 35px;
    padding-top: 35px;
  }
}

/* try */
.about-try {
  margin-bottom: 9.6vw;
}
.about-try-each:nth-child(n+2) {
  margin-top: 5vw;
}
.about-try-each img {
  display: block;
  margin: 0 auto .5em;
  width: 63.1%;
}
.about-try-title {
  font-size: 3.6vw;
  font-weight: bold;
  margin-bottom: .5em;
  text-align: center;
}
.about-try-each p {
  font-size: 3.6vw;
}
.about-try-each a {
  color: inherit;
  text-decoration: none;
}

@media (min-width: 940px) {
  .about-try {
    margin-bottom: 6.77vw;
  }
  .about-try-list {
    display: flex;
    justify-content: space-between;
  }
  .about-try-each {
    width: 30%;
  }
  .about-try-each:nth-child(n+2) {
    margin-top: 0;
  }
  .about-try-each img {
    width: 100%;
  }
  .about-try-title {
    font-size: 1.25vw;
  }
  .about-try-each p {
    font-size: 1.25vw;
  }
}
@media (min-width: 1920px) {
  .about-try {
    margin-bottom: 130px;
  }
  .about-try-title {
    font-size: 24px;
  }
  .about-try-each p {
    font-size: 24px;
  }
}

/* credit */
.credit {
	margin-top: min(8vw, 40px);
}
.credit dt {
	border-bottom: 1px solid #33333370;
	padding: min(2vw, 1rem) 0;
	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;
	width: 100%;
	font-size: min(3vw,16px);
	color: #333;
	font-weight: 700;
}

.credit dd {
	letter-spacing: -.05em;
	line-height: 2;
	padding-top: min(2vw, 1rem);
	display: grid;
	/*grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));*/
	grid-template-columns: 1fr 1fr;
}
.credit dd a {
	color: #333;
	letter-spacing: 0;
	font-weight: 700;
	font-size: min(2.564vw,12px);
	display: flex;
	position: relative;
	text-decoration: none;
	padding: 0 10px;
	align-items: center;
	padding: 0 1em 0 .5em;
	margin-right: 1.5em;
	transition: .3s all;
}
.credit dd a:hover {
	color: #CFCFCF;
}
@media (min-width: 940px) {
  .credit dd {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	}
	.credit dd a::after {
	content: "｜";
	position: absolute;
	top: 50%;
	left: 100%;
	transform: translateY(-50%);
	color: #33333370;
}
}

/*----------------------------------------------------
 footer
----------------------------------------------------*/
.footer {
  background: #265796;
  box-shadow: 0 -10px 20px -10px #000000;
  padding: .6em 0 .75em;
}
.footer p {
  color: #fff;
  font-size: 2.13vw;
  text-align: center;
}

@media (min-width: 940px) {
  .footer {
    padding: 1em 0;
  }
  .footer p {
    font-size: 1.2vw;
  }
}
@media (min-width: 1920px) {
  .footer p {
    font-size: 23px;
  }
}

