﻿@charset "UTF-8";

/*部品 -----------------------------------------------------*/

.mb10 {
	margin-bottom: 10px !important;
}
.mb15 {
	margin-bottom: 15px !important;
}
.mb20 {
	margin-bottom: 20px !important;
}
.mb30 {
	margin-bottom: 30px !important;
}
.mb40 {
	margin-bottom: 40px !important;
}
.mb50 {
	margin-bottom: 50px !important;
}
.mb80 {
	margin-bottom: 80px !important;
}
.mb100 {
	margin-bottom: 100px !important;
}
.mr15 {
	margin-right: 15px !important;
}
.pt50 {
	padding-top: 50px !important;
}
.pt80 {
	padding-top: 80px !important;
}

.fs110 {
	font-size: 110% !important;
}
.fs120 {
	font-size: 120% !important;
}
.fs130 {
	font-size: 130% !important;
}
.fs140 {
	font-size: 140% !important;
}
.fs150 {
	font-size: 150% !important;
}
.fs180 {
	font-size: 180% !important;
}
.fs200 {
	font-size: 200% !important;
}

.tac {
	text-align: center !important;
}
.tar {
	text-align: right !important;
}

.fb {
	font-weight: bold !important;
}
.red {
	color: #ff0000 !important;
}
.blue {
	color: #0000ff !important;
}
.white {
	color: #ffffff !important;
}
.black {
	color: #000000 !important;
}
.gray {
	background: #f9f9f9 !important;
}
.center {
	text-align: center !important;
}

.w50 {
	width: 50%;
	margin: 0 auto;
}
.w33 {
	width: 33.33%;
	margin: 0 auto;
}
.w25 {
	width: 25%;
	margin: 0 auto;
}
.w1200 {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 5px;
}
.w1000 {
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 5px;
}

.sp {
	display: block !important;
}
.pc {
	display: none !important;
}
.pc_in {
	display: none !important;
}
.pc_inb {
	display: none !important;
}

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

.floatl {
	float: left;
}
.flortr {
	float: right;
}

.tshadow {
	text-shadow: 1px 1px 3px #000;
} /* テキストシャドウ*/

.boshadow {
	/* ボックスシャドウ */
	box-shadow: 1px 1px 5px #ccc;
}

.bishadow {
	/* ボックスシャドウ内側 */
	box-shadow: inset 1px 1px 3px #000;
}

.tra {
	/* アニメーション */
	transition: 1.5s;
}

.tp {
	/* 透明 Transparent */
	filter: alpha(opacity=25);
	-moz-opacity: 0.25;
	opacity: 0.25;
}

.kadomaru4 {
	/* Firefox */ /* Safari,Chrome */
	border-radius: 4px; /* CSS3 */
}
.kadomaru6 {
	/* Firefox */ /* Safari,Chrome */
	border-radius: 6px; /* CSS3 */
}
.unwavy {
	/* Firefoxのみ 波下線 */ /* for Firefox */
	-webkit-text-decoration-style: wavy; /* for Chrome,Safari,Opera */
	-ms-text-decoration-style: wavy; /* for IE */
	text-decoration-style: wavy; /* CSS3 */
	-webkit-text-decoration-color: #ed6d01;
	text-decoration-color: #ed6d01; /*下線色*/
}
.sankaku {
	float: left;
	display: block;
	width: 0;
	height: 0;
	border-top: 3px solid transparent;
	border-right: 6px solid transparent;
	border-bottom: 3px solid transparent;
	border-left: 6px solid #fff;
	margin: 3px 0 0 0;
}
input,
textarea,
select,
input,
textarea,
select {
	border: solid 1px #999;
	box-shadow: 0px 0px 6px rgba(255, 255, 255, 0.7);
}
input:hover,
textarea:hover,
select:hover,
input:focus,
textarea:focus,
select:focus {
	border: solid 1px #999;
	box-shadow: 0px 0px 6px rgba(255, 128, 64, 0.7);
}
#inquiry input[type="text"],
#inquiry input[type="number"],
#inquiry input[type="email"],
#inquiry input[type="tel"] {
	padding: 0;
	margin: 0;
}
input[type="button"],
input[type="submit"] {
	padding: 10px 0 9px;
}

