/*==========================================================================
#Variable
========================================================================== */
/* break-point
----------------------------------------------------------------- */
/*==========================================================================
#Extend
========================================================================== */
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
@import url(https://fonts.googleapis.com/earlyaccess/mplus1p.css);
.footer-link, .footer-sns-btn, .form-area form dl, .feature-cont--r, .feature-cont--l {
  *zoom: 1;
}
.footer-link:after, .footer-sns-btn:after, .form-area form dl:after, .feature-cont--r:after, .feature-cont--l:after {
  content: "";
  display: table;
  clear: both;
}

.list_of_companies-in, .contact-area, .access-cont, .faq-container, .flow-cont, .voice-cont, .report-cont, .curriculum-cont-wrap, .feature-cont--r, .feature-cont--l, .cta-inner, .sec01-2, .sec01-1, .header {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  width: 1060px;
}
@media screen and (max-width: 768px) {
  .list_of_companies-in, .contact-area, .access-cont, .faq-container, .flow-cont, .voice-cont, .report-cont, .curriculum-cont-wrap, .feature-cont--r, .feature-cont--l, .cta-inner, .sec01-2, .sec01-1, .header {
    width: auto;
  }
}

/*==========================================================================
#Mixin
========================================================================== */
/* Normalize
========================================================================== */
/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Change the default font family in all browsers (opinionated).
 * 2. Correct the line height in all browsers.
 * 3. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */
/* Document
   ========================================================================== */
html {
  font-family: sans-serif; /* 1 */
  line-height: 1.15; /* 2 */
  -ms-text-size-adjust: 100%; /* 3 */
  -webkit-text-size-adjust: 100%; /* 3 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers (opinionated).
 */
body {
  margin: 0;
}

/**
 * Add the correct display in IE 9-.
 */
article,
aside,
footer,
header,
nav,
section {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */
figcaption,
figure,
main { /* 1 */
  display: block;
}

/**
 * Add the correct margin in IE 8.
 */
figure {
  margin: 0;
}

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

/**
 * 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: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
  background-color: transparent; /* 1 */
  -webkit-text-decoration-skip: objects; /* 2 */
}

/**
 * Remove the outline on focused links when they are also active or hovered
 * in all browsers (opinionated).
 */
a:active,
a:hover {
  outline-width: 0;
}

/**
 * 1. Remove the bottom border in Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong {
  font-weight: inherit;
}

/**
 * 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: 1em; /* 2 */
}

/**
 * Add the correct font style in Android 4.3-.
 */
dfn {
  font-style: italic;
}

/**
 * Add the correct background and color in IE 9-.
 */
mark {
  background-color: #ff0;
  color: #000;
}

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

/* Embedded content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
audio,
video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Remove the border on images inside links in IE 10-.
 */
img {
  border-style: none;
}

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: sans-serif; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input { /* 1 */
  overflow: visible;
}

input, textarea {
  -webkit-appearance: none;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select { /* 1 */
  text-transform: none;
}

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button; /* 2 */
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Change the border, margin, and padding in all browsers (opinionated).
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/**
 * Remove the default vertical scrollbar in IE.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * 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 odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */
details,
menu {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Scripting
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block;
}

/**
 * Add the correct display in IE.
 */
template {
  display: none;
}

/* Hidden
   ========================================================================== */
/**
 * Add the correct display in IE 10-.
 */
[hidden] {
  display: none;
}

/* Typography
========================================================================== */
html {
  font-size: 62.5%;
}

body,
button,
input,
select,
textarea {
  color: #1a1a1a;
  font-family: Merriweather, Georgia, serif;
  font-size: 16px;
  line-height: 1.75;
}
@media screen and (max-width: 768px) {
  body,
button,
input,
select,
textarea {
    font-size: 14px;
  }
}

body {
  overflow-wrap: break-word;
  word-break: normal;
}
@media screen and (max-width: 768px) {
  body {
    width: 100%;
    min-width: initial;
    overflow-x: hidden;
  }
}

h1,
h2,
h3,
h4,
h5,
h6 {
  clear: both;
  font-weight: 700;
  margin: 0;
  text-rendering: optimizeLegibility;
}

p {
  margin: 0;
  padding: 0;
}

dfn,
cite,
i {
  font-style: italic;
}

em {
  font-style: normal;
}

blockquote {
  border: 0 solid #1a1a1a;
  border-left-width: 4px;
  color: #686868;
  font-size: 19px;
  font-size: 1.1875rem;
  font-style: italic;
  line-height: 1.4736842105;
  margin: 0 0 1.4736842105em;
  overflow: hidden;
  padding: 0 0 0 1.263157895em;
}

blockquote, q {
  quotes: none;
}
blockquote:last-child, q:last-child {
  margin-bottom: 0;
}

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

blockquote cite,
blockquote small {
  color: #1a1a1a;
  display: block;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.75;
}

blockquote cite:before,
blockquote small:before {
  content: "— ";
}

address {
  font-style: italic;
  margin: 0 0 1.75em;
}

code,
kbd,
tt,
var,
samp,
pre {
  font-family: Inconsolata, monospace;
}

pre {
  border: 1px solid #d1d1d1;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.3125;
  margin: 0 0 1.75em;
  max-width: 100%;
  overflow: auto;
  padding: 1.75em;
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word;
}

code {
  background-color: #d1d1d1;
  padding: 0.125em 0.25em;
}

abbr,
acronym {
  border-bottom: 1px dotted #d1d1d1;
  cursor: help;
}

mark,
ins {
  background: #333;
  color: #fff;
  padding: 0.125em 0.25em;
  text-decoration: none;
}

big {
  font-size: 125%;
}

/* Elements
========================================================================== */
html {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
  -moz-box-sizing: inherit;
  box-sizing: inherit;
}

hr {
  background-color: #d1d1d1;
  border: 0;
  height: 1px;
}

ul,
ol {
  margin: 0;
  padding: 0;
}

ul {
  list-style: none;
}

ol {
  list-style: decimal;
  margin-left: 1.5em;
}

li > ul,
li > ol {
  margin-bottom: 0;
}

dl {
  margin: 0;
}

dd {
  padding: 0;
  margin: 0;
}

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

del {
  opacity: 0.8;
}

table {
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
}

caption,
th,
td {
  font-weight: normal;
  text-align: left;
}

th {
  border-width: 0 1px 1px 0;
  font-weight: 700;
}

td {
  border-width: 0 1px 1px 0;
}

th,
td {
  padding: 0.4375em;
}

::-webkit-input-placeholder {
  color: #686868;
  font-family: Montserrat, "Helvetica Neue", sans-serif;
}

:-moz-placeholder {
  color: #686868;
  font-family: Montserrat, "Helvetica Neue", sans-serif;
}

::-moz-placeholder {
  color: #686868;
  font-family: Montserrat, "Helvetica Neue", sans-serif;
  opacity: 1;
}

:-ms-input-placeholder {
  color: #686868;
  font-family: Montserrat, "Helvetica Neue", sans-serif;
}

/* Links
========================================================================== */
a {
  text-decoration: none;
}

a:focus {
  outline: none;
  color: #fff;
}

a:hover,
a:active {
  outline: 0;
}

/*==========================================================================
#Variable
========================================================================== */
/* color
----------------------------------------------------------------- */
/*==========================================================================
#Font
========================================================================== */
.notosansjp {
  font-family: "Noto Sans JP", sans-serif;
}

body,
button,
input,
select,
textarea {
  font-family: "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
}

input:placeholder-shown, textarea:placeholder-shown {
  color: #b5b5b5;
}
input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
  color: #b5b5b5;
}
input:-moz-placeholder, textarea:-moz-placeholder {
  color: #b5b5b5;
}
input::-moz-placeholder, textarea::-moz-placeholder {
  color: #b5b5b5;
}
input:-ms-input-placeholder, textarea:-ms-input-placeholder {
  color: #b5b5b5;
}

.wf-mplus, .c-ttl-small {
  font-family: "Mplus 1p";
}

.gothic {
  font-family: "KozGoPro-ExtraLight", "KozGoPro-Light", "KozGoPro", "小塚ゴシック Pr6N", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
}

/*==========================================================================
#Links
========================================================================== */
a {
  color: #007acc;
}

/*!
 * animate.css -http://daneden.me/animate
 * Version - 3.5.2
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2017 Daniel Eden
*/
.wow {
  visibility: hidden;
  transform: translate3d(0, 0, 0);
}

.animated {
  animation-duration: 1s;
  animation-fill-mode: both;
}

.animated.infinite {
  animation-iteration-count: infinite;
}

.animated.hinge {
  animation-duration: 2s;
}

@keyframes flash {
  50% {
    opacity: 1;
  }
  25%, 75% {
    opacity: 0;
  }
}
@keyframes fadeIn {
  from {
    visibility: hidden;
  }
  to {
    visibility: visible;
  }
}
.fadeIn {
  animation-name: fadeIn;
  animation-timing-function: ease; /* ease | ease-out | ease-in | ease-in-out | linear | cubic-bezier(0.1, 0.7, 1.0, 0.1)*/
  animation-iteration-count: 1; /* 1 | infinite */
  animation-direction: normal; /* normal | reverse | alternate | alternate-reverse */
  animation-fill-mode: both; /* none | forwards | backwards | both */
  animation-play-state: running; /* running | paused */
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.fadeInDown {
  animation-name: fadeInDown;
}

@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
}
.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}

@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translate3d(10%, 0, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.fadeInRight {
  animation-name: fadeInRight;
}

@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translate3d(-10%, 0, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.fadeInLeft {
  animation-name: fadeInLeft;
}

@keyframes fadeOutLeft {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
  }
}
.fadeOutLeft {
  animation-name: fadeOutLeft;
}

@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotateZ(0deg);
  }
  100% {
    -webkit-transform: rotateZ(360deg);
  }
}
@-moz-keyframes spin {
  0% {
    -moz-transform: rotateZ(0deg);
  }
  100% {
    -moz-transform: rotateZ(360deg);
  }
}
@-ms-keyframes spin {
  0% {
    -ms-transform: rotateZ(0deg);
  }
  100% {
    -ms-transform: rotateZ(360deg);
  }
}
@-o-keyframes spin {
  0% {
    -o-transform: rotateZ(0deg);
  }
  100% {
    -o-transform: rotateZ(360deg);
  }
}
@keyframes spin {
  0% {
    transform: rotateZ(0deg);
  }
  100% {
    transform: rotateZ(360deg);
  }
}
@keyframes bounceIn {
  from, 20%, 40%, 60%, 80%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1);
  }
  20% {
    transform: scale3d(1.1, 1.1, 1.1);
  }
  40% {
    transform: scale3d(0.9, 0.9, 0.9);
  }
  60% {
    opacity: 1;
    transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
    transform: scale3d(0.97, 0.97, 0.97);
  }
  to {
    opacity: 1;
    transform: scale3d(1, 1, 1);
  }
}
.bounceIn {
  animation-name: bounceIn;
}

