@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;600;700&family=Noto+Serif+JP:wght@400;500&display=swap");
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-style: normal;
  vertical-align: baseline;
  background: transparent;
  font-weight: normal;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

html {
  overflow-y: scroll;
}

blockquote, q {
  quotes: none;
}

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

input, textarea {
  margin: 0;
  padding: 0;
}

ol, ul, li {
  list-style: none;
}

img {
  vertical-align: middle;
}

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

caption, th {
  text-align: left;
}

a:focus {
  outline: none;
}

strong {
  font-weight: bold;
}

* {
  box-sizing: border-box;
}

.clearfix::after {
  content: "";
  display: block;
  clear: both;
}

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

body {
  line-height: 1.6em;
  font-size: 1.8rem;
  font-family: "Helvetica", "Noto Sans JP", sans-serif;
  font-weight: 400;
  color: #444;
  -webkit-text-size-adjust: 100%;
  letter-spacing: 0.01em;
  /*font-feature-settings: "palt";*/
  background: #fff;
  overflow: hidden;
}
@media screen and (max-width: 1366px) {
  body {
    font-size: 1.8rem;
  }
}

a {
  color: #444;
}

a:link,
a:visited {
  color: #444;
  text-decoration: none;
  transition: all 0.2s linear;
}

a:hover,
a:active {
  color: #444;
  text-decoration: none;
}

*::selection {
  background: #97cbe2;
}

*::-moz-selection {
  background: #97cbe2;
}

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

img[src$=".svg"],
img[src$=".svgz"] {
  max-width: 100%;
  height: auto;
}

/*  layout -------------------------------*/
.content_3column_wrap {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -20px;
}
@media screen and (max-width: 1023px) {
  .content_3column_wrap {
    margin: 0;
  }
}
.content_3column_wrap .content_3column {
  position: relative;
  width: calc(33.3333333333% - 40px);
  margin: 0 20px;
}
.content_3column_wrap .content_3column:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 1023px) {
  .content_3column_wrap .content_3column {
    width: 100%;
    margin: 0 0 30px;
  }
}

.content_4column_wrap {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -15px;
}
@media screen and (max-width: 1023px) {
  .content_4column_wrap {
    margin: 0 -10px;
  }
}
.content_4column_wrap .content_4column {
  position: relative;
  width: calc(25% - 30px);
  margin: 0 15px;
}
@media screen and (max-width: 1023px) {
  .content_4column_wrap .content_4column {
    width: calc(50% - 20px);
    margin: 0 10px 20px;
  }
}

.content_2column_wrap {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -32px;
}
@media screen and (max-width: 1023px) {
  .content_2column_wrap {
    margin: 0;
  }
}
.content_2column_wrap .content_2column {
  position: relative;
  width: calc(50% - 64px);
  margin: 10px 32px;
}
@media screen and (max-width: 1023px) {
  .content_2column_wrap .content_2column {
    width: 100%;
    margin: 0 0 50px;
  }
}
@media screen and (max-width: 1023px) {
  .content_2column_wrap .content_2column:last-child {
    margin: 0;
  }
}

/* header ---------------------------- */
.container_header {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 140px;
  background: rgba(255, 255, 255, 0.8);
}
@media screen and (max-width: 1366px) {
  .container_header {
    height: 100px;
  }
}

.logo_header {
  padding: 20px 20px 15px 35px;
}
@media screen and (max-width: 1366px) {
  .logo_header {
    padding: 8px 20px;
  }
}
.logo_header img {
  max-width: 228px;
}
@media screen and (max-width: 1366px) {
  .global_nav {
    z-index: 100;
    position: fixed;
    right: -100%;
    top: 0;
    width: 100%;
    height: 100vh;
    transition: ease 0.4s;
    overflow-y: scroll;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    background: linear-gradient(180deg, #21954d, #8cb808);
  }
}
.global_nav.global_nav_on {
  right: 0;
}
@media screen and (max-width: 1366px) {
  .global_nav .global_nav_wrap {
    display: flex;
    flex-wrap: wrap;
    padding: 50px 40px 50px 40px;
  }
}
.global_nav .menu_1st_layyer {
  display: flex;
  justify-content: flex-end;
  position: relative;
  padding: 15px 20px;
}
@media screen and (max-width: 1366px) {
  .global_nav .menu_1st_layyer {
    display: block;
    margin: 0;
    order: 1;
    width: 100%;
  }
}
.global_nav .menu_1st_layyer li {
  position: relative;
  padding: 0 0.9em;
}
@media screen and (max-width: 1366px) {
  .global_nav .menu_1st_layyer li {
    padding: 0;
    display: block;
  }
}
.global_nav .menu_1st_layyer li a, .global_nav .menu_1st_layyer li span {
  position: relative;
  font-size: 1.4rem;
}
@media screen and (max-width: 1366px) {
  .global_nav .menu_1st_layyer li a, .global_nav .menu_1st_layyer li span {
    color: #fff;
    position: relative;
    display: inline-block;
    transition: all 0.2s linear;
    line-height: 2.5em;
    font-size: 1.4rem;
  }
}
.global_nav .menu_1st_layyer li a:after, .global_nav .menu_1st_layyer li span:after {
  transition: all 0.2s linear;
  position: absolute;
  bottom: -10px;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  background: transparent;
}
@media screen and (max-width: 1366px) {
  .global_nav .menu_1st_layyer li a:after, .global_nav .menu_1st_layyer li span:after {
    display: none;
  }
}
.global_nav .menu_1st_layyer li a:hover, .global_nav .menu_1st_layyer li span:hover {
  color: #8CB808;
  transition: all 0.2s linear;
}
@media screen and (max-width: 1366px) {
  .global_nav .menu_1st_layyer li a:hover, .global_nav .menu_1st_layyer li span:hover {
    color: #fff;
    opacity: 0.7;
  }
}
.global_nav .menu_1st_layyer li a:hover:after, .global_nav .menu_1st_layyer li span:hover:after {
  background: #8CB808;
}

.global_nav.active {
  transform: translateX(0);
}

/* Hamburger Bottom */
#trigger_nav {
  display: none;
  cursor: pointer;
  position: fixed;
  top: 35px;
  right: 23px;
  z-index: 110;
}
@media screen and (max-width: 1366px) {
  #trigger_nav {
    display: block;
  }
}

.menu-trigger span, .menu-trigger {
  display: inline-block;
  transition: all 0.4s;
}

.menu-trigger {
  position: relative;
  width: 23px;
  height: 14px;
}
.menu-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #8CB808;
}
.menu-trigger span:nth-of-type(1) {
  top: 0;
}
.menu-trigger span:nth-of-type(2) {
  top: 6px;
}
.menu-trigger span:nth-of-type(2):after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 2px;
  border-radius: 5px;
  background-color: #8CB808;
  transition: all 0.4s;
}
.menu-trigger span:nth-of-type(3) {
  bottom: 0;
}

#trigger_nav.active .menu-trigger span:nth-of-type(1) {
  transform: scale(0);
  transform: translate(50%) scale(0);
}
#trigger_nav.active .menu-trigger span:nth-of-type(2) {
  transform: rotate(45deg);
  background: #fff;
}
#trigger_nav.active .menu-trigger span:nth-of-type(2):after {
  transform: rotate(90deg);
  background: #fff;
}
#trigger_nav.active .menu-trigger span:nth-of-type(3) {
  transform: scale(0);
  transform: translate(-50%) scale(0);
}

@media screen and (max-width: 1366px) {
  .fixed {
    width: 100%;
    height: 100vh;
    overflow: hidden;
  }
}

/* contents ---------------------------- */
.content_wrap {
  position: relative;
}
.section_default {
  max-width: calc(1000px + 2vw);
  width: 100%;
  margin: 0 auto;
  padding: 80px 2vw;
}
@media screen and (max-width: 1023px) {
  .section_default {
    padding: 50px 20px;
  }
}

.section_default_w100 {
  width: 100%;
  margin: 0 auto;
  padding: 80px 0;
}
@media screen and (max-width: 1023px) {
  .section_default_w100 {
    padding: 50px 20px;
  }
}

/* footer ---------------------------- */
.content_bg_image {
  text-align: center;
  position: relative;
}
.content_bg_image:after {
  position: absolute;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.4);
  width: 100%;
  height: 100%;
  z-index: 1;
  content: " ";
}
.content_bg_image.contact_wrap {
  background: url(/img/common/bg_contact.jpg) top left/cover no-repeat;
}
.content_bg_image.trial_wrap {
  background: url(/img/common/bg_trial.jpg) top left/cover no-repeat;
}
.content_bg_image .section_default {
  position: relative;
  z-index: 3;
}

