@charset "UTF-8";

:root {
  --color-blue01: #00B8F6;
  --color-blue02: #29A0D7;
  --color-blue03: #1F98D0;
  --color-gray01: #F5F5F5;
  --color-gray02: #B5B5B5;
  --color-black01: #000000;
  --color-black02: #282828;
}

@media screen and (min-width: 750px) {
  .sp {
    display: none !important;
  }
}

@media screen and (max-width: 749px) {
  .pc {
    display: none !important;
  }
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  outline: none;
  border: 0;
  list-style: none;
  vertical-align: baseline;
  text-decoration: none;
  font: inherit;
  -webkit-tap-highlight-color: transparent;
}

html {
  -webkit-overflow-scrolling: touch;
  height: 100%;
  font-size: 62.5% !important;
  font-family: 'Nunito', sans-serif;
}
body {
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  height: 100%;
  color: #000;
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1.87;
}

div,
main,
section {
  position: relative;
  display: block;
}

*:focus {
  outline: none;
}

p {
  font-size: 1.4rem;
  line-height: 2.0;
}
p.bold {
  font-weight: bold;
}
p.mid {
  font-size: 1.4rem;
}
ruby {
  letter-spacing: 0;
}
ruby rt {
  font-size: 0.8rem;
  transform: translateY(2px) scale(0.6);
  letter-spacing: -0.10rem;
}
img {
  width: 100%;
}
a {
  text-decoration: none;
  -webkit-transition-duration: 0.35s;
  -moz-transition-duration: 0.35s;
  -ms-transition-duration: 0.35s;
  -o-transition-duration: 0.35s;
  transition-duration: 0.35s;
}
a:hover {
	opacity:0.7;
  filter: alpha(opacity=70);
  -moz-opacity:0.7;
}
h1, h2, h3, h4, h5 {
  font-weight: 700;
}

/*common*/

/* 画面外にいる状態 */
.fadeinLeft {
  opacity:0.0;
  filter: alpha(opacity=0);
  transition : all 500ms;
  -webkit-transform : translate(-50px, 0);
  -moz-transform : translate(-50px, 0);
  -ms-transform : translate(-50px, 0);
  -o-transform : translate(-50px, 0);
  transform : translate(-50px, 0);
  -moz-opacity:0.0;
}
.fadeinRight {
  opacity:0.0;
  filter: alpha(opacity=0);
  transition : all 500ms;
  -webkit-transform : translate(50px, 0);
  -moz-transform : translate(50px, 0);
  -ms-transform : translate(50px, 0);
  -o-transform : translate(50px, 0);
  transform : translate(50px, 0);
  -moz-opacity:0.0;
}
.fadeinBottom {
  opacity:0.0;
  filter: alpha(opacity=0);
  transition : all 500ms;
  -webkit-transform : translate(0, 50px);
  -moz-transform : translate(0, 50px);
  -ms-transform : translate(0, 50px);
  -o-transform : translate(0, 50px);
  transform : translate(0, 50px);
  -moz-opacity:0.0;
}

.closeUp {
  background-size: 135%;
  -webkit-transition-duration: 5.0s;
  -moz-transition-duration: 5.0s;
  -ms-transition-duration: 5.0s;
  -o-transition-duration: 5.0s;
  transition-duration: 5.0s;
}

/* 画面内に入った状態 */
.fadeinLeft.scrollin, .fadeinRight.scrollin, .fadeinBottom.scrollin {
  opacity:1.0;
  filter: alpha(opacity=100);
  -webkit-transform : translate(0, 0);
  -moz-transform : translate(0, 0);
  -ms-transform : translate(0, 0);
  -o-transform : translate(0, 0);
  transform : translate(0, 0);
  -moz-opacity:1.0;
}

.closeUp.scrollin {
  background-size: 150% !important;
}


/* 見出しの演出 */
.bgextend{
	animation-name:bgextendAnimeBase;
	animation-duration:1s;
	animation-fill-mode:both;
	position: relative;
	overflow: hidden;/*　はみ出た色要素を隠す　*/
	opacity:0;
}

@keyframes bgextendAnimeBase{
  from {
    opacity:0;
  }
  to {
    opacity:1;  
}
}

