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

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
dl,
li,
dt,
dd,
p,
div,
span,
img,
a,
table,
tr,
th,
td,
small,
button,
time,
figure {
	border: 0;
	font: inherit;
	font-size: 100%;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
}

html {
	line-height: 1;
}

ol,
ul {
	list-style: none;
}

li,
dd {
	list-style-type: none;
}

header,
footer,
nav,
section,
article,
main,
aside,
figure,
figcaption {
	display: block;
}

img {
	border: none;
	vertical-align: bottom;
}

a {
	cursor: pointer;
	text-decoration: none;
}

address {
	font-style: normal;
}

@font-face {
	font-family: "DINBold";
	font-weight: bold;
	src: url("../fonts/DINBold.ttf") format("truetype");
}

body {
	background: #fff;
	color: #333;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 15px;
	font-style: normal;
	line-height: 1.5;
}

img {
	height: auto;
	max-width: 100%;
}

a {
	color: inherit;
}

.l-inner {
	padding-left: 20px;
	padding-right: 20px;
	width: 100%;
}

.u-separate {
	margin-bottom: 24px;
	margin-top: 24px;
}

.hidden-sp {
	display: none;
}

.header {
	background: #fff;
	padding: 20px 20px;
	width: 100%;
	z-index: 100;
}

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

.header__icon {
	max-width: 270px;
	width: 100%;
}

