@charset "UTF-8";
/* CSS Document */
/*! destyle.css v3.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
*,
:after,
:before {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

body {
  margin: 0;
}

main {
  display: block;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

address,
blockquote,
dl,
figure,
form,
iframe,
ol,
p,
pre,
table,
ul {
  margin: 0;
}

ol,
ul {
  padding: 0;
  list-style: none;
}

dt {
  font-weight: 700;
}

dd {
  margin-left: 0;
}

hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  height: 0;
  overflow: visible;
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

pre {
  font-family: monospace;
  font-size: inherit;
}

address {
  font-style: inherit;
}

a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

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

b,
strong {
  font-weight: bolder;
}

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

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;
}

embed,
iframe,
img,
object,
svg {
  vertical-align: bottom;
}

button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit;
}

[type=checkbox] {
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
       appearance: checkbox;
}

[type=radio] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
       appearance: radio;
}

[type=button],
[type=reset],
[type=submit],
button {
  cursor: pointer;
}

[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled,
button:disabled {
  cursor: default;
}

:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

fieldset,
option {
  padding: 0;
}

fieldset {
  margin: 0;
  min-width: 0;
}

legend {
  padding: 0;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

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

[type=search] {
  outline-offset: -2px;
}

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

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

label[for] {
  cursor: pointer;
}

details {
  display: block;
}

summary {
  display: list-item;
}

[contenteditable]:focus {
  outline: auto;
}

table {
  border-color: inherit;
  border-collapse: collapse;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: 700;
}

/* base */
* {
  position: relative;
  z-index: 1;
}

body {
  color: #56514e;
  font-family: "Zen Kaku Gothic New", "Century Gothic", sans-serif;
  font-size: 1.1458333333vw;
  font-weight: 400;
  text-align: justify;
  background-color: #d5ece5;
  width: 100%;
  overflow-x: hidden;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  body {
    font-size: 3.8461538462vw;
  }
}

p,
h2 {
  line-height: 1.8;
}

