@charset "utf-8";
/* reset css
---------------------- */

@font-face {
	font-family: 'Arial Black';
	font-style: normal;
	font-weight: 400;
	src: local('Arial Black'), url('ariblk_0.ttf') format('ttf');
}
html {
	min-height: 100%;
	overflow-y: scroll;
	background: #fff;
}
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, form, fieldset, input, textarea, p, th, td {
	padding: 0;
	margin: 0;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
	padding: 0;
	margin: 0;
}
address, caption, em, strong, th {
	font-style: normal;
}
caption, th {
	text-align: left;
}
hr, legend {
	display: none;
}
h1, h2, h3, h4, h5, h6 {
	font-size: 100%;
}
ol, ul {
	list-style: none;
}
#contents table, #contents ol, #contents ul, #contents dl, #contents blockquote, #contents pre {
	margin-bottom: 0px;
}
#contents table {
	border-collapse: collapse;
	border-spacing: 0;
}
#contents p {
	margin-bottom: 12px;
}
a img, fieldset {
	border: none;
}
body {
	color: #111;
	font-size: 90%;
	font-family: "Arial", "メイリオ", "Meiryo", verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
	-webkit-text-size-adjust: none;
	letter-spacing: 1.5px;
	line-height: 1.8;
	height: 100%;
	min-width: 1040px;
	background: #fff;
}
a:visited {
	text-decoration: none;
}

/* LAYOUT
---------------------- */
#page {
	margin: 0 auto;
	width: auto;
}

/* header */
#header {
	border-top: 10px solid #1ea5d2;
	min-width: 1020px;
}
#header .header {
	margin: 0 auto;
	padding: 20px 0;
	width: 1020px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#sp_navi {
	display:none;
}

/* navigation */
#gnavi {
	min-width: 1040px;
}
#gnavi > ul {
	margin: 0 auto 15px;
	width: 1020px;
}
#gnavi ul:after {
	content: "";
	display: table;
	clear: both;
}
#gnavi > ul > li {
	width: 16.66%;
	float: left;
}
#gnavi > ul > li > a {
	color: #000;
	font-size: 0.9rem;
	text-align: center;
	text-decoration: none;
	letter-spacing: 2px;
	line-height: 1.5;
	box-sizing: border-box;
	padding: 10px 0;
	background: #fff;
	position: relative;
	display: block;
}
#gnavi > ul > li > a:after {
	border-right: 1px dotted #e2e2e2;
	box-sizing: border-box;
	height: 100%;
	width: 100%;
	display: inline-block;
	content: "　";
	position: absolute;
	right: 0px;
	top:50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}
#gnavi > ul > li:nth-child(1) > a:after {
	border-left: 1px solid #e2e2e2;
	box-sizing: border-box;
}
#gnavi > ul > li > a:hover:before {
	color: #1ea5d2;
	border-right: 1px solid #1ea5d2;
	border-left: 1px solid #1ea5d2;
	height: 7px;
	width: 100%;
	background: url(img/gnavi-point.png) no-repeat center;
	content: "";
	position: absolute;
	left: -1px;
	bottom: 0px;
	z-index: 100;
}
#gnavi > ul > li.navi_slide {
	cursor: pointer;
	position: relative;
}
#gnavi > ul > li.navi_slide:hover ul {
	display:block;
}
#gnavi > ul > li.navi_slide > a {
	cursor: default;
}
#gnavi > ul > li.navi_slide ul {
	border-bottom: 3px solid #1ea5d2;
	border-radius: 0 0 4px 4px;
	box-sizing: border-box;
	padding: 0 7px;
	height: inherit;
	width: 100%;
	display: none;
	position: absolute;
	overflow: hidden;
	z-index: 5000;
	background: rgba(255, 255, 255, 0.95);
	left:50%;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
}
#gnavi > ul > li.navi_slide > ul li {
	color: #595757;
	text-align: center;
	border-bottom: 1px solid #cccccc;
	margin: 0;
	width: 100%;
	float: none;
}
#gnavi > ul > li.navi_slide > ul li:last-child {
	border: 0px;
}
#gnavi > ul > li.navi_slide > ul li a {
	color: #444;
	font-size: 0.8rem;
	text-align: left;
	text-decoration: none;
	text-shadow: inherit;
	letter-spacing: 1px;
	box-shadow: none;
	margin: 0 auto;
	padding: 12px 5px;
	background: none;
	display: block;
	position: inherit;
}
#gnavi > ul > li.navi_slide > ul li a:after, #gnavi > ul > li.navi_slide > ul li a:before {
	border: 0px;
	content: " ";
}
#gnavi li.navi_slide > ul li a:hover {
	color: #1ea5d2;
	box-shadow: inherit;
}
#gnavi li.navi_slide > ul li a:hover:before {
	box-shadow: inherit;
	background: none;
}
#gnavi + #visual {
	border-bottom: 0px;
}
#contents {
	background: #fff;
}

/* contents */
#visual {
	height: 372px;
	background: #3ec7f4;
	position: relative;
	overflow: hidden;
}
#visual .visual {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
}
#visual .visual img {
	display: block;
}
.section {
	padding: 50px 0 40px;
}
#contents .section:last-child {
	padding-bottom: 100px;
}
#contents .section > .section_title {
	font-size: 1.1rem;
	line-height: 1.3;
	border-bottom: 3px solid #ccbc9b;
	margin: 0 auto 30px;
	padding: 10px 20px;
	width: 1020px;
	display: flex;
	align-items: center;
	position: relative;
}
#contents .section > .section_title:after {
	border-bottom: solid 3px #1ea5d4;
	width: 20%;
	display: block;
	content: "";
	position: absolute;
	bottom: -3px;
	left: 0;
}
#contents .section > .section_title span:not([class]) {
	color: #fff;
	font-size: 0.75rem;
	font-weight: normal;
	margin: 0 0 0 15px;
	padding: 7px 10px 6px;
	background: #1869a6;
}

