


* {
	margin: 0;
	padding: 0;
}
*::after,
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

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

ul, ol { list-style : none}



body {
	font-family: "Noto Sans JP";
	/*background: #2451D8;*/
	
	
}

/*h1 {
	
display:none;}*/






/*----------------------------    TOPページCSS   --------------------------------------*/



          /* --- 全体のレイアウト --- */
        .section-container {
            width: 100%;
            max-width: 1200px;
            margin: 0 auto;
            padding: 20px 20px 20px 20px;
            box-sizing: border-box;
        }

        .columns {
            display: flex;
            align-items: center;
            gap: 60px;
            margin-bottom: 40px;
			margin-top:40px;
        }

        /* PCで「右画像・左テキスト」にするための反転クラス */
        .is-reverse {
            flex-direction: row-reverse;
        }

        .image-content, .text-content {
            flex: 1;
        }

        .image-content img {
            width: 100%;
            height: auto;
            display: block;
            border-radius: 12px;
            box-shadow: 0 10px 30px rgba(0,0,0,0.1);
        }

        /* --- タイトル（パターン3）とテキスト --- */
        .sub-title {
            display: block;
            color: #ff4500;
            font-weight: 700;
            letter-spacing: 2px;
            margin-bottom: 10px;
            font-size: 0.9rem;
            text-transform: uppercase;
        }

        .text-content h2 {
            font-size: 2.5rem;
            font-weight: 900;
            line-height: 1.2;
            margin: 0 0 20px 0;
            color: #1a1a1a;
        }

        .text-content p {
            line-height: 1.8;
            color: #555;
            margin-bottom: 30px;
        }

        .btn {
            display: inline-block;
            padding: 14px 40px;
            background-color: #ff4500;
            color: #fff;
            text-decoration: none;
            font-weight: bold;
            border-radius: 4px;
            transition: 0.3s;
        }

        .btn:hover {
            background-color: #e03e00;
            transform: translateY(-3px);
        }

        /* --- レスポンシブ設定 --- */
        @media (max-width: 768px) {
            .columns, .columns.is-reverse {
                /* スマホでは一律で「画像→テキスト」の順に縦並び */
                flex-direction: column; 
                gap: 30px;
                padding: 20px 0;
            }

            .text-content h2 {
                font-size: 1.8rem;
            }

            .btn {
                width: 100%;
                text-align: center;
                box-sizing: border-box;
            }
        }






/*----------------------------    会社概要CSS   --------------------------------------*/
.company-overview {
  position: relative;
  padding: 90px 20px;
  background: #fff;
  color: #1f2937;
  overflow: hidden;
}

.company-overview::before {
  content: "";
  position: absolute;
  top: 70px;
  right: -120px;
  width: 340px;
  height: 340px;
  border-radius: 50%;
  background: rgba(37, 99, 235, 0.06);
}

.company-overview::after {
  content: "";
  position: absolute;
  left: 8%;
  bottom: 50px;
  width: 120px;
  height: 120px;
  border: 1px solid rgba(37, 99, 235, 0.12);
  transform: rotate(18deg);
}

.company-overview__inner {
  position: relative;
  z-index: 1;
  max-width: 980px;
  margin: 0 auto;
}

.company-overview__heading {
  margin-bottom: 36px;
  text-align: center;
}

.company-overview__label {
  display: inline-block;
  margin: 0 0 18px;
  padding: 7px 18px;
  border-radius: 999px;
  background: #eff6ff;
  color: #2563eb;
  font-size: 13px;
  letter-spacing: 0.18em;
  font-weight: 700;
}

.company-overview__title {
  margin: 0;
  color: #0f172a;
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1.3;
  letter-spacing: 0.08em;
  font-weight: 700;
}

.company-overview__title::after {
  content: "";
  display: block;
  width: 76px;
  height: 3px;
  margin: 24px auto 0;
  background: linear-gradient(90deg, #2563eb, #7c3aed);
  border-radius: 999px;
}

.company-overview__lead {
  margin: 24px 0 0;
  color: #64748b;
  font-size: 15px;
  line-height: 1.8;
  letter-spacing: 0.04em;
}

.company-overview__card {
  padding: 48px 56px;
  border-radius: 28px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  border: 1px solid #e5e7eb;
  box-shadow: 0 28px 70px rgba(15, 23, 42, 0.08);
}

.company-overview__list {
  margin: 0;
}

.company-overview__row {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 32px;
  padding: 24px 0;
  border-bottom: 1px solid #e5e7eb;
}

.company-overview__row:first-child {
  padding-top: 0;
}

.company-overview__row:last-child {
  padding-bottom: 0;
  border-bottom: none;
}

.company-overview__row dt {
  position: relative;
  margin: 0;
  color: #0f172a;
 /* font-size: 15px;*/
  font-weight: 700;
  letter-spacing: 0.08em;
}

.company-overview__row dt::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 10px;
  border-radius: 50%;
  background: #2563eb;
  vertical-align: middle;
}

.company-overview__row dd {
  margin: 0;
  color: #374151;
 /* font-size: 16px;*/
  line-height: 1.9;
  letter-spacing: 0.04em;
}

.company-overview__row dd a {
  color: #2563eb;
  text-decoration: none;
}

.company-overview__row dd a:hover {
  text-decoration: underline;
}

.company-overview__business {
  margin: 0;
  padding: 0;
  list-style: none;
}

.company-overview__business li {
  position: relative;
  padding-left: 1.3em;
  margin-bottom: 0.35em;
}

.company-overview__business li:last-child {
  margin-bottom: 0;
}

.company-overview__business li::before {
  content: "・";
  position: absolute;
  left: 0;
  color: #2563eb;
  font-weight: 700;
}

/* スマホ対応 */
@media (max-width: 768px) {
  .company-overview {
    padding: 60px 18px;
  }

  .company-overview__heading {
    text-align: left;
  }

  .company-overview__title::after {
    margin-left: 0;
    margin-right: 0;
  }

  .company-overview__card {
    padding: 34px 24px;
    border-radius: 22px;
  }

  .company-overview__row {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 22px 0;
  }

  .company-overview__row dt {
    font-size: 14px;
  }

  .company-overview__row dd {
    font-size: 15px;
    line-height: 1.8;
  }
}

@media (max-width: 480px) {
  .company-overview__card {
    padding: 30px 20px;
  }

  .company-overview__label {
    font-size: 12px;
  }
}


/*----------------------------   沿革CSS    ------------------------------------*/

.company-history {
  position: relative;
  padding: 90px 20px;
  background: #fff;
  color: #1f2937;
  overflow: hidden;
}

.company-history::before {
  content: "";
  position: absolute;
  top: 70px;
  right: -120px;
  width: 340px;
  height: 340px;
  border-radius: 50%;
  background: rgba(37, 99, 235, 0.06);
}

.company-history::after {
  content: "";
  position: absolute;
  left: 8%;
  bottom: 50px;
  width: 120px;
  height: 120px;
  border: 1px solid rgba(37, 99, 235, 0.12);
  transform: rotate(18deg);
}

.company-history__inner {
  position: relative;
  z-index: 1;
  max-width: 980px;
  margin: 0 auto;
}

.company-history__heading {
  margin-bottom: 36px;
  text-align: center;
}

.company-history__label {
  display: inline-block;
  margin: 0 0 18px;
  padding: 7px 18px;
  border-radius: 999px;
  background: #eff6ff;
  color: #2563eb;
  font-size: 13px;
  letter-spacing: 0.18em;
  font-weight: 700;
}

.company-history__title {
  margin: 0;
  color: #0f172a;
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1.3;
  letter-spacing: 0.08em;
  font-weight: 700;
}

.company-history__title::after {
  content: "";
  display: block;
  width: 76px;
  height: 3px;
  margin: 24px auto 0;
  background: linear-gradient(90deg, #2563eb, #7c3aed);
  border-radius: 999px;
}

.company-history__lead {
  margin: 24px 0 0;
  color: #64748b;
  font-size: 15px;
  line-height: 1.8;
  letter-spacing: 0.04em;
}

.company-history__card {
  padding: 48px 56px;
  border-radius: 28px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  border: 1px solid #e5e7eb;
  box-shadow: 0 28px 70px rgba(15, 23, 42, 0.08);
}

.company-history__timeline {
  position: relative;
}

.company-history__timeline::before {
  content: "";
  position: absolute;
  top: 7px;
  left: 160px;
  width: 1px;
  height: calc(100% - 14px);
  background: #dbeafe;
}

.company-history__item {
  position: relative;
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 48px;
  padding: 0 0 6px;
}

.company-history__item:last-child {
  padding-bottom: 0;
}

.company-history__item::before {
  content: "";
  position: absolute;
  top: 6px;
  left: 154px;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: #2563eb;
  box-shadow: 0 0 0 6px #eff6ff;
  z-index: 1;
}

.company-history__year {
  color: #0f172a;
 /* font-size: 17px;*/
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.25;
}

.company-history__year span {
  display: block;
  margin-top: 1px;
  color: #64748b;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.35;
}

.company-history__body {
  padding-bottom: 0px;
  border-bottom: 1px solid #e5e7eb;
}

.company-history__item:last-child .company-history__body {
  padding-bottom: 0;
  border-bottom: none;
}

.company-history__body p {
  margin: 0;
  color: #374151;
 /* font-size: 15px;*/
  line-height: 1.45;
  letter-spacing: 0.04em;
  
}

.company-history__body p + p {
  margin-top: 2px;
}

/* スマホ対応 */
@media (max-width: 768px) {
  .company-history {
    padding: 60px 18px;
  }

  .company-history__heading {
    text-align: left;
  }

  .company-history__title::after {
    margin-left: 0;
    margin-right: 0;
  }

  .company-history__card {
    padding: 34px 24px;
    border-radius: 22px;
  }

  .company-history__timeline::before {
    left: 8px;
    top: 7px;
    height: calc(100% - 14px);
  }

  .company-history__item {
    grid-template-columns: 1fr;
    gap: 6px;
    padding-left: 34px;
    padding-bottom: 6px;
  }

  .company-history__item::before {
    left: 2px;
    top: 6px;
  }

  .company-history__year {
    font-size: 16px;
  }

  .company-history__body {
    padding-bottom: 0px;
  }

  .company-history__body p {
    font-size: 14px;
    line-height: 1.45;
	
  }
}

@media (max-width: 480px) {
  .company-history__card {
    padding: 30px 20px;
  }

  .company-history__label {
    font-size: 12px;
  }
}



/*--------------------------   Google　マップ-------------------------------*/

.company-access {
  position: relative;
  padding: 90px 20px;
  background: #fff;
  color: #1f2937;
  overflow: hidden;
}

.company-access::before {
  content: "";
  position: absolute;
  top: 70px;
  right: -120px;
  width: 340px;
  height: 340px;
  border-radius: 50%;
  background: rgba(37, 99, 235, 0.06);
}

.company-access::after {
  content: "";
  position: absolute;
  left: 8%;
  bottom: 50px;
  width: 120px;
  height: 120px;
  border: 1px solid rgba(37, 99, 235, 0.12);
  transform: rotate(18deg);
}

.company-access__inner {
  position: relative;
  z-index: 1;
  max-width: 980px;
  margin: 0 auto;
}

.company-access__heading {
  margin-bottom: 36px;
  text-align: center;
}

.company-access__label {
  display: inline-block;
  margin: 0 0 18px;
  padding: 7px 18px;
  border-radius: 999px;
  background: #eff6ff;
  color: #2563eb;
  font-size: 13px;
  letter-spacing: 0.18em;
  font-weight: 700;
}

.company-access__title {
  margin: 0;
  color: #0f172a;
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1.3;
  letter-spacing: 0.08em;
  font-weight: 700;
}

.company-access__title::after {
  content: "";
  display: block;
  width: 76px;
  height: 3px;
  margin: 24px auto 0;
  background: linear-gradient(90deg, #2563eb, #7c3aed);
  border-radius: 999px;
}

.company-access__lead {
  margin: 24px 0 0;
  color: #64748b;
  font-size: 15px;
  line-height: 1.8;
  letter-spacing: 0.04em;
}

.company-access__card {
  padding: 48px 56px;
  border-radius: 28px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  border: 1px solid #e5e7eb;
  box-shadow: 0 28px 70px rgba(15, 23, 42, 0.08);
}

.company-access__info {
  margin-bottom: 28px;
  padding-bottom: 28px;
  border-bottom: 1px solid #e5e7eb;
}

.company-access__name {
  margin: 0 0 14px;
  color: #0f172a;
  font-size: 22px;
  line-height: 1.5;
  letter-spacing: 0.06em;
  font-weight: 700;
}

.company-access__address {
  margin: 0;
  color: #374151;
  font-size: 16px;
  line-height: 1.9;
  letter-spacing: 0.04em;
}

.company-access__buttons {
  margin-top: 22px;
}

.company-access__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 24px;
  border-radius: 999px;
  background: linear-gradient(90deg, #2563eb, #7c3aed);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-decoration: none;
  box-shadow: 0 12px 28px rgba(37, 99, 235, 0.22);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.company-access__button:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(37, 99, 235, 0.28);
  color: #fff;
}

.company-access__map {
  position: relative;
  overflow: hidden;
  border-radius: 22px;
  border: 1px solid #e5e7eb;
  background: #e5e7eb;
}

.company-access__map::before {
  content: "";
  display: block;
  padding-top: 56.25%;
}

.company-access__map iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

/* スマホ対応 */
@media (max-width: 768px) {
  .company-access {
    padding: 60px 18px;
  }

  .company-access__heading {
    text-align: left;
  }

  .company-access__title::after {
    margin-left: 0;
    margin-right: 0;
  }

  .company-access__card {
    padding: 34px 24px;
    border-radius: 22px;
  }

  .company-access__name {
    font-size: 20px;
  }

  .company-access__address {
    font-size: 15px;
  }

  .company-access__button {
    width: 100%;
  }

  .company-access__map {
    border-radius: 18px;
  }
}

@media (max-width: 480px) {
  .company-access__card {
    padding: 30px 20px;
  }

  .company-access__label {
    font-size: 12px;
  }
}




/*---------------------------------   お問い合わせフォーム   -----------------------------------*/


.contact-form-section {
  position: relative;
  padding: 20px 20px 90px;
  background: #fff;
  color: #1f2937;
  overflow: hidden;
}

.contact-form-section::before {
  content: "";
  position: absolute;
  top: 0px;
  right: -120px;
  width: 340px;
  height: 340px;
  border-radius: 50%;
  background: rgba(37, 99, 235, 0.06);
}

.contact-form-section::after {
  content: "";
  position: absolute;
  left: 8%;
  bottom: 50px;
  width: 120px;
  height: 120px;
  border: 1px solid rgba(37, 99, 235, 0.12);
  transform: rotate(18deg);
}

.contact-form-section__inner {
  position: relative;
  z-index: 1;
  max-width: 980px;
  margin: 0 auto;
}

.contact-form-section__heading {
  margin-bottom: 36px;
  text-align: center;
}

.contact-form-section__label {
  display: inline-block;
  margin: 0 0 18px;
  padding: 7px 18px;
  border-radius: 999px;
  background: #eff6ff;
  color: #2563eb;
/*  font-size: 13px;*/
  letter-spacing: 0.18em;
  font-weight: 700;
}

.contact-form-section__title {
  margin: 0;
  color: #0f172a;
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1.3;
  letter-spacing: 0.08em;
  font-weight: 700;
}

.contact-form-section__title::after {
  content: "";
  display: block;
  width: 76px;
  height: 3px;
  margin: 24px auto 0;
  background: linear-gradient(90deg, #2563eb, #7c3aed);
  border-radius: 999px;
}

.contact-form-section__lead {
  max-width: 720px;
  margin: 24px auto 0;
  color: #64748b;
 /* font-size: 15px;*/
  line-height: 1.8;
  letter-spacing: 0.04em;
}

.contact-form-card {
  padding: 48px 56px;
  border-radius: 28px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  border: 1px solid #e5e7eb;
  box-shadow: 0 28px 70px rgba(15, 23, 42, 0.08);
}

.contact-form__row {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 32px;
  padding: 24px 0;
  border-bottom: 1px solid #e5e7eb;
}

.contact-form__row:first-child {
  padding-top: 0;
}

.contact-form__row--textarea {
  align-items: flex-start;
}

.contact-form__label {
  color: #0f172a;
/*  font-size: 15px;*/
  line-height: 1.8;
  letter-spacing: 0.06em;
  font-weight: 700;
}

.contact-form__required {
  display: inline-block;
  margin-left: 8px;
  padding: 3px 8px;
  border-radius: 999px;
  background: #fee2e2;
  color: #dc2626;
 /* font-size: 11px;*/
  line-height: 1.4;
  letter-spacing: 0.04em;
  font-weight: 700;
  vertical-align: middle;
}

.contact-form__field input,
.contact-form__field textarea {
  width: 100%;
  padding: 14px 16px;
  border: 1px solid #d1d5db;
  border-radius: 12px;
  background: #fff;
  color: #1f2937;
  font-size: 16px;
  line-height: 1.6;
  box-sizing: border-box;
  transition: border-color 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}

.contact-form__field input:focus,
.contact-form__field textarea:focus {
  outline: none;
  border-color: #2563eb;
  background: #fff;
  box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12);
}

.contact-form__field textarea {
  min-height: 220px;
  resize: vertical;
}

.contact-form__postcode {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}

.contact-form__mail {
  display: flex;
  align-items: center;
  margin-bottom: 12px;
}

.contact-form__postcode span {
  color: #374151;
  font-size: 15px;
  font-weight: 700;
}

.contact-form__postcode input {
  max-width: 180px;
}

.contact-form__help {
  margin: 8px 0 10px;
  color: #64748b;
  font-size: 13px;
  line-height: 1.7;
  letter-spacing: 0.04em;
}

.contact-form__submit {
  padding-top: 34px;
  text-align: center;
}

.contact-form__submit button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 280px;
  min-height: 54px;
  padding: 0 36px;
  border: none;
  border-radius: 999px;
  background: linear-gradient(90deg, #2563eb, #7c3aed);
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.08em;
  cursor: pointer;
  box-shadow: 0 14px 32px rgba(37, 99, 235, 0.24);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.contact-form__submit button:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 40px rgba(37, 99, 235, 0.32);
}

/* スマホ対応 */
@media (max-width: 768px) {
  .contact-form-section {
    padding: 60px 18px;
  }

  .contact-form-section__heading {
    text-align: left;
  }

  .contact-form-section__title::after {
    margin-left: 0;
    margin-right: 0;
  }

  .contact-form-card {
    padding: 34px 24px;
    border-radius: 22px;
  }

  .contact-form__row {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 22px 0;
  }

  .contact-form__label {
    font-size: 14px;
  }

  .contact-form__field input,
  .contact-form__field textarea {
    font-size: 15px;
    border-radius: 10px;
  }

  .contact-form__field textarea {
    min-height: 180px;
  }

  .contact-form__submit button {
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 480px) {
  .contact-form-card {
    padding: 30px 20px;
  }

  .contact-form-section__label {
    font-size: 12px;
  }

  .contact-form__postcode {
    align-items: flex-start;
  }

  .contact-form__postcode input {
    max-width: 100%;
  }
}


div.p_c_g{
	margin:0 auto;
	width:36%;
	padding: 20px 0px 0px 0px;/*上　右　下　左 */
	text-align: center;
	clear:both;
}






.text-focus-in {
  -webkit-animation: text-focus-in 2.5s cubic-bezier(0.550, 0.085, 0.680, 0.530) both;
          animation: text-focus-in 2.5s cubic-bezier(0.550, 0.085, 0.680, 0.530) both;
}
/* ----------------------------------------------
 * Generated by Animista on 2018-11-27 15:52:19
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation text-focus-in
 * ----------------------------------------
 */
@-webkit-keyframes text-focus-in {
  0% {
    -webkit-filter: blur(12px);
            filter: blur(12px);
    opacity: 0;
  }
  100% {
    -webkit-filter: blur(0px);
            filter: blur(0px);
    opacity: 1;
  }
}
@keyframes text-focus-in {
  0% {
    -webkit-filter: blur(12px);
            filter: blur(12px);
    opacity: 0;
  }
  100% {
    -webkit-filter: blur(0px);
            filter: blur(0px);
    opacity: 1;
  }
}



.tab-4 {
    display: flex;
    flex-wrap: wrap;
    max-width: 100%;
}

.tab-4 > label {
    flex: 1 1;
    order: -1;
    position: relative;
    min-width: 70px;
    padding: .7em 1em;
    background-color: #f2f2f2;
    color: #999;
    font-size: .9em;
    text-align: center;
    cursor: pointer;
}

.tab-4 > label:hover,
.tab-4 label:has(:checked) {
    background-color: #2589d0;
    color: #fff;
}

.tab-4 label:has(:checked)::before {
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 18px;
    height: 9px;
    background-color: #2589d0;
    content: '';
    clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.tab-4 input {
    display: none;
}

.tab-4 > div {
    display: none;
    width: 100%;
    padding: 1.5em 1em;
}

.tab-4 label:has(:checked) + div {
    display: block;
}



.kakomi-box12 {
	width:900px;
 position: relative;
 margin: 2em auto;
 margin-top:400px;
 margin-left:20px;
 padding: 1.2em;
 color: #FFF; /* 文字色 */
 background: rgba(18,6,6,0.6);
 text-align:left;
 border-radius:4px;
 font-weight:normal;
 line-height:1.8;
 border: 2px solid #FFFF00; /* 枠線の太さ・色 */
 box-shadow: 2px 2px 1px #2451D8 ;/* 影の色 */
}
.title-box12 {
 position: absolute;
 font-size:1.2em;
 padding: 0em .5em;
 left: 20px;
 top: -20px;
 border-radius:4px;
 font-weight:bold;
 /* box-shadow: 2px 2px 1px #2451D8 ; 影の色 */
 background-color:#FFFF00 ; /* タイトル背景色 */
/*  color:#2451D8 ; タイトル文字色 */
 color:#2451D8 ; /* タイトル文字色 */
}

a.btn_01 {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	width: 120px;
	margin: auto;
	padding: 1rem 4rem;
	font-weight: bold;
	border: 2px solid #27acd9;
	color: #27acd9;
	transition: 0.5s;
}
a.btn_01:hover {
	color: #fff;
	background: #27acd9;
}



/*マスキングテープ風*/
.box75{
margin: 30px auto 50px auto;
background-color: #FEFCFC;/*ボックス背景色*/
padding:2.5em 2em 2em;/*ボックス内側余白*/
position:relative;/*配置(ここを基準に)*/
text-align: left;
}
.box75 .box-title {
background-image: repeating-linear-gradient(-45deg,#F6EEEC 0, #F6EEEC 3px,#fafafa 3px,#fafafa 6px);/*ストライプ*/
border-left: 2px dotted rgba(0,0,0,.1);/* テープのギザギザ左*/
border-right: 2px dotted rgba(0,0,0,.1);/* テープのギザギザ右*/
transform: rotate(-2deg);/*テープの傾き*/
font-size: 1em;/*タイトル文字の大きさ*/
padding: 10px 20px;/*タイトルの余白*/
line-height: 1;/*タイトルの行の高さ*/
position:absolute;	/*配置(ここを動かす)*/
top: -15px; /*上から（-10px）移動*/
left: 20px; /*左から(20px)移動*/
}











/*==================================================
アコーディオンのためのcss
===================================*/

/*アコーディオン全体*/
.accordion-area{
    list-style: none;
    width: 96%;
    max-width: 1000px;
    margin:0 auto;
	margin:20px 0px 50px 0px;
}

.accordion-area li{
    margin: 10px 0;
}

.accordion-area section {
	border: 1px solid #ccc;
}

/*アコーディオンタイトル*/
.title {
    position: relative;/*+マークの位置基準とするためrelative指定*/
    cursor: pointer;
    font-size:1rem;
    font-weight: normal;
    padding: 3% 3% 3% 50px;
    transition: all .5s ease;
}

/*アイコンの＋と×*/
.title::before,
.title::after{
    position: absolute;
    content:'';
    width: 15px;
    height: 2px;
    background-color: #333;
    
}
.title::before{
    top:48%;
    left: 15px;
    transform: rotate(0deg);
    
}
.title::after{    
    top:48%;
    left: 15px;
    transform: rotate(90deg);

}
/*　closeというクラスがついたら形状変化　*/
.title.close::before{
	transform: rotate(45deg);
}

.title.close::after{
	transform: rotate(-45deg);
}

/*アコーディオンで現れるエリア*/
.box {
    display: none;/*はじめは非表示*/
    background: #f3f3f3;
	margin:0 3% 3% 3%;
    padding: 3%;
}






.wf-hannari { font-family: "Hannari"; }
.wf-roundedmplus1c { font-family: "Rounded Mplus 1c"; }
.wf-sawarabimincho { font-family: "Sawarabi Mincho"; }

.bg-slider {
	width: 100%;
	/*width: 1300px;*/
	margin:0 auto;
	/*height: 100vh;*/
	height: 650px;
	/*height: 500px;*/
	background-position: center center;
	background-size: cover;
	display: flex;
	align-items: center;
	justify-content: center;
}

.bg-slider__title{
	/*display:block;
	text-indent: -9999px;
	font-size: 0px;*/
	color: #fff;
	font-size: 2vw;
	line-height: 1.5;
	text-align:center;
text-shadow: 3px 3px 3px #000;
	display: block;

 
  text-shadow:
            2px 2px 0px #36C5E2, -2px -2px 0px #36C5E2,
           -2px 2px 0px #36C5E2,  2px -2px 0px #36C5E2,
            2px 0px 0px #36C5E2, -2px -0px 0px #36C5E2,
            0px 2px 0px #36C5E2,  0px -2px 0px #36C5E2;

}



.bg-slider02 {
	width: 100%;
	/*height: 100vh;*/
	height: 350px;
	background: url(../images/cbg01.jpg);
	background-position: top center;
	background-size: cover;
	display: flex;
	align-items: center;
	justify-content: center;
}



.bg-slider__title02{
	color: #fff;
	font-size: 2.5vw;
	line-height: 1.5;
	text-align:center;
	text-shadow: 3px 3px 3px #000;
	font-weight:normal;
	margin-top:0px;

}

.bg-profile {
	width: 100%;
	/*height: 100vh;*/
	height: 350px;
	background: url(../images/p01.jpg);
	background-position: bottom center;
	background-size: cover;
	display: flex;
	align-items: center;
	justify-content: center;
}


.bg-about {
	width: 100%;
	/*height: 100vh;*/
	height: 350px;
	background: url(../images/09.jpg);
	background-position: bottom center;
	background-size: cover;
	display: flex;
	align-items: center;
	justify-content: center;
}


.bg-works00 {
	width: 100%;
	/*height: 100vh;*/
	height: 350px;
	background: url(../images/w00.jpg);
	background-position: bottom center;
	background-size: cover;
	display: flex;
	align-items: center;
	justify-content: center;
}




.bg-works01 {
	width: 100%;
	/*height: 100vh;*/
	height: 350px;
	background: url(../images/pro01.jpg);
	background-position: center center;
	background-size: cover;
	display: flex;
	align-items: center;
	justify-content: center;
}


.bg-works02 {
	width: 100%;
	/*height: 100vh;*/
	height: 350px;
	background: url(../images/pro02.jpg);
	background-position: bottom center;
	background-size: cover;
	display: flex;
	align-items: center;
	justify-content: center;
}


.bg-works03 {
	width: 100%;
	/*height: 100vh;*/
	height: 350px;
	background: url(../images/pro04.jpg);
	background-position: bottom center;
	background-size: cover;
	display: flex;
	align-items: center;
	justify-content: center;
}


.bg-works04 {
	width: 100%;
	/*height: 100vh;*/
	height: 350px;
	background: url(../images/pro03.jpg);
	background-position: bottom center;
	background-size: cover;
	display: flex;
	align-items: center;
	justify-content: center;
}

.bg-info {
	width: 100%;
	/*height: 100vh;*/
	height: 350px;
	background: url(../images/a01.jpg);
	background-position: bottom center;
	background-size: cover;
	display: flex;
	align-items: center;
	justify-content: center;
}


.bg-contact {
	width: 100%;
	/*height: 100vh;*/
	height: 300px;
	background: url(../images/con_bg1.jpg);
	background-position: bottom;
	background-size: cover;
	display: flex;
	align-items: center;
	justify-content: center;
}



a.a_top150{
	position: absolute;
	margin-top:-150px;
}





#contents_tabtop ul li {
    float: left;
    list-style-type: none;
    width: 50%;
}
 
#contents_tabtop ul li a {
    font-size: 1em;
    font-weight: bold;
    color: #FFF;
    text-decoration: none;
    display: block;
    padding: 9%;
    text-align: center;
    width: 100%;
    background: #C15757;
    border: 1px solid #c15757;
    border-bottom: none;
}
#contents_tabtop ul li a:hover{
    background:#D26161;
    color:#FFF;
}
 
#contents_tabtop ul li a.current {
    background: white;
    color: #C15757;
}
 
#contents_tab {
    clear:both;
}
 
