@charset "UTF-8";
*, *::after, *::before {
  box-sizing: border-box; }

body {
  margin: 0;
  line-height: 1; }

ul, ol {
  list-style: none;
  margin: 0; }

dl, dt, dd {
  margin: 0; }

a {
  text-decoration: none; }

h1, h2, h3, h4, h5, h6, p, ul, ol {
  margin: 0;
  padding: 0; }

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
  image-rendering: -webkit-optimize-contrast; }

button {
  background-color: inherit;
  padding: 0;
  border: none; }

iframe {
  border: none;
  width: 100%; }

figure {
  margin: 0; }

* {
  word-wrap: break-word; }

:root {
  --main-color: #2cb696;
  --blue-color: #7acec6;
  --middle-green-color: rgba(134,198,140,0.2);
  --grey-color: #666 ; }

html {
  font-family: "Helvetica", "Arial", YuGothic,"Yu Gothic","Hiragino Sans","ヒラギノ角ゴシック","メイリオ", Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
  font-weight: 500; }

a {
  color: #00698C; }

button {
  cursor: pointer; }

.svg_sym {
  display: none; }

.section_title {
  font-size: 30px;
  border-bottom: solid 6px #eee;
  padding: 0 0 0.8em;
  margin: 0 0 1em; }

.l-wrapper {
  max-width: 1024px;
  margin: 0 auto;
  padding: 2em 0; }

.l-wrapper-wide {
  max-width: 80%;
  padding: 2em 0; }

@media screen and (min-width: 1024px) {
  .l-content {
    display: flex;
    position: relative; } }
.l-content.right_main {
  flex-direction: row-reverse; }

.l-content-main {
  padding: 10px; }
  @media screen and (min-width: 1024px) {
    .l-content-main {
      width: 100%;
      margin-right: 40px;
      max-width: 700px; } }

@media screen and (min-width: 1024px) {
  .l-content.col-1 .l-content-main {
    max-width: inherit; } }

body.single .l-content-main {
  max-width: inherit;
  margin: 0 auto; }

@media screen and (min-width: 1024px) {
  .l-wrapper-wide .l-content-main {
    max-width: 100%;
    margin-right: 0; } }

.l-content-sub {
  padding: 20px; }
  @media screen and (min-width: 1024px) {
    .l-content-sub {
      padding: 0;
      position: relative;
      max-width: 300px;
      flex-basis: 300px;
      margin: 0 auto 40px 0; } }
  .l-content-sub .sub-2 {
    position: sticky;
    top: 0;
    right: 0; }

.l-wrapper--col3 {
  max-width: 1240px; }
  @media screen and (min-width: 1024px) {
    .l-wrapper--col3 .l-content-main {
      margin: 0 20px;
      max-width: 678px;
      order: 2; } }
  @media screen and (min-width: 1024px) {
    .l-wrapper--col3 .l-content-main-sidebar {
      order: 1;
      max-width: 240px;
      flex-basis: 240px; } }
  @media screen and (min-width: 1024px) {
    .l-wrapper--col3 .l-content-sub-sidebar {
      order: 3;
      width: 300px; } }

.page-title {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 240px;
  background: url(../images/page_title_bg.jpg) no-repeat center center;
  background-size: cover;
  position: relative; }
  .page-title::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background: #333;
    z-index: 1;
    mix-blend-mode: soft-light; }
  .page-title h1 {
    text-align: center;
    font-weight: normal;
    color: #FFF;
    position: relative;
    z-index: 2; }
    .page-title h1 .ja {
      font-size: 38px;
      display: block;
      margin: 0 0 10px; }
    .page-title h1 .en {
      font-size: 14px;
      display: block;
      letter-spacing: .3em; }

.center {
  text-align: center; }

@media screen and (min-width: 768px) {
  .md-hide {
    display: none; } }

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

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

/* CSS Document */
.l-sidenavi-page {
  display: flex; }
  .l-sidenavi-page .main {
    padding: 20px;
    flex: 1; }
    @media screen and (min-width: 768px) {
      .l-sidenavi-page .main {
        padding: 40px; } }

/* CSS Document */
h3, .h3 {
  font-size: clamp(16px, 5vw, 24px);
  margin: 0 0 1em;
  background: #f2f2f2;
  padding: 1em;
  font-weight: normal; }

.btn {
  padding: 0.8em 1em;
  border: none;
  border-radius: 4px;
  font-size: clamp(14px, 3vw, 16px);
  text-align: center;
  background: #2cb696;
  color: #FFF;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  cursor: pointer;
  margin: 1em auto 1em;
  transitoin: all .3s ease; }
  .btn:hover {
    background: #000; }

.msg_box {
  text-align: center;
  margin: 1em 0;
  padding: 1em;
  border: solid 1px #AA0000;
  background: rgba(255, 0, 0, 0.1);
  border-radius: 2px;
  color: #AA0000; }
  .msg_box.success {
    border-color: #04a60e;
    background: rgba(0, 255, 85, 0.1);
    color: #04a60e; }

form,
.form-fieldset,
.woocommerce-form,
.woocommerce-EditAccountForm,
.woocommerce-ResetPassword {
  margin: 2em 0; }
  form .form-label,
  .form-fieldset .form-label,
  .woocommerce-form .form-label,
  .woocommerce-EditAccountForm .form-label,
  .woocommerce-ResetPassword .form-label {
    margin: 0 0 0.7em; }
  form .form-control,
  .form-fieldset .form-control,
  .woocommerce-form .form-control,
  .woocommerce-EditAccountForm .form-control,
  .woocommerce-ResetPassword .form-control {
    margin: 0 0 1em; }
  form input[type="text"],
  form input[type="date"],
  form input[type="tel"],
  form input[type="email"],
  form input[type="search"],
  form input[type="password"],
  form textarea,
  form select,
  .form-fieldset input[type="text"],
  .form-fieldset input[type="date"],
  .form-fieldset input[type="tel"],
  .form-fieldset input[type="email"],
  .form-fieldset input[type="search"],
  .form-fieldset input[type="password"],
  .form-fieldset textarea,
  .form-fieldset select,
  .woocommerce-form input[type="text"],
  .woocommerce-form input[type="date"],
  .woocommerce-form input[type="tel"],
  .woocommerce-form input[type="email"],
  .woocommerce-form input[type="search"],
  .woocommerce-form input[type="password"],
  .woocommerce-form textarea,
  .woocommerce-form select,
  .woocommerce-EditAccountForm input[type="text"],
  .woocommerce-EditAccountForm input[type="date"],
  .woocommerce-EditAccountForm input[type="tel"],
  .woocommerce-EditAccountForm input[type="email"],
  .woocommerce-EditAccountForm input[type="search"],
  .woocommerce-EditAccountForm input[type="password"],
  .woocommerce-EditAccountForm textarea,
  .woocommerce-EditAccountForm select,
  .woocommerce-ResetPassword input[type="text"],
  .woocommerce-ResetPassword input[type="date"],
  .woocommerce-ResetPassword input[type="tel"],
  .woocommerce-ResetPassword input[type="email"],
  .woocommerce-ResetPassword input[type="search"],
  .woocommerce-ResetPassword input[type="password"],
  .woocommerce-ResetPassword textarea,
  .woocommerce-ResetPassword select {
    border: solid 1px #CCC;
    border-radius: 4px;
    padding: 0.5em; }
  form input[type="password"],
  form input[type="email"],
  form input[type="tel"],
  form input[type="search"],
  form input[type="text"],
  .form-fieldset input[type="password"],
  .form-fieldset input[type="email"],
  .form-fieldset input[type="tel"],
  .form-fieldset input[type="search"],
  .form-fieldset input[type="text"],
  .woocommerce-form input[type="password"],
  .woocommerce-form input[type="email"],
  .woocommerce-form input[type="tel"],
  .woocommerce-form input[type="search"],
  .woocommerce-form input[type="text"],
  .woocommerce-EditAccountForm input[type="password"],
  .woocommerce-EditAccountForm input[type="email"],
  .woocommerce-EditAccountForm input[type="tel"],
  .woocommerce-EditAccountForm input[type="search"],
  .woocommerce-EditAccountForm input[type="text"],
  .woocommerce-ResetPassword input[type="password"],
  .woocommerce-ResetPassword input[type="email"],
  .woocommerce-ResetPassword input[type="tel"],
  .woocommerce-ResetPassword input[type="search"],
  .woocommerce-ResetPassword input[type="text"] {
    max-width: 100%;
    width: 100%; }
    @media screen and (min-width: 768px) {
      form input[type="password"],
      form input[type="email"],
      form input[type="tel"],
      form input[type="search"],
      form input[type="text"],
      .form-fieldset input[type="password"],
      .form-fieldset input[type="email"],
      .form-fieldset input[type="tel"],
      .form-fieldset input[type="search"],
      .form-fieldset input[type="text"],
      .woocommerce-form input[type="password"],
      .woocommerce-form input[type="email"],
      .woocommerce-form input[type="tel"],
      .woocommerce-form input[type="search"],
      .woocommerce-form input[type="text"],
      .woocommerce-EditAccountForm input[type="password"],
      .woocommerce-EditAccountForm input[type="email"],
      .woocommerce-EditAccountForm input[type="tel"],
      .woocommerce-EditAccountForm input[type="search"],
      .woocommerce-EditAccountForm input[type="text"],
      .woocommerce-ResetPassword input[type="password"],
      .woocommerce-ResetPassword input[type="email"],
      .woocommerce-ResetPassword input[type="tel"],
      .woocommerce-ResetPassword input[type="search"],
      .woocommerce-ResetPassword input[type="text"] {
        width: 300px; } }
  form textarea,
  .form-fieldset textarea,
  .woocommerce-form textarea,
  .woocommerce-EditAccountForm textarea,
  .woocommerce-ResetPassword textarea {
    max-width: 100%;
    height: 100px;
    width: 100%; }
    @media screen and (min-width: 768px) {
      form textarea,
      .form-fieldset textarea,
      .woocommerce-form textarea,
      .woocommerce-EditAccountForm textarea,
      .woocommerce-ResetPassword textarea {
        width: 400px; } }
  form label,
  .form-fieldset label,
  .woocommerce-form label,
  .woocommerce-EditAccountForm label,
  .woocommerce-ResetPassword label {
    display: block; }

.form_layout-col2 .form-fieldset {
  margin: 7px 0;
  padding: 7px 0; }
  @media screen and (min-width: 768px) {
    .form_layout-col2 .form-fieldset {
      display: flex;
      align-items: center; } }
  .form_layout-col2 .form-fieldset .form-label {
    flex-basis: 20%;
    margin: 0; }
  .form_layout-col2 .form-fieldset .form-control {
    margin: 0; }

.btnArea {
  text-align: center; }

.button,
.woocommerce-button,
.woocommerce-Button {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 10px 4px;
  font-size: 14px;
  border-radius: 4px;
  background: var(--main-color);
  color: #FFF;
  padding: 0.6em 20px;
  line-height: 2em;
  width: max-content; }

.woocommerce-form-row label {
  display: block; }

.adminbar {
  background: #00698C;
  color: #FFF;
  position: fixed;
  bottom: 0;
  right: 0; }

.adminbar ul {
  margin: 0;
  padding: 0;
  display: flex;
  list-style: none; }

.adminbar ul li {
  margin: 0 .5em;
  font-size: .8rem; }

body#login {
  background: #f2f2f2; }
  body#login h1 {
    font-size: clamp(20px, 5vw, 28px);
    text-align: center;
    margin: 2em 0 1em;
    color: #222; }
  body#login h2 {
    font-size: clamp(20px, 5vw, 28px);
    text-align: center;
    margin: 0 0 1em;
    color: #222; }
  body#login .loginBox {
    padding: clamp(20px, 5vw, 50px);
    background: #FFF;
    max-width: 600px;
    margin: 0 auto;
    border: 1px solid #eee; }
  body#login p {
    font-size: clamp(14px, 3vw, 16px);
    line-height: 1.5;
    margin: 0 0 2em; }
  body#login .formItem + .formItem {
    margin: 20px 0 0; }
  body#login input[type="text"],
  body#login input[type="password"] {
    width: 100%;
    padding: 12px;
    border: 1px solid #ccc;
    border-radius: 2px;
    font-size: 16px; }
  body#login .formFooter {
    margin: 3em 0 0; }

