@charset "UTF-8";
/*
Theme Name: main
Theme URI:
Description:
Author: ailylab
Author URI:
Version: 1.0.0
*/
@import url(https://use.fontawesome.com/releases/v5.3.1/css/all.css);
/*! destyle.css v2.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Anton&display=swap");

*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -webkit-tap-highlight-color: transparent;
  /* 3*/
}

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

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

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

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

.small {
  font-size: 0.75em;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  outline: 0;
  border-radius: 0;
  text-align: inherit;
}

/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */
[type="checkbox"] {
  -webkit-appearance: checkbox;
  appearance: checkbox;
}

[type="radio"] {
  -webkit-appearance: radio;
  appearance: radio;
}

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

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

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}

button[disabled],
[type="button"][disabled],
[type="reset"][disabled],
[type="submit"][disabled] {
  cursor: default;
}

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

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

/**
 * Remove arrow in IE10 & IE11
 */
select::-ms-expand {
  display: none;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

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

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

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

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the outline style in Safari.
 */
[type="search"] {
  outline-offset: -2px;
  /* 1 */
}

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

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

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

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

/*
 * Remove outline for editable content.
 */
[contenteditable] {
  outline: none;
}

/* Table */
/* ============================================ */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption {
  text-align: left;
}

td,
th {
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}

/* Misc */
/* ============================================ */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

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

img[src=""] {
  display: block;
  position: relative;
  width: 100%;
  padding-bottom: 70%;
  border: 1px solid #eee;
}

img[src=""]:after {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  font-size: 24px;
  white-space: nowrap;
  content: "※画像準備中※";
}

/****************************************
1.Setting
*****************************************/
html,
body,
div,
span,
a,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
address,
em,
img,
dl,
dt,
dd,
ol,
ul,
li,
form,
label,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
figcaption,
figure,
footer,
header,
menu,
nav,
section,
time,
video {
  margin: 0px;
  padding: 0px;
  border: none;
  outline: none;
  box-sizing: border-box;
}

body {
  color: #313131;
  font-size: 15px;
  font-family: 'Noto Sans JP', "游ゴシック", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  overflow-x: hidden;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.5;
}

a {
  color: #359ddd;
}

a:hover {
  color: #76b6dd;
}

a[href="#none"] {
  color: #313131;
  text-decoration: none;
  pointer-events: none;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0px auto;
  -webkit-backface-visibility: hidden;
  -ms-transform: translateZ(0);
  /* IE 9 */
  -webkit-transform: translateZ(0);
  /* Chrome, Safari, Opera */
  transform: translateZ(0);
}

/* Chromeで縮小したアイコン画像がぼやける現象への対策 */
img[src$=".png"],
img[src$=".gif"] {
  -webkit-backface-visibility: hidden;
}

p {
  line-height: 2;
}

p.paragraph:nth-of-type(n + 2) {
  margin: 1.5em 0px 0px;
}

figcaption {
  padding: 0.5em;
  text-align: center;
}

a:hover>figure>img {
  opacity: 0.8;
}

table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

table th,
table td {
  padding: 10px;
  border-bottom: 1px solid #dedede;
}

table th:nth-of-type(n + 2),
table td:nth-of-type(n + 2) {
  border-left: 1px solid #dedede;
}

table th {
  background-color: #edf8ff;
}

@media screen and (max-width: 767.98px) {
  .tbl_wrapper {
    overflow-x: scroll;
  }

  .tbl_wrapper>table {
    width: 767px;
  }
}

address {
  font-style: normal;
}

/* .video_wrapper {
  position: relative; } */

.video_wrapper>video {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
  min-width: 100%;
  min-height: 100%;
}

.ww_bw {
  word-wrap: break-word;
}

ol.list,
ul.list {
  margin: 0px 0px 0px 1.5em;
}

p+ol.list,
p+ul.list {
  margin: 0.5em 0px 0px 1.5em;
}

ol.list+p,
ul.list+p {
  margin: 0.5em 0px 0px;
}

ol.list>li+li,
ul.list>li+li {
  margin: 1em 0px 0px;
}

ol.list>li>ul,
ul.list>li>ul {
  margin: 1em 0px 0px 1.5em;
}

ol.list>li>.box,
ul.list>li>.box {
  margin: 1em 0px 0px;
}

dl.list {
  border: 1px solid #dedede;
  border-top: none;
}

dl.list>dt,
dl.list>dd {
  padding: 1em;
  margin: 0px;
  border-top: 1px solid #dedede;
}

dl.list>dt {
  background-color: #ecf8fe;
  color: #231815;
  font-weight: bold;
}

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

.bw>span,
h1>span,
h2>span,
h3>span,
h4>span,
h5>span,
h6>span,
figcaption>span {
  display: inline-block;
}

@media screen and (max-width: 991px) {
  .pc {
    display: none !important;
  }
}

@media screen and (max-width: 767.98px) {
  .tb {
    display: none !important;
  }
}

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

.center {
  text-align: center;
}

@media screen and (min-width: 768px) {
  .pc_center {
    text-align: center;
  }
}

.left {
  text-align: left;
}

.right {
  text-align: right;
}

.em {
  font-size: 16px;
  font-weight: bold;
}

.if_wrapper {
  position: relative;
  padding-bottom: 56.25%;
}

.if_wrapper iframe {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
}

.pagination {
  display: flex;
  justify-content: center;
  margin: 60px 0px 0px;
}

.pagination>a,
.pagination>span {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 2em;
  height: 2em;
  margin: 30px 0.5em 0px;
  border: 1px solid #0046ae;
  font-weight: bold;
}

.pagination>a:link,
.pagination>a:visited,
.pagination>a:active,
.pagination>a:hover {
  color: #034aa6;
  text-decoration: none;
}

.pagination>.prev,
.pagination>.next {
  border: 1px solid transparent;
  background-color: transparent;
}

.pagination>.prev:before,
.pagination>.next:before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.5em;
  height: 0.5em;
  border-right: 2px solid currentColor;
  border-top: 2px solid currentColor;
  content: "";
}

.pagination>.prev:before {
  transform: translateX(-50%) translateY(-50%) rotate(225deg);
}

.pagination>.next:before {
  transform: translateX(-50%) translateY(-50%) rotate(45deg);
}

.pagination>.current {
  background-color: #0046ae;
  color: #fff;
}

.disable_link {
  pointer-events: none;
}

.link_prev_next{
  margin: 6em 3em;
}

@media screen and (max-width: 767.98px) {
  .link_prev_next{
    margin: 6em 1em;
  }
}

.link_prev,
.link_next {
  position: relative;
  padding: 0px 1em;
}


.link_prev {
  float: left;
}

.link_next {
  float: right;
}

.link_prev:before,
.link_next:after {
  position: absolute;
  top: 50%;
  width: 0.5em;
  height: 0.5em;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  content: "";
}

.link_prev:before {
  left: 0px;
  transform: translateY(-50%) rotate(225deg);
}

.link_next:after {
  right: 0px;
  transform: translateY(-50%) rotate(45deg);
}

.oblique {
  font-style: oblique;
}

.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  padding: 1em 0px;
  list-style: none;
}

.breadcrumb>li {
  position: relative;
  font-size: 14px;
}

.breadcrumb>li:nth-of-type(n + 2) {
  padding: 0px 0px 0px 2.5em;
}

.breadcrumb>li:nth-of-type(n + 2):before {
  position: absolute;
  top: 50%;
  left: 1em;
  width: 0.5em;
  height: 0.5em;
  transform: translateY(-50%) rotate(45deg);
  border-right: 2px solid #dedede;
  border-top: 2px solid #dedede;
  content: "";
}

.list_slash {
  list-style: none;
}

.list_slash>li {
  display: inline-block;
  position: relative;
}

.list_slash>li:not(:last-child)::after {
  margin: 0px 0.5em;
  content: "/";
}

.bg_gray {
  padding: 20px;
  background-color: #f6f6f6;
}

.frame_border {
  border: 1px solid #ddd;
}

/****************************************
2. Layout
*****************************************/
.mt1em {
  margin-top: 1em;
}

.mt2em {
  margin-top: 2em;
}

.mt3em {
  margin-top: 3em;
}



.mb3em {
  margin-bottom: 3em;
}

.mt30 {
  margin-top: 30px;
}

div[class="col"],
div[class^="col-"] {
  margin-top: 30px;
}

.row.no_mt {
  margin-top: -30px;
}

.container {
  width: 100%;
}

@media print,
(min-width: 992px) {
  .container {
    margin-left: auto;
    margin-right: auto;
  }
}

@media (min-width: 576px) {
  .container {
    max-width: 100%;
  }
}

@media (min-width: 768px) {
  .container {
    max-width: 100%;
  }
}

@media (min-width: 992px) {
  .container {
    max-width: 100%;
  }
}

@media (min-width: 1100px) {
  .container {
    max-width: 1100px;
  }
}

@media (min-width: 1300px) {
  .container {
    max-width: 1100px;
  }
}

.container_s {
  padding: 0px 15px;
  width: 100%;
}

@media print,
(min-width: 992px) {
  .container_s {
    margin-left: auto;
    margin-right: auto;
    width: 80%;
  }
}

@media (min-width: 768px) {
  .container_s {
    max-width: 768px;
  }
}

@media print,
(min-width: 768px) {
  .col2 {
    display: flex;
    padding: 0px 0px 60px;
  }

  .col2_main {
    order: 2;
    width: 75%;
  }

  .col2_side {
    order: 1;
    margin: 0px 20px 0px 0px;
    width: calc(25% - 20px);
  }
}

@media screen and (max-width: 767.98px) {
  .col2_side {
    margin: 30px 0px 0px;
  }
}

/****************************************
3. header,nav
*****************************************/
@media screen and (max-width: 767.98px) {

  .header_cta,
  .header_menu {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .header {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    position: fixed;
    top: 0px;
    left: 50%;
    z-index: 9999;
    transform: translateX(-50%);
    width: 100%;
    background-color: #fff;
    transition: top 0.5s;
  }

  .header::before {
    position: absolute;
    top: 0px;
    left: calc((50vw - 50%) * -1);
    right: calc((50vw - 50%) * -1);
    z-index: -1;
    bottom: 0px;
    width: 100vw;
    background-color: #fff;
    content: "";
  }

  .header_title {
    margin: 0px 0px 0px 10px;
    width: 150px;
  }

  .header_cta {
    margin: 0px 10px 0px auto;
    display: flex;
    align-items: center;
  }

  .header_menu {
    width: 100%;
  }

  body {
    margin-top: 100px;
  }
}

@media print,
(min-width: 1100px) {
  .header {
    width: 1100px;
  }

  .header_title {
    width: 200px;
  }

  body {
    margin-top: 130px;
  }
}

.header_cta_tel {
  color: #009270;
  font-size: 18px;
  font-weight: bold;
  text-decoration: none;
  text-indent: 0.5px;
  letter-spacing: 0.5px;
}

.header_cta_tel:hover {
  color: #009270;
  opacity: 0.8;
}

.header_cta_download {
  padding: 0.8em 2em;
  margin: 0px 0px 0px 10px;
  background-color: #98b800;
  color: #fff;
  font-weight: bold;
  text-decoration: none;
}

.header_cta_download:hover {
  color: #fff;
  opacity: 0.8;
}

.header_cta_contact {
  padding: 0.8em 2em;
  margin: 0px 0px 0px 10px;
  background-color: #98b800;
  color: #fff;
  font-weight: bold;
  text-decoration: none;
}

.header_cta_contact:hover {
  color: #fff;
  opacity: 0.8;
}

.header_title_logo img {
  max-width: 150px;
}

@media print,
(min-width: 1040px) {
  .header_title_logo img {
    max-width: 200px;
  }
}

.header_menu>.menu>ul {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-around;
  align-items: center;
  padding: 0px;
  margin: 0px;
}

.header_menu>.menu>ul>li {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  height: 60px;
  position: relative;
  list-style-type: none;
}

.header_menu .page_item {
  position: relative;
}

.header_menu .page_item .children {
  display: none;
  background: #00bee6;
  position: absolute;
  top: 100%;
  left: 50%;
  padding: 20px;
  margin: auto;
  width: 260px;
  transform: translate(-50%, 0);
  text-align: center;
}

.header_menu .page_item .children li {
  font-size: 0.9em;
}

.header_menu .page_item .children li:not(:first-child) {
  margin-top: 1em;
}

.header_menu .page_item .children a {
  color: #fff;
}

.page_title {
  position: relative;
  z-index: -1;
  height: 200px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-color: #00bee6;
  margin-top: 155px;
  overflow: hidden;
}

.page_title:before {
  content: "";
  background-color: rgba(31, 31, 31, 0.1);
  width: 30vw;
  height: 100%;
  position: absolute;
  top: 0;
  transform: skewX(-40deg);
  left: -100px;
}

.page_title:after {
  content: "";
  background-color: rgba(31, 31, 31, 0.1);
  width: 30vw;
  height: 100%;
  position: absolute;
  top: 0;
  transform: skewX(-40deg);
  right: -100px;
}

.page_title_base {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}

.page_title_base>h1 {
  padding: 1em;
  width: 100%;
  color: #fff;
  font-weight: bold;
  text-align: center;
  font-size: 2.0em;
}

.post-type-archive-product .page_title,
.single-product .page_title {
  background-image: url(./images/pagetitle/product.jpg);
}

.page-contact .page_title,
.page-contact-child .page_title {
  background-image: url(./images/pagetitle/contact.jpg);
}

.category-news .page_title,
.single-post .page_title {
  background-image: url(./images/pagetitle/news.jpg);
}

.page-privacy .page_title {
  background-image: url(./images/pagetitle/privacy.jpg);
}

.error404 .page_title,
.page-sitemap .page_title {
  background-image: url(./images/pagetitle/common.jpg);
}

/****************************************
4. sidebar
*****************************************/
/****************************************
5. contents
****************************************/
.menu-sitemap-container>.menu {
  margin: -1em 0px 0px 1.5em;
}

.menu-sitemap-container>.menu>li {
  margin: 1em 0px 0px;
  font-size: 17px;
}

.menu-sitemap-container>.menu .sub-menu {
  margin: 0px 0px 0px 2em;
}

.menu-sitemap-container>.menu .sub-menu>li {
  margin: 0.5em 0px 0px;
  font-size: 15px;
}

/****************************************
6. Footer
****************************************/
@media print,
(max-width: 767.98px) {
  .mnavi {
    display: block;
    position: fixed;
    bottom: 0px;
    left: 0px;
    z-index: 9999;
    width: 100%;
    height: 80px;
    background-color: #00bee6;
  }

  body {
    margin-bottom: 80px;
  }

  .mnavi_menu_area a {
    color: #fff;
  }
}

@media print,
(min-width: 768px) {
  .mnavi {
    display: none;
  }
}

.mnavi>ul {
  display: flex;
  justify-content: space-around;
  align-items: center;
  height: 100%;
  list-style: none;
}

.mnavi>ul>li {
  width: 40px;
  height: 40px;
}

.mnavi>ul>li>a,
.mnavi>ul>li>button {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  color: #fff;
  font-size: 2.5vw;
}

.mnavi>ul>li>a:before,
.mnavi>ul>li>button:before {
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 32px;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}

.mnavi_home>a:before {
  content: "\f015";
}

.mnavi_contact>a:before {
  content: "\f0e0";
}

.mnavi_tel>a:before {
  content: "\f095";
}

.mnavi_menu>button:before {
  content: "\f0c9";
}

.mnavi>ul>li>a {
  text-decoration: none;
}

.mnavi>ul>li>button {
  border: none;
  background: none;
  outline: none;
  appearance: none;
  cursor: pointer;
}

.mnavi>ul>li span {
  position: absolute;
  bottom: -1em;
  left: 50%;
  transform: translateX(-50%);
  line-height: 1;
  white-space: nowrap;
}

.mnavi_menu_area {
  display: none;
  position: fixed;
  left: 0px;
  bottom: 80px;
  width: 100vw;
  height: calc(100vh - 80px);
  z-index: 9999;
  background-color: #00bee6;
  overflow-x: hidden;
  overflow-y: scroll;
}

.mnavi_menu_area>.menu {
  width: 80%;
  margin: auto;
  padding: 10vw 0;
}

.mnavi_menu_area>.menu_bottom {
  position: absolute;
  bottom: 10%;
  left: 50%;
  transform: translateX(-50%) translateY(-10%);
  width: 90%;
}

.mnavi_menu_area>.menu>li {
  list-style-type: none;
  text-align: center;
}

.mnavi_menu_area>.menu>li>a {
  display: inline-block;
  padding: 1em 2em;
  color: #fff;
  font-size: 4vw;
  text-decoration: none;
}

#btn_scroll_top {
  display: none;
  position: fixed;
  bottom: 120px;
  right: 30px;
  z-index: 9999;
  width: 50px;
  height: 50px;
  background-color: #00bee6;
  text-decoration: none;
  outline: none;
}

