@charset "UTF-8";
/* ==========================================================================
  ELEMENT RESET
========================================================================== */
*,
*::before,
*::after {
  box-sizing: border-box;
}
html {
  font-family: sans-serif;
}
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
h1,
h2,
h3,
h4,
h5,
h6,
p {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 1em;
  -webkit-margin-before: 0;
  -webkit-margin-after: 0;
}
ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 0;
}
dd {
  margin-left: 0;
}
ol,
ul {
  margin: 0;
  padding-left: 0;
  list-style: none;
}
a {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}
a {
  outline: 0;
}
a:focus,
button:focus {
  outline: 0;
}
em {
  font-style: normal;
}
figure {
  margin: 0;
}
table {
  border-collapse: collapse;
}
button {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
}
button:focus {
  outline: none;
}
input,
button,
select,
textarea {
  line-height: inherit;
}
textarea {
  resize: vertical;
}
fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
legend {
  display: block;
  width: 100%;
  margin-bottom: 0;
  padding: 0;
  line-height: inherit;
}
hr {
  margin: 0;
}

/* ==========================================================================
  MEDIA QUERIES
========================================================================== */
/*
@media all and (min-width: 768px),print {
}
@media all and (min-width: 980px),print {
}
@media all and (min-width: 1280px),print {
}
@media all and (min-width: 1440px),print {
}
@media all and (min-width: 1600px),print {
}
@media all and (min-width: 1920px),print {
}
@media all and (min-width: 768px) and (max-width: 979px) {
}
@media all and (max-width: 767px) {
}
@media all and (max-width: 639px) {
}
@media all and (max-width: 374px) {
}
@media all and (min-width: 640px) and (max-width: 767px) {
}
*/
/*
@media all and (min-width: 768px),print {
}
@media all and (max-width: 767px) {
}
*/
/* --------------------------------------------------------------------------
  jsからMedia Queries取得用 要<div id="mq"></div>
-------------------------------------------------------------------------- */
/* PC用 */
#mq {
  display: none;
  font-family: 'pc';
}
/* TAB用 */
@media all and (min-width: 768px) and (max-width: 1023px) {
  #mq {
    font-family: 'tab';
  }
}
/* SP用 */
@media all and (max-width: 767px) {
  #mq {
    font-family: 'sp';
  }
}
/* ==========================================================================
  UTILL
========================================================================== */
/* 画像置換 */
.u-ir {
  display: block;
  overflow: hidden;
  font: 0/0 a;
  white-space: nowrap;
  text-indent: 100%;
}

/* PC、タブレットで画像置換 */
@media all and (min-width: 768px), print {
  .u-ir--tab-pc {
    display: block;
    overflow: hidden;
    font: 0/0 a;
    white-space: nowrap;
    text-indent: 100%;
  }
}
/* --------------------------------------------------------------------------
  非表示
-------------------------------------------------------------------------- */
/* PCで非表示 */
@media all and (min-width: 980px), print {
  .u-hide-pc {
    display: none;
  }
}
/* PC、タブレットで非表示 */
@media all and (min-width: 768px), print {
  .u-hide-tab-pc {
    display: none;
  }
}
/* タブレットのみ非表示 */
@media all and (min-width: 768px) and (max-width: 979px) {
  .u-hide-tab {
    display: none;
  }
}
/* SPで非表示 */
@media all and (max-width: 767px) {
  .u-hide-sp {
    display: none;
  }
}
/* --------------------------------------------------------------------------
  行揃え
-------------------------------------------------------------------------- */
.u-center {
  text-align: center;
}
/* TAB,PCのみテキストセンター */
@media all and (min-width: 768px), print {
  .u-center-tab-pc {
    text-align: center;
  }
}
/* SPのみテキストセンター */
@media all and (max-width: 767px) {
  .u-center-sp {
    text-align: center;
  }
}
.u-justify {
  text-align: justify;
  text-justify: inter-ideograph;
}
/* --------------------------------------------------------------------------
  強調
-------------------------------------------------------------------------- */
.u-strong {
  /*color: #FF0000;*/
  font-weight: bold;
}
.u-em {
  font-weight: bold;
}
.u-bold {
  font-weight: bold;
}

