@charset "utf-8";

/***********************************************************************
------------------------------------------------------------------------
会社情報
***********************************************************************/

/*-----------------------------------------------------
代表あいさつ
-------------------------------------------------------*/

.greeting {}

.greeting .greeting-flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 60px;
	align-items: center;
}

/* キャッチコピー
========================================== */

.greeting .greeting-catch {
	background: #E1F4FC;
	padding-top: 60px;
	padding-bottom: 60px;
	font-family: "Zen Old Mincho", serif;
}
.greeting .greeting-catch .greeting-catch-text {
	display: flex;
	gap: 60px;
	flex-direction: column;
	justify-content: center;
}
.greeting .greeting-catch .greeting-catch-text>h3 {
	font-size: 34px;
}
.greeting .greeting-catch .greeting-catch-text .greeting-catch-name {
	font-size: 24px;
}
@media only screen and (max-width: 767px) {
	.greeting .greeting-catch {}
		.greeting .greeting-flex {}
		.greeting .greeting-catch .greeting-catch-text {
		gap: 30px;
	}
		.greeting .greeting-catch .greeting-catch-text>h3 {
		font-size: 24px;
		text-align: center;
	}
		.greeting .greeting-catch .greeting-catch-text .greeting-catch-name {
		font-size: 18px;
		text-align: center;
	}
}

/* 本文
========================================== */

.greeting .greeting-text {
}
.greeting .greeting-text > h3 {
	font-size: 28px;
	border-bottom: #0235AB 3px solid;
	padding: 0 15px 35px;
	margin-bottom: 50px;
	font-family: "Zen Old Mincho", serif;
}
.greeting .greeting-text > p {
	font-size: 20px;
	line-height: 2;
}
.greeting .greeting-text > p+p {
	margin-top: 1.5em;
}
@media only screen and (max-width: 767px) {
	.greeting .greeting-text > h3 {
		font-size: 20px;
	}
	.greeting .greeting-text > p {
		font-size: 16px;
	}
}


/*-----------------------------------------------------
沿革
-------------------------------------------------------*/

.history {
	margin-top: 60px;
}
.history .history-flex {
	display: flex;
	margin-top: 10px;
}
.history .history-year {
	background: #8BC349;
	color: #fff;
	text-align: center;
	font-weight: bold;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding-top: 24px;
	max-width: 160px;
	width: 100%;
	border-top: #fff 1px solid;
}
.history .history-year span {
	position: sticky;
	display: block;
	left:0;
	top: 0;
	font-weight: bold;
}
.history .history-item {
	max-width: 100%;
	width: 100%;
}
.history .history-item dl {
	display: flex;
	border-bottom: #B7B7B7 1px solid;
}
.history .history-item dl:last-of-type {
	border-bottom: none;
}
.history .history-item dl dt {
	background: #DBF8C0;
	text-align: center;
	padding: 24px 30px;
	max-width: 120px;
	width: 100%;
	font-weight: 300;
}
.history .history-item dl dt span {
	position: sticky;
	top: 0;
	display: block;
}
.history .history-item dl:nth-of-type(even) dt {
	background: #F1FFE1;
}
.history .history-item dl:nth-of-type(odd) dd {
	background: #F9F9F9;
}
.history .history-item dl dd {
	padding: 24px 30px;
	font-weight: 300;
	width: calc( 100% - 120px);
}
.history .history-item dl dd * {
	font-weight: 300;
}
.history .history-item dl dd ul {
	width: 100%;
}
.history .history-item dl dd ul li {
	width: 100%;
	padding: 1em .5em;
	border-bottom: 1px solid #bdcec1;
}
.history .history-item dl dd ul li:first-of-type {
	padding-top: 0;
}
.history .history-item dl dd ul li:last-of-type {
	border-bottom: none;
	padding-bottom: 0;
}

@media only screen and (max-width: 767px) {
	.history .history-flex {
		flex-wrap: wrap;
	}
	.history .history-year {
		max-width: 100%;
		padding: .5em 1em;
		position: sticky;
		top: 0;
		z-index: 50;
	}
	.history .history-item dl dt {
		padding: .5em 1em;
		font-size: 16px;
		width: 80px;
		flex-shrink: 0;
	}
	.history .history-item dl dt span {
		top:60px;
	}
	.history .history-item dl dd {
		padding: .5em 1em;
		width: 100%;
		font-size: 16px;
	}
	.history .history-item dl dd ul li {
		padding: .5em 0;
	}
}

.history ol.history-pic {
	display: flex;
	gap: 10px;
	margin-top: 20px;
}
.history ol.history-pic li {
	max-width: 33%;
}
@media only screen and (max-width: 767px) {
	.history ol.history-pic li {
		max-width: 100%;
	}
}