#btn_scroll_top:after {
  position: absolute;
  top: 40%;
  left: 50%;
  width: 20px;
  height: 20px;
  transform: translateX(-50%) rotate(-45deg);
  border-right: 2px solid #fff;
  border-top: 2px solid #fff;
  content: "";
}

@media print,
(min-width: 768px) {
  #btn_scroll_top {
    bottom: 30px;
    width: 42px;
    height: 42px;
  }

  #btn_scroll_top:after {
    width: 12px;
    height: 12px;
  }
}

.cookie_consent {
  position: fixed;
  bottom: 0px;
  left: 0px;
  right: 0px;
  z-index: 9999;
  transform: translateY(100%);
  width: 100%;
  padding: 20px;
  background-color: rgba(0, 0, 0, 0.6);
  color: #fff;
  font-size: 14px;
  visibility: hidden;
  transition: 0.5s;
}

.cookie_consent.js_active {
  transform: translateY(0%);
  visibility: visible;
}

.cookie_consent_text a {
  color: #fff;
  text-decoration: underline;
}

.cookie_consent_button button {
  padding: 0.5em 2em;
  background-color: #98b800;
}

.cookie_consent_button button:hover {
  opacity: 0.8;
}

@media screen and (max-width: 767.98px) {
  .cookie_consent {
    bottom: 80px;
  }

  .cookie_consent_button {
    margin-top: 20px;
    text-align: center;
  }
}

@media screen and (min-width: 768px) {
  .cookie_consent {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .cookie_consent_button {
    margin: 0px 0px 0px 20px;
  }
}

/****************************************
7. single
****************************************/
.single-post p+p {
  margin: 1em 0px 0px;
}
.single-post div.page a{
    color: #00bee6;
    opacity: 0.8;
    transition: 0.5s;
    text-decoration: none;
}
.single-post div.page a:hover{
color: #76b6dd;
}
@media screen and (max-width: 767.98px) {
  .single-post img {
    margin: 1em auto 0px;
  }
}

@media print,
(min-width: 768px) {
  .single-post img {
    margin: 1em 0px 0px;
  }

  .single-post .alignleft {
    display: inline-block;
  }

  .single-post .alignleft+.alignleft {
    margin: 1em 0px 0px 1em;
  }

  .single-post .aligncenter {
    margin: 1em auto 0px;
  }

  .single-post .alignright {
    margin: 1em 0px 0px 100%;
    transform: translateX(-100%);
  }
}

/****************************************
8. WP
****************************************/
/****************************************
9. Print
****************************************/
/****************************************
10. Plugin
****************************************/
.no_must {
  display: block;
  background-color: #fc0;
  padding: 4px 5px;
  font-size: 13px;
  color: #fff;
  float: left;
  margin: 0px 5px;
  border-radius: 4px;
  box-shadow: 0px 0px 5px #ccc;
}

.bx-wrapper {
  background-color: transparent;
  margin: 0px auto 0px;
  border: none;
  box-shadow: none;
}

.bx-wrapper img {
  display: block;
  margin: 0px auto;
}

.bx-wrapper .bx-pager.bx-default-pager a {
  background: #c9e2ff;
}

.bx-wrapper .bx-pager.bx-default-pager a:hover,
.bx-wrapper .bx-pager.bx-default-pager a.active,
.bx-wrapper .bx-pager.bx-default-pager a:focus {
  background: #012065;
}

/****************************************
10. Tweak
****************************************/
/****************************************
11. メールフォームプロ用スタイル
****************************************/
form#mailformpro .mailform {
  margin: 0px;
}

form#mailformpro dl {
  box-sizing: border-box;
}

form#mailformpro dl dt {
  display: flex;
  align-items: flex-start;
  box-sizing: border-box;
  border: none;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.5;
}

form#mailformpro dl dd {
  box-sizing: border-box;
  border: none;
}

form#mailformpro dl dt,
form#mailformpro dl dd {
  border-top: 1px solid #d3dad9;
}

.mfp_colored {
  background: none;
}

.mfp_element_text,
.mfp_element_number,
.mfp_element_select-one,
.mfp_element_email,
.mfp_element_tel,
.mfp_element_textarea {
  padding: 1em;
  margin: 0px;
  width: 100% !important;
  box-sizing: border-box;
  border: 1px solid #F6F6F6;
  background-color: #F6F6F6;
  box-shadow: none;
  font-size: 15px;
  outline: none;
}

.mfp_element_submit,
.mfp_element_reset,
.mfp_element_button {
  padding: 0.5em 3em;
  box-sizing: border-box;
  background: none;
  background-color: #00BBE0;
  box-shadow: none;
  color: #fff;
  font-size: 18px;
  text-shadow: none;
}

.mfp_element_submit:hover,
.mfp_element_reset:hover,
.mfp_element_button:hover {
  background: none;
  background-color: #19D8FF;
  box-shadow: none;
}

div.mfp_err {
  padding: 0.5em 0px 0.5em 1em;
  background: none;
}

.problem {
  border: 1px solid #ffd5dc;
  background-color: #ffd5dc;
}

.must,
.no_must {
  display: block;
  padding: 0px 1em;
  border-radius: 4px;
  background: none;
  box-shadow: none;
  text-shadow: none;
  font-size: 14px;
  line-height: 1.5;
}

.must {
  border: 1px solid #00bee6;
  background-color: #00bee6;
  color: #fff;
}

.no_must {
  border: 1px solid #F6F6F6;
  background-color: #F6F6F6;
  color: #1f1f1f;
}

table#mfp_confirm_table tr th {
  white-space: wrap;
}

@media screen and (max-width: 767.98px) {

  form#mailformpro dl dt,
  form#mailformpro dl dd {
    padding: 1em;
    width: 100%;
  }

  .must,
  .no_must {
    margin: 2px 2em 0px 0px;
  }
}

@media print,
(min-width: 768px) {
  form#mailformpro dl {
    display: flex;
    flex-wrap: wrap;
  }

  form#mailformpro dl dt {
    float: none;
    padding: 2em 0px;
    width: 320px;
    text-align: left;
  }

  form#mailformpro dl dd {
    padding: 2em 2em 2em 0px;
    width: calc(100% - 320px);
  }

  .mfp_element_text,
  .mfp_element_number,
  .mfp_element_select-one,
  .mfp_element_email,
  .mfp_element_tel,
  .mfp_element_textarea {
    max-width: 100%;
  }

  .must,
  .no_must {
    margin: 2px 2em 0px;
  }
}

.menu-item-285>a,
.menu-item-322>a {
  pointer-events: none;
}

.menu-item-289>a,
.menu-item-326>a {
  pointer-events: none;
}

.menu-item-303>a,
.menu-item-484>a {
  pointer-events: none;
}

.menu-item-308>a {
  pointer-events: none;
}

.menu-item-361>a {
  pointer-events: none;
}

.anton {
  font-family: 'Anton', sans-serif;
}

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

  .sp_only {
    display: block;
  }
}

@media screen and (min-width: 960px) {
  .pc_only {
    display: block;
  }

  .sp_only {
    display: none;
  }
}

