@charset "UTF-8";
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

h1 {
  font-size: 2.2em;
}

h2 {
  font-size: 2em;
}

h3 {
  font-size: 1.8em;
}

h4 {
  font-size: 1.6em;
}

h5 {
  font-size: 1.4em;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

table {
  border-collapse: collapse;
  border-spacing: 0;
}

a {
  padding: 0;
  text-decoration: none;
  outline: none;
}

input, button {
  background: none;
  border: none;
  outline: none;
}

button {
  font-size: inherit;
  line-height: inherit;
}

textarea {
  resize: none;
}

select:focus,
textarea:focus,
input:focus {
  outline: none;
}

/* =======================
 * * VARIABLES
 * * set the default values according to your preference.
 * * ======================= */
/* font styles */
/* colors */
/* =======================
 * * MIXINS
 * * reusable block of styles
 * * ======================= */
/* =======================
 * * HELPER CLASS
 * * ======================= */
body {
  max-width: 1950px;
  margin: auto;
}

* {
  box-sizing: border-box;
}

/** 
 * * COLORS
 * */
.color--black {
  color: #414141 !important;
}

.color--gray {
  color: #afafaf !important;
}

.color--darkgray {
  color: #707070 !important;
}

.color--white {
  color: #fff !important;
}

.color--blue {
  color: #79AE34 !important;
}

.color--lightblue {
  color: #f6fff5 !important;
}

.color--redorange {
  color: #ff5943 !important;
}

.color--yellow {
  color: #FFFF4D !important;
}

.color--deepgreen {
  color: #009966 !important;
}

/** 
 * * FONTS
 * */
.font--1 {
  font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro", "メイリオ", sans-serif !important;
  font-weight: bold;
}

.font--2 {
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif !important;
}

.font--3 {
  font-family: "Poppins", sans-serif !important;
}

.font--bold {
  font-weight: bold;
}

.font--weight-600 {
  font-weight: 600;
}

.font--italic {
  font-style: italic;
}

.font--upcase {
  text-transform: uppercase;
}

.font--shadow {
  text-shadow: 1px 1px 1px rgba(64, 64, 64, 0.53);
}

.font--left {
  text-align: left !important;
}

.font--right {
  text-align: right;
}

.font--center {
  text-align: center;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro", "メイリオ", sans-serif;
}

p, span, label, a, i, strong, li {
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
}

/** 
 * * FRAME & HOLDERS
 * */
.frame {
  position: relative;
  z-index: 2;
  overflow: hidden;
}
.frame.overflow--visible {
  overflow: visible;
}

.frame__limit {
  position: relative;
  z-index: 2;
  width: 75%;
  max-width: 1950px;
  margin: auto;
  padding: 100px 0px;
}

.frame__header {
  position: relative;
  margin-bottom: 35px;
}
.frame__header.size--43 * {
  font-size: 43px;
  line-height: 69px;
}
.frame__header.size--40 * {
  font-size: 40px;
  line-height: 66px;
}
.frame__header.size--36 * {
  font-size: 36px;
  line-height: 52px;
}
.frame__header.size--34 * {
  font-size: 34px;
  line-height: 50px;
}
.frame__header.size--32 * {
  font-size: 32px;
  line-height: 48px;
}
.frame__header * {
  font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro", "メイリオ", sans-serif !important;
  font-size: 26px;
  line-height: 40px;
  font-weight: bold;
}

.frame__desc.size--22 * {
  font-size: 22px;
  line-height: 36px;
}
.frame__desc.size--20 * {
  font-size: 20px;
  line-height: 34px;
}
.frame__desc.size--18 * {
  font-size: 18px;
  line-height: 32px;
}
.frame__desc.size--14 * {
  font-size: 14px;
  line-height: 28px;
}
.frame__desc.size--13 * {
  font-size: 13px;
  line-height: 27px;
}
.frame__desc.size--12 * {
  font-size: 12px;
  line-height: 26px;
}
.frame__desc * {
  font-size: 16px;
  line-height: 26px;
  color: #414141;
}
.size--10 {
  font-size: 10px !important;
}
.mr-30 {
  margin-right: 30px;
}

/** 
 * * FRAME BACKGROUND
 * */
.frame__bg {
  position: absolute;
  top: 0px;
  left: 0px;
  background-repeat: no-repeat !important;
  background-position: center center !important;
}
.frame__bg.bring--front {
  z-index: -1;
}
.frame__bg.bring--back {
  z-index: -2;
}
.frame__bg.size--cover {
  background-size: cover;
}
.frame__bg.size--contain {
  background-size: contain;
}
.frame__bg.align--r {
  left: auto;
  right: 0;
}
.frame__bg.align--l {
  left: 0;
}
.frame__bg.align--c {
  left: 50%;
  transform: translateX(-50%);
}

.frame__bg-overlay {
  position: absolute;
  top: 0px;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
}
.frame__bg-overlay.bg-color--white {
  background: rgba(255, 255, 255, 0.53);
}
.frame__bg-overlay.bg-color--black {
  background: rgba(0, 0, 0, 0.45);
}
.frame__bg-overlay.bg-color--blue {
  background: rgba(53, 68, 139, 0.93);
}

/** 
 * * IMAGES
 * * prerequisite: parent container
 * * purpose: showing its original state according to the
 * width and height of the parent / holder.
 * */
.img-fit {
  position: absolute;
  top: 0px;
  left: 0px;
  right: 0px;
  bottom: 0px;
  max-width: 100%;
  max-height: 100%;
  margin: auto;
}
.img-fit.size--90 {
  max-width: 90% !important;
  max-height: 90% !important;
}
.img-fit.size--55 {
  max-width: 55% !important;
  max-height: 55% !important;
}
.img-fit.size--50 {
  max-width: 50% !important;
  max-height: 50% !important;
}
.img-fit.size--40 {
  max-width: 40% !important;
  max-height: 40% !important;
}

.icon {
  position: relative;
}
.icon.size--25px {
  width: 25px;
  height: 25px;
}
.icon.has--marginl {
  margin-left: 12px;
}
.icon.has--marginr {
  margin-right: 12px;
}

/** 
 * * BUTTON
 * */
.btn {
  position: relative;
  display: block;
  width: 190px;
  margin-top: 50px;
  padding: 0;
  text-align: center;
  background: #ff5943;
  border: 2px solid #ff5943;
  border-radius: 50px;
  box-sizing: border-box;
  outline: none;
  cursor: pointer;
  transition: all 0.15s linear;
}
.btn:hover {
  background: transparent;
}
.btn:hover .btn__text {
  color: #ff5943;
}
.btn:hover .btn__icon {
  transform: translateX(3px) translateY(-50%);
}
.btn:hover .btn__icon.icon--1 {
  opacity: 0;
}
.btn:hover .btn__icon.icon--2 {
  opacity: 1;
}
.btn.white {
  background: #fff;
  border: 2px solid #fff;
  box-shadow: 2px 2px 8px rgba(79, 174, 34, 0.25);
}
.btn.white .btn__text {
  color: #79AE34;
}
.btn.white:hover {
  background: transparent;
}
.btn.white:hover .btn__text {
  color: #fff !important;
}
.btn.outline--blue {
  background: #fff;
  border: 2px solid #009966;
  box-shadow: 2px 2px 8px rgba(00, 99, 66, 0.25);
}
.btn.outline--blue .btn__text {
  color: #009966;
}
.btn.outline--blue:hover {
  background: #009966;
}
.btn.outline--blue:hover .btn__text {
  color: #fff;
}
.btn.size--l {
  width: 365px;
  padding: 0px 55px !important;
}
.btn.size--l .btn__text {
  padding: 33px 0px;
  font-size: 22px;
}
.btn.size--l .btn__icon {
  right: 55px;
  width: 15px;
}
.btn.has--icon {
  padding: 0px 25px;
}
.btn.has--icon .btn__text {
  text-align: left;
}
.btn.align--r {
  margin-left: auto;
}
.btn.align--l {
  margin-right: auto;
}
.btn.align--c {
  margin: auto;
  margin-top: 50px;
}
.btn a {
  width: 100%;
}

.btn__text {
  width: 100%;
  padding: 15px 10px;
  font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro", "メイリオ", sans-serif;
  font-size: 15px;
  font-weight: bold;
  color: #fff;
  transition: all 0.15s linear;
}

.btn__icon {
  position: absolute;
  top: 50%;
  right: 25px;
  z-index: 1;
  width: 10px;
  height: auto;
  transform: translateY(-50%);
  transition: all 0.15s linear;
}
.btn__icon.icon--2 {
  opacity: 0;
  z-index: 2;
}

/** 
 * * FORMS & FIELDS
 * */
.form__row {
  position: relative;
  margin-bottom: 25px;
}
.form__row.display__inline > * {
  width: 48%;
}
.form__row.display__inline > *:first-child,
.form__row.display__inline > *:nth-child(2n+1) {
  margin-right: 4%;
}
.form__row.display__inline > *.field-for--en {
  margin-right: 0px !important;
}
.form__row.display__inline.by-3 > * {
  width: 30.666%;
}
.form__row.display__inline.by-3 > *:nth-child(1),
.form__row.display__inline.by-3 > *:nth-child(2) {
  margin-right: 4%;
}
.form__row.display__inline.by-3 > *:last-child {
  margin-right: 0%;
}

.form__label {
  position: relative;
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-size: 16px;
  line-height: 26px;
  color: #414141;
  font-weight: bold;
}
.form__label.no-text {
  height: 20px;
}

.apply-border {
  width: 100%;
  padding: 7px 15px;
  background: #F7F7F7;
  border: 1px solid #DEDEDE;
  border-radius: 5px;
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-size: 16px;
  color: #414141;
}
.apply-border::placeholder {
  color: #afafaf;
}

.select-holder {
  background: #fff;
  position: relative;
}
.select-holder.apply-border {
  padding: 0;
}
.select-holder.is--disabled {
  background: #f1f1f1 !important;
}
.select-holder.is--disabled .apply-border {
  border: 1px solid #bfbfbf;
}
.select-holder::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  z-index: 0;
  width: 0px;
  height: 0px;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid #ababab;
  transform: translateY(-50%);
}

