@charset "utf-8";
@import url('//fonts.googleapis.com/css2?family=Noto+Sans+JP&display=swap');
@import url('//fonts.googleapis.com/css2?family=Raleway:wght@400;700;900&display=swap');
/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
 ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}
/* Sections
 ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}
/**
 * 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
 ========================================================================== */
/**
 * 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
 ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}
/**
 * 1. Remove the bottom border in Chrome 57-
 * 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 */
}
/**
 * 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 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
 ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}
/* Forms
 ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button, input, optgroup, select, textarea {
  font-family: inherit;
  /* 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;
}
/**
 * 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;
}
/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button, [type="button"], [type="reset"], [type="submit"] {
  -webkit-appearance: button;
}
/**
 * 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 inherit by the previous rule.
 */
button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}
/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}
/**
 * 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 */
}
/**
 * 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;
}
/**
 * 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 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. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}
/* 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;
}
/* Misc
 ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}
/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}
* {
  margin: 0;
  padding: 0;
}
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, select, textarea, p, blockquote, table, th, td {
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
fieldset, img {
  border: 0;
}
address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal;
}
ol, ul {
  list-style: none;
}
caption, th {
  text-align: left;
}
h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
}
q:before, q:after {
  content: '';
}
abbr, acronym {
  border: 0;
}
img, a {
  text-decoration: none;
  vertical-align: top;
}
a:link, a:visited {
  color: #333;
}
strong {
  font-weight: bold;
}
hr {
  margin: 10px 0;
  padding: 0;
  border-top: 1px solid #ccc;
}
.clear {
  clear: both;
}
.left {
  float: left;
}
.right {
  float: right;
}
.clearfix:after {
  content: " ";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
  font-size: 0.1em;
  line-height: 0;
}
.clearfix {
  min-height: 0.1px;
}
* html .clearfix {
  height: 0.1px;
}
.clearfix:after {
  content: "";
  display: block;
  clear: both;
}
html, body {
  /* min-width: 1440px; */
  height: auto;
  color: rgba(34, 34, 34, 1);
  font-size: 62.5%;
  font-family: YakuHanJP, 'Noto Sans JP', sans-serif, 'Arial', 'メイリオ', sans-serif;
  font-style: normal;
  font-weight: 300;
  letter-spacing: 0.01rem;
  font-feature-settings: 'palt';
  -webkit-font-feature-settings: 'pkna';
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased;
  writing-mode: horizontal-tb;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(2, 160, 150, 0.7);
  -webkit-touch-callout: none;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  letter-spacing: 0.19em;
}
html ::selection, body ::selection {
  background: #018c49;
  color: #fff;
}
html ::-moz-selection, body ::-moz-selection {
  background: #018c49;
  color: #fff;
}
@media all and (-ms-high-contrast: none) {
  html, body {
    font-weight: 500;
  }
}
@media screen and (max-width: 501px) {
  html, body {
    min-width: 100%;
  }
}
body {
  font-size: 1.5rem;
  margin-top: 110px;
  overflow-x: hidden;
}
@media screen and (max-width: 501px) {
  body {
    margin-top: 60px;
  }
}
#js-scrollContBody {
  pointer-events: none;
}
* {
  min-height: 0;
  min-width: 0;
}
/*リセット追加分*/
*, *:before, *:after {
  box-sizing: inherit;
}
* ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
}
* ul li {
  margin: 0;
  padding: 0;
}
* ol {
  margin: 0;
  padding: 0;
  list-style-type: none;
}
* ol li {
  margin: 0;
  padding: 0;
}
/*リンクテキスト*/
a, a:visited {
  color: rgba(0, 0, 0, 1);
  text-decoration: none;
  transition: all 0.3s ease;
}
a img, a:visited img {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  -webkit-text-decoration-skip: none;
}
a:hover, a:visited:hover {
  text-decoration: none;
  opacity: 0.5;
}
b, strong {
  font-weight: inherit;
}
/*画像*/
img {
  width: 100%;
  max-width: 100%;
  height: auto;
}
.f_js-is_show {
  display: block;
  animation: tabAnim ease 0.8s forwards;
}
@keyframes tabAnim {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.f_js-toggle dt {
  display: block;
  cursor: pointer;
}
.f_js-toggle dd {
  display: none;
}
.f_js-sticky {
  position: -webkit-sticky;
  position: sticky;
  top: 170px;
  padding-bottom: 60px;
}
@media screen and (max-width: 768px) {
  .f_js-sticky {
    padding-bottom: 0;
  }
}
#svg-line, .js-svg {
  opacity: 0;
}
#svg-line image, .js-svg image {
  width: 100%;
}
#svg-line svg, .js-svg svg {
  width: 100%;
  height: auto;
}
#svg-line .st0, .js-svg .st0 {
  fill: none;
  stroke: #fff;
  stroke-width: 15;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-miterlimit: 10;
}
#svg-line {
  opacity: 1;
}
/*----- フェードイン -----*/
.js-inviewfadeIn {
  opacity: 0;
  transition: 0.8s;
}
.fadeIn {
  opacity: 1;
}
/*----- 上へスライド -----*/
.js-inviewUp {
  transform: translate(0, 40px);
  -webkit-transform: translate(0, 40px);
  transition: 0.8s;
}
.Up {
  transform: translate(0, 0);
  -webkit-transform: translate(0, 0);
}
/*----- ズームイン -----*/
.js-inviewzoomIn {
  transform: scale(0, 0);
  -webkit-transform: scale(0, 0);
  transition: 0.8s;
}
.zoomIn {
  transform: scale(1, 1);
  -webkit-transform: scale(1, 1);
}
/*----- フェードインしながら上へスライド -----*/
.js-inviewfadeInUp {
  opacity: 0;
  transform: translate(0, 60px);
  -webkit-transform: translate(0, 60px);
  transition: 0.8s;
}
/*----- フェードインしながら左へスライド -----*/
.js-inviewfadeInUp__l {
  opacity: 0;
  transform: translate(60px, 0);
  transition: 0.8s;
}
/*----- フェードインしながら右へスライド -----*/
.js-inviewfadeInUp__r {
  opacity: 0;
  transform: translate(-60px, 0);
  transition: 0.8s;
}
/*----- フェードインしながら右へスライド -----*/
.js-inviewfadeInUp__b {
  opacity: 0;
  transform: translate(0, -60px);
  transition: 0.8s;
}
.fadeInUp {
  opacity: 1;
  transform: translate(0, 0);
  -webkit-transform: translate(0, 0);
}
.f_js-ofi {
  object-fit: cover;
  font-family: 'object-fit: cover;';
}
/*------------------------------------------
 header
 ------------------------------------------*/
.l_header {
  position: fixed;
  z-index: 1000;
  width: 100%;
  top: 0;
}
.l_header-inner {
  display: block;
}
.l_header-inner__contact {
  display: flex;
  align-items: center;
  height: 100%;
  background: #018c49;
  padding: 6px;
  letter-spacing: 0;
  font-size: 1.2rem;
  margin-left: 20px;
  border-radius: 2px;
}
@media screen and (max-width: 501px) {
  .l_header-inner__contact {
    display: none;
    position: fixed;
    z-index: 11;
    bottom: 0;
    left: 0;
    height: 60px;
    width: 100%;
    margin: 0;
    border-radius: 0;
    opacity: 0;
    pointer-events: none;
    transition: all 0.3s ease;
  }
}
.l_header-inner__contact.f_js-open {
  opacity: 1;
  pointer-events: auto;
}
.l_header-inner__contact span {
  color: #fff;
}
.l_header-inner__logo {
  position: absolute;
}
@media screen and (max-width: 501px) {
  .l_header-inner__logo {
    top: 10px;
  }
}
.l_header-inner__logo a {
  display: block;
  width: 240px;
}
@media screen and (max-width: 501px) {
  .l_header-inner__logo a {
    width: 180px;
  }
}
.l_header-inner__logo a img {
  width: 100%;
}
.l_header-subnav {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.l_header .searchform > div {
  display: flex;
}
@media screen and (max-width: 501px) {
  .l_header .searchform > div {
    width: 240px;
  }
}
@media screen and (max-width: 501px) {
  .l_header-search {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: #000;
    height: 60px;
    z-index: 11;
    opacity: 0;
    pointer-events: none;
    display: flex;
    align-items: center;
    padding: 0 30px;
    transition: all 0.3s ease;
  }
}
.l_header-search.f_js-open {
  opacity: 1;
  pointer-events: auto;
}
.l_header-search input#s {
  background: none;
  border: 1px solid rgba(255, 255, 255, .3);
  border-radius: 100px;
  color: rgba(255, 255, 255, .3);
  padding: 4px 8px;
}
@media screen and (max-width: 501px) {
  .l_header-search input#s {
    font-size: 1.6rem;
    line-height: 1.6;
  }
}
.l_header-search input#s:focus {
  outline: 0;
}
.l_header-search input#searchsubmit {
  border: none;
  border-radius: 2px;
  background: #018c49;
  color: #fff;
  font-weight: bold;
  font-size: 1.3rem;
  padding: 5px 8px;
  letter-spacing: 0.1em;
  margin-left: 10px;
}
@media screen and (max-width: 501px) {
}
.header_s {
  border: 1px solid #d7d7d7;
  margin: 0 0 0 10px;
  height: 24px;
  width: 150px;
}
.searchsubmit {
  border: 1px solid #999;
  background: #999;
  padding: 4px 12px;
  color: #fff;
  font-size: 0.9em;
}
@media screen and (max-width: 640px) {
  #header {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    background: #fafafa;
  }
  .header_inn {
    padding: 17px 0 17px 0;
  }
  .header_inn .logo {
    width: 165px;
    margin-left: 10px;
  }
  .header_inn .logo img {
    max-width: 80%;
  }
  .header_inn .searchform {
    display: flex;
    margin: auto;
  }
  .header_s {
    border: 1px solid #d6d6d6;
    margin: 0 10px 0 0;
    height: 24px;
    width: 100px;
  }
  .searchsubmit {
    border: 1px solid #999;
    background: #999;
    padding: 4px 12px;
    margin-right: 40px;
    color: #fff;
    font-size: 0.8em;
    height: 24px;
    display: inline;
    vertical-align: middle;
  }
}
@media screen and (max-width: 640px) and (max-width: 501px) {
}
header > .inner {
  width: 90%;
  max-width: 1200px;
  margin: auto;
  padding: 40px 0 0;
}
@media screen and (max-width: 501px) {
  header > .inner {
    height: 60px;
    padding: 0;
  }
}
header > .inner::before {
  content: "";
  display: block;
  background: #161616;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
}
header .glist__second__list {
  display: block;
  background: #e4e4e4;
  position: absolute;
  z-index: -2;
  width: 100%;
  left: 0;
  top: 0;
  justify-content: center !important;
  transition: all 0.2s ease;
  cursor: pointer;
  height: 60px;
  background: #212425;
}
@media screen and (max-width: 501px) {
  header .glist__second__list {
    position: relative;
    height: auto;
    display: none;
    z-index: 1;
    cursor: pointer;
  }
}
header .glist__second__list a {
  color: #fff;
}
header .glist__second:hover .glist__second__list {
  top: 100%;
}
/*------------------------------------------
 ハンバーガーメニュー
 ------------------------------------------*/
#menu {
  display: none;
}
@media screen and (max-width: 501px) {
  #menu {
    display: block;
  }
}
.menu-trigger {
  cursor: pointer;
  display: inline-block;
  transition: all 0.4s;
  box-sizing: border-box;
  position: fixed;
  top: 18px;
  right: 18px;
  z-index: 1000;
  width: 30px;
  height: 25px;
}
.menu-trigger span {
  display: inline-block;
  transition: all 0.4s;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  height: 2px;
  background-color: #fff;
}
.menu-trigger span:nth-of-type(1) {
  top: 0px;
}
.menu-trigger span:nth-of-type(2) {
  top: 12px;
}
.menu-trigger span:nth-of-type(3) {
  bottom: 0;
}
.menu-trigger.f_js-open span:nth-of-type(1) {
  -webkit-transform: translateY(10px) rotate(-45deg);
  transform: translateY(10px) rotate(-45deg);
}
.menu-trigger.f_js-open span:nth-of-type(2) {
  opacity: 0;
}
.menu-trigger.f_js-open span:nth-of-type(3) {
  -webkit-transform: translateY(-13px) rotate(45deg);
  transform: translateY(-13px) rotate(45deg);
}
/*------------------------------------------
 グローバルメニュー
 ------------------------------------------*/
.l_header-gnav__glist ul {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
@media screen and (max-width: 501px) {
  .l_header-gnav__glist ul {
    display: block;
  }
}
.l_header-gnav__glist ul li {
  align-self: stretch;
}
.l_header-gnav__glist ul li a, .l_header-gnav__glist ul li p {
  height: 100%;
  display: flex;
  align-items: center;
  font-size: 1.3rem;
  letter-spacing: 0px;
  padding: 15px 15px 15px 15px;
  font-weight: bold;
  color: #fff;
  position: relative;
}
.l_header-gnav__glist ul li a:hover, .l_header-gnav__glist ul li p:hover {
  color: #3c9a52;
  opacity: 1;
}
.l_header-gnav__glist ul li a.blank::before, .l_header-gnav__glist ul li p.blank::before {
  content: "";
  display: block;
  width: 7px;
  height: 7px;
  border-bottom: 1px solid;
  border-right: 1px solid;
  position: absolute;
  right: 13px;
  bottom: 16px;
}
@media screen and (max-width: 501px) {
  .l_header-gnav__glist ul li a.blank::before, .l_header-gnav__glist ul li p.blank::before {
    left: 95px;
    right: auto;
  }
}
.l_header-gnav__glist ul li a.blank::after, .l_header-gnav__glist ul li p.blank::after {
  content: "";
  display: block;
  width: 7px;
  height: 7px;
  border: 1px solid;
  margin: 0 0 0 3px;
}
.l_header-gnav__glist ul li a.switch.sm, .l_header-gnav__glist ul li p.switch.sm {
  display: none;
}
@media screen and (max-width: 501px) {
  .l_header-gnav__glist ul li a.switch.pc, .l_header-gnav__glist ul li p.switch.pc {
    display: none;
  }
  .l_header-gnav__glist ul li a.switch.sm, .l_header-gnav__glist ul li p.switch.sm {
    display: flex;
  }
}
.l_header-gnav__glist ul .glist__second__contact {
  border-radius: 2px;
  background: #3c9a52;
  display: none;
  transition: all 0.3s ease;
}
@media screen and (max-width: 501px) {
  .l_header-gnav__glist ul .glist__second__contact {
    display: block;
  }
}
.l_header-gnav__glist ul .glist__second__contact:hover {
  background: #014a2e;
}
.l_header-gnav__glist ul .glist__second__contact:hover a {
  color: #fff;
}
@media screen and (max-width: 501px) {
  nav#gnav {
    position: fixed;
    top: 60px;
    left: 0;
    width: 100%;
    height: calc(100% - 60px);
    z-index: 10;
    background: #161616;
    border-bottom: none;
    opacity: 0;
    pointer-events: none;
    transition: all 0.3s ease;
  }
  nav#gnav.f_js-open {
    opacity: 1;
    pointer-events: auto;
  }
  nav#gnav .inner {
    height: 97%;
    overflow: auto;
  }
  nav#gnav .l_header-gnav__glist {
    padding: 20px 5% 25px;
  }
  nav#gnav .l_header-gnav__glist ul li {
    border-bottom: 1px dotted #000;
  }
  nav#gnav .l_header-gnav__glist ul li:first-child {
    border-top: 1px dotted #000;
  }
  nav#gnav .l_header-gnav__glist ul li:last-child {
    border-bottom: none;
    text-align: center;
    margin: 0 auto;
  }
  nav#gnav .l_header-gnav__glist ul li:last-child img {
    width: 100px;
  }
  nav#gnav .l_header-gnav__glist ul li .glist__second__list {
    display: none;
  }
}
/*------------------------------------------
 フッター
 ------------------------------------------*/