#contents_tab  div {
    padding: 5%;
    background: white;
    text-align: center;
    border: 1px solid #c15757;
    border-top: none;
}
 
#contents_tab  p{
    margin-top:20px;
    line-height:2em;
    color:#C15757;
}
 
#contents_tab  strong {
    font-size: 2em;
    font-weight: bold;
    color: #c15757;
    text-decoration: underline;
}




/*----------------------------    インスタグラム ---------------------------*/

#instafeed {
	width:100%;
   height:300px;
   overflow:scroll;
   overflow-x:hidden;
   margin: 0 0 0px 0px; /*上　右　下　左 */

}


#instafeed li {
	width:150px;
	display: inline;
	float:left;
   margin: 5px; /*上　右　下　左 */

}


/*------------------------------------- Youtube　--------------------------------------------*/

.movie-wrap {
    position: relative;
    padding-bottom: 56.25%;
    margin:0px 0px;
    height: 0;
    overflow: hidden;
}
 
.movie-wrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}





article {
	height: 100%;
	margin: 100px auto;
	text-align: center;
	line-height: 1.9;
}
article p {
	margin-bottom: 0.5em;
}

a {
	color: #0b8793;
}


#main-visual {
	background: url(../images/main.png) center;
	/*height: 100vh;*/
	height:600px;
	background-size:cover;
}


.bg-mask {
  height: 100%;
  background: rgba(18,6,6,0.3);
/*  background: rgba(255,255,255,0.5); */
}




/*--------------------　メイン画像テキスト ----------------------------------*/
.bg-slider__titletop{
	
	width:100%;
	font-size: 2.2em;
	line-height:1.5;
	text-align:center;
	font-weight: normal;
	padding-top:150px;
	

}

.topcatch {
	/*color: #763480; #D1102B*/
	color: #FFF;
  display: block;
  font-size:0.8em;
/*  font-family: "Josefin Sans";*/
  font-weight: bold;
  text-shadow:
            0 0 4px #0050BF,
			0 0 4px #0050BF,
			0 0 4px #0050BF,
			0 0 4px #0050BF,
			0 0 4px #0050BF,
			0 0 4px #0050BF,
			0 0 4px #0050BF,
			0 0 4px #0050BF,
			0 0 4px #0050BF,
			0 0 4px #0050BF,
			0 0 4px #0050BF,
			0 0 4px #0050BF,
			0 0 4px #0050BF,
			0 0 4px #0050BF,
			0 0 4px #0050BF,
			0 0 4px #0050BF;
	   line-height:1.4;
}



.topcatch02 {
	/*color: #763480;　*/
	color: #FFF;
  display: block;
font-size:1.4em;
  font-weight: normal;
  text-shadow:
            0 0 4px #0050BF,
			0 0 4px #0050BF,
			0 0 4px #0050BF,
			0 0 4px #0050BF,
			0 0 4px #0050BF,
			0 0 4px #0050BF,
			0 0 4px #0050BF,
			0 0 4px #0050BF,
			0 0 4px #0050BF,
			0 0 4px #0050BF,
			0 0 4px #0050BF,
			0 0 4px #0050BF,
			0 0 4px #0050BF,
			0 0 4px #0050BF,
			0 0 4px #0050BF,
			0 0 4px #0050BF;
	   line-height:1.6;
	   margin-bottom:20px;
}


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

/*.topcatch02 {
	color: #fff;
  display: block;
font-size:1.2em;
  font-weight: bold;
  text-shadow:
            2px 2px 0px #763480, -2px -2px 0px #763480,
           -2px 2px 0px #763480,  2px -2px 0px #763480,
            2px 0px 0px #763480, -2px -0px 0px #763480,
            0px 2px 0px #763480,  0px -2px 0px #763480;
			line-height:1.4;
}*/






.box17{
    margin:2em 0;
    position: relative;
    padding: 0.5em 1.5em;
    border-top: solid 2px black;
    border-bottom: solid 2px black;
	font-size:1.2em;
}
.box17:before, .box17:after{
    content: '';
    position: absolute;
    top: -10px;
    width: 2px;
    height: -webkit-calc(100% + 20px);
    height: calc(100% + 20px);
    background-color: black;
}
.box17:before {left: 10px;}
.box17:after {right: 10px;}
.box17 p {
    margin: 0; 
    padding: 0;
}






/* 2列グリッド */
.info-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:24px;
}

/* スマホは1列 */
@media (max-width: 768px){
  .info-grid{ grid-template-columns:1fr; }
}

/* カード */
.info-card{
  position:relative;
  display:block;
  border-radius:14px;
  overflow:hidden;
  aspect-ratio:16 / 10;   /* 高さを揃える（不要なら削除） */
  text-decoration:none;
  color:#fff;
}

/* 画像 */
.info-card__img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transform:scale(1);
  transition:transform .35s ease;
}

/* 暗幕（文字の視認性確保） */
.info-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    to top,
    rgba(0,0,0,.75),
    rgba(0,0,0,.35) 45%,
    rgba(0,0,0,.10)
  );
  pointer-events:none;
}

/* 画像の上にテキスト */
.info-card__text{
  position:absolute;
  left:18px;
  right:18px;
  bottom:16px;   /* 上にしたい場合は下の「位置変更」を参照 */
  z-index:1;
}

.info-card__title{
  margin:0 0 8px;
  font-size:20px;
  line-height:1.2;
  font-weight:700;
}

.info-card__desc{
  margin:0;
  font-size:14px;
  line-height:1.6;
  opacity:.95;
}

/* hover */
.info-card:hover .info-card__img{
  transform:scale(1.05);
}








#main-company {
	background: url(../images/company.jpg)   center;
	height:400px;
	background-size:cover;
  
}


#main-strength {
	background: url(../images/strength.jpg)   center ;
	height:400px;
	background-size:cover;
  
}


#main-support {
	background: url(../images/support.jpg)   center ;
	height:400px;
	background-size:cover;
  
}


#main-contact {
	background: url(../images/contact.jpg)   center ;
	height:400px;
	background-size:cover;
  
}

#main-products {
	background: url(../images/products.jpg)   center;
	height:400px;
	background-size:cover;
  
}

#main-taflet {
	background: url(../images/taflet.jpg)   center;
	height:400px;
	background-size:cover;
  
}

#main-wtaflet {
	background: url(../images/main001.jpg)   center top;
	height:400px;
	background-size:cover;
  
}

#main-taflet_sl-tf {
	background: url(../images/main003.jpg)   center top ;
	height:400px;
	background-size:cover;
  
}

#main-zc {
	background: url(../images/main002.jpg)   center ;
	height:400px;
	background-size:cover;

  
}


#main-cutting {
	background: url(../images/cutting.jpg)   center;
	height:400px;
	background-size:cover;
  
}

#main-dies {
	background: url(../images/dies.jpg)   center;
	height:400px;
	background-size:cover;
  
}


#main-oil {
	background: url(../images/oil01.jpg)   center;
	height:400px;
	background-size:cover;
  
}


#main-win {
	background: url(../images/win.jpg)   center;
	height:400px;
	background-size:cover;
  
}



h1.title{ font-size:2.0em;
color:#fff;
font-weight:bold;
/*font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;*/
margin: 0 auto;
/*width:800px;
height:83px;
text-align:center;
border:#FFF 5px solid;
background: url(../images/moji_l.png) ;*/
 position: absolute;  
    top: 545px;  
    left: 20px;
	/*display:inherit;
text-indent: -9999px;
	font-size: 0; */
}


div.top_title{
	font-size:2.0em;
font-weight:bold;
margin: 0 auto;
border:#FFF 0px solid;
position: absolute;  
 top: 530px;  

   color: #fff;
   padding: 35px 0px 35px 0px;
   background: #A1C365;
   filter: Alpha(opacity=70);
   opacity:0.8;
   width: 100%;
}


h1.title02{ 
font-size:2.0em;
/*font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;*/
color:#fff;
font-weight: normal;
margin: 0 auto;
border:#FFF 0px solid;
position: absolute;  
 top: 345px;  
    left: 180px;
}




div.mein_title{
	font-size:2.0em;
font-weight: normal;
margin: 0 auto;
border:#FFF 0px solid;
position: absolute;  
 top: 330px;  

   color: #000;
   padding: 35px 0px 35px 0px;
   background: #AAA9AD;
   filter: Alpha(opacity=70);
   opacity:0.8;
   width: 100%;
}




h1.title03{ font-size:2em;
color:#E7550B;
font-weight:bold;
margin: 0 auto;
width:800px;
height:83px;
text-align:center;
/*border:#FFF 5px solid;*/
background: url(../images/moji_l.png) ;
 position: absolute;  
    top: 400px;  
    right: 30px;
}


h1.title04{ font-size:2em;
color:#E7550B;
font-weight:bold;
margin: 0 auto;
width:800px;
height:83px;
text-align:center;
/*border:#FFF 5px solid;*/
background: url(../images/moji_l.png) ;
 position: absolute;  
    top: 320px;  
    right: 30px;
}

/*------------------------------------- TOP　H2　--------------------------------------------*/

h2.h2_c{
	margin: 20px 0px; /*上　右　下　左 */
	padding: 0px; /*上　右　下　左 */
	text-align: center;
	width:100%;
	color:#fff;
	font-size: 2.0vw;
	font-weight:normal;
	
}


h2.h2_b{
	margin: 20px 0px; /*上　右　下　左 */
	padding: 0px; /*上　右　下　左 */
	text-align: center;
	width:100%;
	color:#000;
	font-size: 2.6vw;
	font-weight:normal;
	
}

h2.h2_b02{
	margin: 10px 0 50px 0px; /*上　右　下　左 */
	padding: 0px; /*上　右　下　左 */
	text-align: left;
	width:100%;
	color:#000;
	font-size: 2.5vw;
	font-weight:normal;
	
}

/*------------------------------------- ボタン　--------------------------------------------*/
.square_btn {
    display: inline-block;
    padding: 0.3em 1em;
    text-decoration: none;
    color: #fff;
    border: solid 2px #fff;
    border-radius: 3px;
    transition: .4s;
	text-align:center;
}

.square_btn:hover {
    background: #67c5ff;
    color: white;
}


.square_btn02 {
    display: inline-block;
    padding: 0.3em 1em;
    text-decoration: none;
    color: #fff;
    border: solid 2px #fff;
    border-radius: 3px;
    transition: .4s;
	text-align:center;
	width:300px;
	font-size:0.4em;
	margin:0 30px;
	margin-top:300px;
	
	
}

.square_btn02:hover {
   background: #25EFAD;
  /*-- background: #F8546C;--*/
    color: white;
	
}



/*------------------------------------- フッター　--------------------------------------------*/

footer {
	margin-top:0px;
	text-align: center;
	/*border-top: solid 5px #B2D4FF;
background: url(../images/logo_s_n.png) no-repeat 0px 15px;
	/*background:url(../images/about.jpg) center ;*/
	position: relative;
background-color: #EFEFEF;
	padding: 5px 0px;

	
}

footer .logo {
	
	font-size:1.6em;
	text-align: center;
	font-weight:normal;
	
	margin-top:30px;
	margin-left:0px;
	margin-bottom:20px;

	
}

.card-container{
    display:flex;
	max-width: 750px;
    height: 200px;
}

.ichigyou img{
    vertical-align: middle;
    display: inline-block;
}
.ichigyou span{
    display: inline-block;
}


footer a {
	color:#000;
	text-decoration: none;
}


footer ul {
	text-align: center;
	margin-top:20px;
	    padding: 0px 0 20px 0px;/*上　右　下　左 */
}

footer li {
	display:inline; /*リストを横並びにする*/
	margin-right: 20px;
	padding-left: 20px;
	border: none;
		font-size:0.8em;
	
}

footer ul a {
	color:#000;
	display:inline; /*リストを横並びにする PC用*/
	
}



footer ul a:hover {
	color:#000;
	background: none;
	text-decoration: underline;
}

footer p {
	padding-top:0px;
	text-align: center;
	font-size:0.8em;
	margin-bottom:5px;
	margin-top:5px;
	color:#000;
}



.inner {
	width: 100%;
	margin: 0 auto;
	
}
.inner:after {
	content: "";
	clear: both;
	display: block;
}

/*------------------------------------------------- header ---------------------------------------------------------*/
#top-head {
	/*font-family: 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'Noto Sans Japanese', sans-serif;*/
	top: 0px;
	/*position: static;*/
	width: 100%;
	height:80px;
	margin: auto 0;
	/*padding: 0px 0;*/
	line-height: 1;
	z-index:100000;
	/*	background: rgba(255,255,255,0.5); 
background:#2451D8 ;
	border-top:#B2D4FF 5px solid;*/
	
	
}
#top-head a,
#top-head {
	color:#FFF;
	text-decoration: none;
	font-weight: normal;
}
#top-head .inner {
	/*position: relative;*/
	
}

/*--- ロゴ　-------------------*/
#top-head .logo {
	float: left;
	font-size:1.6em;
	width:500px;
height:80px;
	font-weight: bold;
	margin-top:0px;
	margin-left:10px;
	padding-left:px;
	
background:url(../images/logo.png) no-repeat 0px 0px;
}


header a.a_home {
    width : 350px;
	height:70px;
	margin : 0px 0px 0px 0px;/*上　右　下　左 */
   display: block;
	text-indent: -9999px;
	font-size: 0;
	line-height: 0;
	}


#g-nav ul {
	list-style: none;
	position: absolute;
	right: 0;
	bottom: 0;
	top: 30px;
	font-size: 1.0em;
	
	
}
#g-nav ul li {
	float: left;
	position: relative;
	
text-shadow:
            0 0 2px #0050BF,
			0 0 2px #0050BF,
			0 0 2px #0050BF,
			0 0 2px #0050BF,
			0 0 2px #0050BF,
			0 0 2px #0050BF,
			0 0 2px #0050BF,
			0 0 2px #0050BF,
			0 0 2px #0050BF,
			0 0 2px #0050BF,
			0 0 2px #0050BF,
			0 0 2px #0050BF,
			0 0 2px #0050BF,
			0 0 2px #0050BF,
			0 0 2px #0050BF,
			0 0 2px #0050BF;
	
	
}
#g-nav ul li a {
	padding: 30px 12px;
	
	
}

/* Btn Hover */
#g-nav ul li:after {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	bottom: -15px;
	
	
	transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
}
#g-nav ul li:hover:after {
	background: #0050BF;
	
	bottom: -15px;
	
}

/*
#global-nav ul {
	list-style: none;
	position: absolute;
	right: 0;
	bottom: 0;
	top: 40px;
	font-size: 0.8em;
	
	
}
#global-nav ul li {
	float: left;
	position: relative;

	
	
}
#global-nav ul li a {
	padding: 30px 30px;
	
	
}*/

/* Btn Hover 
#global-nav ul li:after {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 3px;
	bottom: -30px;
	
	transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
}
#global-nav ul li:hover:after {
	background: #27AD3A;
	bottom: -20px;
	
}
*/

/* Fixed  スクロール時に表示メニュー*/
#top-head.fixed {
	
	margin-top: 0px;
	top: 0;
	/*position: static;*/
	padding-top: 0px;
	/*background:url(../images/bg.jpg)  ;背景色・画像設定　/**/
/*background:rgba(255,255,255,.9);
	background:#5A9DF7;*/
	transition: top 0.65s ease-in;
	-webkit-transition: top 0.65s ease-in;
	-moz-transition: top 0.65s ease-in;
	
	
}
#top-head.fixed .logo {
	/*font-size: 24px;*/
	
	color: #333;
}
#top-head.fixed #global-nav ul li a {
	color: #fff;

	font-weight:normal;
}

/* Fixed Btn Hover */
#top-head.fixed #global-nav ul li:after {
	bottom: -30px;
}
#top-head.fixed #global-nav ul li:hover:after {
	bottom: -20px;
}


/* Transition */
/*
#top-head,
#top-head .logo,
#global-nav ul li,
#global-nav ul li a {
	transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
}
*/



/* Toggle Button */
#nav-toggle {
	display: none;
	position: absolute;
	right: 12px;
	top: 30px;
	width: 34px;
	height: 36px;
	cursor: pointer;
	
	height:80px;
}

#nav-toggle div {
	position: relative;
}
#nav-toggle span {
	display: block;
	position: absolute;
	height: 4px;
	width: 100%;
	background: #fff;
	left: 0;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
}
#nav-toggle span:nth-child(1) {
	top: 0;
}
#nav-toggle span:nth-child(2) {
	top: 11px;
}
#nav-toggle span:nth-child(3) {
	top: 22px;
}


/*-------------------------------------------- @group Contents ----------------------------------------------------*/


/*---- TOPページ　メッセージ等エリア　 ----*/

#contents_top {
background: #fff ; 
width:1200px;
margin: 0 auto;
margin-top: 30px;
margin-bottom:30px;
border-radius:0px;
font-size:1.2em;}


#contents_top_t {
max-width:1000px;
margin: 0 auto;
margin-top: 0px;
padding:50px 0px 0px 0px;
 }
 



/*---- TOPページ　製品案内エリア　 ----*/

#top01 {

background-color: #fff;

}

#top02 {

background-color: #EFEFEF;

}


#contents_top01 {
/*background-image: url(../images/09.jpg);*/
background-color: #E4E4E4;
width:100%;
margin: 0 auto;
margin-top: 0px;
background-size: cover;
background-attachment: fixed;

background-position: center;
}


#contents_top_t01 {
max-width:1000px;
margin: 0 auto;
margin-top: 0px;
padding:30px 0px; }








