@charset "utf-8";

/* ---------------------------------------------------------------------------------------------------- */

.now.index::before {
	content: "";
}

/* ---------------------------------------------------------------------------------------------------- */

.section_1 {
	position: relative;
}

.section_1::before {
	content: "";
	position: absolute;
	bottom: 12px;
	left: 50%;
	transform: translate(-50%, 0);
	z-index: 0;
	width: 90%;
	max-width: 1280px;
	height: auto;
	aspect-ratio: 2542 / 635;
	background-image: url(../img/service_service_deco_text.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.section_1 .inner {
	padding: 10% 0 30%;
}

.section_1 .wrap {
	gap: 24px;
	width: 90%;
	max-width: 1008px;
}

.section_1 .heading_wrap {}

.section_1 .heading_wrap .heading {}

.section_1 .heading_wrap .heading::before {}

.section_1 .heading_wrap .heading::after {}

.section_1 .heading_wrap .heading .main {}

.section_1 .heading_wrap .heading .sub {}

.section_1 .content_wrap {}

.section_1 .content_wrap .content {}

.section_1 .content_wrap .content .item_wrap {}

.section_1 .content_wrap .content .item_wrap .item {}

.section_1 .content_wrap .content .item_wrap .item .item_inner {
	gap: 24px;
}

.section_1 .content_wrap .content .item_wrap .item .item_inner .text_wrap {}

.section_1 .content_wrap .content .item_wrap .item .item_inner .text_wrap .text_wrap_inner {}

.section_1 .content_wrap .content .item_wrap .item .item_inner .text_wrap .text_wrap_inner .text {
	line-height: 2;
}

.section_1 .content_wrap .content .item_wrap .item .item_inner .anchor_wrap {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 0px;
	width: 100%;
}

.section_1 .content_wrap .content .item_wrap .item .item_inner .anchor_wrap .anchor_wrap_inner {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 12px;
	width: 100%;
}

.section_1 .content_wrap .content .item_wrap .item .item_inner .anchor_wrap .anchor_wrap_inner .anchor {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 0px;
	width: 100%;
	padding: 4px 0;
	border: 2px #00406C solid;
	background-color: rgba(255, 255, 255, 0.8);
}

.section_1 .content_wrap .content .item_wrap .item .item_inner .anchor_wrap .anchor_wrap_inner .anchor::before,
.section_1 .content_wrap .content .item_wrap .item .item_inner .anchor_wrap .anchor_wrap_inner .anchor::after {
	content: "";
	position: absolute;
	z-index: 0;
	top: 50%;
	right: 0;
	transform: translate(0, -50%);
	display: inline-block; /* インラインブロックにする */
	width: 12px; /* 線の長さを指定 */
	height: 2px; /* 線の幅を指定 */
	border-radius: 2px; /* 線を角丸にする */
	background-color: #00406C;   /* 線の色を指定 */
}

.section_1 .content_wrap .content .item_wrap .item .item_inner .anchor_wrap .anchor_wrap_inner .anchor::before {
	right: calc(12px + 7px);
	transform: rotate(45deg); /* 45度回転させる */
}

.section_1 .content_wrap .content .item_wrap .item .item_inner .anchor_wrap .anchor_wrap_inner .anchor::after {
	right: 12px;
	transform: rotate(-45deg); /* -45度回転させる */
}

@media screen and (min-width: 768px) {
	.section_1::before {
		left: 12px;
		transform: translate(0, 0);
		width: 85%;
	}

	.section_1 .inner {
		padding: 7.5% 0 7.5%;
	}

	.section_1 .content_wrap .content .item_wrap .item .item_inner .anchor_wrap .anchor_wrap_inner .anchor {
		width: 312px;
	}
}

@media screen and (min-width: 1280px) {
	.section_1 .inner {
		padding: 7.5% 0 20%;
	}

	.section_1 .content_wrap .content .item_wrap .item .item_inner .anchor_wrap .anchor_wrap_inner {
		flex-direction: row;
		gap: 24px;
	}

	.section_1 .content_wrap .content .item_wrap .item .item_inner .anchor_wrap .anchor_wrap_inner .anchor {
		width: calc((100% - (24px * 2)) / 3);
	}
}

@media screen and (min-width: 1440px) {
	.section_1 .wrap {
		gap: 48px;
	}

	.section_1 .content_wrap .content .item_wrap .item .item_inner {
		gap: 84px;
	}
}

@media screen and (min-width: 1920px) {
	.section_1 .inner {
		padding: 7.5% 0 15.5%;
	}
}

/* ---------------------------------------------------------------------------------------------------- */

.section_2 {}

.section_2 .inner {}

.section_2 .wrap {}

.section_2 .heading_wrap {}

.section_2 .heading_wrap .heading {
	gap: 8px;
	width: 100%;
	padding-bottom: 8px;
	border-bottom: 1px #5EB4E3 solid;
	font-size: 1.375rem;
}

.section_2 .heading_wrap .heading::before {}

.section_2 .heading_wrap .heading::after {}

.section_2 .heading_wrap .heading .main,
.section_2 .heading_wrap .heading .sub {
	text-align: center;
	line-height: 1.5;
}

.section_2 .heading_wrap .heading .main {
	font-size: 0.923076923em;
	font-weight: 700;
}

.section_2 .heading_wrap .heading .sub {
	font-size: 1em;
}

.section_2 .content_wrap {}

.section_2 .content_wrap .content {
	padding: 10% 0;
}

.section_2 .content_wrap .content .item_wrap {
	gap: 12px;
	width: 90%;
	max-width: 1280px;
}

.section_2 .content_wrap .content .item_wrap .item {}

.section_2 .content_wrap .content .item_wrap .item .item_inner {
	gap: 12px;
}

.section_2 .content_wrap .content .item_wrap .item .item_inner .text_wrap {
	width: 90%;
}

.section_2 .content_wrap .content .item_wrap .item .item_inner .text_wrap .text_wrap_inner {
	align-items: flex-start;
}

.section_2 .content_wrap .content .item_wrap .item .item_inner .text_wrap .text_wrap_inner .text {
	line-height: 2;
}

.section_2 .content_wrap .content .item_wrap .item .item_inner img {
	width: 100%;
}

.section_2 .content_wrap .content:nth-child(odd) {
	background-image: url(../img/other_bg.webp);
	background-position: 50% 0;
	background-repeat: repeat;
	background-size: 100%;
}

@media screen and (min-width: 768px) {
	.section_2 .heading_wrap .heading {
		align-items: flex-start;
	}

	.section_2 .heading_wrap .heading .main,
	.section_2 .heading_wrap .heading .sub {
		text-align: left;
	}

	.section_2 .content_wrap .content {
		padding: 5% 0;
	}

	.section_2 .content_wrap .content .item_wrap {
		flex-direction: row;
		align-items: flex-start;
		gap: 0;
	}

	.section_2 .content_wrap .content .item_wrap .item {
		width: 50%;
	}

	.section_2 .content_wrap .content .item_wrap .item_1 {
		padding-right: 24px;
	}

	.section_2 .content_wrap .content .item_wrap.reverse {
		flex-direction: row-reverse;
	}

	.section_2 .content_wrap .content .item_wrap.reverse .item_1 {
		padding: 0;
		padding-left: 24px;
	}
}

@media screen and (min-width: 1280px) {
	.section_2 .content_wrap .content .item_wrap .item_1 {
		padding-right: 36px;
	}

	.section_2 .content_wrap .content .item_wrap.reverse .item_1 {
		padding: 0;
		padding-left: 36px;
	}
}

@media screen and (min-width: 1440px) {
	.section_2 .heading_wrap .heading {
		font-size: 1.625rem;
	}

	.section_2 .content_wrap .content .item_wrap .item_1 {
		padding-right: 48px;
	}

	.section_2 .content_wrap .content .item_wrap.reverse .item_1 {
		padding: 0;
		padding-left: 48px;
	}
}

@media screen and (min-width: 1920px) {
	
}

/* ---------------------------------------------------------------------------------------------------- */

.section_3 {}

.section_3 .inner {
	padding: 10% 0;
}

.section_3 .wrap {
	gap: 12px;
}

.section_3 .heading_wrap {}

.section_3 .heading_wrap .heading {}

.section_3 .heading_wrap .heading::before {}

.section_3 .heading_wrap .heading::after {}

.section_3 .heading_wrap .heading .main {}

.section_3 .heading_wrap .heading .sub {}

.section_3 .content_wrap {}

.section_3 .content_wrap .content {
	width: 90%;
	max-width: 1240px;
}

.section_3 .content_wrap .content .item_wrap {
	gap: 12px;
}

.section_3 .content_wrap .content .item_wrap .item {}

.section_3 .content_wrap .content .item_wrap .item .item_inner {}

.section_3 .content_wrap .content .item_wrap .item .img_wrap {}

.section_3 .content_wrap .content .item_wrap .item .img_wrap .img {}

.section_3 .content_wrap .content .item_wrap .item .item_inner .text_wrap {}

.section_3 .content_wrap .content .item_wrap .item .item_inner .text_wrap .text_wrap_inner {}

.section_3 .content_wrap .content .item_wrap .item .item_inner .text_wrap .text_wrap_inner .text {}

.section_3 .content_wrap .content .item_wrap .item_1 {
	position: relative;
	z-index: 1;
}

.section_3 .content_wrap .content .item_wrap .item_1 .item_inner {}

.section_3 .content_wrap .content .item_wrap .item_1 .item_inner .img {
	width: 100%;
}

.section_3 .content_wrap .content .item_wrap .item_1 .item_inner .img img {
	width: 100%;
}

.section_3 .content_wrap .content .item_wrap .item_2 {
	position: relative;
	z-index: 0;
}

.section_3 .content_wrap .content .item_wrap .item_2::before {}

.section_3 .content_wrap .content .item_wrap .item_2 .item_inner {
	gap: 36px;
}

.section_3 .content_wrap .content .item_wrap .item_2 .item_inner .text_wrap {
	width: 100%;
}

.section_3 .content_wrap .content .item_wrap .item_2 .item_inner .text_wrap .text_wrap_inner {
	align-items: flex-start;
}

.section_3 .content_wrap .content .item_wrap .item_2 .item_inner .text_wrap .text_wrap_inner .text {
	line-height: 2;
}

.section_3 .content_wrap .content .item_wrap .item_2 .item_inner .text_wrap .text_wrap_inner .text_1 {
	font-size: 1.25rem;
}

.section_3 .content_wrap .content .item_wrap .item_3 {}

.section_3 .content_wrap .content .item_wrap .item_3 .item_inner {}

.section_3 .marquee {
    /* 好きな高さ */
    --img-h: 60px;

    width: 100vw;
    height: var(--img-h);

    background-image: url("../img/top_area_deco_text.webp");
    background-repeat: repeat-x;
    background-position: 0 50%;

    /* 高さ固定・横は自動（アスペクト比維持） */
    background-size: auto var(--img-h);

    animation: marquee-left 20s linear infinite;
}

/* 画像1枚分だけ左に流す */
@keyframes marquee-left {
    from {
        background-position-x: 0;
    }
    to {
        background-position-x: calc(1 * var(--bg-img-w, 100%)); /* 1なら右から左 -1なら左から右 */
    }
}

@media screen and (min-width: 768px) {
	.section_3 {}

	.section_3 .inner {
		padding: 5% 0;
	}

	.section_3 .content_wrap .content .item_wrap .item_1 {
		width: 55%;
	}

	.section_3 .content_wrap .content .item_wrap .item_2 .item_inner .text_wrap .text_wrap_inner {
		align-items: center;
	}

	.section_3 .content_wrap .content .item_wrap .item_2 .item_inner .text_wrap .text_wrap_inner .text {
		text-align: center;
	}
}

@media screen and (min-width: 1280px) {
	
}

@media screen and (min-width: 1440px) {
	.section_3 .marquee {
		--img-h: 100px;
		animation: marquee-left 10s linear infinite;
	}
}

@media screen and (min-width: 1920px) {
	
}

/* ---------------------------------------------------------------------------------------------------- */

.section_4 {
	background-image: url(../img/other_bg.webp);
	background-position: 50% 0;
	background-repeat: repeat;
	background-size: 100%;
}

.section_4 .inner {
	padding: 10% 0 10%;
}

.section_4 .wrap {
	gap: 24px;
	width: 90%;
	max-width: 1170px;
}

.section_4 .heading_wrap {}

.section_4 .heading_wrap .heading {}

.section_4 .heading_wrap .heading::before {}

.section_4 .heading_wrap .heading::after {}

.section_4 .heading_wrap .heading .main {}

.section_4 .heading_wrap .heading .sub {}

.section_4 .content_wrap {}

.section_4 .content_wrap .content {}

.section_4 .content_wrap .content .item_wrap {}

.section_4 .content_wrap .content .item_wrap .item {}

.section_4 .content_wrap .content .item_wrap .item .item_inner {
	gap: 24px;
}

.section_4 .content_wrap .content .item_wrap .item .item_inner .text_wrap {}

.section_4 .content_wrap .content .item_wrap .item .item_inner .text_wrap .text_wrap_inner {}

.section_4 .content_wrap .content .item_wrap .item .item_inner .text_wrap .text_wrap_inner .text {
	line-height: 2;
}

@media screen and (min-width: 768px) {
	.section_4 .inner {
		padding: 7.5% 0 7.5%;
	}
}

@media screen and (min-width: 1280px) {
	
}

@media screen and (min-width: 1440px) {
	.section_4 .wrap {
		gap: 84px;
	}
}

@media screen and (min-width: 1920px) {
	
}

/* ---------------------------------------------------------------------------------------------------- */

.c-timeline {
	width: calc(100% - (3rem / 2));
	margin-left: auto;
}

.c-timeline__item {
    position: relative;
    display: flex;
	align-items: flex-start;
    gap: 24px;
}

.c-timeline__content__wrap {
    flex: 1;
    position: relative;
    order: 1;
}

.c-timeline__content__wrap:before {
    content: "";
    position: absolute;
    right: 100%;
    top: 0;
    height: 100%;
    width: 2px;
    background-color: #00406C;
}

.c-timeline__item:first-child .c-timeline__content__wrap:before {
	top: initial;
	bottom: 0;
	/* height: 50%; */
}

.c-timeline__item:last-child .c-timeline__content__wrap:before {
	content: none;
}

.c-timeline__content__wrap:after {
    content: "";
    position: absolute;
    left: -1px;
    top: 0%;
	transform: translate(-50%, 0);
    width: 3rem;
    height: auto;
	aspect-ratio: 1 / 1;
    background-image: linear-gradient(135deg, rgba(2, 66, 110, 1), rgba(90, 174, 221, 1));
    z-index: 1;
    border-radius: 50%;
}

.c-timeline__num {
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;
	transform: translate(-50%, 50%);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 0px;
	width: max-content;
	height: auto;
	font-size: 1.5rem;
	line-height: 1;
	color: #ffffff;
}

.c-timeline__content {
	position: relative;
    padding-left: 36px;
}

.c-timeline__content::before {
	content: "";
	position: absolute;
	bottom: 12px;
	left: 0;
	width: 100%;
	height: 1px;
	border-bottom: 1px rgba(51, 51, 51, 0.4) dotted;
} 

.c-timeline__item:last-child .c-timeline__content {
	position: relative;
}

.c-timeline__item:last-child .c-timeline__content::before {
	content: none;
    /* content: "";
    position: absolute;
    bottom: 0;
	left: 0;
	transform: translate(-45%, -20%) rotate(-35deg);
    width: 24px;
	height: auto;
	aspect-ratio: 1 / 1;
	border-left: 2px #00406C solid; */
}

.c-timeline__desc {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	gap: 12px;
	width: 100%;
	padding: 0 0 24px;
}

.c-timeline__item:last-child .c-timeline__desc {
	padding: 0;
}

.c-timeline__desc_text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	gap: 12px;
	width: 100%;
	padding-top: 12px;
	color: #333333;
}

.c-timeline__desc_text h3 {
	width: 100%;
	padding-bottom: 12px;
	border-bottom: 2px #5EB4E3 solid;
	font-size: 1.2rem;
	color: #00406C;
}

.c-timeline .c-timeline__item:nth-of-type(odd) .c-timeline__desc_text {}

.c-timeline .c-timeline__item:nth-of-type(even) .c-timeline__desc_text {}

.c-timeline__time {
    text-align: end;
    flex: 0 0 20.5%;
    min-width: 0;
    overflow-wrap: break-word;
	letter-spacing: 0.1em;
	color: #fff;
}

@media screen and (min-width: 768px) {
	.c-timeline__desc {
		flex-direction: row;
		gap: 24px;
	}

	.c-timeline__desc_text {
		flex: 6;
	}

	.c-timeline__desc_img {
		flex: 4;
	}

	.c-timeline__time {
		flex: 0 0 10%;
	}
}

@media screen and (min-width: 1280px) {
	.c-timeline__time {
		flex: 0 0 8%;
	}
}

@media screen and (min-width: 1440px) {
	.c-timeline__item {
		gap: 2rem;
	}

	.c-timeline__content__wrap:after {
		width: 6rem;
	}

	.c-timeline__num {
		font-size: 3rem;
	}

	.c-timeline__content {
		padding-left: 72px;
	}

	.c-timeline__content::before {
		bottom: 36px;
	}

	.c-timeline__desc {
		gap: 36px;
		padding: 0 0 72px;
	}

	.c-timeline__desc_text {
		gap: 24px;
		padding-top: 24px;
		font-size: 1.2rem;
	}

	.c-timeline__desc_text h3 {
		font-size: 1.5rem;
	}

	.c-timeline__time {
		flex: 0 0 8.5%;
		font-size: 1.2rem;
	}
}

@media screen and (min-width: 1920px) {
	
}

/* ---------------------------------------------------------------------------------------------------- */
