@charset "UTF-8";
/* index.css */
#mv_wrap {
	padding-top: 120px;
}
#mv {
	width: 100%;
	height: 645px;
	height: 45vw;
	display: flex;
	position: relative;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 30px;
	border-radius: 10px;
	z-index: 3;
	overflow: hidden;
}
#mv:after {
	content: "";
	width:  calc(100% - 60px);
	height: calc(100% - 30px);
	position: absolute;
	top:  0;
	left: 30px;
	margin-top: 30px;
	border-radius: 10px;
	background-image: linear-gradient(70deg, rgba(255, 93, 0, 1) 50%, rgba(255, 255, 255, 0) 50%);
	background-size: 52%;
	background-repeat: no-repeat;
	mix-blend-mode: multiply;
	z-index: 0;
}
h1 {
	font-size: 35px;
	font-size: min(2.439vw,35px);
	line-height: 1;
	position: relative;
	writing-mode: vertical-rl;
	margin: 0 auto 0 8%;
	transform: translateY(.5em);
	z-index: 2;
}
h1 span {
	font-feature-settings: "palt", "vpal";
	line-height: 1;
	letter-spacing: .2em;
	padding: 0 .25em;
	display: inline-block;
	background-color: #fff;
}
h1 br + span {
	margin-right: .75em;
}
/* MV slideshow */
#mv_slide_wrap {
	width:  calc(100% - 60px);
	height: calc(100% - 30px);
	position: absolute !important;
	top:  0;
	margin-top: 30px;
	border-radius: 10px;
	overflow: hidden;
}
#mv_slide_wrap .uk-slideshow-items {
	width:  100%;
	height: 100%;
}
#mv_slide_wrap .uk-slideshow-items > * {
  transition: opacity 0.3s ease-in-out !important;
}


/* -----MV animation ----- */
h1 {
	height: 12em;
}
h1 small {
	width: 100%;
	height: .35em;
	font-size: 35px;
	font-size: min(2.439vw,35px);
	display: inline-block;
}
.text {
	width: 1.5em;
	height: 0;
	display: inline-block;
	position: absolute;
	top: 0;
    margin: 0;
	overflow: hidden;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    white-space: nowrap;
	transform: translateX(-50%);
	will-change: transform;
}
.text_one {
	max-height: 8.5em;
	left: 2.2em;
}
.text_two {
	max-height: 11.75em;
	left: 0;
}
.text.typing {
	height: 100%;
    border-bottom: 2px solid transparent;
    animation: typing 1s steps(23), caret 0.1s steps(1) infinite;
}
.caret-stop {
  animation: none !important;
  /* border-bottom-color: transparent !important; */
}
@keyframes typing {
	from {
		height: 0;
	}
}
@keyframes caret {
	50% {
		/* border-bottom-color: currentColor; */
	}
}

/* --- 背景 --- */
/* オレンジ */
#mv:after {
	background-size: 300% 100%;
}
/* 賑やかし背景 */
.mv_bg {
	width:  calc(100% - 60px);
	height: 100%;
	position: absolute;
	top: 0;
	left: 30px;
	margin-top: 30px;
	overflow-x: hidden;
	border-radius: 10px;
}
.mv_bg:before,
.mv_bg:after   {
	content: "";
	width:  100%;
	height: 100%;
	position: absolute;
	top:  -15px;
	left: -50%;
	margin-top: 0;
	background-size: 100%;
	background-repeat: no-repeat;
	z-index: 2;
	transform: scaleX(2) skew(20deg);
	transform-origin: left center;
}
.mv_bg:before {
	background-color: #ff5d00;
}
.mv_bg:after {
	background-color: #f7f6f2;
}

#mv.mv-start:after {
	animation: mvslide cubic-bezier(1, 0, 0, 1) 1s forwards;
	animation: mvslide cubic-bezier(1, 1, 0, 1) 1s forwards;
	animation-delay: .7s;
}
.mv-start .mv_bg:before,
.mv-start .mv_bg:after   {
		animation: mvbg cubic-bezier(1, 1, 0, 1) 1.1s forwards;
}
.mv-start .mv_bg:before {
	animation-delay: .5s;
}
.mv-start .mv_bg:after {
	animation-delay: .55s;
}

@keyframes mvbg {
	0% {
		transform: scaleX(2) skew(20deg);
	}
	100% {
		transform: scaleX(0) skew(20deg);
	}
}
@keyframes mvslide {
	0% {
		background-size: 300% 100%;
	}
	30% {
		background-size: 200% 100%;
	}
	100% {
		background-size: 52% 100%;
	}
}


