@charset "UTF-8";
/* ---------------------------------------
基本情報
-----------------------------------------*/
html {
	font-size: 62.5%;
	overflow-y: scroll;
}
@media screen and (max-width: 800px) {
	html {
		font-size: 2.5641025641vw;
	}
}

*,
*:after,
*:before {
	box-sizing: border-box;
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
address,
time,
ul,
ol,
li,
dl,
dt,
dd,
table,
th,
td,
img,
figure,
figcaption,
form,
input,
button,
textarea,
select {
	margin: 0;
	padding: 0;
	border: none;
	line-height: 100%;
	letter-spacing: 0;
	list-style-type: none;
	font-style: normal;
	font-weight: 400;
	font-family: "Zen Kaku Gothic New", sans-serif;
	word-break: break-all;
	line-break: strict;
	-webkit-text-size-adjust: 100%;
}

input,
button,
textarea,
select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	border-radius: 0;
	resize: none;
	outline: none;
	background: none;
}

select::-ms-expand {
	display: none;
}

button:hover {
	cursor: pointer;
}

img,
object {
	vertical-align: bottom;
	width: 100%;
	height: auto;
}

a {
	color: inherit;
	text-decoration: none;
}

/* responsive
--------------------------------*/
@media screen and (min-width: 801px) {
	.sp {
		display: none !important;
	}
}
@media screen and (max-width: 800px) {
	.pc {
		display: none !important;
	}
}
/* base
--------------------------------*/
body {
	color: #2458AA;
	font-size: 1rem;
	text-align: left;
}

