@charset "UTF-8";
/* Scss Document */
/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
html {
  line-height: 1.15;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; }

body {
  margin: 0; }

article, aside, footer, header, nav, section {
  display: block; }

h1 {
  font-size: 2em;
  margin: .67em 0; }

figcaption, figure, main {
  display: block; }

figure {
  margin: 1em 40px; }

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible; }

pre {
  font-family: monospace,monospace;
  font-size: 1em; }

a {
  background-color: transparent;
  -webkit-text-decoration-skip: objects; }

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted; }

b, strong {
  font-weight: inherit;
  font-weight: bolder; }

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

dfn {
  font-style: italic; }

mark {
  background-color: #ff0;
  color: #000; }

small {
  font-size: 80%; }

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -.25em; }

sup {
  top: -.5em; }

audio, video {
  display: inline-block; }

audio:not([controls]) {
  display: none;
  height: 0; }

img {
  border-style: none; }

svg:not(:root) {
  overflow: hidden; }

button, input, optgroup, select, textarea {
  font-family: sans-serif;
  font-size: 100%;
  line-height: 1.15;
  margin: 0; }

button, input {
  overflow: visible; }

button, select {
  text-transform: none; }

button, html [type="button"],
[type="reset"], [type="submit"] {
  -webkit-appearance: button; }

button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

fieldset {
  padding: .35em .75em .625em; }

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal; }

progress {
  display: inline-block;
  vertical-align: baseline; }

textarea {
  overflow: auto; }

[type="checkbox"], [type="radio"] {
  box-sizing: border-box;
  padding: 0; }

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

[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px; }