/*---- TOPページ　企業ビジョンエリア　 ----*/

#contents_top02 {
background: #fff; 
width:100%;
margin: 0 auto;
margin-top: 0px; }

#contents_top_t02 {

max-width:1080px;
margin: 0 auto;
margin-top: 0px;
padding:30px 0px 100px 0px;
 }


/*---- TOPページ　ドクターセールスエリア　 ----*/

#contents_top03 {
background-image: url(../images/10.jpg);
width:100%;
margin: 0 auto;
margin-top: 0px;
background-size: cover; 
background-attachment: fixed;

background-position: center;

 }

#contents_top_t03 {

max-width:1200px;
margin: 0 auto;
margin-top: 0px;
padding:30px 0px;
 }
 
/*---- TOPページ　動画・インスタエリア　 ----*/

#contents_top04 {
background-image: url(../images/11.jpg);
width:100%;
margin: 0 auto;
margin-top: 0px;
background-size: cover; 
background-attachment: scroll;

background-position: center; }


#contents_top_t04 {
max-width:1080px;
margin: 0 auto;
margin-top: 0px;
padding:80px 0px 80px 0px;
text-align:center;
 }


/*---- TOPページ　動画・インスタエリア　 ----*/

#contents_top05 {
background: #fff  ; 
width:100%;
margin: 0 auto;
margin-top: 0px; }


#contents_top_t05 {
max-width:1080px;
margin: 0 auto;
margin-top: 0px;
padding:50px 0px 0px 0px; 
 }




#contents_top_b {

/*background: #FAFAFA;*/
max-width:1200px;
margin: 0 auto;
margin-top: 60px;
margin-bottom: 30px; }



#contents_top02 #main,
#contents_top02 #main_top,
#contents_top02 #sub,
#contents_top02 #sub_top { 
float : left;
margin : 0%;
padding-top:0.5em;
} 

#contents_top02 #main { width : 45%;
text-align:center;
}
#contents_top02 #sub { width : 45%;
text-align:center;
float:right;}




#contents {
/*background: #FAFAFA;*/
background: #FFF; 
width:1100px;
margin: 0 auto;
margin-top: 20px;
margin-bottom:50px;
}

#contents #main,
#contents #main_top,
#contents #sub_top { 
float : left;
margin : 0 1.0416667% 0 0;
padding-top:0.5em;

} 


#contents #sub { 
float: right ;
margin : 0 1.0416667%;
padding-top:0.5em;

} 


#contents #main { width : 68.6833333%}
#contents #sub { width : 26.15%}

#contents #main_top { width : 100%}
/*#contents #sub_top { width : 29.15%}*/

#contents #main_con { width : 90%;
margin: 0 auto;
margin-top: 0px;}

#contents #main_nou01 { width : 90%;
margin: 0 auto;
margin-top: 0px;}

#contents #main_nou02 { width : 90%;
margin: 0 auto;
margin-top: 0px;}

#contents #main_nou03 { width : 90%;
margin: 0 auto;
margin-top: 0px;}

#contents #main_nou04 { width : 90%;
margin: 0 auto;
margin-top: 0px;}



#contents p.p_nr{
	margin: 0px 0px 30px 0px; /*上　右　下　左 */
	padding: 0px; /*上　右　下　左 */
	text-align: right;
	width:100%;
	font-size:0.8em;
}


#contents p.p_nr02{
	margin: 0px 0px 30px 0px; /*上　右　下　左 */
	padding: 0px; /*上　右　下　左 */
	text-align: right;
	width:100%;
	font-size:0.6em;
}


#contents p.p_nr01{
	margin: 0px 0px 30px 0px; /*上　右　下　左 */
	padding: 0px; /*上　右　下　左 */
	text-align: left;
	width:100%;
	font-size:1.0em;
}



#contents_con {
/*background: #FAFAFA;*/
background: #FFF; 
width:1100px;
margin: 0 auto;
margin-top: 50px;
margin-bottom:50px;
padding-top:30px;
 }

div.waku{
	border:#666 1px solid;
	padding:10px;}

p {
	
	text-align: left;
	line-height:1.8em;
	margin-left:0px;
	margin-top:20px;
	margin-bottom:30px;
	font-size:1.0em;
}



p.p_c{
	margin: 30px 0px; /*上　右　下　左 */
	padding: 0px; /*上　右　下　左 */
	text-align: center;
	width:100%;
}

p.p_c_f{
	margin: 30px 0px; /*上　右　下　左 */
	padding: 0px; /*上　右　下　左 */
	text-align: center;
	width:100%;
	color:#FFF;
}

p.p_tel{
	margin: 30px 0px; /*上　右　下　左 */
	padding: 0px; /*上　右　下　左 */
	text-align: center;
	width:100%;
	font-size:2.6vw;
	font-weight: 700;
	/*color: #3F3F3F;*/
	color: #fff;
}


p.p_tel a{ color:#FFF;}

#contents_con p {
	padding:0px 0px; /*上　右　下　左 */
	text-align: left;
	line-height:1.8em;
	margin-left:0px;
	margin-top:30px;
	margin-bottom:50px;
	font-size:1.0em;
}

#contents_con p.p_c{
	margin: 30px 0px; /*上　右　下　左 */
	padding: 0px; /*上　右　下　左 */
	text-align: center;
	width:100%;
}


#contents_con p.p_c_o{
	margin: 30px 0px; /*上　右　下　左 */
	padding: 0px; /*上　右　下　左 */
	text-align: center;
	width:100%;
}



#contents_con p.p_nr{
	margin: 0px 0px 30px 0px; /*上　右　下　左 */
	padding: 0px; /*上　右　下　左 */
	text-align: right;
	width:100%;
}


#contents_con p.p_nr02{
	margin: 10px 0px 30px 0px; /*上　右　下　左 */
	padding: 0px; /*上　右　下　左 */
	text-align: right;
	width:100%;
	font-size:0.8em;
}


#contents_con p.p_nr01{
	margin: 0px 0px 20px 0px; /*上　右　下　左 */
	padding: 0px; /*上　右　下　左 */
	text-align: left;
	width:100%;
	font-size:1.0em;
}


#contents_con p.p_bg_w{
	margin: 10px 0 30px 0px; /*上　右　下　左 */
	padding: 10px; /*上　右　下　左 */
	text-align: left;
	line-height:1.8;
	width:100%;
   -moz-border-radius: 10px;    /* Firefox */
   -webkit-border-radius: 10px; /* Safari,Chrome */
   border-radius: 10px;         /* CSS3 */

   border: 1px #0050BF solid;     /* 枠線の装飾 */
}


#contents_con p.p_bg_wc{
	margin: 10px 0 50px 0px; /*上　右　下　左 */
	padding: 10px; /*上　右　下　左 */
	text-align: center;
	width:100%;
   -moz-border-radius: 10px;    /* Firefox */
   -webkit-border-radius: 10px; /* Safari,Chrome */
   border-radius: 10px;         /* CSS3 */

   border: 1px #0050BF solid;     /* 枠線の装飾 */
}


#contents_con p.p_sub{
	margin: 0px 0 10px 0px; /*上　右　下　左 */
	padding: 0px; /*上　右　下　左 */
	text-align: left;
	border-bottom: #CCC 1px solid;
	border-left: #CCC 1px solid;
	border-right: #CCC 1px solid;
	width:95.4%;
	padding:5px;
}


#contents_con p.p_works {
	padding:0px 0px; /*上　右　下　左 */
	text-align: left;
	line-height:1.8em;
	margin-left:0px;
	margin-top:0px;
	margin-bottom:0px;
	font-size:1.2em;
}


#contents_about {
/*background: #FAFAFA;*/
background: url(../images/top_back.jpg) top no-repeat #B5D884; 
width:100%;
margin: 0 auto;
text-align:center;
margin-top: 0px;
padding:50px 0px 30px 0px; }

.video {
  width: 100%;
  margin-top:10px;
}



/*----------------------------    社長挨拶　-----------------------------------*/

.president-message {
  position: relative;
  padding: 20px 20px  90px;
  background: #fff;
  color: #1f2937;
  overflow: hidden;
}

.president-message::before {
  content: "";
  position: absolute;
  top: 0px;
  right: -100px;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  background: rgba(37, 99, 235, 0.06);
}

.president-message::after {
  content: "";
  position: absolute;
  left: 8%;
  bottom: 40px;
  width: 120px;
  height: 120px;
  border: 1px solid rgba(37, 99, 235, 0.12);
  transform: rotate(18deg);
}

.president-message__inner {
  position: relative;
  z-index: 1;
  max-width: 920px;
  margin: 0 auto;
}

.president-message__content {
  padding: 56px 64px;
  border-radius: 28px;
  background: #fff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 28px 70px rgba(15, 23, 42, 0.08);
}

.president-message__label {
  display: inline-block;
  margin: 0 0 20px;
  padding: 7px 18px;
  border-radius: 999px;
  background: #eff6ff;
  color: #2563eb;
  font-size: 13px;
  letter-spacing: 0.18em;
  font-weight: 700;
}

.president-message__title {
  margin: 0 0 38px;
  color: #0f172a;
  font-size: clamp(30px, 4vw, 52px);
  line-height: 1.3;
  letter-spacing: 0.05em;
  font-weight: 700;
}

.president-message__title::after {
  content: "";
  display: block;
  width: 76px;
  height: 3px;
  margin-top: 28px;
  background: linear-gradient(90deg, #2563eb, #7c3aed);
  border-radius: 999px;
}

.president-message__text {
  color: #374151;
 /* font-size: 16px;*/
  line-height: 2.15;
  letter-spacing: 0.04em;
}

.president-message__text p {
  margin: 0 0 1.5em;
}

.president-message__signature {
  margin-top: 42px;
  padding-top: 30px;
  border-top: 1px solid #e5e7eb;
  text-align: right;
}

.president-message__position {
  display: block;
  margin-bottom: 8px;
  color: #64748b;
  font-size: 14px;
  letter-spacing: 0.08em;
}

.president-message__name {
  display: block;
  color: #0f172a;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 0.12em;
}

/* スマホ対応 */
@media (max-width: 768px) {
  .president-message {
    padding: 60px 18px;
  }

  .president-message__content {
    padding: 36px 26px;
    border-radius: 22px;
  }

  .president-message__text {
    font-size: 15px;
    line-height: 1.95;
  }

  .president-message__signature {
    text-align: left;
  }

  .president-message__name {
    font-size: 24px;
  }
}

@media (max-width: 480px) {
  .president-message__content {
    padding: 32px 22px;
  }

  .president-message__label {
    font-size: 12px;
  }

  .president-message__title {
    margin-bottom: 30px;
  }
 .president-message__text {
    font-size: 19px;
 
  }
}





/*----------------------------------     主要取引先一覧 ---------------------------------------------------------------*/

.major-clients {
  position: relative;
  padding: 20px 20px 90px;
  background: #fff;
  color: #1f2937;
  overflow: hidden;
}

.major-clients::before {
  content: "";
  position: absolute;
  top: 0px;
  right: -120px;
  width: 340px;
  height: 340px;
  border-radius: 50%;
  background: rgba(37, 99, 235, 0.06);
}

.major-clients::after {
  content: "";
  position: absolute;
  left: 8%;
  bottom: 50px;
  width: 120px;
  height: 120px;
  border: 1px solid rgba(37, 99, 235, 0.12);
  transform: rotate(18deg);
}

.major-clients__inner {
  position: relative;
  z-index: 1;
  max-width: 980px;
  margin: 0 auto;
}

.major-clients__heading {
  margin-bottom: 36px;
  text-align: center;
}

.major-clients__label {
  display: inline-block;
  margin: 0 0 18px;
  padding: 7px 18px;
  border-radius: 999px;
  background: #eff6ff;
  color: #2563eb;
  font-size: 13px;
  letter-spacing: 0.18em;
  font-weight: 700;
}

.major-clients__title {
  margin: 0;
  color: #0f172a;
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1.3;
  letter-spacing: 0.08em;
  font-weight: 700;
}

.major-clients__title::after {
  content: "";
  display: block;
  width: 76px;
  height: 3px;
  margin: 24px auto 0;
  background: linear-gradient(90deg, #2563eb, #7c3aed);
  border-radius: 999px;
}

.major-clients__lead {
  margin: 24px 0 0;
  color: #64748b;
/*  font-size: 15px;*/
  line-height: 1.8;
  letter-spacing: 0.04em;
}

.major-clients__card {
  padding: 48px 56px;
  border-radius: 28px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  border: 1px solid #e5e7eb;
  box-shadow: 0 28px 70px rgba(15, 23, 42, 0.08);
}

.major-clients__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.major-clients__item {
  position: relative;
  min-height: 76px;
  display: flex;
  align-items: center;
  padding: 20px 22px 20px 54px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.major-clients__item::before {
  content: "";
  position: absolute;
  left: 24px;
  top: 50%;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #2563eb;
  box-shadow: 0 0 0 6px #eff6ff;
  transform: translateY(-50%);
}

.major-clients__item:hover {
  transform: translateY(-3px);
  border-color: #bfdbfe;
  box-shadow: 0 16px 36px rgba(37, 99, 235, 0.12);
}

.major-clients__item span {
  color: #0f172a;
/*  font-size: 16px;*/
  line-height: 1.7;
  letter-spacing: 0.05em;
  font-weight: 700;
}

.major-clients__note {
  margin: 24px 0 0;
  color: #64748b;
  font-size: 13px;
  line-height: 1.8;
  letter-spacing: 0.04em;
  text-align: right;
}

/* スマホ対応 */
@media (max-width: 768px) {
  .major-clients {
    padding: 60px 18px;
  }

  .major-clients__heading {
    text-align: left;
  }

  .major-clients__title::after {
    margin-left: 0;
    margin-right: 0;
  }

  .major-clients__card {
    padding: 34px 24px;
    border-radius: 22px;
  }

  .major-clients__list {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .major-clients__item {
    min-height: 68px;
    padding: 18px 20px 18px 50px;
    border-radius: 16px;
  }

  .major-clients__item span {
    font-size: 15px;
  }

  .major-clients__note {
    text-align: left;
  }
}

@media (max-width: 480px) {
  .major-clients__card {
    padding: 30px 20px;
  }

  .major-clients__label {
    font-size: 12px;
  }
}




/*----------------------------------     保有設備 ---------------------------------------------------------------*/

.equipment-section {
  position: relative;
  padding: 20px 20px 90px;
  background: #fff;
  color: #1f2937;
  overflow: hidden;
}

.equipment-section::before {
  content: "";
  position: absolute;
  top: 0px;
  right: -120px;
  width: 340px;
  height: 340px;
  border-radius: 50%;
  background: rgba(37, 99, 235, 0.06);
}

.equipment-section::after {
  content: "";
  position: absolute;
  left: 8%;
  bottom: 50px;
  width: 120px;
  height: 120px;
  border: 1px solid rgba(37, 99, 235, 0.12);
  transform: rotate(18deg);
}

.equipment-section__inner {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  margin: 0 auto;
}

.equipment-section__heading {
  margin-bottom: 36px;
  text-align: center;
}

.equipment-section__label {
  display: inline-block;
  margin: 0 0 18px;
  padding: 7px 18px;
  border-radius: 999px;
  background: #eff6ff;
  color: #2563eb;
  font-size: 13px;
  letter-spacing: 0.18em;
  font-weight: 700;
}

.equipment-section__title {
  margin: 0;
  color: #0f172a;
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1.3;
  letter-spacing: 0.08em;
  font-weight: 700;
}

.equipment-section__title::after {
  content: "";
  display: block;
  width: 76px;
  height: 3px;
  margin: 24px auto 0;
  background: linear-gradient(90deg, #2563eb, #7c3aed);
  border-radius: 999px;
}

.equipment-section__lead {
  max-width: 720px;
  margin: 24px auto 0;
  color: #64748b;
  font-size: 15px;
  line-height: 1.8;
  letter-spacing: 0.04em;
}

/* カテゴリカード */
.equipment-category {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-bottom: 34px;
}

.equipment-category__item {
  padding: 28px 26px;
  border-radius: 22px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  border: 1px solid #e5e7eb;
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.06);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.equipment-category__item:hover {
  transform: translateY(-3px);
  border-color: #bfdbfe;
  box-shadow: 0 22px 52px rgba(37, 99, 235, 0.12);
}

.equipment-category__en {
  display: inline-block;
  margin-bottom: 12px;
  color: #2563eb;
  font-size: 12px;
  letter-spacing: 0.16em;
  font-weight: 700;
}

.equipment-category__item h3 {
  margin: 0 0 10px;
  color: #0f172a;
  font-size: 19px;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.equipment-category__item p {
  margin: 0;
  color: #64748b;
  font-size: 14px;
  line-height: 1.8;
}

/* 設備一覧カード */
.equipment-table-card {
  padding: 48px 56px;
  border-radius: 28px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  border: 1px solid #e5e7eb;
  box-shadow: 0 28px 70px rgba(15, 23, 42, 0.08);
}

.equipment-table-card__title {
  margin: 0 0 24px;
  color: #0f172a;
  font-size: 24px;
  line-height: 1.5;
  letter-spacing: 0.06em;
}

/* テーブル外枠なし */
.equipment-table-wrap {
  width: 100%;
  overflow-x: visible;
  border: none;
  border-radius: 0;
  background: transparent;
}

/* PCでは横スクロールなし */
.equipment-table {
  width: 100%;
  min-width: 0;
  table-layout: fixed;
  border-collapse: collapse;
  background: #fff;
  border: 1px solid #e5e7eb;
}

.equipment-table th,
.equipment-table td {
  padding: 14px 14px;
  border-bottom: 1px solid #e5e7eb;
 /* font-size: 13px;*/
  line-height: 1.7;
  letter-spacing: 0.03em;
  text-align: left;
  vertical-align: middle;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.equipment-table th {
  background: #eff6ff;
  color: #0f172a;
  font-weight: 700;
  white-space: nowrap;
}

.equipment-table td {
  color: #374151;
}

.equipment-table tbody tr:nth-child(even) {
  background: #f8fafc;
}

.equipment-table tbody tr:hover {
  background: #eef6ff;
}

.equipment-table tbody tr:last-child td {
  border-bottom: none;
}

/* 列幅 */
.equipment-table th:first-child,
.equipment-table td:first-child {
  width: 54px;
  text-align: center;
  white-space: nowrap;
}

.equipment-table th:nth-child(2),
.equipment-table td:nth-child(2) {
  width: 30%;
  font-weight: 700;
  color: #0f172a;
}

.equipment-table th:nth-child(3),
.equipment-table td:nth-child(3) {
  width: 24%;
}

.equipment-table th:nth-child(4),
.equipment-table td:nth-child(4) {
  width: 36%;
}

.equipment-table th:last-child,
.equipment-table td:last-child {
  width: 54px;
  text-align: center;
  white-space: nowrap;
}

.equipment-table-card__note {
  margin: 18px 0 0;
  color: #64748b;
  font-size: 13px;
  line-height: 1.8;
  letter-spacing: 0.04em;
}

/* タブレット・スマホ */
@media (max-width: 768px) {
  .equipment-section {
    padding: 60px 18px;
  }

  .equipment-section__heading {
    text-align: left;
  }

  .equipment-section__title::after {
    margin-left: 0;
    margin-right: 0;
  }

  .equipment-category {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .equipment-category__item {
    padding: 24px 22px;
    border-radius: 18px;
  }

  .equipment-table-card {
    padding: 34px 24px;
    border-radius: 22px;
  }

  .equipment-table-card__title {
    font-size: 21px;
  }

  /* スマホでは横スクロールあり */
  .equipment-table-wrap {
    overflow-x: auto;
  }

  .equipment-table {
    min-width: 860px;
    table-layout: auto;
  }

  .equipment-table th,
  .equipment-table td {
    padding: 14px 16px;
    font-size: 13px;
  }
}

@media (max-width: 480px) {
  .equipment-table-card {
    padding: 30px 20px;
  }

  .equipment-section__label {
    font-size: 12px;
  }
}





/*----------------------------------     品質保証 ---------------------------------------------------------------*/

.quality-section {
  position: relative;
  padding: 20px 20px 90px;
  background: #fff;
  color: #1f2937;
  overflow: hidden;
}

.quality-section::before {
  content: "";
  position: absolute;
  top: 0px;
  right: -120px;
  width: 340px;
  height: 340px;
  border-radius: 50%;
  background: rgba(37, 99, 235, 0.06);
}

.quality-section::after {
  content: "";
  position: absolute;
  left: 8%;
  bottom: 50px;
  width: 120px;
  height: 120px;
  border: 1px solid rgba(37, 99, 235, 0.12);
  transform: rotate(18deg);
}

.quality-section__inner {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  margin: 0 auto;
}




.quality-category {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  max-width: 1000px;
  margin: 0 auto 34px;
}

.quality-category__item {
  position: relative;
  padding: 28px 30px;
  border-radius: 22px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  border: 1px solid #e5e7eb;
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.06);
  overflow: hidden;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

/* 左の青ラインを削除 */
.quality-category__item::before {
  content: none;
}

.quality-category__item:hover {
  transform: translateY(-3px);
  border-color: #bfdbfe;
  box-shadow: 0 22px 52px rgba(37, 99, 235, 0.12);
}

.quality-category__en {
  display: inline-block;
  margin-bottom: 12px;
  color: #2563eb;
  font-size: 12px;
  letter-spacing: 0.16em;
  font-weight: 700;
}

.quality-category__item h3 {
  margin: 0 0 18px;
  padding-bottom: 14px;
  color: #0f172a;
  font-size: 20px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-weight: 700;
  border-bottom: 1px solid #dbeafe;
  position: relative;
}

.quality-category__item h3::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 72px;
  height: 2px;
  background: linear-gradient(90deg, #2563eb, #7c3aed);
  border-radius: 999px;
}

.quality-category__item p {
  margin: 0;
  color: #64748b;
 /* font-size: 15px;*/
  line-height: 1.9;
  letter-spacing: 0.04em;
}

/* スマホ対応 */
@media (max-width: 768px) {
  .quality-category {
    max-width: none;
    gap: 14px;
    margin-bottom: 30px;
  }

  .quality-category__item {
    padding: 24px 22px;
    border-radius: 18px;
  }

  .quality-category__item h3 {
    font-size: 18px;
    margin-bottom: 16px;
    padding-bottom: 12px;
  }

  .quality-category__item p {
    font-size: 14px;
    line-height: 1.8;
  }
}

@media (max-width: 480px) {
  .quality-category__en {
    font-size: 11px;
  }
}








/*----------------------------------     加工技術 ---------------------------------------------------------------*/


.processing-section {
  position: relative;
  padding: 20px 20px 90px;
  background: #fff;
  color: #1f2937;
  overflow: hidden;
}

.processing-section::before {
  content: "";
  position: absolute;
  top: 0px;
  right: -120px;
  width: 340px;
  height: 340px;
  border-radius: 50%;
  background: rgba(37, 99, 235, 0.06);
}

.processing-section::after {
  content: "";
  position: absolute;
  left: 8%;
  bottom: 50px;
  width: 120px;
  height: 120px;
  border: 1px solid rgba(37, 99, 235, 0.12);
  transform: rotate(18deg);
}

.processing-section__inner {
  position: relative;
  z-index: 1;
  max-width: 1080px;
  margin: 0 auto;
}

.processing-section__heading {
  margin-bottom: 36px;
  text-align: center;
}

.processing-section__label {
  display: inline-block;
  margin: 0 0 18px;
  padding: 7px 18px;
  border-radius: 999px;
  background: #eff6ff;
  color: #2563eb;
  font-size: 13px;
  letter-spacing: 0.18em;
  font-weight: 700;
}

.processing-section__title {
  margin: 0;
  color: #0f172a;
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1.3;
  letter-spacing: 0.08em;
  font-weight: 700;
}

.processing-section__title::after {
  content: "";
  display: block;
  width: 76px;
  height: 3px;
  margin: 24px auto 0;
  background: linear-gradient(90deg, #2563eb, #7c3aed);
  border-radius: 999px;
}

.processing-section__lead {
  max-width: 760px;
  margin: 24px auto 0;
  color: #64748b;
  font-size: 15px;
  line-height: 1.9;
  letter-spacing: 0.04em;
}

/* 写真あり加工技術カード */
.processing-category {
  display: grid;
  grid-template-columns: 1fr;
  gap: 22px;
  max-width: 980px;
  margin: 0 auto 34px;
}

.processing-category__item {
  display: grid;
  grid-template-columns: 38% 1fr;
  gap: 0;
  overflow: hidden;
  border-radius: 24px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  border: 1px solid #e5e7eb;
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.06);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.processing-category__item:hover {
  transform: translateY(-3px);
  border-color: #bfdbfe;
  box-shadow: 0 22px 52px rgba(37, 99, 235, 0.12);
}

.processing-category__image {
  position: relative;
  min-height: 260px;
  overflow: hidden;
  background: #e5e7eb;
}

.processing-category__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  vertical-align: bottom;
  transition: transform 0.5s ease;
}

.processing-category__item:hover .processing-category__image img {
  transform: scale(1.05);
}

.processing-category__content {
  padding: 34px 38px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.processing-category__en {
  display: inline-block;
  margin-bottom: 12px;
  color: #2563eb;
  font-size: 12px;
  letter-spacing: 0.16em;
  font-weight: 700;
}

.processing-category__item h3 {
  position: relative;
  margin: 0 0 18px;
  padding-bottom: 14px;
  color: #0f172a;
  font-size: 21px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-weight: 700;
  border-bottom: 1px solid #dbeafe;
}

.processing-category__item h3::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 72px;
  height: 2px;
  background: linear-gradient(90deg, #2563eb, #7c3aed);
  border-radius: 999px;
}

.processing-category__item p {
  margin: 0;
  color: #64748b;
  font-size: 15px;
  line-height: 1.95;
  letter-spacing: 0.04em;
}

/* 材料在庫案内 */
.processing-note {
  max-width: 980px;
  margin: 0 auto;
  padding: 34px 38px;
  border-radius: 24px;
  background: #eff6ff;
  border: 1px solid #bfdbfe;
}

.processing-note h3 {
  position: relative;
  margin: 0 0 16px;
  padding-bottom: 12px;
  color: #0f172a;
  font-size: 20px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-weight: 700;
  border-bottom: 1px solid #bfdbfe;
}

.processing-note h3::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 72px;
  height: 2px;
  background: linear-gradient(90deg, #2563eb, #7c3aed);
  border-radius: 999px;
}

.processing-note p {
  margin: 0;
  color: #374151;
  font-size: 15px;
  line-height: 1.9;
  letter-spacing: 0.04em;
}

/* スマホ対応 */
@media (max-width: 768px) {
  .processing-section {
    padding: 60px 18px;
  }

  .processing-section__heading {
    text-align: left;
  }

  .processing-section__title::after {
    margin-left: 0;
    margin-right: 0;
  }

  .processing-category {
    max-width: none;
    gap: 18px;
    margin-bottom: 28px;
  }

  .processing-category__item {
    grid-template-columns: 1fr;
    border-radius: 18px;
  }

  .processing-category__image {
    min-height: 220px;
  }

  .processing-category__content {
    padding: 24px 22px;
  }

  .processing-category__item h3 {
    font-size: 18px;
    margin-bottom: 16px;
    padding-bottom: 12px;
  }

  .processing-category__item p {
    font-size: 14px;
    line-height: 1.85;
  }

  .processing-note {
    padding: 28px 24px;
    border-radius: 18px;
  }

  .processing-note h3 {
    font-size: 18px;
  }

  .processing-note p {
    font-size: 14px;
    line-height: 1.85;
  }
}

@media (max-width: 480px) {
  .processing-section__label,
  .processing-category__en {
    font-size: 12px;
  }

  .processing-category__image {
    min-height: 190px;
  }

  .processing-category__content {
    padding: 22px 20px;
  }

  .processing-note {
    padding: 24px 20px;
  }
}












/*----------------------------------     お知らせエリア ---------------------------------------------------------------*/
#whatnew{
	margin:0 auto;
	background:#FFF;
	/*border: 1px solid #2451D8;
	
		border-bottom: 1px solid #CCCCCC;*/
}

/*#whatnew h2{
	width:100%;
	background:#79CC7E;
	text-align:left;
	color: #FFF;
	font-size:1.0em;
	margin: 0 0px 0px; 
	padding: 10px;
	text-indent: -9999px;
	font-size: 0;
	border:0px;
    background:url(../images/t_info.png) no-repeat;
	clear:both; 
}*/


#whatnew h2{
	width:100%;
	
	text-align:left;
	color: #FFF;
	font-size:1.2em;
	
	padding: 15px 0px 15px 50px;/*上　右　下　左 */
	font-weight: normal;
	
	background:#0050BF url(../images/icon2.png) no-repeat 5px 10px;
   
	
}

#whatnew h3.h3_new{
	width:100%;
	margin: 0 0px 0px;
	padding: 5px 0px 5px 5px;
    background:#0050BF url(../images/m_rogo.png) no-repeat 10px;
	clear:both;
	color: #FFF;
	font-size:1.0em;
}

#whatnew dl {

  /* height:300px;
   overflow:scroll;
   overflow-x:hidden;*/
   margin: 0 0 0px 0px; /*上　右　下　左 */

}


#whatnew dt {
 	padding: 5px 5px 10px 50px;/*上　右　下　左 */
	font-weight: normal;
	height:50px;
	margin-top:20px;
	margin-left:10px;
	background: url(../images/mark.png) no-repeat 0px 5px;
    text-align:left;
	color: #000;
}

#whatnew dd {
    margin: 0 0 20px 10px; /*上　右　下　左 */
 	padding: 10px;/*上　右　下　左 */
	border-bottom: 1px dashed #0050BF;
	text-align:left;
	line-height:2.0em;
	
}

#whatnew dl a {
	color: #0066CC;
}

#whatnew dl a:hover {
	color: #0066CC;
	background: none;
	text-decoration: underline;
}

#whatnew dl a.a_red {
	color: #CC0000;
	font-weight:bold;
}