.bg_main {
	width: 100%;
	height: 100%;
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	margin-top: 6rem;
}
.bg_main .bg_main_left, .bg_main .bg_main_right {
	width: calc((100% - 39rem) / 2);
	min-height: 100%;
	padding-bottom: 10%;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 0;
}
.bg_main .bg_main_left {
	left: 0;
}
.bg_main .bg_main_left .wrap {
	max-width: 21.3rem;
	padding: 0;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	padding: 0 1rem;
}
@media screen and (max-width: 1200px) {
	.bg_main .bg_main_left .wrap {
		max-width: 17.75vw;
	}
}
.bg_main .bg_main_left .illust {
	width: 50%;
	position: relative;
}
.bg_main .bg_main_left .illust .fukidashi {
	width: 20.8rem;
	min-height: 9rem;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
	background-color: #2458AA;
	border-radius: 2.3rem;
	position: absolute;
	opacity: 0;
	transition: 0.5s ease;
}
@media screen and (max-width: 1200px) {
	.bg_main .bg_main_left .illust .fukidashi {
		width: 17.3333333333vw;
		min-height: 7.5vw;
		padding: 0.8333333333vw;
		border-radius: 1.9166666667vw;
	}
}
.bg_main .bg_main_left .illust .fukidashi::after {
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	position: absolute;
}
.bg_main .bg_main_left .illust .fukidashi .txt {
	color: #fff;
	font-weight: 700;
	font-size: 2rem;
	line-height: 1.35;
	letter-spacing: 0.1em;
	margin-left: 0.5em;
}
@media screen and (max-width: 1200px) {
	.bg_main .bg_main_left .illust .fukidashi .txt {
		font-size: 1.6666666667vw;
	}
}
.bg_main .bg_main_left .illust:hover .fukidashi {
	opacity: 1;
}
.bg_main .bg_main_left .illust img {
	display: block;
}
.bg_main .bg_main_left .illust._01 .fukidashi {
	top: -12.2rem;
	left: 0;
}
@media screen and (max-width: 1200px) {
	.bg_main .bg_main_left .illust._01 .fukidashi {
		top: -10.1666666667vw;
	}
}
.bg_main .bg_main_left .illust._01 .fukidashi::after {
	border-width: 0 1.2rem 1.6rem 0;
	border-color: transparent #2458AA transparent transparent;
	left: 2.8rem;
	bottom: -1.5rem;
}
@media screen and (max-width: 1200px) {
	.bg_main .bg_main_left .illust._01 .fukidashi::after {
		border-width: 0 1vw 1.3333333333vw 0;
		left: 2.3333333333vw;
		bottom: -1.25vw;
	}
}
.bg_main .bg_main_left .illust._01 img {
	width: 9.6rem;
	margin-right: auto;
}
@media screen and (max-width: 1200px) {
	.bg_main .bg_main_left .illust._01 img {
		width: 8vw;
	}
}
.bg_main .bg_main_left .illust._02 .fukidashi {
	bottom: -13.2rem;
	right: 0;
}
@media screen and (max-width: 1200px) {
	.bg_main .bg_main_left .illust._02 .fukidashi {
		bottom: -11vw;
	}
}
.bg_main .bg_main_left .illust._02 .fukidashi::after {
	border-width: 0 0 1.6rem 1.2rem;
	border-color: transparent transparent #2458AA transparent;
	right: 2.8rem;
	top: -1.5rem;
}
@media screen and (max-width: 1200px) {
	.bg_main .bg_main_left .illust._02 .fukidashi::after {
		border-width: 0 0 1.3333333333vw 1vw;
		right: 2.3333333333vw;
		top: -1.25vw;
	}
}
.bg_main .bg_main_left .illust._02 img {
	width: 7.65rem;
	margin-left: auto;
}
@media screen and (max-width: 1200px) {
	.bg_main .bg_main_left .illust._02 img {
		width: 6.375vw;
	}
}
.bg_main .bg_main_right {
	right: 0;
}
.bg_main .bg_main_right .wrap {
	max-width: 30.4rem;
	padding: 0 1rem;
}
@media screen and (max-width: 1200px) {
	.bg_main .bg_main_right .wrap {
		max-width: 25.3333333333vw;
	}
}
.bg_main .bg_main_right .sec_ttl span {
	color: #fff;
	font-size: 3.6rem;
	line-height: 1.1111111111;
	padding: 0 0.6rem;
	margin-top: 0;
}
@media screen and (max-width: 1200px) {
	.bg_main .bg_main_right .sec_ttl span {
		font-size: 3vw;
		padding: 0 0.5vw;
	}
}
.bg_main .bg_main_right .sec_ttl span::before {
	transform: scale(1, 1);
}
.bg_main .bg_main_right .list_wrap {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0 1rem;
	margin-top: 3.4rem;
}
@media screen and (max-width: 1200px) {
	.bg_main .bg_main_right .list_wrap {
		gap: 0 0.8333333333vw;
		margin-top: 2.8333333333vw;
	}
}
.bg_main .bg_main_right .movie_list .ttl {
	margin-bottom: 1.4rem;
}
@media screen and (max-width: 1200px) {
	.bg_main .bg_main_right .movie_list .ttl {
		margin-bottom: 1.1666666667vw;
	}
}
.bg_main .bg_main_right .movie_list .ttl span {
	display: inline-block;
	min-width: 12rem;
	color: #fff;
	font-weight: 700;
	font-size: 1.3rem;
	line-height: 1;
	letter-spacing: 0.18em;
	padding: 0.6rem 1rem;
}
@media screen and (max-width: 1200px) {
	.bg_main .bg_main_right .movie_list .ttl span {
		min-width: 10vw;
		font-size: 1.0833333333vw;
		padding: 0.5vw 0.8333333333vw;
	}
}
.bg_main .bg_main_right .movie_list._bus .ttl span {
	background-color: #C31D2C;
}
.bg_main .bg_main_right .movie_list._taxi .ttl span {
	background-color: #2F9348;
}
.bg_main .bg_main_right .movie_list .item + .item {
	margin-top: 2rem;
}
@media screen and (max-width: 1200px) {
	.bg_main .bg_main_right .movie_list .item + .item {
		margin-top: 1.6666666667vw;
	}
}
.bg_main .bg_main_right .movie_list .item .thumb a {
	display: block;
	position: relative;
}
.bg_main .bg_main_right .movie_list .item .thumb a::after {
	content: "";
	width: 3.2rem;
	height: 3.2rem;
	background: url(../img/ico_play.svg) no-repeat center/contain;
	position: absolute;
	right: 1rem;
	bottom: 0.8rem;
}
@media screen and (max-width: 1200px) {
	.bg_main .bg_main_right .movie_list .item .thumb a::after {
		width: 2.6666666667vw;
		height: 2.6666666667vw;
		right: 0.8333333333vw;
		bottom: 0.6666666667vw;
	}
}
.bg_main .bg_main_right .movie_list .item .txt {
	color: #1A2C4D;
	font-weight: 700;
	font-size: 1.3rem;
	letter-spacing: 0.04em;
	margin-top: 0.5rem;
}
@media screen and (max-width: 1200px) {
	.bg_main .bg_main_right .movie_list .item .txt {
		font-size: 1.0833333333vw;
		margin-top: 0.4166666667vw;
	}
}

.contents {
	position: relative;
	background-color: #fff;
	z-index: 1;
}
@media screen and (min-width: 801px) {
	.contents {
		width: 39rem;
		margin: 0 auto;
		box-shadow: 0 0 1rem rgba(0, 0, 0, 0.3);
	}
}

#main {
	display: block;
	padding-top: 6rem;
	overflow: hidden;
}
@media screen and (max-width: 800px) {
	#main {
		padding-top: 5.5rem;
	}
}

section {
	position: relative;
}

.wrap {
	position: relative;
	width: 100%;
	padding: 0 3rem;
	margin: 0 auto;
}

p,
th,
td,
dt,
dd,
li,
input,
button,
textarea {
	font-size: 1.6rem;
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	line-height: 1.5;
}

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

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

.left {
	float: left;
}

.right {
	float: right;
}

.tal {
	text-align: left;
}

.tar {
	text-align: right;
}

.tac {
	text-align: center;
}

.center {
	display: block;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}

.bold,
strong {
	font-weight: bold;
	font-weight: 700;
}

.fixed {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}

.en {
	font-family: "Montserrat", sans-serif;
}

