@charset "UTF-8";
/* =======================================================================================
	Layout
======================================================================================= */
.inner {
	width: 1200px;
	margin: 0 auto;
}
@media screen and (max-width: 1199px) {
.inner {
    width: calc(100% - 70px);
    margin: 0 auto;
	}
}
@media screen and (max-width: 639px) {
.inner {
    width: calc(100% - 40px);
    margin: 0 auto;
	}
}

.fadeUp { opacity: 0; }
.play.fadeUp { animation: fadeUp 1s forwards; }
@keyframes fadeUp {
  0% {
    opacity: 0;
    transform: translate(0px, 10px);
  }

  100% {
    opacity: 1;
    transform: translate(0px, 0px);
  }
}
.play.delay-2 { animation-delay: 3s; }
.play.delay-3 { animation-delay: 5s; }
.play.delay-4 { animation-delay: 10s; }

.pc-new-line { display: block; }
.font-large {
	font-size: 18px;
	font-weight: 600;
}
.font-blue {
	color: #147a9c;
	font-weight: 600;
}
.font-bold {
	font-weight: 700;
}
.font-small {
	font-size: 12px;
}
@media screen and (max-width: 959px) {
	.pc-new-line { display: inline; }
	.sp-new-line { display: block; }
}


/* =======================================================================================
	header
======================================================================================= */
.nav-area {
	display: flex;
	max-width: 1920px;
	width: 100%;
	margin: 0 auto;
	padding: 15px 20px;
	position: fixed;
	z-index: 5;
	top: 0;
}
.site-logo img {
	width: 130px;
	height: auto;
}
.header-nav { margin-left: auto; }
.header-nav-inner {
	display: flex;
	border-radius: 50px;
	gap: 0;
}
.header-nav-list {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	padding: 5px 20px 5px 50px;
	background: #fff;
	border-radius: 50px 0 0 50px;
}
.header-nav-list a,
.footer-nav-list a {
  color: transparent;
  font-size: 16px;
  background: linear-gradient(to right, rgb(13,93,120) 50%, #333 50%) 100%;
  background-clip: text;
  background-size: 200% 100%;
  transition: background-position 0.6s;
}
.header-nav-list a:hover,
.footer-nav-list a:hover { background-position: 0 100%; }
.nav-pc-none { display: none; }

/* メインナビ */
.header-nav-main {
	display: flex;
	gap: 35px;
}
.header-nav-main-item { position: relative; }
.header-nav-main-item a {
	display: block;
	font-size: 13px;
	font-weight: 600;
	position: relative;
}
.header-nav-main-item:before {
  content: '';
  width: 16px;
  height: 16px;
  background: #147a9c;
  border-radius: 50%;
  position: absolute;
	left: -20px;
  top: 50%;
	transform: translateY(-50%);
  margin: auto;
}
.header-nav-main-item:after {
  content: '';
  width: 6px;
  height: 6px;
  border: 0;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  left: -16px;
  bottom: 0;
  margin: auto;
}

/* サブナビ */
.header-nav-sab {
	display: flex;
	gap: 25px;
}
.header-nav-sab a {
	display: block;
	font-size: 12px;
}
.header-nav-sab-item { position: relative; }
.header-nav-sab-item:last-of-type::before { content: none; }
.header-nav-sab-item::before {
	content: "/";
	position: absolute;
	right: -15px;
	top: 50%;
	transform: translateY(-50%);
}

/* ナビお問いわせ */
.header-nav-contact {
	display: flex;
	flex-wrap: wrap;
}
.header-nav-contact a { position: relative; }
.header-nav-mail a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 0 20px 0 50px;
	color: #fff;
	font-size: 13px;
	font-weight: bold;
	background: #0d5d78;
}
.header-nav-mail a::before {
	content: "";
	background: url(../img/icon_mail.webp) no-repeat center center / cover ;
	width: 20px;
	height: 20px;
	position: absolute;
	left: 20px;
	top: 50%;
	transform: translateY(-50%);
}
.header-nav-tel a {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 0 30px 0 45px;
	font-size: 14px;
	color: #333;
	line-height: 1.2;
	background: #e8d5aa;
	border-radius:0 50px 50px 0;
}
.header-nav-tel a::before {
	content: "";
	background: url(../img/icon_tel.webp) no-repeat center center / cover ;
	width: 25px;
	height: 25px;
	position: absolute;
	left: 15px;
	top: 50%;
	transform: translateY(-50%);
}
.header-nav-tel a .font-num {
	font-size: 23px;
	font-weight: 700;
	font-family: 'Zen Maru Gothic', sans-serif;
	line-height: 1;
}
.header-nav-tel-time {
	font-size: 13px;
	font-weight: 500;
}
.header-nav-tel img {
	width: 40px;
	height: 40px;
}

.header-nav-line {
	margin: 5px 10px 0 10px;
}
.header-nav-line img {
	width: 50px;
	height: 50px;
}
.sp-fixed-top,
.sp-fixed-bottom { display: none; }


@media screen and (max-width: 1469px) {
	.nav-area {
		background: rgba(255, 255, 255, 0.8);
		padding: 10px 10px;
	}
	.site-logo img { width: 100px; }
	.header-nav {
		display: block;
		position: fixed;
		top: 0;
		left: -900px;
		bottom: 0;
		width: 70%;
		overflow-x: hidden;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		transition: all .5s;
		z-index: 1000;
		opacity: 0;
	}
	.open .header-nav {
		left: 0;
		opacity: 1;
	}
	.header-nav-inner {
		flex-direction: column;
		padding: 50px;
		border-radius: 0 50px 50px 0;
		background: #fff;
	}
	.header-nav-list {
		flex-direction: column;
		align-items: flex-start;
		gap: 30px;
		padding: 5px 20px 30px 0px;
		background: #fff;
	}
	.header-nav-tel a { justify-content: center; }
	.header-nav-list li a {
		font-size: 12px;
		transition-duration: 0.2s;
	}
	.header-nav-main {
    flex-direction: column; 
		gap: 20px;
		padding-left: 20px;
	}
	.header-nav-sab { flex-wrap: wrap; }
	.header-nav-mail a,.header-nav-tel a { width: 230px; }
	.header-nav-mail a {
		border-radius: 50px 0 0 50px;
		padding: 15px 20px 15px 50px;
	}
	.header-nav-tel a { padding: 10px 20px 8px 40px; }

	/* .toggle_btn */
	.toggle_btn {
		display: block;
		position: fixed;
		top: 17px;
    right: 20px;
		width: 35px;
		height: 35px;
		transition: all .5s;
		cursor: pointer;
		z-index: 999;
		background: rgba(255, 255, 255, 0.8);
		border-radius: 50%;
	}
	.toggle_btn span {
		display: block;
		position: absolute;
		left: 5px;
		width: 25px;
		height: 2px;
		background-color: #147a9c;
		border-radius: 4px;
		transition: all .5s;
	}
	.toggle_btn span:nth-child(1) { top: 9px; }
	.toggle_btn span:nth-child(2) { top: 17px; }
	.toggle_btn span:nth-child(3) { bottom: 8px; }
	.open .toggle_btn span { background-color: #0d5d78; }
	.open .toggle_btn span:nth-child(1) {
		-webkit-transform: translateY(10px) rotate(-315deg);
		transform: translateY(8px) rotate(-315deg);
	}
	.open .toggle_btn span:nth-child(2) { opacity: 0; }
	.open .toggle_btn span:nth-child(3) {
		-webkit-transform: translateY(-10px) rotate(315deg);
		transform: translateY(-8px) rotate(315deg);
	}

	/* #mask */
	#mask {
		display: none;
		transition: all .5s;
	}
	.open #mask {
		display: block;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: #000;
		opacity: .8;
		z-index: 3;
		cursor: pointer;
	}
	/* スマホ固定 */
	.sp-fixed-top {
		display: inline-block;
    position: fixed;
		top: 12px;
    right: 65px;
		z-index: 6;
  }
  .sp-fixed-top-link {
    display: block;
    padding: 10px;
    font-weight: bold;
    text-decoration: none;
    color: #333;
		font-size: 12px;
		position: relative;
  }
	.sp-fixed-top-link:before {
		content: '';
		width: 16px;
		height: 16px;
		background: #147a9c;
		border-radius: 50%;
		position: absolute;
		left: -10px;
		top: 50%;
		transform: translateY(-50%);
		margin: auto;
	}
	.sp-fixed-top-link:after {
		content: '';
		width: 6px;
		height: 6px;
		border: 0;
		border-top: solid 2px #fff;
		border-right: solid 2px #fff;
		transform: rotate(45deg);
		position: absolute;
		top: 0;
		left: -6px;
		bottom: 0;
		margin: auto;
	}
	.open .sp-fixed-top { display: none; }
  .sp-fixed-bottom {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    display: flex;
    background: #fff;
    border-top: 1px solid #ddd;
  }
  .sp-fixed-btn {
    flex: 1;
    text-align: center;
    padding: 7px 8px;
    font-size: 12px;
    font-weight: bold;
    text-decoration: none;
    color: #fff;
    background: #0d5d78;
  }
		.sp-fixed-btn.diff {
		background: #e8d5aa;
		color: #333;
	}
  .sp-fixed-btn + .sp-fixed-btn { border-left: 1px solid #fff; }
	.sp-fixed-btn img {
		margin-right: 10px;
		width: 17px;
		height: 17px;
		vertical-align: sub;
	}
}

@media screen and (max-width: 799px) {
	.header-nav-contact { gap: 10px; }
	.header-nav-mail,.header-nav-tel { width: 100%; }
	.header-nav-mail a,.header-nav-tel a { width: 100%; }
	.header-nav-contact li a { border-radius: 50px; }
	.header-nav-tel a { padding: 10px 30px 10px 45px; }
	.header-nav-sab { gap: 15px; }
	.header-nav-sab-item {
		width: 100%;
		padding-left: 20px;
	}
	.header-nav-sab-item::before {
    content: "";
		background: #147a9c;
		width: 15px;
    height: 4px;
		border-radius: 999px;
    position: absolute;
    right: inherit;
		left: 0;
    top: 50%;
    transform: translateY(-50%);
	}
	.header-nav-sab-item:last-of-type::before { content: ""; }
	.sp-fixed-top {
		top: 4px;
		right: 58px;
	}
}