.ime_off {
	ime-mode: disabled;
}
.ime_on {
	ime-mode: active;
}

input[type="checkbox"] {
	border: 2px solid #ccc;
	vertical-align: -8px;
	-webkit-appearance: none;
	position: relative;
	margin: -3px 10px 0 5px;
	-webkit-border-radius: 3px;
	border-radius: 3px;
	-webkit-box-sizing: border-box;
	width: 26px;
	height: 26px;
	/*Other Browser*/
	background: #fff;
}

input[type="checkbox"]:checked {
	/*Other Browser*/
	background: #44ccff;
	border: 2px solid #336600;
}

input[type="checkbox"]:checked:before {
	position: absolute;
	left: 1px;
	top: 16px;
	display: block;
	-webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.5);
	content: "";
	width: 10px;
	height: 4px;
	background: #ffffff;
	-webkit-transform: rotate(45deg);
	-webkit-transform-origin: right center;
}

input[type="checkbox"]:checked:after {
	display: block;
	position: absolute;
	left: 9px;
	top: 16px;
	content: "";
	-webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.5);
	width: 22px;
	height: 4px;
	background: #ffffff;
	-webkit-transform: rotate(-53deg);
	-webkit-transform-origin: left center;
}

.clear {
	clear: both;
}

.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	font-size: 0;
	clear: both;
	visibility: hidden;
}

.clearfix {
	display: block;
}

/*おしらせメイン -----------------------------------------------------*/
body {
	font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}
.waku {
	max-width: 1000px;
	width: 100%;
	padding: 0 20px;
	margin: 0 auto;
	background-color: #262626;
	clear: both;
	box-sizing: border-box;

	.heder {
		display: flex;
		align-items: center;

		@media (max-width: 600px) {
			flex-direction: column;
		}

		.heder_l {
			width: auto;
			float: left;

			@media (max-width: 600px) {
				margin-bottom: 10px;
			}
		}

		.heder_r {
			width: 100%;
			text-align: right;
			display: flex;
			gap: 10px;
			justify-content: end;
			margin-left: 20px;

			@media (max-width: 600px) {
				margin-left: 0;
				justify-content: center;
			}

			a {
				text-decoration: none;

				img {
					width: 220px;

					@media (max-width: 1000px) {
						width: 100%;
					}
				}
			}
		}
	}
}

.waku2 {
	position: relative;
	margin: 0 auto;
	max-width: 1000px;
	width: 100%;
	padding: 30px 0;
	background: #999;
	text-align: center;
	line-height: 1.2em;

	.box {
		width: 94%;
		margin: 0 auto;
		background: #fff;
		color: #000;
		overflow: hidden;

		.inner {
			position: relative;

			h1 {
				background-color: #f00;
				padding: 14px 0 13px 0;
				font-size: 1.4em;
				font-weight: bold;
				margin: 15px 0;
			}

			.comment {
				line-height: 1.4em;
				font-size: 1.1em;
				padding: 1em;

				@media (max-width: 600px) {
					text-align: left;
				}

				em {
					border: solid 4px #f00;
					display: block;
					width: fit-content;
					margin: 0 auto 20px;
					padding: 1em 1.2em;
					font-weight: bold;
					border-radius: 16px;
					font-size: 1.2em;
					line-height: 1.6em;
					text-align: center;

					@media (max-width: 600px) {
						font-size: 1em;
					}

					span {
						background-color: #262626;
						color: #fff;
						display: block;
						margin-bottom: 0.3em;
						padding: 0.2em 0 0.1em;
					}
				}

				strong {
					font-weight: bold;
					font-size: 1.1em;
					margin-top: 0.2em;
					margin-bottom: 0.2em;
					display: inline-block;
					color: #f00;
				}
			}

			h2 {
				position: relative;
				padding: 0;
			}
		}

		.group-box {
			position: relative;
			background-color: #262626;
			width: 90%;
			margin: 40px auto 60px;
			padding: 20px 40px;
			border-radius: 20px;
			box-sizing: border-box;

			@media (max-width: 800px) {
				padding: 20px;
			}

			ul {
				display: flex;
				gap: 20px;

				@media (max-width: 800px) {
					flex-wrap: wrap;
					gap: 10px;
				}

				li {
					width: calc(100% / 6);

					@media (max-width: 800px) {
						width: calc(calc(100% / 3) - 7px);
					}

					img {
						width: 100%;
					}
				}
			}
		}
	}
}

