/*!
Theme Name: Vitec
Author: 株式会社ヴィーテック
Author URI: https://vitech.co.jp/
Description: 株式会社ヴィーテック
*/
/* ----------------------------------------
  General
---------------------------------------- */
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap');
:root {
  scroll-behavior: smooth;
  scroll-padding-top: 72px;
  -webkit-text-size-adjust: 100%;
 --bs-body-font-family: "Zen Kaku Gothic New", sans-serif;
 --sp-max-width: 300px;
 --pc-max-width: 1100px;
 --main-color: #D71618;
 --main-color-dark: #98000F;
 --accent-color-01: #FFAC00;
 --accent-color-02: #F5C935;
 --sub-color-01: #F7F2E8;
 --line-color: #22AC38;
 --common-transition: all .2s;
}
section {
  overflow: hidden;
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
iframe {
  max-width: 100%;
}
@media (min-width: 992px) {
:root {
  scroll-padding-top: 130px;
  color: #221715;
}
}
.bg-sub-color-01 {
  background-color: var(--sub-color-01);
}
/*
.container {
  max-width: calc( var(--sp-max-width) + var(--bs-gutter-x) );
}
@media (min-width: 992px) {
.container {
  max-width: calc( var(--pc-max-width) + var(--bs-gutter-x) );
}
}
*/
/* ----------------------------------------
    Loading
---------------------------------------- */
.loading {
  position: fixed;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  background: var(--main-color);
  z-index: 1000;
}
.loading__logo {
  aspect-ratio: 114 / 41;
  -webkit-mask-image: url('./images/common/logo.svg');
  -webkit-mask-size: 100%;
  width: 29.87vw;
  background: #fff;
}
@media (min-width: 992px) {
.loading__logo {
  width: 19.64vw;
}
}
/* ----------------------------------------
  Header
---------------------------------------- */
.site-header {
  position: sticky;
  top: 0;
  width: 100%;
  padding: 1rem;
  background: #fff;
  z-index: 500;
}
.site-header__inner {
  display: flex;
  max-width: var(--sp-max-width);
  margin: 0 auto;
}
.site-header__brand {
  flex-grow: 2;
  margin: 0;
  line-height: 1;
}
.site-header__link {
  text-decoration: none;
  color: #000;
  font-weight: bold;
}
.site-header__logo {
  transition: var(--common-transition);
  width: 112px;
}
.site-header__name,
.site-header__desc {
  display: none
}
/* Instagram */
.site-header__insta-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.site-header__insta-icon {
  -webkit-mask-image: url(images/common/header/icon-instagram.svg);
  -webkit-mask-size: 40px;
  width: 40px;
  height: 40px;
  background-color: var(--main-color);
}
@media (min-width: 992px) {
.site-header {
  padding: 0;
}
.site-header__inner {
  max-width: none;
}
.site-header__brand {
  margin: 2.6vw 0 2.6vw 5.21vw;
}
.site-header__link {
  display: flex;
  flex-wrap: wrap;
}
.site-header__logo {
  width: 45.14%;
  margin: 0 2vw 1vw 0;
}
.site-header__name,
.site-header__desc {
  display: block;
}
.site-header__name {
  align-self: center;
  margin: 1.04vw 0;
  font-size: clamp( 0px, 1.72vw, 26px );
}
.site-header__desc {
  width: 100%;
  font-size: clamp( 0px, .992vw, 19px );
}
/* Instagram */
.site-header__insta-wrap {
  order: 3;
  flex-shrink: 0;
  width: 8.07vw;
  background: var(--main-color);
}
.site-header__insta-icon {
  -webkit-mask-size: 3.8vw;
  width: 3.8vw;
  height: 3.8vw;
  background-color: #fff;
}
.site-header__insta-link:hover .site-header__insta-icon {
  transition: var(--common-transition);
  transform: scale(1.2);
}
/* Scrolled */
.site-header.scrolled .site-header__brand {
  margin: 1vw 1.6vw;
}
.site-header.scrolled .site-header__logo {
  width: 7vw;
  margin-bottom: 0;
}
.site-header.scrolled .site-header__name,
.site-header.scrolled .site-header__desc {
  display: none;
}
.site-header.scrolled .site-header__insta-icon {
  -webkit-mask-size: 2.5vw;
  width: 2.5vw;
  height: 2.5vw;
}
}
/* ----------------------------------------
  Global Navigation
---------------------------------------- */
.gnavi {
  opacity: 0;
  transition: all .2s;
  position: fixed;
  top: 0;
  left: 0;
  display: none;
  flex-wrap: wrap;
  flex-flow: column;
  align-items: center;
  width: 100vw;
  height: 100vh;
  background: #F6F1E7;
}
.gnavi-toggle {
  display: none;
}
.gnavi-toggle-btn {
  margin-left: 25px;
  padding-top: 16px;
  cursor: pointer;
  user-select: none;
  z-index: 10;
}
.gnavi-toggle:checked ~ .gnavi {
 opacity: 1;
 display: flex;
}
.gnavi-toggle-btn span,
.gnavi-toggle-btn span:before,
.gnavi-toggle-btn span:after {
  transition: transform 0s, top .2s;
  display: block;
  height: 8px;
  width: 40px;
  background-color: var(--main-color);
}
.gnavi-toggle-btn span {
  position: relative;
}
.gnavi-toggle-btn span:before {
  top: -16px;
}
.gnavi-toggle-btn span:after {
  top: 16px;
}
.gnavi-toggle-btn span:before,
.gnavi-toggle-btn span:after {
  position: absolute;
  content: "";
}
.gnavi-toggle:checked ~ .gnavi-toggle-btn span:before, .gnavi-toggle:checked ~ .gnavi-toggle-btn span:after {
 transition: transform .2s ease-in-out;
}
.gnavi-toggle:checked ~ .gnavi-toggle-btn span {
 background: transparent;
}
.gnavi-toggle:checked ~ .gnavi-toggle-btn span:before {
 transform: rotate(45deg);
 top: 0;
}
.gnavi-toggle:checked ~ .gnavi-toggle-btn span:after {
 transform: rotate(-45deg);
 top: 0;
}
.gnavi__ttl {
  margin: 2em 0 .6em;
  color: var(--main-color);
  font-size: 26px;
  font-weight: 900;
}
.gnavi__ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
.gnavi__link {
  display: block;
  padding: 20px 20px 20px 80px;
  background: url(images/common/header/gnavi__icon-01.svg) no-repeat left center;
  background-size: 60px;
  text-align: center;
  text-decoration: none;
  color: #000;
  font-size: 21px;
  font-weight: bold;
}
.gnavi__li:nth-child(1) .gnavi__link {
  background-image: url(images/common/header/gnavi__icon-01.svg);
}
.gnavi__li:nth-child(2) .gnavi__link {
  background-image: url(images/common/header/gnavi__icon-02.svg);
}
.gnavi__li:nth-child(3) .gnavi__link {
  background-image: url(images/common/header/gnavi__icon-03.svg);
}
.gnavi__li:nth-child(4) .gnavi__link {
  background-image: url(images/common/header/gnavi__icon-04.svg);
}
.gnavi__li:nth-child(5) .gnavi__link {
  background-image: url(images/common/header/gnavi__icon-05.svg);
}
.gnavi__li:nth-child(6) .gnavi__link {
  background-image: url(images/common/header/gnavi__icon-06.svg);
}
.gnavi__li:nth-child(7) .gnavi__link {
  background-image: url(images/common/header/gnavi__icon-07.svg);
}
/* LINE */
.gnavi__line {
  position: fixed;
  bottom: 0;
  text-align: center;
}
.gnavi__line__img {
  width: 165px;
}
@media (min-width: 992px) {
.gnavi {
  opacity: 1;
  position: relative;
  display: flex;
  flex-shrink: 0;
  flex-flow: row;
  width: 50vw;
  height: auto;
  background: none;
}
.gnavi-toggle-btn {
  display: none;
}
.gnavi__ttl {
  display: none;
}
.gnavi__ul {
  display: flex;
  width: 100%;
  height: 100%;
}
.gnavi__li {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: 0;
  height: 100%;
}
.gnavi__link {
  transition: var(--common-transition);
  width: 100%;
  height: 100%;
  padding: 0;
  padding-top: 2.6vw;
  background-size: 80%;
  background-position: center bottom 2.6vw;
  font-size: 1vw;
}
.scrolled .gnavi__li .gnavi__link {
  padding-top: 1.5vw;
  background-image: none;
}
.gnavi__link:hover {
  border-bottom: solid 20px var(--main-color);
}
.gnavi__li:nth-child(3n + 1) .gnavi__link:hover {
  border-color: var(--main-color);
}
.gnavi__li:nth-child(3n + 2) .gnavi__link:hover {
  border-color: var(--accent-color-01);
}
.gnavi__li:nth-child(3n) .gnavi__link:hover {
  border-color: var(--accent-color-02);
}
/* LINE */
.gnavi__line {
  display: none;
}
}
/* ----------------------------------------
  Contents
---------------------------------------- */
.contents {
  overflow: hidden;
  word-break: break-word;
}
.contents__inner {
  overflow: hidden;
  max-width: 1280px;
  margin: 2em auto;
  padding: 2em;
  background: var(--sub-color-01);
}

/* 見出し */
.header-01 {
  margin: 1em 0;
  text-align: center;
  font-size: 36px;
  font-weight: 900;
}
.header-01 sub {
  display: block;
  bottom: -.5em;
  font-size: 16px;
  font-weight: normal;
}
@media (min-width: 992px) {
.header-01 {
  font-size: 55px;
}
.header-01 sub {
  font-size: 20px;
}
}
/* ボタン */
.btn-01 {
  text-align: center;
}
.btn-01 a {
  display: inline-block;
  padding: .6em 2em;
  background: var(--main-color);
  border-bottom: solid 6px #98000F;
  border-radius: 100vw;
  text-decoration: none;
  color: #fff;
  font-size: clamp( 0px, 5vw, 24px );
  font-weight: bold;
}
.btn-01 a:hover,
.btn-01 a:active {
  margin-top: 6px;
  border-bottom: 0;
  color: #EE4D5A;
}
/* Slide */
.infinity-slide {
  display: flex;
  flex-wrap: nowrap;
}
.infinity-slide__ul {
  list-style: none;
  animation: infinity-slide 24s linear infinite;
  display: flex;
  flex-wrap: nowrap;
  flex-shrink: 0;
  margin: 0;
  padding: 2em 0;
}
.infinity-slide__li {
  padding: 13px;
}
.infinity-slide__img {
  width: 100%;
}
@keyframes infinity-slide {
 0% {
 transform: translateX(0);
}
 100% {
 transform: translateX(-100%);
}
}

/* ----------------------------------------
  Footer
---------------------------------------- */
.site-footer {
  text-align: center;
}
.site-footer__logo {
  width: 25.6vw;
  margin: 30px 0 40px;
}
@media (min-width: 992px) {
.site-footer__inner {
  max-width: var(--pc-max-width);
  margin: 0 auto;
}
.site-footer__logo {
  width: 16.46vw;
  margin: 120px 0 80px;
}
}
/* Footer Navigation */
.ft-navi {
  display: none;
}
@media (min-width: 992px) {
.ft-navi {
  display: block;
  padding-bottom: 50px;
}
.ft-navi__ul,
.ft-navi__ul .sub-menu {
  list-style: none;
  padding: 0;
}
.ft-navi__ul {
  display: flex;
}
.ft-navi__li {
  flex-grow: 1;
  line-height: 1;
}
.ft-navi__link {
  display: inline-block;
  margin-bottom: 16px;
  text-decoration: none;
  color: inherit;
  font-weight: bold;
}
.ft-navi__ul > .ft-navi__li > .ft-navi__link {
  margin-bottom: 40px;
  padding: 10px 20px;
  background: #F0EFEF;
  border-radius: 100vw;
  font-size: 18px;
  font-weight: 900;
}
}
/* Copyright */
.copyright {
  padding:20px;
  background: var(--main-color);
  color: #fff;
}
/* ----------------------------------------
  Home
---------------------------------------- */
/* LINE */
.home-line {
  margin: 0;
}
.home-line a {
  display: block;
  padding: 1em 1.5em;
  background: #22AC38;
  text-align: center;
  text-decoration: none;
  color: #fff;
  font-size: 28px;
  font-weight: bold;
}
.home__line__btn {
  display: none;
}
@media (min-width: 992px) {
.home-line a {
  background-image: url(images/home/line/bg.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: left 40px top 0;
  font-size: 5.21vw;
}
.home__line__btn {
  transition: var(--common-transition);
  transform: translateY(100%);
  position: fixed;
  bottom: 0;
  right: 2em;
  display: block;
  margin: 0;
  z-index: 500;
}
.home__line__btn.active {
  transform: translateY(0);
}
}
/* Shop */
.home__shop {
  overflow: hidden;
  position: relative;
  background: var(--sub-color-01);
}
.home__shop__text {
  scale: .8;
  margin: 1em 0;
}
.home__shop__photo {
  overflow: hidden;
  position: relative;
  margin-bottom: 4em;
  border-radius: 13.59% 13.59% 0 0;
}
.home__shop__photo:hover::after {
  content: '';
  pointer-events: none;
  opacity: .6;
  position: absolute;
  bottom: 0;
  display: block;
  width: 100%;
  height: 80%;
  background: var(--main-color);
}
.home__shop__photo .aligncenter {
  display: block;
  margin: 0;
}
.home__shop__photo img {
  width: 100%;
}
.home__shop__cococafe {
  transform: scale(.5);
  position: absolute;
  bottom: -80px;
  right: -80px;
}
.home__shop__cococafe__text {
  position: absolute;
  bottom: -1em;
  right: 0;
}
.home__shop__bridge {
  filter: brightness(0%);
  transform: translateX(-100%);
  position: absolute;
  top: 51%;
  left: 50%;
}
.home__shop__bridge-02 {
  display: none;
}
@media (min-width: 992px) {
.home__shop {
  padding-bottom: 200px;
}
.home__shop__row {
  padding: 0 10vw;
}
.home__shop__cococafe {
  transform: scale(1);
  bottom: 0;
  left: -80px;
  right: auto;
}
.home__shop__bridge {
  transform: translateX(-50%);
  top: auto;
  bottom: 108px;
  left: 50%;
}
.home__shop__bridge-01 {
  display: none;
}
.home__shop__bridge-02 {
  display: block;
}
}
/* Reason */
.home__reason {
  position: relative;
  padding: 5.5em 0;
  background: var(--main-color) url(./images/home/reason/wrap-bg.svg) no-repeat center center;
  background-size: 1370px;
}
.home__reason__title {
  margin-bottom: 1em;
  text-align: center;
  color: #fff;
  font-size: 47px;
  font-weight: 900;
}
.home__reason__title:first-line {
  font-size: 27px;
}
.home__reason__list {
  counter-reset: listnum;
  list-style: none;
  margin: 0 6.2vw;
  padding: 0;
}
.home__reason__list li {
  aspect-ratio: 300 / 172;
  position: relative;
  display: block;
  margin-bottom: 20px;
  padding: 20% 0 0 23.33%;
  background: url(./images/home/reason/item-bg--sp.svg) no-repeat;
  background-size: contain;
  color: var(--main-color);
  font-size: 6.67vw;
  font-weight: 900;
}
.home__reason__list li::first-line {
  font-size: 4.27vw;
}
.home__reason__list li::before {
  counter-increment: listnum;
  content: counter(listnum);
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
  left: 7%;
  font-size: 19.2vw;
}
.home__reason__img-02 {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 180px;
}
@media (min-width: 992px) {
.home__reason {
  padding: 10em 0;
  background-size: 2426px;
}
.home__reason__list li {
  aspect-ratio: 1100 / 132;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 20px;
  padding: 0;
  background-image: url(./images/home/reason/item-bg--pc.svg);
  text-align: center;
  vertical-align: middle;
  font-size: clamp( 0px, 1.77vw, 34px);
}
.home__reason__list li::first-line {
  font-size: inherit;
}
.home__reason__list li::before {
  left: 56px;
  font-size: clamp( 0px, 6vw, 70px);
}
.home__reason__img-02 {
  width: clamp( 180px, 26.56vw, 510px);
}
}
/* Maintenance */
.home__maintenance {
  overflow: hidden;
  padding: 2em;
  background: var(--main-color);
  text-align: center;
}
.home__maintenance__inner {
  margin: auto;
  background: none;
  border-image-source: url(./images/home/search/inner-bg--sp.svg);
  border-image-slice: 100 fill;
  border-image-width: 100px;
  border-image-repeat: stretch;
}
.home__maintenance__title {
  margin: .4em 0;
  color: var(--main-color);
  font-size: 34px;
  font-weight: 900;
}
.home__maintenance__lead {
  margin: 0 0 2em;
  font-size: 3.6vw;
  font-weight: 900;
}
.home__maintenance__lead__text-l {
  display: block;
  font-size: 5.6vw;
}
.home__maintenance__btn {
  aspect-ratio: 250 / 164;
  display: block;
  white-space: nowrap;
  background: url(./images/home/maintenance/btn-01--on.svg) no-repeat center bottom;
  background-size: contain;
  text-indent: 100vw;
}
.home__maintenance__btn-01 {
  background-image: url(./images/home/maintenance/btn-01--on.svg);
}
.home__maintenance__btn-01:hover,
.home__maintenance__btn-01:active,
.home__maintenance__btn-01.active {
  background-image: url(./images/home/maintenance/btn-01--off.svg);
}
.home__maintenance__btn-02 {
  background-image: url(./images/home/maintenance/btn-02--on.svg);
}
.home__maintenance__btn-02:hover,
.home__maintenance__btn-02:active,
.home__maintenance__btn-02.active {
  background-image: url(./images/home/maintenance/btn-02--off.svg);
}
@media (min-width: 992px){
.home__maintenance__inner {
  max-width: 1000px;
  margin: 4em auto;
  padding: 6em 0;
}
.home__maintenance__title {
  margin-top: 0;
  font-size: 40px;
}
.home__maintenance__lead {
  font-size: 28px;
}
.home__maintenance__lead__text-l {
  font-size: 40px;
}
}
/* Service */
.home__service {
  overflow: hidden;
  position: relative;
  background: var(--sub-color-01);
}
.home__service__titile {
  margin-bottom: 1em;
}
.home__service__btn-wrap {
  width: 61.33vw;
  margin: 0 auto;
}
.home__service__btn {
  aspect-ratio: 530/348;
  position: relative;
  display: block;
  white-space: nowrap;
  background: url(./images/home/service/btn-01--on.svg) no-repeat center bottom;
  background-size: contain;
  text-indent: 100vw;
  z-index: 50;
}
.home__service__btn-01 {
  background-image: url(./images/home/service/btn-01--on.svg);
}
.home__service__btn-01.active,
.home__service__btn-01:hover,
.home__service__btn-01:active {
  background-image: url(./images/home/service/btn-01--off.svg);
}
.home__service__btn-02 {
  background-image: url(./images/home/service/btn-02--on.svg);
}
.home__service__btn-02.active,
.home__service__btn-02:hover,
.home__service__btn-02:active {
  background-image: url(./images/home/service/btn-02--off.svg);
}
.home__service__btn-03 {
  background-image: url(./images/home/service/btn-03--on.svg);
}
.home__service__btn-03.active,
.home__service__btn-03:hover,
.home__service__btn-03:active {
  background-image: url(./images/home/service/btn-03--off.svg);
}
.home__service__btn-04 {
  background-image: url(./images/home/service/btn-04--on.svg);
}
.home__service__btn-04.active,
.home__service__btn-04:hover,
.home__service__btn-04:active {
  background-image: url(./images/home/service/btn-04--off.svg);
}
.home__service__btn-05 {
  background-image: url(./images/home/service/btn-05--on.svg);
}
.home__service__btn-05.active,
.home__service__btn-05:hover,
.home__service__btn-05:active {
  background-image: url(./images/home/service/btn-05--off.svg);
}
.home__service__baloon-wrap {
  pointer-events: none;
  position: relative;
}
.home__service__baloon-wrap-r {
  margin-bottom: -10px;
  text-align: right;
  z-index: 40;
}
.home__service__baloon-wrap-l {
  z-index: 60;
}
.home__service__img {
  margin: 0;
}
.home__service__img img {
  width: clamp( 0px, 42.67vw, 160px );
}
.home__service__img-01 {
  margin: 0 10vw -5vw 0;
}
.home__service__baloon {
  position: absolute;
  top: 0;
  display: none;
  width: 175px;
}
.home__service__baloon--sp.active {
  display: block;
}
.home__service__baloon-wrap-r .home__service__baloon--sp.active {
  top: 26px;
  left: 40px;
}
.home__service__baloon-wrap-l {
  margin-top: -44px;
}
.home__service__baloon-wrap-l .home__service__baloon--sp.active {
  top: 44px;
  right: 44px;
}
@media (min-width: 992px) {
.home__service {
  padding: 120px 0 100px;
  background-size: 800px;
  background-position: right -200px;
}
.home__service__btn-wrap {
  width: 80%;
  margin: 0 auto;
  padding: 0 5.75rem;
}
.home__service__btn {
  position: relative;
}
.home__service__img-01 {
  margin: 0;
}
.home__service__baloon-wrap {
  display: block;
  position: absolute;
  bottom: 0;
}
.home__service__baloon-wrap-r {
  right: 0;
  margin: 0;
}
.home__service__baloon-wrap-l {
  left: 0;
}
.home__service__img img {
  width: clamp( 0px, 20.83vw, 400px );
}
.home__service__baloon {
  transform: translate( -50%, -100% );
  width: 273px;
  top: 0;
  right: auto;
  left: 50%;
}
.home__service__baloon.active {
  display: block;
}
.home__service__baloon--sp.active {
  display: none;
}
}
/* NEWS */
.home__news {
  overflow: hidden;
  padding: 2em 0;
  background: var(--accent-color-01);
}
.home__news__title {
  color: #fff;
}
@media (min-width: 992px) {
.home__news {
  padding: 1em 0 3em;
}
}
/* Instagram */
.home__instagram {
  overflow: hidden;
  padding: 4em 0;
  background: var(--main-color) url(images/home/instagram/bg.svg) no-repeat center 30px;
  background-size: 60px;
}
.home__instagram__title {
  margin-bottom: 1.2em;
  color: #fff;
}
.home__instagram__title sub {
  bottom: -1em;
}
@media (min-width: 992px) {
.home__instagram {
  background-position: center 40px;
  background-size: 80px;
}
}
/* About us */
.home__about {
  overflow: hidden;
  padding: 0 0 2em;
  background: var(--sub-color-01);
}
.home__about__ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.home__about__li {
  margin-bottom: 1em;
}
.home__about__link {
  overflow: hidden;
  aspect-ratio: 700 / 200;
  display: flex;
  align-items: end;
  margin-bottom: .6em;
  padding: .6em;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  border: solid .2em var(--main-color);
  border-radius: 1em;
  box-shadow: 0 .6em var(--main-color);
  line-height: 1;
  text-decoration: none;
  color: #fff;
  font-size: clamp(17px, 4.6vw, 38px);
  font-weight: 900;
}
.home__about__link::after {
  content: '';
  aspect-ratio: 1 / 1;
  width: .9em;
  margin-left: .6em;
  background: url(images/home/about/home__about__arrow.svg);
  background-size: cover;
  border-radius: 100vw;
  box-shadow: 0 0 1em #000;
}
.home__about__link:hover,
.home__about__link:active {
  margin-top: .6em;
  margin-bottom: 0;
  box-shadow: none;
}
.home__about__link--company {
  background-image: url(images/home/about/home__about__company-bg.jpg);
}
.home__about__link--recruit {
  background-image: url(images/home/about/home__about__recruit-bg.jpg);
}
@media (min-width: 992px) {
.home__about {
  padding: 4em 0;
}
}
/* Contact */
.home__contact {
  overflow: hidden;
  padding: 0 0 8em;
  background: var(--sub-color-01);
}
.home__content__info-wrap {
  margin: 2em 1.5rem;
}
.home__content__info-item {
  margin-bottom: 2em;
  text-align: center;
  font-size: 20px;
}
.home__contact__info__tel {
  margin: .0;
}
.home__contact__info__tel_link,
.home__contact__info__toll-free {
  display: inline-block;
  padding: 0 0 .1em 60px;
  text-decoration: none;
  color: inherit;
  font-size: 30px;
  font-weight: 900;
}
.home__contact__info__tel_link {
  background: url("/wp/wp-content/themes/vitec/images/home/contact/tel-icon.svg") no-repeat left 5px center;
  background-size: 40px;
}
.home__contact__info__toll-free {
  padding-bottom: .2em;
  background: url("/wp/wp-content/themes/vitec/images/home/contact/toll-free-icon.svg") no-repeat left center;
  background-size: 50px;
}
.home__contact__info__hours {
  margin-bottom: .4em;
  line-height: 1.3;
  font-size: 30px;
  font-weight: bold;
}
.home__contact__info__hours__small {
  display: block;
  font-size: 20px;
}
.home__contact__info__address {
  margin: 1em 0;
}
.home__contact__map {
  aspect-ratio: 360 / 220;
  display: block;
  width: 80%;
  margin: 0 auto 4em;
  padding: 2%;
  border: solid 1px #231715;
  background: #fff;
}
.home__contact__calendar-wrap {
  max-width: var(--pc-max-width);
  margin: 0 auto;
  padding: 1.5rem;
}
.home__contact__calendar__header {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 1em 0;
  padding: .75em 2em;
  background: #402118;
}
.home__contact__calendar {
  width: 100%;
  height: 540px;
}
@media (min-width: 992px) {
.home__content__info-wrap {
  display: flex;
  justify-content: space-around;
}
.home__content__info-item {
  display: flex;
  flex-direction: column;
  width: 45%;
}
.home__contact__info__tel-wrap {
  height: 160px;
}
.home__contact__info__tel {
  margin: .4em 0 -.6em;
  text-align: center;
}
.home__contact__info__tel_link,
.home__contact__info__toll-free {
  font-size: 50px;
}
.home__contact__info__tel_link--coco {
  margin-top: .8em;
}
.home__contact__info__hours {
  height: 75px;
}
.home__contact__calendar {
  aspect-ratio: 16 / 9;
  height: auto;
}
}
/* ----------------------------------------
  Company
---------------------------------------- */
/* Hero */
.company-hero__logo {
  width: 228px;
  margin: 40px 0;
}
.company-hero__logo img {
  width: 100%;
}
.company-hero__lead {
  margin: 40px 0;
  line-height: 2;
  color: var(--main-color);
  font-size: 24px;
  font-weight: 900;
}
.company-hero__body {
  margin: 40px 0;
  line-height: 2;
  color: var(--main-color);
  font-size: 14px;
}
.company-hero__img {
  margin: 0 0 40px;
}
@media (min-width: 992px) {
.company-hero__logo {
  width: 564px;
  margin: 100px 0;
}
.company-hero__lead {
  font-size: 60px;
}
.company-hero__body {
  margin: 100px 0;
  font-size: 16px;
}
.company-hero__img {
  margin: 0 0 100px;
}
}
/* Activity */
.company-activity {
  margin: 0!important;
}
.company-activity__h2 {
  font-size: 6.4vw;
}
.company-activity__col {
  display: flex;
  flex-direction: column;
  min-height: 246px;
  background: var(--main-color);
  color: #fff;
}
.company-activity figure {
  margin: 0;
}
.company-activity__h3,
.company-activity__p {
  margin: 0;
  padding: 1rem;
  text-align: right;
}
.company-activity__h3 {
  display: flex;
  flex-grow: 1;
  justify-content: end;
  align-items: center;
  font-size: 5.33vw;
}
.company-activity__p {
  margin-top: -1rem;
  font-size: 4.27vw;
}
@media (min-width: 992px) {
.company-activity__h2,
.company-activity__h3 {
  font-size: 1.18vw;
}
.company-activity__row {
  justify-content: space-between;
}
.company-activity__row .col-lg-3 {
  width: 24.5%;
}
.company-activity__h3,
.company-activity__p {
  padding: 1rem 2rem;
}
.company-activity__p {
 font-size: .83vw;
}
}
/* Outline */
.company-outline tr {
  display: flex;
  flex-direction: column;
  max-width: var(--pc-max-width);
  margin: 0 auto 1.5rem;
}
.company-outline th,
.company-outline td {
  display: block;
  padding: 0 1em;
  border: none;
  line-height: 1.6875em;
  color: var(--main-color);
  font-weight: normal;
}
.company-outline th {
  position: relative;
  flex-shrink: 0;
  width: 100%;
  margin-bottom: .4em;
  padding-right: 1em;
  font-weight: bold;
}
.company-outline th::before {
  content: '';
  position: absolute;
  top: 0;
  right: 2em;
  display: block;
  width: 120vw;
  height: 1.6875em;
  border-radius: 1.6875em;
  background: #EFEFEF;
  z-index: -1000;
}
.company-outline td {
  flex-grow: 1;
}
.company-outline ul {
  list-style: none;
  padding: 0;
}
.company-outline .list-01 li::before {
  content: '●';
}
@media (min-width: 992px) {
.company-outline tr {
  flex-direction: row;
  margin-bottom: 3.79em;
}
.company-outline th {
  width: 25%;
}
.company-outline th::before {
  right: 0;
}
.company-outline td {
  padding-left: 10%;
}
.company-outline li {
  display: inline-block;
  margin-right: 2em;
}
}
/* History */
.company-history {
  padding: 40px 0;
  background: var(--main-color);
  color: #fff;
}
.company-history__inner {
  overflow: hidden;
  max-width: var(--pc-max-width);
  margin: 0 auto;
}
.company-history__ttl {
  margin: 40px 1em;
  text-align: center;
  font-size: 30px;
  font-weight: bold;
}
.company-history__ol {
  list-style: none;
  position: relative;
  padding: 0;
  padding-left: 22px;
}
.company-history__ol::after {
  content: '';
  position: absolute;
  top: 20px;
  left: 44px;
  display: block;
  width: 1px;
  height: 100%;
  border-left: solid 2px #fff;
}
.company-history__year {
  font-size: 50px;
  font-weight: 900;
}
.company-history__year::before {
  content: '●';
  margin-right: .2em;
}
.company-history__dl {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0;
}
.company-history__month,
.company-history__event {
  display: block;
  flex-shrink: 0;
 margin: .5rem 0;
}
.company-history__month {
  width: 24%;
  text-align: right;
  font-size: 24px;
  font-weight: bold;
}
.company-history__month::after {
  content: '月';
}
.company-history__event {
  padding: 0 1em;
  width: 76%;
  font-size: 16px;
  font-weight: bold;
}
@media (min-width: 992px) {
.company-history {
  padding: 60px 0;
}
.company-history__ttl {
  margin: 60px 1em;
  font-size: 55px;
}
.company-history__month {
  width: 15%;
}
.company-history__event {
  width: 85%;
}
}
/* ----------------------------------------
  NEWS
---------------------------------------- */
.post-wrap a {
  text-decoration: underline;
}
/* Category Navi */
.category-nav {
  text-align: center;
  margin: 40px 0;
  padding: 1.6em;
  background: #fff;
  color: var(--accent-color-01);
}
.category-nav__title {
  font-size: 36px;
  font-weight: 900;
}
.category-nav__ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.category-nav__a {
  color: inherit;
  text-decoration: none;
  font-size: 20px;
  font-weight: bold;
}
.category-nav__a:hover {
  text-decoration: underline;
}
.category-nav__a--active {
  display: inline-block;
  margin: .1em 0;
  padding: 0 .6em;
  border: solid 2px currentColor;
  border-radius: 100vw;
}
@media (min-width: 992px) {
.category-nav {
  margin: 120px 0;
  padding: 3em 1em;
}
.category-nav__li {
  display: inline-block;
  margin: 1em 3em 0;
}
}
/* ----------------------------------------
  Archive
---------------------------------------- */
/* Category navi */
.category-nav--archive {
  margin: 1.5rem 1.5rem 0;
  border-radius: 50px;
}
@media (min-width: 992px) {
.category-nav--archive {
  max-width: var(--pc-max-width);
  margin: 0 auto 1.5rem;
  border-radius: 100vw;
}
}
/* Post List */
.archive-wrap {
  background: var(--accent-color-01);
  color: #fff;
}
.archive-list {
  padding: 1.5rem;
}
.post-wrap--archive {
  margin-bottom: 1em;
}
.post-wrap--archive .archive__link {
  display: flex;
  flex-wrap: nowrap;
  background: #fff;
  box-shadow: 3px 3px 2px rgba(0, 0, 0, .15);
  text-decoration: none;
  color: #000;
}
.post-wrap--archive .archive__link:hover {
  background: rgba(255, 255, 255, .65);
  box-shadow: none;
}
.archive-list .post__thumbnail {
  flex-shrink: 0;
  width: 43.33%;
}
.archive-list .post__thumbnail img {
  aspect-ratio: 1;
  object-fit: cover;
  width: 100%;
}
.archive-list .post__body {
  flex: 1 1;
  padding: .6em;
  background: url(images/common/arrow-01.svg) no-repeat bottom .6em right .6em;
  font-size: 12px;
}
.archive-list .post__title {
  font-size: clamp( 16px, 4.27vw, 24px );
  font-weight: bold;
}
@media (min-width: 992px) {
.archive-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: var(--pc-max-width);
  margin: 0 auto;
}
.archive-list::after {
  content:"";
  display: block;
  width: 30%;
}
.post-wrap--archive {
  width: 32.5%;
}
.post-wrap--archive .archive__link {
  flex-direction: column;
  height: 100%;
}
.archive-list .post__thumbnail {
  width: 100%;
}
.archive-list .post__body {
  background-position: bottom 1em right 2em;
  background-size: 50px;
  padding: 1em 2em 3em;
  font-size: 16px;
}
.archive-list .post__date {
  font-size: 16px;
}
}
/* Pagenation */
.nav-links {
  word-break: normal;
  display: flex;
  justify-content: center;
  width: 100%;
  margin: 0 0 4em;
}
.page-numbers {
  box-sizing: content-box;
  display: block;
  width: 1em;
  height: 1em;
  margin: 0 .2em;
  padding: .2em;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  color: inherit;
}
.page-numbers:not(span, .dots):hover,
.page-numbers.current {
  background: #fff;
  border-radius: 50%;
  color: var(--accent-color-01);
}
@media (min-width: 992px) {
.nav-links {
  margin: 2em 0;
}
.page-numbers {
  font-size: 34px;
}
}
/* ----------------------------------------
  Single
---------------------------------------- */
.single-wrap {
  overflow: hidden;
  position: relative;
  background: var(--accent-color-01);
  color: #fff;
}
.post-wrap--single {
  margin: 0 1.5rem;
  padding: 5.21vw 10.42vw;
  background: #fff;
  border-radius: 8.8vw;
  color: #000;
}
.post-wrap--single .post__date {
  margin-bottom: 1em;
  text-align: center;
  font-size: 12px;
}
.post-wrap--single .post__title {
  margin-bottom: 1em;
  text-align: center;
  line-height: 1.4;
  font-size: 20px;
  font-weight: bold;
}
@media (min-width: 992px) {
.post-wrap--single {
  width: 41.67vw;
  margin: 0 auto;
  padding: 2.6vw 5.2vw;
  border: solid 2px #fff;
  border-radius: 3.33vw;
}
.post-wrap--single .post__title {
  font-size: 24px;
}
}
/* Previous/Next Navigation */
.pn-nav {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding: 1.5rem;
}
.pn-nav__link a {
  transition: .1s ease-in-out;
  position: relative;
  display: block;
  width: 160px;
  padding: 12px 16px;
  border-bottom: solid 8px var(--main-color-dark);
  border-radius: 100vw;
  background: var(--main-color);
  text-shadow: -1px -1px var(--main-color-dark);
  text-decoration: none;
  line-height: 1;
  letter-spacing:.2em;
  color: #fff;
  font-weight: 900;
}
.pn-nav__link:hover a,
.pn-nav__link:active a {
  transform: translateY(3px);
  margin-top: 8px;
  border-bottom-width: 0;
  color: #EE4D5A;
}
.pn-nav__next a {
  text-align: right;
}
.pn-nav__prev a::before,
.pn-nav__next a::after {
  font-family: "ヒラギノ角ゴ";
}
.pn-nav__prev a::before {
  content: '◀';
  margin-right: .3em;
}
.pn-nav__next a::after {
  content: '▶';
  margin-left: 1.3em;
}
@media (min-width: 992px) {
.pn-nav {
  width: 41.67vw;
  margin: 0 auto;
  padding: 2em 0;
}
}
/* ----------------------------------------
  Staff
---------------------------------------- */
.staff__hero {
  height: 570px;
  background: var(--main-color);
  color: #fff;
}
.staff__lead {
  display: flex;
  justify-content: center;
  margin: 2em 0 4em;
  text-align: center;
  font-size: 18px;
  font-weight: 900;
}
.staff__branch-menu {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: center;
  gap: 1em 0;
  margin: 0 3rem;
}
.staff__branch-link {
  position: relative;
  display: block;
  margin-bottom: 1em;
  padding-bottom: 60px;
  text-align: center;
}
.staff__branch-link::after {
  content: '';
  animation: arrow-move06 2s ease-in-out infinite;
  transform: translateX(-50%);
  position: absolute;
  bottom: 0;
  left: 50%;
  display: block;
  width: 45px;
  height: 42px;
  background: url(images/staff/click-icon.svg);
  background-size: cover;
}
.cococars-logo {
  width: 170px;
}
.kobac-logo {
  width: 230px;
}
@keyframes arrow-move06 {
 0% {
 bottom: .2em;
 opacity: 1;
}
 80% {
 bottom: .2em;
 opacity: 1;
}
 90% {
 bottom: 0;
 opacity: 0.3;
}
 100% {
 bottom: .2em;
 opacity: 1;
}
}
@media (min-width: 992px) {
.staff__hero {
  height: 830px;
}
.staff__hero__header {
  margin-top: 1.7em;
}
.staff__lead {
  margin: 40px 0 110px;
}
.staff__branch-menu {
  flex-direction: row;
  align-items: start;
  justify-content: space-between;
  gap: 1em 15.14%;
  width: 65%;
  margin: 0 auto;
}
.staff__branch-link:hover {
  transition: .1s;
  margin-bottom: 0;
  padding-top: 1em;
}
.cococars-logo {
  width: 323px;
}
.kobac-logo {
  width: 426px;
}
}
.staff__branch-wrap {
  background: var(--sub-color-01);
}
.staff__branch-inner {
  margin: 1.5rem;
  border: solid 2px var(--main-color);
  border-radius: 30px;
}
.staff__branch-header {
  margin: 0;
  padding: 3rem 3rem 0;
  text-align: center;
}
@media (min-width: 992px) {
.staff__branch-wrap:last-of-type {
  padding-bottom: 100px;
}
.staff__branch-inner {
  max-width: var(--pc-max-width);
  margin: 0 auto;
  padding: 70px;
  border-radius: 100px;
}
.staff__branch-header {
  transform: translateY(50%);
  margin: 100px 0 0;
  padding: 0;
}
.staff__branch-header__logo {
  padding: 0 30px;
  background: var(--sub-color-01);
}
}
/* Cards */
.slick-arrow {
  clip-path: polygon(0% 50%, 100% 0%, 100% 100%);
  translate: 0 -50%;
  position: absolute;
  top: 50%;
  width: 20px;
  height: 40px;
  margin: 0;
  padding: 0;
  border: none;
  background-color: var(--main-color);
  z-index: 200;
}
.slic-arrow--prev {
  left: 10px;
}
.slic-arrow--next {
  transform: scaleX(-100%);
  right: 10px;
}
.staff-card {
  filter: grayscale(100%);
  opacity: .65;
  cursor: grab;
  padding: 2em;
}
.staff-card.slick-center {
  filter: grayscale(0);
  opacity: 1;
}
.staff-card__name {
  height: 64px;
  margin-bottom: .2em;
  text-align: center;
  color: var(--main-color);
}
.staff-card__ruby {
  translate: 0 -.1em;
}
.staff-card__position {
  height: 44px;
  margin: 0 1em;
  padding: .6em 1em;
  border-radius: 100vw;
  text-align: center;
  background: var(--main-color);
  color: #fff;
}
.staff-card__photo {
  text-align: center;
}
.slick-slide .staff-card__photo img {
  display: inline;
  width: auto;
  height: 220px;
}
.staff-card__comment {
  height: 240px;
  padding: 1.5em;
  border: solid 2px var(--main-color);
  border-radius: 24px 24px 0 0;
  background: #fff;
  line-height: 1.6875;
  color: var(--main-color);
}
.staff-card__car {
  display: flex;
  margin: 0;
  padding: .75em 1.7em;
  border: solid 2px var(--main-color);
  border-radius: 0 0 24px 24px;
  background: var(--main-color);
  color: #fff;
}
.staff-card__car__dt,
.staff-card__car__dd {
  margin: 0;
  line-height: 1.2;
}
.staff-card__car__dt {
  flex-shrink: 0;
  margin-right: 1.25em;
  font-weight: normal;
}
@media (min-width: 992px) {
.slick-arrow {
  width: 48px;
  height: 95px;
}
.slic-arrow--prev {
  left: -3em;
}
.slic-arrow--next {
  right: -3em;
}
}
/* Banner */
.staff__banner {
  overflow: hidden;
  background: var(--sub-color-01);
}
.staff__banner__link {
  display: flex;
  align-items: end;
  height: 120px;
  margin: 0 0 20px 7px;
  padding-left: .2em;
  border: solid 2px var(--main-color);
  border-radius: 16px 0 0 16px;
  border-width: 2px 0 8px 2px;
  text-decoration: none;
  color: #fff;
  font-size: 20px;
  font-weight: 900;
}
.staff__banner__link--company {
  background: url(images/staff/banner-02.jpg) no-repeat center center;
  background-size: cover;
}
.staff__banner__link--recruit {
  background: url(images/staff/banner-01.jpg) no-repeat center center;
  background-size: cover;
}
@media (min-width: 992px) {
.staff__banner {
  display: flex;
  align-items: end;
  padding: 50px 0;
}
.staff__banner__link {
  height: 350px;
  margin: 0;
  border: solid 6px var(--main-color);
  border-radius: 46px;
  font-size: 60px;
}
.staff__banner__link--company {
  order: 2;
  flex-grow: 1;
  border-radius: 46px 0 0 46px;
  border-width: 6px 0 26px 6px;
}
.staff__banner__link--recruit {
  order: 1;
  width: 38.18vw;
  margin-right: 40px;
  border-radius: 0 46px 46px 0;
  border-width: 6px 6px 26px 0;
}
.staff__banner__link--company:hover,
.staff__banner__link--recruit:hover {
  height: 334px;
  border-bottom-width: 6px;
}
}
/* ----------------------------------------
  Stock
---------------------------------------- */
.stock-list {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 2%;
  margin: 0;
  padding: 0;
  color: #000;
}
.stock-list__li {
  width: 100%;
  margin-bottom: 1em;
  text-align: left;
}
.stock-list__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 1em;
  background: #fff;
  border: solid 1px #ccc;
  border-radius: 6px;
  box-shadow: 3px 3px 2px rgba(0, 0, 0, .15);
  text-decoration: none;
  color: inherit;
}
.stock-list__link:hover {
  background: rgba(255, 255, 255, .65);
  box-shadow: none;
}
.stock-list__name {
  position: relative;
  overflow: hidden;
  flex-grow: 1;
  margin-bottom: 1rem;
  font-size: 1.2em;
}
.stock-list__visual {
  aspect-ratio: 240/ 180;
  position: relative;
  margin: 0 0 1em;
}
.stock-list__visual__img {
  aspect-ratio: 240/ 180;
  object-fit: cover;
  position: absolute;
  width: 100%;
  z-index: 100;
}
.stock-list__visual__img:first-child {
  z-index: 300;
}
.stock-list__visual__img:nth-child(2) {
  z-index: 200;
}
.stock-list__price {
  text-align: center;
}
.stock-list__price__dd__num {
 margin-right: .5rem;
  line-height: 1.2;
  font-size: 2em;
  font-weight: bold;
  color: var( --main-color );
}
.stock-list__data {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin: 0;
  line-height: 1.8;
}
.stock-list__data__dt {
  width: 33%;
  background: var( --main-color );
  text-align: center;
  color: #fff;
  font-weight: normal;
}
.stock-list__data__dd {
  flex-grow: 1;
  width: 50%;
  margin: 0;
}
@media (min-width: 768px) {
.stock-list__li {
  width: 49%;
  margin-bottom: 2%;
}
}
@media (min-width: 1200px) {
.stock-list__li {
  width: 32%;
}
}