@keyframes bounceCube {
  from, 20%, 40%, 60%, 80%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1);
  }
  20% {
    transform: scale3d(1.1, 1.1, 1.1);
  }
  40% {
    transform: scale3d(0.9, 0.9, 0.9);
  }
  60% {
    opacity: 1;
    transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
    transform: scale3d(0.97, 0.97, 0.97);
  }
  to {
    opacity: 1;
    transform: scale3d(1, 1, 1);
  }
}
.bounceCube {
  animation-name: bounceCube;
}

@keyframes horizontal {
  0% {
    transform: translateX(-2px);
  }
  100% {
    transform: translateX(0px);
  }
}
@keyframes vertical {
  0% {
    transform: translateY(-5px);
  }
  100% {
    transform: translateY(0px);
  }
}
@keyframes zoomIn {
  from {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  50% {
    opacity: 1;
  }
}
.zoomIn {
  animation-name: zoomIn;
}

@keyframes zoomIn2 {
  from {
    opacity: 0;
  }
  50% {
    opacity: 0;
    transform: scale3d(1.3, 1.3, 1.3);
  }
  to {
    opacity: 1;
  }
}
.zoomIn2 {
  animation-name: zoomOut;
}

@keyframes zoomOut {
  from {
    opacity: 1;
  }
  50% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 0;
  }
}
.zoomOut {
  animation-name: zoomOut;
}

@keyframes zoomOut2 {
  from {
    opacity: 1;
  }
  50% {
    opacity: 0;
    transform: scale3d(1.3, 1.3, 1.3);
  }
  to {
    opacity: 0;
  }
}
.zoomOut2 {
  animation-name: zoomOut2;
}

/*==========================================================================
#component
========================================================================== */
.c-wrap {
  margin-left: auto;
  margin-right: auto;
  width: 1040px;
}
@media screen and (max-width: 768px) {
  .c-wrap {
    width: auto;
  }
}

.c-ttl-small {
  font-size: 30px;
  font-weight: 200;
  text-align: center;
  letter-spacing: 2px;
}
@media screen and (max-width: 768px) {
  .c-ttl-small {
    font-size: 18px;
  }
}

.c-ttl-wrap {
  margin-bottom: 60px;
}
@media screen and (max-width: 768px) {
  .c-ttl-wrap {
    margin-bottom: 20px;
  }
}

.c-sec-ttl {
  position: relative;
  margin-bottom: 1em;
  padding-bottom: 30px;
  font-size: 42px;
  text-align: center;
}
.c-sec-ttl em {
  background: url("../images/txt-line.gif") repeat-x;
  background-size: 28px 15px;
  background-position: bottom;
}
.c-sec-ttl:after {
  content: "";
  position: absolute;
  bottom: 0px;
  left: 50%;
  margin-left: -60px;
  width: 120px;
  height: 3px;
  background: #5ca938;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  -o-border-radius: 4px;
  border-radius: 4px;
}
@media screen and (max-width: 768px) {
  .c-sec-ttl {
    padding-bottom: 15px;
    font-size: 22px;
  }
  .c-sec-ttl em {
    background-size: 18px 10px;
  }
  .c-sec-ttl:after {
    margin-left: -40px;
    width: 80px;
  }
}

.c-sec-sub-ttl {
  font-size: 24px;
  font-weight: 600;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .c-sec-sub-ttl {
    margin-left: 15px;
    margin-right: 15px;
    font-size: 17px;
  }
}

/*==========================================================================
#html body
========================================================================== */
body {
  padding-top: 173px;
  margin: 0 auto;
  min-width: 1160px;
}
@media screen and (max-width: 768px) {
  body {
    padding-top: 64px;
    min-width: initial;
  }
}

/*==========================================================================
#header
========================================================================== */
.anchor-link {
  margin-top: -173px;
  padding-top: 173px;
}
@media screen and (max-width: 768px) {
  .anchor-link {
    margin-top: -130px;
    padding-top: 130px;
  }
}

.header-wrap {
  z-index: 9999;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 173px;
  background: #fff;
}
@media screen and (max-width: 768px) {
  .header-wrap {
    height: 130px;
    border-bottom: 3px solid #5ca938;
  }
}
.header-wrap nav {
  background: #5ca938;
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 60px;
}
@media screen and (max-width: 768px) {
  .header-wrap nav {
    height: 46px;
    background: #fff;
  }
}
.header-wrap nav ul {
  width: 1060px;
  margin: 0 auto;
  display: flex;
  flex-flow: row;
  height: 100%;
  justify-content: space-around;
  align-items: center;
  border-left: 1px solid #8ec775;
}
@media screen and (max-width: 768px) {
  .header-wrap nav ul {
    width: 100%;
    border-top: 1px solid #CBCBCB;
    border-left: none;
    flex-wrap: wrap;
  }
}
.header-wrap nav ul li {
  border-right: 1px solid #8ec775;
  font-size: 20px;
  font-weight: 700;
  width: 20%;
  height: 60px;
}
@media screen and (max-width: 768px) {
  .header-wrap nav ul li {
    height: 46px;
    font-size: 12px;
    line-height: 1.2;
    position: relative;
  }
  .header-wrap nav ul li:not(:nth-last-child(1)) {
    border-right: 1px solid #CBCBCB;
  }
  .header-wrap nav ul li:nth-last-child(1) {
    border-right: none;
  }
  .header-wrap nav ul li::after {
    content: "";
    position: absolute;
    bottom: 5px;
    left: calc(50% - 4px);
    background: url(../images/arrow.svg);
    background-size: 10px;
    width: 9px;
    height: 5px;
  }
}
.header-wrap nav ul li a {
  width: 100%;
  display: flex;
  height: 60px;
  text-align: center;
  align-items: center;
  justify-content: space-around;
  color: white;
}
.header-wrap nav ul li a .sp-br {
  display: none;
}
@media screen and (max-width: 768px) {
  .header-wrap nav ul li a {
    color: #1a1a1a;
    height: 46px;
    padding: 0.4rem;
    background: white;
    align-items: flex-start;
  }
  .header-wrap nav ul li a .sp-br {
    display: block;
  }
}
.header-wrap nav ul li a:hover {
  background: #66b541;
}
@media screen and (max-width: 768px) {
  .header-wrap nav ul li a:hover {
    background: #ededed;
  }
}
@media screen and (max-width: 768px) {
  .header-wrap .pc-br {
    display: none;
  }
}
.header-wrap nav ul .header-wrap__trial a, .header-wrap nav ul .header-wrap__recruit a {
  line-height: 1.2;
}
.header-wrap nav ul .header-wrap__trial a span, .header-wrap nav ul .header-wrap__recruit a span {
  display: none;
}
@media screen and (max-width: 768px) {
  .header-wrap nav ul .header-wrap__trial, .header-wrap nav ul .header-wrap__recruit {
    width: 100%;
    height: 36px;
  }
  .header-wrap nav ul .header-wrap__trial::after, .header-wrap nav ul .header-wrap__recruit::after {
    background: none;
  }
  .header-wrap nav ul .header-wrap__trial a, .header-wrap nav ul .header-wrap__recruit a {
    justify-content: center;
    padding-bottom: 6px;
    background: #5ca938;
    color: #fff;
    height: 36px;
    align-items: center;
  }
  .header-wrap nav ul .header-wrap__trial a span, .header-wrap nav ul .header-wrap__recruit a span {
    display: inline;
  }
}

.header h1 {
  position: absolute;
  top: 6px;
  right: 0px;
  font-size: 15px;
}
@media screen and (max-width: 768px) {
  .header h1 {
    display: none;
  }
  .header .tel-text {
    position: absolute;
    top: 60px;
    right: 0;
    display: block;
    width: 100%;
    margin-right: 5px;
    text-align: right;
    font-size: 10px;
  }
}

.header-logo {
  position: absolute;
  top: 30px;
  left: 0px;
}
@media screen and (max-width: 768px) {
  .header-logo {
    position: absolute;
    top: 16px;
    left: 5px;
  }
  .header-logo img {
    width: 124px;
  }
}

.header-tel {
  position: absolute;
  top: 35px;
  right: 260px;
}
.header-tel .u-pc-true img {
  width: 51%;
}
@media screen and (max-width: 768px) {
  .header-tel {
    position: absolute;
    top: 6px;
    right: 125px;
    padding-top: 2px;
    width: 55px;
    height: 45px;
    background: #fff100;
    text-align: center;
    font-weight: 600;
    line-height: 1.5;
    font-size: 12px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -ms-border-radius: 4px;
    -o-border-radius: 4px;
    border-radius: 4px;
    -webkit-box-shadow: 0 5px 0 0 #e6d900;
    -moz-box-shadow: 0 5px 0 0 #e6d900;
    box-shadow: 0 5px 0 0 #e6d900;
  }
  .header-tel img {
    width: 18px;
  }
  .header-tel a {
    color: #000;
  }
}

.header-btn, .header-btn--line, .header-btn--contact {
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  -ms-border-radius: 6px;
  -o-border-radius: 6px;
  border-radius: 6px;
  height: 60px;
  color: #fff;
  font-weight: 600;
  font-size: 16px;
  text-align: center;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.header-btn small, .header-btn--line small, .header-btn--contact small {
  font-size: 12px;
}
.header-btn:after, .header-btn--line:after, .header-btn--contact:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  margin-top: -9px;
  background: url("../images/arw.png");
  background-size: 18px;
  width: 18px;
  height: 18px;
}
.header-btn:hover, .header-btn--line:hover, .header-btn--contact:hover {
  color: #fff;
}
@media screen and (max-width: 768px) {
  .header-btn, .header-btn--line, .header-btn--contact {
    padding-top: 2px;
    height: 45px;
    text-align: center;
    font-weight: 600;
    line-height: 1.5;
    font-size: 12px;
  }
  .header-btn:after, .header-btn--line:after, .header-btn--contact:after {
    display: none;
  }
}

.header-btn--contact {
  position: absolute;
  top: 36px;
  right: 230px;
  padding-top: 10px;
  padding-left: 20px;
  line-height: 1.3;
  width: 275px;
  background: #f39700;
  -webkit-box-shadow: 0 5px 0 0 #d68602;
  -moz-box-shadow: 0 5px 0 0 #d68602;
  box-shadow: 0 5px 0 0 #d68602;
}
.header-btn--contact:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 10px;
  margin-top: -18px;
  background: url("../images/mail.png");
  background-size: 38px 36px;
  width: 38px;
  height: 36px;
}
@media screen and (min-width: 768px) {
  .header-btn--contact:hover {
    position: absolute;
    top: 38px;
    right: 230px;
    -webkit-box-shadow: 0 3px 0 0 #d68602;
    -moz-box-shadow: 0 3px 0 0 #d68602;
    box-shadow: 0 3px 0 0 #d68602;
    background: #ffa40e;
  }
}
@media screen and (max-width: 768px) {
  .header-btn--contact {
    position: absolute;
    top: 6px;
    right: 65px;
    padding-top: 2px;
    padding-left: 0px;
    width: 55px;
    line-height: 1.5;
  }
  .header-btn--contact:before {
    display: none;
  }
}