#whatnew dl a.a_red:hover {
	color: #CC0000;
	font-weight:bold;
	background: none;
	text-decoration: underline;
}




#whatnew ul {

/*   height:600px;
   overflow:scroll;
   overflow-x:hidden;*/
   margin: 0 0 0px 0px; /*上　右　下　左 */

}


#whatnew li {
 	padding: 5px 5px 10px 50px;/*上　右　下　左 */
	font-weight: normal;
	margin-top:10px;
	margin-left:3px;
	background: url(../images/mark.png) no-repeat 0px 5px;
    text-align:left;
	color: #000;
	
	border-bottom: 1px dashed #0050BF;
}



.scroll_bar{
 scrollbar-width: thin;
   scrollbar-color: #17585d #ccc;
}
.scroll_bar::-webkit-scrollbar{
   width: 5px;
}
.scroll_bar::-webkit-scrollbar-track{
   background-color: #ccc;
}
.scroll_bar::-webkit-scrollbar-thumb{
   background-color: #17585d;
}


div.whatnew_bto{
	width:100%;
	height:34px;
	margin: 0 0px 0px; /*上　右　下　左 */
	padding: 0px 0px 0px 0px;/*上　右　下　左 */
	text-indent: -9999px;
	font-size: 0;
    background:url(../images/bg_info.png) repeat;
	clear:both; /*カラム下に使用する場合につける*/
}



div.bg_w02{
	height:220px;
	margin: 0px 0 20px 0px; /*上　右　下　左 */
	padding: 20px ; /*上　右　下　左 */
	text-align: left;
   -moz-border-radius: 20px;    /* Firefox */
   -webkit-border-radius: 20px; /* Safari,Chrome */
   border-radius: 20px;         /* CSS3 */
   border: 1px #FFAB2F solid;     /* 枠線の装飾 */
}





div.sub_01_s{
	width:100%;
	text-align: center;
	border:#000 1px solid;
	
	margin: 0 0 0 0px; /*上　右　下　左 */
}

div.sub_02_s{
	width:100%;
		
	/*	border: #666 1px solid;*/
	text-align: center;
	
	margin: 30px 0px; /*上　右　下　左 */
}



div.vision{
	text-align: center;
	margin: 30px 0px; /*上　右　下　左 */
	padding: 0px; /*上　右　下　左 */
	text-align: center;
	width:100%;
}




/*----------------------------------------------- トップPRエリア -------------------------------------------------*/
div.topcon_01 {
	width:33.3%;
	text-align: center;
	float : left;
	padding:20px;
	margin: 0px 0px 0px 0; /*上　右　下　左 */
}


div.topcon_02 {
	width:33.3%;
	text-align: center;
	float : left;
	margin: 0px 0px 0px 0; /*上　右　下　左 */
}

.cell{
  float: left;
  width: 32%;
  text-align: left;
  margin-right: 1.30%;
  /* 32 + 1.33 = 33.33% = 3分の1 */
}



.row{
	margin-top:30px;
	margin-bottom:50px;
	  margin-right: -1.30%;
}

/* 画面幅768px以上の場合カードレイアウトを2カラムで配置 */
@media all and (min-width: 768px) {
    .cell {
        width: calc(96% / 1); /* 100%幅を2で割るという指定 */

    }
}

/* 画面幅992px以上の場合カードレイアウトを3カラムで配置 */
@media all and (min-width: 1024px) {
    .cell {
        width: calc(96% / 3); /* 100%幅を3で割るという指定 */
    }
    
/* 最後の行が3列より少ない場合左寄せにレイアウトさせる */
    .row::after{
        content: "";
        display: block;
        width: calc(96% / 3);
    }
}

/*----------------------------------------------- トップ 製品エリア -------------------------------------------------*/
div.toppro{
	margin-top:50px;

margin-bottom:100px;}



div.workspro{
	margin-top:100px;

margin-bottom:70px;}


div.toppro_01 {
	width:48%;
	
	text-align: center;
	float : left;
	background-position: center center;
	background-size: cover;
	
	margin: 0px 0px 0px 0; /*上　右　下　左 */
	
}


div.toppro_02 {
	width:48%;
	
	text-align: center;
	float: right;
	background-position: center center;
	background-size: cover;
	
	margin: 0px 0px 0px 0; /*上　右　下　左 */
}


.bg-mask02 {
	width:100%;
  background: rgba(0,0,0,0.5);
 display: flex;
	align-items: center;
	justify-content: center;
 
}

.bg01{
	background:url(../images/w01.jpg);

	
}


.bg02{
	background:url(../images/w02.jpg);
}


.bg03{
	background:url(../images/w04.jpg);
}


.bg04{
	background:url(../images/w03.jpg);
}



.bg-title{
	color: #fff;
	/*font-size: 2.5vw;*/
	font-size:2.6em;
	line-height: 1.5;
	text-align:center;
	text-shadow: 3px 3px 3px #000;
	font-weight: 300;
	

}


div.works_01 {
	width:48%;

	text-align: left;
	float : left;
	
	margin: 0px 0px 0px 0; /*上　右　下　左 */
}


div.works_02 {
	width:48%;

	text-align: left;
	float: right;
	margin: 0px 0px 0px 0; /*上　右　下　左 */
}




/*-----------------------------------------------  製品ページ　製品紹介エリア -------------------------------------------------*/
div.pro_con{ margin-bottom:60px;
clear:both;}

div.pro_con_01 {
	width:49%;
	text-align: center;
	float : left;
	margin: 0px 0px 0px 0px; /*上　右　下　左 */
}


div.pro_con_02 {
	width:49%;
	text-align: center;
	float: right;
	margin: 0px 0px 0px 0; /*上　右　下　左 */
}





/*----------------------------------------------- ダイス　提案　エリア -------------------------------------------------*/
div.dies_teian{ margin:30px 0px 50px 0px;}

div.dies_teian_01 {
	width:48%;
	text-align: center;
	float : left;
	font-size:0.8em;
	margin: 0px 0px 0px 0; /*上　右　下　左 */
}


div.dies_teian_02 {
	width:48%;
	text-align: center;
	font-size:0.8em;
	float: right;
	margin: 0px 0px 0px 0; /*上　右　下　左 */
}








/*----------------------------------------------- H2 -------------------------------------------------*/

/*------------フラットタイプ----------*/

h2.h2_01{
  position: relative;
  color: #000;
  background: #fff;
  line-height: 1.4;
  padding: 0.5em 0.5em 0.5em 1.8em;
}

h2.h2_01:before {/*疑似要素*/
  font-family: FontAwesome;
  content: "\f14a";
  position: absolute;
  left : 0.5em; /*左端からのアイコンまでの距離*/
}



/*------------タブ付きポイントタイプ----------*/
h2.h2_02{
position: relative;
border-top: solid 2px #80c8d1;
border-bottom: solid 2px #80c8d1;
background: #fff;
line-height: 1.4;
padding: 0.4em 0.5em;
margin: 2em 0 0.5em;
}

h2.h2_02:after {/*タブ*/
position: absolute;
font-family: FontAwesome,'Quicksand','Avenir','Arial',sans-serif;
content: '\f0a7\ POINT';
background: #80c8d1;
color: #fff;
left: 0px;
bottom: 100%;
border-radius: 5px 5px 0 0;
padding: 5px 7px 3px;
font-size: 0.7em;
line-height: 1;
letter-spacing: 0.05em;
  }


/*------------吹き出しタイプ----------*/
h2.h2_03 {
  position: relative;
  padding: 0.6em;
  background: #e0edff;
  text-align:left;
}

h2.h2_03:after {
position: absolute;
content: '';
top: 100%;
left: 30px;
border: 15px solid transparent;
border-top: 15px solid #e0edff;
width: 0;
height: 0;
}



/*------------先頭アイコンタイプ----------*/
h2.h2_04 {
position: relative;
background: #E40019;
padding: 0.25em 0.5em;
border-left: solid 2em #E40019;
color: white;
}

h2.h2_04:before {
font-family: FontAwesome;
content: "\f001";
position: absolute;
padding: 0em;
color: white;
font-weight: normal;
left: -1.35em;
top: 45%;
-moz-transform: translateY(-50%);
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
transform: translateY(-50%);
}

/*------------アクセスアイコンタイプ----------*/
h2.h2_05 {
position: relative;
background: #ff9900;
padding: 0.25em 0.5em;
border-left: solid 2em #ff9900;
color: white;
}

h2.h2_05:before {
font-family: FontAwesome;
content: "\f041"; 
position: absolute;
padding: 0em;
color: white;
font-weight: normal;
left: -1.35em;
top: 50%;
-moz-transform: translateY(-50%);
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
transform: translateY(-50%);
}


/*------------吹き出しタイプ----------*/

h2.h2_06 {
position: relative;
background: #ff9900;
padding: 0.25em 0.5em;
border-left: solid 2em #ff9900;
color: white;
}

h2.h2_06:before {
font-family: FontAwesome;
content: "\f075"; 
position: absolute;
padding: 0em;
color: white;
font-weight: normal;
left: -1.50em;
top: 50%;
-moz-transform: translateY(-50%);
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
transform: translateY(-50%);
}


/*------------タグ●タイプ----------*/

h2.h2_07{
position: relative;
/*background: #dfefff;*/
background: #3CBF20;
box-shadow: 0px 0px 0px 5px #3CBF20;
border: dashed 2px white;
padding: 0.2em 0.5em;
color: #fff;
margin-top:0px;
margin-bottom:100px;
text-align: left;
font-size:2.0em;
font-weight:500;
}

h2.h2_07:after{
position: absolute;
content: '';
left: -7px;
top: -7px;
border-width: 0 0 15px 15px;
border-style: solid;
/*border-color: #fff #fff #a8d4ff;*/
border-color: #fff #fff #A2ED92;
box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.15);
}

/*------------シェブロンマークタイプ----------*/

h2.h2_08 {
position: relative;/*相対位置*/
padding: 0.5em 0.5em 0.5em 1.5em;/*アイコン分のスペース*/
line-height: 1.4;/*行高*/
color: #ff6a6a;/*文字色*/
border-top: dotted 0px gray;
border-bottom: solid 1px gray;
background: #fff;
}

h2.h2_08:before{ font-family: FontAwesome;/*忘れずに*/
content: "\f138";/*アイコンのユニコード*/
position: absolute;/*絶対位置*/
font-size: 1em;/*サイズ*/
left: 0.25em;/*アイコンの位置*/
top: 0.4em;/*アイコンの位置*/
color: #ff6a6a; /*アイコン色*/
}


/*------------メールアイコンタイプ----------*/
h2.h2_09 {
position: relative;
background: #363636;
padding: 0.25em 0.5em;
border-left: solid 2em #363636;
color: white;
margin-top:30px;
text-align:left;
}

h2.h2_09:before {
font-family: FontAwesome;
content: "\f0e0";
position: absolute;
padding: 0em;
color: white;
font-weight: normal;
left: -1.35em;
top: 43%;
-moz-transform: translateY(-50%);
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
transform: translateY(-50%);
}

/*------------TELアイコンタイプ----------*/
h2.h2_10 {
position: relative;
background: #363636;
padding: 0.25em 0.5em;
border-left: solid 2em #363636;
color: white;
}

h2.h2_10:before {
font-family: FontAwesome;
content: "\f095";
position: absolute;
padding: 0em;
color: white;
font-weight: normal;
left: -1.35em;
top: 50%;
-moz-transform: translateY(-50%);
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
transform: translateY(-50%);
}




/*------------ファイルアイコンタイプ----------*/


h2.h2_11{
  position: relative;
  color: white;
  background: #363636;
  line-height: 1.4;
  padding: 0.5em 0.5em 0.5em 1.8em;
  margin-bottom:30px;
}

h2.h2_11:before {/*疑似要素*/
  font-family: FontAwesome;
  content: "\f07c";
  position: absolute;
  left : 0.5em; /*左端からのアイコンまでの距離*/
}



/*------------ >> アイコンタイプ----------*/


h2.h2_12{
  position: relative;
  color: white;
  background: #27ACD9;
  line-height: 1.4;
  padding: 0.2em 0em 0.3em 1.4em;
  margin-bottom:20px;
  margin-top:20px;
  text-align:left;
  font-weight:normal;
}

h2.h2_12:before {/*疑似要素*/
  font-family: FontAwesome;
  content: "\f101";
  position: absolute;
  top:0.3em;
  left : 0.5em; /*左端からのアイコンまでの距離*/
}

/*------------ 製品詳細ページ　>> アイコンタイプ----------*/


h2.h2_12_02{
  position: relative;
  color: white;
  background: #363636;
  line-height: 1.4;
  padding: 0.5em 0.5em 0.5em 1.4em;
  margin-bottom:30px;
  margin-top:30px;
  text-align:left;
  font-weight:normal;
}

h2.h2_12_02:before {/*疑似要素*/
  font-family: FontAwesome;
  content: "\f101";
  position: absolute;
  top:0.4em;
  left : 0.5em; /*左端からのアイコンまでの距離*/
}


/*------------ >> アイコンタイプ----------*/


h2.h2_13{
  position: relative;
  color: #363636;
  background: #fff;
  line-height: 1.4;
  padding: 0.5em 0.5em 0.5em 1.4em;
  margin-bottom:30px;
  border-bottom: #363636 1px solid;
}

h2.h2_13:before {/*疑似要素*/
  font-family: FontAwesome;
  content: "\f101";
  position: absolute;
  top:0.4em;
  left : 0.5em; /*左端からのアイコンまでの距離*/
}


/*------------ >> アイコンタイプ----------*/


h2.h2_14{
  position: relative;
  color: #363636;
  background: #fff;
  line-height: 1.4;
  padding: 0.5em 0.5em 0.5em 1.8em;
  margin-bottom:30px;
  border-bottom: #363636 1px solid;
  text-align:left;
}

h2.h2_14:before {/*疑似要素*/
  font-family: FontAwesome;
  content: "\f058";
  position: absolute;
  top:0.4em;
  left : 0.5em; /*左端からのアイコンまでの距離*/
}



/*------------ 肉球 アイコンタイプ----------*/


h2.h2_15{
	margin-top:30px;
	 font-size: 1.2em;
  position: relative;/*相対位置*/
  padding-left: 1.2em;/*アイコン分のスペース*/
  line-height: 1.4;/*行高*/
  color: #27ACD9;/*文字色*/
  
}

h2.h2_15:before {/*疑似要素*/
  font-family: FontAwesome;
  content: "\f14a";/*アイコンのユニコード*/
  font-weight: 900;
  position: absolute;/*絶対位置*/
  font-size: 1em;/*サイズ*/
  left: 0;/*アイコンの位置*/
  top: 0;/*アイコンの位置*/
  color: #27ACD9; /*アイコン色*/
}



/*------------ 電球 アイコンタイプ----------*/


h2.h2_16{
  position: relative;
  padding-left: 45px;
  text-align:left;
}

