@media print, screen and (min-width: 768px) {
  .header .header__logo {
    display: none;
  }
}

@media print, screen and (min-width: 1200px) {
  .header .header__logo {
    opacity: 0;
  }
}

.header .gNav ul .gNav__home {
  display: none;
}

.top {
  position: relative;
}

/*==================================================
  topVi
==================================================*/
.topVi {
  width: 100%;
  margin: 0;
  padding: 78px 0 40px 0;
  overflow: hidden;
}

@media print, screen and (min-width: 1200px) {
  .topVi {
    padding-bottom: 120px;
  }
}

.topVi .topVi__inner {
  width: 100%;
  margin: 0;
  padding: 0 20px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  position: relative;
}

@media print, screen and (min-width: 768px) {
  .topVi .topVi__inner {
    width: 700px;
    margin: 0 auto;
    padding: 0;
  }
}

@media print, screen and (min-width: 1200px) {
  .topVi .topVi__inner {
    width: 1200px;
  }
}

.topVi .topVi__logo {
  display: none;
}

@media print, screen and (min-width: 768px) {
  .topVi .topVi__logo {
    width: 36%;
    display: block;
    opacity: 0;
  }
}

@media print, screen and (min-width: 1200px) {
  .topVi .topVi__logo {
    width: 460px;
  }
}

.topVi .topVi__slide {
  width: 100%;
  margin: 0 0 20px 0;
  padding: 0;
  opacity: 0;
  border-radius: 10px;
  box-shadow: 0px 0px 15px -5px #999;
}

@media print, screen and (min-width: 768px) {
  .topVi .topVi__slide {
    width: 58%;
    margin: 0 0 0 auto;
    border-radius: 15px;
  }
}

@media print, screen and (min-width: 1200px) {
  .topVi .topVi__slide {
    width: 680px;
  }
}

.topVi .topVi__slide ul {
  margin: 0;
  padding: 0;
}

.topVi .topVi__slide ul .slick-slide {
  margin: 0;
  padding: 0;
  list-style: none;
  overflow: hidden;
  border-radius: 10px;
  border: 5px solid #fff;
}

@media print, screen and (min-width: 768px) {
  .topVi .topVi__slide ul .slick-slide {
    border-radius: 15px;
    border: 10px solid #fff;
  }
}

.topVi .topVi__slide .slick-dots {
  bottom: -25px;
}

@media print, screen and (min-width: 768px) {
  .topVi .topVi__slide .slick-dots {
    bottom: -35px;
  }
}

.topVi .topVi__illust01 {
  display: none;
}

@media print, screen and (min-width: 768px) {
  .topVi .topVi__illust01 {
    width: 90px;
    display: block;
    position: absolute;
    top: -20px;
    left: 0;
  }
}

@media print, screen and (min-width: 1200px) {
  .topVi .topVi__illust01 {
    width: 148px;
    top: -50px;
  }
}

.topVi .topVi__illust02 {
  width: 60px;
  position: absolute;
  left: 10px;
  top: -10px;
}

@media print, screen and (min-width: 768px) {
  .topVi .topVi__illust02 {
    width: 80px;
    left: 40px;
    top: auto;
    bottom: -20px;
  }
}

@media print, screen and (min-width: 1200px) {
  .topVi .topVi__illust02 {
    width: 140px;
    left: 120px;
    bottom: -80px;
  }
}

.topVi .topVi__illust03 {
  width: 44px;
  position: absolute;
  right: 10px;
  bottom: -24px;
}

@media print, screen and (min-width: 768px) {
  .topVi .topVi__illust03 {
    width: 60px;
    right: 0;
    bottom: -30px;
  }
}

@media print, screen and (min-width: 1200px) {
  .topVi .topVi__illust03 {
    width: 102px;
    bottom: -100px;
    right: 10px;
  }
}

/*==================================================
  topPolicy
==================================================*/
.topPolicy {
  width: 100%;
  margin: 0;
  padding: 20px 0 0 0;
  position: relative;
  overflow: hidden;
}

@media print, screen and (min-width: 1200px) {
  .topPolicy {
    padding: 40px 20px;
  }
}

@media print, screen and (min-width: 1200px) {
  .topPolicy {
    padding: 60px 0 0 0;
  }
}

.topPolicy:before {
  content: "";
  width: 260px;
  height: 100px;
  background-color: #fff;
  position: absolute;
  left: calc((100% - 260px) / 2);
  top: 0;
  border-radius: 50%;
  z-index: 20;
}