select {
  width: 100%;
  height: 46px;
  text-indent: 5px;
  background: transparent !important;
  border: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  color: #333;
  cursor: pointer;
}
select:invalid {
  color: gray !important;
}
select option {
  color: #1D1D1D;
}

textarea {
  height: 180px !important;
}

input:read-only,
textarea:read-only {
  background: #f1f1f1 !important;
}
input:read-only.bg--white,
textarea:read-only.bg--white {
  background: #fff !important;
}

.form__checkbox {
  margin: 10px 0px;
}
.form__checkbox input {
  width: 16px;
  height: 16px;
  margin: auto;
}
.form__checkbox label {
  width: calc(100% - 16px);
  padding-left: 10px;
  font-size: 15px;
}

.form__error {
  display: none;
  margin-top: 10px;
  font-size: 14px;
  color: #ff5943;
}

.ajax-errors {
  list-style: disc;
  margin-left: 25px;
}
.ajax-errors li {
  margin-bottom: 5px;
  font-size: 16px;
  line-height: 26px;
  color: #ff5943;
}

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
input[type=number] {
  -moz-appearance: textfield;
}

/** 
 * * WIDTH & HEIGHT
 * */
.full {
  width: 100%;
  height: 100%;
}

/** 
 * * COLUMNS
 * */
.by-2 > * {
  width: 50%;
}
.by-2 > *:first-child, .by-2 > *:nth-child(2n+1) {
  margin-left: 0%;
}
.by-2.border--s > * {
  width: 49.5%;
}
.by-2.border--m > * {
  width: 49.25%;
}
.by-2.border--l > * {
  width: 49%;
}
.by-2.border--xl > * {
  width: 48.5%;
}
.by-2.border--xxl > * {
  width: 47.5%;
}

.by-3 > * {
  width: 33.333%;
}
.by-3 > *:first-child, .by-3 > *:nth-child(3n+1) {
  margin-left: 0%;
}
.by-3.border--s > * {
  width: 32.666666667%;
}
.by-3.border--m > * {
  width: 32.333333333%;
}
.by-3.border--l > * {
  width: 32%;
}
.by-3.border--xl > * {
  width: 30.333333333%;
}
.by-3.border--xxl > * {
  width: 30%;
}

.by-4 > * {
  width: 25%;
}
.by-4 > *:first-child, .by-4 > *:nth-child(4n+1) {
  margin-left: 0%;
}
.by-4.border--s > * {
  width: 24.25%;
}
.by-4.border--m > * {
  width: 23.875%;
}
.by-4.border--l > * {
  width: 23.5%;
}
.by-4.border--xl > * {
  width: 22.75%;
}
.by-4.border--xxl > * {
  width: 21.25%;
}

.by-5 > * {
  width: 20%;
}
.by-5 > *:first-child, .by-5 > *:nth-child(5n+1) {
  margin-left: 0%;
}
.by-5.border--s > * {
  width: 19.2%;
}
.by-5.border--m > * {
  width: 18.8%;
}
.by-5.border--l > * {
  width: 18.4%;
}
.by-5.border--xl > * {
  width: 17.6%;
}
.by-5.border--xxl > * {
  width: 16%;
}

.border--s > * {
  margin-left: 1%;
}

.border--m > * {
  margin-left: 1.5%;
}

.border--l > * {
  margin-left: 2%;
}

.border--xl > * {
  margin-left: 3%;
}

.border--xxl > * {
  margin-left: 5%;
}

/** 
 * * DISPLAY
 * */
.display__inline {
  font-size: 0;
}
.display__inline > * {
  display: inline-block;
  vertical-align: middle;
}
.display__inline.align--t > * {
  vertical-align: top;
}
.display__inline.align--b > * {
  vertical-align: bottom;
}

.display__table {
  position: relative;
  display: table;
  width: 100%;
  height: 100%;
}

.display__table-cell {
  display: table-cell;
  vertical-align: middle;
}
.display__table-cell.align--t {
  vertical-align: top;
}
.display__table-cell.align--b {
  vertical-align: bottom;
}

