/*
Theme Name: Anchors 採用サイト
*/

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

    そのサイトの基本設定
    ページによって変更のないもの・どのページでも使用するもの、できるもの

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


:root {
	/* font-weight */
	--fontweight_regular: 400;
	--fontweight_midium: 500;
	--fontweight_semibold: 600;
	--fontweight_bold: 700;
	--fontweight_black: 900;


	--text_color: #ffffff;
	--bg_color: #0E60C9;
	--bg_color_pc: #086EF2;


	--color_white: #fff;
	--color_black: #242424;
	--color_light_blue: #086EF2;

	--fontsize_10: 0.625rem;
	--fontsize_12: 0.75rem;
	--fontsize_13: 0.813rem;
	--fontsize_14: 0.875rem;
	--fontsize_15: 0.938rem;
	--fontsize_18: 1.125rem;
	--fontsize_20: 1.25rem;
	--fontsize_21: 1.313rem;
	--fontsize_22: 1.375rem;
	--fontsize_24: 1.5rem;
	--fontsize_28: 1.75rem;
	--fontsize_30: 1.875rem;
	--fontsize_32: 2rem;
	--fontsize_34: 2.125rem;
	--fontsize_35: 2.188rem;
	--fontsize_36: 2.25rem;
	--fontsize_43: 2.688rem;
	--fontsize_44: 2.75rem;
	--fontsize_47: 2.938rem;
	--fontsize_90: 5.625rem;

}


html {
	scroll-behavior: smooth;
}

body {
	position: relative;
	color: var(--color_white);
	background-color: var(--bg_color);
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;

	overflow-x: hidden;
}

/* PC用判定 */
@media screen and (pointer: fine) and (hover: hover) and (orientation: landscape) and (min-width: 800px) and (min-height: 600px) {
	body {
		background-color: var(--bg_color_pc);
	}
}

img {
	width: 100%;
}

p {
	line-height: 2;
	letter-spacing: 0.05rem;
}

main p {
	margin-top: 1em;
}

/* PC用判定 */
@media screen and (pointer: fine) and (hover: hover) and (orientation: landscape) and (min-width: 800px) and (min-height: 600px) {

	main p:not(.banner_name) {
		font-size: var(--fontsize_18);
	}

}

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

 * aタグの設定

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

a {
	transition: .3s;
}

a:hover {
	opacity: 0.6;
}

/* 右に矢印を置く */
.arrow_right {
	display: flex;
}

/* 右矢印が白矢印の時 */
.arrow_right.color_white::after {
	content: "";
	display: block;
	width: 22px;
	height: 19px;
	margin-left: auto;
	background-image: url("common/img/arrow_right_white.svg");
	background-repeat: no-repeat;
	background-size: contain;
}

/* 右矢印をテキストの真横に置くとき */
.arrow_right.inline {
	display: block;
	display: flex;
	justify-content: center;

	width: fit-content;
	margin-left: auto;
	margin-right: auto;
}

.arrow_right.inline::after {
	margin-left: 12px;
}

/* PC用判定 */
@media screen and (pointer: fine) and (hover: hover) and (orientation: landscape) and (min-width: 800px) and (min-height: 600px) {
	.arrow_right.color_white::after {
		width: 30px;
		height: 26px;
	}

	.arrow_right.inline {
		font-size: var(--fontsize_20);
	}

	.arrow_right.inline::after {
		width: 28px;
		height: 24px;
	}
}




/* 外部リンク */
.arrow_right.external_link::after {
	content: "";
	display: block;
	width: 15px;
	height: 13px;
	margin-left: auto;
	background-image: url("common/img/external_link.svg");
	background-repeat: no-repeat;
	background-size: contain;
}

/* テキストリンク　リスト */
ul.links {
	border-top: 1px solid rgba(255, 255, 255, 0.16);
}

ul.links li {
	border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}

ul.links li a {
	padding: 16px 0;
}

/* PC用判定 */
@media screen and (pointer: fine) and (hover: hover) and (orientation: landscape) and (min-width: 800px) and (min-height: 600px) {
	ul.links li a {
		padding: 22px 0;
		font-size: var(--fontsize_22);
	}
}


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

 * テーブル