@media screen and (max-width: 739px) {
	.header-nav-inner { padding: 30px 30px 60px; }
	.toggle_btn { top: 8px; right: 10px; }
	.header-nav {
		left: -600px;
		width: 80%;
	}
	.site-logo img { width: 70px; height: auto; }
}

/* =======================================================================================
	FV
======================================================================================= */
.fv-text .sp-new-line.diff { display: block; }
.fv-wrap { position: relative; }
.fv-text-wrap {
	position: absolute;
	top: calc(40% + 50px);
	transform: translateY(-50%);
	min-height: 260px; /* ← これを追加 */
}
.fv-img img {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9; /* or 1920 / 800 など実画像比率 */
  display: block;
}
.fv-ttl-wrap {
	display: flex;
	flex-direction: row-reverse;
	justify-content: flex-end;
	align-items: center;
  gap: 15px;
}
.fv-ttl-area {
	display: flex;
	flex-direction: column-reverse;
	font-weight: 700;
	font-family: 'Zen Maru Gothic', sans-serif;
}
.fv-ttl {
	font-size: 42px;
	line-height: 1.2;
}
.fv-ttl span {
	display: block;
	font-size: 28px;
}
.fv-ttl-en {
	margin-bottom: 15px;
	font-size: 34px;
	color: #147a9c;
	line-height: 1;
}
.fv-ttl-wrap img { width: 80px; }
.fv-text {
	margin-top: 40px;
	font-size: 18px;
	line-height: 2;
}
.fv-text .font-blue { font-size: 20px; }
.fv-btn { margin-top: 40px; }
.fv-btn a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: url(../img/fv_text_bg.webp) no-repeat center center / contain;
  width: 400px;
  height: 106px;
  color: #fff;
  text-decoration: none;
  padding: 10px;
}
.fv-btn-main,.fv-btn-sub { font-family: 'Zen Maru Gothic', sans-serif; }
.fv-btn-main {
  font-size: 20px;
  font-weight: bold;
	line-height: 1.4;
}
.fv-btn-sub { font-size: 15px; }

@media screen and (max-width: 1199px) {
	.fv-ttl { font-size: 32px; }
	.fv-ttl span { font-size: 22px; }
	.fv-ttl-en {
		margin-bottom: 10px;
		font-size: 24px;
	}
	.fv-text {
		margin-top: 30px;
		font-size: 16px;
	}
	.fv-btn-main { font-size: 18px; }
	.fv-btn-sub { font-size: 14px; }
}

@media screen and (max-width: 969px) {
	.fv-img img {
		height: 700px;
    width: 100%;
    object-fit: cover;
	}
}

@media screen and (max-width: 829px) {
	.fv-text .font-blue { font-size: 15px; }
	.fv-text-wrap {
    width: 90%;
    left: 50%;
		top: calc(40% + 15px);
    transform: translate(-50%, -50%);
	}
	.fv-ttl-wrap { gap: 6px }
	.fv-ttl-wrap img { width: 50px; }
  .fv-ttl-en { font-size: 18px; }
	.fv-ttl { font-size: 22px; }
	.fv-ttl span { font-size: 16px;}
	.fv-text {
		margin-top: 20px;
		font-size: 13px;
		line-height: 1.8;
  }
  .fv-btn-main { font-size: 16px; }
	.fv-img img {
		aspect-ratio: auto !important;
		height: auto;
    width: 100%;
    object-fit: cover;
	}
	.fv-text-wrap .font-large { font-size: 14px; }
	.fv-btn { margin-top: 15px; }
  .fv-btn-sub { font-size: 12px; }
}

@media screen and (max-width: 769px) {
	.fv-btn a {
    width: 250px;
    height: 94px;
	}
	.fv-btn { margin-top: 5px; }
}


/* =======================================================================================
	TOP
======================================================================================= */

/*
	共通
============================= */
/* タイトル */
.ttl-wrap {
	margin-bottom: 40px;
	text-align: center;
	font-family: 'Zen Maru Gothic', sans-serif;
	font-weight: 700;
	position: relative;
	z-index: 1;
}
.ttl-area {
	padding-bottom: 25px;
	margin-bottom: 15px;
	position: relative;	
}
.ttl-area::before,
.ttl-area::after  {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	height: 1px;
	transform: translateX(-50%);
}
.ttl-area::before {
	width: 150px;
	background: #368ba7;
	bottom: 10px;
}
.ttl-area::after {
	width: 200px;
	background: #5498af;
}
.ttl-en {
	color: #147a9c;
	font-size: 34px;
	line-height: 1;
}
.ttl { font-size: 30px; }
.ttl-read { font-size: 18px; }

