@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=BIZ+UDGothic:wght@400;700&display=swap");
/*@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+Antique:wght@400;500;700&display=swap");*/

html {
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	overflow-y: scroll;
	background-color: #fff;
	font-size: 62.5%;
	/* PC: 1rem = 10px */
}
/* SP: 1rem = 8.75px（16px基準の87.5%） → 1.6rem ≒ 14px */
@media screen and (min-width:0px) and (max-width:767px) {
	html {
		font-size: 54.6875%;
	}
}
body {
	font-family: 'Roboto', 'メイリオ', Meiryo, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', '游ゴシック', YuGothic, 'ＭＳ Ｐゴシック', Helvetica, Arial, sans-serif;
	color: #444;
	padding: 0;
	margin: 0;
	height: 100%;
	line-height: 1;
	font-size: 1.6rem;
}
@media screen and (min-width:0px) and (max-width:767px) {
	body {
		font-size: 1.6rem;
	}
}
.bold {
	font-weight: 600;
}
.org {
	color: #f97b00;
}
/*スペース*/
.no-brake {
	word-break: keep-all;
}
.mt0 {
	margin-top: 0px;
}
.mb0 {
	margin-bottom: 0px;
}
.ml0 {
	margin-left: 0px;
}
.mr0 {
	margin-right: 0px;
}
/*テーブル*/
.cen {
	text-align: center;
}
.lef {
	text-align: left;
}
.rig {
	text-align: right;
}
.w10 {
	width: 10%;
}
.w15 {
	width: 15%;
}
.w20 {
	width: 20%;
}
.w30 {
	width: 30%;
}
.w40 {
	width: 40%;
}
.w45 {
	width: 45%;
}
.w50 {
	width: 50%;
}
.w55 {
	width: 55%;
}
.w60 {
	width: 60%;
}
.w70 {
	width: 70%;
}
.w80 {
	width: 80%;
}
.w90 {
	width: 90%;
}
.mt10 {
	margin-top: 1rem !important;
}
.mt20 {
	margin-top: 2rem !important;
}
.mt30 {
	margin-top: 3rem !important;
}
.mt40 {
	margin-top: 4rem !important;
}
.pb0 {
	padding-bottom: 0;
}
/*リンクカラー*/
a:link {
	color: #221815;
	text-decoration: none;
}
a:hover {
	color: #221815;
}
a:active {
	color: #221815;
}
a:visited {
	color: #221815;
	text-decoration: none;
}
a img {
	border: none;
}
input[type="text"]:focus {
	outline: 0;
}
p {
	word-break: break-all;
}
/*リスト*/
.indent_list > li,
.indent_list > li a {
	/*overflow: hidden;*/
	word-break: break-all;
	line-height: 1.6em;
}
/* :not(.no-brake) を付与 — no-brake は word-break 制御用のインラインspanであり、
   Q&A形式(2スパン構造)用の float レイアウトの対象外とする。
   これがないと menu3-1 のように <a> の直下に no-brake span が単独で配置された場合、
   :nth-child(1) ルールにより display:block / float:left が誤適用され、
   float をクリアする第2スパンも存在しないため <a> の下padding が崩れる。 */