@media screen and (min-width: 801px) {
	a {
		transition: opacity 0.3s ease;
	}
	a:hover {
		cursor: pointer;
		opacity: 0.6;
	}
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
	}
}
/* scroll-animation
--------------------------------*/
.fadeup {
	opacity: 0;
	transform: translateY(3rem);
	transition: opacity 1s, transform 1s;
}

.fadein {
	opacity: 0;
	transition: opacity 1s;
}

.scroll.is-show.fadeup,
.scroll.is-show .fadeup {
	opacity: 1;
	transform: translate(0, 0);
}

.scroll.is-show.fadein,
.scroll.is-show .fadein {
	opacity: 1;
}

/* ---------------------------------------
  header
-----------------------------------------*/
#header {
	background-color: #fff;
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	margin: 0 auto;
	z-index: 999;
}
@media screen and (min-width: 801px) {
	#header {
		box-shadow: 0 0 0.4rem rgba(0, 0, 0, 0.2);
	}
}
@media screen and (max-width: 800px) {
	#header {
		width: 39rem;
	}
}
#header .wrap {
	height: 6rem;
	padding: 0 0 0 3.5rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
@media screen and (max-width: 1024px) {
	#header .wrap {
		padding: 0 0 0 1.5rem;
	}
}
@media screen and (max-width: 800px) {
	#header .wrap {
		height: 5.5rem;
		padding: 0 1rem;
	}
}
#header .logo {
	font-weight: 700;
	font-size: 1.8rem;
	line-height: 1.5;
	letter-spacing: 0.06em;
}
@media screen and (max-width: 1024px) {
	#header .logo {
		font-size: 1.4rem;
	}
}
@media screen and (max-width: 800px) {
	#header .logo {
		line-height: 1.2666666667;
	}
}
#header .nav_wrap {
	display: flex;
	align-items: center;
	gap: 0 2.5rem;
}
@media screen and (max-width: 1024px) {
	#header .nav_wrap {
		gap: 0 1.5rem;
	}
}
@media screen and (max-width: 800px) {
	#header .nav_wrap {
		gap: 0 1rem;
	}
}
#header .btn_request a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 12rem;
	height: 6rem;
	text-align: center;
	color: #fff;
	font-weight: 700;
	font-size: 1.5rem;
	line-height: 1.2;
	letter-spacing: 0.08em;
	padding: 0.5rem;
	background-color: #C31D2C;
}
@media screen and (max-width: 1024px) {
	#header .btn_request a {
		width: 10rem;
		font-size: 1.3rem;
	}
}
@media screen and (max-width: 800px) {
	#header .btn_request a {
		width: 9rem;
		height: 4rem;
		letter-spacing: 0;
		border-radius: 0.3rem;
	}
}
#header .menu_trigger {
	position: relative;
	width: 3.5rem;
	height: 3.5rem;
	background-color: #2458AA;
	border-radius: 50%;
}
#header .menu_trigger span {
	display: inline-block;
	width: 1.7rem;
	height: 0.2rem;
	background-color: #fff;
	border-radius: 0.1rem;
	position: absolute;
	left: 0;
	right: 0;
	margin: 0 auto;
	transition: all 0.4s;
}
#header .menu_trigger span:nth-child(1) {
	top: 1.2rem;
}
#header .menu_trigger span:nth-child(2) {
	top: 1.7rem;
}
#header .menu_trigger span:nth-child(3) {
	top: 2.2rem;
}
#header.navOpen .menu_trigger span:nth-child(1) {
	top: 1.7rem;
	transform: rotate(-45deg);
}
#header.navOpen .menu_trigger span:nth-child(2) {
	opacity: 0;
}
#header.navOpen .menu_trigger span:nth-child(3) {
	top: 1.7rem;
	transform: rotate(45deg);
}
@media screen and (max-width: 800px) {
	#header .header_nav {
		display: none;
		width: 39rem;
		height: calc(100vh - 5.5rem);
		background-color: #2458AA;
		position: fixed;
		left: 0;
		right: 0;
		top: 5.5rem;
		margin: 0 auto;
		overflow-y: auto;
		z-index: 100;
	}
	#header .header_nav .inner {
		min-height: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 5rem;
	}
}
#header .header_nav .gnav {
	display: flex;
	gap: 0 2.4rem;
}
@media screen and (max-width: 1024px) {
	#header .header_nav .gnav {
		gap: 0 1.5rem;
	}
}
@media screen and (max-width: 800px) {
	#header .header_nav .gnav {
		flex-direction: column;
		gap: 3.4rem 0;
	}
}
#header .header_nav .gnav li {
	text-align: center;
	color: #2458AA;
	font-weight: 500;
	font-size: 1.4rem;
	line-height: 1.5;
	letter-spacing: 0.1em;
}
@media screen and (max-width: 1024px) {
	#header .header_nav .gnav li {
		font-size: 1.2rem;
	}
}
@media screen and (max-width: 800px) {
	#header .header_nav .gnav li {
		color: #fff;
		font-weight: 700;
		font-size: 1.4rem;
		font-size: 2rem;
	}
}