h2.h2_16:before {/*疑似要素*/
  position: absolute;
  font-family: FontAwesome;
  content: "\f0eb";
  background: #ffca2c;
  color: white;
  font-weight: 900;
  font-size: 15px;
  border-radius: 50%;
  left: 0;
  width: 25px;
  height: 25px;
  line-height: 25px;
  text-align: center;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

h2.h2_16:after {
  /*吹き出しのちょこんと出た部分*/
  content: '';
  display: block;
  position: absolute;
  left: 20px;
  height: 0;
  width: 0;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
  border-left: 12px solid #ffca2c;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}


/*------------ グラデーションタイプ----------*/

h2.h2_17 {
  position: relative;
  padding: 1rem .5rem;
  text-align:left;
  margin:50px 0px 30px 0px;
}

h2.h2_17:before,
h2.h2_17:after {
  position: absolute;
  left: 0;
  width: 100%;
  height: 4px;
  content: '';
  background-image: -webkit-gradient(linear, right top, left top, from(#fa709a), to(#fee140));
  background-image: -webkit-linear-gradient(left, #fa709a 0%, #fee140 100%);
  background-image: linear-gradient(to right, #fa709a 0%, #fee140 100%);
}

h2.h2_17:before {
  top: 0;
}

h2.h2_17:after {
  bottom: 0;
}


h2.h2_17:first-letter {
  font-size: 150%;
  color: #eb6100;
}

/*------------ グラデーションタイプ2----------*/

h2.h2_18 {
  position: relative;
  padding: 1rem .5rem;
  text-align:left;
  font-weight:normal;
  font-size:1.6vw;
}

h2.h2_18:after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 5px;
  content: '';
  background-image: -webkit-gradient(linear, left top, right top, from(#fa709a), to(#fee140));
  background-image: -webkit-linear-gradient(left, #fa709a 0%, #fee140 100%);
  background-image: linear-gradient(to right, #fa709a 0%, #fee140 100%);
}


/*------------ 吹き出し風 ----------*/

h2.h2_19  {
  position: relative;
  padding: 1.5rem 2rem;
  color: #fff;
  border-radius: 10px;
  background: #094;
  text-align:left;
  
}

h2.h2_19:after {
  position: absolute;
  bottom: -9px;
  left: 1em;
  width: 0;
  height: 0;
  content: '';
  border-width: 10px 10px 0 10px;
  border-style: solid;
  border-color: #094 transparent transparent transparent;
}


/*------------ ポイント2 ----------*/

h2.h2_20 {
  position: relative;
  padding: 1rem 2rem;
  text-align: center;
  border: 3px solid #4F99E3;
  text-align:left;
  margin-top:100px;
  margin-bottom:50px;
  font-weight:500;
}

h2.h2_20:before {
  font-size: 15px;
  font-size: 1.5rem;
  position: absolute;
  top: -47px;
  left: -3px;
  height: 30px;
  padding: 0.3em 1.5em;
  content: '業務ポイント';
  color: #fff;
  background: #4F99E3;
  
}




h2.h2_21 {
   /* border-bottom: 5px #3cf solid;*/
    border-bottom: 2px #0050BF solid;
	padding-left:50px;
    padding-bottom: 10px;
  font-weight: normal;
  text-align:left;
  font-size:1.2em;
  margin-bottom:20px;
  background: url(../images/mark.gif) no-repeat 0px -2px;
}
h2.h2_21 span {
  margin-left:20px;
  font-size:60%;
  color: #ccc;
  position: relative;
  top: -5px;
}







/*------------お知らせタイトル----------*/

h2.h2_info {
padding: 0.5em;/*文字周りの余白*/
color: #494949;/*文字色*/
background: #fffaf4;/*背景色*/
border-left: solid 5px #ffaf58;/*左線（実線 太さ 色）*/
}


#heading2{
	border-bottom:solid 1px #e88317;
	color: #e88317;
	clear:both;
    padding: 5px;
  /*  border-radius: 5px;*/
    background: #fff;
   /* -moz-border-radius: 5px; /* FF */
  /*  background: -moz-linear-gradient(top,  #fff,  #FBD491);  FF */
  /*  -webkit-border-radius: 5px;/* Webkit */
   /* background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#FBD491));/* Webkit */
  /*  -pie-background:linear-gradient(top,  #fff,  #FBD491); /* ie */
  /*  behavior: url(images/PIE.htc);  /* ie */
	
    }
#heading2 span{border-left:5px #E88317 solid;padding-left:10px;}

/* clearfix */
.clearfix:after {
  content: ".";  /* 新しい要素を作る */
  display: block;  /* ブロックレベル要素に */
  clear: both;
  height: 0;
  visibility: hidden;
}


/*--------------------------------------- テーブル ----------------------------------------------*/


table {
  width: 100%;
    *border-collapse: collapse;
    border-spacing: 0;
	margin:10px 0 50px 0px;
	padding-bottom:0px;
	font-size:1.0em;
	border: 1px #CCC solid; 
  /* border: 1px #79CC7E solid;      枠線の装飾 */
   background-color: #fff;   /* 背景色 */
	
}


table.table_rogo {
  width: 100%;
    *border-collapse: collapse;
    border-spacing: 0;
	margin:30px 0 50px 0px;
	padding-bottom:0px;
	border: 0px #27ACD9 solid; 
  /* border: 1px #79CC7E solid;      枠線の装飾 */
   background-color: #fff;   /* 背景色 */
	
}



th.t_top {
    border-bottom: #ccc 1px dashed;
	border-top: #CCC 0px  solid;
	background: #FAFAFA;
	width:25%;
	font-weight:normal;
}


th.t_top_e {
    border-bottom: #ff9900 0px  dashed;
	border-top: #CCC 0px  solid;
	background:#FFF;
	text-align:center;
	width:25%;
}




th {
	border-bottom: #ccc 1px dashed;
	border-left: #CCC 0px solid;
	text-align: left;
	background: #FAFAFA;
	padding: 15px;
	font-weight:normal;
	vertical-align:top;
	width:20%;
	color:#000;
}

th.th_e {
	border-bottom: #ff9900  1px solid;
	border-left: #CCC 0px solid;
	text-align: left;
	background: #fff;
	padding: 20px;
	background:#FFF;
}





t.t_top {
	border-bottom: #CCC 1px  solid;
	border-top: #CCC 0px  solid;
}


td.t_top_e {
    border-bottom: #ff9900 0px  dashed;
	text-align:center;
	width:37.5%;
}



td {
	border-bottom: #ccc 1px dashed;
border-right: #CCC 0px solid;
	text-align: left;
	padding: 15px;
}

td.td_e {
	border-bottom: #ff9900 1px dashed;
border-right: #CCC 0px solid;
	text-align: center;
	padding: 20px;
}


.t_bot{
    border-bottom: 0px solid;
}


.t_bot_f{
    border-bottom: 0px solid;
	background:#FFF;
	padding:10px;
}


.row-head {
  border-collapse: collapse;
  
  width: 100%;
  margin-bottom:50px;
  text-align:left;
}

 
.row-head th,
.row-head td {
  border: 1px solid #dbe1e8;  
  padding: 8px;
  text-align:center;
}

 
.row-head th {
  background: #f9fafc;
}
 
.row-head label {
  line-height: 34px;
  margin: 0;
}
 
@media only screen and (max-width: 800px) {
	
	
	
	
	
  .row-head thead {
    display: none;
  }
  
  .row-head tr,
  .row-head td {
    display: block;
    width: auto;
  }
  
  .row-head tr {
    border: 1px solid #dbe1e8;
    border-radius: 5px;
    box-shadow: 3px 3px rgba(0, 0, 0, .1);
    margin-bottom: 20px;
    padding: 8px 8px 0;
  }
  
  .row-head td {
    border: none;
    border-bottom: 1px solid #dbe1e8;
    text-align: left;
  }
  .row-head td:last-child {
    border-bottom: none;
  }
  .row-head td::before {
    content: attr(aria-label);
    display: inline-block;
    font-weight: bold;
    float: left;
    text-align: left;
	width:100%;
	height:30px;
    white-space: nowrap;
  }
  
  .row-head td.bt-area::before {
    display: none;
  }
  .row-head td.bt-area a {
    background: #007aff;
    border-radius: 5px;
    color: #fff;
    margin: 0 2px;
    width: auto;
  }
  .row-head td.bt-area a::before {
    align-items: center;
    content: attr(aria-label);
    display: flex;
    font-size: 14px;
    height: 100%;
    justify-content: center;
    line-height: 2.5em;
    width: 100%;
  }
  
  .row-head.header-check tr {
    padding-left: 0px;
    position: relative;
  }
  .row-head.header-check td:first-child {
    align-items: center;
    background: #fff;
    border-right: 1px solid #dbe1e8;
    border-bottom: none;
    bottom: 0;
    display: flex;
    justify-content: center;
    left: 0;
    padding: 0;
    position: absolute;
    text-align: center;
    top: 0;
  }
  .row-head.header-check td:first-child::before {
    display: none;
  }
}


.row-head02 {
  border-collapse: collapse;
 
  width: 100%;
  margin-bottom:50px;
  text-align:left;
}

 
.row-head02 th,
.row-head02 td {
  border: 1px solid #dbe1e8;  
  padding: 8px;
  text-align:center;
  font-size:0.8em
}

.row-head02 td.td_l {
  text-align: left;
}

 
.row-head02 th {
  background: #f9fafc;
}
 
.row-head02 label {
  line-height: 34px;
  margin: 0;
}
 
@media only screen and (max-width: 800px) {
  .row-head02 thead {
    display: none;
  }
  
  .row-head02 tr,
  .row-head02 td {
    display: block;
    width: auto;
  }
  
  .row-head02 tr {
    border: 1px solid #dbe1e8;
    border-radius: 5px;
    box-shadow: 3px 3px rgba(0, 0, 0, .1);
    margin-bottom: 20px;
    padding: 8px 8px 0;
  }
  
  .row-head02 td {
    border: none;
    border-bottom: 1px solid #dbe1e8;
    text-align: left;
	font-size:1.0em;
  }
  .row-head02 td:last-child {
    border-bottom: none;
  }
  .row-head02 td::before {
    content: attr(aria-label);
    display: inline-block;
    font-weight: bold;
    float: left;
    text-align: left;
	width:100%;
	height:30px;
    white-space: nowrap;
  }
  
  .row-head02 td.bt-area::before {
    display: none;
  }
  .row-head02 td.bt-area a {
    background: #007aff;
    border-radius: 5px;
    color: #fff;
    margin: 0 2px;
    width: auto;
  }
  .row-head02 td.bt-area a::before {
    align-items: center;
    content: attr(aria-label);
    display: flex;
    font-size: 14px;
    height: 100%;
    justify-content: center;
    line-height: 2.5em;
    width: 100%;
  }
  
  .row-head02.header-check tr {
    padding-left: 0px;
    position: relative;
  }
  .row-head02.header-check td:first-child {
    align-items: center;
    background: #fff;
    border-right: 1px solid #dbe1e8;
    border-bottom: none;
    bottom: 0;
    display: flex;
    justify-content: center;
    left: 0;
    padding: 0;
    position: absolute;
    text-align: center;
    top: 0;
  }
  .row-head02.header-check td:first-child::before {
    display: none;
  }
}


.row-head03 {
  border-collapse: collapse;
  vertical-align: middle;
  width: 100%;
}
 
.row-head03 th,
.row-head03 td {
  border: 1px solid #dbe1e8;  
  padding: 8px;
  text-align:center;
}
 
.row-head03 th {
  background: #f9fafc;
}
 
.row-head03 label {
  line-height: 34px;
  margin: 0;
}
 
@media only screen and (max-width: 800px) {
  .row-head03 thead {
    display: none;
  }
  
  .row-head03 tr,
  .row-head03 td {
    display: block;
    width: auto;
  }
  
  .row-head03 tr {
    border: 1px solid #dbe1e8;
    border-radius: 5px;
    box-shadow: 3px 3px rgba(0, 0, 0, .1);
    margin-bottom: 20px;
    padding: 8px 8px 0;
  }
  
  .row-head03 td {
    border: none;
    border-bottom: 1px solid #dbe1e8;
    display: flex;
    justify-content: space-between;
    text-align: left;
  }
  .row-head03 td:last-child {
    border-bottom: none;
  }
  .row-head03 td::before {
    content: attr(aria-label);
    display: inline-block;
    font-weight: bold;
    float: left;
    text-align: left;
    padding-right: 20px;
    white-space: nowrap;
  }
  
  .row-head03 td.bt-area::before {
    display: none;
  }
  .row-head03 td.bt-area a {
    background: #007aff;
    border-radius: 5px;
    color: #fff;
    display: inline-block;
    flex: 1;
    height: 40px;
    margin: 0 2px;
    overflow: hidden;
    width: auto;
  }
  .row-head03 td.bt-area a::before {
    align-items: center;
    content: attr(aria-label);
    display: flex;
    font-size: 14px;
    height: 100%;
    justify-content: center;
    line-height: 40px;
    width: 100%;
  }
  
  .row-head03.header-check tr {
    padding-left: 40px;
    position: relative;
  }
  .row-head03.header-check td:first-child {
    align-items: center;
    background: #fff;
    border-right: 1px solid #dbe1e8;
    border-bottom: none;
    bottom: 0;
    display: flex;
    justify-content: center;
    left: 0;
    padding: 0;
    position: absolute;
    text-align: center;
    top: 0;
    width: 40px;
  }
  .row-head03.header-check td:first-child::before {
    display: none;
  }
}


.col-head-type1 {
  border-collapse: collapse;
  width: 100%;
  
}
 
.col-head-type1 th,
.col-head-type1 td {
  border: 1px solid #dbe1e8;  
  padding: 8px;

}
 
.col-head-type1 th {
  background: #f9fafc;
  text-align: left;
  width: 120px;
}
 


span.supText {
font-size: 75.5%;
vertical-align: top;
position: relative;
top: -0.1em;
}



@media (max-width: 640px) {
   .table_wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
}




/*------------------------------------- ボタン　--------------------------------------------*/


.square_btn03 {
    position: relative;
    display: inline-block;
    padding: 1.25em 1.5em;
	font-size:1.6em;
    text-decoration: none;
    color: #FFF;
    background: #fd9535;/*色*/
    border-radius: 4px;/*角の丸み*/
    box-shadow: inset 0 2px 0 rgba(255,255,255,0.2), inset 0 -2px 0 rgba(0, 0, 0, 0.05);
    font-weight: bold;
    border: solid 2px #d27d00;/*線色*/
}


.square_btn03:active {/*押したとき*/
    box-shadow: 0 0 2px rgba(0, 0, 0, 0.30);
	background: #fd9535;/*色*/
}


.square_btn04 {
    position: relative;
    display: inline-block;
    padding: 0.25em 0.5em;
	font-size:1.2em;
    text-decoration: none;
    color: #FFF;
    background: #fd9535;/*色*/
    border-radius: 4px;/*角の丸み*/
    box-shadow: inset 0 2px 0 rgba(255,255,255,0.2), inset 0 -2px 0 rgba(0, 0, 0, 0.05);
    font-weight: bold;
    border: solid 2px #d27d00;/*線色*/
}


.square_btn04:active {/*押したとき*/
    box-shadow: 0 0 2px rgba(0, 0, 0, 0.30);
	background: #fd9535;/*色*/
}

.square_btn05 {
	display:inherit;
	width:50%;
	margin:0 auto;
    display: inline-block;
    padding: 0.3em 1em;
    text-decoration: none;
    background: #ff7c5c;
    color: white;
    border: solid 2px #ff7c5c;
    border-radius: 3px;
    transition: .4s;
	font-size:1.4em;
	margin-bottom:20px;
}

.square_btn05:hover {
    background: #ff7c5c;
    color: white;
}


.btn01 {
	width:80%;
	margin:0 auto;
    position: relative;
    display: inline-block;
    padding: 0.25em 0.5em;
    text-decoration: none;
    color: #FFF;
    background: #03A9F4;/*色*/
    border: solid 1px #0f9ada;/*線色*/
    border-radius: 4px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.2);
    text-shadow: 0 1px 0 rgba(0,0,0,0.2);
	margin:10px 10px;
	font-size:0.8em;
}

.btn02 {
    position: relative;
    display: inline-block;
    padding: 0.25em 0.5em;
    text-decoration: none;
    color: #FFF;
    background: #F5966D;/*色*/
    border: solid 1px #F1733D;/*線色*/
    border-radius: 4px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.2);
    text-shadow: 0 1px 0 rgba(0,0,0,0.2);
	margin:10px 10px;
	font-size:0.8em;
	
}

.btn03 {
    display: inline-block;
    padding: 0.25em 0.5em;
    text-decoration: none;
    color:#000 ;
    background: #FFF;/*色*/
    border: solid 0px #27ACD9;/*線色*/
    border-radius: 4px;
   /* box-shadow: inset 0 1px 0 rgba(255,255,255,0.2);
    text-shadow: 0 1px 0 rgba(0,0,0,0.2);*/
	margin:10px 10px;
	font-size:1.0em;
	float:right;
}

.btn04 {
    position: relative;
    display: inline-block;
    padding: 0.25em 0.5em;
    text-decoration: none;
    color: #FFF;
    background: #03A9F4;/*色*/
    border: solid 1px #0f9ada;/*線色*/
    border-radius: 4px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.2);
    text-shadow: 0 1px 0 rgba(0,0,0,0.2);
	margin:-10px 10px 0 10px;
}

.button01 {
	margin:0 auto;
	margin-top:30px;
	

  width: 80%;
  height: 54px;
  text-align: center;
  text-decoration: none;
  line-height: 54px;
  outline: none;
  color: #363636;
  font-size:1.4em;
  border: solid 1px #363636;/*線色*/
    border-radius: 10px;
}
.button01::before,
.button01::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}
.button01,
.button01::before,
.button01::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
  
}

.button01:hover {
  background-color: #363636;
  color: #fff;
}






a.btn_shop {
	
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	width: 80%;
	margin: auto;
	margin-top:0px;
	margin-bottom:30px;
	padding: 0.4rem 4rem;
	font-weight: normal;
	color: #2451D8;
	border-bottom: 2px solid #2451D8;
	border-radius: 100vh;
	box-shadow: 0 2px 7px rgba(0, 0, 0, .3);
	-webkit-box-shadow: 0 2px 7px rgba(0, 0, 0, .3);
	transition: 0.5s;
	
	
}
a.btn_shop:hover {
	color: #fff;
	background: #2451D8;
	border-bottom: 2px solid #fff;
	transform: translateY(3px);
	
}



a.a_tn{text-decoration:none;}


/*タイトル付き（ラベルボックス）*/
.box_mov{

margin: 3em auto; /* ボックスの余白 */
background-color:#fff; /* ボックス背景色 */
padding:1em 1em 1em 1em; /* ボックス内側余白 */
position:relative; /* 配置(ここを基準に) */
border: 1px solid #2451D8;	/* ボックスの線 (太さ　種類　色)*/
}
.box_mov .box-title {
background-color:#fff; /* タイトル背景色 */
font-size: 1em;/* タイトル文字の大きさ */
font-weight:800;
color: #666; /* タイトル文字色 */
padding: 0 5px;/*タイトルの余白*/
line-height: 1;/*タイトルの行の高さ*/
position:absolute;	/* 配置(ここを動かす) */
top: -10px; /*上から（-5px）移動*/
left: 20px; /*左から(20px)移動*/
}



.heading10 {
	position: relative;
	padding-top: 35px;
	padding-left:0px;
	margin-bottom:10px;
	font-size: 2.0em;
	text-align:right;
	/*border-bottom: 1px solid rgba(5,62,98,1);*/
	border-bottom: 0px dashed #2451D8;
	color:#2451D8;
}

.heading10 span {
	position: relative;
	z-index: 2;
}

.heading10::before {
	content: attr(data-en);
	position: absolute;
	top: 0px;
	left: 0;
	color: rgba(5,62,98,0.2);
	font-size: 2.4em;
	text-transform: uppercase;
	z-index: 1;
}

.huchidori {
	color: #FFFF00;
  display: block;
/*  font-family: "Josefin Sans";

  font-size: 1.2em;*/
  font-weight: bold;
  text-shadow:
            2px 2px 0px #2451D8, -2px -2px 0px #2451D8,
           -2px 2px 0px #2451D8,  2px -2px 0px #2451D8,
            2px 0px 0px #2451D8, -2px -0px 0px #2451D8,
            0px 2px 0px #2451D8,  0px -2px 0px #2451D8;
}



.text-outline {
  color: #FFFF00;
  text-shadow:
    0 0 2px #2451D8,
    0 0 2px #2451D8,
    0 0 2px #2451D8,
    0 0 2px #2451D8,
    0 0 2px #2451D8,
    0 0 2px #2451D8,
    0 0 2px #2451D8,
    0 0 2px #2451D8,
    0 0 2px #2451D8,
    0 0 2px #2451D8,
    0 0 2px #2451D8,
    0 0 2px #2451D8,
    0 0 2px #2451D8,
    0 0 2px #2451D8,
    0 0 2px #2451D8,
    0 0 2px #2451D8,
    0 0 2px #2451D8,
    0 0 2px #2451D8,
    0 0 2px #2451D8,
    0 0 2px #2451D8,
    0 0 2px #2451D8,
    0 0 2px #2451D8,
    0 0 2px #2451D8,
    0 0 2px #2451D8,
    0 0 2px #2451D8,
    0 0 2px #2451D8,
    0 0 2px #2451D8,
    0 0 2px #2451D8,
    0 0 2px #2451D8,
    0 0 2px #2451D8,
    0 0 2px #2451D8,
    0 0 2px #2451D8,
    0 0 2px #2451D8,
    0 0 2px #2451D8,
    0 0 2px #2451D8,
    0 0 2px #2451D8;
}




/*ビックリマークのアイコンをつけた囲み枠 */
.box82 {
margin: 2em auto;
padding:1em 1em 1em;
background-color: #EFE3DF; /* 背景色 */
border-radius:1px;/*ボックス角の丸み*/
border: 0px solid #2451D8;	/* ボックスの線 (太さ　種類　色)*/
}

.box82 .box-title {
color: #2451D8; /* タイトル文字色 */
font-size: 1.0em;
font-weight: bold;
margin-bottom:10px;
}

.box82 .box-title:before {
font-family: FontAwesome;
content: "\f06a";
font-size: 1.0em;
margin: 0 3px 0 0;
font-weight: bold;
}

/*------------------------------------- フォーム　--------------------------------------------*/
form p
{font-size:100%;
}
input,select,text
{width:98%; font-size:100%; padding:5px 5px; margin-bottom:0px;}

textarea
{width:98%; font-size:120%; padding:10px 5px; height:200px; margin-bottom:0px;}


input[type="button"]
{width: 30%; font-size:120%; margin: 0; padding: 5px;  background: #666; border: 1px #999 solid; color: #FFF; -webkit-appearance: none; -webkit-border-radius: 10px; -webkit-box-shadow: 0 2px 2px #CCC; margin-top:20px;}

input[type="radio"]
{width: 5%; margin: 0; padding: 0px;}

input[type="radio"] {
    position: relative;
    -webkit-appearance: button;
    appearance: button;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 24px;
    height: 24px;
    content: "";
    background-color: #FFFFFF;
    border: 1px solid #999999;
    -webkit-border-radius: 24px;
    border-radius: 24px;
    -webkit-box-shadow: inset 4px 4px 10px rgba(0,0,0,0.2);
    box-shadow: inset 4px 4px 10px rgba(0,0,0,0.2);
    vertical-align: middle;
    cursor: pointer;
}

input[type="radio"]:checked:after {
    display: block;
    position: absolute;
    top: 5px;
    left: 5px;
    content: "";
    width: 12px;
    height: 12px;
    background: #000000;
    -webkit-border-radius: 12px;
    border-radius: 12px;
}




input.text02
{width:15%; font-size:100%; padding:5px 5px;
margin-bottom:10px;}

input.text03
{width:5%; font-size:100%; padding:5px 5px;
margin-bottom:10px;}

input.text04
{width:10%; font-size:100%; padding:5px 5px;
margin-bottom:10px;}

input.text_tel
{width:20%; font-size:100%; padding:5px 5px;
margin-bottom:0px;}

input.text_fax
{width:20%; font-size:100%; padding:5px 5px;
margin-bottom:10px;}


input[type="submit"]
{width: 55%; font-size:120%; margin: 0; padding: 10px; background: #FFAA33; border: 1px #F27300 solid; color: #FFF; -webkit-appearance: none; -webkit-border-radius: 10px; -webkit-box-shadow: 0 2px 2px #CCC; font-weight:bold; }

input[type="checkbox"] {
    -webkit-transform: scale(2);
    transform: scale(2);
	width: 5%; margin:  0 10px 10px 0; padding: 0px;
}






/* -------------------------------------------------   img 回り込み  ------------------------------------------------------- */

.img_right{
     float:right;
	 margin: 0px 0px 10px 20px;/*上　右　下　左 */
}

.img_toi{
	display:none;
}

.img_right02{
     float:right;
	 margin: 10px 0px 0px 0px;/*上　右　下　左 */
}

.img_right03{
     float:right;
	 margin: 0px 0px 0px 0px;/*上　右　下　左 */
}

.img_right04{
     float:right;
	 margin: 0px 0px 20px 0px;/*上　右　下　左 */
}

.img_left{
float:left;
margin: 0px 10px 0px 0px;/*上　右　下　左 */
}

.img_merit{
float:left;
margin: 0px 10px 30px 0px;/*上　右　下　左 */
}

.img_l10{
margin: 0px 0px 0px 10px;/*上　右　下　左 */

}

.img_m30{
margin: 0px 0px 0px 30px;/*上　右　下　左 */

}

.img_left30{
margin: 0px 0px 0px 30px;/*上　右　下　左 */

}

.img_right_l10{
     float:right;
	 margin: 0px 0px 10px 10px;/*上　右　下　左 */
}

.img_top10{
margin: 10px;/*上　右　下　左 */

}

.img_bot20{
	margin-bottom: 15px;/*上　右　下　左 */

}

.img_bot{
	margin:10px 20px;

}

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

.img_b1{
	border:#000 1px solid;
}


.img_b1_sta{
	border:#000 1px solid;
	padding:27px 0px;
}


.img_b1_sei{
	border:#000 1px solid;
	padding:18px 89.5px;
}


.img_b1_zai{
	border:#000 1px solid;
	padding:36px 8px;
}

.img_left_con{
	display:inherit;
float:left;
width:40%;
margin: 0px 30px 40px 0px;/*上　右　下　左 */
}


.img_left_con02{
	display:inherit;
float: right;
width:250px;
margin: 0px 0px 40px 30px;/*上　右　下　左 */
}

.img_left_con03{
	display:inherit;
float: right;
width:40%;
margin: 0px 0px 40px 30px;/*上　右　下　左 */
}


.img_left_top{
	display:inherit;
float:left;
width:20%;
margin: 0px 30px 40px 0px;/*上　右　下　左 */
}

.img_right_abo{
	display:inherit;
float: right;
width:20%;
margin: 0px 0px 40px 30px;/*上　右　下　左 */
}


/* -----------------------------------------------------   __font colore  ------------------------------------------------ */
.blue{	color: #008FCC;}

.blue_bo{	color: #008FCC;
            font-weight:bold;}

.blue_b{	color: #008FCC;
            font-size:1.2em;
			font-weight:bold;
			}

.blue_bb{	color: #008FCC;
            font-size:1.4em;
			font-weight:bold;
			}

.blue_kakaku{ color: #008FCC;
             font-size:1.6em;
			 font-weight:bold;
			 }

.red{	color: #CC0000;}

.red_b{	color: #CC0000;
            font-size:1.2em;
			font-weight:bold;
			}

.red_bb{	color: #CC0000;
            font-size:2.2em;
			font-weight:bold;
			}
.s_text{	font-size:0.8em;
			}
.red_kakaku02{ color: #CC0000;
             font-size:1.2em;
			 font-weight:bold;
			 }

.green{	color: #4b9d4a;}

.green_b{	color: #4b9d4a;
        font-size:1.2em;
		}

.green_bb{	color: #4b9d4a;
        font-size:1.4em;
		font-weight:bold;
		}

.orange{ color: #FF3A00;}

.orange_b{ color: #FF3A00;
             font-size:1.2em;
			 }

.orange_bb{ color: #FF3A00;
             font-size:1.4em;
			 font-weight:bold;
			 }

.bb{  font-size:1.2em;
	  font-weight:bold;
			 }

.bb02{  font-size:1.2em;
	  font-weight:bold;
	  line-height:2em;
			 }

.big02{ font-size:2.0em;
font-weight:bold;
}

.small03{font-size:0.5em;}


/*------------------------------------------------------ リスト ----------------------------------------------------------------*/
div.list_mark {
	margin: 10px 0 50px 0px;
	padding:0px;
	width:100%;

   border: 0px green solid;     /* 枠線の装飾 */
   background-color: #fff;   /* 背景色 */
}

div.list_mark ul li {
	padding: 20px 10px 20px 30px;/*上　右　下　左 */
	background: url(../images/yaji.gif) no-repeat 0px 27px;
	border-bottom:#CCCCCC 1px solid;
	text-align:left;
}



div.list_mark_qa {
	margin: 0px 0 0px 0px;
	padding:0px;
	width:100%;

   border: 0px green solid;     /* 枠線の装飾 */
   
}

div.list_mark_qa ul li {
	padding: 10px 0px 10px 20px;/*上　右　下　左 */
	background: url(../images/yaji.gif) no-repeat 0px 15px;
	border-bottom:#CCCCCC 1px solid;
	text-align:left;
}


/*--------------------------- リストマーク横 ------------------------------------------*/
div.list_mark_y {

	margin: 0px 0 30px 0px; /*上　右　下　左 */
}

div.list_mark_y ul li {
    display:inline;
	 padding: 10px 30px 10px 15px;/*上　右　下　左 */
	background: url(../images/glue.gif) no-repeat 0px 16px;
	text-align:left;
	font-size:0.9em;
}





/*--------------------------- リスト 吹き出し ------------------------------------------*/

div.list_mark_w01 {
	margin: 30px 0 50px 0px;
	border: solid 2px #ffca2c;/*線の設定*/
  padding: 0.5em 1em 0.5em 3.5em;
  position: relative;
  border-radius:10px;
}



div.list_mark_w01 ul li {
  line-height: 1.5;
  padding: 0.5em 0;
  text-align:left;
  font-size:1.2em;
}

div.list_mark_w01 ul li:before {
  
  font-family: FontAwesome;
  content: "\f075";/*アイコンの種類*/
  position: absolute;
  left : 1em; /*左端からのアイコンまで*/
  color: #ffca2c; /*アイコン色*/
}




/*---------------------------- リスト（お知らせ） ----------------------------------*/
div.list_mark02 {
	margin: 30px 0 50px 0px;
	padding:10px;
   -moz-border-radius: 10px;    /* Firefox */
   -webkit-border-radius: 10px; /* Safari,Chrome */
   border-radius: 10px;         /* CSS3 */

   border: 0px #CCCCCC solid;     /* 枠線の装飾 */

}

div.list_mark02 ul li {
	padding: 10px 0px 15px 50px;/*上　右　下　左 */
	border-bottom:#CCCCCC 1px solid;
	background: url(../images/icon.png) no-repeat 0px 6px;
	text-align:left;
	font-size:1.0em;
	margin-bottom:20px;
}


div.list_mark02 ul li.li_r {
	padding: 10px 0px 10px 0px;/*上　右　下　左 */
	border-bottom:#CCCCCC 0px dashed;
	text-align: right;
	font-size:0.8em
}




/*-- リスト（info） --*/
div.list_mark03 {
	margin: 0px 0 20px 10px;
	padding:10px;
	width:96%;
   -moz-border-radius: 20px;    /* Firefox */
   -webkit-border-radius: 20px; /* Safari,Chrome */
   border-radius: 20px;         /* CSS3 */

   border: 0px green solid;     /* 枠線の装飾 */
   background-color: #fff;   /* 背景色 */
}

div.list_mark03 ul li {
	padding: 10px 10px 10px 20px;/*上　右　下　左 */
	margin: 5 0 0px 2px; /*上　右　下　左 */
	text-indent:15px;
	background: url(../images/yaji06.png) no-repeat 0px 10px;
	border-bottom:#CCCCCC 1px dashed;
	text-align:left;
}


div.list_mark_e {
	margin: 0px 0 20px 0px;
	padding:0px;
	width:100%;

   border: 0px green solid;     /* 枠線の装飾 */
   background-color: #fff;   /* 背景色 */
}

div.list_mark_e ul li {
	margin: 0 0 0px 0px; /*上　右　下　左 */
	border-bottom:#CCCCCC 1px dashed;
	text-align:left;
}


/*-------------------------- リスト番号 ----------------------------------------------*/
div.list_mark_n {
	width:96%;
	margin: 10px 0 30px 30px;
}

div.list_mark_n ol li {
	padding: 10px 0px 10px 0px;/*上　右　下　左 */
	list-style-type:decimal;
	font-size:0.8em;
}



/*------------------------------------------------  カラム2段 ----------------------------------------------------*/
div.column3-about{
clear:both;
width:100%;
margin:auto 0;
text-align:center;

margin: 50px 0px 80px 15px; /*上　右　下　左 */
}

div.column3-about_01 {
  float: left;
  width: 30%;
  margin-right: 3.33%;
  border-bottom: #F60 1px dashed;
  /* 32 + 1.33 = 33.33% = 3分の1 */
	 
}

div.column3-about h3 {
	background: #d0e7b1;
	padding:10px 5px;
	text-align:left;
	font-size:1.2em;
	margin-top:20px;
	margin-bottom:0px;
	font-weight:normal;
}





table.table_waku {
  width: 100%;
    *border-collapse: collapse;
    border-spacing: 0;
	margin:30px 0 40px 0px;
	padding-bottom:0px;

   border: #CCC 1px solid;     /* 枠線の装飾 */
   background-color: #fff;   /* 背景色 */
	
}



th.t_top_r {
    border-bottom: #CCC 0px dashed;
	border-right: #CCC 0px solid;
	border-top: #CCC 0px  solid;
	background:#FFF;
	color:#000;
	padding-left:0px;
	text-align:center;
	width:50%;
}

td.t_top_r {
    border-bottom: #CCC 1px solid;
	border-top: #CCC 0px  dashed;
	text-align:center;
}

td.t_top_rb {
    border-bottom: #CCC 0px dashed;
	border-top: #CCC 0px  dashed;
	text-align:center;
}

.img_ev{
  padding: 0px;
}



/*------------------------------------------------  カラム2段 ----------------------------------------------------*/
div.column2{
	clear:both;
width:100%;
text-align: left;
margin: 20px 0px 20px 0px; /*上　右　下　左 */
}

div.column2_01 {
     margin: 0px 0px 0px 0px;/*上　右　下　左 */
	 float:left;
	 text-align:center;
	 width:47%;
	 
}

div.column2_02 {
     margin: 0px 0px 0px 0px;/*上　右　下　左 */
	 float: right;
	 text-align:center;
	 width:47%;

}


div.works_box{
display: -webkit-box; /*Android4.3*/
  display: -moz-box;    /*Firefox21*/
  display: -ms-flexbox; /*IE10*/
  display: -webkit-flex; /*PC-Safari,iOS8.4*/
  display: flex;
width:100%;
text-align: left;
margin: 20px 0px 20px 0px; /*上　右　下　左 */
}



/*左上にずらした背景色ありタイトル*/
.works_box01{
	width:47%;
margin: 2em 1.5em; /* ボックスの余白 */
background-color: #fafafa; /* ボックス背景色 */
padding:3em 2em 2em; /* ボックス内側余白 */
position:relative; /* 配置(ここを基準に)*/
border: 1px solid #5a728b;	/* ボックスの線 (太さ　種類　色)*/
text-align:left;

}
.works_box01 .box-title {
background-color:#5a728b; /* タイトル背景色 */
font-size: 1em;/* タイトル文字の大きさ */
color: #fff ; /* タイトル文字色 */
padding: 7px 10px;/*タイトルの余白*/
line-height: 1;/*タイトルの行の高さ*/
position:absolute;	/* 配置(ここを動かす) */
top: -10px; /*上から（0px）移動*/
left: 20px; /*左から(0px)移動*/
}



.works_box02{
	width:45%;
margin: 2em 3em 2em 1.5em; /* ボックスの余白 */
background-color: #fafafa; /* ボックス背景色 */
padding:3em 2em 2em; /* ボックス内側余白 */
position:relative; /* 配置(ここを基準に)*/
border: 1px solid #5a728b;	/* ボックスの線 (太さ　種類　色)*/
text-align:left;

}
.works_box02 .box-title {
background-color:#5a728b; /* タイトル背景色 */
font-size: 1em;/* タイトル文字の大きさ */
color: #fff ; /* タイトル文字色 */
padding: 7px 10px;/*タイトルの余白*/
line-height: 1;/*タイトルの行の高さ*/
position:absolute;	/* 配置(ここを動かす) */
top: -10px; /*上から（0px）移動*/
left: 20px; /*左から(0px)移動*/
}






/*------------------------------------------------ 主要取引先 カラム2段 ----------------------------------------------------*/
div.column2-agency{
clear:both;
width:100%;
text-align:center;
margin: 20px 0px 0px 0px; /*上　右　下　左 */
}

div.column2-agency_01 {
     margin: 0px 0px 0px 0px;/*上　右　下　左 */
	 float:left;
	 text-align:left;
	 width:47%;
	 
}

div.column2-agency_02 {
     margin: 0px 0px 0px 0px;/*上　右　下　左 */
	 float: right;
	 text-align:left;
	 width:47%;

}


/*------------------------------------------------ よし君の散歩道 ----------------------------------------------------*/
div.blog_gazou{ margin-bottom:0px;
clear:both;
}

div.blog_gazou_01 {
	position:relative;
	width:23%;
	border:#000 0px solid;
	padding:2px;
	text-align: left;
	float : left;
	margin: 2% 1%;
	
}


.blog_gazou_b0{
	margin-bottom:-7px;
}



/*------------------------------------------------------------- ページＵＰ --------------------------------------------*/

div.pageup {
	display: inline-block;
	float:right;
	clear:both;
	margin: 10px 0px 0px 0px;/*上　右　下　左 */
		
}

/*.pagetop {
    display: none;
    position: fixed;
    bottom: 150px;
    right: 0px;
}
.pagetop a {
    display: block;
    width: 90px;
	height:90px;
    background:url(../images/page_up.png) no-repeat left top;
    font-size: 0;
    line-height: 0;
    text-align: center;
    color: #222;
    text-decoration: none;
    padding: 0px 0px;
	z-index: 9999;
	
}
 
.pagetop a:hover {
    display: block;
    width: 90px;
	height:90px;
    background:url(../images/page_up.png) no-repeat left top;
    text-align: center;
    color: #fff;
    text-decoration: none;
    padding:0px 0px;
	z-index: 9999;
	 font-size: 0;
    line-height: 0;
	
}


.pagetop {
  display: none;
  position: fixed;
  bottom: 10px;
  right: 10px;
  cursor: pointer;
  border-radius: 50% 50%;
  height: 50px;
  width: 50px;
  background-color: #FF8A00;
  display: block;
  z-index: 9999;
	 font-size: 0;
    line-height: 0;
}

.pagetop::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -20px;
  margin-left: -15px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 15px 33.3px 15px;
  border-color: transparent transparent #FFF transparent;
  
}

.pagetop:hover {
  opacity: .8;
}*/

.pagetop {
    display: none;
    position: fixed;
    bottom: 30px;
    right: 15px;
}
.pagetop a {
    display: block;
    background-color: #000;
    text-align: center;
    color: #fff;
    font-size: 12px;
    text-decoration: none;
    padding: 20px;
	filter:alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.8;
}
.pagetop a:hover {
    display: block;
    background-color: #fff;
	border:#333 1px solid;
    text-align: center;
    color: #000;
    font-size: 12px;
    text-decoration: none;
    padding:20px;
	filter:alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.8;
}

/*----------------------------------------------------------------- ページBACK --------------------------------------------*/

div.pageback {
	clear:both;
	margin: 50px 0px 0px 0px;/*上　右　下　左 */
		
}

div.pageback a{ 
    float:right;
	display: block;
	text-indent: -9999px;
	font-size: 0px;
	width: 48px;
	height:48px;
	background-image: url(../images/b_back.png);
	 }

/*div.pageback a{ 
    float:right;
	display: block;
	text-indent: -9999px;
	font-size: 0px;
	line-height: 100%;
	width: 61px;
	height:21px;
	background-image: url(../images/page_back.png);
	margin: 10px 0px 0px 0px; }*/



/*-------------------------------------------------- Googel map　---------------------------------------------------------*/
.ggmap {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}
 
.ggmap iframe,
.ggmap object,
.ggmap embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}


/* パンくず */
#topicPath_area{
	text-align: left;
	letter-spacing:1.1px;
	margin: 20px 0px 0px 10px;/*上　右　下　左 */	
}

#topicPath_area ol#topicPath li {
	font-size:0.8em;
     display: inline;
   
     list-style-type: none;
}
#topicPath_area ol#topicPath li a {
	color: #0066CC;
     padding-right: 10px;
     background: url(../images/glue.gif) no-repeat right center;
}

#topicPath_area ol#topicPath li a:hover  {
     padding-right: 10px;
     background: url(../images/glue.gif) no-repeat right center;
}




/*左右に三角形をつける*/
.b_rinen{
	width:90%;
margin: 2em auto 4em auto;
padding:2em;/*内側余白*/
position: relative;
text-align:center;

font-size:1.4em;
}

.b_rinen:before{
border-bottom:60px solid transparent;
border-left:60px solid #27ACD9;
content: '';
display: block;
position: absolute;
top: 0px;
left: 0px;
}

.b_rinen:after{
border-left:60px solid transparent;
border-bottom:60px solid #27ACD9;
content: '';
display: block;
position: absolute;
bottom: 0px;
right: 0px;
}









.flow > li {
  position: relative;
  margin-bottom:100px;
}
.flow > li:not(:last-child) {
  margin-bottom: 40px;
}
.flow > li:not(:first-child)::before {
  content: "";
  height: 60px;
  display: block;
  border-left: 4px dotted #e5e5e5;
  position: absolute;
  top: -40px;
  left: -webkit-calc(10% + 30px - 2px);
  left: calc(10% + 30px - 2px);
  z-index: 10;
}
.flow > li dl {
	margin:0 auto;
  width: 90%;
  padding: 20px 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border: 2px solid rgb(107,144,219);
  border-radius: 10px;
  position: relative;
}
.flow > li:not(:last-child) dl::before,
.flow > li:not(:last-child) dl::after {
  content: "";
  border: solid transparent;
  position: absolute;
  top: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.flow > li:not(:last-child) dl::before {
  border-width: 22px;
  border-top-color: rgb(107,144,219);
}
.flow > li:not(:last-child) dl::after {
  border-width: 20px;
  border-top-color: #fff;
}
.flow > li dl dt {
  font-size: 1.2em;
  font-weight: 600;
  color: rgb(107,144,219);
  -ms-flex-preferred-size: 20%;
  flex-basis: 20%;
  margin-right: 4vw;
  text-align: center;
  width:30%;
  
}
.flow > li dl dd {
  font-size: 1.0em;
width:80%;
  
}
.flow > li dl dt .icon {
  font-size: 1.0em;
  color: #fff;
  background: rgb(107,144,219);
  background: -moz-linear-gradient(left, rgba(107,144,219,1) 0%, rgba(102,213,233,1) 100%);
  background: -webkit-linear-gradient(left, rgba(107,144,219,1) 0%,rgba(102,213,233,1) 100%);
  background: linear-gradient(to right, rgba(107,144,219,1) 0%,rgba(102,213,233,1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#6b90db', endColorstr='#66d5e9',GradientType=1 );
  padding: 5px 10px;
  margin-bottom: 10px;
  display: block;
  border-radius: 20px;
  position: relative;
  z-index: 100;
}


.top_img_t {
  position: relative;
  }

.top_img_t p {
  position: absolute;
  top: 50%;
  left: 50%;

  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  margin:0;
  padding:0;
  background: rgba(0,0,0,0.6);
  color:#FFF;
  font-weight:bold;
  
  /*文字の装飾は省略*/
  }

.top_img_t img {
  width: 100%;
  }



.img_t {
  position: relative;
  }

.img_t p {
  position: absolute;
  top: 30%;
  left: 50%;

  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  margin:0;
  padding:0;
  background: rgba(0,0,0,0.6);
  color:#FFF;
  font-weight:bold;
  
  /*文字の装飾は省略*/
  }

.img_t img {
  width: 100%;
  }




.boxmi6 {
  background-color: #fff;
  background-image:
  linear-gradient(90deg, rgba(237, 119, 128, 0) 0%, rgba(237, 119, 128, 0) 50%, #fff 0%, #fff 100%), linear-gradient(180deg, rgba(237, 119, 128, 0) 0%, rgba(237, 119, 128, 0) 95%, #E0F3E1 100%);
  background-size: 8px 100%,100% 2em;
  line-height: 2;
  border: solid 2px #27ACD9;
  padding: 22px 8px 22px 8px;
  color: #000;
  margin: 2em 0;
  font-weight: normal;
}
.boxmi6-title {
  font-size: 1.2em;
  background: #27ACD9;
  padding: 0.6em;
  margin: -22px -8px 22px -8px;
  text-align: center;
  color: #FFF;
  letter-spacing: 0.05em;
  line-height: 1.2;
}
.boxmi6 p {
  padding: 0;
  margin: 0;
}



a.btn_18 {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	position: relative;
	width: 90%;
	margin: auto;
	padding: 0.3rem 1rem;
	font-weight: bold;
	border-radius: 10px;
	background-color:#27acd9;
	color: #fff;
	font-size:1.0em;
	border: 3px solid #ccc;
	box-shadow: 1px 1px #ccc;
	transition: 0.3s ease-in-out;
}
a.btn_18:hover {
	box-shadow: none;
	transform: translate(1px, 1px);
	color: #fff;
}





div.box_about {
  position: relative;
  width:500px;
}
div.box_about img {
  width: 100%; /* divの幅に対する割合 */
}
p.box_about_p {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
}


.clearfix { display: inline-block; }
/* exlude MacIE5 \*/
* html .clearfix { height: 1% }
.clearfix {display:block;}
/* end MacIE5 */

/*.clearfix {
  min-height: 1px;
}

* html .clearfix {
  height: 1px;
  /*¥*//*/
  height: auto;
  overflow: hidden;
  /**/
/*}*/


/******------------------------------------------------------- Print ------------------------------------------------------******/

@media print{


#top-head {
	display:none;
}

footer {
	display:none;
}

div.pageup{
	display:none;}

.pageup02{display:none;}

}

/****** Print ******/
















/*---------------------------------------------   980px    ---------------------------------------------------------------------------------------------------------*/

@media screen and (max-width: 980px) {
	
	
/*========= ナビゲーションのためのCSS ===============*/

#g-nav{
	
    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
    position:fixed;
    z-index: 997;
    /*ナビのスタート位置と形状*/
  top:-150%;
    left:0;
  width:100%;
    height: 100vh;/*ナビの高さ*/
  background: rgba(0,0,0,0.7);
    /*動き*/
  transition: all 0.6s;
}

/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive{
    top: 0;
}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list{
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 999; 
    width: 100%;
    height: 100vh;/*表示する高さ*/
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

/*ナビゲーション*/
#g-nav ul {
    /*ナビゲーション天地中央揃え*/
	

    position: absolute;
    z-index: 999;
    top:50%;
    left:50%;
    transform: translate(-50%,-50%);
}

/*リストのレイアウト設定*/

#g-nav ul li{
	float: none;
	position: relative;
	padding:20px 0px;
	text-align:center;
    
}

#g-nav ul li a{
	
  color: #fff;
  text-decoration: none;
  padding:20px 0px;
  text-align:center;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: normal;
  font-size:1.4em;
  border-bottom:#FFF 0px solid;
}




/* Btn Hover */
#g-nav ul li:after {
	display:none;
	
}
#g-nav ul li:hover:after {
	
	
	
}

/*========= ボタンのためのCSS ===============*/
.openbtn1{
  position:fixed;
    z-index: 9999;/*ボタンを最前面に*/
  top:20px;
  right: 10px;
  cursor: pointer;
    width: 50px;
    height:50px;
}
  
/*×に変化*/  
.openbtn1 span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
  background-color: #0050BF;
    width: 45%;
  }

.openbtn1 span:nth-of-type(1) {
  top:15px; 
}

.openbtn1 span:nth-of-type(2) {
  top:23px;
}

.openbtn1 span:nth-of-type(3) {
  top:31px;
}

.openbtn1.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 40%;
	background-color: #FFF;
}

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

.openbtn1.active span:nth-of-type(3){
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 40%;
	background-color: #FFF;
}	
	

#main-visual {
	height:400px;
	background-size:cover;
}