.indent_list > li > span:not(.no-brake),
.indent_list > li a > span:not(.no-brake) {
	display: block;
}
.indent_list > li > span:not(.no-brake):nth-child(1),
.indent_list > li a > span:not(.no-brake):nth-child(1) {
	margin-right: 5px;
	float: left;
}
.indent_list > li > span:not(.no-brake):nth-child(2),
.indent_list > li a > span:not(.no-brake):nth-child(2) {
	overflow: hidden;
}
/*タイトル*/
.indent_title {
	word-break: break-all;
}
.indent_title > span,
.indent_title > span a {
	display: block;
}
.indent_title > span:nth-child(1),
.indent_title > span:nth-child(1) a {
	margin-right: 5px;
	float: left;
}
.indent_title > span:nth-child(2),
.indent_title > span:nth-child(2) a {
	overflow: hidden;
	padding-right: 50px;
}
span.circle {
	float: left;
	width: 16px;
	/*幅*/
	height: 16px;
	/*高さ*/
	border-radius: 50%;
	/*角丸*/
	margin: 5px 10px 0 0;
	background-color: #eb6d46;
}
span.circle.bg-bl {
	background-color: #eb6d46;
}
/*中央よせ*/
/*上下*/
.absl-centerY {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.absl-centerX {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
}
.absl-centerXY {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.no-txt_select {
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-touch-callout: none;
}
/*[flexbox基本設定]*/
ul.flex-box-base {
	width: 100%;
	margin: 0 0 0;
	display: flex;
	flex-wrap: wrap;
}
@media print,
screen and (min-width: 768px) {
	ul.flexbox-pc1 > li {
		width: 90%;
		margin: 10px 5% 10px;
	}
	ul.flexbox-pc2 > li {
		width: 45%;
		margin: 10px 3% 0px 3%;
	}
	ul.flexbox-pc2 > li:nth-of-type(1),
	ul.flexbox-pc2 > li:nth-of-type(2n+1) {
		margin-right: 2%;
	}
	ul.flexbox-pc2 > li:nth-of-type(2n) {
		margin-left: 2%;
	}
	ul.flexbox-pc3 > li {
		width: 31%;
		margin: 10px 1.5% 0px 1.5%;
	}
	ul.flexbox-pc3 > li:nth-of-type(1),
	ul.flexbox-pc3 > li:nth-of-type(3n+1) {
		margin-left: 0%;
	}
	ul.flexbox-pc3 > li:nth-of-type(3n) {
		margin-right: 0%;
	}
	ul.flexbox-pc4 > li {
		width: 22%;
		margin: 10px 2% 30px 2%;
	}
	ul.flexbox-pc4 > li:nth-of-type(1),
	ul.flexbox-pc4 > li:nth-of-type(4n+1) {
		margin-left: 0%;
	}
	ul.flexbox-pc4 > li:nth-of-type(4n) {
		margin-right: 0%;
	}
	/*トップページボタン用*/
	.top_01_rightbox ul.flexbox-pc3 > li {
		width: 30%;
		margin: 0px 2.5% 24px 2.5%;
	}
	.top_01_rightbox ul.flexbox-pc3 > li:nth-of-type(1),
	ul.flexbox-pc3 > li:nth-of-type(3n+1) {
		margin-left: 0%;
	}
	.top_01_rightbox ul.flexbox-pc3 > li:nth-of-type(3n) {
		margin-right: 0%;
	}
}
@media screen and (min-width:641px) and (max-width: 767px) {
	ul.flexbox-mb1 > li {
		width: 90%;
		margin: 10px 5% 30px 5%;
	}
	ul.flexbox-mb2 > li {
		width: 47%;
		margin: 10px 1% 30px 1%;
	}
	ul.flexbox-mb2 > li:nth-of-type(1),
	ul.flexbox-mb2 > li:nth-of-type(2n+1) {
		margin-left: 2%;
	}
	ul.flexbox-mb2 > li:nth-of-type(2n) {
		margin-right: 2%;
	}
	ul.flexbox-mb3 > li {
		width: 31%;
		margin: 10px 1.75% 30px 1.75%;
	}
	ul.flexbox-mb3 > li:nth-of-type(1),
	ul.flexbox-mb3 > li:nth-of-type(3n+1) {
		margin-left: 0%;
	}
	ul.flexbox-mb3 > li:nth-of-type(3n) {
		margin-right: 0%;
	}
	ul.flexbox-mb4 > li {
		width: 23%;
		margin: 10px 1.3% 10px 1.3%;
	}
	ul.flexbox-mb4 > li:nth-of-type(1),
	ul.flexbox-mb4 > li:nth-of-type(4n+1) {
		margin-left: 0%;
	}
	ul.flexbox-mb4 > li:nth-of-type(4n) {
		margin-right: 0%;
	}
}
@media screen and (min-width:481px) and (max-width:640px) {
	ul.flexbox-spl1 > li {
		width: 94%;
		margin: 10px 3% 30px;
	}
	ul.flexbox-spl1 > li:nth-of-type(odd) {
		margin-left: 3%;
	}
	ul.flexbox-spl1 > li:nth-of-type(even) {
		margin-right: 3%;
	}
	ul.flexbox-spl2 > li {
		width: 48%;
		margin: 10px 2% 30px 2%;
	}
	ul.flexbox-spl2 > li:nth-of-type(1),
	ul.flexbox-spl2 > li:nth-of-type(2n+1) {
		margin-left: 0%;
	}
	ul.flexbox-spl2 > li:nth-of-type(2n) {
		margin-right: 0%;
	}
}
@media screen and (max-width:480px) {
	ul.flexbox-sps1 > li {
		width: 96%;
		margin: 10px 2% 30px;
	}
	ul.flexbox-sps1 > li:nth-of-type(odd) {
		margin-left: 2%;
	}
	ul.flexbox-sps1 > li:nth-of-type(even) {
		margin-right: 2%;
	}
	ul.flexbox-sps2 > li {
		width: 48%;
		margin: 10px 2% 30px 2%;
	}
	ul.flexbox-sps2 > li:nth-of-type(1),
	ul.flexbox-sps2 > li:nth-of-type(2n+1) {
		margin-left: 0%;
	}
	ul.flexbox-sps2 > li:nth-of-type(2n) {
		margin-right: 0%;
	}
}
ul.flex-qa-box-base {
	width: 100%;
	margin: 0 0 0;
	display: flex;
	flex-wrap: wrap;
}
@media print,
screen and (min-width: 768px) {
	ul.flex-qa-box-base > li {
		width: 50%;
		margin: 10px 0 0px 0;
	}
}
@media screen and (min-width:580px) and (max-width: 767px) {
	ul.flex-qa-box-base > li {
		width: 50%;
		margin: 10px 0 0px 0;
	}
}
@media print,
screen and (min-width: 768px) {
	.mb-only {
		display: none;
	}
	.sp-only {
		display: none;
	}
	.pc-only {
		display: block;
	}
}
@media screen and (min-width:481px) and (max-width: 767px) {
	.pc-only {
		display: none;
	}
	.sp-only {
		display: none;
	}
	.mb-only {
		display: block;
	}
}
@media screen and (max-width:480px) {
	.pc-only {
		display: none;
	}
	.mb-only {
		display: none;
	}
	.sp-only {
		display: block;
	}
}
@media print,
screen and (min-width: 980px) {
	.menu-pc-only {
		display: block;
	}
}
@media screen and (max-width:979px) {
	.menu-pc-only {
		display: none;
	}
}
/*トップページ：画像float回り込み防止*/
.list_hidden {
	overflow: hidden;
}