.bgappear{
	animation-name:bgextendAnimeSecond;
	animation-duration:1s;
	animation-delay: 0.6s;
	animation-fill-mode:forwards;
	opacity: 0;
}

@keyframes bgextendAnimeSecond{
	0% {
	opacity: 1;
	}
	100% {
	opacity: 1;
}
}

/*左から右*/
.bgLRextend::before{
	animation-name:bgLRextendAnime;
	animation-duration:1s;
	animation-fill-mode:forwards;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #000;/*伸びる背景色の設定*/
}
@keyframes bgLRextendAnime{
	0% {
		transform-origin:left;
		transform:scaleX(0);
	}
	50% {
		transform-origin:left;
		transform:scaleX(1);
	}
	50.001% {
		transform-origin:right;
	}
	100% {
		transform-origin:right;
		transform:scaleX(0);
	}
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.bgappearTrigger,
.bgLRextendTrigger{
    opacity: 0;
}


/*------------------------------------------------------------*/
/*header*/
header {
  margin: 0 auto;
  padding: 0;
  width: 100%;
  background-color: var(--color-blue01);
  position: fixed;
  z-index: 999;
  top: 0;
}
#headerLogo {
  display: block;
  width: 80%;
  margin: 0 auto;
  padding: 1rem 0 0.5rem 0;
}
header nav {
  display: block;
  background-color: #fff;
  padding: 0 5%;
}
header nav ul {
  display: flex;
  justify-content: space-between;
}
header nav ul li {
  text-align: center;
  font-size: 1.0rem;
  font-weight: 700;
  border-bottom: solid 4px #fff;
}
header nav ul li.active {
  border-bottom: solid 4px var(--color-blue01);
}
header nav ul li:nth-child(1) {
  background: url(../img/icon_nav01.svg) no-repeat center 9px;
  background-size: 90%;
}
header nav ul li:nth-child(2) {
  background: url(../img/icon_nav02.svg) no-repeat center 8px;
  background-size: 50%;
}
header nav ul li:nth-child(3) {
  background: url(../img/icon_nav03.svg) no-repeat center 10px;
  background-size: 30%;
}
header nav ul li:nth-child(4) {
  background: url(../img/icon_nav04.svg) no-repeat center 9px;
  background-size: 70%;
}
header nav ul li:nth-child(5) {
  background: url(../img/icon_nav05.svg) no-repeat center 8px;
  background-size: 55%;
}
header nav ul li:nth-child(6) {
  background: url(../img/icon_nav06.svg) no-repeat center 12px;
  background-size: 80%;
  padding: 0rem 1rem 0 1rem;
}
header nav ul li a {
  display: block;
  color: var(--color-black01);
  line-height: 1;
  padding: 4rem 0 0.3rem 0;
}
header nav ul li.active a {
  color: var(--color-blue01);
}
@media screen and (min-width: 750px) {
  header {
    display: flex;
    justify-content: space-between;
  }
  #headerLogo {
    display: block;
    width: 350px;
    margin: 0;
    padding: 1.5rem 1.5rem 0.5rem 1.5rem;
  }
  header nav {
    display: block;
    background: none;
    padding: 0 20px;
  }
  header nav ul li {
    text-align: center;
    font-size: 1.4rem;
    font-weight: 700;
    border-bottom: solid 4px var(--color-blue01);
    margin: 0 15px;
  }
  header nav ul li.active {
    border-bottom: solid 4px #fff;
  }
  header nav ul li a {
    display: block;
    color: #fff;
    line-height: 1;
    padding: 6.7rem 0 0.5rem 0;
  }
  header nav ul li.active a {
    color: #fff;
  }
  header nav ul li:nth-child(1) {
    background: url(../img/icon_nav01_w.svg) no-repeat center 17px;
    background-size: 90%;
  }
  header nav ul li:nth-child(2) {
    background: url(../img/icon_nav02_w.svg) no-repeat center 15px;
    background-size: 50%;
  }
  header nav ul li:nth-child(3) {
    background: url(../img/icon_nav03_w.svg) no-repeat center 18px;
    background-size: 30%;
  }
  header nav ul li:nth-child(4) {
    background: url(../img/icon_nav04_w.svg) no-repeat center 18px;
    background-size: 70%;
  }
  header nav ul li:nth-child(5) {
    background: url(../img/icon_nav05_w.svg) no-repeat center 16px;
    background-size: 55%;
  }
  header nav ul li:nth-child(6) {
    background: url(../img/icon_nav06_w.svg) no-repeat center 22px;
    background-size: 80%;
    padding: 0rem 1rem 0 1rem;
  }
}