.content_links {
  background: #050506;
  display: flex;
  padding: 30px 15px;
}
@media screen and (max-width: 1023px) {
  .content_links {
    display: block;
    padding: 1px 20px;
  }
}
.content_links .links {
  display: block;
  overflow: hidden;
  position: relative;
  width: calc(33.3333333333% - 30px);
  margin: 0 15px;
}
@media screen and (max-width: 1023px) {
  .content_links .links {
    width: 100%;
    margin: 20px 0;
  }
}
.content_links .links:after {
  position: absolute;
  content: " ";
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  transition: all 0.3s ease-out;
  z-index: 1;
}
.content_links .links:before {
  position: absolute;
  content: " ";
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.6);
  z-index: 2;
}
.content_links .links:hover:after {
  transform: scale(1.1);
}
.content_links .links.links_servise:after {
  background: url(/img/common/bg_link_service.jpg) top left/cover no-repeat;
}
.content_links .links.links_plan:after {
  background: url(/img/common/bg_link_plan.jpg) top left/cover no-repeat;
}
.content_links .links.links_team:after {
  background: url(/img/common/bg_link_team.jpg) top left/cover no-repeat;
}
.content_links .links .links_inner {
  height: 100%;
  position: relative;
  padding: 50px 10px 73px;
}
@media screen and (max-width: 1366px) {
  .content_links .links .links_inner {
    padding: 50px 10px 44px;
  }
}
.content_links .links .links_inner:after {
  position: absolute;
  content: " ";
  display: block;
  width: 100%;
  height: 73px;
  bottom: 0;
  left: 0;
  z-index: 4;
  background: rgba(140, 184, 4, 0.8);
  transition: all 0.3s ease-out;
}
@media screen and (max-width: 1366px) {
  .content_links .links .links_inner:after {
    height: 44px;
  }
}
.content_links .links .links_inner:before {
  position: absolute;
  content: " ";
  display: block;
  width: 30px;
  height: 30px;
  bottom: 22px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 5;
  background: url(/img/common/icon_arrow_wht.svg) center center/30px 30px no-repeat;
}
@media screen and (max-width: 1366px) {
  .content_links .links .links_inner:before {
    bottom: 8px;
    background: url(/img/common/icon_arrow_wht.svg) center center/17px 17px no-repeat;
  }
}
.content_links .links:hover .links_inner:after {
  background: rgba(140, 184, 4, 0.9);
}
.content_links .links .ttl_content {
  z-index: 3;
}
@media screen and (max-width: 1366px) {
  .content_links .links .ttl_content {
    font-size: 3.1rem;
    padding-bottom: 30px;
  }
}
@media screen and (max-width: 1366px) {
  .content_links .links .ttl_content span {
    font-size: 1rem;
  }
}
@media screen and (max-width: 1366px) {
  .content_links .links .ttl_content:before {
    height: 23px;
  }
}

.footer_nav_wrap {
  background: #D3D3D3;
  padding: 50px 2vw;
}
@media screen and (max-width: 1023px) {
  .footer_nav_wrap {
    padding: 50px 30px;
  }
}
.footer_nav_wrap .footer_logo {
  text-align: center;
  margin-bottom: 50px;
}

.address_nav_wrap {
  max-width: calc(1000px + 2vw);
  width: 100%;
  margin: 0 auto;
  display: flex;
}
@media screen and (max-width: 1023px) {
  .address_nav_wrap {
    display: block;
  }
}
.address_nav_wrap .address {
  width: 50%;
}
@media screen and (max-width: 1023px) {
  .address_nav_wrap .address {
    width: 100%;
  }
}
.address_nav_wrap .link_sns {
  display: table;
  margin-bottom: 20px;
}
@media screen and (max-width: 1023px) {
  .address_nav_wrap .link_sns {
    text-align: center;
    display: block;
  }
}
.address_nav_wrap .link_sns a {
  display: table-cell;
  vertical-align: top;
  padding-right: 10px;
}
@media screen and (max-width: 1023px) {
  .address_nav_wrap .link_sns a {
    display: inline-block;
  }
}
@media screen and (max-width: 1023px) {
  .address_nav_wrap .address_name {
    margin-bottom: 30px;
  }
}
.address_nav_wrap .address_name .name {
  margin-bottom: 0.5em;
}
.address_nav_wrap .address_name address {
  line-height: 1.4em;
  font-size: 1.2rem;
  padding-left: 30px;
  background: url(/img/common/icon_map-pin.svg) center left/13px 16px no-repeat;
}
@media screen and (max-width: 1023px) {
  .address_nav_wrap .address_name address {
    font-size: 1.4rem;
  }
}
.address_nav_wrap .address_name a {
  line-height: 1.4em;
  display: block;
  font-size: 1.4rem;
  padding-left: 30px;
  background: url(/img/common/icon_phone-forwarded.svg) center left/13px 13px no-repeat;
}
@media screen and (max-width: 1023px) {
  .address_nav_wrap .address_name a {
    font-size: 1.4rem;
  }
}
.address_nav_wrap .footer_nav {
  width: 50%;
  display: flex;
}
@media screen and (max-width: 1023px) {
  .address_nav_wrap .footer_nav {
    width: 100%;
    display: block;
  }
}
.address_nav_wrap .footer_nav ul {
  width: 50%;
}
@media screen and (max-width: 1023px) {
  .address_nav_wrap .footer_nav ul {
    width: 100%;
  }
}
.address_nav_wrap .footer_nav ul li {
  padding: 5px 0;
}
.address_nav_wrap .footer_nav ul li a {
  line-height: 1.4em;
  font-size: 1.6rem;
  display: inline-block;
  padding-left: 10px;
  border-left: 2px solid #8CB808;
}
@media screen and (max-width: 1023px) {
  .address_nav_wrap .footer_nav ul li a {
    font-size: 1.8rem;
  }
}

.copyright_other {
  display: flex;
  justify-content: space-between;
  max-width: calc(1000px + 2vw);
  width: 100%;
  margin: 0 auto;
  padding: 10px 2vw;
  font-size: 1.3rem;
}
@media screen and (max-width: 1023px) {
  .copyright_other {
    display: block;
    text-align: center;
    padding: 10px 2vw 83px;
  }
}

.other_links {
  order: 2;
}
.other_links a {
  display: inline-block;
  margin-left: 30px;
}
@media screen and (max-width: 1023px) {
  .other_links a {
    margin: 0 10px;
  }
}

.copyright {
  order: 1;
}

#page_top {
  transform: translate(0, 20px);
  position: fixed;
  right: 10px;
  bottom: 30px;
  z-index: 99;
  background: #ACE500;
  width: 45px;
  height: 45px;
  cursor: pointer;
  border-radius: 25px;
  transition: all, 0.2s, linear;
}
#page_top:before {
  top: 19px;
  right: 0;
  left: 0;
  position: absolute;
  content: " ";
  display: block;
  width: 10px;
  height: 10px;
  margin: 0 auto;
  border-top: solid 2px #fff;
  border-left: solid 2px #fff;
  transition: all, 0.2s, linear;
  transform: rotate(45deg);
}

a.fixed_banner {
  padding: 30px 15px;
  z-index: 10;
  position: fixed;
  bottom: 20px;
  right: 20px;
  height: 132px;
  width: 132px;
  text-align: center;
  letter-spacing: -0.1em;
  line-height: 1.2em;
  font-size: 1.4rem;
  color: #fff;
  color: #fff;
  background: url(/img/common/bg_btnfixed.svg) center center/132px 132px no-repeat;
}
@media screen and (max-width: 1023px) {
  a.fixed_banner {
    bottom: 0;
    right: auto;
    left: 0;
    width: 100%;
    height: 73px;
    line-height: 73px;
    padding: 0 5px 0 35px;
    text-align: center;
    font-size: 1.6rem;
    color: #fff;
    transition: all 0.2s linear;
    border-radius: 0;
    background-image: url(/img/common/icon_arrow_wht.svg), linear-gradient(180deg, rgba(33, 149, 77, 0.9), rgba(140, 184, 8, 0.9));
    background-position: center left, top left;
    background-size: 30px 30px, cover;
    background-repeat: no-repeat, repeat;
  }
}
a.fixed_banner:before {
  transition: all 0.2s linear;
  content: " ";
  position: absolute;
  bottom: 15px;
  left: 50%;
  transform: translateX(-50%);
  width: 22px;
  height: 22px;
  background: url(/img/common/icon_arrow_wht.svg) center center/22px 22px no-repeat;
}
@media screen and (max-width: 1023px) {
  a.fixed_banner:before {
    display: none;
  }
}
@media screen and (max-width: 1023px) {
  a.fixed_banner:hover {
    background-image: url(/img/common/icon_arrow_wht_hover.svg), linear-gradient(180deg, rgba(33, 149, 77, 0.9), rgba(140, 184, 8, 0.9));
    background-size: 36px 30px, cover;
  }
}
a.fixed_banner:hover:before {
  left: 55%;
  transform: translateX(-50%);
}
a.fixed_banner span {
  display: block;
  font-size: 2rem;
  color: #D3FF50;
  margin-bottom: 5px;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1023px) {
  a.fixed_banner span {
    display: inline-block;
  }
}

