@charset "UTF-8";
/* Reset Css and Base Style */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%; }

body {
  margin: 0; }

main {
  display: block; }

h1 {
  font-size: 2em;
  margin: 0.67em 0; }

hr {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
  overflow: visible; }

pre {
  font-family: monospace, monospace;
  font-size: 1em; }

a {
  background-color: transparent; }

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted; }

b,
strong {
  font-weight: bolder; }

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

small {
  font-size: 80%; }

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

img {
  border-style: none; }

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0; }

button,
input {
  overflow: visible; }

button,
select {
  text-transform: none; }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

fieldset {
  padding: 0.35em 0.75em 0.625em; }

legend {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal; }

progress {
  vertical-align: baseline; }

textarea {
  overflow: auto; }

[type="checkbox"],
[type="radio"] {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0; }

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px; }

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit; }

details {
  display: block; }

summary {
  display: list-item; }

template {
  display: none; }

[hidden] {
  display: none; }

/**
 * Reset Styles
 * Deprecated normalize.css v5.0.0
 * 参考 : html5doctor.com Reset Stylesheet v1.6.1
 */
blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none; }

/* table */
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; }

/* form */
input[type="text"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
  outline: 1px solid #8dafe6; }

/* ----------------------------------------
*	add reset style
---------------------------------------- */
input[type="image"]:focus,
input[type="button"]:focus {
  outline: none; }

/* padding,margin reset */
h1, h2, h3, h4, h5, h6, p, dl, dt, dd, ul, ol, li, figure, figcaption {
  padding: 0;
  margin: 0; }

/* list reset */
ul, ol, li {
  list-style: none; }

/* img vertical-align */
img {
  vertical-align: top; }

/* ----------------------------------------
*	clearfix class
---------------------------------------- */
.clearfix:after {
  content: " ";
  display: block;
  clear: both; }

/* ----------------------------------------
*	Base Style
---------------------------------------- */
html, body {
  font-family: "M PLUS 1p", -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", Meiryo, "メイリオ", sans-serif;
  font-size: 16px;
  color: #221815; }

a {
  color: #999; }

/* ----------------------------------------
*	Expand Base Style
---------------------------------------- */
.wrapper img {
  max-width: 100%;
  height: auto; }

.wrapper * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

.u-fluid-img {
  width: 100%;
  height: auto; }

.is-sp-show {
  display: none; }
  @media screen and (max-width: 768px) {
    .is-sp-show {
      display: block; }
      .is-sp-show br.is-sp-show {
        display: inline; }
      .is-sp-show img.is-sp-show {
        display: inline; }
      .is-sp-show span.is-sp-show {
        display: inline; } }

.is-tablet-show {
  display: none; }
  @media screen and (min-width: 769px) and (max-width: 1279px) {
    .is-tablet-show {
      display: block; }
      .is-tablet-show br.is-tablet-show {
        display: inline; }
      .is-tablet-show img.is-tablet-show {
        display: inline; }
      .is-tablet-show span.is-tablet-show {
        display: inline; } }

.is-tabletSp-show {
  display: none; }
  @media screen and (max-width: 1279px) {
    .is-tabletSp-show {
      display: block; }
      .is-tabletSp-show br.is-tabletSp-show {
        display: inline; }
      .is-tabletSp-show img.is-tabletSp-show {
        display: inline; }
      .is-tabletSp-show span.is-tabletSp-show {
        display: inline; } }

@media screen and (max-width: 768px) {
  .is-tabletPc-show {
    display: none; } }

@media screen and (max-width: 1280px) {
  .is-pc-show {
    display: none; } }

.wrapper {
  overflow: hidden;
  max-width: 100%;
  font-size: 16px; }

.recommend .recommend-title, .themes .themes-title, .free .free-title {
  margin-bottom: 60px;
  padding: 100px 0 40px;
  color: #fff;
  text-align: center;
  font-size: 50px;
  font-weight: 400;
  background: url(../imgs/bg_recommend_title_pc.png) center bottom no-repeat; }
  .premium .premium-title {
    margin-bottom: 60px;
    padding: 120px 0 20px;
    text-align: center;
    background: url(../imgs/bg_premium_title_pc.png) center bottom no-repeat; }
    .premium .premium-title h2 {
      color: #fff;
      font-size: 50px;
      font-weight: 400; }
      .premium .premium-title h2::before {
        content: url(../imgs/icon_premium_title_crown.png);
        vertical-align: middle;
        padding-right: 20px;
        transform: translateY(3px);
         }

  @media screen and (max-width: 1380px) {
    .recommend .recommend-title, .themes .themes-title, .free .free-title {
      font-size: 4.6875vw;
      margin-bottom: 4.6875vw;
      padding: 12.10938vw 0 3.90625vw; }
      .premium .premium-title {
        margin-bottom: 4.6875vw;
        padding: 10.10938vw 0 2vw; }
        .premium .premium-title h2 {
          font-size: 4.6875vw; } }
  @media screen and (max-width: 768px) {
    .recommend .recommend-title, .themes .themes-title, .free .free-title {
      font-size: 5.06667vw;
      margin-bottom: 8vw;
      padding: 10.66667vw 0 3.33333vw; }
    .premium .premium-title {
      margin-bottom: 8vw;
      padding: 15vw 0 4vw; }
      .premium .premium-title h2 {
        font-size: 5.06667vw; }
        .premium .premium-title h2::before {
          padding-right: 2.60416vw;
            display: inline-block;
            transform: scale(0.6); } }

@-webkit-keyframes bound {
  0% {
    -webkit-transform: translate(0, 0px);
    transform: translate(0, 0px); }
  100% {
    -webkit-transform: translate(0, 15px);
    transform: translate(0, 15px); } }

@keyframes bound {
  0% {
    -webkit-transform: translate(0, 0px);
    transform: translate(0, 0px); }
  100% {
    -webkit-transform: translate(0, 15px);
    transform: translate(0, 15px); } }

@-webkit-keyframes bound2 {
  0% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0); }
  50% {
    -webkit-transform: translate(-1px, 2.5px);
    transform: translate(-1px, 2.5px); }
  100% {
    -webkit-transform: translate(-2px, 5px);
    transform: translate(-2px, 5px); } }

@keyframes bound2 {
  0% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0); }
  50% {
    -webkit-transform: translate(-1px, 2.5px);
    transform: translate(-1px, 2.5px); }
  100% {
    -webkit-transform: translate(-2px, 5px);
    transform: translate(-2px, 5px); } }