h1.title{ font-size:2em;
color:#FFF;
font-weight:bold;
margin: 0 auto;
text-align:center;
/*border:#FFF 5px solid;*/
 position: absolute;  
    top: 442px;  
    left: 10px;
	/*font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;*/
}



.bg-title{
	color: #fff;
	/*font-size: 2.5vw;*/
	font-size:2.6vw;
	line-height: 1.5;
	text-align:center;
	text-shadow: 3px 3px 3px #000;
	font-weight: 500;

}


div.top_title{
	
font-weight:bold;
margin: 0 auto;
border:#FFF 0px solid;
position: absolute;  
 top: 430px;  
   color: #fff;
   padding: 35px 0px 35px 0px;
   background: #A1C365;
   filter: Alpha(opacity=70);
   opacity:0.8;
   width: 100%;
}

h1.title02{ 
font-size:2.0em;
/*font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;*/
color:#fff;
margin: 0 auto;
border:#FFF 0px solid;
position: absolute;  
 top: 345px;  
    left: 20px;
}


	
#main-visual02 {
	background: url(../images/2.jpg)   center top;
	height:500px;
	background-size:cover;
  
}



#main-visual03 {
	background: url(../images/3.jpg)   center top;
	height:500px;
	background-size:cover;
  
}


h1.title03{ font-size:2em;
color:#FFF;
font-weight:bold;
margin: 0 auto;
width:600px;
height:63px;
text-align:center;
/*border:#FFF 5px solid;*/
background: url(../images/moji.png) ;
 position: absolute;  
    top: 260px;  
    right: 0px;
}