/* ボタン */
.expand-btn {
  position: relative;
  display: flex;
	justify-content: space-between;
  align-items: center;
  gap: 10px;
  width: 300px;
  height: 60px;
	margin-left: auto;
  padding: 0 20px 0 5px;
	background: #fff;
  border: 1px solid #147a9c;
  border-radius: 50px;
  color: #333;
  font-size: 16px;
  font-weight: bold;
  overflow: hidden;
  text-decoration: none;
  z-index: 0;
  transition: color 0.4s ease;
	font-family: 'Zen Maru Gothic', sans-serif;
}
.expand-bg {
  content: "";
  position: absolute;
  top: 50%;
  left: 5px;
  transform: translateY(-50%);
  width: 50px;
  height: 50px;
  background: #147a9c;
  border-radius: 50%;
  z-index: -1;
	transition: width 0.6s ease-in-out, border-radius 0.6s ease-in-out;
}
.expand-btn,
.expand-text { transition: color 0.3s ease-in-out; }
.circle {
  display: inline-block;
  position: relative;
  width: 50px;
  height: 50px;
  line-height: 1;
  z-index: 1;
}
.circle .arrow {
  position: relative;
  display: inline-block;
  width: 40px;
  height: 4px;
  margin: 23px 0;
  border-radius: 9999px;
  background-color: #fff;
}
.circle .arrow::before { transform: rotate(45deg); }
.circle .arrow::after { transform: rotate(-45deg); }
.circle .arrow::before,
.circle .arrow::after {
  content: "";
  position: absolute;
  top: calc(50% - 2px);
  right: 0;
  width: 18px;
  height: 4px;
  border-radius: 9999px;
  background-color: #fff;
  transform-origin: calc(100% - 2px) 50%;
}
.expand-text {
  position: relative;
  z-index: 1;
  transition: color 0.4s ease;
}
.expand-btn:hover .expand-bg {
  width: calc(100% - 10px); 
  border-radius: 50px;
}
.expand-btn:hover { color: #fff; }
.expand-btn:hover .expand-text { color: #fff; }

/* セクション */
.top-wrap { padding: 60px 0; }
.section-divider {
	width: 600px;
	position: absolute;
	right: 0;
}
.section-divider.diff {
	width: 500px;
	right: inherit;
	left: 0;
}

@media screen and (max-width: 1199px) {
	.ttl-en { font-size: 22px; }
	.ttl { font-size: 20px; }
	.ttl-read { font-size: 15px; }
	.ttl-area::before { width: 100px; }
	.ttl-area::after { width: 150px; }
}

@media screen and (max-width: 769px) {
	.top-wrap { padding: 40px 0; }
	.ttl { font-size: 17px; }
	.ttl-en { font-size: 18px; }
	.ttl-read {
		font-size: 14px;
		line-height: 1.5;
  }
	.expand-btn {
    width: 215px;
    height: 45px;
		font-size: 13px;
	}
	.expand-bg {
    width: 40px;
    height: 40px;
		left: 2px;
	}
	.arrow { width: 30px; }
	.arrow::before, .arrow::after { width: 15px; }
	.circle .arrow { width: 32px; }
}

/*
	TOP特徴
============================= */
.top-features-bg {
	margin-bottom: 30px;
	position: relative;
}
.top-features-bg::before {
	content: "";
	background: url(../img/bg_yellow.webp);
	border-radius: 0 40px 40px 0;
	width: 1300px;
	height: 100%;
	position: absolute;
	left: calc(50% - 960px);
}
.top-features-wrap {
	display: flex;
	align-items: center;
	gap: 50px;
	padding: 40px 0;
	position: relative;
	z-index: 2;
}
.top-features-content { width: 730px; }
.top-features-img { width: calc(100% - 730px); }
.top-features-list {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin-bottom: 30px;
}
.top-features-item {
	padding: 30px 30px 30px 90px;
	background: #fff;
	border-radius: 40px;
	position: relative;
}
.top-features-item::before {
	content: "01";
	font-size: 60px;
	font-weight: bold;
	color: #efe5b1;
	font-family: 'Zen Maru Gothic', sans-serif;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
.top-features-item:nth-of-type(2)::before { content: "02"; }
.top-features-item:nth-of-type(3)::before { content: "03"; }
.top-features-ttl {
	margin-bottom: 15px;
	font-size: 18px;
	font-weight: 700;
}
.top-features-ps {
	font-weight: bold;
	font-family: 'Zen Maru Gothic', sans-serif;
}
.top-features-img img { border-radius: 30px; }

@media screen and (max-width: 1149px) {
	.top-features-wrap { flex-direction: column; }
	.top-features-content { width: 100%; }
	.top-features-item { padding: 30px 20px 30px 60px; }
	.top-features-item::before { font-size: 40px; }
	.top-features-ttl { font-size: 16px; }
	.top-features-img {
		max-width: 500px;
		width: 100%;
	}
}

@media screen and (max-width: 769px) {
	.top-feature { padding: 0 0 40px; }
	.top-features-bg::before {
    width: 80%;
    left: 0;
	}
	.top-features-wrap {
		gap: 20px;
		padding: 20px 0;
	}
	.top-features-list {
		gap: 10px;
		margin-bottom: 20px;
	}
	.top-features-item::before {
			font-size: 32px;
			left: -1px;
	}
	.top-features-item { padding: 20px 20px 20px 45px; }
	.top-features-ttl {
		font-size: 15px;
		margin-bottom: 10px;
	}
	.top-features-bg { margin-bottom: 15px; }
}


/*
	TOPレンタカー紹介・料金
============================= */
.top-car-list {
	margin-bottom: 30px;
	position: relative;
  z-index: 1;
}
.top-car-item-content {
	display: flex;
	justify-content: flex-end;
	align-items: end;
	margin-top: 120px;
	position: relative;
}
.top-car-item-content img {
	width: 450px;
	height: 350px;
	border-radius: 20px;
	position: absolute;
	left: 0;
	top: -60px;
}
.top-car-item-text-area {
	width: 840px;
	padding: 50px 50px 50px 135px;
	background: url(../img/bg_yellow.webp);
	border-radius: 40px;
}
.top-car-item-text-area > div {
	padding: 40px;
	background: #fff;
	border-radius: 40px;
}
.top-car-item-ttl {
	margin-bottom: 20px;
	font-size: 18px;
}
.top-car-item-text { margin-bottom: 20px; }
.top-car-item-link {
	display: flex;
	flex-wrap: wrap;
	gap: 0px 20px;
	margin-top: 15px;
}
.top-car-item-link-item {
	position: relative;
}
.top-car-item-link-item:last-of-type::before {
	content: none;
}
.top-car-item-link-item::before {
	content: "/";
	position: absolute;
	top: 0;
	right: -14px;
}
.top-car-item-link-item a { font-size: 14px; color: #147a9c;}
.top-car-item-price .font-blue {
	font-size: 16px;
	font-weight: bold;
}

@media screen and (max-width: 1199px) {
	.top-car-item-text-area > div { padding: 30px; }
	.top-car-item-text-area {
    width: 730px;
    padding: 40px 40px 40px 135px;
	}
}

@media screen and (max-width: 1149px) {
	.top-car-item-content {
		flex-direction: column;
		position: inherit;
	}
	.top-car-item-text-area {
			max-width: 730px;
			width: 100%;
			margin: auto;
			padding: 30px;
	}
	.top-car-item-text-area > div { padding: 30px 20px; }
	.top-car-item-ttl {
    margin-bottom: 15px;
    font-size: 16px;
	}
	.top-car-item-text { margin-bottom: 15px; }
	.top-car-item-content img {
		max-width: 650px;
		height: auto;
		width: 100%;
		margin: 0 auto 20px;
    position: inherit;
	}
	.top-car-item-link-item a { font-size: 11px; }
}
@media screen and (max-width: 769px) {
	.top-car-list {
    display: flex;
    flex-direction: column;
    gap: 30px;
	}
	.top-car-item-content { margin-top: 0; }
	.top-car-item-content img {
			margin: 0 auto 0px;
			border-radius: 40px 40px 0 0;
		}
	.top-car-item-text-area {
    padding: 20px 8px 20px 8px;
    border-radius: 0 0 30px 30px;
	}
	.top-car-item-text-area > div { border-radius: 33px; }
	.section-divider { width: 290px; }
}

/*
	TOPオプション品
============================= */
.top-op-bg {
	margin-bottom: 30px;
	padding: 80px 0;
	position: relative;
}
.top-op-bg::before {
	content: "";
	background: url(../img/bg_yellow.webp);
	border-radius: 40px 0 0 40px;
	width: 1300px;
	height: 100%;
	position: absolute;
	right: calc(50% - 960px);
	top: 0;
}
.top-op-list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  position: relative;
  z-index: 1;
  margin-bottom: 20px; /* 間隔調整 */
}
.top-op-list li { width: calc(100% / 3 - 100px); }
.top-op-list li img { border-radius: 20px; }
.top-op-list--right {
  justify-content: flex-end;
	margin-bottom: 0;
}

@media screen and (max-width: 1149px) {
	.top-op-list { justify-content: center; }
	.top-op-list li { width: calc(100% / 3 - 30px); }
}

@media screen and (max-width: 769px) {
.top-op-bg::before {
    width: 80%;
    height: 100%;
    right: 0;
	}
	.top-op-list {
    gap: 10px; /* スマホ用の間隔に調整 */
    justify-content: center;
  }
  .top-op-list li { width: calc(50% - 5px); /* 2列にする（gapに応じて調整） */ }
  .top-op-list li img {
    width: 100%;
    height: auto;
    display: block;
  }
	.top-op-bg {
    margin-bottom: 20px;
    padding: 30px 0;
	}
}

/*
	TOPご利用の流れ
============================= */
.top-flow {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin-bottom: 30px;
	padding: 60px;
	background: url(../img/bg_yellow.webp);
	border-radius: 40px;
}
.top-flow li {
	padding: 30px 30px 30px 90px;
	background: #fff;
	border-radius: 20px;
	position: relative;
}
.top-flow li:nth-of-type(5)::before { content: "05"; }
.top-flow li:nth-of-type(4)::before { content: "04"; }
.top-flow li:nth-of-type(3)::before { content: "03"; }
.top-flow li:nth-of-type(2)::before { content: "02"; }
.top-flow li::before {
	content: "01";
	font-size: 60px;
  font-weight: bold;
	color: #efe5b1;
	font-family: 'Zen Maru Gothic', sans-serif;
	position: absolute;
	left: -5px;
	top: 50%;
	transform: translateY(-50%);
}
.top-flow li:last-of-type:after { content: none;}
.top-flow li::after {
	content: "";
	background: #efe5b1;
	width: 2px;
	height: 90px;
	position: absolute;
	left: 25px;
	bottom: -60px;
	z-index: 1;
}
.top-flow-item-ttl {
	margin-bottom: 20px;
	font-size: 18px;
}

@media screen and (max-width: 1149px) {
	.top-flow {  padding: 30px }
	.top-flow li::before { font-size: 40px; }
	.top-flow li::after { left: 15px; }
	.top-flow li {
    padding: 30px 20px 30px 60px;
    border-radius: 30px;
	}
	.top-flow-item-ttl {
    margin-bottom: 15px;
    font-size: 16px;
	}
}
@media screen and (max-width: 769px) {
	.top-flow {
		padding: 20px 8px 20px 8px;
    border-radius: 30px;
		gap: 10px;
	}
	.top-flow li { padding: 20px 20px 20px 40px; }
	.top-flow li::before { font-size: 30px; }
	.top-flow li::after { left: 10px; }
	.top-flow-item-ttl {
		margin-bottom: 10px;
		font-size: 15px;
	}
}


/*
	TOP FAQ
============================= */
.top-faq-list {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin-bottom: 30px;
	padding: 60px;
	background: url(../img/bg_yellow.webp);
	border-radius: 40px;
}
.top-faq-item {
	padding: 30px;
	background: #fff;
	border-radius: 30px;
}
.top-faq-ttl,
.top-faq-text {
	position: relative;
	padding-left: 40px;
	line-height: 1.4;
}
.top-faq-ttl {
	margin-bottom: 30px;
	font-size: 16px;
	font-weight: 700;
}
.top-faq-ttl::before {
	content: "Q";
	font-size: 30px;
	font-weight: 700;
	color: #147a9c;
	position: absolute;
	left: 0;
	top: -15px;
}
.top-faq-text::before {
	content: "A";
	font-size: 30px;
	font-weight: 700;
	color: #333;
	position: absolute;
	left: 0;
	top: -15px;
	font-family: 'Zen Maru Gothic', sans-serif;
}

@media screen and (max-width: 1149px) {
	.top-faq-list { padding: 30px; }
	.top-faq-item { padding: 30px 20px; }
}

@media screen and (max-width: 769px) {
	.section-divider.diff { width: 200px; }
	.top-faq-list {
    padding: 20px 8px 20px 8px;
    border-radius: 30px;
		gap: 10px;
	}
	.top-faq-item {  padding: 20px 20px; }
	.top-faq-ttl {
    margin-bottom: 20px;
    font-size: 14px;
	}
	.top-faq-ttl::before,
	.top-faq-text::before {
    font-size: 22px;
		left: -5px;
    top: -7px;
	}
	.top-faq-ttl, .top-faq-text { padding-left: 25px; }
}
/*
	TOP 口コミ
============================= */
.top-review { background: #fffdf5; }
@media screen and (max-width: 769px) {
.google-review { margin-bottom: 20px; }
}

/* =======================================================================================
	下層　
======================================================================================= */
/*
	共通
============================= */
.page-fv {
	padding: 200px 0 180px;
  position: relative;
  background: url(../img/bg_yellow.webp); 
  overflow: hidden;
}
.page-fv::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 80px; /* 波画像の高さに合わせる */
  background: url(../img/cmn_underpage_bg.webp) no-repeat bottom center / cover;
  z-index: 1;
}
.page-fv::before {
	content: "";
	background: url(../img/cmn_underpage_bg_line.webp) no-repeat center center / cover;
	width: 890px;
	height: 300px;
	position: absolute;
	right: 0;
	top: 0;
}
.page-fv-ttl {
	text-align: center;
	font-size: 30px;
	position: relative;
	z-index: 1;
}
.under-page { padding: 60px 0; }
.underpage .ttl { font-size: 20px; }
.underpage .ttl-en { font-size: 18px; }
.underpage .ttl-read { font-size: 17px; }
@media screen and (max-width: 1199px) {
	.underpage .ttl { font-size: 18px; }
	.underpage .ttl-en { font-size: 16px; }
	.underpage .ttl-read { font-size: 15px; }
}
@media screen and (max-width: 769px) {
	.under-page { padding: 40px 0; }
	.page-fv { padding: 140px 0 110px; }
	.page-fv::after{ background: url(../img/cmn_underpage_bg.webp) no-repeat bottom center / contain; }
	.page-fv-ttl { font-size: 20px; }
  .underpage .ttl-en { font-size: 15px; }
	.underpage .ttl { font-size: 16px; }
	.underpage .ttl-read { font-size: 14px; }
}

/*
	サーモンレンタカーの特徴
============================= */
.features-content {
	margin-bottom: 50px;
	padding: 0 30px 30px 30px;
	border-radius: 30px;
	background: #e1eff8;
}
.features-content:last-of-type { margin-bottom: 0; }
.features-content-num {
	margin-bottom: 34px;
	font-size: 24px;
	font-family: 'Zen Maru Gothic', sans-serif;
	font-weight: 700;
	text-align: center;
	position: relative;
}
.features-content-num::before {
	content: "";
	background: url(../img/features_ttl_icon.webp) no-repeat center center / cover;
	width: 170px;
	height: 66px;
	position: absolute;
	left: 50%;
	top: 0;
	transform: translateX(-50%);
}
.features-content-ttl {
		font-size: 16px;
		text-align: center;
		font-family: 'Noto Sans JP', sans-serif;
}
.features-list {
	display: flex;
	gap: 30px;
	flex-wrap: wrap;
	padding-top: 30px;
}
.features-item {
	width: calc(100% / 2 - 15px );
	padding: 30px;
	background: #fff;
	border-radius: 20px;
}
.features-item-ttl {
	margin-bottom: 20px;
	padding-left: 70px;
	font-family: 'Zen Maru Gothic', sans-serif;
	font-size: 16px;
	line-height: 1.8;
	position: relative;
}
.features-content:nth-of-type(2) .features-item-ttl::before { background-image: url(../img/features_flag.webp); }
.features-content:nth-of-type(3) .features-item-ttl::before { background-image: url(../img/features_lamp.webp); }
.features-item-ttl::before {
	content: "";
	background: url(../img/features_car.webp) no-repeat center center / cover;
	width: 45px;
	height: 45px;
	position: absolute;
	left: 5px;
	top: 5px;
	z-index: 1;
}
.features-item-ttl::after {
	content: "";
	background: #fef6e5;
	width: 55px;
	height: 55px;
	border-radius: 50%;
	position: absolute;
	left: 0;
	top: 0;
}
.features-content-ps {
	margin-top: 20px;
	font-weight: 700;
	text-align: center;
}
/* オーナー挨拶 */
.greet-wrap {
	margin-bottom: 100px;
	position: relative;
}
.greet-wrap::before {
	content: "";
	background: url(../img/bg_yellow.webp);
	border-radius: 0 40px 40px 0;
	width: 1300px;
	height: 100%;
	position: absolute;
	left: calc(50% - 960px);
}
.greet-content {
	display: flex;
	padding: 50px 0;
	position: relative;
	z-index: 2;
}
.greet-text-area {
	width: 820px;
	padding: 40px 120px 40px 40px;
	background: #fff;
	border-radius: 30px;
}
.greet-ttl {
	font-size: 17px;
	margin-bottom: 30px;
}
.greet-text-area p { margin-bottom: 25px; }
.greet-text-area p:last-of-type { margin-bottom: 0; }
.greet-img {
	width: 460px;
	position: absolute;
	right: 0;
	bottom: -50px;
}
.greet-img img {
	border-radius: 30px;
	object-fit: cover;
	object-position: center center;
}

@media screen and (max-width: 1199px) {
	.features-content-ttl { font-size: 14px; }
	.features-content-num {
    margin-bottom: 34px;
    font-size: 20px;
	}
	.features-content-num::before { width: 150px; height: 58px; }
	.features-item-ttl { font-size: 15px; }
	.features-list { flex-direction: column; gap: 10px;}
	.features-item {
    width: 100%;
    padding: 30px 20px;
	}
	.greet-text-area { width: 730px; }
	.greet-img { width: 360px; }
}
@media screen and (max-width: 1039px) {
	.greet-content { flex-direction: column; }
	.greet-text-area {
		width: 650px;
		padding: 30px calc(10vw + 100px) 30px 30px;
  }
	.greet-img { width: 360px; }
	.features-content-ps { text-align: left; }
}
@media screen and (max-width: 959px) {
	.features-item-ttl { padding-left: 55px; }
	.features-item-ttl::before {
    width: 34px;
    height: 34px;
		left: 5px;
    top: -4px;
	}
	.features-item-ttl::after {
    width: 45px;
    height: 45px;
		left: 0px;
    top: -10px;
	}
}
@media screen and (max-width: 889px) {
	.greet-text-area {
			width: 100%;
			padding:30px;
			margin-bottom: 30px;
	}
	.greet-img {
			position: initial;
			max-width: 500px;
			width: 100%;
			margin: auto;
	}
}
@media screen and (max-width: 769px) {
	.greet-wrap::before {
    width: 80%;
    left: -20px;
	}
	.features-content {
    margin-bottom: 30px;
    padding: 0 8px 20px 8px;
		border-radius: 20px;
	}
	.features-content-ttl { font-size: 13px; }
	.features-item { padding: 20px 20px; }
	.features-item-ttl::after { left: -17px; top: -18px; }
	.features-item-ttl::before { left: -12px; top: -13px; }
	.features-item-ttl {
		margin-bottom: 15px;
		padding-left: 35px;
		font-size: 14px;
	}
	.features-content-ps { font-size: 12px; }
	.greet-text-area {
		margin-bottom: 15px;
		padding: 20px;
	}
	.greet-ttl {
    font-size: 14px;
    margin-bottom: 15px;
    line-height: 1.8;
	}
	.greet-wrap { margin-bottom: 40px; }
}

/*
	オプションレンタル品
============================= */
.op-read {
	margin-bottom: 40px;
}
.op-read-ttl {
	max-width: 800px;
	width: 100%;
	margin: 0 auto 20px;
	padding: 40px 0;
	text-align: center;
	background: #fef6e5;
	border-radius: 20px;
	position: relative;
}

.op-read-ttl::before {
	content: "";
	background: url(../img/op_read_line.webp) no-repeat center center / cover;
	width: 154px;
  height: 70px;
	position: absolute;
	top: -5px;
	left: 0;
}
.op-read-ttl-sub {
	font-size: 14px;
	text-align: center;
	position: absolute;
	top: 0;
	left: 43px;
	line-height: 1.5;
	font-family: 'Zen Maru Gothic', sans-serif;
	font-weight: 700;
}
.op-read-text { text-align: center; }
.op-wrap:last-of-type { margin-bottom: 0; }
.op-wrap {
	margin-bottom: 50px;
	padding: 55px 40px 40px 40px;
	border-radius: 40px;
	text-align: center;
	background: #eaf7ff;
}
.op-ttl-wrpa { margin-bottom: 100px; }
.op-ttl {
	margin-bottom: 15px;
	font-size: 18px;
	position: relative;
}
.op-ttl::before {
	content: "";
	background: url(../img/op_item_ttl_line.webp) no-repeat center center / cover;
	width: 33px;
	height: 17px;
	position: absolute;
	top: -25px;
	left: 50%;
	transform: translateX(-50%);
}
.op-ttl-line {
	display: block;
	position: relative;
}
.op-ttl-line::before {
	content: "";
	display: block;
	background: #fef6e5;
	width: 55px;
	height: 55px;
	border-radius: 50%;
	position: absolute;
	left: 50%;
	top: 0;
	transform: translateX(-50%);
}
.op-wrap:nth-of-type(2) .op-ttl-line::after { background: url(../img/op_item_chair.webp) no-repeat center center / cover; }
.op-wrap:nth-of-type(3) .op-ttl-line::after { background: url(../img/op_item_eat.webp) no-repeat center center / cover; }
.op-ttl-line::after {
	content: "";
	background: url(../img/op_item_car.webp) no-repeat center center / cover;
	width: 45px;
	height: 45px;
	position: absolute;
	left: 50%;
	top: 0;
	transform: translateX(-50%);
}
.op-list {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}
.op-item {
	display: flex;
	flex-direction: column-reverse;
	width: calc(100% /3 - 15px);
}
.op-item-content {
  display: flex;
	flex: 1; /* 高さを均等に伸ばす */
  flex-direction: column;
  justify-content: space-between;
	padding: 20px;
	border-radius: 0 0 20px 20px;
	background: #fff;
	text-align: left;
}
.op-list-img img {
	width: 100%;
	height: 230px;
	object-fit: cover;
	object-position: center center;
	border-radius: 20px 20px 0 0;
}
.op-list-ttl {
	margin-bottom: 10px;
	font-size: 17px;
}
.op-list-text { margin-bottom: 10px; }
.op-list-num {
	font-size: 18px;
	font-weight: bold;
}

@media screen and (max-width: 1199px) {
	.op-list {
		flex-wrap: wrap;
		gap: 20px;
	}
	.op-wrap { padding: 50px 30px 30px 30px; }
}
@media screen and (max-width: 889px) {
	.op-ttl-wrpa { margin-bottom: 80px; }
	.op-ttl { font-size: 16px; }
	.op-list { gap: 10px; }
	.op-item { width: calc(100% / 2 - 5px); }
	.op-item-content { padding: 10px; }
	.op-list-img img {
    width: 100%;
    height: 210px;
	}
	.op-list-ttl { font-size: 15px; }
	.op-list-text {
    margin-bottom: 10px;
		font-size: 12px;
	}
}
@media screen and (max-width: 769px) {
	.op-read-ttl .font-large { font-size: 15px; }
	.op-read { margin-bottom: 30px; }
	.op-read-ttl-sub {
		font-size: 13px;
		top: -35px;
		left: 30px;
	}
	.op-read-ttl {
		margin-top: 30px;
    padding: 30px 20px 20px;
		text-align: left;
	}
	.op-read-ttl::before {
    width: 120px;
    height: 55px;
		top: -30px;
	}
	.op-read-text { text-align: left; }
	.op-wrap {
    margin-bottom: 20px;
    padding: 40px 8px 20px 8px;
		border-radius: 20px;
	}
	.op-ttl-line::after {
    width: 40px;
    height: 40px;
		top: 3px;
	}
	.op-ttl-line::before {
    width: 50px;
    height: 50px;
	}
	.op-list-ttl { line-height: 1.6; }
	.op-list { gap: 8px; }
	.op-list-num { font-size: 15px; }
	.op-list-img img {
    width: 100%;
    height: 100px;
	}
}

/*
	会社情報
============================= */
.company-wrap {
	padding: 30px;
	border-radius: 40px;
	background: #e1eff8;
}
.company-table-bg {
	background: #fff;
	padding: 30px;
	border-radius: 40px;
}
.company-table {
	width: 100%;
	margin-bottom: 30px;
	border-collapse: collapse;
}
.company-table th,
.company-table td {
	padding: 15px 20px;
}
.company-table th {
	width: 200px;
	border-bottom: #147a9c solid 2px;
	white-space: nowrap;
}
.company-table td { border-bottom: #9b9b9b solid 1px; }
.company-table tr:last-child th,
.company-table tr:last-child td {
  border-bottom: none;
}
.company-map iframe {
	width: 100%;
	height: 400px;
	border-radius: 30px;
} 
@media screen and (max-width: 769px) {
	.company-table th { width: 90px; }
	.company-wrap {
		padding: 20px 8px 20px 8px;
		border-radius: 30px;
	}
	.company-table-bg {
		padding: 15px;
		border-radius: 30px;
	}
	.company-table th, .company-table td { padding: 15px 10px; }
	.company-table { margin-bottom: 10px; }
}


/*
	FAQ
============================= */
.faq-item {
	margin-bottom: 30px;
	background: #e1eff8;
	border-radius: 30px;
}
.faq-list .faq-item:last-child { margin-bottom: 0;}
.faq-question {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
	padding: 30px 30px 30px 80px;
  background: none;
  border: none;
  cursor: pointer;
	font-weight: bold;
	text-align: left;
	position: relative;
}
.faq-answer {
	padding: 0px 30px 30px 30px;
	background: #e1eff8;
	border-radius: 0 0 30px 30px;
	position: relative;
}
.faq-answer-text {
	padding: 30px 30px 30px 50px;
	background: #fff;
	border-radius: 20px;
}
.faq-question::before,.faq-answer::before  {
	content: "Q";
	font-size: 28px;
	font-weight: 700;
	color: #147a9c;
	font-family: 'Zen Maru Gothic', sans-serif;
	position: absolute;
	left: 46px;
  top: 15px;
}
.faq-answer::before {
	content: "A";
	color: #333;
	left: 50px;
}
.faq-toggle-icon {
  display: inline-block;
	width: 14px;
	height: 14px;
	border-right: 4px solid #147a9c;
	border-bottom: 4px solid #147a9c;
  transform: rotate(45deg); /* ▼ */
  transition: transform 0.2s ease-in-out;
  margin-left: auto; /* ← 右寄せ */
}
/* 開いているとき（▲） */
.faq-question[aria-expanded="true"] .faq-toggle-icon { transform: rotate(-135deg); }

@media screen and (max-width: 769px) {
	.faq-item {
    margin-bottom: 15px;
    border-radius: 20px;
	}
	.faq-question { padding: 20px 25px 20px 45px; }
	.faq-answer { padding: 0px 8px 20px 8px; }
	.faq-question::before, .faq-answer::before {
    font-size: 20px;
    left: 20px;
    top: 12px;
	}
	.faq-answer-text { padding: 20px 20px 20px 40px; }
	.faq-toggle-icon {
    width: 10px;
    height: 10px;
		border-right: 3px solid #147a9c;
		border-bottom: 3px solid #147a9c;
		position: absolute;
    right: 15px;
	}
}

/*
	ご利用の流れ
============================= */
.flow-list {
	display: flex;
	flex-direction: column;
	gap: 30px;
}
.flow-item {
	padding: 40px 30px 30px 30px;
	border-radius: 30px;
	background: #e1eff8;
}
.flow-item-ttl {
	margin-left: 30px;
	padding: 20px 20px 20px 60px;
	background: #147a9c;
	border-radius: 30px 30px 0 0;
	color: #fff;
	font-weight: 700;
	position: relative;
	z-index: 2;
}
.flow-item-ttl h2 {
	font-size: 18px;
}
.flow-step {
	display: inline-block;
	width: 80px;
	height: 80px;
	padding: 13px 0;
	border-radius: 50%;
	background: #147a9c;
	text-align: center;
	font-size: 14px;
	line-height: 1;
	position: absolute;
	left: -30px;
  top: -15px;
}
.flow-num {
	display: block;
	font-size: 40px;
	font-family: 'Zen Maru Gothic', sans-serif;
}
.flow-item-text-area {
	margin-top: -30px;
	padding: 60px 30px 30px 90px;
	background: #fff;
	border-radius: 0 0 30px 30px;
	position: relative;
}
.flow-item-text-area::before {
	content: "";
	background: url(../img/flow_arrow.webp) no-repeat center center / cover;
	width: 36px;
	height: 64px;
	position: absolute;
	left: 22px;
  top: 50px;
}
.flow-item:last-of-type .flow-item-text-area::before { content: none; }
.flow-item-text-area a {
	color: #0d5d78;
	text-decoration: underline;
}
.flow-item-text { margin-bottom: 20px; }
.flow-item-text-list { margin-bottom: 20px; }
.flow-item-text-item {
	padding-left: 30px;
	position: relative;
}
.flow-item-text-item::before {
	content: "";
	width: 15px;
	height: 5px;
	background: #147a9c;
	border-radius: 999px;
	position: absolute;
	top: 14px;
	left: 0;
}

@media screen and (max-width: 769px) {
	.flow-list { gap: 15px; }
	.flow-item { padding: 30px 8px 20px 8px; }
	.flow-item-ttl {
    margin-left: 30px;
    padding: 15px 15px 15px 35px;
    border-radius: 20px 20px 0 0;
	}
	.flow-item-ttl h2 { font-size: 15px; }
	.flow-step {
    width: 60px;
    height: 60px;
		padding: 10px 0;
    font-size: 11px;
    left: -30px;
    top: -10px;
	}
	.flow-num { font-size: 30px; }
	.flow-item-text-area::before {
    width: 22px;
		height: 41px;
		left: 20px;
    top: 40px;
	}
	.flow-item-text-area {
    margin-top: -30px;
    padding: 50px 15px 20px 50px;
    border-radius: 0 0 20px 20px;
	}
	.flow-item-text-list:first-of-type .flow-item-text-item {margin-bottom: 10px;}
	.flow-item-text-item {
    padding-left: 22px;
		line-height: 1.6;
	}
	.flow-item-text-item::before {
    width: 12px;
    height: 4px;
		top: 9px;
	}
}


/*
	レンタカー紹介・料金
============================= */

/* レンタカー詳細 */
.rental-tabs { display: flex; }
.rental-tab {
  width: calc(100% / 2);
  padding: 15px 0;
  background: #e1eff8;
  border-radius: 20px 20px 0 0;
}
.rental-tab.active {
  background: #147a9c;
  color: #fff;
  font-weight: bold;
  position: relative;
}
.rental-tab.active span {position: relative; }
.rental-tab.active span::before {
  content: "";
  background: url(../img/rental-cars_icon.webp) no-repeat center center / cover;
  width: 30px;
  height: 30px;
  position: absolute;
  left: -40px;
}
.rental-content {
  display: none;
  padding: 20px;
  background: #147a9c;
  border-radius: 0 0 20px 20px;
}
.rental-content.active {
  display: block;
}
.rental-content-bg {
  padding: 30px;
  background: #fff;
  border-radius: 30px;
}
.rental-category-list,
.usage-step {
  display: flex;
  flex-wrap: wrap;
  gap: 30px 60px;
  margin-bottom: 20px;
}
.usage-step--2,
.usage-step--3 { gap: 30px; }

.rental-category,
.usage-category {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: calc(100% / 3 - 40px);
  border-bottom: #868686 solid 1px;
	text-align: left;
  cursor: pointer;
}
.rental-category.active,
.usage-category.active {
	border-bottom: #147a9c solid 2px;
	font-weight: 700;
	color: #147a9c;
}

.arrow {
    position: relative;
    display: inline-block;
    width: 25px;
    height: 3px;
    border-radius: 9999px;
    background: #868686;
}
.arrow::before,
.arrow::after {
  content: "";
  position: absolute;
	top: calc(50% - 2px);
	right: 0;
	width: 12px;
	height: 3px;
	border-radius: 9999px;
	background: #868686;
	transform-origin: calc(100% - 1px) 50%;
}
.arrow::before { transform: rotate(45deg); }
.arrow::after { transform: rotate(-45deg); }

.usage-category.active .arrow,
.rental-category.active .arrow {  background: #147a9c; }
.usage-category.active .arrow::before,
.usage-category.active .arrow::after,
.rental-category.active .arrow::before,
.rental-category.active .arrow::after { background: #147a9c; }

.scene-category {
	padding: 2px 25px;
	background: #e1eff8;
	border-radius: 50px;
}
.scene-category.active {
  background-color: #147a9c;
  color: #fff;
  font-weight: bold;
}
.group-category {
	padding-left: 15px;
	position: relative;
}
.group-category::before  {
	content: "";
  display: inline-block;
  vertical-align: middle;
  color: #333;
  line-height: 1;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent;
  border-width: 0.375em 0.64952em;
  border-left-color: currentColor;
  border-right: 0;
	position: absolute;
	left: 0;
	top: 10px;
}

.group-category.active {
  color: #147a9c;
  font-weight: bold;
}
.scene-category.active .group-category::before {
  color: #147a9c;
	border-left-color: #147a9c;
}

.rental-vehicle-list {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.vehicle-item { display: none; }
.vehicle-item {
  width: calc(100% / 3 - 20px);
  padding: 20px;
  text-align: center;
  background: #e1eff8;
  border-radius: 10px;
  cursor: pointer;
}

.vehicle-item h3 {
	height: 54px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 10px;
	font-size: 17px;
	line-height: 1.6;
	color: #0d5d78; 
}
.vehicle-detail-list { margin-top: 40px; }
.vehicle-detail-item {
	padding: 30px;
  background: #e1eff8;
  border-radius: 30px;
}
.vehicle-item-thumbnail img {
	width: 300px;
	height: 225px;
	object-fit: cover;
	border-radius: 10px;
}
.vehicle-detail-ttl {
	padding: 10px 10px 10px 45px;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.5;
	color: #147a9c;
	position: relative;
}
.vehicle-detail-ttl::before {
	content: "";
	background: url(../img/rental-cars_ttl.webp) no-repeat center center / cover;
	width: 35px;
	height: 35px;
	position: absolute;
	left: 0;

}

/* 画像 */
.sub-img li.current img {
  border: 2px solid red;
  transition: border .5s;
}
/* レイアウトのためのスタイル */
.vehicle-detail-img {
	display: flex;
	align-items: flex-end;
	gap: 15px;
  margin: 30px auto;
}
.vehicle-main-img {
	width: 640px;
	height: 420px;
}
.vehicle-main-img img {
  width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	border-radius: 20px;
}
.vehicle-sub-img {
  display: flex;
	flex-wrap: wrap;
	gap: 6px;
	width: calc(100% - 640px - 15px);
  margin-top: 10px;
}
.vehicle-sub-img li {
  width: calc(100% / 3 - 4px);
	height: 120px;
}
.vehicle-sub-img li:nth-child(3n) {
  margin-right: 0;
}
.vehicle-sub-img img {
  width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	border-radius: 10px;
	cursor: pointer;
}

/* 料金 */
.vehicle-detail-table.diff { margin-top: 15px; }
.vehicle-detail-table {
	width: 100%;
	border-collapse:  collapse;
	background: #fff;
	table-layout: fixed;
}
.vehicle-detail-table th,
.vehicle-detail-table td {
	padding: 10px 20px;
	border: solid 1px #e5e5e5;
	white-space: nowrap; /* 折り返さない */
	text-overflow: ellipsis;
}
.vehicle-detail-table td {
	text-align: right;
}
.vehicle-detail-table td span {
	margin-right: 5px;
	font-size: 18px;
}
.vehicle-table-ttl {
	padding: 15px 0;
	font-size: 18px;
	color: #fff;
	text-align: center;
	background: #147a9c;
}
.vehicle-table-sbuttl th {
	text-align: center;
	background: #f6f6f6;
}
.vehicle-table-sbuttl th span {
	font-size: 18px;
}
.vehicle-table-sbu {
	text-align: center;
	font-size: 13px;
	font-weight: normal;
}
.vehicle-table-day {
	width: 300px;
	text-align: center;
	background: #f6f6f6;
}
.high-season {
	display: block;
	font-weight: normal;
	font-size: 13px;
	line-height: 1.1;
	margin-bottom: 10px;
}
.sp-block { display: none; }
.week-ps { font-size: 12px; }

/* カレンダー */
.vehicle-calendar { margin-top: 20px; }
.vehicle-calendar-frame {
  width: 100%;
  height: 400px; /* または任意の高さに調整 */
  overflow: hidden;
}
.vehicle-calendar-iframe {
  border: none;
  width: 100%;
  height: 100%;
  display: block;
}
.vehicle-calendar-ttl {
	padding: 15px 15px;
	font-size: 17px;
	color: #147a9c;
	font-weight: 700;
	line-height: 1;
	background: #f6f6f6;
}
.contact-form-ttl-new-line {
	display: block;
	margin-top: 10px;
	font-weight: normal;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 12px;
	color: #333;
	line-height: 1.7;
}


/* スペック 車内装備 */
.specs-and-features {
	display: flex;
	gap: 15px;
	margin-top: 20px;
}
.specs-wrap { flex: 1; }
.specs-table {
	width: 100%;
	background: #fff;
	border-collapse:  collapse;
	
}
.specs-table th,
.specs-table td {
	padding: 5px 15px;
	border: solid 1px #e5e5e5;
	font-size: 14px;
}
.specs-table th { text-align: center;}
.specs-table th.interior-specs-ttl,
.interior-specs-ttl {
	padding: 15px 15px;
	color: #147a9c;
	font-weight: 700;
	line-height: 1;
	background: #f6f6f6;
	text-align: left;
}
.interior-wrap {
	background: #fff;
	flex: 1;
}
.interior-list {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	padding: 20px;
}
.interior-item {
	padding: 0 5px;
	font-size: 14px;
	line-height: 1.5;

	background: #e1eff8;
	border-radius: 5px;
}

@media screen and (max-width: 1199px) {
	.rental-tab.active span::before {
    width: 20px;
    height: 20px;
    left: -30px;
    top: -1px;
	}
	.rental-category-list, .usage-step { gap: 30px 30px }
	.rental-category, .usage-category { width: calc(100% / 3 - 20px); }
	.rental-vehicle-list { gap: 30px 30px }
	.vehicle-item {
    width: calc(100% / 3 - 20px);
		padding: 10px;
	}
	.vehicle-main-img {
		width: 540px;
		height: 290px;
		object-fit: cover;
	}
	.vehicle-sub-img { width: calc(100% - 360px - 15px); }
}

@media screen and (max-width: 939px) {
	.rental-category,
	.usage-category { width: calc(100% / 2 - 20px); }
	.vehicle-item {
		width: calc(100% / 3 - 20px);
		padding: 10px;
	}
	.vehicle-item {
		width: calc(100% / 2 - 20px);
		padding: 10px;
	}
	.specs-and-features {
		flex-direction: column;
		margin-top: 15px;
	}
	.rental-category-list, .usage-step { gap: 15px 30px; }
  .rental-vehicle-list { gap: 15px 30px; }
	.vehicle-sub-img li { height: 90px; }
}

@media screen and (max-width: 849px) {
	.vehicle-detail-ttl {
    padding: 10px 10px 10px 40px;
    font-size: 17px;
	}
	.vehicle-detail-ttl::before {
    width: 30px;
    height: 30px;
    left: 0;
    top: 1px;
	}
	.vehicle-detail-img {
    flex-direction: column;
		align-items: center;
		margin: 0 auto 15px;
		gap: 10px
	}
  .vehicle-sub-img { width: 100%; }
	.vehicle-sub-img li { height: 150px; }
	.vehicle-calendar-frame { height: 350px; }
	.vehicle-calendar-ttl { font-size: 15px; }
	.vehicle-calendar { margin-top: 15px; }
	.week-ps { font-size: 11px; }
}

@media screen and (max-width: 769px) {
	.rental-content { padding: 20px 8px 20px 8px; }
	.rental-category, .usage-category { width: 100%; }
	.rental-category-list, .usage-step { gap: 15px 15px; }
	.rental-content-bg {
    padding: 20px;
    border-radius: 20px;
	}
	.arrow {
    width: 20px;
		height: 2px;
	}
	.arrow::before, .arrow::after {
    top: calc(50% - 1px);
    width: 12px;
    height: 2px;
	}
	.rental-vehicle-list { flex-direction: column; }
	.vehicle-item {
		width: 100%;
		padding: 10px;
	}
	.vehicle-item h3 { height: auto; font-size: 13px; 	}
	.vehicle-main-img { width: 100%; height: 370px; }
	.vehicle-detail-ttl::before {
		width: 25px;
		height: 25px;
		left: 7px;
		top: 8px;
  }
	.vehicle-detail-list { margin-top: 20px; }
	.vehicle-detail-item {
		padding: 20px 8px 20px 8px;
	}
	.vehicle-sub-img li { width: calc(100% / 3 - 2px); height: 110px; }
	.vehicle-sub-img {
		margin-top: 0;
		gap: 3px;
  }
	.vehicle-table-ttl { font-size: 16px; }
	.vehicle-detail-table-wrap.diff { background: none; }
	.vehicle-detail-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; /* iOS向け */
		background: #fff;
  }
	.vehicle-detail-table.diff {  min-width: 100%; }
	.vehicle-detail-table { min-width: 480px; /* または100%では収まらない十分な幅を指定 */ }
	.vehicle-detail-table th, .vehicle-detail-table td {
    padding: 5px;
		font-size: 12px;
	}
	.vehicle-table-sbuttl th span { font-size: 15px; }
	.vehicle-detail-table td span {
    margin-right: 3px;
    font-size: 15px;
	}
	.high-season { font-size: 11px; }
	.interior-list { padding: 20px 8px 20px 8px; }
	.specs-table th, .specs-table td {
    padding: 5px 5px;
    font-size: 12px;
	}
	.specs-table th { width: 90px; }
	.interior-item { font-size: 12px; }
}
@media screen and (max-width: 480px) {
	.sp-block {
		display: block;
		padding-top: 5px;
		font-weight: normal;
		font-size: 11px;
	}
	.vehicle-main-img {
		width: 100%;
		height: 250px;
	}
	.vehicle-sub-img li { height: 80px; }
}

/* その他の料金 ---------------------------*/
.other-price-area {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	gap: 20px;
}
.other-price-area.diff {
	flex-direction: row;
	flex-wrap: wrap;
}
.other-price-area.bule .other-price-wrap { background: #e1eff8; }
.other-price-wrap {
	flex: 1;
  display: flex;
  flex-direction: column;
	padding: 30px;
	border-radius: 20px;
	background: #fef6e5;
}
.other-price-wrap.diff { margin-top: 80px; }
.other-price-bg {
	flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-sizing: border-box;
	padding: 30px;
	background: #fff;
	border-radius: 20px;
}
.other-price-ttl {
	display: flex;
  align-items: center;
	font-size: 17px;
	margin-bottom: 15px;
}
.other-price-ttl img {
	width: 35px;
	height: 35px;
	object-fit: contain;
	margin-right: 5px;
	vertical-align: sub;
}
.small { font-size: 12px;}
.small.diff {
	margin-bottom: 5px;
	font-weight: normal;
	font-size: 12px;
	line-height: 1.6;
	display: block;
}
.discount-ps {
	text-align: right;
	font-size: 12px;
}
.other-price-note {	margin-top: 10px; }
.other-price-note li { font-size: 12px; }

/* 割引・料金ルール */
.discount-ttl {
	font-size: 16px;
	font-family: 'Zen Maru Gothic', sans-serif;
	position: relative;
	top: -50px;
}
.discount-ttl span { font-size: 18px; }
.discount-ttl::before {
	content: "";
	background: url(../img/features_ttl_icon.webp) no-repeat center center / cover;
	width: 165px;
	height: 63px;
	position: absolute;
	left: -20px;
  top: -5px;
	transform: scale(-1, 1);
}

.discount-list {
	display: flex;
	gap: 20px;
	margin-bottom: 10px;
}
.discount-item {
	display: flex;
	align-items: stretch;
	width: calc(100% / 4 - 15px);
	border: #147a9c dotted 2px;
	text-align: center;
	position: relative;
}
.discount-item::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  border-top: 18px solid #147a9c;
  border-right: 20px solid transparent;
}
.discount-text {
	width: 155px;
	padding: 10px 10px;
	background: #fff;
}
.discount-text span {
	font-size: 18px;
	font-weight: 700;
}
.discount-off {
	width: calc(100% - 155px);
	padding: 10px 10px;
	background: #147a9c;
	color: #fff;
}
.discount-num {
	font-size: 18px;
	font-weight: 700px;
}

/* 予約について */
.other-price-item {
	padding-left: 25px;
  margin-bottom: 15px;
	line-height: 1.6;
	position: relative;
}
.other-price-item:after,
.other-price-item:before{
  content:''; 
  position:absolute; 
  top: 7px;
  left: 11px;
  height: 18px;
  width:4px; 
  background:#147a9c; 
  border-radius:10px;
  transform:rotate(45deg);
  -webkit-transform:rotate(45deg);
  -o-transform:rotate(45deg);
}
.other-price-item:after {
  top: 14px;
  left: 3px;
  height: 10px;
  transform:rotate(-45deg);
  -webkit-transform:rotate(-45deg);
  -o-transform:rotate(-45deg);
}
.other-price-furikomi {
	margin-top: 30px;
	padding: 20px;
	border: #147a9c dashed 1px;
	border-radius: 10px;
	position: relative;
}
.other-price-furikomi-ttl {
	display: inline-block;
	background: #fff;
	position: absolute;
	left: 20px;
	top:-8px;
}

.other-price-text { margin-bottom: 10px; }
.other-price-text.center { text-align: center; }
.other-price-table {
	width: 100%;
  border-collapse:  collapse;
}
.other-price-table th,
.other-price-table td {
	padding: 5px 10px;
	border: solid 1px #e5e5e5;
}
.other-price-table-ttl th { background: #f4fbff; }
.other-price-table-ttl.diff th { background: #fffdf8; }
.other-price-table td { text-align: right; }

.other-price-wrap.card { margin-top: 20px; }
.pay-card-list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.pay-card-list li img {
	width: 60px;
	height: 60px;
}

/*保険について*/
.insurance .other-price-table td { text-align: left; }
.insurance .other-price-bg {
	flex-direction: row;
	gap: 20px;
	margin-bottom: 20px;
}
.insurance .other-price-table { width: 600px; }
.insurance .other-price-text-area { width: calc(100% - 600px - 10px); }
.insurance .other-price-table th { width: 200px; }
.insurance .other-price-table td,
.insurance .other-price-table th.diff { width: calc(100% - 200px); }
.insurance-note {
	display: flex;
	align-items: center;
	gap: 70px;
	padding: 30px;
	background: #e7e7e7;
	border-radius: 20px;
}
.insurance-note p {
	width: 250px;
	text-align: center;
	position: relative;
	font-weight: 700;
}
.insurance-note p::before {
	content: "";
	width: 2px;
	height: 150px;
	background: #fff;
	position: absolute;
	right: -25px;
	top: -60px;
}
.insurance-note-list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 20px;
}
.insurance-note-list li {
	width: calc(100% / 2 - 60px);
	padding-left: 25px;
}
.insurance-note-list li:last-of-type {
	width: 100%;
	margin-top: -10px;
	text-align: right;
}
.check {
  position: relative;
	left: -5px;
  display: inline-block;
  width: 20px;
  height: 4px;
  background: #333;
  transform: rotate(45deg);
  vertical-align: middle;
}
.check::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #333;
  transform: rotate(90deg);
}

@media screen and (max-width: 1199px) {
	.other-price-ttl { font-size: 16px; }
	.discount-list { flex-wrap: wrap; }
	.discount-item { width: calc(100% / 2 - 15px); }
	.other-price-area.diff { flex-direction: column; }
	.other-price-item:after { top: 9px; }
	.other-price-item:before { top: 2px; }
	.insurance .other-price-bg { flex-direction: column-reverse; }
	.insurance .other-price-text-area { width: 100%; }
	.insurance .other-price-table { width: 100%; }
	.insurance-note-list li { width: 100%; }
}

@media screen and (max-width: 769px) {
	.discount-ttl { font-size: 14px; }
	.discount-ttl span { font-size: 16px; }
	.discount-ttl::before {
    width: 140px;
    height: 53px;
    left: -20px;
    top: 0px;
	}
	.other-price-wrap { padding: 20px 8px 20px 8px; }
	.other-price-bg { padding: 15px }
	.discount-item { width: 100%; }
	.discount-text {
    width: 210px;
		padding: 5px;
	}
	.discount-text span {font-size: 15px;}
	.discount-off {
    width: calc(100% - 210px);
		padding: 5px;
	}
	.discount-list { gap: 10px; }
	.discount-ps { font-size: 11px; }
	.font-large { font-size: 16px; }
	.other-price-ttl {
		margin-bottom: 10px;
		font-size: 15px;
	}
	.other-price-furikomi {
		margin-top: 15px;
		padding: 15px 5px 10px;
	}
	.other-price-item:after {
		top: 7px;
		left: 4px;
    height: 10px;
    width: 3px;
	}
	.other-price-item:before {
		top: 1px;
		height: 17px;
		width: 3px;
	}
	.other-price-table th,
	.other-price-table td { padding: 5px 5px }
	.insurance .other-price-table th { width: 70px; }
	.insurance .sp-table-block,
	.sp-table-block { display: block; }
	.insurance .sp-table-block tbody,
	.sp-table-block tbody {
		width: 100%;
    display: grid;
	}
	.insurance .sp-table-block th,
	.insurance .sp-table-block td,
	.sp-table-block th,
	.sp-table-block td {
		display: block;
		width: 100%;
	}
	.small.diff { font-size: 11px; }
	.small { font-size: 11px; }
	.sp-table-noc {
		width: 200px;
		text-align: left;
	}
	.other-price-table td.sp-text-center { text-align: center; }
	.insurance-note {
		flex-direction: column;
    gap: 10px;
    padding: 20px;
	}
	.insurance-note-list li { font-size: 12px; }
	.insurance-note-list li:last-of-type { margin-top: 0px; }
	.insurance-note p::before { content: none; }
	.check {
    left: -9px;
    width: 10px;
    height: 2px;
	}
	.other-price-note li { font-size: 11px; }
	.other-price-table th.return { width: 130px; }

	.pay-card-list li img { width: 50px; height: 50px; }
}
/* =======================================================================================
	共有　お問い合わせ
======================================================================================= */
.cmn-contact {
	padding: 60px 0 150px;
	background: url(../img/bg_yellow.webp);
	position: relative;
}
.cmn-contact::before {
	content: "";
	background: url(../img/bg_line_cmn.webp) no-repeat center center / cover;
	width: 540px;
	height: 400px;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1;
}
.form-toggle-wrap {
	position: relative;
	z-index: 2;
}
/* お問い合わせ ボタン＋ */
.cmn-contact-btn {
	display: block;
	width: 100%;
  position: relative;
  background: #0d5d78;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  padding: 25px 50px 25px 15px;
  border: none;
	border-radius: 20px;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}
.cmn-contact-btn img {
	width: 40px;
	height: 40px;
	margin-right: 20px;
}
.cmn-contact-text { pointer-events: none; }

/* ＋アイコンは右端に絶対配置 */
.form-toggle-icon {
  position: absolute;
  right: 20px;
  font-size: 24px;
  transition: transform 0.3s ease;
}

/* 電話・LINE */
.cmn-contact-list {
	display: flex;
	gap: 60px;
	margin-top: 30px;
}
.cmn-contact-item {
	width: calc(100% / 2 - 30px);
	background: #fff;
	border-radius: 20px;
	position: relative;
	box-shadow: 0px 5px 10px 0px rgba(201, 201, 201, 0.35);
	transition: .3s;
}
.cmn-contact-item:hover {
	box-shadow: none;
	transition: .3s;
}
.cmn-contact-item:nth-of-type(2)::before { background: url(../img/icon_line.webp) no-repeat center center / cover; }
.cmn-contact-item::before {
	content: "";
	background: url(../img/icon_circle_tel.webp) no-repeat center center / cover;
	width: 50px;
	height: 50px;
	position: absolute;
	left: 10px;
	top: 10px;
}
.cmn-contact-item a {
	display: inline-block;
	width: 100%;
	height: 100%;
	padding: 30px;
	color: #333;
}
.cmn-contact-item-ttl {
	margin-bottom: 20px;
	text-align: center;
	font-size: 16px;
	font-weight: 700;
}
.cmn-contact-item-ttl .font-large { font-size: 22px; }
.cmn-contact-item-num,
.cmn-contact-item-ttl-text { text-align: center; }
.cmn-contact-item-ttl-time {
	display: block;
	margin-top: 15px;
	font-size: 14px;
	font-weight: normal;
}
.cmn-contact-item-num {
	font-size: 30px;
	line-height: 1;
	font-weight: 700;
	font-family: 'Zen Maru Gothic', sans-serif;
	margin-top: -20px;
}

@media screen and (max-width: 1149px) {
	.cmn-contact::before { width: 480px; height: 360px; }
}

@media screen and (max-width: 929px) {
	.cmn-contact-list {
		gap: 20px;
		flex-direction: column;
	}
	.cmn-contact-item { width: 100%; }
}

@media screen and (max-width: 769px) {
	.cmn-contact {  padding: 60px 0 100px; } 
	.cmn-contact::before { width: 240px; height: 170px; }
	.cmn-contact-btn { font-size: 14px; }
	.cmn-contact-btn img { width: 30px; height: 30px; }
	.cmn-contact-item::before { width: 40px; height: 40px; }
	.cmn-contact-item-ttl {
    margin-bottom: 15px;
    font-size: 13px;
	}
	.cmn-contact-item-ttl .font-large { font-size: 18px; }
}
/* =======================================================================================
	共有　footer
======================================================================================= */
footer {
	max-width: 1920px;
	width: 100%;
	margin: 0 auto;
	padding: 15px 20px 30px 15px;
	position: relative;
}
footer::before {
  content: "";
  display: block;
	width: 100vw;
  height: 80px;
	margin-left: -50vw;
  margin-right: -50vw;
  background: url(../img/footer_bg.webp) no-repeat center top / cover;
	position: absolute;
	top: -80px;
	left: 50%;
  right: 50%;
}
.footer-content {
	display: flex;
	justify-content: space-between;
	align-items: end;
}
.footer-logo img {
	width: 180px;
	height: auto;
	margin-bottom: 15px;
	position: relative;
	z-index: 1;
}
.footer-add {
	margin-bottom: 10px;
	font-size: 14px;
	line-height: 1.6;
}
.footer-tel { font-size: 14px; }
.footer-sns-list {
	display: flex;
	gap: 15px;
	margin-top: 20px;
}
.footer-sns-item {
    width: 30px;
    height: 30px;
}
.footer-nav-right {
	display: flex;
	flex-direction: column;
	gap: 15px;
	align-items: end;
}
.footer-nav-contact-num { font-size: 14px; }
/* お問い合わせ.電話番号 ボタン */
.footer-nav-contact-list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 10px;
}
.footer-nav-contact-item {
	display: flex;
	align-self: initial;
	width: 250px;
  border-radius: 50px;
	text-align: center;
  overflow: hidden; /* はみ出し防止 */
}
.footer-nav-contact-item a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%; /* 高さいっぱい使う */
  width: 100%;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  box-sizing: border-box;
}
.footer-nav-contact-item.mail a { color: #fff; }
.footer-nav-contact-item.mail { background: #0d5d78; } 
.footer-nav-contact-item.tel { background: #e8d5aa; }
.footer-nav-contact-item.tel a {
	display: flex;
	flex-direction: column;
	align-items: center; 
	color: #333;
}
.footer-nav-contact-time {
	font-size: 12px;
	line-height: 1.3;
}
.footer-nav-contact-num {
	font-size: 23px;
	font-weight: 700;
	font-family: 'Zen Maru Gothic', sans-serif;
	line-height: 1;
}
.footer-nav-contact-item.line { width: 50px; height: 70px;}
.footer-nav-contact-item.line img { width: 50px; }

.footer-nav-list {
	display: flex;
	gap: 20px;
}
.footer-nav-item a {
	font-size: 13px;
	position: relative;
	padding-left: 15px;
}
.footer-nav-item a::before {
	content: "";
	position: absolute;
	top: calc(50% - 1px);
	left: 0px;
	width: 14px;
	height: 4px;
	border-radius: 9999px;
	background-color: #147a9c;
}
.footer-copy, .web-link { font-size: 12px; }
.web-link {text-align: right;}
@media screen and (max-width: 1469px) {
footer { padding: 15px 20px 50px 15px; }
}
@media screen and (max-width: 1439px) {
	.footer-content {
    align-items: normal;
    flex-direction: column;
	}
	.footer-nav-left { margin-bottom: 20px; }
	.footer-nav-list { flex-wrap: wrap; }
}

@media screen and (max-width: 639px) {
	footer { padding: 15px 20px 60px 15px; }
	footer::before { top: -40px; }
	.footer-logo img { width: 100px; }
	.footer-nav-right { align-items: flex-start; }
	.footer-nav-contact-item { width: 100%; }
	.footer-nav-contact-item.mail a {
		width: 100%;
		padding: 10px 0;
	}
	.footer-nav-contact-item.tel a {
		padding: 5px 0;
		width: 100%
	}
	.footer-add,.footer-tel { font-size: 12px; }
	.footer-nav-item { width: calc(100% / 2 - 10px); }
	.footer-nav-item a { font-size: 11px; }
	.footer-nav-item a::before { width: 12px; }
	.footer-copy, .web-link { font-size: 10px; }
	.web-link {text-align: left;}
}

/* =======================================================================================
	パンくずリスト
======================================================================================= */
.breadcrumb-list {
	position: relative;
	margin-top: -40px;
	z-index: 1;

}
.breadcrumb ul {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.breadcrumb ul li {
	font-size: 13px;
	color: #0d5d78;
}
.breadcrumb-separator {
	padding-right: 5px;
}

@media screen and (max-width: 639px) {
	.breadcrumb ul li { font-size: 11px; }
	.breadcrumb ul { gap: 2px 10px; }
}

/* =======================================================================================
	メールフォーム
======================================================================================= */
.contact-form {
	padding: 50px 0;
}
.under-ttl {
	margin: 20px 0;
	text-align: center;
	font-size: 20px;
}
.ttl-span {
	display: block;
	margin-bottom: 10px;
	color: #147a9c;
	font-size: 16px;
}
.contact-text { text-align: center; }
.contact-en {
	text-align: center;
	text-decoration: underline;
}
.contact-en a {
	color: #147a9c;
	font-weight: bold;
}
.form-contact {
	padding: 50px;
	background: #eaf7ff;
	border-radius: 20px;
}
dl.mailform  {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}
.mailform dt,
.mailform dd {
  margin: 0;
  padding: 10px 0 15px;
}
.mailform dt {
	display: flex;
	align-items: center;
  width: 300px;
  font-weight: bold;
  box-sizing: border-box;
}
.mailform dd {
  width: calc(100% - 300px);
  box-sizing: border-box;
}
.mailform input[type="text"],
.mailform input[type="email"],
.mailform input[type="tel"],
.mailform input[type="number"],
.mailform input[type="date"],
.mailform input[type="time"],
.mailform textarea,
.mailform select {
	padding: 0 5px;
  background-color: #fff;
}

.mailform textarea,
.form-dl textarea {
  width: 100% !important;
	height: 300px !important;
  padding: 0.5em;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 1em;
  box-sizing: border-box;
  resize: vertical;
  background-color: #fff;
}
.form-dl {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}

.form-dl dt {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	width: 300px;
	font-weight: bold;
}
.form-dl dd { width: calc(100% - 300px); }
.form-dl dt,
.form-dl dd { padding: 10px 0 15px; }

.form-dl input[type="text"],
.form-dl input[type="email"],
.form-dl input[type="tel"],
.form-dl input[type="number"],
.form-dl input[type="date"],
.form-dl input[type="time"],
.form-dl textarea,
.form-dl select {
	padding: 0 5px;
  background-color: #fff;
}

.num-user input[type="number"] {
	width: 50px;
}
.num-user {
	display: flex;
	gap: 20px;
}
.select-point {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
}
.start-date,
.end-date {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
}
.form-small {
	font-size: 12px;
}
.comp-text {
	width: 100%;
	margin-top: -10px;
	line-height: 1.5;
	font-size: 12px;
}
.comp-text a {
	text-decoration: underline;
	color: #0d5d78;
}
.form-op {
	display: flex;
	align-items: center;
	margin-bottom: 8px;
}
.form-op input[type="number"] {
	width: 70px;
}
.form-pdf a {
	text-decoration: underline;
	color: #0d5d78;
}
.any {
	display: block;
	background-color: #cbcbcb;
	border: solid 2px #cbcbcb;
	padding: 0 5px ;
	font-size: 10px;
	color: #333;
	margin: 0px 5px 0 0;
	border-radius: 4px;
	line-height: 1;
}
.submit_buttons {
	max-width: 600px;
  width: 100%;
	margin: 10px auto;
	padding: 15px 0;
	border-radius: 50px;
	background: #147a9c;
	color: #fff;
	font-weight: bold;
}
button#mfp_button_cancel {
	background: #d4d4d4;
}

.thanks-content {
	margin-top: 20px;
	padding: 50px;
	background: #e1eff8;
}
.thk-text.diff{
	margin-bottom: 20px;
	font-size: 18px;
	line-height: 1.6;
}
.thk-text { margin-bottom: 10px; }
.thk-link {
	margin-top: 30px;
	text-align: center;
}
.thk-link a {
color: #147a9c;
text-decoration: underline;
}
.from-note-time {
	font-size: 12px;
}
.address-size {
	max-width: 600px;
	width: 100%;
}

/* 確認画面 */
#mfp_phase_confirm[style*="display: block"] #mfp_phase_confirm_inner {
  background: #eaf7ff;
  padding: 30px 50px 50px;
  border-radius: 20px;
}
div#mfp_phase_confirm h4 {
    font-size: 20px;
    padding: 10px;
    text-align: center;
		color: #fff;
		background: #0d5d78;
		margin-bottom: 30px;
		border-radius: 10px;
}
table#mfp_confirm_table tr th, table#mfp_confirm_table tr td {
    font-size: 14px;
	}

div.mfp_buttons button#mfp_button_send {
	width: 200px;
	background: #0d5d78;
	color: #fff;
	font-weight: bold;
}
@media screen and (max-width: 849px) {
	.contact-text { text-align: left; }
	dl.mailform { flex-direction: column; }
	.mailform dt {
		width: 100%;
		padding-bottom: 0;
	}
	.mailform dd {
		width: 100%;
		padding: 0 0 15px;
	}
	.form-dl { flex-direction: column; }
	.form-dl dt {
		width: 100%;
		padding-bottom: 0;
	}
	.form-dl dd {
		width: 100%;
		padding: 0 0 15px;
	}
	.comp-text { margin-top: 5px }
	.num-user {
		flex-direction: column;
		gap: 10px;
	}
	.num-user-list label { width: 75px; }
	.start-date, .end-date { gap: 10px; }
	.form-op label { width: 80px; }
	.thanks-content { padding: 20px; }
	.thk-text.diff { font-size: 16px; }

	/* 確認画面 */
#mfp_phase_confirm[style*="display: block"] #mfp_phase_confirm_inner { padding: 20px; }
}
div#mfp_phase_confirm h4 { font-size: 15px; }
table#mfp_confirm_table tr th, table#mfp_confirm_table tr td { font-size: 12px; }

@media screen and (max-width: 669px) {
	.form-contact { padding: 20px; }
	.form-contact input,
  .form-contact textarea,
  .form-contact select { font-size: 16px; }
	input[type="email"] { width: 100%; }
	.select-point label {
		display: block;
		width: 100%;
	}
	.select-point { gap: 0px; }
}


/* =======================================================================================
	英語調整
======================================================================================= */
.en .op-read-ttl-sub { left: 33px; }
.en .op-read-ttl::before {
    width: 184px;
    height: 85px;
    top: -8px;
    left: 0;
}
.en .op-read-ttl { padding: 70px 20px 25px; }

.en .discount-ttl { text-align: center; }
.en .discount-ttl::before {
    left: 50%;
    top: 15px;
    transform: translateX(-51%);
	}
.en .discount-text { width: 170px; }
.en .discount-off {
	width: calc(100% - 170px);
	padding: 10px 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #147a9c;
	color: #fff;
}


@media screen and (max-width: 849px) {
	.en .num-user-list label { width: 90px; }
	.en .rental-tab.active span::before { left: -25px; }
	.en .discount-ttl::before { width: 157px;height: 60px; }

	.en .company-table th, .en .company-table td { display: block; }
	.en .company-table th { width: 100%; padding-bottom: 5px; }
	.en .company-table td { 
		padding: 5px 0 20px;
    border-bottom: none;
	}
	.en .company-table tr:last-child th { border-bottom: #147a9c solid 2px; }
}
@media screen and (max-width: 769px) {
	.en .fv-btn a {
		width: 320px;
		height: 94px;
    }
	.en .op-read-ttl-sub { top: -5px; }
	.en .op-read-ttl::before { top: -14px; }

	.en .other-price-table th.return {  width: 152px; }

	.en .insurance-note-list li:last-of-type { text-align: left; }
	.en .sp-table-noc {  width: 187px; }

	.en .cmn-contact-item::before { left: 5px; top: 5px; }
}
	@media screen and (max-width: 479px) {
	.en .op-item { width: 100%; }
	.en .op-list-img img {
		width: 100%;
		height: 200px;
		object-position: center center;
	}
}