/* ==========================================================================
	TYPOGRAPHY
========================================================================== */
body,
button,
input,
optgroup,
select,
textarea {
  font-family: Helvetica, 'メイリオ', '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック',
    'Yu Gothic', sans-serif;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: 'YakuHanJP_Noto', 'Noto Sans JP', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo,
    sans-serif;
}
.u-font-metrics {
  font-family: 'YakuHanJP_Noto', 'Noto Sans JP', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo,
    sans-serif;
}
.u-font-sys {
  font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Segoe UI', Arial, sans-serif;
}

@media all and (min-width: 768px), print {
  header {
    background: #c5fa6a;
  }
  header .inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box;
    padding: 15px 20px;
  }
  header ul {
    display: flex;
    justify-content: space-between;
    width: 142px;
  }
  header ul li {
    width: 34px;
    height: 34px;
    margin-right: 5px;
  }
  header ul li a img {
    width: 34px;
    height: 34px;
  }
  .wrapper {
  }
  .hero {
    background-color: #c2fa63;
  }
  .hero h1 {
    max-width: 1067px;
    margin: 0 auto;
    background-color: #c2fa63;
    background-image: url(../img/hero_pc.jpg);
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
  }
  .hero h1::before {
    display: block;
    padding-top: calc(1000 / 1067 * 100%);
    content: '';
  }

  .cta {
    padding-bottom: calc(40 / 1280 * 100%);
    background-color: #c2fa63;
  }
  .cta__inner {
  }
  .cta__btn {
    width: calc(470 / 1067 * 100%);
    max-width: 470px;
    margin: 0 auto;
  }
  .cta__btn a {
    display: block;
    padding-top: calc(87 / 470 * 100%);
    background-color: #c2fa63;
    background-image: url(../img/cta_btn_pc.png);
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
    transition: all 0.25s;
  }
  .cta__btn a:hover {
    opacity: 0.75;
  }
  .cta__btn p {
    display: block;
    padding-top: calc(87 / 470 * 100%);
    background-color: #c2fa63;
    background-image: url(../img/close_info_btn_pc.png);
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
    transition: all 0.25s;
  }
  .info {
    padding-bottom: 45px;
  }
  .info__txt {
    position: relative;
    display: block;
    max-width: 1067px;
    margin: 0 auto;
    margin-top: -16px;
    background-image: url(../img/info_pc.png);
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
  }
  .info__txt::before {
    display: block;
    padding-top: calc(339 / 1067 * 100%);
    content: '';
  }
  .info-nav {
    width: 80%;
    max-width: 740px;
    margin: 30px auto 0 auto;
  }
  .info-nav__body {
    display: flex;
    justify-content: space-between;
  }
  .info-nav__item {
    width: calc((100% - 24px) / 2);
  }
  .info-nav__btn {
    display: block;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
    transition: all 0.25s;
  }
  .info-nav__btn:hover {
    opacity: 0.75;
  }
  .info-nav__btn::before {
    display: block;
    padding-top: calc(75 / 359 * 100%);
    content: '';
  }
  .info-nav__btn--how {
    background-image: url(../img/how_to_btn_pc.png);
  }
  .info-nav__btn--terms {
    background-image: url(../img/terms_btn_pc.png);
  }

  .how-to {
    background: #000;
  }
  .how-to__body {
    max-width: 1067px;
    margin: 0 auto;
  }
  .how-to__body::before {
    display: block;
    padding-top: calc(45 / 1067 * 100%);
    content: '';
  }
  .how-to__body::after {
    display: block;
    padding-bottom: calc(60 / 1067 * 100%);
    content: '';
  }
  .how-to__txt {
    display: block;
    background-image: url(../img/how_to_pc.png);
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
  }
  .how-to__txt::before {
    display: block;
    padding-top: calc(356 / 1067 * 100%);
    content: '';
  }

  .product {
    background: #c2fa63;
  }
  .product__body {
    max-width: 1067px;
    margin: 0 auto;
  }
  .product__body::after {
    display: block;
    padding-top: calc(60 / 1067 * 100%);
    content: '';
  }
  .product__txt {
    display: block;
    background-image: url(../img/product_pc.png);
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
  }
  .product__txt::before {
    display: block;
    padding-top: calc(521 / 1067 * 100%);
    content: '';
  }

  .cm {
  }
  .cm__body {
    max-width: 1067px;
    margin: 0 auto;
  }
  .cm__body::before {
    display: block;
    padding-top: calc(30 / 1067 * 100%);
    content: '';
  }
  .cm__body::after {
    display: block;
    padding-top: calc(50 / 1067 * 100%);
    content: '';
  }
  .cm__title {
    width: calc(553 / 1067 * 100%);
    margin: 0 auto;
    background-image: url(../img/brand_title_pc.png);
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
  }
  .cm__title::before {
    display: block;
    padding-top: calc(68 / 553 * 100%);
    content: '';
  }
  .cm__bnr {
    width: calc(553 / 1067 * 100%);
    margin: 0 auto;
  }
  .cm__bnr a {
    display: block;
    padding-top: calc(148 / 553 * 100%);
    background-image: url(../img/brand_bnr_pc.png);
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
    transition: all 0.25s;
  }
  .cm__bnr a:hover {
    opacity: 0.75;
  }

  .terms {
    padding-top: 50px;
    padding-bottom: 70px;
    background: #000;
  }
  .terms__body {
    max-width: 1067px;
    margin: 0 auto;
  }

  .terms__title {
    width: calc(553 / 1067 * 100%);
    margin: 0 auto 30px auto;
    background-image: url(../img/terms_title_pc.png);
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
  }
  .terms__title::before {
    display: block;
    padding-top: calc(68 / 553 * 100%);
    content: '';
  }
  .terms__content {
    margin: 0 20px;
  }
  .terms-txt {
    width: 100%;
    height: 440px;
    padding: 25px;
    overflow: auto;
    background: #fff;
  }
  .terms-txt p {
    margin-bottom: 20px;
    font-weight: 600;
    line-height: 1.4;
  }
  .terms-txt p a {
    color: #0000ee;
  }
  .terms-txt p a:hover {
    text-decoration: underline;
  }

  footer {
    padding-top: 20px;
    background: #c5fa6a;
  }
  .inner {
    position: relative;
    width: 100%;
    max-width: 1067px;
    margin: 0 auto;
    padding: 0 20px;
  }
  .inner a {
  }
  .brand-btn {
    display: block;
    width: 136px;
    margin: 0 auto;
  }
  footer .inner div a:last-of-type {
    position: absolute;
    top: calc(50% - 22px);
    right: 20px;
  }
  .footer__corporate {
    margin-top: 20px;
    padding: 10px 0 8px;
    text-align: right;
    background: #fff;
  }
  footer .footer__copyright {
    padding: 7px 0;
    color: #828282;
    font-size: 10px;
    text-align: right;
    text-decoration: none;
    background: #ebebeb;
  }

  .close-info-top {
    background: #fff;
  }
  .close-info-top__text {
    max-width: 1067px;
    margin: 0 auto;
    background-image: url(../img/close_info_top_pc.png);
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
  }
  .close-info-top__text::before {
    display: block;
    padding-top: calc(69 / 1067 * 100%);
    content: '';
  }
}