#main-visual04 {
	background: url(../images/4.jpg)   center top;
	height:500px;
	background-size:cover;
  
}

h1.title04{ font-size:2em;
color:#FFF;
font-weight:bold;
margin: 0 auto;
width:600px;
height:63px;
text-align:center;
/*border:#FFF 5px solid;*/
background: url(../images/moji.png) ;
 position: absolute;  
    top: 270px;  
    right: 30px;
}


.bg-slider__title02{
	font-size: 5vw;
	width:100%;
}


h2.h2_c{
	margin: 20px 0px; /*上　右　下　左 */
	padding: 0px; /*上　右　下　左 */
	text-align: center;
	width:100%;
	color:#fff;
	font-size: 3vw;
	font-weight:normal;
	
}


h2.h2_b{
	font-size: 3vw;
	font-weight:normal;
	
}

h2.h2_b02{
	margin: 10px 0 50px 0px; /*上　右　下　左 */
	padding: 0px; /*上　右　下　左 */
	text-align: left;
	width:100%;
	color:#000;
	font-size: 3vw;
	font-weight:normal;
	
}



#contents_top {

/*background: #FAFAFA;*/
background:#fff ; 
width:100%;
margin: 0 auto;
margin-top: 30px;
margin-bottom:30px; }


#contents_top_t {

padding:30px 0px 0px 0px;
width:98%;
margin: 0 auto;
text-align:center; }


#contents_top01 {


width:100%;
margin: 0 auto;
margin-top: 0px; }


#contents_top_t01 {

padding:20px 0px;
width:98%;
margin: 0 auto;
text-align:center; }



#contents_top02 {
width:100%;
margin: 0 auto;
margin-top: 0px; }

#contents_top_t02 {

padding:70px 0px;
width:98%;
margin: 0 auto;
text-align:center; }


#contents_top03 {

width:100%;
margin: 0 auto;
margin-top: 0px; }


#contents_top_t03 {

padding:20px 0px;
/*background: #FAFAFA;*/
width:98%;
margin: 0 auto;
text-align:center; }


#contents_top04 {


width:100%;
margin: 0 auto;
margin-top: 0px; }


#contents_top_t04 {

padding:20px 0px;
width:98%;
margin: 0 auto;
text-align:center; }

#contents_top_t05 {
padding:20px 0px;
width:98%;
margin: 0 auto;
text-align:center;
 }


#contents_top_b {

/*background: #FAFAFA;*/
width:98%;
margin: 0 auto;
margin-top: 60px;
margin-bottom: 100px; }


	
#contents {
/*background: #FAFAFA;*/
background: #FFF; 
width:98%;
margin: 0 auto;
margin-top: 0px; }


#contents_con {
/*background: #FAFAFA;*/
background: #FFF; 
width:94%;
margin: 0 auto;
margin-top: 20px; }
	
	
	
#contents #main { width : 60.6833333%}
#contents #sub { width : 35.15%}
	
div.sub_01_s{
	width:96%;
		background: #fff;
	text-align: center;
	padding:0px;
	margin: 0px 0 0px 0px; /*上　右　下　左 */
}

div.sub_02_s{
	width:96%;
		background: #fff;
	/*	border: #666 1px solid;*/
	text-align: center;
	padding:0px;
	font-size:0.8em;
	margin: 20px 0 20px 0px; /*上　右　下　左 */
}
	

	
	#top-head .logo {
	
}



#whatnew{
	font-size: 0.8em;
	
}

#whatnew h3{
	margin: 0 0px 30px 0px; /*上　右　下　左 */
	padding: 5px 0px 5px 10px;/*上　右　下　左 */
    background: #000;
	font-size: 1.2em;
	color: #fff;
 /*   background: #E7550B;
	clear:both; /*カラム下に使用する場合につける*/
}







div.bg_w02{
	display:inherit;
	margin: 0px 0 20px 0px; /*上　右　下　左 */
	padding: 10px ; /*上　右　下　左 */
	text-align: left;
   -moz-border-radius: 20px;    /* Firefox */
   -webkit-border-radius: 20px; /* Safari,Chrome */
   border-radius: 20px;         /* CSS3 */
   border: 1px #FFAB2F solid;     /* 枠線の装飾 */
}


#top-head {
	font-size: 14px;
	top: 0px;
	position: absolute;
	width: 100%;
	height: 80px; 
	margin: auto 0;
	padding: 0px 0;
	line-height: 1;
	z-index: 998;
	/*border-top:#36C5E2 5px solid;*/
	
}


#mobile-head {
		/*background: #fff;*/
		width: 100%;
		height: 100px; 
		
		z-index:990;
		position: relative;
	}


/*#global-nav {
	display:inherit;
		position: absolute;
		 開いてないときは画面外に配置
		top: -460px;
		background: #27AD3A;
		width: 100%;
		text-align: left;
		padding: 18px;
		z-index:997;
		
		
	}
	#global-nav ul {
		display:inherit;
		list-style: none;
		position: static;
		right: 0;
		bottom: 0;
		font-size: 14px;
		
	}
	#global-nav ul li {
		display:inherit;
		float: none;
		position: static;
	}
	#global-nav ul li:after  {
		display:inherit;
		display: none;
		
	}
	#top-head #global-nav ul li a,
	#top-head.fixed #global-nav ul li a {
		display:inherit;
		width: 100%;
		display: block;
		color: #fff;
		padding: 18px 0;
		
		
	}
	#nav-toggle {
		display:inherit;
		display: block;
		margin-top:0px;
		
		
		
	} */
	/* #nav-toggle 切り替えアニメーション 
	.open #nav-toggle span:nth-child(1) {
		display:inherit;
		top: 11px;
		-webkit-transform: rotate(315deg);
		-moz-transform: rotate(315deg);
		transform: rotate(315deg);
	}
	.open #nav-toggle span:nth-child(2) {
		display:inherit;
		width: 0;
		left: 50%;
	}
	.open #nav-toggle span:nth-child(3) {
		display:inherit;
		top: 11px;
		-webkit-transform: rotate(-315deg);
		-moz-transform: rotate(-315deg);
		transform: rotate(-315deg);
	}*/
	/* #global-nav スライドアニメーション 
	.open #global-nav {
		/* #global-nav top + #mobile-head height 
		display:inherit;
		-moz-transform: translateY(556px);
		-webkit-transform: translateY(556px);
		transform: translateY(556px);
		
		
	}*/


/*-------------------------------------  @group Footer ------------------------------------- */

footer {
padding : 0.5em 0em 0.2em 0em;
text-align:left;

}


footer .logo {
	font-size:1.4em;
	width:100%;
	text-align: center;
	margin-left:0px;

}


footer ul {
	margin-top:20px;
text-align: center;
}



footer p {
	padding-top:0px;
	text-align: center;
}










.bg-slider {
	width: 100%;
	height: 500px;
	background-position:center;
	background-size: cover;
	display: flex;
	/*align-items: center;*/
	justify-content: center;
}
.bg-slider__title{
	color: #fff;
	font-size: 3vw;
	line-height: 1.5;
	text-align:center;
	text-shadow: 3px 3px 3px #000;
	display: block;
/*  font-family: "Josefin Sans";*/
 
  text-shadow:
            2px 2px 0px #67D1E9, -2px -2px 0px #67D1E9,
           -2px 2px 0px #67D1E9,  2px -2px 0px #67D1E9,
            2px 0px 0px #67D1E9, -2px -0px 0px #67D1E9,
            0px 2px 0px #67D1E9,  0px -2px 0px #67D1E9;
}



.pagetop {
    display: none;
    position: fixed;
    bottom: 180px;
    right: 0px;
}


#main-wtaflet {
	background: url(../images/main0001.jpg)   center top;
	height:400px;
	background-size:cover;
  
}

#main-zc {
	background: url(../images/main0002.jpg)   center ;
	height:400px;
	background-size:cover;

  
}


.square_btn02 {
    display: inline-block;
    padding: 0.3em 1em;
    text-decoration: none;
    color: #fff;
    border: solid 2px #fff;
    border-radius: 3px;
    transition: .4s;
	text-align:center;
	width:200px;
	font-size:0.4em;
	margin:0 30px;
	margin-top:150px;
	
	
}




h2.h2_12{
font-size:1.2em;
font-weight:normal;
}



.cell{
  float: left;
  width: 32%;
  text-align: left;
  margin-right: 1.30%;
  /* 32 + 1.33 = 33.33% = 3分の1 */
}



.row{
	margin-top:30px;
	margin-bottom:0px;
	  margin-right: -1.30%;
	  font-size:0.8em;
}


/*.row{
	margin-bottom:0px;
	margin-top:0px;
  margin-right:0;
  
}*/



p {
	
	font-size:0.8em;
}


.pagetop a {
	display:none;
}



.kakomi-box12 {
	width:600px;
 position: relative;
 margin: 2em auto;
 margin-top:360px;
 margin-left:20px;
 padding: 1.2em;
 color: #fff; /* 文字色 */
 text-align:left;
 font-weight:normal;
 line-height:1.6;
 font-size:0.9em;

}


a.btn_18 {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	position: relative;
	width: 90%;
	margin: auto;
	padding: 5rem 0.5rem;
	font-weight: bold;
	border-radius: 10px;
	background-color:#27acd9;
	color: #fff;
	font-size:1.2em;
	border: 3px solid #ccc;
	box-shadow: 5px 5px #ccc;
	transition: 0.3s ease-in-out;
}



.heading10 {
	position: relative;
	padding-top: 35px;
	padding-left:0px;
	margin-bottom:10px;
	font-size: 1.6em;
	text-align:right;
	/*border-bottom: 1px solid rgba(5,62,98,1);*/
	border-bottom: 0px dashed #2451D8;
	color:#2451D8;
}

.heading10 span {
	position: relative;
	z-index: 2;
}

.heading10::before {
	content: attr(data-en);
	position: absolute;
	top: 0px;
	left: 0;
	color: rgba(5,62,98,0.2);
	font-size: 2.0em;
	text-transform: uppercase;
	z-index: 1;
}


/*タイトル付き（ラベルボックス）*/
.box_mov{

font-size:0.8em;
}
.box_mov .box-title {
background-color:#fff; /* タイトル背景色 */
font-size: 1em;/* タイトル文字の大きさ */
font-weight:800;
color: #666; /* タイトル文字色 */
padding: 0 5px;/*タイトルの余白*/
line-height: 1;/*タイトルの行の高さ*/
position:absolute;	/* 配置(ここを動かす) */
top: -10px; /*上から（-5px）移動*/
left: 20px; /*左から(20px)移動*/
}



/*------------------------------------------------  カラム2段 ----------------------------------------------------*/
div.column2{
	clear:both;
width:100%;
text-align: left;
margin: 20px 0px 20px 0px; /*上　右　下　左 */
}

div.column2_01 {
     margin: 0px 0px 0px 0px;/*上　右　下　左 */
	 float:left;
	 width:47%;
	 font-size:0.8em;
	 
}

div.column2_02 {
     margin: 0px 0px 0px 0px;/*上　右　下　左 */
	 float: right;
	 width:47%;
	  font-size:0.8em;

}




.topcatch02 {

font-size:1.0em;

}

	
}








/*---------------------------------------------   640px    ---------------------------------------------------------------------------------------------------------*/

@media screen and (max-width: 640px) {
	
	
	
	#main-visual {
		margin-top:0px;
		background-size:cover;
		height: 500px;
		background: url(../images/main_s.png) center;
		
	}


.bg-slider {
	height: 500px;
	background: cover;
	background-position: center center;
	
	display: flex;
	align-items: center;
	justify-content: center;
	
	

}
	
	

.bg-slider__title{

	font-size: 3.6vw;
display: block;
/*  font-family: "Josefin Sans";*/
 
  text-shadow:
            2px 2px 0px #67D1E9, -2px -2px 0px #67D1E9,
           -2px 2px 0px #67D1E9,  2px -2px 0px #67D1E9,
            2px 0px 0px #67D1E9, -2px -0px 0px #67D1E9,
            0px 2px 0px #67D1E9,  0px -2px 0px #67D1E9;
}


/*--- ロゴ　-------------------*/
#top-head .logo {

	
}
	


div.top_title{
	
font-weight:bold;
margin: 0 auto;
border:#FFF 0px solid;
position: absolute;  
 top: 210px;  

   color: #fff;
   padding: 35px 0px 35px 0px;
   background: #A1C365;
   filter: Alpha(opacity=70);
   opacity:0.8;
   width: 100%;
}

div.mein_title{
	font-size:2.0em;
font-weight:bold;
margin: 0 auto;
border:#FFF 0px solid;
position: absolute;  
 top: 220px;  

   color: #fff;
   padding: 30px 0px 30px 0px;
   width: 100%;
}



div.bg_w02{
	display:inherit;
	margin: 0px 0 20px 0px; /*上　右　下　左 */
	padding: 10px ; /*上　右　下　左 */
	text-align: left;
   -moz-border-radius: 20px;    /* Firefox */
   -webkit-border-radius: 20px; /* Safari,Chrome */
   border-radius: 20px;         /* CSS3 */
   border: 1px #FFAB2F solid;     /* 枠線の装飾 */
}
	
h1.title02{ font-size:1.2em;
color:#FFF;
font-weight: normal;
margin: 0 auto;
/*border:#FFF 5px solid;*/
position: absolute;  
 top: 236px;  
    left: 10px;
/*font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;*/
}


#main-visual02 {
		height: 280px;
		background: url(../images/2_s.jpg);
		background-size:cover;
	}

#main-visual03 {
		height: 280px;
		background: url(../images/3_s.jpg) ;
		background-size:cover;
	}
	
	h1.title03{ display:none;
	
}



#main-visual04 {
		height: 280px;
		background: url(../images/4_s.jpg) ;
		background-size:cover;
	}
	
	h1.title04{ display:none;
	
}
	
#main-company {
	background: url(../images/company.jpg) right;
	height:280px;
	background-size:cover;
  
}

#main-strength {
	background: url(../images/strength.jpg)   center top;
	height:280px;
	background-size:cover;
  
}

#main-support {
	background: url(../images/support.jpg)   center top;
	height:280px;
	background-size:cover;
  
}


#main-contact {
	background: url(../images/contact.jpg)   center top;
	height:280px;
	background-size:cover;
  
}

#main-products {
	background: url(../images/products.jpg)   center top;
	height:280px;
	background-size:cover;
  
}
	
#main-taflet {
	background: url(../images/taflet.jpg)   center top;
	height:280px;
	background-size:cover;
  
}


#main-wtaflet {
	background: url(../images/main0001.jpg)   center top;
	height:280px;
	background-size:cover;
  
}

#main-taflet_sl-tf {
	background: url(../images/main0003.jpg)   center top ;
	height:280px;
	background-size:cover;
  
}


#main-zc {
	background: url(../images/main0002.jpg)   center top;
	height:280px;
	background-size:cover;
  
}


#main-cutting {
	background: url(../images/cutting.jpg)  left top;
	height:280px;
	background-size:cover;
  
}


#main-dies {
	background: url(../images/dies.jpg)   center top;
	height:280px;
	background-size:cover;
  
}


#main-oil {
	background: url(../images/oil01.jpg)   center top;
	height:280px;
	background-size:cover;
  
}
	
	
#main-life {
	background: url(../images/life_s.jpg)   center ;
	height:280px;
	background-size:cover;
  
}


#main-win {
	background: url(../images/win.jpg)   center;
	height:280px;
	background-size:cover;
  
}



#heading2{
	border-bottom:solid 1px #e88317;
	color: #e88317;
	clear:both;
    padding: 5px 0px;
	font-size:1.4em;
  /*  border-radius: 5px;*/
    background: #fff;
   /* -moz-border-radius: 5px; /* FF */
  /*  background: -moz-linear-gradient(top,  #fff,  #FBD491);  FF */
  /*  -webkit-border-radius: 5px;/* Webkit */
   /* background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#FBD491));/* Webkit */
  /*  -pie-background:linear-gradient(top,  #fff,  #FBD491); /* ie */
  /*  behavior: url(images/PIE.htc);  /* ie */
	
    }


#heading2 span{border-left:0px; padding-left:0px;}


	#top-head,
	.inner {
		width: 100%;
		padding: 0;
	}
	#top-head {
		top: 0;
		position: fixed;
		margin-top: 0;
	}
	/* Fixed reset */
	#top-head.fixed {
		padding-top: 0px;
		/*background: transparent;*/
	}


	#mobile-head {
		/*background: #fff;*/
		width: 100%;
		
		
		z-index: 999;
		position: relative;
	}
	#top-head.fixed .logo,
	#top-head .logo {
		position: absolute;
		color: #333;
		/*background:url(../images/logo_s_nst.png) no-repeat 0px 18px;*/
	}
	
	

	#global-nav {
		position: absolute;
		/* 開いてないときは画面外に配置 */
		
		
		-webkit-transition: .5s ease-in-out;
		-moz-transition: .5s ease-in-out;
		transition: .5s ease-in-out;
	}
	
	#global-nav ul {
		list-style: none;
		position: static;
		right: 0;
		bottom: 0;
		font-size: 12px;
	}
	#global-nav ul li {
		float: none;
		position: static;
	}
	#global-nav ul li:after  {
		display: none;
	}
	#top-head #global-nav ul li a,
	#top-head.fixed #global-nav ul li a {
		width: 100%;
		display: block;
		color: #fff;
		padding: 18px 0;
		
	}
	#nav-toggle {
		display:inherit;
		display: block;
		margin-top:0px;
	}
	/* #nav-toggle 切り替えアニメーション */
	.open #nav-toggle span:nth-child(1) {
		top: 11px;
		-webkit-transform: rotate(315deg);
		-moz-transform: rotate(315deg);
		transform: rotate(315deg);
	}
	.open #nav-toggle span:nth-child(2) {
		width: 0;
		left: 50%;
	}
	.open #nav-toggle span:nth-child(3) {
		top: 11px;
		-webkit-transform: rotate(-315deg);
		-moz-transform: rotate(-315deg);
		transform: rotate(-315deg);
	}
	/* #global-nav スライドアニメーション */
	.open #global-nav {
		/* #global-nav top + #mobile-head height */
		-moz-transform: translateY(556px);
		-webkit-transform: translateY(556px);
		transform: translateY(556px);
	}


header a.a_home {
    width : 350px;
	height:70px;
	margin : 0px 0px 0px 0px;/*上　右　下　左 */
 
	}


#contents_top {
width:100%;
margin: 0 auto;
margin-top: 20px; }


#contents_top_t {

padding:0px 0px;
width:96%;
margin: 0 auto;
margin-top: 0px; }


#contents_top01 {
background-attachment: scroll;
width:100%;
margin: 0 auto;
margin-top: 0px; }


#contents_top_t01 {

padding:20px 0px;
width:96%;
margin: 0 auto;
margin-top: 0px; }



#contents_top02 {
width:100%;
margin: 0 auto;
margin-top: 0px; }

#contents_top_t02 {
	
padding:50px 0px;
width:96%;
margin: 0 auto;
margin-top: 0px; }



#contents_top03 {
	background-attachment: scroll;
width:100%;
margin: 0 auto;
margin-top: 0px; }


#contents_top_t03 {


padding:20px 0px;
width:96%;
margin: 0 auto;
margin-top: 0px; }


#contents_top04 {
	background-attachment: scroll;
width:100%;
margin: 0 auto;
margin-top: 0px; }


#contents_top_t04 {


padding:20px 0px;
width:96%;
margin: 0 auto;
margin-top: 0px; }


#contents_top_b {

/*background: #FAFAFA;*/
width:98%;
margin: 0 auto;
margin-top: 60px;
margin-bottom: 0px; }



#contents_top02 #main,
#contents_top02 #main_top,
#contents_top02 #sub,
#contents_top02 #sub_top { 
float : left;
padding-top:0.5em;
} 

#contents_top02 #main { width : 98%}
#contents_top02 #sub { width : 98%;
margin:50px 0;
}



#contents {
/*background: #FAFAFA;*/
background: #FFF; 
width:96%;
margin: 0 auto;
margin-top: 0px;
margin-bottom:50px; }




#contents #main { width : 100%;}
#contents #sub { width : 100%;}


#contents_con {
/*background: #FAFAFA;*/
background: #FFF; 
width:94%;
margin: 0 auto;
margin-top: 20px;
margin-bottom:50px; }


#whatnew h2{

	
	
 /*   background: #E7550B;
	clear:both; /*カラム下に使用する場合につける*/
}




#whatnew h3{

	font-size: 1.0em;
	
 /*   background: #E7550B;
	clear:both; /*カラム下に使用する場合につける*/
}



/*----------------------------------------------- トップ製品エリア -------------------------------------------------*/
div.toppro{ margin-bottom:0px;
margin-top:0px;}