#contents .section > .section_title span.address {
	font-size: 0.8rem;
	font-weight: normal;
	position: absolute;
	right: 20px;
	margin-bottom: -10px;
}
}

#contents .section > .section_title .section_span {
	display: flex;
}
#contents .section > .section_title .section_span li {
	color: #fff;
	font-size: 0.75rem;
	font-weight: normal;
	margin: 0 0 0 15px;
	padding: 7px 10px 6px;
	background: #1869a6;
}
.section .section_inner {
	margin: 0 auto;
	padding: 0 0 20px;
	width: 1020px;
}
.child_content_section {
	padding: 60px 0 20px;
}
.child_content_section:first-of-type {
	padding-top: 30px;
}
#contents .child_content_section > .section_title {
	color: #1ea5d2;
	font-size: 1.3rem;
	font-weight: normal;
	line-height: 1;
	margin: 0 0 20px;
	padding: 10px 20px 8px 50px;
	position: relative;
	overflow: hidden;
}
#contents .child_content_section > .section_title:before {
	border: 4px solid #1ea5d2;
	height: 0;
	width: 20px;
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}
#contents .child_content_section > .section_title:after {
	border: 4px solid #1ea5d2;
	margin-left: 20px;
	height: 0;
	width: 100%;
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}
.child_content_section > .section_inner {
	box-sizing:border-box;
	padding: 0 10px 15px;
}

/* .in_content */
.in_content {
	margin: 0 0 20px;
	padding: 17px 20px 10px;
	background: #f1f8fc;
}
.in_content > .title {
	color: #004080;
	font-size: 1.2rem;
	font-weight: normal;
	text-shadow: 0.3px 0 0 #004080;
	border-bottom: 1px dashed #ccc;
	margin: 0 0 20px;
	padding: 0 10px 10px;
}
.in_content > .in_content_inner {
	padding: 0 10px;
}

/* #pagetop */
#pagetop {
	display: none;
}
#pagetop:hover {
	opacity: 0.7;
}
#pagetop.fixed {
	right: 3%;
	bottom: 50px;
	display: block;
	z-index: 10;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}
#pagetop a img {
	display: block;
}

/* footer */
.footer {
	border-top: 5px solid #1ea5d2;
	position: relative;
}
.footer li {
	margin-bottom: 3px;
}
.footer li:before {
	margin-right: 3px;
	content: "\03e";
}
.footer li a {
	color: #000;
	font-size: 0.8rem;
	text-decoration: none;
}
.footer li a:hover {
	text-decoration: underline;
}
.footer_inner {
	margin: 0 auto;
	padding: 50px 0 40px;
	width: 1020px;
	display: flex;
	justify-content: space-between;
}
.footer_info {
	width: 35%;
}
.footer_address {
	font-size: 0.75rem;
}
.footernavi {
	width: 38%;
	display: flex;
	justify-content: space-between;
}
.footernavi_set {
	width: 43%;
}
.footernavi .title {
	font-weight: bold;
	border-bottom: 1px solid #000;
	margin: 0 0 10px;
	padding: 0 3px 3px;
}
.footernavi ul {
	padding: 0 3px;
}
.copy {
	text-align: center;
	border-top: 1px solid #c9c9c9;
	padding: 15px 0 10px;
}
.copy img {
	vertical-align: bottom;
	position: relative;
	top: -4px;
	left: 14px;
}
.copy a {
	color: #000;
	font-size: 0.75rem;
	text-decoration: none;
}

/* 戻る */
.return {
	text-align: center;
}
.return a {
	color: #111;
	text-decoration: none;
}

/* 汎用スタイル */
.clear {
	clear: both;
}
.txt_c {
	text-align: center;
}
.txt_r {
	text-align: right;
}

/* 各固定ページ用
---------------------- */
/* access.html */
.access_map {
	box-sizing: border-box;
	padding: 20px 10px 0;
	width: 100%;
}
.access_map .map_set {
	border: 1px dotted #fff;
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.25);
	margin-bottom: 23px;
	height: 450px;
	width: 100%;
}
.access_map .access_data {
	padding: 15px 0 0;
}
.access_map .access_data dl {
	padding: 0 5px;
	overflow: hidden;
}
.access_map .access_data dl:after {
	content:" ";
	display:table;
	clear:both;
}
.access_map .access_data dl dt {
	color: #1ea5d2;
	font-weight:bold;
	float: left;
}
.access_map .access_data dl dd {
	padding-left:80px;
}
.access_map .access_data dl dd a {
	color:#111;
}

/* privacy.html */
.privacy_section {
	padding:50px 0 70px;
}
.privacy_section_inner {
	margin: 0 auto;
	width: 1020px;
}
.privacy_set {
	margin-bottom:20px;
}
#contents .privacy_set_title {
	font-size: 1rem;
	border-left: 6px solid #1ea5d2;
	margin-bottom:30px;
	padding: 10px 15px;
	background: #f0f8fb;
}
.privacy_set_inner {
	box-sizing:border-box;
	padding: 0 10px 15px;
}
#contents ul.privacy_list li {
	margin-bottom: 10px;
}
#contents dl.privacy_item dt {
	margin-bottom: 4px;
}
#contents dl.privacy_item dd {
	margin-bottom: 15px;
	padding-left:40px;
}