/* ---------------------------------------
  main
-----------------------------------------*/
/* common
--------------------------------*/
/*sec_ttl*/
.sec_ttl {
	text-align: center;
	font-weight: 700;
	font-size: 1.8rem;
	letter-spacing: 0.1em;
}
.sec_ttl span {
	position: relative;
	display: inline-block;
	color: transparent;
	font-weight: 700;
	font-size: 3.5rem;
	line-height: 1.2;
	letter-spacing: 0.04em;
	padding: 0 0.4rem;
	margin-top: 1rem;
	z-index: 1;
	transition: color 0.3s ease 1s;
}
.sec_ttl span::before {
	content: "";
	width: 100%;
	height: 100%;
	background-color: #2458AA;
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
	transform: scale(0, 1);
	transform-origin: left;
	transition: transform 0.3s ease 0.7s;
}
.sec_ttl span.en {
	font-size: 4rem;
	line-height: 1.05;
}
.sec_ttl.is-show span {
	color: #fff;
}
.sec_ttl.is-show span::before {
	transform: scale(1);
}
.sec_ttl._white {
	color: #fff;
}
.sec_ttl._white span::before {
	background-color: #fff;
}
.sec_ttl._white.is-show span {
	color: #2458AA;
}

/*mfp*/
.mfp-bg {
	background-color: #fff;
	opacity: 0.5;
}

@media screen and (max-width: 800px) {
	.mfp-wrap .mfp-content {
		max-width: 30rem;
	}
}
.mfp-wrap .mfp-content .mfp-close {
	font-size: 0;
	width: 2.1rem;
	height: 2.1rem;
	padding: 0;
	background: url(../img/ico_close_blue.svg) no-repeat center/contain;
	right: 0;
	top: -2.4rem;
	opacity: 1;
}

/* sec_mv
--------------------------------*/
#sec_mv {
	height: 46.1rem;
	padding: 0.9rem 1rem 0;
	background: url(../img/mv_bg.png) no-repeat center bottom/cover;
}
#sec_mv .ttl {
	position: relative;
	width: 100%;
	z-index: 1;
	opacity: 0;
	transform: translateZ(0) scale(1.8);
	transition: opacity 0.1s ease 1s, transform 0.5s ease 1s;
}
#sec_mv .txt {
	position: relative;
	width: 5.3rem;
	margin: 1rem auto 0;
	z-index: 1;
	opacity: 0;
	transition: opacity 2s ease 1.5s;
}
#sec_mv .illust {
	width: 100%;
	position: absolute;
	left: 0;
	bottom: 0;
	opacity: 0;
	transform: translateZ(0) scale(1.8);
	transition: opacity 0.1s ease 0.5s, transform 0.5s ease 0.5s;
}
#sec_mv.is-show .ttl, #sec_mv.is-show .illust {
	opacity: 1;
	transform: translateZ(0) scale(1);
}
#sec_mv.is-show .txt {
	opacity: 1;
}