div.toppro_01 {
	float: inherit;
	width:100%;
	text-align: left;
	margin: 0px 0px 20px 0; /*上　右　下　左 */
}


div.toppro_02 {
	float: inherit;
	width:100%;
	text-align: left;
	margin: 0px 0px 0px 0; /*上　右　下　左 */
}



div.works_01 {
	width:100%;
}


div.works_02 {
	width:100%;
}

/*------------- トップPRエリア ----------------*/
div.topcon_01 {
	width:100%;
	text-align: center;
	float : left;
	
	margin: 10px 0px; /*上　右　下　左 */
}


div.topcon_02 {
	width:33.3%;
	text-align: center;
	float : left;
	margin: 10px 0px; /*上　右　下　左 */
}



.cell{
  float: left;
  width: 100%;
  text-align:left;
  margin-bottom:40px;
  /* 32 + 1.33 = 33.33% = 3分の1 */
}



.row{
	margin-bottom:0px;
	margin-top:0px;
  margin-right:0;
  
  font-size:0.8em;
}







div.sub_01_s{
	width:100%;
		background: #fff;
	text-align: center;
	
}

div.sub_02_s{
	width:100%;
	text-align: center;
	padding:0px;
	margin: 50px 0 0px 0px; /*上　右　下　左 */
}




/*--------------------------------------- テーブル ----------------------------------------------*/

@media screen and (max-width: 768px) {
    .table-sp,
    .table-sp tbody,
    .table-sp thead,
    .table-sp tr,
    .table-sp td,
    .table-sp th {display:block;}
 
    .table-sp th {width:auto;}
}

table {
  width: 100%;
    *border-collapse: collapse;
    border-spacing: 0;
	margin:10px 0 20px 0px;
	padding-bottom:0px;
	font-size:0.8em;

   background-color: #fff;   /* 背景色 */
	
}





th.t_top {
    border-bottom: #CCC 0px dashed;
	border-top: #CCC 0px  solid;
	
}


th.t_top_e {
    border-bottom: #ff9900 0px  dashed;
	border-top: #CCC 0px  solid;
	background:#FFF;
	text-align: left;
	width:25%;
}

th.th_e {
	border-bottom: #ff9900  1px solid;
	border-left: #CCC 0px solid;
	text-align: left;
	background: #fff;
	padding: 20px;
	background:#FFF;
	width:25%;
}

	

th.t_top02 {
    border-top: #FF1919 0px solid;
	background:#f7dee5;
	-webkit-border-bottom-left-radius: 20px;
}

th.t_top03 {
    border-top: #62BC75 0px solid;
	background:#bbe8bb;
-webkit-border-top-left-radius: 20px;
/*	border-right: #e3e3e3 1px solid;*/
}



th.t_top03_c {
    border-top: #62BC75 0px solid;
    border-left: #fff 1px solid;
    border-right: #fff 1px solid;
	background:#bbe8bb;
}

th.t_top03_r {
    border-top: #62BC75 0px solid;
	border-right: #e3e3e3 0px solid;
	background:#bbe8bb;
	-webkit-border-top-right-radius: 20px;
}


th.t_top04 {
    border-top: #FF1919 0px solid;
	border-left: #e3e3e3 0px solid;
	
}


th {
	border-bottom: #CCC 0px dashed;
	border-left: #CCC 0px solid;
	text-align: left;
	padding:10px 0px 10px 5px;
	
}

td.t_top_e {
    border-bottom: #ff9900 0px  dashed;
	text-align: left;
}


td.t_top {
    border-bottom: #CCC 1px solid;
	border-top: #CCC 0px  dashed;
}

td.t_top02 {
	border-left: #e3e3e3 0px solid;
	border-right: #e3e3e3 0px solid;
}

td.td_02 {
	border-left: #e3e3e3 0px solid;
	border-right: none;
	border-bottom: #339933 1px dashed;
}


td {
	border-bottom: #CCC 1px solid;
border-right: #CCC 0px solid;
	text-align: left;
	padding:10px 0px 10px 5px;
	
}

td.td02 {
	border-bottom: #e3e3e3 1px solid;
	border-right: #e3e3e3 1px solid;
	border-left: #e3e3e3 1px solid;
	text-align: left;
	padding: 10px;
}


td.td_e {
	border-bottom: #ff9900 1px dashed;
border-right: #CCC 0px solid;
	text-align: left;
	padding: 20px;
	width:37.5%;
}









/*------------------------------------- フォーム　--------------------------------------------*/
form p
{font-size:100%;
}
input,select,text
{width:96%; font-size:100%; padding:5px 5px; margin-bottom:0px;}

textarea
{width:96%; font-size:120%; padding:5px 5px; height:150px; margin-bottom:0px;}


input[type="button"]
{width: 80%; font-size:120%; margin: 0; padding: 5px; background: #666; border: 1px #999 solid; color: #FFF; -webkit-appearance: none; -webkit-border-radius: 10px; -webkit-box-shadow: 0 2px 2px #CCC; margin-top:20px;}

input[type="radio"]
{width: 5%; margin: 0; padding: 0px;}

input[type="radio"] {
    position: relative;
    -webkit-appearance: button;
    appearance: button;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 24px;
    height: 24px;
    content: "";
    background-color: #FFFFFF;
    border: 1px solid #999999;
    -webkit-border-radius: 24px;
    border-radius: 24px;
    -webkit-box-shadow: inset 4px 4px 10px rgba(0,0,0,0.2);
    box-shadow: inset 4px 4px 10px rgba(0,0,0,0.2);
    vertical-align: middle;
    cursor: pointer;
}

input[type="radio"]:checked:after {
    display: block;
    position: absolute;
    top: 5px;
    left: 5px;
    content: "";
    width: 12px;
    height: 12px;
    background: #000000;
    -webkit-border-radius: 12px;
    border-radius: 12px;
}

input[type="checkbox"] {
    -webkit-transform: scale(2);
    transform: scale(2);
	width: 3%; margin: 0 10px 20px 5px; padding: 0px 0px;
}


input.text02
{width:30%; font-size:100%; padding:5px 0px;
margin-bottom:10px;}

input.text03
{width:15%; font-size:100%; padding:5px 0px;
margin-bottom:10px;}

input.text04
{width:20%; font-size:100%; padding:5px 0px;
margin-bottom:10px;}

input.text_tel
{width:96%; font-size:100%; padding:5px 5px;
margin-bottom:10px;}

input.text_fax
{width:96%; font-size:100%; padding:5px 5px;
margin-bottom:10px;}


input[type="submit"]
{width: 100%; font-size:100%; margin: 0; padding: 10px; background: #FFAA33; border: 1px #F27300 solid; color: #FFF; -webkit-appearance: none; -webkit-border-radius: 10px; -webkit-box-shadow: 0 2px 2px #CCC; }




/*------------------------------------------------ 施設紹介 カラム2段 ----------------------------------------------------*/
div.column3-about{
clear:both;
width:100%;
margin:auto 0;
text-align:center;
border-bottom: #F60 0px dashed;
margin: 0px 0px 0px 3px; /*上　右　下　左 */
}

div.column3-about_01 {
  width:98%;
  border-bottom: #F60 1px dashed;
  padding:40px 0px;
  margin: 0px 0px 30px 0px; /*上　右　下　左 */
  /* 32 + 1.33 = 33.33% = 3分の1 */
	 
}

/*------------------------------------------------ 年間行事エリア ----------------------------------------------------*/
div.column2_nen{
clear:both;
width:100%;
text-align:center;
margin: 50px 0px; /*上　右　下　左 */
}

div.column2_nen_01 {
     margin: 0px 0px 0px 0px;/*上　右　下　左 */
	 float:left;
	width:100%;
	text-align:center;
	 
}


div.column2_nen_02 {
     margin: 0px 0px 0px 0px;/*上　右　下　左 */
	 float: right;
	 width:100%;

}

div.column2_nen_03 {
     margin: 0px 0px 0px 0px;/*上　右　下　左 */
	 float: right;
	width:100%;
	text-align:center;

}


div.column2_nen_04 {
     margin: 0px 0px 0px 0px;/*上　右　下　左 */
	 float:left;
	 width:100%;
	 
}





/*------------------------------------------------ 園の概要 カラム2段 ----------------------------------------------------*/
div.column2{
clear:both;
width:100%;
text-align:center;
margin: 20px 0px 50px 0px; /*上　右　下　左 */
}

div.column2_01 {
     margin: 0px 0px 20px 0px;/*上　右　下　左 */
	width:100%;
	 
}

div.column2_02 {
     margin: 0px 0px 0px 0px;/*上　右　下　左 */
	 width:100%;

}





/*---------------- お知らせ カラム2段 ----------------------------------------------------*/
div.column2-info{
clear:both;
text-align:center;
margin: 20px 0px; /*上　右　下　左 */
}

div.column2-info_01 {
	width:100%;
     margin: 0px 0px 20px 0px;/*上　右　下　左 */
	 
}

div.column2-info_02 {
	width:100%;
     margin: 0px 0px 0px 0px;/*上　右　下　左 */

}


/*------------------------------------------------ 主要取引先 カラム2段 ----------------------------------------------------*/
div.column2-agency{
clear:both;
text-align:center;
margin: 20px 0px; /*上　右　下　左 */
}

div.column2-agency_01 {
     width:100%;
     margin: 0px 0px 0px 0px;/*上　右　下　左 */
	 
}

div.column2-agency_02 {
     width:100%;
     margin: -20px 0px 0px 0px;/*上　右　下　左 */

}



/*--------------------------- リストマーク横 ------------------------------------------*/
div.list_mark ul li {
	padding: 20px 10px 20px 30px;/*上　右　下　左 */
	background: url(../images/yaji.gif) no-repeat 0px 23px;
	border-bottom:#CCCCCC 1px solid;
	font-size:0.8em;
	text-align:left;
}


div.list_mark_w01 ul li {
  line-height: 1.5;
  padding: 0.5em 0;
  text-align:left;
  font-size:1.0em;
}

/*--------------------------- リストマーク横 ------------------------------------------*/
div.list_mark_y {

	margin: 0px 0 30px 0px; /*上　右　下　左 */
}

div.list_mark_y ul li {
    display:inline;
	padding: 10px 20px 10px 15px;/*上　右　下　左 */
	font-size:0.9em;
}



/*------------------------------------- ページＵＰ --------------------------------------------*/

div.pageup {
	display:none;
	text-align:right;
		
}




/*-------------------------------------  @group Footer ------------------------------------- */

footer {
	display:inherit;
	padding : 10px 0px 0px 0px;

font-size:0.6em;

}

footer .logo {
	font-size:2.0em;
	margin-bottom:20px;
}






footer ul {
	text-align:left;
	margin: 0px 0px 0px 0px;/*上　右　下　左 */
}

footer li {
	margin-right: 0px;
	padding: 0px;
		font-size:1.0em;
	
}

footer ul a {
	display: block;
    position: relative;
	padding: 10px 0px 10px 10px;
	border-bottom:#000 dashed 1px;
}

footer ul a:hover {
	background: none;
	text-decoration: none;
}


footer p {
	padding-top:0px;
	text-align: center;
}






/*----------------------------    インスタグラム ---------------------------*/

#instafeed {
	width:100%;
   height:400px;
   overflow:scroll;
   overflow-x:hidden;
   margin: 0 0 0px 0px; /*上　右　下　左 */

}


#instafeed li {
	width:100px;
	display: inline;
	float:left;
   margin: 5px; /*上　右　下　左 */

}


/*------------------------------------------------------------- ページＵＰ --------------------------------------------*/



.pagetop {
    display: none;
    position: fixed;
    bottom: 0px;
    right: 0px;

}


.pagetop a {
    padding: 20px;
}

.pagetop a:hover {
    padding: 20px;
	background: #000;
	border:0px;
	color:#FFF;
}


h2.h2_c{
	font-size: 5vw;
	
}


.bg-slider__title02{
	font-size: 6vw;

}


h2.h2_b{
	font-size: 6vw;
	
}

h2.h2_b02{
	margin: 10px 0 50px 0px; /*上　右　下　左 */
	padding: 0px; /*上　右　下　左 */
	text-align: left;
	width:100%;
	color:#000;
	font-size: 5vw;
	
}

p.p_c{
	display:inherit;
	margin: 30px 0px; /*上　右　下　左 */
	padding: 0px; /*上　右　下　左 */
	text-align: center;
	width:100%;
}



p.p_tel{
	font-size: 7vw;
	
}



#contents_con p{
	font-size:0.8em;
}



#contents_con p.p_c{
	margin: 30px 0px; /*上　右　下　左 */
	padding: 0px; /*上　右　下　左 */
	text-align: center;
	width:100%;
}



p.p_c_f{
	margin: 30px 0px; /*上　右　下　左 */
	padding: 0px; /*上　右　下　左 */
	text-align: left;
	width:100%;
	color:#FFF;
}


.img_left_con{
display: block;
 margin-left: auto;
 margin-right: auto;
margin-bottom:30px;
width:100%;
}

.img_left_con02{
display: block;
 margin-left: auto;
 margin-right: auto;
margin-bottom:30px;
width:100%;
}

.img_left_con03{
display: block;
 margin-left: auto;
 margin-right: auto;
margin-bottom:30px;
width:100%;
}

.img_left_top{

margin-bottom:20px;
margin-left:10px;
margin-right:0px;
width:40%;
float: right;
}


.img_right_abo{
	margin:0 auto;
margin-left: 15%;
 margin-right: 15%;
 margin-bottom:30px;
 width:70%;
 	text-align:center;
 float: inherit;

}


h2.h2_01{
font-size:1.2em;
}


/*------------タブ付きポイントタイプ----------*/
h2.h2_02{
position: relative;
border-top: solid 2px #80c8d1;
border-bottom: solid 2px #80c8d1;
background: #fff;
line-height: 1.4;
padding: 0.4em 0.5em;
margin: 2em 0 0.5em;
font-size:1.2em;
}

h2.h2_02:after {/*タブ*/
position: absolute;
font-family: FontAwesome,'Quicksand','Avenir','Arial',sans-serif;
content: '\f0a7\ POINT';
background: #80c8d1;
color: #fff;
left: 0px;
bottom: 100%;
border-radius: 5px 5px 0 0;
padding: 5px 7px 3px;
font-size: 0.7em;
line-height: 1;
letter-spacing: 0.05em;
  }


/*------------シェブロンマークタイプ----------*/

h2.h2_08 {
font-size:1.2em;
font-weight:normal;
}



/*------------メールアイコンタイプ----------*/
h2.h2_09 {
font-size:1.2em;
font-weight:normal;
}



/*------------ファイルアイコンタイプ----------*/
h2.h2_11 {
font-size:1.2em;
font-weight:normal;
}

/*------------ >> アイコンタイプ----------*/


h2.h2_12{
font-size:1.2em;
font-weight:normal;
padding: 0.3em 0em 0.3em 1.4em;
}

h2.h2_12_02{
font-size:1.2em;
font-weight:normal;
}


h2.h2_13{
font-size:1.2em;
font-weight:normal;
}




/*-----------------------------------------------  製品ページ　製品紹介エリア -------------------------------------------------*/
div.pro_con{ margin-bottom:60px;
clear:both;}

div.pro_con_01 {
	width:100%;
	text-align: center;
	margin: 0px 0px 0px 0px; /*上　右　下　左 */
}


div.pro_con_02 {
	width:100%;
	text-align: center;
	margin: 0px 0px 0px 0; /*上　右　下　左 */
}



.square_btn03 {
    padding: 0.25em 0.5em;
	font-size:1.2em;
}


#contents_con p.p_nr{
	margin: 0px 0px 30px 0px; /*上　右　下　左 */
	padding: 0px; /*上　右　下　左 */
	text-align: left;
	width:100%;
}

#contents_con p.p_nr01{
	margin: 0px 0px 30px 0px; /*上　右　下　左 */
	padding: 0px; /*上　右　下　左 */
	text-align: left;
	width:100%;
}


#contents_con p.p_nr02{
	margin: 0px 0px 30px 0px; /*上　右　下　左 */
	padding: 0px; /*上　右　下　左 */
	text-align: left;
	font-size:0.8em;
	width:100%;
}


.square_btn02 {
    display: inline-block;
    padding: 0.3em 1em;
    text-decoration: none;
    color: #fff;
    border: solid 2px #fff;
    border-radius: 3px;
    transition: .4s;
	text-align:center;
	width:100px;
	font-size:0.4em;
	margin:0 20px;
	margin-top:150px;
	font-size:1.2em;
	
	
}

/*-------------------------- リスト番号 ----------------------------------------------*/
div.list_mark_n {
	width:96%;
	margin: 10px 0 30px 18px;
}



p {
	
	font-size:0.8em;
}


#whatnew{

	font-size:0.8em;

}

.square_btn05 {
	width:80%;
}


.bg-title{
	font-size:1.8em;

}


h2.h2_16 {
  font-size:1.2em;
}



h2.h2_17 {
  font-size:1.2em;
}



h2.h2_18 {
  font-size:1.0em;
}


h2.h2_20 {
  font-size:1.0em;
}

h2.h2_20:before {
  font-size:1.2em;
  position: absolute;
  top: -42px;
  left: -3px;
  height: 30px;
  padding: 0.3em 1.5em;
  content: '業務ポイント';
  color: #fff;
  background: #4F99E3;
  
}


#contents_con p.p_works {

	font-size:1.0em;
}


.button01 {

  font-size:1.0em;

}

.bg-works00 {
	width: 100%;
	/*height: 100vh;*/
	height: 250px;
	background: url(../images/w00.jpg);
	background-position: bottom center;
	background-size: cover;
	display: flex;
	align-items: center;
	justify-content: center;
}


.bg-works01 {
	
	background: url(../images/w01.jpg) center;

}

.bg-works02 {
	
	background: url(../images/w02.jpg) ;

}


.bg-works03 {
	
	background: url(../images/w04.jpg) center;

}

.bg-works04 {
	
	background: url(../images/w03.jpg) center;

}


.bg-mask02 {

  background: rgba(0,0,0,0.2);
 
 
}


/*アコーディオン全体*/
.accordion-area{
	font-size:0.8em;
}

/*アコーディオンタイトル*/
.title {
    font-size:1.0em;
}




.kakomi-box12 {
	font-size:0.8em;
	width:90%;
 position: relative;
 margin: 2em auto;
 margin-top:320px;
 padding: 1.2em;
 color: #fff; /* 文字色 */
 text-align:left;
 font-weight:normal;
 line-height:1.6;

 /*box-shadow: 2px 2px 1px #fff; 影の色 */
}


.title-box12 {
 position: absolute;
 font-size:1.2em;
 padding: 0em .5em;
 left: 20px;
 top: -15px;
 border-radius:4px;
 font-weight:bold;
 /* box-shadow: 2px 2px 1px #2451D8 ; 影の色 */
 background-color:#FFFF00 ; /* タイトル背景色 */
/*  color:#2451D8 ; タイトル文字色 */
 color:#2451D8 ; /* タイトル文字色 */
}

/*左右に三角形をつける*/
.b_rinen{

font-size:1.0em;
}


div.works_box{
  display: inherit;
width:100%;
text-align: left;
margin: 0px 0px 0px 0px; /*上　右　下　左 */
}


/*左上にずらした背景色ありタイトル*/
.works_box01{
	font-size:0.8em;
	width:96%;
	margin:0 auto;
	margin-bottom:3em;

}
.works_box01 .box-title {
background-color:#5a728b; /* タイトル背景色 */
font-size: 1em;/* タイトル文字の大きさ */
color: #fff ; /* タイトル文字色 */
padding: 7px 10px;/*タイトルの余白*/
line-height: 1;/*タイトルの行の高さ*/
position:absolute;	/* 配置(ここを動かす) */
top: -10px; /*上から（0px）移動*/
left: 20px; /*左から(0px)移動*/
}


.works_box02{
	font-size:0.8em;
	width:96%;
	margin:0 auto;
	margin-bottom:3em;

}



.flow > li dl {
	margin:0 auto;
  width: 96%;
  padding: 20px 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border: 2px solid rgb(107,144,219);
  border-radius: 10px;
  position: relative;
}
.flow > li:not(:last-child) dl::before,
.flow > li:not(:last-child) dl::after {
  content: "";
  border: solid transparent;
  position: absolute;
  top: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.flow > li:not(:last-child) dl::before {
  border-width: 22px;
  border-top-color: rgb(107,144,219);
}
.flow > li:not(:last-child) dl::after {
  border-width: 20px;
  border-top-color: #fff;
}
.flow > li dl dt {
  font-size: 0.8em;
  font-weight: 600;
  color: rgb(107,144,219);
  -ms-flex-preferred-size: 20%;
  flex-basis: 20%;
  margin-right: 4vw;
  text-align: center;
  width:30%;
  
}
.flow > li dl dd {
  font-size: 0.8em;

  
}
.flow > li dl dt .icon {
  font-size: 1.0em;
}



.top_img_t {
 font-size:1.6em;
  }

.img_t {
  position: relative;
  font-size:1.6em;
  }


.img_t p {
  position: absolute;
  top: 35%;
  left: 50%;

  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  margin:0;
  padding:0;
  background: rgba(0,0,0,0.6);
  color:#FFF;
  font-weight:bold;
  
  /*文字の装飾は省略*/
  }


div.workspro{
	margin-top:100px;

margin-bottom:0px;}


.bg-contact {
	width: 100%;
	/*height: 100vh;*/
	height: 200px;
	background: url(../images/con_bg1.jpg);
	background-position: top;
	background-size: cover;
	display: flex;
	align-items: center;
	justify-content: center;
}


.boxmi6 {
	font-size:0.8em;
}
.boxmi6-title {
  font-size: 1.0em;
}


div.list_mark02 ul li {
	padding: 10px 0px 15px 50px;/*上　右　下　左 */
	border-bottom:#CCCCCC 1px solid;
	background: url(../images/icon.png) no-repeat 0px 6px;
	text-align:left;
	font-size:0.8em;
}



a.btn_18 {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	position: relative;
	width: 90%;
	margin: auto;
	padding: 2.5rem 1rem;
	font-weight: bold;
	border-radius: 10px;
	background-color:#27acd9;
	color: #fff;
	font-size:1.0em;
	border: 3px solid #ccc;
	box-shadow: 5px 5px #ccc;
	transition: 0.3s ease-in-out;
}


.heading10 {
	position: relative;
	padding-top: 35px;
	padding-left:0px;
	margin-bottom:10px;
	font-size: 1.2em;
	text-align:right;
	/*border-bottom: 1px solid rgba(5,62,98,1);*/
	border-bottom: 0px dashed #2451D8;
	color:#2451D8;
}

.heading10 span {
	position: relative;
	z-index: 2;
}

.heading10::before {
	content: attr(data-en);
	position: absolute;
	top: 0px;
	left: 0;
	color: rgba(5,62,98,0.2);
	font-size: 2.0em;
	text-transform: uppercase;
	z-index: 1;
}


.topcatch {

font-size:0.4em;

}

.topcatch02 {

font-size:1.0em;

}

.br-sp02 {
        display: none;
      }


div.p_c_g{
	margin:0 auto;
	width:100%;
	padding: 20px 0px 0px 0px;/*上　右　下　左 */
	text-align: center;
	clear:both;
}


}