#footer {
  width: 100%;
  background: #0e100e;
}
#footer .footer_area h3 {
  padding: 35px 0 20px 0;
  width: 180px;
  margin: auto;
}
#footer .footer_area .glist ul {
  display: flex;
  justify-content: center;
  margin-bottom: 35px;
  font-size: 1.3rem;
}
#footer .footer_area .glist ul li {
  padding: 0 10px;
}
#footer .footer_area .glist ul a {
  color: #fff;
}
/*--- コピーライト ---*/
.copyright {
  padding: 25px 20px;
  font-size: 1.2rem;
  letter-spacing: 0px;
  text-align: center;
  background: #000;
  color: #808080;
}
.l-sideber__column .side_sec {
  margin: 0;
  padding: 0;
}
.l-sideber__column .side_sec + .side_sec {
  padding-top: 30px;
}
.l-sideber__column .side_area {
  position: sticky;
  top: 100px;
}
.l-sideber__column .popular_list a {
  display: flex;
}
.l-sideber__column .popular_list .img_area {
  display: flex;
  width: 43%;
}
.l-sideber__column .popular_list .img_area .rank {
  width: 14%;
  color: #fff;
  position: relative;
}
.l-sideber__column .popular_list .img_area .rank:nth-of-type(1) {
  background: #988665;
}
.l-sideber__column .popular_list .img_area .rank span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 1.4rem;
}
main {
  display: block;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
}
.l_wrap {
  max-width: 1230px;
  width: 90%;
  margin: auto;
}
/*通常のラッパー*/
.l-innerwrap {
  margin-left: auto;
  margin-right: auto;
}
.l-innerwrap--wide {
  max-width: 1080px;
}
@media screen and (max-width: 1080px) {
  .l-innerwrap--wide {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.l-innerwrap--narrow {
  max-width: 800px;
}
@media screen and (max-width: 1080px) {
  .l-innerwrap--narrow {
    max-width: 800px;
  }
}
@media screen and (max-width: 768px) {
  .l-innerwrap--narrow {
    max-width: 800px;
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media screen and (max-width: 501px) {
  .l-innerwrap--narrow {
    padding-left: 30px;
    padding-right: 30px;
  }
}
/*固定ページ用ラッパー*/
.l-page-innerwrap {
  overflow: hidden;
}
.l-page-innerwrap__right {
  float: right;
  width: calc(100% - 80%);
  /*background-color: #fbdb65;*/
}
.l-page-innerwrap__left {
  float: left;
  width: calc(100% - 20%);
  padding: 0 60px;
}
@media screen and (max-width: 768px) {
  .l-page-innerwrap__right {
    float: none;
    width: 100%;
  }
  .l-page-innerwrap__left {
    float: none;
    width: 100%;
    padding: 0 20px;
  }
}
.o_c-column {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 501px) {
  .o_c-column {
    display: block;
  }
}
.o_c-column__content {
  width: 800px;
}
@media screen and (max-width: 501px) {
  .o_c-column__content {
    width: 100%;
  }
}
.o_c-column__side {
  width: 360px;
  position: sticky;
  top: 120px;
}
@media screen and (max-width: 501px) {
  .o_c-column__side {
    width: 100%;
  }
}
.o_c-column .tile.img_link_on > a {
  display: inline-block;
  border-bottom: solid 1px #e5e5e5;
  padding: 30px 0;
  display: flex;
  align-items: center;
}
.o_c-column .tile.img_link_on > a:nth-of-child(1) {
  border-top: solid 1px #e5e5e5;
}
.o_c-column .tile__image {
  position: relative;
  width: 215px;
  overflow: hidden;
  background: #e4e4e4;
}
.o_c-column .tile__image:before {
  content: "";
  display: block;
  padding-top: 70%;
}
.o_c-column .tile__image img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  max-width: inherit;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  /*IE対策*/
}
.o_c-column .tile__box {
  width: calc(100% - 215px);
  padding: 0 0 0 15px;
}
.o_c-column .tile__title {
  padding-bottom: 15px;
}
.o_c-column .tile__date span {
  display: inline;
  padding-right: 5px;
  font-size: 1.2rem;
  color: #00b4ed;
}
.o_c-column .tile__tag {
  display: inline-block;
}
.o_c-column .cat {
  display: inline-block;
  padding: 5px 15px;
  color: #fff;
  font-size: 1.2rem;
  font-weight: bold;
  border-radius: 15px;
  z-index: 100;
  margin-right: 10px;
  background: #fe6762;
}
/*ページの1番大きい見出し*/
.c-heading__pagettl {
  width: 100%;
  padding: 60px;
  margin: 0 auto 40px;
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ffffff+0,ffffff+49,ffffff+49,efefef+49,efefef+50,efefef+100 */
  background: #fff;
  /* Old browsers */
  background: -moz-linear-gradient(top, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 49%, rgba(255, 255, 255, 1) 49%, rgba(244, 246, 247, 1) 49%, rgba(244, 246, 247, 1) 50%, rgba(244, 246, 247, 1) 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(top, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 49%, rgba(255, 255, 255, 1) 49%, rgba(244, 246, 247, 1) 49%, rgba(244, 246, 247, 1) 50%, rgba(244, 246, 247, 1) 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 49%, rgba(255, 255, 255, 1) 49%, rgba(244, 246, 247, 1) 49%, rgba(244, 246, 247, 1) 50%, rgba(244, 246, 247, 1) 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#efefef', GradientType=0);
  /* IE6-9 */
}
.c-heading__pagettl > span {
  display: block;
}
@media screen and (max-width: 768px) {
  .c-heading__pagettl {
    padding: 40px 20px;
  }
}
/*コンテンツの見出し（ミニマム）*/
.c-heading__minimum {
  font-size: 1.4rem;
  line-height: 1;
  color: rgba(0, 0, 0, 1);
  font-weight: normal;
  white-space: nowrap;
  position: relative;
  padding: 0 0 0 40px;
}
.c-heading__minimum::before {
  content: '';
  position: absolute;
  width: 30px;
  height: 1px;
  top: 60%;
  left: 0;
  transform: translate(0, -50%);
  background-color: rgba(0, 0, 0, 0.5);
}
.c-heading__minimum::after {
  float: left;
  content: attr(title);
  font-size: 1.5rem;
  line-height: 1;
  margin: 0 10px 0 0;
  padding: 0 10px 0 0;
  border-right: solid 1px rgba(0, 0, 0, 0.5);
}
.c-heading__minimum.wh {
  color: rgba(255, 255, 255, 1);
}
.c-heading__minimum.wh::before {
  background-color: rgba(255, 255, 255, 0.5);
}
.c-heading__minimum.wh::after {
  border-right: solid 1px rgba(255, 255, 255, 0.5);
}
/*通常のカテゴリーページの大見出し*/
.c-heading__cat__first {
  padding: 40px 0;
}
.c-heading__cat__first__ttl {
  font-size: 2.2rem;
  line-height: 2;
  font-weight: normal;
}
.c-heading__cat__first__body {
  font-size: 1.6rem;
  line-height: 2;
}
/*特別なカテゴリーページ（Navicat、OSS-DB）の大見出し*/
.c-heading__extra-cat__first {
  padding: 40px 0;
}
.c-heading__extra-cat__first__ttl {
  font-size: 2.2rem;
  line-height: 2;
  font-weight: normal;
  text-align: center;
}
.c-heading__extra-cat__first__ttl-thumb {
  width: 120px;
  height: auto;
  margin: 0 auto;
  text-align: center;
}
.c-heading__extra-cat__first__body {
  font-size: 1.6rem;
  line-height: 2;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .c-heading__extra-cat__first__body {
    text-align: left;
  }
}
/*特別なカテゴリー（Navicat、OSS-DB）の小見出し*/
/*本文*/
.c-heading__first {
  font-size: 1.8rem;
  line-height: 1.5;
  font-weight: normal;
  width: 100%;
  padding: 20px;
  margin: 0 auto 2em;
  border-top: solid 1px rgba(0, 0, 0, 1);
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ffffff+0,ffffff+49,ffffff+49,efefef+49,efefef+50,efefef+100 */
  background: #fff;
  /* Old browsers */
  background: -moz-linear-gradient(top, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 49%, rgba(255, 255, 255, 1) 49%, rgba(244, 246, 247, 1) 49%, rgba(244, 246, 247, 1) 50%, rgba(244, 246, 247, 1) 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(top, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 49%, rgba(255, 255, 255, 1) 49%, rgba(244, 246, 247, 1) 49%, rgba(244, 246, 247, 1) 50%, rgba(244, 246, 247, 1) 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 49%, rgba(255, 255, 255, 1) 49%, rgba(244, 246, 247, 1) 49%, rgba(244, 246, 247, 1) 50%, rgba(244, 246, 247, 1) 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#efefef', GradientType=0);
}
.c-heading__second {
  font-size: 1.8rem;
  line-height: 1.5;
  font-weight: normal;
  width: 100%;
  padding: 5px 20px;
  margin: 0 auto 1em;
  position: relative;
}
.c-heading__second::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 5px;
  height: 100%;
  background-color: #000;
  margin: 0 20px 0 0;
  background: #3e63ad;
  background: -moz-linear-gradient(top, rgba(62, 99, 173, 1) 0%, rgba(228, 0, 127, 1) 100%);
  background: -webkit-linear-gradient(top, rgba(62, 99, 173, 1) 0%, rgba(228, 0, 127, 1) 100%);
  background: linear-gradient(to bottom, rgba(62, 99, 173, 1) 0%, rgba(228, 0, 127, 1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#3e63ad', endColorstr='#e4007f', GradientType=0);
}
.c-heading__third {
  font-size: 1.6rem;
  line-height: 1.5;
  padding: 0 2.5em;
  position: relative;
}
.c-heading__third::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0px;
  transform: translate(0, -50%);
  width: 2em;
  height: 1px;
  background: rgba(0, 0, 0, 1) !important;
}
.o_c_title {
  text-align: center;
}
.o_c_title__le {
  text-align: left;
}
.o_c_title__en {
  font-family: 'Raleway', sans-serif;
  color: #2c7956;
  font-size: 6.6rem;
  letter-spacing: 0.2em;
  font-weight: 700;
}
@media screen and (max-width: 501px) {
  .o_c_title__en {
    font-size: 3.6rem;
  }
}
.o_c_title__ja {
  font-weight: bold;
  font-family: YakuHanJP, YuGothic, 'Yu Gothic', sans-serif;
  font-size: 2rem;
  padding: 7px 0 0 0;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 501px) {
  .o_c_title__ja {
    font-size: 1.5rem;
  }
}
.o_c_title__under {
  color: #fff;
}
.o_c_title__under::after {
  content: "";
  display: block;
  height: 1px;
  width: 50px;
  margin: 30px 0 0 0;
  background: #fff;
}
.o_c_title__under-b {
  color: 0;
}
.o_c_title__under-b::after {
  content: "";
  display: block;
  height: 1px;
  width: 50px;
  margin: 30px 0 0 0;
  background: #000;
}
.o_c_btn__wrap-center {
  text-align: center;
}
.o_c_btn__wrap-left {
  text-align: left;
}
@keyframes borderamin {
  0% {
    width: 0;
    left: 0;
  }
  30% {
    width: 30%;
  }
  80% {
    left: 100%;
  }
  100% {
    width: 0;
    left: 100%;
  }
}
.o_c_btn-round, .o_c_btn-round__w {
  text-align: center;
  max-width: 320px;
  width: 100%;
}
.o_c_btn-round a, .o_c_btn-round__w a {
  display: inline-block;
  border-radius: 50px;
  padding: 20px 20px;
  width: 100%;
}
.o_c_btn-round__w a {
  background: #fff;
  color: #2c7956;
}
.o_c_btn-square, .o_c_btn-square__w {
  text-align: center;
  max-width: 320px;
  width: 100%;
}
.o_c_btn-square a, .o_c_btn-square__w a, .o_c_btn-square input, .o_c_btn-square__w input {
  display: inline-block;
  padding: 20px 20px;
  width: 100%;
  cursor: pointer;
  transition: all 0.3s ease;
}
.o_c_btn-square__w a, .o_c_btn-square__w input {
  border: 1px solid;
  color: #2c7956;
}
.o_c_btn-square__w a:hover, .o_c_btn-square__w input:hover {
  opacity: 1;
  box-shadow: inset 0 0 0 2px #2c7956;
}
.o_c_list__2col {
  column-count: 2;
}
.o_c_list__numcol-b .num, .o_c_list__numcol-w .num, .o_c_list__numcol-wb .num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  margin-bottom: 20px;
}
@media screen and (max-width: 501px) {
  .o_c_list__numcol-b .num, .o_c_list__numcol-w .num, .o_c_list__numcol-wb .num {
    position: absolute;
    left: 0;
    top: 1px;
  }
}
@media screen and (max-width: 501px) {
  .o_c_list__numcol, .o_c_list__numcol-b, .o_c_list__numcol-w, .o_c_list__numcol-wb {
    flex-wrap: wrap;
    padding-top: 0;
  }
}
.o_c_list__numcol dl, .o_c_list__numcol-b dl, .o_c_list__numcol-w dl, .o_c_list__numcol-wb dl {
  position: relative;
}
.o_c_list__numcol dt, .o_c_list__numcol-b dt, .o_c_list__numcol-w dt, .o_c_list__numcol-wb dt {
  font-size: 2rem;
  line-height: 1.5;
  margin-bottom: 16px;
}
@media screen and (max-width: 501px) {
  .o_c_list__numcol dt, .o_c_list__numcol-b dt, .o_c_list__numcol-w dt, .o_c_list__numcol-wb dt {
    margin-bottom: 10px;
    margin-left: 36px;
  }
}
.o_c_list__numcol dd, .o_c_list__numcol-b dd, .o_c_list__numcol-w dd, .o_c_list__numcol-wb dd {
  line-height: 1.5;
}
.o_c_list__numcol-b .num {
  background: #000;
  color: #fff;
}
.o_c_list__numcol-w .num {
  border: 1px solid;
}
.o_c_list__numcol-wb .num {
  background: #fff;
  color: #000;
}
/*フォーム要素の初期スタイルをリセット*/
.o_c_f-form input[type="text"], .o_c_f-form input[type="password"], .o_c_f-form input[type="email"], .o_c_f-form input[type="number"], .o_c_f-form input[type="tel"], .o_c_f-form textarea {
  padding: 17px 28px;
  border-radius: 0;
  outline: none;
  background: #f5f5f5;
  appearance: none;
  vertical-align: middle;
  width: 100%;
  border: none;
  text-align: left;
}
@media screen and (max-width: 501px) {
  .o_c_f-form input[type="text"], .o_c_f-form input[type="password"], .o_c_f-form input[type="email"], .o_c_f-form input[type="number"], .o_c_f-form input[type="tel"], .o_c_f-form textarea {
    font-size: 1.6rem;
    line-height: 1.6;
  }
}
.o_c_f-form .o_c_f-required::after {
  content: "※必須";
  font-size: 1.2rem;
  color: #3c9a52;
  padding-left: 5px;
  font-weight: bold;
}
.o_c_f-form-terms dt {
  text-align: center;
  padding: 30px 0 20px;
}
.o_c_f-form-terms dd:last-child {
  text-align: center;
}
.o_c_f-form-terms__cont {
  overflow-y: scroll;
  height: 240px;
  border: 1px solid #ccc;
  padding: 50px 60px;
  margin-bottom: 30px;
}
@media screen and (max-width: 501px) {
  .o_c_f-form-terms__cont {
    padding: 40px 30px;
  }
}
.o_c_f-form-terms__cont h3 {
  margin-bottom: 12px;
  font-weight: bold;
}
.o_c_f-form-terms__cont p {
  margin-bottom: 35px;
  line-height: 1.8;
  letter-spacing: 0;
}
.o_c_f-form .p-contact__inner__memo {
  text-align: center;
}
.o_c_f-form .o_c_f-form__caution__preview {
  display: none;
  text-align: center;
}
.o_c_f-form .o_c_f-form__submit_back {
  margin: auto;
  padding: 30px 0 60px 0;
}
.o_c_f-form .o_c_f-form__submit_back input {
  background: none;
  outline: none;
}
.o_c_f-form .mw_wp_form_preview .o_c_f-form__caution__preview {
  line-height: 1.5;
}
.o_c_f-form .mw_wp_form_preview td {
  background: #f5f5f5;
  padding: 17px 28px;
  margin-bottom: 20px;
  border-bottom: 20px solid #fff;
}
@media screen and (max-width: 501px) {
  .o_c_f-form .mw_wp_form_preview td {
    border-top: 10px solid #fff;
  }
}
.o_c_f-form .mw_wp_form_preview td .memo {
  display: none;
}
.o_c_f-form .mw_wp_form_preview .o_c_f-form__caution__preview {
  display: block;
}
.o_c_f-form .mw_wp_form_preview .p-contact__inner__memo {
  display: none;
}
.o_c_f-form .mw_wp_form_preview .o_c_f-form-terms {
  display: none;
}
.o_c_f-form .mw_wp_form_preview .o_c_f-form__submit_back {
  max-width: 660px;
  justify-content: space-between;
  display: flex;
}
@media screen and (max-width: 501px) {
  .o_c_f-form .mw_wp_form_preview .o_c_f-form__submit_back {
    display: block;
  }
}
.o_c_f-form .mw_wp_form_preview .o_c_f-form__submit_back input {
  width: 320px;
}
@media screen and (max-width: 501px) {
  .o_c_f-form .mw_wp_form_preview .o_c_f-form__submit_back input {
    margin-bottom: 10px;
  }
}
.o_c_f-form .mw_wp_form_complete .o_c_f-form__thanks__tit {
  font-size: 2rem;
  text-align: center;
  font-weight: bold;
  padding: 0 0 40px 0;
}
.o_c_f-form .mw_wp_form_complete .o_c_f-form__thanks__cont {
  width: 600px;
  margin: auto;
  line-height: 1.8;
  letter-spacing: 0;
  text-align: center;
  padding: 0 0 100px 0;
}
@media screen and (max-width: 501px) {
  .o_c_f-form .mw_wp_form_complete .o_c_f-form__thanks__cont {
    width: 100%;
    text-align: left;
  }
}
.c-form .hidden {
  display: none;
}
.c-form__notice {
  font-size: 1.2rem;
  line-height: 2;
}
.c-form__table {
  font-size: 1.4rem;
  line-height: 2;
  table-layout: fixed;
  border-collapse: collapse;
  width: 100%;
}
.c-form__table tr {
  border-top: 1px solid rgba(239, 239, 239, 1);
  border-bottom: 1px solid rgba(239, 239, 239, 1);
}
.c-form__table th {
  text-align: left;
  width: 25%;
  padding: 1em 0;
  vertical-align: middle;
}
.c-form__table td {
  padding: 1em 0;
  vertical-align: middle;
}
@media screen and (max-width: 501px) {
  .c-form__table {
    font-size: 1.6rem;
    line-height: 2;
  }
  .c-form__table th {
    width: 100%;
    display: block;
    padding: 0.5em 0;
    border-bottom: 1px dotted rgba(239, 239, 239, 1);
  }
  .c-form__table td {
    width: 100%;
    padding: 0.5em 0;
    display: block;
  }
}
.c-form input[type="text"], .c-form input[type="password"] {
  width: 100%;
  background-color: rgba(244, 246, 247, 1);
  padding: 0.5em;
}
.c-form textarea {
  width: 100%;
  height: 200px;
  background-color: rgba(244, 246, 247, 1);
  padding: 0.5em;
}
.c-form input[type="submit"] {
  font-size: 1.6rem;
  line-height: 2;
  width: 100%;
  max-width: 380px;
  padding: 20px;
  margin: 0 auto;
  display: block;
  color: rgba(255, 255, 255, 1);
  background-color: rgba(0, 0, 0, 1);
  cursor: pointer;
  transition: all 0.3s ease;
}
.c-form input[type="submit"]:hover {
  color: rgba(255, 255, 255, 1);
  background-color: rgba(51, 51, 51, 1);
}
.mw_wp_form .error {
  font-size: 1.4rem;
  padding-top: 10px;
}
@keyframes o_c_k-fuwa {
  0% {
    transform: scale(0.9, 0.9) translateY(0);
  }
  50% {
    transform: scale(1, 1) translateY(-20px);
  }
  100% {
    transform: scale(0.9, 0.9) translateY(0px);
  }
}
@keyframes o_c_k-zoom {
  0% {
    transform: scale(1, 1);
  }
  50% {
    transform: scale(1.1, 1.1);
  }
  100% {
    transform: scale(1, 1);
  }
}
@keyframes o_c_k-nami-l {
  0% {
    background-position-x: 0;
  }
  100% {
    background-position-x: -1625px;
  }
}
@keyframes o_c_k-nami-r {
  0% {
    background-position-x: 0;
  }
  100% {
    background-position-x: 1625px;
  }
}
@keyframes o_c_k-underUp {
  0% {
    transform: translateY(30px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
/*
 .fadein_v1{transition:ease-in-out .5s;opacity:0;transform:translateY(20px);}
 .fadein_v1.scrollWatch{opacity:1;transform:translateY(0px);}
 .fadein{
 opacity: 0;
 }
 .fadeinup{
 opacity: 0;
 }
 .fadeinright{
 opacity: 0;
 }
 .fadeinleft{
 opacity: 0;
 }
 .fadein_v2{transition:ease-in-out .9s;opacity:0;transform:translateY(30px);}
 .fadein_v2.scrollWatch{opacity:1;transform:translateY(0px);}
 */
section {
  letter-spacing: 0.08em;
  background: #fff;
}
@media screen and (max-width: 501px) {
  section {
    font-size: 1.4rem;
    letter-spacing: 0.05em;
  }
}
section.o_c_s-btr {
  padding: 100px 0;
  background: transparent;
}
section.o_c_s-bw {
  padding: 100px 0;
  background: #fff;
  margin: auto;
}
section.o_c_s-green {
  padding: 100px 0;
  background: #11a05c;
  margin: auto;
}
.title_area + section {
  padding-top: 100px;
}
@media screen and (max-width: 501px) {
  .title_area + section {
    padding-top: 60px;
  }
}
.o_c_sort {
  font-size: 1.4rem;
  /* Controls
   ---------------------------------------------------------------------- */
  /* Container
   ---------------------------------------------------------------------- */
  /* Target Elements
   ---------------------------------------------------------------------- */
}
.o_c_sort i {
  border: 1px solid #ccc;
  display: inline-block;
  margin: 10px;
}
.o_c_sort a {
  border: 1px solid #ccc;
  display: inline-block;
  margin: 10px;
}
.o_c_sort .box {
  border: 1px solid #000;
  margin: 20px;
}
.o_c_sort .box__kekka__wrap {
  background: #ffb6b6;
  margin: 20px;
  padding: 20px;
}
.o_c_sort .box__kekka__box {
  width: 100%;
  margin-top: 30px;
}
.o_c_sort dt {
  padding: 20px 25px;
  cursor: pointer;
  border: 1px solid #96acb0;
  font-size: 1.6rem;
  position: relative;
  background: #fff;
}
.o_c_sort dd {
  display: none;
  margin-top: 30px;
}
.o_c_sort dd > div + div {
  padding-bottom: 50px;
}
.o_c_sort .type_regular, .o_c_sort .type_parttime {
  padding-right: 4%;
  padding-left: 4%;
  background: #f6f7f8;
}
.o_c_sort .type_regular p, .o_c_sort .type_parttime p {
  padding: 40px 0 20px 0;
  font-weight: bold;
  font-size: 1.6rem;
}
.o_c_sort .type_regular table, .o_c_sort .type_parttime table {
  display: block;
}
.o_c_sort .type_regular table tbody, .o_c_sort .type_parttime table tbody {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.o_c_sort .type_regular table tbody tr, .o_c_sort .type_parttime table tbody tr {
  width: 48%;
  max-width: 500px;
  display: flex;
}
@media screen and (max-width: 768px) {
  .o_c_sort .type_regular table tbody tr, .o_c_sort .type_parttime table tbody tr {
    width: 100%;
    max-width: 100%;
  }
}
.o_c_sort .type_regular th, .o_c_sort .type_parttime th, .o_c_sort .type_regular td, .o_c_sort .type_parttime td {
  padding: 20px 0;
  border-top: 1px solid #b6b6b6;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.o_c_sort .type_regular th, .o_c_sort .type_parttime th {
  width: 30%;
  font-size: 1.6rem;
  text-align: center;
}
@media screen and (max-width: 501px) {
  .o_c_sort .type_regular th, .o_c_sort .type_parttime th {
    font-size: 1.3rem;
    width: 25%;
    padding: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
.o_c_sort .type_regular td, .o_c_sort .type_parttime td {
  width: 70%;
  background: #fff;
  font-size: 1.4rem;
  padding-left: 20px;
  padding-right: 20px;
  display: block;
}
@media screen and (max-width: 501px) {
  .o_c_sort .type_regular td, .o_c_sort .type_parttime td {
    width: 75%;
    font-size: 1.3rem;
    padding: 15px;
  }
}
.o_c_sort .control-group {
  display: inline-block;
  margin-left: 0.75rem;
  vertical-align: top;
}
.o_c_sort .control {
  position: relative;
  display: inline-block;
  width: 2.7rem;
  height: 2.7rem;
  background: #444;
  cursor: pointer;
  color: white;
  transition: background 150ms;
}
.o_c_sort .control-text {
  width: auto;
  padding: 0 1rem;
  font-weight: 700;
}
.o_c_sort .control:not(.mixitup-control-active):hover {
  background: #3f3f3f;
}
.o_c_sort .mixitup-control-active {
  background: #393939;
}
.o_c_sort .control:first-of-type {
  border-radius: 3px 0 0 3px;
}
.o_c_sort .control:last-of-type {
  border-radius: 0 3px 3px 0;
}
.o_c_sort .checkbox {
  display: inline-block;
  border: 1px solid #000;
  cursor: pointer;
  /*   text-align: justify; */
}
.o_c_sort .checkbox:after {
  display: none;
  width: 100%;
}
.o_c_sort .checkbox-input, .o_c_sort .checkbox-label {
  display: inline-block;
}
.o_c_sort .checkbox-group-label {
  font-weight: bold;
  display: block;
}
.o_c_sort .checkbox-label {
  padding: 5px;
  cursor: pointer;
}
.o_c_sort .container {
  text-align: justify;
  width: 90%;
  max-width: 1080px;
  margin: auto;
}
.o_c_sort .container:after {
  content: '';
  display: inline-block;
  width: 100%;
}
.o_c_sort .mix, .o_c_sort .gap {
  display: inline-block;
  vertical-align: top;
}
.o_c_sort .mix:before {
  content: '';
  display: inline-block;
  display: none;
}
.o_c_sort .mix:after {
  content: '';
  position: absolute;
}
.o_c_prompt {
  margin: auto;
  width: 90%;
  text-align: center;
}
.o_c_prompt .o_c_btn-border_line_g {
  max-width: 550px;
  width: 100%;
  margin: 17px auto 0;
  font-size: 1.4rem;
  font-weight: bold;
  padding: 25px 0 23px;
}
.o_c_prompt p {
  font-size: 1.4rem;
  line-height: 2;
}
@media screen and (max-width: 501px) {
  .o_c_prompt p {
    font-size: 1.3rem;
    line-height: 1.5;
  }
}
#o_p_loader-bg {
  background: #000;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 100;
}
#o_p_loader-bg #o_p_loader_anim {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  max-width: 120px;
  opacity: 0.5;
}
@media screen and (max-width: 501px) {
  #o_p_loader-bg #o_p_loader_anim {
    opacity: 0.5;
  }
}
.o_p-breadcrumb {
  background: #1f1f1f;
  color: #737373;
  font-size: 1.2rem;
  padding: 34px 0;
}
@media screen and (max-width: 501px) {
  .o_p-breadcrumb {
    padding: 24px 0;
  }
}
.o_p-breadcrumb__inner {
  max-width: 1080px;
  width: 90%;
  margin: auto;
}
@media screen and (max-width: 501px) {
  .o_p-breadcrumb__inner {
    width: 80%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}
.o_p-breadcrumb a {
  color: #737373;
}
.animation.lazyload, .animation.lazyloading {
  opacity: 0;
}
.animation.lazyloaded {
  opacity: 1;
  transition: 1s ease;
}
.cursor, .follower {
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
}
.cursor {
  width: 8px;
  height: 8px;
  background-color: #000;
  z-index: 1001;
}
.follower {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  background-color: rgba(125, 125, 125, 0.5);
  z-index: 1000;
  transition: transform ease 0.1s;
  text-align: center;
}
.follower span {
  display: inline-block;
  font-size: 14px;
  font-weight: bold;
  transform: scale(0);
}
.follower.is-active {
  transform: scale(3);
  transition: transform ease 0.1s;
  background-color: rgba(125, 125, 125, 0.3);
}
.follower.message_close:before {
  content: "Close";
  display: block;
  position: absolute;
}
.follower.message_more:before {
  content: "click";
  display: block;
  font-size: 8px;
  position: absolute;
}
.btn {
  display: inline-block;
  width: 160px;
  margin: 16px;
  text-align: center;
  font-size: 16px;
  line-height: 1;
}
.btn a {
  display: block;
  color: #fff;
  text-decoration: none;
  padding: 16px;
  background-color: #000;
  cursor: none;
}
.slick-slide {
  outline: none;
}
.slick-slide:focus {
  outline: none;
}
.slick-slide a {
  outline: none;
}
@media screen and (max-width: 501px) {
  .p-service + .o_p_contact, .p-element + .o_p_contact, .p-archives + .o_p_contact {
    padding-top: 0;
  }
}
.p-service + .o_p_contact {
  padding: 0;
}
.o_p_contact {
  position: relative;
  overflow: hidden;
  padding-top: 80px;
  /* ---- particles.js container ---- */
  /* ---- stats.js ---- */
}
.o_p_contact .l_wrap {
  position: relative;
  padding: 170px 0;
  color: #fff;
}
.o_p_contact h3 {
  color: #fff;
}
.o_p_contact .o_p_contact__btn_wrap {
  display: flex;
  justify-content: center;
  padding-top: 40px;
}
@media screen and (max-width: 501px) {
  .o_p_contact .o_p_contact__btn_wrap {
    display: block;
    padding-top: 40px;
  }
}
.o_p_contact .o_p_contact__btn_wrap .o_c_btn-round__w {
  margin: 0 10px;
}
@media screen and (max-width: 501px) {
  .o_p_contact .o_p_contact__btn_wrap .o_c_btn-round__w {
    margin: auto;
  }
}
.o_p_contact .o_p_contact__btn_wrap .o_c_btn-round__w.blank a {
  position: relative;
  padding-right: 25px;
}
.o_p_contact .o_p_contact__btn_wrap .o_c_btn-round__w.blank a::before {
  content: "";
  display: block;
  width: 7px;
  height: 7px;
  border-bottom: 1px solid;
  border-right: 1px solid;
  position: absolute;
  right: 18px;
  bottom: 23px;
}
.o_p_contact .o_p_contact__btn_wrap .o_c_btn-round__w.blank a::after {
  content: "";
  display: block;
  width: 7px;
  height: 7px;
  border: 1px solid;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 20px;
}
@media screen and (max-width: 501px) {
  .o_p_contact .o_p_contact__btn_wrap .o_c_btn-round__w + .o_c_btn-round__w {
    margin-top: 20px;
  }
}
.o_p_contact canvas {
  display: block;
  vertical-align: bottom;
}
.o_p_contact #particles-js {
  position: absolute;
  width: 100%;
  height: 100%;
  background: #00342a;
}
.o_p_contact .count-particles {
  background: #002;
  position: absolute;
  top: 48px;
  left: 0;
  width: 80px;
  color: #13e8e9;
  font-size: 0.8em;
  text-align: left;
  text-indent: 4px;
  line-height: 14px;
  padding-bottom: 2px;
  font-family: Helvetica, Arial, sans-serif;
  font-weight: bold;
}
.o_p_contact .js-count-particles {
  font-size: 1.1em;
}
.o_p_contact #stats, .o_p_contact .count-particles {
  -webkit-user-select: none;
  margin-top: 5px;
  margin-left: 5px;
}
.o_p_contact #stats {
  border-radius: 3px 3px 0 0;
  overflow: hidden;
}
.o_p_contact .count-particles {
  border-radius: 0 0 3px 3px;
}
@media screen and (max-width: 501px) {
  .o_p_contact.mini {
    position: relative;
    width: calc(100% + 40px);
    right: -20px;
    left: -20px;
  }
}
.o_p_contact.mini a {
  width: 100%;
  padding: 0 70px;
  height: 230px;
  align-items: center;
  display: flex;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 501px) {
  .o_p_contact.mini a {
    padding: 0;
    text-align: center;
    justify-content: center;
  }
}
.o_p_contact.mini a::hover {
  opacity: 1;
}
.o_p_contact.mini a::before {
  content: "";
  display: block;
  height: 2px;
  width: 0px;
  background: #fff;
  position: absolute;
  left: 80%;
  transition: ease-in-out 0.2s;
}
.o_p_contact.mini a:hover::before {
  width: 90px;
}
.o_p_contact.mini a::after {
  display: none;
}
.o_p_contact.mini .o_c_title__ja {
  font-size: 1.8rem;
  padding-top: 2px;
}
@media screen and (max-width: 501px) {
  .o_p_contact.mini .o_c_title__ja {
    font-size: 1.4rem;
  }
}
.o_p_contact.mini .o_c_title__en {
  font-size: 4.6rem;
}
@media screen and (max-width: 501px) {
  .o_p_contact.mini .o_c_title__en {
    font-size: 3.4rem;
  }
}
.o_p_nav-about__wrap, .o_p_nav-company__wrap {
  display: flex;
  justify-content: center;
  padding: 144px 0;
  margin: auto;
  width: 90%;
}
@media screen and (max-width: 768px) {
  .o_p_nav-about__wrap, .o_p_nav-company__wrap {
    padding: 90px 0;
  }
}
@media screen and (max-width: 501px) {
  .o_p_nav-about__wrap, .o_p_nav-company__wrap {
    padding: 80px 0;
  }
}
.o_p_nav-about__btn, .o_p_nav-company__btn {
  text-align: center;
  justify-content: center;
  width: 350px;
  height: 230px;
  align-items: center;
  display: flex;
  flex-direction: column;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .o_p_nav-about__btn, .o_p_nav-company__btn {
    height: 200px;
    width: 320px;
  }
}
@media screen and (max-width: 501px) {
  .o_p_nav-about__btn, .o_p_nav-company__btn {
    height: 130px;
    padding: 0 10px;
  }
}
.o_p_nav-about__btn + .o_p_nav-about__btn, .o_p_nav-company__btn + .o_p_nav-company__btn {
  border-left: 1px solid #000;
}
.o_p_nav-about__btn .en, .o_p_nav-company__btn .en {
  font-size: 2.2rem;
  line-height: 1;
  margin-bottom: 16px;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
  .o_p_nav-about__btn .en, .o_p_nav-company__btn .en {
    margin-bottom: 10px;
    font-size: 1.9rem;
  }
}
@media screen and (max-width: 501px) {
  .o_p_nav-about__btn .en, .o_p_nav-company__btn .en {
    font-size: 1.4rem;
    margin-bottom: 5px;
  }
}
.o_p_nav-about__btn .jp, .o_p_nav-company__btn .jp {
  font-size: 1.5rem;
}
@media screen and (max-width: 501px) {
  .o_p_nav-about__btn .jp, .o_p_nav-company__btn .jp {
    font-size: 0.9rem;
  }
}
.o_p_nav-corporate .inner {
  display: flex;
  justify-content: space-between;
  max-width: 1080px;
  margin: auto;
  width: 90%;
}
@media screen and (max-width: 1080px) {
  .o_p_nav-corporate .inner {
    width: 94%;
  }
}
@media screen and (max-width: 768px) {
  .o_p_nav-corporate .inner {
    width: 90%;
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 501px) {
}
.o_p_nav-corporate a {
  background: #dfe6e7;
  font-weight: bold;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}
@media screen and (max-width: 1080px) {
  .o_p_nav-corporate a {
    height: 70px;
    width: calc(100%  / 2);
  }
  .o_p_nav-corporate a span {
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 768px) {
  .o_p_nav-corporate a {
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
  }
}
@media screen and (max-width: 501px) {
  .o_p_nav-corporate a {
    height: 60px;
  }
}
.o_p_nav-corporate a + a {
  border-left: 1px solid #fff;
}
@media screen and (max-width: 768px) {
  .o_p_nav-corporate a + a {
    border-left: 0;
  }
}
@media screen and (max-width: 501px) {
  .o_p_nav-corporate a span {
    font-size: 1.1rem;
  }
}
.o_p_nav-corporate .o_c_btn-i_arrow {
  margin-right: 8px;
  transition: ease-in-out 0.2s;
}
.o_p_nav-corporate a:hover {
  opacity: 0.7;
}
.o_p_nav-corporate a:hover .o_c_btn-i_arrow {
  transform: translate(5px);
}
.o_u_f-W:first-letter {
  letter-spacing: 0em;
}
.o_u_f-36 {
  font-size: 3.6rem;
  line-height: 1.5;
}
.o_u_f-30 {
  font-size: 3rem;
  line-height: 1.6;
}
.o_u_f-28 {
  font-size: 2.8rem;
  line-height: 1.6;
}
.o_u_f-26 {
  font-size: 2.6rem;
  line-height: 1.5;
}
.o_u_f-24 {
  font-size: 2.4rem;
  line-height: 2;
}
.o_u_f-22 {
  font-size: 2.2rem;
  line-height: 2;
}
.o_u_f-20 {
  font-size: 2rem;
  line-height: 2;
}
.o_u_f-18 {
  font-size: 1.8rem;
  line-height: 2;
}
.o_u_f-16 {
  font-size: 1.6rem;
  line-height: 2;
}
.o_u_f-14 {
  font-size: 1.4rem;
  line-height: 2;
}
.o_u_f-12 {
  font-size: 1.2rem;
  line-height: 2;
}
.o_u_f-10 {
  font-size: 1rem;
  line-height: 2;
}
.u-text-align--center {
  text-align: center;
}
.u-text-align--left {
  text-align: left;
}
.u-text-align--right {
  text-align: right;
}
.u-vertical-align--top {
  vertical-align: top;
}
.u-vertical-align--middle {
  vertical-align: middle;
}
.u-vertical-align--bottom {
  vertical-align: bottom;
}
.u-mb0 {
  margin-bottom: 0px;
}
.u-mb5 {
  margin-bottom: 5px;
}
.u-mb10 {
  margin-bottom: 10px;
}
.u-mb15 {
  margin-bottom: 15px;
}
.u-mb20 {
  margin-bottom: 20px;
}
.u-mb25 {
  margin-bottom: 25px;
}
.u-mb30 {
  margin-bottom: 30px;
}
.u-mb35 {
  margin-bottom: 35px;
}
.u-mb40 {
  margin-bottom: 40px;
}
.u-mb45 {
  margin-bottom: 45px;
}
.u-mb50 {
  margin-bottom: 50px;
}
.u-mb55 {
  margin-bottom: 55px;
}
.u-mb60 {
  margin-bottom: 60px;
}
.u-mb65 {
  margin-bottom: 65px;
}
.u-mb70 {
  margin-bottom: 70px;
}
.u-mb75 {
  margin-bottom: 75px;
}
.u-mb80 {
  margin-bottom: 80px;
}
.u-mt0 {
  margin-top: 0px;
}
.u-mt5 {
  margin-top: 5px;
}
.u-mt10 {
  margin-top: 10px;
}
.u-mt15 {
  margin-top: 15px;
}
.u-mt20 {
  margin-top: 20px;
}
.u-mt25 {
  margin-top: 25px;
}
.u-mt30 {
  margin-top: 30px;
}
.u-mt35 {
  margin-top: 35px;
}
.u-mt40 {
  margin-top: 40px;
}
.u-mt45 {
  margin-top: 45px;
}
.u-mt50 {
  margin-top: 50px;
}
.u-mt55 {
  margin-top: 55px;
}
.u-mt60 {
  margin-top: 60px;
}
.u-mt65 {
  margin-top: 65px;
}
.u-mt70 {
  margin-top: 70px;
}
.u-mt75 {
  margin-top: 75px;
}
.u-mt80 {
  margin-top: 80px;
}
.u-mr0 {
  margin-right: 0px;
}
.u-mr5 {
  margin-right: 5px;
}
.u-mr10 {
  margin-right: 10px;
}
.u-mr15 {
  margin-right: 15px;
}
.u-mr20 {
  margin-right: 20px;
}
.u-mr25 {
  margin-right: 25px;
}
.u-mr30 {
  margin-right: 30px;
}
.u-mr35 {
  margin-right: 35px;
}
.u-mr40 {
  margin-right: 40px;
}
.u-mr45 {
  margin-right: 45px;
}
.u-mr50 {
  margin-right: 50px;
}
.u-mr55 {
  margin-right: 55px;
}
.u-mr60 {
  margin-right: 60px;
}
.u-mr65 {
  margin-right: 65px;
}
.u-mr70 {
  margin-right: 70px;
}
.u-mr75 {
  margin-right: 75px;
}
.u-mr80 {
  margin-right: 80px;
}
.u-ml0 {
  margin-left: 0px;
}
.u-ml5 {
  margin-left: 5px;
}
.u-ml10 {
  margin-left: 10px;
}
.u-ml15 {
  margin-left: 15px;
}
.u-ml20 {
  margin-left: 20px;
}
.u-ml25 {
  margin-left: 25px;
}
.u-ml30 {
  margin-left: 30px;
}
.u-ml35 {
  margin-left: 35px;
}
.u-ml40 {
  margin-left: 40px;
}
.u-ml45 {
  margin-left: 45px;
}
.u-ml50 {
  margin-left: 50px;
}
.u-ml55 {
  margin-left: 55px;
}
.u-ml60 {
  margin-left: 60px;
}
.u-ml65 {
  margin-left: 65px;
}
.u-ml70 {
  margin-left: 70px;
}
.u-ml75 {
  margin-left: 75px;
}
.u-ml80 {
  margin-left: 80px;
}
.u-pb0 {
  padding-bottom: 0px;
}
.u-pb5 {
  padding-bottom: 5px;
}
.u-pb10 {
  padding-bottom: 10px;
}
.u-pb15 {
  padding-bottom: 15px;
}
.u-pb20 {
  padding-bottom: 20px;
}
.u-pb25 {
  padding-bottom: 25px;
}
.u-pb30 {
  padding-bottom: 30px;
}
.u-pb35 {
  padding-bottom: 35px;
}
.u-pb40 {
  padding-bottom: 40px;
}
.u-pb45 {
  padding-bottom: 45px;
}
.u-pb50 {
  padding-bottom: 50px;
}
.u-pb55 {
  padding-bottom: 55px;
}
.u-pb60 {
  padding-bottom: 60px;
}
.u-pb65 {
  padding-bottom: 65px;
}
.u-pb70 {
  padding-bottom: 70px;
}
.u-pb75 {
  padding-bottom: 75px;
}
.u-pb80 {
  padding-bottom: 80px;
}
.u-pt0 {
  padding-top: 0px;
}
.u-pt5 {
  padding-top: 5px;
}
.u-pt10 {
  padding-top: 10px;
}
.u-pt15 {
  padding-top: 15px;
}
.u-pt20 {
  padding-top: 20px;
}
.u-pt25 {
  padding-top: 25px;
}
.u-pt30 {
  padding-top: 30px;
}
.u-pt35 {
  padding-top: 35px;
}
.u-pt40 {
  padding-top: 40px;
}
.u-pt45 {
  padding-top: 45px;
}
.u-pt50 {
  padding-top: 50px;
}
.u-pt55 {
  padding-top: 55px;
}
.u-pt60 {
  padding-top: 60px;
}
.u-pt65 {
  padding-top: 65px;
}
.u-pt70 {
  padding-top: 70px;
}
.u-pt75 {
  padding-top: 75px;
}
.u-pt80 {
  padding-top: 80px;
}
.u-pr0 {
  padding-right: 0px;
}
.u-pr5 {
  padding-right: 5px;
}
.u-pr10 {
  padding-right: 10px;
}
.u-pr15 {
  padding-right: 15px;
}
.u-pr20 {
  padding-right: 20px;
}
.u-pr25 {
  padding-right: 25px;
}
.u-pr30 {
  padding-right: 30px;
}
.u-pr35 {
  padding-right: 35px;
}
.u-pr40 {
  padding-right: 40px;
}
.u-pr45 {
  padding-right: 45px;
}
.u-pr50 {
  padding-right: 50px;
}
.u-pr55 {
  padding-right: 55px;
}
.u-pr60 {
  padding-right: 60px;
}
.u-pr65 {
  padding-right: 65px;
}
.u-pr70 {
  padding-right: 70px;
}
.u-pr75 {
  padding-right: 75px;
}
.u-pr80 {
  padding-right: 80px;
}
.u-pl0 {
  padding-left: 0px;
}
.u-pl5 {
  padding-left: 5px;
}
.u-pl10 {
  padding-left: 10px;
}
.u-pl15 {
  padding-left: 15px;
}
.u-pl20 {
  padding-left: 20px;
}
.u-pl25 {
  padding-left: 25px;
}
.u-pl30 {
  padding-left: 30px;
}
.u-pl35 {
  padding-left: 35px;
}
.u-pl40 {
  padding-left: 40px;
}
.u-pl45 {
  padding-left: 45px;
}
.u-pl50 {
  padding-left: 50px;
}
.u-pl55 {
  padding-left: 55px;
}
.u-pl60 {
  padding-left: 60px;
}
.u-pl65 {
  padding-left: 65px;
}
.u-pl70 {
  padding-left: 70px;
}
.u-pl75 {
  padding-left: 75px;
}
.u-pl80 {
  padding-left: 80px;
}
.u-float__clear {
  clear: both;
}
.u-float__left {
  float: left;
}
.u-float__right {
  float: right;
}
@media screen and (max-width: 501px) {
  .pc {
    display: none;
  }
}
.sm {
  display: none;
}
@media screen and (max-width: 501px) {
  .sm {
    display: block;
  }
}
/*
 .u-br-pc {
 display: block;
 @include medium{
 display: none;
 }
 }
 .u-br-sp {
 display: none;
 @include medium{
 display: block;
 }
 }
 */
br.pc {
  display: block;
}
@media screen and (max-width: 501px) {
  br.pc {
    display: none;
  }
}
br.sm {
  display: none;
}
@media screen and (max-width: 501px) {
  br.sm {
    display: block;
  }
}
#loading {
  background-color: #151515;
  position: fixed;
  top: 0%;
  left: 0%;
  width: 100%;
  height: 100%;
  z-index: 10000;
  transition: ease 0.5s;
}
#loading.is-hidden {
  opacity: 0;
  left: -100%;
}
#loading span {
  display: block;
  text-align: center;
  width: 100%;
  color: #ccc;
  font-size: 1.8rem;
  letter-spacing: 0.2em;
  text-indent: -4px;
  position: absolute;
  top: calc(50% - 10px);
  left: 0;
  opacity: 0.5;
  font-weight: bold;
  font-style: italic;
}
@media screen and (max-width: 501px) {
  #loading span {
    font-size: 1.3rem;
  }
}
/* ローディング画面の下端にプログレスバーを表示 */
#loading #bar {
  position: absolute;
  display: block;
  height: 4px;
  width: 0%;
  top: calc(50% + 20px);
  left: 0;
  background-color: #018c49;
  transition: ease 1s;
}
@media screen and (max-width: 501px) {
  #loading #bar {
    height: 2px;
  }
}
#loading #bar.is-hidden {
  opacity: 0;
}
canvas {
  display: block;
  vertical-align: bottom;
}
/* ---- particles.js container ---- */
#particles-js-all {
  position: fixed;
  width: 100%;
  height: 100%;
  background: #f8f7f5;
  z-index: -1;
}
/* ---- stats.js ---- */
.js-count-particles {
  display: none;
  font-size: 1.1em;
}
#stats, .count-particles {
  -webkit-user-select: none;
  margin-top: 5px;
  margin-left: 5px;
  display: none;
}
#stats {
  display: none;
  border-radius: 3px 3px 0 0;
  overflow: hidden;
}
.count-particles {
  display: none;
  border-radius: 0 0 3px 3px;
}
/*------------------------------------------
 内部ページタイトル
 ------------------------------------------*/