[type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

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

details,
menu {
  display: block; }

summary {
  display: list-item; }

canvas {
  display: inline-block; }

template {
  display: none; }

[hidden] {
  display: none; }

/*---------------------------------------------------
		base
----------------------------------------------------*/
html {
  font-size: 62.5%;
  scroll-behavior: smooth; }

body {
  position: relative;
  font-family: "Hiragino Mincho ProN", "Times New Roman", "YuMincho", "Yu Mincho", "MS PMincho", serif;
  font-size: 1.0rem;
  color: #000;
  line-height: 1.8;
  background-color: #fff; }

h1, h2, h3, h4, h5, h6 {
  font-weight: bold; }

a:link, a:hover, a:active, a:visited {
  text-decoration: none; }

a {
  transition: .5s;
  color: #000; }

a:hover {
  opacity: 0.7; }

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

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

li {
  list-style: none; }

p, ul, li, dl, dt, dd, h1, h2, h3, h4, h5 {
  margin: 0;
  padding: 0; }

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

*:focus {
  outline: none; }

@media screen and (max-width: 768px) {
  a {
    transition: 0; }

  a:hover {
    opacity: 1; } }
/*---------------------------------------------------
		common
----------------------------------------------------*/
.display_sp {
  display: none; }

@media screen and (max-width: 768px) {
  .display_sp {
    display: block; }

  .display_pc {
    display: none; } }
.column {
  display: flex; }
  @media screen and (max-width: 768px) {
    .column {
      display: block; } }
  .column #side {
    width: 20%; }
    @media screen and (max-width: 768px) {
      .column #side {
        width: 100%; } }
  .column main {
    width: 80%; }
    @media screen and (max-width: 768px) {
      .column main {
        width: 100%;
        padding-top: 15px; } }

.container {
  max-width: 900px;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    .container {
      max-width: 90%; } }

h1 {
  font-size: 4rem; }
  @media screen and (max-width: 768px) {
    h1 {
      font-size: 2.4rem; } }

h2 {
  font-size: 3rem;
  margin-bottom: 1em; }
  @media screen and (max-width: 768px) {
    h2 {
      font-size: 1.8rem; } }

h3 {
  font-size: 2.5rem;
  margin-bottom: 1em; }
  @media screen and (max-width: 768px) {
    h3 {
      font-size: 1.6rem; } }

h4 {
  font-size: 2rem;
  margin-bottom: 1em; }
  @media screen and (max-width: 768px) {
    h4 {
      font-size: 1.4rem; } }

p {
  font-size: 1.6rem; }
  @media screen and (max-width: 768px) {
    p {
      font-size: 1.3rem; } }

.bgG {
  background: #139239; }

.bgRO {
  background: #F6F6E8; }

.bgWO {
  background: #F9F9F1; }

.bgO {
  background: #ECECD1; }

.bgPE {
  background: #FBF4F9; }

.bgDPE {
  background: #C766A8; }

.bgRG {
  background: #F2F9F4; }

.bgRPU {
  background: #F9F6FC; }

.bgPU {
  background: #EEE6F5; }

.bgDPU {
  background: #9565BC; }

.colorY {
  color: #FFEB00; }

.colorW {
  color: #fff; }

.colorPU {
  color: #9565BC; }

.colorG {
  color: #069F34; }

.colorO {
  color: #AFAF4E; }

.colorPE {
  color: #C766A8; }

.center {
  text-align: center; }

.right {
  text-align: right; }

.bold {
  font-weight: bold; }

.normal {
  font-weight: normal !important; }

.under {
  text-decoration: underline !important; }

.btn_a {
  background: #fff;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.3);
  border-radius: 10px;
  font-size: 2rem;
  text-align: center;
  display: inline-block;
  padding: .5em 3em;
  position: relative; }
  @media screen and (max-width: 768px) {
    .btn_a {
      font-size: 1.4rem;
      box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
      border-radius: 5px; } }
  .btn_a::after {
    content: '>';
    position: absolute;
    left: 10px;
    top: 17%;
    font-weight: bold;
    color: #ccc; }

.btn_b {
  font-size: 2rem;
  border-radius: 10px;
  padding: 15px 40px;
  display: inline-block; }
  .btn_b span {
    display: block;
    border-top: 1px solid #fff;
    font-size: 2.5rem;
    padding: 0 1em; }
    @media screen and (max-width: 768px) {
      .btn_b span {
        font-size: 2rem; } }
  .btn_b strong {
    display: block;
    font-size: 2.5rem;
    padding: 0 1em; }
    @media screen and (max-width: 768px) {
      .btn_b strong {
        font-size: 2rem; } }
  @media screen and (max-width: 768px) {
    .btn_b {
      font-size: 1.4rem; } }

.btn_c {
  background: #fff;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.3);
  border-radius: 10px;
  font-size: 2rem;
  text-align: center;
  display: inline-block;
  padding: .5em 3em;
  position: relative;
  border: 3px solid #D8D8A3; }
  @media screen and (max-width: 768px) {
    .btn_c {
      font-size: 1.4rem; } }

.page_header {
  padding: 14% 0 2%;
  max-width: 100%;
  margin: 0 auto 40px; }
  @media screen and (max-width: 768px) {
    .page_header {
      margin: 15px auto 20px; } }

div.wpcf7-mail-sent-ok {
  font-size: 2rem;
  text-align: center; }

/*---------------------------------------------------
		header&footer
----------------------------------------------------*/
@media screen and (max-width: 768px) {
  .menu_btn {
    position: fixed;
    left: 10px;
    top: 10px;
    z-index: 4; } }

.side {
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
  position: fixed;
  left: 0;
  top: 0;
  z-index: 999;
  height: 100%;
  width: 20%;
  overflow-y: scroll;
  background: #fff;
  padding-bottom: 60px; }
  @media screen and (max-width: 768px) {
    .side {
      z-index: 999;
      box-shadow: none;
      display: none;
      padding-bottom: 60px;
      width: 100%; } }
  .side .menu_close {
    position: absolute;
    left: 0;
    top: 0; }
  .side .logo {
    padding: 40px 0;
    max-width: 70%;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      .side .logo {
        max-width: 40%;
        padding: 20px 0; } }
  .side .contact {
    font-size: 1.2vw;
    padding: .3em 0; }
    @media screen and (max-width: 768px) {
      .side .contact {
        font-size: 4.5vw; } }
  .side nav > ul > li > a {
    border-bottom: 1px solid #139239;
    padding: 0 10%;
    display: block;
    margin-top: 2em;
    position: relative;
    font-size: 1vw; }
    @media screen and (max-width: 768px) {
      .side nav > ul > li > a {
        font-size: 3.5vw;
        margin-top: 1em;
        padding: 0 5%; } }
    .side nav > ul > li > a::after {
      content: '>';
      position: absolute;
      right: 10%;
      top: 0;
      color: #139239;
      font-weight: bold; }
      @media screen and (max-width: 768px) {
        .side nav > ul > li > a::after {
          right: 5%; } }
  .side nav dl {
    padding: 0 10%;
    margin-top: 1.5em; }
    @media screen and (max-width: 768px) {
      .side nav dl {
        padding: 0 5%; } }
  .side nav dt {
    border-bottom: 1px solid #BABABA;
    font-size: .9vw;
    margin-bottom: 1em; }
    @media screen and (max-width: 768px) {
      .side nav dt {
        font-size: 3.5vw; } }
    .side nav dt span {
      padding-right: .5em; }
  .side nav dd {
    margin-bottom: 1em; }
    .side nav dd a {
      display: block;
      padding: 0 1em;
      margin-bottom: .2em;
      font-size: .9vw; }
      @media screen and (max-width: 768px) {
        .side nav dd a {
          font-size: 3.5vw; } }
  .side nav .box {
    padding: 0 10%;
    margin-top: 2em; }
    @media screen and (max-width: 768px) {
      .side nav .box {
        padding: 0 5%; } }
    .side nav .box li {
      margin-bottom: 5px; }

footer {
  border-top: 18px solid #139239;
  padding: 40px 0; }
  @media screen and (max-width: 768px) {
    footer {
      padding: 20px 0;
      border-top: 10px solid #139239; } }
  footer .logo {
    text-align: center;
    max-width: 200px;
    margin: 0 auto 30px; }
    @media screen and (max-width: 768px) {
      footer .logo {
        max-width: 40%;
        margin: 0 auto 20px; } }
  footer ul {
    display: flex;
    justify-content: center;
    margin-bottom: 40px; }
    @media screen and (max-width: 768px) {
      footer ul {
        margin-bottom: 20px; } }
  footer li {
    text-align: center;
    margin: 0 10px;
    line-height: 1;
    font-size: 1.6rem;
    width: 11%; }
    @media screen and (max-width: 768px) {
      footer li {
        font-size: 1rem;
        width: 22%;
        margin: 0; } }
    footer li span {
      display: block;
      font-size: 10rem;
      display: block; }
      @media screen and (max-width: 768px) {
        footer li span {
          font-size: 5rem; } }
  footer .line {
    padding: 30px 0;
    margin-bottom: 30px; }
    @media screen and (max-width: 768px) {
      footer .line {
        padding: 20px 0;
        margin-bottom: 20px; } }
  footer small {
    font-size: 1.6rem; }
    @media screen and (max-width: 768px) {
      footer small {
        font-size: 2vw; } }

/*---------------------------------------------------
		contents
----------------------------------------------------*/
#top main {
  padding-top: 40px; }
  @media screen and (max-width: 768px) {
    #top main {
      padding-top: 15px; } }
#top header {
  background: url("../img/top_mv.jpg?var02") center center no-repeat;
  background-size: cover;
  padding: 20% 0;
  max-width: 90%;
  margin: 0 auto 40px; }
  @media screen and (max-width: 768px) {
    #top header {
      margin: 15px auto 20px;
      max-width: 100%; } }
  #top header h1 {
    font-size: 2.5rem; }
    @media screen and (max-width: 768px) {
      #top header h1 {
        font-size: 2rem; } }
#top .about {
  margin-bottom: 100px; }
  @media screen and (max-width: 768px) {
    #top .about {
      margin-bottom: 40px; } }
  #top .about p {
    margin-bottom: 2em; }
  #top .about li {
    border: 3px solid #D8D8A3;
    border-radius: 10px;
    padding: .5em 0;
    font-size: 2rem;
    width: 90%;
    margin: 0 auto 10px; }
    @media screen and (max-width: 768px) {
      #top .about li {
        width: 100%;
        font-size: 1.6rem; } }
#top .category {
  margin-bottom: 60px; }
  @media screen and (max-width: 768px) {
    #top .category {
      margin-bottom: 40px; } }
  #top .category ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    @media screen and (max-width: 768px) {
      #top .category ul {
        display: block; } }
  #top .category li {
    width: 49%;
    background: #fff;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
    padding: 20px 10px 30px;
    border-style: solid;
    border-width: 5px;
    margin-bottom: 2%; }
    @media screen and (max-width: 768px) {
      #top .category li {
        width: 100%;
        margin-bottom: 20px;
        border-width: 3px; } }
    #top .category li:nth-child(1) {
      border-color: #9565BC; }
    #top .category li:nth-child(2) {
      border-color: #58B758; }
    #top .category li:nth-child(3) {
      border-color: #AFAF4E; }
    #top .category li:nth-child(4) {
      border-color: #C766A8; }
  #top .category h3 {
    line-height: 1.2;
    border-bottom: 1px solid #BABABA;
    padding-bottom: 1em;
    margin-bottom: 1em; }
    #top .category h3 span {
      display: block;
      font-size: 5rem; }
  #top .category p {
    padding: 0 20px;
    margin-bottom: 2em; }
    @media screen and (max-width: 768px) {
      #top .category p {
        padding: 0 10px; } }