body {
  background-color: #f7f5ef; }

.container {
  position: relative;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto; }

.header {
  position: relative;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  padding: 28px 0 25px;
  text-align: center; }
  .header .header-logo {
    max-width: 200px;
    margin: 0 auto 20px; }
  .header .header-title {
    font-weight: normal;
    font-size: 20px; }
    .header .header-title span {
      font-size: 121.42857%;
      font-weight: bold; }
  .header .header-parts01,
  .header .header-parts02 {
    position: absolute; }
  .header .header-parts01 {
    top: 20px;
    left: -142px; }
  .header .header-parts02 {
    top: 30px;
    right: -184px; }
  @media screen and (max-width: 1640px) {
    .header .header-parts01 {
      left: 5px; }
    .header .header-parts02 {
      right: 5px; } }
  @media screen and (max-width: 1560px) {
    .header {
      padding: 20px 0 20px; }
      .header .header-logo {
        max-width: 140px;
        margin-bottom: 10px; }
      .header .header-title {
        font-size: 16px; }
      .header .header-parts01 {
        top: 20px;
        left: 5px; }
      .header .header-parts02 {
        top: 30px;
        right: 5px; } }
  @media screen and (max-width: 1280px) {
    .header {
      padding: 2.1875% 0 1.95312%; }
      .header .header-logo {
        max-width: 10.9375%;
        margin: 0 auto 1.17188%; }
      .header .header-title {
        font-size: 1.25vw; }
      .header .header-parts01 {
        top: 0;
        left: 10px;
        width: 10.23438%;
        margin-top: 2.34375%; }
      .header .header-parts02 {
        top: 0;
        right: 10px;
        width: 16.48438%;
        margin-top: 3.125%; } }
  @media screen and (max-width: 768px) {
    .header {
      padding: 2.5% 0 1.5625%; }
      .header .header-logo {
        max-width: 35.6%;
        margin: 0 auto 4.8%; }
      .header .header-title {
        font-size: 3.73333vw; }
        .header .header-title span {
          padding-top: 2.4vw;
          display: block;
          font-size: 4.53333vw;
          font-weight: 500; }
      .header .header-parts01 {
        left: 2.93333%;
        width: fwv(131px, 750px);
        margin-top: 2.66667%; }
      .header .header-parts02 {
        right: 2.93333%;
        width: 13.06667vw;
        margin-top: 6.13333%; } }

.kv {
  padding: 0 50px; }
  .kv .kv-copy {
    margin: 0 auto 40px;
    text-align: center;
    max-width: 900px; }
  .kv .kv-access {
    padding: 180px 0 0;
    margin-top: -100px;
    margin-bottom: 65px;
    background: url(../imgs/bg_kv_pc.png) center bottom no-repeat; }
  .kv .kv-access-inner {
    position: relative;
    width: 880px;
    margin: 0 auto;
    padding-bottom: 80px; }
    .kv .kv-access-inner:after {
      visibility: hidden;
      display: block;
      content: " ";
      clear: both;
      height: 0; }
    * html .kv .kv-access-inner {
      height: 1px; }
  .kv .kv-ttl {
    width: 878px;}
  .kv .kv-phone {
    float: left;
    width: 280px; }
  .kv .kv-text {
    overflow: hidden;
    width: 206px;
    height: 142px;
    padding: 20px;
    margin-bottom: 5px;
    text-align: center;
    font-size: 26px;
    color: #fff;
    background: url(../imgs/bg_balloon.png) no-repeat;
    background-size: 100%;
    -webkit-animation-name: bound2;
    animation-name: bound2;
    -webkit-animation-duration: .6s;
    animation-duration: .6s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-direction: alternate;
    animation-direction: alternate; }
    .kv .kv-text span {
      font-size: 158.82353%; }
  .kv .kv-qr {
    width: 140px;
    float: left; }
  .kv .kv-scroll {
    position: relative;
    width: 175px;
    height: 69px;
    margin: 0 auto;
    text-align: center;
    -webkit-animation-name: bound;
    animation-name: bound;
    -webkit-animation-duration: .7s;
    animation-duration: .7s;
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.09, 0.68, 0.53);
    animation-timing-function: cubic-bezier(0.55, 0.09, 0.68, 0.53);
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-direction: alternate;
    animation-direction: alternate; }
    .kv .kv-scroll:before {
      content: '';
      position: absolute;
      z-index: -1;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: url(../imgs/icon_scroll.png) center bottom no-repeat; }
  @media screen and (max-width: 1560px) {
    .kv .kv-copy {
      width: 60.86957%;
      margin: 0 auto 2.34375%; }
    .kv .kv-access {
      margin-bottom: 35px; } }
  @media screen and (max-width: 1380px) {
    .kv {
      padding: 0; }
      .kv .kv-copy {
        width: 60.86957%;
        margin: 0 auto 2.34375%; }
      .kv .kv-access {
        margin-bottom: 2.73438%;
        background-size: contain; }
      .kv .kv-access-inner {
        width: 45.8333vw; }
      .kv .kv-ttl {
        width: 528px;}
      .kv .kv-phone {
        float: left;
        width: 37.6569%;}
      .kv .kv-text {
        overflow: hidden;
        width: 12.96875vw;
        height: 9.53125vw;
        padding: 3.76569%;
        font-size: 1.875vw;
        background: url(../imgs/bg_balloon.png) no-repeat;
        background-size: 100%; }
      .kv .kv-qr {
        width: 10.15625vw; }
      .kv .kv-scroll {
        width: 13.67188vw;
        height: 5.39062vw; }
        .kv .kv-scroll img {
          width: 7.34375vw; } }
  @media screen and (max-width: 768px) {
    .kv .kv-copy {
      width: 70.4%;
      margin: 0 auto 0; }
    .kv .kv-access {
      padding: 7.73333% 0 0;
      margin: -3.86667% 0 6.93333%;
      background: url(../imgs/bg_kv_sp.png) center bottom no-repeat;
      background-size: 100% auto; }
    .kv .kv-access-inner {
      width: 68.75%;
      margin: 0 auto;
      padding-left: 0;
      padding-bottom: 0; }
    .kv .kv-ttl {
      width: 528px;}
    .kv .kv-phone {
      float: left;
      width: 41.31455%;
      padding: 4.22535% 4.92958% 0 0; }
    .kv .kv-text {
      overflow: hidden;
      width: 33.33333vw;
      height: 23.73333vw;
      padding: 3.46667vw 0 0;
      font-size: 4.53333vw;
      background: url(../imgs/bg_balloon.png) no-repeat;
      background-size: 100%; }
      .kv .kv-text span {
        font-size: 152.94118%; }
    .kv .kv-scroll {
      width: 23.33333vw;
      height: 9.33333vw; }
      .kv .kv-scroll:before {
        background-size: 100%; }
      .kv .kv-scroll img {
        width: 12.53333vw; } }