.title_area {
  text-transform: uppercase;
  height: 460px;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  letter-spacing: 0.1rem;
  text-align: center;
}
@media screen and (max-width: 501px) {
  .title_area {
    height: 260px;
  }
}
.title_area .title_area__inner {
  max-width: 1200px;
  width: 90%;
  text-align: left;
}
.title_area .en {
  font-family: 'Raleway', sans-serif;
  font-size: 6.6rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  color: #2c7956;
}
@media screen and (max-width: 501px) {
  .title_area .en {
    font-size: 4.6rem;
  }
}
.title_area .ja {
  display: block;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.2;
  letter-spacing: 0.6em;
  color: #000;
}
@media screen and (max-width: 501px) {
  .title_area .ja {
    font-weight: bold;
  }
}
@media screen and (max-width: 640px) {
  .title_area span {
    font-size: 2rem;
  }
}
.p_top-hero {
  background: transparent;
  height: 520px;
  width: 100%;
  display: flex;
  align-items: center;
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 501px) {
  .p_top-hero {
    height: 500px;
  }
}
.p_top-hero::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: url(https://cloud.bigtreetc.com/rpawp/wp-content/themes/btc_rpa/common/img/top/hero.png) no-repeat center /cover;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  opacity: 1;
  transform-origin: 70% 50%;
  animation-name: hero_fade;
  animation-duration: 15s;
  animation-timing-function: ease-in;
  animation-fill-mode: forwards;
}
@keyframes hero_fade {
  0% {
    transform: scale(1.2);
  }
  100% {
    transform: scale(1);
  }
}
.p_top-hero__inner {
  max-width: 1230px;
  width: 90%;
  margin: auto;
  position: relative;
  z-index: 1;
}
.p_top-hero__inner h1 {
  width: 500px;
  display: none;
}
.p_top-hero__inner h2 {
  font-size: 6.6rem;
  font-weight: bold;
  font-family: YakuHanJP, YuGothic, 'Yu Gothic', sans-serif;
  line-height: 1.4;
  letter-spacing: 0.16em;
  font-style: italic;
  color: #fff;
  transform: scaleY(0.96);
}
@media screen and (max-width: 501px) {
  .p_top-hero__inner h2 {
    letter-spacing: 0.1em;
    font-size: 4.6rem;
  }
}
.p_top-hero__inner p {
  font-size: 1.6rem;
  color: #fff;
  line-height: 1.8;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 501px) {
  .p_top-hero__inner p {
    font-size: 1.4rem;
    font-weight: bold;
  }
}
.p_top-philosophy__cont {
  display: flex;
  justify-content: space-between;
  padding-top: 60px;
}
@media screen and (max-width: 501px) {
  .p_top-philosophy__cont {
    display: block;
  }
}
.p_top-philosophy__cont .thumb {
  margin: 0 auto 20px;
  height: 100px;
  display: flex;
  align-items: center;
  display: none;
}
.p_top-philosophy__cont li:nth-of-type(1) .thumb {
  width: 110px;
}
.p_top-philosophy__cont li:nth-of-type(2) .thumb {
  width: 170px;
}
.p_top-philosophy__cont li:nth-of-type(3) .thumb {
  width: 90px;
}
.p_top-philosophy__cont li:nth-of-type(1) h3::before {
  content: "1";
}
.p_top-philosophy__cont li:nth-of-type(2) h3::before {
  content: "2";
}
.p_top-philosophy__cont li:nth-of-type(3) h3::before {
  content: "3";
}
.p_top-philosophy__cont h3 {
  text-align: center;
  font-size: 2.4rem;
  font-family: YakuHanJP, YuGothic, 'Yu Gothic', sans-serif;
  font-weight: bold;
}
.p_top-philosophy__cont h3::before {
  font-weight: 100;
  display: flex;
  width: 36px;
  height: 36px;
  border: 4px solid;
  border-radius: 50%;
  margin: 0 auto 20px;
  align-items: center;
  justify-content: center;
  font-size: 1.7rem;
  text-shadow: 1px 1px 0px #018c49, -1px 1px 0px #018c49, 1px -1px 0px #018c49, -1px -1px 0px #018c49, 1px 0px 0px #018c49, 0px 1px 0px #018c49, -1px 0px 0px #018c49, 0px -1px 0px #018c49;
}
.p_top-philosophy__cont h3::after {
  content: "";
  display: block;
  width: 40px;
  height: 4px;
  background: #018c49;
  margin: 20px auto 30px;
}
.p_top-philosophy__cont h3 span {
  display: block;
  font-size: 4rem;
  padding: 5px 0 0 0;
  letter-spacing: 0.1em;
}
.p_top-philosophy__cont > li {
  width: 30%;
  background: #fff;
  padding: 35px 30px;
  color: #018c49;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
@media screen and (max-width: 501px) {
  .p_top-philosophy__cont > li {
    width: 100%;
  }
}
@media screen and (max-width: 501px) {
  .p_top-philosophy__cont > li + li {
    margin-top: 20px;
  }
}
.p_top-philosophy__cont > li li {
  position: relative;
  margin-left: 1rem;
  color: #000;
  padding-bottom: 8px;
  padding-left: 1rem;
  font-size: 1.4rem;
  letter-spacing: 0.01em;
  line-height: 1.4;
}
.p_top-philosophy__cont > li li::before {
  content: "";
  display: block;
  position: absolute;
  top: 7px;
  left: 0px;
  border-radius: 1px;
  width: 5px;
  height: 5px;
  background: #018c49;
}
.p_top-why {
  padding: 0 !important;
}
.p_top-why .o_c_title {
  padding: 230px 0;
  color: #ccc;
  margin: auto;
  position: relative;
  background: #000;
  z-index: 0;
}
@media screen and (max-width: 501px) {
  .p_top-why .o_c_title {
    padding: 160px 0 110px;
    font-size: 1.4rem;
  }
}
.p_top-why .o_c_title::before {
  content: "";
  background: url(https://cloud.bigtreetc.com/rpawp/wp-content/themes/btc_rpa/common/img/top/hero_why.png) no-repeat center /cover;
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0.3;
}
.p_top-why .o_c_title__en {
  font-size: 9rem;
  letter-spacing: 0.14em;
  color: #3c9a52;
}
@media screen and (max-width: 501px) {
  .p_top-why .o_c_title__en {
    font-size: 4.6rem;
  }
}
.p_top-why .o_c_title .p_top-why__scroll {
  width: 1px;
  height: 50px;
  margin: 20px auto 0;
  position: relative;
}
.p_top-why .o_c_title .p_top-why__scroll span {
  position: absolute;
  right: 0;
  left: 0;
  display: block;
  width: 1px;
  height: 0;
  background: #ccc;
  animation-name: why__scroll;
  animation-duration: 1.8s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}
@keyframes why__scroll {
  0% {
    opacity: 1;
    height: 0;
  }
  33% {
    height: 0;
  }
  90% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    height: 100%;
  }
}
.p_top-why__cont {
  padding: 80px 0;
}
.p_top-why__cont li + li {
  padding-top: 100px;
}
.p_top-why__cont dt {
  display: flex;
}
@media screen and (max-width: 501px) {
  .p_top-why__cont dt {
    display: block;
  }
}
.p_top-why__cont dt span {
  font-family: 'Raleway', sans-serif;
  color: #014a2e;
  font-size: 2.3rem;
  letter-spacing: 0.3em;
  font-weight: 700;
  position: relative;
  display: flex;
  align-items: center;
  width: 300px;
}
@media screen and (max-width: 501px) {
  .p_top-why__cont dt span {
    font-size: 1.7rem;
    width: 100%;
    justify-content: center;
  }
}
.p_top-why__cont dt span b {
  position: relative;
  font-size: 5rem;
  padding-left: 8px;
  bottom: 9px;
  font-weight: normal;
}
.p_top-why__cont dt span::after {
  content: "";
  width: 80px;
  height: 2px;
  background: #014a2e;
  margin: 15px 0 20px 20px;
}
@media screen and (max-width: 501px) {
  .p_top-why__cont dt span::after {
    display: none;
  }
}
.p_top-why__cont dt h3 {
  font-size: 5rem;
  line-height: 1.8;
  font-weight: bold;
  padding: 20px 0 30px;
  letter-spacing: 0.08em;
  font-family: YakuHanJP, YuGothic, 'Yu Gothic', sans-serif;
}
@media screen and (max-width: 501px) {
  .p_top-why__cont dt h3 {
    text-align: center;
    font-size: 2rem;
  }
}
.p_top-why__cont dd {
  width: calc(100% - 355px);
  margin: 0 50px 0px auto;
}
@media screen and (max-width: 501px) {
  .p_top-why__cont dd {
    width: 100%;
  }
}
.p_top-why__cont dd b {
  font-weight: bold;
  color: #000;
  background: linear-gradient(transparent 70%, #dedede 60%);
}
.p_top-why__cont p {
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0;
  text-align: justify;
  opacity: 0.8;
}
@media screen and (max-width: 501px) {
  .p_top-why__cont p {
    font-size: 1.4rem;
  }
}
.p_top-why__cont p + p {
  padding-top: 1em;
}
.p_top-why__cont h4 {
  color: #2c7956;
  font-size: 2.8rem;
  font-weight: bold;
  padding: 0 0 30px 0;
  line-height: 1.6;
}
@media screen and (max-width: 501px) {
  .p_top-why__cont h4 {
    font-size: 1.6rem;
    text-align: center;
  }
}
.p_top-why__cont .col + .col {
  padding-top: 40px;
}
.p_top-why__cont__sub {
  width: calc(60% - 20px);
}
@media screen and (max-width: 501px) {
  .p_top-why__cont__sub {
    width: 100%;
  }
}
.p_top-why__cont img {
  margin: 50px 0 0 0;
  border: 1px solid #ccc;
}
.p_top-element .l_wrap > ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: left;
  padding: 50px 0 0;
  margin-left: calc(-1 *(10% / 4));
}
@media (max-width: 1375px) {
  .p_top-element .l_wrap > ul {
    justify-content: center;
  }
}
.p_top-element .l_wrap > ul > li {
  width: calc((1230px /4) - 2%);
  position: relative;
  margin-bottom: 30px;
  margin-left: calc(10% / 4);
}
.p_top-element .l_wrap > ul > li::before {
  content: "";
  display: block;
  padding-top: 100%;
}
.p_top-element .l_wrap > ul a {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: #fff;
  width: 100%;
  display: block;
  padding: 25px;
}
.p_top-element .l_wrap > ul a i {
  display: block;
  display: none;
  width: 80px;
  height: 80px;
  background: #018c49;
}
.p_top-element .l_wrap > ul a dt {
  font-weight: bold;
  font-size: 1.9rem;
  letter-spacing: 0.02em;
  padding: 20px 0 10px 0;
}
.p_top-element .l_wrap > ul a dd li {
  position: relative;
  padding-bottom: 4px;
  padding-left: 0.9rem;
  font-size: 1.2rem;
  letter-spacing: 0.01em;
  line-height: 1.4;
}
.p_top-element .l_wrap > ul a dd li::before {
  content: "";
  display: block;
  position: absolute;
  top: 6px;
  left: 1px;
  border-radius: 1px;
  width: 4px;
  height: 4px;
  background: #018c49;
}
.p_top-element .l_wrap > ul a .more {
  color: #3c9a52;
  font-family: 'Raleway', sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  bottom: 0;
  right: 0;
  position: absolute;
  padding: 14px 14px 13px 14px;
}
.p_top-element .l_wrap > ul a .more::before {
  content: "";
  width: 20px;
  height: 1px;
  display: block;
  background: #3c9a52;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  left: -16px;
}
.p_top-service {
  position: relative;
  z-index: 0;
}
.p_top-service #particles-js-green {
  z-index: -1;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.p_top-service .o_c_title__en {
  color: #fff;
}
.p_top-service__list {
  display: flex;
  justify-content: space-between;
  padding-top: 110px;
}
@media screen and (max-width: 501px) {
  .p_top-service__list {
    flex-wrap: wrap;
    justify-content: center;
    padding-top: 50px;
  }
}
.p_top-service__list > li {
  width: calc(25% - 30px);
  text-align: center;
  position: relative;
  border: 10px solid #fff;
}
@media screen and (max-width: 501px) {
  .p_top-service__list > li {
    width: 300px;
  }
}
@media screen and (max-width: 501px) {
  .p_top-service__list li + li {
    margin-top: 20px;
  }
}
.p_top-service__list a {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  height: 280px;
  position: relative;
  overflow: hidden;
}
.p_top-service__list a::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  border-radius: 50%;
  pointer-events: none;
  transform: scale(0);
  opacity: 0;
  background: rgba(1, 140, 73, 0.9);
  transition: ease-in 0.3s;
}
.p_top-service__list a:hover {
  opacity: 1;
}
.p_top-service__list a:hover::before {
  transform: scale(2);
  opacity: 1;
}
.p_top-service__list a:hover dl + ul {
  opacity: 1;
}
@media screen and (max-width: 501px) {
  .p_top-service__list a {
    height: 300px;
  }
}
.p_top-service__list dd {
  height: 100px;
  margin-bottom: 30px;
}
.p_top-service__list dd img {
  height: 100%;
  width: auto;
  max-width: auto;
}
.p_top-service__list .en {
  font-family: 'Raleway', sans-serif;
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 0.14em;
}
.p_top-service__list .ja {
  color: #9dd263;
  font-size: 1.3rem;
  font-weight: bold;
  padding-top: 4px;
}
.p_top-service dl {
  position: relative;
  z-index: 0;
}
.p_top-service dl + ul {
  position: absolute;
  top: 0;
  height: 100%;
  width: 100%;
  z-index: 3;
  color: #fff;
  padding: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  opacity: 0;
  transition: all 0.3s ease;
}
.p_top-service dl + ul::after {
  content: "LEAD MORE";
  font-family: 'Raleway', sans-serif;
  position: absolute;
  bottom: 0;
  right: 0;
  padding: 16px;
  font-size: 1.3rem;
  letter-spacing: 0.14em;
  font-weight: bold;
  z-index: 3;
}
.p_top-service dl + ul::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  border-radius: 50%;
  pointer-events: none;
  transform: scale(0);
  background: rgba(1, 140, 73, 0.9);
  transition: all 0.3s ease;
}
.p_top-service dl + ul h4 {
  font-weight: bold;
  font-size: 1.4rem;
  letter-spacing: 0.02em;
}
.p_top-service dl + ul h4 span {
  font-size: 1.2rem;
  padding-top: 4px;
  display: block;
}
.p_top-service dl + ul li + li {
  padding-top: 10px;
}
.p_top-news .l_wrap {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 501px) {
  .p_top-news .l_wrap {
    display: block;
  }
}
.p_top-news .col_head {
  width: 320px;
}
@media screen and (max-width: 501px) {
  .p_top-news .col_head {
    width: 100%;
    padding-bottom: 60px;
    text-align: center;
  }
}
.p_top-news .o_c_title__l {
  position: sticky;
  top: 100px;
}
.p_top-news .o_c_title__l .o_c_btn-square__w {
  padding-top: 40px;
}
.p_top-news .col_body {
  width: calc(100% - 380px);
}
@media screen and (max-width: 501px) {
  .p_top-news .col_body {
    width: 100%;
  }
}
.p_top-news .col_box {
  width: calc((100% - 60px) / 3);
}
@media screen and (max-width: 501px) {
  .p_top-news .col_box {
    width: 100%;
  }
}
.p_top-news .col_box figure {
  border-radius: 4px;
  width: 100%;
  position: relative;
  overflow: hidden;
  background: url(../img/noimg.png) no-repeat center /cover;
}
.p_top-news .col_box figure::before {
  content: "";
  display: block;
  padding-top: 75%;
}
.p_top-news .col_box figure img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  max-width: inherit;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}
.p_top-news .col_box .info_box {
  padding: 15px 2px 0;
}
.p_top-news .col_box h3 {
  font-size: 1.4rem;
  line-height: 1.8;
  letter-spacing: 0.03em;
  font-weight: bold;
}
.p_top-news .col_box .content {
  font-size: 1.3rem;
  line-height: 1.7;
  text-align: justify;
  padding: 8px 0 0 0;
  opacity: 0.5;
}
.p_top-news .col_box .date {
  color: #3c9a52;
  font-weight: bold;
}
.p_top-news .col_box .cat {
  position: absolute;
  top: 0;
  right: 0;
  display: inline-block;
  padding: 5px 15px 7px;
  color: #fff;
  font-size: 1.4rem;
  font-weight: bold;
  background: #018c49;
  border-radius: 2px;
}
.p_top-news .o_c_btn-square__w.sm {
  margin: auto;
}
.p_top-column .l_wrap, .o_c-column__content .l_wrap {
  display: flex;
  justify-content: space-between;
}
.p_top-column .col_head, .o_c-column__content .col_head {
  width: 320px;
}
@media screen and (max-width: 501px) {
  .p_top-column .col_head, .o_c-column__content .col_head {
    width: 100%;
  }
}
.p_top-column .o_c_title__l, .o_c-column__content .o_c_title__l {
  position: sticky;
  top: 200px;
}
.p_top-column .o_c_title__l .o_c_btn-square__w, .o_c-column__content .o_c_title__l .o_c_btn-square__w {
  padding-top: 40px;
}
.p_top-column .col_body, .o_c-column__content .col_body {
  width: calc(100% - 400px);
}
@media screen and (max-width: 501px) {
  .p_top-column .col_body, .o_c-column__content .col_body {
    width: 100%;
  }
}
.p_top-column .col_box, .o_c-column__content .col_box {
  width: 100%;
}
.p_top-column .col_box + .col_box, .o_c-column__content .col_box + .col_box {
  border-top: 1px solid #cecece;
}
.p_top-column .col_box a, .o_c-column__content .col_box a {
  /* display: flex;
  justify-content: space-between;
  align-items: flex-start; */
  display: block;
  padding: 24px 16px;
}
@media screen and (max-width: 501px) {
  .p_top-column .col_box a, .o_c-column__content .col_box a {
    display: block;
  }
}
.p_top-column .col_box a:hover, .o_c-column__content .col_box a:hover {
  opacity: 1;
  background: #efefef;
}
.p_top-column .col_box a:hover figure::after, .o_c-column__content .col_box a:hover figure::after {
  box-shadow: inset 0 0 0 2px #ccc;
}
.p_top-column .col_box figure, .o_c-column__content .col_box figure {
  border-radius: 2px;
  /* width: 230px; */
  width: 100%;
  position: relative;
  overflow: hidden;
  /* background: url(../img/noimg.png) no-repeat center /cover; */
}
@media screen and (max-width: 501px) {
  .p_top-column .col_box figure, .o_c-column__content .col_box figure {
    width: 100%;
  }
}
.p_top-column .col_box figure::before, .o_c-column__content .col_box figure::before {
  content: "";
  display: block;
  padding-top: 70%;
}
.p_top-column .col_box figure::after, .o_c-column__content .col_box figure::after {
  content: "";
  display: block;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  z-index: 1;
  transition: ease-in-out 0.3s;
}
.p_top-column .col_box figure img, .o_c-column__content .col_box figure img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  /* height: 100%; */
  max-width: inherit;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}
