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

	body {
		margin: 0;
		line-height: 1.5;
		font-family: "BIZ UDPGothic", "Hiragino Maru Gothic W4 JIS2004", YuGothic, Meiryo, sans-serif;
		font-size: calc(1rem / 16 * 14);
		background-color: #ffffff;
		color: #1c100d;
	}

	button,
	input,
	optgroup,
	select,
	textarea {
		font-size: inherit;
		font-family: inherit;
	}

	:is(button, input[type="submit"]):enabled,
	label:has(:enabled) {
		cursor: pointer;
	}

	:any-link {
		color: #017a6a;
		text-decoration: none;

		&:hover,
		&:focus {
			color: #41755f;
			text-decoration: underline;
		}
	}

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

	dd {
		margin-inline-start: 0;
	}

	:is(.container, .container-fluid) {
		display: flow-root;
		padding-inline-start: 1rem;
		padding-inline-end: 1rem;
	}
	.container {
		margin-inline-start: auto;
		margin-inline-end: auto;
		container-name: page_container;
		container-type: inline-size;
	}
	@media (min-width: 1200px) {
		.container {
			width: 1170px;
		}
	}

	.np {
		padding: 0;
	}
	.mt0 {
		margin-top: 0px;
	}
	.mt10 {
		margin-top: 10px;
	}
	.mt20 {
		margin-top: 20px;
	}
	.mb20 {
		margin-bottom: 20px;
	}
	.mt40 {
		margin-top: 40px;
	}
	.mt60 {
		margin-top: 60px;
	}
	.mt80 {
		margin-top: 80px;
	}
	.pl50 {
		padding-left: 50px !important;
	}
	.pr50 {
		padding-right: 50px !important;
	}
	.bs10 {
		box-shadow: 2px 4px 10px 3px #aaa;
	}

	@media (max-width: 768px) {
		.m40 {
			margin-top: 20px;
			margin-bottom: 20px;
		}
		.mt0,
		.mt20,
		.mt40,
		.mt60,
		.mt80 {
			margin-top: 20px;
		}
		.pl50 {
			padding-left: 15px;
		}
		.pr50 {
			padding-right: 15px;
		}
		.text-center-xs {
			text-align: center;
		}
		.text-left-xs {
			text-align: left;
		}
	}

	@media (min-width: 769px) {
		body {
			border-block-start-style: solid;
			border-block-start-width: 5px;
			border-block-start-color: #014a40;
		}
		.np-sm {
			padding: 0;
		}
	}

	.ls0 {
		letter-spacing: 0;
	}
	.set_right_bottom {
		position: relative;
	}
	.set_right_bottom img {
		position: absolute;
		bottom: 0;
		right: 0;
	}

	.navbar {
		margin: 0;
		border-radius: 0;
	}

	/* =============================================== */
	/** ナビゲーション
/* ----------------------------------------------- */

	.nav-link {
		font-weight: bolder;
	}
	@media (width < 768px) {
		.navbar-nav {
			margin: 0;
		}
		header ul.nav > li {
			text-align: left;
			border-bottom: 1px solid #1a8779;
		}
		.nav-link {
			margin: 0;
			padding-block: 10px 12px;
			padding-inline: 50px 0;
		}
	}

	@media (width >= 768px) {
		.navbar-collapse.collapse {
			display: -webkit-flex; /* Safari */
			display: flex;
		}
		header ul.nav {
			width: 100%;
			display: -webkit-flex; /* Safari */
			display: flex;
			-webkit-flex-direction: row; /* Safari */
			flex-direction: row;
		}
		header ul.nav > li {
			-webkit-flex: 1; /* = 1 1 0 */
			flex: 1;
			display: -webkit-flex; /* Safari */
			display: flex;
			justify-content: center;
			align-items: center;
			border-left: 1px solid #c9e2b7;
			min-height: 50px;
		}
		.nav-link {
			padding-block: 15px;
			line-height: 1.3125;
		}
		header ul.nav > li:last-child {
			border-right: 1px solid #c9e2b7;
		}
	}

	/* =============================================== */
	/** トップページ
/* ----------------------------------------------- */

	/* =============================================== */
	/** サイドメニュー
/* ----------------------------------------------- */

	/* =============================================== */
	/** フッター
/* ----------------------------------------------- */
	.footer {
		color: #fff;
		background-color: #399579;
	}
	footer .nav > li > a {
		padding: 0px 10px !important;
		font-size: 12px;
		text-align: center;
		color: #fff !important;
		line-height: 1em;
	}
	footer .nav > li {
		border-right: #fff 1px solid;
	}
	footer .nav > li:first-child {
		border-left: #fff 1px solid;
	}

	.copyright {
		font-size: 0.75rem;
		line-height: 1;
	}

	/* =============================================== */
	/** サブページスライド
/* ----------------------------------------------- */
	.flexslider {
		border: none;
		border-radius: 0px;
		margin: 0;
	}

	/* =============================================== */
	/** お問い合わせ
/* ----------------------------------------------- */

	/* フォームの幅指定 */
	@media (min-width: 769px) {
		input.w100,
		select.w100 {
			width: 100px !important;
		}
		input.w200,
		select.w200 {
			width: 200px !important;
		}
		input.w300 {
			width: 300px !important;
		}
	}

	.table > thead > tr > td.success,
	.table > thead > tr > th.success,
	.table > thead > tr.success > td,
	.table > thead > tr.success > th,
	.table > tbody > tr > td.success,
	.table > tbody > tr > th.success,
	.table > tbody > tr.success > td,
	.table > tbody > tr.success > th,
	.table > tfoot > tr > td.success,
	.table > tfoot > tr > th.success,
	.table > tfoot > tr.success > td,
	.table > tfoot > tr.success > th {
		background-color: #eee;
	}
	.table-bordered {
		border: 1px solid #ddd;
	}
	.table-bordered > thead > tr > th,
	.table-bordered > thead > tr > td,
	.table-bordered > tbody > tr > th,
	.table-bordered > tbody > tr > td,
	.table-bordered > tfoot > tr > th,
	.table-bordered > tfoot > tr > td {
		border: 1px solid #ddd;
	}

	.btn-success {
		color: #fff;
		background-color: #399579;
		border-color: #399579;
	}

	.btn-success:hover,
	.btn-success:focus,
	.btn-success.focus,
	.btn-success:active,
	.btn-success.active,
	.open > .btn-success.dropdown-toggle {
		color: #fff;
		background-color: #399579;
		border-color: #399579;
	}

	.btn-success:active,
	.btn-success.active,
	.open > .btn-success.dropdown-toggle {
		background-image: none;
	}

	.btn-success.disabled,
	.btn-success.disabled:hover,
	.btn-success.disabled:focus,
	.btn-success.disabled.focus,
	.btn-success.disabled:active,
	.btn-success.disabled.active,
	.btn-success[disabled],
	.btn-success[disabled]:hover,
	.btn-success[disabled]:focus,
	.btn-success[disabled].focus,
	.btn-success[disabled]:active,
	.btn-success[disabled].active,
	fieldset[disabled] .btn-success,
	fieldset[disabled] .btn-success:hover,
	fieldset[disabled] .btn-success:focus,
	fieldset[disabled] .btn-success.focus,
	fieldset[disabled] .btn-success:active,
	fieldset[disabled] .btn-success.active {
		background-color: #399579;
		border-color: #399579;
	}

	.form-control {
		color: #000;
	}

	/************************************
** レスポンシブページネーション
************************************/
	.pagination {
		list-style-type: none;
		padding-left: 0;
		margin: 30px 0;
	}

	.pagination,
	.pagination li a {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
	}

	.pagination a {
		font-weight: 300;
		padding-top: 1px;
		text-decoration: none;
		border: 1px solid #ddd;
		border-left-width: 0;
		min-width: 36px;
		min-height: 36px;
		color: #333;
	}

	.pagination li:not([class*="current"]) a:hover {
		background-color: #eee;
	}

	.pagination li:first-of-type a {
		border-left-width: 1px;
	}

	.pagination li.first span,
	.pagination li.last span,
	.pagination li.previous span,
	.pagination li.next span {
		/* screen readers only */
		position: absolute;
		top: -9999px;
		left: -9999px;
	}

	.pagination li.first a::before,
	.pagination li.last a::after,
	.pagination li.previous a::before,
	.pagination li.next a::after {
		display: inline-block;
		font-family: Fontawesome;
		font-size: inherit;
		text-rendering: auto;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
		transform: translate(0, 0);
	}

	.pagination li.first a::before {
		content: "\f100";
	}
	.pagination li.last a::after {
		content: "\f101";
	}

	.pagination li.previous a::before {
		content: "\f104";
	}
	.pagination li.next a::after {
		content: "\f105";
	}

	.pagination li.current a {
		background-color: #ddd;
		cursor: default;
		pointer-events: none;
	}

	.pagination > li:first-child > a {
		border-bottom-left-radius: 4px;
		border-top-left-radius: 4px;
	}

	.pagination > li:last-child > a {
		border-bottom-right-radius: 4px;
		border-top-right-radius: 4px;
	}

	@media only screen and (max-width: 680px) {
		.pagination li.first,
		.pagination li.last {
			/* screen readers only */
			position: absolute;
			top: -9999px;
			left: -9999px;
		}

		.pagination li.previous a {
			border-left-width: 1px;
		}
	}

	@media only screen and (max-width: 500px) {
		.pagination li {
			/* screen readers only */
			position: absolute;
			top: -9999px;
			left: -9999px;
		}

		.pagination li.current,
		.pagination li.first,
		.pagination li.last,
		.pagination li.previous,
		.pagination li.next {
			position: initial;
			top: initial;
			left: initial;
		}

		.pagination li.previous a {
			border-left-width: 0;
		}
	}

	@media only screen and (max-width: 400px) {
		.pagination li.first,
		.pagination li.last {
			/* screen readers only */
			position: absolute;
			top: -9999px;
			left: -9999px;
		}

		.pagination li.previous a {
			border-left-width: 1px;
		}
	}

	@media only screen and (max-width: 240px) {
		/* For watches? */
		.pagination li {
			width: 50%;
		}

		.pagination li.current {
			order: 2;
			width: 100%;
			border-left-width: 1px;
		}
	}

	.logo_style {
		box-sizing: content-box;
		max-height: 83px;
		max-width: 238px;
		block-size: auto;
		inline-size: 100%;
		aspect-ratio: 238 / 83;
		object-fit: contain;
	}
}