/* sec_system
--------------------------------*/
#sec_system {
	padding: 5rem 0 8rem;
	background-color: #2458AA;
}
#sec_system .system_list {
	display: grid;
	grid-template-rows: 1fr;
	gap: 2rem 0;
	margin-top: 3rem;
}
#sec_system .system_list .item {
	padding: 3rem 2.5rem 3.5rem;
	background-color: #fff;
	border-radius: 1rem;
}
#sec_system .system_list .item .cate {
	font-weight: 700;
	font-size: 2rem;
	letter-spacing: 0.04em;
}
#sec_system .system_list .item .cate span {
	display: inline-block;
	padding: 0.4rem 1.3rem;
	border: 0.2rem solid #2458AA;
	border-radius: 0.6rem;
}
#sec_system .system_list .item .catch {
	font-weight: 700;
	font-size: 1.7rem;
	line-height: 1.4117647059;
	margin-top: 1.5rem;
}
#sec_system .system_list .item .ttl {
	font-weight: 700;
	font-size: 2rem;
	letter-spacing: 0.04em;
	margin-left: -0.5rem;
	margin-top: 0.7rem;
}
#sec_system .system_list .item .ttl .bg {
	position: relative;
	display: inline-block;
	color: transparent;
	padding: 0 1rem;
	z-index: 1;
	transition: color 0.3s ease 1.3s;
}
#sec_system .system_list .item .ttl .bg:nth-child(n+2) {
	margin-top: 0.5rem;
}
#sec_system .system_list .item .ttl .bg._l {
	font-size: 2.8rem;
	letter-spacing: 0.1em;
}
#sec_system .system_list .item .ttl .bg::before {
	content: "";
	width: 100%;
	height: 100%;
	background-color: #D2E5EE;
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
	transform: scale(0, 1);
	transform-origin: left;
	transition: transform 0.3s ease 1s;
}
#sec_system .system_list .item .ttl .bg:nth-of-type(2) {
	transition-delay: 1.5s;
}
#sec_system .system_list .item .ttl .bg:nth-of-type(2)::before {
	transition-delay: 1.2s;
}
#sec_system .system_list .item .ttl .bg:nth-of-type(3) {
	transition-delay: 1.7s;
}
#sec_system .system_list .item .ttl .bg:nth-of-type(3)::before {
	transition-delay: 1.4s;
}
#sec_system .system_list .item.is-show .ttl .bg {
	color: #2458AA;
}
#sec_system .system_list .item.is-show .ttl .bg::before {
	transform: scale(1);
}
#sec_system .system_list .item .inner {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0 2rem;
	margin-top: 2.6rem;
}
#sec_system .system_list .item dl {
	text-align: center;
}
#sec_system .system_list .item dl dt {
	color: #fff;
	font-weight: 700;
	font-size: 1.5rem;
	line-height: 1.2;
	letter-spacing: 0.18em;
	padding: 0.5rem 1rem;
}
#sec_system .system_list .item dl dd {
	font-weight: 700;
	font-size: 1.8rem;
	line-height: 1;
	letter-spacing: 0.04em;
	margin-top: 0.5rem;
}
#sec_system .system_list .item dl dd .en {
	display: inline-block;
	font-weight: 800;
	font-size: 6.8rem;
	letter-spacing: 0;
}
#sec_system .system_list .item dl.bus dt {
	background-color: #C31D2C;
}
#sec_system .system_list .item dl.bus dd {
	color: #C31D2C;
}
#sec_system .system_list .item dl.taxi dt {
	background-color: #2F9348;
}
#sec_system .system_list .item dl.taxi dd {
	color: #2F9348;
}
#sec_system .btn_wrap {
	width: 27.5rem;
	margin: 1.7rem auto 0;
}
#sec_system .btn_wrap .note {
	color: #fff;
	font-weight: 500;
	font-size: 1.3rem;
	line-height: 1.3846153846;
}
#sec_system .btn_wrap .btn {
	margin-top: 0.9rem;
}
#sec_system .btn_wrap .btn a {
	position: relative;
	display: block;
	text-align: center;
	color: #2458AA;
	font-weight: 700;
	font-size: 1.7rem;
	line-height: 1.5294117647;
	padding: 1rem;
	background-color: #fff;
	border-radius: 0.5rem;
}
#sec_system .btn_wrap .btn a::after {
	content: "";
	display: inline-block;
	width: 1.4rem;
	height: 1.4rem;
	background: url(../img/ico_blank.png) no-repeat center/contain;
	margin-left: 0.7rem;
}

/* sec_movie
--------------------------------*/
#sec_movie {
	padding: 8rem 0 0;
}
#sec_movie .list_wrap {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0 2rem;
	margin-top: 3.7rem;
}
#sec_movie .movie_list .ttl {
	margin-bottom: 1.7rem;
}
#sec_movie .movie_list .ttl span {
	display: inline-block;
	min-width: 13rem;
	color: #fff;
	font-weight: 700;
	font-size: 1.5rem;
	line-height: 1.2;
	letter-spacing: 0.18em;
	padding: 0.5rem 1rem;
}
#sec_movie .movie_list._bus .ttl span {
	background-color: #C31D2C;
}
#sec_movie .movie_list._taxi .ttl span {
	background-color: #2F9348;
}
#sec_movie .movie_list .item + .item {
	margin-top: 2rem;
}
#sec_movie .movie_list .item .thumb a {
	position: relative;
}
#sec_movie .movie_list .item .thumb a::after {
	content: "";
	width: 3.5rem;
	height: 3.5rem;
	background: url(../img/ico_play.svg) no-repeat center/contain;
	position: absolute;
	right: 1rem;
	bottom: 0.8rem;
}
#sec_movie .movie_list .item .txt {
	color: #1A2C4D;
	font-weight: 700;
	font-size: 1.5rem;
	letter-spacing: 0.04em;
	margin-top: 0.7rem;
}