@media print, screen and (min-width: 768px) {
  .topPolicy:before {
    width: 400px;
    left: calc((100% - 400px) / 2);
  }
}

@media print, screen and (min-width: 1200px) {
  .topPolicy:before {
    width: 740px;
    height: 300px;
    left: calc((100% - 740px) / 2);
    top: 0;
  }
}

.topPolicy .topPolicy__inner {
  margin: 0;
  padding: 0 20px 40px 20px;
  position: relative;
  z-index: 100;
  background-color: #fff;
}

@media print, screen and (min-width: 1200px) {
  .topPolicy .topPolicy__inner {
    margin: 0 auto;
    padding: 0 0 60px 0;
  }
}

.topPolicy h1 {
  background-image: url(/images/top/policy_title_bg.svg);
}

.topPolicy .topPolicy__lead {
  margin: 0;
  padding: 0;
  font-size: 18px;
  font-size: 1rem;
  font-weight: bold;
  text-align: center;
  color: #c981a5;
}

@media print, screen and (min-width: 1200px) {
  .topPolicy .topPolicy__lead {
    margin-bottom: 30px;
    font-size: 28px;
    font-size: 1.55556rem;
  }
}

@media print, screen and (min-width: 1200px) {
  .topPolicy ol {
    width: 900px;
    margin-right: auto;
    margin-left: auto;
  }
}

.topPolicy ol li {
  margin: 0 0 16px 0;
  font-size: 16px;
  font-size: 0.88889rem;
  font-weight: bold;
}

@media print, screen and (min-width: 768px) {
  .topPolicy ol li {
    margin-bottom: 10px;
  }
}

@media print, screen and (min-width: 1200px) {
  .topPolicy ol li {
    font-size: 22px;
    font-size: 1.22222rem;
  }
}

.topPolicy .topPolicy__illust01 {
  width: 50px;
  position: absolute;
  left: 10px;
  top: 0;
}

@media print, screen and (min-width: 768px) {
  .topPolicy .topPolicy__illust01 {
    width: 60px;
    top: 10px;
  }
}

@media print, screen and (min-width: 1200px) {
  .topPolicy .topPolicy__illust01 {
    width: 105px;
    top: 20px;
  }
}

.topPolicy .topPolicy__illust02 {
  width: 44px;
  position: absolute;
  right: 10px;
  top: 0;
}

@media print, screen and (min-width: 768px) {
  .topPolicy .topPolicy__illust02 {
    width: 60px;
    top: 30px;
  }
}

@media print, screen and (min-width: 1200px) {
  .topPolicy .topPolicy__illust02 {
    width: 100px;
    top: 70px;
  }
}

/*==================================================
  topMessage
==================================================*/
.topMessage {
  width: 100%;
  margin: 0;
  padding: 40px 20px 40px 20px;
  position: relative;
  background-image: url(/images/top/message_bg.png);
  overflow: hidden;
}

@media print, screen and (min-width: 768px) {
  .topMessage {
    padding: 40px 20px;
  }
}

@media print, screen and (min-width: 1200px) {
  .topMessage {
    padding: 60px 0;
  }
}

.topMessage .topMessage__inner {
  margin: 0;
  padding: 0;
  position: relative;
  z-index: 100;
}

@media print, screen and (min-width: 1200px) {
  .topMessage .topMessage__inner {
    width: 1200px;
    margin: 0 auto;
  }
}

.topMessage h1 {
  background-image: url(/images/top/message_title_bg.svg);
}

.topMessage .topMessage__block {
  width: 100%;
  padding: 25px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  border-radius: 15px;
  background-color: #fff;
}

@media print, screen and (min-width: 1200px) {
  .topMessage .topMessage__block {
    padding: 40px;
  }
}

.topMessage .topMessage__block .topMessage__img {
  margin: 0 0 15px 0;
  padding: 0;
}

@media print, screen and (min-width: 768px) {
  .topMessage .topMessage__block .topMessage__img {
    width: 40%;
    margin: 0;
  }
}

.topMessage .topMessage__block .topMessage__img img {
  border-radius: 10px;
}

.topMessage .topMessage__block .topMessage__textBox {
  width: 100%;
  margin: 0;
  padding: 0;
}

@media print, screen and (min-width: 768px) {
  .topMessage .topMessage__block .topMessage__textBox {
    width: 56%;
  }
}