---------------------------------------------- */
.table_default {
	width: 100%;
	border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.table_default th,
.table_default td {
	/* display: block; */
	font-size: var(--fontsize_16);
	line-height: 2;
	letter-spacing: 0.05rem;
}

.table_default th {
	padding: 20px 0 0 0;
	font-weight: bold;
}

.table_default td {
	padding: 20px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}

/* 募集要項の詳細の中身を想定 */
.table_default td ul {
	margin: 20px 0 20px 1.5em;
	list-style-type: disc;
}

/* td の中のtableの最後のthとtdの下線を消す */
.table_default td table.table_default tr:last-child th,
.table_default td table.table_default tr:last-child td {
	border-bottom: none;
}

/* PC用判定 */
@media screen and (pointer: fine) and (hover: hover) and (orientation: landscape) and (min-width: 800px) and (min-height: 600px) {
	.table_default {}

	.table_default th,
	.table_default td {
		display: table-cell;
		font-size: var(--fontsize_18);
	}

	.table_default th {
		width: 16em;
		padding: 20px;
		border-bottom: 1px solid rgba(255, 255, 255, 0.16);
	}

	.table_default td {
		padding: 20px 0;
	}

	/* table の中の table */
	.table_default td table.table_default {
		border-top: none;
	}

	.table_default td table.table_default td,
	.table_default td table.table_default th {
		padding: 20px 0;
	}


}


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

 * 見出し

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

.level_2 {
	margin-bottom: 32px;
	font-size: var(--fontsize_24);
	line-height: 1.6;
}

.level_3 {
	margin-bottom: 24px;
	/* padding: 12px 0 12px 16px; */
	padding: 12px 16px;
	font-size: var(--fontsize_20);
	line-height: 1.6;
	border: 1px solid rgba(255, 255, 255, 0.16);
	background-color: rgba(255, 255, 255, 0.1);
}

.level_4 {
	margin-top: 24px;
	margin-bottom: 24px;
	padding-left: 10px;
	font-size: var(--fontsize_20);
	border-left: 4px solid #1FB9F2;
}

/* PC用判定 */
@media screen and (pointer: fine) and (hover: hover) and (orientation: landscape) and (min-width: 800px) and (min-height: 600px) {
	.level_2 {
		margin-bottom: 48px;
		font-size: var(--fontsize_44);
		letter-spacing: 0.15em;
	}

	.level_3 {
		margin-bottom: 48px;
		padding: 14px 0 14px 18px;
		font-size: var(--fontsize_24);
	}

	.level_4 {
		margin-top: 56px;
		margin-bottom: 48px;
	}
}

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

 * リード文

---------------------------------------------- */
.lead_text {
	margin-bottom: 24px;
	font-size: var(--fontsize_20);
	font-weight: var(--fontweight_midium);
	line-height: 1.6;
}

/* PC用判定 */
@media screen and (pointer: fine) and (hover: hover) and (orientation: landscape) and (min-width: 800px) and (min-height: 600px) {
	.lead_text {
		margin-bottom: 70px;
		font-size: var(--fontsize_24);
	}
}

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

 * ページ内リンク

---------------------------------------------- */
ul.inner_links {
	/* margin-bottom: 56px; */
}

ul.inner_links li {
	border: 1px solid rgba(255, 255, 255, 0.16);
	font-size: var(--fontsize_15);
}

ul.inner_links li a {
	padding: 12px 15px;
}

/* モバイル用として判定 */
@media screen and (orientation: portrait),
screen and (max-width: 799px),
screen and (max-height: 599px) {
	ul.inner_links li:not(:last-child) {
		margin-bottom: 12px;
	}
}

/* PC用判定 */
@media screen and (pointer: fine) and (hover: hover) and (orientation: landscape) and (min-width: 800px) and (min-height: 600px) {
	ul.inner_links {
		display: flex;
		gap: 18px;
		flex-flow: wrap;
	}

	ul.inner_links {
		/* margin-bottom: 112px; */
	}

	ul.inner_links li {
		width: 100%;
	}

}



/* 右に下向き矢印を置く */
ul.inner_links a.arrow_down {
	display: flex;
}

/* 下向き矢印が白矢印の時 */
ul.inner_links a.arrow_down.color_white::after {
	content: "";
	display: block;
	width: 22px;
	height: 19px;
	margin-left: auto;
	background-image: url("common/img/arrow_down_white.svg");
	background-repeat: no-repeat;
	background-size: contain;
}

/* 下向き矢印をテキストの真横に置くとき */
ul.inner_links a.arrow_down.inline {
	display: block;
	display: flex;
	justify-content: center;

	width: fit-content;
	margin-left: auto;
	margin-right: auto;
}

ul.inner_links a.arrow_down.inline::after {
	margin-left: 12px;
}

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

 * リスト

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

main ol.marker {
	margin: 2rem 0.5rem 2rem 1.5rem;
	list-style: decimal;
	line-height: 2;
	letter-spacing: 0.05rem;
}

main ul.marker {
	margin: 2rem 0.5rem 2rem 1.5rem;

	list-style-type: disc;
	line-height: 2;
	letter-spacing: 0.05rem;
}

/* 横並び */
.inline_list {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 8px 0;
}

.inline_list li::after {
	content: "/";
	margin: 0 4px;
}

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

 * 水平

---------------------------------------------- */
hr {
	border-color: rgba(255, 255, 255, 0.16);
}

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

 * フォーム

---------------------------------------------- */
main input[type=text],
main input[type=tel],
main input[type=email] {
	border: 1px solid #D4D4D4;
	border-radius: 4px;
	background-color: var(--color_white);
}

main textarea {
	border: 1px solid #D4D4D4;
	border-radius: 4px;
	background-color: var(--color_white);
}

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

 * コンテンツ

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

.container {
	display: grid;
	gap: 56px;

	padding-bottom: 56px;
}

/* PC用判定 */
@media screen and (pointer: fine) and (hover: hover) and (orientation: landscape) and (min-width: 800px) and (min-height: 600px) {
	.container {
		gap: 112px;

		padding-bottom: 112px;
	}
}

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

 * ヘッダー

---------------------------------------------- */
.ly_header {
	position: relative;
	width: 100%;
	height: 30vh;

	background-position: center;
	background-size: cover;
}

.ly_header::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 24, 56, 0.52);
}