/*footer*/
footer {
  bottom: 0;
  display: block;
  padding: 8rem 0 3.5rem 0;
  width: 100%;
  background: url(../img/bg_footer.svg) no-repeat 5% 0 var(--color-black01);
  background-size: 30%;
  color: #fff;
  text-align: center;
  font-size: 1.4rem;
}
footer .contact {
  display: block;
  width: 90%;
  margin: 0 auto;
  padding: 1.0rem 0;
  background-color: var(--color-blue01);
  color: #fff;
  font-size: 2.6rem;
  font-weight: 600;
  border-radius: 100px;
}
footer img {
  display: block;
  width: 50%;
  margin: 2.5rem auto 3.5rem auto;
}
@media screen and (min-width: 750px) {
  footer {
    padding: 5rem 0 1rem 0;
    width: 100%;
    background: url(../img/bg_footer.svg) no-repeat 0 0 var(--color-black01);
    background-size: 10%;
    color: #fff;
    text-align: center;
    font-size: 1.4rem;
  }
  footer .contact {
    width: 40rem;
  }
  footer img {
    width: 50rem;
    margin: 2.5rem auto 2.5rem auto;
  }
}

h2 {
  font-family: "Cherry Bomb One", serif;
  font-weight: 400;
  font-size: 2rem;
  text-align: center;
  line-height: 1;
}
h2 span {
  display: block;
  font-size: 5rem;
}
@media screen and (min-width: 750px) {
  h2 {
    font-size: 4rem;
  }
  h2 span {
    font-size: 10rem;
  }
}

#floatingBanner {
  position: fixed;
  display: flex;
  z-index: 999;
  bottom: 15px;
  right: 15px;
}
#floatingBanner a {
  display: block;
  width: 60px;
  margin: 0 0 0 15px;
}

/*------------------------------------------------------------*/
#hero {
  margin: 34vw 0 0 0;
  padding: 3rem 0;
  line-height: 0;
  background: url(../img/img_hero.png) no-repeat center center;
  background-size: cover;
}
#hero img {
  display: block;
  width: 90%;
  margin: 0 auto;
}
@media screen and (min-width: 750px) {
  #hero {
    margin: 90px 0 0 0;
    background: url(../img/img_hero_pc.png) no-repeat center center;
    background-size: cover;
  }
  #hero img {
    width: 535px;
  }
}

/*------------------------------------------------------------*/
#news {
  margin: 0 auto 0 auto;
}
#news h2 {
  margin: 3rem auto 0 auto;
}
#news p {
  font-size: 2.0rem;
  line-height: 1.2;
}
#news p span {
  display: block;
  font-weight: 700;
  margin: 0 0 0.5rem 0;
}
#news p strong {
  text-decoration: line-through;
  font-weight: 400;
}
#news ul {
  display: block;
  width: 90%;
  margin: 2.5rem auto;
  border-top: solid 1px #B5B5B5;
}
#news ul li {
  border-bottom: solid 1px #B5B5B5;
  margin: 1.5rem 0 0 0;
  padding: 0 0 1.5rem 0;
}
@media screen and (min-width: 750px) {
  #news {
    display: flex;
    margin: 8rem auto;
    width: 750px;
  }
  #news h2 {
    margin: 0 auto;
    font-size: 2rem;
  }
  #news h2 span {
    font-size: 5rem;
  }
  #news p {
    font-size: 1.6rem;
  }
  #news ul {
    width: 100%;
    margin: 1rem 0 0 5rem;
  }
}