/* sec_merit
--------------------------------*/
#sec_merit {
	padding: 8rem 0 0;
}
#sec_merit .sec_ttl span {
	letter-spacing: -0.08em;
}
#sec_merit .merit_tab {
	margin-top: 3.4rem;
}
#sec_merit .merit_tab .tab_wrap {
	display: flex;
}
#sec_merit .merit_tab .tab_wrap .tab {
	position: relative;
	flex: 1;
	height: 9rem;
	text-align: center;
	border-radius: 1.4rem 1.4rem 0 0;
	transition: 0.5s ease;
	cursor: pointer;
}
#sec_merit .merit_tab .tab_wrap .tab::after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 1rem 1rem 0 1rem;
	position: absolute;
	bottom: -1.3rem;
	left: 0;
	right: 0;
	margin: 0 auto;
	opacity: 0;
	z-index: 1;
}
#sec_merit .merit_tab .tab_wrap .tab .inner {
	position: relative;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0 0.4rem;
}
#sec_merit .merit_tab .tab_wrap .tab .illust {
	width: 6.3rem;
	height: 100%;
	overflow: hidden;
}
#sec_merit .merit_tab .tab_wrap .tab .illust img {
	display: block;
}
#sec_merit .merit_tab .tab_wrap .tab._bus {
	background-color: #C31D2C;
}
#sec_merit .merit_tab .tab_wrap .tab._bus::after {
	border-color: #C31D2C transparent transparent transparent;
}
#sec_merit .merit_tab .tab_wrap .tab._bus .illust img {
	width: 100%;
	margin-top: 0.2rem;
}
#sec_merit .merit_tab .tab_wrap .tab._taxi {
	background-color: #2F9348;
}
#sec_merit .merit_tab .tab_wrap .tab._taxi::after {
	border-color: #2F9348 transparent transparent transparent;
}
#sec_merit .merit_tab .tab_wrap .tab._taxi .illust img {
	width: 5rem;
	margin-top: 0.8rem;
	margin-left: 0.4rem;
}
#sec_merit .merit_tab .tab_wrap .tab .txt {
	color: #fff;
	font-weight: 900;
	font-size: 1.4rem;
	line-height: 1.25;
	letter-spacing: 0.08em;
	margin-left: 1.2rem;
	white-space: nowrap;
}
#sec_merit .merit_tab .tab_wrap .tab .txt span {
	font-size: 1.7rem;
}
#sec_merit .merit_tab .tab_wrap .tab.is-active {
	flex: 1.36;
	pointer-events: none;
}
#sec_merit .merit_tab .tab_wrap .tab.is-active::after {
	opacity: 1;
}
#sec_merit .merit_tab .tab_wrap .tab.is-active .inner {
	gap: 0 0.8rem;
}
#sec_merit .merit_tab .tab_wrap .tab.is-active .txt {
	font-size: 1.6rem;
}
#sec_merit .merit_tab .tab_wrap .tab.is-active .txt span {
	font-size: 2rem;
}
#sec_merit .merit_tab .cnt_wrap .cnt {
	position: relative;
	display: none;
	min-height: 125.7rem;
	padding: 3.6rem 3rem 3rem;
}
#sec_merit .merit_tab .cnt_wrap .cnt.is-show {
	display: block;
}
#sec_merit .merit_tab .cnt_wrap .cnt .merit_list .item + .item {
	margin-top: 4.3rem;
}
#sec_merit .merit_tab .cnt_wrap .cnt .merit_list .item .img {
	width: 100%;
	height: 18rem;
	border-radius: 1rem;
	overflow: hidden;
}
#sec_merit .merit_tab .cnt_wrap .cnt .merit_list .item .img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#sec_merit .merit_tab .cnt_wrap .cnt .merit_list .item .ttl {
	font-weight: 900;
	font-size: 2.2rem;
	line-height: 1.8181818182;
	letter-spacing: 0.06em;
	white-space: nowrap;
	margin-top: 1.6rem;
}
#sec_merit .merit_tab .cnt_wrap .cnt .merit_list .item .ttl .ls {
	letter-spacing: -0.1em;
}
#sec_merit .merit_tab .cnt_wrap .cnt .merit_list .item .ttl .num {
	display: inline-block;
	width: 4rem;
	height: 4rem;
	text-align: center;
	color: #fff;
	font-weight: 700;
	font-size: 2.5rem;
	line-height: 1.6;
	letter-spacing: 0;
	margin-right: 1.1rem;
}
#sec_merit .merit_tab .cnt_wrap .cnt .merit_list .item .txt {
	text-align: justify;
	color: #1A2C4D;
	font-weight: 700;
	font-size: 1.5rem;
	line-height: 1.6666666667;
	letter-spacing: 0.04em;
	margin-top: 0.8rem;
}
#sec_merit .merit_tab .cnt_wrap .cnt .merit_list .item .note {
	text-align: justify;
	color: #1A2C4D;
	font-weight: 500;
	font-size: 1.4rem;
	line-height: 1.4285714286;
	margin-top: 0.5rem;
}
#sec_merit .merit_tab .cnt_wrap .cnt._bus {
	background-color: #F7E3E6;
	border-top: 0.6rem solid #C31D2C;
}
#sec_merit .merit_tab .cnt_wrap .cnt._bus .merit_list .item .ttl {
	color: #C31D2C;
}
#sec_merit .merit_tab .cnt_wrap .cnt._bus .merit_list .item .ttl .num {
	background-color: #C31D2C;
}
#sec_merit .merit_tab .cnt_wrap .cnt._taxi {
	background-color: #E0EFE4;
	border-top: 0.6rem solid #2F9348;
}
#sec_merit .merit_tab .cnt_wrap .cnt._taxi .merit_list .item .ttl {
	color: #2F9348;
}
#sec_merit .merit_tab .cnt_wrap .cnt._taxi .merit_list .item .ttl .num {
	background-color: #2F9348;
}