header .logo_menu {
	position: fixed;
	top: 0;
	left: 50%;
	transform: translateX(-50%);

	display: flex;
	align-items: center;

	width: 100%;

	padding: 19px 2% 0;

	z-index: 1000;
}

#siteLogo a {
	position: relative;

	display: flex;
	align-items: center;
	gap: 6px;

	font-size: clamp(0.8125rem, 0.0625rem + 3.75vw, 1rem);

	z-index: 1000;
}

#siteLogo img {
	width: 135px;
}

#siteLogo .text {
	padding: 6px 7px 0;
}

/* モバイル用として判定 */
@media screen and (orientation: portrait),
screen and (max-width: 799px),
screen and (max-height: 599px) {

	/* ヘッダー */
	.ly_header {
		height: 190px;
	}

    header .logo_menu {
        padding-bottom: 19px;
        background-color: rgba(14, 96, 201, 0.95);
    }
}


/* ハンバーガーメニュー */
.humburger_menu {
	overflow: hidden;
	margin-left: auto;
}

/* ボタン */
.menu_button_box {
	position: relative;
	display: flex;
	align-items: center;

	padding-top: 7px;

	border: none;

	cursor: pointer;

	transition: .5s;

	z-index: 1000;
}

.menu_button_box .text {
	font-size: clamp(0.8125rem, 0.0625rem + 3.75vw, 1rem);
}

.menu_button {
	padding: 0 0 0 5px;
}

.bar {
	width: 10px;
}

/* メニューボタンのアニメーション */
.bar {
	display: block;
	height: 1px;
	margin: 3px 0;
	background-color: var(--color_white);
	transition: transform 0.4s, opacity 0.4s;
}

.menu_button.open .bar:nth-child(1) {
	transform: rotate(45deg) translate(2px, 5px);
}

.menu_button.open .bar:nth-child(2) {
	opacity: 0;
}

.menu_button.open .bar:nth-child(3) {
	transform: rotate(-45deg) translate(1px, -4px);
}



/* メニュー本体 */
header .menu {
	position: fixed;
	top: 0;
	left: 0;

	width: 100%;
	height: 100vh;

	padding-bottom: 2rem;

	color: var(--color_white);
	background-color: var(--color_light_blue);

	z-index: 1;
	overflow-y: auto;

	transform: translateY(-100%)
}

header .menu.open {
	/* top: 0; */
}

#header_menu .inner {
	padding-bottom: 64px;
}

/* リンク一覧 */
.navigation {
	margin-top: 72px;
	margin-bottom: 24px;

	font-size: var(--fontsize_16);
}

.navigation>li {
	padding-top: 12px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--color_white);
}


.navigation li>ul {
	margin-top: 15px;
	margin-left: 1.5rem;
}

.navigation li ul li:not(:last-child) {
	margin-bottom: 12px;
}

.navigation li ul li {

	font-size: var(--fontsize_16);
}