.bg_gray {
  background: #BCBFBA;
}

a.link_text {
  color: #fff;
}
a.link_text:hover {
  opacity: 0.7;
}

.btn_wrap {
  text-align: center;
}

a.btn_default,
input.btn_default,
.submit input.btn_default,
button.btn_default {
  position: relative;
  cursor: pointer;
  display: inline-block;
  width: 160px;
  height: 38px;
  line-height: 38px;
  padding: 0 10px;
  text-align: center;
  font-size: 1.4rem;
  color: #8CB808;
  transition: all 0.2s linear;
  border-radius: 4px;
  background: url(/img/common/icon_arrow_green.svg) center left/25px 25px no-repeat;
  border: solid 1px #8CB808;
}
a.btn_default:hover,
input.btn_default:hover,
.submit input.btn_default:hover,
button.btn_default:hover {
  color: #ACE500;
  border: solid 1px #ACE500;
  background: url(/img/common/icon_arrow_green_hover.svg) center left/28px 25px no-repeat #fff;
}

.page_nav_wrap {
  display: flex;
  text-align: center;
  justify-content: center;
  flex-wrap: wrap;
  margin: 100px 0 0;
}
@media screen and (max-width: 1023px) {
  .page_nav_wrap {
    margin: 50px 0 0;
  }
}
.page_nav_wrap .page_nav:nth-of-type(1) {
  order: 2;
}
@media screen and (max-width: 1023px) {
  .page_nav_wrap .page_nav:nth-of-type(1) {
    width: 100%;
    margin-bottom: 10px;
  }
}
.page_nav_wrap .page_nav:nth-of-type(2) {
  order: 1;
}
@media screen and (max-width: 1023px) {
  .page_nav_wrap .page_nav:nth-of-type(2) {
    order: 2;
  }
}
.page_nav_wrap .page_nav:nth-of-type(3) {
  order: 3;
}
@media screen and (max-width: 1023px) {
  .page_nav_wrap .page_nav:nth-of-type(3) {
    order: 3;
  }
}

a.link_pagea_nav {
  position: relative;
  cursor: pointer;
  display: inline-block;
  margin: 0 5px;
  width: 160px;
  height: 38px;
  line-height: 38px;
  padding: 0 10px;
  text-align: center;
  font-size: 1.4rem;
  color: #8CB808;
  transition: all 0.2s linear;
  border-radius: 4px;
  border: solid 1px #8CB808;
}
a.link_pagea_nav.next {
  background: url(/img/common/icon_arrow_green.svg) center left/25px 25px no-repeat;
}
a.link_pagea_nav.next:hover {
  background: url(/img/common/icon_arrow_green_hover.svg) center left/28px 25px no-repeat #fff;
}
a.link_pagea_nav.prev {
  background: url(/img/common/icon_arrow_green_left.svg) center right/25px 25px no-repeat;
}
a.link_pagea_nav.prev:hover {
  background: url(/img/common/icon_arrow_green_left_hover.svg) center right/28px 25px no-repeat #fff;
}
a.link_pagea_nav:hover {
  color: #ACE500;
  border: solid 1px #ACE500;
}

button.btn_gradation_square,
a.btn_gradation_square {
  position: relative;
  cursor: pointer;
  display: inline-block;
  width: 100%;
  height: 73px;
  line-height: 73px;
  max-width: 400px;
  padding: 0 10px;
  text-align: center;
  font-size: 2.2rem;
  color: #fff;
  border: none;
  transition: all 0.2s linear;
  border-radius: 3px;
  background-image: url(/img/common/icon_arrow_wht.svg), linear-gradient(180deg, rgba(33, 149, 77, 0.9), rgba(140, 184, 8, 0.9));
  background-position: center left, top left;
  background-size: 30px 30px, cover;
  background-repeat: no-repeat, repeat;
}
@media screen and (max-width: 1023px) {
  button.btn_gradation_square,
a.btn_gradation_square {
    font-size: 1.7rem;
    height: 50px;
    line-height: 50px;
  }
}
button.btn_gradation_square:hover,
a.btn_gradation_square:hover {
  background-image: url(/img/common/icon_arrow_wht_hover.svg), linear-gradient(180deg, rgba(33, 149, 77, 0.9), rgba(140, 184, 8, 0.9));
  background-size: 36px 30px, cover;
}

.play_mpvie_wrap {
  text-align: center;
  margin: 50px 2vw 0;
}

a.play_mpvie {
  position: relative;
  cursor: pointer;
  display: inline-block;
  width: 100%;
  height: 80px;
  line-height: 80px;
  max-width: 250px;
  padding: 0 10px;
  text-align: center;
  font-size: 1.8rem;
  font-weight: 700;
  color: #fff;
  transition: all 0.2s linear;
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(33, 149, 77, 0.9), rgba(140, 184, 8, 0.9));
}
@media screen and (max-width: 1023px) {
  a.play_mpvie {
    font-size: 2rem;
    height: 50px;
    line-height: 50px;
  }
}
a.play_mpvie span {
  display: inline-block;
  padding-left: 40px;
  background: url(/img/common/icon_youtube_play.svg) center left/30px 22px no-repeat;
}
a.play_mpvie:hover {
  opacity: 0.8;
}

/* hx */
.ttl_page {
  display: inline-block;
  text-align: center;
  color: #fff;
  font-size: 8rem;
  font-weight: 300;
  line-height: 1em;
}
@media screen and (max-width: 1023px) {
  .ttl_page {
    font-size: 4rem;
    display: block;
  }
}
.ttl_page .ja {
  line-height: 1em;
  display: block;
  font-size: 2.4rem;
  font-weight: 400;
}
@media screen and (max-width: 1023px) {
  .ttl_page .ja {
    font-size: 2rem;
    margin-top: 15px;
  }
}

.ttl_content {
  position: relative;
  text-align: center;
  font-size: 5.5rem;
  color: #8CB808;
  font-weight: 300;
  line-height: 1em;
  padding-bottom: 40px;
  letter-spacing: 0.05em;
}
.ttl_content:before {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 1px;
  height: 40px;
  background: #8CB808;
  content: " ";
}
.ttl_content span {
  letter-spacing: 0.01em;
  margin-bottom: 10px;
  line-height: 1em;
  font-weight: 400;
  display: block;
  color: #93A098;
  font-size: 2.2rem;
}
.ttl_content.ttl_content_white {
  color: #fff;
}
.ttl_content.ttl_content_white span {
  color: #fff;
}

.content_bg_image .ttl_content span,
.content_links .ttl_content span {
  color: #fff;
}

.bg_gray .ttl_content {
  color: #fff;
}
.bg_gray .ttl_content span {
  color: #fff;
}

.title_copy {
  color: #fff;
  margin: 30px 0;
  text-align: center;
}
.title_copy.title_copy_blk {
  color: #444;
}

.ol_default li {
  list-style-type: decimal;
  list-style-position: inside;
  padding-left: 1em;
  text-indent: -1em;
}

.table_default caption {
  padding-left: 0.8em;
  font-size: 2.4rem;
  margin-bottom: 10px;
  font-weight: 500;
}
@media screen and (max-width: 1023px) {
  .table_default caption {
    padding-left: 0.4em;
  }
}
.table_default th,
.table_default td {
  border-top: solid 1px #fff;
  border-bottom: solid 1px #fff;
  padding: 0.4em 0.8em;
}
@media screen and (max-width: 1023px) {
  .table_default th,
.table_default td {
    padding: 0.3em 0.4em;
  }
}
.table_default th {
  white-space: nowrap;
}
.table_default td {
  border-left: solid 1px #fff;
}

.map {
  position: relative;
  padding-bottom: 45%;
  height: 0;
  overflow: hidden;
}
@media screen and (max-width: 1023px) {
  .map {
    padding-bottom: 70%;
  }
}
.map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}

.content_box {
  margin: 50px 0;
}

.paragraph p {
  margin-bottom: 1em;
}
.paragraph p:last-child {
  margin-bottom: 0;
}

label {
  font-size: 1.8rem;
}

input[type=tel],
input[type=text],
input[type=email],
select,
textarea {
  border-radius: 10px;
  -webkit-appearance: none;
  width: 100%;
  padding: 16px;
  font-size: 1.6rem;
  border: solid 1px #ccc;
}
input[type=tel].zipcode,
input[type=text].zipcode,
input[type=email].zipcode,
select.zipcode,
textarea.zipcode {
  width: 200px;
}

select {
  color: #444;
  background: #ACE500;
}
select option {
  color: #444;
}

::placeholder {
  color: #C1C1C1;
  font-size: 1.4rem;
}

