@charset "UTF-8";

/**************************************/
/*  保険営業（正規）の一日の流れ
/**************************************/

#flow-staff-sec.wrapper {
    --bg: var(--white);
    background: var(--bg);
}


/**************************************/
/*  保険営業（研修生）の一日の流れ
/**************************************/

#flow-trainee-sec.wrapper {
    --bg: var(--white);
    background: var(--bg);
}



/* staff-timetable-sec 線が伸びるJS ------------- */
.timetable {
    --circle-size: 8px;
    --vertical-size: 1.8em;
    font-size: var(--base-font14);
    line-height: var(--vertical-size);
}

.timetable .cont-body-block {
	margin-top: 30px;
}

.timetable .step_block {
	display: flex;
	justify-content: space-between;
	gap: 5%;
}

.timetable .step_block .circle_box {
	width: var(--circle-size);
	padding-top: calc(var(--vertical-size) - (var(--circle-size) / 2) + 0.1em);
	position: relative;
	z-index: 10;
}

.timetable .step_block .circle_box .circle {
	display: block;
	width: 100%;
	aspect-ratio: 1/1;
    background: var(--bg);
	border: 1px solid var(--black);
	border-radius: 50%;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
}

.timetable .step_block .circle_box .border-line {
	display: block;
	width: 1px;
	height: 0;
	background-color: var(--black);
	position: absolute;
	top: var(--vertical-size);
	left: 50%;
	z-index: -1;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	-o-transform: translateX(-50%);
}

.timetable .step_block:last-of-type .circle_box .border-line {
    display: none;
}

.timetable .step_block .inner {
	flex: 1 1 auto;
    border-bottom: 1px solid #dddddd;
    padding-top: 1em;
}

.timetable .step_block .inner > ul {
	display: flex;
	justify-content: space-between;
	gap: 4%;
    padding-bottom: 1em;
}

.timetable .step_block .inner .summary {
	width: 20%;
	position: relative;
	z-index: 10;
}

.timetable .step_block .inner .summary .num {
	font-weight: 500;
	letter-spacing: 0.1em;
	color: inherit;
}

.timetable .step_block .inner .detail {
	width: 80%;
}

.timetable .step_block .inner .detail .flow {
	line-height: 1.8;
	background-color: var(--color03);
	position: relative;
}

.timetable .step_block .inner .detail .flow:last-of-type {
	margin-bottom: 0;
}

.timetable .step_block .inner .detail .flow::after {
	content: "";
	border-top: 10px solid var(--color03);
	border-left: 15px solid transparent;
	border-right: 15px solid transparent;
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	-o-transform: translateX(-50%);
}

.timetable .step_block .inner .detail .flow:last-of-type::after {
	content: none;
}

.timetable .step_block .inner .detail :is(.flow-title, .flow-text) {
    display: block;
    letter-spacing: 0.03em;
}

.timetable .step_block .inner .detail .flow-title{
    font-weight: 500;
}

.timetable .step_block .inner .detail .flow-text {
    font-weight: 400;
}


/**************************************/
/*  組織図
/**************************************/

#organisation-sec {
	--rec-margin-w: 36px;
	--rec-margin-h: 29px;
	--rec-row-gap: 44px;
	--other-margin: 3em;
	--line-color: var(--medium-grey);
	background-color: var(--light-grey);
	letter-spacing: 0.1em;
}

#organisation-sec .container {
	max-width: 740px;
}

#organisation-sec .content {
	flex-direction: column;
}

#organisation-sec .cont-ttl-block {
	text-align: center;
}

:is(.president, .other, .depertment-list) {
	padding: 0.6em 1.5em;
}

:is(.president, .other) {
	color: var(--white);
}

:is(.other, .depertment-list) {
	outline-width: 1px;
	outline-style: solid;
	outline-color: var(--line-color);
}

.president {
	display: inline-block;
	background-color: var(--dark-grey);
}

.others-list {
	margin-left: var(--other-margin);
	margin-top: var(--rec-margin-h);
	padding-left: 4em;
}

.other-item {
	position: relative;
}

.other-item + .other-item {
	margin-top: var(--rec-margin-h);
}

.other-item::before {
	content: "";
	display: inline-block;
	width: 1px;
	height: calc(100% + var(--rec-margin-h));
	background-color: var(--line-color);
	position: absolute;
	top: calc(var(--rec-margin-h) * -1);
	left: calc(var(--other-margin) * -1);
}

.other-item:last-of-type:before {
	height: calc(50% + var(--rec-margin-h));
}

.other {
	position: relative;
	background-color: var(--medium-grey);
	outline-color: var(--medium-grey);
}

.other::before {
	content: "";
	display: inline-block;
	width: var(--other-margin);
	height: 1px;
	background: var(--line-color);
	position: absolute;
	top: 50%;
	left: calc(var(--other-margin) * -1)
}

.depertment-list {
	background: var(--white);
	display: flex;
	flex-wrap: wrap;
	column-gap: 2em;
	row-gap: 0.3em;
}


/* パンくず */
.breadcrumb {
	background: var(--light-grey);
}


/* スマートフォン用 */
@media screen and (max-width: 768px) {

    /* タイムテーブル */
	.timetable .step_block {
		gap: 4%;
	}

	.timetable .step_block .circle_box {
		width: 8px;
	}

	.timetable .step_block .inner {
		width: 92%;
		min-height: 140px;
	}

	.timetable .step_block .inner ul {
		display: block;
	}

	.timetable .step_block .inner .summary {
		width: 100%;
	}

	.timetable .step_block .inner .detail {
		width: 100%;
		margin-top: 20px;
	}
}