.no-margin--b {
  margin-bottom: 0px !important;
}

/** 
 * * SCROLLBAR
 * */
.scroll--custom {
  padding-right: 4px;
  overflow-y: auto;
}
.scroll--custom::-webkit-scrollbar-track {
  background-color: #f0f0f0;
}
.scroll--custom::-webkit-scrollbar {
  width: 5px;
  height: 5px;
  background-color: #f0f0f0;
}
.scroll--custom::-webkit-scrollbar-thumb {
  height: 2px;
  background-color: #ddd;
}

body::-webkit-scrollbar-track {
  background-color: #fff;
  -webkit-box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.15);
}
body::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}
body::-webkit-scrollbar-thumb {
  height: 5px;
  background-color: #ff5943;
  border-radius: 10px;
}

/** 
 * * CUSTOM TABLE
 * */
.tableholder {
  position: relative;
  overflow: auto;
}
.tableholder::-webkit-scrollbar-track {
  background-color: #f6fff5;
}
.tableholder::-webkit-scrollbar {
  width: 5px;
  height: 5px;
  background-color: #f6fff5;
}
.tableholder::-webkit-scrollbar-thumb {
  height: 2px;
  background-color: #79AE34;
}

table {
  border-collapse: collapse;
}
table tr:nth-child(odd) {
  background: #F5F8FD;
}
table tr:nth-child(even) {
  background: #E5EFFF;
}
table th, table td {
  vertical-align: middle;
  padding: 12px 15px;
  font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro", "メイリオ", sans-serif;
  font-size: 15px;
  line-height: 25px;
  border: 1px solid white;
}
table th {
  background: #79AE34;
  font-weight: bold;
  color: #fff !important;
}

/** 
 * * CUSTOM MODAL
 * */
.modal-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.45);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.modal-holder {
  position: fixed;
  top: 0px;
  left: 0px;
  z-index: -9999;
  width: 100%;
  height: 100%;
  overflow: auto;
  padding: 15px;
  text-align: center;
  opacity: 0;
  visibility: hidden;
}
.modal-holder::after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  height: 100%;
  margin-left: -0.5em;
}
.modal-holder.is-active {
  z-index: 9999;
  opacity: 1;
  visibility: visible;
}

.modal {
  position: relative;
  z-index: 2;
  display: inline-block;
  vertical-align: middle;
  max-width: 850px;
  width: 100%;
  overflow: hidden;
  margin-left: -9px;
  margin-bottom: 10px;
  padding: 0px;
  background: #fff;
  border-radius: 5px;
  outline: 0;
  transform: translate3d(0, 0, 0);
}
.modal.size--m {
  max-width: 600px;
}
.modal.size--s {
  max-width: 400px;
}

.modal-close {
  position: absolute;
  top: 0;
  right: 0;
  padding: 5px 10px;
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
}
.modal-close:hover {
  color: #cecece;
}

.modal-contents {
  padding: 30px;
}

/**
 * * ANIMATE
 * */
.js-fadeIn {
  opacity: 0;
  transform: translateY(35px);
}

/* =====================
 * * GENERAL CLASSES
 * * ===================== */
.page {
  margin-top: 80px;
}

/* ==================================================================================== */
/* ==================================================================================== */
@media screen and (max-width: 1600px) {
  .frame__limit {
    width: 80%;
  }
}
@media screen and (max-width: 1380px) {
  .frame__limit {
    width: 90%;
  }
}
@media screen and (max-width: 1250px) {
  .frame__header.size--43 * {
    font-size: 39px;
    line-height: 65px;
  }
  .frame__header.size--40 * {
    font-size: 37px;
    line-height: 63px;
  }
  .frame__header.size--36 * {
    font-size: 32px;
    line-height: 47px;
  }
  .frame__header.size--34 * {
    font-size: 30px;
    line-height: 45px;
  }
  .frame__header.size--32 * {
    font-size: 28px;
    line-height: 43px;
  }
  .frame__header * {
    font-size: 23px;
    line-height: 37px;
  }

  .frame__desc.size--22 * {
    font-size: 20px;
    line-height: 34px;
  }
  .frame__desc.size--20 * {
    font-size: 18px;
    line-height: 32px;
  }
  .frame__desc.size--18 * {
    font-size: 16px;
    line-height: 30px;
  }
  .frame__desc * {
    font-size: 15px;
    line-height: 25px;
    color: #414141;
  }
}
@media screen and (max-width: 1150px) {
  .btn.size--l {
    width: 280px;
    padding: 0px 30px !important;
  }
  .btn.size--l .btn__icon {
    right: 30px;
  }
  .btn.size--l .btn__text {
    padding: 22px 0px;
    font-size: 18px;
  }
}
@media screen and (max-width: 1100px) {
  .page {
    margin-top: 70px;
  }

  .frame__limit {
    padding: 90px 0px;
  }
}
@media screen and (max-width: 1000px) {
  .frame__header.size--32 * {
    font-size: 26px;
    line-height: 41px;
  }
}
@media screen and (max-width: 850px) {
  .page {
    margin-top: 60px;
  }
}
@media screen and (max-width: 700px) {
  .page {
    margin-top: 57px;
  }

  .frame__limit {
    padding: 40px 0px;
  }

  .frame__header {
    margin-bottom: 25px;
  }
  .frame__header.size--43 * {
    font-size: 26px;
    line-height: 41px;
  }
  .frame__header.size--40 * {
    font-size: 24px;
    line-height: 39px;
  }
  .frame__header.size--36 * {
    font-size: 23px;
    line-height: 38px;
  }
  .frame__header.size--34 * {
    font-size: 22px;
    line-height: 37px;
  }
  .frame__header.size--32 * {
    font-size: 20px;
    line-height: 35px;
  }
  .frame__header * {
    font-size: 21px;
    line-height: 35px;
  }

  .frame__desc.size--20 * {
    font-size: 16px;
    line-height: 30px;
  }
  .frame__desc.size--18 * {
    font-size: 14px;
    line-height: 28px;
  }
  .frame__desc.size--13 * {
    line-height: 25px;
  }
  .frame__desc * {
    font-size: 13px;
    line-height: 27px;
    color: #414141;
  }

  .btn__text {
    font-size: 14px;
  }

  .form__label {
    font-size: 15px;
  }
}
@media screen and (max-width: 600px) {
  .btn.size--l {
    width: 240px;
    padding: 0px 28px !important;
  }
  .btn.size--l .btn__icon {
    right: 28px;
  }
  .btn.size--l .btn__text {
    padding: 20px 0px;
    font-size: 15pxf;
  }

  .btn.align--c {
    margin-top: 35px;
  }
}
@media screen and (max-width: 400px) {
  .page {
    margin-top: 50px;
  }
}
/* =====================
 * * HEADER
 * * ===================== */
header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
  width: 100%;
  overflow: hidden;
  background: white;
  box-shadow: 1px 1px 10px 1px rgba(0, 0, 0, 0.1);
  transition: all 0.15s ease;
}
header.on-scroll {
  background: rgba(255, 255, 255, 0.96);
}
header.on-scroll .header__limit {
  padding: 10px 0px;
}

.header__limit {
  width: 90%;
  margin: auto;
  padding: 18px 0px;
}