/* PC用判定 */
@media screen and (pointer: fine) and (hover: hover) and (orientation: landscape) and (min-width: 800px) and (min-height: 600px) {
	#header_menu .inner.inner_wide {
		width: 96%;
		margin-left: auto;
		margin-right: auto;
	}

	#header_menu .navigation {
		display: grid;
		gap: 0 48px;
		grid-template-columns: 1fr 1fr 1fr;

		margin-bottom: 48px;
	}

	#header_menu .navigation>li {
		padding-top: 26px;
		padding-bottom: 20px;
	}

	#header_menu .navigation li>ul {
		margin-top: 32px;
	}

	#header_menu .navigation li ul li:not(:last-child) {
		margin-bottom: 24px;
	}
}

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

 * ページタイトル

---------------------------------------------- */
.ly_header .page_title {
	position: absolute;
	left: 2%;
	bottom: 8px;

	font-size: var(--fontsize_32);
}


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

 * コンテンツセンタリング

---------------------------------------------- */
.inner {
	/* width: 86.7%; */
	width: 100%;
	max-width: 325px;
	margin-left: auto;
	margin-right: auto;
}

/* PC用判定 */
@media screen and (pointer: fine) and (hover: hover) and (orientation: landscape) and (min-width: 800px) and (min-height: 600px) {
	.inner {
		/* width: 52.1%; */
		width: 96%;
		max-width: 1000px;
	}

	.inner_wide {
		/* width: 86.7%; */
		width: 96%;
		max-width: 1700px;
	}
}


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

 * ボタン（白）

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

.btn_white {}

.btn_white a {
	display: flex;
	gap: 24px;
	justify-content: center;
	align-items: center;
	max-width: 325px;
	padding: 20px 0;
	margin-inline: auto;
	border-radius: 40px;
	color: #0663E0;

	background-color: var(--color_white);
	box-shadow: 0px 3px 16px -16px #000000;

	transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
}

.btn_white a::after {
	content: "";
	display: block;
	width: 23px;
	height: 20px;

	background-image: url("common/img/arrow_right_blue.svg");
	background-repeat: no-repeat;
	background-size: contain;
}

.btn_white a:hover {
	background-color: rgba(255, 255, 255, 0.8);
}


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

 * パンくず

---------------------------------------------- */
.bread_nav {
	width: 96%;
	margin: 12px auto 56px;
	font-size: var(--fontsize_12);
}

.bread_nav ol {
	display: flex;
	flex-wrap: wrap;
}

.bread_nav li {
	display: flex;
	margin-right: 8px;
}

.bread_nav li:not(:last-child)::after {
	content: "";
	display: block;
	width: 1px;
	height: 100%;
	margin-left: 8px;
	background-color: var(--color_white);
}


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

 * リンクカード

---------------------------------------------- */
.link_card {
	display: flex;
	gap: 24px;
	justify-content: center;
	align-items: center;
}

.link_card .image {
	width: fit-content;
}

.link_card .image img {
	width: 118px;
	height: 150px;
	object-fit: cover;
}

.link_card .text {
	width: 122px;
}

.link_card .text a {
	display: block;
}

/* モバイル用として判定 */
@media screen and (orientation: portrait),
screen and (max-width: 799px),
screen and (max-height: 599px) {

	/* パンくず */
	.bread_nav {
		line-height: 16px;
	}
}

/* PC用判定 */
@media screen and (pointer: fine) and (hover: hover) and (orientation: landscape) and (min-width: 800px) and (min-height: 600px) {

	/* リンクカード */
	.link_card {
		flex-direction: column;
		justify-content: normal;
		margin: 0;
	}

	.link_card:not(:last-child) {
		/* margin-right: 24px; */
	}

	.link_card .image img {
		width: 100%;
		max-width: 311px;

		height: 392px;
	}

	.link_card .text {
		width: 100%;
	}

	.link_card .text a {
		display: flex;

		font-size: var(--fontsize_18);
	}

	.link_card .text .arrow_right.color_white::after {
		width: 24px;
		height: 21px;
	}

}

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

 * 写真付きパーツ２
 * 写真付きコンテンツモジュール（青背景）

---------------------------------------------- */
.pic_box02 {
	padding: 24px 16px;
	background-color: #327BD8;
}

.pic_box02 img {
	border-radius: 8px;
}

/* PC用判定 */
@media screen and (pointer: fine) and (hover: hover) and (orientation: landscape) and (min-width: 800px) and (min-height: 600px) {

	/* 横幅325px */
	.column_3 .pic_box02 {
		max-width: 325px;
	}
}


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

 * バナー

