@charset "UTF-8";



body {
	font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
	color: #333333;
	background-color: #F2F8FB;
	padding: 0px;
	margin: 0px;
	word-break: break-all;/* 単語が右端までに納まらない時に、右端に着く前に改行する機能を解除(必ず右端まで行くようになる) */
}

/* リンクされた文字 */
a {
	color: #0000ff;
}

/* 未訪問のリンク */
a:link {
	color: #0000ff;
}

/* 訪問後のリンク */
a:visited {
	color: #934C7B;
}

/* クリック中 */
a:active {
    text-decoration: none;
}

/* 画像のボーダーなし */
img {
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
	vertical-align: top;
}

.both {
	clear: both;
}

.bold {
	font-weight: bold;
}

.color_1 {
	font-weight: bold;
	background-color: #C9E3AE;
}

.red_bold {
	font-weight: bold;
	color: #FF0000;
}



/* ヘッダー */
header {
	background-color: #FFFFFF;
	width: 100%;
	margin-right: auto;
	margin-left: auto;
}

.header_top {
	background-color: #FFFFFF;
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	padding-top: 8px;
	padding-right: 0px;
	padding-bottom: 8px;
	padding-left: 0px;
}

.header_top a:hover {
	opacity: 0.7; /* 0.1〜0.9で指定。0.95など小数点第二位も適用されるらしい。0に近付くほど見えにくくなる。 */
}

.header_top_2 {
	display: table-cell;/* IE8から使用可能 */
	vertical-align: middle;
	height: 34px;/* heightを指定しないと上記の　display: table-cell;　と　vertical-align: middle;　が機能しない */
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 15px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
}

.header_top_2 a {
	color: #505050;
	text-decoration: none;
	display: block;
}

.header_top_2_b {
	display: table-cell; /* IE8から使用可能 */
	vertical-align: middle;
	height: auto;/* heightを指定しないと上記の　display: table-cell;　と　vertical-align: middle;　が機能しない */
	padding-right: 10px;
}

.header_top_2_c {
	font-size: 22px;
	font-weight: bold;
	display: table-cell;/* IE8から使用可能 */
	vertical-align: middle;
	height: auto;/* heightを指定しないと上記の　display: table-cell;　と　vertical-align: middle;　が機能しない */
}

.header_top_2_c a {
	color: #505050;
	text-decoration: none;
}

.header_top_2_c span {
	font-size: 10px;
	font-weight: bold;
	vertical-align: middle;
}

.header_top_3 {
	font-size: 12px;
	color: #000000;
	display: table-cell;/* IE8から使用可能 */
	vertical-align: middle;
	height: auto;/* heightを指定しないと上記の　display: table-cell;　と　vertical-align: middle;　が機能しない */
	padding-top: 0px;
	padding-right: 15px;
	padding-bottom: 0px;
	padding-left: 24px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
}

.header_top_3_b {
	display: table-cell; /* IE8から使用可能 */
	vertical-align: middle;
	height: auto;/* heightを指定しないと上記の　display: table-cell;　と　vertical-align: middle;　が機能しない */
}

.header_image {
	text-align: center;
	width: 100%;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
}

/* メイン */
main {
/* mainにはdisplay: block;を指定しないとwidthやheightが適用されない。 */
}

/* コンテンツ */
article {
	width: 100%;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
}

/* この構文を書く事でコンテンツの最下部のmargin-bottomが正常に効く。書かないとmargin-bottomはcontentsの背景色(白)の余白にならずbodyの背景色の余白になってしまう。 */
article::after {
    content: "";
    display: table;
    clear: both;
}

mark {
	background-color: #FFCC00;
}

samp {
	font-weight: bold;
	text-decoration: underline;
}

kbd {
	font-weight: bold;
}

address {

}

time {
	
}

.headline {
	font-size: 12px;
	color: #006089;
	text-align: center;
	padding-top: 40px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 10px;
	margin-left: 0px;
}

.h2_a {
	font-size: 24px;
	color: #006089;
	text-decoration: underline;
	text-align: center;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
}

/* 新着情報 */
.news {
	width: 760px;
	height: 116px;
	margin-top: 12px;
	margin-right: 20px;
	margin-bottom: 20px;
	margin-left: 20px;
	overflow: auto;
}

.news div {
	padding-bottom: 5px;
	margin-right: 10px;
	margin-bottom: 10px;
	border-bottom-style: dotted;
	border-bottom-width: 1px;
	border-bottom-color: #333333;
}

.news dt {
	font-size: 14px;
	line-height: 1.7;
	font-weight: bold;
	width: 110px;
	float: left;
}

.news dd {
	font-size: 14px;
	line-height: 1.7;
	width: 610px;
	float: left;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 5px;
}