.header__limit {
  transition: all 0.15s ease;
}

.header__logoholder {
  position: relative;
  width: 215px;
}

.header__logo {
  width: 100%;
}

.header__linksholder {
  position: relative;
  width: calc(100% - 215px);
}

.header__link {
  margin-left: 70px;
}
.header__link.is-active .header__text, .header__link:hover .header__text {
  color: #ff5943 !important;
}
.header__link.link--request {
  margin-top: 0px;
}
.header__link.link--request.is-active {
  background: transparent;
}
.header__link.link--request.is-active .btn__text {
  color: #ff5943;
}

.header__text {
  font-size: 16px;
  transition: all 0.15s ease;
}

/* ==================================================================================== */
/* ==================================================================================== */
@media screen and (max-width: 1500px) {
  .header__limit {
    width: 94%;
  }

  .header__logoholder {
    width: 200px;
  }

  .header__linksholder {
    width: calc(100% - 200px);
  }

  .header__link {
    margin-left: 50px;
  }

  .header__text {
    font-size: 15px;
  }
}
@media screen and (max-width: 1100px) {
  .header__limit {
    padding: 12px 0px;
    position: relative;
  }

  .header__logoholder {
    width: 180px;
  }

  .header__linksholder {
    width: calc(100% - 180px);
  }
}
@media screen and (max-width: 850px) {
  .header__logoholder {
    width: 160px;
  }

  .header__linksholder {
    width: calc(100% - 160px);
  }

  .header__link {
    margin-left: 30px;
  }

  .header__text {
    font-size: 14px;
  }

  .header__link.link--request {
    width: 160px;
  }
  .header__link.link--request .btn__text {
    padding: 11px 8px;
    font-size: 14px;
  }
}
@media screen and (max-width: 700px) {
  .header__link {
    margin-left: 20px;
  }

  .header__text {
    font-size: 13px;
  }

  .header__link.link--request {
    width: 130px;
  }
  .header__link.link--request .btn__text {
    padding: 8px;
    font-size: 13px;
  }
}
@media screen and (max-width: 600px) {
  .header__link {
    display: none;
  }
  .header__link.link--request {
    display: inline-block;
    margin-left: auto;
  }
}
@media screen and (max-width: 400px) {
  .header__limit {
    padding: 10px 0px;
  }

  .header__logoholder {
    width: 125px;
  }

  .header__linksholder {
    width: calc(100% - 125px);
  }

  .header__link.link--request {
    width: 125px;
  }
  .header__link.link--request .btn__text {
    font-size: 12px;
  }
}
.mobile-menu {
  display: none;
}

header {
  overflow: visible;
}

@media screen and (max-width: 600px) {
  .header__spMenuContainer {
    display: none;
    position: absolute;
    background-color: #79AE34;
    top: 60px;
    left: 0;
    width: 100%;
    text-align: center;
  }
}
@media screen and (max-width: 600px) {
  .header__spMenuContainer {
    top: 55px;
  }

  .header__spMenu {
    padding: 26px 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
  }

  .header__spMenuText {
    margin-right: 35px;
    display: block;
    font-size: 14px;
  }
  .header__spMenuText:last-child {
    margin-right: 0;
  }

  .mobile-menu {
    padding: 8px 11px;
    background-color: #F5F5F5;
    border-radius: 50%;
    margin-left: 12px;
    display: inline-block;
  }

  .bar {
    margin: 3px auto;
    width: 12px;
    height: 2px;
    display: block;
    background: #79AE34;
    transition: all 0.7s ease;
  }

  .bars {
    cursor: pointer;
    display: inline-block;
    margin: 0 auto;
    width: auto;
    transition: all 0.7s ease;
  }
  .bars.bars-clicked .bar {
    background-color: #79AE34;
  }
  .bars.bars-clicked .menu-bar {
    width: auto;
    display: inline-block;
    text-align: center;
    height: auto;
    position: relative;
    z-index: 100;
  }

  .middle {
    margin: 0 auto;
  }

  .bars-clicked .top {
    transform: translateY(4px) rotateZ(45deg);
  }
  .bars-clicked .bottom {
    transform: translateY(-6px) rotateZ(-45deg);
  }
  .bars-clicked .middle {
    width: 0;
  }
}
/* =====================
 * * FOOTER
 * * ===================== */
.footer__limit {
  width: 90%;
  margin: auto;
  padding: 50px 0px;
}

.footer__logoholder {
  position: relative;
  width: 200px;
  height: 40px;
  margin: auto;
}

/* ==================================================================================== */
/* ==================================================================================== */
@media screen and (max-width: 1500px) {
  .footer__limit {
    width: 94%;
  }
}
@media screen and (max-width: 400px) {
  .footer__limit {
    padding: 35px 0px;
  }

  .footer__logoholder {
    width: 100%;
    height: 28px;
  }
}
/* =====================
 * * CALL TO ACTION
 * * ===================== */
.ps-calltoaction__bg-img {
  opacity: 0.65;
}

.ps-calltoaction__bg-overlay {
  background: rgba(156, 156, 156, 0.3);
}

.ps-calltoaction__header h1.mobile {
  display: none;
}
.ps-calltoaction__header * {
  text-shadow: 1px 2px 2px rgba(0, 0, 0, 0.3);
}

.ps-calltoaction__btn.btn {
  margin-top: 0px;
  box-shadow: 3px 3px 20px rgba(0, 0, 0, 0.15);
}
.ps-calltoaction__btn.btn:hover {
  background: rgba(255, 255, 255, 0.8);
}

/* ==================================================================================== */
/* ==================================================================================== */
@media screen and (max-width: 600px) {
  .ps-calltoaction__btn.btn {
    margin-top: 0px !important;
  }

  .ps-calltoaction__header h1.desktop {
    display: none;
  }
  .ps-calltoaction__header h1.mobile {
    display: block;
    font-size: 24px !important;
  }
}
@media screen and (max-width: 400px) {
  .ps-calltoaction__limit.frame__limit {
    padding: 45px 0px;
  }
}
/* =====================
 * * BANNER (SUBPAGES)
 * * ===================== */
.ps-banner__bg-overlay {
  background: rgba(79, 174, 34, 0.6);
}

.ps-banner__limit {
  height: 403px;
}

.ps-banner__header.frame__header {
  margin-bottom: 15px;
  text-shadow: 1px 2px 2px rgba(0, 0, 0, 0.3);
}

.ps-banner__desc {
  text-shadow: 1px 2px 2px rgba(0, 0, 0, 0.3);
}

/* ==================================================================================== */
/* ==================================================================================== */
@media screen and (max-width: 1250px) {
  .ps-banner__limit {
    height: 350px;
  }
}
@media screen and (max-width: 700px) {
  .ps-banner__bg-overlay {
    background: rgba(79, 174, 34, 0.71);
  }

  .ps-banner__limit.frame__limit {
    width: 95%;
    height: 160px;
    padding: 0px;
  }

  .ps-banner__header.frame__header {
    margin-bottom: 5px;
  }
  .ps-banner__header.frame__header.size--43 > * {
    font-size: 20px;
    line-height: 34px;
  }

  .ps-banner__desc.size--18 > * {
    font-size: 12px;
    line-height: 20px;
  }
}
/* =====================
 * * HOME PAGE
 * * ===================== */