a {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

a:hover {
  opacity: 0.7;
}

img {
  max-width: 100%;
  height: auto;
}

.flexbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  .flexbox {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.inner {
  width: 75vw;
  margin: auto;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  .inner {
    width: 84.6153846154vw;
  }
}

.clear {
  clear: both;
}

.nopc {
  display: none;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  .nopc {
    display: block;
  }
}

@media screen and (max-width: 780px) and (orientation: portrait) {
  .nosp {
    display: none;
  }
}
.f_regular {
  font-weight: 400;
}

.f_medium {
  font-weight: 500;
}

.f_bold {
  font-weight: 700;
}

.t_left {
  text-align: left;
}

.t_center {
  text-align: center;
}

.t_right {
  text-align: right;
}

.green {
  color: #00a273;
}

/* common */
header {
  background-color: #fff;
  width: 100%;
  height: 3.90625vw;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-box-shadow: 0 0.2604166667vw 0.5208333333vw RGBa(0, 0, 0, 0.16);
          box-shadow: 0 0.2604166667vw 0.5208333333vw RGBa(0, 0, 0, 0.16);
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  header {
    height: 29.4871794872vw;
    -webkit-box-shadow: none;
            box-shadow: none;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    -webkit-box-shadow: 0 0.641025641vw 1.2820512821vw RGBa(0, 0, 0, 0.16);
            box-shadow: 0 0.641025641vw 1.2820512821vw RGBa(0, 0, 0, 0.16);
  }
  header.open {
    background-color: #fff;
  }
}
header .inner {
  width: 75vw;
  height: 3.90625vw;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  header .inner {
    width: 84.6153846154vw;
    height: 14.1025641026vw;
    padding: 0;
    z-index: 999;
  }
}
header h1 {
  width: 5.2083333333vw;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  header h1 {
    width: 15.3846153846vw;
    position: absolute;
    top: 3.2051282051vw;
    left: 0;
  }
}
header .nav_mark {
  height: 0.1041666667vw;
  background-color: #ffbf00;
  display: block;
  position: absolute;
  bottom: 0;
  width: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  header .nav_mark {
    display: none;
  }
}
header nav {
  overflow: hidden;
}
header nav ul {
  font-weight: 400;
  width: 63.5416666667vw;
  gap: 3.3854166667vw;
}
header nav ul li a {
  font-size: 0.8333333333vw;
}
header nav ul li .contactbtn {
  color: #fff;
  font-size: 0.8333333333vw;
  font-weight: 700;
  width: 11.4583333333vw;
  height: 3.90625vw;
  padding-left: 4.1666666667vw;
  padding-right: 2.2916666667vw;
  margin-left: -1.3020833333vw;
  background-color: #56514e;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
header nav ul li .contactbtn::before {
  content: "";
  width: 1.1979166667vw;
  height: 0.78125vw;
  background-image: url(../img/linkbtn_mail.png);
  background-size: contain;
  background-repeat: no-repeat;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 2.2916666667vw;
  margin: auto;
}
header nav ul li .contactbtn:hover {
  color: #fff;
  opacity: 0.7;
}
header #hamburger {
  display: none;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  header nav {
    width: 100%;
    height: 0;
    z-index: 1000;
    background-color: #fff;
    position: fixed;
    top: 14.1025641026vw;
    left: 0;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    overflow: hidden;
    padding-left: 0;
  }
  header nav .flexbox {
    padding: 0 7.6923076923vw;
    width: 100%;
    height: calc(100vh - 14.1025641026vw);
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  header nav .flexbox li {
    width: 100%;
    margin-right: 0;
    margin-bottom: 5.1282051282vw;
    border-bottom: solid 0.3846153846vw #e6e6e6;
  }
  header nav .flexbox li a {
    color: #56514e;
    font-size: 4.8717948718vw;
    font-weight: 500;
    width: 100%;
    padding-left: 6.6666666667vw;
  }
  header nav .flexbox li a::before {
    content: "";
    background-color: #00a273;
    width: 3.0769230769vw;
    height: 3.0769230769vw;
    margin: auto;
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
  }
  header nav .flexbox li .contactbtn {
    color: #56514e;
    font-size: 4.8717948718vw;
    font-weight: 500;
    width: 100%;
    height: auto;
    padding-left: 6.6666666667vw;
    padding-right: 0;
    margin-left: 0;
    background-color: inherit;
    display: block;
  }
  header nav .flexbox li .contactbtn::before {
    content: "";
    background-image: none;
    background-color: #00a273;
    width: 3.0769230769vw;
    height: 3.0769230769vw;
    margin: auto;
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
  }
  header nav .flexbox li .contactbtn:hover {
    color: #56514e;
    opacity: 1;
  }
  header nav.open {
    height: calc(100vh - 14.1025641026vw);
  }
  header nav::before {
    content: "";
    background-image: url(../img/sp_menubg1.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: top left;
    width: 100%;
    height: 32.6923076923vw;
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 0;
  }
  header nav::after {
    content: "";
    background-image: url(../img/sp_menubg2.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: top right;
    width: 100%;
    height: 52.5641025641vw;
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 0;
  }
  header #hamburger,
  header #hamburger div {
    -webkit-transition: all 0.4s;
    transition: all 0.4s;
    z-index: 1001;
    vertical-align: middle;
  }
  header #hamburger {
    width: 10.2564102564vw;
    height: 3.8461538462vw;
    display: inline-block;
    position: absolute;
    top: 5.1282051282vw;
    right: 0;
    z-index: 1001;
  }
  header #hamburger div {
    width: 100%;
    height: 0.7692307692vw;
    position: absolute;
    left: 0;
    background-color: #1a1311;
    display: inline-block;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  header #hamburger div:nth-of-type(1) {
    top: 0.5128205128vw;
    left: 0;
  }
  header #hamburger div:nth-of-type(2) {
    bottom: 0.5128205128vw;
    left: 0;
  }
  header #hamburger.active {
    top: 1.2820512821vw;
  }
  header #hamburger.active div:nth-of-type(1) {
    -webkit-transform: translateY(5.1282051282vw) rotate(-340deg);
    transform: translateY(5.1282051282vw) rotate(-340deg);
  }
  header #hamburger.active div:nth-of-type(2) {
    -webkit-transform: translateY(2.9487179487vw) rotate(340deg);
    transform: translateY(2.9487179487vw) rotate(340deg);
  }
  header.act #hamburger div {
    background-color: #251e1c;
  }
  header.act #hamburger.active div {
    background-color: #fff;
  }
  header.act li a img:first-child {
    display: block;
  }
  header.act li a img:nth-child(2) {
    display: none;
  }
}
header .sp_contactwrap {
  display: none;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  header .sp_contactwrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    z-index: 2;
  }
  header .sp_contactwrap li {
    width: 33.3333333333%;
    height: auto;
  }
  header .sp_contactwrap li a {
    color: #fff;
    font-size: 3.8461538462vw;
    font-weight: 500;
    text-align: center;
    width: 100%;
    height: 15.3846153846vw;
    padding-top: 3.5897435897vw;
    display: block;
  }
  header .sp_contactwrap li a::after {
    content: "";
    background-image: url(../img/sp_contactbtn_arrow.png);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    width: 3.0769230769vw;
    height: 4.6153846154vw;
    position: absolute;
    right: 0;
    left: 0;
    bottom: 1.4102564103vw;
    margin: auto;
  }
  header .sp_contactwrap li:first-child a {
    background-color: #f67e62;
  }
  header .sp_contactwrap li:nth-child(2) a {
    background-color: #fdd01b;
  }
  header .sp_contactwrap li:last-child a {
    background-color: #56514e;
    margin-bottom: 0;
  }
}