/* inquiry.html */
.inquiry_text {
	margin: 0 0 25px;
}
.inquiry_info {
	text-align: center;
	box-sizing: border-box;
	padding: 60px;
	background: url(img/background-ptn01.jpg) repeat;
}
.inquiry_info_title {
	font-size: 1.1rem;
	font-weight: bold;
	margin: 0 0 10px;
}
.inquiry_info ul {
	display: flex;
	justify-content: space-between;
}
.inquiry_info li {
	border-radius: 10px;
	box-shadow: 1px 1px 10px #ccc;
	box-sizing: border-box;
	padding: 110px 0 30px;
	width: 48%;
}
.inquiry_info li:nth-child(1) {
	background: url(img/icon01-pc.png) no-repeat top 35px center #fff;
}
.inquiry_info li:nth-child(2) {
	background: url(img/icon02-pc.png) no-repeat top 35px center #fff;
}

.inquiry_info li:only-child {
	width: 100%;
}
.inquiry_info li .no {
	font-size: 2.5rem;
	font-family: "arial bold";
	font-weight: bold;
	letter-spacing: -1px;
	line-height: 1;
	margin: 0 0 10px;
}
.inquiry_info li a {
	text-decoration: none;
}
.inquiry_info li:nth-child(1) a {
	color: #1ea5d2;
}
.inquiry_info li:nth-child(2) .no {
	color: #47b7a3;
}
.inquiry_info li span {
	font-size: 70%;
}
#contents .inquiry_info .time {
	font-size: 0.75rem;
	margin-bottom: 0;
}
.attent_block {
	margin-bottom:20px;
}
.attent_block .title {
	font-size: 1rem;
	text-shadow:0.3px 0 0 #000;
	border-bottom: 1px solid #333;
	margin: 0 0 10px;
	padding: 5px 0;
}
.attent_block .title:before {
	content: "■";
	font: normal normal normal 18px/1 FontAwesome;
	margin-right: 6px;
}
.important_text {
	color: #5A4727;
	line-height: 1.4;
	margin-bottom: 27px;
}
#inquiry .inquiry_inset {
	margin-bottom: 25px;
}
.thanks_title {
	font-size:1.9rem;
	text-align:center;
	margin-bottom:30px;
}
.thanks_msg {
	font-size:105%;
	text-align:center;
	line-height:2.0;
}
#contents .thanks_msg > p {
	margin-bottom:20px;
}
#MailForm span.required, #MailForm span.any {
	color: #fff;
	font-size: 85%;
	border-radius: 3px;
	margin-right: 5px;
	padding: 2px 4px;
}
#MailForm span.required {
	background: #9B0000;
}
#MailForm span.any {
	background: #999;
}
#MailForm table {
	border: 2px solid #999;
	border-collapse: collapse;
	margin: 5px auto 25px;
	width: 100%;
}
#MailForm th, #MailForm td {
	color: #111;
	font-weight: normal;
	border: 1px solid #999;
	padding: 25px;
}
#MailForm th {
	padding-left: 75px;
	width: 25%;
	background:#F2F2F2;
	position: relative;
}
#MailForm th span {
	position: absolute;
	left: 25px;
}
#MailForm input, #MailForm textarea {
	color: #444;
	font-size: 0.9rem;
	font-family: "メイリオ";
	letter-spacing: 1px;
	line-height: 1.4;
	border: 1px solid #e1e1e1;
	margin: 2px 0;
	padding: 9px;
	width: 310px;
}
#MailForm select {
	font-size: 0.9rem;
	border: 1px solid #e1e1e1;
	padding: 3px 27px 3px 13px;
	background: url(img/select-arrow.png) no-repeat center right 7px / 9% #fff;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
#MailForm label {
	padding: 2px 0;
	cursor: pointer;
}
#MailForm .form3 {
	vertical-align: middle;
	width: 3%;
}
#MailForm .form25 {
	width: 25%;
}
#MailForm .form45 {
	width: 45%;
}
#MailForm .form60 {
	width: 60%;
}
#MailForm .form90 {
	width: 93%;
}
#MailForm .attent {
	color: #666;
	font-size: 90%;
}
#MailForm .attent2 {
	color: #4D3A20;
	font-size: 90%;
}
#MailForm .focus {
	background: #ffe7e0;
}
#MailForm02 .focus {
	background: #ffe7e0;
}
.confirm_txt {
	text-align: center;
}
.send_btn_inner {
	text-align: center;
	padding: 15px 0 20px;
}
.send_btn {
	color: #fff;
	font-size: 130%;
	letter-spacing: 1px;
	cursor: pointer;
	border: 0px;
	margin: 0 10px;
	padding: 15px 30px;
	background: #FF9900;
	display: inline-block;
}
.send_btn:hover {
	background: #ffaf38;
}
.submit_btn {
	width: 50%;
}
.inputarea li {
	margin: 0 15px 0 0;
	float: left;
}
#thanks p {
	line-height: 300px;
	text-align: center;
}
#contents .inquiry-info {
	margin: 0px;
	overflow: hidden;
}
.inquiry-info li {
	margin-right: 15px;
	float: left;
}

/* formmail.cgi */
.send_inner {
	padding: 12px 0 20px;
}
.send_inner .send_step_msg {
	font-size: 140%;
	text-align: center;
	margin-bottom: 15px;
}

