@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Noto+Serif+JP:wght@400;500;600;700&family=Vollkorn:wght@400;500;600&display=swap');

/*--------------------------------------------
font-family: 'Noto Sans JP', sans-serif;
font-family: 'Noto Serif JP', serif;
font-family: 'Vollkorn', serif;

font-weight: 400; regular
font-weight: 500; medium
font-weight: 600; semibold
font-weight: 700; bold
---------------------------------------------*/

/* Font Awesome
---------------------------------------------
font-family: "Font Awesome 5 Free";
font-family: "Font Awesome 5 Brands";

Solid→ font-weight: 900;
Regular→ font-weight: 400;
Brands→ font-weight: 400;
--------------------------------------------- */
/* 全体構造
---------------------------------------------------- */
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
dialog,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

iframe {
	vertical-align: bottom;
}

.clearfix:after {
	content: " ";
	/* 新しい要素を作る */
	display: block;
	/* ブロックレベル要素に */
	clear: both;
	height: 0;
	visibility: hidden !important;
}

.clearfix {
	zoom: 1;
	overflow: hidden;
}

.clearfix2:after {
	content: "";
	/* 新しい要素を作る */
	display: block;
	/* ブロックレベル要素に */
	clear: both;
	height: 0;
}

.clearfix2 {
	zoom: 1;
}

.clear {
	clear: both !important;
}

img {
	border: 0;
	vertical-align: bottom;
}

* {
	margin: 0px;
	padding: 0px;
}

html {
	overflow-y: scroll;
}

body {
	font-size: 15px;
	line-height: 180%;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif", "メイリオ", "ＭＳ Ｐゴシック";
	color: #333;
}

.img_filter a:hover img {
	opacity: 0.7;
	filter: alpha(opacity=70);
}

a:hover {
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
}

body {
	margin: 0px;
	padding: 0px;
}

/*-------------------------------
	margin
-------------------------------------*/
.mt5 {
	margin-top: 5px;
}

.mt10 {
	margin-top: 10px;
}

.mt20 {
	margin-top: 20px;
}

.mt30 {
	margin-top: 30px;
}

.mt40 {
	margin-top: 40px;
}

.mt50 {
	margin-top: 50px;
}

.mb5 {
	margin-bottom: 5px;
}

.mb10 {
	margin-bottom: 10px;
}

.mb20 {
	margin-bottom: 20px;
}

.mb30 {
	margin-bottom: 30px;
}

.mb40 {
	margin-bottom: 40px;
}

.mb50 {
	margin-bottom: 50px;
}

.mb60 {
	margin-bottom: 60px;
}

.mr6 {
	margin-right: 6px;
}

.ml6 {
	margin-left: 6px;
}

.pt10 {
	padding-top: 10px;
}

.pt20 {
	padding-top: 20px;
}

.pt30 {
	padding-top: 30px;
}

.pt40 {
	padding-top: 40px;
}

.pb10 {
	padding-bottom: 10px;
}

.pb20 {
	padding-bottom: 20px;
}

.pb30 {
	padding-bottom: 30px;
}

.pb40 {
	padding-bottom: 40px;
}

.pb50 {
	padding-bottom: 50px;
}

.tac {
	text-align: center;
}

.tar {
	text-align: right;
}

.shadow {
	box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.19);
}

.red {
	color: #c70c0c;
}

@media only screen and (max-width:767px) {
	.mt40 {
		margin-top: 20px;
	}

	.mt50 {
		margin-top: 20px;
	}

	.mb40 {
		margin-bottom: 20px;
	}

	.mb50 {
		margin-bottom: 20px;
	}

	.mb60 {
		margin-bottom: 30px;
	}
}

/*---------------------------------------------
    common
----------------------------------------------- */
.contents {
	width: 100%;
	margin: 0px auto;
	padding: 20px 0px 50px;
}

.w100 {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.txt14 p {
	font-size: 14px;
	line-height: 180%;
	margin: 0px 0px 10px;
	padding: 0px;
}

.txt15 p {
	font-size: 15px;
	line-height: 200%;
	margin: 0px 0px 10px;
	padding: 0px;
}

.txt16 p {
	font-size: 16px;
	line-height: 200%;
	margin: 0px 0px 10px;
	padding: 0px;
}

.tac14 p {
	font-size: 14px;
	line-height: 180%;
	margin: 0px 0px 10px;
	padding: 0px;
	text-align: center;
}

.tac16 p {
	font-size: 16px;
	line-height: 180%;
	margin: 0px 0px 10px;
	padding: 0px;
	text-align: center;
}

.tac_h h5 {
	font-size: 18px;
	font-weight: bold;
	line-height: 180%;
	margin: 0px;
	padding: 0px;
	text-align: center;
	color: #888;
}

.bread_crumb {
	text-align: right;
	margin: 5px 0px;
	padding: 5px 0px;
	color: #888;
	font-size: 12px;
	letter-spacing: 0.1em;
}

.bread_crumb a {
	color: #888;
	font-weight: bold;
	text-decoration: none;
}

.bread_crumb a:hover {
	text-decoration: underline;
}

.modal-open {
	padding-right: 0px !important;
}

.line_w {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	text-align: center;
	/* for no-flexbox browsers */
}

.line_w:before {
	border-top: 4px double #164c96;
	content: "";
	display: inline;
	/* for IE */
	-webkit-box-flex: 1;
	-webkit-flex-grow: 1;
	-ms-flex: 1;
	flex-grow: 1;
}

.line_w:before {
	margin-right: 1.0em;
}

.line_w:after {
	border-top: 4px double #164c96;
	content: "";
	display: inline;
	/* for IE */
	-webkit-box-flex: 1;
	-webkit-flex-grow: 1;
	-ms-flex: 1;
	flex-grow: 1;
}

.line_w:after {
	margin-left: 1.0em;
}

@media only screen and (max-width:767px) {
	.contents {
		width: 100%;
		margin: 0px auto;
		padding: 20px 0px;
	}

	.bread_crumb {
		font-size: 12px;
		text-align: right;
		margin: 5px 0px;
		letter-spacing: 0.0em;
	}

	.txt15 p {
		font-size: 14px;
		line-height: 180%;
		margin: 0px 0px 10px;
		padding: 0px;
	}

	.txt16 p {
		font-size: 14px;
		line-height: 180%;
		margin: 0px 0px 10px;
		padding: 0px;
	}
}

/*---------------------------------
	pagetop
--------------------------------*/
#pagetop {
	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index: 999;
}

#pagetop img:hover {
	opacity: 0.7;
}

#pagetop img:hover {
	animation: rotates 0.7s linear infinite;
}

@keyframes rotates {
	0% {
		transform: scale(1);
	}

	50% {
		transform: scale(0.9);
	}

	100% {
		transform: scale(1);
	}
}

/*---------------------------------------------
    object-fitの縦横比保持
----------------------------------------------- */
.photo-ofi {
	height: 0;
	display: block;
	padding-bottom: 75%;
	/* 高さを指定（ボックスの横幅を基準） */
	background-color: #eee;
	overflow: hidden;
	position: relative;
	margin-bottom: 0px;
}

.photo-ofi img {
	max-width: inherit;
	max-height: inherit;
	width: 100%;
	height: 100%;
	object-fit: scale-down;
	font-family: 'object-fit: scale-down;';
	position: absolute;
	left: 0;
	top: 0;
}

.photo-ofi2 {
	height: 0;
	display: block;
	padding-bottom: 67%;
	/* 高さを指定（ボックスの横幅を基準） */
	background-color: #eee;
	overflow: hidden;
	position: relative;
	margin-bottom: 0px;
}

.photo-ofi2 img {
	max-width: inherit;
	max-height: inherit;
	width: 100%;
	height: 100%;
	object-fit: scale-down;
	font-family: 'object-fit: scale-down;';
	position: absolute;
	left: 0;
	top: 0;
}

/*----------------------------------------
    header
----------------------------------------*/
header {
	position: fixed;
	height: 90px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	z-index: 200;
	background: rgba(30, 50, 84, 1.00);
}

.logo {
	width: 274px;
	margin-left: 26px;
	position: relative;
	z-index: 500;
}

.header_rh {
	width: 100%;
	margin-right: 0px;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.btn_con {
	display: inline-block;
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	font-size: 17px;
	letter-spacing: 0.05em;
	position: relative;
	color: #fff;
	z-index: 1;
	text-align: center;
}

.btn_con a {
	display: block;
	padding: 30px 0px 30px 30px;
	color: #fff;
	width: 254px;
	height: 90px;
	text-decoration: none;
}

.btn_con::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
	background: #00163a;
	transform: scaley(2.0) perspective(12px) rotatex(5deg);
	transform-origin: bottom right;
}

.btn_con a:hover::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
	background: #FF7E00;
	transform: scaley(2.0) perspective(12px) rotatex(5deg);
	transform-origin: bottom right;
}

.btn_con_on {
	display: inline-block;
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	font-size: 17px;
	letter-spacing: 0.05em;
	position: relative;
	color: #fff;
	z-index: 1;
	text-align: center;
}

.btn_con_on a {
	display: block;
	padding: 30px 0px 30px 30px;
	color: #fff;
	width: 254px;
	height: 90px;
	text-decoration: none;
}

.btn_con_on::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
	background: #FF7E00;
	transform: scaley(2.0) perspective(12px) rotatex(5deg);
	transform-origin: bottom right;
}

.btn_con_on a:hover::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
	background: #FF7E00;
	transform: scaley(2.0) perspective(12px) rotatex(5deg);
	transform-origin: bottom right;
}