footer {
  height: auto;
  padding-top: 1.875vw;
  padding-bottom: 3.3854166667vw;
  background: #56514e;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  footer {
    height: auto;
    padding-top: 12.8205128205vw;
    padding-bottom: 1.2820512821vw;
  }
}
footer .f_logo {
  width: 6.25vw;
  margin-bottom: 1.1979166667vw;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  footer .f_logo {
    width: 21.7948717949vw;
    margin-bottom: 3.8461538462vw;
  }
}
footer .snslink {
  margin-bottom: 11.1979166667vw;
}
footer .snslink a {
  display: inline-block;
  width: 2.34375vw;
  margin-right: 1.0416666667vw;
}
footer .snslink a img {
  width: 100%;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  footer .snslink a {
    width: 7.6923076923vw;
    margin-right: 2.5641025641vw;
    margin-bottom: 23.0769230769vw;
  }
}
footer .footerlink {
  color: #fff;
  font-size: 1.0416666667vw;
  margin-bottom: 0.3645833333vw;
}
footer .footerlink::before {
  content: "｜ ";
}
footer .footerlink a::after {
  content: " ｜ ";
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  footer .footerlink {
    font-size: 3.5897435897vw;
    margin-bottom: 15.3846153846vw;
  }
  footer .footerlink a {
    display: block;
    margin-bottom: 2.5641025641vw;
  }
  footer .footerlink a::before {
    content: "● ";
    margin-right: 0.5em;
  }
  footer .footerlink a::after {
    content: "";
  }
  footer .footerlink::before {
    content: "";
  }
}
footer small {
  color: #fff;
  font-size: 1.0416666667vw;
  font-weight: 400;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  footer small {
    font-size: 3.5897435897vw;
  }
}

main {
  overflow: hidden;
  width: 100%;
}
main.hidden {
  opacity: 0;
}

.totop {
  width: 1.8229166667vw;
  position: fixed;
  right: 3.6458333333vw;
  bottom: 3.125vw;
  display: none;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  .totop {
    width: 5.8974358974vw;
    right: 1.2820512821vw;
    bottom: 7.6923076923vw;
    z-index: 10;
  }
}
.totop img {
  width: 100%;
}