.button {
  background: #f1c40f;
  display: inline-block;
  padding: 2rem 4rem;
  margin: 1rem;
  color: black;
  position: relative;
  overflow: hidden;
  transition: all 0.3s linear;
}
.button:before {
  content: "";
  position: absolute;
  right: auto;
  bottom: auto;
  left: -40px;
  top: -40px;
  width: 10px;
  height: 10px;
  background: #222;
  border-radius: 50%;
  transition: all 0.7s linear;
}
.button span {
  position: relative;
}
.button:hover, .button:focus {
  color: white;
}
.button:hover:before, .button:focus:before {
  width: 270px;
  height: 270px;
  opacity: 1;
}

.required {
  background: #ACE500;
  font-size: 1.2rem;
  display: inline-block;
  padding: 0.2em 0.5em;
  border-radius: 10px;
  line-height: 1em;
  margin-left: 10px;
}

.note {
  font-size: 1.6rem;
  line-height: 1.6em;
  padding-left: 0.5em;
  text-indent: -0.5em;
}

.warning {
  color: #444;
}

.txt_underline {
  background: linear-gradient(transparent 50%, #fff1d2 0%);
}

.text_hightlight {
  background: linear-gradient(transparent 0%, rgba(188, 234, 52, 0.6) 0%);
}

.text_hightlight_white {
  background: linear-gradient(transparent 0%, white 0%);
}

.mt10 {
  margin-top: 10px;
}

.mt20 {
  margin-top: 20px;
}

.mt30 {
  margin-top: 30px;
}

.mt50 {
  margin-top: 50px;
}

.mb10 {
  margin-bottom: 10px;
}

.mb20 {
  margin-bottom: 20px;
}

.mb30 {
  margin-bottom: 30px;
}

.mb50 {
  margin-bottom: 50px;
}

.mb100 {
  margin-bottom: 100px;
}

.align_c {
  text-align: center;
}

.align_r {
  text-align: right;
}

.align_l {
  text-align: left;
}

.sp_only {
  display: none;
}
@media screen and (max-width: 1023px) {
  .sp_only {
    display: block;
  }
}

.sp_only_block {
  display: none;
}
@media screen and (max-width: 1023px) {
  .sp_only_block {
    display: block;
  }
}

.tbsp_only {
  display: none;
}
@media screen and (max-width: 1366px) {
  .tbsp_only {
    display: inline-block;
  }
}

.tb_only {
  display: none;
}
@media screen and (max-width: 1366px) {
  .tb_only {
    display: inline-block;
  }
}
@media screen and (max-width: 1366px) and (max-width: 1023px) {
  .tb_only {
    display: none;
  }
}

@media screen and (max-width: 1023px) {
  .pctb_only {
    display: none;
  }
}

@media screen and (max-width: 1366px) {
  .pc_only {
    display: none;
  }
}

.header_page {
  position: relative;
  padding: 90px 2vw;
}
@media screen and (max-width: 1023px) {
  .header_page {
    padding: 40px 2vw;
  }
}
.header_page.header_page_service {
  background: url(/img/hx/hx_service.jpg) center center/cover no-repeat;
}
.header_page.header_page_plan {
  background: url(/img/hx/hx_plan.jpg) center center/cover no-repeat;
}
.header_page.header_page_team {
  background: url(/img/hx/hx_team.jpg) center center/cover no-repeat;
}
.header_page.header_page_contact {
  background: url(/img/hx/hx_contact.jpg) center center/cover no-repeat;
}
.header_page.header_page_column {
  background: url(/img/hx/hx_column.jpg) center center/cover no-repeat;
}
.header_page.header_page_news {
  background: url(/img/hx/hx_news.jpg) center center/cover no-repeat;
}
.header_page.header_page_pp {
  background: url(/img/hx/hx_pp.jpg) center center/cover no-repeat;
}
.header_page.header_page_term {
  background: url(/img/hx/hx_term.jpg) center center/cover no-repeat;
}
.header_page:after {
  z-index: 2;
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, rgba(43, 54, 48, 0.55), rgba(90, 103, 72, 0.55) 30%, rgba(174, 232, 0, 0.55) 90%);
}
.header_page .header_page_inner {
  position: relative;
  z-index: 3;
  margin: 0 auto;
  width: 100%;
  max-width: 1300px;
}

/* top
------------------------------------ */
.slider_wrap {
  position: relative;
}
.slider_wrap .title {
  z-index: 10;
  position: absolute;
  top: 100px;
  left: 0;
  padding-right: 70px;
}
@media screen and (max-width: 1366px) {
  .slider_wrap .title {
    width: 100%;
    top: 20px;
    padding-right: 0;
  }
}
@media screen and (max-width: 1366px) {
  .slider_wrap h1 {
    text-align: center;
  }
}
@media screen and (max-width: 1366px) {
  .slider_wrap h1.title_pc {
    display: none;
  }
}
.slider_wrap h1.title_sp {
  display: none;
}
@media screen and (max-width: 1366px) {
  .slider_wrap h1.title_sp {
    display: block;
  }
}
.slider_wrap h1 span {
  padding: 0 10px 0 100px;
  color: #fff;
  line-height: 1.4em;
  display: inline-block;
  margin-bottom: 0.3em;
  font-size: 3.5rem;
  font-family: "Noto Serif JP", serif;
  background: linear-gradient(90deg, rgba(33, 149, 77, 0.8), rgba(140, 184, 8, 0.8));
}
@media screen and (max-width: 1366px) {
  .slider_wrap h1 span {
    display: block;
    padding: 0 10px;
    margin-bottom: 5;
    font-size: 2.1rem;
  }
}
.slider_wrap .text_wrap {
  margin-top: 30px;
  padding-left: 100px;
  max-width: 850px;
}
@media screen and (max-width: 1366px) {
  .slider_wrap .text_wrap {
    padding: 0 3vw;
    max-width: 800px;
    margin: 15px auto 0;
  }
}
.slider_wrap .text_wrap p {
  font-size: 1.8rem;
}
@media screen and (max-width: 1366px) {
  .slider_wrap .text_wrap p {
    font-size: 1.6rem;
  }
}
.slider_wrap .text_wrap .counseling_training {
  text-align: center;
  margin: 30px 0;
}
@media screen and (max-width: 1366px) {
  .slider_wrap .text_wrap .counseling_training {
    margin: 20px 0 0;
  }
}
@media screen and (max-width: 1366px) {
  .slider_wrap .text_wrap .btn_wrap {
    display: none;
  }
}
.slider_wrap .slick-dots {
  width: 30px;
  right: 3vw;
  top: 50%;
  transform: translateY(-50%);
}
.slider_wrap .slick-dots li:not(:last-child) {
  display: block;
  margin-bottom: 17px;
}
.slider_wrap .slick-dots li:not(:last-child):before {
  width: 1px;
  height: 18px;
  right: -6px;
  top: auto;
  bottom: -27px;
}

.slider_tb img,
.slider_sp img,
.slider img {
  width: 100%;
}

@media screen and (max-width: 1366px) {
  .slider_pc_wrap {
    display: none;
  }
}

.slider_tb_wrap {
  display: none;
}
@media screen and (max-width: 1366px) {
  .slider_tb_wrap {
    display: block;
  }
}
@media screen and (max-width: 1366px) and (max-width: 1023px) {
  .slider_tb_wrap {
    display: none;
  }
}

.slider_sp_wrap {
  display: none;
}
@media screen and (max-width: 1023px) {
  .slider_sp_wrap {
    display: block;
  }
}

.posts_wrap {
  display: flex;
}
@media screen and (max-width: 1023px) {
  .posts_wrap {
    display: block;
  }
}
.posts_wrap .content_post {
  width: 50%;
}
@media screen and (max-width: 1023px) {
  .posts_wrap .content_post {
    width: 100%;
  }
}
.posts_wrap .content_post.content_post_news {
  background: #ECEFED;
}
.posts_wrap .content_post.content_post_column {
  background: #DDDDDD;
}
.posts_wrap .content_post .top_post {
  max-width: 480px;
  width: 100%;
  margin: 0 auto;
  padding: 50px 2vw 80px;
}
@media screen and (max-width: 1023px) {
  .posts_wrap .content_post .top_post {
    padding: 50px 5vw 80px;
  }
}

.post_index_wrap_top {
  margin-bottom: 50px;
}

.post_index {
  width: 100%;
  display: flex;
  background: #F4F6F4;
  margin: 15px 0 0;
  border-radius: 12px;
  overflow: hidden;
}
.post_index .pho {
  width: 100px;
}
.post_index .title {
  padding: 5px 15px 8px;
  width: calc(100% - 100px);
}
.post_index .title time {
  display: inline-block;
  line-height: 1em;
  font-size: 1.4rem;
  color: #8CB808;
}
.post_index .title h3 {
  font-size: 1.8rem;
  line-height: 1.4em;
}