#top .news {
  padding: 50px 0; }
  @media screen and (max-width: 768px) {
    #top .news {
      padding: 40px 0; } }
  #top .news .list {
    display: flex;
    align-items: center;
    margin-bottom: 40px; }
    @media screen and (max-width: 768px) {
      #top .news .list {
        flex-wrap: wrap;
        margin-bottom: 30px; } }
    #top .news .list a {
      display: block;
      width: 19%;
      font-size: 1.8rem;
      color: #fff;
      padding: .5em 0;
      text-shadow: -1px -1px 0 #222, 1px -1px 0 #222, -1px 1px 0 #222, 1px 1px 0 #222, 0 2px 3px rgba(0, 0, 0, .8);}
      @media screen and (max-width: 768px) {
        #top .news .list a {
          font-size: 1.2rem;
          width: 33%; } }
  #top .news .icon_all {
    background: #139239; }
  #top .news .icon_news {
    background: #9AB740; }
  #top .news .icon_seminar {
    background: #D8D8A3; }
  #top .news .icon_official {
    background: #98983E; }
  #top .news .icon_media {
    background: #BABA31; }
  #top .news .icon_column {
    background: #777700; }
  #top .news li {
    display: flex;
    align-items: center;
    border-bottom: 1px solid #707070;
    margin-bottom: 1.5em;
    padding-bottom: 1.5em; }
    @media screen and (max-width: 768px) {
      #top .news li {
        flex-wrap: wrap; } }
  #top .news .time {
    font-size: 1.6rem;
    color: #BABABA; }
    @media screen and (max-width: 768px) {
      #top .news .time {
        font-size: 1.2rem; } }
  #top .news .icon {
    font-size: 1.4rem;
    width: 10%;
    color: #fff;
    text-align: center;
    margin: 0 10px;
    text-shadow: -1px -1px 0 #222, 1px -1px 0 #222, -1px 1px 0 #222, 1px 1px 0 #222, 0 2px 3px rgba(0, 0, 0, .8);
  }
    @media screen and (max-width: 768px) {
      #top .news .icon {
        font-size: 1.2rem;
        width: 25%; } }
  #top .news a {
    font-size: 1.6rem; }
    @media screen and (max-width: 768px) {
      #top .news a {
        width: 100%;
        margin-top: .5em;
        line-height: 1.6;
        font-size: 1.3rem; } }
#top .sample {
  padding: 50px 0;
  margin-bottom: 60px; }
  @media screen and (max-width: 768px) {
    #top .sample {
      padding: 40px 0;
      margin-bottom: 40px; } }
  #top .sample li {
    display: flex;
    align-items: center;
    border-bottom: 1px solid #707070;
    padding-bottom: 40px;
    margin-bottom: 40px; }
    @media screen and (max-width: 768px) {
      #top .sample li {
        display: block;
        padding-bottom: 20px;
        margin-bottom: 20px; } }
  #top .sample .circle {
    font-size: 3.5rem;
    line-height: 1;
    background: #fff;
    border-radius: 50%;
    padding: 15px 22px;
    margin-right: 40px; }
    #top .sample .circle span {
      display: block;
      font-size: 2rem;
      white-space: nowrap; }
      @media screen and (max-width: 768px) {
        #top .sample .circle span {
          font-size: 1.8rem; } }
    @media screen and (max-width: 768px) {
      #top .sample .circle {
        font-size: 2.5rem;
        display: inline-block;
        margin-right: 0;
        padding: 15px 18px; } }
#top .comment {
  margin-bottom: 60px; }
  @media screen and (max-width: 768px) {
    #top .comment {
      margin-bottom: 40px; } }
  #top .comment .box {
    display: flex;
    justify-content: space-between;
    margin-bottom: 30px; }
    @media screen and (max-width: 768px) {
      #top .comment .box {
        display: block; } }
    @media screen and (max-width: 768px) {
      #top .comment .box h2 {
        text-align: center; } }
    #top .comment .box .text {
      width: 68%; }
      @media screen and (max-width: 768px) {
        #top .comment .box .text {
          width: 100%;
          margin-bottom: 20px; } }
    #top .comment .box .img {
      width: 30%; }
      @media screen and (max-width: 768px) {
        #top .comment .box .img {
          width: 100%;
          text-align: center; } }
  #top .comment .certification {
    border: 3px solid #139239;
    padding: 30px 0; }
    @media screen and (max-width: 768px) {
      #top .comment .certification_main {
        margin-bottom: 20px; } }
    #top .comment .certification_main li {
      font-size: 2rem;
      padding-bottom: 1em;
      margin-bottom: 1em; }
      #top .comment .certification_main li:not(:last-child) {
        border-bottom: 2px solid #139239; }
      @media screen and (max-width: 768px) {
        #top .comment .certification_main li {
          font-size: 1.4rem;
          text-align: left;
          padding: 0 20px .5em; } }
    #top .comment .certification_other {
      padding: 0 50px; }
      @media screen and (max-width: 768px) {
        #top .comment .certification_other {
          padding: 0 20px; } }
      #top .comment .certification_other .box {
        display: flex;
        justify-content: space-between; }
        @media screen and (max-width: 768px) {
          #top .comment .certification_other .box {
            display: block;
            margin-bottom: 0; } }
      #top .comment .certification_other ul {
        font-size: 1.6rem;
        width: 48%; }
        @media screen and (max-width: 768px) {
          #top .comment .certification_other ul {
            font-size: 1.3rem;
            display: block;
            width: 100%; } }
      #top .comment .certification_other li {
        border-bottom: 1px solid #BABABA;
        margin-bottom: .5em; }
#top .youtube {
  padding: 0 0 50px; }
  @media screen and (max-width: 768px) {
    #top .youtube {
      padding: 0 0 20px; } }
  #top .youtube h4 {
    background: #A83B86;
    padding: 20px 0; }
    @media screen and (max-width: 768px) {
      #top .youtube h4 {
        padding: 10px 0; } }
  #top .youtube .container {
    position: relative;
    height: 0;
    padding-top: 38%;
    max-width: 70%; }
    @media screen and (max-width: 768px) {
      #top .youtube .container {
        max-width: 90%;
        padding-top: 42%; } }
  #top .youtube iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

#company header {
  background: url("../img/company_mv.jpg") center center no-repeat;
  background-size: cover; }