.topMessage .topMessage__illust01 {
  width: 70px;
  position: absolute;
  left: 10px;
  top: -10px;
}

@media print, screen and (min-width: 768px) {
  .topMessage .topMessage__illust01 {
    width: 100px;
    top: 20px;
    left: 0;
  }
}

@media print, screen and (min-width: 1200px) {
  .topMessage .topMessage__illust01 {
    width: 158px;
    top: -20px;
    left: 60px;
  }
}

/*==================================================
  topIntro
==================================================*/
.topIntro {
  width: 100%;
  margin: 0;
  padding: 40px 20px;
  position: relative;
  background-color: #fff;
  overflow: hidden;
}

@media print, screen and (min-width: 768px) {
  .topIntro {
    padding: 40px 0;
  }
}

@media print, screen and (min-width: 1200px) {
  .topIntro {
    padding: 60px 0;
  }
}

.topIntro h1 {
  background-image: url(/images/top/intro_title_bg.svg);
}

.topIntro .topIntro__slide {
  /*-----------------------------------
      slick
    -----------------------------------*/
}

.topIntro .topIntro__slide ul {
  margin: 0;
  padding: 0;
}

.topIntro .topIntro__slide ul li {
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: center;
}

.topIntro .topIntro__slide ul li img {
  border-radius: 10px;
  overflow: hidden;
}

.topIntro .topIntro__slide .slick-slide {
  padding: 0;
}

@media print, screen and (min-width: 768px) {
  .topIntro .topIntro__slide .slick-slide {
    padding: 0 15px;
  }
}

.topIntro .topIntro__slide .slick-dots {
  margin-bottom: -40px;
  bottom: 10px;
  z-index: 10000;
}

@media print, screen and (min-width: 768px) {
  .topIntro .topIntro__slide .slick-dots {
    margin-bottom: -60px;
    bottom: 14px;
  }
}

.topIntro .topIntro__slide .slick-dots li {
  width: 20px;
  height: 4px;
  margin: 0 5px;
  border-width: 0;
  border-radius: 0;
  overflow: hidden;
}

@media print, screen and (min-width: 768px) {
  .topIntro .topIntro__slide .slick-dots li {
    width: 40px;
    height: 8px;
    margin: 0 4px;
  }
}

@media print, screen and (min-width: 1200px) {
  .topIntro .topIntro__slide .slick-dots li {
    width: 60px;
  }
}

.topIntro .topIntro__slide .slick-dots li button:before {
  width: 20px;
  height: 4px;
  content: "";
  opacity: 1;
  border-radius: 0;
  background-color: #eee;
}

@media print, screen and (min-width: 768px) {
  .topIntro .topIntro__slide .slick-dots li button:before {
    width: 40px;
    height: 8px;
  }
}

@media print, screen and (min-width: 1200px) {
  .topIntro .topIntro__slide .slick-dots li button:before {
    width: 60px;
  }
}

.topIntro .topIntro__slide .slick-dots li.slick-active button:before {
  opacity: 1;
  background-color: #6fbfad;
}

.topIntro .topIntro__slide .slick-next,
.topIntro .topIntro__slide .slick-prev {
  width: 40px;
  height: 40px;
  z-index: 1000;
  right: 0;
  top: 44%;
  background-size: 40px 40px;
  background-repeat: no-repeat;
}

@media print, screen and (min-width: 768px) {
  .topIntro .topIntro__slide .slick-next,
  .topIntro .topIntro__slide .slick-prev {
    width: 60px;
    height: 60px;
    background-size: 60px 60px;
    transition: all .2s;
  }
}

.topIntro .topIntro__slide .slick-next:before,
.topIntro .topIntro__slide .slick-prev:before {
  display: none;
}

.topIntro .topIntro__slide .slick-prev {
  left: -10px;
  background-image: url(/images/top/slider_button_prev.png);
}

@media print, screen and (min-width: 768px) {
  .topIntro .topIntro__slide .slick-prev {
    left: 14%;
  }
}

@media print, screen and (min-width: 1200px) {
  .topIntro .topIntro__slide .slick-prev {
    left: calc((100vw - 880px) / 2);
  }
}

.topIntro .topIntro__slide .slick-next {
  right: -10px;
  background-image: url(/images/top/slider_button_next.png);
}

@media print, screen and (min-width: 768px) {
  .topIntro .topIntro__slide .slick-next {
    right: 14%;
  }
}