.header-btn--line {
  position: absolute;
  top: 36px;
  right: 0px;
  padding-top: 5px;
  padding-right: 20px;
  line-height: 1.5;
  width: 220px;
  background: #00c300;
  -webkit-box-shadow: 0 5px 0 0 #00b400;
  -moz-box-shadow: 0 5px 0 0 #00b400;
  box-shadow: 0 5px 0 0 #00b400;
}
.header-btn--line small {
  display: inline-block;
  padding: 4px 40px;
  background: #019d01;
  line-height: 1;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  -ms-border-radius: 30px;
  -o-border-radius: 30px;
  border-radius: 30px;
}
@media screen and (min-width: 768px) {
  .header-btn--line:hover {
    position: absolute;
    top: 38px;
    right: 0px;
    -webkit-box-shadow: 0 3px 0 0 #00b400;
    -moz-box-shadow: 0 3px 0 0 #00b400;
    box-shadow: 0 3px 0 0 #00b400;
    background: #00d200;
  }
}
@media screen and (max-width: 768px) {
  .header-btn--line {
    position: absolute;
    top: 6px;
    right: 5px;
    padding-top: 2px;
    padding-right: 0;
    width: 55px;
    line-height: 1.5;
  }
}

/*==========================================================================
#main
========================================================================== */
.main {
  overflow: hidden;
  position: relative;
  height: 600px;
}
@media screen and (max-width: 768px) {
  .main {
    margin-top: 100px;
    height: auto;
  }
}

.main-img {
  position: absolute;
  top: 0px;
  left: 50%;
  width: 1800px;
  margin-left: -900px;
}
.main-img img {
  width: 1800px;
}
@media screen and (max-width: 768px) {
  .main-img {
    position: static;
    margin-left: 0;
    width: auto;
    height: auto;
  }
  .main-img img {
    width: 100%;
  }
}

/*==========================================================================
#wrap
========================================================================== */
.wrap-01 {
  padding-top: 135px;
  padding-bottom: 90px;
  background: url("../images/dot.gif");
  background-size: 16px;
}
@media screen and (max-width: 768px) {
  .wrap-01 {
    padding-top: 50px;
    padding-bottom: 30px;
  }
}

.wrap-02, .wrap-03 {
  padding-top: 90px;
  background: url("../images/dot.gif");
  background-size: 16px;
}
@media screen and (max-width: 768px) {
  .wrap-02, .wrap-03 {
    padding-top: 30px;
  }
}

.wrap-03 {
  padding-bottom: 90px;
}
@media screen and (max-width: 768px) {
  .wrap-03 {
    padding-bottom: 30px;
  }
}

.txt-line {
  background: -moz-linear-gradient(top, rgba(255, 255, 0, 0) 0%, rgba(255, 255, 0, 0) 60%, rgb(255, 241, 0) 61%, rgb(255, 241, 0) 100%);
  background: -webkit-linear-gradient(top, rgba(255, 255, 0, 0) 0%, rgba(255, 255, 0, 0) 60%, rgb(255, 241, 0) 61%, rgb(255, 241, 0) 100%);
  background: linear-gradient(to bottom, rgba(255, 255, 0, 0) 0%, rgba(255, 255, 0, 0) 60%, rgb(255, 241, 0) 61%, rgb(255, 241, 0) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#ffff00", endColorstr="#ffff00",GradientType=0 );
}

/*==========================================================================
#sec01
========================================================================== */
.sec01 {
  margin-bottom: 60px;
  margin-top: 160px;
}
@media screen and (max-width: 768px) {
  .sec01 {
    margin-bottom: 20px;
    margin-top: 70px;
  }
}

.sec01-1 {
  margin-bottom: 25px;
  padding-left: 20px;
  padding-right: 20px;
  padding-bottom: 40px;
  border: 5px solid #5ca938;
  background: #fff;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  -ms-border-radius: 30px;
  -o-border-radius: 30px;
  border-radius: 30px;
  text-align: center;
  font-weight: 600;
  font-size: 18px;
}
.sec01-1 p + p {
  margin-top: 1em;
}
.sec01-1 strong {
  font-size: 24px;
}
.sec01-1:after {
  content: "";
  z-index: 1;
  position: absolute;
  bottom: -40px;
  left: 50%;
  margin-left: -70px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 40px 70px 0 70px;
  border-color: #5ca938 transparent transparent transparent;
}
@media screen and (max-width: 768px) {
  .sec01-1 {
    margin-left: 16px;
    margin-right: 16px;
    margin-bottom: 10px;
    padding: 12px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    border-radius: 10px;
    font-size: 13px;
    border: 3px solid #5ca938;
  }
  .sec01-1 strong {
    font-size: 15px;
  }
  .sec01-1:after {
    content: "";
    z-index: 1;
    position: absolute;
    bottom: -20px;
    left: 50%;
    margin-left: -30px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 20px 30px 0 30px;
    border-color: #5ca938 transparent transparent transparent;
  }
}

.sec01-1-ttl {
  margin-top: -100px;
  margin-bottom: 20px;
  text-align: center;
}
.sec01-1-ttl img {
  width: 937px;
}
@media screen and (max-width: 768px) {
  .sec01-1-ttl {
    padding: 0;
    margin-top: -50px;
    margin-left: -10px;
    margin-right: -10px;
  }
  .sec01-1-ttl img {
    width: 100%;
  }
}

.sec01-2 {
  padding: 35px;
  border: 5px solid #eee;
  background: #fff;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  -ms-border-radius: 30px;
  -o-border-radius: 30px;
  border-radius: 30px;
  text-align: center;
}
.sec01-2 p {
  padding-left: 140px;
}
.sec01-2 p em {
  font-size: 18px;
  font-weight: 600;
}
.sec01-2:before {
  content: "";
  position: absolute;
  bottom: 0px;
  left: 40px;
  width: 140px;
  height: 192px;
  background: url("../images/sec01_img.jpg");
  background-size: cover;
}
@media screen and (max-width: 768px) {
  .sec01-2 {
    margin-left: 16px;
    margin-right: 16px;
    padding: 16px 12px 16px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    border-radius: 10px;
    font-size: 12px;
    border: 3px solid #eee;
  }
  .sec01-2 strong {
    font-size: 15px;
  }
  .sec01-2 p {
    padding-left: 0;
  }
  .sec01-2 p em {
    font-size: 14px;
  }
  .sec01-2:before {
    display: none;
  }
}

.sec01-2-ttl {
  margin-bottom: 1em;
  color: #5ca938;
  font-size: 30px;
}
@media screen and (max-width: 768px) {
  .sec01-2-ttl {
    margin-bottom: 10px;
    font-size: 16px;
  }
}

/*==========================================================================
#sec02
========================================================================== */
.sec02 {
  text-align: center;
}

.sec02-ttl {
  margin-bottom: 1em;
  font-size: 36px;
  font-weight: 600;
}
.sec02-ttl em {
  position: relative;
  background: url("../images/txt-line.gif") repeat-x;
  background-size: 28px 15px;
  background-position-y: bottom;
  font-size: 48px;
  color: #5ca938;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .sec02-ttl {
    font-size: 19px;
  }
  .sec02-ttl em {
    font-size: 23px;
  }
}

.sec02-img {
  margin-bottom: 80px;
}
@media screen and (max-width: 768px) {
  .sec02-img {
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 20px;
  }
  .sec02-img img {
    width: 100%;
  }
}

.sec02-ttl2 {
  margin-bottom: 10px;
  font-size: 30px;
  letter-spacing: 1px;
  color: #5ca938;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .sec02-ttl2 {
    margin-left: 10px;
    margin-right: 10px;
    font-size: 18px;
  }
}

.sec02-txt {
  font-size: 24px;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .sec02-txt {
    margin-left: 10px;
    margin-right: 10px;
    font-size: 14px;
  }
}

/*==========================================================================
#cta
========================================================================== */
.cta {
  padding-top: 30px;
  padding-bottom: 30px;
  background: #5ca938;
}
@media screen and (max-width: 768px) {
  .cta {
    padding-top: 0;
    padding-bottom: 10px;
  }
}

.cta-ttl {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 20px;
  width: 878px;
  height: 161px;
  background: url("../images/cta_ttl-bg.png");
  background-size: 878px 161px;
}
@media screen and (max-width: 768px) {
  .cta-ttl {
    margin-bottom: 0;
    width: auto;
    height: auto;
    background: none;
  }
}

.cta-ttl__txt1 {
  color: #fff;
  font-size: 30px;
  text-align: center;
  font-weight: 600;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .cta-ttl__txt1 {
    display: none;
  }
}

.cta-ttl__txt2 {
  position: absolute;
  top: 86px;
  left: 0px;
  width: 800px;
  font-size: 28px;
  text-align: center;
  font-weight: 600;
  line-height: 1;
}
.cta-ttl__txt2 em {
  color: #5ca938;
  font-size: 32px;
}
@media screen and (max-width: 768px) {
  .cta-ttl__txt2 {
    display: none;
  }
}

.cta-inner {
  position: relative;
  height: 96px;
}
@media screen and (max-width: 768px) {
  .cta-inner {
    height: auto;
  }
}

.cta-tel {
  position: absolute;
  top: 10px;
  left: 0;
}
@media screen and (max-width: 768px) {
  .cta-tel {
    position: static;
    margin-left: 15px;
    margin-right: 15px;
    margin-bottom: 6px;
  }
}

.cta-btn--contact-wrap {
  position: absolute;
  top: 0px;
  right: 295px;
  width: 360px;
  height: 90px;
  -webkit-box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.2);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.cta-btn--contact-wrap:hover {
  position: absolute;
  top: 2px;
  right: 295px;
}
.cta-btn--contact-wrap:hover .cta-btn--contact {
  background: #ffa40e;
  -webkit-box-shadow: 0 3px 0 0 #d68602;
  -moz-box-shadow: 0 3px 0 0 #d68602;
  box-shadow: 0 3px 0 0 #d68602;
}
@media screen and (max-width: 768px) {
  .cta-btn--contact-wrap {
    display: none;
  }
}

.cta-btn--contact-sp {
  margin-left: 15px;
  margin-right: 15px;
  margin-bottom: 6px;
}

.cta-btn--line-wrap {
  position: absolute;
  top: 0px;
  right: 0px;
  width: 285px;
  height: 90px;
  -webkit-box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.2);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.cta-btn--line-wrap:hover {
  position: absolute;
  top: 2px;
  right: 0;
}
.cta-btn--line-wrap:hover .cta-btn--line {
  -webkit-box-shadow: 0 3px 0 0 #00b400;
  -moz-box-shadow: 0 3px 0 0 #00b400;
  box-shadow: 0 3px 0 0 #00b400;
  background: #00d200;
}
@media screen and (max-width: 768px) {
  .cta-btn--line-wrap {
    display: none;
  }
}

.cta-btn, .cta-btn--line, .cta-btn--contact {
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  -ms-border-radius: 6px;
  -o-border-radius: 6px;
  border-radius: 6px;
  height: 90px;
  color: #fff;
  font-weight: 600;
  letter-spacing: 1px;
  font-size: 22px;
  text-align: center;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.cta-btn small, .cta-btn--line small, .cta-btn--contact small {
  font-size: 15px;
  font-weight: 300;
}
.cta-btn:after, .cta-btn--line:after, .cta-btn--contact:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 15px;
  margin-top: -12px;
  background: url("../images/arw.png");
  background-size: 24px;
  width: 24px;
  height: 24px;
}
.cta-btn:hover, .cta-btn--line:hover, .cta-btn--contact:hover {
  color: #fff;
}