#company .about {
  margin-bottom: 60px; }
  @media screen and (max-width: 768px) {
    #company .about {
      margin-bottom: 40px; } }
  #company .about p {
    margin-bottom: 2em; }
  #company .about ul {
    margin-bottom: 30px; }
    @media screen and (max-width: 768px) {
      #company .about ul {
        margin-bottom: 20px; } }
  #company .about li {
    border: 3px solid #139239;
    border-radius: 10px;
    padding: .5em 0;
    font-size: 2rem;
    margin: 0 auto 10px; }
    @media screen and (max-width: 768px) {
      #company .about li {
        font-size: 1.6rem; } }
#company .category {
  padding: 60px 0;
  margin-bottom: 60px; }
  @media screen and (max-width: 768px) {
    #company .category {
      padding: 40px 0; } }
  #company .category .container {
    display: flex; }
    @media screen and (max-width: 768px) {
      #company .category .container {
        display: block; } }
  #company .category ul {
    width: 60%; }
    @media screen and (max-width: 768px) {
      #company .category ul {
        width: 100%;
        margin-bottom: 30px; } }
  #company .category li {
    display: flex;
    align-items: center; }
    @media screen and (max-width: 768px) {
      #company .category li {
        margin-bottom: 10px; } }
  #company .category .en {
    font-size: 10rem;
    width: 22%;
    text-align: center;
    line-height: 1; }
    @media screen and (max-width: 768px) {
      #company .category .en {
        font-size: 5rem;
        width: 16%; } }
  #company .category ruby {
    font-size: 2rem;
    display: block; }
    @media screen and (max-width: 768px) {
      #company .category ruby {
        font-size: 1.4rem; } }
  #company .category .box {
    width: 38%;
    background: #fff;
    border-radius: 10px;
    padding-top: 90px; }
    @media screen and (max-width: 768px) {
      #company .category .box {
        width: 100%;
        padding: 60px 0; } }
    #company .category .box span {
      font-size: 5rem;
      line-height: 1.2; }
#company .overview dl {
  display: flex;
  flex-wrap: wrap;
  font-size: 1.6rem;
  margin-bottom: 60px; }
  @media screen and (max-width: 768px) {
    #company .overview dl {
      display: block;
      font-size: 1.4rem;
      margin-bottom: 40px; } }
  #company .overview dl.first {
    justify-content: center; }
    #company .overview dl.first dt {
      font-weight: bold;
      width: 40%;
      padding: 0 3% 0 22%; }
      @media screen and (max-width: 768px) {
        #company .overview dl.first dt {
          width: 100%;
          padding: 0; } }
    #company .overview dl.first dd {
      width: 60%; }
      @media screen and (max-width: 768px) {
        #company .overview dl.first dd {
          width: 100%; } }
  #company .overview dl.second dt {
    width: 15%;
    padding-right: 2%; }
    @media screen and (max-width: 768px) {
      #company .overview dl.second dt {
        width: 100%;
        padding: 0; } }
  #company .overview dl.second dd {
    width: 85%; }
    @media screen and (max-width: 768px) {
      #company .overview dl.second dd {
        width: 100%; } }
#company .overview dt {
  border-bottom: 1px solid #707070;
  margin-bottom: 1em; }
  @media screen and (max-width: 768px) {
    #company .overview dt {
      border-bottom: none;
      margin-bottom: 0; } }
#company .overview dd {
  border-bottom: 1px solid #707070;
  margin-bottom: 1em; }
  @media screen and (max-width: 768px) {
    #company .overview dd {
      padding-bottom: .5em; } }
#company .history {
  padding: 60px 0; }
  @media screen and (max-width: 768px) {
    #company .history {
      padding: 40px 0; } }
  #company .history > .container > p {
    border-bottom: 1px solid #139239;
    margin-bottom: 1em; }
  #company .history .box {
    display: flex;
    justify-content: space-between;
    margin-top: 50px; }
    @media screen and (max-width: 768px) {
      #company .history .box {
        flex-wrap: wrap; } }
    #company .history .box dl {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      width: 70%;
      font-size: 1.6rem; }
      @media screen and (max-width: 768px) {
        #company .history .box dl {
          order: 1;
          font-size: 1.3rem;
          margin-top: 40px;
          width: 100%; } }
    #company .history .box dt {
      width: 20%;
      padding-right: 3%;
      border-bottom: 1px solid #BABABA;
      margin-bottom: .5em;
      padding-bottom: .5em; }
      @media screen and (max-width: 768px) {
        #company .history .box dt {
          width: 25%; } }
    #company .history .box dd {
      width: 80%;
      border-bottom: 1px solid #BABABA;
      margin-bottom: .5em;
      padding-bottom: .5em; }
      @media screen and (max-width: 768px) {
        #company .history .box dd {
          width: 75%; } }
    #company .history .box .box_right {
      width: 26%; }
      @media screen and (max-width: 768px) {
        #company .history .box .box_right {
          width: 100%;
          line-height: 1.5; } }
      #company .history .box .box_right .img {
        margin-bottom: 20px; }
        @media screen and (max-width: 768px) {
          #company .history .box .box_right .img {
            margin-bottom: 10px; } }

#category01 header {
  background: url("../img/category01_mv.jpg") center center no-repeat;
  background-size: cover; }
#category01 .about {
  margin-bottom: 60px; }
  @media screen and (max-width: 768px) {
    #category01 .about {
      margin-bottom: 40px; } }
  #category01 .about .en {
    color: #BABABA;
    font-size: 5rem; }
    @media screen and (max-width: 768px) {
      #category01 .about .en {
        font-size: 4rem; } }
  #category01 .about li {
    border-radius: 16px;
    padding: 20px 40px;
    display: flex;
    margin-bottom: 10px; }
    @media screen and (max-width: 768px) {
      #category01 .about li {
        display: block;
        padding: 15px 20px;
        border-radius: 10px; } }
    #category01 .about li .title {
      font-size: 1.6rem;
      width: 15%; }
      @media screen and (max-width: 768px) {
        #category01 .about li .title {
          font-size: 1.3rem;
          width: 100%; } }
    #category01 .about li p {
      width: 85%; }
      @media screen and (max-width: 768px) {
        #category01 .about li p {
          width: 100%; } }
    #category01 .about li .line {
      border-bottom: 1px solid #000;
      position: relative;
      padding-left: 2em;
      font-size: 1.6rem;
      display: block;
      line-height: 1.6;
      padding-bottom: 0.2em;
      margin-bottom: 0.2em; }
      @media screen and (max-width: 768px) {
        #category01 .about li .line {
          font-size: 1.3rem; } }
      #category01 .about li .line span {
        position: absolute;
        left: 0; }
