@charset "UTF-8";

/* "body"
-------------------------------------------------- */
body {
	color: #333;
	margin: 0;
	padding: 0;
	font-size: 16px;
	line-height: 1.875;
	letter-spacing: 0.065em;
	
	text-align: center;
}


/* "a" Tag
-------------------------------------------------- */
a {
	cursor: pointer;
	transition: 0.7s;
}
a:link, a:visited {
	color: #00A0E9;
	text-decoration: underline;
}
a:active, a:hover {
	color: #EA5504;
	text-decoration: none;
}
a:hover img {
	opacity: 0.6;
}

/* "div/p" Tag
-------------------------------------------------- */
div {
	margin: 0;
	padding: 0;
}


/* "dl/dt/dd/li/ol/ul" Tag
-------------------------------------------------- */
dl, dt, dd, li, ol, ul {
    	margin: 0;
    	padding: 0;
}
li {
    	list-style: none;
}

/* "h1-h6" Tag
-------------------------------------------------- */
h1, h2, h3, h4, h5, h6 {
	margin: 0 ;
	padding: 0;
	font-weight: bold;
	font-size: 100%;
}

/* "hr" Tag
-------------------------------------------------- */
hr {
    	margin-bottom: 25px;
}

/* "img" Tag
-------------------------------------------------- */
img {
    	border: 0;
	transition: 0.7s;
}

/* "em/strong" Tag
-------------------------------------------------- */
em {
    	font-style: italic;
   	font-weight: normal;
}
strong {
	font-style: normal;
	font-weight: bold;
}

/* table
-------------------------------------------------- */
table.basicTable {
    border-spacing: 0;	
    border: 2px solid #999;
    width: 100%;
    margin: 20px auto 40px;
}
table.basicTable p {
    margin-bottom: 0;
    margin-top: 0;
}
table.basicTable th {
    padding:10px 20px;
    background:#F2F2F2;
    color:#69655c;
    width: 250px;
    text-align: right;
    border-bottom:solid 1px #CCC;
	vertical-align:middle;
}
table.basicTable th.table_title {
    background: #666;
    color: #FFF;
    padding: 5px 20px;
    text-align: left;
}
form table.basicTable th span {
    background: #cc0000;
    color: #FFF;
    font-size: 11px;
    padding: 3px;
    margin-left: 5px;
}
table.basicTable td {
    padding:10px 40px;
    background:#FFF;
    border-bottom:solid 1px #CCC;
}
table.basicTable li {
    margin-right: 10px;
    float: left;
    list-style: none;
}
#contactForm table.basicTable ul li:last-child {
    margin-right: 0;
}
@media (max-width: 767px) {
	table.basicTable {
		font-size: 14px;
	}
	form table.basicTable th {
		text-align: left;
		width: 150px;
		padding: 5px 10px;
	}
	form table.basicTable th span {
		display: block;
		width: 50px;
		text-align: center;
	}
	form table.basicTable td {
		padding: 5px 10px;
	}
}