.p_top-column .col_box .info_box, .o_c-column__content .col_box .info_box {
  padding: 10px 0 0 0;
  /* width: calc(100% - 260px); */
  width: 100%;
}
@media screen and (max-width: 501px) {
  .p_top-column .col_box .info_box, .o_c-column__content .col_box .info_box {
    width: 100%;
  }
}
.p_top-column .col_box h3, .o_c-column__content .col_box h3 {
  font-size: 2rem;
  line-height: 1.6;
  letter-spacing: 0.03em;
  font-weight: bold;
}
@media screen and (max-width: 501px) {
  .p_top-column .col_box h3, .o_c-column__content .col_box h3 {
    font-size: 1.6rem;
  }
}
.p_top-column .col_box .content, .o_c-column__content .col_box .content {
  font-size: 1.4rem;
  line-height: 1.7;
  text-align: justify;
  padding: 10px 0 22px 0;
  opacity: 0.5;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 501px) {
  .p_top-column .col_box .content, .o_c-column__content .col_box .content {
    font-size: 1.2rem;
  }
}
.p_top-column .col_box .date, .o_c-column__content .col_box .date {
  color: #3c9a52;
  font-weight: bold;
  font-size: 1.2rem;
  letter-spacing: 0.06em;
}
.p_top-column .col_box .cat, .o_c-column__content .col_box .cat {
  display: inline-block;
  padding: 5px 12px 7px;
  color: #fff;
  font-size: 1.1rem;
  font-weight: bold;
  background: #018c49;
  border-radius: 2px;
  letter-spacing: 0.1em;
}
.p_top-column .col_box .cat + .cat, .o_c-column__content .col_box .cat + .cat {
  margin-left: 6px;
}
.p_top-column .l_wrap, .o_c-column__content .l_wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.p_top-column .col_head, .o_c-column__content .col_head {
  width: 320px;
}
@media screen and (max-width: 501px) {
  .p_top-column .col_head, .o_c-column__content .col_head {
    width: 100%;
  }
}
@media screen and (max-width: 501px) {
  .p_top-column .o_c_btn-square__w, .o_c-column__content .o_c_btn-square__w {
    margin: auto;
  }
}
/*------------------------------------------
 コンテンツボックス
 ------------------------------------------*/