/* sec_voice
--------------------------------*/
#sec_voice {
	padding: 8rem 0 0;
}
#sec_voice .voice_list {
	margin-top: 2.8rem;
}
#sec_voice .voice_list .slick-track {
	display: flex;
}
#sec_voice .voice_list .item {
	width: 30rem;
	height: auto !important;
	padding: 1.9rem 1.9rem 1.5rem;
	border-radius: 0.8rem;
	background-color: #fff;
	margin: 0 1rem;
}
#sec_voice .voice_list .item * {
	color: #111111;
}
#sec_voice .voice_list .item .inner {
	width: 100%;
	height: 100%;
}
#sec_voice .voice_list .item .cate span {
	display: inline-block;
	min-width: 14.5rem;
	color: #fff;
	font-weight: 700;
	font-size: 1.5rem;
	line-height: 1.2;
	padding: 0.2rem 0.5rem;
}
#sec_voice .voice_list .item .img {
	width: 16.6rem;
	height: 10.8rem;
	border-radius: 0.5rem;
	overflow: hidden;
	margin: 0.91rem auto 0;
}
#sec_voice .voice_list .item .img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#sec_voice .voice_list .item .name {
	font-weight: 500;
	font-size: 1.6rem;
	letter-spacing: 0.04em;
	margin-top: 0.5rem;
}
#sec_voice .voice_list .item .career {
	font-size: 1.3rem;
	line-height: 1.6153846154;
	letter-spacing: 0.06em;
}
#sec_voice .voice_list .item .ttl {
	font-weight: 700;
	font-size: 1.7rem;
	line-height: 1.2941176471;
	margin-top: 1.2rem;
}
#sec_voice .voice_list .item .txt {
	text-align: justify;
	font-size: 1.4rem;
	line-height: 1.6428571429;
	margin-top: 0.6rem;
}
#sec_voice .voice_list .item._bus {
	border: 0.3rem solid #C31D2C;
}
#sec_voice .voice_list .item._bus .cate span {
	background-color: #C31D2C;
}
#sec_voice .voice_list .item._taxi {
	border: 0.3rem solid #2F8438;
}
#sec_voice .voice_list .item._taxi .cate span {
	background-color: #2F8438;
}
#sec_voice .slider_ctrl {
	width: 30rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 3rem auto 0;
}
#sec_voice .slider_ctrl .slick-arrow {
	position: relative;
	width: 3.9rem;
	height: 3.9rem;
	font-size: 0;
	background-color: #2458AA;
	border-radius: 50%;
}
#sec_voice .slider_ctrl .slick-arrow::before {
	content: "";
	width: 0.9rem;
	height: 0.9rem;
	border-left: 0.2rem solid #fff;
	border-bottom: 0.2rem solid #fff;
	rotate: 45deg;
	position: absolute;
	left: 1.6rem;
	top: 1.5rem;
}
#sec_voice .slider_ctrl .slick-arrow.slick-prev {
	order: 1;
}
#sec_voice .slider_ctrl .slick-arrow.slick-next {
	order: 3;
	scale: -1 1;
}
#sec_voice .slider_ctrl .slick-dots {
	order: 2;
	display: flex;
	gap: 1rem;
}
#sec_voice .slider_ctrl .slick-dots li {
	width: 1.1rem;
	height: 1.1rem;
}
#sec_voice .slider_ctrl .slick-dots li button {
	display: block;
	width: 100%;
	height: 100%;
	font-size: 0;
	border-radius: 50%;
	background-color: #D5D5D5;
}
#sec_voice .slider_ctrl .slick-dots li.slick-active button {
	background-color: #2458AA;
}