/* formmail.cgi:send base */
.send_guide_msg {
	color: #444;
	text-align: center;
	padding: 0 0 15px;
}
.send_inner .send_btn_inner {
	text-align: center;
}
.send_inner .send_btn_inner .send_btn {
	color: #fff;
	font-size: 130%;
	letter-spacing: 1px;
	cursor: pointer;
	border: 0px;
	margin: 0 10px;
	padding: 15px 30px;
	background: #FF9900;
	display: inline-block;
}
.send_inner .send_btn_inner .btn_return {
	background-color: #797979;
}
.send_inner .send_btn_inner .btn_return {
	background-color: #797979;
}

/* formmail.cgi:send confirm */
.send_confirm_table {
	padding: 17px 0 30px;
}
.send_confirm_table table {
	border-collapse: collapse;
	margin: 0 auto;
	width: 90%;
}
.send_confirm_table table th, .send_confirm_table table td {
	font-size: 110%;
	font-weight: normal;
	line-height: 1.5;
	border: 1px solid #ccc;
	padding: 17px 20px;
	background: #fff;
}
#contents .send_confirm_table table th {
	width: 40%;
	background: #f5f5f5;
}

/* formmail.cgi:send error */
.send_inner .send_error {
	padding: 15px 0 30px;
}
.send_inner .send_error li {
	font-size: 110%;
	padding: 5px 0;
}
.send_inner .send_error li:before {
	color: #C2C2C2;
	font-size: 85%;
	font-family: "ＭＳ Ｐゴシック", Osaka, "ヒラギノ角ゴ Pro W3";
	margin-right: 8px;
	content: "\0025cf";
}
.send_inner .send_error li span {
	color: #FF3333;
	margin-right: 5px;
	display: inline-block;
}

/* base styles
---------------------- */
.table_base {
	padding: 0 0 25px;
}
.table_base table {
	margin: 0 auto;
	border-collapse: collapse;
	width: 100%;
}
.table_base table th, .table_base table td {
	font-weight: normal;
	border: 1px solid #999;
	padding: 25px 16px;
}
.table_base table td span.map_jump {
	margin-left: 10px;
	position: relative;
	top: -2px;
}
.table_base table td span.map_jump a {
	color: #fff;
	font-size: 85%;
	text-decoration: none;
	border-radius: 3px;
	padding: 2px 6px;
	background: #1ea5d2;
	display: inline-block;
}
.table_base table td span.map_jump a:hover {
	opacity: 0.7;
}
.table_base table tbody th {
	text-align: center;
	width: 28%;
	background: #eef2f4;
}
.table_base table tbody td {
	padding-left: 25px;
}
.table_base table dt {
	font-weight: bold;
}
.table_base table dd {
	border-bottom: 1px dotted #ccc;
	margin-bottom: 10px;
	padding-bottom: 10px;
}
.table_base table dd:last-child {
	margin-bottom: 0px;
	padding: 0px;
	border: 0px;
}
.content_inner {
	padding: 0 0 40px;
}
.content_inner:after {
	content: " ";
	display: table;
	clear: both;
}
.content_inner .msg_l,
.content_inner .msg_r {
	line-height: 2;
}
.content_inner .images_r {
	float: right;
}
.content_inner .images_l {
	float: left;
}
.content_inner .msg_l {
	float: left;
}
.content_inner .msg_r {
	float: right;
}
.content_inner img {
	border: 1px solid #ccc;
	box-sizing: border-box;
	padding: 3px;
	width: 100%;
}
.w_margin320 .images_r, .w_margin320 .images_l {
	width: 320px;
}
.w_margin320 .msg_l, .w_margin320 .msg_r {
	width: 630px;
}
.w_margin450 .images_r, .w_margin450 .images_l {
	width: 450px;
}
.w_margin450 .msg_l, .w_margin450 .msg_r {
	width: 550px;
}
#contents .pick_text {
	color: #1ea5d2;
	font-size: 1.2rem;
	line-height: 1.6;
	margin-bottom: 17px;
}
.breadcrumbs {
	padding: 20px 0 0;
}
.breadcrumbs ul {
	margin: 0 auto;
	width: 1020px;
}
.breadcrumbs ul:after {
	content: " ";
	display: table;
	clear: both;
}
.breadcrumbs ul li {
	font-size: 0.7rem;
	margin-right: 5px;
	float: left;
}
.breadcrumbs ul li a {
	color: #111;
	margin-right: 4px;
	display: inline-block;
}
.breadcrumbs ul li a:hover {
	text-decoration: none;
}

/* .image_list */
.image_list:after {
	content: " ";
	display: table;
	clear: both;
}
.image_list li {
	float: left;
}
.image_list li img {
	width: 100%;
}
.image_list li span {
	padding: 15px 0 0;
	display: block;
}
.two_image li {
	width: 48%;
}
.two_image li:first-child {
	margin-right: 4%;
}
.three_image li {
	width: 31%;
}
.three_image li:nth-child(-n+2) {
	margin-right: 3%;
}

/* 各ページ用スタイル
---------------------- */
/* -------------------
汎用指定 */

.only_pc {
	display: block;
}
.only_sp {
	display: none;
}
.sp_slash {
	display: none;
}
.tel a {
	color: #000;
	text-decoration:none;
	cursor:inherit;
	pointer-events:none;
}
.fade_hover a {
	transition:0.8s;
}
.fade_hover a:hover {
	opacity:0.7;
}
.btn_base {
	padding: 10px 0 0;
	width: 400px;
}
.btn_base a {
	color: #fff;
	font-size: 0.95rem;
	text-align: center;
	text-decoration: none;
	border-radius: 50px;
	padding: 13px 0 11px;
	background: url(img/arrow01.png) no-repeat center right 40px / 9px #1fa7d1;
	display: block;
	transition: 0.5s;
}
.btn_base a:hover {
	opacity: 0.7
}
.outside_btn a {
	background: url(img/outside-link02.png) no-repeat center right 25px / 15px #1fa7d1;
}
.everywhere_block {
	text-align: center;
	line-height: 2.2;
	box-sizing: border-box;
	margin: 0 auto 50px;
	padding: 0 60px;
	width: 1020px;
}