.col_body__wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 501px) {
}
.col_box {
  position: relative;
  background: #fff;
}
/*
 .col_body__wrap .col_box a {
 display: flex;
 flex-direction: column;
 height: 100%;
 }
 */
/*
 .why-btc_area .col_body__wrap .col_box, #products .col_body__wrap .col_box {
 width: calc(100% / 3 - 25px);
 margin-left: 25px;
 @include small{
 width: 100%;
 margin-left: 0;
 }
 }
 */
#products .col_body__wrap .col_box {
  padding-top: 115px;
  margin-top: 155px;
}
@media screen and (max-width: 501px) {
  #products .col_body__wrap .col_box {
    padding-top: 72px;
    margin-top: 80px;
  }
}
/*
 .col_body__wrap .col_box .cat.category_cat {
 background: #00b4ed;
 }
 #products .col_body__wrap .col_box figure {
 width: 260px;
 position: absolute;
 top: 0;
 left: 50%;
 transform: translate(-50%, -50%);
 }
 @media screen and (max-width: 640px) {
 #products .col_body__wrap .col_box figure {
 width: 140px;
 }
 }
 #products .col_body__wrap .col_box figure img {
 border-radius: 50%;
 border: 1px solid #00b4ed;
 }
 .col_body__wrap .col_box figure img {
 width: 100%;
 display: block;
 }
 @media screen and (max-width: 640px) {
 .col_body__wrap .col_box .info_box {
 padding: 10px 20px 30px 20px;
 }
 }
 #products .col_body__wrap .col_box .info_box p {
 line-height: 1.8;
 }
 .col_body__wrap .col_box .info_box .tit04 {
 position: relative;
 height: 85px;
 display: flex;
 justify-content: center;
 align-items: center;
 padding-bottom: 15px;
 margin-bottom: 15px;
 font-size: 2.2rem;
 font-family: "Yu Mincho", "YuMincho", serif;
 text-align: center;
 font-weight: normal;
 }
 @media screen and (max-width: 640px) {
 .col_body__wrap .col_box .info_box .tit04 {
 font-size: 2.0rem;
 }
 }
 .col_body__wrap .col_box .info_box .tit04::before {
 content: "";
 position: absolute;
 bottom: 0;
 left: 50%;
 width: 28px;
 height: 4px;
 transform: translate(-50%, 0);
 background: #00b4ed;
 }
 #products .col_body__wrap .col_box .info_box .tit04 {
 height: auto;
 }
 */