#ketsugi-preloader {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  width: 100%;
  height: 100%;
  background: #fff;
}

.ketsugi-preloader__logoholder {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 265px;
  height: 50px;
}

.ketsugi-preloader__logo {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 50px;
  height: 50px;
  transform: translateX(107px);
}

.ketsugi-preloader__logo-shadow {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -10px;
  width: 20px;
  height: 5px;
  border-radius: 30%;
  background: rgba(0, 0, 0, 0.15);
}

.ketsugi-preloader__logo-text {
  position: absolute;
  /* top: 50%; */
  transform: translateY(-50%);
  right: 0;
  width: 204px;
  height: 30px;
  opacity: 0;
}

.ketsugi-preloader__logo img,
.ketsugi-preloader__logo-text img {
  width: 100%;
  height: auto;
}

.ketsugi-preloader__bar,
.ketsugi-preloader__percentage {
  opacity: 0;
  visibility: hidden;
}

.psh-intro__bg-overlay {
  left: auto;
  right: 12.5%;
  width: 660px;
  height: 100%;
}

.psh-intro__device {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0px;
  z-index: 1;
}

.psh-intro__circle {
  position: absolute;
  top: 9%;
  right: -10px;
  z-index: 2;
  width: 186px;
  height: 186px;
}
.psh-intro__circle::before, .psh-intro__circle::after {
  content: "";
  position: absolute;
  border-radius: 50%;
}
.psh-intro__circle::before {
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  background: #fff;
}
.psh-intro__circle::after {
  top: -12px;
  left: -12px;
  z-index: 1;
  width: 210px;
  height: 210px;
  background: rgba(79, 174, 34, 0.4);
}
.psh-intro__circle > * {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
  width: 100%;
  padding: 0px 10px;
}
.kome {
  font-size: 8px !important;
  color: #999;
  padding-top: 5px;
}

.psh-intro__limit.frame__limit {
  padding: 170px 0px;
}

.psh-intro__textholder {
  position: relative;
  width: 430px;
}

.psh-intro__text {
  position: relative;
}
.psh-intro__text.text--1 {
  width: 100%;
  margin-bottom: 20px;
}
.psh-intro__text.text--1 .reduce-spacing {
  margin-left: -5px;
}
.psh-intro__text.text--2 {
  width: 372px;
  height: auto;
}

.psh-intro__text-line {
  position: absolute;
  bottom: 10%;
}
.psh-intro__text-line.line--1 {
  left: 0;
}
.psh-intro__text-line.line--2 {
  right: 0;
}

.psh-intro__btn.btn {
  width: 300px;
  padding: 0px 50px;
  box-shadow: 3px 3px 20px rgba(0, 0, 0, 0.15);
}
.psh-intro__btn.btn .btn__text {
  padding: 25px 0px;
  font-size: 18px;
}
.psh-intro__btn.btn .btn__icon {
  right: 50px;
  width: 12px;
  height: auto;
}
.psh-intro__name {
  font-size: 140% !important;
  font-weight: bold;
  margin-top: 5px;
}

.psh-intro__bg.mobile,
.psh-intro__imgholder.mobile,
.psh-intro__gradient.mobile,
.psh-samples__thumbnail.mobile,
.psh-samples__desc .mobile,
.psh-features__item-img,
.psh-features__item-title .mobile,
.psh-features__item-desc .mobile,
.psh-functions__header .mobile,
.psh-functions__desc .mobile,
.psh-services__header .mobile,
.psh-services__desc .mobile {
  display: none;
}

.psh-samples__limit.frame__limit {
  padding: 180px 0px;
}

.psh-samples__bg-shape {
  left: auto;
  right: 0;
  z-index: 1;
  width: 60%;
  height: 100%;
  background: #f6fff5;
}

.psh-samples__thumbnail {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0%;
  z-index: 2;
  width: 900px;
  height: auto;
}

.psh-samples__textholder {
  width: 600px;
  margin-left: auto;
}

.psh-samples__header .reduce-spacing {
  margin-left: -15px;
}

.psh-features__limit.frame__limit {
  width: 100% !important;
  padding-bottom: 0px !important;
}

.psh-features__header.frame__header {
  margin-bottom: 0px;
}

.psh-features__item {
  position: relative;
  margin: auto;
  padding: 100px 12.5%;
}
.psh-features__item.even {
  background: #f6fff5;
}
.psh-features__item.even .psh-features__item-diagram__bg {
  left: auto;
  right: 0px;
}
.psh-features__item.even .psh-features__item-diagram__inner {
  margin-left: auto;
  margin-right: 80px;
}
.psh-features__item.even .psh-features__item-textholder {
  padding-left: 70px;
  padding-right: 0px;
}
.psh-features__item:last-child {
  margin-bottom: 0px !important;
}

.psh-features__item-diagram {
  position: relative;
}

.psh-features__item-diagram__bg {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  z-index: 1;
  width: 455px;
  height: 455px;
  background: #f6fff5;
  border-radius: 50%;
}

.psh-features__item-diagram__inner {
  position: relative;
  z-index: 2;
  width: 420px;
  margin-left: 80px;
}

.psh-features__item-textholder {
  padding-right: 70px;
}

.psh-features__item-number {
  position: relative;
  width: 60px;
  margin-bottom: 25px;
  font-size: 36px;
}
.psh-features__item-number::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0px;
  width: 2px;
  height: 90%;
  background: #79AE34;
}

.psh-features__item-title.frame__header {
  margin-bottom: 25px;
}

.psh-functions__desc {
  margin-bottom: 50px;
}

.psh-functions__item,
.psh-services__desc {
  position: relative;
  margin-bottom: 50px;
}

.psh-functions__item-iconholder {
  position: relative;
  width: 180px;
  height: 180px;
  margin: auto;
  margin-bottom: 25px;
  background: #F5F5F5;
  border-radius: 50%;
}

.psh-functions__item-title {
  font-size: 18px;
  line-height: 24px;
}

.psh-prices__list {
  position: relative;
  width: 90%;
  margin: auto;
}

.psh-prices__box {
  padding: 35px;
  background: white;
  border-radius: 12px;
}

.psh-prices__box-title {
  position: relative;
  margin-bottom: 63px;
}
.psh-prices__box-title::before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -33px;
  width: 24px;
  height: 3px;
  background: #414141;
}