@media print, screen and (min-width: 1200px) {
  .topIntro .topIntro__slide .slick-next {
    right: calc((100vw - 880px) / 2);
  }
}

.topIntro .topIntro__slide .slick-dotted.slick-slider {
  margin-bottom: 0;
}

.topIntro .topIntro__slide .caption {
  margin: 10px 0 0 0;
  padding: 0;
  line-height: 1.4;
  text-align: left;
}

.topIntro .topIntro__illust01 {
  width: 50px;
  position: absolute;
  left: 30px;
  top: 26px;
}

@media print, screen and (min-width: 768px) {
  .topIntro .topIntro__illust01 {
    width: 70px;
  }
}

@media print, screen and (min-width: 1200px) {
  .topIntro .topIntro__illust01 {
    width: 122px;
    top: 14px;
    left: 100px;
  }
}

.topIntro .topIntro__illust02 {
  width: 64px;
  position: absolute;
  right: 30px;
  top: 30px;
}

@media print, screen and (min-width: 768px) {
  .topIntro .topIntro__illust02 {
    width: 90px;
  }
}

@media print, screen and (min-width: 1200px) {
  .topIntro .topIntro__illust02 {
    width: 165px;
    right: 40px;
    top: 10px;
  }
}

/*==================================================
  topAbout
==================================================*/
.topAbout {
  width: 100%;
  margin: 0;
  padding: 40px 20px;
  position: relative;
  background-color: #fff;
}

@media print, screen and (min-width: 768px) {
  .topAbout {
    padding: 40px 20px;
  }
}

@media print, screen and (min-width: 1200px) {
  .topAbout {
    padding: 60px 0;
  }
}

.topAbout h1 {
  background-image: url(/images/top/about_title_bg.svg);
}

.topAbout .topAbout__inner {
  margin: 0;
  padding: 0;
  position: relative;
  z-index: 100;
}

@media print, screen and (min-width: 1200px) {
  .topAbout .topAbout__inner {
    width: 1200px;
    margin: 0 auto;
  }
}

.topAbout .aboutBuutton {
  width: 100%;
  margin: 0 auto;
}

@media print, screen and (min-width: 1200px) {
  .topAbout .aboutBuutton {
    width: 740px;
  }
}

.topAbout .aboutBuutton a {
  width: 100%;
  margin: 0;
  padding: 14px 20px;
  display: block;
  font-size: 18px;
  font-size: 1rem;
  line-height: 1.4;
  font-weight: bold;
  text-decoration: none;
  border: 5px solid #b6e3f0;
  border-radius: 100px;
  text-align: center;
  background-image: url(/images/top/about_win.svg);
  background-repeat: no-repeat;
  background-size: 23px 18px;
  background-position: right 24px center;
}

@media print, screen and (min-width: 1200px) {
  .topAbout .aboutBuutton a {
    padding: 24px;
    font-size: 28px;
    font-size: 1.55556rem;
    background-size: 30px 22px;
    transition: all .2s;
  }
  .topAbout .aboutBuutton a:hover {
    color: #333;
    background-color: #e9f9fe;
  }
}

/*==================================================
  topAccess
==================================================*/
.topAccess {
  width: 100%;
  margin: 0;
  padding: 40px 20px;
  position: relative;
  background-color: #f8f3eb;
}

@media print, screen and (min-width: 768px) {
  .topAccess {
    padding: 40px 20px;
  }
}

@media print, screen and (min-width: 1200px) {
  .topAccess {
    padding: 60px 0;
  }
}

.topAccess h1 {
  background-image: url(/images/top/access_title_bg.svg);
}

.topAccess .topAccess__inner {
  width: 100%;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  position: relative;
  z-index: 100;
}

@media print, screen and (min-width: 768px) {
  .topAccess .topAccess__inner {
    margin: 0 auto;
    justify-content: space-between;
  }
}

@media print, screen and (min-width: 1200px) {
  .topAccess .topAccess__inner {
    width: 1200px;
  }
}

.topAccess .topAccess__inner .topAccess__map {
  margin-bottom: 20px;
}

@media print, screen and (min-width: 768px) {
  .topAccess .topAccess__inner .topAccess__map {
    width: 50%;
  }
}

@media print, screen and (min-width: 1200px) {
  .topAccess .topAccess__inner .topAccess__map {
    width: 560px;
    margin-bottom: 0;
  }
}