/*
 .col_body__wrap .col_box .date {
 position: relative;
 padding: 10px;
 text-align: center;
 color: #00b4ed;
 border-top: 1px solid #fafafa;
 font-size: 1.2rem;
 }
 */
@media screen and (max-width: 640px) {
  .col_body__wrap .col_box .date {
    padding: 10px 45px 10px 16px;
    text-align: left;
  }
}
.col_body__wrap .col_box .date:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translate(0, -50%);
  width: 28px;
  height: 28px;
  background: url(https://cloud.bigtreetc.com/images/common/arrow-right.png) center/contain no-repeat;
}
.col_body__wrap .col_box a:hover .date {
  opacity: 0.7;
  transition: 0.4s;
}
#services .p-service {
  padding: 0;
}
#services .conts_area {
  background: #fff;
  padding: 100px 0 0 0px;
}
#services .conts_area .ja {
  position: relative;
  padding: 6px 0 0 0;
  margin-bottom: 60px;
  text-align: center;
  font-size: 1.5rem;
  letter-spacing: 0.2em;
  font-weight: bold;
  color: #9dd263;
}
@media screen and (max-width: 501px) {
  #services .conts_area .ja {
    font-size: 1.5rem;
    margin-bottom: 40px;
  }
}
#services .conts_area .ja::after {
  content: "";
  display: block;
  width: 30px;
  height: 3px;
  background: #018c49;
  margin: 30px auto 0;
}
@media screen and (max-width: 501px) {
  #services .conts_area .ja::after {
    height: 2px;
  }
}
#services .conts_area .en {
  text-align: center;
  font-family: 'Raleway', sans-serif;
  font-size: 3.6rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #000;
}
@media screen and (max-width: 501px) {
  #services .conts_area .en {
    font-size: 2.6rem;
  }
}
#services .conts_area .conts_box {
  padding: 0 0 100px 0;
  position: relative;
  z-index: 100;
  background: #f5f5f5;
}
@media screen and (max-width: 501px) {
  #services .conts_area .conts_box {
    padding: 0;
  }
}
#services .conts_area .conts_box .col_box {
  display: block;
  margin-bottom: 30px;
  background: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}