/* sec_business
--------------------------------*/
#sec_business {
	padding: 8rem 0 0;
}
#sec_business .business_list {
	margin-top: 4.5rem;
}
#sec_business .business_list + .business_list {
	margin-top: 6rem;
}
#sec_business .business_list .ttl {
	margin-bottom: 3rem;
}
#sec_business .business_list .ttl span {
	display: inline-block;
	color: #fff;
	font-weight: 700;
	font-size: 1.8rem;
	line-height: 1;
	padding: 0.2rem 0.6rem;
}
#sec_business .business_list._bus .ttl span {
	background-color: #C31D2C;
}
#sec_business .business_list._taxi .ttl span {
	background-color: #2F9348;
}
#sec_business .business_list .item + .item {
	padding: 3rem 0 0;
	border-top: 1px solid #2458AA;
	margin-top: 2.2rem;
}
#sec_business .business_list .item .company {
	color: #000;
	text-align: center;
	font-weight: 700;
	font-size: 2rem;
	line-height: 1;
	letter-spacing: 0.08em;
}
#sec_business .business_list .item .txt {
	font-weight: 700;
	font-size: 1.5rem;
	line-height: 1.6;
	letter-spacing: 0.06em;
	margin: 1.3rem 0;
}
#sec_business .business_list .item .address, #sec_business .business_list .item .tel, #sec_business .business_list .item .mail, #sec_business .business_list .item .contact {
	font-weight: 500;
	font-size: 1.4rem;
	line-height: 1.7857142857;
	letter-spacing: 0.08em;
}
#sec_business .business_list .item .address a, #sec_business .business_list .item .tel a, #sec_business .business_list .item .mail a, #sec_business .business_list .item .contact a {
	text-decoration: underline;
}
#sec_business .business_list .item .contact a::after {
	content: "";
	display: inline-block;
	width: 1rem;
	height: 1rem;
	background: url(../img/ico_blank.png) no-repeat center/contain;
	margin-left: 0.5rem;
}
#sec_business .business_list .item .link {
	text-align: right;
	font-weight: 500;
	font-size: 1.3rem;
	line-height: 1;
	margin-top: 1.8rem;
}
#sec_business .business_list .item .link a {
	display: inline-block;
}
#sec_business .business_list .item .link a::after {
	content: "";
	display: inline-block;
	width: 1.2rem;
	height: 1.2rem;
	background: url(../img/arw_link_blue.svg) no-repeat center/contain;
	margin-left: 0.5rem;
}
#sec_business .other_list {
	margin-top: 7rem;
}
#sec_business .other_list .acdbtn {
	position: relative;
	color: #fff;
	font-weight: 700;
	padding: 1.3rem 3.5rem 1.3rem 1.4rem;
	background-color: #2458AA;
	border-radius: 0.5rem;
	cursor: pointer;
}
#sec_business .other_list .acdbtn .ico {
	width: 1.1rem;
	height: 1.1rem;
	position: absolute;
	right: 1.2rem;
	top: 1.9rem;
}
#sec_business .other_list .acdbtn .ico::before, #sec_business .other_list .acdbtn .ico::after {
	content: "";
	width: 100%;
	height: 0.2rem;
	background-color: #fff;
	position: absolute;
	left: 0;
	top: 50%;
	transition: 0.3s ease;
}
#sec_business .other_list .acdbtn .ico::before {
	transform: rotate(90deg);
}
#sec_business .other_list .acdbtn.is-open .ico::before {
	transform: rotate(180deg);
}
#sec_business .other_list .acdcnt {
	display: none;
}
#sec_business .other_list .acdcnt .item {
	padding: 1.8rem 0 0 0.6rem;
}
#sec_business .other_list .acdcnt .item + .item {
	border-top: 1px solid #2458AA;
	margin-top: 1.8rem;
}
#sec_business .other_list .acdcnt .item .company {
	font-weight: 700;
	font-size: 1.5rem;
	letter-spacing: 0.1em;
	margin-bottom: 0.6rem;
}
#sec_business .other_list .acdcnt .item .address, #sec_business .other_list .acdcnt .item .tel, #sec_business .other_list .acdcnt .item .mail {
	font-weight: 500;
	font-size: 1.4rem;
	line-height: 1.6428571429;
	letter-spacing: 0.08em;
}
#sec_business .other_list .acdcnt .item .address a, #sec_business .other_list .acdcnt .item .tel a, #sec_business .other_list .acdcnt .item .mail a {
	text-decoration: underline;
}
#sec_business .other_list .acdcnt .item .link {
	text-align: right;
	font-weight: 500;
	font-size: 1.3rem;
	line-height: 1;
	margin-top: 1rem;
}
#sec_business .other_list .acdcnt .item .link a {
	display: inline-block;
}
#sec_business .other_list .acdcnt .item .link a::after {
	content: "";
	display: inline-block;
	width: 1.2rem;
	height: 1.2rem;
	background: url(../img/arw_link_blue.svg) no-repeat center/contain;
	margin-left: 0.5rem;
}

/* ---------------------------------------
footer
-----------------------------------------*/
#footer {
	padding: 5rem 0 1.5rem;
	background-color: #2458AA;
	margin-top: 6rem;
}
#footer * {
	color: #fff;
}
#footer .ttl {
	font-weight: 700;
	font-size: 1.8rem;
	letter-spacing: 0.14em;
}
#footer .fnav {
	margin-top: 2rem;
}
#footer .fnav li {
	font-weight: 500;
	letter-spacing: 0.1em;
}
#footer .fnav li + li {
	margin-top: 1.3rem;
}
#footer .fnav li a {
	display: inline-block;
}
#footer .name {
	font-weight: 500;
	letter-spacing: 0.06em;
	margin-top: 3.5rem;
}
#footer .name + .txt {
	margin-top: 0.5rem;
}
#footer .txt {
	font-size: 1.4rem;
	line-height: 1.5714285714;
	letter-spacing: 0.14em;
}
#footer .link {
	font-weight: 500;
	font-size: 1.4rem;
	letter-spacing: 0.04em;
	margin-top: 3.3rem;
}
#footer .link a {
	text-decoration: underline;
}
#footer .copyright {
	font-size: 1.3rem;
	margin-top: 0.7rem;
}

/* ---------------------------------------
clearfix
-----------------------------------------*/
.cf:after {
	content: ".";
	display: block;
	height: 0;
	font-size: 0;
	clear: both;
	visibility: hidden;
}

.cf {
	display: inline-block;
}

/* Hides from IE Mac */
* html .cf {
	height: 1%;
}

.cf {
	display: block;
}

/* End Hack */