/* form
-------------------------------------------------- */
fieldset, form, input, textarea {
    margin: 0;
    padding: 0;
}
fieldset {
    border: 0;
}
label {
    cursor: pointer;
}
input, select, textarea {
    font-size: inherit;
    font-weight: inherit;
}
select {
    font-size: 16px;
    padding: 3px;
}
input[type="text"],input[type="tel"],input[type="email"],input[type="password"],textarea,select {
    padding: 10px;
    margin: 5px 0;
    border: 1px solid #DDD;
    border-radius: 2px;
    width: 100%;
}
textarea {
    resize: vertical;
    width: 100%;
}
.basicForm {
	font-size: 14px;
}
@media (max-width: 767px) {
	.basicForm {
		border-top: 3px double #CCC;
		padding-top: 20px;
	}
}
form ul {
    margin: 5px 0;
}
ul.form {
	display: table;
	margin: 0 auto;
}
form ul li,
ul.form li {
	float: left;
}
form ul li:last-child,
ul.form li:last-child {
	margin-right: 0;
}
ul.btn-list li {
	float: right;
}
ul.btn-list li:first-child {
	margin-right: 0;
}
ul.btn-list li:last-child {
	margin-right: 10px;
}
@media (max-width: 767px) {
	ul.btn-list {
		margin: 20px auto 0;
	}
	ul.btn-list li {
		float: none;
	}
	ul.form li,
	ul.btn-list li {
		margin-right: 0 !important;
	}
}
#notes {
    display: none;
    color: #ff0000;
}
#notes.visible {
    display: block;
}
.error {
    background: #ffcece;
    border-color: #df8f8f;
    font-size: 100%;
}
form h2 {
	background: url(../images/sp/form_h2_bg.png) repeat-x 50% 50%;
	padding-left: 20px;
	margin-bottom: 10px;
}
form h2 span {
	background: #FFF;
	display: inline;
}
form h3 {
	margin-bottom: 0 !important;
	font-size: 16px;
	font-weight: bold;
}
form h3 span {
	color: #FF0000;
	font-size: 80%;
	margin-left: 5px;
}
.btn-send {
	position: relative;
	display: block;
	background: #FFF url(../images/home/reserve_bg.png) no-repeat 50% 50%;
	background-size: 200px 100%;
	color: #3E3A39;
	padding: 15px 0;
	width: 200px;
	box-shadow:2px 3px 6px 3px #555;
	-moz-box-shadow:2px 3px 6px 3px #555;
	-webkit-box-shadow:2px 3px 6px 3px #555;
	font-size: 16px;
	text-decoration: none;
	border-radius: 0;
	margin: 0 auto;
	z-index: 1;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.btn-send:hover {
	background-color: #FFF100;
}
@media (min-width: 767px) {
	.btn-send::before,
	.btn-send::after {
		position: absolute;
		z-index: -1;
		display: block;
		content: '';
		left: 0;
		width: 100%;
		background-color: #FFF;
		height: 50%;
		-webkit-transition: all .3s;
		transition: all .3s;
	}
	.btn-send::before {
		top: 0;
	}
	.btn-send::after {
		bottom: 0;
	}
	.btn-send:hover::before,
	.btn-send:hover::after {
		height: 0;
	}
}


/* ==================================================
以下、ブロックごとの指定
================================================== */

/* コンテナ
-------------------------------------------------- */
.container {
	width: 1020px;
	margin: 0 auto;
	text-align: left;
}
@media (max-width: 1020px) {
	.container {
		width: 100%;
	}
}

/* ヘッダー
-------------------------------------------------- */
.h1Block {
	background: #FBD9BF;
	font-size: 12px;
	color: #595757;
	line-height: 1;
	padding: 7px 0;
	margin-bottom: 5px;
}
h1 {
	font-weight: normal;
}
.logoBlock img,
header .row {
	height: 60px;
}
header .right {
	background: url(../images/header/header_bg.png) no-repeat;
	background-size: auto 60px;
	padding-top: 40px;
	padding-left: 60px;
	font-size: 12px;
	color: #595757;
	letter-spacing: 0.05em;
}
@media (max-width: 767px) {
	.logoBlock img {
		height: 44px;
		margin-top: 8px;
		margin-bottom: 8px;
	}

}

/* グローバルメニュー
-------------------------------------------------- */
.globalMenu {
	background: #ffffff; /* Old browsers */
	background: -moz-linear-gradient(top, #ffffff 0%, #e6e6e6 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, #ffffff 0%,#e6e6e6 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, #ffffff 0%,#e6e6e6 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#e6e6e6',GradientType=0 ); /* IE6-9 */
}
#gnavi {
	border: none;
}
#gnavi a {
	font-size: 16px;
	font-weight: bold;
	text-decoration: none;
	color: #595757;
}
#gnavi .nav>li>a:focus, #gnavi .nav>li>a:hover, #gnavi .nav>li.current_page_item>a {
	background: none;
	color: #EA5504;
}
@media (min-width: 767px) {
	#gnavi .nav>li>a:focus span, #gnavi .nav>li>a:hover span, #gnavi .nav>li.current_page_item>a span {
		border-bottom: 1px solid #e60012;
	}
}
.nav>li>a {
	padding: 10px 20px;
}
@media (max-width: 767px) {
	.nav>li>a {
		padding: 15px 20px;
	}
}
.globalMenu .container {
	width: 1100px;
}
.navbar {
	margin-bottom: 0;
}
.navbar-nav {
	display: table;
	margin: 0 auto;
	float: none;
}
.navbar-collapse {
	padding: 0;
}
@media (max-width: 1100px) {
	.globalMenu .container {
		width: 100%;
	}
	#gnavi a {
		font-size: 14px;
	}
}
@media (max-width: 1016px) {
	.nav>li>a {
		padding: 10px 15px;
	}
}
@media (max-width: 908px) {
	.nav>li>a {
		padding: 10px 10px;
	}
}
@media (max-width: 829px) {
	.nav li:first-child {
		display: none;
	}
}
@media (max-width: 767px) {
	.nav li:first-child {
		display: block;
	}
	.navbar-nav {
		width: 100%;
	}
}