@media screen and (max-width: 501px) {
  #services .conts_area .conts_box .col_box {
    display: block;
    padding-bottom: 30px;
    margin-bottom: 0;
  }
}
#services .conts_area .conts_box .col_box figure {
  flex: 0 0 auto;
  width: 100%;
  margin: 0 auto 0;
  background: #018c49;
  padding: 50px 300px 150px;
}
@media screen and (max-width: 501px) {
  #services .conts_area .conts_box .col_box figure {
    width: 100%;
    padding: 30px 0 50px 0;
  }
}
#services .conts_area .conts_box .col_box figure img {
  width: 480px;
  margin: auto;
  display: block;
}
@media screen and (max-width: 501px) {
  #services .conts_area .conts_box .col_box figure img {
    width: 320px;
  }
}
#services .conts_area .conts_box .col_box .info_box {
  width: 840px;
  margin: -115px auto 0;
  background: #fff;
  padding: 70px 100px;
}
@media screen and (max-width: 501px) {
  #services .conts_area .conts_box .col_box .info_box {
    width: 90%;
    margin: -40px auto 0;
    padding: 0px 5% 5%;
  }
}
#services .conts_area .conts_box .col_box h4 {
  font-size: 3.5rem;
  letter-spacing: 0.06em;
  line-height: 1.5;
  font-weight: bold;
  padding: 10px 0 18px 0;
}
@media screen and (max-width: 501px) {
  #services .conts_area .conts_box .col_box h4 {
    font-size: 2.2rem;
    text-align: center;
    letter-spacing: 0.1em;
    line-height: 1.6;
    padding: 40px 0 22px 0;
  }
}
#services .conts_area .conts_box .col_box h5 {
  font-size: 2.3rem;
  letter-spacing: 0.06em;
  line-height: 1.5;
  font-weight: bold;
  padding: 40px 0 10px 0;
}
@media screen and (max-width: 501px) {
  #services .conts_area .conts_box .col_box h5 {
    font-size: 1.6rem;
    text-align: center;
    letter-spacing: 0.1em;
    line-height: 1.6;
    padding: 50px 0 14px 0;
  }
}
#services .conts_area .conts_box .col_box dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
@media screen and (max-width: 501px) {
  #services .conts_area .conts_box .col_box dl {
    border: 1px solid #ccc;
  }
}
#services .conts_area .conts_box .col_box dl p {
  line-height: 1.4;
  font-size: 1.2rem;
}
@media screen and (max-width: 501px) {
  #services .conts_area .conts_box .col_box dl p {
    padding: 0 12%;
  }
}
#services .conts_area .conts_box .col_box dl dd {
  width: 33%;
  text-align: center;
  font-weight: bold;
  height: 170px;
  align-items: center;
  display: flex;
  justify-content: center;
  border-bottom: 1px solid #ccc;
}
@media screen and (max-width: 501px) {
  #services .conts_area .conts_box .col_box dl dd {
    width: 50%;
    border: 1px solid #ccc;
  }
}
#services .conts_area .conts_box .col_box dl dd img {
  width: 30%;
  display: block;
  margin: auto;
  margin-bottom: 20px;
}
@media screen and (max-width: 501px) {
}
#services .conts_area .conts_box .col_box blockquote p {
  font-size: 110%;
  line-height: 1.5;
}
#services .conts_area .conts_box .col_box em {
  background: #efefef;
}
@media screen and (max-width: 501px) {
  #services .conts_area .conts_box .col_box em {
    padding: 16px 20px;
    font-size: 1.3rem;
    line-height: 2;
  }
}
#services .conts_area .conts_box .col_box b {
  background: #eaeaea;
  padding: 0 2px;
  border-radius: 2px;
  margin: 0;
  color: #018c49;
  font-weight: bold;
}
#services .conts_area .conts_box .rpa_list {
  display: flex;
  flex-wrap: wrap;
}
#services .conts_area .conts_box .rpa_list li {
  margin-bottom: 10px;
  margin-left: 10px;
  padding: 10px 15px 10px 30px;
  position: relative;
  font-size: 1.4rem;
  color: #000;
  border: 1px solid #e5e5e5;
}
#services .conts_area .conts_box .rpa_list li::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 10px;
  width: 12px;
  height: 12px;
  transform: translate(0, -50%);
  background: url(https://cloud.bigtreetc.com/images/frontpage/list-disc.png) center / contain no-repeat;
}
#services .conts_area table {
  width: 100%;
  margin: 28px 0 0 0;
  border-right: 1px solid #d2d2d2;
  border-bottom: 1px solid #d2d2d2;
}
#services .conts_area table thead tr td {
  background: #1a4a34 !important;
}
#services .conts_area table tr {
  width: 100%;
}
#services .conts_area table tr:nth-of-type(1) td {
  text-align: center;
  background: #2c7956;
  color: #fff;
}
#services .conts_area table tr:nth-of-type(even) td {
  background: #ebebeb;
}
#services .conts_area table td {
  padding: 14px 6px;
  vertical-align: middle;
  line-height: 1.4;
  border-left: 1px solid #d2d2d2;
  border-top: 1px solid #d2d2d2;
  text-align: center;
}
#services .conts_area table.plan td {
  width: 20%;
  padding: 14px;
}
@media screen and (max-width: 501px) {
  #services .conts_area table.plan td {
    width: 30%;
  }
}
#services .conts_area table.plan td:nth-of-type(2) {
  width: 80%;
  font-size: 1.3rem;
}
@media screen and (max-width: 501px) {
  #services .conts_area table.plan td:nth-of-type(2) {
    width: 70%;
  }
}
.element_tit .element_subtit {
  display: inline-block;
  background: #2c7956;
  padding: 5px 5px 6px;
  margin-top: 20px;
  font-weight: bold;
  color: #fff;
  font-size: 1.5rem;
  line-height: 1;
  border-radius: 2px;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 501px) {
  .element_tit .element_subtit {
    margin-top: 15px;
    font-size: 1.2rem;
  }
}
.p-element__field {
  display: flex;
  justify-content: space-between;
  width: 1260px;
  margin: auto;
}
@media screen and (max-width: 501px) {
  .p-element__field {
    display: block;
    width: 90%;
  }
}
.p-element__field__cont {
  width: 800px;
}
@media screen and (max-width: 501px) {
  .p-element__field__cont {
    width: 100%;
  }
}
.p-element__field__cont .p-element__field__cont__item {
  padding: 70px 60px 50px;
  background: #fafafa;
  margin: 0 0 24px 0;
}
@media screen and (max-width: 501px) {
  .p-element__field__cont .p-element__field__cont__item {
    padding: 28px 24px;
    margin-bottom: 20px;
  }
}
.p-element__field__cont h3 {
  font-size: 2.6rem;
  line-height: 1.7;
  font-weight: bold;
  padding: 0 0 20px 0;
  letter-spacing: 0.01em;
  color: #2c7956;
}
@media screen and (max-width: 501px) {
  .p-element__field__cont h3 {
    padding-bottom: 10px;
    line-height: 1.5;
    font-size: 2.3rem;
  }
}
.p-element__field__cont p {
  line-height: 1.8;
  letter-spacing: 0;
}
@media screen and (max-width: 501px) {
  .p-element__field__cont em {
    font-size: 1.3rem;
  }
}
.p-element__field__cont .item__img {
  padding: 28px 0;
}
.p-element__field__cont dl {
  background: #fff;
  padding: 18px;
  margin: 24px 0;
}
@media screen and (max-width: 501px) {
  .p-element__field__cont dl {
    margin: 18px 0;
    padding: 15px;
  }
}
.p-element__field__cont dl dt {
  font-size: 1.7rem;
  font-weight: bold;
  letter-spacing: 0.01em;
  padding: 10px 0 10px 10px;
  margin-top: 10px;
  position: relative;
}
.p-element__field__cont dl dt::before {
  content: "";
  display: block;
  width: 4px;
  position: absolute;
  background: #065d37;
  height: 100%;
  top: 0;
  left: -18px;
}
.p-element__field__cont dl h4 {
  line-height: 1.5;
  font-weight: bold;
  padding: 0 0 5px 0;
  letter-spacing: 0.08em;
  display: flex;
  align-items: baseline;
  position: relative;
}
.p-element__field__cont dl h4::before {
  content: "";
  display: block;
  width: 15px;
  height: 15px;
  margin: 1px 5px 0 0;
  background: #339069;
  border-radius: 50%;
  position: relative;
  top: 2px;
}
.p-element__field__cont dl h4::after {
  content: "";
  display: block;
  width: 9px;
  height: 5px;
  border-bottom: 2px solid;
  border-left: 2px solid;
  position: absolute;
  left: 3px;
  top: 7px;
  transform: rotate(-47deg);
  color: #fff;
}
.p-element__field__cont dl p {
  line-height: 1.5;
}
@media screen and (max-width: 501px) {
  .p-element__field__cont dl p {
    font-size: 1.3rem;
    line-height: 1.7;
  }
}
.p-element__field__cont dl li {
  border-bottom: 2px solid #e6e6e6;
  padding: 20px 10px;
}
.p-element__field__cont dl li:last-child {
  border-bottom: none;
}
.p-element__field__cont table {
  margin: 28px 0 0 0;
  font-size: 1.2rem;
  border-right: 1px solid #d2d2d2;
  border-bottom: 1px solid #d2d2d2;
}
.p-element__field__cont table tr {
  width: 100%;
}
.p-element__field__cont table tr:nth-of-type(1) td {
  text-align: center;
  background: #2c7956;
  color: #fff;
}
.p-element__field__cont table tr:nth-of-type(even) td {
  background: #ebebeb;
}
.p-element__field__cont table td {
  padding: 14px 6px;
  vertical-align: middle;
  line-height: 1.4;
  border-left: 1px solid #d2d2d2;
  border-top: 1px solid #d2d2d2;
}
.p-element__field__cont table td:nth-of-type(1) {
  text-align: center;
}
.p-element__field__cont table td:nth-of-type(1), .p-element__field__cont table td:nth-of-type(2) {
  width: 12%;
}
.p-element__field__cont table td:nth-of-type(3) {
  width: 14%;
}
.p-element__field__cont table td:nth-of-type(4) {
  width: 54%;
}
.p-element__field__side {
  width: 360px;
}
@media screen and (max-width: 501px) {
  .p-element__field__side {
    width: calc(100% + 40px);
    position: relative;
    right: -20px;
    left: -20px;
  }
}
.p-element__field__side .p-element__field__side__wrap {
  position: sticky;
  top: 200px;
  background: #fafafa;
  padding: 50px 40px;
}
.p-element__field__side .p-element__field__side__wrap .o_c_title__l {
  position: static;
  padding-bottom: 26px;
}
.p-element__field__side .p-element__field__side__wrap .o_c_title__en {
  font-size: 2.7rem;
  letter-spacing: 0.14em;
}
.p-element__field__side .p-element__field__side__wrap .o_c_title__ja {
  font-size: 1.3rem;
  padding-top: 5px;
  letter-spacing: 0.12em;
}
.p-element__field__side .p-element__field__side__wrap dl + dl {
  padding-top: 56px;
}
.p-element__field__side .p-element__field__side__wrap li {
  display: flex;
  align-items: center;
  font-size: 1.3rem;
  border-top: 1px solid #d2d2d2;
}
.p-element__field__side .p-element__field__side__wrap li:last-child {
  border-bottom: 1px solid #d2d2d2;
}
.p-element__field__side .p-element__field__side__wrap li a {
  width: 100%;
  padding: 15px 5px;
  position: relative;
  line-height: 1.5;
}
.p-element__field__side .p-element__field__side__wrap li a:hover {
  color: #3c9a52;
  opacity: 1;
}
.p-element__field__cont__item p, .col_box p {
  letter-spacing: 0.01em;
  line-height: 2;
  font-size: 1.4rem;
}
.p-element__field__cont__item p + p, .col_box p + p {
  padding-top: 1.4rem;
}
.p-element__field__cont__item strong, .col_box strong {
  font-weight: bold;
  color: #2c7956;
  margin: 0 4px;
  padding-bottom: 2px;
  position: relative;
  background-image: linear-gradient(to right, #2c7956, #2c7956 2px, transparent 1px, transparent 2px);
  background-size: 4px 1px;
  background-repeat: repeat-x;
  background-position: bottom;
}
.p-element__field__cont__item blockquote p, .col_box blockquote p {
  display: flex;
  align-items: center;
  font-weight: bold;
  letter-spacing: 0.1em;
  font-size: 115%;
  color: #007940;
  padding: 35px 0 10px;
  align-items: baseline;
}
@media screen and (max-width: 501px) {
  .p-element__field__cont__item blockquote p, .col_box blockquote p {
    font-size: 105%;
    line-height: 1.5;
  }
}
.p-element__field__cont__item blockquote p::before, .col_box blockquote p::before {
  content: "";
  display: block;
  width: 30px;
  height: 2px;
  background: #2c7956;
  margin-right: 10px;
  position: relative;
  top: -5px;
}
.p-element__field__cont__item em, .col_box em {
  background: #fff;
  padding: 25px 30px;
  display: block;
  line-height: 1.8;
  font-weight: bold;
  color: #2c7956;
  font-size: 104%;
  margin: 20px 0 0 -10px;
  border-left: 3px solid;
}
@media screen and (max-width: 501px) {
  .p-element__field__cont__item em, .col_box em {
    margin-left: 0;
  }
}
.slick-dots {
  position: static;
  display: flex;
  justify-content: center;
  padding-top: 20px;
  padding-bottom: 20px;
}
.slick-dots li button {
  border: none;
  color: rgba(255, 255, 255, 0);
  display: block;
  width: 5px;
  height: 5px;
  background: #d2d2d2;
  border-radius: 50%;
  outline: none;
  margin: 5px;
}
.slick-dots .slick-active button {
  background: #018c49;
}
.p-contact__inner {
  width: 800px;
  margin: auto;
}
@media screen and (max-width: 501px) {
  .p-contact__inner {
    width: 90%;
  }
}
.p-contact__inner__memo {
  line-height: 1.5;
}
.p-contact__inner table {
  margin: 100px 0 40px 0;
}
@media screen and (max-width: 501px) {
  .p-contact__inner table {
    margin: 60px 0 0 0;
    width: 100%;
  }
}
.p-contact__inner th {
  width: 280px;
  padding-top: 17px;
  vertical-align: top;
}
@media screen and (max-width: 501px) {
  .p-contact__inner th {
    display: block;
    width: 100%;
  }
}
.p-contact__inner td {
  width: 520px;
  padding-bottom: 20px;
}
@media screen and (max-width: 501px) {
  .p-contact__inner td {
    display: block;
    width: 100%;
    padding-top: 10px;
  }
}
.p-contact__inner .memo {
  opacity: 0.7;
  font-size: 1.3rem;
  padding-top: 10px;
}
@media screen and (max-width: 501px) {
}
/*------------------------------------------
 RPAコラム
 ------------------------------------------*/
.p-archives .sns_list {
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}
@media screen and (max-width: 768px) {
  .p-archives .sns_list {
    width: 100%;
  }
}
.p-archives .sns_list li {
  border-radius: 50%;
  margin-right: 8px;
}
.p-archives .sns_list li:last-child {
  margin-right: 0;
}
.p-archives .sns_list li:nth-of-type(1) {
  background: #4267b1;
}
.p-archives .sns_list li:nth-of-type(2) {
  background: #0da9f2;
}
.p-archives .sns_list li:nth-of-type(3) {
  background: #00c500;
}
.p-archives .sns_list li img {
  width: 32px;
}
.p-archives .o_c-column__content__head {
  border: 1px solid #c5c5c5;
  padding: 40px 30px;
}
@media screen and (max-width: 501px) {
  .p-archives .o_c-column__content__head {
    padding: 40px 30px 30px 30px;
  }
}
.p-archives .o_c-column__content__head h2 {
  position: relative;
  margin-bottom: 30px;
  font-size: 3rem;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  .p-archives .o_c-column__content__head h2 {
    margin-bottom: 20px;
    padding-bottom: 15px;
    font-size: 2rem;
  }
}
@media screen and (max-width: 501px) {
  .p-archives .o_c-column__content__head h2 {
    font-size: 1.8rem;
    line-height: 1.6;
  }
}
.p-archives .o_c-column__content__head .info_area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  display: block;
}
@media screen and (max-width: 768px) {
  .p-archives .o_c-column__content__head .info_area {
    flex-wrap: wrap;
  }
}
.p-archives .o_c-column__content__head .info_list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  margin-bottom: 15px;
  font-size: 1.2rem;
}
.p-archives .o_c-column__content__head .info_list li:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .p-archives .o_c-column__content__head .info_list li:last-child {
    margin-bottom: 15px;
  }
}
.p-archives .o_c-column__content__head .info_title {
  position: relative;
  padding-right: 30px;
}
.p-archives .o_c-column__content__head .info_title::after {
  content: "\025b2";
  position: absolute;
  top: 50%;
  right: 9px;
  transform: translate(0, -50%) rotate(90deg);
  color: #3c9a52;
}
.p-archives .o_c-column__content__head .info_list li a {
  margin-right: 5px;
  padding: 5px;
  text-align: center;
  background: #fafafa;
}
.p-archives #toc {
  padding: 10px 0 5px;
  margin-bottom: 20px;
  background: #ececec;
  position: relative;
  width: 90%;
  margin: 40px auto 60px;
  padding: 40px 50px;
}
@media screen and (max-width: 501px) {
  .p-archives #toc {
    width: 100%;
    padding: 30px;
    margin: 20px 0 40px;
  }
}
.p-archives #toc::before {
  content: "目次";
  display: block;
  text-align: center;
  font-weight: bold;
  padding-bottom: 20px;
}
.p-archives #toc li {
  color: #404040;
  list-style: decimal;
  margin-bottom: 10px;
}
.p-archives #toc li a {
  font-size: 1.5rem;
  color: #3c9a52;
  width: 100%;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 501px) {
  .p-archives #toc li a {
    font-size: 1.3rem;
  }
}
.p-archives #toc li a:hover {
  opacity: 0.8;
}
.p-archives #toc li .toc_number {
  color: #3c9a52;
  padding-right: 3px;
  font-weight: bold;
}
.p-archives__wrap {
  display: flex;
  justify-content: space-between;
}
.p-archives__main {
  width: 800px;
}
@media screen and (max-width: 501px) {
  .p-archives__main {
    width: 100%;
  }
}
.p-archives__main img {
  display: block;
  margin: 0 auto;
  width: auto;
}
@media screen and (max-width: 768px) {
  .p-archives__main img {
    width: 100%;
  }
}
.p-archives__main .column_img {
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .p-archives__main .column_img {
    margin-bottom: 15px;
  }
}
.p-archives__main .column_img figcaption {
  margin-top: 10px;
  font-size: 1.2rem;
  color: #666;
}
.p-archives__main .detail_sec h2 {
  padding: 20px 16px;
  font-size: 1.7rem;
  border-bottom: 4px solid #004829;
  background: #2c7956;
  font-weight: bold;
  margin-bottom: 1.5em;
  letter-spacing: 0.1em;
  line-height: 1.5;
  color: #fff;
}
@media screen and (max-width: 501px) {
  .p-archives__main .detail_sec h2 {
    padding: 20px 16px;
    font-size: 1.6rem;
  }
}
.p-archives__main .detail_sec p + h2 {
  margin-top: 3em;
}
@media screen and (max-width: 501px) {
  .p-archives__main .detail_sec p + h2 {
    margin-top: 2em;
  }
}
.p-archives__main .detail_sec h3 {
  padding: 20px 16px;
  font-size: 1.7rem;
  border-bottom: 4px solid #3c9a52;
  background: #f7f7f7;
  font-weight: bold;
  margin-bottom: 1.5em;
  letter-spacing: 0.1em;
  line-height: 1.5;
}
@media screen and (max-width: 501px) {
  .p-archives__main .detail_sec h3 {
    padding: 20px 16px;
    font-size: 1.6rem;
  }
}
.p-archives__main .detail_sec p + h3 {
  margin-top: 3em;
}
@media screen and (max-width: 501px) {
  .p-archives__main .detail_sec p + h3 {
    margin-top: 2em;
  }
}
.p-archives__main .detail_sec h4 {
  color: #3c9a52;
  border-bottom: solid 2px #dadada;
  /*下に灰色線*/
  font-weight: bold;
  line-height: 1.5;
  padding: 1.5rem;
  margin: 25px 10px 20px 10px;
  font-size: 1.6rem;
  position: relative;
  background: #f7f7f7;
}
.p-archives__main .detail_sec h4::before {
  content: "";
  display: block;
}
.p-archives__main .detail_sec h5 {
  font-size: 1.6rem;
  background: #fff;
  color: #3c9a52;
  padding: 20px 6px;
  border-bottom: 2px solid #3c9a52;
  margin: 25px 10px 20px 10px;
  font-weight: bold;
}
.p-archives__main .detail_sec h6 {
  font-size: 1.6rem;
  background: #fff;
  color: #000;
  padding: 20px 6px;
  border-bottom: 2px solid #000;
  margin: 25px 10px 20px 10px;
  font-weight: bold;
}
.p-archives__main .detail_sec p {
  line-height: 1.8;
  letter-spacing: 0.01em;
  padding-left: 10px;
  padding-right: 10px;
}
.p-archives__main .detail_sec p + p {
  padding-top: 1.8rem;
}
.p-archives__main .detail_sec ul {
  padding: 20px 0;
  margin-left: 15px;
}
.p-archives__main .detail_sec ul li {
  position: relative;
  padding-bottom: 10px;
  padding-left: 12px;
  letter-spacing: 0.01em;
  line-height: 1.6;
}
@media screen and (max-width: 501px) {
  .p-archives__main .detail_sec ul li {
    padding-left: 10px;
    padding-bottom: 14px;
  }
}
.p-archives__main .detail_sec ul li::before {
  content: "";
  display: block;
  position: absolute;
  top: 10px;
  left: 0px;
  border-radius: 1px;
  width: 5px;
  height: 5px;
  background: #3c9a52;
}
@media screen and (max-width: 501px) {
  .p-archives__main .detail_sec ul li::before {
    top: 9px;
  }
}
.p-archives__main .detail_sec a {
  position: relative;
  word-break: break-all;
  display: inline-block;
  transition: 0.3s;
  color: #3c9a52;
}
.p-archives__main .detail_sec a:hover {
  opacity: 1;
}
.p-archives__main .detail_sec a::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: '';
  width: 0;
  height: 1px;
  background-color: #3c9a52;
  transition: 0.3s;
}
.p-archives__main .detail_sec a:hover::after {
  width: 100%;
}
.p-archives__main .detail_sec b, .p-archives__main .detail_sec strong {
  font-weight: bold;
}
.p-archives__main .detail_sec u {
  text-decoration: none;
  border-bottom: 2px solid;
}
.p-archives__main .detail_sec pre {
  overflow-x: scroll;
  margin: 20px 0;
}
.p-archives__main .detail_sec img {
  border: 1px solid #e0dfda;
}
.p-archives__main .detail_sec .detail_sec__img:hover::before {
  box-shadow: inset 0 0 0 4px #e0dfda;
}
.p-archives__main .detail_sec .detail_sec__img::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transition: all 0.3s ease;
}
.p-archives__main .detail_sec .detail_sec__img::after {
  display: none;
}
.p-archives__main .archive_sec .tile, .p-archives__main .search_sec .tile {
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  padding: 30px 0;
  border-bottom: solid 1px #e5e5e5;
}
@media screen and (max-width: 768px) {
  .p-archives__main .archive_sec .tile, .p-archives__main .search_sec .tile {
    flex-wrap: wrap;
    padding: 2%;
  }
}
.p-archives__main .archive_sec .tile:first-of-type, .p-archives__main .search_sec .tile:first-of-type {
  border-top: solid 1px #e5e5e5;
}
.p-archives__main .archive_sec .tile a, .p-archives__main .search_sec .tile a {
  flex: 0 0 auto;
}
@media screen and (max-width: 768px) {
  .p-archives__main .archive_sec .tile a, .p-archives__main .search_sec .tile a {
    width: 100%;
  }
}
.p-archives__main .archive_sec .tile a img, .p-archives__main .search_sec .tile a img {
  transition-duration: 0.3s;
}
.p-archives__main .archive_sec .tile a:hover img, .p-archives__main .search_sec .tile a:hover img {
  transform: scale(1.1);
  transition-duration: 0.3s;
}
.p-archives__main .archive_sec .tile__image, .p-archives__main .search_sec .tile__image {
  width: 215px;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .p-archives__main .archive_sec .tile__image, .p-archives__main .search_sec .tile__image {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .p-archives__main .archive_sec .tile__image a, .p-archives__main .search_sec .tile__image a {
    width: 100%;
  }
}
.p-archives__main .archive_sec .tile__box, .p-archives__main .search_sec .tile__box {
  padding-left: 2%;
}
@media screen and (max-width: 768px) {
  .p-archives__main .archive_sec .tile__box, .p-archives__main .search_sec .tile__box {
    padding: 10px 0 0;
  }
}
.p-archives__main .archive_sec .tile__date span, .p-archives__main .search_sec .tile__date span {
  display: inline;
  padding-right: 5px;
  font-size: 1.2rem;
  color: #3c9a52;
}
.p-archives__main .archive_sec .tile__title, .p-archives__main .search_sec .tile__title {
  font-size: 1.9rem;
  margin-bottom: 6px;
}
.p-archives__main .archive_sec .tile__excerpt p, .p-archives__main .search_sec .tile__excerpt p {
  margin: auto;
  line-height: 1.5;
}
.p-archives__main .archive_sec .tile__tag, .p-archives__main .search_sec .tile__tag {
  padding: 15px 0 0;
  float: left;
}
@media screen and (max-width: 768px) {
  .p-archives__main .archive_sec .tile__tag, .p-archives__main .search_sec .tile__tag {
    padding-bottom: 5px;
  }
}
.p-archives__main .archive_sec .tile__tag .cat, .p-archives__main .search_sec .tile__tag .cat {
  display: inline-block;
  background: #00b4ed;
}
.p-archives__main .archive_sec .tile__tag .cat.news_cat, .p-archives__main .search_sec .tile__tag .cat.news_cat {
  background: #fe6762;
}
.p-archives__main .column_area {
  padding: 60px 0;
}
.p-archives__main .column_area .inner {
  display: block;
}
.p-archives__main .column_area .inner h2 {
  font-size: 3.2rem;
  color: #00b4ed;
  text-align: center;
  margin-bottom: 40px;
}
.p-archives__main .message {
  padding-top: 30px;
  font-size: 18px;
  font-weight: bold;
}
.p-archives .archive_sec__window {
  background: #fafafa;
  padding: 20px;
  margin-bottom: 20px;
}
.p-archives .archive_sec__window h4, .p-archives .archive_sec__window h1 {
  font-size: 1.8rem;
}
.p-archives .archive_sec__window h4 span, .p-archives .archive_sec__window h1 span {
  font-size: 140%;
  color: #2c7956;
  font-weight: 600;
  padding-left: 4px;
  letter-spacing: 0.1em;
}
.p-archives__side {
  width: 360px;
}
@media screen and (max-width: 501px) {
  .p-archives__side {
    width: calc(100% + 40px);
    position: relative;
    right: -20px;
    left: -20px;
  }
}
.p-archives__side .p-archives__side__wrap {
  position: sticky;
  top: 200px;
  background: #fafafa;
  padding: 50px 40px;
}
@media screen and (max-width: 501px) {
}
.p-archives__side .p-archives__side__wrap .o_c_title__l {
  position: static;
  padding-bottom: 26px;
}
.p-archives__side .p-archives__side__wrap .o_c_title__en {
  font-size: 2.7rem;
  letter-spacing: 0.14em;
}
.p-archives__side .p-archives__side__wrap .o_c_title__ja {
  font-size: 1.3rem;
  padding-top: 5px;
  letter-spacing: 0.12em;
}
.p-archives__side .p-archives__side__wrap dl + dl {
  padding-top: 30px;
}
.p-archives__side .p-archives__side__wrap li {
  border-top: 1px solid #d2d2d2;
  display: flex;
  align-items: center;
  font-size: 1.3rem;
  width: 100%;
  padding: 15px 5px;
  position: relative;
  line-height: 1.5;
}
.p-archives__side .p-archives__side__wrap li:last-child {
  border-bottom: 1px solid #d2d2d2;
}
.p-archives__side .p-archives__side__wrap li a:hover {
  color: #3c9a52;
  opacity: 1;
}
.p-archives__side .p-archives__side__wrap__pickup figure {
  margin: 0 0 10px 0;
}
.p-archives__side .p-archives__side__wrap__ranking li {
  padding: 15px 0;
}
.p-archives__side .p-archives__side__wrap__ranking a {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
.p-archives__side .p-archives__side__wrap__ranking .rank {
  background-color: #989898;
  width: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 1px;
}
.p-archives__side .p-archives__side__wrap__ranking .rank span {
  font-size: 1.2rem;
  color: #fff;
  font-weight: bold;
}
.p-archives__side .p-archives__side__wrap__ranking .img_area {
  overflow: hidden;
  position: relative;
  width: 80px;
}
@media screen and (max-width: 501px) {
  .p-archives__side .p-archives__side__wrap__ranking .img_area {
    width: 30%;
  }
}
.p-archives__side .p-archives__side__wrap__ranking .img_area::before {
  content: "";
  display: block;
  padding-top: 80%;
  /* 高さを幅の75%に固定 */
}
.p-archives__side .p-archives__side__wrap__ranking .img_area img {
  object-fit: cover;
  font-family: 'object-fit: cover;';
  /*IE対策*/
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: auto;
  height: 100%;
}
.p-archives__side .p-archives__side__wrap__ranking section {
  width: calc(100% - 100px);
  background: none;
  padding: 8px 10px;
  position: relative;
}
@media screen and (max-width: 501px) {
  .p-archives__side .p-archives__side__wrap__ranking section {
    width: calc(90% - 97px);
  }
}
.p-archives__side .p-archives__side__wrap__ranking section h3 {
  margin-bottom: 5px;
  font-size: 1.2rem;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 501px) {
  .p-archives__side .p-archives__side__wrap__ranking section h3 {
    font-size: 1.3rem;
  }
}
.p-archives__side .p-archives__side__wrap__ranking section p {
  font-size: 1.1rem;
  color: #989898;
  text-align: right;
  position: absolute;
  right: 0;
}
@media screen and (max-width: 501px) {
  .p-archives__side .p-archives__side__wrap__ranking section p {
    bottom: 0;
  }
}
.p-archives__side .p-archives__side__wrap .popular_list li:nth-of-type(1) a .rank {
  background-color: #988665;
}
.p-archives__side .p-archives__side__wrap .popular_list li :nth-of-type(2) a .rank {
  background-color: #b2b2b2;
}
.p-archives__side .p-archives__side__wrap .popular_list li:nth-of-type(3) a .rank {
  background-color: #a67965;
}
.p-archives__side .p-archives__side__wrap .popular_list li:last-of-type {
  border-bottom: none;
}
.p-archives__side .banner {
  margin-bottom: 50px;
}
.p-archives__recommend {
  border-top: 1px solid #d2d2d2;
  padding: 70px 0 80px 0;
  margin-top: 80px;
  background: #f5f5f5;
}
@media screen and (max-width: 501px) {
  .p-archives__recommend {
    margin-top: 0;
  }
}
.p-archives__recommend .l_wrap .p-archives__recommend__wrap {
  display: flex;
  justify-content: space-between;
  padding: 30px 0 0 0;
}
@media screen and (max-width: 501px) {
  .p-archives__recommend .l_wrap .p-archives__recommend__wrap {
    display: block;
  }
}
.p-archives__recommend .l_wrap .p-archives__recommend__wrap .col_box {
  width: calc((100% - 100px) / 4);
}
@media screen and (max-width: 501px) {
  .p-archives__recommend .l_wrap .p-archives__recommend__wrap .col_box {
    width: 90%;
  }
}
.p-archives__recommend .l_wrap .p-archives__recommend__wrap .col_box figure {
  border-radius: 4px;
  width: 100%;
  position: relative;
  overflow: hidden;
  background: url(../img/noimg.png) no-repeat center /cover;
}
.p-archives__recommend .l_wrap .p-archives__recommend__wrap .col_box figure::before {
  content: "";
  display: block;
  padding-top: 75%;
}
.p-archives__recommend .l_wrap .p-archives__recommend__wrap .col_box figure img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  max-width: inherit;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}
.p-archives__recommend .l_wrap .p-archives__recommend__wrap .col_box .info_box {
  padding: 30px 20px 20px;
}
.p-archives__recommend .l_wrap .p-archives__recommend__wrap .col_box h3 {
  font-size: 1.4rem;
  line-height: 1.8;
  letter-spacing: 0.03em;
  font-weight: bold;
}
.p-archives__recommend .l_wrap .p-archives__recommend__wrap .col_box .content {
  font-size: 1.2rem;
  line-height: 1.7;
  text-align: justify;
  padding: 8px 0 0 0;
  opacity: 0.5;
}
.p-archives__recommend .l_wrap .p-archives__recommend__wrap .col_box .date {
  color: #3c9a52;
  font-weight: bold;
}
.p-archives__recommend .l_wrap .p-archives__recommend__wrap .col_box .cat {
  position: absolute;
  top: 0;
  right: 0;
  display: inline-block;
  padding: 5px 15px 7px;
  color: #fff;
  font-size: 1.4rem;
  font-weight: bold;
  background: #018c49;
  border-radius: 2px;
}
.p-archives__recommend .o_c_title__en {
  font-size: 3.2rem;
}
.p-archives__recommend .o_c_title__ja {
  font-size: 1.6rem;
}
.p-archives__recommend .o_c_btn-square__w {
  margin: auto;
  padding-top: 20px;
}
#news .inner .rpa_area h2.column_tit {
  padding: 0 33%;
}
.pagenavi {
  display: block;
  width: 100%;
  margin: auto;
  padding: 3% 0;
  position: relative;
  text-align: center;
  /*
   p {
   background: #f0f0f0;
   color: #808080;
   padding: 0;
   margin: 0 5px;
   span {
   text-decoration: none;
   border: 1px solid #BFBFBF;
   margin: 2px;
   }
   }
   */
}
.pagenavi .wp-pagenavi {
  display: flex;
  justify-content: center;
}
.pagenavi .wp-pagenavi span.current, .pagenavi .wp-pagenavi a {
  width: 25px;
  text-align: center;
  vertical-align: middle;
  height: 25px;
  display: block;
}
.pagenavi .wp-pagenavi span.pages {
  display: block;
  color: #fff;
  background: #3c9a52;
  border: none;
}
.pagenavi .wp-pagenavi span.current {
  display: block;
  background: #3c9a52;
  color: #efefef;
  border-color: #3c9a52;
}
.p-search {
  margin: auto;
  width: 90%;
  padding: 20px 0 100px;
  line-height: 1.6;
}