.history ol.history-pic-grid {
	display: grid;
	margin-top: 30px;
	grid-template-columns: ;
	grid-template-rows: ;
	grid-column-gap: 10px;
	grid-row-gap: 10px;
	justify-content: start
}
.history ol.history-pic-grid li:nth-of-type(1){ grid-area: 1 / 1 / 2 / 2; }
.history ol.history-pic-grid li:nth-of-type(2) { grid-area: 2 / 1 / 3 / 2; }
.history ol.history-pic-grid li:nth-of-type(3) { grid-area: 1 / 2 / 3 / 3; }

.history-message {
	margin-top: 20px;
}
.history-message .history-message-btn {
	display: inline-block;
	background: #fff url(../img/common/ic_toggle_plus.svg) no-repeat right 1em center;
	background-size: 32px;
	padding: 1em 4em 1em 1em;
	border: 2px solid #8BC349;
	border-radius: 8px;
	cursor: pointer;
	font-size: 16px;
}
.history-message .history-message-btn.active {
	background: #8BC349 url(../img/common/ic_toggle_min.svg) no-repeat right 1em center;
	color: #fff;
	background-size: 32px;
}
.history-message .history-message-content {
	background: #fff;
	padding: 1em;
	margin-top: 20px;
}

/*-----------------------------------------------------
アクセス情報
-------------------------------------------------------*/

.access {}
.access .access-map {
	background: #F2FFEE;
}
.access .access-map .access-map-Google {
	text-align: right;
	width: 100%;
	padding: 20px;
}
.access .access-map .access-map-Google a {
	display: inline-block;
	background: url(../img/common/ic_cir_arr_right_navy.svg) no-repeat center right;
	padding: .5em 3em .5em .5em;
	text-decoration: underline;
}
.access-map .access-map-about {}

/* バス情報
========================================== */

.access-bus {
	display: flex;
	align-items: center;
	gap:0 180px;
	margin-top: 50px;
}
@media only screen and (max-width: 767px) {
	.access-bus {
		flex-wrap: wrap;
		gap: 90px;
		justify-content: center;
		margin-top: 30px;
	}
}

.access-bus .access-bus-stop {
	border: 1px solid #C2C2C2;
	padding: 30px 38px;
}
.access-bus .access-bus-stop + .access-bus-stop {
	margin-top: 23px;
}
.access-bus .access-bus-stop .access-bus-stop-title {
	color: #fff;
	background: #0235AB;
	border-radius: 32px;
	font-weight: bold;
	line-height: 1;
	display: flex;
	align-items: center;
	gap: 0.5em;
	padding:.5em 2em;
	width: fit-content;
}
@media only screen and (max-width: 767px) {
	.access-bus .access-bus-stop .access-bus-stop-title {
		width: 100%;
		justify-content: center;
	}
}
.access-bus .access-bus-stop .access-bus-stop-title em {
	font-size: 28px;
	font-weight: bold;
}
.access-bus .access-bus-stop ol.access-bus-stop-list {
	margin-top: 14px;
}
.access-bus .access-bus-stop ol.access-bus-stop-list li {
	display: flex;
	align-items: center;
	gap: 55px;
	border-bottom: 1px solid #ccc;
	padding: 1em .5em;
}
.access-bus .access-bus-stop ol.access-bus-stop-list li + li {
}
.access-bus .access-bus-stop ol.access-bus-stop-list li span {
	background: #E3F4FB;
	text-align: center;
	padding: .5em;
	display: inline-block;
}
.access-bus .access-bus-stop ol.access-bus-stop-list li em {}

@media only screen and (max-width: 767px) {
	.access-bus .access-bus-stop {
		padding: 15px;
		width: 100%;
		max-width: 100%;
	}
	.access-bus .access-bus-stop ol.access-bus-stop-list li {
		gap: 25px;
	}
	.access-bus .access-bus-stop ol.access-bus-stop-list li span {
		font-size: 12px;
		
	}
	.access-bus .access-bus-stop ol.access-bus-stop-list li em {
		font-size: 14px;
	}
}

.access-bus .access-bus-stop-arrival {
	background: #E3F4FB;
	font-size: 28px;
	text-align: center;
	padding: 30px 40px;
	position: relative;
}
.access-bus .access-bus-stop-arrival::after {
	content: "";
	width: 100px;
	height: 102px;
	display: block;
	background: url(../img/company/ic_bus_arr.svg) no-repeat;
	position: absolute;
	left: -130px;
	top: 50%;
	margin-top: -50px;
}
@media only screen and (max-width: 767px) {
	.access-bus .access-bus-stop-arrival {
		width: 100%;
	}
	.access-bus .access-bus-stop-arrival::after {
		background: url(../img/company/ic_bus_arr_sp.svg) no-repeat;
		left: 50%;
		margin-left: -25px;
		top: -70px;
		margin-top: 0;
	}
}