body {
  font-size: 16px;
  color: #1f1f1f;
  font-style: normal;
  letter-spacing: 2px;
  margin: 0;
  line-height: 1.8;
  font-family: 'Noto Sans JP', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', '游ゴシック', 'Yu Gothic', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

body img,
body svg {
  width: 100%;
  height: auto;
}

body a {
  color: #1f1f1f;
  text-decoration: none;
}

body a:hover {
  color: #00bee6;
  opacity: 0.8;
  transition: 0.5s;
  text-decoration: none;
}

body p {
  line-height: 1.8;
  font-weight: 400;
  letter-spacing: 2px;
  margin-bottom: 0;
}

.color__font {
  color: #1f1f1f !important;
}

.color__font-bg {
  background-color: #1f1f1f !important;
}

.color__font-bg--opacity {
  background-color: rgba(31, 31, 31, 0.1) !important;
}

.color__main {
  color: #00bee6 !important;
}

.color__main-bg {
  background-color: #00bee6 !important;
}

.color__main-bg--opacity {
  background-color: rgba(0, 190, 230, 0.8) !important;
}

.color__main-bg--opacity-01 {
  background-color: rgba(0, 190, 230, 0.1) !important;
}

.color__point {
  color: #955025;
}

.color__point-bg {
  background-color: #955025 !important;
}

.color__accent {
  color: #98b800;
}

.color__accent-bg {
  background-color: #98b800 !important;
}

.color__fff {
  color: #fff;
}

.color__fff-bg {
  background-color: #fff !important;
}

.color__fff-bg--opacity {
  background-color: rgba(255, 255, 255, 0.8) !important;
}

.color__gray {
  color: #F6F6F6;
}

.color__gray-bg {
  background-color: #F6F6F6 !important;
}

.color__gray-bg--opacity {
  background-color: rgba(246, 246, 246, 0.8) !important;
}

.color__red {
  color: #f60000;
}

.color__red-bg {
  background-color: #f60000 !important;
}

.color__red-bg--opacity {
  background-color: rgba(246, 0, 0, 0.8) !important;
}

.under-line {
  text-decoration: underline;
}

.fff {
  color: #fff;
}

.fff-bg {
  background-color: #fff;
}

.p-relative {
  position: relative;
  z-index: 0;
}

.p-absolute {
  position: absolute;
  z-index: 0;
}

.j-content-center {
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .j-content-center_sm {
    justify-content: center;
  }
}

.j-content-between {
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .j-content-between_sm {
    justify-content: space-between;
  }
}

.a-items-center {
  align-items: center;
}

.marker {
  padding: 0 1.0vh;
  background: linear-gradient(transparent 70%, #955025 70%);
}

.bold {
  font-weight: bold;
}

.fs-01 {
  font-size: 0.1em;
}

.fs-02 {
  font-size: 0.2em;
}

.fs-03 {
  font-size: 0.3em;
}

.fs-04 {
  font-size: 0.4em;
}

.fs-05 {
  font-size: 0.5em;
}

.fs-06 {
  font-size: 0.6em;
}

.fs-07 {
  font-size: 0.7em;
}

.fs-08 {
  font-size: clamp(0.9em, 3vw, 0.8em);
}

.fs-09 {
  font-size: 0.9em;
}

.fs-10 {
  font-size: 1.0em;
}

.fs-11 {
  font-size: 1.1em;
}

.fs-12 {
  font-size: 1.2em;
}

.fs-13 {
  font-size: 1.3em;
}

.fs-14 {
  font-size: clamp(1.05em, 3vw, 1.4em);
}

.fs-15 {
  font-size: 1.5em;
}

.fs-16 {
  font-size: clamp(1.2em, 3vw, 1.6em);
}

.fs-17 {
  font-size: clamp(1.4em, 3vw, 1.7em);
}

.fs-18 {
  font-size: clamp(1.4em, 3vw, 1.8em);
}

.fs-19 {
  font-size: clamp(1.4em, 3vw, 1.9em);
}

.fs-20 {
  font-size: 2.0em;
}

.fs-21 {
  font-size: 2.1em;
}

.fs-22 {
  font-size: 2.2em;
}

.fs-23 {
  font-size: 2.3em;
}

.fs-24 {
  font-size: 2.4em;
}

.fs-25 {
  font-size: 2.5em;
}

.fs-26 {
  font-size: 2.6em;
}

.fs-27 {
  font-size: 2.7em;
}

.fs-28 {
  font-size: 2.8em;
}

.fs-29 {
  font-size: 2.9em;
}

.fs-30 {
  font-size: 3.0em;
}

.fs-40 {
  font-size: 4.0em;
}

.fs-50 {
  font-size: 5.0em;
}

.fs-08_2 {
  font-size: clamp(0.8em, 3vw, 0.8em);
}

.gap-1 {
  gap: 1em;
}

.gap-2 {
  gap: 2em;
}

.gap-3 {
  gap: 3em;
}

.gap-4 {
  gap: 4em;
}

.gap-5 {
  gap: 5em;
}

.gap-x-1 {
  gap: 0 1em;
}

.gap-x-2 {
  gap: 0 2em;
}

.gap-x-3 {
  gap: 0 3em;
}

.gap-x-4 {
  gap: 0 4em;
}

.gap-x-5 {
  gap: 0 5em;
}

.gap-y-1 {
  gap: 1em 0;
}

.gap-y-2 {
  gap: 2em 0;
}

.gap-y-3 {
  gap: 3em 0;
}

.gap-y-4 {
  gap: 4em 0;
}

.gap-y-5 {
  gap: 5em 0;
}

@media screen and (max-width: 767px) {
  .gap-sm-y-1 {
    gap: 1em 0;
  }

  .gap-sm-y-2 {
    gap: 2em 0;
  }

  .gap-sm-y-3 {
    gap: 3em 0;
  }

  .gap-sm-y-4 {
    gap: 4em 0;
  }

  .gap-sm-y-5 {
    gap: 5em 0;
  }
}

.mx-01 {
  margin: 0 0.1em !important;
}

.mx-02 {
  margin: 0 0.2em !important;
}

.mx-03 {
  margin: 0 0.3em !important;
}

.mx-04 {
  margin: 0 0.4em !important;
}

.mx-05 {
  margin: 0 0.5em !important;
}

.mx-06 {
  margin: 0 0.6em !important;
}

.mx-07 {
  margin: 0 0.7em !important;
}

.mx-08 {
  margin: 0 0.8em !important;
}

.mx-09 {
  margin: 0 0.9em !important;
}

.mx-10 {
  margin: 0 1.0em !important;
}

.mx-11 {
  margin: 0 1.1em !important;
}

.mx-12 {
  margin: 0 1.2em !important;
}

.mx-13 {
  margin: 0 1.3em !important;
}

.mx-14 {
  margin: 0 1.4em !important;
}

.mx-15 {
  margin: 0 1.5em !important;
}

.mx-16 {
  margin: 0 1.6em !important;
}

.mx-17 {
  margin: 0 1.7em !important;
}

.mx-18 {
  margin: 0 1.8em !important;
}

.mx-19 {
  margin: 0 1.9em !important;
}

.mx-20 {
  margin: 0 2.0em !important;
}

.mx-30 {
  margin: 0 3.0em !important;
}

.my-01 {
  margin: 0.1em 0 !important;
}

.my-02 {
  margin: 0.2em 0 !important;
}

.my-03 {
  margin: 0.3em 0 !important;
}

.my-04 {
  margin: 0.4em 0 !important;
}

.my-05 {
  margin: 0.5em 0 !important;
}

.my-06 {
  margin: 0.6em 0 !important;
}

.my-07 {
  margin: 0.7em 0 !important;
}

.my-08 {
  margin: 0.8em 0 !important;
}

.my-09 {
  margin: 0.9em 0 !important;
}

.my-10 {
  margin: 1.0em 0 !important;
}

.my-11 {
  margin: 1.1em 0 !important;
}

.my-12 {
  margin: 1.2em 0 !important;
}

.my-13 {
  margin: 1.3em 0 !important;
}

.my-14 {
  margin: 1.4em 0 !important;
}

.my-15 {
  margin: 1.5em 0 !important;
}

.my-16 {
  margin: 1.6em 0 !important;
}

.my-17 {
  margin: 1.7em 0 !important;
}

.my-18 {
  margin: 1.8em 0 !important;
}

.my-19 {
  margin: 1.9em 0 !important;
}

.my-20 {
  margin: 2.0em 0 !important;
}

.my-30 {
  margin: 3.0em 0 !important;
}

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

.mt-01 {
  margin-top: 0.1em !important;
}

.mt-02 {
  margin-top: 0.2em !important;
}

.mt-03 {
  margin-top: 0.3em !important;
}

.mt-04 {
  margin-top: 0.4em !important;
}

.mt-05 {
  margin-top: 0.5em !important;
}

.mt-06 {
  margin-top: 0.6em !important;
}

.mt-07 {
  margin-top: 0.7em !important;
}

.mt-08 {
  margin-top: 0.8em !important;
}

.mt-09 {
  margin-top: 0.9em !important;
}

.mt-10 {
  margin-top: 1.0em !important;
}

.mt-11 {
  margin-top: 1.1em !important;
}

.mt-12 {
  margin-top: 1.2em !important;
}

.mt-13 {
  margin-top: 1.3em !important;
}

.mt-14 {
  margin-top: 1.4em !important;
}

.mt-15 {
  margin-top: 1.5em !important;
}

.mt-16 {
  margin-top: 1.6em !important;
}

.mt-17 {
  margin-top: 1.7em !important;
}

.mt-18 {
  margin-top: 1.8em !important;
}

.mt-19 {
  margin-top: 1.9em !important;
}

.mt-20 {
  margin-top: 2.0em !important;
}

.mt-30 {
  margin-top: 3.0em !important;
}

.mt-40 {
  margin-top: 4.0em !important;
}

.mt-50 {
  margin-top: 5.0em !important;
}

.mt-60 {
  margin-top: 5.0em !important;
}

.mt-70 {
  margin-top: 7.0em !important;
}

.mt-80 {
  margin-top: 8.0em !important;
}

.mt-90 {
  margin-top: 9.0em !important;
}

.mt-100 {
  margin-top: 10.0em !important;
}

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

.mb-01 {
  margin-bottom: 0.1em !important;
}

.mb-02 {
  margin-bottom: 0.2em !important;
}

.mb-03 {
  margin-bottom: 0.3em !important;
}

.mb-04 {
  margin-bottom: 0.4em !important;
}

.mb-05 {
  margin-bottom: 0.5em !important;
}

.mb-06 {
  margin-bottom: 0.6em !important;
}

.mb-07 {
  margin-bottom: 0.7em !important;
}

.mb-08 {
  margin-bottom: 0.8em !important;
}

.mb-09 {
  margin-bottom: 0.9em !important;
}

.mb-10 {
  margin-bottom: 1.0em !important;
}

.mb-11 {
  margin-bottom: 1.1em !important;
}

.mb-12 {
  margin-bottom: 1.2em !important;
}

.mb-13 {
  margin-bottom: 1.3em !important;
}

.mb-14 {
  margin-bottom: 1.4em !important;
}

.mb-15 {
  margin-bottom: 1.5em !important;
}

.mb-16 {
  margin-bottom: 1.6em !important;
}

.mb-17 {
  margin-bottom: 1.7em !important;
}

.mb-18 {
  margin-bottom: 1.8em !important;
}

.mb-19 {
  margin-bottom: 1.9em !important;
}

.mb-20 {
  margin-bottom: 2.0em !important;
}

.mb-30 {
  margin-bottom: 3.0em !important;
}

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

.ml-01 {
  margin-left: 0.1em !important;
}

.ml-02 {
  margin-left: 0.2em !important;
}

.ml-03 {
  margin-left: 0.3em !important;
}

.ml-04 {
  margin-left: 0.4em !important;
}

.ml-05 {
  margin-left: 0.5em !important;
}

.ml-06 {
  margin-left: 0.6em !important;
}

.ml-07 {
  margin-left: 0.7em !important;
}

.ml-08 {
  margin-left: 0.8em !important;
}

.ml-09 {
  margin-left: 0.9em !important;
}

.ml-10 {
  margin-left: 1.0em !important;
}

.ml-11 {
  margin-left: 1.1em !important;
}

.ml-12 {
  margin-left: 1.2em !important;
}

.ml-13 {
  margin-left: 1.3em !important;
}

.ml-14 {
  margin-left: 1.4em !important;
}

.ml-15 {
  margin-left: 1.5em !important;
}

.ml-16 {
  margin-left: 1.6em !important;
}

.ml-17 {
  margin-left: 1.7em !important;
}

.ml-18 {
  margin-left: 1.8em !important;
}

.ml-19 {
  margin-left: 1.9em !important;
}

.ml-20 {
  margin-left: 2.0em !important;
}

.ml-30 {
  margin-left: 3.0em !important;
}

@media screen and (min-width: 768px) {
  .ml-sm-01 {
    margin-left: 0.1em !important;
  }

  .ml-sm-02 {
    margin-left: 0.2em !important;
  }

  .ml-sm-03 {
    margin-left: 0.3em !important;
  }

  .ml-sm-04 {
    margin-left: 0.4em !important;
  }

  .ml-sm-05 {
    margin-left: 0.5em !important;
  }

  .ml-sm-06 {
    margin-left: 0.6em !important;
  }

  .ml-sm-07 {
    margin-left: 0.7em !important;
  }

  .ml-sm-08 {
    margin-left: 0.8em !important;
  }

  .ml-sm-09 {
    margin-left: 0.9em !important;
  }

  .ml-sm-10 {
    margin-left: 1.0em !important;
  }

  .ml-sm-11 {
    margin-left: 1.1em !important;
  }

  .ml-sm-12 {
    margin-left: 1.2em !important;
  }

  .ml-sm-13 {
    margin-left: 1.3em !important;
  }

  .ml-sm-14 {
    margin-left: 1.4em !important;
  }

  .ml-sm-15 {
    margin-left: 1.5em !important;
  }

  .ml-sm-16 {
    margin-left: 1.6em !important;
  }

  .ml-sm-17 {
    margin-left: 1.7em !important;
  }

  .ml-sm-18 {
    margin-left: 1.8em !important;
  }

  .ml-sm-19 {
    margin-left: 1.9em !important;
  }

  .ml-sm-20 {
    margin-left: 2.0em !important;
  }

  .ml-sm-30 {
    margin-left: 3.0em !important;
  }
}

.mr-01 {
  margin-right: 0.1em !important;
}

.mr-02 {
  margin-right: 0.2em !important;
}

.mr-03 {
  margin-right: 0.3em !important;
}

.mr-04 {
  margin-right: 0.4em !important;
}

.mr-05 {
  margin-right: 0.5em !important;
}

.mr-06 {
  margin-right: 0.6em !important;
}

.mr-07 {
  margin-right: 0.7em !important;
}

.mr-08 {
  margin-right: 0.8em !important;
}

.mr-09 {
  margin-right: 0.9em !important;
}

.mr-10 {
  margin-right: 1.0em !important;
}

.mr-11 {
  margin-right: 1.1em !important;
}

.mr-12 {
  margin-right: 1.2em !important;
}

.mr-13 {
  margin-right: 1.3em !important;
}

.mr-14 {
  margin-right: 1.4em !important;
}

.mr-15 {
  margin-right: 1.5em !important;
}

.mr-16 {
  margin-right: 1.6em !important;
}

.mr-17 {
  margin-right: 1.7em !important;
}

.mr-18 {
  margin-right: 1.8em !important;
}

.mr-19 {
  margin-right: 1.9em !important;
}

.mr-20 {
  margin-right: 2.0em !important;
}

.mr-30 {
  margin-right: 3.0em !important;
}

.mw400 {
  max-width: 400px;
}

.max-hw {
  max-height: 285px;
  max-width: 430px;
}

.minh100 {
  min-height: 100%;
}

.al_item_end {
  align-items: end;
}

.mc {
  margin: 0 auto;
}

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

.i_block {
  display: inline-block;
}

.indent {
  padding-left: 1em;
  text-indent: -1em;
}

.icon__tel {
  transform: scaleX(-1);
  color: #00bee6;
  font-size: 1.6em;
  margin-right: 0.5em;
}

.icon__warning {
  font-size: 2.6em;
}

.flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
}

.margin-center {
  margin-left: auto;
  margin-right: auto;
}

.img-xl {
  position: relative;
}

.img-xl::before {
  content: "";
  display: block;
  padding-top: 100%;
}

.img-xl__res {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.img-lg {
  position: relative;
}

.img-lg::before {
  content: "";
  display: block;
  padding-top: 66%;
}

.img-lg__res {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.img-md {
  position: relative;
}

.img-md::before {
  content: "";
  display: block;
  padding-top: 56%;
}

.img-md__res {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.line__vertical {
  display: block;
  background-color: #000;
  height: 20px;
  width: 1px;
}

.line__vertical-y {
  margin: 0 0.3em;
}

.line__vertical--black {
  display: block;
  background-color: #fff;
  height: 20px;
  width: 1px;
}

.p-center {
  padding-left: 15px;
  padding-right: 15px;
}

.language__wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

/* border */
.border {
  background-color: #dddddd;
  width: 100%;
  height: 1px;
}

/* .border__white--topNone {
    border-left: 1px solid #fff;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff; } */
.border__box {
  border: 1px solid #dddddd;
}

.border__bottom {
  border-bottom: 1px solid #dddddd;
}

.border__bottom--white {
  border-bottom: 1px solid #fff;
}

.p__left {
  padding-left: 1.5em;
}

.w-08 {
  width: 80%;
}

.w-05 {
  width: 50%;
}

.m-w-10 {
  max-width: 100px;
}

.m-w-30 {
  max-width: 300px;
}

.m-auto {
  margin: auto;
}

.move {
  transition: all 0.5s;
}

.move:hover {
  transform: scale(1.05, 1.05);
  transition: all 0.5s;
}

.o-hidden {
  overflow: hidden;
}

/* padding　設定一覧 */
.p20 {
  padding: 20px;
}

.p20_30 {
  padding: 20px 30px;
}

.pxy {
  padding: 1vw 1vw;
}

@media screen and (max-width: 767px) {
  .pxy {
    padding: 2.5vw 2.5vw;
  }
}

.pl-sm {
  padding: 10px 0.5vw 10px 2vw;
}

@media screen and (max-width: 959px) {
  .pl-sm {
    padding: 10px 0.5vw 10px 6vw;
  }
}

.pl-md {
  padding: 10px 0.5vw 10px 2.5vw;
}

@media screen and (max-width: 959px) {
  .pl-md {
    padding: 10px 0.5vw 10px 7vw;
  }
}

.pl-lg {
  padding: 10px 0.5vw 10px 3vw;
}

@media screen and (max-width: 959px) {
  .pl-lg {
    padding: 10px 0.5vw 10px 8vw;
  }
}

.pl-xl {
  padding: 10px 0.5vw 10px 3.5vw;
}

@media screen and (max-width: 959px) {
  .pl-xl {
    padding: 10px 0.5vw 10px 9vw;
  }
}

.pr-sm {
  padding: 10px 2vw 10px 0.5vw;
}

@media screen and (max-width: 959px) {
  .pr-sm {
    padding: 10px 6vw 10px 0.5vw;
  }
}

.pr-md {
  padding: 10px 2.5vw 10px 0.5vw;
}

@media screen and (max-width: 959px) {
  .pr-md {
    padding: 10px 7vw 10px 0.5vw;
  }
}

.pr-lg {
  padding: 10px 3vw 10px 0.5vw;
}

@media screen and (max-width: 959px) {
  .pr-lg {
    padding: 10px 8vw 10px 0.5vw;
  }
}

.pr-xl {
  padding: 10px 3.5vw 10px 0.5vw;
}

@media screen and (max-width: 959px) {
  .pr-xl {
    padding: 10px 9vw 10px 0.5vw;
  }
}

.px-01 {
  padding: 10px 1vw !important;
}

@media screen and (max-width: 959px) {
  .px-01 {
    padding: 10px 2vw !important;
  }
}

.px-02 {
  padding: 10px 2vw !important;
}

@media screen and (max-width: 959px) {
  .px-02 {
    padding: 10px 3vw !important;
  }
}

.px-03 {
  padding: 10px 3vw !important;
}

@media screen and (max-width: 959px) {
  .px-03 {
    padding: 10px 4vw !important;
  }
}

.px-04 {
  padding: 10px 4vw !important;
}

@media screen and (max-width: 959px) {
  .px-04 {
    padding: 10px 5vw !important;
  }
}

.px-05 {
  padding: 10px 5vw !important;
}

@media screen and (max-width: 959px) {
  .px-05 {
    padding: 10px 6vw !important;
  }
}

.px-box {
  padding: 10px 5px !important;
}

@media screen and (max-width: 959px) {
  .px-box {
    padding: 10px 15 !important;
  }
}

.px-spec {
  padding: 0px 5vw !important;
}

@media screen and (max-width: 959px) {
  .px-spec {
    padding: 0 !important;
  }
}

.py-01 {
  padding: 1vw 10px !important;
}

@media screen and (max-width: 959px) {
  .py-01 {
    padding: 2vw 10px !important;
  }
}

.py-015 {
  padding: 1.5vw 10px !important;
}

@media screen and (max-width: 959px) {
  .py-015 {
    padding: 2vw 10px !important;
  }
}

.py-02 {
  padding: 2vw 10px !important;
}

@media screen and (max-width: 959px) {
  .py-02 {
    padding: 3vw 10px !important;
  }
}

.py-03 {
  padding: 3vw 10px !important;
}

@media screen and (max-width: 959px) {
  .py-03 {
    padding: 4vw 10px !important;
  }
}

.py-04 {
  padding: 4vw 10px !important;
}

@media screen and (max-width: 959px) {
  .py-04 {
    padding: 5vw 10px !important;
  }
}

.py-05 {
  padding: 5vw 10px !important;
}

@media screen and (max-width: 959px) {
  .py-05 {
    padding: 6vw 10px !important;
  }
}

.col-03::after {
  content: "";
  display: block;
  width: 30%;
}

.col-03 .col-30 {
  width: 30%;
}

@media screen and (max-width: 767px) {
  .col-03 .col-30 {
    width: 100%;
  }
}

.col-04 .col-40 {
  width: 40%;
}

@media screen and (max-width: 767px) {
  .col-04 .col-40 {
    width: 100%;
  }
}

.top-30 {
  top: -30px;
}

#search-box {
  background-color: #c9c9c9;
  position: relative;
  padding: 3px 5px;
  border-radius: 6px;
}

#search-box--ham {
  width: 100%;
  background-color: #c9c9c9;
  position: relative;
  padding: 3px 5px;
  border-radius: 6px;
}

#search-box--ham::after {
  content: "";
  width: 16px;
  height: 16px;
  background: url(./images/common/icon_search.png) no-repeat center center/auto 100%;
  /* 背景にアイコン画像を配置 */
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 4px;
  transform: translate(-5px, -50%);
  pointer-events: none;
}

#search-box--ham input[type="text"] {
  width: 100%;
  z-index: 1;
  transition: all .25s ease-in .25s;
  color: #1f1f1f;
  font-size: .75rem;
  line-height: 25px;
}