/* -------------------
index.html */

/* .top_important */

.top_important {
	background:#f1f8fc;
  padding:30px 0;
}

.top_important_inner {
	margin: 0 auto;
	width: 1020px;
	padding:30px 40px;
  display:flex;
  justify-content:space-between;
  background:#1ea5d2;
  color:#fff;
  box-sizing:border-box;
}

.top_important_inner:nth-child(n+2) {

	margin-top: 20px;
}

.top_important_title {
  width:270px;
	font-weight:bold;
	font-size:1.4rem;
  display:flex;
  align-items:center;
}

.top_important_msg {
	width:670px;  
}

#contents .top_important_msg p:last-child {
	margin-bottom:0;
}


/* .top_contents */
.top_contents {
	padding: 35px 0 70px;
}
.top_contents_inner {
	box-sizing: border-box;
	margin: 0 auto;
	padding: 60px 40px 30px;
	width: 1020px;
	background: url(img/background-ptn01.jpg) repeat;
}
.top_contents_midashi {
	text-align: center;
	margin: 0 0 25px;
}
.top_contents_block {
	margin: 0 0 40px;
	display: flex;
	justify-content: space-between;
}
.top_contents_set {
	box-shadow: 1px 1px 5px rgba(0,0,0,0.4);
	border-radius: 5px;
	width: 300px;
	overflow: hidden;
}

.top_contents_set:nth-child(1):nth-last-child(4),
.top_contents_set:nth-child(2):nth-last-child(3),
.top_contents_set:nth-child(3):nth-last-child(2),
.top_contents_set:nth-child(4):nth-last-child(1) {
	width: 225px;
}

.top_contents_set:nth-child(1):nth-last-child(4) .window-tel:before,
.top_contents_set:nth-child(2):nth-last-child(3) .window-tel:before,
.top_contents_set:nth-child(3):nth-last-child(2) .window-tel:before,
.top_contents_set:nth-child(4):nth-last-child(1) .window-tel:before {
	display: table;
	margin-bottom: 5px;
}

.top_contents_set a {
	color: #000;
	text-decoration: none;
	box-sizing: border-box;
	padding: 3px;
	background: #fff;
	display: block;
	transition: 0.5s;
}
.top_contents_set a:hover {
	opacity: 0.7;
}
.top_contents_title {
	font-size: 1.1rem;
	text-align: center;
	margin: 0 0 10px;
	padding: 10px 15px 5px;
	background: #a7e7f0;
}
.top_contents_set_inner {
	box-sizing: border-box;
}
.top_contents_image {
	text-align: center;
	margin: 0 auto 15px;
	width: 96%;
}
.top_contents_image img {
	width: 100%;
	display: block;
}
.top_contents_message{
	font-size: 0.9rem;
	letter-spacing: 0px;
	line-height: 1.5;
	margin: 0 0 15px;
	padding: 0 17px;
}
.top_contents_set_btn_block {
	box-sizing: border-box;
	padding: 10px;
	background: url(img/background-ptn02.jpg) repeat;
}
.top_contents_set_btn {
	color: #fff;
	text-align: center;
	text-decoration: none;
	border-radius: 50px;
	padding: 5px 0 3px;
	background: url(img/arrow01.png) no-repeat center right 20px / 9px #1ea5d2;
}

.top_contents_attent {
	text-indent: -15px;
	padding-left: 15px;
}

/* .top_roommap */
.top_roommap {
	margin: 0 auto;
	padding: 0 0 70px;
	width: 1020px;
}
.top_roommap_title {
	font-size: 1.2rem;
	border-bottom: 3px solid #ccbc9b;
	margin: 0 0 40px;
	padding: 10px 20px 7px;
	position: relative;
}
.top_roommap_title:after {
	border-bottom: 3px solid #1ea5d4;
	width: 20%;
	display: block;
	content: "";
	position: absolute;
	bottom: -3px;
	left: 0;
}
.top_roommap_inner {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
.top_roommap_contents {
	width: 570px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.top_roommap_set {
	margin: 0 0 2%;
	width: 49%;
}
.top_roommap_set a {
	color: #000;
	text-decoration: none;
	box-sizing: border-box;
	padding: 20px 25px;
	background: #f1f8fc;
	display: block;
	transition: 0.5s;
}
.top_roommap_set_title {
	color: #047bcb;
	font-size: 0.95rem;
	margin: 0 0 3px;
	padding: 0 17px 0 0;
	display: inline-block;
}
.top_roommap_set_address {
	font-size: 0.75rem;
}
.top_roommap_set a[href]:hover {
	background: rgba(30,165,210,0.2);
}
.top_roommap_set a[href] .top_roommap_set_title {
	background: url(img/outside-link01.png) no-repeat center right / 13px;
	text-decoration: underline;
}
/* .top_news */
.top_news {
	padding: 55px 0;
	background: #f0f8fb;
}
.top_news_inner {
	margin: 0 auto;
	width: 1020px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.top_news header {
	text-align: center;
	width: 20%;
}
.top_news_title {
	font-size: 1.4rem;
	border-bottom: 3px solid #ccbc9b;
	margin: 0 0 20px;
	padding: 0 10px;
	display: inline-block;
	position: relative;
}
.top_news_title:after {
	border-bottom: 3px solid #1ea5d4;
	width: 30%;
	display: block;
	content: "";
	position: absolute;
	bottom: -3px;
	left: 0;
}
.top_news_list {
	box-sizing: border-box;
	padding: 40px;
	width: 80%;
	background: #fff;
}
.top_news_list > li {
	display: flex;
}
.top_news_list > li:not(:last-child) {
	border-bottom: 1px dotted #5c5c5c;
	margin: 0 0 20px;
	padding: 0 0 20px;
}
.top_news_list_date {
	color: #20a5d2;
	font-family: "arial bold";
	font-size: 0.95rem;
	font-weight: bold;
	letter-spacing: 0.5px;
	width: 170px;
}

#contents .top_news_list_contents {
  width:566px;
}

#contents .top_news_list_contents p {
	margin-bottom:8px;
}

#contents .top_news_list_contents p:last-child {
	margin-bottom:0;
}