/* ハンバーガーメニュー
-------------------------------------------------- */
@media (max-width: 767px) {
	.navbar {
		position: absolute;
		top: 0;
		right: 0;
		z-index: 110;
	}
}
.navbar-toggle {
	border: none;
	margin-right: 5px;
}
.navbar-toggle .icon-bar {
	height: 4px;
	background-color: #DF5D0B;
	width: 32px;
}
.navbar-toggle .icon-bar+.icon-bar {
	margin-top: 6px;
}
.navbar-toggle:focus,
.navbar-toggle:hover {
	background: none;
	border: none;
}
.batsu .bar45 {
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	margin-top: -3px !important;
	transition: 0.3s;
}
.batsu .bar135 {
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
	margin-top: 6px;
	transition: 0.3s;
}
.batsu .bar0 {
	display: none;
	transition: 0.3s;
}
.navbar-toggle:focus,
.navbar-toggle:hover {
	background: none;
	border: none;
}
@media (max-width: 767px) {
	#gnavi .nav>li {
		width:100%;
		background: #FBFBFB url(../images/header/sp_menu_bg.png) no-repeat 95% 50%;
		border-bottom: 1px solid #9FA0A0;
	}
	#gnavi .nav>li>a {
		text-align: left;
	}
	.navbar {
		width: 100%;
	}
	.navbar-header {
		height: 60px;
	}
}

/* パンくず
-------------------------------------------------- */


/* メインカラム
-------------------------------------------------- */
.contentBlock,
.pageBlock {
	padding-top: 35px;
	padding-bottom: 35px;
}
.pageBlock h2 {
	text-align: center;
	font-size: 24px;
	margin-bottom: 35px;
}
.pageBlock h2 span {
	border-bottom: 1px solid #3E3A39;
}
.contentBlock h2,
.pageBlock h3 {
	border-bottom: 1px solid #DF5D0B;
	font-size: 20px;
	font-weight: bold;
	background: url(../images/common/icon.png) no-repeat 0 0;
	padding-left: 48px;
	line-height: 34px;
	margin-bottom: 35px;
}
.pageBlock h3 {
	margin-bottom: 20px;
}
.pageBox {
	border: 1px solid #BBB;
	border-top: 0;
	padding: 0 20px 20px;
	margin-bottom: 30px;
}
.pageBox .col-sm-5 p,
.pageBox .col-sm-12 p {
	margin-bottom: 0;
}
.pageBox ul li {
	margin-bottom: 1em;
}
.pageBox ul li:before {
	content:'・';
}
.pageBox dl {
	width: 100%;
}
.pageBox dl:nth-child(odd) {
	background: #f3f3f3;
}
.pageBox dl dt {
	width: 30%;
	float: left;
	font-weight: normal;
	text-align: right;
	padding: 10px;
	min-width: 270px;
}
.pageBox dl dd {
	margin-left: 30%;
	padding: 10px;
}
.pageBox .col-sm-7 dl dt {
	min-width: 0;
}
.pageBox .col-sm-7 dl dd {
	line-height: 1.7;
}
.pageBox h4 {
	margin-bottom: 5px;
	color: #036EB8;
}
@media (max-width: 1020px) {
	.pageBox .col-sm-12 dl dd {
		margin-left: 270px;
	}
}
@media (max-width: 767px) {
	.contentBlock,
	.pageBlock {
		padding-bottom: 20px;
	}
	.pageBlock h2 {
		font-size: 18px;
	}
	.contentBlock h2,
	.pageBlock h3 {
		font-size: 18px;
		padding-left: 40px;
	}
	.pageBox .col-sm-5 p,
	.pageBox .col-sm-12 p {
		margin-bottom: 1em;
	}
	.pageBox .col-sm-12 dl dt {
		min-width: 160px;
		text-align: left;
	}
	.pageBox .col-sm-12 dl dd {
		margin-left: 160px;
	}
}