.psh-prices__box-amount {
  position: relative;
  display: inline-block;
  background: linear-gradient(transparent 80%, #FFFF4D 60%);
  font-size: 76px;
}
.psh-prices__box-amount span {
  font-size: 60px;
}

.psh-service {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  box-shadow: 3px 3px 20px rgba(0, 0, 0, 0.15);
}

.psh-service__title {
  position: relative;
  padding: 15px;
  background: #009966;
}

.psh-service__body {
  transition: all 0.15s ease;
}
.psh-service__body:hover {
  background: rgba(79, 174, 34, 0.03);
}
.psh-service__body:hover .psh-service__desc.desc--1 > * {
  color: #79AE34 !important;
}
.psh-service__body:hover .img-fit {
  transform: scale(1.05);
}
.psh-service__body a {
  display: inline-block;
  padding: 35px;
}

.psh-service__logoholder {
  position: relative;
  width: 100%;
  height: 50px;
  margin-bottom: 20px;
}
.psh-service__logoholder .img-fit {
  transition: all 0.15s ease;
}

.psh-service__desc.desc--1 {
  margin-bottom: 15px;
}
.psh-service__desc.desc--1 > * {
  transition: all 0.15s ease;
}

/* ==================================================================================== */
/* ==================================================================================== */
@media screen and (max-width: 1780px) {
  .psh-samples__thumbnail {
    left: -3%;
  }
}
@media screen and (max-width: 1700px) {
  .psh-samples__thumbnail {
    left: -5%;
  }

  .psh-samples__textholder {
    width: 500px;
  }
}
@media screen and (max-width: 1600px) {
  .psh-intro__bg-overlay {
    right: 10%;
  }

  .psh-features__item {
    padding: 80px 10%;
  }
}
@media screen and (max-width: 1580px) {
  .psh-samples__bg-shape {
    width: 1000px;
  }

  .psh-samples__thumbnail {
    width: 800px;
  }
}
@media screen and (max-width: 1500px) {
  .psh-intro__bg-overlay {
    width: 600px;
  }

  .psh-samples__limit.frame__limit {
    padding: 150px 0px;
  }
}
@media screen and (max-width: 1430px) {
  .psh-samples__thumbnail {
    width: 730px;
  }

  .psh-service__logoholder {
    height: 40px;
  }

  .psh-service__body a {
    padding: 28px 25px;
  }
}
@media screen and (max-width: 1380px) {
  .psh-intro__bg-overlay {
    right: 5%;
  }

  .psh-features__item {
    padding: 80px 5%;
  }

  .psh-samples__bg-shape {
    width: 900px;
  }

  .psh-samples__thumbnail {
    width: 780px;
  }
}
@media screen and (max-width: 1330px) {
  .psh-samples__thumbnail {
    width: 700px;
  }
}
@media screen and (max-width: 1250px) {
  .psh-intro__bg-overlay {
    width: 550px;
  }

  .psh-intro__device {
    width: 100%;
  }

  .psh-intro__circle {
    top: 8%;
    width: 165px;
    height: 165px;
  }
  .psh-intro__circle::after {
    width: 190px;
    height: 190px;
  }

  .psh-intro__limit.frame__limit {
    padding: 140px 0px;
  }

  .psh-intro__textholder {
    width: 385px;
  }

  .psh-intro__text.text--2 {
    width: 320px;
  }

  .psh-intro__text-line {
    width: 24px;
  }

  .psh-intro__btn.btn {
    width: 270px;
    padding: 0px 35px;
  }
  .psh-intro__btn.btn .btn__text {
    padding: 22px 0px;
    font-size: 17px;
  }

  .psh-samples__limit.frame__limit {
    padding: 130px 0px;
  }

  .psh-samples__thumbnail {
    width: 600px;
  }

  .psh-features__item.even .psh-features__item-textholder {
    padding-left: 0px;
  }

  .psh-features__item-diagram__inner {
    width: 100%;
    margin-left: 0px;
  }

  .psh-features__item-textholder {
    padding: 0px;
  }

  .psh-functions__list.by-4 > * {
    width: 250px;
    margin: 10px;
  }
  .psh-functions__list.by-4 > *:first-child, .psh-functions__list.by-4 > *:nth-child(4n+1) {
    margin-left: 10px;
  }

  .psh-services__list.by-3 > * {
    width: 350px;
    margin: 15px;
  }
  .psh-services__list.by-3 > *:first-child, .psh-services__list.by-3 > *:nth-child(3n+1) {
    margin-left: 15px;
  }
}
@media screen and (max-width: 1150px) {
  .psh-samples__thumbnail {
    width: 550px;
  }

  .psh-prices__list {
    width: 100%;
  }

  .psh-prices__box-amount {
    font-size: 55px;
  }
  .psh-prices__box-amount span {
    font-size: 42px;
  }
}
@media screen and (max-width: 1100px) {
  .psh-intro__bg-overlay {
    display: none;
  }

  .psh-intro__gradient.mobile {
    position: absolute;
    top: 0px;
    left: 0px;
    z-index: 2;
    width: 100%;
    height: 100%;
    display: block;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.9), transparent) !important;
  }

  .psh-intro__limit.frame__limit {
    padding-top: 70px;
    padding-bottom: 0px;
  }

  .psh-intro__textholder {
    margin: auto;
    margin-bottom: 50px;
  }

  .psh-intro__imgholder.mobile {
    position: relative;
    display: block;
    width: 550px;
    margin: auto;
  }

  .psh-intro__device {
    position: relative !important;
    left: auto !important;
    bottom: -3px !important;
    transform: translateX(0px) !important;
  }

  .psh-intro__circle {
    top: -8%;
    right: -45px;
  }

  .psh-samples__bg-shape {
    width: 100%;
    height: 80%;
  }

  .psh-samples__limit.frame__limit {
    padding: 90px 0px;
    padding-bottom: 0px !important;
  }

  .psh-samples__textholder {
    width: 100%;
    text-align: center !important;
    margin-bottom: 50px;
  }

  .psh-samples__thumbnail {
    display: none;
  }
  .psh-samples__thumbnail.mobile {
    position: relative;
    top: auto;
    left: auto;
    display: block;
    margin: auto;
    transform: translate(0px, 0px);
  }
}
@media screen and (max-width: 1000px) {
  .psh-features__limit.frame__limit {
    width: 100%;
    padding-bottom: 0px;
  }

  .psh-features__item {
    margin-bottom: 0px;
    padding: 60px 0px;
  }

  .psh-features__item-textholder {
    display: block !important;
    width: 90% !important;
    margin: auto !important;
    text-align: center !important;
  }

  .psh-features__item-diagram {
    display: none;
  }

  .psh-features__item-number {
    width: 30px;
    margin: auto;
    margin-bottom: 25px;
    padding-bottom: 8px;
    border-bottom: 2px solid #79AE34;
    font-size: 25px;
  }
  .psh-features__item-number::after {
    display: none;
  }

  .psh-features__item-img {
    display: block;
    width: 300px;
    margin: 30px auto;
  }

  .psh-features__item-btn.btn {
    margin: auto;
    margin-top: 35px;
  }
}
@media screen and (max-width: 900px) {
  .psh-prices__list.by-2 > * {
    display: block;
    width: 400px;
    margin: auto !important;
  }
  .psh-prices__list.by-2 > *:first-child {
    margin-bottom: 25px !important;
  }
}
@media screen and (max-width: 800px) {
  .psh-features__item-img {
    width: 250px;
  }
}
@media screen and (max-width: 700px) {
  .psh-intro__bg.frame__bg.desktop {
    display: none;
  }
  .psh-intro__bg.frame__bg.mobile {
    display: block;
  }

  .psh-intro__limit.frame__limit {
    padding-top: 40px;
  }

  .psh-intro__textholder {
    width: 100%;
  }

  .psh-intro__text.text--1 {
    width: 280px;
    margin: auto;
    margin-bottom: 18px;
  }
  .psh-intro__text.text--1 * {
    font-size: 17px;
    line-height: 30px;
  }
  .psh-intro__text.text--2 {
    width: 320px;
  }

  .psh-intro__text-line {
    width: 18px;
  }

  .psh-intro__btn.btn {
    width: 220px;
    margin-top: 40px;
    padding: 0px 25px;
  }
  .psh-intro__btn.btn .btn__text {
    padding: 18px 0px;
    font-size: 15px;
  }
  .psh-intro__btn.btn .btn__icon {
    right: 25px;
  }

  .psh-samples__limit.frame__limit {
    padding: 40px 0px;
  }

  .psh-intro__imgholder.mobile {
    width: 450px;
  }

  .psh-intro__circle {
    top: -6%;
    right: -25px;
    width: 125px;
    height: 125px;
  }
  .psh-intro__circle::after {
    top: -10px;
    left: -10px;
    width: 145px;
    height: 145px;
  }
  .psh-intro__circle.size--20 * {
    font-size: 14px;
    line-height: 19px;
  }

  .psh-samples__textholder {
    margin-bottom: 40px;
  }

  .psh-features__item {
    padding: 40px 0px;
  }

  .psh-features__item-number {
    width: 25px;
    font-size: 22px;
    font-weight: 600;
  }

  .psh-features__item-title .desktop,
.psh-features__item-desc .desktop,
.psh-functions__header .desktop,
.psh-functions__desc .desktop,
.psh-services__header .desktop,
.psh-services__desc .desktop {
    display: none;
  }
  .psh-features__item-title .mobile,
.psh-features__item-desc .mobile,
.psh-functions__header .mobile,
.psh-functions__desc .mobile,
.psh-services__header .mobile,
.psh-services__desc .mobile {
    display: block;
  }

  .psh-functions__list.by-4 > * {
    width: 180px;
    margin: 15px;
  }
  .psh-functions__list.by-4 > *:first-child, .psh-functions__list.by-4 > *:nth-child(4n+1) {
    margin-left: 15px;
  }

  .psh-prices__header.frame__header * {
    font-size: 25px;
  }

  .psh-prices__box {
    padding: 20px;
  }

  .psh-prices__box-title {
    margin-bottom: 33px;
  }
  .psh-prices__box-title::before {
    bottom: -15px;
  }

  .psh-service__title * {
    font-size: 17px !important;
    line-height: 32px !important;
  }

  .psh-services__desc.frame__desc * {
    font-size: 14px;
    line-height: 28px;
  }
}
@media screen and (max-width: 650px) {
  .psh-samples__thumbnail.mobile {
    width: 100%;
  }
}
@media screen and (max-width: 600px) {
  .psh-samples__desc .desktop {
    display: none;
  }
  .psh-samples__desc .mobile {
    display: block;
  }

  .psh-features__item-desc {
    text-align: left !important;
  }

  .psh-functions__desc {
    margin-bottom: 25px;
  }

  .psh-functions__list.by-4 > * {
    width: 155px;
  }

  .psh-functions__item-iconholder {
    width: 100%;
    height: 155px;
  }

  .psh-functions__desc.frame__desc * {
    font-size: 14px;
    line-height: 28px;
  }

  .psh-functions__item-title {
    font-size: 16px;
    line-height: 30px;
  }

  .psh-services__desc {
    text-align: left !important;
  }
}
@media screen and (max-width: 550px) {
  .psh-intro__imgholder.mobile {
    width: 100%;
  }
}
@media screen and (max-width: 465px) {
  .psh-intro__circle {
    top: -6%;
    right: -25px;
    width: 110px;
    height: 110px;
  }
  .psh-intro__circle::after {
    width: 130px;
    height: 130px;
  }
  .psh-intro__circle.size--20 * {
    font-size: 12px !important;
    line-height: 17px !important;
  }
}
@media screen and (max-width: 450px) {
  .psh-prices__list.by-2 > * {
    width: 100%;
  }
}
@media screen and (max-width: 420px) {
  .psh-services__list.by-3 > * {
    width: 100%;
    margin: auto;
    margin-bottom: 25px;
  }
  .psh-services__list.by-3 > *:first-child, .psh-services__list.by-3 > *:nth-child(3n+1) {
    margin-left: 0px;
  }
  .psh-services__list.by-3 > *:last-child {
    margin-bottom: 0px !important;
  }
}
@media screen and (max-width: 412px) {
  .psh-functions__list.by-4 > * {
    width: 154px;
    margin: auto !important;
    margin-left: 20px !important;
    margin-bottom: 20px !important;
  }
  .psh-functions__list.by-4 > *:first-child, .psh-functions__list.by-4 > *:nth-child(2n+1) {
    margin-left: 0% !important;
  }

  .psh-functions__item-iconholder {
    height: 154px;
  }
}
@media screen and (max-width: 400px) {
  .psh-samples__bg-shape {
    height: 85%;
  }
}
@media screen and (max-width: 370px) {
  .psh-intro__text.text--1 {
    width: 260px;
  }
  .psh-intro__text.text--2 {
    width: 100%;
  }

  .psh-intro__circle {
    top: -10%;
  }

  .psh-prices__box-amount {
    font-size: 40px;
  }
  .psh-prices__box-amount span {
    font-size: 30px;
  }
}
@media screen and (max-width: 365px) {
  .psh-intro__text.text--1 {
    width: 260px;
  }
  .psh-intro__text.text--2 {
    width: 100%;
  }

  .psh-functions__list.by-4 > * {
    width: 120px;
    margin: 12px;
  }
  .psh-functions__list.by-4 > *:first-child, .psh-functions__list.by-4 > *:nth-child(4n+1) {
    margin-left: 12px;
  }

  .psh-functions__item-iconholder {
    height: 120px;
  }
}
@media screen and (max-width: 350px) {
  .psh-features__item-img {
    width: 100%;
  }
}
/* =====================
 * * FEATURES PAGE
 * * ===================== */