#search-box--ham input[type="text"]:hover {
  cursor: pointer;
}

#search-box--ham input[type="text"]:hover:focus {
  cursor: text;
}

#search-box--ham input[type="text"]:hover+span {
  background: rgba(255, 255, 255, 0.2);
}

#search-box--ham input[type="text"]:focus {
  width: 100%;
  padding: 0 10px;
  outline: none;
  color: #000;
  background: none;
}

#search-box--ham input[type="text"]:focus+span {
  width: 200px;
}

#search-box--ham input[type="text"]:focus+span::before {
  width: 2px;
  opacity: 0;
  transition: all .25s ease-in;
}

#search-box--ham input[type="text"]+span {
  z-index: -1;
  position: absolute;
  border: 2px solid white;
  top: 0;
  width: 25px;
  height: 25px;
  transition: all .25s ease-in .25s;
  border-radius: 25px;
  left: 0;
}

#search-box--ham input[type="text"]+span::before {
  transition: all .25s ease-in .5s;
  transform-origin: left top;
  content: '';
  position: absolute;
  width: 10px;
  height: 5px;
  border-radius: 5px;
  background: white;
  transform: rotate(45deg) translate(26px, -2px);
}

#search-box::after {
  content: "";
  width: 16px;
  height: 16px;
  background: url(./images/common/icon_search.png) no-repeat center center/auto 100%;
  /* 背景にアイコン画像を配置 */
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 4px;
  transform: translate(-5px, -50%);
  pointer-events: none;
}

#search-box input[type="text"] {
  z-index: 1;
  width: 25px;
  height: 25px;
  transition: all .25s ease-in .25s;
  color: #1f1f1f;
  font-size: .75rem;
  line-height: 25px;
}

#search-box input[type="text"]:hover {
  cursor: pointer;
}

#search-box input[type="text"]:hover:focus {
  cursor: text;
}

#search-box input[type="text"]:hover+span {
  background: rgba(255, 255, 255, 0.2);
}

#search-box input[type="text"]:focus {
  width: 200px;
  padding: 0 10px;
  outline: none;
  color: #000;
  background: none;
}

#search-box input[type="text"]:focus+span {
  width: 200px;
}

#search-box input[type="text"]:focus+span::before {
  width: 2px;
  opacity: 0;
  transition: all .25s ease-in;
}

#search-box input[type="text"]+span {
  z-index: -1;
  position: absolute;
  border: 2px solid white;
  top: 0;
  width: 25px;
  height: 25px;
  transition: all .25s ease-in .25s;
  border-radius: 25px;
  left: 0;
}

#search-box input[type="text"]+span::before {
  transition: all .25s ease-in .5s;
  transform-origin: left top;
  content: '';
  position: absolute;
  width: 10px;
  height: 5px;
  border-radius: 5px;
  background: white;
  transform: rotate(45deg) translate(26px, -2px);
}

.youtube {
  display: block;
  border-radius: 6px;
  background-color: #c9c9c9;
  background-image: url(./images/common/icon_youtube.png);
  background-repeat: no-repeat;
  background-position: center center;
  cursor: pointer;
}

.youtube iframe {
  width: 100%;
}

.youtube--ham {
  width: 60px;
  height: 40px;
}

.youtube__icon {
  display: block;
  border-radius: 6px;
  background-color: #c9c9c9;
  background-image: url(./images/common/icon_youtube.png);
  background-repeat: no-repeat;
  background-position: center center;
  cursor: pointer;
  width: 35px;
  height: 35px;
}

.page {
  padding: 0 0;
}

@media screen and (max-width: 959px) {
  .page {
    padding: 0px 0px;
  }
}

.page-bg {
  padding: 100px 0;
}

@media screen and (max-width: 959px) {
  .page-bg {
    padding: 80px 0px;
  }
}

.paginavi {
  margin-top: 4em;
  text-align: center;
}

.paginavi .page-numbers {
  display: inline-block;
  padding: 10px 15px;
  border: 1px solid #00bee6;
  margin-bottom: 20px;
}

.paginavi .page-numbers:not(:last-child) {
  margin-right: 20px;
}

.paginavi .current {
  background-color: #00bee6;
  color: #fff;
}

.pagi-nation {
  margin-top: 4em;
  text-align: center;
}

.pagi-nation .page-numbers {
  display: inline-block;
  padding: 10px 15px;
  border: 1px solid #00bee6;
  margin-bottom: 20px;
}

.pagi-nation .page-numbers:not(:last-child) {
  margin-right: 20px;
}

.pagi-nation .current {
  background-color: #00bee6;
  color: #fff;
}

.heading {
  text-align: center;
  /* heading absolute */
}

.heading__bg {
  background-color: #F6F6F6;
}

.heading__title--en {
  font-family: 'Anton', sans-serif;
  color: #00bee6;
}

.heading__title--ja {
  font-size: 1.6em;
  font-weight: 500;
}

@media screen and (max-width: 767px) {
  .heading__title--ja {
    font-size: 5.5vw;
  }
}

.heading__title--sub {
  margin-top: 1.0em;
}

.heading__title--main {
  font-size: 1.6em;
  font-weight: 500;
}

@media screen and (max-width: 767px) {
  .heading__title--main {
    font-size: 5.5vw;
  }
}

.heading__title--gray {
  font-size: 1.4em;
  font-weight: 500;
}

@media screen and (max-width: 767px) {
  .heading__title--gray {
    font-size: 4.5vw;
  }
}

.heading__title--mainColor {
  font-size: 1.6em;
  font-weight: 500;
  color: #00bee6;
}

@media screen and (max-width: 767px) {
  .heading__title--mainColor {
    font-size: 5.5vw;
  }
}

.heading__title--border {
  color: #1f1f1f;
  border-bottom: 1px solid #C9C9C9;
  padding-bottom: 0.5em;
  font-size: 1.6em;
  font-weight: 500;
}

@media screen and (max-width: 767px) {
  .heading__title--border {
    font-size: 5.5vw;
  }
}

.heading__title--border--mainColor {
  color: #00bee6;
  border-bottom: 1px solid #00bee6;
  padding-bottom: 0.5em;
  font-size: 1.6em;
  font-weight: 500;
}

@media screen and (max-width: 767px) {
  .heading__title--border--mainColor {
    font-size: 5.5vw;
  }
}

.heading__top {
  position: absolute;
  top: 14.9px;
  left: 0;
  right: 0;
}

.heading__top--title {
  position: relative;
}

.heading__top--title::before {
  content: "";
  display: block;
  position: absolute;
  background-color: #fff;
  width: clamp(350px, 1vw, 30vw);
  height: 1px;
  top: 50%;
  right: 3vw;
  transform: translate(0, -50%);
}

@media screen and (max-width: 959px) {
  .heading__top--title::before {
    width: clamp(16vw, 1vw, 320px);
  }
}

.heading__top--title::after {
  content: "";
  display: block;
  position: absolute;
  background-color: #fff;
  width: clamp(350px, 1vw, 30vw);
  height: 1px;
  top: 50%;
  left: 3vw;
  transform: translate(0, -50%);
}

@media screen and (max-width: 959px) {
  .heading__top--title::after {
    width: clamp(16vw, 1vw, 320px);
  }
}

.layout__xxl {
  margin-top: 200px;
}

@media screen and (max-width: 959px) {
  .layout__xxl {
    margin-top: 150px;
  }
}

.layout__xl {
  margin-top: 150px;
}

@media screen and (max-width: 959px) {
  .layout__xl {
    margin-top: 100px;
  }
}

.layout__lg {
  margin-top: 100px;
}

@media screen and (max-width: 959px) {
  .layout__lg {
    margin-top: 50px;
  }
}

.layout__md {
  margin-top: 80px;
}

@media screen and (max-width: 959px) {
  .layout__md {
    margin-top: 40px;
  }
}

.layout__sm {
  margin-top: 50px;
}

@media screen and (max-width: 959px) {
  .layout__sm {
    margin-top: 25px;
  }
}

.column {
  /* flex使用で幅合わせる rowのpadding分 */
  /* boxのborder */
  /* mainBox */
  /* left-box--white */
  /* ライン */
  /* ライン dot */
  /* 全面 */
}

.column__flex {
  display: flex;
  flex-wrap: wrap;
}

.column__flex-1 {
  flex: 1;
}

.column__flex-r {
  flex-direction: row-reverse;
}

.column__02::after {
  content: "";
  display: block;
  width: 48%;
}

.column__02-box {
  width: 48%;
}

@media screen and (max-width: 767px) {
  .column__02-box {
    width: 100%;
  }
}

.column__03::after {
  content: "";
  display: block;
  width: 32%;
}

.column__03-box {
  width: 32%;
}

@media screen and (max-width: 767px) {
  .column__03-box {
    width: 100%;
  }
}

.column__box--border {
  border: 1px solid #dddddd;
}

.column__box--white {
  background-color: #fff;
}

.column__img-sm {
  height: 240px;
}

.column__img-sm img {
  height: 100%;
  object-fit: contain;
}

.column__img-md {
  height: 100%;
}

@media screen and (max-width: 767px) {
  .column__img-md {
    height: 350px;
  }
}

.column__img-md img {
  height: 100%;
  object-fit: contain;
}