/* ===== opening animation(黒グリッド) ===== */
.move .bg .bg-content {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(100% / 10 + 2px);
  z-index: 1010;
}
.move .bg .bg-content:nth-child(2) {
  top: 10%;
  animation-delay: 0.2s;
}
.move .bg .bg-content:nth-child(3) {
  top: 20%;
  animation-delay: 0.3s;
}
.move .bg .bg-content:nth-child(4) {
  top: 30%;
  animation-delay: 0.4s;
}
.move .bg .bg-content:nth-child(5) {
  top: 40%;
  animation-delay: 0.5s;
}
.move .bg .bg-content:nth-child(6) {
  top: 50%;
  animation-delay: 0.6s;
}
.move .bg .bg-content:nth-child(7) {
  top: 60%;
  animation-delay: 0.7s;
}
.move .bg .bg-content:nth-child(8) {
  top: 70%;
  animation-delay: 0.8s;
}
.move .bg .bg-content:nth-child(9) {
  top: 80%;
  animation-delay: 0.9s;
}
.move .bg .bg-content:nth-child(10) {
  top: 90%;
  animation-delay: 1s;
}
.move .bg .bg-content:before {
  background: #000;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*アニメーション*/
.move .bg .bg-content {
  animation-name: bg-anime;
  animation-duration: 0.5s;
  animation-delay: 0.1s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
}

@keyframes bg-anime {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(100%);
  }
}


/* ===== heading ===== */
.heading_semicircle {
	font-size: 16px ;
	text-align: center;
	margin-bottom: 40px;
}
.heading_semicircle img {
	width: 100%;
	height: 35px;
	display: inline-block;
	object-fit: contain;
	object-position: center;
	margin-bottom: 1em;
}
.heading_semicircle:after {
	content: "";
	width: 100%;
	height: 10px;
	display: block;
	background-image: url(../../img/common/h1_deco.svg);
	background-repeat: no-repeat;
	background-position: center;
	margin-top: 1em;
}
/* 白い見出し */
.heading_semicircle.head_white {
	color: #fff;
}
.heading_semicircle.head_white:after {
	background-image:url(../../img/common/h1_deco_white.svg)
}


/* ===== LoopText Animation ===== */
/* ----- ループスライダー ----- */
/* スライドの動き等速 */
.swiper-wrapper {
	transition-timing-function: linear;
}
/* 画像のサイズ調整 */
.swiper-slide img {
	width: 100%;
	height: auto;
}
.scroll-infinity__item {
	padding: 0 15px;
}
.scroll-infinity__item > img {
	width: 100%;
}


/* ===== リンクバナー ===== */
#sec_linkbnr .bg_wrap  {
	padding-left:  30px;
	padding-right: 30px;	
}
#sec_linkbnr .wrap {
	max-width: inherit !important;
}
.link_flex {
	width: 100%;
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	justify-content: space-between;
}
.torukon_recs > a {
	width: calc(100%/4 - 1%);
}

















/* ===== News ===== */
.news_box {
	padding-top: 30px;
	padding-bottom: 60px;
}
.news_box + .btn_kuro {
	margin-top: -30px;
}
.news_list a  {
	width: 100%;
	display: inline-block;
	transition: background-color .1s;
}
.news_list a:hover {
	background-color: #f6f6f6;
}
.news_list dl {
	font-size: 16px;
	font-size: clamp(13px,1.6vw,16px);
	position: relative;
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	padding: 1em 0;
	border-bottom: 1px solid #ccc;
}
.news_list dt,
.news_list dd {
	line-height: 1.5;
	font-weight: normal;
}
.news_list dt {
	min-width: 7.5em;
	text-align: center;
	letter-spacing: .05em;
	margin-right: 1em;
	color: #808080;
}
.news_list dt:before {
	content: "";
	min-width: 7.5em;
	height: 1px;
	display: block;
	position: absolute;
	left: 0;
	bottom: -1px;
	background-color: #000;
}
.fs_mini_sp {
	text-align: center;
}

/* ===== ポイント ===== */
.point_wrap .card {
	width: 100%;
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	justify-content: space-between;
}
.point_wrap .card * {
	color: #000 !important;
}
.point_wrap .card + .card {
	margin-top: 60px;
}
.point_wrap .img_wrap  {
	width: 55%;
}
.point_wrap .cont_wrap {
	width: 40%;
	/* pointer-events: none; */
}
.point_wrap .img_wrap img {
	border-radius: 20px;
}
.point_wrap h2 {
	width: 100%;
	margin-bottom: 30px;
}
.point_wrap h2 img {
	width:  100%;
	height: 30px;
	object-fit: contain;
	object-position: left center;
}
.point_wrap h3 {
	font-size: 24px;
	font-size: min(2.4vw,24px);
	font-weight: bold;
	font-feature-settings: "palt";
	margin-bottom: .85em;
}
.point_wrap p {
	letter-spacing: .15em;
	font-feature-settings: "palt";
}
.point_wrap .cont_wrap a {
	width:  100%;
	height: auto;
	display: inline-block;
	margin-top: 25px;
	border-radius: 10px;
	background-color: #fff;
}