#category01 .center_img {
  font-size: 0; }
  #category01 .center_img img {
    width: 100%; }
#category01 .exsample {
  padding: 40px 0; }
  #category01 .exsample .container {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 768px) {
      #category01 .exsample .container {
        display: block; } }
  #category01 .exsample ul {
    width: 47%; }
    @media screen and (max-width: 768px) {
      #category01 .exsample ul {
        width: 100%; } }
  #category01 .exsample li {
    margin-bottom: 1em;
    font-size: 1.6rem; }
    @media screen and (max-width: 768px) {
      #category01 .exsample li {
        font-size: 1.3rem; } }
    #category01 .exsample li:not(:last-child) {
      border-bottom: 1px solid #BABABA; }
    #category01 .exsample li:nth-child(1) {
      border-color: #C0A3D8;
      margin-bottom: 2em; }

#category02 header {
  background: url("../img/category02_mv.jpg") center center no-repeat;
  background-size: cover; }
#category02 .about {
  margin-bottom: 60px; }
  @media screen and (max-width: 768px) {
    #category02 .about {
      margin-bottom: 40px; } }
  #category02 .about .en {
    color: #BABABA;
    font-size: 5rem; }
    @media screen and (max-width: 768px) {
      #category02 .about .en {
        font-size: 4rem; } }
  #category02 .about li {
    border-radius: 16px;
    padding: 20px 40px;
    display: flex;
    margin-bottom: 10px; }
    @media screen and (max-width: 768px) {
      #category02 .about li {
        display: block;
        padding: 15px 20px;
        border-radius: 10px; } }
    #category02 .about li .title {
      font-size: 1.6rem;
      width: 15%; }
      @media screen and (max-width: 768px) {
        #category02 .about li .title {
          font-size: 1.3rem;
          width: 100%; } }
    #category02 .about li p {
      width: 85%; }
      @media screen and (max-width: 768px) {
        #category02 .about li p {
          width: 100%; } }
    #category02 .about li .line {
      border-bottom: 1px solid #000;
      position: relative;
      padding-left: 2em;
      font-size: 1.6rem;
      display: block;
      line-height: 1.6;
      padding-bottom: 0.2em;
      margin-bottom: 0.2em; }
      @media screen and (max-width: 768px) {
        #category02 .about li .line {
          font-size: 1.3rem; } }
      #category02 .about li .line span {
        position: absolute;
        left: 0; }
#category02 .step {
  margin-bottom: 60px; }
  @media screen and (max-width: 768px) {
    #category02 .step {
      margin-bottom: 40px; } }
  #category02 .step .container {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 768px) {
      #category02 .step .container {
        display: block; } }
#category02 .exsample {
  padding: 40px 0; }
  #category02 .exsample .container {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 768px) {
      #category02 .exsample .container {
        display: block; } }
  #category02 .exsample ul {
    width: 47%; }
    @media screen and (max-width: 768px) {
      #category02 .exsample ul {
        width: 100%; } }
  #category02 .exsample li {
    margin-bottom: 1em;
    font-size: 1.6rem; }
    @media screen and (max-width: 768px) {
      #category02 .exsample li {
        font-size: 1.3rem; } }
    #category02 .exsample li:not(:last-child) {
      border-bottom: 1px solid #BABABA; }
    #category02 .exsample li:nth-child(1) {
      border-color: #A3D8A3;
      margin-bottom: 2em; }

#category03 header {
  background: url("../img/category03_mv.jpg") center center no-repeat;
  background-size: cover; }
#category03 .about {
  margin-bottom: 60px; }
  @media screen and (max-width: 768px) {
    #category03 .about {
      margin-bottom: 40px; } }
  #category03 .about .en {
    color: #BABABA;
    font-size: 5rem; }
    @media screen and (max-width: 768px) {
      #category03 .about .en {
        font-size: 4rem; } }
#category03 .seminar {
  background: #FBFBF4;
  padding: 60px 0;
  margin-bottom: 60px; }
  @media screen and (max-width: 768px) {
    #category03 .seminar {
      padding: 40px 0;
      margin-bottom: 40px; } }
  #category03 .seminar .btn {
    margin-top: 30px; }
#category03 .pdf {
  background: #F3F3E7;
  padding: 60px 0;
  margin-bottom: 60px; }
  @media screen and (max-width: 768px) {
    #category03 .pdf {
      padding: 40px 0;
      margin-bottom: 40px; } }
  #category03 .pdf .btn {
    margin-top: 30px; }
#category03 .media {
  background: #F7F7E6;
  padding: 60px 0;
  margin-bottom: 60px; }
  @media screen and (max-width: 768px) {
    #category03 .media {
      padding: 40px 0;
      margin-bottom: 40px; } }
  #category03 .media .btn {
    margin-top: 30px; }
#category03 .article {
  background: #EEEEE2;
  padding: 60px 0;
  margin-bottom: 60px; }
  @media screen and (max-width: 768px) {
    #category03 .article {
      padding: 40px 0;
      margin-bottom: 40px; } }
  #category03 .article .btn {
    margin-top: 30px; }
#category03 .list li {
  margin-bottom: 1em;
  font-size: 1.6rem;
  border-bottom: 1px solid #BABABA; }
  @media screen and (max-width: 768px) {
    #category03 .list li {
      font-size: 1.3rem; } }
  #category03 .list li.bold {
    border-color: #D8D8A3;
    margin-bottom: .5em; }
#category03 section .box {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }
  @media screen and (max-width: 768px) {
    #category03 section .box {
      display: block; } }
  #category03 section .box p {
    border-bottom: 1px solid #D8D8A3;
    width: 100%;
    margin-bottom: 1em; }
  #category03 section .box .list {
    width: 47%; }
    @media screen and (max-width: 768px) {
      #category03 section .box .list {
        width: 100%; } }