/* fv */
.cloud1 {
  width: 92.8645833333vw;
  position: absolute;
  top: -16.40625vw;
  left: -29.9479166667vw;
  -webkit-animation: fadeup 1s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards, fuwafuwa 3s ease-in-out infinite alternate;
          animation: fadeup 1s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards, fuwafuwa 3s ease-in-out infinite alternate;
  opacity: 0;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  .cloud1 {
    width: 228.5897435897vw;
    max-width: 228.5897435897vw;
    top: -38.0769230769vw;
    left: -97.4358974359vw;
  }
}

.cloud2 {
  width: 92.8645833333vw;
  position: absolute;
  top: 28.59375vw;
  right: -37.1875vw;
  -webkit-animation: fadeup 1s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards, fuwafuwa 3s ease-in-out infinite alternate;
          animation: fadeup 1s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards, fuwafuwa 3s ease-in-out infinite alternate;
  opacity: 0;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  .cloud2 {
    width: 170.641025641vw;
    max-width: 170.641025641vw;
    top: 109.7435897436vw;
    right: -81.0256410256vw;
  }
}

#fv {
  height: 100vh;
  min-height: 48.9583333333vw;
  padding-top: 3.6458333333vw;
  z-index: 2;
  overflow: hidden;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  #fv {
    padding-top: 29.4871794872vw;
    height: auto;
    min-height: 100vh;
  }
}
#fv .txtwrap {
  font-size: 1.3541666667vw;
  font-weight: 700;
  width: 33.8541666667vw;
  height: 20.3125vw;
  position: absolute;
  top: 0;
  right: auto;
  bottom: 0;
  left: 11.9791666667vw;
  margin: auto;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  #fv .txtwrap {
    font-size: 3.8461538462vw;
    text-align: center;
    padding-top: 12.8205128205vw;
    width: 100%;
    height: auto;
    position: relative;
    left: auto;
    top: auto;
    bottom: auto;
  }
}
@media screen and (max-width: 780px) and (orientation: portrait) and (max-height: 840px) {
  #fv .txtwrap {
    -webkit-transform: scale(0.8);
            transform: scale(0.8);
    padding-top: 6.4102564103vw;
  }
}
#fv .txtwrap .head {
  font-size: 3.6458333333vw;
  font-weight: 900;
  line-height: 1.4;
  margin: 2.0833333333vw 0;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  #fv .txtwrap .head {
    font-size: 8.9743589744vw;
    margin: 5.1282051282vw 0;
  }
}
#fv .imgwrap {
  z-index: 0;
  width: 34.4791666667vw;
  height: 38.59375vw;
  position: absolute;
  right: 4.1666666667vw;
  bottom: 0;
  margin: auto;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  #fv .imgwrap {
    width: 84.6153846154vw;
    height: auto;
    position: relative;
    right: auto;
    bottom: auto;
    top: auto;
    margin: 10.2564102564vw auto 0;
  }
}
@media screen and (max-width: 780px) and (orientation: portrait) and (max-height: 840px) {
  #fv .imgwrap {
    -webkit-transform: scale(0.8) translateY(-7.8125vw);
            transform: scale(0.8) translateY(-7.8125vw);
    margin: 5.1282051282vw auto 0;
  }
}
#fv .imgwrap .fv_img {
  width: 34.4791666667vw;
  position: absolute;
  right: 0;
  bottom: 9.7395833333vw;
  z-index: 0;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  #fv .imgwrap .fv_img {
    width: 100%;
    position: relative;
    right: auto;
    bottom: auto;
  }
}
#fv .imgwrap .fv_img2 {
  width: 32.5520833333vw;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  #fv .imgwrap .fv_img2 {
    width: 100%;
    top: -29.4871794872vw;
    position: relative;
    bottom: auto;
    right: auto;
  }
}

/* content */
h2 {
  color: #00a273;
  font-size: 5.2083333333vw;
  font-family: "Century Gothic", sans-serif;
  text-align: center;
  line-height: 1.2;
  margin-bottom: 2.34375vw;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  h2 {
    font-size: 12.8205128205vw;
    margin-bottom: 11.5384615385vw;
  }
}
h2 span {
  color: #56514e;
  font-size: 1.3541666667vw;
  font-weight: 700;
  font-family: "Zen Kaku Gothic New", sans-serif;
  display: block;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  h2 span {
    font-size: 3.8461538462vw;
  }
}