/* ===== point slideshow ===== */
.pswiper_navwrap {
	width: 100%;
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	margin-top: 25px;
}
.pswiper_navwrap:after {
	content: "";
	width:  0;
	height: 0;
}

/* count number pagination */
p.pswiper_nav,
p.pswiper_nav span {
	font-weight: 700;
	font-family: din-2014, "Barlow", sans-serif !important;
}
p.pswiper_nav {
	width: fit-content;
	font-size: 16px;
	font-size: clamp(14px,1.6vw,16px);
	display: inline-flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-start;
}
p.pswiper_nav span {
	font-size: 1.25em;
	display: inline-block;
}
p.pswiper_nav span:first-of-type {
	margin-right: .15em;
}
p.pswiper_nav span:nth-of-type(2) {
	margin-left: .15em;
}

/* --- progress circle --- */
.autoplay-progress {
	width:  50px;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	position: absolute;
	z-index: 10;
  }
  .autoplay-progress svg {
	--progress: 0;
	position: absolute;
	left: 0;
	top: 0px;
	z-index: 10;
	width: 100%;
	height: 100%;
	stroke-width: 1.25px;
	stroke: #000;
	fill: none;
	stroke-dashoffset: calc(125.6px * (1 - var(--progress)));
	stroke-dasharray: 125.6;
	transform: rotate(-90deg);
  }

