@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c&family=Noto+Sans+JP:wght@400;700&display=swap');



html {
	font-size: 62.5%;
	color: #333;
	background-color: #fafafa;
	font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;

}

body {
	font-size: 1.6rem;
	word-break: break-all;
}

a {
	color: #333;
}

section {
	max-width: 1000px;
	margin: auto;
	padding: 16px;
}

/* -------
　 流用
-------　*/
.flex {
	display: flex;
}

.flex-wrap {
	flex-wrap: wrap;
	margin: 2rem 0;
}

.txt_center {
	text-align: center;
}

.foot_block2 {
	margin-bottom: 2rem;
}

.foot_block4 {
	margin-bottom: 4rem;
}

/* header navi */
.header {
	position: fixed;
	background-color: #fafafa;
	left: 0;
	top: 0;
	width: 100%;
	height: 60px;
	z-index: 2;
}

.header_inner {
	position: relative;
	padding: 15px;
}

.logo {
	position: absolute;
	top: 0;
	left: 0;
	padding: 10px 15px
}

.title {
	font-size: 2rem;
	font-weight: 600;
	font-family: "M PLUS Rounded 1c", sans-serif;
}

.title a {
	text-decoration: none;
}

.title:hover {
	color: #1287b7;
}

.main {
	margin-top: 60px;
}

@media only screen and (max-width: 768px) {
	.title {
		margin: 0;
	}

	.nav {
		position: fixed;
		right: -320px;
		top: 0;
		width: 300px;
		height: 100vh;
		padding-top: 60px;
		background-color: #fff;
		transition: all .6s;
		z-index: 200;
		overflow-y: auto;
	}

	.hamburger {
		position: absolute;
		right: 15px;
		top: 8px;
		width: 40px;
		height: 40px;
		cursor: pointer;
		z-index: 300;
	}

	.nav_list {
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.nav_item {
		padding: 0 14px;
	}

	.nav_item a {
		display: block;
		padding: 8px 0;
		border-bottom: 1px solid #eee;
		text-decoration: none;
		color: #333;
	}

	.nav_item a:hover {
		background-color: #eee;
	}

	.hamburger_border {
		position: absolute;
		left: 11px;
		width: 18px;
		height: 2px;
		background-color: #333;
		transition: all .6s;
	}

	.hamburger_border_top {
		top: 14px;
	}

	.hamburger_border_center {
		top: 20px;
	}

	.hamburger_border_bottom {
		top: 26px;
	}

	.black_bg {
		position: fixed;
		left: 0;
		top: 0;
		width: 100vw;
		height: 100vh;
		z-index: 100;
		background-color: #333;
		opacity: 0;
		visibility: hidden;
		transition: all .6s;
		cursor: pointer;
	}


	.nav-open .nav {
		right: 0;
	}

	.nav-open .black_bg {
		opacity: .8;
		visibility: visible;
	}

	.nav-open .hamburger_border_top {
		transform: rotate(45deg);
		top: 20px;
	}

	.nav-open .hamburger_border_center {
		width: 0;
		left: 50%;
	}

	.nav-open .hamburger_border_bottom {
		transform: rotate(-45deg);
		top: 20px;
	}
}

@media only screen and (min-width: 769px) {
	.header_inner {
		max-width: 980px;
		width: 100%;
		padding: 15px 30px;
		margin-left: auto;
		margin-right: auto;
	}

	.logo {
		padding: 12px 30px
	}

	.nav_list {
		text-align: right;
	}

	.nav_list li {
		display: inline-block;
		text-align: right;
		padding-left: 10px;
	}

	.nav_list li a {
		text-decoration: none;
		color: #333;
		font-weight: 600;
	}

	.nav_list li a:hover {
		color: #1287b7;
	}

	.nav_list li::after {
		content: "/";
		padding-left: 10px;
	}
}

/* /header navi */

/* main visual */
.main_visual_text {
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-size: 7rem;
	text-align: center;
	position: relative;
	line-height: 1.4;
	padding: 0.25rem 1rem;
	display: inline-block;
	top: 0;
}

@media screen and (max-width:480px) {
	.main_visual_text {
		font-size: 4rem;
	}
}

.main_visual {
	text-align: center;
	margin-top: 10rem;
}


.manual_wrap {
	gap: 10px;
}

.manual_menu {
	width: calc(100% / 2 - 8px);
	background: #fff;
	border-radius: 5px;
	padding: 4rem;
	box-sizing: border-box;
	box-shadow: 3px 3px 9px -6px rgb(0 0 0 / 30%);
	position: relative;
}

.manual_menu:hover {
	box-shadow: none;
}

.manual_menu h2 {
	font-weight: bold;
	font-size: 3rem;
	margin-bottom: .5rem;
	line-height: 1.5;
}

.manual_menu h2::before {
	font-weight: bold;
	width: 50px;
	height: 50px;
	text-align: center;
	border-radius: 50%;
	display: block;
	font-size: 2.5rem;
	line-height: 2;
	background-color: rgb(175, 71, 71);
	color: #fff;
	margin-bottom: 10px;
}

.manual_menu:nth-child(1) h2:before {
	content: "01";
	background-color: #3e409a;

}

.manual_menu:nth-child(2) h2:before {
	content: "02";
	background-color: #1287b7;
}

.manual_menu:nth-child(3) h2:before {
	content: "03";
	background-color: #14b290;
}

.manual_menu:nth-child(4) h2:before {
	content: "04";
	background-color: #f2990a;
	;
}

.manual_menu:nth-child(5) h2:before {
	content: "05";
	background-color: #fd354a;
}

.manual_menu a {
	width: 100%;
	height: 100%;
}

.manual_menu_btn {
	display: block;
	text-align: right;
	position: absolute;
	right: 20px;
	bottom: 20px;
}

.manual_menu_btn a {
	text-decoration: none;
}

.manual_menu a:hover {
	color: #1287b7;
}

.manual_menu_btn a::after {
	content: '\f30b';
	font-family: "Font Awesome 6 Free";
	font-weight: 600;
	padding-left: .5rem;
}

.manual_menu ol {
	margin: 2rem 0 4rem 0;
	padding: 0;

}

.manual_menu ol li {
	text-decoration: underline;
	padding-bottom: 1rem;
	list-style-type: decimal-leading-zero;
	margin-left: 1.5em;
}

.manual_menu ol li a:hover {
	color: #1287b7;
}

@media screen and (max-width:480px) {
	.manual_menu {
		width: calc(100% / 1);

	}
}

/* スクロール　TOP */
#page_top {
	width: 50px;
	height: 50px;
	position: fixed;
	right: 0;
	bottom: 2px;
	background: #7c7c7c;
	opacity: 0.6;
	border-radius: 50vh;
}

#page_top a {
	position: relative;
	display: block;
	width: 50px;
	height: 50px;
	text-decoration: none;
}

#page_top a::before {
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	content: '\f102';
	font-size: 25px;
	color: #fff;
	position: absolute;
	width: 25px;
	height: 25px;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
	text-align: center;
}
footer{
	text-align: center;
	padding: 2rem;
}


/* 2025.07.02 追記 */
.cap_ndl {
	width: 30%;
    background-color: #fff1b3;
    border-left: 4px solid #f5c86a;
    padding: 0.8em 1em;
    margin: 20px auto 0;
    color: #555;
    line-height: 1.6;
    border-radius: 4px;
    position: relative;
    font-size: 20px;
    font-weight: 600;
}

.cap_ndl span {
	color: #f0a500;
}

@media screen and (max-width:480px) {
	.cap_ndl {
		width: 80%;
	}
}