@media all and (max-width: 767px) {
  header {
    background: #c5fa6a;
  }
  header .inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-width: 1px;
    padding: 2vw 4.69vw 2vw;
  }
  header h1 {
    width: 30vw;
  }
  header h1 img {
    width: 100%;
    height: auto;
    vertical-align: bottom;
  }
  header ul {
    display: flex;
    justify-content: space-between;
    width: 25vw;
  }
  header ul li {
    margin-right: 5px;
  }
  header ul li a img {
    width: 6vw;
    height: auto;
  }
  .wrapper {
  }
  .hero {
    background-color: #c2fa63;
  }
  .hero h1 {
    max-width: 1067px;
    margin: 0 auto;
    background-color: #c2fa63;
    background-image: url(../img/hero_sp.jpg);
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
  }
  .hero h1::before {
    display: block;
    padding-top: calc(1547 / 750 * 100%);
    content: '';
  }

  .cta {
    background-color: #c2fa63;
  }
  .cta__inner {
  }
  .cta__btn {
  }
  .cta__btn a {
    display: block;
    padding-top: calc(217 / 750 * 100%);
    background-color: #c2fa63;
    background-image: url(../img/cta_btn_sp.png);
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
  }

  .cta__btn p {
    display: block;
    padding-top: calc(217 / 750 * 100%);
    background-color: #c2fa63;
    background-image: url(../img/close_info_btn_sp.png);
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
  }

  .info {
    padding-bottom: calc(75 / 750 * 100%);
  }
  .info__txt {
    position: relative;
    display: block;
    margin: 0 auto;
    background-image: url(../img/info_sp.png);
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
  }
  .info__txt::before {
    display: block;
    padding-top: calc(1140 / 750 * 100%);
    content: '';
  }
  .info-nav {
  }
  .info-nav__body {
    width: calc(570 / 750 * 100%);
    margin: 0 auto;
  }
  .info-nav__item {
  }
  .info-nav__item + .info-nav__item {
    margin-top: calc(40 / 570 * 100%);
  }
  .info-nav__btn {
    display: block;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
  }
  .info-nav__btn::before {
    display: block;
    padding-top: calc(95 / 570 * 100%);
    content: '';
  }
  .info-nav__btn--how {
    background-image: url(../img/how_to_btn_sp.png);
  }
  .info-nav__btn--terms {
    background-image: url(../img/terms_btn_sp.png);
  }

  .how-to {
    background: #000;
  }
  .how-to__body {
  }
  .how-to__body::before {
  }
  .how-to__body::after {
  }
  .how-to__txt {
    display: block;
    background-image: url(../img/how_to_sp.png);
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
  }
  .how-to__txt::before {
    display: block;
    padding-top: calc(1778 / 750 * 100%);
    content: '';
  }

  .product {
    background: #c2fa63;
  }
  .product__body {
    max-width: 1067px;
    margin: 0 auto;
  }
  .product__body::after {
    display: block;
    padding-top: calc(60 / 1067 * 100%);
    content: '';
  }
  .product__txt {
    display: block;
    background-image: url(../img/product_sp.png);
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
  }
  .product__txt::before {
    display: block;
    padding-top: calc(1299 / 750 * 100%);
    content: '';
  }

  .cm {
  }
  .cm__body {
  }
  .cm__body::before {
  }
  .cm__body::after {
    display: block;
    padding-top: calc(50 / 1067 * 100%);
    content: '';
  }
  .cm__title {
    background-image: url(../img/brand_title_sp.png);
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
  }
  .cm__title::before {
    display: block;
    padding-top: calc(109 / 750 * 100%);
    content: '';
  }
  .cm__bnr {
    width: calc(640 / 750 * 100%);
    margin: 0 auto;
  }
  .cm__bnr a {
    display: block;
    padding-top: calc(173 / 640 * 100%);
    background-image: url(../img/brand_bnr_sp.png);
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
  }

  .terms {
    padding-bottom: 10vw;
    background: #000;
  }
  .terms__body {
  }

  .terms__title {
    width: calc(250 / 750 * 100%);
    margin: 0 auto 0 auto;
    background-image: url(../img/terms_title_sp.png);
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
  }
  .terms__title::before {
    display: block;
    padding-top: calc(185 / 250 * 100%);
    content: '';
  }
  .terms__content {
    margin: 0 20px;
  }
  .terms-txt {
    height: 80vw;
    padding: 4vw;
    overflow: scroll;
    background: #fff;
  }
  .terms-txt p {
    margin-bottom: 4vw;
    font-weight: 600;
    font-size: 2.6vw;
    line-height: 1.4;
  }
  .terms-txt p a {
    color: #0000ee;
  }
  .terms-txt p a:hover {
    text-decoration: underline;
  }

  footer {
    padding-top: 2vw;
    padding-bottom: 2vw;
    background: #c5fa6a;
  }
  .inner {
    position: relative;
    width: 100%;
  }
  .inner a {
  }
  .brand-btn {
    display: block;
    width: 22vw;
    margin: 0 auto;
  }
  .brand-btn img {
    width: 100%;
    vertical-align: bottom;
  }
  .pagetop img {
    width: 100%;
    vertical-align: bottom;
  }

  .footer__corporate {
    margin-top: 1vw;
    padding: 7px 0;
    color: #828282;
    font-size: 10px;
    text-align: right;
    text-align: center;
    text-decoration: none;
    background: #fff;
  }
  footer .pagetop {
    position: absolute;
    top: 48%;
    right: 4.95vw;
    width: 8vw;
    transform: translateY(-50%);
  }
  footer .footer__corporate img {
    width: 22vw;
  }
  footer .footer__copyright {
    padding: 7px 0;
    padding: 20px 0;
    color: #828282;
    font-size: 10px;
    font-size: 8px;
    text-align: right;
    text-align: center;
    text-decoration: none;
    background: #ebebeb;
  }

  .close-info-top {
    background: #fff;
  }
  .close-info-top__text {
    margin: 0 auto;
    background-image: url(../img/close_info_top_sp.png);
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
  }
  .close-info-top__text::before {
    display: block;
    padding-top: calc(140 / 750 * 100%);
    content: '';
  }
}
}