/* --- slider nav --- */
.prev_next_wrap {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
	position: relative;
}
.prev_nav,
.next_nav {
	width:  35px;
	height: 35px;
	min-width:  35px;
	min-height: 35px;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background-image: url(../../img/common/btn_arrow.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 40%;
	background-color: #000;
	border-radius: 50px;
	cursor: pointer !important;
}
.prev_nav {
	margin-right: 15px;
	background-image: url(../../img/common/btn_arrow_mirror.svg);
}


/* ===== サービス ===== */
.shead_flex {
	display: flex;
	justify-content: flex-start;
	flex-wrap: nowrap;
	align-items: stretch;
}
.shead_flex .head_white {
	max-width: 220px;
	margin-right: 40px;
}
.shead_flex p {
	margin-right: 40px;
	margin-bottom: 1em;
	color: #fff;
}
.shead_flex .btn_kuro a {
	border: 1px solid #fff;
}
.shead_cont {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: flex-start;
}


/* サービスについて */
h3 {
	font-size: 20px;
	font-size: min(1.8vw,20px);
}
.service_about {
	width: 100%;
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	justify-content: space-between;
}
.service_about .card {
	width: calc(100%/4 - 1%);
	padding: 30px 20px 40px;
	padding: min(3vw,30px) min(2vw,20px) min(3vw,40px);
	background-color: #fff;
}
.service_about h3 {
	width: 100%;
	font-feature-settings: "palt";
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: .75em;
}
.service_about h3 .maru {
	min-width:  1.75em;
	min-height: 1.75em;
	font-size: 20px;
	font-family: din-2014, "Barlow", sans-serif !important;
	line-height: 1;
	letter-spacing: .05em;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
	margin-bottom: .75em;
	color: #fff;
	background-color: #ff5d00;
	border-radius: 50px;
}


/* ===== 各サービスページへのリンク ===== */
.service_link {
	width: 100%;
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
}
.service_link .card {
	width: calc(100%/3 - 1%);
	position: relative;
	overflow: hidden;
	padding: 30px 20px 40px;
	background-color: #fff;
	z-index: 1;
}
.service_link .card h3:before {
	content: "";
	width:  calc(100% - 10px);
	height: calc(100% - 10px);
	display: block;
	position: absolute;
	top:  5px;
	left: 5px;
	border: 1px solid #000;
	pointer-events: none;
}
.service_link h3 {
	text-align: center;
	margin-bottom: 1em;
}
.service_link .cont_orange {
	width: 100%;
	font-weight: bold;
	line-height: 1;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	color: #ff5d00;
}
.service_link .cont_orange svg {
	width:  1.1em;
	height: 1.1em;
	display: block;
	fill: #ff5d00;
	margin-left: .5em;
	overflow: visible;
	transition: fill ease .3s;
}
.btn_orange a {
	max-width: 400px;
}
.btn_orange a:after {
	margin-left: 0;
}

/* ▼ hover */
.service_link .card:before,
.service_link .card:after  {
	content: "";
	width:  150%;
	height: 102%;
	position: absolute;
	top: 0%;
	z-index: -1;
	transition: transform ease .3s;
}
.service_link .card:before {
  right: -100%;
  background-color: #ff5d00;
  transform: translateX(-180%) skew(45deg);
}
.service_link .card:after {
  left: -100%;
  background-color: #ff5d00;
  transform: translateX(180%) skew(45deg);
}
.service_link .card:hover:before {
  transform: translateX(-99%) skew(45deg);
}
.service_link .card:hover:after {
  transform: translateX(99%) skew(45deg);
}
.service_link .card h3,
.service_link .card p {
	transition: color ease .3s;
}
.service_link .card:hover h3,
.service_link .card:hover p {
	color: #fff;
}
.service_link .card:hover svg {
	fill: #fff;
	overflow: visible;
}
/* ▲ hover */

/* ===== modalの中身（各サービスページへのリンク） ===== */
.uk-modal {
	padding: 50px 40px;
}
.modal_contbox {
	width: 100%;
	max-width: 1000px !important;
	position: relative;
	padding: 80px 40px;
	padding-top:    clamp(40px,8vw,80px);
	padding-bottom: clamp(40px,8vw,80px);
	background-color: #fff;
}
.modal_position {
	width:  100%;
	display: flex;
	flex-direction: column;
	align-items: center;
}
/* modal closeボタン */
.service_modal .uk-modal-close-default svg {
	display: none;
}
.service_modal .uk-modal-close-default {
	width:  35px;
	height: 35px;
	min-width:  35px;
	min-height: 35px;
	display: block;
	background-image: url(../../img/common/modal_close.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	top:   15px;
	right: 15px;
}
.modal_contwidth {
	max-width: 770px;
	margin-left:  auto;
	margin-right: auto;
}
/* modal内の文章 */
.service_modal h2 {
	font-size: 24px;
	display: flex;
	justify-content: center;
	color: #ff5d00;
	margin-bottom: 1em;
}
.service_modal h2 + p {
	margin-bottom: 2em;
}
.service_modal h3 {
	font-size: 18px;
	font-feature-settings: "palt";
	margin-bottom: .35em;
}
.service_modal li {
	font-weight: bold;
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	justify-content: flex-start;
}
.service_modal li + li {
	margin-top: 1.5em;
}

/* --- モーダル（中古部品・パーツ販売） --- */
.service_modal .list_box {
	padding: 20px;
	border:   1px solid #000;
}
.service_modal .list_box li {
	font-size: clamp(13px,1.4vw,14px);
	font-weight: normal;
}
.service_modal .list_box li:before {
	content: "・";
}
.old_parts_card + .old_parts_card {
	margin-top: min(6vw,60px);
}
.old_parts_cont h3 {
	width: 100%;
	margin-bottom:  30px;
	padding-bottom: 0.75em;
	border-bottom: 1px solid #000;
}
.old_parts_cont .parts_flex {
	width: 100%;
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	justify-content: space-between;
}
.parts_flex .img_wrap {
	width: calc(40% - 15px);
}
.parts_flex .cont_wrap {
	width: calc(60% - 15px);
}
.old_parts_cont h4 {
	font-size: clamp(14px,1.6vw,16px);
	color: #ff5d00;
	margin-bottom: 1em;
}
.parts_flex .cont_box,
.parts_flex .cont_box p,
.parts_flex .cont_box a {
	font-size:  clamp(13px,1.4vw,14px);
	text-align: justify;
	word-break: break-all;
	line-height: 1.5;
	letter-spacing: .1em;
}

/* ----- タイヤ販売(#modal03) ----- */
ul.wheel_tab {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: space-between;
	margin-bottom: 20px;
}
ul.wheel_tab li {
	width:  calc(100%/4);
	height: auto;
	margin-top: 0 !important;
}
ul.wheel_tab li a {
	width:  100%;
	height: 100%;
	font-size: 18px;
	font-size: clamp(14px,1.6vw,16px);
	font-weight: 500;
	line-height: 1.3;
	text-align: center;
	padding: .75em .5em;
	color: #000;
	border: 1px solid #000;
	border-right: none;
	background-color: #fff;
	transition: color .2s, background-color .2s;
}
ul.wheel_tab li.uk-active a {
	color: #fff;
	background-color: #000;
}

ul.wheel_tab li:last-of-type a {
	border-right: 1px solid #000;
}




/* ===== Blog ===== */
/* ▼ トップページのBlog一覧にのみ適用 */
.blog_card {
	width: 100%;
	position: relative;
	margin-bottom: 0;
}
.blog_card > a > *,
.blog_tagmore {
	padding-right: 70px;
}
.blog_title {
	color: #000 !important;
	margin-bottom: 0 !important;
}
.blog_card  {
	padding-bottom: 25px;
}
.blog_more_orange {
	position: absolute;
	right:  20px;
	bottom: 25px;
}
/* ▲ トップページのBlog一覧にのみ適用 */

/* スライダーを作成 */
#blog_slider {
	margin-bottom: 50px;
}
/* card 高さ合わせ */
.swiper-wrapper {
	align-items: stretch;
}
#blog_slider li.swiper-slide {
	height: auto;
	display: flex;
	align-items: stretch;
}
#blog_slider .blog_card_wrap,
#blog_slider .blog_card {
	height: 100%;
}



