@charset "UTF-8";
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  box-sizing: border-box;
  list-style: none;
}

body {
  line-height: 1;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  box-sizing: border-box;
  text-decoration: none;
  transition: 0.5s;
}

a:hover {
  opacity: 0.7;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input,
select {
  vertical-align: middle;
}

img {
  width: 100%;
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

button,
input[type=submit] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  border: none;
  outline: none;
  background: transparent;
  cursor: pointer;
}

input {
  box-sizing: border-box;
}

input[type=text] {
  padding: 0;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
}

input[type=radio] {
  display: none;
}

textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  resize: none;
  padding: 0;
  border: 0;
  outline: none;
  background: transparent;
  box-sizing: border-box;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  outline: none;
  background: transparent;
}

select::-ms-expand {
  display: none;
}

select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #828c9a;
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:before,
.slick-track:after {
  content: "";
  display: table;
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}

[dir=rtl] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/* Slider */
.slick-loading .slick-list {
  background: #fff url("./ajax-loader.gif") center center no-repeat;
}

/* Icons */
@font-face {
  font-family: "slick";
  src: url("./fonts/slick.eot");
  src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal;
}

/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none;
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  outline: none;
  background: transparent;
  color: transparent;
}

.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 1;
}

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 0.25;
}

.slick-prev:before,
.slick-next:before {
  font-family: "slick";
  font-size: 20px;
  line-height: 1;
  color: white;
  opacity: 0.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-prev {
  left: -25px;
}

[dir=rtl] .slick-prev {
  left: auto;
  right: -25px;
}

.slick-prev:before {
  content: "←";
}

[dir=rtl] .slick-prev:before {
  content: "→";
}

.slick-next {
  right: -25px;
}

[dir=rtl] .slick-next {
  left: -25px;
  right: auto;
}

.slick-next:before {
  content: "→";
}

[dir=rtl] .slick-next:before {
  content: "←";
}

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px;
}

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%;
}

.slick-dots li {
  position: relative;
  display: inline-block;
  height: 20px;
  width: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}

.slick-dots li button {
  border: 0;
  background: transparent;
  display: block;
  height: 20px;
  width: 20px;
  outline: none;
  line-height: 0px;
  font-size: 0px;
  color: transparent;
  padding: 5px;
  cursor: pointer;
}

.slick-dots li button:hover,
.slick-dots li button:focus {
  outline: none;
}

.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
  opacity: 1;
}

.slick-dots li button:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "•";
  width: 20px;
  height: 20px;
  font-family: "slick";
  font-size: 6px;
  line-height: 20px;
  text-align: center;
  color: black;
  opacity: 0.25;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-dots li.slick-active button:before {
  color: black;
  opacity: 0.75;
}

img {
  max-width: 100%;
}

@media screen and (max-width: 767px) {
  img[src$="_pc.jpg"],
  img[src$="_pc.png"] {
    display: none !important;
  }
}

@media screen and (min-width: 768px) {
  img[src$="_sp.jpg"],
  img[src$="_sp.png"] {
    display: none !important;
  }
}

@media screen and (max-width: 767px) {
  .pc_only {
    display: none !important;
  }
}

@media screen and (min-width: 768px) {
  .sp_only {
    display: none !important;
  }
}

@media screen and (min-width: 768px) {
  html {
    font-size: 0.834vw;
  }
}

@media screen and (min-width: 1201px) {
  html {
    font-size: 10px;
  }
}

@media screen and (max-width: 767px) {
  html {
    font-size: 1.334vw;
  }
}

body {
  padding-top: -76px;
  margin: 0;
  font-weight: 700;
  font-family: "Noto Sans JP", sans-serif;
  color: #002f7b;
}

a {
  color: #002f7b;
  text-decoration: none;
}

a:hover {
  opacity: 0.7;
}

@media screen and (max-width: 767px) {
  header {
    display: flex;
    justify-content: space-between;
  }
}