#category03 .news {
  margin-top: 30px; }
  #category03 .news .list {
    display: flex;
    align-items: center;
    margin-bottom: 40px; }
    @media screen and (max-width: 768px) {
      #category03 .news .list {
        flex-wrap: wrap;
        margin-bottom: 30px; } }
    #category03 .news .list a {
      display: block;
      width: 19%;
      font-size: 1.8rem;
      color: #fff;
      padding: .5em 0; }
      @media screen and (max-width: 768px) {
        #category03 .news .list a {
          font-size: 1.2rem;
          width: 33%; } }
  #category03 .news .icon_all {
    background: #139239; }
  #category03 .news .icon_news {
    background: #9AB740; }
  #category03 .news .icon_seminar {
    background: #D8D8A3; }
  #category03 .news .icon_official {
    background: #98983E; }
  #category03 .news .icon_media {
    background: #BABA31; }
  #category03 .news .icon_column {
    background: #777700; }
  #category03 .news li {
    display: flex;
    align-items: center;
    border-bottom: 1px solid #707070;
    margin-bottom: 1.5em;
    padding-bottom: 1.5em; }
    @media screen and (max-width: 768px) {
      #category03 .news li {
        flex-wrap: wrap; } }
  #category03 .news .time {
    font-size: 1.6rem;
    color: #BABABA; }
    @media screen and (max-width: 768px) {
      #category03 .news .time {
        font-size: 1.2rem; } }
  #category03 .news .icon {
    font-size: 1.4rem;
    width: 10%;
    color: #fff;
    text-align: center;
    margin: 0 10px;
    text-shadow: -1px -1px 0 #222, 1px -1px 0 #222, -1px 1px 0 #222, 1px 1px 0 #222, 0 2px 3px rgba(0, 0, 0, .8);}
    @media screen and (max-width: 768px) {
      #category03 .news .icon {
        font-size: 1.2rem;
        width: 25%; } }
  #category03 .news a {
    font-size: 1.6rem; }
    @media screen and (max-width: 768px) {
      #category03 .news a {
        width: 100%;
        margin-top: .5em;
        line-height: 1.6;
        font-size: 1.3rem; } }
#category03 .target h4 {
  text-align: center;
  border-bottom: 1px solid #707070;
  margin-top: 40px; }
  @media screen and (max-width: 768px) {
    #category03 .target h4 {
      margin-top: 30px; } }
#category03 .target .container > ul > li {
  border-radius: 16px;
  padding: 20px 40px;
  display: flex;
  margin-bottom: 10px; }
  @media screen and (max-width: 768px) {
    #category03 .target .container > ul > li {
      display: block;
      padding: 15px 20px;
      border-radius: 10px; } }
  #category03 .target .container > ul > li .title {
    font-size: 1.6rem;
    width: 15%; }
    @media screen and (max-width: 768px) {
      #category03 .target .container > ul > li .title {
        font-size: 1.3rem;
        width: 100%; } }
  #category03 .target .container > ul > li .text {
    width: 85%; }
    @media screen and (max-width: 768px) {
      #category03 .target .container > ul > li .text {
        width: 100%; } }
  #category03 .target .container > ul > li .line {
    margin-top: 2em; }
    #category03 .target .container > ul > li .line li {
      border-bottom: 1px solid #000;
      position: relative;
      padding-left: 3em;
      font-size: 1.6rem;
      line-height: 1.6;
      padding-bottom: .2em;
      margin-bottom: .2em; }
      @media screen and (max-width: 768px) {
        #category03 .target .container > ul > li .line li {
          font-size: 1.3rem; } }
    #category03 .target .container > ul > li .line span {
      position: absolute;
      left: 0; }
#category03 .target .mb {
  margin-bottom: 60px; }
  @media screen and (max-width: 768px) {
    #category03 .target .mb {
      margin-bottom: 30px; } }

#category04 header {
  background: url("../img/category04_mv.jpg") center center no-repeat;
  background-size: cover; }
#category04 .about {
  margin-bottom: 60px; }
  @media screen and (max-width: 768px) {
    #category04 .about {
      margin-bottom: 40px; } }
  #category04 .about .en {
    color: #BABABA;
    font-size: 5rem; }
    @media screen and (max-width: 768px) {
      #category04 .about .en {
        font-size: 4rem; } }
  #category04 .about ul {
    display: flex;
    align-items: center;
    justify-content: center; }
    @media screen and (max-width: 768px) {
      #category04 .about ul {
        display: block;
        text-align: center; } }
  #category04 .about li:nth-child(1) a {
    border: 3px solid #C766A8; }
  #category04 .about li:nth-child(2) a {
    border: 3px solid #9565BC; }
  #category04 .about a {
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.3);
    width: 420px;
    margin: 0 15px; }
    @media screen and (max-width: 768px) {
      #category04 .about a {
        width: 90%;
        margin: 5px auto; } }
#category04 .document {
  padding: 40px 0;
  margin-bottom: 60px; }
  @media screen and (max-width: 768px) {
    #category04 .document {
      margin-bottom: 40px; } }
  #category04 .document h2 {
    margin-bottom: .3em; }
  #category04 .document .youtube {
    margin-bottom: 10px; }
    #category04 .document .youtube .title01 {
      background: #A83B86;
      padding: 20px 0; }
      @media screen and (max-width: 768px) {
        #category04 .document .youtube .title01 {
          padding: 10px 0; } }
    #category04 .document .youtube .container {
      position: relative;
      height: 0;
      padding-top: 38%;
      max-width: 70%; }
      @media screen and (max-width: 768px) {
        #category04 .document .youtube .container {
          max-width: 90%;
          padding-top: 42%; } }
    #category04 .document .youtube iframe {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    #category04 .document .youtube .title02 {
      background: #F7E6F2;
      padding: 20px 0;
      margin-top: 20px; }
      @media screen and (max-width: 768px) {
        #category04 .document .youtube .title02 {
          padding: 10px 0; } }
  #category04 .document hr {
    height: 1px;
    background: #C766A8;
    border: none;
    margin: 20px 0; }
  #category04 .document .center_img {
    background: #F7E6F2;
    padding: 40px 0;
    margin: 40px 0; }
    @media screen and (max-width: 768px) {
      #category04 .document .center_img {
        padding: 20px 0;
        margin: 20px 0; } }
    #category04 .document .center_img .img01 {
      margin-bottom: 20px; }
      @media screen and (max-width: 768px) {
        #category04 .document .center_img .img01 {
          margin-bottom: 10px; } }
  #category04 .document .feature {
    margin: 40px 0; }
    @media screen and (max-width: 768px) {
      #category04 .document .feature {
        margin: 20px 0; } }
    #category04 .document .feature li {
      background: #fff;
      border-radius: 15px;
      padding: .3em 1em .3em 2.4em;
      position: relative;
      font-size: 1.6rem;
      margin-bottom: 10px;
      line-height: 1.5; }
      @media screen and (max-width: 768px) {
        #category04 .document .feature li {
          font-size: 1.3rem; } }
      #category04 .document .feature li::after {
        content: '●';
        position: absolute;
        left: 10px;
        top: 50%;
        color: #C766A8;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%); }
  #category04 .document .people li {
    background: #fff;
    border-radius: 15px;
    padding: .4em 0;
    text-align: center;
    font-size: 2rem;
    border: 3px solid #C766A8;
    margin-bottom: 10px; }
    @media screen and (max-width: 768px) {
      #category04 .document .people li {
        font-size: 1.6rem;
        padding: .4em;
        line-height: 1.5;
        border-radius: 8px; } }