/* 追加 */
.no_blog {
	text-align: center;
	padding-left:  40px;
	padding-right: 40px;
}
#blog_slider .swiper-slide {
  width: auto; /* SwiperがslidesPerViewで制御するのでautoでOK */
}


/* ===== 「採用情報」と「私たちについて」ページへのリンク ===== */
.link_in_blog a {
	width: calc(100%/2 - 1%);
	position: relative;
	padding: 15px;
	background-color: #fff;
	border: 5px solid #00c6ff;
}
.link_in_blog .title_box {
	width: fit-content;
	font-size: 20px;
	font-weight: bold;
	line-height: 1;
	position: absolute;
	top:  -5px;
	left: -5px;
	padding: .5em 0 .5em .75em;
	color: #fff;
	background-color: #00c6ff;
	z-index: 2;
}
.link_in_blog .title_box:after {
	content: "";
	width: 1.5em;
	height: 100%;
	display: block;
	position: absolute;
	top: 0;
	right: -1.5em;
	background-image: linear-gradient(125deg, rgb(0, 198, 255) 50%, rgba(255, 255, 255, 0) 50%);
}
/* オレンジ */
.link_in_blog .orange_card {
	border-color: #ff5d00;
}
.link_in_blog .orange_card .title_box {
	background-color: #ff5d00;
}
.link_in_blog .orange_card .title_box:after {
	background-image: linear-gradient(125deg, rgb(255, 93, 0) 50%, rgba(255, 255, 255, 0) 50%);
}
/* hoverアニメーション */
.link_in_blog .img_box {
	width:  100%;
	height: 100%;
	position: relative;
	overflow: hidden;
}
.link_in_blog .img_box:after {
	content: "";
	width:  100%;
	height: clamp(20px,3vw,30px);
	position: absolute;
	top:   10px;
	right: 10px;
	background-image: url(../../img/index/text_recruit.svg);
	background-repeat: no-repeat;
	background-position: center right;
	z-index: 2;
	opacity: .5;
}
.link_in_blog > a:nth-of-type(2) .img_box:after {
	background-image: url(../../img/index/text_about.svg);
}


.link_in_blog .img_box img {
	width:  100%;
	height: 100%;
	object-fit: cover;
	transition: opacity .3s, transform .3s;
}
.link_in_blog a:hover .img_box img {
	opacity: .8;
	transform: scale(1.05);
}


/* ===== instagram ===== */
.insta_link {
	width: fit-content;
}
.insta_link .cont_wrap {
	width: 90%;
	margin: 0 auto 20px;
}
.insta_btn {
	width: 50vw;
	max-width: 500px;
}
.insta_btn a {
	width: 100%;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-between;
	padding: 30px 40px;
	color: #fff;
	border-radius: 10px;
	background: linear-gradient(45deg, rgba(255, 169, 0, 1), rgba(255, 137, 15, 1) 15%, rgba(255, 14, 94, 1) 40%, rgba(228, 0, 139, 1) 65%, rgba(139, 0, 203, 1));
}
.insta_btn a:after {
	content: "";
	width:  20px;
	height: 20px;
	min-width:  20px;
	min-height: 20px;
	display: block;
	background-image: url(../../img/index/insta_btn_deco.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	transition: transform .3s;
}
.insta_btn a:hover:after {
	transform: translateX(5px);
}
.insta_btn span {
	width: 70%;
	display: inline-block;
}


/* ===== 工具紹介一例 ===== */
#sec_kougu .h2_img {
	margin-bottom: 20px;
}
#sec_kougu .h2_img img {
	height: 60px;
	height: 6vw;
	max-height: 60px;
	min-height: 50px;
	object-position: center;
}
#sec_kougu .h2_img + p {
	font-size: 30px;
	font-size: clamp(25px,3vw,30px);
	font-weight: 900;
	text-align:  center;
}
.kougu_wrap {
	width: 100%;
	max-width: 1200px;
	margin: auto;
}

/* ----- 工具 イメージマップ ----- */
.kougu_img.pc_blk {
	position: relative;
}