.news dd a {

}

.news span {
	font-weight: bold;
	color: #FF0000;
}

/* Pタグ */
.p_1 {
	font-size: 16px;
	line-height: 1.7;
	margin-top: 14px;
	margin-right: 20px;
	margin-bottom: 14px;
	margin-left: 20px;
}

.p_2 {
	font-size: 16px;
	line-height: 1.7;
	margin-top: 14px;
	margin-right: 20px;
	margin-bottom: 40px;
	margin-left: 20px;
}

.p_center {
	font-size: 16px;
	text-align: center;
}

.image_1 {
	width: 580px;
	text-align: center;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 40px;
	margin-left: auto;
}

/* index.html */
.recommend {
	background-color: #FBFBFB;
	width: 100%;
}

.top_page_box {
	margin-top: 40px;
	margin-right: 0px;
	margin-bottom: 40px;
	margin-left: 0px;
}

.top_page_box_2 {
	width: 66%;
	margin-top: 40px;
	margin-right: auto;
	margin-bottom: 20px;
	margin-left: auto;
}

.top_page_box_2_p {
	font-size: 16px;
	line-height: 1.7;
	width: 64%;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 40px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
}

.flex_container_1 {
	display: flex;
	width: 70%;
	margin-top: 20px;
	margin-right: auto;
	margin-bottom: 20px;
	margin-left: auto;
	justify-content: space-between; /* space-aroundと指定すれば両端にも余白が出来る */
}

.flex_item_1 {
	text-align: center;
	width: 30%;
	border: solid 2px #000000;
}

.flex_item_1_b {
	color: #FFFFFF;
	background-color: #003214;
	padding-top: 10px;
	padding-right: 0px;
	padding-bottom: 10px;
	padding-left: 0px;
}

.flex_item_1_c {
	font-size: 18px;
	font-weight: bold;
	color: #003214;
	text-decoration: underline;
	padding-top: 10px;
	padding-right: 0px;
	padding-bottom: 10px;
	padding-left: 0px;
}

.flex_item_1_d {
	display: flex;
	align-items: center;
	width: 40%;
	height: 34%;
	margin-top: 10px;
	margin-right: auto;
	margin-bottom: 20px;
	margin-left: auto;
}

.flex_item_1 p {
	font-size: 16px;
	line-height: 1.7;
	text-align: left;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: 10px;
	margin-bottom: 15px;
	margin-left: 15px;
}

.flex_item_1 p span {
	font-size: 10px;
	line-height: 1.7;
}

.top_page_box_3 {

}

.flex_container_2 {
	display: flex;
	width: 70%;
	margin-top: 20px;
	margin-right: auto;
	margin-bottom: 20px;
	margin-left: auto;
	justify-content: space-between; /* space-aroundと指定すれば両端にも余白が出来る */
}

.flex_item_2 {
	text-align: center;
	width: 48%;
}

.flex_item_2:hover {
	opacity: 0.7; /* 0.1〜0.9で指定。0.95など小数点第二位も適用されるように見える。 */
}

.flex_item_2_b {
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 5px;
	margin-left: 0px;
}

.flex_item_2_c {
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 5px;
	margin-left: 0px;
	border: solid 2px #000000;
}

.flex_item_2_d {
	font-size: 12px;
	line-height: 1.7;
	text-align: left;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 5px;
}

.inquiry {
	background-color: #FBFBFB;
	width: 100%;
}

.inquiry_p {
	font-size: 16px;
	line-height: 1.7;
	width: 60%;
	margin-top: 20px;
	margin-right: auto;
	margin-bottom: 20px;
	margin-left: auto;
}



.table_two_rows {
	font-size: 16px;
	line-height: 1.7;
	width: 760px;
	margin-top: 10px;
	margin-right: auto;
	margin-bottom: 40px;
	margin-left: auto;
	border: solid 2px #333333;
	border-collapse: collapse;
}

.table_two_rows a {
	text-decoration: none;
}

.table_two_rows th,.table_two_rows td {
	border: dotted 1px gray;
}

.table_two_rows th {
	background-color: #EDEFEF;
	width: 210px;
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 10px;
	padding-left: 10px;
}

.table_two_rows td {
	text-align: left;
	padding: 10px;
}

.list {
	background-color: #FDFDFD;
	width: 710px;
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 10px;/* なぜかpadding-leftを書くとリストが枠から出てしまうので記述しない。padding-left: 0%;としてもダメ。10%にすると表示上はキレイに収まるが横向きにしたら左の余白は10%の影響が出て大きく空いてしまうので、その記述もしない。 */
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 40px;
	margin-left: auto;
	border: dotted 1px #000000;
}