---------------------------------------------- */
.banner {
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

.banner {
	position: relative;
	aspect-ratio: 75 / 32;
}

.banner::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgb(0, 24, 56, 52%);
	z-index: 0;
}

.banner a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 100;
}

.banner a div {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;

	height: 100%;

	z-index: 2;
}

.banner .banner__name {
	margin-top: 0;
	margin-bottom: 1rem;
	font-size: var(--fontsize_24);
	text-align: center;
}

/* モバイル用として判定 */
@media screen and (orientation: portrait),
screen and (max-width: 799px),
screen and (max-height: 599px) {
	.banner a {
		max-width: 100%;
	}
}

/* PC用判定 */
@media screen and (pointer: fine) and (hover: hover) and (orientation: landscape) and (min-width: 800px) and (min-height: 600px) {

	.banner .banner__name {
		font-size: var(--fontsize_32);
	}

	/* バナー　横長 */
	.banner_wide {
		max-width: 1000px;
		aspect-ratio: 500 / 107;
		margin: 0 auto;
		font-size: var(--fontsize_32);
	}

	.banner_wide a {
		/* padding: 0 0 0 32px; */
	}

	.banner_wide a::after {
		/* right: 12px;
            bottom: 12px; */
	}

	/* 二つだった時 */
	.banners {
		display: grid;
		grid-template-columns: repeat(2, 1fr);

		width: 96%;
		max-width: 1000px;
		margin: auto;
	}

	.banners .banner {
		aspect-ratio: 250 / 203;
	}

	p.banner_name {
		margin-top: 0;
		margin-bottom: 1em;
		font-size: var(--fontsize_32);
	}
}

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

 * PR

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

.pr {
	padding-top: 56px;
	border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.pr .pr__btns {
	margin-top: 24px;
}

.pr .pr__btns li {
	margin-bottom: 24px;
}


/* PC用判定 */
@media screen and (pointer: fine) and (hover: hover) and (orientation: landscape) and (min-width: 800px) and (min-height: 600px) {
	.pr {
		padding-top: 112px;
	}

	.pr .lead_text {
		margin-bottom: 70px;
	}

	.pr img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		aspect-ratio: 125 / 76;
	}

	.pr .pr__btns {
		display: flex;
		justify-content: center;
		gap: 40px;

		margin-top: 112px;
	}

	.pr .pr__btns li {
		width: 100%;
		max-width: 325px;
	}
}

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

 * ページャー

---------------------------------------------- */
.pager {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 6px;

	margin-top: 56px;
	margin-bottom: 56px;
}

.pager li {
	padding: 3px 6px;
	border-radius: 2px;
	border: 1px solid #2474DA;
}

.pager .current {
	border: none;
	background-color: #003171;
}