/*------------------------------------------------------------*/
#about {
  position: relative;
  background: url(../img/bg_about01.svg) no-repeat left top, url(../img/bg_about02.svg) no-repeat right top, url(../img/img_about_back.png) no-repeat -5% 43%, url(../img/bg_about06.svg) no-repeat right bottom;
  background-color: var(--color-gray01);
  background-size: 40vw, 35vw ,50vw, 30vw;
  padding: 5rem 0 0 0;
}
#about h3 {
  padding: 3rem 10% 0 10%;
  width: 100%;
}
#about h3.sec {
  padding: 3rem 20% 0 20%;
  width: 100%;
  background: url(../img/bg_about05.svg) no-repeat left top;
  background-size: 50vw;
}
#about p {
  width: 100%;
  margin: 2.5rem 0;
  padding: 0 5%;
  font-size: 2.0rem;
  font-weight: 200;
  line-height: 1.6;
}
#about ul {
  width: 100%;
  margin: 0 auto;
  padding: 0 5% 12rem 5%;
}
#about ul li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
#about ul li img {
  width: 20%;
  margin: 4rem 0 0 0;
}
#about ul li p {
  width: 77%;
  font-size: 2.0rem;
  font-weight: 800;
  line-height: 1.2;
  margin: 4rem 0 0 0;
  padding: 0;
}
#about .chara {
  position: absolute;
  bottom: -2%;
  left: 1%;
  width: 40vw;
}
#aboutSet div:nth-child(2) {
  margin: 0 auto;
  width: 90%;
}
#about #mv {
  width: 90%;
  display: block;
  margin: 2rem auto 3rem auto;
}
#about iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
}

@media screen and (min-width: 750px) {
  #about {
    background: url(../img/bg_about01.svg) no-repeat left top, url(../img/bg_about02.svg) no-repeat right top, url(../img/img_about_back.png) no-repeat 13% 60%, url(../img/bg_about06.svg) no-repeat right bottom;
    background-color: var(--color-gray01);
    background-size: 35vw, 30vw ,13vw, 20vw;
    padding: 5rem 0 0 0;
  }
  #about h3 {
    padding: 3rem 10% 0 5%;
  }
  #about p {
    width: 100%;
    margin: 2.5rem 0;
    padding: 0 5% 0 0;
    font-size: 2.0rem;
    font-weight: 200;
    line-height: 1.6;
  }
  #aboutSet {
    display: flex;
    align-items: center;
    width: 1000px;
    margin: 0 auto;
  }
  #aboutSet div:nth-child(1) {
    width: 50%;
  }
  #aboutSet div:nth-child(2) {
    width: 48%;
  }
  #about p {
    font-size: 1.8rem;
  }
  #about h3.sec {
    margin: 0 auto;
    padding: 8rem 0 0 0;
    width: 25%;
    background: none;
    background-size: 20vw;
  }
  #about ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    align-items: flex-start;
    width: 1000px;
    margin: 0 auto;
  }
  #about ul li {
    display: block;
    width: 30%;
    text-align: center;
  }
  #about ul li img {
    width: 30%;
    margin: 4rem 0 0 0;
  }
  #about ul li p {
    width: 100%;
    margin: 1rem 0 0 0;
  }
  #about .chara {
    position: absolute;
    bottom: -4%;
    left: 0.5%;
    width: 25vw;
  }
  #about #mv {
    width: 100%;
    max-width: 1000px;
    display: block;
    margin: 2rem auto 5rem auto;
  }
  #about iframe {
    width: 100%;
  }
}

/*------------------------------------------------------------*/
#information {
  padding: 0 0 8rem 0;
}
#information h2 {
  margin: 5rem auto 3rem auto;
}
#information dl {
  display: block;
  margin: 0 auto;
  width: 90%;
}
#information dl dt {
  margin: 2rem 0 0 0;
  color: var(--color-blue01);
  line-height: 1.4;
}
#information dl dd {
  padding: 0 0 2rem 0;
  line-height: 1.4;
  border-bottom: solid 1px var(--color-gray02);
}
#information iframe {
  aspect-ratio: 1/1;
  width: 100%;
  margin: 2rem 0 0 0;
}
#information a {
  color: var(--color-black01);
  text-decoration: underline;
}
@media screen and (min-width: 750px) {
  #information dl {
    width: 750px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch;
  }
  #information dl dt {
    width: 20%;
    border-bottom: solid 1px var(--color-gray02);
    margin: 3rem 0 0 0;
    padding: 0 0 2rem 0;
  }
  #information dl dd {
    margin: 3rem 0 0 0;
    padding: 0 0 2rem 0;
    width: 80%;
  }
  #information iframe {
    aspect-ratio: 18/9;
    width: 100%;
    margin: 2rem 0 0 0;
  }
}