@media only screen and (max-width:1200px) {
	.btn_con {
		display: inline-block;
		font-family: 'Noto Serif JP', serif;
		font-weight: 500;
		font-size: 15px;
		letter-spacing: 0.05em;
		position: relative;
		color: #fff;
		z-index: 1;
		text-align: center;
	}

	.btn_con a {
		display: block;
		padding: 30px 0px 30px 30px;
		color: #fff;
		width: 154px;
		height: 90px;
		text-decoration: none;
	}

	.btn_con::before {
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: -1;
		background: #00163a;
		transform: scaley(2.0) perspective(12px) rotatex(5deg);
		transform-origin: bottom right;
	}

	.btn_con a:hover::before {
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: -1;
		background: #FF7E00;
		transform: scaley(2.0) perspective(12px) rotatex(5deg);
		transform-origin: bottom right;
	}

	.btn_con_on {
		display: inline-block;
		font-family: 'Noto Serif JP', serif;
		font-weight: 500;
		font-size: 15px;
		letter-spacing: 0.05em;
		position: relative;
		color: #fff;
		z-index: 1;
		text-align: center;
	}

	.btn_con_on a {
		display: block;
		padding: 30px 0px 30px 30px;
		color: #fff;
		width: 154px;
		height: 90px;
		text-decoration: none;
	}

	.btn_con_on::before {
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: -1;
		background: #FF7E00;
		transform: scaley(2.0) perspective(12px) rotatex(5deg);
		transform-origin: bottom right;
	}

	.btn_con_on a:hover::before {
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: -1;
		background: #FF7E00;
		transform: scaley(2.0) perspective(12px) rotatex(5deg);
		transform-origin: bottom right;
	}
}

@media only screen and (max-width:991px) {
	header {
		position: fixed;
		top: 0;
		left: 0;
		height: 90px;
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		z-index: 200;
	}

	.header_rh {
		width: 100%;
		margin: 0px;
		display: flex;
		align-items: center;
		justify-content: flex-end;
	}

	.btn_con {
		display: none !important;
	}

	.btn_con_on {
		display: none !important;
	}
}

@media only screen and (max-width:414px) {}

/*----------------------------------------
    navi
----------------------------------------*/
.collapse:not(.show) {
	display: block;
}

.navbar {
	position: relative;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	padding: 0px;
}

.navbar-collapse {
	-ms-flex-preferred-size: 100%;
	flex-basis: 100%;
	-ms-flex-positive: 1;
	flex-grow: 1;
	-ms-flex-align: center;
	align-items: center;
}

.navbar-header,
.navbar-collapse {
	margin-right: 0px;
	margin-left: 0px;
	margin-top: 0px;
	margin-bottom: 0px;
	padding: 0px;
	border-top: 0px solid transparent;
}

.navbar-toggler {
	margin-right: 0px;
	margin-top: 10px;
	background: #333;
}

.icon-bar {
	background: #fff;
}

@media only screen and (max-width:991px) {
	.navbar {
		position: relative;
		display: -ms-flexbox;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: flex-end;
		padding: 20px 20px 28px;
	}

	.collapse:not(.show) {
		display: none;
	}

	.navi_box {
		height: 80vh;
		overflow: auto;
	}
}

/*---------------------------------------
    anime toggle
---------------------------------------*/
.navbar-toggler {
	position: relative;
	float: right;
	padding: 0px 0px 0px 8px;
	width: 40px;
	height: 32px;
	background-image: none;
	border: 1px solid transparent;
	border-radius: 4px;
	box-sizing: border-box;
	z-index: 9100;
}

.navbar-toggler .icon-bar {
	background-image: none;
	background-color: #fff;
	width: 22px;
	height: 2px;
	display: block;
	position: absolute;
	transition: ease .25s;
	border-radius: 1px;
}

.navbar-toggler .icon-bar:nth-of-type(1) {
	top: 7px;
}

.navbar-toggler .icon-bar:nth-of-type(2) {
	top: 14px;
}

.navbar-toggler .icon-bar:nth-of-type(3) {
	top: 21px;
}

.navbar-toggler[aria-expanded="true"] .icon-bar:nth-of-type(1) {
	top: 13px;
	transform: rotate(-315deg);
}

.navbar-toggler[aria-expanded="true"] .icon-bar:nth-of-type(2) {
	opacity: 0;
}

.navbar-toggler[aria-expanded="true"] .icon-bar:nth-of-type(3) {
	top: 13px;
	transform: rotate(315deg);
}

.icon-bar {
	background: #fff;
}

.navbar-toggler .icon-bar+.icon-bar {
	margin-top: 0px;
}

nav {
	width: auto;
	margin: 0px;
	padding: 0px;
}

.navi {
	width: auto;
	margin: 0px auto;
	padding: 0px;
	text-align: center;
	list-style: none;
}

.navi li {
	display: inline-block;
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	text-align: center;
	font-size: 16px;
	line-height: 160%;
	letter-spacing: 0.05em;
	margin: 0px 0px 0px 25px;
	padding: 0px;
}

.navi li a {
	color: #fff;
	text-decoration: none;
}

.navi li a:hover {
	color: #fff;
	text-decoration: none;
}

.navi li .n_link_on {
	color: #fff;
}

.n_link {
	position: relative;
	padding: 0px 0px 5px;
	display: inline-table;
	transition: .3s;
	color: #fff;
}

.n_link::after {
	position: absolute;
	bottom: 0px;
	left: 50%;
	content: '';
	width: 0;
	height: 2px;
	background-color: #fff;
	transition: .3s;
	transform: translateX(-50%);
	border-radius: 4px;
}

.n_link:hover::after {
	width: 100%;
}

.n_link_on {
	position: relative;
	padding: 0px 0px 5px;
	display: inline-table;
	transition: .3s;
	color: #fff;
}

.n_link_on::after {
	position: absolute;
	bottom: 0px;
	left: 50%;
	content: '';
	width: 100%;
	height: 2px;
	background-color: #fff;
	transition: .3s;
	transform: translateX(-50%);
	border-radius: 4px;
}

.n_link_on:hover::after {
	width: 100%;
}

.navi_xs {
	display: none !important;
}

@media only screen and (max-width:1340px) {
	.navi {
		width: 100%;
		margin: 0px auto;
		padding: 0px;
		text-align: center;
		list-style: none;
	}

	.navi li {
		text-align: center;
		font-size: 14px;
		line-height: 160%;
		letter-spacing: 0.00em;
		margin: 0px 5px 0px;
		padding: 0px;
	}
}

@media only screen and (max-width:1024px) {
	.navi li {
		text-align: center;
		font-size: 14px;
		line-height: 160%;
		letter-spacing: 0.00em;
		margin: 0px 3px 0px;
		padding: 0px;
	}
}

@media only screen and (max-width:991px) {
	nav {
		width: 100%;
		height: auto;
		margin: 0px auto 0px;
		padding: 0px;
		position: fixed;
		top: 0;
		right: 0;
	}

	.navi {
		width: 100%;
		height: auto;
		margin: 0px auto 0px;
		padding: 0px 0px 20px;
		list-style: none;
		background: rgba(51, 51, 51, 1.00);
		position: relative;
		z-index: 800;
	}

	.navi li {
		float: none;
		width: 100%;
		display: block;
		font-size: 14px;
		font-weight: normal;
		text-align: center;
		line-height: 160%;
		margin: 0px;
		padding: 0px;
		border-top: solid 0px #555;
		border-bottom: solid 0px #111;
	}

	.navi li a {
		display: block;
		padding: 20px 0px;
		text-decoration: none;
		color: #fff;
	}

	.navi li a:hover {
		color: #999999;
		text-decoration: none;
	}

	.n_link {
		position: relative;
		padding: 15px 0px;
		display: inline-table;
		transition: .0s;
		color: #fff;
	}

	.n_link::after {
		position: absolute;
		bottom: -2px;
		left: 50%;
		content: '';
		width: 0;
		height: 0px;
		background-color: #fff;
		transition: .0s;
		transform: translateX(-50%);
		border-radius: 0px;
	}

	.n_link:hover::after {
		width: 100%;
	}

	.n_link_on {
		position: relative;
		padding: 15px 0px;
		display: inline-table;
		transition: .0s;
		color: #999999 !important;
		background: #444;
	}

	.n_link_on::after {
		position: absolute;
		bottom: -2px;
		left: 50%;
		content: '';
		width: 100%;
		height: 0px;
		background-color: #fff;
		transition: .0s;
		transform: translateX(-50%);
		border-radius: 0px;
	}

	.n_link_on:hover::after {
		width: 100%;
	}

	.navi .n_tel {
		width: 100%;
		display: block;
		font-size: 14px;
		font-weight: normal;
		text-align: center;
		line-height: 160%;
		margin: 0px;
		padding: 15px 0px;
		text-decoration: none;
		color: #fff;
		border-top: solid 0px #555;
		border-bottom: solid 0px #111;
	}

	.navi .n_tel a {
		color: #fff;
		text-decoration: none;
	}

	.navi .n_tel a:hover {
		color: #fff;
		text-decoration: none;
	}

	.navi_xs {
		display: block !important;
	}
}

/*-------------------------------------------------
    dropdown-menu
-------------------------------------------------- */
.dropdown:hover>.dropdown-menu {
	display: block;
}

.plus::after {
	content: "\f0d7";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-left: 10px;
	color: #6ab82c;
}