.top_news_list_pick {
	margin:3px 0 0 -10px;
	text-shadow:0.3px 0 0 #047bcb;
	color:#047bcb;
}

.top_news_list_contents .span_text {
	text-indent:-16px;
	padding-left:16px;
}

.top_news_list_contents .span_text span {
	text-indent:0;
	padding-left:0;
	display:inline-block;
}

.top_news_list_contents .span_text:before {
	content:"\30fb";
}

.top_news_list_contents a {
	color: #75c0e0;
}
.top_news_list_contents a:hover {
	text-decoration: none;
}
.top_news_sub_list li:before {
	margin-right: 1px;
	content: "\025a0";
	position: relative;
	bottom: 2px;
}

/* .top_report */
.top_report {
	margin: 0 auto;
	padding: 70px 0 90px;
	width: 1020px;
}
.top_report_title {
	font-size: 1.2rem;
	border-bottom: 3px solid #ccbc9b;
	margin: 0 0 40px;
	padding: 10px 20px 7px;
	position: relative;
}
.top_report_title:after {
	border-bottom: solid 3px #1ea5d4;
	width: 20%;
	display: block;
	content: "";
	position: absolute;
	bottom: -3px;
	left: 0;
}
.top_report_title span {
	margin: 0 auto;
	width: 120px;
	display: block;
	position: absolute;
	right: 20px;
	bottom: 7px;
}
.top_report_title span a {
	color: #fff;
	font-size: 0.85rem;
	text-align: center;
	text-decoration: none;
	border-radius: 50px;
	padding: 3px 5px 1px 0;
	background: url(img/arrow01.png) no-repeat center right 15px / 9px #1ea5d2;
	display: block;
	transition: 0.5s;
}
.top_report_title span a:hover {
	opacity: 0.7;
}
.top_report_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.top_report_list li {
	width: 320px;
}
.top_report_list li a {
	color: #000;
	text-decoration: none;
	height: 100%;
	display: block;
	transition: 0.5s;
}
.top_report_list li a:hover {
	background: rgba(30,165,210,0.2);
}
.top_report_list_image {
	height: 200px;
	display: flex;
	align-items: center;
	overflow: hidden;
}
.top_report_list_image img {
	width: 100%;
	display: block;
}
.top_report_list_contents {
	box-sizing: border-box;
	padding: 10px 15px 15px;
}
.top_report_list_contents:after {
	content: "";
	display: block;
	clear: both;
}
.top_report_list_date {
	color: #20a5d2;
	font-family: "arial bold";
	font-weight: bold;
	letter-spacing: 0.5px;
	margin: 0 0 3px;
}
.top_report_list_title {
	margin: 0 0 10px;
}
.top_report_list_btn {
	color: #fff;
	font-size: 0.8rem;
	text-align: center;
	text-decoration: none;
	border-radius: 50px;
	padding: 5px 0 3px;
	width: 170px;
	background: url(img/arrow01.png) no-repeat center right 20px / 8px #1ea5d2;
	display: block;
	float: right;
}

/* .top_banner */
.top_banner {
	padding: 40px 0;
	background: #f1f8fc;
}
.top_banner_inner {
	margin: 0 auto;
	width: 1020px;
}
.top_banner_list {
	display: flex;
	justify-content: space-between;
}
.top_banner_list li a {
	display: block;
}
.top_banner_list li img {
	display: block;
}

.window-tel {
	text-shadow: 0.3px 0 0 #111;
	padding-bottom: 3px;
	font-size: 1.1rem;
	line-height: 1.4;
}

.window-tel:before {
	content: "講師連絡先";
	color: #fff;
	background: #d21e1e;
	font-size: 0.8rem;
	padding: 5px 8px 5px 10px;
	margin-right: 10px;
	text-shadow: none;
	position: relative;
	top: -3px;
}

p.window-tel {
	margin: 0 17px;
	border-bottom: 1px dashed #ccc;
}

span.window-tel {
	font-weight: normal;
	position: absolute;
	right: 20px;
	margin-bottom: -10px;
}

/* -------------------
greeting.html */

/* .message_block */
.message_block {
	display: flex;
	justify-content: space-between;
}
.message_contents {
	width: 50%;
}
.message_text {
	line-height: 2;
	margin: 0 0 20px;
}
.message_images {
	width: 45%;
	display: flex;
	justify-content: space-between;
}
.message_images li {
	width: 49%;
}
.message_images img {
	border: 1px solid #ccc;
	box-sizing: border-box;
	padding: 3px;
	width: 100%;
	display: block;
}

