@charset "utf-8";

/*! destyle.css v3.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */

/* Reset box-model and set borders */
/* ============================================ */

*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

/* Document */
/* ============================================ */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -webkit-tap-highlight-color: transparent; /* 3*/
}

/* Sections */
/* ============================================ */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */

p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */

dt {
  font-weight: normal;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
    display: block;
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Replaced content */
/* ============================================ */

/**
 * Prevent vertical alignment issues.
 */

svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */

/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */

button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none; /* 1 */
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit; /* 2 */
}

/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */

[type="checkbox"] {
  -webkit-appearance: checkbox;
  appearance: checkbox;
}

[type="radio"] {
  -webkit-appearance: radio;
  appearance: radio;
}

/**
 * Correct cursors for clickable elements.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  cursor: pointer;
}

button:disabled,
[type="button"]:disabled,
[type="reset"]:disabled,
[type="submit"]:disabled {
  cursor: default;
}

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */

:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

/**
 * Remove padding
 */

option {
  padding: 0;
}

/**
 * Reset to invisible
 */

fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the outline style in Safari.
 */

[type="search"] {
  outline-offset: -2px; /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
 * Clickable labels
 */

label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */

[contenteditable]:focus {
  outline: auto;
}

/* Tables */
/* ============================================ */

/**
1. Correct table border color inheritance in all Chrome and Safari.
*/

table {
  border-color: inherit; /* 1 */
  border-collapse: collapse;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}


/* --------------------------------------------------------------------
common
---------------------------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Kosugi+Maru&family=Lato:wght@700;900&display=swap');
body {
    font-family: 'Kosugi Maru', sans-serif;
    color: #000;
}
.container {
    padding-top: 115px;
    min-width: 1280px;
}

img {
    max-width: 100%;
}
.sp-on {
    display: none;
}
.sp-off {
    display: block;
}
.lato {
    font-family: 'Lato', sans-serif;
}
@media screen and (max-width: 768px){
    .container {
        padding-top: 65px;
        min-width: inherit;
    }
    .sp-on {
        display: block;
    }
    .sp-off {
        display: none;
    }
}
/* --------------------------------------------------------------------
header
---------------------------------------------------------------------*/
.navSp {
    display: none;
}
.header {
    display: block;
    min-width: 100%;
    height: 115px;
    background-color: #fff;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
}
.headerInner {
    width: 1280px;
    height: 115px;
    margin: 0 auto;
    padding: 0 5px;
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.header_logo {
    width: 320px;
    height: 181px;
    margin-top: 40px;
}
.header_logo.scrolled {
    height: 86px;
    margin-top: 15px;
}
.header_logo .logothin {
    display: none;
}

.navPc {
    display: flex;
    justify-content: space-around;
}
.gnav {
    display: flex;
    justify-content: space-between;
    width: 500px;
}
.gnav li {
    width: calc(100% / 5 - 10px);
}
.gnav li:nth-child(1) {
    width: calc(100% / 5 + 30px);
}
.gnav a {
    display: block;
    padding: 43px 0 55px;
    font-size: 17px;
    line-height: 1;
    text-align: center;
    transition: .2s;
}
.gnav a:hover span:after {
    background-color: #28BC0D;
}
.gnav a span {
    display: inline-block;
    position: relative;
}
.gnav a span:after {
    display: block;
    content: "";
    width: 100%;
    height: 3px;
    background-color: #000000;
    border-radius: 10px;
    position: absolute;
    top: calc(100% + 9px);
    left: calc(50%);
    transform: translateX(-50%);
}
.navPc .linkNav {
    display: flex;
    justify-content: flex-start;
    width: 407px;
    padding-top: 30px;
    margin-left: 15px;
}
.navPc .linkNav li:nth-child(1) {
    width: 263px;
    margin-right: 28px;
}
.navPc .linkNav li:nth-child(2),
.navPc .linkNav li:nth-child(3) {
    width: 50px;
    height: 50px;
}
.navPc .linkNav li:nth-child(3) {
    margin-left: 14px;
}
.navPc .linkNav a {
    display: block;
    transition: all .2s;
}
.navPc .linkNav li a:hover {
    transform: scale(0.98) translateY(2px);
}
.gnav li.current a span:after {
    background-color: #28BC0D;
}
@media screen and (max-width: 768px){
    .navSp {
        display: block;
    }
    .header {
        height: 65px;
    }
    .headerInner {
        width: 100%;
        height: 65px;
        padding: 0;
    }
    .header_logo {
        width: 145px;
        height: 82px;
        margin-top: 13px;
        margin-left: 20px;
    }
    .header_logo.scrolled {
        height: 45px;
        margin-top: 10px;
    }    
    .navPc {
        display: none;
    }
    .navSp .linkList {
        display: flex;
        width: 94px;
        margin-right: 75px;
        margin-top: 10px;
    }
    .navSp .linkList li {
        width: 40px;
    }
    .navSp .linkList li + li {
        margin-left: 13px;        
    }
    .hum {
        display: block;
        width: 65px;
        height: 65px;
        background-color: #28BC0D;
        position: fixed;
        top: 0;
        right: 0;
        cursor: pointer;
        z-index: 1000;
    }
    .hum span {
        display: block;
        width: 27px;
        height: 1px;
        background-color: #fff;
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
        margin: auto;
        transition: .2s;
    }
    .hum span:nth-child(1) {
        top: -15px;
    }
    .hum span:nth-child(3) {
        bottom: -15px;
    }
    .hum.opend {
        background-color: #fff;
    }
    .hum.opend span {
        background-color: #28BC0D;
    }
    .hum.opend span:nth-child(1) {
        top: 0;
        transform: rotate(45deg);
    }
    .hum.opend span:nth-child(2) {
        opacity: 0;
    }
    .hum.opend span:nth-child(3) {
        bottom: 0;
        transform: rotate(-45deg);
    }
    .spNavWrapper {
        display: none;
        width: 100%;
        height: 100vh;
        background-color: #28BC0D;
        color: #fff;
        position: fixed;
        top: 0;
        left: 0;
    }
    .spNavWrapper .spLogo {
        width: 180px;
        margin: 30px auto 10px;
    }
    .spNavWrapper .spNav {
        display: block;
        width: 100%;
        padding: 0 17px;
        box-sizing: border-box;
    }
    .spNavWrapper .spNav li {
        border-bottom: 1px dotted #fff;
    }
    .spNavWrapper .spNav li:last-of-type {
        border-bottom: none;
    }
    .spNavWrapper .spNav li a {
        display: block;
        font-size: 20px;
        text-align: center;
        padding: 20px 0;
    }
    .spNavWrapper .link li {
        width: 300px;
        margin: 0 auto;
    }
    .spNavWrapper .link li + li {
        margin-top: 15px;
    }
    .spNavWrapper .link li a {
        border: 1px solid #fff;
        border-radius: 10px;
    }
}

/* --------------------------------------------------------------------
footer
---------------------------------------------------------------------*/
/* contactArea
------------------------------------- */
.contactArea {
    padding-top: 100px;
    position: relative;
}
.contactArea:before {
    display: block;
    content: "";
    width: 108px;
    height: 167px;
    background: url(img/top_bg_icon_2.png) no-repeat center / cover;
    position: absolute;
    top: -8px;
    left: calc(50% - 500px);
}
.contactArea .h2 {
    text-align: center;
    margin: 0 auto 25px;
}
.contactArea .h2 .ja {
    display: block;
    font-size: 36px;
    margin-bottom: 5px;
}
.contactArea .h2 .en {
    display: block;
    font-size: 17px;
    font-weight: 900;
    letter-spacing: 0.04em;
    color: #28BC0D;
}
.contactArea .catch {
    font-size: 36px;
    text-align: center;
    color: #FF0000;
    margin: 0 0 30px;
}
.contactArea .contactLink {
    display: flex;
    justify-content: space-between;
    width: 1140px;
    margin: 0 auto 65px;
}
.contactArea .contactLink li {
    width: 560px;
}
.contactArea .contactLink li a {
    display: block;
    transition: .2s;
}
.contactArea .contactLink li a:hover {
    transform: scale(0.98) translateY(2px);
}
.contactArea .img {
    width: 800px;
    margin: 0 auto;
}
@media screen and (max-width: 768px){
    .contactArea {
        padding: 33px 35px 0;
        box-sizing: border-box;
    }
    .contactArea:before {
        display: block;
        content: "";
        width: 60px;
        height: 80px;
        left: inherit;
        right: 80%;
        top: -2px;
    }
    .contactArea .h2 {
        margin: 0 auto 25px;
    }
    .contactArea .h2 .ja {
        font-size: 18px;
    }
    .contactArea .h2 .en {
        font-size: 9px;
    }
    .contactArea .catch {
        font-size: 20px;
        margin: 0 0 25px;
    }
    .contactArea .contactLink {
        display: block;
        width: 100%;
        margin: 0 auto 34px;
    }
    .contactArea .contactLink li {
        width: 100%;
        max-width: 600px;
        margin: 0 auto;
    }
    .contactArea .contactLink li + li {
        margin-top: 22px;
    } 
    .contactArea .img {
        width: 100%;
        max-width: 310px;
    }
}
/* companyArea
------------------------------------- */
.companyArea {
    background-color: #E9F8E6;
    padding-top: 90px;
    padding-bottom: 75px;
}
.companyAreaInner {
    width: 1006px;
    margin: 0 auto;
}
.companyArea .h2 {
    text-align: center;
    margin: 0 auto 80px;
}
.companyArea .h2 .ja {
    display: block;
    font-size: 36px;
    margin-bottom: 5px;
}
.companyArea .h2 .en {
    display: block;
    font-size: 17px;
    font-weight: 900;
    letter-spacing: 0.04em;
    color: #28BC0D;
}
.companyWrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.companyWrap .left {
    display: block;
    width: 307px;
    height: 320px;
}
.companyWrap .right {
    display: block;
    width: 540px;
}
.companyWrap .companyList {
    display: block;
    overflow: hidden;
    font-size: 18px;
}
.companyWrap .companyList dt {
    display: block;
    width: 115px;
    padding: 20px 0 20px 30px;
    float: left;
    box-sizing: border-box;
}
.companyWrap .companyList dd {
    display: block;
    width: 100%;
    padding: 20px 0 20px 115px;
    box-sizing: border-box;
    border-bottom: 1px dotted #28BC0D;
}
.companyWrap .companyList dd:last-of-type {
    border-bottom: none;
}
@media screen and (max-width: 768px){
    .companyArea {
        padding-top: 25px;
        padding-bottom: 35px;
    }
    .companyAreaInner {
        width: 100%;
        padding: 0 35px;
        box-sizing: border-box;
    }
    .companyArea .h2 {
        margin: 0 auto 25px;
    }
    .companyArea .h2 .ja {
        font-size: 18px;
    }
    .companyArea .h2 .en {
        font-size: 9px;
    }
    .companyWrap {
        display: block;
    }
    .companyWrap .left {
        width: 100%;
        max-width: 115px;
        height: inherit;
        margin: 0 auto 25px;
    }
    .companyWrap .right {
        width: 100%;
    }
    .companyWrap .companyList {
        font-size: 11px;
    }
    .companyWrap .companyList dt {
        width: 70px;
        padding: 13px 0 13px 13px;
    }
    .companyWrap .companyList dd {
        padding: 13px 0 13px 13px;
    }
}
/* footer
-------------------------------------------------- */
.footer {
    background-color: #E9F8E6;
}
.footerInner {
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
    width: 1140px;
    margin: 0 auto;
    background-color: #fff;
    padding: 35px 20px 35px 60px;
    box-sizing: border-box;
}
.footerInner .right {
    width: 615px;
    border-left: 1px dotted #28BC0D;
    padding-left: 40px;
    box-sizing: border-box;
}
.footerInner .right .wrap {
    display: block;
    position: relative;
    margin-bottom: 60px;
}
.footerInner .right .wrap .text {
    width: 384px;
    font-size: 32px;
    line-height: 1.25;
    text-align: center;
    color: #f00;
}
.footerInner .right .wrap .img {
    display: block;
    width: 161px;
    height: 251px;
    position: absolute;
    top: -60px;
    right: 0;
}
.footerInner .right .linkWrap {
    display: flex;
    justify-content: flex-start;
}
.footerInner .right .linkWrap .tel {
    display: block;
    width: 328px;
}
.footerInner .right .linkWrap .tel .phone {
    display: block;
    font-size: 46px;
    font-weight: 700;
}
.footerInner .right .linkWrap .tel .text {
    font-size: 16px;
}
.footerInner .right .linkWrap .insta {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    width: 198px;
    margin-left: 20px;
}
.footerInner .right .linkWrap .insta .img {
    display: block;
    width: 76px;
    text-align: center;
}
.footerInner .right .linkWrap .insta .img a {
    transition: transform .2s cubic-bezier(.47,.06,.25,2);
}
.footerInner .right .linkWrap .insta .img a:hover {
    transform: scale(1.1);
}
.footerInner .right .linkWrap .insta .img img:nth-child(2) {
    display: inline-block;
    width: 60px;
    margin-top: 5px;
}
.footerInner .right .linkWrap .insta .text {
    font-size: 26px;
    line-height: 1.1;
    color: #28BC0D;
}
.footerInner .left {
    width: 447px;
    padding-right: 40px;
}
.footerInner .left .linkWrap {
    display: flex;
    justify-content: space-between;
    margin-bottom: 25px;
}
.footerInner .footerLink {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 210px;
}
.footerInner .footerLink li {
    width: 50%;
}
.footerInner .footerLink li a {
    display: block;
    font-size: 16px;
    transition: .2s;
}
.footerInner .footerLink li a:hover {
    text-decoration: underline;
}
.footerInner .worksLink {
    width: 172px;
}
.footerInner .worksLink a {
    transition: .2s;
}
.footerInner .worksLink a:hover {
    transform: scale(.98) translateY(2px);
}
.footerLogo {
    width: 324px;
    margin: 0 auto;
}
.footerLogo a {
    transition: .2s;
}
.footerLogo a:hover {
    opacity: .7;
}
.footer small {
    display: block;
    font-size: 12px;
    line-height: 107px;
    text-align: center;
}

.floatingContact {
    display: block;
    width: 200px;
    height: 200px;
    position: fixed;
    bottom: 150px;
    right: 20px;
    z-index: 10;
}
.floatingContact a {
    transition: .2s;
}
.floatingContact a:hover {
    transform: scale(.98) translateY(2px);
}
.floatingPageTop {
    display: block;
    width: 70px;
    height: 70px;
    position: fixed;
    bottom: 50px;
    right: 80px;
    z-index: 10;
}
.floatingPageTop a {
    transition: .2s;
    width: 100%;
    height: 100%;
    background-color: #28BC0D;
    border-radius: 50%;
    padding: 10px;
    filter: drop-shadow(0px 0px 20px rgba(40,188,13,.25));
}
.floatingPageTop a:hover {
    transform: scale(.98) translateY(2px);
}
@media screen and (max-width: 768px){
    .footer {
        padding: 0 35px;
        box-sizing: border-box;
    }
    .footerInner {
        display: block;
        width: 100%;
        padding: 20px 12px;
    }
    .footerInner .right {
        width: 100%;
        border-left: none;
        border-bottom: 1px dotted #28BC0D;
        padding-left: 0;
        padding-bottom: 17px;
    }
    .footerInner .right .wrap {
        margin-bottom: 0;
    }
    .footerInner .right .wrap .text {
        width: 73%;
        font-size: 15px;
        margin-bottom: 15px;
    }
    .footerInner .right .wrap .img {
        width: 80px;
        height: 125px;
        top: -30px;
    }
    .footerInner .right .linkWrap {
        max-width: 300px;
        width: 100%;
        margin: 0 auto;
        justify-content: space-between;
    }
    .footerInner .right .linkWrap .tel {
        width: 186px;
        text-align: center;
    }
    .footerInner .right .linkWrap .tel .phone {
        font-size: 20px;
    }
    .footerInner .right .linkWrap .tel .text {
        font-size: 9px;
    }
    .footerInner .right .linkWrap .insta {
        width: 95px;
        margin-left: 5px;
    }
    .footerInner .right .linkWrap .insta .img {
        width: 40px;
    }
    .footerInner .right .linkWrap .insta .img a {
    }
    .footerInner .right .linkWrap .insta .img a:hover {
    }
    .footerInner .right .linkWrap .insta .img img:nth-child(2) {
        width: 28px;
        margin-top: 5px;
    }
    .footerInner .right .linkWrap .insta .text {
        font-size: 12px;
    }
    .footerInner .left {
        width: 100%;
        padding-right: 0;
        padding-top: 17px;
    }
    .footerInner .left .linkWrap {
        max-width: 300px;
        width: 100%;
        margin: 0 auto 13px;
    }
    .footerInner .footerLink {
    }
    .footerInner .footerLink li {
    }
    .footerInner .footerLink li a {
        font-size: 12px;
    }
    .footerInner .footerLink li a:hover {
    }
    .footerInner .worksLink {
        width: 105px;
    }
    .footerInner .worksLink a {
    }
    .footerInner .worksLink a:hover {
    }
    .footerLogo {
        width: 200px;
    }
    .footerLogo a {
    }
    .footerLogo a:hover {
    }
    .footer small {
        font-size: 9px;
        line-height: 55px;
    }
    
    .floatingContact {
        width: 125px;
        height: 125px;
        bottom: 60px;
        right: 20px;
    }
    .floatingPageTop {
        width: 35px;
        height: 35px;
        bottom: 20px;
        right: 20px;
    }
    .floatingPageTop a {
        padding: 5px;
    }
    
}


/* --------------------------------------------------------------------
top
---------------------------------------------------------------------*/
/* mvArea
------------------------------------- */
.mvArea {
    display: block;
    width: 100%;
    background-color: #E9F8E6;
    padding: 55px 0 40px;
}
.mvWrap {
    display: block;
    max-width: 1280px;
    margin: 0 auto 0;
    position: relative;
}
.mvWrap .mv {
    display: block;
}
.mvWrap .h1 {
    display: flex;
    justify-content: flex-end;
    flex-direction: row-reverse;
    align-items: baseline;
    width: 180px;
    position: absolute;
    top: 0;
    right: 140px;
}
.mvWrap .h1 span {
    display: inline-block;
    background-color: #fff;
    font-size: 40px;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    padding: 9px 5px 0;
    border-radius: 10px;
}
.mvWrap .h1 span:nth-child(2) {
    margin: 0 10px;
}
@media screen and (max-width: 768px){
    .mvArea {
        padding: 50px 0 35px;
        overflow: hidden;
    }
    .mvWrap {
        max-width: 100%;
        margin: 0 auto 20px;
    }
    .mvWrap .mv {
        width: 130%;
        margin-left: -15%;
    }
    .mvWrap .h1 {
        width: 90px;
        top: -15px;
        right: 12%;
    }
    .mvWrap .h1 span {
        font-size: 20px;
        padding: 4px 2px 0;
    }
    .mvWrap .h1 span:nth-child(2) {
        margin: 0 7px;
    }
    .mvArea .sp_tel {
        width: 300px;
        margin: 0 auto;
    }
}
/* newsArea
------------------------------------- */
.newsArea {
    background-color: #E9F8E6;
    padding-bottom: 25px;
    position: relative;
}
.newsArea:after {
    display: block;
    content: "";
    width: 100%;
    height: 14vw;
    background: url(img/top_bg_1.png) no-repeat center / cover;
    position: absolute;
    top: 100%;
    left: 0;
}
.newsAreaInner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 1142px;
    margin: 0 auto;
}
.newsArea .h2 {
    width: 154px;
    height: 53px;
    background: url(img/bg_yellow.png) no-repeat center / cover;
}
.newsArea .h2 span {
    display: block;
    font-size: 29px;
    line-height: 53px;
    text-align: center;
}
.newsArea .newsBlock {
    display: block;
    width: 980px;
    background-color: #fff;
    border-radius: 20px;
    padding: 15px 40px;
}
.newsArea .newsList li a {
    display: flex;
    justify-content: flex-start;
    padding: 015px 0;
    transition: .2s;
}
.newsArea .newsList li a:hover {
    text-decoration: underline;
}
.newsArea .newsList li a .date {
    display: block;
    width: 90px;
    color: #28BC0D;
    font-size: 18px;
    line-height: 1.5;
    margin-right: 25px;
}
.newsArea .newsList li a .title {
    font-size: 18px;
    line-height: 1.5;
}
@media screen and (max-width: 768px){
    .newsArea {
        padding-bottom: 25px;
    }
    .newsArea:after {
        height: 13vw;
    }
    .newsAreaInner {
        display: block;
        width: 100%;
        margin: 0 auto;
        padding: 0 15px;
        box-sizing: border-box;
    }
    .newsArea .h2 {
        width: 77px;
        height: 27px;
        margin: 0 auto 10px;
    }
    .newsArea .h2 span {
        font-size: 15px;
        line-height: 27px;
    }
    .newsArea .newsBlock {
        width: 100%;
        padding: 10px 20px;
        border-radius: 10px;
    }
    .newsArea .newsList li a {
        display: block;
        padding: 5px 0;
    }
    .newsArea .newsList li a .date {
        width: 100%;
        font-size: 10px;
        margin-right: 0;
    }
    .newsArea .newsList li a .title {
        font-size: 10px;
    }
}
/* leadArea
------------------------------------- */
.leadArea {
    display: block;
    position: relative;
    padding-top: 135px;
    padding-bottom: 10vw;
}
.leadArea:after {
    display: block;
    content: "";
    width: 100%;
    height: 16vw;
    background: url(img/top_bg_2.png) no-repeat center / cover;
    position: absolute;
    top: calc(100% - 16vw);
    left: 0;
    z-index: -1;
}
.leadAreaInner {
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
    width: 1156px;
    margin: 0 auto;
}
.leadAreaInner .textBlock {
    width: 545px;
}
.leadAreaInner .textBlock .lead {
    font-size: 32px;
    line-height: 1.375;
    margin-bottom: 50px;
}
.leadAreaInner .textBlock .text {
    font-size: 18px;
    line-height: 2.125;
}
.leadAreaInner .imgBlock {
    width: 561px;
    margin-top: 70px;
}
.leadAreaInner .imgBlock p:nth-child(1) {
    width: 410px;
    margin: 0 auto 45px;
}
.leadAreaInner .imgBlock p:nth-child(2) {
    width: 285px;
}
.leadAreaInner .imgBlock p:nth-child(3) {
    width: 243px;
    margin: -80px 0 0 315px;
}
@media screen and (max-width: 768px){
    .leadArea {
        padding-top: 0;
        padding-bottom: 16vw;
    }
    .leadArea:after {
        height: 16vw;
        top: calc(100% - 16vw);
    }
    .leadAreaInner {
        display: block;
        width: 100%;
        margin: 0 auto;
        padding: 0 33px;
        box-sizing: border-box;
    }
    .leadAreaInner .textBlock {
        width: 100%;
    }
    .leadAreaInner .textBlock .lead {
        font-size: 18px;
        margin-bottom: 15px;
    }
    .leadAreaInner .textBlock .text {
        font-size: 11px;
    }
    .leadAreaInner .imgBlock {
        width: 280px;
        margin: 20px auto 0;
    }
    .leadAreaInner .imgBlock p:nth-child(1) {
        width: 205px;
        margin: 0 auto 20px;
    }
    .leadAreaInner .imgBlock p:nth-child(2) {
        width: 142px;
    }
    .leadAreaInner .imgBlock p:nth-child(3) {
        width: 122px;
        margin: -35px 0 0 160px;
    }
}
/* serciveArea
------------------------------------- */
.serviceArea {
    display: block;
    background-color: #E9F8E6;
    overflow: hidden;
    padding-top: 60px;
}
.serviceAreaInner {
    width: 1156px;
    margin: 0 auto;
}
.serviceArea .h2 {
    text-align: center;
    margin: 0 auto 50px;
    padding-top: 100px;
}
.serviceArea .h2 .ja {
    display: block;
    font-size: 36px;
    margin-bottom: 5px;
}
.serviceArea .h2 .en {
    display: block;
    font-size: 17px;
    font-weight: 900;
    color: #28BC0D;
    letter-spacing: 0.04em;
}
.servicwrapper {
    display: block;
    width: 100%;
    position: relative;
    margin-bottom: 30px;
}
.servicwrapper .textBox {
    width: 650px;
}
.servicwrapper .contentBox {
    display: block;
    position: relative;
    padding-left: 70px;
    box-sizing: border-box;
}
.servicwrapper .contentBox + .contentBox {
    margin-top: 60px;
}
.servicwrapper .contentBox .num {
    font-size: 161px;
    font-weight: 900;
    color: #fff;
    letter-spacing: 0.04em;
    position: absolute;
    right: 0;
    top: 5px;
    z-index: 0;
}
.servicwrapper .contentBox:nth-child(2) .num,
.servicwrapper .contentBox:nth-child(4) .num  {
    right: inherit;
    left: 0;
}
.servicwrapper .contentBox:nth-child(3) .num {
    top: 20px;
}
.servicwrapper .contentBox .title {
    font-size: 32px;
    line-height: 1.25;
    color: #28BC0D;
    margin-bottom: 30px;
    position: relative;
}
.servicwrapper .contentBox .text {
    font-size: 18px;
    line-height: 1.8;
    position: relative;
}
.servicwrapper .imgBox {
    display: block;
    width: 745px;
    position: absolute;
    top: 30px;
    right: -300px;
    overflow: hidden;
}
@media screen and (max-width: 768px){
    .serviceArea {
        padding-top: 30px;
    }
    .serviceAreaInner {
        width: 100%;
        padding: 0 15px;
        box-sizing: border-box;
    }
    .serviceArea .h2 {
        margin: 0 auto 25px;
        padding-top: 70px;
    }
    .serviceArea .h2 .ja {
        font-size: 18px;
    }
    .serviceArea .h2 .en {
        font-size: 9px;
    }
    .servicwrapper {
        margin-bottom: 60px;
    }
    .servicwrapper .textBox {
        width: 100%;
    }
    .servicwrapper .contentBox {
        padding-left: 20px;
    }
    .servicwrapper .contentBox + .contentBox {
        margin-top: 35px;
    }
    .servicwrapper .contentBox .num {
        font-size: 80px;
    }
    .servicwrapper .contentBox:nth-child(2) .num {
    }
    .servicwrapper .contentBox:nth-child(3) .num {
    }
    .servicwrapper .contentBox .title {
        font-size: 16px;
        margin-bottom: 10px;
    }
    .servicwrapper .contentBox .text {
        font-size: 11px;
    }
    .servicwrapper .imgBox {
        display: none;
    }
}
/* paintArea
------------------------------------- */
.paintArea {
    display: flex;
    justify-content: space-between;
    width: 100%;
}
.paintBlock {
    width: 50%;
    height: 640px;
    text-align: center;
    color: #fff;
    position: relative;
    overflow: hidden;
}
.paintBlock .bgArea {
    display: block;
    width: 100%;
    height: 100%;
    background-image: url(img/top_img_5.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
    transition: all 0.5s;
}
.paintBlock:nth-child(2) .bgArea {
    background-image: url(img/top_img_6.png);
}
.paintBlock .bgArea:after {
    display: block;
    content: "";
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(162,199,114,.5), rgba(23,122,43,.5) );
    transition: all 0.5s;
}
.paintBlock:hover .bgArea {
    transform: scale(1.05);
}
.paintBlock:hover .bgArea:after {
    opacity: 0;
}
.paintBlock .textBox {
    display: block;
    position: relative;
}
.paintBlock .h3 {
    margin-top: 90px;
    margin-bottom: 60px;
}
.paintBlock .h3 .ja {
    display: block;
    font-size: 40px;
    margin-bottom: 3px;
}
.paintBlock .h3 .en {
    display: block;
    font-size: 17px;
    font-weight: 900;
}
.paintBlock .text {
    font-size: 16px;
    line-height: 1.9;
}
.paintBlock .borderBox {
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
    font-size: 16px;
    line-height: 1.9;
    width: 420px;
    margin: 20px auto 0;
    padding: 10px 0;
}
@media screen and (max-width: 768px){
    .paintArea {
        display: block;
    }
    .paintBlock {
        width: 100%;
        height: 374px;
    }
    .paintBlock .bgArea {
    }
    .paintBlock:nth-child(2) .bgArea {
    }
    .paintBlock .bgArea:after {
    }
    .paintBlock:hover .bgArea {
    }
    .paintBlock:hover .bgArea:after {
    }
    .paintBlock .textBox {
    }
    .paintBlock .h3 {
        margin-top: 40px;
        margin-bottom: 15px;
    }
    .paintBlock .h3 .ja {
        font-size: 20px;
    }
    .paintBlock .h3 .en {
        font-size: 9px;
    }
    .paintBlock .text {
        font-size: 11px;
    }
    .paintBlock .borderBox {
        font-size: 11px;
        width: 300px;
    }
}
/* priceArea
------------------------------------- */
.priceArea {
    padding-top: 95px;
    padding-bottom: calc(200px + 85px);
    background-color: #E9F8E6;
    position: relative;
    overflow: hidden;
}
.priceArea:after {
    display: block;
    content: "";
    width: 100%;
    min-width: 1400px;
    height: 200px;
    background: url(img/top_bg_5.png) no-repeat center / 100% 100%;
    position: absolute;
    top: calc(100% - 200px);
    left: 50%;
    transform: translateX(-50%);
    z-index: 0;
}
.priceArea:before {
    display: block;
    content: "";
    width: 196px;
    height: 214px;
    background: url(img/top_bg_icon_1.png) no-repeat center / cover;
    position: absolute;
    top: calc(100% - 270px);
    left: 76%;
    z-index: 0;
}
.priceAreaInner {
    width: 1140px;
    margin: 0 auto;
}
.priceArea .h2 {
    text-align: center;
    margin: 0 auto 30px;
}
.priceArea .h2 .ja {
    display: block;
    font-size: 36px;
    margin-bottom: 5px;
}
.priceArea .h2 .en {
    display: block;
    font-size: 17px;
    font-weight: 900;
    color: #28BC0D;
    letter-spacing: 0.04em;
}
.priceArea .catch {
    font-size: 18px;
    line-height: 1.5;
    text-align: center;
    margin: 0 0 80px;
}
.priceArea .priceBlock {
    display: flex;
    justify-content: space-between;
    margin-bottom: 30px;
}
.priceArea .left,
.priceArea .right {
    width: 560px;
}
.priceArea .priceBox {
    background-color: #fff;
    border-radius: 30px;
    padding: 38px 30px 28px;
    box-sizing: border-box;
}
.priceArea .priceBox + .priceBox {
    margin-top: 20px;
}
.priceArea .priceBox .h3 {
    width: 200px;
    font-size: 33px;
    color: #fff;
    line-height: 45px;
    text-align: center;
    margin: 0 auto 35px;
    background-color: #28BC0D;
    border-radius: 30px;
}
.priceList {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.priceList + .priceList {
    margin-top: 27px;
}
.priceList dt {
    display: block;
    width: 130px;
    height: 44px;
    color: #fff;
    font-size: 20px;
    line-height: 44px;
    padding-left: 15px;
    background: url(img/top_bg_3.png) no-repeat center / cover;
    margin-bottom: 10px;
}
.priceList dt:nth-child(n + 2) {
    background-image: url(img/top_bg_4.png);
}
.priceList dd {
    display: block;
    width: 360px;
    height: 44px;
    font-size: 22px;
    line-height: 44px;
    padding: 0 15px;
    box-sizing: border-box;
    margin-bottom: 10px;
    margin-left: 10px;
    background-color: #E9F8E6;
}
.priceBottomBlock {
    display: flex;
    justify-content: space-between;
}
.priceBottomBlock .img {
    width: 500px;
    text-align: center;
}
.priceBottomBlock .contactBox {
    width: 560px;
}
.priceBottomBlock .contactBox .text {
    font-size: 20px;
    margin-bottom: 35px;
    text-align: center;
}
.priceBottomBlock .contactBox .btn_contact {
    width: 280px;
    margin: 0 auto;
}
.priceBottomBlock .contactBox .btn_contact a {
    display: block;
    background-color: #fff;
    font-size: 20px;
    line-height: 54px;
    border: 3px solid #28BC0D;
    border-radius: 50px;
    padding-left: 23px;
    position: relative;
    transition: .2s;
}
.priceBottomBlock .contactBox .btn_contact a:after {
    display: block;
    content: "";
    width: 17px;
    height: 12px;
    background: url(img/icon_arrow.png) no-repeat center / contain;
    transform: rotate(90deg);
    position: absolute;
    top: calc(50% - 6px);
    right: 25px;
}
.priceBottomBlock .contactBox .btn_contact a:hover {
    transform: scale(0.98) translateY(2px);
}
@media screen and (max-width: 768px){
    .priceArea {
        padding-top: 70px;
        padding-bottom: 130px;
    }
    .priceArea:after {
        min-width: inherit;
        height: 100px;
        background: url(img/top_bg_5_sp.png) no-repeat center / 100% 100%;
        top: calc(100% - 100px);
    }
    .priceArea:before {
        display: none;
    }
    .priceAreaInner {
        width: 100%;
        padding: 0 35px;
        box-sizing: border-box;
    }
    .priceArea .h2 {
        margin: 0 auto 10px;
    }
    .priceArea .h2 .ja {
        font-size: 18px;
    }
    .priceArea .h2 .en {
        font-size: 9px;
    }
    .priceArea .catch {
        font-size: 13px;
        margin: 0 0 25px;
    }
    .priceArea .priceBlock {
        display: block;
        margin-bottom: 20px;
    }
    .priceArea .left,
    .priceArea .right {
        width: 100%;
    }
    .priceArea .right  {
        margin-top: 10px;
    }
    .priceArea .priceBox {
        border-radius: 10px;
        padding: 17px 15px;
    }
    .priceArea .priceBox + .priceBox {
        margin-top: 10px;
    }
    .priceArea .priceBox .h3 {
        width: 107px;
        font-size: 17px;
        line-height: 25px;
        margin: 0 auto 15px;
    }
    .priceList {
    }
    .priceList + .priceList {
        margin-top: 8px;
    }
    .priceList dt {
        width: 70px;
        height: 25px;
        font-size: 11px;
        line-height: 25px;
        padding-left: 10px;
        margin-bottom: 8px;
    }
    .priceList dd {
        width: calc(100% - 80px);
        height: 25px;
        font-size: 12px;
        line-height: 25px;
        padding: 0 7px;
        margin-bottom: 8px;
        margin-left: 10px;
    }
    .priceBottomBlock {
        display: block;
    }
    .priceBottomBlock .img {
        width: 100%;
        margin: 0 auto 15px;
    }
    .priceBottomBlock .contactBox {
        width: 100%;
        margin: 0 auto;
    }
    .priceBottomBlock .contactBox .text {
        font-size: 10px;
        margin-bottom: 20px;
    }
    .priceBottomBlock .contactBox .btn_contact {
        width: 140px;
    }
    .priceBottomBlock .contactBox .btn_contact a {
        font-size: 10px;
        line-height: 30px;
        padding-left: 13px;
    }
    .priceBottomBlock .contactBox .btn_contact a:after {
        width: 10px;
        height: 7px;
        top: calc(50% - 3px);
        right: 8px;
    }
}
/* staffArea
------------------------------------- */
.staffArea {
    margin-bottom: 150px;
    position: relative;
}
.staffArea .h2 {
    text-align: center;
    margin: -60px auto 25px;
}
.staffArea .h2 .ja {
    display: block;
    font-size: 36px;
    margin-bottom: 5px;
}
.staffArea .h2 .en {
    display: block;
    font-size: 17px;
    font-weight: 900;
    color: #28BC0D;
    letter-spacing: 0.04em;
}
.staffArea .catch {
    font-size: 18px;
    line-height: 1.5;
    text-align: center;
    margin: 0 0 60px;
}
.staffList {
    display: flex;
    justify-content: space-between;
    width: 1100px;
    margin: 0 auto;
}
.staffList li {
    display: block;
    width: 500px;
}
.staffList li .img {
    margin-bottom: 25px;
}
.staffList li .textBox {
    min-height: 140px;
    background-color: #E9F8E6;
    border-radius: 10px;
    padding: 15px 20px;
    box-sizing: border-box;
}
.staffList li .textBox .name {
    display: flex;
    justify-content: start;
    align-items: baseline;
    font-size: 34px;
    margin-bottom: 10px;
}
.staffList li .textBox .name span:nth-child(1) {
    display: inline-block;
    font-size: 24px;
    margin-right: 15px;
    
}
.staffList li .textBox .name span.kana {
    font-size: 14px;
}
.staffList li .textBox .text {
    font-size: 16px;
    line-height: 1.5;
    margin-bottom: 10px;
}
.staffList li .textBox .qualification {
    font-size: 20px;
}
@media screen and (max-width: 768px){
    .staffArea {
        margin-bottom: 75px;
        padding: 0 35px;
    }
    .staffArea:before {
        display: block;
        content: "";
        width: 100px;
        height: 105px;
        background: url(img/top_bg_icon_1_sp.png) no-repeat center / cover;
        position: absolute;
        top: -30px;
        left: 66%;
    }
    .staffAreaInner {
        position: relative;
    }
    .staffArea .h2 {
        margin: 0 auto 35px;
    }
    .staffArea .h2 .ja {
        font-size: 15px;
    }
    .staffArea .h2 .en {
        font-size: 9px;
    }
    .staffArea .catch {
        font-size: 13px;
        margin: 0 0 25px;
    }
    .staffList {
        display: block;
        width: 100%;
    }
    .staffList li {
        width: 100%;
        margin: 0 auto;
    }
    .staffList li + li {
        margin-top: 25px;
    }
    .staffList li .img {
        margin-bottom: 15px;
    }
    .staffList li .textBox {
        padding: 10px 15px;
        min-height: inherit;
    }
    .staffList li .textBox .name {
        font-size: 20px;
        margin-bottom: 9px;
    }
    .staffList li .textBox .name span:nth-child(1) {
        font-size: 14px;
        margin-right: 10px;   
    }
    .staffList li .textBox .name span.kana {
        font-size: 11px;
    }
    .staffList li .textBox .text {
        font-size: 10px;
    }
    .staffList li .textBox .qualification {
        font-size: 12px;
    }
}
/* worksArea
------------------------------------- */
.worksArea {
    background-color: #E9F8E6;
    padding-bottom: 50px;
}
.worksArea .h2 {
    text-align: center;
    margin: 0 auto 25px;
    transform: translateY(-20px);
}
.worksArea .h2 .ja {
    display: block;
    font-size: 36px;
    margin-bottom: 5px;
}
.worksArea .h2 .en {
    display: block;
    font-size: 17px;
    font-weight: 900;
    color: #28BC0D;
    letter-spacing: 0.04em;
}
.worksArea .catch {
    font-size: 18px;
    line-height: 1.5;
    text-align: center;
    margin: 0 0 50px;
}
.top_works_slider {
    margin-bottom: 50px;
}
.top_works_slider li {
    margin: 0 15px;
}
.top_works_slider li a {
    display: block;
    transition: .2s;
}
.top_works_slider li a:hover {
    opacity: .8;
}
.top_works_slider li .img {
    height: 280px;
    border-radius: 10px;
    margin-bottom: 15px;
    overflow: hidden;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}
.top_works_slider li .textBox {
    background-color: #fff;
    border-radius: 10px;
    padding: 15px 20px;
    box-sizing: border-box;
}
.top_works_slider li .tags {
    margin-bottom: 5px;
}
.top_works_slider li .tag {
    display: inline-block;
    background-color: #28BC0D;
    border-radius: 30px;
    color: #fff;
    font-size: 18px;
    text-align: center;
    line-height: 24px;
    padding: 0 15px;
    margin: 0 10px 5px 0;
}
.top_works_slider li .title {
    font-size: 20px;
}

.worksArea .btn_link {
    width: 280px;
    margin: 50px auto;
}
.worksArea .btn_link a {
    display: block;
    background-color: #fff;
    font-size: 20px;
    line-height: 54px;
    border: 3px solid #28BC0D;
    border-radius: 50px;
    padding-left: 23px;
    position: relative;
    transition: .2s;
}
.worksArea .btn_link a:after {
    display: block;
    content: "";
    width: 17px;
    height: 12px;
    background: url(img/icon_arrow.png) no-repeat center / contain;
    position: absolute;
    top: calc(50% - 6px);
    right: 25px;
}
.worksArea .btn_link a:hover {
    transform: scale(.98) translateY(2px);
}
@media screen and (max-width: 768px){
    .worksArea {
        padding-bottom: 35px;
    }
    .worksArea .h2 {
        margin: 0 auto;
        transform: translateY(-10px);
    }
    .worksArea .h2 .ja {
        font-size: 18px;
    }
    .worksArea .h2 .en {
        font-size: 9px;
    }
    .worksArea .catch {
        font-size: 13px;
        margin: 0 0 40px;
        padding: 0 35px;
        box-sizing: border-box;
    }
    .top_works_slider {
        margin-bottom: 40px;
    }
    .top_works_slider li {
    }
    .top_works_slider li a {
    }
    .top_works_slider li a:hover {
    }
    .top_works_slider li .img {
        margin-bottom: 12px;
        height: 175px;
    }
    .top_works_slider li .textBox {
        padding: 9px 13px;
    }
    .top_works_slider li .tags {
    }
    .top_works_slider li .tag {
        font-size: 12px;
        line-height: 15px;
        padding: 0 15px;
        margin: 0 10px 5px 0;
    }
    .top_works_slider li .title {
        font-size: 14px;
    }
    
    .worksArea .btn_link {
        width: 140px;
        margin-top: 25px;
    }
    .worksArea .btn_link a {
        font-size: 10px;
        line-height: 30px;
        padding-left: 10px;
    }
    .worksArea .btn_link a:after {
        width: 9px;
        height: 7px;
        top: calc(50% - 4px);
        right: 10px;
    }
    /* slick */
    .worksArea .slick-prev,
    .worksArea .slick-next {
        width: 20px;
        height: 55px;
        background: url(img/arrow_slick.png) no-repeat center / cover;
        color: transparent;
        font-size: 0;
        position: absolute;
        top: calc(50% - 28px);
        z-index: 1;
    }
    .worksArea .slick-prev {
        left: 20px;
    }
    .worksArea .slick-next {
        right: 20px;
        transform: rotate(180deg);
    }
}

/* --------------------------------------------------------------------
works top
---------------------------------------------------------------------*/
.worksPage {
    background-color: #E9F8E6;
    padding-bottom: 45px;
}
.worksPage .mv {
    display: block;
    width: 100%;
    height: 400px;
    position: relative;
    background: url(img/works_mv.png) no-repeat center / cover;
    margin-bottom: 70px;
}
.worksPage .mv .h1 {
    display: block;
    width: 185px;
    height: 64px;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    color: #fff;
    text-align: center;
}
.worksPage .mv .h1 .ja {
    font-size: 46px;
}
.worksPage .mv .h1 .en {
    font-size: 17px;
    flex-wrap: 900
}
.worksPage .lead {
    font-size: 18px;
    line-height: 1.5;
    text-align: center;
    margin-bottom: 90px;
}
.worksPageWrapper {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    width: 1230px;
    margin: 0 auto;
}
.worksPageWrapper .left {
    width: 810px;
    order: 1;
}
.worksPageList {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.worksPageList li {
    width: 380px;
    margin-bottom: 67px;
}
.worksPageList li.is-hidden {
    visibility: hidden;
    opacity: 0;
    height: 0;
    margin: 0 10px;
    padding: 0;
}
.worksPageList .img {
    height: 250px;
    border-radius: 10px;
    margin-bottom: 20px;
    overflow: hidden;
}
.worksPageList .textBlock {
    display: block;
    background-color: #fff;
    border-radius: 10px;
    padding: 15px 20px;
    box-sizing: border-box;
}
.worksPageList .tags {
    margin-bottom: 6px;
}
.worksPageList .tag {
    display: inline-block;
    background-color: #28BC0D;
    font-size: 18px;
    line-height: 24px;
    color: #fff;
    text-align: center;
    padding: 0 12px;
    border-radius: 12px;
}
.worksPageList .tag + .tag {
    margin-left: 8px;
}
.worksPageList .title {
    font-size: 20px;
}
.worksPage .btn_more {
    width: 100%;
    text-align: center;
    order: 3;
}
.worksPage .btn_more span {
    display: inline-block;
    width: 283px;
    background-color: #fff;
    border: 3px solid #28BC0D;
    font-size: 20px;
    border-radius: 30px;
    line-height: 57px;
}
.worksPage .btn_more span {
    position: relative;
}
.worksPage .btn_more span:after {
    display: block;
    content: "";
    width: 17px;
    height: 14px;
    background: url(img/icon_arrow.png) no-repeat center / cover;
    transform: rotate(90deg);
    position: absolute;
    top: calc(50% - 8px);
    right: 30px;
}

.worksPageWrapper .right {
    width: 320px;
    background-color: #fff;
    padding: 15px 18px;
    border-radius: 10px;
    box-sizing: border-box;
    order: 2;
}
.worksPageWrapper .right .sideNavTitle {
    width: 140px;
    font-size: 22px;
    line-height: 30px;
    color: #fff;
    text-align: center;
    background-color: #28BC0D;
    border-radius: 20px;
    margin: -30px auto 0;
}
.sideNav li a {
    display: block;
    font-size: 22px;
    padding: 15px 0;
    border-bottom: 1px dotted #28BC0D;
}
.sideNav li:last-of-type a {
    border-bottom: none;
}
@media screen and (max-width: 768px){
    .worksPage {
        padding-bottom: 25px;
    }
    .worksPage .mv {
        height: 200px;
        background: url(img/works_mv_sp.png) no-repeat center / cover;
        margin-bottom: 25px;
    }
    .worksPage .mv .h1 {
        width: 72px;
        height: 32px;
    }
    .worksPage .mv .h1 .ja {
        font-size: 18px;
    }
    .worksPage .mv .h1 .en {
        font-size: 9px;
    }
    .worksPage .lead {
        font-size: 13px;
        margin-bottom: 40px;
        padding: 0 60px;
        box-sizing: border-box;
    }
    .worksPageWrapper {
        display: block;
        width: 100%;
        padding: 0 35px;
        box-sizing: border-box;
    }
    .worksPageWrapper .left {
        width: 100%;
    }
    .worksPageList {
        display: block;
    }
    .worksPageList li {
        width: 250px;
        margin: 0 auto 25px;
    }
    .worksPageList .img {
        height: inherit;
        max-height: 175px;
        margin-bottom: 10px;
    }
    .worksPageList .textBlock {
        padding: 10px 15px;
    }
    .worksPageList .tags {
        margin-bottom: 3px;
    }
    .worksPageList .tag {
        font-size: 12px;
        line-height: 15px;
        padding: 0 9px;
    }
    .worksPageList .tag + .tag {
        margin-left: 6px;
    }
    .worksPageList .title {
        font-size: 14px;
    }
    .worksPage .btn_more span {
        width: 140px;
        font-size: 10px;
        line-height: 30px;
        padding-right: 10px;
    }
    .worksPage .btn_more span:after {
        width: 10px;
        height: 7px;
        top: calc(50% - 3px);
        right: 5px;
    }
    
    .worksPageWrapper .right {
        width: 160px;
        padding: 8px 17px;
        margin: 35px auto 0;
    }
    .worksPageWrapper .right .sideNavTitle {
        width: 70px;
        font-size: 11px;
        line-height: 15px;
        margin: -15px auto 0;
    }
    .sideNav li a {
        font-size: 11px;
        padding: 11px 0;
    }
}


/* 個別ページ */
.worksPage.indivisual .mv {
    background: url(img/page_mv.png) no-repeat center / cover;
}

.worksPost .titleBlock {
    background-color: #fff;
    border-radius: 10px;
    padding: 13px 20px;
    margin-bottom: 80px;
}
.worksPost .titleBlock .tags {
    margin-bottom: 10px;
}
.worksPost .titleBlock .tag {
    display: inline-block;
    font-size: 18px;
    line-height: 24px;
    text-align: center;
    color: #fff;
    background-color: #28BC0D;
    padding: 0 15px;
    border-radius: 20px;
}
.worksPost .titleBlock .tag + .tag {
    margin-left: 10px;
}
.worksPost .titleBlock .h2 {
    font-size: 30px;
}
.baWrap {
    display: flex;
    justify-content: space-between;
    position: relative;
    align-items: flex-end;
    margin-bottom: 50px;
}
.baWrap .before {
    width: 360px;
    height: 270px;
    position: relative;
}
.baWrap .before:after {
    display: block;
    content: "";
    width: 25px;
    height: 50px;
    background: url(img/arrow_green.png) no-repeat center / cover;
    position: absolute;
    top: calc(50% - 25px);
    right: -39px
}
.baWrap .before .img {
    width: 360px;
    height: 270px;
    overflow: hidden;
}
.baWrap .after {
    width: 400px;
    height: 300px;
    position: relative;
}
.baWrap .after .img {
    width: 400px;
    height: 300px;
    overflow: hidden;
}
.baWrap .tag {
    display: block;
    width: 125px;
    font-size: 22px;
    color: #fff;
    line-height: 30px;
    text-align: center;
    background-color: #28BC0D;
    border-radius: 20px;
    position: absolute;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
}
.worksPost .textBlock {
    background-color: #fff;
    border-radius: 20px;
    padding: 30px;
    box-sizing: border-box;
}


.worksPost .textBlock dl {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 50px;
}
.worksPost .textBlock dl dt {
    display: block;
    width: 130px;
    height: 44px;
    color: #fff;
    font-size: 20px;
    line-height: 44px;
    padding-left: 15px;
    background: url(img/top_bg_3.png) no-repeat center / cover;
    margin-bottom: 10px;
}
.worksPost .textBlock dl dd {
    display: block;
    width: 610px;
    height: 44px;
    font-size: 22px;
    line-height: 44px;
    padding: 0 15px;
    box-sizing: border-box;
    margin-bottom: 10px;
    margin-left: 10px;
    background-color: #E9F8E6;
}
.worksPost .voice {
    padding: 30px 20px;
    box-sizing: border-box;
    background: url(img/works_voice_bg.png) repeat left top / cover;
    position: relative;
}
.worksPost .voice .title {
    display: block;
    font-size: 20px;
    line-height: 30px;
    text-align: center;
    color: #fff;
    background-color: #28BC0D;
    padding: 0 15px;
    border-radius: 20px;
    position: absolute;
    top: -15px;
    left: 50%;
    transform: translateX(-50%);

}
.worksPost .voice .text {
    font-size: 16px;
    line-height: 1.75;
}
.worksPage.indivisual .btn_more {
    margin-top: 55px;
}
.worksPage.indivisual .btn_more a span:after {
    transform: rotate(-180deg);
    right: inherit;
    top: calc(50% - 7px);
    left: 30px;
}
@media screen and (max-width: 768px){
    .worksPage.indivisual .mv {
        background: url(img/page_mv_sp.png) no-repeat center / cover;
    }
    
    .worksPost .titleBlock {
        padding: 10px 15px;
        margin-bottom: 27px;
    }
    .worksPost .titleBlock .tags {
        margin-bottom: 10px;
    }
    .worksPost .titleBlock .tag {
        font-size: 12px;
        line-height: 15px;
        padding: 0 10px;
    }
    .worksPost .titleBlock .tag + .tag {
        margin-left: 6px;
    }
    .worksPost .titleBlock .h2 {
        font-size: 14px;
    }
    .baWrap {
        display: block;
        margin-bottom: 30px;
    }
    .baWrap .before {
        width: 180px;
        height: 135px;
        margin: 0 auto 45px;
    }
    .baWrap .before .img {
        width: 180px;
        height: 135px;
    }
    .baWrap .before:after {
        width: 13px;
        height: 25px;
        transform: rotate(90deg);
        top: inherit;
        bottom: -37px;
        right: inherit;
        left: calc(50% - 7px);
        }
    .baWrap .after {
        width: 200px;
        height: 150px;
        margin: 0 auto;
    }
    .baWrap .after .img {
        width: 200px;
        height: 150px;
    }
    .baWrap .tag {
        width: 60px;
        font-size: 11px;
        line-height: 15px;
        bottom: -7px;
    }
    .worksPost .textBlock {
        padding: 15px 20px;
    }
    
    
    .worksPost .textBlock dl {
        margin-bottom: 25px;
    }
    .worksPost .textBlock dl dt {
        width: 70px;
        height: 25px;
        font-size: 11px;
        line-height: 25px;
        padding-left: 10px;
        margin-bottom: 8px;
        background: url(img/top_bg_3.png) no-repeat center / 100%;
    }
    .worksPost .textBlock dl dd {
        width: calc(100% - 80px);
        height: 25px;
        font-size: 12px;
        line-height: 25px;
        padding: 0 7px;
        margin-bottom: 8px;
        margin-left: 10px;
    }
    .worksPost .voice {
        padding: 15px 8px;
    }
    .worksPost .voice .title {
        font-size: 10px;
        line-height: 15px;
        padding: 0 10px;
        top: -7px;
    }
    .worksPost .voice .text {
        font-size: 11px;
        line-height: 1.75;
    }
    .worksPage.indivisual .btn_more {
        margin-top: 25px;
    }
    .worksPage.indivisual .btn_more a span:after {
        top: 12px;
        left: 15px;
    }
}



/* animation */

.anim {
    opacity: 0;
    transform: translateY(50px);
    transition: .5s;
}
.anim.active {
    opacity: 1;
    transform: translateY(0);
}
.worksArea .h2.anim.active {transform: translateY(-20px);}
@media screen and (max-width: 768px){
    .worksArea .h2.anim.active {transform: translateY(-10px);}
}