.data-table .data-row {
  display: flex;
  border-bottom: solid 1px #CCC; }
  .data-table .data-row:nth-child(odd) {
    background: #f2f2f2; }
.data-table .data-col {
  padding: 10px; }
  .data-table .data-col:nth-child(1) {
    flex: 1; }

.top_nav {
  margin: 20px 0; }
  .top_nav li a {
    border: solid 1px;
    padding: 1em;
    display: block;
    text-align: center;
    max-width: 200px;
    margin: 0 0 20px; }
  .top_nav li i {
    font-size: 16px;
    margin: 0 1em 0 0; }

.fa-solid,
.fa-regular {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 30px;
  font-style: normal; }

.client-data .data-row .data-col:nth-child(1) {
  width: 30%; }
.client-data .data-row .data-col:nth-child(2) {
  width: 15%; }
.client-data .data-row .data-col:nth-child(3) {
  width: 15%; }
.client-data .data-row .data-col:nth-child(4) {
  width: 15%; }
.client-data .data-row .data-col:nth-child(5) {
  width: 15%; }
.client-data .data-row .data-col:last-child {
  width: 50px; }

.price_table input[type="text"],
.price_table textarea {
  width: auto; }

.nav-links {
  display: flex;
  justify-content: center;
  margin: 40px 0; }
  .nav-links a {
    display: block;
    padding: 10px;
    border: solid 1px;
    margin: 0 4px; }
  .nav-links a.current {
     background: #00698C;
     color: #FFF;
  }

.data-header {
	margin: 10px 0;
}
.data-header em {
	font-weight: bold;
	font-size: 1.25em;
	font-style: normal;
}
.price_table input[type="text"],
.price_table textarea {
  width: 10px;
  resize: none; }

.doc_header {
  display: flex;
  justify-content: flex-end; }
  .doc_header h2 {
    text-align: right;
    margin: 0 0 6mm;
    font-size: 24pt;
    letter-spacing: 3pt;
    color: #008080; }
  .doc_header input[type="text"] {
    width: 42mm;
    text-align: right; }

.print_area {
  border: solid;
  padding: 10mm 20mm;
  width: 800px; }

.doc_date {
  display: flex;
  justify-content: space-between;
  align-items: center; }
  .doc_date .company {
    border-bottom: solid 3px;
    padding: 0 0 3mm;
    margin: 0 0 6mm; }
  .doc_date textarea {
    line-height: 1.2;
    width: 65mm;
    height: 14mm; }
  .doc_date span {
    font-size: 15pt;
    margin: 0 4mm; }

.doc_company {
  display: flex;
  justify-content: flex-end; }
  .doc_company .company_info {
    width: 57mm; }
    .doc_company .company_info input[type="text"] {
      font-size: 9pt; }
    .doc_company .company_info textarea {
      font-size: 8pt;
      height: 20mm;
      line-height: 1.2; }
  .doc_company .stamp {
    max-width: 20mm;
    margin: 0 0 0 6mm; }

.doc_top_desc {
  width: 60%;
  border-bottom: solid 2px #008080;
  padding: 0 0 2mm; }
  .doc_top_desc p {
    border-bottom: solid 3px #008080;
    padding: 1mm 0;
    margin: 1mm 0; }
  .doc_top_desc .price_total {
    display: flex;
    justify-content: space-between;
    align-items: center; }
    .doc_top_desc .price_total dt {
      font-size: 19pt; }
    .doc_top_desc .price_total dd {
      font-size: 23pt; }
      .doc_top_desc .price_total dd input {
        width: 26mm;
        font-size: 18pt;
        padding: 4px; }
  .doc_top_desc .price_tax {
    display: flex;
    justify-content: flex-end;
    align-items: center; }
    .doc_top_desc .price_tax dt {
      font-size: 13pt;
      margin-right: 2em; }
    .doc_top_desc .price_tax dd {
      font-size: 13pt; }
      .doc_top_desc .price_tax dd input {
        width: 20mm;
        padding: 4px;
        font-size: 13pt; }

.price_table {
  margin: 10mm 0; }
  .price_table table {
    width: 100%;
    border-collapse: collapse; }
    .price_table table thead th {
      background: #CFEAEB;
      border: solid 1px #008080;
      color: #008080;
      border-top-width: 3px;
      border-bottom-width: 3px;
      padding: 5px 0;
      font-weight: normal;
      font-size: 11pt; }
    .price_table table tbody td {
      border: solid 1px #008080; }
      .price_table table tbody td input[type="text"],
      .price_table table tbody td textarea {
        width: 100%; }
      .price_table table tbody td textarea {
        height: 13mm; }
      .price_table table tbody td:nth-child(1) {
        width: 42%; }
      .price_table table tbody td:nth-child(2) {
        width: 10%; }
      .price_table table tbody td:nth-child(3) {
        width: 7%; }
      .price_table table tbody td:nth-child(4) {
        width: 13%; }
      .price_table table tbody td:nth-child(5) {
        width: 13%; }
      .price_table table tbody td:nth-child(6) {
        width: 15%; }
    .price_table table tbody tr:nth-child(even) td {
      background: #CFEAEB; }

.doc_bottom_desc {
  width: 60%;
  border-top: solid 3px #008080;
  padding: 5mm 0 0; }

.globalHeader {
  background: #f2f2f2;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  padding: 10px;
  justify-content: space-between;
  align-items: center; }
  @media screen and (min-width: 1024px) {
    .globalHeader {
      padding: 20px; } }
  .globalHeader .header-logo a {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    align-items: center;
    color: #000; }
  .globalHeader .header-logo h1 {
    padding: 0 0 0 10px;
    font-size: 14px; }
  .globalHeader svg {
    width: 40px; }
  .globalHeader .user_name {
    margin: 0 .5em; }
  .globalHeader .brand {
    flex-grow: 1; }
    .globalHeader .brand a {
      color: #333; }

.l-nav {
  width: 80%;
  position: fixed;
  height: 100vh;
  background: #000;
  color: #FFF;
  top: 0;
  align-items: center;
  justify-content: center;
  transform: translateX(-100%);
  transition: all .3s ease;
  z-index: 200;
  display: none; }
  @media screen and (min-width: 1024px) {
    .l-nav {
      max-width: 300px; } }
  .l-nav.active {
    transform: translateX(0); }
  .l-nav a {
    color: #FFF;
    padding: 10px;
    display: block; }
  .l-nav .nav-wrap {
    padding: 20px; }

.l-overlay {
  z-index: -1;
  opacity: 0;
  transition: all .2s ease;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.4); }

body.overlay .l-overlay {
  z-index: 99;
  opacity: 1; }

.menu-button {
  position: relative;
  z-index: 100; }

.menu-trigger,
.menu-trigger span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box; }

.menu-trigger {
  position: relative;
  width: 22px;
  height: 16px;
  background: none;
  border: none;
  appearance: none;
  cursor: pointer; }
  @media screen and (min-width: 768px) {
    .menu-trigger {
      display: none; } }

.menu-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #000;
  border-radius: 4px; }

.menu-trigger span:nth-of-type(1) {
  top: 0; }

.menu-trigger span:nth-of-type(2) {
  top: calc( 50% - 1px ); }

.menu-trigger span:nth-of-type(3) {
  bottom: 0; }

.menu-trigger.active span:nth-of-type(1) {
  transform: translateY(8px) rotate(-45deg); }

.menu-trigger.active span:nth-of-type(2) {
  opacity: 0; }

.menu-trigger.active span:nth-of-type(3) {
  transform: translateY(-6px) rotate(45deg); }

/* CSS Document */
.nav {
  background: var(--main-color);
  height: 100vh;
  width: 200px;
  top: 0;
  transform: translateX(-100%);
  transition: all .3s ease;
  position: fixed; }
  @media screen and (min-width: 768px) {
    .nav {
      position: sticky;
      transform: translateX(0); } }
  .nav li {
    border-top: solid 1px #FFF;
    border-bottom: solid 1px #FFF;
    color: #FFF; }
  .nav a {
    color: #FFF;
    display: block;
    padding: 1em 10px; }
  .nav span {
    display: block;
    padding: 1em 10px;
    background: #338b76; }

.drawer-nav {
  z-index: 100; }
  .drawer-nav.active {
    transform: translateX(0); }

/* CSS Document */
.globalFooter {
  background: #2cb696;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1em;
  color: #FFF; }
  .globalFooter .copyright {
    font-size: 12px; }