#category04 .step {
  margin-bottom: 60px; }
  @media screen and (max-width: 768px) {
    #category04 .step {
      margin-bottom: 40px; } }
  #category04 .step .container {
    display: flex;
    align-items: center;
    justify-content: space-between; }
    @media screen and (max-width: 768px) {
      #category04 .step .container {
        display: block; } }
  #category04 .step ul {
    display: flex; }
    @media screen and (max-width: 768px) {
      #category04 .step ul {
        display: block; } }
  #category04 .step li {
    width: 230px;
    margin: 0 10px; }
    @media screen and (max-width: 768px) {
      #category04 .step li {
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin: 0 0 10px; } }
  #category04 .step .box {
    height: 150px;
    font-size: 2rem;
    line-height: 1.5;
    border-radius: 10px;
    padding-top: .5em;
    margin-bottom: 10px; }
    @media screen and (max-width: 768px) {
      #category04 .step .box {
        height: auto;
        font-size: 1.3rem;
        padding: 1em 0;
        width: 50%;
        margin-bottom: 0; } }
  #category04 .step strong {
    display: block;
    font-size: 4rem; }
    @media screen and (max-width: 768px) {
      #category04 .step strong {
        font-size: 2rem; } }
  #category04 .step span {
    line-height: 60px; }
    @media screen and (max-width: 768px) {
      #category04 .step span {
        line-height: 1.5; } }
  @media screen and (max-width: 768px) {
    #category04 .step p {
      width: 45%;
      line-height: 1.5; } }
#category04 .cta {
  padding: 30px 0; }
#category04 .lastbox {
  padding: 60px 0; }
  @media screen and (max-width: 768px) {
    #category04 .lastbox {
      padding: 30px 0; } }
  #category04 .lastbox .container {
    border: 10px solid #C766A8;
    padding: 30px 0; }
    @media screen and (max-width: 768px) {
      #category04 .lastbox .container {
        padding: 20px 0; } }
#category04 .underline {
  border-bottom: 5px solid #C766A8;
  margin: 60px 0 10px;
  font-size: 0; }
  @media screen and (max-width: 768px) {
    #category04 .underline {
      margin-top: 20px; } }
  #category04 .underline img {
    width: 30%; }
    @media screen and (max-width: 768px) {
      #category04 .underline img {
        width: 50%; } }
#category04 .topline {
  border-top: 5px solid #9565BC;
  font-size: 0; }
  #category04 .topline img {
    width: 30%; }
    @media screen and (max-width: 768px) {
      #category04 .topline img {
        width: 50%; } }
#category04 .land {
  margin-top: 60px;
  padding: 60px 0; }
  @media screen and (max-width: 768px) {
    #category04 .land {
      margin-top: 20px;
      padding: 40px 0; } }
  #category04 .land h2 {
    margin: 0 0 .2em; }
  #category04 .land .copy {
    margin: 1em 0 2em; }
  #category04 .land .center_img {
    margin: 20px 0 60px; }
    @media screen and (max-width: 768px) {
      #category04 .land .center_img {
        margin: 10px 0 30px; } }
  #category04 .land .feature {
    margin: 30px 0 40px; }
    @media screen and (max-width: 768px) {
      #category04 .land .feature {
        margin: 20px 0; } }
    #category04 .land .feature li {
      background: #fff;
      border-radius: 15px;
      padding: .3em 1em .3em 2.4em;
      position: relative;
      font-size: 1.6rem;
      margin-bottom: 10px;
      line-height: 1.5; }
      @media screen and (max-width: 768px) {
        #category04 .land .feature li {
          font-size: 1.3rem; } }
      #category04 .land .feature li::after {
        content: '●';
        position: absolute;
        left: 10px;
        top: 50%;
        color: #9565BC;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%); }
  #category04 .land .people {
    margin-bottom: 40px; }
    @media screen and (max-width: 768px) {
      #category04 .land .people {
        margin-bottom: 20px; } }
    #category04 .land .people li {
      background: #fff;
      border-radius: 15px;
      padding: .4em 0;
      text-align: center;
      font-size: 2rem;
      border: 3px solid #9565BC;
      margin-bottom: 10px; }
      @media screen and (max-width: 768px) {
        #category04 .land .people li {
          font-size: 1.6rem;
          padding: .4em;
          line-height: 1.5;
          border-radius: 8px; } }
  #category04 .land .land_step {
    margin: 60px 0;
    padding: 40px 0; }
    @media screen and (max-width: 768px) {
      #category04 .land .land_step {
        margin: 40px 0;
        padding: 30px 0; } }
  #category04 .land .var {
    margin-top: 40px; }
    @media screen and (max-width: 768px) {
      #category04 .land .var {
        display: block; } }
    #category04 .land .var .img {
      margin-bottom: 10px; }
    #category04 .land .var .price {
      border-bottom: 1px solid #9565BC;
      margin: 10px 0;
      font-size: 2.5rem; }
      @media screen and (max-width: 768px) {
        #category04 .land .var .price {
          font-size: 1.6rem; } }
#category04 .notes {
  margin-top: 10px;
  margin-bottom: 120px; }
  @media screen and (max-width: 768px) {
    #category04 .notes {
      margin-bottom: 60px; } }

#contact header {
  background: url("../img/category_mv.jpg") center center no-repeat;
  background-size: cover; }
@media screen and (max-width: 768px) {
  #contact h4 {
    font-size: 1.7rem; } }
#contact .form_box {
  padding: 40px 0;
  background: #E3F2E7;
  margin: 60px 0; }
  @media screen and (max-width: 768px) {
    #contact .form_box {
      margin: 40px 0; } }
  #contact .form_box .notes {
    font-size: 2rem;
    margin-bottom: 40px; }
    @media screen and (max-width: 768px) {
      #contact .form_box .notes {
        font-size: 1.6rem;
        margin-bottom: 30px; } }
    #contact .form_box .notes span {
      color: #921313;
      font-size: 120%; }
  #contact .form_box table {
    width: 100%;
    font-size: 1.4rem;
    text-align: left; }
  #contact .form_box tr {
    display: flex;
    margin-bottom: 10px;
    font-size: 2rem; }
    @media screen and (max-width: 768px) {
      #contact .form_box tr {
        flex-wrap: wrap;
        font-size: 1.6rem;
        margin-bottom: 5px; } }
  #contact .form_box th {
    width: 30%;
    font-weight: bold;
    position: relative; }

