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

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

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

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none; }

body, body * {
  box-sizing: border-box; }

em {
  font-style: normal; }

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0; }

input[type="number"] {
  -moz-appearance: textfield; }

/* ------------------------------------------------------------- */
/* layout / parts                                                */
/* ------------------------------------------------------------- */
html.wf-loading {
  opacity: 0;
  transition: all .0s ease; }

html.wf-active {
  opacity: 1; }

html {
  overflow-x: hidden !important; }

.pc {
  display: block !important; }

.sp {
  display: none !important; }

body {
  font-size: 15px;
  font-weight: 400;
  color: #000;
  line-height: 2;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.03em;
  line-height: 1.5;
  outline: none;
  /*overflow-x: hidden;*/ }

.oswald {
  font-family: 'Oswald', sans-serif;
  font-style: normal;
  font-weight: 400; }

.roboto {
  font-family: 'Roboto', sans-serif;
  font-style: normal;
  font-weight: 400; }

input,
textarea {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 16px; }

.inner {
  width: 1100px;
  margin: 0 auto; }
  @media (max-width: 1100px) {
    .inner {
      width: 90%; } }
  .inner.top {
    width: 1280px; }
    @media (max-width: 1280px) {
      .inner.top {
        width: 90%; } }

.sec-padding {
  padding: 60px 0; }

.m-center {
  display: block;
  margin: 0 auto; }

.bold {
  font-weight: 700; }

.u-border {
  border-bottom: solid 1px #fff;
  padding-bottom: 1rem; }

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

/*-----------------画像--------------------*/
img.fit-cover {
  object-fit: cover;
  font-family: "object-fit:cover;"; }

img.fit-contain {
  object-fit: contain;
  font-family: "object-fit:contain;"; }

figure img {
  width: 100%; }

img {
  vertical-align: top; }

/*-----------------flex--------------------*/
.flex {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }

.flex.nowrap {
  flex-wrap: nowrap; }

.flex.right {
  justify-content: end; }

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

.flex.left {
  justify-content: flex-start; }

.flex.vertical {
  flex-direction: column;
  align-items: flex-start; }

.flex.al-center {
  align-items: center; }

.flex.al-top {
  align-items: flex-start; }

.flex.al-bottom {
  align-items: flex-end; }

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

/*-----------------Link--------------------*/
a {
  text-decoration: none;
  transition: all .3s ease; }

section li > a {
  display: block; }

a {
  color: inherit; }

a:hover {
  opacity: 0.7; }

/*----------------text---------------------*/
.txt-c {
  text-align: center; }

.txt-l {
  text-align: left; }

.txt-r {
  text-align: right; }