.column__img-bg {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.column__bg {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.column__left-minBox {
  background-color: #00bee6;
  color: #fff;
  width: 88%;
  top: 75%;
}

.column__left-box--white {
  width: 100%;
}

.column__line {
  border-bottom: 1px solid #1f1f1f;
  width: 100%;
}

.column__line-dot {
  border-bottom: 2px dotted #1f1f1f;
  width: 100%;
  height: 1px;
  /* ライン　ホワイト用 */
}

.column__line-dot--white {
  border-bottom: 2px dotted #fff;
  width: 100%;
  height: 1px;
}

.column__all {
  padding: 60px 3vw 40px 3vw;
}

.column__all--inner {
  padding: 40px 3vw 40px 3vw;
}

.column__category a {
  display: block;
  padding: 10px;
  color: #fff;
}

.column__category p {
  display: block;
  padding: 10px;
  color: #fff;
  text-align: center;
}

.column__category a:hover {
  color: #fff;
}

.column__left-title {
  font-size: 1.4em;
}

.column__left-sub {
  font-size: 1.2em;
}

.column__left-sub--mainColor {
  color: #00bee6;
}

.column__left-text {
  font-size: 0.9em;
}

.column__list--check li {
  position: relative;
}

.column__list--check li::after {
  content: '';
  display: block;
  position: absolute;
  top: .5em;
  left: -1.5em;
  width: 10px;
  height: 5px;
  border-left: 2px solid #00bee6;
  border-bottom: 2px solid #00bee6;
  transform: rotate(-45deg);
}

.column__list--center {
  text-align: left;
  display: inline-block;
}

.column__flex_only {
  display: flex;
}


.column__data {
  width: 10%;
}

.column__category_area {
  width: 18%;
}

.column__title {
  width: 70%;
}

.column__title a {
  position: relative;
}

.column__title a::after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  right: 3px;
  border-top: 3px solid #222;
  border-right: 3px solid #222;
  width: 8px;
  height: 8px;
  transform: translate(0, -50%) rotate(45deg);
}

.column__title a:hover {
  color: #00bee6;
  opacity: 0.8;
  transition: 0.5s;
  text-decoration: none;
}

.column__title a:hover::after {
  opacity: 0.8;
  transition: 0.5s;
  border-top: 3px solid #00bee6;
  border-right: 3px solid #00bee6;
}

.column__data_archive {
  width: 14%;
}

.column__category_archive {
  width: 22%;
}

.column__title_archive {
  width: 60%;
}

@media (min-width: 768px) {
  .column__title a {
    max-width: 770px;
    width: 100%;
    padding-right: 40px !important;
    display: block;
  }
}

@media (max-width: 767.98px) {
  .column__data {
    width: 6em;
  }

  .column__category_area {
    width: 12em;
  }

  .column__title {
    width: 100%;
  }

  .column__title a {
    width: 100%;
    padding-right: 40px !important;
    display: block;
  }
}

/*----------------------------------------------------------------------
 BackGroundカラー
----------------------------------------------------------------------*/
.bg-color__gray {
  background-color: #f5f5f5;
}

.bg-color__main {
  background-color: rgba(0, 190, 230, 0.1);
}

.bg-color__grayTitle {
  background-color: #8d8d8d;
}

/*----------------------------------------------------------------------
 TOPの背景画像一覧
----------------------------------------------------------------------*/
.top__bg--01 {
  background-image: url(./images/top/img02.jpg);
}

.top__bg--02 {
  background-image: url(./images/top/img03.jpg);
}

.top__bg--03 {
  background-image: url(./images/top/img05.jpg);
}

.top__bg--04 {
  background-image: url(./images/top/bg01.jpg);
}

.top__bg--05 {
  background-image: url(./images/top/bg02.jpg);
}

.top__bg--renucpal10 {
  background-image: url(./images/top/renucpal10.png);
}

@media screen and (max-width: 767px) {
  .table {
    display: block;
    overflow-x: scroll;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
  }
}

.table__common tr th:first-child {
  width: 14%;
}

.table__common td {
  background-color: #fff;
}

.table .item {
  width: 20%;
}

.table-img {
  flex: 1;
}

.table-list {
  width: 60%;
}

.table__product {
  background-color: #fff;
}

.table__product tr {
  border: 1px solid #dddddd;
}

.table__product tr th {
  background-color: #fff;
  border: 1px solid #dddddd;
}

.table__product tr th:first-child {
  width: 400px;
}

@media screen and (min-width: 768px) {
  .table__product tr th:first-child {
    width: 22%;
  }
}

.table__product tr td {
  border: 1px solid #dddddd;
}

.table__product--spec {
  background-color: #fff;
}

.table__product--spec tr th {
  background-color: #00bee6;
  color: #fff;
}

.table__product--spec tr td {
  border: 1px solid #dddddd;
}

@media screen and (min-width: 768px) {
  .table__product--spec tr td {
    width: 25%;
  }
}

@media screen and (max-width: 767px) {
  .table__product--spec tr td:first-child {
    width: 100%;
  }
}

.table .item {
  width: 20%;
}

.table-img {
  flex: 1;
}

.table-list {
  width: 60%;
}

.table__flex {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.table__outline th {
  width: 20%;
}

.table__outline-img {
  flex: 1;
}

.table__outline-list {
  width: 60%;
}

.border-top {
  border-top: 1px solid #dedede;
}

.border-left {
  border-left: 1px solid #dedede;
}

/*----------------------------------------------------------------------
 left-minBox 数字
----------------------------------------------------------------------*/
.number-left-mainBox {
  counter-reset: number 0;
}

.number-left-mainBox__inner {
  overflow: hidden;
}

.number-left-mainBox__inner::after {
  position: absolute;
  counter-increment: number 1;
  content: "0" counter(number);
  top: -32px;
  right: 0;
  font-size: 3.8em;
  letter-spacing: 0.1em;
  color: #fff;
  opacity: 0.2;
  font-family: 'Anton', sans-serif;
}

.number-textBlock {
  counter-reset: number 0;
}

.number-textBlock__inner::after {
  position: absolute;
  counter-increment: number 1;
  content: "0" counter(number);
  top: -22px;
  right: 0;
  font-size: 3.0em;
  letter-spacing: 0.1em;
  color: #fff;
  opacity: 0.2;
  font-family: 'Anton', sans-serif;
}

.number-textBlock__inner::after {
  position: absolute;
  counter-increment: number 1;
  content: "0" counter(number);
  top: -140px;
  left: 0.1em;
  font-size: 8.0em;
  opacity: 1.0;
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .number-textBlock__inner::after {
    color: #00bee6;
    opacity: 0.5;
  }
}

.number-textBlock__inner--r::after {
  right: 0em;
  left: inherit;
}

@media screen and (max-width: 767px) {
  .number-textBlock__inner--r::after {
    color: #00bee6;
    opacity: 0.6;
  }
}

.number-textBlock--gray {
  counter-reset: number 0;
}

.number-textBlock--gray__inner::after {
  position: absolute;
  counter-increment: number 1;
  content: "0" counter(number);
  top: -22px;
  right: 0;
  font-size: 3.0em;
  letter-spacing: 0.1em;
  color: #fff;
  opacity: 0.2;
  font-family: 'Anton', sans-serif;
}

.number-textBlock--gray__inner::after {
  position: absolute;
  counter-increment: number 1;
  content: "0" counter(number);
  top: -35px;
  left: 3.8em;
  font-size: 3.0em;
  opacity: 1.0;
  z-index: -1;
  color: #00bee6;
  opacity: 0.5;
}

@media screen and (max-width: 767px) {
  .number-textBlock--gray__inner::after {
    color: #00bee6;
    opacity: 0.5;
  }
}

.number-textBlock--gray__inner--r::after {
  right: 0em;
  left: inherit;
}

@media screen and (max-width: 767px) {
  .number-textBlock--gray__inner--r::after {
    color: #00bee6;
    opacity: 0.6;
  }
}

.button {
  /* ボタンスタイル　ここから */
  /* 通常のボタン */
  background-color: #f5f5f5;
  display: inline-block;
  /* 通常のボタン block */
  /* mainColorのボタン */
  /* mvのボタン */
  /* テキスト　ホワイトver */
  /* テキスト・背景　ホワイトver */
  /* テキスト・ボーダー　ブルーver */
  /* 画像　テキスト move */
  /* 矢印スタイル　ここから */
  /* 通常矢印　グレー */
}

.button:hover {
  transition: all 0.5s;
}

.button a {
  display: block;
  padding: 20px 4vw;
  color: #fff;
  transition: all 0.5s;
}

.button a:hover {
  color: #fff;
  opacity: 0.8;
  transition: 0.5s;
  text-decoration: none;
}

@media screen and (max-width: 959px) {
  .button a {
    padding: 20px 10vw;
  }
}

.button:hover {
  background-color: #00bee6;
}

.button a {
  color: #1f1f1f;
}

.button a:hover {
  color: #fff;
}

.button__block {
  background-color: #f5f5f5;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 4em;
}

.button__block:hover {
  transition: all 0.5s;
}

.button__block a {
  padding: 20px 4vw;
  color: #fff;
  transition: all 0.5s;
}

.button__block a:hover {
  color: #fff;
  opacity: 0.8;
  transition: 0.5s;
  text-decoration: none;
}

@media screen and (max-width: 959px) {
  .button__block a {
    padding: 20px 10vw;
  }
}

.button__block:hover {
  background-color: #00bee6;
}

.button__block a {
  color: #1f1f1f;
  padding: 20px 1vw;
}

.button__block a:hover {
  color: #fff;
}

.button__mainColor {
  background-color: #00bee6;
  display: inline-block;
}

.button__mainColor:hover {
  transition: all 0.5s;
}

.button__mainColor a {
  display: block;
  padding: 20px 4vw;
  color: #fff;
  transition: all 0.5s;
}

.button__mainColor a:hover {
  color: #fff;
  opacity: 0.8;
  transition: 0.5s;
  text-decoration: none;
}

@media screen and (max-width: 959px) {
  .button__mainColor a {
    padding: 20px 10vw;
  }
}

.button__mainColor:hover {
  background-color: #fff;
}

.button__mainColor a {
  color: #fff;
}

.button__mainColor a:hover {
  color: #00bee6;
}

.button__mainColor button {
  display: block;
  padding: 20px 4vw;
  color: #fff;
  transition: all 0.5s;
}

.button__mainColor button:hover {
  color: #fff;
  opacity: 0.8;
  transition: 0.5s;
  text-decoration: none;
}

@media screen and (max-width: 959px) {
  .button__mainColor button {
    padding: 20px 10vw;
  }
}

.button__mainColor button:hover {
  color: #00bee6;
}

.button__mainColor-block {
  background-color: #00bee6;
  display: inline-block;
  display: block;
  color: #fff;
}

.button__mainColor-block:hover {
  transition: all 0.5s;
}

.button__mainColor-block a {
  display: block;
  padding: 20px 4vw;
  color: #fff;
  transition: all 0.5s;
}

.button__mainColor-block a:hover {
  color: #fff;
  opacity: 0.8;
  transition: 0.5s;
  text-decoration: none;
}

@media screen and (max-width: 959px) {
  .button__mainColor-block a {
    padding: 20px 10vw;
  }
}

.button__mainColor-block:hover {
  background-color: #fff;
  color: #00bee6;
}

.button__mainColor-block a {
  padding: 14px 1vw;
  /* text-align: left;
        font-size: 1.2em;*/
}

@media screen and (max-width: 767px) {
  .button__mainColor-block a {
    padding: 14px 10vw;
  }
}

.button__mainColor-block a:hover {
  color: #00bee6;
}

.button__mainColor-product {
  background-color: #00bee6;
  display: inline-block;
  display: block;
  color: #fff;
}

.button__mainColor-product:hover {
  transition: all 0.5s;
}

.button__mainColor-product a {
  display: block;
  padding: 20px 4vw;
  color: #fff;
  transition: all 0.5s;
}

.button__mainColor-product a:hover {
  color: #fff;
  opacity: 0.8;
  transition: 0.5s;
  text-decoration: none;
}

@media screen and (max-width: 959px) {
  .button__mainColor-product a {
    padding: 20px 10vw;
  }
}

.button__mainColor-product:hover {
  background-color: #fff;
  color: #00bee6;
}

.button__mainColor-product a {
  padding: 14px 1vw;
}

@media screen and (max-width: 767px) {
  .button__mainColor-product a {
    padding: 14px 10vw;
  }
}

.button__mainColor-product a:hover {
  color: #00bee6;
}

.button__mainColor--map {
  background-color: #00bee6;
  display: inline-block;
}

.button__mainColor--map:hover {
  transition: all 0.5s;
}

.button__mainColor--map a {
  display: block;
  padding: 20px 4vw;
  color: #fff;
  transition: all 0.5s;
}

.button__mainColor--map a:hover {
  color: #fff;
  opacity: 0.8;
  transition: 0.5s;
  text-decoration: none;
}

@media screen and (max-width: 959px) {
  .button__mainColor--map a {
    padding: 20px 10vw;
  }
}

.button__mainColor--map:hover {
  background-color: #f5f5f5;
}

.button__mainColor--map a {
  color: #fff;
  padding: 10px 4vw;
}

@media screen and (max-width: 959px) {
  .button__mainColor--map a {
    padding: 10px 10vw;
  }
}

.button__mainColor--map a:hover {
  color: #00bee6;
}

/* 赤ボタンstart */
.button__mainColor-red {
  background-color: #f60000;
  display: inline-block;
}

.button__mainColor-red:hover {
  transition: all 0.5s;
}

.button__mainColor-red a {
  display: block;
  padding: 20px 4vw;
  color: #fff;
  transition: all 0.5s;
}

.button__mainColor-red a:hover {
  color: #fff;
  opacity: 0.8;
  transition: 0.5s;
  text-decoration: none;
  border: solid 1px #f60000;
}

@media screen and (max-width: 959px) {
  .button__mainColor-red a {
    padding: 20px 10vw;
  }
}

.button__mainColor-red:hover {
  background-color: #fff;
}

.button__mainColor-red a {
  color: #fff;
}

.button__mainColor-red a:hover {
  color: #f60000;
}

.button__arrow-mainColor--white-red {
  position: relative;
}

.button__arrow-mainColor--white-red:after {
  content: "\f054";
  font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands";
  font-weight: 900;
  display: block;
  position: absolute;
  top: 50%;
  right: 5px;
  color: #fff;
  transform: translate(-10px, -50%);
  transition: all 0.5s;
}

@media screen and (max-width: 767px) {
  .button__arrow-mainColor--white-red:after {
    right: 1vw;
  }
}

.button__arrow-mainColor--white-red:hover:after {
  color: #f60000;
}

/* 赤ボタンend */

.button__mv {
  background-color: #955025;
  display: inline-block;
}

.button__mv:hover {
  transition: all 0.5s;
}

.button__mv a {
  display: block;
  padding: 20px 4vw;
  color: #fff;
  transition: all 0.5s;
}

.button__mv a:hover {
  color: #fff;
  opacity: 0.8;
  transition: 0.5s;
  text-decoration: none;
}

@media screen and (max-width: 959px) {
  .button__mv a {
    padding: 20px 10vw;
  }
}

@media screen and (max-width: 959px) {
  .button__mv a {
    padding: 20px 9vw;
  }
}

.button__white {
  background-color: transparent;
  display: inline-block;
}

.button__white:hover {
  transition: all 0.5s;
}

.button__white a {
  display: block;
  padding: 20px 4vw;
  color: #fff;
  transition: all 0.5s;
}

.button__white a:hover {
  color: #fff;
  opacity: 0.8;
  transition: 0.5s;
  text-decoration: none;
}

@media screen and (max-width: 959px) {
  .button__white a {
    padding: 20px 10vw;
  }
}

.button__white a {
  padding: 10px 0;
}

.button__bg-white {
  background-color: #fff;
  display: inline-block;
  /* テキスト・背景　ホワイト/ブロックver */
}

.button__bg-white:hover {
  transition: all 0.5s;
}

.button__bg-white a {
  display: block;
  padding: 20px 4vw;
  color: #fff;
  transition: all 0.5s;
}

.button__bg-white a:hover {
  background-color: #00bee6;
  color: #fff;
  opacity: 0.8;
  transition: 0.5s;
  text-decoration: none;
}

@media screen and (max-width: 959px) {
  .button__bg-white a {
    padding: 20px 10vw;
  }
}

.button__bg-white a {
  color: #1f1f1f;
}

.button__bg-white a:hover {
  background-color: #00bee6;
  color: #fff;
}

.button__bg-white-block,
.button__bg-white-block_high {
  background-color: #fff;
  display: inline-block;
  display: block;
}

.button__bg-white-block:hover {
  transition: all 0.5s;
}

.button__bg-white-block a {
  display: block;
  padding: 20px 4vw;
  color: #fff;
  transition: all 0.5s;
}

.button__bg-white-block a:hover {
  color: #fff;
  opacity: 0.8;
  transition: 0.5s;
  text-decoration: none;
}

@media screen and (max-width: 959px) {
  .button__bg-white-block a .button__bg-white-block_high a {
    padding: 20px 10vw;
  }
}

.button__bg-white-block a {
  color: #1f1f1f;
  padding: 10px 1vw;
}

.button__bg-white-block_high a {
  color: #1f1f1f;
  padding: 2vw 1vw;
  display: block;
  transition: all 0.5s;
}

.button__bg-white-block a:hover,
.button__bg-white-block_high a:hover {
  color: #00bee6;
}

.button__bg-white-block .icon {
  max-width: 30px;
}

.button__bg-white-block .icon_none {
  width: 30px;
}

.button__blue {
  background-color: #fff;
  display: inline-block;
  border: 1px solid #00bee6;
}

.button__blue:hover {
  transition: all 0.5s;
}

.button__blue a {
  display: block;
  padding: 20px 1em;
  color: #fff;
  text-align: center;
  transition: all 0.5s;
}

.button__blue a:hover {
  color: #fff;
  background-color: #00bee6;
  transition: 0.5s;
  text-decoration: none;
}

@media screen and (max-width: 959px) {
  .button__blue a {
    padding: 20px 10vw;
  }
}

.button__blue a {
  color: #00bee6;
}

.button__blue a:hover {
  color: #fff;
  background-color: #00bee6;
}

.button__move {
  background-color: #00bee6;
  display: inline-block;
  background-color: transparent;
  display: block;
  transition: all 0.5s;
}

.button__move:hover {
  transition: all 0.5s;
}

.button__move a {
  display: block;
  padding: 20px 4vw;
  color: #fff;
  transition: all 0.5s;
}

.button__move a:hover {
  color: #fff;
  opacity: 0.8;
  transition: 0.5s;
  text-decoration: none;
}

@media screen and (max-width: 959px) {
  .button__move a {
    padding: 20px 10vw;
  }
}

.button__move .button__mainColor-block {
  background-color: #00bee6;
  display: inline-block;
  display: block;
  transition: all 0.5s;
}

.button__move .button__arrow-mainColor--white {
  position: relative;
  transition: all 0.5s;
}

.button__move .button__arrow-mainColor--white:after {
  content: "\f054";
  font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands";
  font-weight: 900;
  display: block;
  position: absolute;
  top: 50%;
  right: 5px;
  color: #fff;
  transform: translate(-10px, -50%);
  transition: all 0.5s;
}

@media screen and (max-width: 767px) {
  .button__move .button__arrow-mainColor--white:after {
    right: 1vw;
  }
}

.button__move img {
  transition: all 0.5s;
}

.button__move:hover img {
  transition: all 0.5s;
  transform: scale(1.05, 1.05);
}

.button__move:hover .button__mainColor-block {
  transition: all 0.5s;
  background-color: #fff;
  color: #00bee6;
}

.button__move:hover .button__arrow-mainColor--white:after {
  color: #00bee6;
}

.button__arrow {
  position: relative;
  /* 矢印　ブラック */
  /* 矢印　ホワイト */
  /* 矢印　mainColor */
  /* 矢印　left-minBox用 */
}

.button__arrow:after {
  content: "\f054";
  font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands";
  font-weight: 900;
  display: block;
  position: absolute;
  top: 50%;
  right: 10px;
  color: #c9c9c9;
  transform: translate(-10px, -50%);
  transition: all 0.5s;
}

@media screen and (max-width: 767px) {
  .button__arrow:after {
    right: 1vw;
  }
}

.button__arrow:hover:after {
  color: #fff;
}

.button__arrow-block {
  position: relative;
}

.button__arrow-block:after {
  content: "\f054";
  font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands";
  font-weight: 900;
  display: block;
  position: absolute;
  top: 50%;
  right: 10px;
  color: #c9c9c9;
  transform: translate(-10px, -50%);
  transition: all 0.5s;
}

@media screen and (max-width: 767px) {
  .button__arrow-block:after {
    right: 1vw;
  }
}

.button__arrow-block:hover:after {
  color: #fff;
}

.button__arrow-block--mainColor {
  position: relative;
}

.button__arrow-block--mainColor:after {
  content: "\f054";
  font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands";
  font-weight: 900;
  display: block;
  position: absolute;
  top: 50%;
  right: 10px;
  color: #c9c9c9;
  transform: translate(-10px, -50%);
  transition: all 0.5s;
}

@media screen and (max-width: 767px) {
  .button__arrow-block--mainColor:after {
    right: 1vw;
  }
}

.button__arrow-block--mainColor:hover:after {
  color: #00bee6;
}

.button__arrow-black {
  position: relative;
}

.button__arrow-black:after {
  content: "\f054";
  font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands";
  font-weight: 900;
  display: block;
  position: absolute;
  top: 50%;
  right: 10px;
  color: #1f1f1f;
  transform: translate(-10px, -50%);
  transition: all 0.5s;
}

@media screen and (max-width: 767px) {
  .button__arrow-black:after {
    right: 1vw;
  }
}

.button__arrow-white {
  position: relative;
  /* 矢印　背景ホワイト用 */
}

.button__arrow-white:after {
  content: "\f054";
  font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands";
  font-weight: 900;
  display: block;
  position: absolute;
  top: 50%;
  right: 10px;
  color: #fff;
  transform: translate(-10px, -50%);
  transition: all 0.5s;
}

@media screen and (max-width: 767px) {
  .button__arrow-white:after {
    right: 1vw;
  }
}

.button__arrow-white--box {
  position: relative;
}

.button__arrow-white--box:after {
  content: "\f054";
  font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands";
  font-weight: 900;
  display: block;
  position: absolute;
  top: 50%;
  right: 10px;
  color: #c9c9c9;
  transform: translate(-10px, -50%);
  transition: all 0.5s;
}

@media screen and (max-width: 767px) {
  .button__arrow-white--box:after {
    right: 1vw;
  }
}

.button__arrow-white--box:hover:after {
  color: #c9c9c9;
}

.button__arrow-mainColor {
  position: relative;
}

.button__arrow-mainColor:after {
  content: "\f054";
  font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands";
  font-weight: 900;
  display: block;
  position: absolute;
  top: 50%;
  right: 0px;
  color: #00bee6;
  transform: translate(-10px, -50%);
  transition: all 0.5s;
}

@media screen and (max-width: 767px) {
  .button__arrow-mainColor:after {
    right: 10px;
  }
}

.button__arrow-mainColor:hover:after {
  color: #00bee6;
}

.button__arrow-mainColor--white {
  position: relative;
  border: 1px solid #00bee6;
}

.button__arrow-mainColor--white:after {
  content: "\f054";
  font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands";
  font-weight: 900;
  display: block;
  position: absolute;
  top: 50%;
  right: 5px;
  color: #fff;
  transform: translate(-10px, -50%);
  transition: all 0.5s;
}

@media screen and (max-width: 767px) {
  .button__arrow-mainColor--white:after {
    right: 1vw;
  }
}

.button__arrow-mainColor--white:hover:after {
  color: #00bee6;
}

.button__arrow-white--left {
  position: relative;
}

.button__arrow-white--left:after {
  content: "\f054";
  font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands";
  font-weight: 900;
  display: block;
  position: absolute;
  top: 50%;
  right: 10px;
  color: #fff;
  transform: translate(-10px, -50%);
  transition: all 0.5s;
}

@media screen and (max-width: 767px) {
  .button__arrow-white--left:after {
    right: 1vw;
  }
}

.button__arrow-white--left::after {
  top: 50%;
  right: -10px;
  transform: translate(10px, -50%);
}

.main_slider img {
  height: 400px;
  object-fit: contain;
}

.bxslider_thumbnail {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 30px;
  list-style: none;
}

.bxslider_thumbnail li {
  width: calc(100% / 5);
}

.bxslider_thumbnail a {
  display: block;
  position: relative;
  padding-top: 75%;
}

.bxslider_thumbnail img {
  position: absolute;
  top: 0px;
  left: 50%;
  transform: translateX(-50%);
  max-width: 100%;
  max-height: 100%;
}

.faq {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  /* gap: 30px 0; */
}

.faq__box .question:nth-child(odd) {
  background-color: #00bee6;
}

.faq__box .question.open .arrow:after {
  height: 0;
}

.faq__box p {
  margin: 0 !important;
}

.faq .question {
  background-color: #00bee6;
  /* padding: 0.5rem 4rem 0.5rem 1rem; */
  position: relative;
  z-index: +1;
  cursor: pointer;
  transition: .2s;
  height: 70px;
  min-height: 0%;
  /* display: flex; */
}

@media screen and (max-width: 767px) {
  .faq .question {
    height: auto;
  }
}

.faq .question-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px 20px;
}

.faq .question-inner p:nth-of-type(1) {
  padding: 0 10px;
  color: #fff;
  font-weight: 600;
  font-size: 20px;
}

.faq .question-inner p:nth-of-type(2) {
  color: #fff;
  flex: 1;
  font-weight: 600;
  font-size: 15px;
}

.faq .arrow {
  position: absolute;
  top: 50%;
  right: 2rem;
  width: 20px;
  height: 20px;
  margin-top: -10px;
}

.faq .arrow::before,
.faq .arrow::after {
  position: absolute;
  content: "";
  margin: auto;
  box-sizing: border-box;
  vertical-align: middle;
}

.faq .arrow::before {
  border-top: 2px solid #fff;
  width: 20px;
  height: 0;
  top: 0;
  bottom: 0;
  right: 0;
}

.faq .arrow::after {
  border-left: 2px solid #fff;
  width: 0;
  height: 20px;
  top: 0;
  bottom: 0;
  right: 9px;
  transition: .3s;
}

.faq .answer {
  /* display: none; */
  padding: 1.5rem 1rem 1.5rem 1rem;
  border-left: 1px solid #c9c9c9;
  border-right: 1px solid #c9c9c9;
  border-bottom: 1px solid #c9c9c9;
  box-sizing: border-box;
  background: #fff;
}

@media screen and (max-width: 767px) {
  .faq .answer {
    padding: 1.0rem 1.0rem 1.0rem 1.0rem;
    height: auto;
  }
}

@media screen and (max-width: 767px) {
  .faq .question {
    padding: 1.5rem 2rem 1.5rem 1.0rem;
  }

  .faq .question .arrow {
    right: 0.8rem;
    width: 15px;
    height: 15px;
    margin-top: -7px;
  }

  .faq .question .arrow:before {
    width: 15px;
  }

  .faq .question .arrow:after {
    height: 15px;
    right: 7px;
  }
}

.faq .answer-inner {
  position: relative;
  line-height: 1.5;
  /* display: flex; */
  /* flex-wrap: wrap; */
  align-items: flex-start;
  gap: 0px 20px;
  /* padding-left: 48px; */
  display: contents;
}

/* .faq .answer-inner p:nth-of-type(1) {
      padding: 0 10px;
      color: #00bee6;
      font-weight: 600;
      font-size: 20px; } */
.faq .answer-inner p {
  flex: 1;
  font-size: 14px;
}

.contact__box {
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}

.contact__box--white {
  background-color: #fff;
  padding: 1vw 2vw;
}

@media screen and (max-width: 959px) {
  .contact__box--white {
    padding: 2vw 2vw;
  }
}

.contact__box--bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1em 0;
}