.ketsugi-features {
  background: #f6fff5;
}

.psf-item {
  position: relative;
  margin-bottom: 30px;
  padding: 100px;
  background: white;
}
.psf-item:last-child {
  margin-bottom: 0px;
}

.psf-item__num,
.psf-item__imgholder,
.psf-item__subtitle {
  margin-bottom: 35px;
}

.psf-item__num {
  position: relative;
  display: inline-block;
  padding: 10px;
  font-size: 40px;
}
.psf-item__num::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 50px;
  height: 3px;
  background: #79AE34;
  transform: translateX(-50%);
}

.psf-item__imgholder {
  position: relative;
  width: 100%;
  height: 300px;
}
.psf-item__imgholder .img-fit.mobile {
  display: none;
}

.psf-item__header .mobile,
.psf-item__subtitle .mobile {
  display: none;
}

/* ==================================================================================== */
/* ==================================================================================== */
@media screen and (max-width: 1250px) {
  .psf-item {
    padding: 75px;
  }

  .psf-item__num {
    font-size: 36px;
  }
}
@media screen and (max-width: 1000px) {
  .psf-item {
    padding: 50px 25px;
  }

  .psf-item__imgholder .img-fit.desktop {
    display: none;
  }
  .psf-item__imgholder .img-fit.mobile {
    display: block;
  }
}
@media screen and (max-width: 700px) {
  .psf-item {
    margin-bottom: 20px;
    padding: 30px 25px;
  }

  .psf-item__num {
    font-size: 25px;
  }
  .psf-item__num::before {
    width: 30px;
  }

  .psf-item__header .desktop,
.psf-item__subtitle .desktop {
    display: none;
  }
  .psf-item__header .mobile,
.psf-item__subtitle .mobile {
    display: block;
  }

  .psf-item__subtitle {
    margin-bottom: 20px;
  }
  .psf-item__subtitle.size--22 > * {
    font-size: 17px;
    line-height: 31px;
  }

  .psf-item__imgholder {
    height: auto;
  }
  .psf-item__imgholder .img-fit {
    position: relative;
    max-width: 100%;
  }
}
@media screen and (max-width: 360px) {
  .psf-item {
    padding: 20px 10px;
  }
}
/* =====================
 * * FUNCTIONS / PRICES PAGE
 * * ===================== */