.imap-tooltip {
	width: 100%;
	position: absolute;
	left: 0;
	bottom: -16%;
	bottom: calc(min(8vw,75px)*-1);
	overflow: auto;
	color: #000;
	background: #fff;
	padding: 12px 16px;
	border-radius: 10px;
	font-size: 14px;
	line-height: 1.6;
	border: 3px solid #ff5d00;
	z-index: 500;
}
.imap-tooltip[hidden] { display: none !important; }

.imap-tooltip-close {
	position: absolute;
	right: 6px;
	top: 4px;
	width: 28px;
	height: 28px;
	border: 0;
	background: transparent;
	color: #000;
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
}
.imap-tooltip-body {
	/* 長文が読みやすいように */
	padding-right: 15px;
	white-space: normal;
	word-break: break-word;
}
.imap-tooltip-body h4 {
	font-size: 18px;
	font-size: clamp(16px,1.8vw,18px);
	text-align: center;
	margin-bottom: .35em;
	color: #ff5d00;
}
.imap-tooltip-body p {
	width: fit-content;
	font-size: 14px;
	font-size: clamp(12px,1.4vw,14px);
	margin: auto;
}

/* マップ上でポインタにする（任意） */
area[href] { cursor: pointer; }


/* ===== 工具紹介 モーダル ===== */
/* モーダル */
.modal {
	display: none !important;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	padding: 30px;
	align-items: center;
	justify-content: center;
	transition: opacity 0.3s;
	pointer-events: none;
	opacity: 0;
	z-index: 100;
	background-color: rgba(0,0,0,.6);
}
/* モーダルがactiveの時 */
.modal.is-active {
	opacity: 1;
	pointer-events: auto;
}
/* モーダル背景のオーバーレイ部分 */
.modal__overlay {
	width:  100%;
	height: 100%;
	position: absolute;
	cursor: pointer;
}
/* モーダルのコンテンツ */
.modal__content {
	width: 100%;
	max-width: 600px;
	position: relative;
	padding: 0;
}
.modal_inner {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	margin: 0 auto;
	padding: 20px 25px;
	border-radius: 2px;
	background: #FFF;
}
/* 閉じるボタン */
.modal__close-btn {
	width:  25px;
	height: 25px;
	position: absolute;
	right: 0;
	top: -30px;
	cursor: pointer;
	z-index: 20;
}
.modal__close-btn:hover {
	opacity: 0.8;
}
/* 閉じるボタンのX */
.lineClose {
	width: 25px;
	height: 0.1rem;
	display: inline-block;
	vertical-align: middle;
	color: #fff;
	line-height: 1;
	background: currentColor;
	border-radius: 0.1rem;
	position: relative;
	transform: rotate(45deg);
}
.lineClose::before {
	content: '';
	width:  100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: inherit;
	border-radius: inherit;
	transform: rotate(90deg);
}
p.swiperText {
	margin: 0;
	text-align: center;
}
/* 前・次 */
#modal .swiper-button-prev:after,
#modal .swiper-rtl .swiper-button-next:after,
#modal .swiper-button-next:after,
#modal .swiper-rtl .swiper-button-prev:after {
	content: "" !important;
    width:  30px;
    height: 30px;
    min-width:  25px;
    min-height: 25px;
    display: block;
    margin-left: auto;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 40%;
    background-color: #ff5d00;
}
#modal .swiper-button-prev,
#modal .swiper-rtl .swiper-button-next {
	left: -15px !important;
	right: inherit !important;
}
#modal .swiper-button-prev:after,
#modal .swiper-rtl .swiper-button-next:after {
    background-image: url(../../img/common/btn_deco_reverse.svg);
}
#modal .swiper-button-next,
#modal .swiper-rtl .swiper-button-prev {
	left: inherit !important;
	right: -15px !important;
}
#modal .swiper-button-next:after,
#modal .swiper-rtl .swiper-button-prev:after {
	background-image: url(../../img/common/btn_deco.svg);
}


@media screen and (max-width:949px) {
	/* ===== MV ===== */
	#mv_wrap {
		padding-top: 59px;
	}
	/* ===== Blog ===== */
	/* 
	#blog_slider li {
		width: calc(100%/2.2);
	} */
}