/* 背景の円 */
.blurred_circle {
	position: absolute;
	display: block;
	width: 554px;
	height: 550px;
	background-image: url("common/img/blurred_circle.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	z-index: -1;
}

/* PC用判定 */
@media screen and (pointer: fine) and (hover: hover) and (orientation: landscape) and (min-width: 800px) and (min-height: 600px) {

	/* 背景の円 */
	.blurred_circle {
		width: 1078px;
		height: 1076px;
		background-image: url("common/img/blurred_circle_pc.png");
	}
}

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

 * 必須

---------------------------------------------- */
.required {
	padding: 2px 10px;
	font-size: var(--fontsize_10);
	font-weight: var(--fontweight_regular);
	letter-spacing: 0.05em;
	border-radius: 8px;
	background-color: #0104B9;
}


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

 * フッター

---------------------------------------------- */
footer {
	background-color: #0151B9;
}

/* ロゴ */
.ly_footer .site_id {
	display: flex;
	align-items: center;
}

/* モバイル用として判定 */
@media screen and (orientation: portrait),
screen and (max-width: 799px),
screen and (max-height: 599px) {
	footer {
		padding-top: 56px;

	}

	.ly_footer {
		display: flex;
		flex-direction: column;

		padding-bottom: 16px;
	}



	/* ロゴ */
	.ly_footer .site_id {
		justify-content: center;
		gap: 8px;

		margin-bottom: 56px;
	}

	.ly_footer .site_id img {
		width: 150px;
	}

	.ly_footer .site_id .text {
		margin-top: 5px;
		font-size: var(--fontsize_12);
	}


	/* 外部リンク */
	.ly_footer .external_links {
		order: 5;
	}

	/* コピーライト */
	.ly_footer .copyright {
		order: 6;
		margin-top: 48px;
		text-align: center;
	}

	.ly_footer .navigation {
		margin: 0;
	}

	.ly_footer .navigation:not(.contents_01 .navigation) {
		border-top: 1px solid rgba(255, 255, 255, 16%);
	}

	.ly_footer .navigation>li {
		border-bottom: 1px solid rgba(255, 255, 255, 16%);
	}

	/* お問い合わせボタンだけ表示を変更 */
	.ly_footer .navigation li.inquery {
		padding: 56px 0 80px;
		border-top: none;
		border-bottom: none;
	}

	/* メニューの子要素を表示しない */
	.ly_footer .navigation li ul:not(.ly_footer ul.job_profile) {
		display: none;
	}

	.ly_footer .contents_01 {
		margin-bottom: 56px;
	}

	.ly_footer .contents_02 {
		margin-bottom: 32px;
	}
}


/* PC用判定 */
@media screen and (pointer: fine) and (hover: hover) and (orientation: landscape) and (min-width: 800px) and (min-height: 600px) {

	.ly_footer {
		display: grid;
		grid-template-columns: repeat(12, 1fr);
		grid-template-rows: repeat(6, 1fr);
		gap: 30px;

		padding: 104px 0 136px;
	}


	.ly_footer .navigation>li {
		padding-top: 24px;
		padding-bottom: 24px;
		border-color: rgba(255, 255, 255, 0.16);
	}

	.ly_footer .navigation:not(.external_links .navigation)>li:last-child {
		border: none;
	}

	.ly_footer .navigation li>ul {
		margin-top: 24px;
		margin-left: 0;
	}

	.ly_footer .navigation:not(.external_links .navigation) li ul li {
		position: relative;
		padding-left: 20px;
	}

	/* リストの子要素にリストマーカーをつける */
	.ly_footer .navigation:not(.external_links .navigation) li ul li::before {
		content: "";
		display: block;
		width: 10px;
		height: 1px;

		position: absolute;
		top: 50%;
		left: 0;

		background-color: rgba(255, 255, 255, 0.16);
	}

	/* リンクの矢印を消す（外部リンク以外） */
	.ly_footer .navigation:not(.external_links .navigation) a::after {
		display: none;
	}

	.ly_footer .navigation>li .btn_white a {
		display: initial;

		padding: initial;
		border-radius: initial;
		color: var(--color_white);
		background-color: initial;
		box-shadow: none;
		transition: initial;

	}


	/* 会社ロゴ */
	.ly_footer .site_id {
		grid-column: 1 / 4;
		grid-row: 1 / 2;

		gap: 16px;
	}

	.ly_footer .site_id img {}

	.ly_footer .site_id .text {
		margin-top: 8px;
		font-size: var(--fontsize_16);
	}

	/* 外部リンク */
	.ly_footer .external_links {
		grid-column: 1 / 4;
		grid-row: 2 / 4;
	}

	.ly_footer .external_links .navigation {
		margin: 0;
		border-top: 1px solid rgba(255, 255, 255, 0.16);
	}

	/* コピーライト */
	.ly_footer .copyright {
		grid-column: 1 / 4;
		grid-row: 4 / 7;

		display: grid;
		align-items: end;

		padding: 1rem 0;
	}

	/* 右側3列設定 */
	.ly_footer .contents {
		width: fit-content;
	}

	.ly_footer .contents_01 {
		grid-column: 5 / 8;
		grid-row: 1 / 7;
	}

	.ly_footer .contents_02 {
		grid-column: 8 / 10;
		grid-row: 1 / 7;
	}

	.ly_footer .contents_03 {
		grid-column: 10 / 13;
		grid-row: 1 / 7;
	}

}

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

 * ページのTOPへ

---------------------------------------------- */
#pageToTop {
    position: fixed;
    right: 1em;
    bottom: 1em;
    z-index: 1000;
}

/* PC用判定 */
@media screen and (pointer: fine) and (hover: hover) and (orientation: landscape) and (min-width: 800px) and (min-height: 600px) {
    #pageToTop {
        display: none;
    }
}

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

 * スクロールアニメーション用

---------------------------------------------- */
.anima_fadeUp,
.anima_fadeDown,
.anim_list_item,
.anim_split_text,
.anima_image {
	opacity: 0;
}

.anima_fadeUp {
	transform: translateY(50px);
}

.anima_fadeDown {
	transform: translateY(-50px);
}