/* .company_block */
.company_block {
	padding: 20px 0 0;
	display: flex;
	justify-content: space-between;
}
.company_table {
	width: 67%;
}
.company_image {
	width: 30%;
}
.company_image img {
	border: 1px solid #ccc;
	box-sizing: border-box;
	padding: 3px;
	width: 100%;
}


/* -------------------
contents1.html */

/* .program */
.program dt {
	font-weight: bold;
}
.program dd {
	margin: 0 0 5px;
}

/* .price_block */
.price_block {
	margin: 0 auto;
	width: 95%;
}
.price_block dl:after {
	content: "";
	display: block;
	clear: both;
}
.price_block dt {
	box-sizing: border-box;
	padding: 15px 20px 10px;
	float: left;
}
.price_block dd {
	text-align: right;
	border-bottom: 1px dashed #ccc;
	box-sizing: border-box;
	padding: 15px 20px 10px;
}
.price_block .price_info {
	font-size: 0.8rem;
	padding: 10px 0 0;
}
.price_block .price_info_list {
	font-size: 0.8rem;
	padding: 10px 0 0;
}

/* .schedule_table */
.schedule_table {
	padding: 20px 0 0;
}

#contents .schedule_table table:not(:last-child) {
	margin-bottom: 60px;
}

.schedule_table table th,
.schedule_table table td {
	text-align: center;
	padding: 13px 10px;
}
.schedule_table table th {
	background: #E8F3FF;
}
.schedule_table table tbody th {
	width: 0%;
	background: #E8F3FF;
}
.schedule_table table tbody td {
	padding-left: 10px;
}

#page .schedule_table.rental table {
	margin-bottom: 15px;
}


.schedule_table .room_txt:not(:last-child) {
	padding-bottom: 10px;
	border-bottom: 1px dashed #b1b1b1;
	margin: 0 20px 10px;
}

.schedule_table caption  {
	font-size: 150%;
	margin-bottom: 20px;
	padding-left: 30px;
	position: relative;
}

.schedule_table caption::after {
	position: absolute;
	left: 0;
	top: 9px;
	width: 16px;
	height: 16px;
	content: "";
	background: #000;
}

#contents1 .schedule_table td {
	width: 200px;
}

.class_info {
	margin-top: -40px;
}

.class_info dt {
	float: left;
}


/* .schedule_table */
.karate_kobudo_schedule_table {
	padding: 20px 0;
}
.karate_kobudo_schedule_table table th,
.karate_kobudo_schedule_table table td {
	text-align: center;
	padding: 13px 10px;
}
.karate_kobudo_schedule_table table th {
	background: #E8F3FF;
}
.karate_kobudo_schedule_table table tbody th {
	width: 0%;
	background: #E8F3FF;
}
.karate_kobudo_schedule_table table tbody td {
	padding-left: 10px;
}

/* .kobudo_schedule_access_data */
.karate_kobudo_ccess_data:after {
	content: "";
	display: block;
	clear: both;
}
.karate_kobudo_ccess_data dt {
	font-weight: bold;
	float: left;
}
.karate_kobudo_ccess_data dd:not(:last-child) {
	margin: 0 0 5px;
}
.karate_kobudo_ccess_data .map_jump {
	margin-left: 5px;
	position: relative;
	top: -2px;
}
.karate_kobudo_ccess_data .map_jump a {
	color: #fff;
	font-size: 85%;
	text-decoration: none;
	border-radius: 3px;
	padding: 1px 6px;
	background: #1ea5d2;
	display: inline-block;
}
.karate_kobudo_ccess_data .map_jump a:hover {
	opacity: 0.7;
}

/* .gallery_images */
.gallery_images_block:not(:last-child) {
	margin-bottom: 60px;
}

#contents .gallery_images_block p:first-child {
	font-size: 150%;
	margin-bottom: 0px;
	padding-left: 30px;
	position: relative;
}

.gallery_images_block p:first-child::after {
	position: absolute;
	left: 0;
	top: 9px;
	width: 16px;
	height: 16px;
	content: "";
	background: #000;
}

.gallery_images {
	padding: 20px 0 0;
}
.gallery_images:after {
	content: "";
	display: block;
	clear: both;
}
.gallery_images li {
	margin-bottom: 1%;
	width: 24.25%;
	float: left;
}
.gallery_images li:not(:nth-child(4n)) {
	margin-right: 1%;
}
.gallery_images img {
	border: 1px solid #ccc;
	box-sizing: border-box;
	padding: 3px;
	width: 100%;
	display: block;
}

/* .attending_info_section */
.attending_info_section {
	border: 10px solid #e8f3ff;
	box-sizing: border-box;
	margin:60px 0 30px;
	padding: 40px;
}
.attending_info_title {
	color: #004080;
	font-size: 1.2rem;
	font-weight: normal;
	margin-bottom: 7px;
}
.attending_info_inner {
	padding: 20px 0 0;
	display: flex;
	justify-content: space-between;
}
.attending_info_table {
	width: 60%;
}
.attending_info_table table th,
.attending_info_table table td {
	border: 0px;
	border-bottom: 1px dashed #999;
}
.attending_info_table table tbody th {
	background: none;
	position: relative;
}
.attending_info_table table tbody th:after {
	height: 60%;
	width: 1px;
	background: #ccc;
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}
.attending_info_image {
	width: 33%;
}
.attending_info_image img {
	border: 1px solid #ccc;
	box-sizing: border-box;
	padding: 3px;
	width: 100%;
}
.attending_info_image span {
	text-align: center;
	display: block;
}