.dropdown-menu {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 1000;
	display: none;
	float: left;
	min-width: 160px;
	padding: 5px 0px 10px;
	margin: 0px;
	font-size: 14px;
	text-align: left;
	list-style: none;
	background-color: #fff;
	-webkit-background-clip: padding-box;
	background-clip: padding-box;
	border: 1px solid #ccc;
	border: 1px solid rgba(0, 0, 0, .15);
	border-radius: 4px;
	-webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
	box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
}

.dropdown-menu>li>a {
	display: block;
	padding: 3px 20px;
	clear: both;
	font-weight: normal;
	line-height: 1.42857143;
	color: #333;
	white-space: nowrap;
}

.dropdown-menu>li>a::before {
	content: "\f0da";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: 6px;
	color: #6ab82c;
}

.dropdown-menu>li>a:hover,
.dropdown-menu>li>a:focus {
	color: #6ab82c;
	text-decoration: none;
	background-color: #fff;
}

.dropdown-menu>.active>a,
.dropdown-menu>.active>a:hover,
.dropdown-menu>.active>a:focus {
	color: #6ab82c;
	text-decoration: none;
	background-color: #fff;
	outline: 0;
}

@media only screen and (max-width:767px) {
	.dropdown:hover>.dropdown-menu {
		display: block;
	}

	.dropdown-menu {
		position: relative;
		top: 100%;
		left: 0;
		z-index: 1000;
		display: none;
		float: none;
		min-width: 100%;
		padding: 5px 0;
		margin: 2px 0 0;
		font-size: 14px;
		list-style: none;
		background-color: #fff;
		-webkit-background-clip: padding-box;
		background-clip: padding-box;
		border: 0px solid #ccc;
		border: 0px solid rgba(0, 0, 0, .15);
		border-radius: 0px;
		-webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.0);
		box-shadow: 0 6px 12px rgba(0, 0, 0, 0.0);
	}

	.dropdown-menu li {
		border-top: solid 0px #555;
		border-bottom: solid 0px #111;
	}

	.dropdown-menu>li>a {
		display: block;
		padding: 10px 0px;
		clear: both;
		font-weight: normal;
		line-height: 1.42857143;
		color: #333;
		white-space: nowrap;
	}

	.dropdown-menu>li>a::before {
		content: "\f0da";
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		margin-right: 6px;
	}

	.dropdown-menu>li>a:hover,
	.dropdown-menu>li>a:focus {
		color: #6ab82c;
		text-decoration: none;
		background-color: #fff;
	}

	.dropdown-menu>.active>a,
	.dropdown-menu>.active>a:hover,
	.dropdown-menu>.active>a:focus {
		color: #6ab82c;
		text-decoration: none;
		background-color: #fff;
		outline: 0;
	}
}

/*----------------------------------
	mainimages slider
----------------------------------*/
.swiper-container {
	position: relative;
	margin: 0px auto;
	padding-top: 90px;
	z-index: 100;
}

.swiper-wrapper {
	margin: 0 auto;
	z-index: 100;
}

.swiper-slide {
	position: relative;
	z-index: 300;
	overflow: hidden;
	object-fit: cover;
	max-height: 880px;
}

.slide-txt01 img {
	position: absolute;
	top: 10%;
	left: 5%;
	z-index: 500;
}

.slide-txt02 img {
	position: absolute;
	top: 20%;
	right: 0;
	z-index: 500;
}

.slide-txt03 img {
	position: absolute;
	bottom: 3%;
	left: 3%;
	z-index: 500;
}

.slide-img img {
	width: 100%;
	overflow: hidden;
	object-fit: cover;
	height: 880px;
	display: block;
}

@media only screen and (max-width:1024px) {
	.swiper-slide {
		position: relative;
		z-index: 300;
		overflow: hidden;
		object-fit: cover;
		max-height: 600px;
	}

	.slide-img img {
		width: 100%;
		overflow: hidden;
		object-fit: cover;
		height: 600px;
		display: block;
	}

	.slide-txt01 img {
		position: absolute;
		top: 10%;
		left: 0;
		right: 0;
		margin: auto;
		padding-right: 30%;
		padding-left: 10%;
		z-index: 500;
	}

	.slide-txt02 img {
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
		padding-right: 5%;
		padding-left: 30%;
		z-index: 500;
	}

	.slide-txt03 img {
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
		padding-right: 30%;
		padding-left: 5%;
		z-index: 500;
	}
}

@media only screen and (max-width:991px) {
	.slide-img img {
		width: 100%;
		overflow: hidden;
		object-fit: cover;
		max-height: 550px;
	}

	.slide-txt01 img {
		position: absolute;
		top: 10%;
		left: 0;
		right: 0;
		margin: auto;
		z-index: 500;
	}

	.slide-txt02 img {
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
		z-index: 500;
	}

	.slide-txt03 img {
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
		z-index: 500;
	}
}

@media only screen and (max-width:768px) {
	.slide-img img {
		width: 100%;
		overflow: hidden;
		object-fit: cover;
		max-height: 550px;
	}
}

@media only screen and (max-width:414px) {
	.slide-img img {
		width: 100%;
		overflow: hidden;
		object-fit: cover;
		max-height: 300px;
	}
}

/*---------------------------------
	scroll
------------------------------------*/
.scroll a {
	display: inline-block;
	position: absolute;
	left: 98%;
	transform: translateX(-98%);
	bottom: 0;
	z-index: 100;
	padding: 10px 10px 100px;
	overflow: hidden;
	color: #fff;
	font-size: 12px;
	font-family: 'Verdana', sans-serif;
	line-height: 1;
	letter-spacing: .2em;
	text-decoration: none;
}

.scroll a::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 1px;
	height: 90px;
	background: #fff;
}

.scroll a::after {
	animation: sdl 2s cubic-bezier(1, 0, 0, 1) infinite;
}

@keyframes sdl {
	0% {
		transform: scale(1, 0);
		transform-origin: 0 0;
	}

	35% {
		transform: scale(1, 1);
		transform-origin: 0 0;
	}

	35.1% {
		transform: scale(1, 1);
		transform-origin: 0 100%;
	}

	70%,
	100% {
		transform: scale(1, 0);
		transform-origin: 0 100%;
	}
}

@media only screen and (max-width:1024px) {
	.scroll a {
		display: none;
	}
}

/*-----------------------------------
	ancher
-------------------------------------*/
#top01,
#blog {
	padding-top: 90px;
	margin-top: -90px;
}

@media only screen and (max-width:767px) {

	#top01,
	#blog {
		padding-top: 90px;
		margin-top: -90px;
	}
}

/*-------------------------------
	Accordion menu
---------------------------------- */
.accordion dt {
	background-image: none;
	cursor: default;
}

.accordion dt.active {
	background-image: none;
}

.accordion dd {
	display: block
}

.accordion2 dt {
	background-image: none;
	cursor: default;
}

.accordion2 dt.active {
	background-image: none;
}

.accordion2 dd {
	display: block
}

.hamburgerMenu {
	display: none;
}

.sc {
	display: none;
}

.accordion dd ul {
	list-style: none;
	margin: 0px auto;
	padding: 0px;
	text-align: center;
}

@media only screen and (max-width:991px) {
	.sc {
		display: inline-block;
	}

	.accordion dt {
		display: inline-block;
		padding: 5px 20px;
		width: 100%;
		font-size: 14px;
		font-weight: bold;
		color: #fff;
		background: #1e3254;
		cursor: pointer;
		border-radius: 0px;
	}

	.accordion dd {
		display: none
	}

	.hamburgerMenu,
	.hamburgerMenu span {
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
	}

	.hamburgerMenu {
		position: relative;
		width: 24px;
		height: 24px;
		float: right;
		display: block;
		background: none;
		border: none;
	}

	.hamburgerMenu:focus {
		outline: none;
	}

	.hamburgerMenu span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 2px;
		background-color: #fff;
		border-radius: 4px;
	}

	.hamburgerMenu span:nth-of-type(1) {
		top: 2px;
	}

	.hamburgerMenu span:nth-of-type(2) {
		top: 11px;
	}

	.hamburgerMenu span:nth-of-type(3) {
		bottom: 2px;
	}

	.active .hamburgerMenu span:nth-of-type(1) {
		-webkit-transform: translateY(9px) rotate(-315deg);
		transform: translateY(9px) rotate(-315deg);
	}

	.active .hamburgerMenu span:nth-of-type(2) {
		opacity: 0;
	}

	.active .hamburgerMenu span:nth-of-type(3) {
		-webkit-transform: translateY(-9px) rotate(315deg);
		transform: translateY(-9px) rotate(315deg);
	}
}

/*--------------------------------
	top01
----------------------------------*/
.top01 {
	width: 100%;
	margin: 0px auto;
	padding: 178px 0px 100px;
	background: url("../images/top01_bg.jpg") no-repeat top center;
	border-bottom: solid 1px #fff;
}

.h2top01 {
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	text-align: left;
	font-size: 48px;
	line-height: 160%;
	letter-spacing: 0.05em;
	color: #1e3254;
}

.h3top01 {
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	text-align: left;
	font-size: 14px;
	line-height: 160%;
	color: #1e3254;
}

.line_01 {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	text-align: center;
	/* for no-flexbox browsers */
}

.line_01:after {
	border-top: 1px solid #1e3254;
	content: "";
	display: inline;
	/* for IE */
	-webkit-box-flex: 1;
	-webkit-flex-grow: 1;
	-ms-flex: 1;
	flex-grow: 1;
}

.line_01:after {
	margin-left: 1.0em;
}