.cta-btn--contact {
  display: block;
  padding-top: 18px;
  padding-left: 30px;
  line-height: 1.3;
  width: 360px;
  background: #f39700;
  -webkit-box-shadow: 0 6px 0 0 #d68602;
  -moz-box-shadow: 0 6px 0 0 #d68602;
  box-shadow: 0 6px 0 0 #d68602;
}
.cta-btn--contact:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 15px;
  margin-top: -24px;
  background: url("../images/mail.png");
  background-size: 52px 49px;
  width: 52px;
  height: 49px;
}
@media screen and (max-width: 768px) {
  .cta-btn--contact {
    margin-bottom: 10px;
  }
}

.cta-btn--line {
  position: absolute;
  top: 0px;
  right: 0px;
  padding-top: 12px;
  padding-right: 30px;
  line-height: 1.6;
  width: 285px;
  background: #00c300;
  -webkit-box-shadow: 0 6px 0 0 #00b400;
  -moz-box-shadow: 0 6px 0 0 #00b400;
  box-shadow: 0 6px 0 0 #00b400;
}
.cta-btn--line small {
  display: inline-block;
  padding: 4px 40px;
  background: #019d01;
  font-size: 18px;
  line-height: 1;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  -ms-border-radius: 30px;
  -o-border-radius: 30px;
  border-radius: 30px;
}

.blog {
  padding: 90px 0 45px;
}
@media screen and (max-width: 768px) {
  .blog {
    padding: 40px 0 0;
  }
}

.pd60 {
  padding-top: 60px;
}
@media screen and (max-width: 768px) {
  .pd60 {
    padding-top: 30px;
  }
}

.topics_list {
  width: 1060px;
  margin: auto;
  padding: 40px;
  border: 5px solid #5ca938;
  background: #fff;
  border-radius: 30px;
}
.topics_list li > a {
  display: flex;
  flex-wrap: wrap;
  padding: 30px 0;
  border-bottom: 1px dotted #5ca938;
  color: #1a1a1a;
}
.topics_list li > a:hover {
  opacity: 0.7;
}
.topics_list li .box_r {
  width: 100%;
}
.topics_list li .box_r h3 {
  margin: 3px 0 10px;
  font-size: 20px;
  line-height: 1;
  color: #5ca938;
}
.topics_list li .box_r time {
  font-size: 14px;
}
.topics_list li .box_img {
  width: 200px;
  margin: 0 2% 0 0;
}
.topics_list li .box_img img {
  max-width: 200px;
}
.topics_list li .box_img + .box_r {
  width: 740px;
}
.topics_list li:first-child > a {
  padding: 0 0 20px;
}
.topics_list li:last-child > a {
  border-bottom: none;
}
@media screen and (max-width: 768px) {
  .topics_list {
    width: auto;
    margin: 0 16px;
    padding: 15px;
    border: 3px solid #5ca938;
    border-radius: 10px;
  }
  .topics_list li > a {
    padding: 15px 0;
  }
  .topics_list li > a .box_r h3 {
    margin: 3px 0;
    font-size: 15px;
  }
  .topics_list li > a .box_r time {
    font-size: 12px;
  }
  .topics_list li > a .box_r .text {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
  }
  .topics_list li > a .box_img {
    width: 30%;
    margin: 0 3% 0 0;
  }
  .topics_list li > a .box_img img {
    max-width: 100%;
  }
  .topics_list li > a .box_img + .box_r {
    width: 62%;
  }
  .topics_list li:first-child > a {
    padding: 0 0 15px;
  }
}

.blog article {
  width: 1060px;
  margin: auto;
  padding: 40px;
  border: 5px solid #5ca938;
  background: #fff;
  border-radius: 30px;
}
.blog article .entry-title {
  padding: 10px;
  font-size: 24px;
  background: #f5fff0;
}
.blog article .post-thumbnail {
  margin: 20px 0;
}

@media screen and (max-width: 768px) {
  .blog article {
    width: auto;
    margin: 0 16px;
    padding: 15px;
    border: 3px solid #5ca938;
    border-radius: 10px;
  }
  .blog article .entry-title {
    padding: 10px;
    font-size: 20px;
    background: #f5fff0;
  }
  .blog article .post-thumbnail {
    margin: 10px 0;
  }
}
.moreBtn {
  width: 13%;
  margin: 40px auto 0;
}
.moreBtn a {
  display: block;
  padding: 10px;
  background: #5ca938;
  box-shadow: 0 3px 0 0 #457d2b;
  border-radius: 6px;
  font-weight: bold;
  font-size: 18px;
  text-align: center;
  color: #fff;
}
.moreBtn a:hover {
  background: #457d2b;
}

@media screen and (max-width: 768px) {
  .moreBtn {
    width: 50%;
    margin: 20px auto 30px;
  }
  .moreBtn a {
    padding: 7px;
    font-size: 16px;
  }
}
.pagerLink {
  width: 1060px;
  margin: 40px auto;
}
.pagerLink ul {
  display: flex;
  justify-content: space-between;
}
.pagerLink li {
  width: 15%;
}
.pagerLink li a {
  display: block;
  padding: 5px;
  background: #5ca938;
  box-shadow: 0 3px 0 0 #457d2b;
  border-radius: 6px;
  font-weight: bold;
  text-align: center;
  color: #fff;
}
.pagerLink li a:hover {
  background: #457d2b;
}

@media screen and (max-width: 768px) {
  .pagerLink {
    width: auto;
    margin: 40px 16px;
  }
  .pagerLink ul li {
    width: 38%;
  }
}
.navigation .nav-links {
  width: 1060px;
  margin: 40px auto;
}
.navigation .nav-links ul {
  display: flex;
  justify-content: center;
}
.navigation .nav-links ul li {
  width: 44px;
  height: 44px;
  margin: 0 3px;
  line-height: 42px;
  text-align: center;
}
.navigation .nav-links ul li a {
  display: block;
  border: 2px solid #5ca938;
  border-radius: 3px;
  color: #5ca938;
}
.navigation .nav-links ul li a:hover {
  border: 2px solid #5ca938;
  background: #5ca938;
  color: #fff;
}
.navigation .nav-links ul li .current {
  display: block;
  border: 2px solid #5ca938;
  background: #5ca938;
  color: #fff;
  border-radius: 3px;
}
@media screen and (max-width: 768px) {
  .navigation .nav-links {
    width: auto;
  }
  .navigation .nav-links ul li {
    width: 37px;
    height: 37px;
    margin: 0 2px;
    line-height: 35px;
  }
}

/*==========================================================================
#feature
========================================================================== */
.feature-ttl {
  margin-bottom: 100px;
}
@media screen and (max-width: 768px) {
  .feature-ttl {
    margin-bottom: 60px;
  }
}

.feature-cont--l {
  margin-bottom: 90px;
}
.feature-cont--l figure {
  z-index: 1;
}
.feature-cont--l .feature-cont-inner {
  float: right;
}
@media screen and (max-width: 768px) {
  .feature-cont--l {
    margin-bottom: 60px;
  }
  .feature-cont--l .feature-cont-inner {
    float: none;
  }
}

.feature-cont--r {
  margin-bottom: 90px;
}
.feature-cont--r figure {
  z-index: 1;
}
.feature-cont--r .feature-cont-inner {
  float: left;
}
@media screen and (max-width: 768px) {
  .feature-cont--r {
    margin-bottom: 60px;
  }
  .feature-cont--r .feature-cont-inner {
    float: none;
  }
}

.feature-cont-inner {
  position: relative;
  padding: 30px 80px 50px;
  width: 725px;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  -ms-border-radius: 30px;
  -o-border-radius: 30px;
  border-radius: 30px;
  -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
  background: #fff;
  font-size: 18px;
}
@media screen and (max-width: 768px) {
  .feature-cont-inner {
    margin-left: 15px;
    margin-right: 15px;
    width: auto;
    padding: 50px 20px 20px;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    -ms-border-radius: 15px;
    -o-border-radius: 15px;
    border-radius: 15px;
    font-size: 14px;
  }
}

.feature-cont__ttl {
  margin-bottom: 1em;
  font-size: 30px;
  text-align: center;
  letter-spacing: 1px;
}
.feature-cont__ttl em {
  color: #5ca938;
}
@media screen and (max-width: 768px) {
  .feature-cont__ttl {
    font-size: 18px;
  }
}

.feature-cont__icon {
  position: absolute;
  top: -60px;
  left: -60px;
}
@media screen and (max-width: 768px) {
  .feature-cont__icon {
    position: absolute;
    top: -40px;
    left: 50%;
    margin-left: -40px;
    width: 80px;
  }
}

@media screen and (max-width: 768px) {
  .feature-cont__img {
    display: none;
  }
}

.feature-cont__img-sp {
  margin-bottom: 20px;
  text-align: center;
}

.feature-cont__img01 {
  position: absolute;
  top: 0px;
  left: 0px;
}
@media screen and (max-width: 768px) {
  .feature-cont__img01 {
    position: static;
    width: 200px;
  }
}

.feature-cont__img02 {
  position: absolute;
  top: 0px;
  right: 0px;
}

.feature-cont__img03 {
  position: absolute;
  top: 70px;
  left: 0px;
}

.feature-cont__img04 {
  position: absolute;
  top: 50px;
  right: 0px;
}

.feature-cont__img05 {
  position: absolute;
  top: 70px;
  left: 0px;
}

/*==========================================================================
#curriculum
========================================================================== */
.curriculum-ttl {
  margin-bottom: 60px;
}
@media screen and (max-width: 768px) {
  .curriculum-ttl {
    margin-bottom: 30px;
  }
}

.curriculum-cont-wrap {
  margin-bottom: 40px;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .curriculum-cont-wrap {
    margin-bottom: 20px;
  }
}

.curriculum-cont {
  margin-bottom: 40px;
  padding: 20px 30px 30px;
  width: 510px;
  background: #fff;
  border: 5px solid #e5e5e5;
}
.curriculum-cont figure {
  margin-bottom: 20px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .curriculum-cont {
    margin-left: 15px;
    margin-right: 15px;
    margin-bottom: 15px;
    padding: 15px;
    width: auto;
    border: 3px solid #e5e5e5;
  }
  .curriculum-cont figure {
    margin-left: auto;
    margin-right: auto;
    width: 60px;
  }
}

.curriculum-cont-em {
  padding: 20px 50px 30px;
  background: #f8fff5;
  border: 5px solid #5ca938;
}
@media screen and (max-width: 768px) {
  .curriculum-cont-em {
    padding: 20px 20px 20px;
    border: 3px solid #5ca938;
  }
}

.curriculum-cont-em__ttl {
  margin-bottom: 20px;
  font-size: 30px;
  color: #5ca938;
  text-align: center;
  font-weight: 600;
}
.curriculum-cont-em__ttl small {
  font-size: 18px;
}
@media screen and (max-width: 768px) {
  .curriculum-cont-em__ttl {
    font-size: 20px;
  }
  .curriculum-cont-em__ttl small {
    font-size: 16px;
  }
}