#about {
  padding-top: 2.6041666667vw;
  padding-bottom: 8.8541666667vw;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  #about {
    padding-top: 15.3846153846vw;
    padding-bottom: 19.2307692308vw;
  }
}
#about .flexbox {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
#about .flexbox div {
  font-weight: 500;
  text-align: center;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  #about .flexbox div {
    width: 100%;
    margin-bottom: 14.1025641026vw;
  }
  #about .flexbox div:last-child {
    margin-bottom: 0;
  }
}
#about .flexbox div:nth-child(2) {
  padding-top: 15.625vw;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  #about .flexbox div:nth-child(2) {
    padding-top: 0vw;
  }
}
#about .flexbox div .green {
  font-weight: 700;
}
#about .flexbox div img {
  margin: 0 auto 1.5625vw;
}
#about .flexbox div:first-child img {
  width: 20.2604166667vw;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  #about .flexbox div:first-child img {
    width: 76.5384615385vw;
    margin-bottom: 5.1282051282vw;
  }
}
#about .flexbox div:nth-child(2) img {
  width: 16.1458333333vw;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  #about .flexbox div:nth-child(2) img {
    width: 52.6923076923vw;
    margin-bottom: 5.1282051282vw;
  }
}
#about .flexbox div:last-child img {
  width: 16.7708333333vw;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  #about .flexbox div:last-child img {
    width: 52.9487179487vw;
    margin-bottom: 5.1282051282vw;
  }
}

#meritwrap,
#workflow,
#design,
#service {
  background-color: #f9f8f2;
}

#meritwrap {
  padding-bottom: 7.7083333333vw;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  #meritwrap {
    padding-bottom: 0;
  }
}
#meritwrap .inner {
  top: -3.6458333333vw;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  #meritwrap .inner {
    top: -8.9743589744vw;
  }
}
#meritwrap .flexbox {
  padding-top: 5.2083333333vw;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  #meritwrap .flexbox {
    padding-top: 6.25vw;
  }
}
#meritwrap .flexbox div {
  text-align: center;
  width: 22.9166666667vw;
  height: 26.0416666667vw;
  background-color: #fff;
  border-radius: 0.2604166667vw;
  -webkit-box-shadow: 1.0416666667vw 1.0416666667vw 1.0416666667vw RGBa(170, 130, 91, 0.2);
          box-shadow: 1.0416666667vw 1.0416666667vw 1.0416666667vw RGBa(170, 130, 91, 0.2);
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  #meritwrap .flexbox div {
    width: 100%;
    height: 92.3076923077vw;
    border-radius: 0.641025641vw;
    -webkit-box-shadow: 2.5641025641vw 2.5641025641vw 2.5641025641vw RGBa(170, 130, 91, 0.2);
            box-shadow: 2.5641025641vw 2.5641025641vw 2.5641025641vw RGBa(170, 130, 91, 0.2);
    margin-bottom: 17.9487179487vw;
  }
}
#meritwrap .flexbox div .num {
  font-size: 5.2083333333vw;
  font-family: "Century Gothic", sans-serif;
  padding-left: 1.8229166667vw;
  margin-top: -6.1458333333vw;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  #meritwrap .flexbox div .num {
    font-size: 12.8205128205vw;
    text-align: left;
    padding-left: 3.8461538462vw;
    margin-top: -15.1282051282vw;
  }
}
#meritwrap .flexbox div .num .point {
  font-size: 1.25vw;
  font-weight: 500;
  margin-right: 0.2604166667vw;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  #meritwrap .flexbox div .num .point {
    font-size: 5.1282051282vw;
    margin-right: 0.641025641vw;
  }
}
#meritwrap .flexbox div img {
  margin-bottom: 3.125vw;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  #meritwrap .flexbox div img {
    margin-top: 10.2564102564vw;
    margin-bottom: 7.6923076923vw;
  }
}

#workflow {
  padding-bottom: 2.6041666667vw;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  #workflow {
    padding-bottom: 17.9487179487vw;
  }
}