.top01_photo {
	width: 100%;
	margin: 60px auto 0px;
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.top01_photo li {
	margin: 0px;
	padding: 0px;
	border-bottom: solid 1px #fff;
	border-top: solid 1px #fff;
	border-left: solid 1px #fff;
}

.top01_photo li:last-child {
	border-right: solid 1px #fff;
}

@media only screen and (max-width: 1024px) {
	.top01 {
		width: 100%;
		margin: 0px auto;
		padding: 50px 0px 50px;
		background: url("../images/top01_bg.jpg") no-repeat top center / cover;
		border-bottom: solid 1px #fff;
	}

	.h2top01 {
		font-family: 'Noto Serif JP', serif;
		font-weight: 500;
		text-align: left;
		font-size: 40px;
		line-height: 160%;
		letter-spacing: 0.05em;
		color: #1e3254;
	}
}

@media only screen and (max-width: 991px) {}

@media only screen and (max-width: 767px) {
	.top01 {
		width: 100%;
		margin: 0px auto;
		padding: 50px 0px 50px;
		background: url("../images/top01_bg.jpg") no-repeat top center / cover;
		border-bottom: solid 1px #fff;
	}

	.h2top01 {
		font-family: 'Noto Serif JP', serif;
		font-weight: 500;
		text-align: left;
		font-size: 28px;
		line-height: 160%;
		letter-spacing: 0.05em;
		color: #1e3254;
	}
}

/*---------------------------------------------
    top02
-----------------------------------------------*/
.top02 {
	width: 100%;
	margin: 0px auto;
	padding: 100px 0px;
	background: url("../images/top02_bg.jpg") no-repeat center center;
	border-bottom: solid 1px #fff;
}

.top02_box {
	position: relative;
	width: 100%;
	height: auto;
	margin: 0px auto;
	padding: 40px 20px 40px 250px;
	background: url("../images/shasen01.png") no-repeat left top;
}

.txtbox {
	width: 100%;
	max-width: 400px;
	margin: 0px;
	padding: 0px;
}

.h3top {
	font-family: 'Vollkorn', serif;
	font-size: 60px;
	font-weight: 400;
	color: #002b73;
	text-align: center;
}

.h4top {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 17px;
	font-weight: 500;
	text-align: center;
	margin-bottom: 30px;
}

.txt15tac {
	font-size: 15px;
	text-align: center;
	line-height: 180%;
	margin: 0px;
	padding: 0px;
}

.btn_vm {
	width: 205px;
	height: auto;
	margin-top: 20px;
	margin-left: auto;
	margin-right: auto;
}

.btn_vm a {
	width: 205px;
	height: auto;
	font-family: 'Vollkorn', serif;
	font-size: 17px;
	font-weight: 400;
	color: #333;
	padding: 10px 0px;
	display: block;
	text-decoration: none;
	text-align: center;
	background: url("../images/btn_bg.png") no-repeat right bottom;
	background-color: #fff;
	border: solid 1px #333;
}

.btn_vm a:hover {
	text-decoration: none;
	color: #fff;
	background-color: #1e3254;
	border: solid 1px #333;
}

.btn_vm a::before {
	float: left;
	content: "\f0da";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: -10px;
	margin-left: 10px;
}

@media only screen and (max-width:1024px) {
	.top02 {
		width: 100%;
		margin: 0px auto;
		padding: 50px 0px;
		background: url("../images/top02_bg.jpg") no-repeat center center / cover;
		border-bottom: solid 1px #fff;
	}

	.top02_box {
		position: relative;
		width: 100%;
		height: auto;
		margin: 0px auto;
		padding: 40px 20px 40px 150px;
		background: url("../images/shasen01.png") no-repeat left top;
	}

	.txtbox {
		width: 100%;
		max-width: 400px;
		margin: 0px;
		padding: 0px;
	}

	.h3top {
		font-family: 'Vollkorn', serif;
		font-size: 60px;
		font-weight: 400;
		color: #002b73;
		text-align: center;
	}

	.h4top {
		font-family: 'Noto Sans JP', sans-serif;
		font-size: 17px;
		font-weight: 500;
		text-align: center;
		margin-bottom: 30px;
	}

	.txt15tac {
		font-size: 15px;
		text-align: center;
		line-height: 180%;
		margin: 0px;
		padding: 0px;
	}

	.btn_vm {
		width: 205px;
		height: auto;
		margin-top: 20px;
		margin-left: auto;
		margin-right: auto;
	}
}

@media only screen and (max-width:991px) {
	.top02 {
		width: 100%;
		margin: 0px auto;
		padding: 50px 0px;
		background: url("../images/top02_bg.jpg") no-repeat center center / cover;
		border-bottom: solid 1px #fff;
	}

	.top02_box {
		position: relative;
		width: 100%;
		height: auto;
		margin: 0px auto;
		padding: 40px 20px 40px 120px;
		background: url("../images/shasen01.png") no-repeat left top;
	}

	.txtbox {
		width: 100%;
		max-width: 400px;
		margin: 0px;
		padding: 0px;
	}

	.h3top {
		font-family: 'Vollkorn', serif;
		font-size: 40px;
		font-weight: 400;
		color: #002b73;
		text-align: center;
	}

	.h4top {
		font-family: 'Noto Sans JP', sans-serif;
		font-size: 16px;
		font-weight: 500;
		text-align: center;
		margin-bottom: 30px;
	}

	.txt15tac {
		font-size: 14px;
		text-align: center;
		line-height: 180%;
		margin: 0px;
		padding: 0px;
	}
}

@media only screen and (max-width:767px) {
	.top02_box {
		position: relative;
		width: 100%;
		height: auto;
		margin: 0px auto;
		padding: 40px 20px;
		background: rgba(255, 255, 255, 0.80);
		border-left: solid 10px #1e3254;
	}
}

/*---------------------------------------------
	top03 
-----------------------------------------------*/
.top03 {
	width: 100%;
	margin: 0px auto;
	padding: 100px 0px;
	background: url("../images/top03_bg.jpg") no-repeat center center;
}

.top03_box {
	position: relative;
	width: 100%;
	height: auto;
	margin: 0px auto;
	padding: 40px 250px 40px 20px;
	background: url("../images/shasen02.png") no-repeat right top;
}

.txtbox2 {
	width: 100%;
	max-width: 400px;
	margin: 0px 0px 0px auto;
	padding: 0px;
}

@media only screen and (max-width:1024px) {
	.top03 {
		width: 100%;
		margin: 0px auto;
		padding: 50px 0px;
		background: url("../images/top03_bg.jpg") no-repeat center center / cover;
	}

	.top03_box {
		position: relative;
		width: 100%;
		height: auto;
		margin: 0px auto;
		padding: 40px 150px 40px 20px;
		background: url("../images/shasen02.png") no-repeat right top;
	}
}

@media only screen and (max-width:991px) {
	.top03 {
		width: 100%;
		margin: 0px auto;
		padding: 50px 0px;
		background: url("../images/top03_bg.jpg") no-repeat center center / cover;
	}

	.top03_box {
		position: relative;
		width: 100%;
		height: auto;
		margin: 0px auto;
		padding: 40px 180px 40px 20px;
		background: url("../images/shasen02.png") no-repeat right top;
	}
}

@media only screen and (max-width:767px) {
	.top03_box {
		position: relative;
		width: 100%;
		height: auto;
		margin: 0px auto;
		padding: 40px 20px 40px 20px;
		background: rgba(255, 255, 255, 0.80);
		border-right: solid 10px #1e3254;
	}
}

/*---------------------------------------------
	top04
-----------------------------------------------*/
.top04 {
	width: 100%;
	margin: 20px auto 0px;
	padding: 90px 0px;
	background: url("../images/top04_bg.png") no-repeat top center;
	background-color: #f1f1f1;
}

.top04_photo {
	width: 100%;
	margin: 50px auto 30px;
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.top04_photo li {
	margin: 0px;
	padding: 0px;
	border-bottom: solid 1px #fff;
	border-top: solid 1px #fff;
	border-left: solid 1px #fff;
}

.top04_photo li:last-child {
	border-right: solid 1px #fff;
}

@media only screen and (max-width:1024px) {
	.top04 {
		width: 100%;
		margin: 10px auto 0px;
		padding: 30px 0px;
		background: url("../images/top04_bg.png") no-repeat top center / cover;
		background-color: #f1f1f1;
	}

	.top04_photo {
		width: 100%;
		margin: 50px auto 30px;
		list-style: none;
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
}

@media only screen and (max-width:991px) {
	.top04 {
		width: 100%;
		margin: 10px auto 0px;
		padding: 20px 0px;
		background: url("../images/top04_bg.png") no-repeat top center / cover;
		background-color: #f1f1f1;
	}

	.top04_photo {
		width: 100%;
		margin: 10px auto 10px;
		list-style: none;
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
}

@media only screen and (max-width:767px) {}

/*---------------------------------------------
	top05
-----------------------------------------------*/
.top05 {
	width: 100%;
	margin: 0px auto;
	padding: 85px 0px;
	background: url("../images/top04_bg.png") no-repeat top center;
}

.top05_photo {
	width: 100%;
	max-width: 1400px;
	margin: 50px auto 30px;
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.top05_photo li {
	margin: 0px;
	padding: 0px;
	border-bottom: solid 1px #fff;
	border-top: solid 1px #fff;
	border-left: solid 1px #fff;
}

.top05_photo li:last-child {
	border-right: solid 1px #fff;
}

@media only screen and (max-width:1024px) {
	.top05 {
		width: 100%;
		margin: 0px auto;
		padding: 30px 0px;
		background: url("../images/top04_bg.png") no-repeat top center / cover;
	}

	.top05_photo {
		width: 100%;
		max-width: 1400px;
		margin: 50px auto 30px;
		list-style: none;
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
}

@media only screen and (max-width:991px) {
	.top05 {
		width: 100%;
		margin: 0px auto;
		padding: 20px 0px;
		background: url("../images/top04_bg.png") no-repeat top center / cover;
	}

	.top05_photo {
		width: 100%;
		max-width: 1400px;
		margin: 20px auto 10px;
		list-style: none;
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
}

@media only screen and (max-width:768px) {}

/*---------------------------------------------
	top06
-----------------------------------------------*/
.top06 {
	width: 100%;
	margin: 0px auto;
	padding: 90px 0px;
	background: url("../images/top06_bg.jpg") no-repeat center center;
}

.h3top06 {
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	text-align: center;
	font-size: 48px;
	margin: 0px;
	color: #fff;
	letter-spacing: 0.05em;
}

.txt18w {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	font-size: 18px;
	line-height: 180%;
	color: #fff;
}

.fs24w {
	font-weight: 500;
	font-size: 24px;
}

.fs15w {
	font-weight: 400;
	font-size: 14px;
}

.top_douga {
	width: 100%;
	height: auto;
	margin: 20px auto 10px;
	text-align: center;
}

.top_douga {
	position: relative;
	padding-bottom: 56.25%;
	/* これが縦横比 */
	height: 0;
	overflow: hidden;
}

.top_douga iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}

.youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}

.youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

@media only screen and (max-width:1024px) {
	.top06 {
		width: 100%;
		margin: 0px auto;
		padding: 40px 0px;
		background: url("../images/top06_bg.jpg") no-repeat center center / cover;
	}

	.h3top06 {
		font-family: 'Noto Serif JP', serif;
		font-weight: 500;
		text-align: center;
		font-size: 40px;
		margin: 0px;
		color: #fff;
		letter-spacing: 0.05em;
	}

	.txt18w {
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 400;
		font-size: 18px;
		line-height: 180%;
		color: #fff;
	}

	.fs24w {
		font-weight: 500;
		font-size: 24px;
	}

	.fs15w {
		font-weight: 400;
		font-size: 14px;
	}
}

@media only screen and (max-width:991px) {
	.top06 {
		width: 100%;
		margin: 0px auto;
		padding: 40px 0px;
		background: url("../images/top06_bg.jpg") no-repeat center center / cover;
	}

	.h3top06 {
		font-family: 'Noto Serif JP', serif;
		font-weight: 500;
		text-align: center;
		font-size: 30px;
		margin: 0px;
		color: #fff;
		letter-spacing: 0.05em;
	}

	.txt18w {
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 400;
		font-size: 13px;
		line-height: 180%;
		color: #fff;
	}

	.fs24w {
		font-weight: 500;
		font-size: 20px;
	}

	.fs15w {
		font-weight: 400;
		font-size: 14px;
	}

	.top_douga {
		width: 100%;
		height: auto;
		margin: 20px auto 10px;
		text-align: center;
	}
}

/*---------------------------------------------
	top07
-----------------------------------------------*/
.top07 {
	width: 100%;
	margin: 0px auto;
	padding: 90px 0px 60px;
	background: url("../images/top07_bg.jpg") no-repeat top center;
}

.w1180 {
	width: 100%;
	max-width: 1180px;
	margin: 0px auto;
	padding: 30px;
	background: #fff;
}

.blog_img {
	position: relative;
	background: #333;
	z-index: 100;
}

.blog_img img {
	width: 100%;
	height: 100%;
}

.blog_img a:hover img {
	filter: opacity(0.35);
	transition: 0.3s ease-in-out;
}

.blog_img h4 {
	font-family: 'Vollkorn', serif;
	font-weight: 500;
	text-align: left;
	font-size: 18px;
	color: #fff;
	position: absolute;
	bottom: 35px;
	left: 10px;
	z-index: 200;
}

.blog_img h5 {
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	text-align: left;
	font-size: 21px;
	color: #fff;
	position: absolute;
	bottom: 10px;
	left: 10px;
	z-index: 200;
}

.migisita {
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: 200;
}

@media only screen and (max-width:1024px) {
	.top07 {
		width: 100%;
		margin: 0px auto;
		padding: 40px 0px 30px;
		background: url("../images/top07_bg.jpg") no-repeat top center / cover;
	}
}

@media only screen and (max-width:991px) {
	.blog_img h4 {
		font-family: 'Vollkorn', serif;
		font-weight: 500;
		text-align: left;
		font-size: 14px;
		color: #fff;
		position: absolute;
		bottom: 35px;
		left: 10px;
		z-index: 200;
	}

	.blog_img h5 {
		font-family: 'Noto Serif JP', serif;
		font-weight: 500;
		text-align: left;
		font-size: 14px;
		color: #fff;
		position: absolute;
		bottom: 10px;
		left: 10px;
		z-index: 200;
	}
}

@media only screen and (max-width:767px) {
	.blog_img h4 {
		font-family: 'Vollkorn', serif;
		font-weight: 500;
		text-align: left;
		font-size: 16px;
		color: #fff;
		position: absolute;
		bottom: 35px;
		left: 10px;
		z-index: 200;
	}

	.blog_img h5 {
		font-family: 'Noto Serif JP', serif;
		font-weight: 500;
		text-align: left;
		font-size: 18px;
		color: #fff;
		position: absolute;
		bottom: 10px;
		left: 10px;
		z-index: 200;
	}
}

/*---------------------------------------------
    footer
-----------------------------------------------*/
footer {
	width: 100%;
	margin: 0px auto;
	padding: 50px 0px 30px;
	background: #1e3254;
}

footer p {
	font-size: 14px;
	line-height: 160%;
	letter-spacing: 0.00em;
	color: #fff;
}

footer p a {
	color: #fff;
	text-decoration: none;
}

footer p a:hover {
	color: #fff;
	text-decoration: none;
}

.flogo {
	margin: 0px auto 30px;
	padding: 0px;
	text-align: center;
}

.ftel {
	font-size: 24px;
	margin: 5px 0px;
	color: #fff;
}

.ftel a {
	color: #fff;
	text-decoration: none;
}

.ftel a:hover {
	color: #fff;
	text-decoration: none;
}

.f14b {
	font-size: 14px;
	font-weight: bold;
}

.txt12 p {
	font-size: 12px;
	line-height: 180%;
	letter-spacing: 0.00em;
	color: #fff;
}

.fnavi {
	width: 100%;
	margin: 0px auto;
	padding: 20px 0px;
	text-align: left;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
}

.fnavi li {
	display: block;
	width: 100%;
	font-size: 14px;
	line-height: 140%;
	letter-spacing: 0.00em;
	margin: 0px;
	padding: 5px 0px;
}

.fnavi li::before {
	content: "\f101";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: 5px;
	color: #fff;
}

.fnavi li a {
	color: #fff;
	text-decoration: none;
}

.fnavi li a:hover {
	color: #fff;
	text-decoration: underline;
}

.fbanner {
	padding-left: 10%;
}

.copy {
	width: 100%;
	margin: 0px auto;
	padding: 10px 0px;
	font-size: 11px;
	color: #fff;
	line-height: 120%;
	letter-spacing: 0.05em;
	text-align: center;
	background: #333;
}

.copy::before {
	content: "\f1f9";
	font-family: "Font Awesome 5 Free";
	font-weight: 400;
	margin-right: 5px;
}

@media only screen and (max-width:991px) {
	.fnavi li {
		display: inline-block;
		font-size: 14px;
		line-height: 140%;
		letter-spacing: 0.05em;
		margin: 0px;
		padding: 0px 10px;
	}
}

@media only screen and (max-width:767px) {
	footer {
		width: 100%;
		margin: 0px auto;
		padding: 30px 0px;
	}

	.fnavi {
		width: 98%;
		margin: 0px auto;
		padding: 0px;
		text-align: left;
		list-style: none;
	}

	.fnavi li {
		display: block;
		width: 100%;
		font-size: 12px;
		line-height: 140%;
		margin: 0px auto;
		padding: 0px;
	}

	.fnavi li::before {
		display: none;
		content: "\f105";
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		margin-right: 7px;
	}

	.fnavi li a {
		display: block;
		color: #fff;
		text-decoration: none;
		margin: 2px 0px 0px;
		padding: 10px 0px 10px 20px;
		background: rgba(255, 255, 255, 0.00);
		border: solid 1px #fff;
		border-radius: 4px;
		-webkit-border-radius: 4px;
		-moz-border-radius: 4px;
	}

	.fnavi li a:hover {
		color: #fff;
		text-decoration: none;
	}

	.fnavi li a:after {
		float: right;
		font-family: "Font Awesome 5 Free";
		content: "\f0da";
		font-weight: 900;
		color: #fff;
		margin-right: 20px;
	}

	.fbanner {
		margin: 20px auto 0px;
		padding: 0;
		text-align: center;
	}
}

/*---------------------------------
	subimages
---------------------------------*/
.subimages01 {
	width: 100%;
	margin: 0px auto;
	padding: 190px 0px 100px;
	background: url("../images/subimages01.jpg") no-repeat center center / cover;
}

.subimages_in {
	width: 100%;
	max-width: 1140px;
	margin: 0px auto;
	padding: 0px;
}

.h2subtitle {
	font-family: 'Noto Serif JP', serif;
	font-weight: 700;
	font-size: 50px;
	line-height: 160%;
	text-align: center;
	letter-spacing: 0.05em;
	margin: 0px;
	padding: 10px 0px;
	color: #fff;
	position: relative;
	text-shadow: 0px 0px 7px #000;
}

@media only screen and (max-width:1200px) {
	.h2subtitle {
		font-family: 'Noto Serif JP', serif;
		font-weight: 700;
		font-size: 36px;
		line-height: 160%;
		text-align: center;
		letter-spacing: 0.00em;
		margin: 0px;
		padding: 0px 10px 0px 30px;
		color: #fff;
		position: relative;
	}
}

@media only screen and (max-width:991px) {
	.subimages01 {
		width: 100%;
		margin: 0px auto;
		padding: 190px 0px 100px;
		background: url("../images/subimages01.jpg") no-repeat center center / cover;
	}

	.h2subtitle {
		font-family: 'Noto Serif JP', serif;
		font-weight: 700;
		font-size: 36px;
		line-height: 160%;
		text-align: center;
		letter-spacing: 0.00em;
		margin: 0px;
		padding: 0px 10px;
		color: #fff;
		position: relative;
	}
}

@media only screen and (max-width:767px) {
	.subimages01 {
		width: 100%;
		margin: 0px auto;
		padding: 120px 0px 30px;
		background: url("../images/subimages01.jpg") no-repeat center center / cover;
	}

	.subimages_in {
		width: 100%;
		max-width: 1140px;
		margin: 0px auto;
		padding: 0px 0px 10px;
	}

	.h2subtitle {
		font-family: 'Noto Serif JP', serif;
		font-weight: 700;
		font-size: 26px;
		line-height: 160%;
		text-align: center;
		letter-spacing: 0.00em;
		margin: 0px;
		padding: 0px;
		color: #fff;
		position: relative;
	}
}

/*---------------------------------
	paging
--------------------------------*/
div.paging {
	margin: 50px auto 20px;
	text-align: center;
}

div.paging span.current,
div.paging span.paging-text {
	margin: 0px 2px;
	color: #333;
	border: 1px solid #ccc;
	zoom: 1;
	display: inline-block;
	overflow: hidden;
	text-decoration: none;
}

div.paging span.paging-text a {
	padding: 3px 8px;
	color: #333;
	display: block;
}

div.paging span.current {
	background: #1e3254;
	border: 1px solid #ccc;
	color: #fff;
	zoom: 1;
	padding: 3px 8px;
	text-decoration: none;
	display: inline-block;
	cursor: pointer;
}

div.paging span.paging-text a:hover {
	background: #CCC;
	color: #fff;
	text-decoration: none;
	cursor: pointer;
}

/*-----------------------------------
	activity
-------------------------------------*/
.h3act {
	font-size: 30px;
	font-weight: bold;
	line-height: 160%;
	text-align: center;
	letter-spacing: 0.05em;
	margin: 0px 0px 20px;
	padding: 0px;
}

.red_b {
	font-size: 120%;
	color: #DC0003;
}

.txt16tac p {
	text-align: center;
}

.act_ul {
	margin: 10px 0px 10px 20px;
	padding: 0px;
	list-style: none;
}

.act_ul li {
	font-size: 16px;
	line-height: 160%;
	margin: 0px;
	padding: 5px 0px;
}

.act_ul li::before {
	content: "\f0c8";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 80%;
	margin-right: 10px;
	color: #3FA227;
}

.btn_01 {
	width: 280px;
	height: auto;
	margin-top: 20px;
	margin-left: auto;
	margin-right: auto;
}

.btn_01 a {
	width: 280px;
	height: auto;
	font-size: 16px;
	color: #fff;
	padding: 10px 0px;
	display: block;
	text-decoration: none;
	text-align: center;
	background: #1e3254;
	border: solid 1px #1e3254;
}

.btn_01 a:hover {
	text-decoration: none;
	color: #1e3254;
	background: #fff;
}

.btn_01 a::after {
	float: right;
	content: "\f0da";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: 10px;
	margin-left: -10px;
}

@media only screen and (max-width:767px) {
	.h3act {
		font-size: 20px;
		font-weight: bold;
		line-height: 160%;
		text-align: left;
		letter-spacing: 0.05em;
		margin: 0px 0px 20px;
		padding: 0px;
	}

	.txt16tac p {
		text-align: left;
	}

	.act_ul li {
		font-size: 14px;
		line-height: 160%;
		margin: 0px;
		padding: 5px 0px;
	}
}

/*-----------------------------------
	advantage
-------------------------------------*/
.h3adv {
	font-family: 'Noto Serif JP', serif;
	font-weight: 700;
	font-size: 20px;
	color: #DC0003;
	margin: 5px 0px 10px;
}

.h4adv {
	font-weight: bold;
	font-size: 28px;
	margin: 5px 0px 20px;
}

@media only screen and (max-width:767px) {
	.h4adv {
		font-weight: bold;
		font-size: 20px;
		margin: 5px 0px 20px;
	}
}

/*-----------------------------------
	product
-------------------------------------*/
.product_category {
	position: relative;
	font-weight: bold;
	font-size: 16px;
	line-height: 160%;
	color: #1e3254;
	text-align: left;
	background: #f4f4f4;
	margin: 0px auto 10px;
	padding: 10px;
	border: solid 1px #ccc;
}

@media screen and (min-width:768px) {
/* カタログボタン設置 */
	.catalog_button.pc a {
		display: inline-block;
		position: absolute;
		background-color: #cf2a2a;
		color: #fff;
		border: solid 1px #b82424;
		padding: 5px 25px 1px;
		top: 5px;
		right: 10px;
		font-weight: 500;
	}

	.catalog_button.pc ::after {
		content: "\f15c";
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		margin-right: 5px;
		color: #fff;
		padding-left: 5px;
	}



	.catalog_button_wrapper.sp {
		display: none;
	}
}

@media screen and (max-width:767px) {
	/* カタログボタン設置 */
	.catalog_button_wrapper.sp {
		line-height: 160%;
		text-align: left;
		margin: 0px auto 10px;
		border: solid 1px #b82424;
	}
	.catalog_button_wrapper.sp a {
		text-decoration: none;
		display: inline-block;
		font-size: 16px;
		background-color: #cf2a2a;
		color: #fff;
		padding: 10px;
		width: 100%;
	}
	.catalog_button_wrapper.sp a::after {
		content: "\f15c";
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		margin-right: 5px;
		color: #fff;
		padding-left: 5px;
	}

	.catalog_button.pc a {
		display: none;
	}
}

/*
.sidemenu{
	margin-top: 10px;
	padding: 0px;
	list-style: none;
}
*/
.sidemenu {
	margin-top: 10px;
	padding: 0px;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}

.sidemenu li {
	margin-right: 5px;
	font-size: 14px;
	line-height: 160%;
	color: #333;
	text-align: left;
	border-top: solid 1px #ccc;
	border-bottom: solid 1px #ccc;
	border-left: solid 1px #ccc;
	border-right: solid 1px #ccc;
}

/*
.sidemenu li a{
	display: block;
	padding: 10px 0px 10px 10px;
	color: #333;
	text-align: left;
	text-decoration: none;
	background: rgba(255,255,255,1.00);
}
*/
.sidemenu li a {
	display: block;
	padding: 10px 30px;
	color: #333;
	text-align: left;
	text-decoration: none;
	background: rgba(255, 255, 255, 1.00);
}

.sidemenu li a:hover {
	color: #333;
	text-decoration: none;
	background: rgba(234, 242, 255, 1.00);
}

.sidemenu li a:after {
	font-family: "Font Awesome 5 Free";
	content: "\f0da";
	font-weight: 900;
	margin-left: 10px;
}

.sidemenu li a.active,
.sidemenu li a.active:hover,
.sidemenu li a.active:focus {
	background: rgba(234, 242, 255, 1.00);
	text-decoration: none;
}

@media only screen and (max-width:991px) {
	.sidemenu {
		margin-top: 10px;
		padding: 0px;
		list-style: none;
		display: flex;
		flex-direction: column;
		flex-wrap: wrap;
		justify-content: flex-start;
	}

	.sidemenu li {
		margin: 0px;
		font-size: 14px;
		line-height: 160%;
		color: #333;
		text-align: left;
		border-top: solid 0px #ccc;
		border-bottom: solid 1px #ccc;
		border-left: solid 1px #ccc;
		border-right: solid 1px #ccc;
	}

	.sidemenu li a {
		display: block;
		padding: 10px;
		color: #333;
		text-align: left;
		text-decoration: none;
		background: rgba(255, 255, 255, 1.00);
	}

	.sidemenu li a:hover {
		color: #333;
		text-decoration: none;
		background: rgba(234, 242, 255, 1.00);
	}

	.sidemenu li a:after {
		float: right;
		font-family: "Font Awesome 5 Free";
		content: "\f0da";
		font-weight: 900;
		margin-left: 0px;
		margin-right: 5px;
	}
}

.category_title {
	font-size: 16px;
	font-weight: bold;
	text-align: left;
	line-height: 160%;
	margin: 0px 0px 10px;
}

.html1 {
	font-size: 100%;
	line-height: 160%;
	margin: 0px 0px 20px;
}

.item_title {
	font-size: 15px;
	font-weight: normal;
	text-align: center;
	line-height: 160%;
	color: #fff;
	margin: 10px 0px 0px;
	padding: 5px 0px;
	background: #1e3254;
}

.shiyo {
	font-weight: bold;
	margin: 10px 0px;
}

.view_box {
	width: 100%;
	margin: 0px auto;
	padding: 0px;
	background: rgba(51, 51, 51, 1.00);
}

.tbl-date {
	width: 100%;
	margin: 0px auto 10px;
	padding: 0px;
}

.tbl-date tr {
	border-bottom: solid 1px #ddd;
}

.tbl-date th {
	font-size: 12px;
	text-align: left;
	color: #333;
	padding: 5px;
	white-space: nowrap;
	width: 20%;
	border-bottom: solid 0px #ddd;
}

.tbl-date td {
	font-size: 12px;
	text-align: left;
	line-height: 180%;
	color: #333;
	padding: 5px;
	border-bottom: solid 0px #ddd;
}

/*-----------------------------------
	csr iso
-------------------------------------*/
.h3csr {
	font-size: 30px;
	font-weight: bold;
	letter-spacing: 0.05em;
	margin: 0px 0px 20px;
	padding: 0px;
}

.h3csr::before {
	font-family: "Font Awesome 5 Free";
	content: "\f7a5";
	font-weight: 900;
	color: #345692;
	margin-right: 10px;
}

.h4csr {
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 0.05em;
	color: #fff;
	margin: 0px 0px 20px;
	padding: 15px 20px;
	background: url("../images/h4_bg.png") repeat center center;
}

.h5csr {
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 0.05em;
	color: #DC0003;
	margin: 20px 0px;
	padding: 0px;
}

.h5iso {
	font-size: 30px;
	font-weight: bold;
	line-height: 160%;
	text-align: center;
	letter-spacing: 0.05em;
	margin: 50px 0px 20px;
	padding: 0px;
}

.csr_list {
	padding: 0px;
}

.csr_list li {
	list-style: decimal inside;
	font-size: 15px;
	line-height: 180%;
	margin-bottom: 5px;
	margin-left: 5px;
	padding: 5px 0px;
	padding-left: 1em;
	text-indent: -1.25em;
	border-bottom: dashed 1px #ddd;
}

.csr_list li ol li {
	margin-left: 20px;
	font-size: 14px;
	padding-top: 10px;
	padding-bottom: 0px;
	padding-left: 0em;
	text-indent: 0.15em;
	list-style: upper-roman outside;
	border-bottom: dashed 0px #ddd;
}

.iso_img img {
	border: solid 1px #ddd;
	padding: 2px;
}

.tbl-rireki {
	width: 100%;
	margin: 0px auto 20px;
	padding: 0px;
	border-top: solid 1px #ddd;
	border-left: solid 1px #ddd;
}

.tbl-rireki th {
	font-size: 14px;
	text-align: left;
	color: #333;
	padding: 10px;
	vertical-align: middle;
	white-space: nowrap;
	background: #f4f4f4;
	border-bottom: solid 1px #ddd;
	border-right: solid 1px #ddd;
}

.tbl-rireki td {
	font-size: 14px;
	text-align: left;
	line-height: 160%;
	color: #333;
	padding: 10px 10px 10px 20px;
	border-bottom: solid 1px #ddd;
	border-right: solid 1px #ddd;
}

@media only screen and (max-width:767px) {
	.h5iso {
		font-size: 24px;
		font-weight: bold;
		line-height: 160%;
		text-align: left;
		letter-spacing: 0.05em;
		margin: 20px 0px 20px;
		padding: 0px;
	}
}

/*-----------------------------------
	company
-------------------------------------*/
.greething {
	width: 100%;
	margin: 0px auto;
	padding: 40px 0px 20px;
	background: url("../images/greething_bg.jpg") no-repeat center center;
	background-color: #f2f2f2;
}

.h3gree {
	font-size: 30px;
	font-weight: bold;
	letter-spacing: 0.05em;
	text-align: center;
	margin: 0px 0px 10px;
}

.h4gree {
	font-family: 'Noto Serif JP', serif;
	font-weight: 700;
	font-size: 42px;
	letter-spacing: 0.05em;
	text-align: center;
	color: #DC0003;
	margin: 0px 0px 40px;
}



.line_02 {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	text-align: center;
	/* for no-flexbox browsers */
}

.line_02:after {
	border-top: 4px double #1691e7;
	content: "";
	display: inline;
	/* for IE */
	-webkit-box-flex: 1;
	-webkit-flex-grow: 1;
	-ms-flex: 1;
	flex-grow: 1;
}

.line_02:after {
	margin-left: 1.0em;
}

.h3midashi {
	font-size: 24px;
	font-weight: bold;
	line-height: 160%;
	text-align: left;
	margin: 0px 0px 20px;
}

.h4midashi {
	font-size: 20px;
	line-height: 160%;
	text-align: left;
	margin-bottom: 20px;
}

.tbl-com {
	width: 100%;
	margin: 30px auto 20px;
	padding: 0px;
}

.tbl-com th {
	font-size: 14px;
	text-align: left;
	color: #333;
	padding: 10px;
	vertical-align: middle;
	white-space: nowrap;
	width: 20%;
	border-bottom: solid 1px #1e3254;
}

.tbl-com td {
	font-size: 14px;
	text-align: left;
	line-height: 180%;
	color: #333;
	padding: 10px 10px 10px 20px;
	border-bottom: solid 1px #ddd;
}

.td_ol {
	margin: 0px 0px 0px 20px;
	padding: 0px;
	list-style: decimal;
	font-size: 14px;
}

.td_ul {
	margin: 0px 0px 0px 20px;
	padding: 0px;
	list-style: disc;
	font-size: 14px;
}

.td_lf {
	float: left;
	margin: 0px;
	width: 48%;
}

.tbl-com a {
	color: #333;
	text-decoration: none;
}

.tbl-com a:hover {
	color: #333;
	text-decoration: none;
}

.t_lf {
	float: left;
	width: 40%;
}

.tbl-acc {
	width: 100%;
	margin: 0px auto 20px;
	padding: 0px;
}

.tbl-acc tr {
	border-bottom: solid 1px #ccc;
}

.tbl-acc th {
	font-size: 14px;
	text-align: left;
	color: #333;
	padding: 10px;
	vertical-align: middle;
	white-space: nowrap;
	width: 20%;
}

.tbl-acc td {
	font-size: 14px;
	text-align: left;
	line-height: 180%;
	color: #333;
	padding: 10px 10px 10px 20px;
}

.tbl-acc a {
	color: #333;
	text-decoration: none;
}

.tbl-acc a:hover {
	color: #333;
	text-decoration: none;
}

@media only screen and (max-width:767px) {

	.tbl-com tr,
	.tbl-com th,
	.tbl-com td {
		display: block;
	}

	.tbl-com th {
		font-size: 14px;
		text-align: left;
		padding: 10px;
		vertical-align: middle;
		white-space: nowrap;
		width: 100%;
		border-bottom: solid 0px #1e3254;
	}

	.tbl-com td {
		font-size: 14px;
		text-align: left;
		line-height: 160%;
		padding: 10px;
		border-bottom: solid 1px #1e3254;
	}

	.tbl-his tr,
	.tbl-his th,
	.tbl-his td {
		display: block;
	}

	.tbl-his th {
		font-size: 14px;
		text-align: left;
		padding: 10px;
		vertical-align: middle;
		white-space: nowrap;
		width: 100%;
	}

	.tbl-his td {
		font-size: 14px;
		text-align: left;
		line-height: 160%;
		padding: 10px;
	}

	.h3midashi {
		font-size: 16px;
		font-weight: bold;
		line-height: 160%;
		text-align: left;
		margin: 0px 0px 20px;
	}

	.h3gree {
		font-size: 24px;
		font-weight: bold;
		letter-spacing: 0.05em;
		text-align: center;
		margin: 0px 0px 10px;
	}

	.h4gree {
		font-family: 'Noto Serif JP', serif;
		font-weight: 700;
		font-size: 30px;
		letter-spacing: 0.00em;
		text-align: center;
		color: #DC0003;
		margin: 0px 0px 40px;
	}
}

.gmap {
	position: relative;
	padding-bottom: 55%;
	/* これが縦横比 */
	height: 0;
	overflow: hidden;
}

.gmap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}

.btn_gm {
	width: 280px;
	height: auto;
	margin-top: 10px;
	margin-left: auto;
	margin-right: 0px;
}

.btn_gm a {
	width: 280px;
	height: auto;
	font-size: 15px;
	color: #fff;
	padding: 5px 10px;
	display: block;
	text-decoration: none;
	text-align: center;
	background: #1e3254;
	border: solid 1px #1e3254;
}

.btn_gm a:hover {
	text-decoration: none;
	color: #1e3254;
	background: #fff;
}

.btn_gm a::after {
	float: right;
	content: "\f0da";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: 10px;
	margin-left: -10px;
}

/*-----------------------------------
	history
-------------------------------------*/

.history_box {
	position: relative;
	margin: 16px 0px 40px;
	padding: 20px;
	border: solid 3px #a9bccb;
	box-shadow: 5px 5px 0px #eee;
}

.history_box .box-title {
	position: absolute;
	display: inline-block;
	top: -25px;
	left: -10px;
	padding: 5px 10px;
	height: auto;
	line-height: 25px;
	font-family: 'Noto Serif JP', serif;
	font-size: 28px;
	font-weight: 600;
	background: #0961a9;
	color: #ffffff;
	border-radius: 5px 5px 0 0;
}

.sml_h {
	font-size: 60%;
	font-weight: 400;
}

.history_box p {
	margin: 0;
	padding: 0;
}

.tbl-his {
	width: 100%;
	margin: 0px auto 20px;
	padding: 0px;
}

.tbl-his tr {
	border-bottom: dashed 1px #ccc;
}

.tbl-his th {
	font-size: 14px;
	text-align: left;
	color: #333;
	padding: 10px;
	vertical-align: middle;
	white-space: nowrap;
	width: 20%;
}

.tbl-his td {
	font-size: 14px;
	text-align: left;
	line-height: 180%;
	color: #333;
	padding: 10px 10px 10px 20px;
}

@media only screen and (max-width:767px) {

	.tbl-his tr,
	.tbl-his th,
	.tbl-his td {
		display: block;
	}

	.tbl-his th {
		font-size: 14px;
		text-align: left;
		padding: 10px;
		vertical-align: middle;
		white-space: nowrap;
		width: 100%;
	}

	.tbl-his td {
		font-size: 14px;
		text-align: left;
		line-height: 160%;
		padding: 10px;
	}
}

/*-----------------------------------
	contact
-------------------------------------*/
.c_tel {
	width: 100%;
	margin: 30px auto 10px;
	padding: 10px 0px;
	background: #fff;
	border: solid 2px #1e3254;
	border-radius: 6px;
}

.h_tel {
	font-size: 30px;
	font-weight: bold;
	line-height: 160%;
	color: #1e3254;
	margin: 0px 0px 0px;
	text-align: center;
}

.h_tel::before {
	font-family: "Font Awesome 5 Free";
	content: '\f095';
	margin-right: 6px;
	font-weight: 900;
}

.h_tel a {
	text-decoration: none;
	color: #1e3254;
}

.h_tel a:hover {
	text-decoration: none;
	color: #1e3254;
}

.h_fax {
	font-size: 30px;
	font-weight: bold;
	line-height: 160%;
	color: #1e3254;
	margin: 0px 0px 0px;
	text-align: center;
}

.h_fax::before {
	font-family: "Font Awesome 5 Free";
	content: '\f1ac';
	margin-right: 6px;
	font-weight: 900;
}

.tbl-con {
	width: 100%;
	margin: 20px auto;
	border-top: solid 2px #ffffff;
	border-left: solid 2px #ffffff;
}

.tbl-con th {
	font-size: 14px;
	font-weight: bold;
	line-height: 150%;
	color: #333;
	text-align: left;
	vertical-align: middle;
	width: 23%;
	margin: 0px;
	padding: 10px 5px 10px 20px;
	background-color: #dddddd;
	white-space: nowrap;
	border-bottom: solid 2px #ffffff;
	border-right: solid 2px #ffffff;
}

.tbl-con td {
	font-size: 14px;
	font-weight: normal;
	line-height: 150%;
	color: #333;
	text-align: left;
	vertical-align: middle;
	margin: 0px;
	padding: 10px 20px 10px 20px;
	background-color: #f9f9f9;
	border-bottom: solid 2px #ffffff;
	border-right: solid 2px #ffffff;
}

@media only screen and (max-width:991px) {
	.tbl-con th {
		font-size: 14px;
		font-weight: bold;
		line-height: 150%;
		color: #333;
		text-align: left;
		vertical-align: middle;
		width: 35%;
		margin: 0px;
		padding: 10px 5px 10px 20px;
		background-color: #dddddd;
		white-space: nowrap;
		border-bottom: solid 2px #ffffff;
		border-right: solid 2px #ffffff;
	}
}

@media only screen and (max-width: 834px) {

	.tbl-con tr,
	.tbl-con th,
	.tbl-con td {
		display: block;
	}

	.tbl-con th {
		font-size: 14px;
		font-weight: bold;
		line-height: 150%;
		color: #333;
		text-align: left;
		width: 100%;
		margin: 0px;
		padding: 10px 5px 10px 20px;
		background-color: #dddddd;
		white-space: nowrap;
		border-bottom: solid 2px #ffffff;
		border-right: solid 2px #ffffff;
	}
}

@media only screen and (max-width:767px) {
	.h3midashi2 {
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 500;
		font-size: 20px;
		line-height: 160%;
		text-align: center;
		margin-bottom: 20px;
	}

	.c_tel {
		width: 100%;
		margin: 10px auto;
		padding: 10px 0px;
		background: #fff;
		border: solid 2px #1e3254;
		border-radius: 6px;
	}

	.h_tel {
		font-size: 26px;
		font-weight: bold;
		line-height: 160%;
		color: #1e3254;
		margin: 0px 0px 0px;
		text-align: center;
	}

	.h_fax {
		font-size: 26px;
		font-weight: bold;
		line-height: 160%;
		color: #1e3254;
		margin: 0px 0px 0px;
		text-align: center;
	}
}

.kome {
	background-image: url(../images/kome.png);
	background-repeat: no-repeat;
	background-position: center right;
}

.kome2 {
	background-image: url(../images/kome2.png);
	background-repeat: no-repeat;
	background-position: center right;
}

/*-------------------------------------
	 privacy
----------------------------------------*/
.pp_midashi {
	font-size: 16px;
	font-weight: bold;
	line-height: 140%;
	text-align: left;
	margin: 10px 0px;
	padding: 0px 0px 7px;
	color: #333;
}

.h4pp {
	font-size: 16px;
	line-height: 140%;
	color: #666;
	font-weight: bold;
	text-align: left;
	padding: 0px 5px 0px 10px;
	margin: 10px 5px;
	border-left: solid 7px #1e3254;
}

.p_box {
	margin: 10px auto 20px;
	overflow: auto;
	height: 300px;
	width: 100%;
	border: 1px solid #ccc;
	background-color: #f9f9f9;
}

.std {
	width: 96%;
	margin: 10px auto 50px;
}

.std p {
	line-height: 180%;
	font-size: 14px;
	margin: 0px;
	padding: 0px;
	color: #252525;
}

.std p a {
	color: #252525;
	text-decoration: none;
}

.std p a:hover {
	color: #252525;
	text-decoration: none;
}

.std_ol {
	padding: 0px;
	margin: 20px 0px 10px 25px;
}

.std_ul {
	padding: 0px;
	margin: 20px 0px 10px 25px;
}

.std_ol li {
	font-size: 14px;
	line-height: 180%;
	color: #252525;
	text-align: left;
	margin: 0px;
	padding: 0px;
	list-style: decimal;
}

.std_ul li {

	font-size: 14px;
	line-height: 180%;
	color: #252525;
	text-align: left;
	margin: 0px;
	padding: 0px;
	list-style: disc;
}

/*------------------------------------
	form
--------------------------------------*/
input[type="submit"] {
	font-size: 14px;
	font-weight: normal;
	padding: 10px 10px;
	color: #fff;
	background: #1e3254;
	border: solid 1px #1e3254;
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
}

input[type="button"] {
	font-size: 14px;
	font-weight: normal;
	padding: 10px 10px;
	color: #fff;
	background: #1e3254;
	border: solid 1px #1e3254;
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
}

input:hover[type="submit"] {
	color: #1e3254;
	background: #fff;
	border: solid 1px #1e3254;
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
}

input:hover[type="button"] {
	color: #1e3254;
	background: #fff;
	border: solid 1px #1e3254;
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
}

input,
select {
	vertical-align: middle;
	font-family: "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "ＭＳ Ｐゴシック", Meiryo, sans-serif;
}

.form-s {
	width: 70px;
}

.form-m {
	width: 150px;
}

.form-l {
	width: 300px;
}

.form100 {
	width: 99%;
}

.form-h {
	height: 80px;
}

input[type="checkbox"],
input[type="radio"] {
	/*transform: scale(1.2);*/
}

input[type="text"],
select {
	border: 1px solid #ccc;
}

input:focus[type="text"] {
	border: 1px solid #06c;
}

input,
select {
	padding: 10px 5px;
}

input[type="text"] {
	padding: 10px 5px;
}

input::-webkit-input-placeholder {
	line-height: 140%;
	padding-left: 5px;
}

textarea {
	width: 99%;
	padding: 10px;
}

label {
	color: #333;
	font-weight: normal;
}

.txt_label {
	color: #333;
	text-align: center;
	margin: 20px 0px 0px;
	font-size: 15px;
}

.needinput {
	background-color: #fee;
	border: 1px solid #ccc
}

.form70 {
	width: 70%;
}

.form80 {
	width: 80%;
}

.form60 {
	width: 60%;
}

.form40 {
	width: 40%;
}

.form_btn {
	text-align: center;
	margin-top: 20px;
}

.print {
	display: none;
	width: 100%;
	margin: 0px auto;
	overflow: hidden;
}

/* ----------------------------------
 	print
------------------------------------ */
@media print {
	.scroll a {
		display: none !important;
	}

	#navibar {
		display: none !important;
	}

	#pagetop {
		display: none !important;
	}

	header {
		position: absolute;
		width: 1140px;
	}

	.navi li {
		display: inline-block;
		font-family: 'Noto Serif JP', serif;
		font-weight: 500;
		text-align: center;
		font-size: 14px;
		line-height: 160%;
		letter-spacing: 0.00em;
		margin: 0px 0px 0px 10px;
		padding: 0px;
	}

	.swiper-container {
		width: 1140px;
		position: relative;
		margin: 0px auto 0px;
		z-index: 100;
	}

	.swiper-slide {
		width: 100%;
		position: relative;
		z-index: 300;
		overflow: hidden;
		object-fit: cover;
		height: 100%;
		max-height: 700px;
	}

	.slide-img img {
		width: 100%;
		overflow: hidden;
		object-fit: cover;
		height: auto;
		display: block;
	}

	.slide-txt01 img {
		position: absolute;
		top: 10%;
		left: 0;
		right: 0;
		z-index: 500;
	}

	.slide-txt02 img {
		position: absolute;
		top: 20%;
		left: 10%;
		z-index: 500;
	}

	.slide-txt03 img {
		position: absolute;
		bottom: 3%;
		left: 0;
		right: 0;
		z-index: 500;
	}
}

@page {
	size: A4 portrait;
	margin: 5mm;
	padding: 0mm;
}