@charset "UTF-8";

/* ****************************************************
base.css
PC基本スタイル（481px以上）＋SP対応（480px以下）
***************************************************** */


/* ==============================================
   グローバル基本設定
============================================== */

body {
	text-align: left;
	font-feature-settings: "palt";
	font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "游ゴシック", YuGothic, "メイリオ", "Meiryo", sans-serif;
	color: #333333;
}

.sp_only {
	display: none !important;
}

.pc_only {
	display: block;
}

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

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

a:link,
a:visited {
	color: #c90e25;
	text-decoration: underline;
}

a:hover,
a:active {
	color: #fe6613;
	text-decoration: none;
}


/* ==============================================
   ヘッダー（PC）
============================================== */

header {
	background: #fff;
}

header .inner {
	margin: 0 auto;
	width: 1100px;
	height: 180px;
	position: relative;
}

header .inner #logo {
	position: absolute;
	top: 10px;
	left: 20px;
}

header .inner #tel {
	position: absolute;
	top: 25px;
	right: 310px;
}

header .inner #form {
	position: absolute;
	top: 25px;
	right: 20px;
}

/* ハンバーガーボタン（SP専用 → PCでは非表示）
---------------------------------------------- */
.drawer-toggle.drawer-hamburger {
	display: none;
}

/* グローバルナビ（PC）
---------------------------------------------- */
@media screen and (min-width: 481px) {
	.drawer-nav {
		position: static !important;
		border-left: 0 !important;
	}

	header ul#gnavi {
		position: absolute;
		top: 110px;
		left: 0;
		width: 1100px;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-around;
		align-items: center;
	}

	header ul#gnavi li {
		font-weight: bold;
		line-height: 1.4;
		text-align: center;
	}

	header ul#gnavi li:nth-child(1) {
		display: none;
	}

	header ul#gnavi li a {
		display: block;
		position: relative;
		height: 50px;
		color: #555;
		text-decoration: none;
		border-bottom: 2px solid #fff;
	}

	header ul#gnavi li.bt1 a {
		padding: 0;
		border-top: 0;
	}

	header ul#gnavi li.iti-gyou a {
		padding-top: 10px;
		height: 40px;
	}

	header ul#gnavi li a::after {
		position: absolute;
		bottom: -2px;
		left: 0;
		content: '';
		width: 100%;
		height: 1.5px;
		background-color: #c90e25;
		transition: all 0.3s;
		transform: scaleX(0);
	}

	header ul#gnavi li a:hover::after {
		transform: scaleX(1);
	}
}


/* ==============================================
   フッター（PC）
============================================== */

#footer {
	background: #fbf7e9;
}

#footer .inner {
	margin: 0 auto;
	width: 1000px;
}

#footer .f_info {
	display: flex;
	justify-content: space-around;
	align-items: center;
	padding: 30px 0;
}

#footer ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-bottom: 40px;
}

#footer ul li {
	margin: 7px 2em;
	font-size: 14px;
}

#footer ul li a {
	color: #333;
	text-decoration: none;
}

#footer ul li a:hover {
	color: #c90e25;
	text-decoration: underline;
}

#footer #copyright {
	padding: 15px;
	background: #f1ecdb;
	font-size: 12px;
	text-align: center;
}

/* フッター固定バナー（PC：非表示）
---------------------------------------------- */
.footer_kotei {
	display: none;
}

/* ページトップへ戻る
---------------------------------------------- */
.pagetop {
	display: none;
	position: fixed;
	bottom: 30px;
	right: 15px;
	z-index: 999;
}

.pagetop a {
	display: block;
	background-color: #ccc;
	text-align: center;
	color: #222 !important;
	font-size: 22px;
	text-decoration: none;
	padding: 10px 20px;
	opacity: 0.5;
}

.pagetop a:hover {
	background-color: #b2d1fb;
	color: #fff !important;
}


/* ==============================================
   ユーティリティ（マージン・パディング）
============================================== */

.ma00 { margin: 0 !important; }
.mt00 { margin-top: 0 !important; }
.mt05 { margin-top: 5px !important; }
.mt10 { margin-top: 10px !important; }
.mt15 { margin-top: 15px !important; }
.mt20 { margin-top: 20px !important; }
.mt25 { margin-top: 25px !important; }
.mt30 { margin-top: 30px !important; }
.mt35 { margin-top: 35px !important; }
.mt40 { margin-top: 40px !important; }
.mt45 { margin-top: 45px !important; }
.mt50 { margin-top: 50px !important; }

.mr00 { margin-right: 0 !important; }
.mr05 { margin-right: 5px !important; }
.mr10 { margin-right: 10px !important; }
.mr20 { margin-right: 20px !important; }
.mr30 { margin-right: 30px !important; }
.mr40 { margin-right: 40px !important; }
.mr50 { margin-right: 50px !important; }