.curriculum-cont__ttl {
  padding-bottom: 10px;
  margin-bottom: 20px;
  font-size: 26px;
  border-bottom: 3px solid #eee;
}
@media screen and (max-width: 768px) {
  .curriculum-cont__ttl {
    margin-bottom: 10px;
    padding-bottom: 5px;
    font-size: 18px;
  }
}

.curriculum-point {
  text-align: center;
}

.curriculum-point__hl {
  margin-bottom: 30px;
  font-size: 30px;
}
.curriculum-point__hl em {
  font-size: 36px;
  color: #5ca938;
}
@media screen and (max-width: 768px) {
  .curriculum-point__hl {
    font-size: 20px;
  }
  .curriculum-point__hl em {
    font-size: 22px;
  }
}

.curriculum-point-img {
  background: url("../images/cur_img05-bg.png") repeat-x;
  background-size: 1px 818px;
}

/*==========================================================================
#report
========================================================================== */
.report {
  padding-top: 90px;
  padding-bottom: 90px;
}
@media screen and (max-width: 768px) {
  .report {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}

.report-cont {
  border: 4px solid #5ca938;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
  border-radius: 10px;
  background: #f8fff5;
}
.report-cont:not(:last-of-type) {
  margin-bottom: 40px;
}
.report-cont figure {
  overflow: hidden;
  border-radius: 6px 6px 0 0;
}
@media screen and (max-width: 768px) {
  .report-cont {
    margin-left: 15px;
    margin-right: 15px;
    border: 3px solid #5ca938;
  }
  .report-cont:not(:last-of-type) {
    margin-bottom: 20px;
  }
}

.report-cont-inner {
  padding: 30px;
}
@media screen and (max-width: 768px) {
  .report-cont-inner {
    padding: 15px;
  }
}

.report-cont-voice01 {
  margin-top: 40px;
  padding: 30px;
  border: 3px solid #5ca938;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
  border-radius: 10px;
  background: #fff;
}
.report-cont-voice01 .report-cont-voice__ttl:before {
  content: "";
  position: absolute;
  top: 0px;
  left: 0px;
  width: 45px;
  height: 45px;
  background: url("../images/report_icon01.png");
  background-size: 45px;
}
@media screen and (max-width: 768px) {
  .report-cont-voice01 {
    margin-top: 20px;
    padding: 15px;
    border: 2px solid #5ca938;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    -ms-border-radius: 8px;
    -o-border-radius: 8px;
    border-radius: 8px;
  }
  .report-cont-voice01 .report-cont-voice__ttl:before {
    width: 25px;
    height: 25px;
    background-size: 25px;
  }
}

.report-cont-voice__ttl {
  position: relative;
  margin-bottom: 20px;
  padding-left: 70px;
  padding-bottom: 20px;
  font-size: 30px;
  color: #5ca938;
}
.report-cont-voice__ttl:after {
  display: block;
  position: absolute;
  bottom: 0px;
  left: 0px;
  content: "";
  width: 100%;
  height: 8px;
  background: radial-gradient(circle farthest-side, #5ca938, #5ca938 50%, #f8fff5 50%, #f8fff5);
  background-size: 8px 8px;
}
@media screen and (max-width: 768px) {
  .report-cont-voice__ttl {
    margin-bottom: 10px;
    padding-left: 40px;
    font-size: 18px;
  }
}

.report-cont-voice02 {
  margin-top: 30px;
  padding: 30px;
  border: 3px solid #5ca938;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
  border-radius: 10px;
  background: #fff;
}
.report-cont-voice02 .report-cont-voice__ttl:before {
  content: "";
  position: absolute;
  top: 0px;
  left: 0px;
  width: 54px;
  height: 72px;
  background: url("../images/report_icon02.png");
  background-size: cover;
}
@media screen and (max-width: 768px) {
  .report-cont-voice02 {
    margin-top: 10px;
    padding: 15px;
    border: 2px solid #5ca938;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    -ms-border-radius: 8px;
    -o-border-radius: 8px;
    border-radius: 8px;
  }
  .report-cont-voice02 .report-cont-voice__ttl:before {
    width: 25px;
    height: 33px;
  }
}

/*==========================================================================
#voice
========================================================================== */
.voice {
  padding-top: 90px;
  padding-bottom: 90px;
  background: #f9f5ef;
}
@media screen and (max-width: 768px) {
  .voice {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}

.voice-cont {
  padding: 30px 40px;
  background: #fff;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
  border-radius: 10px;
}
.voice-cont + .voice-cont {
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .voice-cont {
    padding: 20px;
    margin-left: 15px;
    margin-right: 15px;
  }
  .voice-cont + .voice-cont {
    margin-top: 15px;
  }
}

.voice-cont__ttl {
  color: #5ca938;
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .voice-cont__ttl {
    font-size: 18px;
  }
}

.voice-cont__name {
  margin-bottom: 20px;
  font-size: 14px;
}

/*==========================================================================
#flow
========================================================================== */
.flow {
  margin-bottom: 30px;
}

@media screen and (max-width: 768px) {
  .flow-ttl {
    margin-bottom: 60px;
  }
}

.flow-cont {
  padding: 40px;
  background: #fff;
  border: 3px solid #5ca938;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
  border-radius: 10px;
}
.flow-cont + .flow-cont {
  margin-top: 60px;
}
.flow-cont:after {
  content: "";
  z-index: 1;
  position: absolute;
  bottom: -30px;
  left: 50%;
  margin-left: -60px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 30px 60px 0 60px;
  border-color: #5ca938 transparent transparent transparent;
}
@media screen and (max-width: 768px) {
  .flow-cont {
    padding: 30px 15px 15px;
    margin-left: 15px;
    margin-right: 15px;
  }
  .flow-cont + .flow-cont {
    margin-top: 40px;
  }
  .flow-cont:after {
    position: absolute;
    bottom: -20px;
    left: 50%;
    margin-left: -40px;
    border-width: 20px 40px 0 40px;
  }
}

.flow-cont.step5:after {
  display: none;
}

.flow-cont__icon {
  position: absolute;
  top: -40px;
  left: 20px;
}
@media screen and (max-width: 768px) {
  .flow-cont__icon {
    position: absolute;
    top: -35px;
    left: 15px;
    width: 60px;
  }
}

.flow-cont-inner-wrap {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}
@media screen and (max-width: 768px) {
  .flow-cont-inner-wrap {
    display: block;
  }
}

.flow-cont-inner {
  flex: 1;
  margin-right: 30px;
}
@media screen and (max-width: 768px) {
  .flow-cont-inner {
    margin-right: 0;
  }
  .flow-cont-inner figure {
    width: 240px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
  }
  .flow-cont-inner p {
    margin-bottom: 1em;
  }
}

.flow-cont__ttl {
  margin-left: 80px;
  margin-bottom: 30px;
  color: #5ca938;
  font-size: 30px;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .flow-cont__ttl {
    margin-left: 0;
    margin-bottom: 10px;
    font-size: 18px;
    text-align: center;
  }
}

.flow-cont__dl dt {
  display: inline-block;
  padding: 10px 30px;
  font-size: 20px;
  background: #d1c0a5;
  border-radius: 10px 10px 0 0;
  color: #fff;
  font-weight: 600;
}
.flow-cont__dl dd {
  padding: 30px 50px;
  background: #f9f5ef;
  border-radius: 0 10px 10px 10px;
}
.flow-cont__dl dd li {
  list-style: circle;
}
@media screen and (max-width: 768px) {
  .flow-cont__dl dt {
    display: block;
    padding: 5px 10px;
    font-size: 14px;
  }
  .flow-cont__dl dd {
    padding: 15px 15px 15px 30px;
    font-size: 13px;
  }
}

.step-img, .step-img--2, .step-img--1 {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  margin-top: 60px;
  padding-bottom: 50px;
  text-align: center;
  font-size: 34px;
  font-weight: 600;
}
.step-img p, .step-img--2 p, .step-img--1 p {
  position: relative;
  display: inline-block;
  letter-spacing: 2px;
}
.step-img p:after, .step-img--2 p:after, .step-img--1 p:after {
  display: block;
  position: absolute;
  bottom: -5px;
  left: 0px;
  content: "";
  width: 100%;
  height: 11px;
  background: radial-gradient(circle farthest-side, #5ca938, #5ca938 50%, #f8fff5 50%, #f8fff5);
  background-size: 11px 11px;
}
@media screen and (max-width: 768px) {
  .step-img, .step-img--2, .step-img--1 {
    margin-top: 40px;
    padding-bottom: 40px;
    font-size: 20px;
  }
  .step-img p, .step-img--2 p, .step-img--1 p {
    letter-spacing: 1px;
  }
  .step-img p:after, .step-img--2 p:after, .step-img--1 p:after {
    height: 8px;
    background-size: 8px 8px;
  }
}

.step-img--1 {
  width: 260px;
}
.step-img--1 figure {
  position: absolute;
  bottom: 0px;
  left: -100px;
}
@media screen and (max-width: 768px) {
  .step-img--1 figure {
    position: static;
    position: absolute;
    bottom: 0px;
    left: 200px;
    width: 60px;
  }
}

.step-img--2 {
  width: 300px;
}
.step-img--2 figure {
  position: absolute;
  bottom: 0px;
  right: -120px;
}
@media screen and (max-width: 768px) {
  .step-img--2 figure {
    position: static;
    position: absolute;
    bottom: 0px;
    left: 235px;
    width: 60px;
  }
}

/*==========================================================================
#faq
========================================================================== */
.faq {
  padding-top: 90px;
}
@media screen and (max-width: 768px) {
  .faq {
    padding-top: 30px;
  }
}

.faq-container {
  border: 3px solid #5ca938;
  background: #fff;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
  border-radius: 10px;
}
@media screen and (max-width: 768px) {
  .faq-container {
    margin: 0 15px;
  }
}

.faq-cont {
  padding: 40px 45px;
}
.faq-cont + .faq-cont {
  border-top: 1px solid #d8d8d8;
}
.faq-cont dt {
  position: relative;
  padding-top: 10px;
  padding-bottom: 20px;
  margin-left: 90px;
  margin-bottom: 20px;
  font-size: 25px;
  font-weight: 600;
}
.faq-cont dt:before {
  content: "";
  position: absolute;
  top: 0px;
  left: -90px;
  width: 60px;
  height: 60px;
  background: url("../images/faq_q.png");
  background-size: 60px;
}
.faq-cont dd {
  position: relative;
  padding-top: 15px;
  margin-left: 90px;
}
.faq-cont dd:after {
  display: block;
  position: absolute;
  top: -15px;
  left: 0px;
  content: "";
  width: 100%;
  height: 8px;
  background: radial-gradient(circle farthest-side, #5ca938, #5ca938 50%, #fff 50%, #fff);
  background-size: 8px 8px;
}
.faq-cont dd:before {
  content: "";
  position: absolute;
  top: 0px;
  left: -90px;
  width: 60px;
  height: 60px;
  background: url("../images/faq_a.png");
  background-size: 60px;
}
@media screen and (max-width: 768px) {
  .faq-cont {
    padding: 20px;
  }
  .faq-cont dt {
    margin-left: 0px;
    margin-bottom: 0px;
    padding-top: 0;
    padding-left: 40px;
    padding-bottom: 0px;
    padding-right: 15px;
    font-size: 16px;
  }
  .faq-cont dt:before {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 30px;
    height: 30px;
    background-size: 30px;
  }
  .faq-cont dt:after {
    height: 6px;
    background-size: 6px 6px;
  }
  .faq-cont dd {
    display: none;
    margin-top: 30px;
    margin-left: 0;
    padding-left: 40px;
  }
  .faq-cont dd:before {
    position: absolute;
    top: 10px;
    left: 0px;
    width: 30px;
    height: 30px;
    background-size: 30px;
  }
}

.ac-icon {
  position: absolute;
  top: 50%;
  right: 0px;
  margin-top: -6px;
  width: 16px;
  height: 16px;
  transition: all 0.4s;
}
@media screen and (min-width: 768px) {
  .ac-icon {
    display: none;
  }
}

.ac-icon span {
  position: absolute;
  left: 6px;
  width: 100%;
  height: 2px;
  background-color: #5ca938;
  transition: all 0.4s;
  border-radius: 4px;
}

.ac-icon span:nth-of-type(1) {
  top: 5px;
  transform: rotate(0deg);
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  -o-transform: rotate(0deg);
}

.ac-icon span:nth-of-type(2) {
  top: 5px;
  transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  -o-transform: rotate(90deg);
}

/*＋、－切り替え*/
.faq-cont dt.open .ac-icon span:nth-of-type(1) {
  display: none;
}

.faq-cont dt.open .ac-icon span:nth-of-type(2) {
  top: 5px;
  transform: rotate(180deg);
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
}

/*==========================================================================
#access
========================================================================== */
.access {
  padding-top: 90px;
  padding-bottom: 90px;
  background: #f8fff5;
}
@media screen and (max-width: 768px) {
  .access {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}

.access-cont {
  padding-top: 40px;
  background: #fff;
  border-radius: 20px 20px 20px 20px/20px 20px 20px 20px;
  border: 10px solid #e0f1d8;
  text-align: center;
}
.access-cont figure {
  position: absolute;
  top: 80px;
  right: 50px;
}
.access-cont address {
  font-size: 18px;
  font-weight: 600;
  font-style: normal;
}
.access-cont iframe {
  width: 100%;
  height: 450px;
}
@media screen and (max-width: 768px) {
  .access-cont {
    padding-top: 15px;
    margin-left: 15px;
    margin-right: 15px;
  }
  .access-cont figure {
    position: static;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
    width: 120px;
  }
  .access-cont address {
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 5px;
    font-size: 15px;
  }
  .access-cont iframe {
    width: 100%;
    height: 250px;
  }
}

.access-root {
  margin-bottom: 50px;
  font-size: 18px;
  font-weight: 600;
  color: #5ca938;
}
@media screen and (max-width: 768px) {
  .access-root {
    margin-bottom: 15px;
    font-size: 15px;
  }
}

.access-cont__txt {
  padding: 20px 30px;
  font-size: 14px;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .access-cont__txt {
    padding: 10px 15px;
    font-size: 12px;
  }
}

/*==========================================================================
#contact
========================================================================== */
.contact {
  padding-top: 130px;
  margin-top: -130px;
}
@media screen and (max-width: 768px) {
  .contact {
    padding-top: 70px;
    margin-top: -70px;
  }
}

.contact-top {
  margin-bottom: 100px;
  text-align: center;
  font-size: 20px;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .contact-top {
    margin-left: 15px;
    margin-right: 15px;
    margin-bottom: 30px;
    font-size: 14px;
  }
}

.contact-top__ttl {
  margin-bottom: 1em;
  font-weight: 600;
  font-size: 30px;
}
.contact-top__ttl em {
  font-size: 34px;
  color: #5ca938;
}
@media screen and (max-width: 768px) {
  .contact-top__ttl {
    font-size: 18px;
  }
  .contact-top__ttl em {
    font-size: 22px;
  }
}

.contact-area {
  padding-top: 30px;
  padding-bottom: 40px;
  padding-left: 40px;
  padding-right: 40px;
  background: #5ca938;
  border-radius: 10px;
}
@media screen and (max-width: 768px) {
  .contact-area {
    margin-left: 15px;
    margin-right: 15px;
    padding-top: 5px;
    padding-left: 0px;
    padding-right: 0px;
    padding-bottom: 10px;
  }
}

@media screen and (max-width: 768px) {
  .contact-area__ttl {
    padding: 0 6px;
    margin: 0;
    height: auto;
    background: none;
  }
}

.contact-area-01 {
  position: relative;
  margin-bottom: 20px;
  background: url("../images/contact-area01-bg.png");
  width: 980px;
  height: 127px;
  background-size: 980px 127px;
}
@media screen and (max-width: 768px) {
  .contact-area-01 {
    width: auto;
    height: auto;
    background: none;
  }
}

.contact-area-btn--line-wrap {
  position: absolute;
  top: 15px;
  right: 80px;
  width: 400px;
  height: 90px;
  -webkit-box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.2);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.contact-area-btn--line-wrap:hover {
  position: absolute;
  top: 17px;
  right: 80px;
}
.contact-area-btn--line-wrap:hover .contact-area-btn--line {
  -webkit-box-shadow: 0 3px 0 0 #00b400;
  -moz-box-shadow: 0 3px 0 0 #00b400;
  box-shadow: 0 3px 0 0 #00b400;
  background: #00d200;
}
@media screen and (max-width: 768px) {
  .contact-area-btn--line-wrap {
    display: none;
  }
}

.contact-area-btn, .contact-area-btn--line {
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  -ms-border-radius: 6px;
  -o-border-radius: 6px;
  border-radius: 6px;
  height: 90px;
  color: #fff;
  font-weight: 600;
  letter-spacing: 1px;
  font-size: 24px;
  text-align: center;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.contact-area-btn small, .contact-area-btn--line small {
  font-size: 15px;
  font-weight: 300;
}
.contact-area-btn:after, .contact-area-btn--line:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 15px;
  margin-top: -12px;
  background: url("../images/arw.png");
  background-size: 24px;
  width: 24px;
  height: 24px;
}
.contact-area-btn:hover, .contact-area-btn--line:hover {
  color: #fff;
}

.contact-area-btn--line {
  display: block;
  padding-top: 12px;
  padding-right: 30px;
  line-height: 1.5;
  width: 400px;
  background: #00c300;
  -webkit-box-shadow: 0 6px 0 0 #00b400;
  -moz-box-shadow: 0 6px 0 0 #00b400;
  box-shadow: 0 6px 0 0 #00b400;
}
.contact-area-btn--line small {
  display: inline-block;
  padding: 4px 40px;
  background: #019d01;
  font-size: 18px;
  line-height: 1;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  -ms-border-radius: 30px;
  -o-border-radius: 30px;
  border-radius: 30px;
}

/*==========================================================================
#form
========================================================================== */
.form h2 {
  margin-bottom: 2px;
}

.form-area__ttl {
  margin-bottom: 20px;
  text-align: center;
  font-size: 28px;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .form-area__ttl {
    margin-bottom: 0px;
    font-size: 18px;
  }
}

.form-area {
  padding: 40px 0 60px;
  width: 100%;
  background: #fff;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
  border-radius: 10px;
}
.form-area form {
  margin: 0 auto;
  width: 900px;
}
.form-area form dl {
  padding: 20px 5px;
}
.form-area form dl + dl {
  border-top: 1px solid #d8d8d8;
}
.form-area form dt {
  float: left;
  padding: 16px 20px 0;
  font-weight: bold;
  font-size: 22px;
  width: 260px;
}
.form-area form dt em {
  padding: 3px 6px;
  margin-left: 10px;
  background: #c70000;
  font-size: 15px;
  color: #fff;
  border-radius: 3px;
}
.form-area form dd {
  float: right;
  width: 600px;
}
.form-area form input,
.form-area form textarea {
  outline: none;
  box-shadow: none;
  background: #f9f9f9;
  border: 3px solid #eee;
}
.form-area form input:focus,
.form-area form textarea:focus {
  border: 3px solid #ddd;
}
.form-area form input {
  padding: 15px 20px;
  width: 100%;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  -ms-border-radius: 8px;
  -o-border-radius: 8px;
  border-radius: 8px;
  font-size: 18px;
}
.form-area form input[name=お名前],
.form-area form input[name=email] {
  width: 400px;
}
.form-area form input[name=電話番号] {
  width: 280px;
}
.form-area form textarea {
  padding: 15px 20px;
  width: 600px !important;
  min-height: 180px;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  -ms-border-radius: 8px;
  -o-border-radius: 8px;
  border-radius: 8px;
  font-size: 18px;
}
.form-area form button {
  display: block;
  position: relative;
  margin: 10px auto 0;
  background: none;
  border: 0;
  background: #f39700;
  color: #fff;
  font-weight: bold;
  text-align: center;
  width: 484px;
  height: 94px;
  line-height: 94px;
  font-size: 30px;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  -ms-border-radius: 8px;
  -o-border-radius: 8px;
  border-radius: 8px;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.form-area form button:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -12px;
  width: 24px;
  height: 24px;
  background: url("../images/arw.png");
  background-size: 24px;
}
.form-area form button:hover {
  background: #ffa40e;
}
@media screen and (max-width: 768px) {
  .form-area {
    padding: 20px 10px 20px;
    margin-left: 10px;
    margin-right: 10px;
    width: auto;
  }
  .form-area form {
    width: auto;
  }
  .form-area form input {
    padding: 10px 15px;
    font-size: 16px;
  }
  .form-area form input[name=お名前],
.form-area form input[name=email] {
    width: 100%;
  }
  .form-area form input[name=電話番号] {
    width: 100%;
  }
  .form-area form textarea {
    padding: 10px 15px;
    width: 100% !important;
    font-size: 14px;
  }
  .form-area form dl {
    padding: 10px 5px;
  }
  .form-area form dt {
    float: none;
    padding: 0;
    margin-bottom: 6px;
    width: auto;
    font-size: 17px;
  }
  .form-area form dt em {
    padding: 3px 6px;
    margin-left: 10px;
    font-size: 12px;
    border-radius: 3px;
  }
  .form-area form dd {
    float: none;
    width: auto;
  }
  .form-area form button {
    display: block;
    width: 94%;
    height: 70px;
    line-height: 70px;
    font-size: 20px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    border-radius: 10px;
  }
  .form-area form button:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 10px;
    margin-top: -9px;
    width: 18px;
    height: 18px;
    background: url("../images/arw.png");
    background-size: 18px;
  }
}

body {
  overflow-x: hidden;
}

div#mfp_overlay {
  position: absolute;
  display: none;
  z-index: 10001;
}

div#mfp_overlay_background {
  background-color: #000;
  position: absolute;
  display: none;
  z-index: 10000;
}

div#mfp_loading_screen {
  z-index: 20000;
  opacity: 0.8;
  display: none;
  background-color: #000;
  position: absolute;
}

div#mfp_loading {
  z-index: 20001;
  position: absolute;
  display: none;
  width: 40px;
  height: 40px;
  background-image: url(../images/mfp_loading.gif);
}

div#mfp_hidden {
  overflow: hidden;
  width: 1px;
  height: 1px;
  padding: 0px;
  margin: 0px;
}