.sys {
	margin-top: 60px;

	@media (max-width: 900px) {
		margin-top: 30px;
	}
}

.sys h2 {
	position: relative;
	margin: 0 auto 30px;
	width: 80%;
	font-size: 140%;
	font-weight: bold;
}
.sys h2:before,
.sys h2:after {
	position: absolute;
	top: calc(50% - 3px);
	width: 22%;
	max-width: 250px;
	height: 6px;
	content: "";
	border-top: solid 1px #999;
	border-bottom: solid 1px #999;
}

.sys h2:before {
	left: 0;
	margin: 0 0 0 auto;
}
.sys h2:after {
	right: 0;
	margin: 0 auto 0 0;
}

.sys .note,
.sys .note2 {
	color: #fff;
	font-size: 1.4em;
	font-weight: bold;
	letter-spacing: 0.1em;
	background-color: #f00;
	width: 80%;
	margin: 0 auto 20px;
	padding: 0.6em;
	line-height: 1.2em;

	@media (max-width: 900px) {
		font-size: 1.2em;
	}
}
.sys .note2 {
	margin-top: -40px;
}

.sys h4 {
	padding: 0.8rem 0 0.6rem;
	border-top: 4px double #999;
	border-bottom: 4px double #999;
	width: 90%;
	margin: 0 auto 14px;
	font-size: 110%;
	text-align: center;
	font-weight: bold;
}

.sys .point {
	min-height: 2.5em;
}

.sys_box1 dd span,
.sys_box2 dt span,
.sys_box2 dd span {
	font-size: 170%;
	font-weight: bold;
	line-height: 1.2;
}
.sys_box1 dd font {
	font-size: 80%;
}

.sys_box1,
.sys_box2,
.sys_box3 {
	border-right: solid 1px #999;
	border-top: solid 1px #999;
	width: 100%;
	margin: 0 auto 50px;

	@media (max-width: 900px) {
		margin: 0 auto 30px;
	}
}

.sys_box1 dt,
.sys_box1 dd,
.sys_box2 dt,
.sys_box2 dd,
.sys_box3 dt,
.sys_box3 dd {
	float: left;
	width: 25%;
	border-left: solid 1px #999;
	border-bottom: solid 1px #999;
	padding: 12px 0 10px;
	text-align: center;
	box-sizing: border-box;
}

.sys_box1 {
	display: flex;
	flex-wrap: wrap;

	dl {
		width: 25%;

		@media (max-width: 900px) {
			width: 50%;
		}
		dt,
		dd {
			float: none;
			width: 100%;
		}
	}
}

.sys_box1 dt {
	min-height: 40px;

	@media (max-width: 900px) {
		width: 50%;
	}
}

.sys_box1 dd {
	min-height: 80px;
	display: flex;
	align-items: center;

	@media (max-width: 900px) {
		width: 50%;

		&.first {
			order: 2;
		}
	}
}

.sys_box1 dd p {
	margin: 0 auto;
}

.sys_box1,
.sys_box2 {
	width: 96%;
}

.sys_box2 dt,
.sys_box2 dd {
	width: 50%;
	min-height: 40px;
}

.sys_box3 {
	width: 96%;
}
.sys_box3 dt,
.sys_box3 dd {
	width: 33.3%;
	max-height: 60px;
}

.box2 {
	width: 100%;
	margin: 0 auto 80px;
}
.box2 div:nth-of-type(1),
.box2 div:nth-of-type(2) {
	float: none;
	width: 100%;
}

.box3 {
	width: 96%;
	margin: 0 auto 20px;
	display: flex;

	@media (max-width: 900px) {
		flex-direction: column;
	}
}

.box3 div:nth-of-type(1),
.box3 div:nth-of-type(2),
.box3 div:nth-of-type(3) {
	float: none;
	width: 100%;
}