@media screen and (max-width:768px) {
	/* ===== MV ===== */
	#mv_wrap {
		padding-top: 59px;
	}
	#mv {
		height:  78vw;
		padding: 20px;
		align-items:     flex-start;
		justify-content: flex-start;
	}
	#mv:after {
		height: calc(100% - 20px);
		left: inherit;
		right: 20px;
		margin-top: 20px;
		background-image: linear-gradient(-110deg, rgba(255, 93, 0, 1) 50%, rgba(255, 255, 255, 0) 50%);
		background-position: right center;
		mix-blend-mode: overlay;
	}
	#mv h1 {
		font-size: 15px;
		font-size: min(4vw,30px);
		margin: 1.5em 1.5em 0 auto;
		transform: unset;
	}
	#mv h1 small {
		font-size: 15px;
		font-size: min(4vw,30px);
	}
	/* MV slideshow */
	#mv_slide_wrap {
		width:  calc(100% - 40px);
		height: calc(100% - 20px);
		margin-top: 20px;
	}
	/* -----MV animation ----- */
	.mv_bg {
		width: calc(100% - 40px);
		left: 20px;
		margin-top: 20px;
	}
	.text_one {
		left: 0;
	}
	.text_two {
		left:  inherit;
		right: 1.5em;
	}


	/* ===== heading ===== */
	.heading_semicircle {
		font-size: 12px;
		margin-bottom: 20px;
	}
	.heading_semicircle:after {
		height: 6px;
		margin-top: .5em;
	}
	.heading_semicircle img   {
		height: 23px;
	}


	/* ===== トルコン太郎 / RECS リンク ===== */
	.torukon_recs {
		flex-wrap: wrap;
		flex-direction: column;
	}
	.torukon_recs > a {
		width: 100%;
	}
	.torukon_recs > a:not(:first-of-type) {
		margin-top: 15px;
	}


	/* ===== modal ===== */
	/* グレー背景 */
	.uk-modal {
		padding: 40px 20px 20px;
	}
	/* バツ */
	.service_modal .uk-modal-close-default {
		top:   -15px;
		right: -10px;
	}
	/* ホワイトボックス */
	.modal_contbox {
		max-width: 600px !important;
		padding: 30px 20px;
	}
	.modal_contwidth  {
		max-width: 500px;
		margin-left:  auto;
		margin-right: auto;
	}
	.service_modal h2 {
		font-size: 18px;
		line-height: 1.5;
		margin-bottom: 1.5em;
	}
	.service_modal h2 + p {
		font-size: 13px;
	}

	/* ----- 中古部品(#modal02) ===== */
	.service_modal .list_box {
		padding: 15px;
	}
	.old_parts_card + .old_parts_card {
		margin-top: 40px;
	}
	.old_parts_cont .parts_flex {
		flex-wrap: wrap;
	}
	.old_parts_cont .parts_flex .img_wrap {
		margin-bottom: 20px;
	}
	.old_parts_cont .parts_flex > * {
		width: 100%;
	}
	.old_parts_cont h3 {
		margin-bottom: 20px;
	}

	/* ----- タイヤ販売(#modal04) ----- */
	ul.wheel_tab {
		justify-content: center;
	}
	ul.wheel_tab li   {
		width: calc(100%/2);
		margin-left:   -1px;
		margin-bottom: -1px;
	}
	ul.wheel_tab li a {
		font-size: 12px;
		border: 1px solid #000 !important;
	}





	/* ===== News ===== */
	.news_box {
		padding-top: 30px;
		padding-bottom: 55px;
	}
	.news_list dl,
	.news_list dt,
	.news_list dd {
		font-size: 12px;
	}
	.news_list dl {
		flex-wrap: wrap;
	}
	.news_list dt,
	.news_list dd {
		width: 100%;
		text-align: left;
		margin-right: 0;
	}
	.news_list dt {
		margin-bottom: .25em;

	}
	.news_list dt:before {
		min-width: 6em;
	}
	.fs_mini_sp {
		text-align: left;
	}


	/* ===== ポイント ===== */
	.point_wrap {
		position: relative;
	}
	.point_wrap .card {
		flex-wrap: wrap;
	}
	.point_wrap .img_wrap,
	.point_wrap .cont_wrap {
		width: 100%;
	}
	.point_wrap .img_wrap {
		margin-bottom: 60px;
	}
	.point_wrap .img_wrap img {
		border-radius: 10px;
	}
	.point_wrap h2 {
		margin-bottom: 20px;
	}
	.point_wrap h2 img {
		height: 25px;
	}
	.point_wrap h3 {
		font-size: 18px;
		font-size: min(4.8vw,18px);
	}

	/* navigation */
	.pswiper_navwrap {
		position: absolute;
		top:  0;
		left: 0;
		margin-top: min(57vw,370px);
		z-index: 100;
	}
	.pswiper_navwrap:after {
		content: none;
	}
	.prev_nav,
	.next_nav {
		width:  30px;
		height: 30px;
		min-width:  30px;
		min-height: 30px;
	}
	.prev_nav {
		margin-right: 10px;
	}
	.autoplay-progress {
		width:  45px;
		height: 45px;
	}
	/* タブレット対策 */
	.point_wrap .cont_wrap a {
		max-width: 350px;
	}

	/* ===== サービス一覧 ===== */
	.shead_flex {
		flex-wrap: wrap;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}
	.shead_flex .head_white {
		margin-right: 0;
	}
	.shead_flex p {
		margin-right: 0;
	}
	.shead_cont {
		justify-content: center;
	}
	.service_about {
		flex-wrap: wrap;
	}
	.service_about .card {
		width: calc(100%/2 - 5px);
		margin-bottom: 10px;
		padding: 15px 10px 10px;
	}
	.service_about h3 {
		font-size: 13px;
		margin-bottom: 0;
	}
	.service_about h3 .maru {
		font-size: 13px;
	}
	.service_about .card img {
		width: 90%;
		display: block;
		margin-left:  auto;
		margin-right: auto;
	}


	/* ===== 各サービスページへのリンク ===== */
	.service_link {
		flex-wrap: wrap;
	}
	.service_link .card {
		width: 100%;
		padding: 20px 20px 25px;
	}
	.service_link .card:not(:first-of-type) {
		margin-top: 10px;
	}
	h3 {
		font-size: 20px;
		font-size: min(5.3vw,20px);
	}
	.service_link h3 {
		line-height: 1.3;
		margin-bottom: .65em;
	}
	.service_link .cont_orange {
		font-size: 16px;
	}
	.btn_orange a {
		width: 100%;
		max-width: 335px;
		min-width: inherit;
		font-size: 18px;
	}


	/* ===== blog ===== */
	#blog_slider {
		margin-bottom: 40px;
	}
	#blog_slider li {
		/* width: calc(100%/1.4); */
		/* padding-left: 20px; */
	}
	.blog_card {
		padding-bottom: 15px;
	}
	.no_blog {
		width: fit-content;
		max-width: 640px;
		text-align: left;
		margin-left:  auto;
		margin-right: auto;
		padding: 0 20px;
	}
	.blog_card > a > *,
	.blog_tagmore {
		padding-right: 45px;
	}
	.blog_more_orange {
		right:  15px;
		bottom: 15px;
	}


	/* ===== 「採用情報」と「私たちについて」ページへのリンク ===== */
	.link_in_blog {
		flex-wrap: wrap;
	}
	.link_in_blog a {
		width: 100%;
		padding: 8px;
		border-width: 3px;
	}
	.link_in_blog a:not(:first-of-type) {
		margin-top: 10px;
		margin-top: clamp(10px,2.667vw,30px);
	}
	.link_in_blog .title_box {
		font-size: 16px;
		font-size: clamp(16px,4.267vw,24px);
		top:  -3px;
		left: -3px;
	}


	/* ===== instagram ===== */
	.insta_link {
		width: 100%;
		max-width: 500px;
	}
	.insta_btn  {
		width: 90%;
		margin-left:  auto;
		margin-right: auto;
	}
	.insta_btn a {
		padding: 20px 25px;
		border-radius: 7px;
	}
	.insta_btn a:after {
		width:  12px;
		height: 12px;
		min-width:  12px;
		min-height: 12px;
	}
	.insta_btn span {
		width: 80%;
	}


	/* ===== 工具紹介 ===== */
	#sec_kougu .bg_wrap {
		padding-left:  0;
		padding-right: 0;
	}
	#sec_kougu .h2_img img {
		height: 35px;
		max-height: inherit;
		min-height: inherit;
	}
	#sec_kougu .h2_img + p {
		font-size: 18px;
		line-height: 1.5;
	}
	.kougu_wrap {
		max-width: inherit;
	}
	.kougu_img {
		width: 100%;
		overflow-x: scroll;
	}
	.kougu_img img {
		width: 1200px;
		min-width: 1200px;
		margin-left:  auto;
		margin-right: auto;
		padding-left: 20px;
	}


	/* ===== 工具紹介 modal ===== */
	.modal {
		display: flex !important;
	}
	.modal__content {
		max-width: 560px;
	}
	.modal_inner {
		padding: 25px clamp(30px,8vw,40px) 30px;
	}
	#modal h4 {
		width: 100%;
		font-size: 16px;
		text-align: center;
		margin-bottom: .75em;
		flex: 1;
	}
	#modal p {
		font-size: 12px;
	}
	/* modal card flex */
	.modalInSlider {
		height: auto;
		display: flex;
		flex-direction: column;
	}
	.modal_flex  {
		height: 100%;
		display: flex;
		flex-wrap: nowrap;
	}
	.modalInSlider .img_wrap {
		width: 30%;
		max-width:   80px;
		max-height: 130px;
		margin-right: clamp(15px,4vw,20px);
	}
	.modalInSlider .img_wrap img {
		height: 100%;
		object-fit: contain;
		object-position: center;
	}
	.modalInSlider .cont_wrap {
		width: 100%;
	}








	/* ===== blog ===== */
	@media screen and (min-width:540px) {	
		#blog_slider li {
			/* width: calc(100%/2.2); */
		}
	}

}