#design {
  padding-bottom: 5.7291666667vw;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  #design {
    padding-bottom: 17.9487179487vw;
  }
}
#design .comment {
  text-align: center;
  margin-bottom: 2.6041666667vw;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  #design .comment {
    margin-bottom: 12.8205128205vw;
  }
}
#design .flexbox {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
#design .flexbox div {
  width: 36.71875vw;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  #design .flexbox div {
    width: 100%;
  }
}
#design .flexbox div:first-child, #design .flexbox div:nth-child(2) {
  margin-bottom: 7.2916666667vw;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  #design .flexbox div:first-child, #design .flexbox div:nth-child(2) {
    margin-bottom: 17.9487179487vw;
  }
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  #design .flexbox div:nth-child(3) {
    margin-bottom: 17.9487179487vw;
  }
}
#design .flexbox div img {
  margin: auto;
  display: block;
}
#design .flexbox div:first-child img, #design .flexbox div:nth-child(2) img {
  width: 34.1666666667vw;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  #design .flexbox div:first-child img, #design .flexbox div:nth-child(2) img {
    width: 100%;
  }
}
#design .flexbox div:nth-child(3) img, #design .flexbox div:last-child img {
  width: 100%;
}

#service {
  padding-bottom: 10.4166666667vw;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  #service {
    padding-bottom: 25.641025641vw;
  }
}
#service h2 {
  padding-bottom: 5.2083333333vw;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  #service h2 {
    padding-bottom: 12.8205128205vw;
  }
}
#service .pricewrap {
  border: 0.0520833333vw solid #707070;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  #service .pricewrap {
    border: 0.1282051282vw solid #707070;
  }
}
#service .pricewrap .price {
  font-size: 1.5625vw;
  font-weight: 500;
  padding: 0.2604166667vw 1.8229166667vw 0.625vw;
  border-bottom: 0.0520833333vw solid #707070;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  #service .pricewrap .price {
    font-size: 4.8717948718vw;
    padding: 2.3076923077vw 3.2051282051vw;
    border-bottom: 0.1282051282vw solid #707070;
  }
}
#service .pricewrap .price .num {
  font-size: 2.6041666667vw;
  font-weight: 700;
  margin-left: 0.5208333333vw;
  margin-right: 0.2604166667vw;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  #service .pricewrap .price .num {
    font-size: 8.0769230769vw;
    margin-left: 2.3076923077vw;
    margin-right: 2.3076923077vw;
  }
}
#service .pricewrap .anno {
  font-weight: 500;
  padding: 1.0416666667vw 1.8229166667vw;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  #service .pricewrap .anno {
    padding: 2.0833333333vw 1.8229166667vw;
  }
}
#service .pricewrap .anno .comment {
  font-size: 0.9375vw;
  font-weight: 400;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  #service .pricewrap .anno .comment {
    font-size: 3.8461538462vw;
  }
}

#newswrap {
  padding-bottom: 15.625vw;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  #newswrap {
    padding-bottom: 17.9487179487vw;
  }
}
#newswrap .inner {
  top: -3.6458333333vw;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  #newswrap .inner {
    top: -8.9743589744vw;
  }
}
#newswrap .newswrap {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
#newswrap .newswrap .imgwrap {
  width: 26.0416666667vw;
  background-color: #00a273;
  padding: 1.3020833333vw 1.8229166667vw;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  #newswrap .newswrap .imgwrap {
    width: 100%;
    padding: 3.2051282051vw 13.4615384615vw;
  }
}
#newswrap .newswrap .imgwrap img {
  width: 100%;
}
#newswrap .newswrap .txtwrap {
  font-weight: 500;
  background-color: #fff;
  width: 48.9583333333vw;
  padding: 3.6458333333vw 3.90625vw 0 2.34375vw;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  #newswrap .newswrap .txtwrap {
    width: 100%;
    padding: 8.9743589744vw 5.1282051282vw 43.5897435897vw;
  }
}
#newswrap .newswrap .txtwrap a {
  color: #fff;
  font-weight: 500;
  background-color: #00a273;
  width: 14.5833333333vw;
  height: 3.6458333333vw;
  padding-left: 1.4583333333vw;
  padding-right: 1.25vw;
  border-radius: 1.8229166667vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: absolute;
  right: 3.90625vw;
  bottom: 2.6041666667vw;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  #newswrap .newswrap .txtwrap a {
    width: 71.7948717949vw;
    height: 12.8205128205vw;
    padding-left: 7.6923076923vw;
    padding-right: 6.9230769231vw;
    border-radius: 6.4102564103vw;
    right: 0;
    left: 0;
    bottom: 9.6153846154vw;
    margin: auto;
  }
}
#newswrap .newswrap .txtwrap a img {
  width: 1.6666666667vw;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  #newswrap .newswrap .txtwrap a img {
    width: 4.1025641026vw;
  }
}