.contact__box-heading {
  width: 10%;
}

@media screen and (max-width: 959px) {
  .contact__box-heading {
    width: 20%;
  }
}

.contact__box-heading-inner {
  background-color: #00bee6;
  border-radius: 50%;
  width: 5vw;
  height: 5vw;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin: auto;
  color: #fff;
}

@media screen and (max-width: 959px) {
  .contact__box-heading-inner {
    width: 14vw;
    height: 14vw;
  }
}

.contact__box-text {
  width: 50%;
}

@media screen and (max-width: 959px) {
  .contact__box-text {
    width: 80%;
  }
}

.contact__box-button {
  border-width: 2px;
  border-radius: 4px;
  font-weight: bold;
  width: 40%;
}

@media screen and (max-width: 959px) {
  .contact__box-button {
    width: 100%;
  }
}

.contact__link {
  background-color: #98b800;
  padding: 3em 10px;
  display: block;
  color: #fff;
}

.contact__link:hover {
  color: #fff;
}

.contact-step {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.contact-step::after {
  content: "";
  display: block;
  width: 23%;
}

@media screen and (max-width: 767px) {
  .contact-step::after {
    content: "";
    display: block;
    width: 46%;
  }
}

.contact-step__box {
  width: 23%;
  background-color: #fff;
  padding: 10px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .contact-step__box {
    width: 46%;
    justify-content: inherit;
  }
}

.contact-step__box:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -60px;
  width: 20px;
  height: 30px;
  background: linear-gradient(to bottom left, transparent 50%, #fff 51%) no-repeat top left/100% 50%, linear-gradient(to top left, transparent 50%, #fff 51%) no-repeat bottom left/100% 50%;
  transform: translate(-40px, -50%);
}

@media screen and (max-width: 767px) {
  .contact-step__box:not(:last-child)::after {
    right: -54px;
  }
}

.contact-step__number {
  color: #c9c9c9;
  text-align: center;
  font-family: 'Anton', sans-serif;
}

.contact-step__title {
  font-size: 1.2em;
  text-align: center;
  color: #00bee6;
}

.contact-step__icon img {
  max-width: 55px;
  max-height: 55px;
  height: 100%;
}

.contact-step__text {
  font-size: 0.9em;
}

.contact-step .gray {
  background-color: #F6F6F6;
}

.contact-step .gray:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -60px;
  width: 20px;
  height: 30px;
  background: linear-gradient(to bottom left, transparent 50%, #F6F6F6 51%) no-repeat top left/100% 50%, linear-gradient(to top left, transparent 50%, #F6F6F6 51%) no-repeat bottom left/100% 50%;
  transform: translate(-40px, -50%);
}

@media screen and (max-width: 767px) {
  .contact-step .gray:not(:last-child)::after {
    right: -54px;
  }
}

.contact-step .current {
  background-color: #00bee6;
}

.contact-step .current:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -60px;
  width: 20px;
  height: 30px;
  background: linear-gradient(to bottom left, transparent 50%, #00bee6 51%) no-repeat top left/100% 50%, linear-gradient(to top left, transparent 50%, #00bee6 51%) no-repeat bottom left/100% 50%;
  transform: translate(-40px, -50%);
}

@media screen and (max-width: 767px) {
  .contact-step .current:not(:last-child)::after {
    right: -54px;
  }
}

.contact-step .current>* {
  color: #fff;
}

.mnavi .children li {
  background-color: rgba(255, 255, 255, 0.1);
  padding: 10px 10px;
  margin-bottom: 0.5em;
  font-size: 15px;
  position: relative;
}

.mnavi .menu>ul>li {
  position: relative;
  margin-bottom: 0.5em;
  font-size: 18px;
}

.mnavi .menu>ul>li>a {
  display: block;
  border-bottom: 1px solid #fff;
  padding-bottom: 4px;
  margin-bottom: 10px;
}

.mnavi .menu>ul>.page_item:not(.page_item_has_children) {
  position: relative;
}

.mnavi .menu>ul>.page_item:not(.page_item_has_children):after {
  content: "\f054";
  font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands";
  font-weight: 900;
  display: block;
  position: absolute;
  top: 0;
  right: 14px;
  color: #fff;
  transform: translate(0, 0) rotate(0deg);
  transition: 0.5s;
}

.mnavi .menu>ul>.page_item_has_children {
  position: relative;
}

.mnavi .menu>ul>.page_item_has_children:after {
  content: "\f054";
  font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands";
  font-weight: 900;
  display: block;
  position: absolute;
  top: 0;
  right: 14px;
  color: #fff;
  transform: translate(0, 0) rotate(-90deg);
  transition: 0.5s;
}

.mnavi .menu>ul>.page_item_has_children.open {
  position: relative;
}

.mnavi .menu>ul>.page_item_has_children.open:after {
  content: "\f054";
  font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands";
  font-weight: 900;
  display: block;
  position: absolute;
  top: 0;
  right: 14px;
  color: #fff;
  transform: translate(0, 0) rotate(-90deg);
  transition: 0.5s;
}

.mnavi .menu>ul>.page_item_has_children.open:after {
  transform: translate(0, 0) rotate(90deg);
}

.mnavi .menu>ul>.page_item_has_children>a {
  pointer-events: none;
}

.footer {
  padding: 2em 0 2em 0;
  margin: auto;
}

@media screen and (max-width: 767px) {
  .footer {
    padding: 2em 0 7em 0;
  }
}

.footer__wrap {
  display: flex;
  flex-wrap: wrap;
}

.footer__left {
  width: 22%;
}

@media screen and (max-width: 767px) {
  .footer__left {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
}

.footer__right {
  width: 77%;
}

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

.footer__logo {
  max-width: 140px;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .footer__logo {
    max-width: 240px;
    width: 100%;
    margin: auto;
  }
}

.footer__addr {
  font-size: 0.8em;
}

@media screen and (max-width: 767px) {
  .footer__addr {
    width: 100%;
    text-align: center;
  }
}

.footer .youtube {
  margin-top: 1.5em;
}

@media screen and (max-width: 767px) {
  .footer .youtube {
    width: 10%;
    margin: auto;
    margin-top: 1em;
  }
}

.footer__copyright {
  margin-top: 1.5em;
}

@media screen and (max-width: 767px) {
  .footer__copyright {
    width: 100%;
    text-align: center;
  }
}

.footer .f-nav .menu>ul {
  display: flex;
  flex-flow: column wrap;
  gap: 0.5em 1.0em;
  font-size: 0.8em;
  height: 335px;
  overflow: hidden;
}

@media screen and (max-width: 1047px) {
  .footer .f-nav .menu>ul {
    height: 800px;
  }
}

.footer .f-nav .menu>ul>li {
  position: relative;
  width: 24%;
  padding-left: 15px;
}

.footer .f-nav .menu>ul>li::before {
  content: "";
  display: block;
  background-color: #c9c9c9;
  position: absolute;
  top: -5px;
  left: 0px;
  width: 1px;
  height: calc(100% - -50vh);
}

.footer .f-nav .children>li {
  position: relative;
  padding-left: 15px;
  font-size: 0.90em;
}

.footer .f-nav .children>li:after {
  content: "\f054";
  font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands";
  font-weight: 900;
  display: block;
  position: absolute;
  top: 0;
  left: 0px;
  color: #c9c9c9;
  transform: translate(0, 0);
  transition: 0.5s;
}

.menu-footer_nav-container ul.menu {
  display: flex;
  flex-flow: column wrap;
  gap: 1.5em 1.0em;
  font-size: 0.9em;
  height: 500px;
  overflow: hidden;
}

@media screen and (max-width: 1047px) {
  .menu-footer_nav-container ul.menu {
    height: auto;
  }
}

.menu-footer_nav-container .sub-menu>li {
  line-height: 2.2em;
  position: relative;
  padding-left: 15px;
  font-size: 0.90em;
}

.menu-footer_nav-container .sub-menu>li:after {
  content: "\f054";
  font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands";
  font-weight: 900;
  display: block;
  position: absolute;
  top: 0;
  left: 0px;
  color: #c9c9c9;
  transform: translate(0, 0);
  transition: 0.5s;
}

@media screen and (max-width: 767px) {
  .page_title_base>h1 {
    font-size: 5.0vw;
  }
}

.googleMap {
  height: 0;
  overflow: hidden;
  padding-bottom: 80.00%;
  position: relative;
}

.googleMap iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}

.taxonomy__flex {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

/* .taxonomy__flex li {
    text-align: center;
    display: inline-block;
    position: relative; }
    .taxonomy__flex li:after {
      content: "\f054";
      font-family: "Font Awesome 5 Free","Font Awesome 5 Brands";
      font-weight: 900;
      display: block;
      position: absolute;
      top: 50%;
      right: -40px;
      color: #1f1f1f;
      transform: translate(-10px, -50%);
      transition: 0.5s; } */

/* ここから追加 */
.taxonomy__flex li a {
  padding: 6px 17px 8px 17px;
  line-height: 2;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  display: inline-block;
  border-radius: 20px;
  cursor: pointer;
  text-decoration: none;
  transition: opacity 0.15s cubic-bezier(0.45, 0.05, 0.55, 0.95), color 0.15s cubic-bezier(0.445, 0.05, 0.55, 0.95), border 0.15s cubic-bezier(0.445, 0.05, 0.55, 0.95);
  border: solid 1px #00bee6;
  color: #00bee6;
  margin-right: 1em;
}

.taxonomy__flex li a:hover {
  color: #fff;
  background-color: #00bee6;
  margin-right: 1em;
}

.taxonomy__flex .current-cat a {
  pointer-events: none;
  color: #fff;
  background-color: #00bee6;
}

/* faqの数が増えるまでリンク非表示 */
.taxonomy__flex {
  display: none;
}



/* .main-visual__wrap {
  background-image: url(./images/top/mv.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover; } */
.main-visual__inner {
  padding: 8vw 0;
  text-align: center;
  color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.main-visual__inner h1 {
  font-size: 5.0em;
  font-family: 'Anton', sans-serif;
  letter-spacing: 0.2em;
  text-shadow: 0 0 5px rgba(0, 0, 0, 0.9);
}

.main-visual__inner p {
  text-shadow: 0 0 16px rgba(0, 0, 0, 1.20);
}

.flow {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.flow::after {
  content: "";
  display: block;
  width: 18%;
}

@media screen and (max-width: 767px) {
  .flow::after {
    content: "";
    display: block;
    width: 46%;
  }
}

.flow__box {
  width: 18%;
  background-color: #fff;
  padding: 10px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .flow__box {
    width: 46%;
    justify-content: inherit;
  }
}

@media screen and (max-width: 500px) {
  .flow__box {
    width: 80%;
    justify-content: inherit;
  }

  .flow {
    justify-content: center;
  }
}

.flow__box:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -60px;
  width: 20px;
  height: 30px;
  background: linear-gradient(to bottom left, transparent 50%, #fff 51%) no-repeat top left/100% 50%, linear-gradient(to top left, transparent 50%, #fff 51%) no-repeat bottom left/100% 50%;
  transform: translate(-40px, -50%);
}

.flow__number {
  color: #c9c9c9;
  text-align: center;
  font-family: 'Anton', sans-serif;
}

.flow__title {
  font-size: 1.2em;
  text-align: center;
  color: #00bee6;
}

.flow__icon img {
  max-width: 55px;
  max-height: 55px;
  height: 100%;
}

.flow__text {
  font-size: 0.9em;
}

.flow .gray {
  background-color: #F6F6F6;
}

.flow .gray:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -60px;
  width: 20px;
  height: 30px;
  background: linear-gradient(to bottom left, transparent 50%, #F6F6F6 51%) no-repeat top left/100% 50%, linear-gradient(to top left, transparent 50%, #F6F6F6 51%) no-repeat bottom left/100% 50%;
  transform: translate(-40px, -50%);
}


.form input[type="text"] {
  background-color: #F6F6F6;
  width: 100%;
  padding: 10px;
}

.form input[type="tel"] {
  background-color: #F6F6F6;
  width: 100%;
  padding: 10px;
}

.form input[type="email"] {
  background-color: #F6F6F6;
  width: 100%;
  padding: 10px;
}

.form input[type="date"] {
  background-color: #F6F6F6;
  max-width: 200px;
  padding: 10px;
}

.form select {
  background-color: #F6F6F6;
  width: 100%;
  padding: 10px;
}

.form textarea {
  background-color: #F6F6F6;
  width: 100%;
  padding: 10px;
}

.form .checkbox input[type="checkbox"] {
  opacity: 0;
  appearance: none;
  position: absolute;
}

.form .checkbox input[type="checkbox"]:focus+span::before {
  box-shadow: 0 0 4px #00bee6;
}

.form .checkbox input[type="checkbox"]:checked+span::after {
  opacity: 1;
}

.form .checkbox .text {
  display: inline-block;
  position: relative;
  padding-left: 26px;
  line-height: 2.2;
}

.form .checkbox .text::before {
  position: absolute;
  top: 8px;
  left: 0;
  width: 18px;
  height: 18px;
  border: 1px solid #eee;
  background: #fff;
  content: "";
  transition: all 0.3s;
}

.form .checkbox .text::after {
  position: absolute;
  top: 8px;
  left: 0;
  width: 18px;
  height: 18px;
  color: #00bee6;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  content: "✔";
  opacity: 0;
  transition: all 0.3s;
}

.cat__list p {
  position: relative;
}

.cat__list p:after {
  content: "\f054";
  font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands";
  font-weight: 900;
  display: block;
  position: absolute;
  top: 50%;
  right: -50px;
  color: #00bee6;
  transform: translate(-10px, -50%);
  transition: 0.5s;
}

@media screen and (max-width: 767px) {
  .cat__list p:after {
    right: 20px;
  }
}

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


/* 追加 */
.column__right,
.column__left {
  padding: 0 3em;
}

/* customize start */

.want {
  background-color: #00bee6;
  cursor: pointer;
  transition: .2s;
  min-height: 0%;
  color: #fff;
  font-weight: 600;
  padding: 0.5em 1em;
}

.give {
  border-left: 1px solid #dedede;
  border-right: 1px solid #dedede;
  border-bottom: 1px solid #dedede;
  cursor: pointer;
  transition: .2s;
  min-height: 0%;
  padding: 0.5em 1em;
}

.customize_list {
  margin: 0 1em 0 2em;
}


/* faq start */
.faq__box>label {
  display: block;
  position: relative;
  width: 100%;
  padding: 0px;
  margin: 0px;
  cursor: pointer;
}

.faq__box>label>input {
  display: none;
}

.faq__box>label>question,
.faq__box>label>label>answer {
  position: relative;
}

.faq__box>label>question::before,
.faq__box>label>label>answer::before {
  position: absolute;
  top: 50%;
  left: 0.5em;
  transform: translateY(-50%);
  font-size: 1.5em;
}

.faq__box>label>question {
  z-index: 1;
}

.faq__box .question .question_plusminus .question-txt::before {
  content: "Q.";
  padding: 0 0.5em;
  color: #fff;
  font-weight: 600;
  font-size: 20px;
}

.faq__box>label>label>.answer::before {
  content: "A.";
  padding: 0 0.5em;
  color: #00bee6;
  position: absolute;
  font-weight: bold;
  font-size: 20px;
  left: 0.9em;
  top: 1.1em;
}

.faq__box>label>label>.answer {
  position: absolute;
  top: 0px;
  left: 0px;
  transform: translateY(-2em);
  margin: 0px;
  visibility: hidden;
  padding-left: 4.5em;
  transition: opacity 0.5s;
  opacity: 0;
}

.faq__box>label>input:checked~label>.answer {
  position: relative;
  transform: translateY(0px);
  visibility: visible;
  opacity: 1;
}

.accordion_hidden:checked+dt {
  border-bottom: none;
}

.answer {
  position: relative;
}

.answer::after {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateY(0) translateX(-50%);
  content: "";
  width: 90%;
}

.question_plusminus {
  position: relative;
  display: block;
  padding-left: 1em;
  padding-right: 2em;
}

.question_plusminus::after {
  position: absolute;
  font-family: "Font Awesome 5 Free";
  content: '\f067';
  right: 10px;
  font-weight: bold;
  font-size: 1.5em;
  bottom: -0.5em;
  color: #fff;
  top: 50%;
  transform: translateY(-50%);
}

.accordion_hidden:checked+.question .question_plusminus:after {
  position: absolute;
  font-family: "Font Awesome 5 Free";
  content: '\f068';
  right: 12px;
  font-size: 1.3em;
}

.question-txt {
  color: #fff;
  flex: 1;
  font-weight: 600;
  font-size: 15px;
  display: flex;
  height: 70px;
  align-items: center;
}


.video video {
  width: 100%;
}

/* frontpage */

.main-visual {
  height: calc(100vh - 100px);
  overflow: hidden;
  position: relative;
  margin-top: 88px;
}

.video_wrapper::before {
  position: absolute;
  top: 0px;
  left: 0px;
  right: 0px;
  bottom: 0px;
  background-color: rgba(0, 0, 0, 0.2);
  background-image: radial-gradient(#000 20%, transparent 0), radial-gradient(#000 20%, transparent 0);
  background-position: 0px 0px, 10px 10px;
  background-size: 4px 4px;
  content: "";
}

@media screen and (max-width: 767.98px) {
  .page_title {
    margin-top: 0;
  }

  .main-visual {
    margin-top: 0;
  }

  .button__mv a {
    display: none;
  }

  .button__arrow-white:after {
    display: none;
  }

  .main-visual__inner p {
    display: none;
  }
}

@media screen and (max-height: 650px) {
  .button__mv a {
    display: none;
  }

  .button__arrow-white:after {
    display: none;
  }
}

@media screen and (max-height: 540px) {
  .main-visual__inner p {
    display: none;
  }
}

@media screen and (max-width: 425px) {
  .top_feature_01 {
    margin-bottom: 1em;
  }

  .top_feature_02 {
    margin-bottom: 1em;
  }
}

.fs-12-front {
  font-size: clamp(0.9em, 3vw, 1.2em);
}

.top_product {
  height: 105px;
}

.top_support {
  min-height: 200px;
}

.top_support_list {
  min-height: 200px;
}

/* outline */
.jusyou img {
  height: 80%;
}

/* contact */
.contact__box--bottom a {
  white-space: nowrap;
}

/* company */
.column__box--gray {
  background-color: #f5f5f5;
}

/* 追加 */
summary {
  cursor: pointer;
}

details[open] summary {
  color: gray;
}

details[open] .details-content {
  animation: fadeIn 0.5s ease;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
    /* 透明 */
    transform: translateY(-10px);
    /* 上から表示 */
  }

  100% {
    opacity: 1;
    transform: none;
  }
}

.fadeIn {
  animation-name: fadeIn;
}


/* machine-robot */
.robot_list {
  margin: 0 1em 0 2em;
}

/* support */
@media screen and (min-width: 768px) {
  .mb_only {
    display: none;
  }
}

/* access */
@media screen and (max-width: 767.98px) {
  .column__flex-cr {
    flex-direction: column-reverse;
  }
}


/* top_recruit */
.top_recruit_line::before {
  width: 90%;
  height: 70%;
  position: absolute;
  content: "";
  border-right: 2px solid #fff;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  top: 58.35px;
  right: 5%;
}

@media screen and (min-width: 767.02px) {
  .top_recruit_line::before {
    top: 58.35px;
  }
}

@media screen and (max-width: 767px) {
  .top_recruit_line::before {
    top: calc(38.9px + 5.5vw * 1.5 / 2);
  }
}

.heading__top--title::after {
  content: "";
  display: block;
  position: absolute;
  background-color: #fff;
  height: 2px;
  top: 50%;
  left: 5%;
  width: calc(50% - 5em);
  transform: translate(0, -50%);
}

.heading__top--title::before {
  content: "";
  display: block;
  position: absolute;
  background-color: #fff;
  width: calc(50% - 5em);
  height: 2px;
  top: 50%;
  right: 5%;
  transform: translate(0, -50%);
}

.hover-under-line a:hover {
  text-decoration: underline;
}

/* works */
.button__list {
  background-color: #00bee6;
  display: inline-block;
  background-color: transparent;
  display: block;
  transition: all 0.5s;
}

.button__mainColor-block_list {
  background-color: #00bee6;
  display: inline-block;
  display: block;
  color: #fff;
}

.table__product tr th span {
  font-size: 0.7em;
}

.table__product tr td span {
  font-size: 0.7em;
}

table {
  border: 1px solid #dedede;
}

table th,
table td {
  border-left: 1px solid #dedede;
}

/* products */
.product_main_image_slider_item {
  border: 1px solid #dedede;
  width: 100%;
  padding-top: 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.product_sub_image {
  margin-top: 20px;
}

.product_sub_image_slider {
  display: flex;
  flex-wrap: wrap;
  margin: -10px -5px 0px;
  list-style: none;
}

.product_sub_image_slider li {
  margin: 10px 5px 0px;
  width: calc(20% - 10px);
}

.product_sub_image_slider a {
  display: block;
  position: relative;
  padding-top: 100%;
  overflow: hidden;
}

.product_sub_image_slider img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%) scale(2.0);
}

.product_movie {
  margin-top: 60px;
  border: 1px solid #ddd;
}

.product_movie video {
  display: block;
  width: 100%;
}

@media screen and (max-width: 767.98px) {
  .product_sub_image_slider li {
    width: calc(25% - 10px);
  }
}

.product_image {
  border: 1px solid #dedede;
  width: 100%;
  padding-top: 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.title_2line {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  min-height: 4em;
}

.w_6 {
  width: 6em;
}

.w_7 {
  width: 7em;
}

.w_11 {
  width: 11em;
}

.product_spec_pdf {
  position: relative;
}


.product_spec_pdf:after {
  position: absolute;
  font-family: "Font Awesome 5 Free";
  content: '\f1c1';
  right: -20px;
  font-size: 1em;
  font-weight: 400;
  top: 50%;
  transform: translateY(-50%);
  color: #00bee6;
}

.product_spec_pdf span {
  color: #00bee6;
}

@media print {
  .no-print {
    display: none;
  }
}

.product_outline .column__left-title {
  font-size: 1.6em;
}

.flex_center {
  display: flex;
  align-items: center;
}

.display_block {
  display: block;
}


/**********************業界別ページ実装関連*/

.product_area {
  margin: 2em auto;
  width: 1100px;
}

@media screen and (max-width: 767.98px) {
  .product_area {
    width: 99%;
  }
}

.product_area_bg {
  background-color: #f5f5f5;
  padding: 2em 0;
}

.product_h2 {
  font-size: 1.4em;
  font-weight: bold;
  margin-bottom: 1em;
  text-align: center;
}

/*機械の型番 hoverしても色変わらない・中央寄せ*/
.product_area_machinename {
  color: #1f1f1f;
  text-align: center;
}


/*機械の写真の下のボタンリンク*/
.industry_type_btn {
  position: relative;
  background-color: #00bee6;
  color: #fff;
  font-size: 12px;
  text-align: center;
  padding: 0.5em;
  border: 1px solid transparent;
}

@media screen and (max-width: 767.98px) {
  .industry_type_btn {
    position: relative;
    background-color: #00bee6;
    color: #fff;
    font-size: 12px;
    text-align: center;
    padding: 0.5em;
    width: 100%;
  }
}

.industry_type_btn:hover {
  position: relative;
  background-color: #fff;
  color: #00bee6;
  font-size: 12px;
  text-align: center;
  border: 1px solid #00bee6;
  transition: all 0.5s;
}

.industry_type_btn::after {
  content: "\f054";
  font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands";
  font-weight: 600;
  display: block;
  position: absolute;
  top: 50%;
  right: -4px;
  color: #fff;
  transform: translate(-10px, -50%);

}

@media screen and (max-width: 767.98px) {
  .industry_type_btn::after {
    display: none;
  }
}

.industry_type_btn:hover::after {
  content: "\f054";
  font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands";
  font-weight: 600;
  display: block;
  position: absolute;
  top: 55%;
  right: -4px;
  color: #00bee6;
  transform: translate(-10px, -50%);
  transition: all 0.5s;
}

/*機械の画像の高さ合わせ*/
.min_height85 {
  min-height: 85%;
}

.min_height90 {
  min-height: 90%;
}

.mt_pc55_sp41em{
  margin-top:5.5em
}

@media screen and (max-width: 767.98px) {
  .mt_pc55_sp41em{
    margin-top:4.1em
  }
}

/*NUC-PALの機械画像高さ合わせ*/
.mt-10px{
  margin-top:10px;
}

/*NUCROBO-101の機械画像高さ合わせ*/
.nucrobo101{
  position:relative;
  top:70px;
}



/**********************動画一覧ページ実装関連*/
.page-product-movie video {
  display: block;
  width: 100%;
  border: 1px solid #ddd
}

.page-product-movie .industry_type_btn {
  position: relative;
  background-color: #00bee6;
  color: #fff;
  font-size: 16px;
  text-align: center;
  padding: 1em;
  border: 1px solid transparent;
  width: 100%;
  margin: 0 auto;
}

@media screen and (max-width: 767.98px) {
  .page-product-movie .industry_type_btn {
    position: relative;
    background-color: #00bee6;
    color: #fff;
    font-size: 16px;
    text-align: center;
    padding: 1em;
    width: 100%;
  }
}

.page-product-movie .industry_type_btn:hover {
  position: relative;
  background-color: #fff;
  color: #00bee6;
  font-size: 16px;
  text-align: center;
  border: 1px solid #00bee6;
  transition: all 0.5s;
}

.page-product-movie .industry_type_btn::after {
  content: "\f054";
  font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands";
  font-weight: 600;
  display: block;
  position: absolute;
  top: 50%;
  right: -4px;
  color: #fff;
  transform: translate(-10px, -50%);

}

@media screen and (max-width: 767.98px) {
  .page-product-movie .industry_type_btn::after {

  }
}

.page-product-movie .industry_type_btn:hover::after {
  content: "\f054";
  font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands";
  font-weight: 600;
  display: block;
  position: absolute;
  top: 55%;
  right: -4px;
  color: #00bee6;
  transform: translate(-10px, -50%);
  transition: all 0.5s;
}
/*動画一覧ページ終了*/


/* 開発秘話開始 */
.page-scraping img,
.page-sanax-6 img,
.page-pallet-system img,
.page-rgs-200 img,
.page-ecora img,
.page-sbs-100f img,
.page-spherical img,
.page-nucrobo-10 img{
  width:auto;
}

.innovation_history_nav a {
    display: block;
    position: relative;
    padding: 1em;
    /* border-radius: 10px; */
    border: 2px solid #f5f5f5;
    background-color: #f5f5f5;
    font-size: 17px;
    text-align: center;
    text-decoration: none;
    color: #3d3d3d;
}

.innovation_history_nav a:hover {
    border: 2px solid #DBDBDB;
    background-color: #DBDBDB;
    text-decoration: none;
}


.innovation_history_nav ul {
    display: flex;
    flex-wrap: wrap;
    padding: 0px;
    margin: -20px -10px 0px;
    list-style: none;
}

.innovation_history_nav li {
    /* width: 30%; */
    margin-right: 3%;
    margin-top: 1em;
    position: relative;
}

.innovation_history_nav li::before {
    width: 20px;
    height: 20px;
    top: 50%;
    transform: translateY(-50%);
    right: 10px;
    background-color: #3da4d1;
    border-radius: 50%;
    position: absolute;
    content: "";
    z-index: 1;
}

.innovation_history_nav li::after {
    position: absolute;
    top: 50%;
    right: 17px;
    width: 10px;
    height: 10px;
    transform: translateX(-50%) rotate(45deg) translateY(-70%);
    border-right: 2px solid #fff;
    border-top: 2px solid #fff;
    content: "";
    z-index: 2;
}

.innovation_history_nav .innovation_history_link_current {
    background-color: #fff;
}

.innovation_history_title {
    margin: 2em 0;
}

.innovation_history_title h2 {
    border-bottom: 1px solid #5f5f5f;
    color: #00bee6;
    font-weight: bold;
    font-size: 1.9rem;
}

.innovation_history_title span {
    font-size: 1.2em;
}

.innovation_history {
    margin: 2em 0;
}

.innovation_history h3 {
    font-size: 1.4em;
    padding: 2em 1em 0;
    margin: 0 auto 1em auto;
    border-bottom: 1px solid #3d3d3d;
    display: inline-block;
    text-align: center;
    font-weight: bold;
}

.innovation_history_section_title {
    text-align: center;
}

.innovation_history .red span {
    color: red;
}

.innovation_history_flex {
    justify-content: space-around;
}

@media screen and (max-width: 899.98px) {
    .innovation_history_nav li {
        width: 45%;
        margin-right: 0;
        font-size: 0.8em;
    }

    .innovation_history_nav ul {
        justify-content: space-around;
    }

    .innovation_history_nav a {
        padding: 1em 1.5em 1em 0.5em;
    }
}

@media screen and (min-width: 900px) {
    .innovation_history_nav li {
        width: 30%;
    }
}

.button_prd_link {
  width: 100%;
  max-width: 300px;
}
/* 開発秘話終了 */