/* サイドカラム
-------------------------------------------------- */


/* ページャー
-------------------------------------------------- */
.pagination {
	margin: 2rem 0 0;
	width: 100%;
}
.screen-reader-text {
	display: none;
}
.page-numbers	{
	list-style-type: none;
	margin: 0 auto 2rem;
	padding: 0;
	text-align: center;
	display: table;
}
.page-numbers li {
	display: inline-block;
	margin: 0 0 5px;
	line-height: 2em;
}
.pageBox ul.page-numbers li:before {
	content:"";
}
.page-numbers li:first-child {
	margin-left: 0;
}
.page-numbers li a,
.page-numbers li span {
	display: block;
	padding: 0 1em;
}
.page-numbers li span.current {
	background: #D38734;
	color: #fff;
	cursor: default;
}
.page-numbers a:hover {
	background: #F4EFE3;
}

/* フッター
-------------------------------------------------- */
.footerHead {
	background: #9FA0A0 url(../images/common/mask2.png) repeat;
	padding: 30px 0;
	color: #FFF;
}
.footerHead .dispTable div {
	padding: 0 36px;
	border-right: 1px solid #FFF;
}
.footerHead .dispTable div:last-child {
	border-right: 0;
}
.footerHead img {
	height: 45px;
}
.footerHead dl dt {
	font-size: 14px;
	width: 99px;
	float: left;
	font-weight: normal;
	text-align: left;
	margin-bottom: 5px;
}
.footerHead dl dd {
	margin-left: 99px;
	margin-bottom: 5px;
}
a.btn-contact {
	position: relative;
	display: inline-block;
	background: #FFF;
	color: #3E3A39;
	padding: 8px 22px;
	width: 300px;
	text-decoration: none;
	border-radius: 0;
	z-index: 1;
	-webkit-transition: all .3s;
	transition: all .3s;
}
a.btn-contact span {
	background: url(../images/footer/right_arrow.png) no-repeat 100% 50%;
	padding-right: 24px;
}
a.btn-contact:hover {
	background-color: #FFF100;
}
a.btn-contact::before,
a.btn-contact::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
	left: 0;
	width: 100%;
	background-color: #FFF;
	height: 50%;
	-webkit-transition: all .3s;
	transition: all .3s;
}
a.btn-contact::before {
	top: 0;
}
a.btn-contact::after {
	bottom: 0;
}
a.btn-contact:hover::before,
a.btn-contact:hover::after {
	height: 0;
}
@media (max-width: 992px) {
	.footerHead dl dt {
		float: none;
		text-align: center;
		width: 100%;
	}
	.footerHead dl dd {
		margin-left: 0;
	}
}
.footerMain {
	background: #727171 url(../images/common/mask2.png) repeat;
	padding-top: 41px;
	padding-bottom: 34px;
	color: #E6E6E6;
}
.footerMain a {
	color: #E6E6E6;
	text-decoration: none;
}
.footerMain .container {
	position: relative;
}
.copyrightBlock {
	position: absolute;
	bottom: 0;
	right: 0;
}
.footer_sns_list {
	display: table;
	margin: 0 auto;
	-webkit-transform: translate(30px, -30px);
	-ms-transform: translate(30px, -30px);
	-o-transform: translate(30px, -30px);
	transform: translate(30px, -30px);
}
.footer_sns_list i {
	color: #3D3A3A;
	text-align: center;
	width: 25px;
	line-height: 25px;
	background: #B0A9AA;
	border-radius: 50%;
}
.footer_sns_list li {
	float: left;
	margin-right: 7px;
}
.footer_sns_list li:last-child {
	margin-right: 0;
}
.footer_link ul {
	float: left;
	padding-right: 50px;
	font-size: 14px;
	margin-bottom: 20px;
}
.footer_link ul:first-child {
	margin-right: 50px;
	border-right: 1px solid #E6E6E6;
}
.footer_link ul li {
	margin-bottom: 15px;
}
@media (max-width: 1020px) {
	.footerMain .container {
		padding-left: 20px;
		padding-right: 20px;
	}
}
@media (max-width: 767px) {
	.footerMain {
		padding-bottom: 55px;
	}
	.copyrightBlock {
		position: relative;
		text-align: center;
	}
}