.topAccess .topAccess__inner .topAccess__info {
  width: 100%;
}

@media print, screen and (min-width: 768px) {
  .topAccess .topAccess__inner .topAccess__info {
    width: 46%;
  }
}

@media print, screen and (min-width: 1200px) {
  .topAccess .topAccess__inner .topAccess__info {
    width: calc(100% - 600px);
  }
}

.topAccess .topAccess__button {
  width: 100%;
}

@media print, screen and (min-width: 1200px) {
  .topAccess .topAccess__button {
    max-width: 340px;
  }
}

.topAccess .topAccess__button a {
  width: 100%;
  margin: 0;
  padding: 20px;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
  display: block;
  border-radius: 50px;
  border: 5px solid #d0a560;
  background-color: #fff;
  background-image: url(/images/top/access_win.svg);
  background-repeat: no-repeat;
  background-size: 23px 18px;
  background-position: right 24px center;
}

@media print, screen and (min-width: 1200px) {
  .topAccess .topAccess__button a {
    transition: all .2s;
  }
  .topAccess .topAccess__button a:hover {
    color: #333;
    text-decoration: none;
    background-color: #fbeeda;
  }
}

.topAccess .topAccess__illust01 {
  width: 50px;
  position: absolute;
  left: 10px;
  top: -140px;
}

@media print, screen and (min-width: 1200px) {
  .topAccess .topAccess__illust01 {
    width: 105px;
    top: -180px;
  }
}

.topAccess .topAccess__illust02 {
  width: 44px;
  position: absolute;
  right: 10px;
  top: -80px;
}

@media print, screen and (min-width: 1200px) {
  .topAccess .topAccess__illust02 {
    width: 75px;
  }
}

/*==================================================
  topCorner
==================================================*/
.topCorner {
  width: 100%;
  margin: 0;
  padding: 40px 20px;
  position: relative;
  background-color: #fff;
}

@media print, screen and (min-width: 768px) {
  .topCorner {
    padding: 40px 20px 20px 20px;
  }
}

@media print, screen and (min-width: 1200px) {
  .topCorner {
    padding: 60px 0 40px 0;
  }
}

.topCorner .topCorner__inner {
  width: 100%;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  position: relative;
  z-index: 100;
}

@media print, screen and (min-width: 768px) {
  .topCorner .topCorner__inner {
    margin: 0 auto;
    justify-content: space-between;
  }
}

@media print, screen and (min-width: 1200px) {
  .topCorner .topCorner__inner {
    width: 1200px;
  }
}

.topCorner .topCorner__list {
  width: 100%;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.topCorner .topCorner__list li {
  margin: 0 0 30px 0;
  padding: 0;
  list-style: none;
}

@media print, screen and (min-width: 768px) {
  .topCorner .topCorner__list li {
    width: 48%;
  }
}

.topCorner .topCorner__list li a {
  text-decoration: none;
}

@media print, screen and (min-width: 1200px) {
  .topCorner .topCorner__list li a:hover {
    color: #333;
  }
  .topCorner .topCorner__list li a:hover img {
    transform: scale(1.1);
  }
}

.topCorner .topCorner__list li .topCorner__img {
  margin: 0 0 14px 0;
  padding: 0;
  overflow: hidden;
  border: 5px solid #c6e4f3;
  border-radius: 10px;
}

@media print, screen and (min-width: 1200px) {
  .topCorner .topCorner__list li .topCorner__img img {
    transition: all .2s;
  }
}

.topCorner .topCorner__list li .topCorner__title {
  margin: 0 0 10px 0;
  padding: 0 0 0 30px;
  line-height: 1.4;
  font-size: 20px;
  font-size: 1.11111rem;
  font-weight: bold;
  position: relative;
}

@media print, screen and (min-width: 1200px) {
  .topCorner .topCorner__list li .topCorner__title {
    font-size: 28px;
    font-size: 1.55556rem;
  }
}

.topCorner .topCorner__list li .topCorner__title:before {
  width: 20px;
  height: 4px;
  content: "";
  position: absolute;
  left: 0;
  top: 12px;
  background-color: #c6e4f3;
}

@media print, screen and (min-width: 1200px) {
  .topCorner .topCorner__list li .topCorner__title:before {
    top: 18px;
  }
}

.topCorner .topCorner__list li .topCorner__text {
  margin: 0;
  padding: 0;
  font-size: 18px;
  font-size: 1rem;
  line-height: 1.6;
}