#contactwrap {
  background-color: #fff;
  padding-bottom: 10.4166666667vw;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  #contactwrap {
    padding-bottom: 25.641025641vw;
  }
}
#contactwrap .inner {
  top: -3.6458333333vw;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  #contactwrap .inner {
    top: -8.9743589744vw;
  }
}
#contactwrap h2 {
  margin-bottom: 9.375vw;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  #contactwrap h2 {
    margin-bottom: 14.1025641026vw;
  }
}
#contactwrap .imgwrap {
  padding-left: 1.5625vw;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  #contactwrap .imgwrap {
    padding-left: 0;
  }
}
#contactwrap .imgwrap img {
  width: 31.09375vw;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  #contactwrap .imgwrap img {
    width: 76.5384615385vw;
    margin: 0 auto 14.1025641026vw;
  }
}
#contactwrap .txtwrap {
  width: 27.6041666667vw;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  #contactwrap .txtwrap {
    width: 100%;
  }
}
#contactwrap .txtwrap p {
  font-size: 1.5625vw;
  font-weight: 700;
  margin-bottom: 1.5625vw;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  #contactwrap .txtwrap p {
    font-size: 3.8461538462vw;
    text-align: center;
    margin-bottom: 3.8461538462vw;
  }
}
#contactwrap .txtwrap a {
  color: #fff;
  font-size: 1.5625vw;
  font-weight: 500;
  width: 100%;
  height: 5.2083333333vw;
  padding-left: 2.8645833333vw;
  padding-right: 2.6041666667vw;
  border-radius: 2.6041666667vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 1.5625vw;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  #contactwrap .txtwrap a {
    font-size: 3.8461538462vw;
    font-weight: 500;
    width: 100%;
    height: 12.8205128205vw;
    padding-left: 10.2564102564vw;
    padding-right: 6.4102564103vw;
    border-radius: 10.2564102564vw;
    margin-bottom: 3.8461538462vw;
  }
}
#contactwrap .txtwrap a:nth-child(2) {
  background-color: #f67e62;
}
#contactwrap .txtwrap a:nth-child(3) {
  background-color: #fdd01b;
}
#contactwrap .txtwrap a:last-child {
  background-color: #56514e;
  margin-bottom: 0;
}
#contactwrap .txtwrap a img {
  width: 1.6666666667vw;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  #contactwrap .txtwrap a img {
    width: 4.1025641026vw;
  }
}

/* animation_delay */
.delay_1 {
  -webkit-animation-delay: 0.1s !important;
          animation-delay: 0.1s !important;
  -webkit-transition-delay: 0.1s !important;
          transition-delay: 0.1s !important;
}

.delay_2 {
  -webkit-animation-delay: 0.2s !important;
          animation-delay: 0.2s !important;
  -webkit-transition-delay: 0.2s !important;
          transition-delay: 0.2s !important;
}

.delay_3 {
  -webkit-animation-delay: 0.3s !important;
          animation-delay: 0.3s !important;
  -webkit-transition-delay: 0.3s !important;
          transition-delay: 0.3s !important;
}

.delay_4 {
  -webkit-animation-delay: 0.4s !important;
          animation-delay: 0.4s !important;
  -webkit-transition-delay: 0.4s !important;
          transition-delay: 0.4s !important;
}