.mb00 { margin-bottom: 0 !important; }
.mb05 { margin-bottom: 5px !important; }
.mb10 { margin-bottom: 10px !important; }
.mb15 { margin-bottom: 15px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb25 { margin-bottom: 25px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb35 { margin-bottom: 35px !important; }
.mb40 { margin-bottom: 40px !important; }
.mb45 { margin-bottom: 45px !important; }
.mb50 { margin-bottom: 50px !important; }

.ml00 { margin-left: 0 !important; }
.ml05 { margin-left: 5px !important; }
.ml10 { margin-left: 10px !important; }
.ml20 { margin-left: 20px !important; }
.ml30 { margin-left: 30px !important; }
.ml40 { margin-left: 40px !important; }
.ml50 { margin-left: 50px !important; }

.pa00 { padding: 0 !important; }
.pt00 { padding-top: 0 !important; }
.pt05 { padding-top: 5px !important; }
.pt10 { padding-top: 10px !important; }
.pt15 { padding-top: 15px !important; }
.pt20 { padding-top: 20px !important; }
.pt25 { padding-top: 25px !important; }
.pt30 { padding-top: 30px !important; }
.pt35 { padding-top: 35px !important; }
.pt40 { padding-top: 40px !important; }
.pt45 { padding-top: 45px !important; }
.pt50 { padding-top: 50px !important; }

.pr00 { padding-right: 0 !important; }
.pr05 { padding-right: 5px !important; }
.pr10 { padding-right: 10px !important; }
.pr20 { padding-right: 20px !important; }
.pr30 { padding-right: 30px !important; }
.pr40 { padding-right: 40px !important; }
.pr50 { padding-right: 50px !important; }

.pb00 { padding-bottom: 0 !important; }
.pb05 { padding-bottom: 5px !important; }
.pb10 { padding-bottom: 10px !important; }
.pb15 { padding-bottom: 15px !important; }
.pb20 { padding-bottom: 20px !important; }
.pb25 { padding-bottom: 25px !important; }
.pb30 { padding-bottom: 30px !important; }
.pb35 { padding-bottom: 35px !important; }
.pb40 { padding-bottom: 40px !important; }
.pb45 { padding-bottom: 45px !important; }
.pb50 { padding-bottom: 50px !important; }

.pl00 { padding-left: 0 !important; }
.pl05 { padding-left: 5px !important; }
.pl10 { padding-left: 10px !important; }
.pl20 { padding-left: 20px !important; }
.pl30 { padding-left: 30px !important; }
.pl40 { padding-left: 40px !important; }
.pl50 { padding-left: 50px !important; }


/* ==============================================
   SP対応 @media (max-width: 480px)
============================================== */

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

	.sp_only {
		display: inherit !important;
	}

	.pc_only {
		display: none !important;
	}

	/* ハンバーガーボタン（SP：表示）
	---------------------------------------------- */
	.drawer-toggle.drawer-hamburger {
		display: block;
	}

	/* ドロワー オーバーレイ（ナビ展開時の背景半透明）
	---------------------------------------------- */
	.drawer-overlay {
		position: fixed;
		z-index: 200;
		top: 0;
		left: 0;
		display: none;
		width: 100%;
		height: 100%;
		background-color: rgba(235, 215, 193, 0.8) !important;
	}

	.drawer-open .drawer-overlay {
		display: block;
	}

	/* ドロワーナビ（SP展開時）
	---------------------------------------------- */
	.drawer-menu {
		text-align: left;
	}

	.titleTx {
		padding: .75rem;
		color: #666;
		font-weight: bold;
	}

	.bt1 a {
		display: block;
		padding: 10px 10px;
		border-top: 1px solid #ccc;
		color: #333;
		text-decoration: none;
	}

	.bt1 a:hover {
		color: #c90e25;
		text-decoration: none;
	}

	/* ヘッダー（SP）
	---------------------------------------------- */
	header .inner {
		width: 100%;
		height: auto;
	}

	header .inner #logo {
		position: static;
		padding: 10px 5%;
		text-align: left;
	}

	header .inner #logo img {
		width: 85%;
	}

	header .inner #tel {
		position: static;
		margin-bottom: 20px;
		text-align: center;
	}

	header .inner #tel img {
		width: 90%;
	}

	header .inner #form {
		display: none;
	}

	header .inner .drawer-menu a {
		color: #333;
		text-decoration: none;
	}

	/* フッター（SP）
	---------------------------------------------- */
	#footer {
		padding-bottom: 50px;
	}

	#footer .inner {
		width: 100%;
	}

	#footer .f_info {
		flex-direction: column;
		padding: 30px 0;
	}

	#footer .f_info .add {
		padding: 20px 0;
		text-align: center;
	}

	#footer .logo {
		margin: 0 auto;
		width: 90%;
	}

	#footer .logo img {
		width: 100%;
	}

	#footer ul {
		display: none;
	}

	/* フッター固定バナー（SP）
	---------------------------------------------- */
	.footer_kotei {
		display: inherit;
		position: fixed;
		bottom: 0;
		left: 0;
		z-index: 10000;
		width: 100%;
	}

	.footer_kotei .ti {
		padding: 3px 0 2px;
		text-align: center;
		font-size: 12px;
		color: #000;
		background-color: rgba(255, 235, 144, 0.85);
		border-top: 2px solid #ffcc66;
	}

	.footer_kotei ul li {
		float: left;
		width: 50%;
		font-size: 16px;
		line-height: 13px;
		text-align: center;
		background-color: rgba(245, 92, 17, 0.95);
		margin-left: -1px;
		border-left: 1px solid #ffcc66;
	}

	.footer_kotei ul li:first-child {
		margin-left: 0;
		border-left: 0;
	}

	.footer_kotei ul li a {
		display: block;
		padding: 20px 0;
		width: 100%;
		color: #ffffff;
		text-decoration: none;
	}

	.footer_kotei ul li a.tel span {
		background: url(../img/footer_kotei_tel.png) no-repeat left center;
		background-size: 36px auto;
		padding: 15px 0 15px 50px;
	}

	.footer_kotei ul li a.mail span {
		background: url(../img/footer_kotei_mail.png) no-repeat left center;
		background-size: 36px auto;
		padding: 15px 0 15px 50px;
	}

	/* ページトップへ戻る（SP）
	---------------------------------------------- */
	.pagetop {
		bottom: 70px;
	}

}