.list a {
	text-decoration: none;
}

.list ol {

}

.list li {
	padding: 10px 10px;
	margin-top: 0px;
	list-style-type: upper-alpha;
}



/* アクセス */
.access_map {
	width: 60%;
	margin-top: 20px;
	margin-right: auto;
	margin-bottom: 20px;
	margin-left: auto;
}

.access_map iframe {
	text-align: center;
	justify-content: center; /* 水平方向に中央揃え */
	aspect-ratio: 1.3333;
}

.access_table {
	font-size: 16px;
	line-height: 1.7;
	width: 60%;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 40px;
	margin-left: auto;
	border: solid 2px #333333;
	border-collapse: collapse;
}

.access_table a {
	text-decoration: none;
}

.access_table th,.access_table td {
	border: dotted 1px gray;
}

.access_table th {
	background-color: #EDEFEF;
	width: 150px;
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 10px;
	padding-left: 10px;
}

.access_table td {
	text-align: left;
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 10px;
	padding-left: 10px;
}



/* お問い合わせ */
.inquiry_icon {
	width: 760px;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	margin-top: 10px;
	margin-right: auto;
	margin-bottom: -10px;
	margin-left: auto;
}

.inquiry_icon_tel {
	font-size: 20px;
	line-height: 1.7;
	font-weight: bold;
	text-decoration: underline;
	background-image: url(../image/tel.png);
	background-repeat: no-repeat;
	background-size: 36px 36px;
	padding-left: 40px;
	overflow: auto;
}

.inquiry_table_tel {
	font-size: 16px;
	line-height: 1.7;
	width: 760px;
	margin-top: 10px;
	margin-right: auto;
	margin-bottom: 40px;
	margin-left: auto;
	border: solid 2px #333333;
	border-collapse: collapse;
}

.inquiry_table_tel a {
	text-decoration: none;
}

.inquiry_table_tel th,.inquiry_table_tel td {
	border: dotted 1px gray;
}

.inquiry_table_tel th {
	background-color: #EDEFEF;
	width: 150px;
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 10px;
	padding-left: 10px;
}

.inquiry_table_tel td {
	text-align: left;
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 10px;
	padding-left: 10px;
}

.inquiry_icon_mail {
	font-size: 20px;
	line-height: 1.7;
	font-weight: bold;
	text-decoration: underline;
	background-image: url(../image/mail.png);
	background-repeat: no-repeat;
	background-size: 36px 36px;
	padding-left: 40px;
	overflow: auto;
}

.inquiry_table_mail {
	font-size: 16px;
	line-height: 1.7;
	width: 60%;
	margin-top: 20px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
	border-top-style: solid;
	border-right-style: solid;
	border-bottom-style: solid;
	border-left-style: solid;
	border-top-width: 2px;
	border-right-width: 2px;
	border-bottom-width: 1px;
	border-left-width: 2px;
	border-top-color: #333333;
	border-right-color: #333333;
	border-bottom-color: #333333;
	border-left-color: #333333;
}

.inquiry_table_mail th {
	background-color: #EDEFEF;
	background-image: url(../image/bg.png);
	color: #000000;
	text-align: left;
	padding-top: 5px;
	padding-right: 0px;
	padding-bottom: 5px;
	padding-left: 10px;
	border-bottom-style: solid;
	border-bottom-width: 1px;
	border-bottom-color: #333333;
}

.inquiry_table_mail td {
	text-align: left;
	word-break : break-all;
	padding-top: 8px;
	padding-bottom: 8px;
	padding-right: 0px;
	padding-left: 10px;
	border-bottom-style: solid;
	border-bottom-width: 1px;
	border-bottom-color: #333333;
}

.inquiry_table_form_mail {
	width: 40%;
	height: 20px;
}

.inquiry_table_form_mail_2 {
	width: 98%;
	height: 200px;
}

.inquiry_table_button_mail {
	font-size: 16px;
	text-align: center;
	padding-top: 20px;
	padding-right: 0px;
	padding-bottom: 30px;
	padding-left: 0px;
}

.inquiry_table_check_mail {
	font-size: 16px;
	line-height: 1.7;
	background-color: #FFFFFF;
	width: 96%;
	margin-top: 10px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
	border: solid 2px #333333;
	border-collapse: collapse;
}

.inquiry_table_check_mail a {
	text-decoration: none;
}

.inquiry_table_check_mail th,.inquiry_table_check_mail td {
	border: dotted 1px gray;
}

.inquiry_table_check_mail th {
	background-color: #EDEFEF;
	width: 150px;
	padding: 10px;
}

.inquiry_table_check_mail td {
	text-align: left;
	padding: 10px;
}