.delay_6 {
  -webkit-animation-delay: 0.6s !important;
          animation-delay: 0.6s !important;
  -webkit-transition-delay: 0.6s !important;
          transition-delay: 0.6s !important;
}

.delay_9 {
  -webkit-animation-delay: 0.9s !important;
          animation-delay: 0.9s !important;
  -webkit-transition-delay: 0.9s !important;
          transition-delay: 0.9s !important;
}

.delay_12 {
  -webkit-animation-delay: 1.2s !important;
          animation-delay: 1.2s !important;
  -webkit-transition-delay: 1.2s !important;
          transition-delay: 1.2s !important;
}

.delay_15 {
  -webkit-animation-delay: 1.5s !important;
          animation-delay: 1.5s !important;
  -webkit-transition-delay: 1.5s !important;
          transition-delay: 1.5s !important;
}

.delay_20 {
  -webkit-animation-delay: 2s !important;
          animation-delay: 2s !important;
  -webkit-transition-delay: 2s !important;
          transition-delay: 2s !important;
}

.delay_23 {
  -webkit-animation-delay: 2.3s !important;
          animation-delay: 2.3s !important;
  -webkit-transition-delay: 2.3s !important;
          transition-delay: 2.3s !important;
}

/* animation */
@-webkit-keyframes fadeup {
  0% {
    -webkit-transform: translateY(1.5625vw);
            transform: translateY(1.5625vw);
    opacity: 0;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fadeup {
  0% {
    -webkit-transform: translateY(1.5625vw);
            transform: translateY(1.5625vw);
    opacity: 0;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.fadeup {
  opacity: 0;
}

.fadeup.animated {
  -webkit-animation: fadeup 1s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
          animation: fadeup 1s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
}

@-webkit-keyframes fuwafuwa {
  0% {
    -webkit-transform: translate(0, 0) rotate(-7deg);
            transform: translate(0, 0) rotate(-7deg);
  }
  50% {
    -webkit-transform: translate(0, -7px) rotate(0deg);
            transform: translate(0, -7px) rotate(0deg);
  }
  100% {
    -webkit-transform: translate(0, 0) rotate(7deg);
            transform: translate(0, 0) rotate(7deg);
  }
}

@keyframes fuwafuwa {
  0% {
    -webkit-transform: translate(0, 0) rotate(-7deg);
            transform: translate(0, 0) rotate(-7deg);
  }
  50% {
    -webkit-transform: translate(0, -7px) rotate(0deg);
            transform: translate(0, -7px) rotate(0deg);
  }
  100% {
    -webkit-transform: translate(0, 0) rotate(7deg);
            transform: translate(0, 0) rotate(7deg);
  }
}
.smooth {
  -webkit-clip-path: inset(0 100% 0 0);
          clip-path: inset(0 100% 0 0);
  -webkit-transition: 2s cubic-bezier(0.37, 0, 0.63, 1);
  transition: 2s cubic-bezier(0.37, 0, 0.63, 1);
  -webkit-transition-property: -webkit-clip-path;
  transition-property: -webkit-clip-path;
  transition-property: clip-path;
  transition-property: clip-path, -webkit-clip-path;
}

.smooth.animated {
  -webkit-clip-path: inset(0);
          clip-path: inset(0);
}

.underline {
  display: inline-block;
  position: relative;
}
.underline::after {
  content: "";
  width: 100%;
  height: 0.1041666667vw;
  background-color: #ffbf00;
  position: absolute;
  bottom: 0;
  left: 0;
  -webkit-clip-path: inset(0 100% 0 0);
          clip-path: inset(0 100% 0 0);
  -webkit-transition: 1.4s cubic-bezier(0.37, 0, 0.63, 1) 3s;
  transition: 1.4s cubic-bezier(0.37, 0, 0.63, 1) 3s;
}
@media screen and (max-width: 780px) and (orientation: portrait) {
  .underline::after {
    height: 0.2564102564vw;
  }
}

.underline.animated::after {
  -webkit-clip-path: inset(0);
          clip-path: inset(0);
}