.ketsugi-functionsprices {
  background: #f6fff5;
}

.psfp-functions__limit.frame__limit {
  padding-bottom: 0px;
}

.psfp-functions__contents,
.psfp-prices__contents {
  padding: 100px;
  background: #fff;
}

.psfp-functions__contents {
  padding-bottom: 50px;
}

.psfp-functions__header.frame__header,
.psfp-prices__header.frame__header {
  margin-bottom: 50px;
  padding-bottom: 10px;
}
.psfp-functions__header.frame__header::before,
.psfp-prices__header.frame__header::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 50px;
  height: 3px;
  background: #79AE34;
  transform: translateX(-50%);
}

.psfp-function {
  position: relative;
  margin-bottom: 50px;
}

.psfp-function__iconholder {
  position: relative;
  width: 180px;
  height: 180px;
  margin: auto;
  margin-bottom: 25px;
  background: #F5F5F5;
  border-radius: 50%;
}

.psfp-function__name {
  margin-bottom: 25px;
}

.psfp-prices__limit.frame__limit {
  padding-top: 30px;
}

.psfp-prices__tableholder {
  position: relative;
  width: 100%;
}

#psfp-table {
  margin-bottom: 25px;
}
#psfp-table th:first-child, #psfp-table td:first-child {
  width: 195px;
  text-align: left;
}
#psfp-table th:last-child, #psfp-table td:last-child {
  text-align: left;
}
#psfp-table td:first-child, #psfp-table td:nth-child(2), #psfp-table td:nth-child(3) {
  font-weight: bold;
}
#psfp-table td:nth-child(2), #psfp-table td:nth-child(3) {
  font-family: "Poppins", sans-serif;
  font-size: 24px;
  color: #79AE34;
}
#psfp-table td:nth-child(2) .currency, #psfp-table td:nth-child(3) .currency {
  font-size: 19px;
}
#psfp-table td:last-child {
  font-size: 14px;
}

.psfp-prices__disclaimer.frame__desc > * {
  line-height: 20px;
}
.psfp-prices__disclaimer .mobile {
  display: none;
}

/* ==================================================================================== */
/* ==================================================================================== */
@media screen and (max-width: 1400px) {
  .psfp-functions__contents,
.psfp-prices__contents {
    padding: 70px 50px;
  }

  .psfp-functions__contents {
    padding-bottom: 20px;
  }
}
@media screen and (max-width: 1260px) {
  #psfp-table {
    width: 1050px !important;
  }

  .psfp-prices__disclaimer {
    margin-top: 35px;
  }
}
@media screen and (max-width: 1250px) {
  .psfp-functions__contents {
    padding-bottom: 35px;
  }

  .psfp-functions__list.by-3 > * {
    width: 350px;
    margin: 0px 35px !important;
    margin-bottom: 35px !important;
  }
}
@media screen and (max-width: 1100px) {
  .psfp-functions__list.by-3 > * {
    width: 320px;
    margin: 0px 25px !important;
    margin-bottom: 35px !important;
  }
}
@media screen and (max-width: 1000px) {
  .psfp-functions__contents,
.psfp-prices__contents {
    padding: 50px;
  }

  .psfp-functions__contents {
    padding-bottom: 25px;
  }

  .psfp-functions__list.by-3 > * {
    margin-bottom: 25px !important;
  }
}
@media screen and (max-width: 700px) {
  .ketsugi-functionsprices {
    background: white;
  }

  .psfp-functions__header .frame__header::before,
.psfp-prices__header .frame__header::before {
    width: 43px;
  }

  .psfp-functions__contents,
.psfp-prices__contents {
    padding: 0px;
  }

  .psfp-functions__header.size--32 *,
.psfp-functions__header.size--32 * {
    font-size: 20px;
    line-height: 34px;
  }

  .psfp-functions__list.by-3 > * {
    margin-bottom: 40px !important;
  }

  .psfp-function__iconholder {
    width: 100%;
    height: auto;
    background: white;
  }
  .psfp-function__iconholder .img-fit {
    position: relative;
    max-width: 100% !important;
    max-height: 100% !important;
  }

  .psfp-function__name {
    margin-bottom: 15px;
  }

  .psfp-prices__disclaimer .desktop {
    display: none;
  }
  .psfp-prices__disclaimer .mobile {
    display: block;
  }
}
@media screen and (max-width: 400px) {
  .psfp-functions__list.by-3 > * {
    width: 100%;
    margin: auto !important;
    margin-bottom: 40px !important;
  }
}
@media screen and (max-width: 350px) {
  .psfp-banner .ps-banner__limit.frame__limit {
    height: 180px;
  }
}
/* =====================
 * * CONTACT PAGE
 * * ===================== */
.ketsugi-contact {
  background: #fff;
}

.psc-formholder {
  border-bottom: 1px solid #E6E6E6;
}

#psc-form {
  width: 700px;
  margin: auto;
}
#psc-form .form__label {
  width: 40%;
  margin-right: 0px;
}
#psc-form .form__fieldholder {
  width: calc(100% - 40%);
  padding-left: 5%;
}

#psc-formBtn {
  margin-top: 20px;
  width: 294px;
}
.recaptcha_contact div{

  margin: 80px auto 0 auto;
}
.send-btn{
  opacity:0.6;
}
#psc-formBtn .btn__text {
  padding: 27px 10px;
}

/* ==================================================================================== */
/* ==================================================================================== */
@media screen and (max-width: 830px) {
  #psc-form {
    width: 100%;
  }
}
@media screen and (max-width: 700px) {
  #psc-formBtn {
    width: 232px;
  }
  #psc-formBtn .btn__text {
    padding: 20px 10px;
  }
}
@media screen and (max-width: 600px) {
  #psc-form .form__label,
#psc-form .form__fieldholder {
    width: 100%;
    padding: 0px;
  }
  #psc-form .form__fieldholder {
    margin-top: 10px;
  }

  #psc-formBtn {
    margin-top: 40px;
  }
}