@media screen and (min-width: 768px) {
  header {
    display: flex;
    justify-content: space-between;
    padding: 2.2rem 0 0 3.7rem;
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  header h1 {
    width: 21.2rem;
    margin: 2.6rem 2.5rem;
  }
}

@media screen and (min-width: 768px) {
  header h1 {
    width: 15rem;
  }
}

@media screen and (min-width: 768px) {
  header .nav__menu {
    font-size: 1.3rem;
    letter-spacing: 0.05em;
  }
  header .nav__menu li {
    padding: 0 2.7rem;
  }
}

@media screen and (max-width: 767px) {
  body.fixed {
    position: fixed;
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .nav__open {
    position: relative;
    z-index: 10;
    cursor: pointer;
    width: 6rem;
    height: 4rem;
    width: 11.4rem;
    height: 11.4rem;
    margin: 2.6rem 2.5rem;
  }
  .nav__open span {
    width: 6rem;
    height: 0.6rem;
    background: #000;
    display: block;
    position: absolute;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    transition: 0.3s;
    right: 0;
    opacity: 1;
  }
  .nav__open span:nth-of-type(1) {
    top: 0;
  }
  .nav__open span:nth-of-type(2) {
    top: 1.6rem;
  }
  .nav__open span:nth-of-type(3) {
    top: 3.2rem;
  }
  .nav__open span:nth-of-type(4) {
    top: 2.6rem;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    opacity: 0;
    background-color: #fff;
  }
  .nav__open span:nth-of-type(5) {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    top: 2.6rem;
    opacity: 0;
    background-color: #fff;
  }
  .nav__open.open {
    width: 11.4rem;
    height: 11.4rem;
    border-color: #0096d6;
    background-color: #0096d6;
    border-radius: 50%;
    margin: -1rem 0 6.2rem;
  }
  .nav__open.open span {
    background-color: #fff;
    margin: 2.6rem 2.5rem;
    transition: 0.3s;
    opacity: 1;
  }
  .nav__open.open span:nth-of-type(1) {
    opacity: 0;
    background-color: #fff;
  }
  .nav__open.open span:nth-of-type(2) {
    opacity: 0;
    background-color: #fff;
  }
  .nav__open.open span:nth-of-type(3) {
    opacity: 0;
    background-color: #fff;
  }
  .nav__open.open span:nth-of-type(4) {
    top: 2.6rem;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .nav__open.open span:nth-of-type(5) {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    top: 2.6rem;
  }
}

@media screen and (max-width: 767px) {
  .nav__menu {
    position: relative;
    z-index: 10;
  }
}

@media screen and (max-width: 767px) {
  .nav__menu ul {
    padding: 9.2rem 6.3rem 19.2rem;
    width: 65rem;
    border-radius: 15px 0 0 15px;
    background-color: #0096d6;
    position: fixed;
    top: 11.9rem;
    left: 75rem;
    transition: 0.3s all ease-out;
    opacity: 0;
  }
}

@media screen and (min-width: 768px) {
  .nav__menu ul {
    display: flex;
  }
}

@media screen and (max-width: 767px) {
  .nav__menu ul li {
    text-align: center;
  }
  .nav__menu ul li:nth-of-type(1),
  .nav__menu ul li:nth-of-type(2),
  .nav__menu ul li:nth-of-type(3) {
    border-bottom: 0.2rem solid #002f7b;
    padding-bottom: 3.8rem;
    margin-bottom: 4.3rem;
  }
}

@media screen and (min-width: 768px) {
  .nav__menu ul li + li {
    border-left: solid 1px #fff;
  }
  .nav__menu ul li:nth-of-type(4) {
    border: none;
  }
}

.nav__menu ul li a {
  color: #fff;
}

@media screen and (max-width: 767px) {
  .nav__menu ul li a {
    display: block;
    font-size: 3.8rem;
    letter-spacing: 0.025em;
  }
}

@media screen and (max-width: 767px) {
  .nav__menu .nav__link-i {
    margin: auto;
    margin-top: 4.9rem;
    width: 23.5rem;
  }
  .nav__menu .nav__link-a {
    margin: auto;
    margin-top: 3rem;
    width: 26.8rem;
  }
  .nav__menu .nav__remove {
    color: #fff !important;
    margin-top: 11.3rem;
  }
}

.nav__menu .accbox__remove span::before,
.nav__menu .accbox__remove span::after {
  background: #fff !important;
}

@media screen and (max-width: 767px) {
  .nav__menu ul.open {
    opacity: 1;
    transition: 0.5s all ease-out;
    width: 65rem;
    left: 10rem;
  }
}

.nav__lay {
  background-color: #000;
  opacity: 0;
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  right: 100%;
}

.nav__lay.open {
  opacity: 0.5;
  left: 0;
  transition: 0.5s all ease-out;
  z-index: 1;
}

.kv {
  background-repeat: no-repeat;
  background-size: contain;
  margin-top: 7.6rem;
  position: relative;
}

@media screen and (min-width: 768px) {
  .kv {
    width: 118rem;
    height: 63.1rem;
    margin: auto;
    margin-top: 3.6rem;
    border-radius: 2rem;
    overflow: hidden;
  }
}

@media screen and (max-width: 767px) {
  .kv {
    background-image: url(../img/kv-bg_sp.png);
    height: 105rem;
  }
}

.kv__out {
  padding-top: 1px;
}

.kv_top {
  position: relative;
}

@media screen and (min-width: 768px) {
  .kv_top {
    height: 100%;
    background: #64d2fa url(../img/kv-img_pc.png) no-repeat 50% 100%;
    background-size: contain;
  }
}

@media screen and (max-width: 767px) {
  .kv_top {
    height: 105.7rem;
    background: #64d2fa url(../img/kv-img_sp.png) no-repeat 50% 100%;
    background-size: contain;
  }
}

.kv_btm {
  position: absolute;
  top: 52.2rem;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 63.4rem;
}

@media screen and (min-width: 768px) {
  .kv__link_cont {
    position: absolute;
    top: 17.5rem;
    right: 9.5rem;
    width: 28.5rem;
  }
}

.kv__link {
  display: flex;
  justify-content: center;
  position: relative;
  z-index: 2;
}

@media screen and (min-width: 768px) {
  .kv__link {
    gap: 1.6rem;
  }
  .kv__link li {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .kv__link li.i {
    width: 12.7rem;
  }
  .kv__link li.c {
    width: 14.2rem;
  }
  .kv__link__href {
    padding-top: 1.2rem;
    text-align: center;
  }
  .kv__link__href a {
    color: #000;
    text-decoration: underline;
  }
}

@media screen and (max-width: 767px) {
  .kv__link {
    padding: 1.2rem 0;
  }
  .kv__link li {
    width: 31.7rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .kv__link li div {
    width: 12rem;
  }
  .kv__link li a {
    width: 18.6rem;
  }
  .kv__link li:first-child {
    width: 30rem;
    border-right: solid 1px #000;
    padding: 0 3rem 0 0;
    margin: 0 2.7rem 0 0;
  }
  .kv__link li:first-child div {
    width: 10.7rem;
    color: #fff;
  }
  .kv__link li:first-child a {
    width: 15rem;
  }
}

.kv__txt {
  position: absolute;
}

@media screen and (min-width: 768px) {
  .kv__txt {
    top: 4.5rem;
    left: 7.3rem;
    width: 73rem;
  }
}

@media screen and (max-width: 767px) {
  .kv__txt {
    top: 5rem;
    left: 0;
    width: 100%;
  }
}

.kv__txt01 {
  position: absolute;
}

@media screen and (min-width: 768px) {
  .kv__txt01 {
    bottom: .8rem;
    left: 20.8rem;
    width: 44.2rem;
    animation: txtAnim 6s cubic-bezier(0.22, 0.71, 0.88, 0.52) infinite;
    animation-delay: 1.6s;
    transform-origin: 50% 100%;
  }
}

@media screen and (max-width: 767px) {
  .kv__txt01 {
    top: 9.5rem;
    left: 4.7rem;
    width: 66.1rem;
    animation: txtAnimSP 6s cubic-bezier(0.22, 0.71, 0.88, 0.52) infinite;
    animation-delay: 1s;
    transform-origin: 50% 50%;
  }
}

.kv__txt02 {
  position: absolute;
}

@media screen and (min-width: 768px) {
  .kv__txt02 {
    bottom: .5rem;
    left: 63.2rem;
    width: 44.2rem;
    animation: txtAnim 6s cubic-bezier(0.22, 0.71, 0.88, 0.52) infinite;
    animation-delay: 2.5s;
    transform-origin: 50% 100%;
  }
}

@media screen and (max-width: 767px) {
  .kv__txt02 {
    top: 25.2rem;
    left: 4.8rem;
    width: 66.2rem;
    animation: txtAnimSP 6s cubic-bezier(0.22, 0.71, 0.88, 0.52) infinite;
    animation-delay: 1.9s;
    transform-origin: 50% 50%;
  }
}

@keyframes txtAnim {
  0% {
    scale: 1 1;
    translate: 0 0;
  }
  1% {
    scale: 1 0.75;
    translate: 0 0;
  }
  2% {
    scale: 1 1;
    translate: 0 0;
  }
  4% {
    scale: 1.1 1.1;
    translate: 0 -4rem;
  }
  8% {
    scale: 1 1;
    translate: 0 0;
  }
  9% {
    scale: 1 0.9;
    translate: 0 0;
  }
  10% {
    scale: 1 1;
    translate: 0 0;
  }
  100% {
    scale: 1;
    translate: 0 0;
  }
}

@keyframes txtAnimSP {
  0% {
    scale: 1 1;
  }
  1% {
    scale: 0.9 0.9;
  }
  4% {
    scale: 1.2 1.2;
  }
  8% {
    scale: 1 1;
  }
  10% {
    scale: 0.95 0.95;
  }
  11% {
    scale: 1 1;
  }
  100% {
    scale: 1;
  }
}

.kv__ttl {
  position: absolute;
}

@media screen and (min-width: 768px) {
  .kv__ttl {
    width: 38rem;
    top: 8.6rem;
    right: 5.5rem;
  }
}

@media screen and (max-width: 767px) {
  .kv__ttl {
    width: 48.2rem;
    top: 42.7rem;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
}

.kv__badge {
  position: absolute;
}

@media screen and (min-width: 768px) {
  .kv__badge {
    bottom: 1rem;
    left: 3rem;
    width: 17.2rem;
    translate: 0 1rem;
    animation: badgeAnim 6s ease-in infinite;
    animation-delay: .8s;
    transform-origin: 50% 100%;
  }
}

@media screen and (max-width: 767px) {
  .kv__badge {
    top: 60.2rem;
    right: 0;
    width: 21.4rem;
    animation: badgeAnimSP 6s cubic-bezier(0.22, 0.71, 0.88, 0.52) infinite;
    animation-delay: 3s;
    transform-origin: 50% 50%;
  }
}

@keyframes badgeAnim {
  0% {
    scale: 1 1;
    translate: 0 0;
  }
  1% {
    scale: 1 0.75;
    translate: 0 0;
  }
  4% {
    scale: 1.05 1.05;
    translate: 0 -3rem;
  }
  8% {
    scale: 1 1;
    translate: 0 0;
  }
  9% {
    scale: 1 0.9;
    translate: 0 0;
  }
  10% {
    scale: 1 1;
    translate: 0 0;
  }
  100% {
    scale: 1;
    translate: 0 0;
  }
}

@keyframes badgeAnimSP {
  0% {
    scale: 1 1;
  }
  1% {
    scale: 0.9 0.9;
  }
  4% {
    scale: 1.1 1.1;
  }
  8% {
    scale: 1 1;
  }
  9% {
    scale: 0.95 0.95;
  }
  10% {
    scale: 1 1;
  }
  100% {
    scale: 1;
    translate: 0 0;
  }
}

.kv__img_suiteki {
  position: absolute;
  bottom: 0;
}

@media screen and (min-width: 768px) {
  .kv__img_suiteki {
    left: 33.4rem;
    width: 37.6rem;
  }
}

@media screen and (max-width: 767px) {
  .kv__img_suiteki {
    left: 1.2rem;
    width: 31.8rem;
  }
}

.kv__img_mizutama {
  position: absolute;
  bottom: 0;
}

@media screen and (min-width: 768px) {
  .kv__img_mizutama {
    right: 0;
    width: 30.3rem;
  }
}

@media screen and (max-width: 767px) {
  .kv__img_mizutama {
    right: 0;
    width: 27.5rem;
  }
}

.kv__img {
  position: absolute;
  bottom: 0;
}

@media screen and (min-width: 768px) {
  .kv__img {
    left: 64.6rem;
    width: 35rem;
  }
}

@media screen and (max-width: 767px) {
  .kv__img {
    left: 28.6rem;
    width: 31.4rem;
  }
}

/*アニメーション用CSS*/
.updown {
  animation-name: UpDown;
  animation-duration: 1.5s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
  animation-direction: alternate;
}

.updown01 {
  animation-name: UpDown01;
  animation-duration: 1.5s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
  animation-direction: alternate;
}

/* アニメーションの設定 */
@keyframes UpDown {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(1rem);
  }
}

@keyframes UpDown01 {
  0% {
    transform: translateY(7px);
  }
  100% {
    transform: translateY(0);
  }
}

.bg__white {
  background: #fff;
  position: relative;
}

.bg__white-top::after {
  position: absolute;
  left: 0;
  content: "";
  display: block;
  width: 100%;
  background: url(../img/white.png) repeat-x left bottom;
  background-size: auto 100%;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .bg__white-top::after {
    top: -0.95%;
    height: 1%;
  }
}

@media screen and (min-width: 768px) {
  .bg__white-top::after {
    top: -1.733%;
    height: 1.867%;
  }
}

@media screen and (max-width: 767px) {
  .bg__white-top.bg__white-cm::after {
    top: -0.52%;
    height: 0.534%;
  }
}

@media screen and (min-width: 768px) {
  .bg__white-top.bg__white-cm::after {
    top: -0.6%;
    height: 0.65%;
  }
}

.bg__white-bottom::after {
  position: absolute;
  left: 0;
  content: "";
  display: block;
  width: 100%;
  background: url(../img/white.png) repeat-x left bottom;
  background-size: auto 100%;
  -webkit-transform: scaleY(-1);
  transform: scaleY(-1);
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .bg__white-bottom::after {
    bottom: -0.95%;
    height: 1%;
  }
}

@media screen and (min-width: 768px) {
  .bg__white-bottom::after {
    bottom: -1.733%;
    height: 1.867%;
  }
}

@media screen and (max-width: 767px) {
  .bg__white-bottom.bg__white-cm::after {
    bottom: -0.506%;
    height: 0.534%;
  }
}

@media screen and (min-width: 768px) {
  .bg__white-bottom.bg__white-cm::after {
    bottom: -0.6%;
    height: 0.65%;
  }
}

.bg__bule {
  background-repeat: no-repeat !important;
}

@media screen and (max-width: 767px) {
  .bg__bule {
    background-size: contain !important;
    background: url(../img/bg.png), linear-gradient(-30deg, #00348a 19%, #00a3e5 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#00A4E6", endColorstr="#00348B", GradientType=1);
  }
}

@media screen and (min-width: 768px) {
  .bg__bule {
    background-size: 100% !important;
    background: url(../img/bg_pc.png), -ms-linear-gradient(-30deg, #00a4e6 19.22%, #009ee1 32.01%, #008ed4 48.76%, #0073be 67.7%, #004da0 88.1%, #00348b 100%);
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#00A4E6', endColorstr='#00348B' ,GradientType=0)";
    background: url(../img/bg_pc.png), linear-gradient(120deg, #00a4e6 19.22%, #009ee1 32.01%, #008ed4 48.76%, #0073be 67.7%, #004da0 88.1%, #00348b 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#00A4E6", endColorstr="#00348B", GradientType=1);
  }
}

.bg__bule-02 {
  background-repeat: no-repeat !important;
}

@media screen and (max-width: 767px) {
  .bg__bule-02 {
    background-size: contain !important;
    background: url(../img/bg.png), -ms-linear-gradient(-30deg, #00a4e6 19.22%, #009ee1 32.01%, #008ed4 48.76%, #0073be 67.7%, #004da0 88.1%, #00348b 100%);
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#00A4E6', endColorstr='#00348B' ,GradientType=0)";
    background: url(../img/bg.png), linear-gradient(120deg, #00a4e6 19.22%, #009ee1 32.01%, #008ed4 48.76%, #0073be 67.7%, #004da0 88.1%, #00348b 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#00A4E6", endColorstr="#00348B", GradientType=1);
  }
}

@media screen and (min-width: 768px) {
  .bg__bule-02 {
    background-size: 100% !important;
    background: url(../img/bg02_pc.png), -ms-linear-gradient(-30deg, #00a4e6 19.22%, #009ee1 32.01%, #008ed4 48.76%, #0073be 67.7%, #004da0 88.1%, #00348b 100%);
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#00A4E6', endColorstr='#00348B' ,GradientType=0)";
    background: url(../img/bg02_pc.png), linear-gradient(120deg, #00a4e6 19.22%, #009ee1 32.01%, #008ed4 48.76%, #0073be 67.7%, #004da0 88.1%, #00348b 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#00A4E6", endColorstr="#00348B", GradientType=1);
  }
}

.bnr {
  background-color: rgba(255, 255, 255, 0.5);
  width: 100vw;
  height: 11rem;
}

.bnr__txt {
  margin-top: 2rem;
}

.bnr a {
  opacity: 1;
}

/*リンクの形状*/
/*リンクを右下に固定*/
#page-top {
  position: fixed;
  bottom: 0;
  z-index: 2;
  /*はじめは非表示*/
  -webkit-transform: translateY(100px);
  transform: translateY(100px);
}

/*　上に上がる動き　*/
#page-top.UpMove {
  -webkit-animation: UpAnime 0.5s forwards;
  animation: UpAnime 0.5s forwards;
}

@-webkit-keyframes UpAnime {
  from {
    -webkit-transform: translateY(14rem);
    transform: translateY(14rem);
  }
  to {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes UpAnime {
  from {
    -webkit-transform: translateY(14rem);
    transform: translateY(14rem);
  }
  to {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

/*　下に下がる動き　*/
#page-top.DownMove {
  -webkit-animation: DownAnime 0.5s forwards;
  animation: DownAnime 0.5s forwards;
}

@-webkit-keyframes DownAnime {
  from {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  to {
    -webkit-transform: translateY(14rem);
    transform: translateY(14rem);
  }
}

@keyframes DownAnime {
  from {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  to {
    -webkit-transform: translateY(14rem);
    transform: translateY(14rem);
  }
}

/*検証のためのCSS*/
.section__inner {
  margin: auto;
}

@media screen and (max-width: 767px) {
  .section__inner {
    max-width: 70rem;
    padding-top: 15.3rem;
  }
}

@media screen and (min-width: 768px) {
  .section__inner {
    max-width: 100rem;
    padding-top: 4.7rem;
  }
}

.section__ttl {
  margin: auto;
}

@media screen and (max-width: 767px) {
  .section__ttl {
    width: 55rem;
  }
}

@media screen and (min-width: 768px) {
  .section__ttl {
    width: 48rem;
  }
}

@media screen and (max-width: 767px) {
  .section__ttl + section {
    margin-top: 2rem;
  }
}

.btn {
  font-weight: bold;
  text-align: center;
  display: block;
  margin: auto;
  background: #e9528e;
  border: solid 1px #e9528e;
  border-radius: 30px;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .btn {
    margin-top: 13.8rem;
    padding: 2.2rem 0;
    width: 45.8rem;
    font-size: 3rem;
  }
}

@media screen and (min-width: 768px) {
  .btn {
    margin-top: 7.1rem;
    padding: 1.7rem 0;
    width: 31rem;
    font-size: 2rem;
    letter-spacing: 0.1em;
  }
}

.btn__link {
  color: #002f7b;
  border: solid 1px #002f7b;
  background: #fff;
}

@media screen and (max-width: 767px) {
  .btn__link {
    margin-top: 9.1rem;
    width: 42.2rem;
  }
}

@media screen and (min-width: 768px) {
  .btn__link {
    margin-top: 4rem;
    margin-right: 0;
    line-height: 1;
    padding: 0.8rem 0;
    font-size: 1.4rem;
    width: 21.7rem;
  }
}

.btn__link p {
  position: relative;
}

.btn__link p::after {
  content: "";
  fill: #002f7b;
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

@media screen and (max-width: 767px) {
  .btn__link p::after {
    background-image: url(../img/btn-icon_sp.svg);
    width: 3.5rem;
    height: 2.6rem;
    top: 50%;
    right: 3rem;
  }
}

@media screen and (min-width: 768px) {
  .btn__link p::after {
    background-image: url(../img/btn-icon_pc.svg);
    width: 1rem;
    height: 1.2rem;
    top: 50%;
    right: 0.7rem;
  }
}

@media screen and (max-width: 767px) {
  .about {
    padding-bottom: 11.8rem;
  }
}

@media screen and (min-width: 768px) {
  .about {
    padding-bottom: 11.8rem;
  }
}

@media screen and (max-width: 767px) {
  .about .section__inner {
    padding-top: 6.4rem;
  }
}

@media screen and (max-width: 767px) {
  .about .section__ttl {
    width: 60rem;
  }
}

@media screen and (min-width: 768px) {
  .about .section__ttl {
    width: 57rem;
  }
}

.about ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .about ul {
    margin-top: 1.6rem;
  }
}

@media screen and (min-width: 768px) {
  .about ul {
    flex-wrap: nowrap;
    margin-top: 1rem;
  }
}

.about ul li {
  background: #fff;
  border-radius: 15px;
}

@media screen and (max-width: 767px) {
  .about ul li {
    width: 34.5rem;
    padding: 3.6rem 0 3.1rem;
  }
  .about ul li:nth-child(n+3) {
    margin-top: 1rem;
  }
}

@media screen and (min-width: 768px) {
  .about ul li {
    width: 23.8rem;
    padding: 2.3rem 0 2.4rem;
  }
}

.about ul li img {
  margin: auto;
  display: block;
}

@media screen and (max-width: 767px) {
  .about ul li img:nth-child(1) {
    width: 24.5rem;
  }
  .about ul li img:nth-child(2) {
    width: 26.1rem;
  }
  .about ul li img:nth-child(3),
  .about ul li img:nth-child(4) {
    width: 25.8rem;
  }
}

@media screen and (min-width: 768px) {
  .about ul li img:nth-child(1) {
    width: 14.2rem;
  }
  .about ul li img:nth-child(2) {
    width: 15.2rem;
  }
  .about ul li img:nth-child(3),
  .about ul li img:nth-child(4) {
    width: 14.9rem;
  }
}

@media screen and (max-width: 767px) {
  .campaign {
    padding: 9rem 0;
  }
}

@media screen and (min-width: 768px) {
  .campaign {
    padding: 8rem 0;
  }
}

@media screen and (max-width: 767px) {
  .campaign .section__ttl {
    width: 75rem;
  }
}

@media screen and (min-width: 768px) {
  .campaign .section__ttl {
    width: 96.5rem;
  }
}

@media screen and (max-width: 767px) {
  .campaign .section__ttl-car {
    width: 60.4rem;
    margin: -12.2rem 1rem -0.3rem auto;
  }
}

@media screen and (min-width: 768px) {
  .campaign .section__ttl-car {
    margin: -7.8rem -4.3rem -0.3rem auto;
    width: 74.2rem;
  }
}

@media screen and (max-width: 767px) {
  .campaign .section__ttl-carInner {
    margin: auto;
    max-width: 64rem;
  }
}

@media screen and (min-width: 768px) {
  .campaign .section__ttl-carInner {
    margin: auto;
    max-width: 80rem;
  }
}

.campaign__txt {
  text-align: center;
  font-weight: 400;
}

@media screen and (max-width: 767px) {
  .campaign__txt {
    font-size: 3rem;
    line-height: 1.734em;
    margin-top: 3.6rem;
  }
}

@media screen and (min-width: 768px) {
  .campaign__txt {
    font-size: 1.8rem;
    line-height: 1.667em;
    margin-top: 2.4rem;
    letter-spacing: 0.025em;
  }
}

.campaign__txt span {
  display: block;
}

@media screen and (max-width: 767px) {
  .campaign__txt span {
    font-size: 2.2rem;
    line-height: 1.637em;
    margin-top: 0.7rem;
  }
}

@media screen and (min-width: 768px) {
  .campaign__txt span {
    font-size: 1.2rem;
    line-height: 1.75em;
    margin-top: 0.4rem;
  }
}

.campaign__inner {
  margin: auto;
}

@media screen and (max-width: 767px) {
  .campaign__inner {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .campaign__inner {
    width: 102rem;
  }
}

.campaign .slider {
  margin: auto;
}

@media screen and (max-width: 767px) {
  .campaign .slider {
    margin-top: 6.1rem;
  }
  .campaign .slider img {
    padding-left: 3px;
    padding-right: 3px;
  }
}

@media screen and (min-width: 768px) {
  .campaign .slider div ul {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 4.1rem 0 4.4rem;
  }
  .campaign .slider div img {
    width: 31.4rem;
  }
}

@media screen and (max-width: 767px) {
  .campaign .slider .slick-dots {
    bottom: -6.8rem;
  }
}

@media screen and (min-width: 768px) {
  .campaign .slider .slick-dots {
    bottom: -4.6rem;
  }
}

@media screen and (max-width: 767px) {
  .how {
    width: 58rem;
    margin: 8.2rem auto 0;
  }
  .how__cont {
    padding-top: 3.5rem;
  }
  .how__ttl {
    padding: 1.3rem 2.4rem;
    font-size: 3.4rem;
    border-top: 1px solid #002f7b;
    border-bottom: 1px solid #002f7b;
  }
  .how__lead {
    margin-top: 2rem;
    font-size: 2.6rem;
    font-weight: 500;
    line-height: calc(42/26*1em);
    color: #002f7b;
    text-align: justify;
  }
  .how__link {
    padding-top: 3rem;
    font-weight: 500;
    word-wrap: break-word;
  }
  .how__link span {
    color: #000;
    font-size: 2.2rem;
    line-height: calc(34/22*1em);
  }
  .how__link a {
    font-size: 2.4rem;
    text-decoration: underline;
    line-height: calc(34/22*1em);
  }
}

@media screen and (min-width: 768px) {
  .how {
    width: 93rem;
    margin: 6.2rem auto 0;
  }
  .how__inner {
    display: flex;
  }
  .how__img {
    flex-shrink: 0;
    width: 44rem;
    margin-right: 4.5rem;
  }
  .how__cont {
    padding-top: 1.2rem;
  }
  .how__ttl {
    padding: 1.3rem 2rem;
    font-size: 2.3rem;
    border-top: 1px solid #002f7b;
    border-bottom: 1px solid #002f7b;
  }
  .how__lead {
    margin-top: 1rem;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: calc(30/18*1em);
    color: #002f7b;
    text-align: justify;
  }
  .how__link {
    padding-top: 2rem;
    font-weight: 500;
  }
  .how__link span {
    margin-right: 1.5rem;
    color: #000;
    font-size: 1.3rem;
    line-height: calc(34/22*1em);
  }
  .how__link a {
    font-size: 1.4rem;
    text-decoration: underline;
    line-height: calc(34/22*1em);
  }
}

.present {
  color: #e9528e;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .present {
    padding: 4.8rem 0 6.2rem;
  }
}

@media screen and (min-width: 768px) {
  .present {
    padding: 1.2rem 1.8rem 1.1rem 3.7rem;
    width: 39.2rem;
  }
}

.present__ttl {
  letter-spacing: 0.005em;
}

@media screen and (max-width: 767px) {
  .present__ttl {
    border-bottom: solid 2px #e9528e;
    font-size: 3.4rem;
    padding-bottom: 1.5rem;
    margin-bottom: 2.5rem;
  }
}

@media screen and (min-width: 768px) {
  .present__ttl {
    border-bottom: solid 2.5px #e9528e;
    font-size: 2.1rem;
    line-height: 1.143em;
    padding-bottom: 1.1rem;
    margin-bottom: 1.8rem;
  }
}

@media screen and (max-width: 767px) {
  .present__goods {
    border-bottom: solid 2px #e9528e;
    font-size: 3.8rem;
    line-height: 1.158em;
    padding-bottom: 3.1rem;
    margin-bottom: 1.4rem;
  }
  .present__goods span {
    font-size: 3rem;
    line-height: 1.634em;
  }
}

@media screen and (min-width: 768px) {
  .present__goods {
    border-bottom: solid 2.5px #e9528e;
    font-size: 2.5rem;
    line-height: 1.2em;
    padding-bottom: 1.1rem;
    margin-bottom: 1.8rem;
  }
  .present__goods span {
    font-size: 1.9rem;
    line-height: 1.685em;
  }
}

.present__kikan {
  color: #000;
  font-weight: 400;
  letter-spacing: 0.005em;
}

@media screen and (max-width: 767px) {
  .present__kikan {
    font-size: 2.6rem;
    line-height: 1.462em;
  }
}

@media screen and (min-width: 768px) {
  .present__kikan {
    font-size: 1.6rem;
    line-height: 1.438em;
  }
}

.present__btn {
  color: #fff;
  border-color: #e9528e;
  background: #e9528e;
}

@media screen and (max-width: 767px) {
  .present__btn {
    padding: 0.9rem 0;
    width: 52.8rem;
  }
}

@media screen and (min-width: 768px) {
  .app .section__inner {
    padding: 18.5rem 0 11.3rem;
  }
}

@media screen and (max-width: 767px) {
  .app .section__inner {
    padding: 16.5rem 0 13rem;
  }
}

.app__section {
  width: 100%;
}

@media screen and (max-width: 767px) {
  .app__section {
    background: #fff;
    border-radius: 15px;
  }
}

@media screen and (max-width: 767px) {
  .app__section {
    padding-bottom: 3.7rem;
  }
}

@media screen and (min-width: 768px) {
  .app__section {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}

.app__section section {
  position: relative;
}

@media screen and (max-width: 767px) {
  .app__section section {
    padding: 4.3rem 0 5.7rem;
  }
}

@media screen and (min-width: 768px) {
  .app__section section {
    background: #fff;
    border-radius: 15px;
    width: 100%;
    padding: 3rem 0 3.9rem;
  }
  .app__section section:not(:first-child) {
    width: 49.5rem;
    margin-top: 1rem;
    padding: 5.2rem 3.7rem 4rem 5rem;
  }
}

.app__section section .character__leftC {
  position: absolute;
}

@media screen and (max-width: 767px) {
  .app__section section .character__leftC {
    width: 35.2rem;
    height: 12.2rem;
    bottom: -9rem;
    right: 16rem;
  }
}

@media screen and (min-width: 768px) {
  .app__section section .character__leftC {
    width: 17.9rem;
    height: 20.3rem;
    bottom: 16.7rem;
    left: -2.1rem;
  }
}

.app__section section .character__left {
  position: absolute;
  z-index: 2;
  -webkit-animation: fluffy1 4s ease infinite;
  animation: fluffy1 4s ease infinite;
}

@media screen and (max-width: 767px) {
  .app__section section .character__left {
    width: 19.8rem;
    height: 19.3rem;
    bottom: 2.6rem;
    left: -2.1rem;
  }
}

@media screen and (min-width: 768px) {
  .app__section section .character__left {
    width: 12.8rem;
    height: 15.1rem;
    bottom: 2.6rem;
    left: 3.3rem;
  }
  .app__section section .character__left-03 {
    left: 5.2rem;
    width: 11.4rem;
    height: 14.9rem;
  }
}

.app__section section .character__rightC {
  position: absolute;
}

@media screen and (max-width: 767px) {
  .app__section section .character__rightC {
    width: 35.2rem;
    height: 12.2rem;
    bottom: -9rem;
    right: 16rem;
  }
}

@media screen and (min-width: 768px) {
  .app__section section .character__rightC {
    width: 17.9rem;
    height: 20.3rem;
    bottom: 16.7rem;
    right: -2.3rem;
  }
  .app__section section .character__rightC-04 {
    bottom: 12.3rem;
  }
}

.app__section section .character__right {
  position: absolute;
  z-index: 2;
  -webkit-animation: fluffy2 4s ease infinite;
  animation: fluffy2 4s ease infinite;
}

@media screen and (max-width: 767px) {
  .app__section section .character__right {
    width: 16.2rem;
    height: 19rem;
    bottom: -25rem;
    right: 6.1rem;
  }
  .app__section section .character__right-02 {
    bottom: -25rem;
    right: 6.1rem;
    width: 19.2rem;
    height: 18.7rem;
  }
  .app__section section .character__right-03 {
    bottom: -25rem;
    right: 6.1rem;
    width: 12.6rem;
    height: 20.3rem;
  }
  .app__section section .character__right-04 {
    width: 17.9rem;
    height: 18.7rem;
  }
}

@media screen and (min-width: 768px) {
  .app__section section .character__right {
    width: 15.4rem;
    height: 15rem;
    bottom: 2.6rem;
    right: -2.3rem;
  }
  .app__section section .character__right-02 {
    right: 5.7rem;
    width: 14.6rem;
    height: 14.8rem;
  }
  .app__section section .character__right-04 {
    right: 12.5rem;
    width: 14.2rem;
    height: 14.8rem;
  }
}

@-webkit-keyframes fluffy1 {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  5% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  75% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  85% {
    -webkit-transform: translateY(-15px);
    transform: translateY(-15px);
  }
  90% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  95% {
    -webkit-transform: translateY(-15px);
    transform: translateY(-15px);
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes fluffy1 {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  5% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  75% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  85% {
    -webkit-transform: translateY(-15px);
    transform: translateY(-15px);
  }
  90% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  95% {
    -webkit-transform: translateY(-15px);
    transform: translateY(-15px);
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@-webkit-keyframes fluffy2 {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  5% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  75% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  85% {
    -webkit-transform: translateY(-15px);
    transform: translateY(-15px);
  }
  90% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  95% {
    -webkit-transform: translateY(-15px);
    transform: translateY(-15px);
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes fluffy2 {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  5% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  75% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  85% {
    -webkit-transform: translateY(-15px);
    transform: translateY(-15px);
  }
  90% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  95% {
    -webkit-transform: translateY(-15px);
    transform: translateY(-15px);
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

.app__section .slider {
  margin: auto;
}

@media screen and (max-width: 767px) {
  .app__section .slider {
    margin-top: 7.6rem;
    width: 44.7rem;
  }
}

@media screen and (min-width: 768px) {
  .app__section .slider {
    margin-top: 0.5rem;
    width: 40.1rem;
  }
}

.app__section .slider img {
  margin: auto;
}

@media screen and (min-width: 768px) {
  .app__section .slider img {
    width: 29.8rem;
  }
}

@media screen and (min-width: 768px) {
  .app__section:nth-of-type(1) > section {
    margin-top: 1.3rem;
  }
  .app__section:nth-of-type(1) .app__ttl {
    width: 91.8rem;
  }
  .app__section:nth-of-type(1) .app__txt-01 {
    width: 49rem;
  }
}

@media screen and (max-width: 767px) {
  .app__section:nth-of-type(1) .app__ttl {
    width: 58.4rem;
  }
  .app__section:nth-of-type(1) .app__txt-01 {
    margin-top: 26.5rem;
    width: 60.4rem;
  }
}

@media screen and (min-width: 768px) {
  .app__section:nth-of-type(2) {
    margin-top: 14.9rem;
  }
  .app__section:nth-of-type(2) .app__ttl {
    width: 88.7rem;
  }
  .app__section:nth-of-type(2) .app__txt-01 {
    width: 49rem;
  }
  .app__section:nth-of-type(2) .accbox li {
    line-height: 1.938em;
  }
}

@media screen and (max-width: 767px) {
  .app__section:nth-of-type(2) {
    margin-top: 17.9rem;
  }
  .app__section:nth-of-type(2) .app__ttl {
    width: 58.7rem;
  }
  .app__section:nth-of-type(2) .app__txt-01 {
    margin-top: 26.5rem;
  }
  .app__section:nth-of-type(2) .app__txt-01 img {
    width: 58.2rem;
  }
}

@media screen and (min-width: 768px) {
  .app__section:nth-of-type(3) {
    margin-top: 14.9rem;
  }
  .app__section:nth-of-type(3) .app__ttl {
    width: 82.8rem;
  }
  .app__section:nth-of-type(3) .app__txt-01 {
    width: 49.3rem;
  }
  .app__section:nth-of-type(3) .accbox li {
    font-weight: bold;
  }
  .app__section:nth-of-type(3) .accbox li:nth-of-type(2),
  .app__section:nth-of-type(3) .accbox li:nth-of-type(3) {
    margin-top: 2.4rem;
  }
  .app__section:nth-of-type(3) .accbox li span {
    font-weight: 400;
  }
}

@media screen and (max-width: 767px) {
  .app__section:nth-of-type(3) {
    margin-top: 17.9rem;
  }
  .app__section:nth-of-type(3) .accbox {
    width: 56.6rem;
  }
  .app__section:nth-of-type(3) .accbox li {
    line-height: 1.429em;
    font-weight: bold;
  }
  .app__section:nth-of-type(3) .accbox li:nth-of-type(2),
  .app__section:nth-of-type(3) .accbox li:nth-of-type(3) {
    margin-top: 4.1rem;
  }
  .app__section:nth-of-type(3) .accbox li span {
    font-weight: 400;
    font-size: 2.2rem;
  }
  .app__section:nth-of-type(3) .app__ttl {
    width: 55.5rem;
  }
  .app__section:nth-of-type(3) .app__txt-01 {
    margin-top: 26.5rem;
    width: 59.2rem;
  }
}

.app__section:nth-of-type(4) {
  margin-top: 14.9rem;
}

@media screen and (min-width: 768px) {
  .app__section:nth-of-type(4) .app__ttl {
    width: 67.2rem;
  }
  .app__section:nth-of-type(4) .app__txt-01 {
    width: 53.6rem;
    margin-left: 14.4rem;
    padding: 0 2rem 0;
  }
}

@media screen and (max-width: 767px) {
  .app__section:nth-of-type(4) {
    margin-top: 17.9rem;
  }
  .app__section:nth-of-type(4) .app__ttl {
    width: 62.6rem;
    border-bottom: solid 1px #002f7b;
    padding: 0 9.2rem 6.1rem 1.3rem;
  }
  .app__section:nth-of-type(4) .app__txt-01 {
    width: 53.2rem;
  }
}

@media screen and (max-width: 767px) {
  .app__section-04 {
    height: 230.7rem;
  }
}

@media screen and (min-width: 768px) {
  .app__section-04 .slider .slick-next::after {
    right: 0;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .app__section-04 .slider .slick-prev::after {
    left: 81px;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
  }
}

@media screen and (max-width: 767px) {
  .app__section-04 .slider {
    margin-top: 4.3rem;
    width: 57rem;
    /* prev */
  }
  .app__section-04 .slider img {
    margin: auto;
    margin-top: 5.8rem;
    width: 31.4rem;
  }
  .app__section-04 .slider .slick-dots {
    bottom: -7.7rem;
  }
  .app__section-04 .slider .slick-next {
    right: 0px;
  }
  .app__section-04 .slider .slick-next::after {
    right: 0;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .app__section-04 .slider .slick-prev {
    left: 0;
  }
  .app__section-04 .slider .slick-prev::after {
    left: 0px;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
  }
}

@media screen and (max-width: 767px) {
  .app__section-04 .app__newsTtl {
    font-weight: 400;
    font-size: 2.8rem;
    margin: 0 auto 0 5.7rem;
    margin-top: 26.5rem;
  }
}

@media screen and (min-width: 768px) {
  .app__section-04 .app__newsTtl {
    color: #fff;
    font-size: 1.9rem;
    margin: 2.6rem auto 1rem;
  }
}

@media screen and (min-width: 768px) {
  .app__section-04 .app__news {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 1.2rem;
  }
  .app__section-04 .app__news > ul {
    border-radius: 15px;
    border: solid 1px #fff;
    background-color: #fff;
  }
  .app__section-04 .app__news > ul li {
    height: 60rem;
    padding: 4rem 4.7rem 0 4.7rem;
  }
  .app__section-04 .app__news > ul img {
    width: 18.2rem;
    display: block;
    margin: auto;
    margin-top: 4.3rem;
  }
}

@media screen and (max-width: 767px) {
  .app__section-04 .app__news .app__slide-ttl {
    text-align: center;
    margin: auto;
    font-size: 3.8rem;
    line-height: 1.527em;
    letter-spacing: 0.025em;
    border: solid 1px #002f7b;
    width: 54rem;
    height: 20.2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .app__section-04 .app__news .app__slide-ttl:nth-of-type(2) {
    line-height: 1.369em;
  }
  .app__section-04 .app__news .app__slide-ttl span {
    font-size: 2.8rem;
    line-height: 1.429em;
  }
}

@media screen and (min-width: 768px) {
  .app__section-04 .app__news .app__slide-ttl {
    text-align: center;
    margin: auto;
    font-size: 2rem;
    line-height: 1.5em;
    border-bottom: solid 1px #002f7b;
    padding-bottom: 0.9rem;
    height: 6.2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .app__section-04 .app__news .app__slide-ttl span {
    font-size: 1.6rem;
    line-height: 1.875em;
  }
}

@media screen and (max-width: 767px) {
  .app__section-04 .app__news .app__slide-txt {
    margin: 7.5rem auto 0;
    font-weight: 400;
    font-size: 2.6rem;
    line-height: 1.693em;
    width: 54rem;
  }
}

@media screen and (min-width: 768px) {
  .app__section-04 .app__news .app__slide-txt {
    font-weight: 400;
    font-size: 1.5rem;
    line-height: 1.734em;
    padding-top: 3.9rem;
  }
  .app__section-04 .app__news .app__slide-txt span {
    font-size: 1.1rem;
    line-height: 2.364em;
    display: inline-block;
  }
}

@media screen and (max-width: 767px) {
  .app__ttl {
    margin: 0 auto 0 4.4rem;
  }
}

@media screen and (min-width: 768px) {
  .app__ttl {
    margin: 0 auto 0 3.2rem;
  }
}

@media screen and (max-width: 767px) {
  .app__txt-01 {
    margin: 0 auto 0 5.7rem;
  }
}

@media screen and (min-width: 768px) {
  .app__txt-02 {
    padding-left: 3.3rem !important;
    padding-right: 6rem !important;
  }
  .app_pay_img {
    width: 28.6rem;
  }
}

@media screen and (max-width: 767px) {
  .app_pay_img {
    width: 44.8rem;
  }
}

@media screen and (min-width: 768px) {
  .app__txt-03 {
    padding-left: 3.3rem !important;
    padding-right: 4.5rem !important;
  }
}

@media screen and (max-width: 767px) {
  .accbox {
    width: 63.1rem;
    margin: auto;
  }
}

@media screen and (min-width: 768px) {
  .accbox {
    font-size: 1.6rem;
    line-height: 2.375em;
  }
}

.accbox ul {
  font-weight: 400;
}

.accbox ul li {
  margin-left: 20px;
  list-style-type: disc;
}

@media screen and (max-width: 767px) {
  .accbox ul li {
    font-size: 2.7rem;
    line-height: 1.778em;
  }
}

@media screen and (min-width: 768px) {
  .accbox ul li {
    font-size: 1.6rem;
    line-height: 1.75em;
  }
}

.accbox ul li span {
  display: inline-block;
}

@media screen and (max-width: 767px) {
  .accbox ul li span {
    font-size: 2.2rem;
    line-height: 1.728em;
  }
}

@media screen and (min-width: 768px) {
  .accbox ul li span {
    font-size: 1.4rem;
    line-height: 1.715em;
  }
}

@media screen and (min-width: 768px) {
  .accbox ul li span:not(:first-child) {
    margin-top: 0.4rem;
  }
}

@media screen and (max-width: 767px) {
  .accbox ul li .small {
    font-size: 1.9rem;
    line-height: 1.632em;
  }
}

@media screen and (min-width: 768px) {
  .accbox ul li .small {
    font-size: 1.1rem;
    line-height: 1.637em;
  }
}

@media screen and (max-width: 767px) {
  .accbox .list-none {
    padding: 3.9rem 2rem;
  }
}

.accbox .list-none li {
  margin-left: 0;
  list-style-type: none;
}

.accbox .list-none li:first-child {
  margin-top: 1rem;
  margin-bottom: 0.5rem;
}

@media screen and (max-width: 767px) {
  .accbox .list-none li:first-child {
    margin-top: 0;
    margin-bottom: 7.4rem;
  }
}

.accbox .list-none li:first-child img {
  margin-top: 0.8rem;
}

@media screen and (max-width: 767px) {
  .accbox .list-none li:first-child img {
    margin-top: 1.4rem;
  }
}

.accbox .list-none li span {
  margin-bottom: 1rem;
}

@media screen and (max-width: 767px) {
  .accbox .list-none li span {
    margin-bottom: 0;
    margin-top: 3rem;
  }
}

.accbox .list-none li .small {
  margin-bottom: 0;
}

@media screen and (max-width: 767px) {
  .accbox .list-none li .small {
    margin-top: 1rem;
  }
}

@media screen and (max-width: 767px) {
  .accbox ol {
    margin: 3.8rem 5.1rem 10.2rem 2.1rem;
  }
}

@media screen and (min-width: 768px) {
  .accbox ol {
    margin-top: 1rem;
  }
}

.accbox ol li {
  font-weight: 400;
  margin-left: 20px;
  list-style-type: decimal;
}

.accbox ol li::marker {
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .accbox ol li {
    font-size: 2.7rem;
    line-height: 2.371em;
  }
}

@media screen and (min-width: 768px) {
  .accbox ol li {
    font-size: 1.6rem;
    line-height: 2.375em;
  }
}

.accbox ol li span {
  display: inline-block;
}

@media screen and (max-width: 767px) {
  .accbox ol li span {
    font-size: 2.2rem;
    line-height: 1.728em;
  }
}

@media screen and (min-width: 768px) {
  .accbox ol li span {
    font-size: 1.3rem;
    line-height: 1.693em;
  }
}

@media screen and (max-width: 767px) {
  .accbox ol li .small {
    font-size: 1.9rem;
    line-height: 1.632em;
  }
}

@media screen and (min-width: 768px) {
  .accbox ol li .small {
    font-size: 1.1rem;
    line-height: 1.637em;
  }
}

@media screen and (max-width: 767px) {
  .accbox dt {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .accbox dt {
    display: block;
  }
}

.accbox dd {
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .accbox dd {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: solid 1px #002f7b;
    font-size: 2.8rem;
    padding: 3rem 4.3rem 3rem 3.6rem;
  }
  .accbox dd span {
    display: inline-block;
    position: relative;
  }
  .accbox dd span::before,
  .accbox dd span::after {
    position: absolute;
    content: "";
    display: block;
    transition: all 0.4s;
    background: #002f7b;
    left: 50%;
    top: 50%;
    width: 3rem;
    height: 0.4rem;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .accbox dd span::before {
    -webkit-transform: translate(-50%, -50%) rotate(90deg);
    transform: translate(-50%, -50%) rotate(90deg);
  }
  .accbox dd.active span::before {
    -webkit-transform: translate(-50%, -50%) rotate(0deg);
    transform: translate(-50%, -50%) rotate(0deg);
  }
}

@media screen and (max-width: 767px) {
  .accbox__remove {
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 400;
    margin-top: 8.4rem;
    font-size: 2.6rem;
  }
  .accbox__remove span {
    display: inline-block;
    position: relative;
    margin-right: 2.5rem;
  }
  .accbox__remove span::before,
  .accbox__remove span::after {
    position: absolute;
    content: "";
    display: block;
    transition: all 0.4s;
    background: #002f7b;
    left: 50%;
    top: 50%;
    width: 2.8rem;
    height: 0.2rem;
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
    transform: translate(-50%, -50%) rotate(-45deg);
  }
  .accbox__remove span::before {
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
    transform: translate(-50%, -50%) rotate(45deg);
  }
}

.slider {
  padding: 0;
  height: auto;
}

.slider img {
  width: 100%;
}

.slick-arrow {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  padding: 0;
  width: 20px;
  height: 38px;
  color: transparent;
  z-index: 1;
  transition: opacity 0.5s;
  z-index: 1;
}

.slick-arrow:hover {
  opacity: 0.7;
}

/* 共通設定 */
.slick-next::before,
.slick-next::after,
.slick-prev::before,
.slick-prev::after {
  position: absolute;
  top: 5rem;
  margin: auto;
  content: "";
  vertical-align: middle;
}

.slick-next::after,
.slick-prev::after {
  width: 3rem;
  height: 3rem;
  border-top: 1px solid #b7b7b7;
  border-right: 1px solid #b7b7b7;
}

/* next */
.slick-next {
  right: 26px;
}

.slick-next::after {
  right: -10.6rem;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

/* prev */
.slick-prev {
  left: -6.7rem;
}

.slick-prev::after {
  left: 4px;
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
}

.slick-dotted.slick-slider {
  margin-bottom: 0;
}

@media screen and (max-width: 767px) {
  .cm {
    padding: 10.1rem 0 10.7rem;
  }
}

@media screen and (min-width: 768px) {
  .cm {
    padding: 10rem 0 11.8rem;
  }
}

.cm .section__inner {
  padding-top: 0;
}

@media screen and (max-width: 767px) {
  .cm .section__inner {
    width: 57.9rem;
  }
}

@media screen and (min-width: 768px) {
  .cm .section__inner {
    width: 77rem;
  }
}

@media screen and (max-width: 767px) {
  .cm .section__ttl {
    width: 39.9rem;
  }
}

@media screen and (min-width: 768px) {
  .cm .section__ttl {
    width: 26.6rem;
  }
}

.cm .section__subTtl {
  text-align: center;
  margin: auto;
  font-weight: 400;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 767px) {
  .cm .section__subTtl {
    margin-top: 4.8rem;
    font-size: 2.8rem;
    line-height: 1.643em;
  }
}

@media screen and (min-width: 768px) {
  .cm .section__subTtl {
    margin-top: 3.8rem;
    font-size: 1.7rem;
  }
}

.cm__video {
  display: grid;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .cm__video {
    margin-top: 0;
    grid-template-columns: 1fr;
  }
  .cm__video li p {
    font-weight: 400;
    margin-top: 2rem;
    font-size: 2.5rem;
    line-height: 1.4;
  }
}

@media screen and (min-width: 768px) {
  .cm__video {
    margin-top: 11.5rem;
    grid-template-columns: 1fr 1fr;
    justify-content: space-between;
    grid-column-gap: 8.5rem;
  }
  .cm__video p {
    font-weight: 400;
    margin-top: 2.3rem;
    font-size: 1.5rem;
    line-height: 1.4;
  }
}

@media screen and (min-width: 768px) {
  .cm__video > li:nth-child(n+3) {
    margin-top: 8.5rem;
  }
}

@media screen and (max-width: 767px) {
  .cm__video.event {
    margin-top: 8rem;
  }
}

@media screen and (min-width: 768px) {
  .cm__video.event {
    margin-top: 8rem;
  }
}

@media screen and (max-width: 767px) {
  .cm__video.event .cm__youtube {
    margin-top: 0;
  }
}

.cm__youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

@media screen and (max-width: 767px) {
  .cm__youtube {
    margin-top: 10rem;
  }
}

.cm__youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 767px) {
  .cm__youtube.new {
    margin-top: 13rem;
  }
}

.cm__youtube.new:before {
  content: "";
  background-image: url(../img/icon-new.png);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

@media screen and (max-width: 767px) {
  .cm__youtube.new:before {
    width: 17.5rem;
    height: 4rem;
    top: -6.4rem;
  }
}

@media screen and (min-width: 768px) {
  .cm__youtube.new:before {
    width: 11.6rem;
    height: 2.7rem;
    top: -3.8rem;
  }
}

@media screen and (min-width: 768px) {
  .cm__event .section__ttl {
    margin-top: 10rem;
    width: 24.9rem;
  }
}

@media screen and (max-width: 767px) {
  .cm__event .section__ttl {
    margin-top: 20rem;
    width: 37.4rem;
  }
}

@media screen and (max-width: 767px) {
  .cm__event .section__subTtl {
    margin-top: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .cm__event .cm__video {
    grid-template-columns: 34.1rem;
    justify-content: center;
  }
}

@media screen and (min-width: 768px) {
  .cm__event .cm__video p {
    line-height: 1.467em;
  }
}

@media screen and (max-width: 767px) {
  .cm__event .cm__video p {
    line-height: 1.52em;
  }
}

.cm__profile {
  display: flex;
  border-top: solid 1px #002f7b;
  border-bottom: solid 1px #002f7b;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .cm__profile {
    flex-direction: column;
    justify-content: center;
    padding: 5.6rem 0 4.6rem;
    margin-top: 8.3rem;
  }
  .cm__profile li p {
    font-weight: 400;
    line-height: 1.572em;
    font-size: 2.8rem;
  }
  .cm__profile li:first-child {
    text-align: center;
  }
  .cm__profile li:first-child p {
    font-size: 2.6rem;
    line-height: 1.731em;
  }
  .cm__profile li:first-child p:first-child {
    font-size: 3rem;
    line-height: 1.5em;
    text-align: center;
    font-weight: bold;
  }
  .cm__profile li:last-child {
    margin-top: 3.4rem;
  }
}

@media screen and (min-width: 768px) {
  .cm__profile {
    justify-content: space-between;
    padding: 2.2rem 3.2rem 2.5rem 2.2rem;
    margin-top: 8rem;
  }
  .cm__profile li {
    width: 43rem;
  }
  .cm__profile li p {
    letter-spacing: 0.006em;
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 1.625em;
  }
  .cm__profile li:first-child {
    text-align: center;
    width: 28.05rem;
  }
  .cm__profile li:first-child p {
    font-size: 1.7rem;
    letter-spacing: 0.006em;
    line-height: 1.765em;
    font-weight: 400;
  }
  .cm__profile li:first-child p:first-child {
    font-size: 2rem;
    line-height: 1.5em;
    font-weight: bold;
  }
}

.cm__cast {
  margin: auto;
}

@media screen and (max-width: 767px) {
  .cm__cast {
    text-align: center;
    margin-top: 2.8rem;
    width: 54.5rem;
  }
}

@media screen and (min-width: 768px) {
  .cm__cast {
    display: flex;
    justify-content: space-between;
    margin-top: 2.4rem;
    width: 61.8rem;
  }
}

.cm__cast li {
  font-weight: 400;
  letter-spacing: 0.006em;
}

@media screen and (max-width: 767px) {
  .cm__cast li {
    font-size: 2.4rem;
    line-height: 1.75em;
  }
}

@media screen and (min-width: 768px) {
  .cm__cast li {
    font-size: 1.5rem;
  }
}

@media screen and (max-width: 767px) {
  .down .section__inner {
    padding: 12.5rem 0 9.2rem;
  }
}

@media screen and (min-width: 768px) {
  .down .section__inner {
    padding: 7.9rem 0 11.4rem;
  }
}

.down__section {
  background: #fff;
  border: solid 1px #fff;
  border-radius: 15px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .down__section {
    padding: 6.5rem 0 65rem;
    margin: 5.7rem 0;
  }
}

@media screen and (min-width: 768px) {
  .down__section {
    padding: 8.7rem 0 6.1rem;
    margin: 1rem 0 0;
  }
}

.down__link {
  display: flex;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .down__link {
    margin-top: 2.7rem;
  }
  .down__link li {
    width: 24.8rem;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .down__link li div {
    width: 17.1rem;
  }
  .down__link li:first-child div {
    width: 15.2rem;
  }
  .down__link li a {
    margin-top: 2.6rem;
  }
  .down__link li:first-child {
    width: 27rem;
    border-right: solid 1px #002f7b;
    padding: 0 7rem 0 0;
    margin: 0 7rem 0 0;
  }
}

@media screen and (min-width: 768px) {
  .down__link {
    margin: 0 8.2rem 0 46.1rem;
  }
  .down__link li {
    width: 17.7rem;
  }
  .down__link li:first-child {
    width: 21.1rem;
    border-right: solid 1px #002f7b;
    padding: 0 6.8rem 0 0;
    margin: 0 6.8rem 0 0;
  }
}

@media screen and (min-width: 768px) {
  .down p {
    margin: 4.2rem 15.5rem 0 53.4rem;
    text-align: center;
  }
  .down p a {
    color: #000;
    font-size: 1.4rem;
    font-weight: 400;
    letter-spacing: 0.005em;
    text-decoration: underline;
  }
}

.down__img {
  content: "";
  position: absolute;
  bottom: -2px;
}

@media screen and (max-width: 767px) {
  .down__img {
    width: 58.7rem;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}

@media screen and (min-width: 768px) {
  .down__img {
    width: 37.9rem;
    left: 2.3rem;
  }
}

footer {
  border-top: solid 1px #fff;
}

footer h1 {
  margin: auto;
}

@media screen and (max-width: 767px) {
  footer h1 {
    width: 27.2rem;
    padding: 2.8rem 0 3.3rem;
  }
}

@media screen and (min-width: 768px) {
  footer h1 {
    width: 18.1rem;
    padding: 2.8rem 0 3.3rem;
  }
}