/*------------------------------------------------------------*/
#ticket {
  background: url(../img/bg_ticket01.svg) no-repeat left top, url(../img/bg_ticket02.svg) no-repeat right top;
  background-color: var(--color-blue01);
  padding: 5rem 0 5rem 0;
}
#ticket h2 {
  color: #fff;
}
#ticket ul.point {
  width: 90%;
  margin: 3rem auto 0 auto;
  font-size: 2.0rem;
  font-weight: 800;
  color: #fff;
  line-height: 1.4;
}
#ticket ul.point li {
  border-left: solid 10px #fff;
  margin: 0 0 2rem 0;
  padding: 0 0 0 10px;
  list-style: none;
}
#ticket ul.point li:nth-child(3) {
  font-size: 80%;
}
#ticket table {
  display: table;
  border-radius: 30px;
  background-color: #fff;
  width: 90%;
  margin: 3rem auto 0 auto;
  border: none;
  border-spacing: 0;
  overflow: hidden;
  font-size: 1.6rem;
  line-height: 1.4;
}
#ticket table tbody {
  width: 100%;
}
#ticket table tr {
  text-align: center;
  width: 100%;
}
#ticket table tr th {
  background-color: var(--color-blue02);
  color: #fff;
  padding: 1rem 2rem;
  vertical-align: middle;
  font-weight: 600;
}
#ticket table tr th:nth-child(1) {
  background-color: var(--color-blue03);
}
#ticket table tr th.sec {
  background-color: var(--color-black01);
}
#ticket table tr th:nth-child(1).sec {
  background-color: var(--color-black02);
}
#ticket table tr th:nth-last-child(1) {
  border-left: solid 1px #fff;
}
#ticket table tr td {
  padding: 1rem 2rem;
  border-bottom: solid 1px var(--color-gray02);
  vertical-align: middle;
  font-size: 2.0rem;
  font-weight: 800;
}
#ticket table tr:nth-last-child(1) td {
  border-bottom: none;
}
#ticket table tr td:nth-last-child(1) {
  border-left: solid 1px var(--color-gray02);
}
#ticket table tr td:nth-child(1) {
  background-color: var(--color-gray01);
  font-size: 1.4rem;
  font-weight: 400;
}
#ticket ul {
  display: block;
  width: 90%;
  margin: 3rem auto;
  color: #fff;
  line-height: 1.4;
}
#ticket ul li {
  margin: 0 0 1rem 1.5rem;
  list-style: disc;
  line-height: 1.2;
}
@media screen and (min-width: 750px) {
  #ticket {
    background: url(../img/bg_ticket01.svg) no-repeat left top, url(../img/bg_ticket02.svg) no-repeat right top;
    background-size: 22%, 14%;
    background-color: var(--color-blue01);
  }
  #ticket ul.point {
    width: 750px;
    font-size: 3.0rem;
  }
  #ticket ul.point li {
    margin: 0 0 3rem 0;
    padding: 0 0 0 15px;
  }
  #ticket table {
    width: 750px;
    margin: 5rem auto 0 auto;
  }
  #ticket ul {
    width: 750px;
  }
}