/* -------------------
contents4.html */

/* .room_block */
.room_block {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.room_section {
	border: 10px solid #e8f3ff;
	box-sizing: border-box;
	margin: 0 0 25px;
	padding: 25px 30px;
	width: 49%;
}
.room_section_title {
	color: #047bcb;
	font-size: 1.1rem;
	text-align: center;
	margin: 0 0 7px;
}
#contents .room_slider {
	margin: 0 0 10px;
}
.room_slider li:focus {
  outline: none;
}
.room_slider img {
  width: 100%;
  display: block;
}
.room_slider .slick-dots li,
.slick-dots li button {
	width: 15px;
}
.room_slider .slick-dots li button:before {
	content:"";
	width:10px;
	height:10px;
	opacity:1;
	background:#fff;
	border:1px solid #0787e2;
	border-radius:50%
}
.room_slider .slick-dots li.slick-active button:before {
	background:#0787e2
}
.room_slider .slick-dots li button:focus:before,
.room_slider .slick-dots li button:hover:before {
	background:#0787e2
}
.room_image {
	padding: 0 0 10px;
}

.room_image:empty {
  position:relative;
  padding:75% 0 0;
  margin-bottom:10px;
  display:block;
  background:#ccc;
}

.room_image:empty::after {
  content:"\6e\6f\20\69\6d\61\67\65";
  width:100%;
  color:#fff;
  position:absolute;
  font-size:2rem;
  left:0;
  top:0;
  display:flex;
  align-items:center;
  height:100%;
  justify-content:center;
}
.room_image img {
	width: 100%;
	display: block;
}
.room_address {
	font-size: 0.8rem;
	text-align: center;
}
.room_btn {
	margin: 0 auto;
	padding: 5px 0 0;
	width: 200px;
}
.room_btn a {
	color: #fff;
	font-size: 0.8rem;
	text-align: center;
	text-decoration: none;
	border-radius: 50px;
	padding: 5px 0 3px;
	background: url(img/outside-link02.png) no-repeat center right 40px / 15px #1fa7d1;
	display: block;
	transition: 0.5s;
}
.room_btn a:hover {
	opacity: 0.7;
}


/* -------------------
MT */

/* .report_list */
.report_list {
	display: flex;
	flex-wrap: wrap;
}
.report_list li {
	margin-bottom: 3%;
	width: 31.33%;
}
.report_list li:not(:nth-child(3n)) {
	margin-right: 3%;
}
.report_list li a {
	color: #000;
	text-decoration: none;
	height: 100%;
	display: block;
	transition: 0.5s;
}
.report_list li a:hover {
	background: rgba(30,165,210,0.2);
}
.report_list_image {
	height: 200px;
	display: flex;
	align-items: center;
	overflow: hidden;
}
.report_list_image img {
	width: 100%;
	display: block;
}
.report_list_contents {
	box-sizing: border-box;
	padding: 10px 15px 15px;
}
.report_list_contents:after {
	content: "";
	display: block;
	clear: both;
}
.report_list_date {
	color: #20a5d2;
	font-family: "arial bold";
	font-weight: bold;
	letter-spacing: 0.5px;
	margin: 0 0 3px;
}
.report_list_title {
	margin: 0 0 10px;
}
.report_list_btn {
	color: #fff;
	font-size: 0.8rem;
	text-align: center;
	text-decoration: none;
	border-radius: 50px;
	padding: 5px 0 3px;
	width: 170px;
	background: url(img/arrow01.png) no-repeat center right 20px / 8px #1ea5d2;
	display: block;
	float: right;
}

/* .report_detail */
.report_detail_date {
	color: #20a5d2;
	font-family: "arial bold";
	font-weight: bold;
	letter-spacing: 0.5px;
}
.report_detail_title {
	font-size: 1rem;
	font-weight: bold;
	margin: 0 0 20px;
}
.report_detail_contents {
	margin: 0 0 20px;
}
.report_detail_images:after {
	content: "";
	display: block;
	clear: both;
}
.report_detail_images li {
	margin-bottom: 1%;
	width: 24.25%;
	float: left;
}
.report_detail_images li:not(:nth-child(4n)) {
	margin-right: 1%;
}
.report_detail_images li a {
	display: block;
	position: relative;
	transition: 0.5s;
}
.report_detail_images li a:after {
	color: #fff;
	font-size: 1rem;
	text-decoration: none;
	line-height: 1.0;
	border: 1px solid rgba(255, 255, 255, 0.3);
	padding: 3px 2px 2px 3px;
	background: #000;
	content: "\00ff0b";
	position: absolute;
	right: 1px;
	bottom: 1px;
}
.report_detail_images li a:hover {
	opacity: 0.7;
}
.report_detail_images li img {
	width: 100%;
	display: block;
}

/* PageList */
#PageList {
	text-align: center;
	margin: 0 auto;
	padding: 50px 0 8px 0;
	width: 700px;
}
#PageList:after {
	content: " ";
	display: block;
	clear: both;
}
#PageList li {
	margin: 0 10px 0 0;
	padding: 0px 0;
	display: inline;
}
#PageList li a {
	text-decoration: none;
	padding: 6px 10px;
}
#PageList li.prev a, #PageList li.next a {
	color: #20a5d2;
}
#PageList li.pagelist a {
	color: #20a5d2;
	border: 1px solid #20a5d2;
}
#PageList li.pagelist .current_page {
	text-decoration: none;
	color: #fff;
	padding: 6px 10px;
	border: 1px solid #20a5d2;
	background: #20a5d2;
}