#contact .form_box th.required::after {
  content: '■';
  color: #921313;
  position: absolute;
  right: 10px;
  top: 0; }


      @media screen and (max-width: 768px) {
        #contact .form_box th.required::after {
          right: auto;
          left: 0;
          top: 1px;
          padding-left: 5px; }

        #contact .form_box td.comment,
        #contact .form_box th {
          padding-left: 25px;
        }

        #contact .form_box .confirm td.comment,
        #contact .form_box .confirm th {
          padding-left: 0px;
        }

      }
    @media screen and (max-width: 768px) {
      #contact .form_box th {
        width: 100%;
        margin-bottom: .2em; } }
  #contact .form_box td {
    width: 70%; }
    @media screen and (max-width: 768px) {
      #contact .form_box td {
        width: 100%; } }
  #contact .form_box input[type="text"],
  #contact .form_box input[type="tel"],
  #contact .form_box input[type="email"] {
    width: 100%;
    padding: .5em;
    border: none; }
  #contact .form_box textarea {
    width: 100%;
    min-height: 200px;
    padding: .5em;
    border: none; }
  #contact .form_box .scroll {
    background: #fff;
    padding: 20px;
    height: 160px;
    overflow-y: scroll; }
  #contact .form_box .check {
    text-align: center;
    margin: 40px 0;
    font-size: 2rem; }
    @media screen and (max-width: 768px) {
      #contact .form_box .check {
        margin: 20px 0;
        font-size: 1.6rem; } }

#contact ul.btn-li {
  display: block;
  margin: 0;
  padding: 50px 0 30px;
}

#contact ul.btn-li li {
  display: inline-block;
  margin-right: 10px;
}
  #contact .form_box input[type="submit"] {
    display: inline-block;
    width: 300px;
    margin: 0 auto;
    background-color: #139239;
    color: #fff;
    font-weight: bold;
    padding: .8em 0;
    -webkit-transition: background-color .2s;
    transition: background-color .2s;
    cursor: pointer;
    -webkit-appearance: none;
    font-size: 2rem;
    border-radius: 5px;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.3);
    border: none;
  }
    #contact .form_box input[type="submit"]:hover {
      background: #42A05E;
    }

#contact .form_box #btn-prev {
  display: inline-block;
  width: 300px;
  margin: 0 auto;
  background-color: #999;
  color: #fff;
  font-weight: bold;
  padding: .8em 0;
  -webkit-transition: background-color .2s;
  transition: background-color .2s;
  cursor: pointer;
  -webkit-appearance: none;
  font-size: 2rem;
  border-radius: 5px;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.3);
  border: none;
}
#contact .form_box #btn-prev:hover {
  background: #888;
}
    @media screen and (max-width: 768px) {
      #contact ul.btn-li {
        display: table;
        width: 100%;
      }
      #contact ul.btn-li li {
        width: 50%;
        display: table-cell;
        vertical-align: top;
        text-align: center;
      }
      #contact .form_box #btn-prev,
      #contact .form_box input[type="submit"] {
        width: 80%;
        padding: 1em 0;
        font-size: 1.6rem; } }
  #contact .form_box input[type="submit"][disabled] {
    background-color: #139239;
    cursor: default; }

#news_all header {
  background: url("../img/news01_mv.jpg") center center no-repeat;
  background-size: cover; }
#news_all .article_header {
  background: url("../img/news02_mv.jpg") center center no-repeat;
  background-size: cover; }
#news_all .news {
  padding: 0 0 50px; }
  #news_all .news .list {
    display: flex;
    align-items: center;
    margin-bottom: 40px; }
    @media screen and (max-width: 768px) {
      #news_all .news .list {
        flex-wrap: wrap;
        margin-bottom: 30px; } }
    #news_all .news .list a {
      display: block;
      width: 19%;
      font-size: 1.8rem;
      color: #fff;
      padding: .5em 0;
      text-shadow:
              -1px -1px 0 #222,
              1px -1px 0 #222,
              -1px  1px 0 #222,
              1px  1px 0 #222,
              0    2px 3px rgba(0, 0, 0, .8);}
      @media screen and (max-width: 768px) {
        #news_all .news .list a {
          font-size: 1.2rem;
          width: 33%; } }
  #news_all .news .icon_all {
    background: #139239; }
  #news_all .news .icon_news {
    background: #9AB740; }
  #news_all .news .icon_seminar {
    background: #D8D8A3; }
  #news_all .news .icon_official {
    background: #98983E; }
  #news_all .news .icon_media {
    background: #BABA31; }
  #news_all .news .icon_column {
    background: #777700; }
  #news_all .news li {
    display: flex;
    align-items: center;
    border-bottom: 1px solid #707070;
    margin-bottom: 1.5em;
    padding-bottom: 1.5em; }
    @media screen and (max-width: 768px) {
      #news_all .news li {
        flex-wrap: wrap; } }
  #news_all .news .time {
    font-size: 1.6rem;
    color: #BABABA; }
    @media screen and (max-width: 768px) {
      #news_all .news .time {
        font-size: 1.2rem; } }
  #news_all .news .icon {
    font-size: 1.4rem;
    width: 10%;
    color: #fff;
    text-align: center;
    margin: 0 10px;
    text-shadow:
            -1px -1px 0 #222,
            1px -1px 0 #222,
            -1px  1px 0 #222,
            1px  1px 0 #222,
            0    2px 3px rgba(0, 0, 0, .8);}
    @media screen and (max-width: 768px) {
      #news_all .news .icon {
        font-size: 1.2rem;
        width: 25%; } }
  #news_all .news a {
    font-size: 1.6rem; }
    @media screen and (max-width: 768px) {
      #news_all .news a {
        width: 100%;
        margin-top: .5em;
        line-height: 1.6;
        font-size: 1.3rem; } }
#news_all article {
  padding-bottom: 100px; }
  @media screen and (max-width: 768px) {
    #news_all article {
      padding-bottom: 40px; } }
  #news_all article h3 {
    margin-bottom: 0;
    line-height: 1.5;
    padding-bottom: .2em; }
  #news_all article .date {
    border-top: 1px solid #707070;
    color: #BABABA;
    margin-bottom: 1em;
    padding-top: .5em; }
  #news_all article .img {
    margin-bottom: 30px; }
    @media screen and (max-width: 768px) {
      #news_all article .img {
        margin-bottom: 20px; } }

#article header {
  background: url("../img/news02_mv.jpg") center center no-repeat;
  background-size: cover; }