.red {
  color: #E72420; }

.bg-brown {
  background-image: url(../img/common/brown_bg.jpg);
  /*background-size: cover;*/
  background-repeat: repeat; }

@media (max-width: 768px) {
  /* ------------------------------------------------------------- */
  /* layout / parts                                                */
  /* ------------------------------------------------------------- */
  .pc {
    display: none !important; }

  .sp {
    display: block !important; }

  a:hover {
    opacity: 1; }

  .btn {
    width: 90%; }

  .reverse {
    flex-wrap: wrap; } }
.formError {
  color: #FF3E3E;
  font-size: 0.9rem; }
  .formError + input[type="text"], .formError + div input[type="text"], .formError + input[type="tel"], .formError + textarea {
    background: #ffe1e1; }

body.basic .hll01,
body.sdgs .hll02,
body.improve .hll03,
.header__sp-nav-link.current,
.header__link.current {
  position: relative; }
  body.basic .hll01:before,
  body.sdgs .hll02:before,
  body.improve .hll03:before,
  .header__sp-nav-link.current:before,
  .header__link.current:before {
    content: "";
    background: #00A9C6;
    display: block;
    width: 100%;
    height: 5px;
    position: absolute;
    bottom: 10px;
    left: 0; }
    @media (max-width: 768px) {
      body.basic .hll01:before,
      body.sdgs .hll02:before,
      body.improve .hll03:before,
      .header__sp-nav-link.current:before,
      .header__link.current:before {
        width: 4px;
        height: 50%;
        top: 25%;
        left: 10px; } }

.asideService {
  position: sticky !important;
  top: 120px; }
  @media (max-width: 768px) {
    .asideService {
      position: static !important;
      /*width: 100% !important;*/ } }

.delay-1 {
  transition-delay: 0.1s; }

.delay-2 {
  transition-delay: 0.2s; }

.delay-3 {
  transition-delay: 0.3s; }

.delay-4 {
  transition-delay: 0.4s; }

.delay-5 {
  transition-delay: 0.5s; }

.delay-6 {
  transition-delay: 0.6s; }

.delay-7 {
  transition-delay: 0.7s; }

.delay-8 {
  transition-delay: 0.8s; }

.delay-9 {
  transition-delay: 0.9s; }

.delay-10 {
  transition-delay: 1s; }

.delay-11 {
  transition-delay: 1.1s; }

.delay-12 {
  transition-delay: 1.2s; }

.delay-13 {
  transition-delay: 1.3s; }

.delay-14 {
  transition-delay: 1.4s; }

.delay-15 {
  transition-delay: 1.5s; }

.delay-16 {
  transition-delay: 1.6s; }

.delay-17 {
  transition-delay: 1.7s; }

.delay-18 {
  transition-delay: 1.8s; }

.delay-19 {
  transition-delay: 1.9s; }

.delay-20 {
  transition-delay: 2s; }

.delay-21 {
  transition-delay: 2.1s; }

.delay-22 {
  transition-delay: 2.2s; }

.delay-23 {
  transition-delay: 2.3s; }

.delay-24 {
  transition-delay: 2.4s; }

.delay-25 {
  transition-delay: 2.5s; }

.delay-26 {
  transition-delay: 2.6s; }

.delay-27 {
  transition-delay: 2.7s; }

.delay-28 {
  transition-delay: 2.8s; }

.delay-29 {
  transition-delay: 2.9s; }

.delay-30 {
  transition-delay: 3s; }

span.ib {
  display: inline-block; }

#space {
  background-color: blanchedalmond;
  height: 1300px; }

/*     フェードイン    */
.fadeIn {
  opacity: 0;
  transition-delay: 250ms;
  transition-duration: 1000ms;
  transition-property: opacity, transform;
  transition-timing-function: cubic-bezier(0.23, 0.76, 0.73, 0.97); }

.fadeIn-up {
  transform: translate(0, 50px); }

.fadeIn-down {
  transform: translate(0, -80px); }

.fadeIn-left {
  transform: translate(-50px, 0); }

.fadeIn-right {
  transform: translate(50px, 0); }

.scroll-in {
  opacity: 1;
  transform: translate(0); }

/*     スライドイン    */
.slideIn {
  opacity: 0;
  transition-delay: 0ms;
  transition-duration: 1000ms;
  transition-property: opacity, transform;
  transition-timing-function: cubic-bezier(0.23, 0.76, 0.73, 0.97); }

.slideIn-up {
  opacity: 1;
  transform: translate(0, 80px); }

.slideIn-down {
  opacity: 1;
  transform: translate(0, -80px); }

.slideIn-left {
  opacity: 1;
  transform: translate(-80px, 0); }

.slideIn-right {
  opacity: 1;
  transform: translate(80px, 0); }

.scroll-in {
  opacity: 1;
  transform: translate(0); }

/*----------------------------------------------*/
/*               common parts                   */
/*----------------------------------------------*/
.ttl-area {
  position: relative; }
  .ttl-area__ttl {
    font-size: 38px;
    font-weight: 500; }
    @media (max-width: 599px) {
      .ttl-area__ttl {
        font-size: 28px; } }
    .ttl-area__ttl::after {
      display: block;
      content: '';
      width: 30px;
      height: 3px;
      background-color: #f1b961;
      margin-top: 10px; }
  .ttl-area.w-line .ttl-area__ttl::after {
    background-color: #fff; }
  .ttl-area.w-line .ttl-area__bg-ttl {
    color: #b98843;
    opacity: .51; }
  .ttl-area__bg-ttl {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 3;
    color: #dcb988;
    opacity: .25;
    font-size: 126px;
    font-weight: 300;
    line-height: .8;
    white-space: nowrap; }
    @media (max-width: 599px) {
      .ttl-area__bg-ttl {
        font-size: 60px;
        top: auto;
        bottom: 0; } }
    .ttl-area__bg-ttl--small {
      font-size: 60px; }
      @media (max-width: 599px) {
        .ttl-area__bg-ttl--small {
          font-size: 40px; } }

/*----------------------------------------------*/
.btn-area.center {
  text-align: center; }
.btn-area__btn, .btn-area .submit {
  color: #363636;
  display: inline-block;
  width: 308px;
  padding: 20px;
  font-size: 16px;
  text-align: center;
  background-color: unset;
  border: solid 2px rgba(0, 0, 0, 0.28);
  background-image: url(../img/common/btn-arw.png);
  background-repeat: no-repeat;
  background-position: top 50% right 10%;
  transition: background-position .3s ease-in-out; }
  @media (max-width: 599px) {
    .btn-area__btn, .btn-area .submit {
      width: 90%;
      padding: 15px 20px; } }
  .btn-area__btn:hover, .btn-area .submit:hover {
    cursor: pointer;
    background-position: top 50% right 8%; }

/*----------------------------------------------*/
/*                      header                  */
/*----------------------------------------------*/
.header {
  position: fixed;
  display: inline-block;
  width: 100%;
  z-index: 1000;
  top: 0; }
  .header__logo-wrap {
    position: absolute;
    top: 0;
    left: 0;
    background-color: #fff;
    padding: 30px; }
    @media (max-width: 1024px) {
      .header__logo-wrap {
        padding: 10px; } }
  .header__logo {
    width: 100%; }
    @media (max-width: 1024px) {
      .header__logo {
        width: 50px; } }
  .header__link-list {
    width: 100%;
    color: #fff;
    background-color: #444444;
    padding-left: 10px; }
  .header__link {
    font-size: 13px;
    padding: 24px 0;
    margin: 0 2vw;
    display: flex;
    align-items: center;
    height: 100%; }
    .header__link--orange {
      position: absolute;
      top: 0;
      right: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      width: 200px;
      padding: 33px 0;
      font-size: 14px;
      color: #FFF;
      background-color: #00A9C6; }
      @media (max-width: 1360px) {
        .header__link--orange {
          width: 14vw; } }
      .header__link--orange::before {
        content: url(../img/common/header/header_icon.png);
        margin-right: 5px; }
  @media (max-width: 1024px) {
    .header {
      min-width: 100%;
      position: fixed;
      z-index: 1000;
      background-color: #444444; }
      .header .pc {
        display: none !important; }
      .header .sp {
        display: block !important; }
      .header .sp-nav-wrap {
        display: flex;
        height: 50px;
        color: #000; }
        .header .sp-nav-wrap .sp-logo {
          height: 50px;
          margin-left: 10px; }
        .header .sp-nav-wrap .btn-menu {
          position: relative;
          transition: .3s;
          z-index: 11;
          margin-left: auto;
          margin-right: -2px; }
          .header .sp-nav-wrap .btn-menu .menu-trigger {
            width: 50px;
            height: 50px;
            background-color: #00A9C6; }
            .header .sp-nav-wrap .btn-menu .menu-trigger:hover {
              opacity: 1; }
          .header .sp-nav-wrap .btn-menu .menu-trigger,
          .header .sp-nav-wrap .btn-menu .menu-trigger span {
            display: inline-block;
            transition: all .4s; }
          .header .sp-nav-wrap .btn-menu .menu-trigger span {
            position: absolute;
            left: 23%;
            width: 55%;
            height: 4px;
            border-radius: 10px;
            background-color: #FFF;
            opacity: 1; }
            .header .sp-nav-wrap .btn-menu .menu-trigger span:hover {
              opacity: 1; }
          .header .sp-nav-wrap .btn-menu .menu-trigger span:nth-of-type(1) {
            top: 13px; }
          .header .sp-nav-wrap .btn-menu .menu-trigger span:nth-of-type(2) {
            top: 23px; }
          .header .sp-nav-wrap .btn-menu .menu-trigger span:nth-of-type(3) {
            top: 33px; }
          .header .sp-nav-wrap .btn-menu .menu-trigger.active span:nth-of-type(1) {
            transform: translateY(11px) rotate(-315deg); }
          .header .sp-nav-wrap .btn-menu .menu-trigger.active span:nth-of-type(2) {
            opacity: 0; }
          .header .sp-nav-wrap .btn-menu .menu-trigger.active span:nth-of-type(3) {
            transform: translateY(-9px) rotate(315deg); }
        .header .sp-nav-wrap nav {
          transition: transform .3s ease;
          transform: translateX(100%);
          position: fixed;
          top: 0;
          left: 0;
          z-index: 10;
          width: 100vw;
          height: 100vh;
          padding: 50px 0;
          display: flex;
          flex-direction: column;
          background-color: #444444; }
          .header .sp-nav-wrap nav.active {
            transform: translateX(0); }
          .header .sp-nav-wrap nav .header__sp-nav {
            width: 100%;
            margin: 0 auto; }
            .header .sp-nav-wrap nav .header__sp-nav li {
              color: #fff;
              background-color: #444444;
              border-bottom: 1px solid #fff; }
              .header .sp-nav-wrap nav .header__sp-nav li a {
                display: block;
                width: 100%;
                padding: 17px 20px;
                margin: 0 auto;
                font-size: 16px; }
              .header .sp-nav-wrap nav .header__sp-nav li .blue {
                /*color: #000;*/
                background-color: #00A9C6; }
      .header__sp-nav-link {
        display: block;
        font-weight: bold;
        width: 80%;
        margin-left: auto;
        margin-right: auto;
        font-size: 19px;
        padding: 19px 0;
        position: relative; } }

/*----------------------------------------------*/
/*                     footer                   */
/*----------------------------------------------*/
.footer__top-ctr {
  color: #fff;
  background-color: #444444;
  padding: 80px 0 30px;
  font-size: 14px; }
  .footer__top-ctr ul {
    width: 250px; }
    @media (max-width: 768px) {
      .footer__top-ctr ul {
        width: 100%; } }
    .footer__top-ctr ul:first-child {
      margin-bottom: 50px; }
  .footer__top-ctr ul > li {
    font-weight: 600; }
    .footer__top-ctr ul > li:not(:last-child) {
      margin-bottom: 30px; }
    .footer__top-ctr ul > li::before {
      content: url(../img/common/footer/footer_arw01.png);
      margin-right: 8px; }
  .footer__top-ctr ul > li > ul > li {
    font-weight: 400;
    margin-top: 20px;
    text-indent: -1em;
    padding-left: 2em; }
    .footer__top-ctr ul > li > ul > li:not(:last-child) {
      margin-bottom: 0; }
    .footer__top-ctr ul > li > ul > li::before {
      content: url(../img/common/footer/footer_arw02.png);
      vertical-align: 5px; }
.footer__bottom-ctr {
  width: 96%;
  margin: 0 auto;
  padding: 20px 0; }
.footer__copy {
  color: #888888;
  font-size: 11px;
  letter-spacing: 0.05em; }

/*----------------------------------------------*/
/*                   lower-mv                   */
/*----------------------------------------------*/
.lower-mv {
  position: relative;
  color: #fff;
  padding: 105px 0;
  background-image: url(../img/common/lower-mv.png);
  background-size: cover;
  margin-top: 87px; }
  @media (max-width: 1024px) {
    .lower-mv {
      margin-top: 50px; } }
  @media (max-width: 599px) {
    .lower-mv {
      padding: 50px 0; } }
  .lower-mv.service-detail {
    padding: 60px 0; }
    @media (max-width: 599px) {
      .lower-mv.service-detail {
        padding: 50px 0; } }
  .lower-mv.service {
    padding: 130px 0; }
    @media (max-width: 599px) {
      .lower-mv.service {
        padding: 50px 0; } }
    .lower-mv.service .lower-mv__ttl.u-line:after {
      background-color: #f1b961; }
    .lower-mv.service .lower-mv__sub {
      color: #fff; }
  .lower-mv__ttl {
    position: relative;
    font-size: 48px;
    font-weight: 500;
    line-height: 1.3;
    color: #fff; }
    @media (max-width: 599px) {
      .lower-mv__ttl {
        font-size: 6vw;
        line-height: 1.3; } }
    .lower-mv__ttl.u-line:after {
      position: absolute;
      bottom: -28%;
      left: 50%;
      transform: translateX(-50%);
      content: '';
      width: 29px;
      height: 3px;
      background-color: #ac8245; }
  .lower-mv__sub {
    font-weight: 300;
    color: #755325;
    font-size: 20px;
    margin-top: 30px; }
    @media (max-width: 599px) {
      .lower-mv__sub {
        font-size: 3.8vw;
        margin-top: 5vw; } }
  .lower-mv__lead {
    color: #755325;
    font-size: 16px;
    line-height: 1.7;
    margin-top: 60px; }

/*----------------------------------------------*/
/*                breadcrumb                    */
/*----------------------------------------------*/
.breadcrumb {
  padding: 40px 0; }
  @media (max-width: 599px) {
    .breadcrumb {
      padding: 10px 0; } }

.breadcrumb a::after {
  content: url(../img/common/breadcrumb_arw.png);
  margin-left: 10px;
  vertical-align: middle; }

.breadcrumb li {
  font-size: 13px;
  margin-right: 7px;
  line-height: 1.3; }
  .breadcrumb li:first-child {
    color: #808080; }
  .breadcrumb li:last-child {
    font-weight: 600; }
  .breadcrumb li:not(:last-child) {
    margin-right: 10px; }

/*----------------------------------------------*/
/*                     form                     */
/*----------------------------------------------*/
.form {
  /*ラジオボタン*/ }
  .form h3 {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 26px;
    letter-spacing: 0.025em; }
  .form input,
  .form textarea {
    display: block; }
  .form input,
  .form select,
  .form textarea {
    padding: 17px 10px;
    outline: none;
    border: solid 1px #e2e2e2; }
  .form select {
    width: 100%;
    background-color: #fff;
    color: #000;
    font-size: 14px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    margin-top: 0px; }
    @media (max-width: 768px) {
      .form select {
        width: 100%;
        margin-bottom: 10px; } }
  .form .textarea {
    resize: none;
    width: 100%;
    height: 210px; }
  .form .select-wrap {
    width: 30%;
    position: relative;
    display: inline; }
    @media (max-width: 1100px) {
      .form .select-wrap {
        width: 100%;
        margin-bottom: 10px; } }
    .form .select-wrap::after {
      content: '';
      font-size: 10px;
      display: block;
      position: absolute;
      top: 50%;
      right: 20px;
      transform: translateY(-50%);
      width: 10px;
      height: 10px;
      border-top: 2px solid #ccc;
      border-left: 2px solid #ccc;
      transform: translateY(-50%) rotate(-135deg); }
  .form table {
    text-align: left;
    width: 100%; }
  .form .table-wrap {
    background-color: rgba(255, 255, 255, 0.5);
    padding: 35px 50px 20px; }
    @media (max-width: 768px) {
      .form .table-wrap {
        padding: 35px 0px 20px; } }
    .form .table-wrap:not(:last-child) {
      margin-bottom: 20px; }
  @media (max-width: 768px) {
    .form th, .form td {
      display: block; } }
  .form th {
    width: 340px;
    padding: 14px;
    position: relative;
    vertical-align: middle;
    font-size: 18px;
    font-weight: bold; }
    .form th .wrapper {
      display: inline; }
    @media (max-width: 768px) {
      .form th {
        width: 100%; } }
    .form th::after {
      content: '必須';
      background-color: #ffb71d;
      padding: 3px 17px;
      margin-right: 13px;
      font-size: 14px;
      float: right; }
      @media (max-width: 768px) {
        .form th::after {
          margin-right: 0; } }
    .form th.optional::after {
      content: '任意';
      color: #ffffff;
      background: #787878;
      padding: 3px 17px;
      margin-right: 13px;
      font-size: 14px; }
      @media (max-width: 768px) {
        .form th.optional::after {
          margin-right: 0; } }
  .form td {
    padding: 10px 0;
    vertical-align: middle; }
    @media (max-width: 768px) {
      .form td {
        width: 100%; } }
    .form td:not(:last-child) {
      margin-bottom: 0; }
  .form tr {
    /*padding: 30px 0;*/ }
    @media (max-width: 768px) {
      .form tr {
        display: block;
        padding: 0; } }
  .form .name_flex input {
    width: calc(50% - 10px); }
    @media (max-width: 500px) {
      .form .name_flex input {
        width: calc(50% - 5px); } }
  .form .big {
    width: 100%; }
    @media (max-width: 768px) {
      .form .big {
        width: 100%; } }
    @media (max-width: 500px) {
      .form .big {
        width: 100%; } }
  .form .todofuken {
    width: 67%; }
    @media (max-width: 768px) {
      .form .todofuken {
        width: 100%; } }
  .form .radio {
    padding-left: 10px;
    margin: 12px 0; }
    .form .radio .radio-btn {
      display: none; }
    .form .radio label {
      font-size: 15px; }
    .form .radio .radio-btn + label {
      padding-left: 20px;
      position: relative;
      margin-right: 33px; }
    .form .radio .radio-btn + label::before {
      content: "";
      display: block;
      cursor: pointer;
      position: absolute;
      top: 0;
      left: -7px;
      width: 15px;
      height: 15px;
      border: 1px solid #c4c4c4;
      background-color: #ffffff;
      border-radius: 50%; }
    .form .radio .radio-btn:checked + label::after {
      content: "";
      display: block;
      position: absolute;
      top: 3px;
      left: -4px;
      width: 9px;
      height: 9px;
      background: #ffb71d;
      border: 1px solid #ffb71d;
      border-radius: 50%; }
  .form .agree .link {
    color: #b98843;
    border-bottom: 1px solid #b98843; }
  .form .agree__btn {
    display: none; }
  .form .agree label {
    font-size: 16px;
    margin: 0px auto 40px;
    padding-left: 30px;
    cursor: pointer; }
  .form .agree__btn + label {
    position: relative; }
    .form .agree__btn + label::before {
      content: "";
      display: block;
      cursor: pointer;
      position: absolute;
      top: 4px;
      left: -7px;
      width: 15px;
      height: 15px;
      border: 1px solid #c4c4c4;
      background-color: #ffffff;
      border-radius: 50%; }
  .form .agree__btn:checked + label::after {
    content: "";
    display: block;
    position: absolute;
    cursor: pointer;
    top: 7px;
    left: -4px;
    width: 9px;
    height: 9px;
    background: #ffb71d;
    border: 1px solid #ffb71d;
    border-radius: 50%; }
  .form .inquiry:not(:last-child) {
    margin-bottom: 60px; }

.video_wrapper video {
  max-width: 100%; }

.service-action {
  background: none !important; }

.service-action .flex.nowrap {
  padding: 0;
  justify-content: center; }

.service-action .flex.nowrap a {
  min-height: 90px; }

@media (max-width: 768px) {
  .service-action .flex.nowrap a {
    min-height: 60px; } }
/*----------------------------------------------*/
/*                     top                      */
/*----------------------------------------------*/
.top-bg1 {
  background-image: url(../img/top/top-bg01.png);
  background-repeat: no-repeat;
  background-position: bottom center; }

.top-bg2 {
  background-image: url(../img/top/top-bg02.png);
  background-repeat: no-repeat;
  background-position: top center; }

.top-bg3 {
  background-image: url(../img/top/top-bg03.png);
  background-repeat: no-repeat;
  background-position: top -150px center; }

/*            t-mv               */
.t-mv {
  position: relative;
  margin-top: 87px; }
  @media (max-width: 1024px) {
    .t-mv {
      margin-top: 50px; } }
.t-mv__inner{
    margin: 0 auto;
    width: 1320px;
    max-width: 90%;
    padding: 152px 0 115px;
}
@media (max-width: 1024px) {
    .t-mv__inner{
    padding: 85px 0 90px;
    }
}
  .t-mv__bg--1 {
    position: absolute;
    top:0;
    left: 0;
    z-index: -2;
    /*width: 1180px;*/
    width: 62%;
    height: 552px;
    background-image: url(../img/top/t-mv_bg-1.jpg); }
    @media (max-width: 1024px) {
      .t-mv__bg--1 {
        width: 85vw;
        height: 77vw; } }
    @media (max-width: 599px) {
      .t-mv__bg--1 {
        width: 85vw;
        height: 140vw; } }
  .t-mv__bg--2 {
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
    /*width: 1066px;*/
    width: 56%;
    height: 380px;
    background-image: url(../img/top/t-mv_bg-2.jpg);
    background-size: cover; }
    @media (max-width: 1024px) {
      .t-mv__bg--2 {
        width: 63vw;
        height: 58vw; } }
    @media (max-width: 599px) {
      .t-mv__bg--2 {
        width: 77vw;
        height: 95vw; } }
  /*.t-mv__txt-box {
    position: absolute;
    top: 25%;
    left: 15%;
    z-index: 20; }
    @media (max-width: 1024px) {
      .t-mv__txt-box {
        top: 14%;
        left: 5%; } }
    @media (max-width: 599px) {
      .t-mv__txt-box {
        top: 14%;
        left: 5%; } }*/
  .t-mv__sub-ttl {
    font-size: 20px;
    margin-bottom: -2px; }
    @media (max-width: 1024px) {
      .t-mv__sub-ttl {
        font-size: 3vw; } }
    @media (max-width: 599px) {
      .t-mv__sub-ttl {
        font-size: 4vw; } }
  .t-mv__ttl {
    color: #fff;
    font-size: 46px;
    line-height: 1.4; }
    @media (max-width: 1024px) {
      .t-mv__ttl {
        font-size: 6vw; } }
    @media (max-width: 599px) {
      .t-mv__ttl {
        font-size: 7vw; } }
  .t-mv__lead {
    font-size: 16px;
    font-weight: 500;
    line-height: 2;
    margin-top: 25px; }
    @media (max-width: 1024px) {
      .t-mv__lead {
        font-size: 3vw; } }
    @media (max-width: 599px) {
      .t-mv__lead {
        font-size: 4vw; } }
    .t-mv__lead span {
      padding: 10px; }
  .t-mv__txt-bg {
    background-image: url(../img/top/t-mv_bg-1.jpg); }
  /*.t-mv__link-list {
    margin-top: -105px; }
    @media (max-width: 599px) {
      .t-mv__link-list {
        margin-top: -35vw; } }*/
  .t-mv__link {
    width: 410px;
    background-color: #fff;
    border: solid 2px #b98843;
    background-image: url(../img/top/t-mv_icon.png);
    background-repeat: no-repeat;
    background-position: bottom right; }
    @media (max-width: 1280px) {
      .t-mv__link {
        width: calc(100% / 3 - 5px); } }
    @media (max-width: 1024px) {
      .t-mv__link {
        width: calc(100% / 2 - 5px);
        margin-top: 10px; } }
    @media (min-width: 769px) {
      .t-mv__link {
        background-size: 30px; } }
    @media (max-width: 599px) {
      .t-mv__link {
        width: 100%; } }
  .t-mv__img {
    padding: 10px; }
    @media (min-width: 769px) {
      .t-mv__img {
        max-width: 200px;
        max-height: 120px; } }
    @media (max-width: 1280px) {
      .t-mv__img {
        width: 50%;
        max-height: 130px; } }
  .t-mv__txt {
    width: 204px;
    font-size: 16px;
    padding: 10px 30px;
    flex: 1; }
    @media (max-width: 1280px) {
      .t-mv__txt {
        width: 50%;
        font-size: 15px;
        padding: 20px; } }

/*            t-newtopic               */
.t-topics {
  padding: 100px 0 80px; }
  @media (max-width: 599px) {
    .t-topics {
      padding: 60px 0 70px; } }
  @media (max-width: 1280px) {
    .t-topics__link-list {
      margin-top: 40px;
      width: 100%; } }
  .t-topics__link {
    width: 1016px;
    padding: 15px 30px;
    background-color: #fff;
    box-shadow: 0px 0px 21px 0px rgba(0, 0, 0, 0.04);
    flex-wrap: nowrap; }
    @media (max-width: 1280px) {
      .t-topics__link {
        width: 100%; } }
    @media (max-width: 768px) {
      .t-topics__link {
        flex-wrap: wrap; } }
    .t-topics__link:not(:last-child) {
      margin-bottom: 10px; }
  .t-topics__date {
    font-size: 15px; }
  .t-topics__cate {
    display: inline-block;
    color: #fff;
    font-size: 12px;
    background-color: #1fc38b;
    padding: 5px 38px;
    margin: 0 31px 0 23px; }
  .t-topics__txt {
    font-size: 16px;
    flex: 1; }
    @media (max-width: 768px) {
      .t-topics__txt {
        margin-top: 10px;
        flex: none; } }

/*            t-newtopic               */
.t-newtopic {
  padding: 0 0 30px; }
  .t-newtopic__card-wrap {
    margin-top: 35px; }
    .t-newtopic__card-wrap:after {
      content: '';
      width: 320px; }
      @media (max-width: 1280px) {
        .t-newtopic__card-wrap:after {
          width: calc(100% / 3); } }
  .t-newtopic__card {
    width: 411px; }
    @media (max-width: 1280px) {
      .t-newtopic__card {
        width: calc(100% / 3); } }
    @media (max-width: 599px) {
      .t-newtopic__card {
        width: 100%; } }
  .t-newtopic__img-wrap {
    position: relative;
    overflow: hidden;
    border-right: 1px solid #FFF; }
    @media (max-width: 599px) {
      .t-newtopic__img-wrap {
        border-right: none; } }
    .t-newtopic__img-wrap:after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 200px;
      background-image: linear-gradient(180deg, transparent 0 30%, rgba(0, 0, 0, 0.6) 70% 100%);
      z-index: 2; }
  .t-newtopic__cate {
    position: absolute;
    top: 0;
    right: 0;
    color: #fff;
    font-size: 12px;
    background-color: #1fc38b;
    padding: 3px 18px; }
  .t-newtopic__ttl {
    position: absolute;
    color: #fff;
    font-size: 17px;
    line-height: 1.6;
    width: 82%;
    height: 3em;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    bottom: 8%;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10; }
    @media (max-width: 1280px) {
      .t-newtopic__ttl {
        font-size: 1.2vw;
        height: auto; } }
    @media (max-width: 599px) {
      .t-newtopic__ttl {
        font-size: 17px; } }
  .t-newtopic__img {
    height: 250px;
    margin-left: -10%; }
    @media (max-width: 599px) {
      .t-newtopic__img {
        width: 100%;
        height: auto;
        margin-left: 0; } }
  .t-newtopic__txt-box {
    color: #666666;
    padding: 20px 25px 60px; }
    @media (max-width: 599px) {
      .t-newtopic__txt-box {
        padding: 20px 25px; } }
  .t-newtopic__date {
    margin-bottom: 6px; }
  .t-newtopic__txt {
    font-size: 15px;
    line-height: 1.7;
    height: 7em;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden; }
  .t-newtopic__deco-txt {
    color: #b98843;
    font-size: 14px; }
    .t-newtopic__deco-txt span {
      position: relative; }
      .t-newtopic__deco-txt span::before {
        position: absolute;
        top: 50%;
        left: -70%;
        display: inline-block;
        content: '';
        width: 22px;
        height: 1px;
        background-color: #b98843; }

/*            t-popularity               */
.t-popularity__card-wrap {
  margin-top: 35px; }
  .t-popularity__card-wrap:after {
    content: '';
    width: 320px; }
    @media (max-width: 1280px) {
      .t-popularity__card-wrap:after {
        width: calc(100% / 3); } }
.t-popularity__card {
  width: 320px; }
  @media (max-width: 1280px) {
    .t-popularity__card {
      width: calc(100% / 3); } }
  @media (max-width: 599px) {
    .t-popularity__card {
      width: 100%; } }
.t-popularity__img-wrap {
  position: relative; }
  .t-popularity__img-wrap:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 200px;
    background-image: linear-gradient(180deg, transparent 0 30%, rgba(0, 0, 0, 0.6) 70% 100%);
    z-index: 2; }
.t-popularity__img {
  width: 100%; }
.t-popularity__cate {
  position: absolute;
  top: 0;
  right: 0;
  color: #fff;
  font-size: 12px;
  background-color: #1fc38b;
  padding: 3px 18px; }
.t-popularity__ttl {
  position: absolute;
  color: #fff;
  font-size: 17px;
  line-height: 1.6;
  width: 82%;
  height: 3em;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  bottom: 8%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10; }
  @media (max-width: 1280px) {
    .t-popularity__ttl {
      font-size: 1.2vw;
      height: auto; } }
  @media (max-width: 599px) {
    .t-popularity__ttl {
      font-size: 17px; } }
.t-popularity__txt-box {
  color: #666666;
  padding: 20px 25px 60px; }
  @media (max-width: 599px) {
    .t-popularity__txt-box {
      padding: 20px 25px; } }
.t-popularity__date {
  margin-bottom: 6px; }
.t-popularity__txt {
  font-size: 15px;
  line-height: 1.7;
  height: 7em;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden; }
.t-popularity__deco-txt {
  color: #b98843;
  font-size: 14px; }
  .t-popularity__deco-txt span {
    position: relative; }
    .t-popularity__deco-txt span::before {
      position: absolute;
      top: 50%;
      left: -70%;
      display: inline-block;
      content: '';
      width: 22px;
      height: 1px;
      background-color: #b98843; }

/*            t-category               */
.t-category {
  padding: 100px 0 30px; }
  .t-category__wrap-list {
    margin-top: 50px; }
  .t-category__wrap {
    position: relative;
    width: calc(90% / 3); }
    @media (max-width: 768px) {
      .t-category__wrap {
        width: 100%; } }
  .t-category__wrap:not(:last-child)::after {
    position: absolute;
    right: -10%;
    top: 0;
    display: block;
    content: '';
    width: 2px;
    height: 100%;
    background-image: linear-gradient(to right, #bbbbbb, #bbbbbb 3px, transparent 3px, transparent 12px), linear-gradient(to right, #bbbbbb, #bbbbbb 3px, transparent 3px, transparent 12px), linear-gradient(to bottom, #bbbbbb, #bbbbbb 3px, transparent 3px, transparent 12px), linear-gradient(to bottom, #bbbbbb, #bbbbbb 3px, transparent 3px, transparent 12px);
    background-size: 6px 2px, 6px 2px, 2px 6px, 2px 6px;
    background-position: left top, left bottom, left top, right top;
    background-repeat: repeat-x, repeat-x, repeat-y, repeat-y; }
  .t-category__ttl {
    font-size: 18px;
    margin: 20px 0 30px; }
  .t-category__txt {
    line-height: 1.7;
    letter-spacing: 0.05em; }
  .t-category__deco-txt {
    color: #b98843;
    font-size: 14px;
    margin-top: 30px; }
    .t-category__deco-txt span {
      position: relative; }
      .t-category__deco-txt span::before {
        position: absolute;
        top: 50%;
        left: -70%;
        display: inline-block;
        content: '';
        width: 22px;
        height: 1px;
        background-color: #b98843; }

/*            t-download               */
.t-download {
  padding: 90px 0 130px; }
  @media (max-width: 599px) {
    .t-download {
      padding: 50px 0 60px; } }
  .t-download__ctr-wrap {
    margin-top: 17px;
    justify-content: flex-start; }
  .t-download__ctr {
    width: 411px;
    padding: 30px 25px;
    margin-top: 20px;
    border: solid 2px #b98843;
    background-color: #fff;
    margin-right: 23px; }
    @media (min-width: 769px) {
      .t-download__ctr img {
        max-width: 170px; } }
    @media (min-width: 1281px) {
      .t-download__ctr:nth-child(3n) {
        margin-right: 0; } }
    @media (max-width: 1280px) {
      .t-download__ctr {
        width: calc(100% / 2 - 10px);
        margin-right: 20px; }
        .t-download__ctr:nth-child(2n) {
          margin-right: 0; } }
    @media (max-width: 768px) {
      .t-download__ctr {
        width: 100%;
        margin-right: 0; } }
    .t-download__ctr/*:not(:last-child)*/ {
      background-image: url(../img/top/t-download_icon.png);
      background-repeat: no-repeat;
      background-position: bottom right; }
    /*.t-download__ctr:last-child {
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      background-image: url(../img/common/btn-arw.png);
      background-repeat: no-repeat;
      background-position: top 50% right 20%; }
      @media (max-width: 599px) {
        .t-download__ctr:last-child {
          background-position: top 50% right 9%; } }
      .t-download__ctr:last-child:hover {
        background-position: top 50% right 18%; }
        @media (max-width: 599px) {
          .t-download__ctr:last-child:hover {
            background-position: top 50% right 7%; } }
      .t-download__ctr:last-child .t-download__txt {
        width: 100%; }*/
  @media (max-width: 1280px) {
    .t-download__img {
      width: calc(100% / 2 - 10px); } }
  @media (max-width: 599px) {
    .t-download__img {
      width: 70%;
      margin: 0 auto 20px; } }
  .t-download__txt {
    width: 172px;
    font-size: 16px;
    font-weight: 500; }
    @media (max-width: 1280px) {
      .t-download__txt {
        width: calc(100% / 2 - 10px); } }
    @media (max-width: 599px) {
      .t-download__txt {
        width: 100%; } }

/*            t-service               */
.t-service__ctr-wrap {
  margin: 40px 0 50px; }
.t-service__ctr-wrap:after {
  content: '';
  width: calc((100% - 30px) / 6); }
  @media (max-width: 1280px) {
    .t-service__ctr-wrap:after {
      width: calc(100% / 3 - 0.2vw); } }
.t-service__ctr {
  width: calc((100% - 30px) / 6); }
  @media (max-width: 1280px) {
    .t-service__ctr {
      width: calc(100% / 3 - 0.2vw); } }
  @media (max-width: 599px) {
    .t-service__ctr {
      width: 100%; } }
.t-service__img {
  width: 100%; }
.t-service__txt {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 105px;
  font-size: 18px;
  background-color: #fff; }

/*            t-strength               */
.t-strength {
  padding: 60px 0 0; }
  .t-strength__num {
    color: #df7179;
    font-size: 30px;
    padding: 10px 0;
    background-color: #f9f7f3; }
  .t-strength__ctr-wrap {
    margin-top: 50px; }
    @media (max-width: 1280px) {
      .t-strength__ctr-wrap {
        margin-top: 40px; } }
  .t-strength__ctr {
    width: 411px;
    min-height: 306px;
    background-color: #fff;
    border: solid 2px #b98843; }
    @media (max-width: 1280px) {
      .t-strength__ctr {
        width: calc(100% / 2 - 5px);
        margin-top: 10px; } }
    @media (max-width: 768px) {
      .t-strength__ctr {
        width: 100%; } }
  .t-strength__txt-box {
    padding: 30px; }
  .t-strength__stg-txt {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    height: 93px; }
  .t-strength__txt {
    margin-top: 15px;

    font-size: 15px;
    line-height: 1.8; }

/*  t-faq                                */
.t-faq {
  padding: 50px 0; }
  .t-faq .acd {
    width: 980px;
    margin: 60px auto 40px; }
    @media (max-width: 1280px) {
      .t-faq .acd {
        width: 100%; } }
    @media (max-width: 599px) {
      .t-faq .acd {
        margin: 40px auto; } }
    .t-faq .acd__wrap:not(:last-child) {
      margin-bottom: 20px; }
    .t-faq .acd__header {
      margin: 0 auto;
      box-shadow: 0px 0px 21px 0px rgba(0, 0, 0, 0.04);
      background-color: #fff;
      position: relative;
      align-items: center;
      letter-spacing: 0.05em;
      transition: 0.5s cubic-bezier(0, 0, 0.15, 1.01); }
      @media (max-width: 1024px) {
        .t-faq .acd__header {
          justify-content: left; } }
      .t-faq .acd__header:hover {
        opacity: 0.7;
        cursor: pointer; }
      .t-faq .acd__header.open .acd__r-icon span:first-child {
        transform: rotate(360deg) translate(0%, 50%); }
      .t-faq .acd__header.open .acd__label {
        border-radius: 5px 5px 0px 0px; }
      .t-faq .acd__header.open .acd__label::after {
        transform: rotate(135deg); }
    .t-faq .acd__l-icon {
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 30px;
      width: 98px;
      height: 73px;
      background-image: url(../img/top/t-faq_q-bg.png);
      background-repeat: no-repeat;
      background-size: cover; }
      @media (max-width: 599px) {
        .t-faq .acd__l-icon {
          font-size: 27px;
          width: 63px;
          height: 51px; } }
    .t-faq .acd__r-icon {
      position: absolute;
      right: 3%; }
      @media (max-width: 599px) {
        .t-faq .acd__r-icon {
          right: 7%;
          top: 30px; } }
      .t-faq .acd__r-icon span {
        display: block;
        width: 22px;
        height: 2px;
        background-color: #000; }
      .t-faq .acd__r-icon span:first-child {
        transform: rotate(90deg) translate(10%, 20%);
        transition: transform .3s ease-in-out; }
    .t-faq .acd__A-icon {
      color: #e0bd8b;
      font-size: 32px; }
    .t-faq .acd__label {
      position: relative;
      display: block;
      font-size: 18px;
      font-weight: 500;
      padding: 23px 40px 23px 40px; }
      @media (max-width: 1280px) {
        .t-faq .acd__label {
          font-size: 16px;
          width: 80%; } }
      @media (max-width: 599px) {
        .t-faq .acd__label {
          width: 100%;
          padding: 30px 20px; } }
    .t-faq .acd__inner {
      position: relative;
      overflow: hidden;
      display: none;
      margin-bottom: 20px;
      padding: 30px 30px 30px 85px; }
      @media (max-width: 599px) {
        .t-faq .acd__inner {
          padding: 30px; } }
    .t-faq .acd__inner-txt {
      width: 97%;
      font-size: 16px;
      line-height: 1.5;
      letter-spacing: 0.02em;
      padding-left: 40px; }
      @media (max-width: 599px) {
        .t-faq .acd__inner-txt {
          padding-left: 0;
          line-height: 1.7;
          width: 100%; } }

/*            t-company               */
.t-company__wrap {
  background-color: #fff;
  padding: 50px 40px;
  margin: 40px 0 35px; }
.t-company__img-wrap {
  width: 560px;
  display: flex;
  justify-content: center;
  align-items: center; }
  @media (max-width: 1280px) {
    .t-company__img-wrap {
      width: 50%; } }
  @media (max-width: 1080px) {
    .t-company__img-wrap {
      width: 100%; } }
@media (max-width: 1080px) {
  .t-company__img {
    margin-bottom: 30px; } }
@media (max-width: 599px) {
  .t-company__img {
    width: 100%; } }
.t-company__txt {
  font-size: 16px;
  width: 590px;
  line-height: 1.7; }
  @media (max-width: 1280px) {
    .t-company__txt {
      width: 50%; } }
  @media (max-width: 1080px) {
    .t-company__txt {
      width: 100%; } }

.slick-list {
  margin: 0 0 0 20px !important; }
  @media (max-width: 768px) {
    .slick-list {
      margin-left: 5% !important;
      margin-right: 5% !important; } }

.slick-arrow {
  position: absolute;
  top: 50%;
  margin: 0;
  padding: 0;
  line-height: 1;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  cursor: pointer;
  width: 25px;
  height: 40px; }

.slick-prev {
  left: -20px;
  background: url("../img/top/slick-prev.png") no-repeat 0 0; }
  @media (max-width: 768px) {
    .slick-prev {
      left: -3vw; } }

.slick-next {
  right: -20px;
  background: url("../img/top/slick-next.png") no-repeat 0 0; }
  @media (max-width: 768px) {
    .slick-next {
      right: -3vw; } }

.slick-slide {
  margin-right: 20px; }
  @media (max-width: 768px) {
    .slick-slide {
      margin-right: 0; } }

.slick-initialized .slick-slide {
  display: flex !important;
  align-items: center;
  height: 170px; }

/*----------------------------------------------*/
/*                 privacy                      */
/*----------------------------------------------*/
/*            privacy-sec               */
.privacy-sec {
  padding: 100px 0; }
  @media (max-width: 599px) {
    .privacy-sec {
      padding: 60px 0; } }
  .privacy-sec__lead {
    margin-top: 30px; }
  .privacy-sec__wrap {
    margin-top: 50px; }
  .privacy-sec__container:not(:last-child) {
    margin-bottom: 50px; }
  .privacy-sec__ttl {
    position: relative;
    font-size: 24px;
    font-weight: 500px;
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: solid 2px #e2e2e2; }
    .privacy-sec__ttl::after {
      position: absolute;
      bottom: -2px;
      left: 0;
      content: '';
      width: 40px;
      height: 2px;
      background-color: #e8ac5f; }
    @media (max-width: 599px) {
      .privacy-sec__ttl {
        font-size: 20px; } }
  .privacy-sec__txt {
    line-height: 2; }
    @media (max-width: 599px) {
      .privacy-sec__txt {
        line-height: 1.7; } }
  .privacy-sec__list {
    margin-top: 10px; }
  .privacy-sec__item {
    line-height: 2; }
  .privacy-sec__bottom-date {
    margin-bottom: 20px; }
  @media (max-width: 599px) {
    .privacy-sec__table-wrap {
      overflow-x: scroll !important; } }
  .privacy-sec__table {
    margin-top: 100px; }
    @media (max-width: 599px) {
      .privacy-sec__table {
        width: 460px;
        margin-top: 60px; } }
    .privacy-sec__table th, .privacy-sec__table td {
      border: solid 1px #e2e2e2;
      padding: 20px; }
    .privacy-sec__table th {
      background-color: #d2d2d2; }

/*----------------------------------------------*/
/*                   contact                      */
/*----------------------------------------------*/
.lower-mv.contact {
  background-image: url(../img/contact/lower-mv.jpg); }

/*            contact-sec               */
.contact-sec {
  padding: 40px 0 80px; }
  @media (max-width: 599px) {
    .contact-sec {
      padding: 40px 0 80px; } }
  .contact-sec__lead {
    margin: 30px 0 50px;
    font-size: 16px;
    line-height: 1.8; }
    @media (max-width: 599px) {
      .contact-sec__lead {
        margin: 30px 0 40px; } }
    .contact-sec__lead small {
      font-size: 14px; }
    .contact-sec__lead .brown {
      color: #b98843; }

/*            contact-ph-sec               */
.contact-ph-sec {
  padding: 60px 0 40px; }
  .contact-ph-sec__phone-area {
    margin-top: 32px; }
  .contact-ph-sec__num {
    font-size: 35px;
    font-weight: 600;
    vertical-align: middle; }
    @media (max-width: 599px) {
      .contact-ph-sec__num {
        font-size: 30px; } }
  .contact-ph-sec__phone-txt {
    margin-top: 5px;
    line-height: 1.7;
    font-size: 18px; }

    @media (max-width: 599px) {
      .contact-ph-sec__phone-txt {
        font-size: 16px; } }

.column-wrap {
  padding: 22px 0 115px; }
  @media (max-width: 599px) {
    .column-wrap {
      padding: 50px 0 80px; } }
  .column-wrap .inner.flex.al-top {
    align-items: inherit; }

.column-main {
  width: 750px; }
  @media (max-width: 1100px) {
    .column-main {
      width: 100%; } }
  .column-main .c-pickup {
    margin-bottom: 55px; }
  .column-main .ttl-area__ttl {
    font-size: 32px; }
    .column-main .ttl-area__ttl::before {
      content: url(../img/column/column-ttl_deco.png);
      margin-right: 14px; }
    .column-main .ttl-area__ttl::after {
      content: none; }
  .column-main__card {
    width: 231px; }
    @media (max-width: 1100px) {
      .column-main__card {
        width: calc(100% / 3 - 20px); } }
    @media (max-width: 768px) {
      .column-main__card {
        width: calc(100% / 2 - 20px); } }
    @media (max-width: 599px) {
      .column-main__card {
        width: 100%; } }
  .column-main__card-wrap {
    justify-content: flex-start; 
      margin-top: 55px;
        gap:55px 28px; }
    @media (max-width: 1100px) {
      .column-main__card-wrap {
        width: 100%; } }
    @media (max-width: 768px) {
      .column-main__card-wrap {
        width: 100%; } }
    @media (max-width: 599px) {
      .column-main__card-wrap {
        width: 100%;} }
    /*.column-main__card-wrap a {
      margin-right: 28px; }*/
      @media (max-width: 599px) {
        .column-main__card-wrap a {
          margin-right: 0; } }
      .column-main__card-wrap a:nth-child(3n) {
        margin-right: 0; }
  .column-main__img-wrap {
    position: relative;
    overflow: hidden; }
  .column-main__cate {
    position: absolute;
    top: 0;
    right: 0;
    color: #fff;
    font-size: 12px;
    background-color: #1fc38b;
    padding: 3px 18px; }
  .column-main__img {
    height: 150px;
    margin-left: -15%; }
    @media (max-width: 599px) {
      .column-main__img {
        width: 100%;
        margin-left: 0;
        height: auto; } }
  .column-main__ttl {
    color: #000;
    font-size: 16px;
    line-height: 1.6;
    height: 55px;
    margin: 8px 0 13px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden; }
  .column-main__txt-box {
    color: #666666;
    padding-top: 15px; }
  .column-main__txt {
    font-size: 15px;
    line-height: 1.7;
    height: 7em;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden; }
  .column-main__deco-txt {
    color: #b98843;
    font-size: 14px;
    margin-top: 10px; }
    .column-main__deco-txt span {
      position: relative; }
      .column-main__deco-txt span::before {
        position: absolute;
        top: 50%;
        left: -70%;
        display: inline-block;
        content: '';
        width: 22px;
        height: 1px;
        background-color: #b98843; }

.column-aside {
  width: 300px; }
  @media (max-width: 1100px) {
    .column-aside {
      width: 100%;
      margin-top: 80px; } }
  .column-aside__wrap:not(:last-child) {
    margin-bottom: 45px; }
    @media (max-width: 599px) {
      .column-aside__wrap:not(:last-child) {
        margin-bottom: 30px; } }
  .column-aside__link {
    padding: 10px 0; }
  .column-aside__link.line {
    border-bottom: solid 1px #e2e2e2; }
    .column-aside__link.line img {
      padding-left: 13px; }
  .column-aside__index-link {
    display: block;
    font-weight: 500;
    font-size: 14px;
    border-top: solid 1px #e2e2e2;
    padding-top: 15px;
    margin-top: 15px; }
    .column-aside__index-link::before {
      content: url(../img/column/column-aside_arw.png);
      margin-right: 20px;
      vertical-align: middle; }
  .column-aside__ttl {
    position: relative;
    font-size: 20px;
    padding-bottom: 15px;
    margin-bottom: 15px;
    border-bottom: solid 2px #e2e2e2; }
    .column-aside__ttl::after {
      position: absolute;
      bottom: -2px;
      left: 0;
      content: '';
      width: 37px;
      height: 2px;
      background-color: #e8ac5f; }
    @media (max-width: 599px) {
      .column-aside__ttl {
        font-size: 22px; } }
  @media (max-width: 1100px) {
    .column-aside__img {
      width: 20%; } }
  @media (max-width: 599px) {
    .column-aside__img {
      width: 25%; } }
  .column-aside__txt {
    width: 57%;
    font-size: 15px; }
    @media (max-width: 1100px) {
      .column-aside__txt {
        width: 70%;
        font-size: 22px; } }
    @media (max-width: 599px) {
      .column-aside__txt {
        font-size: 4vw; } }
  .column-aside__date {
    color: #808080;
    font-size: 12px;
    margin-top: 5px; }
    @media (max-width: 1039px) {
      .column-aside__date {
        font-size: 18px; } }
    @media (max-width: 599px) {
      .column-aside__date {
        font-size: 3vw; } }

/*          column-detail           */
.cd__top-txt {
  margin-top: 50px;
  font-size: 18px;
  line-height: 1.7; }
  @media (max-width: 599px) {
    .cd__top-txt {
      margin-top: 30px;
      font-size: 16px; } }
.cd__outline {
  margin: 80px 0;
  background-color: #fff;
  border: solid 1px #d8af77; }
  @media (max-width: 599px) {
    .cd__outline {
      margin: 60px 0 50px; } }
  .cd__outline p {
    font-size: 24px;
    font-weight: 500;
    padding: 18px 38px;
    background-color: #ebe7e3; }
    @media (max-width: 599px) {
      .cd__outline p {
        font-size: 18px;
        padding: 13px 25px; } }
  .cd__outline > ol {
    padding: 30px 40px; }
    @media (max-width: 599px) {
      .cd__outline > ol {
        padding: 20px 25px; } }
  .cd__outline > ol li {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.9; }
    @media (max-width: 599px) {
      .cd__outline > ol li {
        font-size: 16px; } }
  .cd__outline > ol li ol li {
    font-size: 16px;
    font-weight: 500;
    padding-left: 30px; }
    @media (max-width: 599px) {
      .cd__outline > ol li ol li {
        font-size: 15px; } }
  .cd__outline .level1 {
    counter-reset: number; }
.cd__outline .level2{	
text-indent: -1.2rem;	
padding-left: 1.2rem;}
  .cd__outline .level2::before {
    counter-increment: number;
    content: counters(number,".") ". "; }
  .cd__outline .level3 {
    counter-reset: number; }
.cd__outline .level4{	
text-indent: -30px;}
  .cd__outline .level4::before {
    counter-increment: number;
    content: counters(number,"-") ". "; }
.cd__ctr:not(:last-child) {
  margin-bottom: 110px; }
  @media (max-width: 599px) {
    .cd__ctr:not(:last-child) {
      margin-bottom: 60px; } }
.cd__big-ttl {
  font-size: 32px;
  font-weight: 500;
  margin-bottom: 40px; }
  @media (max-width: 599px) {
    .cd__big-ttl {
      font-size: 24px;
      margin-bottom: 25px; } }
  .cd__big-ttl::before {
    content: url(../img/column/column-ttl_deco.png);
    margin-right: 14px; }
.cd__small-ttl {
  font-size: 24px;
  font-weight: 500;
  margin: 70px 0 40px;
  border-left: solid 1px #e1b982;
  padding-left: 23px; }
  @media (max-width: 599px) {
    .cd__small-ttl {
      font-size: 20px;
      margin: 50px 0 30px; } }
@media (max-width: 1024px) {
  .cd__top-img {
    width: 100%; } }
.cd__img {
  margin-bottom: 50px; }
  @media (max-width: 1024px) {
    .cd__img {
      width: 100%; } }
.cd__txt {
  font-size: 16px;
  line-height: 1.7; }
.cd__list li{
text-indent: -1rem;	
padding-left: 1rem;	
font-size: 16px;
}
.cd__download-link {
  margin-top: 50px;
  background-image: url(../img/column/detail/cd_download-bg.jpg);
  background-size: cover;
  padding: 10px; }
.cd__d-txt-box {
  background-color: #f8f6f3;
  width: 437px; }
  @media (max-width: 1200px) {
    .cd__d-txt-box {
      width: 50%; } }
  @media (max-width: 768px) {
    .cd__d-txt-box {
      width: 100%; } }
.cd__d-ttl {
  color: #ffb71d;
  font-size: 16px;
  padding: 8px 0;
  background-color: #444444; }
.cd__d-inner-wrap {
  background-color: #f8f6f3;
  padding: 20px; }
.cd__d-lead {
  font-size: 20px;
  font-weight: 500; }
.cd__d-txt {
  font-size: 15px;
  line-height: 1.7;
  margin-top: 15px; }
.cd__d-link {
  position: relative;
  display: inline-block;
  font-size: 16px;
  background-color: #fff;
  border: solid 2px #b98843;
  margin-top: 20px;
  padding: 13px 30px 13px 75px; }
  .cd__d-link::before {
    position: absolute;
    content: url(../img/column/detail/cd_download-icon.jpg);
    vertical-align: middle;
    top: 0;
    left: 0; }
.cd__d-img-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 293px;
  background-color: #fff; }
  @media (max-width: 1200px) {
    .cd__d-img-wrap {
      width: 50%; } }
  @media (max-width: 768px) {
    .cd__d-img-wrap {
      width: 100%;
      padding: 20px; } }
.cd__prof {
  position: relative;
  padding: 30px 40px;
  margin-top: 50px;
  background-color: #f8f8f8; }
  .cd__prof::before {
    position: absolute;
    top: -15px;
    left: 50%;
    transform: translateX(-50%);
    content: '';
    width: 100%;
    height: 19px;
    background-image: url(../img/column/detail/cd_prof_bg1.png);
    background-size: cover; }
  .cd__prof::after {
    position: absolute;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    content: '';
    width: 100%;
    height: 20px;
    background-image: url(../img/column/detail/cd_prof_bg2.png);
    background-size: cover; }
@media (max-width: 599px) {
  .cd__p-img {
    margin: 0 auto 20px; } }
.cd__p-txt-box {
  width: 520px; }
  @media (max-width: 599px) {
    .cd__p-txt-box {
      width: 100%; } }
.cd__p-name {
  font-size: 18px;
  font-weight: 500; }
.cd__p-position {
  margin: 6px 0 25px; }
  @media (max-width: 599px) {
    .cd__p-position {
      margin: 6px 0 13px; } }
.cd__p-txt {
  line-height: 1.7; }
.cd__column-info {
  margin-top: 60px; }
  .cd__column-info ul li:not(:last-child) {
    margin-bottom: 15px; }
@media (max-width: 768px) {
  .cd__ci-link {
    width: 100%;
    display: block; } }
.cd__ci-ttl {
  font-size: 24px;
  margin-bottom: 35px; }
.cd__ci-cate {
  width: 91px;
  color: #fff;
  font-size: 15px;
  font-weight: 500;
  padding: 2px 0;
  background-color: #b98843;
  margin-right: 20px; }
.cd__ci-txt {
  font-weight: 500; }
.cd__column-link {
  margin-top: 60px; }
  @media (max-width: 768px) {
    .cd__column-link li {
      width: 100%; } }
.cd__c-link {
  width: 355px;
  margin-top: 20px; }
  @media (max-width: 768px) {
    .cd__c-link {
      width: 100%; } }
.cd__c-ttl {
  font-size: 24px;
  margin-bottom: 15px; }
.cd__c-img-wrap {
  position: relative; }
  @media (max-width: 768px) {
    .cd__c-img-wrap {
      width: 29%; } }
.cd__c-cate {
  position: absolute;
  top: 0;
  left: 0;
  color: #fff;
  font-size: 12px;
  background-color: #1fc38b;
  padding: 3px 18px; }
.cd__c-txt {
  font-size: 16px;
  line-height: 1.5;
  width: 170px; }
  @media (max-width: 768px) {
    .cd__c-txt {
      width: 65%; } }
@media (max-width: 768px) {
  .cd__c-img {
    width: 100%; } }

/*220509_流し込み*/
.column-main .cd__ctr .cd__txt strong {
  font-weight: bold; }
.column-main .cd__ctr .cd__txt small {
  font-size: 0.76em;
  letter-spacing: 0.02em; }

.calrank {
  counter-reset: number 0; }
  .calrank li {
    position: relative; }
    .calrank li:before {
      counter-increment: number 1;
      content: counter(number) "";
      position: absolute;
      left: 0;
      top: 10px;
      background: #6A6A69;
      display: inline-block;
      text-align: center;
      width: 26px;
      height: 26px;
      line-height: 26px;
      color: #FFF;
      font-size: 14px;
      font-weight: bold; }
    .calrank li:nth-child(1):before {
      background: #A7902B; }
    .calrank li:nth-child(2):before {
      background: #C1C1C1; }
    .calrank li:nth-child(3):before {
      background: #AB5F2D; }

.cal-img {
  overflow: hidden;
  width: 100px;
  height: 90px; }
  .cal-img img {
    height: 90px;
    margin-left: -30%; }
    @media (max-width: 768px) {
      .cal-img img {
        margin-left: 0;
        width: auto; } }

.cdimg {
  overflow: hidden;
  display: inline-block;
  width: 160px;
  height: 100px; }
  @media (max-width: 768px) {
    .cdimg {
      width: 100px;
      height: 70px; } }
  .cdimg img {
    height: 100px;
    margin-left: -15%; }
    @media (max-width: 768px) {
      .cdimg img {
        width: auto;
        height: 70px; } }

.imgcenter {
  display: block;
  margin: 0 auto;
  max-width: 100%; }

/*----------------------------------------------*/
/*                   company                      */
/*----------------------------------------------*/
.company-sec {
  padding: 40px 0 100px; }
  @media (max-width: 599px) {
    .company-sec {
      padding: 40px 0 60px; } }
  .company-sec__table {
    width: 100%;
    font-size: 16px;
    margin: 35px auto 0; }
  .company-sec td, .company-sec th {
    padding: 25px 30px;
    border: solid 1px #e0e0e0; }
    @media (max-width: 599px) {
      .company-sec td, .company-sec th {
        display: block; } }
  .company-sec th {
    width: 30%;
    font-weight: 600;
    text-align: left;
    font-size: 16px;
    letter-spacing: 0.1em;
    background-color: #f2f2f2; }
    @media (max-width: 599px) {
      .company-sec th {
        width: 100%; } }
  .company-sec td {
    line-height: 1.9;
    background-color: #fff; }
  .company-sec__inner-ctr p:first-child {
    font-weight: 500;
    margin-bottom: 10px; }
  .company-sec__inner-ctr:not(:last-child) {
    margin-bottom: 30px; }

/*----------------------------------------------*/
/*                   service                    */
/*----------------------------------------------*/
.lower-mv.service {
  background-image: url(../img/service/lower-mv.jpg); }

@media only screen and (min-width: 768px) {
  main.service {
    padding-top: 60px; } }
@media only screen and (max-width: 768px) {
  main.service {
    padding-top: 30px; } }
main.service .service-lead__txt {
  text-align: center;
  border-bottom: 1px solid #a6a6a5; }
  @media only screen and (min-width: 768px) {
    main.service .service-lead__txt {
      font-size: 32px;
      padding-bottom: 40px; } }
  @media only screen and (max-width: 768px) {
    main.service .service-lead__txt {
      font-size: 18px;
      padding-bottom: 20px; } }
@media only screen and (min-width: 768px) {
  main.service .service-list {
    padding-top: 70px; } }
@media only screen and (max-width: 768px) {
  main.service .service-list {
    padding-top: 20px; } }
main.service .service-list__hd {
  text-align: center;
  color: #dcb988;
  letter-spacing: 0.05em;
  font-weight: 200;
  text-align: center; }
  @media only screen and (min-width: 768px) {
    main.service .service-list__hd {
      font-size: 40px;
      margin-bottom: 30px; } }
  @media only screen and (max-width: 768px) {
    main.service .service-list__hd {
      font-size: 20px;
      margin-bottom: 15px; } }
main.service .service-list__link {
  background-image: url(../img/common/brown_bg.jpg);
  background-size: cover; }
@media only screen and (min-width: 768px) {
  main.service .service-list__link-list {
    margin-bottom: 85px; } }
@media only screen and (max-width: 768px) {
  main.service .service-list__link-list {
    width: 100%;
    justify-content: center;
    margin-bottom: 40px; } }
main.service .service-list__link-item {
  background-repeat: no-repeat;
  border-right: 2px solid #fff; }
  @media only screen and (min-width: 768px) {
    main.service .service-list__link-item {
      /*width: calc(20% - 2px);*/
      flex: 1;
      min-height: 296px; } }
  @media only screen and (max-width: 768px) {
    main.service .service-list__link-item {
      /*width: calc(30% - 2px);
      height: 30vw;*/
      border: none;
      width: 50%; } }
  @media only screen and (min-width: 768px) {
    main.service .service-list__link-item:first-child {
      border-left: 2px solid #fff; } }
  main.service .service-list__link-item a {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    flex-direction: column;
    padding: 20% 0; }
    main.service .service-list__link-item a:hover {
      background-color: rgba(255, 255, 255, 0.2); }
    @media only screen and (max-width: 768px) {
      main.service .service-list__link-item a {
        font-size: 14px;
        padding: 10% 0; } }
    main.service .service-list__link-item a::after {
      content: "";
      background-image: url(../img/service/icon-arrow-down-w.png);
      background-repeat: no-repeat;
      background-position: center;
      position: absolute;
      left: 50%;
      bottom: 0;
      transform: translate(-50%);
      width: 80%;
      border-top: 2px dotted #946b2d; }
      @media only screen and (min-width: 768px) {
        main.service .service-list__link-item a::after {
          height: 40px; } }
      @media only screen and (max-width: 768px) {
        main.service .service-list__link-item a::after {
          height: 20px;
          background-size: 12px; } }
    main.service .service-list__link-item a .ip {
      text-align: center;
      margin: 20px 0; }
    @media only screen and (max-width: 768px) {
      main.service .service-list__link-item a img {
        max-width: 80%; } }
@media only screen and (min-width: 768px) {
  main.service .service-list__detail {
    padding-bottom: 130px; } }
@media only screen and (max-width: 768px) {
  main.service .service-list__detail {
    padding-bottom: 60px; } }
@media only screen and (min-width: 768px) {
  main.service .service-list__detail-item {
    padding: 40px 0;
    min-height: 458px;
    background-size: cover;
    background-repeat: no-repeat; } }
@media only screen and (max-width: 768px) {
  main.service .service-list__detail-item {
    padding: 20px 0;
    background-size: cover; }
    main.service .service-list__detail-item .service-lsit__detail-txt {
      order: 1; }
    main.service .service-list__detail-item img {
      order: 0; } }
@media only screen and (min-width: 768px) {
  main.service .service-list__detail-item:nth-child(odd) .service-lsit__detail-txt {
    order: 1; }
  main.service .service-list__detail-item:nth-child(odd) img {
    order: 0; } }
@media only screen and (min-width: 768px) {
  main.service .service-list__detail-item:nth-child(even) .service-lsit__detail-txt {
    order: 0; }
  main.service .service-list__detail-item:nth-child(even) img {
    order: 1; } }
main.service .service-list__detail-item:nth-child(1) {
  background-position: left;
  background-image: url(../img/service/service-item-bg-l.png); }
main.service .service-list__detail-item:nth-child(3) {
  background-position: right;
  background-image: url(../img/service/service-item-bg-r.png); }
main.service .service-list__detail-item:nth-child(5) {
  background-position: left;
  background-image: url(../img/service/service-item-bg-l.png); }
main.service .service-list__detail-item .inner {
  align-items: flex-start; }
  @media only screen and (max-width: 768px) {
    main.service .service-list__detail-item .inner {
      flex-direction: column; } }
main.service .service-list__detail-item img {
  max-width: 100%; }
main.service .service-list__detail-img {
  box-shadow: 0px 0px 25px 0px rgba(0, 0, 0, 0.1); }
@media only screen and (max-width: 768px) {
  main.service .service-list__detail-txt {
    margin-top: 20px; } }
@media only screen and (min-width: 768px) {
  :nth-child(odd) main.service .service-list__detail-txt {
    margin-left: 40px; } }
@media only screen and (min-width: 768px) {
  :nth-child(even) main.service .service-list__detail-txt {
    margin-right: 40px; } }
main.service .service-list__detail-txt p {
  line-height: 1.75; }
  @media only screen and (min-width: 768px) {
    main.service .service-list__detail-txt p {
      font-size: 16px;
      margin-bottom: 30px; } }
  @media only screen and (max-width: 768px) {
    main.service .service-list__detail-txt p {
      font-size: 14px;
      margin-bottom: 15px; } }
main.service .service-list__detail-hd {
  display: flex;
  flex-direction: column;
  position: relative;
  line-height: 1.5; }
  main.service .service-list__detail-hd:before {
    content: "";
    background-color: #e1b982;
    display: block;
    width: 2px;
    height: 100%;
    position: absolute;
    left: 0; }
  @media only screen and (min-width: 768px) {
    main.service .service-list__detail-hd {
      font-size: 24px;
      padding-left: 30px;
      margin-bottom: 50px; } }
  @media only screen and (max-width: 768px) {
    main.service .service-list__detail-hd {
      font-size: 18px;
      padding-left: 15px;
      margin-bottom: 20px; } }
main.service .service-list__detail-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  background-image: url(../img/common/btn-arw.png);
  background-repeat: no-repeat;
  background-position: right 30px center;
  border: 2px solid #a7957d; }
  @media only screen and (min-width: 768px) {
    main.service .service-list__detail-btn {
      font-size: 16px;
      height: 50px;
      width: 300px;
      margin: 0 0 0 auto; } }
  @media only screen and (max-width: 768px) {
    main.service .service-list__detail-btn {
      height: 30px;
      width: 80%;
      margin: 0 auto; } }
  main.service .service-list__detail-btn:hover {
    background-position: right 20px center; }
main.service .service-company {
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(../img/service/bg-company.jpg); }
  @media only screen and (min-width: 768px) {
    main.service .service-company {
      padding: 70px 0 90px; } }
  @media only screen and (max-width: 768px) {
    main.service .service-company {
      padding: 35px 0; } }
  main.service .service-company__box {
    background-color: #fff; }
    @media only screen and (min-width: 768px) {
      main.service .service-company__box:not(:first-of-type) {
        margin-top: 35px; }
      main.service .service-company__box:nth-of-type(1) .flex {
        padding: 40px 50px 0; }
      main.service .service-company__box:nth-of-type(2) .flex {
        padding: 20px 50px 50px; } }
    @media only screen and (max-width: 768px) {
      main.service .service-company__box:not(:first-of-type) {
        margin-top: 20px; }
      main.service .service-company__box:nth-of-type(1) .flex {
        flex-direction: column;
        padding: 20px 25px 0; }
      main.service .service-company__box:nth-of-type(2) .flex {
        flex-direction: column;
        padding: 10px 25px 25px; } }
    main.service .service-company__box img {
      max-width: 100%; }
  main.service .service-company__hd {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #f9f7f3;
    font-weight: bold; }
    @media only screen and (min-width: 768px) {
      main.service .service-company__hd {
        height: 75px;
        font-size: 24px; } }
    @media only screen and (max-width: 768px) {
      main.service .service-company__hd {
        height: 40px;
        font-size: 16px; } }
  main.service .service-company__txt {
    line-height: 1.75;
    letter-spacing: 0.05em; }
    @media only screen and (min-width: 768px) {
      main.service .service-company__txt {
        width: 50%;
        margin-left: 85px;
        font-size: 16px; } }
    @media only screen and (max-width: 768px) {
      main.service .service-company__txt {
        margin-top: 20px;
        font-size: 14px; } }
  main.service .service-company__btn--more {
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    border-top: 1px solid #ccc; }
    @media only screen and (min-width: 768px) {
      main.service .service-company__btn--more {
        margin-top: 50px;
        height: 75px; } }
    @media only screen and (max-width: 768px) {
      main.service .service-company__btn--more {
        margin-top: 20px;
        height: 40px; } }
    main.service .service-company__btn--more:hover {
      background-color: #ffe8b6; }
    main.service .service-company__btn--more span::after {
      content: url(../img/service/icon-open.png);
      margin-left: 0.5em;
      position: relative;
      top: 3px; }
  main.service .service-company__txt--inq {
    text-align: center;
    font-weight: bold; }
    @media only screen and (min-width: 768px) {
      main.service .service-company__txt--inq {
        margin-top: 25px; } }
    @media only screen and (max-width: 768px) {
      main.service .service-company__txt--inq {
        margin-top: 15px; } }
  main.service .service-company__btn--tel {
    display: flex;
    flex-direction: column;
    align-items: center; }
    main.service .service-company__btn--tel span {
      display: flex;
      align-items: center;
      font-weight: bold; }
      main.service .service-company__btn--tel span img {
        margin-right: 10px; }
      @media only screen and (min-width: 768px) {
        main.service .service-company__btn--tel span {
          font-size: 34px;
          margin-bottom: 5px;
          white-space: nowrap; } }
      @media only screen and (max-width: 768px) {
        main.service .service-company__btn--tel span {
          font-size: 20px;
          margin-bottom: 5px; } }
    @media only screen and (min-width: 768px) {
      main.service .service-company__btn--tel small {
        font-size: 14px; } }
    @media only screen and (min-width: 768px) {
      main.service .service-company__btn--tel {
        padding: 0 20px; } }
    @media only screen and (max-width: 768px) {
      main.service .service-company__btn--tel {
        padding: 10px 0 0; } }
  main.service .service-company__btn {
    display: flex;
    justify-content: center;
    align-items: center; }
    main.service .service-company__btn img {
      height: 1em;
      margin-right: 1em; }
    @media only screen and (min-width: 768px) {
      main.service .service-company__btn {
        width: 35%;
        font-size: 20px; } }
    @media only screen and (max-width: 768px) {
      main.service .service-company__btn {
        height: 50px;
        width: 100%;
        font-size: 16px;
        margin-top: 10px; } }
  main.service .service-company__btn--inquiry {
    background-color: #00A9C6; }
  main.service .service-company__btn--download {
    background-color: #b98843; }
main.service .serivice-problem__list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }
  @media only screen and (min-width: 768px) {
    main.service .serivice-problem__list {
      margin-top: 50px;
      padding-bottom: 50px; } }
  @media only screen and (max-width: 768px) {
    main.service .serivice-problem__list {
      margin-top: 25px;
      padding-bottom: 20px; } }
main.service .serivice-problem__item {
  display: flex;
  flex-direction: column;
  align-items: center; }
  @media only screen and (min-width: 768px) {
    main.service .serivice-problem__item {
      width: 32%;
      margin-bottom: 50px; } }
  @media only screen and (max-width: 768px) {
    main.service .serivice-problem__item {
      width: 100%;
      margin-bottom: 20px; } }
main.service .serivice-problem__item-hd {
  display: flex;
  position: relative;
  width: 100%; }
  @media only screen and (min-width: 768px) {
    main.service .serivice-problem__item-hd {
      height: 55px;
      margin-bottom: 25px; } }
  @media only screen and (max-width: 768px) {
    main.service .serivice-problem__item-hd {
      height: 35px;
      margin-bottom: 15px; } }
  main.service .serivice-problem__item-hd::before {
    content: "";
    position: absolute;
    bottom: -2px;
    left: 0;
    transform: translateY(100%);
    display: block;
    width: 21px;
    height: 10px;
    background-repeat: no-repeat;
    background-image: url(../img/service/poblem-hd-shape.png);
    background-size: contain; }
  main.service .serivice-problem__item-hd strong {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #686055;
    color: #fff; }
    @media only screen and (min-width: 768px) {
      main.service .serivice-problem__item-hd strong {

        font-size: 15px;
        width: 85px; } }
    @media only screen and (max-width: 768px) {
      main.service .serivice-problem__item-hd strong {
        font-size: 12px;
        width: 50px; } }
  main.service .serivice-problem__item-hd span {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-grow: 1;
    background-color: #ddb67e; }
    @media only screen and (min-width: 768px) {
      main.service .serivice-problem__item-hd span {
        font-size: 20px; } }
    @media only screen and (max-width: 768px) {
      main.service .serivice-problem__item-hd span {
        font-size: 15px; } }
@media only screen and (min-width: 768px) {
  main.service .serivice-problem__item-img {
    margin-bottom: 25px; } }
@media only screen and (max-width: 768px) {
  main.service .serivice-problem__item-img {
    margin-bottom: 15px; } }
main.service .serivice-problem__item-txt {
  text-align: center;
  font-weight: 500; }
  @media only screen and (min-width: 768px) {
    main.service .serivice-problem__item-txt {
      font-size: 16px; } }
  @media only screen and (min-width: 768px) {
    main.service .serivice-problem__item-txt {
      font-size: 14px; } }
  main.service .serivice-problem__item-txt strong {
    color: #e60012; }
main.service .service-solution {
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(../img/service/solution-bg.png); }
  @media only screen and (min-width: 768px) {
    main.service .service-solution {
      padding-top: 90px;
      padding-bottom: 95px; } }
  @media only screen and (max-width: 768px) {
    main.service .service-solution {
      padding-top: 40px;
      padding-bottom: 40px; } }
  main.service .service-solution__hd {
    text-align: center;
    border-bottom: 1px solid #a6a6a5;
    border-bottom: 1px solid #a6a6a5; }
    @media only screen and (min-width: 768px) {
      main.service .service-solution__hd {
        font-size: 32px;
        padding-bottom: 40px; } }
    @media only screen and (max-width: 768px) {
      main.service .service-solution__hd {
        font-size: 18px;
        padding-bottom: 20px; } }
  @media only screen and (min-width: 768px) {
    main.service .service-solution__list {
      margin-top: 85px; } }
  @media only screen and (max-width: 768px) {
    main.service .service-solution__list {
      margin-top: 40px; } }
  main.service .service-solution__item {
    background-color: #fff;
    box-shadow: 0px 0px 25px 0px rgba(0, 0, 0, 0.1);
    display: flex; }
    @media only screen and (min-width: 768px) {
      main.service .service-solution__item {
        justify-content: space-between;
        margin-bottom: 45px; } }
    @media only screen and (max-width: 768px) {
      main.service .service-solution__item {
        flex-direction: column;
        margin-bottom: 20px; } }
    @media only screen and (min-width: 768px) {
      main.service .service-solution__item:nth-child(odd) {
        padding: 10px 10px 10px 50px; } }
    @media only screen and (max-width: 768px) {
      main.service .service-solution__item:nth-child(odd) {
        padding: 10px 10px 10px 20px; } }
    @media only screen and (min-width: 768px) {
      main.service .service-solution__item:nth-child(even) {
        padding: 10px 50px 10px 10px;
        flex-direction: row-reverse; } }
    @media only screen and (max-width: 768px) {
      main.service .service-solution__item:nth-child(even) {
        padding: 10px 20px 10px 10px; } }
  @media only screen and (min-width: 768px) {
    main.service .service-solution__txt-wrap {
      padding-top: 50px;
      width: 51%; } }
  @media only screen and (max-width: 768px) {
    main.service .service-solution__txt-wrap {
      padding-top: 20px; } }
  main.service .service-solution__txt-wrap p {
    line-height: 1.7; }
  main.service .service-solution__img {
    max-width: 100%;
    flex-shrink: 0; }
    main.service .service-solution__img img {
      width: 100%; }
    @media only screen and (min-width: 768px) {
      main.service .service-solution__img {
        width: 46%; } }
    @media only screen and (max-width: 768px) {
      main.service .service-solution__img {

        margin-top: 20px; } }
@media only screen and (min-width: 768px) {
  main.service .service-reason {
    padding-top: 90px;
    padding-bottom: 95px; } }
@media only screen and (max-width: 768px) {
  main.service .service-reason {
    padding-top: 40px;
    padding-bottom: 40px; } }
main.service .service-reason__hd {
  text-align: center;
  border-bottom: 1px solid #a6a6a5; }
  @media only screen and (min-width: 768px) {
    main.service .service-reason__hd {
      font-size: 32px;
      padding-bottom: 40px; } }
  @media only screen and (max-width: 768px) {
    main.service .service-reason__hd {
      font-size: 18px;
      padding-bottom: 20px; } }
@media only screen and (min-width: 768px) {
  main.service .service-reason__list {
    display: flex;
    justify-content: space-between;
    margin-top: 50px; } }
@media only screen and (max-width: 768px) {
  main.service .service-reason__list {
    margin-top: 20px; } }
main.service .service-reason__item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center; }
  @media only screen and (min-width: 768px) {
    main.service .service-reason__item {
      width: 32%; } }
  @media only screen and (max-width: 768px) {
    main.service .service-reason__item {
      margin-bottom: 20px; } }
  main.service .service-reason__item::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    width: 100%;
    background-position: left top;
    background-repeat: no-repeat;
    background-size: contain; }
    @media only screen and (min-width: 768px) {
      main.service .service-reason__item::after {
        height: 111px; } }
    @media only screen and (max-width: 768px) {
      main.service .service-reason__item::after {
        height: 60px; } }
  main.service .service-reason__item:nth-child(1)::after {
    background-image: url(../img/service/icon-reason-01.png); }
  main.service .service-reason__item:nth-child(2)::after {
    background-image: url(../img/service/icon-reason-02.png); }
  main.service .service-reason__item:nth-child(3)::after {
    background-image: url(../img/service/icon-reason-03.png); }
main.service .service-reason__img {
  width: 100%; }
  @media only screen and (min-width: 768px) {
    main.service .service-reason__img {
      margin-bottom: 30px; } }
  @media only screen and (max-width: 768px) {
    main.service .service-reason__img {
      margin-bottom: 15px; } }
  main.service .service-reason__img img {
    width: 100%; }
main.service .service-reason__strong {
  font-weight: bold;
  text-align: center; }
  @media only screen and (min-width: 768px) {
    main.service .service-reason__strong {
      font-size: 20px;
      margin-bottom: 30px; } }
  @media only screen and (max-width: 768px) {
    main.service .service-reason__strong {
      font-size: 16px;
      margin-bottom: 15px; } }
@media only screen and (min-width: 768px) {
  main.service .service-reason__txt {
    font-size: 15px; } }
@media only screen and (max-width: 768px) {
  main.service .service-reason__txt {
    font-size: 12px; } }

.service-company {
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(../img/service/bg-company.jpg); }
  @media only screen and (min-width: 768px) {
    .service-company {
      padding: 70px 0 90px; } }
  @media only screen and (max-width: 768px) {
    .service-company {
      padding: 35px 0; } }
  .service-company__box {
    background-color: #fff; }
    @media only screen and (min-width: 768px) {
      .service-company__box:not(:first-of-type) {
        margin-top: 35px; }
      .service-company__box:nth-of-type(1) .flex {
        padding: 40px 50px 0; }
      .service-company__box:nth-of-type(2) .flex {
        padding: 20px 50px 50px; } }
    @media only screen and (max-width: 768px) {
      .service-company__box:not(:first-of-type) {
        margin-top: 20px; }
      .service-company__box:nth-of-type(1) .flex {
        flex-direction: column;
        padding: 20px 25px 0; }
      .service-company__box:nth-of-type(2) .flex {
        flex-direction: column;
        padding: 10px 25px 25px; } }
    .service-company__box img {
      max-width: 100%; }
  .service-company__hd {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #f9f7f3;
    font-weight: bold; }
    @media only screen and (min-width: 768px) {
      .service-company__hd {
        height: 75px;
        font-size: 24px; } }
    @media only screen and (max-width: 768px) {
      .service-company__hd {
        height: 40px;
        font-size: 16px; } }
  .service-company__txt {
    line-height: 1.75;
    letter-spacing: 0.05em; }
    @media only screen and (min-width: 768px) {
      .service-company__txt {
        width: 50%;
        margin-left: 85px;
        font-size: 16px; } }
    @media only screen and (max-width: 768px) {
      .service-company__txt {
        margin-top: 20px;
        font-size: 14px; } }
  .service-company__btn--more {
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    border-top: 1px solid #ccc; }
    @media only screen and (min-width: 768px) {
      .service-company__btn--more {
        margin-top: 50px;
        height: 75px; } }
    @media only screen and (max-width: 768px) {
      .service-company__btn--more {
        margin-top: 20px;
        height: 40px; } }
    .service-company__btn--more:hover {
      background-color: #ffe8b6; }
    .service-company__btn--more span::after {
      content: url(../img/service/icon-open.png);
      margin-left: 0.5em;
      position: relative;
      top: 3px; }
  .service-company__txt--inq {
    text-align: center;
    font-weight: bold; }
    @media only screen and (min-width: 768px) {
      .service-company__txt--inq {
        margin-top: 25px; } }
    @media only screen and (max-width: 768px) {
      .service-company__txt--inq {
        margin-top: 15px; } }
  .service-company__btn--tel {
    display: flex;
    flex-direction: column;
    align-items: center; }
    .service-company__btn--tel span {
      display: flex;
      align-items: center;
      font-weight: bold; }
      .service-company__btn--tel span img {
        margin-right: 10px; }
      @media only screen and (min-width: 768px) {
        .service-company__btn--tel span {
          font-size: 34px;
          margin-bottom: 5px;
          white-space: nowrap; } }
      @media only screen and (max-width: 768px) {
        .service-company__btn--tel span {
          font-size: 20px;
          margin-bottom: 5px; } }
    @media only screen and (min-width: 768px) {
      .service-company__btn--tel small {
        font-size: 14px; } }
    @media only screen and (min-width: 768px) {
      .service-company__btn--tel {
        padding: 0 20px; } }
    @media only screen and (max-width: 768px) {
      .service-company__btn--tel {
        padding: 10px 0 0; } }
  .service-company__btn {
    display: flex;
    justify-content: center;
    align-items: center; }
    .service-company__btn img {
      height: 1em;
      margin-right: 1em; }
    @media only screen and (min-width: 768px) {
      .service-company__btn {
        width: 35%;
        font-size: 20px; } }
    @media only screen and (max-width: 768px) {
      .service-company__btn {
        height: 50px;
        width: 100%;
        font-size: 16px;
        margin-top: 10px; } }
  .service-company__btn--inquiry {
    background-color: #00A9C6;
    color: #FFF; }
  .service-company__btn--download {
    background-color: #b98843;
    color: #FFF; }

/*----------------------------------------------*/
/*                   Download                   */
/*----------------------------------------------*/
.lower-mv.service {
  background-image: url(../img/download/lower-mv.jpg); }

@media only screen and (min-width: 768px) {
  main.download {
    padding-top: 60px; } }
@media only screen and (max-width: 768px) {
  main.download {
    padding-top: 30px; } }
main.download .download-lead__txt {
  text-align: center;
  border-bottom: 1px solid #a6a6a5; }
  @media only screen and (min-width: 768px) {
    main.download .download-lead__txt {
      font-size: 32px;
      padding-bottom: 40px; } }
  @media only screen and (max-width: 768px) {
    main.download .download-lead__txt {
      font-size: 18px;
      padding-bottom: 20px; } }
  @media only screen and (min-width: 768px) {
    main.download .download-lead__txt small {
      font-size: 12px;
      padding-bottom: 40px; } }
  @media only screen and (max-width: 768px) {
    main.download .download-lead__txt small {
      font-size: 10px;
      padding-bottom: 20px; } }
@media only screen and (min-width: 768px) {
  main.download .download-lead__sub {
    font-size: 16px;
    margin-top: 20px;
    margin-bottom: 20px; } }
@media only screen and (max-width: 768px) {
  main.download .download-lead__sub {
    font-size: 14px;
    margin-top: 10px;
    margin-bottom: 10px; } }
@media only screen and (min-width: 768px) {
  main.download .download-list {
    padding-top: 80px;
    padding-bottom: 90px; } }
@media only screen and (max-width: 768px) {
  main.download .download-list {
    padding-top: 40px;
    padding-bottom: 40px; } }
main.download .download-list__hd {
  font-weight: bold;
  position: relative;
  margin-bottom: 1.5em; }
  @media only screen and (min-width: 768px) {
    main.download .download-list__hd {
      font-size: 32px; } }
  @media only screen and (max-width: 768px) {
    main.download .download-list__hd {
      font-size: 20px; } }
  main.download .download-list__hd::after {
    content: "";
    background-color: #b98843;
    display: block;
    height: 2px;
    width: 1em;
    position: absolute;
    left: 0;
    bottom: -0.5em; }
  @media only screen and (min-width: 768px) {
    main.download .download-list__hd:not(:first-child) {
      margin-top: 60px; } }
  @media only screen and (max-width: 768px) {
    main.download .download-list__hd:not(:first-child) {
      margin-top: 30px; } }
main.download .download-list__list {
  display: flex;
  flex-wrap: wrap; }
main.download .download-list__item {
  border: solid 2px #b98843;
  position: relative; }
  @media only screen and (min-width: 768px) {
    main.download .download-list__item {
      width: 32%;
      padding: 10px 20px 40px;
      margin-bottom: 30px; } }
  @media only screen and (max-width: 768px) {
    main.download .download-list__item {
      width: 100%;
      padding: 10px 10px 40px;
      margin-bottom: 20px; } }
  @media only screen and (min-width: 768px) {
    main.download .download-list__item:not(:nth-child(3n)) {
      margin-right: 1%; } }
  main.download .download-list__item::after {
    content: "";
    display: block;
    width: 35px;
    height: 35px;
    position: absolute;
    right: 0;
    bottom: 0;
    background-image: url(../img/download/icon-dl.png);
    background-repeat: no-repeat; }
  @media only screen and (min-width: 768px) {
    main.download .download-list__item a {
      align-items: flex-start;
      display: flex;
      justify-content: space-between; } }
@media only screen and (min-width: 768px) {
  main.download .download-list__img {
    width: 45%; } }
@media only screen and (max-width: 768px) {
  main.download .download-list__img {
    display: block;
    max-width: 100%;
    margin: 0 auto 10px auto; } }
main.download .download-list__txt {
  font-weight: bold; }
  @media only screen and (min-width: 768px) {
    main.download .download-list__txt {
      width: 50%; } }
  @media only screen and (min-width: 768px) {
    main.download .download-list__txt small {
      font-size: 12px; } }
  @media only screen and (max-width: 768px) {
    main.download .download-list__txt small {
      font-size: 10px; } }
main.download .download-solution {
  display: flex;
  align-items: center;
  flex-direction: column;
  text-align: center;
  background-image: url(../img/download/solution-bg.png);
  background-repeat: no-repeat;
  background-size: cover; }
  @media only screen and (min-width: 768px) {
    main.download .download-solution {
      padding: 40px 0; } }
  @media only screen and (max-width: 768px) {
    main.download .download-solution {
      padding: 40px 0; } }
  main.download .download-solution__hd {
    letter-spacing: 0.05em;
    font-weight: bold;
    position: relative; }
    @media only screen and (min-width: 768px) {
      main.download .download-solution__hd {
        font-size: 32px;
        margin-bottom: 60px; } }
    @media only screen and (max-width: 768px) {
      main.download .download-solution__hd {
        font-size: 18px;
        margin-bottom: 20px; } }
    main.download .download-solution__hd::after {
      content: "";
      display: block;
      height: 2px;
      width: 1em;
      position: absolute;
      bottom: -0.5em;
      left: 50%;
      transform: translateX(-50%);
      background-color: #B98843; }
  main.download .download-solution__lead {
    font-weight: 500;
    display: block;
    margin-bottom: 1em; }
    @media only screen and (min-width: 768px) {
      main.download .download-solution__lead {
        font-size: 28px; } }
    @media only screen and (max-width: 768px) {
      main.download .download-solution__lead {
        font-size: 20px; } }
  main.download .download-solution__txt {
    line-height: 1.7; }
    @media only screen and (min-width: 768px) {
      main.download .download-solution__txt {
        font-size: 18px;
        margin-bottom: 20px; } }
    @media only screen and (max-width: 768px) {
      main.download .download-solution__txt {
        font-size: 14px;
        margin-bottom: 20px; } }
  main.download .download-solution__btn {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #B98843;
    margin: 0 auto;
    color: #fff; }
    @media only screen and (min-width: 768px) {
      main.download .download-solution__btn {
        width: 300px;
        height: 50px; } }
    @media only screen and (max-width: 768px) {
      main.download .download-solution__btn {
        width: 40%;
        height: 35px; } }
@media only screen and (min-width: 768px) {
  main.download .download-detail {
    padding-top: 60px;
    padding-bottom: 80px; } }
@media only screen and (max-width: 768px) {
  main.download .download-detail {
    padding-top: 30px;
    padding-bottom: 40px; } }
@media only screen and (min-width: 768px) {
  main.download .download-detail__wrap {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between; } }
main.download .download-detail__info {
  background-image: url(../img/download/download-bg.png);
  background-repeat: no-repeat;
  background-size: cover; }
  @media only screen and (min-width: 768px) {
    main.download .download-detail__info {
      flex-grow: 1;
      margin-right: 40px; } }
  @media only screen and (min-width: 768px) {
    main.download .download-detail__info-inner {
      padding: 0 20px; } }
main.download .download-detail__hd {
  position: relative;
  padding-left: 1em;
  font-weight: 500; }
  @media only screen and (min-width: 768px) {
    main.download .download-detail__hd {
      font-size: 28px;
      margin-bottom: 40px; } }
  @media only screen and (max-width: 768px) {
    main.download .download-detail__hd {
      font-size: 18px;
      margin-bottom: 20px; } }
  main.download .download-detail__hd::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    height: 100%;
    width: 4px;
    background-color: #b98843; }
main.download .download-detail__img {
  display: flex;
  justify-content: center;
  align-items: center; }
  @media only screen and (min-width: 768px) {
    main.download .download-detail__img {
      margin-bottom: 40px; } }
  @media only screen and (max-width: 768px) {
    main.download .download-detail__img {
      margin-bottom: 20px; } }
  main.download .download-detail__img img {
    max-width: 100%; }
main.download .download-detail__box {
  background-color: #fff;
  box-shadow: 0px 0px 25px 0px rgba(0, 0, 0, 0.1); }
  @media only screen and (min-width: 768px) {
    main.download .download-detail__box {
      margin-bottom: 40px; } }
  @media only screen and (max-width: 768px) {
    main.download .download-detail__box {
      margin-bottom: 20px; } }
  main.download .download-detail__box-hd {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1em; }
    @media only screen and (min-width: 768px) {
      main.download .download-detail__box-hd {
        font-size: 22px; } }
    @media only screen and (max-width: 768px) {
      main.download .download-detail__box-hd {
        font-size: 16px; } }
    main.download .download-detail__box-hd--trouble {
      background-color: #B98843;
      color: #fff; }
    main.download .download-detail__box-hd--document {
      background-color: #F9F7F3; }
main.download .download-detail__box-list {
  padding: 1em; }
  main.download .download-detail__box-list--trouble li::before {
    content: "・"; }
  main.download .download-detail__box-list--document li::before {
    content: "■"; }
  main.download .download-detail__box-list-item {
    position: relative;
    padding-left: 1.5em; }
    main.download .download-detail__box-list-item::before {
      position: absolute;
      top: 0;
      left: 0; }
main.download .download-detail__txt {
  line-height: 1.7; }
  @media only screen and (min-width: 768px) {
    main.download .download-detail__txt {
      font-size: 18px;
      margin-bottom: 40px; } }
  @media only screen and (max-width: 768px) {
    main.download .download-detail__txt {
      font-size: 16px;
      margin-bottom: 20px; } }

/*----------------------------------------------*/
/*                   Form                       */
/*----------------------------------------------*/
/*side*/
.form_section {
  width: 425px;
  background-color: #f8f8f8;
  padding: 30px 40px;
  /* ラジオボタン */ }
  @media (max-width: 768px) {
    .form_section {
      width: 100%;
      padding: 30px 18px;
      margin-top: 40px; } }
  .form_section table {
    text-align: left; }
  .form_section th,
  .form_section td {
    display: block; }
  .form_section th {
    width: 340px;
    padding: 12px 0;
    position: relative;
    vertical-align: top;
    font-size: 16px;
    font-weight: bold; }
    @media (max-width: 768px) {
      .form_section th {
        width: 100%; } }
    .form_section th::after {
      position: absolute;
      content: '必須';
      background-color: #ffb71d;
      padding: 3px 17px;
      font-size: 14px;
      margin-left: 15px; }
    .form_section th.optional::after {
      position: absolute;
      content: '任意';
      color: #ffffff;
      background-color: #787878;
      padding: 3px 17px;
      font-size: 14px;
      margin-left: 15px; }
  .form_section .inquiry td {
    padding-bottom: 17px; }
  .form_section .inquiry td:not(:last-child) {
    margin-bottom: 0; }
  .form_section tr {
    padding: 30px 0; }
  .form_section input,
  .form_section select,
  .form_section textarea {
    padding: 17px 10px;
    outline: none;
    border: solid 1px #e0e6ee; }
  .form_section .inquiry:not(:last-child) {
    margin-bottom: 60px; }
  .form_section h2 {
    margin-bottom: 12px; }
  .form_section h3 {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 40px;
    letter-spacing: 0.025em; }
  .form_section .name_flex input,
  .form_section select {
    width: 48%; }
  @media (max-width: 768px) {
    .form_section .name_flex input {
      width: calc(50% - 5px); } }
  .form_section .name_flex input:not(:last-child) {
    margin-right: 10px; }
  .form_section .big {
    width: 100%; }

  .form_section .textarea {
    resize: none; }
  .form_section .inquiry_content {
    height: 150px; }
  .form_section .txt_box {
    line-height: 2;
    font-size: 15px; }
  .form_section .address p {
    margin: 0 10px; }
  .form_section select {
    margin-top: 10px;
    width: 100%; }
  .form_section .note {
    line-height: 1.5;
    margin: 40px 0 60px; }
  .form_section .note h4 {
    font-weight: bold;
    margin-bottom: 10px; }
  .form_section .note a {
    padding-bottom: 1px;
    border-bottom: solid 1px; }
  .form_section .radio {
    padding-left: 10px;
    margin: 12px 0; }
  .form_section .radio-btn {
    display: none; }
  .form_section .radio label {
    display: block;
    font-size: 15px; }
  .form_section .radio label:not(:last-child) {
    margin-bottom: 12px; }
  .form_section .radio-btn + label {
    padding-left: 20px;
    position: relative; }
  .form_section .radio-btn + label::before {
    content: "";
    display: block;
    cursor: pointer;
    position: absolute;
    top: 3px;
    left: -7px;
    width: 15px;
    height: 15px;
    border: 1px solid #c4c4c4;
    background-color: #ffffff;
    border-radius: 50%; }
  .form_section .radio-btn:checked + label::after {
    content: "";
    display: block;
    position: absolute;
    top: 6px;
    left: -4px;
    width: 9px;
    height: 9px;
    background: #FFC750;
    border: 1px solid #FFC750;
    border-radius: 50%; }
  .form_section textarea {
    width: 100%;
    height: 10em; }
  .form_section .submit {
    margin-top: 30px; }

.thanksbtn a {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #B98843;
  margin: 50px auto 60px auto;
  color: #fff;
  width: 300px;
  height: 50px; }

/*----------------------------------------------*/
/*                 feature                      */
/*----------------------------------------------*/
.feature-ttl {
  font-size: 32px;
  padding-bottom: 40px;
  border-bottom: 1px solid #a6a6a5; }
  @media (max-width: 599px) {
    .feature-ttl {
      font-size: 18px; } }

.feature-lead {
  font-size: 16px;
  margin-top: 20px; }

/*            f-company               */
.f-company {
  padding: 60px 0 100px; }
  .f-company__flex {
    margin-top: 50px; }
  .f-company__c-sec {
    width: 50%; }
    @media (max-width: 599px) {
      .f-company__c-sec {
        width: 100%;
        margin-bottom: 50px; } }
  .f-company__map-sec {
    width: 40%; }
    @media (max-width: 599px) {
      .f-company__map-sec {
        width: 100%; } }
  .f-company__ttl {
    font-size: 24px;
    font-weight: 500;
    background-color: #f9f7f3;
    padding: 15px 20px; }
  .f-company__table {
    width: 100%;
    margin-top: 20px;
    font-size: 16px; }
    .f-company__table th, .f-company__table td {
      padding: 15px 20px; }
      @media (max-width: 599px) {
        .f-company__table th, .f-company__table td {
          display: block; } }
    .f-company__table th {
      width: 20%;
      font-weight: 500; }
      @media (max-width: 599px) {
        .f-company__table th {
          width: 100%;
          padding: 15px 0px 5px; } }
    @media (max-width: 599px) {
      .f-company__table td {
        width: 100%;
        padding: 5px 0px 15px; } }
  .f-company__txt {
    margin-top: 20px;
    line-height: 1.7; }
  .f-company__img {
    width: 100%; }

@media (max-width: 599px) {
  .feature-list .inner {
    flex-wrap: wrap; } }
.feature-list__ctr {
  padding: 100px 0; }
  @media (max-width: 599px) {
    .feature-list__ctr {
      padding: 60px 0; } }
  .feature-list__ctr:nth-child(odd) {
    background-color: #f8f8f8; }
.feature-list__txt-box {
  position: relative;
  width: 55%; }
  @media (max-width: 599px) {
    .feature-list__txt-box {
      width: 100%; } }
.feature-list__bg {
  position: absolute;
  top: -15%;
  z-index: 3;
  color: #dcb988;
  opacity: .25;
  font-size: 126px;
  font-weight: 300;
  line-height: .8;
  white-space: nowrap; }
  @media (max-width: 599px) {
    .feature-list__bg {
      font-size: 60px;
      top: -8%; } }
  .feature-list__bg.left {
    left: -26%; }
    @media (max-width: 599px) {
      .feature-list__bg.left {
        left: 0%; } }
  .feature-list__bg.right {
    right: -26%; }
    @media (max-width: 599px) {
      .feature-list__bg.right {
        right: 0%; } }
.feature-list__img {
  width: 40%; }
  @media (max-width: 599px) {
    .feature-list__img {
      width: 100%;
      margin-bottom: 30px; } }
.feature-list__ttl {
  font-size: 28px;
  font-weight: 500; }
  @media (max-width: 599px) {
    .feature-list__ttl {
      font-size: 24px; } }
.feature-list__txt {
  line-height: 1.9;
  margin: 30px 0; }

/*            f-product               */
.f-product {
  padding: 100px 0; }
  .f-product__wrap-list {
    margin-top: 50px; }
  .f-product__wrap {
    width: calc(100% / 4 - 30px);
    margin-top: 20px; }
    @media (max-width: 1100px) {
      .f-product__wrap {
        width: calc(100% / 2 - 30px); } }
    @media (max-width: 599px) {
      .f-product__wrap {
        width: 100%; } }
    .f-product__wrap:not(:last-child) {
      margin-bottom: 50px; }
  .f-product__top-txt {
    margin-bottom: 20px; }
  .f-product__img {
    width: 100%;
    height: 200px;
    object-fit: contain; }
  .f-product__str {
    font-size: 18px;
    margin-top: 10px;
    height: 125px; }
    @media (max-width: 599px) {
      .f-product__str {
        height: auto;
        margin-bottom: 20px; } }
/*220803*/
section.service-download {
    padding-bottom: 95px;
}
section.service-download .cd__download-link{
    padding:20px;
    margin-top: 0;
}
section.service-download .cd__d-txt-box {
    width: 64%;
    box-sizing: border-box;
}
section.service-download .cd__d-img-wrap{
    width: 36%;
    box-sizing: border-box;
}
section.service-download .cd__d-img-wrap img{
    width: 90%;
}
section.service-download .cd__d-lead{
    margin-bottom:1rem;
    font-size: 26px;
}

section.service-download .cd__d-link{
    padding: 13px 45px 13px 105px;
}

section.service-download .cd__d-ttl{
    font-size: 18px;
    display: inline-block;
    width: auto;
    padding: 8px 20px;
    margin: 20px 20px 1rem;
}
section.service-download .cd__d-inner-wrap {
    padding: 0 20px 20px;
}
.service-solution__movie {
    margin-top: 85px;
    max-width: 100%;
}
.service-solution__movie iframe {
    max-width: 100%;
}
 @media (max-width: 599px) {
section.service-download .cd__d-txt-box{
  width:100%;
}
  section.service-download .cd__d-txt-box .cd__d-lead{
     font-size:22px;
   }
   section.service-download .cd__d-img-wrap{
     width:100%;
   }
section.service-download .cd__d-ttl {
    margin: 0 0 1rem;
    width: 100%;
}
.service-solution__movie {
    margin-top: 40px;
}
.service-solution__movie iframe {
    max-width: 100%;
    height: auto;
    min-height: 190px;
}
}



/*220928*/


.service-solution__tablist{
    background:#fff;
	box-shadow: 0px 0px 25px 0px rgb(0 0 0 / 10%);
}
.service-solution__tablist .tabArea{
    display:flex;
    flex-wrap:wrap;
    margin-bottom: 40px;
    justify-content: space-between;
    /*border-bottom: 1px solid #ddb67e;*/
}
.service-solution__tablist .tabArea li{
    width: calc(100% / 3);
}

.service-solution__tablist .tabArea li a:hover {
    cursor:pointer;
    opacity: .7;
    background: #ddb67e;
}
.service-solution__tablist .tabArea li a{
    background: #ddb67e;
    padding: 20px;
    font-size: 16px;
    box-sizing:border-box;
    text-align:center;
    position:relative;
    z-index: 2;
    box-sizing:border-box;
    font-weight:bold;
    transition: .3s ease;
	display: flex;
    justify-content: center;
    align-items: center;
}
.service-solution__tablist .tabArea li + li {
    border-left: 2px solid #fff;
}



.service-solution__tablist .tabArea li a.select {
    background: #FFF;
    position: relative;
}
.service-solution__tablist .tabArea li a.select:hover {
    opacity: 1;
}
.service-solution__tablist .content_wrap {
    display: none;
    padding: 160px 50px 50px;
    margin-top: -160px;
}
.service-solution__tablist .content_wrap.is_show {
    display: block;
}
.service-solution__assembly .flex{
    margin-top: 25px;
}

.service-solution__assembly{
    margin-top: 50px;
}
.service-solution__assembly_explanation {
    width: calc( 100% / 2);
}

.service-solution__assembly h4 {
    background: #ddb67e;
    display: inline-block;
    padding: 5px 15px;
    font-size: 1.1rem;
}

.service-solution__assembly_explanation .service-solution__txt {
margin-bottom: 25px;
}

.service-solution__assembly_explanation video {
    width: 100%;
}
.service-solution__assembly_flow {
    border: 2px solid #b98843;
    width: calc( 100% / 2 - 40px);
    box-sizing: border-box;
}
.service-solution__assembly_movie {
    width: calc( 100% / 2 - 40px);
    box-sizing: border-box;
}
.service-solution__assembly_movie video{
    width: 100%;
}
.service-solution__assembly_flow h4 {
    background: #b98843;
    color: #fff;
    font-size: 1rem;
    line-height: 1;
    padding: 10px 15px;
    margin-bottom: 0;
}
.service-solution__assembly_flow img{
max-width:100%;
}
.service-solution__assembly_table {
    width: 100%;
    font-size: 16px;
    margin: 35px auto 0;
}
.service-solution__assembly_table td, .service-solution__assembly_table th {
    padding: 20px 30px;
    border: solid 1px #e0e0e0;
    vertical-align: middle;
}
.service-solution__assembly_table th {
    font-weight: 600;
    font-size: 16px;
    background-color: #f2f2f2;
}
.service-solution__assembly_table td {
    background-color: #fff;
    text-align:center;
}
.service-solution__assembly_three .item{
    width: calc(100% / 3 - 30px);
    display: flex;
    flex-flow: column;
    gap: 20px;
}

.flex.service-solution__assembly_three {
    margin-top: 50px;
}

.service-solution__assembly_three .item img {
    max-width: 100%;
    margin: auto;
}

.check {
    font-weight: bold;
    font-size: 1.4rem;
    padding-left: 4.6rem;
    line-height: 1.6;
    background:url(../img/service/checkbox.png) no-repeat;
}

@media only screen and (min-width: 768px) {
  main.service .service-flow {
    padding-top: 90px; }

main.service .service-exhibition {
    padding-bottom: 95px;
}
}


.service-flow__cont {
    background: #fff;
    margin-top: 50px;
	border: 2px solid #b98843;
}
.service-flow__cont h4{
	background: #b98843;
    color: #fff;
    font-size: 1rem;
    line-height: 1;
    padding: 10px 15px;
    margin-bottom: 0;
    display: inline-block;
}
.service-flow__cont .service-flow__cont_inner{
    position: relative;
    padding: 50px;
}
.service-flow__cont .btn-area{
    position: absolute;
    bottom: 0;
}

.service-flow__cont img{
	width:100%;
}
.service-flow__cont .ant{
    padding: 50px;
}

.lower-mv{
    background-color: #e1af73;
}
.service-exhibition_cont {
    background-color: #fff;
    border: solid 2px #b98843;
}
.service-exhibition_title {
    font-size: 30px;
    padding: 10px 0;
    background-color: #f9f7f3;
    text-align: center;
    font-weight: bold;
}
.service-exhibition_txt-box {
    width: calc(55% - 20px);
}

.service-exhibition_img-box {
    width: calc(45% - 20px);
}
.service-exhibition_cont .flex.service-exhibition_cont_flex {
    padding: 30px;
    flex-wrap: wrap;
}
.service-exhibition_img-box .flex{
    padding: 0px;
    gap: 20px;
}
.service-exhibition_img-box .flex li {
    width: calc(100% / 2 - 10px);
}
.service-exhibition_img-box .flex li img {
    width: 100%;
}

main.service .service-exhibition_txt-box .service-company__btn--inquiry {
    width: 60%;
    min-height: 90px;
    margin-top: 40px;
}
.service-exhibition__stg-txt.bold {
    font-size: 24px;
    margin-bottom: 30px;
}
p.ant {
    font-size: 14px;
    margin-top: 0.5rem;
}
.service-comparison_table {
    width: 100%;
    font-size: 15px;
    margin: 35px auto 0;
}
.service-comparison_table td, .service-comparison_table th {
    padding: 10px;
    border: solid 1px #e0e0e0;
    vertical-align: middle;
    text-align: center;
}
.service-comparison_table th {
    background-color: #f2f2f2;
}
.service-comparison_table td img {
    max-width: 100%;
    margin: auto;
    max-height: 135px;
}
section.service-comparison {
    padding: 50px 0;
}

@media (max-width: 768px) {
.tbl-scroll {
    margin: 20px 0 0 0;
    width: 100%;
    overflow-x: auto;
}
.service-comparison_table{
width:1100px;
}
.service-solution__tablist .content_wrap{
    padding: 20px;
    margin-top: -20px;
}
.service-solution__assembly_explanation{
width:100%;
}
.service-solution__assembly_flow{
width:100%;
    margin-top: 20px;
}
.service-solution__assembly_movie{
width:100%;
}
.service-solution__assembly_table{
width: 765px;
}
.service-solution__assembly_three .item{
width:100%;
    margin-top: 40px;
}
.check {
    font-size: 1rem;
    background-size: 50px;
    padding-left: 60px;
}
.service-solution__assembly_img img{
max-width:100%;
}
.service-flow__cont .service-flow__cont_inner{
    padding: 20px;
}
.service-flow__cont .ant{
    padding: 20px;
}
.service-flow__cont .btn-area {
    position: initial;
    bottom: 0;
    margin: 20px auto;
    text-align: center;
}

section.service-flow {
    padding: 40px 0;
}

.service-exhibition_txt-box {
    width: 100%;
}

.service-exhibition_img-box {
    width: 100%;
    margin-top: 30px;
}

main.service .service-exhibition_txt-box .service-company__btn--inquiry {
    width: 100%;
    height: 60px;
}

.flex.nowrap {
}

section.service-exhibition {
    padding: 40px 0;
}

.t-mv{
width: 100%;
    overflow: hidden;
}
.top-bg2{
    overflow: hidden;
}
.service-solution__tablist .tabArea li {
    width: 100%;
}
.service-solution__tablist .tabArea li a{
    width: 100%;
    padding: 15px 15px 15px 2rem;
    border-bottom: 2px solid #fff;
    font-size: 14px;
    gap: 2rem;
    justify-content: flex-start;
    text-align: left;
}

.service-solution__tablist .tabArea li a::before {
    content: "";
    border-top: 2px solid #1fc38b;
    border-right: 2px solid #1fc38b;
    transform: rotate(45deg);
    width: 10px;
    height: 10px;
    transition: .5s;
}

.service-solution__tablist .tabArea li a.select::before {
    transform: rotate(135deg);
}

.service-solution__tablist .tabArea.bottom li a{
    border-top: 2px solid #fff;
    border-bottom: none;
}    
    .service-solution__tablist .tabArea.bottom{
        display: none;
    }
.service-solution__tablist .tabArea.bottom li a.select::before {
    transform: rotate(-45deg);
}
    
}
li.service-list__link-item {
    width: calc(20% - 2px);
}

main.service .service-list__link-item {
    min-width: calc(20% - 2px );
    width: calc(20% - 2px );
    min-height: 250px;
}

main.service .service-list__link-item a {
    padding: 15px 0px 0px;
}
main.service .service-list__link-item a::after {
    position: initial;
    display: block;
    width: 100%;
    padding: 10px 0 0;
    margin: auto 0 0;
    transform: initial;
    left:0;
    height: 25px;
}

main.service .service-list__link-item a .ip {
    margin: auto 0 0;
}
main.service .service-list__link-item:last-child
{
    border-left: 2px solid #fff;
    border-top: 2px solid #fff;
}

@media only screen and (max-width: 768px) {
main.service .service-list__link-item{
width:50%;
}
main.service .service-list__link-item a::after {
    width: 80%;
    height: 10px;
}
main.service .service-list__link-item:last-child {
    border: none;
}
.service-solution__tablist .tabArea{
border-bottom: none;
}
.service-solution__tablist .tabArea li + li {
    border-left: none;
}

}


/*221111*/
h2.service-solution__hd_title {
    text-align: center;
    margin-top: 2rem;
    font-size: 2rem;
    font-weight: bold;
}


/*221116*/
main.service .flower .service-solution__list {
    margin-top: 3rem;
}
main.service .flower .service-list__detail-hd{
	font-weight:bold;
	font-size: 26px;
}

ul.serivice-worries__list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 50px;
    padding-bottom: 50px;
    text-align: center;
    gap: 2rem;
}
main.service .serivice-worries__item {
    width: calc((100% - 4rem) / 3);
    background: #fffbf6;
    padding: 2rem 0 0;
    border: solid 2px #b98843;
    position: relative;
    display: flex;
    flex-flow: column;
    justify-content: space-between;
}
p.serivice-worries__item-txt strong{
    font-weight:bold;
    color: #e60012;
}

p.serivice-worries__item-txt {
    font-size: 1.2rem;
    text-align: left;
    padding: 0 0 0 2rem;
    font-weight: 500;
}
.serivice-worries__item .img {
    text-align: right;
    position: relative;
    height: 5rem;
}
.serivice-worries__item .img img{
    position: absolute;
    height: 8rem;
    max-height: 140%;
    bottom: 0;
    right: 10px;
}

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

main.service .serivice-worries__item {
    width: 100%;
}
.serivice-worries__item .img{
    height: 4rem;
}
.serivice-worries__item .img img{
    max-height: 7rem;
}
p.serivice-worries__item-txt{
font-size:1rem;
}
  main.service .flower .service-list__detail-hd{
    font-size: 18px;
  }
}



/*230213*/
@media only screen and (min-width: 768px) {
section.service-column {
    padding: 50px 0;
}

.service-column .column-main__card {
    width: calc((100% - 28px * 2) / 3);
    margin: 0;
}

.service-column .column-main__card-wrap {
    gap: 28px;
}

.service-column .column-main__img {
    margin: 0;
    height: 200px;
    margin-left: -7%;
}
}
@media only screen and (max-width: 767px) {
    section.service-column {
         padding: 50px 0;
    }
 .service-column .column-main__card {
    width: 100%;
    margin: 0;
} 
    .service-column .column-main__card-wrap {
    gap: 50px;
}
}