.top_problem {
  position: relative;
  background: #BCBFBA;
  padding: 100px 2vw 50px;
}
@media screen and (max-width: 1023px) {
  .top_problem {
    padding: 100px 5vw 50px;
  }
}
.top_problem:before {
  position: absolute;
  bottom: calc(-8vw + 1px);
  left: 0;
  content: " ";
  background: #BCBFBA;
  height: 8vw;
  width: 100%;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.ttl_top_problem {
  text-align: center;
  color: #444444;
  font-weight: 700;
  font-size: 4rem;
  margin-bottom: 50px;
  line-height: 1.2em;
}
@media screen and (max-width: 1023px) {
  .ttl_top_problem {
    font-size: 3.8rem;
  }
}

.problems {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -20px;
}
@media screen and (max-width: 1023px) {
  .problems {
    display: block;
    margin: 0;
  }
}
.problems .problem {
  text-align: center;
  margin: 0 20px;
  width: calc(25% - 40px);
}
@media screen and (max-width: 1366px) {
  .problems .problem {
    width: calc(50% - 40px);
    margin: 0 20px 40px;
  }
}
@media screen and (max-width: 1366px) and (max-width: 1023px) {
  .problems .problem {
    width: 100%;
    margin: 0 0 40px;
  }
}
.problems .ttl_problems {
  color: #fff;
  font-weight: 500;
  font-size: 2.6rem;
  text-align: center;
}
.problems .ttl_problems span {
  font-size: 1.4rem;
  display: block;
}
.problems .whisper {
  font-size: 1.6rem;
}
.problems .whisper li {
  position: relative;
  margin-bottom: 15px;
}
.problems .whisper li span {
  display: inline-block;
  background: #ACE500;
  border-radius: 10px;
  padding: 0 10px;
}
.problems .whisper li:nth-child(odd) span {
  position: relative;
}
.problems .whisper li:nth-child(odd) span:before {
  position: absolute;
  top: -7px;
  left: 0;
  width: 13px;
  height: 13px;
  content: " ";
  background: url(/img/common/fukiddashi_triangle.svg) top left/contain no-repeat;
}
.problems .whisper li:nth-child(even) span {
  position: relative;
}
.problems .whisper li:nth-child(even) span:before {
  position: absolute;
  top: -7px;
  right: 0;
  width: 13px;
  height: 13px;
  content: " ";
  background: url(/img/common/fukiddashi_triangle02.svg) top left/contain no-repeat;
}

.top_solutions {
  padding: 250px 2vw 30px;
  background-image: url(/img/top/bg_solutions.jpg), url(/img/top/bg_grid.png);
  background-position: top center, top left;
  background-size: contain, 1920px 1821px;
  background-repeat: no-repeat, repeat;
  background-color: #fff;
}
@media screen and (max-width: 1023px) {
  .top_solutions {
    background-image: url(/img/top/bg_solutions_sp.jpg), url(/img/top/bg_grid.png);
    background-size: auto 220vw, 1920px 1821px;
    padding: 70px 0 50px;
  }
}

.solutions .solutions_wrap {
  max-width: 680px;
  margin: 0 auto;
  width: 100%;
}
.solutions .ttl_top_solutions {
  text-align: center;
  margin-bottom: 40px;
}
.solutions .ttl_top_solutions span {
  padding: 2px 5px;
  font-size: 4rem;
  font-weight: 700;
  color: #fff;
  line-height: 1em;
  background-image: linear-gradient(90deg, rgba(33, 149, 77, 0.8), rgba(140, 184, 8, 0.8));
}
@media screen and (max-width: 1023px) {
  .solutions .ttl_top_solutions span {
    font-size: 3rem;
    line-height: 1.6em;
  }
}
.solutions p {
  line-height: 1.4em;
  font-size: 2.6rem;
  color: #fff;
  text-align: center;
  margin-bottom: 40px;
}
@media screen and (max-width: 1023px) {
  .solutions p {
    font-size: 2.3rem;
  }
}
.solutions .effect {
  text-align: center;
  margin-bottom: 20px;
}
.solutions .effect span {
  display: inline-block;
  padding: 10px 18px;
  font-size: 2.4rem;
  font-weight: 700;
  border: solid 1px #fff;
  color: #fff;
}
.solutions .list_effect {
  text-align: center;
}
.solutions .list_effect li {
  display: inline-block;
  font-size: 1.6rem;
  background: #ACE500;
  border-radius: 25px;
  padding: 0 10px;
  color: #fff;
  margin: 8px 5px;
}

.selfcheck_wrap {
  border-radius: 20px 20px 0 0;
  background: #fff;
  max-width: calc(1000px + 2vw);
  width: 100%;
  margin: 50px auto 0;
}
@media screen and (max-width: 1023px) {
  .selfcheck_wrap {
    width: calc(100% - 40px);
    margin: 50px 20px 0;
    padding: 0 10px;
  }
}

.ttl_selfcheck_wrap {
  padding: 20px;
  display: flex;
  align-items: center;
  border-bottom: 1px solid #8CB808;
}
@media screen and (max-width: 1023px) {
  .ttl_selfcheck_wrap {
    padding: 20px 0;
    text-align: center;
    display: block;
  }
}
.ttl_selfcheck_wrap .ttl_selfcheck {
  font-size: 3.7rem;
  padding-left: 20px;
  font-weight: 700;
  line-height: 1.2em;
}
@media screen and (max-width: 1023px) {
  .ttl_selfcheck_wrap .ttl_selfcheck {
    font-size: 3.3rem;
    padding-left: 0;
    text-align: center;
  }
}
.ttl_selfcheck_wrap .ttl_selfcheck span {
  font-size: 2rem;
  color: #8CB808;
  display: block;
}
.ttl_selfcheck_wrap .sec60 {
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .ttl_selfcheck_wrap .sec60 {
    margin-bottom: 25px;
  }
}

@media screen and (max-width: 1023px) {
  .selfcheck60 {
    padding: 0 10px;
  }
}
.selfcheck60 li {
  position: relative;
  display: grid;
  width: 100%;
  grid-template-columns: 160px auto 200px;
  padding: 35px 20px;
  border-bottom: 1px solid #8CB808;
}
@media screen and (max-width: 1023px) {
  .selfcheck60 li {
    display: block;
    text-align: center;
  }
}
.selfcheck60 li .number {
  font-size: 2.4rem;
  position: relative;
  color: #8CB808;
  font-weight: 300;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .selfcheck60 li .number {
    margin-bottom: 20px;
  }
}
.selfcheck60 li .number span {
  font-weight: 300;
  font-size: 4.6rem;
  display: block;
  line-height: 1em;
  margin-top: 3px;
}
.selfcheck60 li .number:after {
  position: absolute;
  bottom: -55px;
  left: 50%;
  transform: translate(-50%, 0) rotate(90deg);
  width: 30px;
  height: 30px;
  content: " ";
  background: url(/img/common/icon_arrow_green.svg) top left/30px 30px no-repeat;
}
@media screen and (max-width: 1023px) {
  .selfcheck60 li .number:after {
    display: none;
  }
}
.selfcheck60 li:last-child .number:after {
  display: none;
}
.selfcheck60 li .title {
  font-size: 2rem;
  padding: 0 20px 0 10px;
}
@media screen and (max-width: 1023px) {
  .selfcheck60 li .title {
    padding: 0;
    margin-bottom: 20px;
  }
}
.result_wrap {
  text-align: center;
  padding-bottom: 20px;
}
.result_wrap .fit {
  margin: 30px 0;
  font-size: 2.4rem;
}
.result_wrap .list_fits {
  width: 100%;
  max-width: 832px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
@media screen and (max-width: 1023px) {
  .result_wrap .list_fits {
    display: block;
  }
}
.result_wrap .list_fits li {
  font-size: 2.4rem;
  width: calc(50% - 20px);
  border-radius: 6px;
  margin: 5px 10px;
  text-align: left;
  padding: 8px 15px 8px 55px;
  background: url(/img/common/icon_checkbox-outline.svg) 15px center/27px 27px no-repeat #FFEB07;
}
@media screen and (max-width: 1023px) {
  .result_wrap .list_fits li {
    width: 100%;
    margin: 5px 0;
    font-size: 1.9rem;
  }
}
.result_wrap .lisk {
  margin-top: 30px;
}
.result_wrap .lisk p {
  font-weight: 700;
  margin-bottom: 20px;
  color: #444;
  font-size: 3.3rem;
}
@media screen and (max-width: 1023px) {
  .result_wrap .lisk p {
    font-size: 2.2rem;
  }
}
.result_wrap .lisk .text_hightlight {
  display: inline-block;
}
@media screen and (max-width: 1023px) {
  .result_wrap .lisk .text_hightlight {
    font-size: 2rem;
  }
}

.section_opinion {
  width: 100%;
  margin: 0 auto;
  padding: 80px 0;
}

.opinion_wrap {
  margin: 40px 0 60px;
}

.opinions {
  position: relative;
  border-radius: 12px;
  background: #8CB808;
  padding: 25px;
  color: #fff;
  margin: 0 20px;
}
@media screen and (max-width: 1023px) {
  .opinions {
    margin: 0 30px;
  }
}
.opinions:after {
  position: absolute;
  right: -30px;
  top: 50%;
  transform: translateY(-50%);
  content: "";
  width: 30px;
  height: 30px;
  background: url(/img/common/icon_arrow_green.svg) center center/30px 30px no-repeat;
}
.opinions p {
  font-size: 1.5rem;
  margin-bottom: 15px;
}
.opinions .user {
  position: relative;
  background: #fff;
  border-radius: 6px;
  padding-left: 80px;
}
.opinions .user .icon {
  z-index: 2;
  position: absolute;
  top: -5px;
  left: 0;
  border-radius: 12px;
  overflow: hidden;
}
.opinions .user .name {
  padding: 0.3em;
  color: #444;
  font-size: 1.6rem;
}

.top_access {
  display: flex;
  align-items: stretch;
}
@media screen and (max-width: 1023px) {
  .top_access {
    display: block;
  }
}
.top_access .text {
  padding: 50px 2vw 80px;
  width: 50%;
  background: #DDDDDD;
}
@media screen and (max-width: 1023px) {
  .top_access .text {
    width: 100%;
    padding: 50px 20px 80px;
  }
}
.top_access .top_access_image_wrap {
  background: #efefef;
  width: 50%;
}
@media screen and (max-width: 1023px) {
  .top_access .top_access_image_wrap {
    width: 100%;
    min-height: 200px;
  }
}
.top_access .top_access_image_wrap .access_image_wrap {
  width: 100%;
  height: 100%;
}
.top_access .top_access_image_wrap .image {
  width: 100%;
  height: 100%;
}

.top_map {
  display: flex;
}
@media screen and (max-width: 1023px) {
  .top_map {
    display: block;
  }
}
.top_map .map_wrap {
  width: 50%;
}
@media screen and (max-width: 1023px) {
  .top_map .map_wrap {
    width: 100%;
  }
}
.top_map .map_illustration_wrap {
  background: #BCBFBA;
  width: 50%;
  display: table;
}
@media screen and (max-width: 1023px) {
  .top_map .map_illustration_wrap {
    width: 100%;
    padding: 20px;
  }
}
.top_map .map_illustration_wrap .map_illustration {
  text-align: center;
  display: table-cell;
  vertical-align: middle;
}

.table_access {
  margin-top: 70px;
}

.content_2col {
  display: flex;
}
@media screen and (max-width: 1023px) {
  .content_2col {
    display: block;
  }
}
.content_2col .text {
  padding: 50px 2vw 80px;
  width: 50%;
  background: #DDDDDD;
}
@media screen and (max-width: 1023px) {
  .content_2col .text {
    width: 100%;
    padding: 50px 20px 50px;
  }
}
.content_2col .text.text_bg_white {
  background: #fff;
}
.content_2col .pho {
  width: 50%;
}
@media screen and (max-width: 1023px) {
  .content_2col .pho {
    width: 100%;
    min-height: 200px;
  }
}

.service .pho {
  background: url(/img/service/about_service.jpg) center center/cover no-repeat;
}

.team_vision .pho {
  background: url(/img/team_vision/vision.jpg) center center/cover no-repeat;
}

/* service
------------------------------------ */
.service .copy {
  margin: 50px 0;
  font-size: 3rem;
  text-align: center;
  font-weight: 700;
  line-height: 1.6em;
}
@media screen and (max-width: 1023px) {
  .service .copy {
    margin: 30px 0;
    font-size: 2.3rem;
  }
}
.service .copy span {
  font-weight: 700;
  display: inline-block;
  margin: 0 5px;
  padding: 0 10px;
  color: #fff;
  border-radius: 10px;
}
.service .copy span.conditions {
  background: #8CB808;
}
.service .copy span.confident {
  background: #574777;
}

.benefit_wrap {
  background: #BCBFBA;
  color: #fff;
  padding-top: 100px;
}
@media screen and (max-width: 1023px) {
  .benefit_wrap {
    padding-top: 60px;
  }
}
.benefit_wrap .text {
  background: #BCBFBA;
}
.benefit_wrap .text .text_inner {
  padding: 80px 2vw;
}
@media screen and (max-width: 1023px) {
  .benefit_wrap .text .text_inner {
    padding: 50px 20px;
  }
}
.benefit_wrap .text .text_inner .paragraph {
  color: #444;
}
.benefit_wrap .text .text_inner .paragraph p {
  margin-bottom: 1em;
}
.benefit_wrap .text .text_inner .paragraph p:last-child {
  margin-bottom: 0;
}

.container_benefit {
  display: grid;
  grid-template-columns: 50% 50%;
  border-left: 1px solid #fff;
  border-bottom: 1px solid #fff;
}
@media screen and (max-width: 1023px) {
  .container_benefit {
    display: block;
  }
}
.container_benefit .container_benefit_sell {
  padding: 8px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}
.container_benefit .grid1 {
  grid-row: 1;
  grid-column: 2;
}
.container_benefit .grid2 .pho {
  height: 100%;
  background: url(/img/service/benefit01.jpg) center center/cover no-repeat;
}
.container_benefit .grid2 .pho img {
  display: none;
}
@media screen and (max-width: 1023px) {
  .container_benefit .grid2 .pho img {
    display: block;
  }
}
.container_benefit .grid4 .pho {
  height: 100%;
  background: url(/img/service/benefit02.jpg) center center/cover no-repeat;
}
.container_benefit .grid4 .pho img {
  display: none;
}
@media screen and (max-width: 1023px) {
  .container_benefit .grid4 .pho img {
    display: block;
  }
}
.container_benefit .grid5 {
  grid-row: 3;
  grid-column: 2;
}
.container_benefit .grid6 .pho {
  height: 100%;
  background: url(/img/service/benefit03.jpg) center center/cover no-repeat;
}
.container_benefit .grid6 .pho img {
  display: none;
}
@media screen and (max-width: 1023px) {
  .container_benefit .grid6 .pho img {
    display: block;
  }
}
.container_benefit .grid8 .pho {
  height: 100%;
  background: url(/img/service/benefit04.jpg) center center/cover no-repeat;
}
.container_benefit .grid8 .pho img {
  display: none;
}
@media screen and (max-width: 1023px) {
  .container_benefit .grid8 .pho img {
    display: block;
  }
}

.ttl_benefit {
  position: relative;
  text-align: center;
  font-weight: 300;
  line-height: 1em;
  padding-bottom: 40px;
  letter-spacing: 0.05em;
  font-size: 2.2rem;
}
.ttl_benefit:before {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 1px;
  height: 40px;
  background: #fff;
  content: " ";
}
.ttl_benefit span {
  font-size: 5.5rem;
  letter-spacing: 0.01em;
  margin-bottom: 10px;
  line-height: 1em;
  font-weight: 300;
  display: block;
  color: #fff;
}

.no_benefit {
  font-size: 6rem;
  font-weight: 300;
  margin-bottom: 0.5em;
  line-height: 1em;
}
@media screen and (max-width: 1023px) {
  .no_benefit {
    font-size: 4rem;
  }
}

.ttl_benefit_single {
  margin-bottom: 1em;
}
.ttl_benefit_single span {
  display: inline;
  color: #8CB808;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.6em;
  background: linear-gradient(transparent 0%, #fff 0%);
}
@media screen and (max-width: 1023px) {
  .ttl_benefit_single span {
    font-size: 2.4rem;
  }
}

.flow_wrap {
  background: url(/img/service/bg_flow.jpg) center center/cover no-repeat;
}

.service_carousel_wrap {
  margin: 80px 0 0;
  padding-bottom: 100px;
}
@media screen and (max-width: 1023px) {
  .service_carousel_wrap {
    margin: 50px 0 0;
  }
}

.service_carousel {
  margin: 0 25px;
}
@media screen and (max-width: 1023px) {
  .service_carousel {
    margin: 0 10px;
  }
}

.service_carousel_inner {
  display: flex;
  padding: 8px;
  height: 100%;
}
.service_carousel_inner .ttl_en_no {
  display: flex;
  padding: 10px 0 0;
}
.service_carousel_inner .ttl_en_no span {
  display: block;
}
.service_carousel_inner .ttl_en_no span.no {
  padding: 0 15px;
  margin-right: 10px;
  font-weight: 300;
  line-height: 1em;
  font-size: 6rem;
  color: #8CB808;
  border-right: 2px solid #8CB808;
}
@media screen and (max-width: 1023px) {
  .service_carousel_inner .ttl_en_no span.no {
    font-size: 4rem;
    margin-right: 5px;
    padding: 0 15px 0 10px;
  }
}
.service_carousel_inner .ttl_en_no span.en {
  color: #8CB808;
  font-size: 2rem;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
@media screen and (max-width: 1023px) {
  .service_carousel_inner .ttl_en_no span.en {
    font-size: 1.4rem;
  }
}
.service_carousel_inner .text_wrap {
  display: flex;
}
@media screen and (max-width: 1023px) {
  .service_carousel_inner .text_wrap {
    display: block;
  }
}
.service_carousel_inner .text_wrap .text {
  width: 55%;
  padding: 20px 35px 0 20px;
}
@media screen and (max-width: 1023px) {
  .service_carousel_inner .text_wrap .text {
    width: 100%;
    padding: 20px 10px 0 10px;
    margin-bottom: 15px;
  }
}
.service_carousel_inner .text_wrap .text .ttl_flow {
  font-size: 2.6rem;
  line-height: 1.4em;
  margin-bottom: 1em;
}
.service_carousel_inner .text_wrap .pho {
  width: 45%;
}
@media screen and (max-width: 1023px) {
  .service_carousel_inner .text_wrap .pho {
    width: 100%;
  }
}

.slick-track {
  display: flex;
}

.slick-slide {
  height: auto !important;
}

.flow_wrap .service_carousel {
  background: #fff;
}

.option_wrap .service_carousel {
  background: #E3E5E3;
}

/* plan
------------------------------------ */
.content_plan {
  display: flex;
}
@media screen and (max-width: 1023px) {
  .content_plan {
    display: block;
  }
}
.content_plan .text {
  width: 70%;
  padding: 50px 2vw;
}
@media screen and (max-width: 1023px) {
  .content_plan .text {
    width: 100%;
  }
}
.content_plan .pho {
  width: 30%;
}
@media screen and (max-width: 1023px) {
  .content_plan .pho {
    width: 100%;
  }
}
.content_plan .title_copy {
  color: #444;
  text-align: center;
}
.content_plan.plan1, .content_plan.plan3 {
  border-left: 20px solid #ACE500;
}
.content_plan.plan1 .text, .content_plan.plan3 .text {
  padding: 50px 20px 50px 2vw;
}
.content_plan.plan1 {
  background: #FBFBFB;
}
@media screen and (max-width: 1023px) {
  .content_plan.plan1 {
    background: #ECEFED;
  }
}
.content_plan.plan1 .pho {
  background: url(/img/plan/plan01.jpg) center center/cover no-repeat;
}
.content_plan.plan1 .pho img {
  display: none;
}
@media screen and (max-width: 1023px) {
  .content_plan.plan1 .pho img {
    display: block;
  }
}
.content_plan.plan2 {
  background: #BCBFBA;
  border-right: 20px solid #ACE500;
}
.content_plan.plan2 .text {
  order: 2;
  padding: 50px 2vw 50px 20px;
}
.content_plan.plan2 .pho {
  order: 1;
  background: url(/img/plan/plan02.jpg) center center/cover no-repeat;
}
.content_plan.plan2 .pho img {
  display: none;
}
@media screen and (max-width: 1023px) {
  .content_plan.plan2 .pho img {
    display: block;
  }
}
.content_plan.plan3 {
  background: #93A098;
  color: #fff;
}
.content_plan.plan3 .title_copy {
  color: #fff;
}
.content_plan.plan3 .pho {
  background: url(/img/plan/plan03.jpg) center center/cover no-repeat;
}
.content_plan.plan3 .pho img {
  display: none;
}
@media screen and (max-width: 1023px) {
  .content_plan.plan3 .pho img {
    display: block;
  }
}

.ttl_plan {
  text-align: center;
  font-size: 3rem;
  font-weight: 700;
  margin: 20px 0;
  line-height: 1.2em;
}
@media screen and (max-width: 1023px) {
  .ttl_plan {
    font-size: 2.6rem;
  }
}

.for_beginner_wrap {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 1023px) {
  .for_beginner_wrap {
    display: block;
  }
}
.for_beginner_wrap .counseling {
  padding-right: 40px;
}
@media screen and (max-width: 1023px) {
  .for_beginner_wrap .counseling {
    padding-right: 0;
    text-align: center;
    margin-bottom: 30px;
  }
}
.for_beginner_wrap .counseling_slide_wrap {
  width: 100%;
  max-width: 380px;
}
@media screen and (max-width: 1023px) {
  .for_beginner_wrap .counseling_slide_wrap {
    margin: 0 auto 30px;
    padding: 0 30px;
  }
}

.price {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 20px;
}
@media screen and (max-width: 1023px) {
  .price {
    display: block;
    text-align: center;
  }
}
.price .btn_wrap {
  padding-left: 20px;
}
@media screen and (max-width: 1023px) {
  .price .btn_wrap {
    padding-left: 0;
  }
}

.programs_wrap {
  width: 100%;
  max-width: 940px;
  margin: 0 auto;
}

.programs {
  display: flex;
  justify-content: center;
  margin: 0 -10px 10px;
}
@media screen and (max-width: 1023px) {
  .programs {
    display: block;
    text-align: center;
    margin: 0 0 10px;
  }
}
.programs .program {
  margin: 0 10px 20px;
}
@media screen and (max-width: 1023px) {
  .programs .program {
    margin: 0 0 20px;
  }
}

.group_training {
  margin-top: 20px;
  font-size: 1.6rem;
}
.group_training span {
  display: inline-block;
  background: #fff;
  border-radius: 25px;
  padding: 0px 10px;
  margin-right: 10px;
  font-size: 1.6rem;
}

.month3_program_wrap {
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 1023px) {
  .month3_program_wrap {
    display: block;
  }
}
.month3_program_wrap .month3_program {
  width: 50%;
  padding: 50px;
}
@media screen and (max-width: 1023px) {
  .month3_program_wrap .month3_program {
    width: 100%;
    padding: 0;
  }
}
.month3_program_wrap .month3_program:first-child {
  border-right: solid 1px #fff;
}
@media screen and (max-width: 1023px) {
  .month3_program_wrap .month3_program:first-child {
    border-right: none;
    margin-bottom: 40px;
  }
}
.month3_program_wrap .month3_program .content:first-child {
  margin-bottom: 30px;
}
.month3_program_wrap .month3_program .border {
  margin-bottom: 15px;
  text-align: center;
  font-size: 2.4rem;
}
@media screen and (max-width: 1023px) {
  .month3_program_wrap .month3_program .border {
    font-size: 2rem;
  }
}
.month3_program_wrap .month3_program .border span {
  display: inline-block;
  padding: 7px 15px;
  border: solid 1px #fff;
}
.month3_program_wrap .month3_program .special {
  text-align: center;
  margin-bottom: 10px;
}
.month3_program_wrap .month3_program .special li {
  margin: 5px;
  display: inline-block;
}
.month3_program_wrap .month3_program .special li span {
  font-size: 1.6rem;
  display: inline-block;
  background: #ACE500;
  border-radius: 20px;
  padding: 0 10px;
  color: #444;
}
.month3_program_wrap .month3_program .whatwecan li {
  font-size: 1.6rem;
  padding-left: 32px;
  background: url(/img/common/icon_check-circle.svg) left 5px/22px 22px no-repeat;
}

.options_free_wrap {
  width: 100%;
  max-width: 620px;
  margin: 0 auto;
}

.options_free {
  display: flex;
  margin: 0 -10px 30px;
}
@media screen and (max-width: 1023px) {
  .options_free {
    display: block;
    margin: 0 0 30px;
    text-align: center;
  }
}
.options_free .options {
  margin: 0 10px;
}
@media screen and (max-width: 1023px) {
  .options_free .options {
    margin: 0 0 20px;
  }
}

/* team
------------------------------------ */
.team_wrap {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  border-left: 1px solid #8CB808;
  border-bottom: 1px solid #8CB808;
}
@media screen and (max-width: 1023px) {
  .team_wrap {
    display: block;
  }
}
.team_wrap .teams {
  padding: 8px;
  border-top: 1px solid #8CB808;
  border-right: 1px solid #8CB808;
}
@media screen and (max-width: 1023px) {
  .team_wrap .teams {
    padding: 0;
  }
}
.team_wrap .teams.team2 {
  grid-row: 1/2;
  grid-column: 2/4;
}
@media screen and (max-width: 1023px) {
  .team_wrap .teams.team2 {
    border-top: none;
  }
}
@media screen and (max-width: 1023px) {
  .team_wrap .php {
    padding: 8px;
    border-bottom: 1px solid #8CB808;
  }
}

.profile_wrap {
  padding: 30px 3vw;
  color: #444;
}
@media screen and (max-width: 1023px) {
  .profile_wrap {
    padding: 30px 20px;
  }
}
.profile_wrap .role {
  color: #fff;
  font-size: 6rem;
  line-height: 1em;
  font-weight: 300;
  margin-bottom: 0.5em;
}
.profile_wrap .ttl_teams {
  font-size: 3rem;
  line-height: 1.4em;
  margin-bottom: 30px;
}
.profile_wrap .ttl_teams .position {
  display: block;
  font-size: 2.2rem;
}
.profile_wrap .ttl_teams .certificate {
  font-size: 1.9rem;
  display: block;
}

.team3 .php {
  margin-bottom: 20px;
}

/* FAQ
------------------------------------ */
.faq_wrap {
  margin-top: 50px;
}

.faq {
  margin-bottom: 20px;
}
.faq dt {
  position: relative;
  color: #fff;
  padding: 10px 70px 10px 20px;
  border-radius: 10px;
  background-image: linear-gradient(90deg, #93a098 86%, #8cb808 93%, #ace500);
}
@media screen and (max-width: 1023px) {
  .faq dt {
    padding: 10px 60px 10px 20px;
    background-image: linear-gradient(90deg, #93a098 80%, #8cb808 87%, #ace500);
  }
}
.faq dt .no {
  display: inline-block;
  font-size: 2rem;
  color: #ACE500;
  line-height: 1em;
}
@media screen and (max-width: 1023px) {
  .faq dt .no {
    display: block;
    margin-bottom: 10px;
  }
}
.faq dt .no span {
  display: inline-block;
  font-size: 1.6rem;
  vertical-align: top;
  padding-bottom: 2px;
  border-bottom: solid 1px #ACE500;
  line-height: 1em;
  margin: 0 20px 0 2px;
  font-weight: bold;
}
.faq dt .question {
  display: inline-block;
  font-size: 1.6rem;
}
.faq dt:after {
  content: "";
  width: 21px;
  height: 3px;
  border-radius: 2px;
  background: #fff;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}
.faq dt:before {
  content: "";
  width: 3px;
  height: 21px;
  border-radius: 2px;
  background: #fff;
  position: absolute;
  right: 29px;
  top: 50%;
  transform: translateY(-50%);
}
.faq dt.on {
  box-shadow: 0px 14px 12px -10px #9e9e9e;
}
.faq dt.on:before {
  display: none;
}
.faq dd {
  display: none;
  background: #F5F5F5;
  padding: 30px;
  border-radius: 0 0 12px 12px;
  margin: 0 20px;
}

.content_contact {
  width: 100%;
  max-width: 920px;
  margin: 0 auto;
}

.partial_wrap {
  margin-bottom: 25px;
}
@media screen and (max-width: 1023px) {
  .partial_wrap {
    margin: 0 10px 0;
  }
}
.partial_wrap .form_element {
  margin-top: 5px;
}

.partial_2col {
  display: flex;
}
@media screen and (max-width: 1023px) {
  .partial_2col {
    display: block;
  }
}
.partial_2col .partial {
  width: 50%;
}
@media screen and (max-width: 1023px) {
  .partial_2col .partial {
    width: 100%;
    margin-bottom: 15px;
  }
}
.partial_2col .partial:nth-of-type(odd) {
  padding-right: 35px;
}
@media screen and (max-width: 1023px) {
  .partial_2col .partial:nth-of-type(odd) {
    padding: 0;
  }
}
.partial_2col .partial:nth-of-type(even) {
  padding-left: 35px;
}
@media screen and (max-width: 1023px) {
  .partial_2col .partial:nth-of-type(even) {
    padding: 0;
  }
}

.partial_messege {
  border-bottom: solid 2px #fff;
  padding-bottom: 40px;
  margin-bottom: 40px;
}
@media screen and (max-width: 1023px) {
  .partial_messege {
    padding-bottom: 20px;
    margin-bottom: 20px;
  }
}

.partial_select {
  max-width: 800px;
  width: 100%;
  margin: 0 auto;
  margin-bottom: 30px;
}
@media screen and (max-width: 1023px) {
  .partial_select {
    padding: 0 10px;
  }
}
.partial_select .form_element {
  position: relative;
}
.partial_select .form_element:after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 20px;
  background: #93A098;
  height: calc(tan(60deg) * 20px / 2);
  width: 20px;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.mw_wp_form_confirm .form_element {
  background: #fff;
  padding: 8px 12px;
  border-radius: 8px;
}

/* post_list
------------------------------------ */
.post_index_wrap {
  display: flex;
  margin: 0 -10px;
  flex-wrap: wrap;
}
@media screen and (max-width: 1023px) {
  .post_index_wrap {
    display: block;
    margin: 0;
  }
}
.post_index_wrap .post_index_list {
  display: block;
  width: calc(33.3333333333% - 20px);
  margin: 0 10px 20px;
}
@media screen and (max-width: 1023px) {
  .post_index_wrap .post_index_list {
    width: 100%;
    margin: 0 0 20px;
  }
}
.post_index_wrap .pho {
  text-align: center;
}
.post_index_wrap .pho img {
  overflow: hidden;
  border-radius: 8px;
}
.post_index_wrap .text {
  background: #F5F5F5;
  border-radius: 0 0 10px 10px;
  margin: 0 10px;
  padding-bottom: 15px;
}
.post_index_wrap .text time {
  display: block;
  padding: 5px 15px;
  margin-bottom: 10px;
  font-size: 1.4rem;
  color: #8CB808;
  border-bottom: 1px solid #8CB808;
}
.post_index_wrap .text .ttl_post_index {
  font-size: 1.8rem;
  padding: 10px 15px 15px;
}

/* post
------------------------------------ */
.ttl_article_post {
  margin-bottom: 50px;
}

.article_post_body a {
  color: #8CB808;
  text-decoration: underline;
}
.article_post_body p {
  margin-bottom: 1em;
}
.article_post_body img {
  margin-bottom: 30px;
}
.article_post_body ul {
  margin: 30px 0;
}
.article_post_body ul li {
  padding-left: 22px;
  position: relative;
}
.article_post_body ul li:after {
  position: absolute;
  top: 5px;
  content: "";
  left: 0;
  width: 15px;
  height: 15px;
  border-radius: 8px;
  background: #8CB808;
}
.article_post_body ol {
  margin: 30px 0;
}
.article_post_body ol li {
  padding-left: 22px;
  position: relative;
  counter-increment: list;
}
.article_post_body ol li:after {
  position: absolute;
  top: 0;
  content: counter(list);
  left: 0;
  color: #8CB808;
}
.article_post_body .wp-block-table {
  overflow: scroll;
}
.article_post_body table {
  margin-bottom: 20px;
  width: 100%;
  border: solid 1px #BCBFBA;
  border-collapse: collapse;
}
@media screen and (max-width: 1023px) {
  .article_post_body table {
    width: auto;
    max-width: 1000px;
    min-width: 100%;
  }
}
.article_post_body table th,
.article_post_body table td {
  border: solid 1px #BCBFBA;
  padding: 0.7em 1em;
}
.article_post_body table th {
  text-align: center;
  background: #EAEBE8;
  white-space: nowrap;
}
.article_post_body .wp-block-table thead {
  border-bottom: none;
}
.article_post_body .wp-block-table {
  margin: 40px 0;
  overflow: scroll;
}

.pagenation {
  text-align: center;
  margin-top: 50px;
}
@media screen and (max-width: 1023px) {
  .pagenation {
    margin-top: 50px;
  }
}
.pagenation .page-numbers {
  position: relative;
  line-height: 20px;
  font-size: 14px;
  display: inline-block;
  color: #8CB808;
  background: #fff;
  width: 30px;
  height: 30px;
  padding: 5px;
  margin: 0 5px;
  border: solid 1px #8CB808;
  border-radius: 13px;
  cursor: pointer;
  text-align: center;
  transition: all 0.2s linear;
}
.pagenation .page-numbers.current, .pagenation .page-numbers:hover {
  color: #fff;
  background: #8CB808;
}
.pagenation .page-numbers.prev, .pagenation .page-numbers.next {
  border: none;
}
.pagenation .page-numbers:after {
  position: absolute;
  content: " ";
  width: 20px;
  height: 1px;
  background: #8CB808;
  right: -20px;
  top: 50%;
  transform: translateY(-50%);
}
.pagenation .page-numbers:first-child:after, .pagenation .page-numbers:last-child:after, .pagenation .page-numbers:nth-last-of-type(2):after {
  display: none;
}

/* PRIVACY POLICY
------------------------------------ */
.pp {
  margin-bottom: 30px;
}
.pp .ttl_pp {
  font-size: 2rem;
  font-weight: 500;
  margin-bottom: 0.5em;
}

/*# sourceMappingURL=style.css.map */