.newcts {
  padding: 75px 50px 95px; }
  .newcts .newcts-title {
    padding: 95px 65px;
    background: url(../imgs/parts_line_top.png) center top no-repeat, url(../imgs/parts_line_btm.png) center bottom no-repeat;
    text-align: center;
    font-size: 74px;
    font-weight: normal; }
    .newcts .newcts-title span {
      color: #009a3e; }
  .newcts .newcts-lead {
    text-align: center;
    padding: 50px 25px;
    font-size: 28px;
    line-height: 1.85714; }
  .newcts ul {
    margin-bottom: 75px; }
  .newcts li {
    position: relative;
    color: #fff;
    margin-bottom: 24px;
    padding: 55px 0;
    font-size: 45px;
    text-align: center;
    border-radius: 20px;
    background: #231815; }
    .newcts li span {
      color: #009a3e; }
    .newcts li::before {
      content: '';
      position: absolute;
      display: inline-block; }
    .newcts li:nth-child(1)::before {
      left: 20px;
      bottom: -11px;
      width: 89px;
      height: 95px;
      background: url(../imgs/pic_newcts_01.png) 0 0 no-repeat; }
    .newcts li:nth-child(2)::before {
      right: 19px;
      bottom: -12px;
      width: 112px;
      height: 99px;
      background: url(../imgs/pic_newcts_02.png) 0 0 no-repeat; }
    .newcts li:nth-child(3)::before {
      left: 20px;
      bottom: -18px;
      width: 99px;
      height: 94px;
      background: url(../imgs/pic_newcts_03.png) 0 0 no-repeat; }
  @media screen and (max-width: 1380px) {
    .newcts {
      padding: 5.85938% 0 7.42188%; }
      .newcts .container {
        max-width: 92.75362%; }
      .newcts .newcts-title {
        width: 85.70312%;
        margin: 0 auto;
        font-size: 5.78125vw;
        padding: 7.42188vw 2.34375vw;
        background-size: 100%; }
      .newcts .newcts-lead {
        padding: 3.90625vw 1.95312vw;
        font-size: 2.1875vw; }
      .newcts ul {
        margin-bottom: 5.85938vw; }
      .newcts li {
        margin-bottom: 1.875vw;
        padding: 4.29688vw 0;
        font-size: 3.51562vw; }
        .newcts li:nth-child(1)::before {
          left: 1.5625vw;
          bottom: -0.85938vw;
          width: 6.95312vw;
          height: 7.42188vw;
          background-size: 100%; }
        .newcts li:nth-child(2)::before {
          right: 1.48438vw;
          bottom: -0.9375vw;
          width: 8.75vw;
          height: 7.73438vw;
          background-size: 100%; }
        .newcts li:nth-child(3)::before {
          left: 1.5625vw;
          bottom: -1.40625vw;
          width: 7.73438vw;
          height: 7.34375vw;
          background-size: 100%; } }
  @media screen and (max-width: 768px) {
    .newcts {
      padding: 9.6% 0 12.66667%; }
      .newcts .container {
        max-width: 100%; }
      .newcts .newcts-title {
        width: 89.6vw;
        margin: 0 auto;
        font-size: 6.93333vw;
        padding: 6.66667vw 4vw;
        background-size: 100%;
        line-height: 1.44; }
      .newcts .newcts-lead {
        padding: 6.66667vw 2.66667vw;
        font-size: 3.73333vw; }
      .newcts ul {
        width: 89.33333%;
        margin: 0 auto 10%; }
      .newcts li {
        margin-bottom: 3.2vw;
        padding: 4vw 0;
        font-size: 5.06667vw;
        line-height: 1.42105;
        border-radius: 10px; }
        .newcts li:nth-child(1)::before {
          left: -0.13333vw;
          bottom: -1.6vw;
          width: 11.86667vw;
          height: 12.66667vw;
          background-size: 100%; }
        .newcts li:nth-child(2)::before {
          right: 0;
          bottom: -1.6vw;
          width: 14.93333vw;
          height: 13.2vw;
          background-size: 100%; }
        .newcts li:nth-child(3)::before {
          left: 0;
          bottom: -2.4vw;
          width: 13.2vw;
          height: 12.53333vw;
          background-size: 100%; }
      .newcts .cv-btn {
        width: 89.33333%;
        margin: 0 auto 0; } }

.cv-btn a {
  position: relative;
  display: block;
  padding: 29px 0 40px;
  text-decoration: none;
  color: inherit;
  border: 2px solid #000;
  border-radius: 10px;
  background-color: #f7f5ef;
  -webkit-box-shadow: inset -6px -6px 5px rgba(0, 0, 0, 0.5);
  box-shadow: inset -6px -6px 5px rgba(0, 0, 0, 0.5); }
  .cv-btn a:before {
    content: '';
    position: absolute;
    bottom: 20px;
    right: 20px;
    display: inline-block;
    width: 42px;
    height: 42px;
    background: url(../imgs/icon_cir-right.png) 0 0 no-repeat;
    background-size: 100% auto; }
  .cv-btn a img, .cv-btn a span {
    display: block;
    text-align: center; }
  .cv-btn a img {
    width: 294px;
    margin: 0 auto 20px; }
  .cv-btn a span {
    font-size: 50px;
    font-weight: 500;
    color: inherit;
    text-decoration: none; }

@media screen and (max-width: 1380px) {
  .cv-btn a {
    padding: 2.26562vw 0 3.125vw; }
    .cv-btn a img {
      width: 22.96875vw;
      margin: 0 auto 1.5625vw; }
    .cv-btn a:before {
      bottom: 1.5625vw;
      right: 1.5625vw;
      width: 3.28125vw;
      height: 3.28125vw; }
    .cv-btn a span {
      font-size: 3.90625vw; } }

@media screen and (max-width: 768px) {
  .cv-btn a {
    padding: 3.86667vw 0 4.66667vw;
    -webkit-box-shadow: inset -3px -3px 5px rgba(0, 0, 0, 0.4);
    box-shadow: inset -3px -3px 5px rgba(0, 0, 0, 0.4); }
    .cv-btn a img {
      width: 39.2vw;
      margin: 0 auto 2.66667vw; }
    .cv-btn a:before {
      bottom: 2.66667vw;
      right: 2.66667vw;
      width: 5.6vw;
      height: 5.6vw; }
    .cv-btn a span {
      font-size: 6.66667vw; } }

/* .recommend
---------------------------------------------- */
.recommend {
  padding: 50px 50px 70px;
  background: rgba(7, 154, 62, 0.1); }
  .recommend .recommend-title {
    margin-bottom: 60px;
    padding: 100px 0 40px;
    color: #fff;
    text-align: center;
    background: url(../imgs/bg_recommend_title_pc.png) center bottom no-repeat; }
  .recommend .parts {
    position: absolute;
    top: -25px;
    right: -223px; }
  .recommend .unitwrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between; }
  @media screen and (max-width: 1640px) {
    .recommend .parts {
      position: absolute;
      width: 7.8125vw;
      top: -8.51562vw;
      right: 1.95312vw; } }
  @media screen and (max-width: 1380px) {
    .recommend {
      padding: 3.90625% 3.90625% 5.46875%; }
      .recommend .recommend-title {
        margin-bottom: 4.6875vw;
        padding: 12.10938vw 0 3.90625vw;
        background-size: 100%; }
      .recommend .parts {
        position: absolute;
        width: 7.8125vw;
        top: -8.51562vw;
        right: 1.95312vw; } }
  @media screen and (max-width: 768px) {
    .recommend {
      padding: 2.8% 5.33333% 9.33333%; }
      .recommend .recommend-title {
        margin-bottom: 7.33333vw;
        padding: 10.66667vw 0 3.33333vw;
        background-size: 100%; }
      .recommend .parts {
        position: absolute;
        width: 5.33333vw;
        top: -6.26667vw;
        right: 5.33333vw; } }
  .recommend .unit {
    width: 604px;
    padding: 0 0 37px;
    margin-bottom: 70px;
    background-color: #f7f5ef;
    border-radius: 5px; }
    .recommend .unit:nth-last-child(-n+2) {
      margin-bottom: 0; }
  .recommend .unit-lead {
    padding: 20px 0 35px;
    font-size: 28px;
    line-height: 1.5;
    text-align: center;
    font-weight: 300; }
    .recommend .unit-lead span {
      font-size: 40px;
      display: block;
      font-weight: 500; }
    .recommend .unit-lead strong {
      font-weight: normal;
      color: #079a3e; }
  @media screen and (max-width: 1380px) {
    .recommend .unit {
      width: 47.1875%;
      padding: 0 0 2.89062vw;
      margin-bottom: 5.46875vw; }
    .recommend .unit-lead {
      padding: 1.44928vw 0 2.53623vw;
      font-size: 2.02899vw; }
      .recommend .unit-lead span {
        font-size: 142.85714%; } }
  @media screen and (max-width: 768px) {
    .recommend .unit {
      width: 80.53333vw;
      padding: 0 0 4.93333vw; }
      .recommend .unit:nth-child(n) {
        margin: 0 auto 7.33333vw; }
      .recommend .unit:nth-last-child(-n+1) {
        margin-bottom: 0; }
    .recommend .unit-lead {
      padding: 4vw 0 4.66667vw;
      font-size: 3.73333vw; }
      .recommend .unit-lead span {
        font-size: 142.85714%; } }
  .recommend .unit-detail h4 {
    font-weight: normal;
    margin-bottom: 15px;
    font-size: 24px;
    text-align: center;
    color: #079a3e; }
  .recommend .unit-detail li {
    position: relative;
    border: 2px solid #079a3e;
    border-radius: 5px;
    width: 89.40397%;
    margin: 0 auto; }
    .recommend .unit-detail li:not(:last-child) {
      margin-bottom: 17px; }
    .recommend .unit-detail li:before {
      content: '';
      display: inline-block;
      position: absolute;
      bottom: 5px;
      right: 5px;
      width: 30px;
      height: 30px;
      background: url(../imgs/icon_cir-right_green.png) 0 0 no-repeat;
      background-size: 100% auto; }
    .recommend .unit-detail li a {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      padding: 8px;
      text-decoration: none;
      color: inherit; }
    .recommend .unit-detail li span {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; }
    .recommend .unit-detail li span:first-child {
      -webkit-box-align: center;
      -webkit-align-items: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
      -ms-flex-pack: center;
      justify-content: center;
      width: 120px;
      font-size: 24px;
      line-height: 1.41667;
      color: #fff;
      font-weight: 300;
      text-align: center;
      background: #079a3e;
      border-radius: 5px; }
    .recommend .unit-detail li span:nth-child(2) {
      -webkit-box-pack: center;
      -webkit-justify-content: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-box-flex: 1;
      -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
      flex-grow: 1;
      padding: 7px 0;
      text-align: center;
      font-size: 30px;
      line-height: 1.4;
      color: #221815; }
  @media screen and (max-width: 1380px) {
    .recommend .unit-detail h4 {
      margin-bottom: 1.17188vw;
      font-size: 1.875vw; }
    .recommend .unit-detail li:before {
      bottom: 0.39062vw;
      right: 0.39062vw;
      width: 2.34375vw;
      height: 2.34375vw;
      background: url(../imgs/icon_cir-right_green.png) 0 0 no-repeat;
      background-size: 100% auto; }
    .recommend .unit-detail li a {
      padding: 0.625vw; }
    .recommend .unit-detail li span:first-child {
      width: 9.375vw;
      font-size: 1.875vw; }
    .recommend .unit-detail li span:nth-child(2) {
      padding: 0.54688vw 0;
      font-size: 2.26562vw; } }
  @media screen and (max-width: 768px) {
    .recommend .unit-detail h4 {
      margin-bottom: 2vw;
      font-size: 3.2vw; }
    .recommend .unit-detail li:before {
      bottom: 0.66667vw;
      right: 0.66667vw;
      width: 4vw;
      height: 4vw;
      background: url(../imgs/icon_cir-right_green.png) 0 0 no-repeat;
      background-size: 100% auto; }
    .recommend .unit-detail li:not(:last-child) {
      margin-bottom: 2.26667vw; }
    .recommend .unit-detail li a {
      padding: 1.06667vw; }
    .recommend .unit-detail li span:first-child {
      width: 16vw;
      font-size: 3.2vw; }
    .recommend .unit-detail li span:nth-child(2) {
      display: block;
      padding: 1.33333vw 0;
      font-size: 4vw; } }

.themes {
  padding: 65px 0 120px; }
  .themes .themes-title {
    background-image: url(../imgs/bg_themes_title_pc.png); }
  .themes .parts {
    position: absolute;
    top: -15px;
    left: -272px; }
  .themes .themes-lead {
    padding: 0 0 65px;
    font-size: 20px;
    text-align: center; }
    .themes .themes-lead span {
      color: #000; }
  @media screen and (max-width: 1640px) {
    .themes .parts {
      top: -100px;
      left: -50px; } }
  @media screen and (max-width: 1380px) {
    .themes {
      padding: 5.07812vw 3.90625% 9.375vw; }
      .themes .themes-title {
        background-size: 100%; }
      .themes .parts {
        left: -3.125vw;
        top: -6vw;
        width: 12.5vw; }
      .themes .themes-lead {
        padding: 0 0 5.07812vw;
        font-size: 2.1875vw; } }
  @media screen and (max-width: 768px) {
    .themes {
      padding: 5.73333vw 5.33333% 9.33333vw; }
      .themes .themes-title {
        margin-bottom: 5.33333vw; }
      .themes .parts {
        top: -2.4vw;
        left: 2px;
        width: 10.66667vw; }
      .themes .themes-lead {
        line-height: 1.85714;
        padding: 0 0 5.33333vw;
        font-size: 3.73333vw; } }
  .themes ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    @media screen and (max-width: 768px) {
      .themes ul {
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center; } }
  .themes li {
    position: relative;
    width: 286px;
    font-size: 38px;
    line-height: 1.18421;
    border: 2px solid #72472b;
    border-radius: 5px; }
    .themes li:nth-child(-n+4) {
      margin-bottom: 55px; }
    .themes li a {
      position: relative;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      height: 100%;
      min-height: 124px;
      -webkit-box-align: center;
      -webkit-align-items: center;
      -ms-flex-align: center;
      align-items: center;
      padding: 18px 20px 18px 80px;
      letter-spacing: -0.05em;
      color: #72472b;
      text-align: center;
      text-decoration: none; }
      .themes li a:before {
        position: absolute;
        bottom: 5px;
        right: 5px;
        content: '';
        width: 31px;
        height: 31px;
        background: url(../imgs/icon_cir-right_themes.png) 0 0 no-repeat;
        background-size: 100% auto; }
      .themes li a span {
        width: 100%;
        display: inline-block;
        text-align: center; }
    .themes li:nth-child(1) {
      background: url(../imgs/icon_themes_01.png) 0 0 no-repeat;
      background-size: 39.86014%; }
    .themes li:nth-child(2) {
      background: url(../imgs/icon_themes_02.png) 0 0 no-repeat;
      background-size: 39.86014%; }
    .themes li:nth-child(3) {
      background: url(../imgs/icon_themes_03.png) 0 0 no-repeat;
      background-size: 39.86014%; }
    .themes li:nth-child(4) {
      background: url(../imgs/icon_themes_04.png) 0 0 no-repeat;
      background-size: 39.86014%; }
    .themes li:nth-child(5) {
      background: url(../imgs/icon_themes_05.png) 0 0 no-repeat;
      background-size: 39.86014%; }
    .themes li:nth-child(6) {
      background: url(../imgs/icon_themes_06.png) 0 0 no-repeat;
      background-size: 39.86014%; }
    .themes li:nth-child(7) {
      background: url(../imgs/icon_themes_07.png) 0 0 no-repeat;
      background-size: 39.86014%; }
    .themes li:nth-child(8) {
      background: url(../imgs/icon_themes_08.png) 0 0 no-repeat;
      background-size: 39.86014%; }
    @media screen and (max-width: 1380px) {
      .themes li {
        width: 20.72464vw;
        font-size: 2.75362vw; }
        .themes li:nth-child(-n+4) {
          margin-bottom: 3.98551vw; }
        .themes li a {
          min-height: 9.6875vw;
          padding: 1.30435vw 1.44928vw 1.30435vw 5.7971vw; }
          .themes li a:before {
            bottom: 0.36232vw;
            right: 0.36232vw;
            width: 2.24638vw;
            height: 2.24638vw; } }
    @media screen and (max-width: 768px) {
      .themes li {
        width: 38.13333vw;
        font-size: 5.06667vw; }
        .themes li:nth-child(n) {
          margin: 0 1.15942vw 2.53623vw; }
        .themes li:nth-last-child(-n+2) {
          margin-bottom: 0; }
        .themes li a {
          min-height: 16.53333vw;
          padding: 2.4vw 2.66667vw 2.4vw 9.33333vw; }
          .themes li a:before {
            bottom: 0.66667vw;
            right: 0.66667vw;
            width: 4.13333vw;
            height: 4.13333vw; } }

.premium {
  padding: 80px 0 120px;
  background-color: #f6e9da; }
  .premium .parts {
    position: absolute;
    top: 235px;
    right: -275px; }
  .premium .premium-title {
    line-height: 1.7;
    background-image: url(../imgs/bg_premium_title_pc.png); }
  .premium .premium-title span {
    color: #fff;
    font-size: 20px;
    display: block; }
  .premium .premium-lead-ttl {
    padding: 0 0 30px;
    font-size: 28px;
    text-align: center;
    color: #ef8422; }
  .premium .premium-lead {
    padding: 0 0 70px;
    font-size: 20px;
    line-height: 1.85714;
    text-align: center;
    color: #000; }
  @media screen and (max-width: 1640px) {
    .premium .parts {
      top: -60px;
      right: 0; } }
  @media screen and (max-width: 1380px) {
    .premium {
      padding: 6.25vw 3.90625% 9.375vw; }
      .premium .parts {
        position: absolute;
        top: -3.125vw;
        width: 26.30435vw;
        right: 0; }
      .premium .premium-title {
        background-size: 100%; }
      .premium .premium-title span {
        font-size: 2.1875vw;}
      .premium .premium-lead {
        padding: 0 0 5.46875vw;
        font-size: 2.1875vw; }
      .premium .premium-lead-ttl {
        padding: 3.90625vw 1.95312vw;
        font-size: 3vw; } }
  @media screen and (max-width: 768px) {
    .premium {
      padding: 6.66667vw 5.33333% 11.33333vw; }
      .premium .parts {
        position: absolute;
        top: -4vw;
        width: 22.66667vw;
        right: 0; }
      .premium .premium-title {
        margin-bottom: 5.33333vw;
        background-image: url(../imgs/bg_premium_title_sp.png); }
      .premium .premium-title span {
        font-size: 3vw; }
      .premium .premium-lead {
        line-height: 1.85714;
        padding: 0 0 5.33333vw;
        font-size: 3.73333vw; }
      .premium .premium-lead-ttl {
        padding: 0 0 4vw;
        font-size: 6.1333vw; } }
  .premium ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between; }
  .premium li {
    width: 32%;
    background-color: #f7f5ef;
    border-radius: 5px;
    padding: 1px }
    .premium li h4 {
      font-weight: bold;
      margin-bottom: 15px;
      padding: 40px 0 0;
      font-size: 24px;
      color: #ef8422;
      text-align: center; }  
    .premium li p {
      padding: 0 30px 20px;
      font-size: 18px;
      line-height: 1.85714;
      text-align: left;
      line-height: 1.85714;
      text-align: left;
      }
    .premium li .fee {
      font-size: 22px;
      text-align: center;}
    .premium .more {
      display: block;
      margin: 0 auto 40px;
      text-align: center;
      color: #fff;
      padding: 15px 0;
      font-size: 24px;
      text-align: center;
      background: #ef8422;
      width: 210px;
      height: 60px;
      border-radius: 5px;
    }
    .premium .more a {
      color: #fff;
      text-decoration: none;
    }
    .premium .more a:valid {
      color: #fff;
    }
    .premium .more a::after {
      content: '';
      width: 25px;
      height: 25px;
      background: url(../imgs/icon_cir-right_wh.png) no-repeat;
      margin-left: 10px;
      display: inline-block;
      transform: translateY(3px); /* 上下方向の位置調整 */ }
  @media screen and (max-width: 1380px) {
    .premium li {
      /* width: 33.76812vw; */ }
      .premium li p {
        font-size: 2.02899vw; } }
  @media screen and (max-width: 768px) {
    .premium ul {
      display: block; }
    .premium li {
      width: 80.53333vw;
      margin: 0 auto; }
      .premium li:not(:last-child) {
        margin-bottom: 6vw; }
      .premium li p {
        padding: 0 4vw 3vw ;
        font-size: 2.9986vw; }
      .premium li h4 {
        padding: 7.33333vw 0 0;
        font-size: 4.22916vw;}
      .premium li .fee {
        font-size: 3.6533vw;}
      .premium .more {
        margin: 0 auto 7.33333vw ;
        padding: 2vw 0;
        font-size: 3.6533vw;
        width: 35.06666vw;
        height: 10vw; }
        .premium .more a::after {
          width: 7vw;
          height: 7vw;
          margin-left: 1.3333vw;
          display: inline-block;
          transform: scale(0.6);
          vertical-align: middle;} }

.cv {
  padding: 35px 0 115px;
  color: #fff; }
  .cv .cv-catch {
    padding: 95px 0 45px;
    font-size: 62px;
    text-align: center;
    background: url(../imgs/parts_cv_03.png) center top no-repeat; }
  .cv .cv-parts {
    position: absolute; }
  .cv .cv-parts01 {
    top: -62px;
    left: -142px; }
  .cv .cv-parts02 {
    top: -45px;
    right: -226px; }
  .cv .cv-btn {
    color: #000;
    margin-bottom: 0; }
  @media screen and (max-width: 1640px) {
    .cv .cv-parts01 {
      left: 0; }
    .cv .cv-parts02 {
      right: 0; } }
  @media screen and (max-width: 1380px) {
    .cv {
      padding: 0 3.90625% 0; }
      .cv .cv-catch {
        padding: 7.42188vw 0 3.51562vw;
        font-size: 4.49275vw;
        text-align: center;
        background-size: 15.39062vw; }
      .cv .cv-parts01 {
        top: -45px;
        left: 0;
        width: 18.67188vw; }
      .cv .cv-parts02 {
        top: -45px;
        right: 0;
        width: 20.70312vw; } }
  @media screen and (max-width: 768px) {
    .cv {
      padding: 5.85938vw 5.20833% 14.32292vw; }
      .cv .cv-catch {
        padding: 11.33333vw 0 4.66667vw;
        font-size: 5.20833vw;
        text-align: center;
        background-size: 22.26667vw; }
      .cv .cv-parts01 {
        top: -11.33333vw;
        left: 0;
        width: 19.2vw; }
      .cv .cv-parts02 {
        top: -11.33333vw;
        right: 0;
        width: 20.93333vw; } }

/* .free
---------------------------------------------- */
.free {
  padding: 50px 50px 70px;
  background: #dee6db }
  .free .free-title {
    margin-bottom: 60px;
    padding: 100px 0 40px;
    color: #fff;
    text-align: center;
    background: url(../imgs/bg_free_title_pc.png) center bottom no-repeat; }
  .free-lead {
    font-size: 20px;
    text-align: center;
    color: #000;
    padding: 0 0 70px;
  }
  .free .unitwrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between; }
  @media screen and (max-width: 1640px) {
     }
  @media screen and (max-width: 1380px) {
    .free {
      padding: 3.90625% 3.90625% 5.46875%; }
      .free .free-title {
        margin-bottom: 4.6875vw;
        padding: 12.10938vw 0 3.90625vw;
        background-size: 100%; } 
      .free-lead {
        padding: 0 0 5.07812vw;
        font-size: 2.1875vw; }}
  @media screen and (max-width: 768px) {
    .free{
      padding: 2.8% 5.33333% 9.33333%; }
      .free .free-title {
        margin-bottom: 7.33333vw;
        padding: 10.66667vw 0 3.33333vw;
        background-size: 100%; }
      .free-lead {
        line-height: 1.85714;
        padding: 0 0 5.33333vw;
        font-size: 3.73333vw; }
      .free .unitwrap {
        margin-left: 0;
        } }
  .free .unit_one {
    width: 100%;
    padding: 40px 20px;
    margin-bottom: 70px;
    background-color: #f7f5ef;
    border-radius: 5px;}
  .free .unit {
    width: 604px;
    padding: 0 0 37px;
    margin-bottom: 70px;
    background-color: #f7f5ef;
    border-radius: 5px; }
    .free .unit:nth-last-child(-n+2) {
      margin-bottom: 0; }
  .free .unit-lead {
    padding: 20px 0 35px;
    font-size: 28px;
    line-height: 1.5;
    text-align: center;
    font-weight: 300; }
    .free .unit-lead span {
      font-size: 40px;
      display: block;
      font-weight: 500; }
    .free .unit-lead strong {
      font-weight: normal;
      color: #079a3e; }
  @media screen and (max-width: 1380px) {
    .free .unit_one {
      padding: 0 0 2.89062vw;
      margin-bottom: 5.46875vw; }
    .free .unit {
      width: 47.1875%;
      padding: 0 0 2.89062vw;
      margin-bottom: 5.46875vw; }
    .free .unit-lead {
      padding: 1.44928vw 0 2.53623vw;
      font-size: 2.02899vw; }
      .free .unit-lead span {
        font-size: 142.85714%; } }
  @media screen and (max-width: 768px) {
    .free .unit_one{
      width: 80.53333vw;
      padding: 0 0 4.93333vw; }
      .free .unit_one:nth-child(n) {
        margin: 0 auto 7.33333vw; }
    .free .unit {
      width: 80.53333vw;
      padding: 0 0 6.666vw; }
      .free .unit:nth-child(n) {
        margin: 0 auto 7.33333vw; }
      .free .unit:nth-last-child(-n+1) {
        margin-bottom: 0; }
    .rfree .unit-lead {
      padding: 4vw 0 4.66667vw;
      font-size: 3.73333vw; }
      .free .unit-lead span {
        font-size: 142.85714%; } }
  .free .unit_one .unit-detail h4 {
    font-weight: bold;
    margin-bottom: 15px;
    font-size: 24px;
    color: #00602e;
    text-align: center; }  
  .free .unit_one .unit-detail .icon1::before {
    content: url(../imgs/icon_free_01.png);
    vertical-align: middle;
    padding-right: 20px;
     }
  .free .unit .unit-detail .icon2::before {
    content: url(../imgs/icon_free_02.png);
    vertical-align: middle;
    padding-right: 20px;
    }
  .free .unit .unit-detail .icon3::before {
    content: url(../imgs/icon_free_03.png);
    vertical-align: middle;
    padding-right: 20px;
      }
  .free .unit_one .unit-pic {
    float: left;
    width: 50%;
    text-align: center;
    padding: 50px 10px;
  }
  .free .unit_one .unit-detail {
    float: left;
    width: 50%;
    padding: 40px 30px;
  }
  .free .unit .unit-detail {
    padding: 40px 30px;
    ext-align: center;
  }
  .free .unit-detail h4 {
    font-weight: bold;
    margin-bottom: 15px;
    font-size: 24px;
    text-align: center;
    color: #00602e; }
  .free .unit-detail p {
    font-size: 18px;
    color: #000;
    line-height: 1.85714;
    text-align: left;
  }
  .free .unit-detail li {
    position: relative;
    border: 2px solid #00602e;
    border-radius: 5px;
    width: 89.40397%;
    margin: 0 auto; }
    .free .unit-detail li:not(:last-child) {
      margin-bottom: 17px; }
    .free .unit-detail li:before {
      content: '';
      display: inline-block;
      position: absolute;
      bottom: 5px;
      right: 5px;
      width: 30px;
      height: 30px;
      background: url(../imgs/icon_cir-right_green.png) 0 0 no-repeat;
      background-size: 100% auto; }
    .free .unit-detail li a {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      padding: 8px;
      text-decoration: none;
      color: inherit; }
    .free .unit-detail li span {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; }
    .free .unit-detail li span:first-child {
      -webkit-box-align: center;
      -webkit-align-items: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
      -ms-flex-pack: center;
      justify-content: center;
      width: 120px;
      font-size: 24px;
      line-height: 1.41667;
      color: #fff;
      font-weight: 300;
      text-align: center;
      background: #079a3e;
      border-radius: 5px; }
    .free .unit-detail li span:nth-child(2) {
      -webkit-box-pack: center;
      -webkit-justify-content: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-box-flex: 1;
      -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
      flex-grow: 1;
      padding: 7px 0;
      text-align: center;
      font-size: 30px;
      line-height: 1.4;
      color: #221815; }
  @media screen and (max-width: 1380px) {
    .free .unit-detail h4 {
      margin-bottom: 1.17188vw;
      font-size: 1.875vw; }
    .free .unit-detail p {
      font-size: 2.02899vw;}
    .free .unit-detail li:before {
      bottom: 0.39062vw;
      right: 0.39062vw;
      width: 2.34375vw;
      height: 2.34375vw;
      background: url(../imgs/icon_cir-right_green.png) 0 0 no-repeat;
      background-size: 100% auto; }
    .free .unit-detail li a {
      padding: 0.625vw; }
    .free .unit-detail li span:first-child {
      width: 9.375vw;
      font-size: 1.875vw; }
    .free.unit-detail li span:nth-child(2) {
      padding: 0.54688vw 0;
      font-size: 2.26562vw; } }
  @media screen and (max-width: 768px) {
    .free .unit_one .unit-detail h4, .free .unit .unit-detail h4 {
      margin-bottom: 1.953125vw;
      font-size: 4.22916vw; }  
    .free .unit_one .unit-detail .icon1::before {
      display: inline-block;
      padding-right: 2.60416vw;
      transform: scale(0.6);
       }
    .free .unit .unit-detail .icon2::before {
      display: inline-block;
      padding-right: 2.60416vw;
      transform: scale(0.6);
      }
    .free .unit .unit-detail .icon3::before {
      display: inline-block;
      padding-right: 2.60416vw;
      transform: scale(0.6);
      }
    .free .unit .unit-detail {
      padding: 5.33333vw 4vw 0;
    }
    .free .unit-detail p {
      font-size: 2.9986vw;
    }
    .free .unit_one .unit-pic {
      float: none;
      width: 100%;
      padding: 6.66666vw 10px 0;
    }
    .free .unit_one .unit-detail {
      float: none;
      width: 100%;
      padding: 5.33333vw 4vw 0 ;
    }
    .free .unit-detail li:before {
      bottom: 0.66667vw;
      right: 0.66667vw;
      width: 4vw;
      height: 4vw;
      background: url(../imgs/icon_cir-right_green.png) 0 0 no-repeat;
      background-size: 100% auto; }
    .free .unit-detail li:not(:last-child) {
      margin-bottom: 2.26667vw; }
    .free .unit-detail li a {
      padding: 1.06667vw; }
    .free .unit-detail li span:first-child {
      width: 16vw;
      font-size: 3.2vw; }
    .free.unit-detail li span:nth-child(2) {
      display: block;
      padding: 1.33333vw 0;
      font-size: 4vw; } }






.footer {
  text-align: center;
  padding: 105px 0 100px; }
  .footer .producedby {
    margin-bottom: 35px;
    vertical-align: middle;
    font-size: 21px; }
    .footer .producedby span:first-child {
      display: inline-block;
      padding: 0 40px 0 0; }
    .footer .producedby img {
      vertical-align: middle; }
  .footer small {
    display: block;
    font-size: 100%; }
  .footer .note {
    margin-bottom: 25px; }
  @media screen and (max-width: 1380px) {
    .footer {
      padding: 8.20312vw 0 7.8125vw; }
      .footer .producedby {
        margin-bottom: 2.73438vw;
        font-size: 1.52174vw; }
        .footer .producedby span:first-child {
          padding: 0 3.125vw 0 0; }
        .footer .producedby img {
          width: 21.44928vw; }
      .footer p, .footer small {
        font-size: 1.25vw; }
      .footer .note {
        margin-bottom: 1.95312vw; } }
  @media screen and (max-width: 768px) {
    .footer {
      padding: 4.66667vw 0 6vw; }
      .footer .producedby {
        margin-bottom: 4.66667vw;
        font-size: 2.8vw; }
        .footer .producedby span:first-child {
          padding: 0 5.33333vw 0 0;
          font-weight: 500; }
        .footer .producedby img {
          width: 39.46667vw; }
      .footer p, .footer small {
        font-size: 2.13333vw; }
      .footer .note {
        margin-bottom: 3.33333vw; } }

/* Utility Classes */
.is-hidden {
  display: none !important; }

.is-unvisible {
  visibility: hidden; }

.is-show {
  display: block !important; }