/* 問い合わせリンク（スマホ専用）
-------------------------------------------------- */
.sp_contact_fix {
	position: fixed;
	bottom: 0;
	background: rgba(255,255,255,0.8);
	padding: 6px;
	width: 100%;
	z-index: 100;
}
.telBtn {
	float: left;
	background: #22AC38;
	padding: 3px;
	width: calc((100vw - 20px) * 0.55);
}
.telBtn a span {
	background: url(../images/common/telBtn_bg.png) no-repeat 0 50%;
	background-size: auto 25px;
	padding-left: 25px;
}
.webBtn {
	float: right;
	background: #00A9A9;
	padding: 3px;
	width: calc((100vw - 20px) * 0.45);
}
.webBtn a span {
	background: url(../images/common/webBtn_bg.png) no-repeat 0 50%;
	background-size: auto 25px;
	padding-left: 35px;
}
.sp_contact_fix a {
	display: block;
	background: url(../images/common/sp_contact_bg.png) repeat;
	line-height: 41px;
	font-weight: bold;
	text-decoration: none;
	color: #FFF;
}


/* ==================================================
以下、装飾の指定
================================================== */

/* 文字装飾
-------------------------------------------------- */
.red {
    color: #EA5504;
}
.bld{
    font-weight:bold;
}
.small{
    font-size:11px;
}
.big{
    font-size:21px;
}
.large{
    font-size:26px;
}
.mega {
    font-size:32px;
}
.orange {
    color: #EA5504;
}
.mincho {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

/* 回りこみ
-------------------------------------------------- */
.right {
    float:right;
}
.left {
    float:left;
}
.alignright {
    text-align:right;
}
.alignleft {
    text-align:left;
}
.aligncenter {
    text-align:center;
}

/* 複数カラム
-------------------------------------------------- */
[class^="line-"] div,[class*=" line-"] div {
	margin-right: 2%;
	float: left;
}
[class^="line-"] div:last-child,[class*=" line-"] div:last-child {
	margin-right: 0;
}
.line-2 div {
	width: 48%;
}
.line-3 div {
	width: 32%;
}
.line-4 div {
	width: 23.5%;
}

/* width
-------------------------------------------------- */
.w10p {
    width: 10%;
}
.w20p {
    width: 20%;
}
.w30p {
    width: 30%;
}
.w40p {
    width: 40%;
}
.w50p {
    width: 50%;
}
.w60p {
    width: 60%;
}
.w70p {
    width: 70%;
}
.w80p {
    width: 80%;
}
.w90p {
    width: 90%;
}
.w100p {
    width: 100%;
}

/* height
-------------------------------------------------- */
.h100 {
    height: 100px;
}
.h200 {
    height: 200px;
}

/* margin
-------------------------------------------------- */
.mb0 {
    margin-bottom:0 !important;
}
.mb10 {
    margin-bottom:10px !important;
}
.mb20 {
    margin-bottom:20px !important;
}
.mb30 {
    margin-bottom:30px !important;
}

/* display
-------------------------------------------------- */
.dispTable {
	display: table;
	margin: 0 auto;
}
.dispTable div {
	float: left;
}

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