/*------------------------------------------------------------*/
#attraction {
  position: relative;
  background: url(../img/bg_attraction01.svg) no-repeat left top, url(../img/bg_attraction02.svg) no-repeat right top, url(../img/bg_attraction03.svg) no-repeat left bottom, url(../img/bg_attraction_chara.png) no-repeat right bottom;
  background-size: 28vw, 35vw ,35vw ,50vw;
  padding: 12rem 0 20rem 0;
}
#attraction ul {
  display: block;
  margin: 3rem auto 0 auto;
  width: 90%;
}
#attraction ul li {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  text-align: center;
  margin: 0 0 4rem 0;
}
#attraction ul li .attractionSet {
  width: 50%;
}
#attraction ul li h3 span {
  display: block;
  font-size: 1.4rem;
  line-height: 1.0;
  margin: 0 0 1rem 0;
}
#attraction ul li .attractionSet img {
  width: 100%;
}
#attraction ul li .attractionSet p {
  font-size: 1.8rem;
  line-height: 1.2;
}
#attraction ul li .attractionImg {
  display: block;
  border-radius: 30px;
  width: 46%;
  aspect-ratio: 178/160;
  overflow: hidden;
  text-align: center;
  position: relative;
}
#attraction ul li .attractionImg img {
  position: absolute;
  transform: translate(-50%,-50%);
  top: 50%;
  left: 50%;
  width: 135%;
}
@media screen and (min-width: 750px) {
  #attraction {
    background: url(../img/bg_attraction01.svg) no-repeat left top, url(../img/bg_attraction02.svg) no-repeat right top, url(../img/bg_attraction03.svg) no-repeat left bottom, url(../img/bg_attraction_chara.png) no-repeat right bottom;
    background-size: 20vw, 20vw ,20vw ,20vw;
  }
  #attraction ul {
    width: 1000px;
    margin: 6rem auto 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    text-align: center;
  }
  #attraction ul li {
    display: block;
    width: 46%;
    margin: 0 0 6rem 0;
  }
  #attraction ul li .attractionSet {
    width: 100%;
  }
  #attraction ul li h3 span {
    display: block;
    font-size: 1.6rem;
  }
  #attraction ul li .attractionSet img {
    width: 80%;
    margin: 0.8rem auto 0.5rem auto;
  }
  #attraction ul li .attractionSet p {
    font-size: 1.8rem;
    line-height: 1.4;
    font-weight: 600;
  }
  #attraction ul li .attractionImg {
    width: 100%;
    aspect-ratio: 460/305;
    margin: 1rem 0 0 0;
  }
}
#attraction ul.note {
  margin: 0 auto;
  padding: 0;
}
#attraction ul.note li {
  display: list-item;
  list-style: disc;
  text-align: left;
  margin: 0 0 1rem 1.5rem;
  line-height: 1.2;
}
#attraction ul.note li ul {
  margin: 1rem auto 0 auto;
  width: 100%;
  padding: 0;
}
#attraction ul.note li ul li {
  display: list-item;
  list-style: none;
  text-indent: -1.2rem;
}
@media screen and (min-width: 750px) {
  #attraction ul.note {
    display: block;
    width: 750px;
  }
  #attraction ul.note li {
    width: 100%;
  }
  #attraction ul.note li ul {
    padding: 0;
  }
}

/*------------------------------------------------------------*/
#faq {
  background-color: var(--color-gray01);
  padding: 5rem 0 3rem 0;
}
#faq ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 90%;
  margin: 3rem auto;
}
#faq ul li {
  display: block;
  width: 100%;
  border-bottom: solid 1px var(--color-gray02);
  margin: 0 0 2rem 0;
}
#faq ul li a {
  display: block;
  width: 100%;
  color: var(--color-black01);
  background: url(../img/icon_faq_nav.svg) no-repeat right center;
}
#faq h3 {
  display: block;
  font-size: 2.0rem;
  font-weight: 600;
  border-left: solid 10px var(--color-blue01);
  width: 90%;
  margin: 3rem auto 2rem auto;
  padding: 0 0 0 1rem;
}
#faq div {
  display: block;
  background-color: #fff;
  border-radius: 30px;
  margin: 0 auto 2rem auto;
  padding: 1.5rem 0;
  width: 90%;
}
#faq h4 {
  background: url(../img/icon_faq_q.svg) no-repeat left center, url(../img/icon_faq_open.svg) no-repeat right center;
  background-size: 3rem, 3rem;
  width: 90%;
  margin: 0 auto;
  padding: 0.5rem 3.5rem;
  line-height: 1.2;
  font-size: 1.6rem;
  font-weight: 600;
}
#faq div.acCheck h4 {
  background: url(../img/icon_faq_q.svg) no-repeat left center, url(../img/icon_faq_close.svg) no-repeat right center;
  background-size: 3rem, 3rem;
}
#faq p {
  display: none;
  background: url(../img/icon_faq_a.svg) no-repeat left top;
  width: 90%;
  margin: 1.5rem auto 0 auto;
  padding: 0 0 0 3.5rem;
  line-height: 1.4;
  font-size: 1.6rem;
  font-weight: 400;
}
@media screen and (min-width: 750px) {
  #faq ul {
    width: 750px;
  }
  #faq ul li {
    width: 48%;
  }
  #faq h3 {
    width: 750px;
    font-size: 3.0rem;
    margin: 5rem auto 2rem auto;
  }
  #faq div {
    width: 750px;
  }
}

/*------------------------------------------------------------*/