div.mfp_err {
  display: none;
  text-align: left;
  height: 20px;
  margin: 8px 0px 0px 0px;
  padding-left: 24px;
  color: #000;
  font-size: 13px;
  font-weight: 600;
  background-image: url(../images/err.png);
  background-size: 18px;
  background-repeat: no-repeat;
  background-position: 0px 1px;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  -ms-border-radius: 30px;
  -o-border-radius: 30px;
  border-radius: 30px;
}

.mfp_parent_error {
  border: solid 2px #f00;
}

div#mfp_error {
  background-color: #fee;
  border: solid 1px #f00;
  padding: 10px;
  display: none;
}

div#mfp_warning {
  background-color: #fee;
  border: solid 1px #f00;
  padding: 10px;
  display: none;
  border-radius: 5px;
}

.problem {
  background-color: #fcc;
}

.imagebutton {
  margin: 0px;
  padding: 0px;
  border: none;
  outline: none;
  background: none;
}

#mfp_phase_confirm {
  display: none;
  clear: both;
  padding: 40px 0;
}
#mfp_phase_confirm h4 {
  margin: 0 0 20px;
  text-align: center;
  font-weight: bold;
  font-size: 30px;
}
#mfp_phase_confirm table {
  padding: 20px;
  margin: 0 auto;
  width: 900px;
  background: #fff;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
}
#mfp_phase_confirm table tr + tr th,
#mfp_phase_confirm table tr + tr td {
  border-top: 1px solid #d8d8d8;
}
#mfp_phase_confirm table th {
  width: 200px;
  font-size: 20px;
}
#mfp_phase_confirm table td {
  font-size: 18px;
}
@media screen and (max-width: 768px) {
  #mfp_phase_confirm {
    padding: 20px 0 0;
  }
  #mfp_phase_confirm h4 {
    margin: 0 0 20px;
    text-align: center;
    font-weight: bold;
    font-size: 20px;
  }
  #mfp_phase_confirm table {
    padding: 5px;
    width: auto;
  }
  #mfp_phase_confirm table th {
    font-size: 16px;
    width: 35%;
  }
  #mfp_phase_confirm table td {
    width: 65%;
    font-size: 14px;
    word-break: break-all;
  }
}