.inquiry_table_error_message_mail {
	font-size: 16px;
	line-height: 1.7;
	color: #FF0000;
	margin-top: 15px;
	margin-right: 20px;
	margin-bottom: 0px;
	margin-left: 20px;
}

.inquiry_button_mail {
	text-align: center;
}

.inquiry_button_mail_2 {
	text-align: center;
	padding-top: 30px;
	padding-right: 0px;
	padding-bottom: 30px;
	padding-left: 0px;
}

.inquiry_button_mail_3 {
	font-size: 16px;
}

.confirmation_screen {
	background-color: #FFFFFF;
	width: 70%;
	margin-top: 40px;
	margin-right: auto;
	margin-bottom: 40px;
	margin-left: auto;
}

.confirmation_screen_p {
	font-size: 16px;
	line-height: 1.7;
	padding-top: 14px;
	padding-right: 20px;
	padding-bottom: 40px;
	padding-left: 20px;
}



/* 会社概要 */
.company_profile_table {
	font-size: 16px;
	line-height: 1.7;
	width: 60%;
	margin-top: 20px;
	margin-right: auto;
	margin-bottom: 40px;
	margin-left: auto;
	border: solid 2px #333333;
	border-collapse: collapse;
	word-break: break-all;
}

.company_profile_table a {
	text-decoration: none;
}

.company_profile_table th,.company_profile_table td {
	border: dotted 1px gray;
}

.company_profile_table th {
	background-color: #EDEFEF;
	width: 150px;
	padding: 10px;
}

.company_profile_table td {
	text-align: left;
	padding: 10px;
}



/* 個人情報保護方針 */
.privacy_policy {
	width: 760px;
	margin-top: 20px;
	margin-right: auto;
	margin-bottom: 40px;
	margin-left: auto;
	border: solid 2px #000000;
}

.privacy_policy_b {
	font-size: 26px;
	line-height: 26px;
	font-weight: bold;
	padding-top: 20px;
	padding-right: 20px;
	padding-bottom: 0px;
	padding-left: 20px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
}

.privacy_policy_c {
	font-size: 26px;
	line-height: 26px;
	font-weight: bold;
	padding-top: 20px;
	padding-right: 20px;
	padding-bottom: 0px;
	padding-left: 20px;
	margin-top: 40px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
}

.privacy_policy_d {
	font-size: 16px;
	line-height: 1.7;
	font-weight: bold;
	padding-top: 0px;
	padding-right: 20px;
	padding-bottom: 0px;
	padding-left: 40px;
}

.privacy_policy_p {
	font-size: 16px;
	line-height: 1.7;
	padding-top: 0px;
	padding-right: 20px;
	padding-bottom: 0px;
	padding-left: 20px;
	margin-top: 10px;
	margin-right: 0px;
	margin-bottom: 20px;
	margin-left: 0px;
}

.privacy_policy_p_2 {
	font-size: 16px;
	line-height: 1.7;
	padding-top: 0px;
	padding-right: 20px;
	padding-bottom: 0px;
	padding-left: 40px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 20px;
	margin-left: 0px;
}



/* リンク集 */
.link_collection_table {
	font-size: 14px;
	line-height: 1.7;
	background-color: #FFFFFF;
	width: 760px;
	margin-top: 20px;
	margin-right: auto;
	margin-bottom: 40px;
	margin-left: auto;
	border: solid 2px #333333;
	border-collapse: collapse;
	word-break : break-all;
}

.link_collection_table a {
	text-decoration: none;
}

.link_collection_table th,.link_collection_table td {
	border: dotted 1px gray;
}

.link_collection_table th {
	background-color: #FBFBFB;
	width: 180px;
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 10px;
	padding-left: 10px;
}

.link_collection_table td {
	text-align: left;
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 10px;
	padding-left: 10px;
}



aside {
	font-size: 22px;
	background-color: #FFFFF0;
	text-align: center;
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 10px;
	padding-left: 10px;
	margin-top: 10px;
	margin-right: 20px;
	margin-left: 20px;
	border: medium solid #333333;
}



/* フッター */
footer {
	font-size: 14px;
	line-height: 1.7;
	background-color: #F5F5F5;
	width: 800px;
	padding-top: 10px;
	padding-bottom: 10px;
	margin-right: auto;
	margin-left: auto;
}

.footer_menu {
	text-align: center;
	padding: 5px 0px;
}

.footer_menu a {
	text-decoration: none;
}

.footer_menu a:hover {
	opacity: 0.7; /* 0.1〜0.9で指定。0.95など小数点第二位も適用されるらしい。0に近付くほど見えにくくなる。 */
}

.copyright {
	text-align: center;
}