.header__icon img {
	-o-object-fit: contain;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.header__nav {
	display: none;
}

.header__link {
	display: inline-block;
	font-size: 18px;
	padding-left: 28px;
	position: relative;
}

.header__link::after {
	background: url(../img/2x/btn-i-1@2x.webp) no-repeat center center/contain;
	content: "";
	height: 20px;
	left: 0;
	position: absolute;
	top: 20%;
	width: 20px;
}

.header__link.l-2::after {
	background: url(../img/2x/btn-i-2@2x.webp) no-repeat center center/contain;
	content: "";
	height: 20px;
	left: 0;
	position: absolute;
	top: 20%;
	width: 20px;
}

.sp-btns {
	bottom: 0;
	display: flex;
	gap: 0;
	height: 50px;
	left: 0;
	position: fixed;
	width: 100%;
	z-index: 101;
}

.sp-btn {
	align-items: center;
	background: rgba(255, 111, 97, 0.6);
	display: flex;
	font-size: 17px;
	height: 100%;
	justify-content: center;
	position: relative;
	width: 50%;
}

.sp-btn::after {
	background: url(../img/2x/btn-i-1@2x.webp) no-repeat center center/contain;
	content: "";
	height: 20px;
	left: 14%;
	position: absolute;
	top: 30%;
	width: 20px;
}

.sp-btn.b-2 {
	background: rgba(0, 153, 0, 0.6);
}

.sp-btn.b-2::after {
	background: url(../img/2x/btn-i-2@2x.webp) no-repeat center center/contain;
	content: "";
	height: 20px;
	left: 10%;
	position: absolute;
	top: 30%;
	width: 20px;
}

.mv {
	position: relative;
}

.mv-text-1,
.mv-text-2 {
	animation: slideIn 0.8s ease-out forwards;
	opacity: 0; /* 最初は非表示 */
	position: absolute;
	transform: translateX(50px); /* 右からスライドイン */
}

/* テキスト1 */

.mv-text-1 {
	animation-delay: 1s; /* ページ読み込み3秒 + 0.3秒遅れ */
	right: 15%;
	top: 50px;
	width: 20px;
}

.mv-text-1 img {
	-o-object-fit: contain;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

/* テキスト2 */

.mv-text-2 {
	animation-delay: 2s; /* テキスト1のあとに出現（さらに0.4秒遅れ） */
	right: 25%;
	top: 50px;
	width: 100px;
}

.mv-text-2 img {
	-o-object-fit: contain;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

/* -----------------------------
     アニメーション定義
  ----------------------------- */

.container_05 {
	position: absolute;
	right: 5%;
	top: 100%;
	z-index: 1;
}

.scrollbar-text_05 {
	bottom: 0;
	color: #555;
	display: inline-block;
	font-family: serif;
	font-size: 14px;
	font-weight: 500;
	left: 50%;
	letter-spacing: 0.2em;
	line-height: 1;
	padding: 10px 10px 160px;
	position: absolute;
	text-transform: uppercase;
	transform: translateX(-50%);
	writing-mode: vertical-lr;
}

.scrollbar_05 {
	bottom: 1px;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
}

.scrollbar_05::after {
	animation: liner 2.5s cubic-bezier(1, 0, 0, 1) infinite;
	background: #555;
	bottom: 0;
	content: "";
	height: 150px;
	left: 0;
	position: absolute;
	width: 1px;
}

.section {
	margin-top: 125px;
	opacity: 0;
	transform: translateY(50px);
	transition: all 0.8s ease-out;
	will-change: opacity, transform;
}

.section.in-view {
	opacity: 1;
	transform: translateY(0);
}

.sec-head {
	text-align: center;
}

.sec-head__img {
	margin-left: auto;
	margin-right: auto;
	max-width: 245px;
	width: 100%;
}

.sec-head__img.sec-h-5 {
	max-width: 100px;
}

.sec-head__img.sec-h-6 {
	width: 150px;
}

.sec-head__img.sec-h-7 {
	width: 120px;
}

.sec-head__img.sec-h-10 {
	width: 90px;
}

.sec-head__text {
	font-size: 20px;
	font-weight: 700;
	margin-top: 10px;
}

.features__content {
	margin-top: 30px;
}

.features__box {
	display: flex;
	flex-direction: column;
	gap: 50px;
}

.features__item {
	display: flex;
	flex-direction: column;
	gap: 15px;
	margin-left: auto;
	margin-right: auto;
	max-width: 400px;
}

.features-item__img {
	margin-left: auto;
	margin-right: auto;
	max-width: 200px;
}

.features-item__img img {
	-o-object-fit: contain;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.features-item__title {
	color: #ff6f61;
	font-size: 21px;
	font-weight: bold;
	text-align: center;
}

.numbers {
	background: #ffdc4f;
	padding-bottom: 40px;
	padding-top: 40px;
}

.numbers__content {
	background: #fff;
	border: 1px solid #000;
	border-radius: 30px;
	padding: 40px 20px;
}

.numbers__items {
	display: flex;
	flex-direction: column;
	gap: 30px;
	margin-top: 30px;
}

.numbers__item {
	width: 100%;
}

.numbers-item__head {
	background: #ff6f61;
	border-radius: 15px;
	color: #fff;
	font-weight: 500;
	margin-left: auto;
	margin-right: auto;
	max-width: -moz-fit-content;
	max-width: fit-content;
	padding: 1px 20px;
	text-align: center;
	white-space: nowrap;
	width: 100%;
}

.numbers-item__body {
	font-family: "DINBold", sans-serif;
	margin-left: auto;
	margin-right: auto;
	margin-top: 30px;
	max-width: 300px;
	position: relative;
}

.chart1 {
	align-items: flex-end;
	display: flex;
	gap: 40px;
	height: 300px;
	justify-content: center;
	position: relative;
}

/* ===== 折れ線グラフ ===== */

.line-graph {
	left: 0;
	overflow: visible;
	position: absolute;
	top: -100px;
}

.line {
	stroke-dasharray: 400;
	stroke-dashoffset: 400;
}

/* ===== 棒グラフ ===== */

.bar {
	align-items: flex-start;
	background: #008000;
	border-radius: 6px 6px 0 0;
	color: #fff;
	display: flex;
	justify-content: center;
	transform: scaleY(0);
	transform-origin: bottom;
	width: 80px;
}

.bar span {
	font-size: 14px;
	padding-top: 5px;
}

.bar:nth-child(2) {
	animation-delay: 0.3s;
	height: 180px;
}

.bar:nth-child(3) {
	animation-delay: 0.5s;
	height: 200px;
}

.bar:nth-child(4) {
	animation-delay: 0.7s;
	height: 170px;
}

/* ===== ラベル・率 ===== */

.Label {
	align-items: center;
	display: flex;
	font-size: 14px;
	justify-content: center;
	margin-top: 10px;
	width: 66px;
}

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

.rate {
	opacity: 0;
	position: absolute;
	transition: transform 0.5s;
}

.rate.r1 {
	left: 10%;
	top: 50px;
}

.rate.r2 {
	left: 50%;
	top: 10px;
}

.rate.r3 {
	left: 85%;
	top: 50px;
}

.rate:nth-child(5) {
	animation-delay: 1s;
}

.rate:nth-child(6) {
	animation-delay: 1.2s;
}

.rate:nth-child(7) {
	animation-delay: 1.4s;
}

/* 点をふわっと出す */

/* 折れ線上の点 */

.line-graph circle {
	opacity: 0;
}

:root {
	--r: 100px; /* 基準半径（必要なら上書き） */
}

/* container */

.chart-2 {
	aspect-ratio: 1; /* 正方形 */
	border-radius: 50%;
	position: relative;
	top: 20px;
	width: 100%;
}

/* ラベル共通 */

.chart-2 .label {
	color: #009900;
	font-size: 24px;
	font-weight: 700;
	left: 50%;
	line-height: 1;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	text-align: center;
	top: 50%;
	transform: translate(-50%, -50%) translateY(20px); /* 下から上に出す初期 */
	transition: opacity 0.45s cubic-bezier(0.2, 0.9, 0.2, 1), transform 0.45s cubic-bezier(0.2, 0.9, 0.2, 1);
}

/* 強調色など */

.chart-2 .label-2 {
	color: #fff;
}

/* 4番目は白に（背景色により） */

.chart-2 .label span {
	display: block;
	font-size: 20px;
	font-weight: 8400;
	margin-top: 6px;
}

/* visibleクラスでフェードイン */

.chart-2 .label.visible {
	opacity: 1;
	transform: translate(-50%, -50%) translateY(0);
}

/* レスポンシブに小さくする例（任意） */

.chart-2__btm {
	margin-top: 30px;
	text-align: center;
}

.chart-2__btm-top {
	font-size: 21px;
}

.chart-2__btm-top span {
	color: #009900;
	font-size: 26px;
	font-weight: bold;
}

.chart-2__btm-sub {
	font-size: 13px;
}

:root {
	--r: 100px; /* 基準半径（必要なら上書き） */
}

/* container */

.chart-3 {
	aspect-ratio: 1; /* 正方形 */
	border-radius: 50%;
	position: relative;
	top: 20px;
	width: 100%;
}

/* ラベル共通 */

.chart-3 .label {
	color: #009900;
	font-size: 24px;
	font-weight: 700;
	left: 50%;
	line-height: 1;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	text-align: center;
	top: 50%;
	transform: translate(-50%, -50%) translateY(20px); /* 下から上に出す初期 */
	transition: opacity 0.45s cubic-bezier(0.2, 0.9, 0.2, 1), transform 0.45s cubic-bezier(0.2, 0.9, 0.2, 1);
}

/* 強調色など */

.chart-3 .label-2 {
	color: #fff;
}

/* 4番目は白に（背景色により） */

.chart-3 .label span {
	display: block;
	font-size: 20px;
	font-weight: 8400;
	margin-top: 6px;
}

/* visibleクラスでフェードイン */

.chart-3 .label.visible {
	opacity: 1;
	transform: translate(-50%, -50%) translateY(0);
}

/* レスポンシブに小さくする例（任意） */

.chart-2__btm {
	margin-top: 30px;
	text-align: center;
}

.chart-2__btm-top {
	font-size: 21px;
}

.chart-2__btm-top span {
	color: #009900;
	font-size: 26px;
	font-weight: bold;
}

.chart-2__btm-sub {
	font-size: 13px;
}

:root {
	--r: 100px; /* 基準半径（必要なら上書き） */
}

/* container */

.chart-4 {
	aspect-ratio: 1; /* 正方形 */
	border-radius: 50%;
	position: relative;
	top: 20px;
	width: 100%;
}

/* ラベル共通 */

.chart-4 .label {
	color: #009900;
	font-size: 24px;
	font-weight: 700;
	left: 50%;
	line-height: 1;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	text-align: center;
	top: 50%;
	transform: translate(-50%, -50%) translateY(20px); /* 下から上に出す初期 */
	transition: opacity 0.45s cubic-bezier(0.2, 0.9, 0.2, 1), transform 0.45s cubic-bezier(0.2, 0.9, 0.2, 1);
}

/* 強調色など */

.chart-4 .label-2 {
	color: #fff;
}

/* 4番目は白に（背景色により） */

.chart-4 .label span {
	display: block;
	font-size: 20px;
	font-weight: 8400;
	margin-top: 6px;
}

/* visibleクラスでフェードイン */

.chart-4 .label.visible {
	opacity: 1;
	transform: translate(-50%, -50%) translateY(0);
}

/* レスポンシブに小さくする例（任意） */

.chart-2__btm {
	margin-top: 30px;
	text-align: center;
}

.chart-2__btm-top {
	font-size: 21px;
}

.chart-2__btm-top span {
	color: #009900;
	font-size: 26px;
	font-weight: bold;
}

.chart-2__btm-sub {
	font-size: 13px;
}

.numbers__date {
	align-items: center;
	color: #009900;
	display: flex;
	flex-direction: column;
	font-size: 160px;
	font-weight: 700;
	justify-content: center;
	letter-spacing: -10px;
	line-height: 1;
	margin-top: 0px;
}

.numbers__date span {
	font-size: 45px;
	letter-spacing: 1px;
}

.numbers__date {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 5s cubic-bezier(0.2, 0.9, 0.2, 1), transform 5s cubic-bezier(0.2, 0.9, 0.2, 1);
}

.numbers__date.visible {
	opacity: 1;
	transform: translateY(0);
}

.chart-2__btm {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 5s cubic-bezier(0.2, 0.9, 0.2, 1), transform 5s cubic-bezier(0.2, 0.9, 0.2, 1);
}

.chart-2__btm.visible {
	opacity: 1;
	transform: translateY(0);
}

.chart-top {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 5s cubic-bezier(0.2, 0.9, 0.2, 1), transform 5s cubic-bezier(0.2, 0.9, 0.2, 1);
}

.chart-top.visible {
	opacity: 1;
	transform: translateY(0);
}

.meet__imgs {
	margin-top: 50px;
	overflow: hidden;
	width: 100%;
}

.meet__track {
	animation: scroll-right 20s linear infinite;
	display: flex;
	width: 300%;
}

.meet__img {
	flex: 0 0 auto;
}

.meet__img img {
	height: auto;
	width: 315px; /* 調整可能 */
}

/* 右→左へ動くアニメーション */

.company__content {
	display: flex;
	flex-direction: column;
	gap: 50px;
	margin-top: 50px;
}

.company__pdf {
	height: 220px;
	margin-left: auto;
	margin-right: auto;
	max-width: 480px;
	width: 100%;
}

.flipbook {
	height: 100%;
	position: relative;
	width: 100%;
}

.page {
	-o-object-fit: contain;
	backface-visibility: hidden;
	background: #fff;
	height: 100%;
	left: 0;
	object-fit: contain;
	opacity: 0;
	position: absolute;
	top: 0;
	transform: rotateY(0);
	transform-origin: left center;
	transition: transform 0.8s ease, opacity 0.6s ease;
	width: 100%;
	z-index: 1;
}

.page.active {
	opacity: 1;
	z-index: 3;
}

.page.flip {
	opacity: 0;
	transform: rotateY(-180deg);
	z-index: 2;
}

.voice {
	background: url(../img/2x/voice-bg@2x.webp) no-repeat center -50px/cover;
	padding-top: 50px;
}

.voice__moveis {
	display: flex;
	flex-direction: column;
	gap: 80px;
	margin-top: 80px;
}

.voice__movei {
	background: #aaa;
	height: 160px;
	margin-left: auto;
	margin-right: auto;
	max-width: 480px;
	width: 100%;
}

.dis {
	background: #ffdc4f;
	margin-top: 50px !important;
	padding-bottom: 100px;
	padding-top: 100px;
}

.dis_content {
	height: 160px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 50px;
	max-width: 280px;
	padding-left: 20px;
	padding-right: 20px;
	width: 100%;
}

.message {
	margin-bottom: 200px;
}

.message__content {
	display: flex;
	flex-direction: column;
	gap: 50px;
	margin-top: 50px;
}

.message__top {
	color: #009900;
	font-size: 20px;
	font-weight: 700;
}

.message__body {
	margin-top: 30px;
}

.message__img {
	height: 300px;
	margin-left: auto;
	margin-right: auto;
	width: 240px;
}

.message__img img {
	-o-object-fit: contain;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.message__name {
	margin-left: auto;
	margin-right: auto;
	margin-top: 10px;
	text-align: center;
	width: 120px;
}

.message__name img {
	-o-object-fit: contain;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.job {
	background: #ffdc4f;
	margin-top: 50px !important;
	padding-bottom: 100px;
	padding-top: 150px;
}

.job__content {
	background: #fff;
	border: 1px solid #333;
	border-radius: 30px;
	padding: 50px 20px;
}

.job__dl {
	color: #333;
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	line-height: 1.8;
	margin: 0 auto;
	margin-top: 50px;
	max-width: 900px;
}

.job__dl dl {
	border-top: 1px solid #ccc;
}

.job__dl .job__row {
	border-bottom: 1px solid #ccc;
	display: block;
	padding: 15px 0;
}

.job__dl dt {
	color: #009944;
	font-weight: 700;
	padding: 10px 0 5px;
}

.job__dl dd {
	padding: 0 0 10px 0;
}

.job__dl li {
	margin-bottom: 0.5em;
}

.sche__content {
	margin-left: auto;
	margin-right: auto;
	margin-top: 50px;
	max-width: 480px;
	width: 100%;
}

.sche__top {
	background: #009900;
	color: #fff;
	padding: 15px;
}

.sche__body {
	background: #eee;
	padding: 15px;
}

.sche__btm {
	margin-top: 15px;
}

.entry__content {
	margin-bottom: 200px;
	margin-top: 50px;
	text-align: center;
}

.entry__content a {
	text-decoration: underline;
}

.footer {
	background: #ffdc4f;
	margin-bottom: 50px;
	width: 100%;
}

.footer-copy {
	font-size: 9px;
	padding-bottom: 5px;
	padding-top: 30px;
	text-align: center;
}

.top-btn {
	background: transparent;
	bottom: 70px;
	height: 50px;
	opacity: 0;
	position: fixed;
	right: 30px;
	transform: translateY(30px); /* 下からふわっと */
	transition: opacity 0.6s ease, transform 0.6s ease;
	width: 30px;
	z-index: 1000;
}

.top-btn img {
	-o-object-fit: contain;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.top-btn.is-show {
	opacity: 1;
	transform: translateY(0);
}

.company__pdf {
	position: relative;
}

/* 拡大ボタン */

.zoom-button {
	background: inherit;
	border: 1px solid #333;
	border-radius: 30px;
	bottom: -35px;
	font-size: 16px;
	left: 50%;
	margin-top: 30px;
	padding: 3px 30px;
	position: absolute;
	transform: translateX(-50%);
}

/* 拡大表示用のオーバーレイ */

#zoom-overlay {
	align-items: center;
	background: rgba(0, 0, 0, 0.8);
	display: flex;
	display: none;
	height: 100vh;
	justify-content: center;
	left: 0;
	position: fixed;
	top: 0;
	width: 100vw;
	z-index: 1000;
}

#zoom-overlay img {
	border: 4px solid #fff;
	border-radius: 6px;
	max-height: 90%;
	max-width: 90%;
}

#zoom-overlay {
	align-items: center;
	background: rgba(0, 0, 0, 0.85);
	display: none;
	inset: 0;
	justify-content: center;
	position: fixed;
	z-index: 1000;
}

#zoom-overlay img {
	border: 3px solid #fff;
	border-radius: 8px;
	max-height: 88%;
	max-width: 88%;
}

/* ナビゲーションボタン */

.zoom-nav {
	-webkit-user-select: none;
	-moz-user-select: none;
	color: #fff;
	cursor: pointer;
	font-size: 40px;
	padding: 10px 20px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	user-select: none;
}

.zoom-prev {
	left: 20px;
}

.zoom-next {
	right: 20px;
}

/* 閉じるボタン */

.zoom-close {
	color: #fff;
	cursor: pointer;
	font-size: 32px;
	position: absolute;
	right: 20px;
	top: 20px;
}

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

body {
	font-size: 17px;
}

.l-inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 1120px;
	padding-left: 30px;
	padding-right: 30px;
}

.hidden-pc {
	display: none;
}

.hidden-sp {
	display: block;
}

.header {
	background: rgba(253, 253, 251, 0.6);
	left: 0;
	padding: 20px 30px;
	position: fixed;
	top: 0;
}

.header__icon {
	max-width: 400px;
}

.header__nav {
	align-items: center;
	display: flex;
	gap: 50px;
}

.sp-btns {
	display: none;
}

.mv-text-1 {
	left: 40%;
	right: auto;
	top: 30%;
	width: 360px;
}

.mv-text-2 {
	left: 40%;
	right: auto;
	top: 38%;
	width: 650px;
}

.container_05 {
	right: 96%;
	top: 105%;
}

.section {
	margin-top: 250px;
}

.sec-head__img.sec-h-5 {
	max-width: 200px;
}

.sec-head__img.sec-h-6 {
	width: 268px;
}

.sec-head__img.sec-h-7 {
	width: 208px;
}

.sec-head__img {
	max-width: 300px;
}

.sec-head__text {
	font-size: 24px;
}

.features__content {
	margin-top: 50px;
}

.features__box {
	flex-direction: row;
	justify-content: space-between;
}

.features__item {
	gap: 20px;
	width: 28%;
}

.features-item__img {
	max-width: 230px;
}

.features-item__title {
	font-size: 24px;
}

.numbers {
	padding-bottom: 80px;
	padding-top: 80px;
}

.numbers__content {
	padding: 60px 30px;
}

.numbers__items {
	flex-direction: row;
	flex-wrap: wrap;
	gap: 0;
	justify-content: space-between;
}

.numbers__item {
	margin-top: 50px;
	width: 28%;
}

.chart-2 .label {
	font-size: 30px;
}

.chart-2 .label span {
	font-size: 24px;
}

.chart-3 .label {
	font-size: 30px;
}

.chart-3 .label span {
	font-size: 24px;
}

.chart-4 .label {
	font-size: 30px;
}

.chart-4 .label span {
	font-size: 24px;
}

.numbers__date {
	margin-top: 100px;
}

.meet__img img {
	width: 511px;
}

.company__content {
	flex-direction: row-reverse;
	justify-content: space-between;
}

.company__pdf {
	flex-shrink: 0;
	height: 386px;
	max-width: 685px;
}

.voice__moveis {
	align-items: start;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 2%;
}

.voice__movei {
	height: 260px;
	margin-left: 0;
	margin-right: 0;
	margin-top: 80px;
	max-width: 100%;
	width: 49%;
}

.dis {
	padding-bottom: 150px;
	padding-top: 150px;
}

.dis_content {
	height: 400px;
	max-width: 710px;
}

.message__content {
	flex-direction: row;
	gap: 20px;
	justify-content: space-between;
}

.message__top {
	font-size: 26px;
}

.message__img {
	height: 390px;
	width: 300px;
}

.message__name {
	width: 250px;
}

.job {
	padding-bottom: 150px;
	padding-top: 200px;
}

.job__content {
	padding: 50px 30px;
}

.job__dl .job__row {
	align-items: start;
	border-bottom: 1px solid #ccc;
	display: grid;
	gap: 20px;
	grid-template-columns: 200px 1fr;
	padding: 20px 0;
}

.job__dl dt {
	border: none;
	padding: 0;
}

.job__dl dd {
	border: none;
	padding: 0;
}

.sche__content {
	max-width: 100%;
}

.sche__top {
	padding: 15px 30px;
}

.sche__body {
	padding: 15px 30px;
}

.footer {
	margin-bottom: 0;
}

.footer-copy {
	font-size: 12px;
	padding-bottom: 20px;
	padding-top: 50px;
}

.top-btn {
	bottom: 50px;
	height: 60px;
	width: 40px;
}

.zoom-button {
	bottom: -50px;
}

}

@media screen and (max-width: calc(500px - 1px)) {

.job__dl .job__row {
	padding: 12px 0;
}

.job__dl dt {
	margin-top: 5px;
}

}

@media (max-width: 480px) {

:root {
	--r: 60px;
}

:root {
	--r: 60px;
}

:root {
	--r: 60px;
}

}

@keyframes slideIn {

0% {
	opacity: 0;
	transform: translateX(50px);
}

100% {
	opacity: 1;
	transform: translateX(0);
}

}

@keyframes liner {

0% {
	transform: scale(1, 0);
	transform-origin: 0 0;
}

30% {
	transform: scale(1, 1);
	transform-origin: 0 0;
}

70% {
	transform: scale(1, 1);
	transform-origin: 0 100%;
}

100% {
	transform: scale(1, 0);
	transform-origin: 0 100%;
}

}

@keyframes drawLine {

to {
	stroke-dashoffset: 0;
}

}

@keyframes grow {

from {
	transform: scaleY(0);
}

to {
	transform: scaleY(1);
}

}

@keyframes fadeIn {

to {
	opacity: 1;
	transform: translateY(-10px);
}

}

@keyframes popIn {

to {
	opacity: 1;
	transform: scale(1);
}

}

@keyframes scroll-right {

from {
	transform: translateX(0);
}

to {
	transform: translateX(-50%);
}

}