#mfp_button_send {
  display: block;
  position: relative;
  margin: 30px auto 0;
  background: none;
  border: 0;
  background: #f39700;
  color: #fff;
  font-weight: bold;
  text-align: center;
  width: 400px;
  height: 90px;
  line-height: 90px;
  font-size: 30px;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  -ms-border-radius: 8px;
  -o-border-radius: 8px;
  border-radius: 8px;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
#mfp_button_send:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -12px;
  width: 24px;
  height: 24px;
  background: url("../images/arw.png");
  background-size: 24px;
}
#mfp_button_send:hover {
  background: #ffa40e;
}
@media screen and (max-width: 768px) {
  #mfp_button_send {
    width: 94%;
    font-size: 20px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
    border-radius: 5px;
  }
  #mfp_button_send:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 10px;
    margin-top: -9px;
    width: 18px;
    height: 18px;
    background: url("../images/arw.png");
    background-size: 18px;
  }
}

#mfp_button_cancel {
  margin: 0 auto;
  padding: 10px 0;
  border: 0;
  display: block;
  font-size: 17px;
  background: #fff;
  border: 1px solid #d8d8d8;
  font-weight: bold;
  width: 300px;
  color: #333;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  -ms-border-radius: 8px;
  -o-border-radius: 8px;
  border-radius: 8px;
}
@media screen and (max-width: 768px) {
  #mfp_button_cancel {
    font-size: 15px;
    width: 200px;
  }
}

/*==========================================================================
#thanks
========================================================================== */
body.thanks footer {
  margin: 0;
}

.thanks-wrap {
  padding: 30px 0;
  background: #f8f8f8;
}

.thanks-cont {
  margin: 50px auto 100px;
  padding: 50px;
  width: 900px;
  background: #fff;
  text-align: center;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
  border-radius: 10px;
  border: 4px solid #5ca938;
}
.thanks-cont h2 {
  margin: 0 0 30px;
  font-size: 22px;
}
.thanks-cont h2 em {
  font-size: 30px;
}
.thanks-cont p + p {
  margin-top: 1em;
}
@media screen and (max-width: 768px) {
  .thanks-cont {
    margin-left: 15px;
    margin-right: 15px;
    padding: 30px;
    width: auto;
    border: 3px solid #5ca938;
  }
}

.back-btn {
  margin: 30px auto 0;
  padding: 10px 0;
  border: 0;
  display: block;
  font-size: 17px;
  background: #f8f8f8;
  border: 1px solid #d8d8d8;
  font-weight: bold;
  width: 300px;
  color: #333;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  -ms-border-radius: 8px;
  -o-border-radius: 8px;
  border-radius: 8px;
}
@media screen and (max-width: 768px) {
  .back-btn {
    width: 220px;
  }
}

.footer-address {
  margin-top: 20px;
  padding-top: 20px;
  padding-bottom: 20px;
  background: #f3f3f3;
  text-align: center;
  font-style: normal;
}
.footer-address em {
  font-weight: bold;
  font-size: 18px;
}

/*==========================================================================
#page-top
========================================================================== */
a.page-top {
  z-index: 9999;
  position: fixed;
  bottom: -100px;
  right: 20px;
  display: block;
  width: 60px;
  height: 60px;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
  a.page-top {
    display: none;
  }
}

/*==========================================================================
#footer
========================================================================== */
.footer {
  position: relative;
  padding-top: 30px;
  padding-bottom: 10px;
  width: 100%;
  background: #5ca938;
  text-align: center;
  color: #fff;
}

.footer-sns-btn {
  margin-bottom: 30px;
}
.footer-sns-btn ul {
  display: inline-block;
}
.footer-sns-btn li {
  float: left;
}
.footer-sns-btn li + li {
  margin-left: 20px;
}
@media screen and (max-width: 768px) {
  .footer-sns-btn {
    margin-bottom: 20px;
  }
  .footer-sns-btn li {
    width: 35px;
  }
}

.footer-link {
  margin-bottom: 16px;
}
.footer-link ul {
  display: inline-block;
}
.footer-link li {
  float: left;
  line-height: 1;
  padding-left: 10px;
  padding-right: 10px;
}
.footer-link li a {
  color: #fff;
}
.footer-link li + li {
  border-left: 1px solid #fff;
}
@media screen and (max-width: 768px) {
  .footer-link {
    margin-bottom: 12px;
  }
  .footer-link li {
    font-size: 10px;
  }
}

.list_of_companies {
  padding: 40px 15px;
  background: #f9f5ef;
  margin-top: -100px;
}
@media screen and (max-width: 768px) {
  .list_of_companies {
    padding-top: 20px;
    padding-bottom: 30px;
    margin-top: -20px;
  }
}
.list_of_companies-sec {
  margin-top: 60px;
}
.list_of_companies-sec:first-child {
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  .list_of_companies-sec {
    margin-top: 20px;
  }
}
.list_of_companies-ttl {
  text-align: center;
  font-size: 30px;
  font-size: 3rem;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .list_of_companies-ttl {
    font-size: 18px;
    font-size: 1.8rem;
  }
}
.list_of_companies-img {
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  -ms-border-radius: 30px;
  -o-border-radius: 30px;
  border-radius: 30px;
  background: #fff;
  padding: 30px;
}
@media screen and (max-width: 768px) {
  .list_of_companies-img {
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    border-radius: 10px;
    padding: 10px;
  }
}

.footer-recruit {
  margin-bottom: 24px;
}
@media screen and (max-width: 768px) {
  .footer-recruit {
    margin-bottom: 20px;
  }
}
.footer-recruit__a {
  color: #fff;
  background: #f39700;
  padding: 8px;
  border-radius: 6px;
  font-weight: bold;
  display: block;
  max-width: 248px;
  margin: auto;
}

/*==========================================================================
#utility
========================================================================== */
.u-d-n {
  display: none !important;
}

.u-d-b {
  display: block !important;
}

.u-t-a {
  top: auto !important;
}

.u-t-0 {
  top: 0 !important;
}

.u-r-a {
  right: auto !important;
}

.u-r-0 {
  right: 0 !important;
}

.u-b-a {
  bottom: auto !important;
}

.u-b-0 {
  bottom: 0 !important;
}

.u-l-a {
  left: auto !important;
}

.u-l-0 {
  left: 0 !important;
}

.u-ta-c {
  text-align: center !important;
}

.u-z-9999 {
  z-index: 9999 !important;
}

.u-fl-n {
  float: none !important;
}

.u-fl-l {
  float: left !important;
}

.u-fl-r {
  float: right !important;
}

.u-cl-n {
  clear: none !important;
}

.u-cl-l {
  clear: left !important;
}

.u-cl-r {
  clear: right !important;
}

.u-cl-b {
  clear: both !important;
}

.u-m-a {
  margin: auto !important;
}

.u-m-0 {
  margin: 0 !important;
}

.u-m-0_a {
  margin: 0 auto !important;
}

.u-m-5 {
  margin: 5px !important;
}

.u-m-10 {
  margin: 10px !important;
}

.u-m-15 {
  margin: 15px !important;
}

.u-m-20 {
  margin: 20px !important;
}

.u-m-25 {
  margin: 25px !important;
}

.u-m-30 {
  margin: 30px !important;
}

.u-mt-0 {
  margin-top: 0 !important;
}

.u-mt-5 {
  margin-top: 5px !important;
}

.u-mt-10 {
  margin-top: 10px !important;
}

.u-mt-15 {
  margin-top: 15px !important;
}

.u-mt-20 {
  margin-top: 20px !important;
}

.u-mt-25 {
  margin-top: 25px !important;
}

.u-mt-30 {
  margin-top: 30px !important;
}

.u-mr-a {
  margin-right: auto !important;
}

.u-mr-0 {
  margin-right: 0 !important;
}

.u-mr-5 {
  margin-right: 5px !important;
}

.u-mr-10 {
  margin-right: 10px !important;
}

.u-mr-15 {
  margin-right: 15px !important;
}

.u-mr-20 {
  margin-right: 20px !important;
}

.u-mr-25 {
  margin-right: 25px !important;
}

.u-mr-30 {
  margin-right: 30px !important;
}

.u-mb-0 {
  margin-bottom: 0 !important;
}

.u-mb-5 {
  margin-bottom: 5px !important;
}

.u-mb-10 {
  margin-bottom: 10px !important;
}

.u-mb-15 {
  margin-bottom: 15px !important;
}

.u-mb-20 {
  margin-bottom: 20px !important;
}

.u-mb-25 {
  margin-bottom: 25px !important;
}

.u-mb-30 {
  margin-bottom: 30px !important;
}

.u-ml-a {
  margin-left: auto !important;
}

.u-ml-0 {
  margin-left: 0 !important;
}

.u-ml-5 {
  margin-left: 5px !important;
}

.u-ml-10 {
  margin-left: 10px !important;
}

.u-ml-15 {
  margin-left: 15px !important;
}

.u-ml-20 {
  margin-left: 20px !important;
}

.u-ml-25 {
  margin-left: 25px !important;
}

.u-p-a {
  padding: auto !important;
}

.u-p-0 {
  padding: 0 !important;
}

.u-p-0_a {
  padding: 0 auto !important;
}

.u-p-5 {
  padding: 5px !important;
}

.u-p-10 {
  padding: 10px !important;
}

.u-p-15 {
  padding: 15px !important;
}

.u-p-20 {
  padding: 20px !important;
}

.u-p-25 {
  padding: 25px !important;
}

.u-p-30 {
  padding: 30px !important;
}

.u-pt-0 {
  padding-top: 0 !important;
}

.u-pt-5 {
  padding-top: 5px !important;
}

.u-pt-10 {
  padding-top: 10px !important;
}

.u-pt-15 {
  padding-top: 15px !important;
}

.u-pt-20 {
  padding-top: 20px !important;
}

.u-pt-25 {
  padding-top: 25px !important;
}

.u-pt-30 {
  padding-top: 30px !important;
}

.u-pr-a {
  padding-right: auto !important;
}

.u-pr-0 {
  padding-right: 0 !important;
}

.u-pr-5 {
  padding-right: 5px !important;
}

.u-pr-10 {
  padding-right: 10px !important;
}

.u-pr-15 {
  padding-right: 15px !important;
}

.u-pr-20 {
  padding-right: 20px !important;
}

.u-pr-25 {
  padding-right: 25px !important;
}

.u-pr-30 {
  padding-right: 30px !important;
}

.u-pb-0 {
  padding-bottom: 0 !important;
}

.u-pb-5 {
  padding-bottom: 5px !important;
}

.u-pb-10 {
  padding-bottom: 10px !important;
}

.u-pb-15 {
  padding-bottom: 15px !important;
}

.u-pb-20 {
  padding-bottom: 20px !important;
}

.u-pb-25 {
  padding-bottom: 25px !important;
}

.u-pb-30 {
  padding-bottom: 30px !important;
}

.u-pl-a {
  padding-left: auto !important;
}

.u-pl-0 {
  padding-left: 0 !important;
}

.u-pl-5 {
  padding-left: 5px !important;
}

.u-pl-10 {
  padding-left: 10px !important;
}

.u-pl-15 {
  padding-left: 15px !important;
}

.u-pl-20 {
  padding-left: 20px !important;
}

.u-pl-25 {
  padding-left: 25px !important;
}

.u-w-a {
  width: auto !important;
}

.u-w-0 {
  width: 0 !important;
}

.u-w-1p {
  width: 1% !important;
}

.u-w-10p {
  width: 10% !important;
}

.u-w-20p {
  width: 20% !important;
}

.u-w-25p {
  width: 25% !important;
}

.u-w-30p {
  width: 30% !important;
}

.u-w-33p {
  width: 33% !important;
}

.u-w-40p {
  width: 40% !important;
}

.u-w-50p {
  width: 50% !important;
}

.u-w-60p {
  width: 60% !important;
}

.u-w-66p {
  width: 66% !important;
}

.u-w-70p {
  width: 70% !important;
}

.u-w-75p {
  width: 75% !important;
}

.u-w-80p {
  width: 80% !important;
}

.u-w-90p {
  width: 90% !important;
}

.u-w-100p {
  width: 100% !important;
}

.u-h-a {
  height: auto !important;
}

.u-h-0 {
  height: 0 !important;
}

.u-h-100p {
  height: 100% !important;
}

.u-fw-nm {
  font-weight: normal !important;
}

.u-fw-b {
  font-weight: bold !important;
}

.u-fw-br {
  font-weight: bolder !important;
}

.u-fw-l {
  font-weight: 200 !important;
}

.u-fw-lr {
  font-weight: lighter !important;
}

.u-fw-100 {
  font-weight: 100 !important;
}

.u-fw-200 {
  font-weight: 200 !important;
}

.u-fw-300 {
  font-weight: 300 !important;
}

.u-fw-400 {
  font-weight: 400 !important;
}

.u-fw-500 {
  font-weight: 500 !important;
}

.u-fw-600 {
  font-weight: 600 !important;
}

.u-fw-700 {
  font-weight: 700 !important;
}

.u-fw-800 {
  font-weight: 800 !important;
}

.u-fw-900 {
  font-weight: 900 !important;
}

.u-fs-nm {
  font-style: normal !important;
}

.u-fs-i {
  font-style: italic !important;
}

.u-fs-o {
  font-style: oblique !important;
}

.u-fv-nm {
  font-variant: normal !important;
}

.u-fv-sc {
  font-variant: small-caps !important;
}

.u-fz-xs {
  font-size: 0.75rem !important;
}

.u-fz-sm {
  font-size: 0.875rem !important;
}

.u-fz-md {
  font-size: 1rem !important;
}

.u-fz-lg {
  font-size: 1.25rem !important;
}

.u-fz-xl {
  font-size: 1.5rem !important;
}

.u-fz-sr {
  font-size: smaller !important;
}

.u-fz-lr {
  font-size: larger !important;
}

.u-fz-10 {
  font-size: 10px !important;
}

.u-fz-11 {
  font-size: 11px !important;
}

.u-fz-12 {
  font-size: 12px !important;
}

.u-fz-13 {
  font-size: 13px !important;
}

.u-fz-14 {
  font-size: 14px !important;
}

.u-fz-15 {
  font-size: 15px !important;
}

.u-fz-16 {
  font-size: 16px !important;
}

.u-fz-17 {
  font-size: 17px !important;
}

.u-fz-18 {
  font-size: 18px !important;
}

.u-fz-19 {
  font-size: 19px !important;
}

.u-fz-20 {
  font-size: 20px !important;
}

.u-fz-h1 {
  font-size: 2.5rem !important;
}

.u-fz-h2 {
  font-size: 2rem !important;
}

.u-fz-h3 {
  font-size: 1.75rem !important;
}

.u-fz-h4 {
  font-size: 1.5rem !important;
}

.u-fz-h5 {
  font-size: 1.25rem !important;
}

.u-fz-h6 {
  font-size: 1rem !important;
}

@media screen and (max-width: 768px) {
  .u-pc-true {
    display: none;
  }
}

.u-sp-true {
  display: none;
}
@media screen and (max-width: 768px) {
  .u-sp-true {
    display: block;
  }
}

/* ==========================================================================
   Pagination
   ========================================================================== */
.pagination-wrap {
  text-align: center;
  margin: 40px 0 20px;
  padding: 0;
}

.pagination-wrap .page-numbers {
  display: inline-block;
  padding: 8px 14px;
  margin: 0 4px;
  text-decoration: none;
  color: #333;
  background-color: #f5f5f5;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 14px;
  transition: all 0.3s ease;
}

.pagination-wrap .page-numbers:hover {
  background-color: #e9e9e9;
  border-color: #ccc;
}

.pagination-wrap .page-numbers.current {
  background-color: #5ca938;
  color: #fff;
  border-color: #5ca938;
}

.pagination-wrap .page-numbers.prev,
.pagination-wrap .page-numbers.next {
  font-weight: bold;
}

.pagination-wrap .page-numbers.dots {
  border: none;
  background: transparent;
  padding: 8px 6px;
}

@media screen and (max-width: 768px) {
  .pagination-wrap .page-numbers {
    padding: 6px 10px;
    margin: 0 2px;
    font-size: 12px;
  }
}

/* ==========================================================================
   Single Article (記事詳細ページ)
   ========================================================================== */
.single-article {
  margin-bottom: 40px;
}

.single-header {
  margin-bottom: 30px;
  text-align: center;
}

.single-header time {
  display: block;
  color: #666;
  font-size: 14px;
  margin-bottom: 10px;
}

.single-title {
  font-size: 28px;
  font-weight: bold;
  line-height: 1.4;
  color: #333;
  margin: 0;
}

@media screen and (max-width: 768px) {
  .single-title {
    font-size: 22px;
  }
}

.single-thumbnail {
  margin-bottom: 30px;
  text-align: center;
}

.single-thumbnail img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}

/* 記事コンテンツ本文 */
.single-content {
  font-size: 16px;
  line-height: 1.8;
  color: #333;
}

.single-content p {
  margin-bottom: 1.5em;
}

.single-content h2 {
  font-size: 24px;
  font-weight: bold;
  color: #333;
  margin: 2em 0 1em;
  padding: 0.5em 0;
  border-bottom: 3px solid #5ca938;
}

.single-content h3 {
  font-size: 20px;
  font-weight: bold;
  color: #333;
  margin: 1.5em 0 0.8em;
  padding-left: 15px;
  border-left: 4px solid #5ca938;
}

.single-content h4 {
  font-size: 18px;
  font-weight: bold;
  color: #333;
  margin: 1.2em 0 0.6em;
}

.single-content ul,
.single-content ol {
  margin: 1em 0 1.5em 1.5em;
  padding: 0;
}

.single-content ul li,
.single-content ol li {
  margin-bottom: 0.5em;
  line-height: 1.7;
}

.single-content ul li {
  list-style-type: disc;
}

.single-content ol li {
  list-style-type: decimal;
}

.single-content blockquote {
  margin: 1.5em 0;
  padding: 1em 1.5em;
  background: #f9f9f9;
  border-left: 4px solid #5ca938;
  font-style: italic;
}

.single-content img {
  max-width: 100%;
  height: auto;
  margin: 1em 0;
}

.single-content a {
  color: #5ca938;
  text-decoration: underline;
}

.single-content a:hover {
  color: #4a8a2d;
}

.single-content table {
  width: 100%;
  margin: 1.5em 0;
  border-collapse: collapse;
}

.single-content table th,
.single-content table td {
  padding: 10px;
  border: 1px solid #ddd;
  text-align: left;
}

.single-content table th {
  background: #f5f5f5;
  font-weight: bold;
}

.single-content strong {
  font-weight: bold;
  color: #333;
}

/* 前後記事リンク */
.pagerLink {
  max-width: 800px;
  margin: 40px auto 0;
  padding: 0 20px;
}

.pagerLink ul {
  display: flex;
  justify-content: space-between;
  list-style: none;
  margin: 0;
  padding: 0;
}

.pagerLink ul li {
  margin: 0;
}

.pagerLink ul li a {
  display: inline-block;
  padding: 10px 20px;
  background: #5ca938;
  color: #fff;
  text-decoration: none;
  border-radius: 4px;
  font-size: 14px;
  transition: background 0.3s ease;
}

.pagerLink ul li a:hover {
  background: #4a8a2d;
}

@media screen and (max-width: 768px) {
  .single-content {
    font-size: 15px;
  }

  .single-content h2 {
    font-size: 20px;
  }

  .single-content h3 {
    font-size: 18px;
  }

  .pagerLink ul li a {
    padding: 8px 15px;
    font-size: 13px;
  }
}
@media screen and (max-width: 768px) {
  .contact-thanks {
    padding-top: 180px;
  }
}