@charset "utf-8";
/* CSS Document */




/*html基本設定
================================*/
html {
	overflow-y: scroll;
}
body {
	overflow: hidden;
	/*↓文字の基本設定*/
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 16px;
	font-weight: 400;
	text-align: justify;
	color: #333;
	/* ↓iPhoneの文字サイズ自動調整を無効化 */
	-webkit-text-size-adjust: 100%;
	min-height: 100vh;
	background: linear-gradient(#bcb4b3,#fff 230px);
}
h1 ,h2 ,h3 ,h4 ,h5 ,h6 {}
p, dl, dt, dd, ol, ul, li {
	line-height: 1.6;
}
img {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}
a {
	/*color: #333;*/
	text-decoration: none;
}
a:link {
	text-decoration: none;
}
a:visited {}
a:hover {}
a:active {}
a.link {
	text-decoration: underline;
	color: #633419;
}

/*================================
共通パーツ
================================*/
.mb0 {
	margin-bottom:0 !important;
}
.mb5 {
	margin-bottom:5px !important;
}
.mb10 {
	margin-bottom:10px !important;
}
.mb15 {
	margin-bottom:15px !important;
}
.mb20 {
	margin-bottom:20px !important;
}
.mb30 {
	margin-bottom:30px !important;
}
.mb40 {
	margin-bottom:40px !important;
}
.mb50 {
	margin-bottom:50px !important;
}
.mb60 {
	margin-bottom:60px !important;
}
.mb70 {
	margin-bottom:70px !important;
}
.mb80 {
	margin-bottom:80px !important;
}
.fl {
	float: left;
}
.fr {
	float: right;
}
.clear {
	clear: both;
}
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
.clearfix {
	display: inline-block;
}
.text_left,
.align-left {
	text-align: left;
}
.text_right,
.align-right {
	text-align: right;
}
.text_center,
.align-center {
	text-align: center;
}
.flow-root {
	display: flow-root;
}
.pic-right {
	float: right;
	margin-left: 20px;
}
.pic-left {
	float: left;
	margin-right: 20px;
}
.block-center {
	display: block;
	margin-inline: auto;
}
.resp {
	max-width: 100%;
	height: auto;
}
.hidden {
	overflow: hidden;
}
.w-fit {
	width: fit-content;
}

/*-------------------------------
frame
-------------------------------*/
.frame01 {
	padding: 16px;
	background: #f3f3f3;
	border: 1px solid #cdcdcd;
}
.frame02 {
	padding: 16px;
	background: #fff;
	border: 1px solid #cdcdcd;
}
.frame03 {
	padding: 16px;
	background: #fff;
	border: 1px solid #cc0001;
}
.frame04 {
	padding: 16px;
	background: #fffac0;
	border: 1px solid #f4b05d;
	border-radius: 4px;
}
.frame05 {
	padding: 16px;
	background: #fff;
	border-radius: 6px;
}
.frame_point {
	padding: 16px 16px 16px 80px;
	background-image: url(../img/point_pic.png);
	background-position: left 10px top 10px;
	background-color: #fffac0;
	border: 1px solid #f4b05d;
	border-radius: 4px;
	font-size: 15px;
}

/*-------------------------------
文字の指定
-------------------------------*/
.txt_red {
	color: #cc0001;
}
.txt_pink {
	color: #e97e90;
}
.txt_black {
	color: #333;
}
.txt_green {
	color: #129795;
}
.bold {
	font-weight: bold;
}
.em {
	font-weight: bold;
}
.strong{
	font-weight:bold;
}
.small {
	font-size: 14px;
}
.small02 {
	font-size: 13px;
}
.kome {
	padding-left: 1em;
	text-indent: -1em;
}
.underline {
	text-decoration: underline;
}
.indent li {
	text-indent: -1em;
	margin-left: 1em;
}
.indent_off {
	text-indent: -0.5em;
	display: block;
}
.arrow_text {
	padding-left: 20px;
	background: url(../img/arrow01.gif)left top 8px no-repeat;
}
.disc {}
.disc > li {
	position: relative;
	z-index: 1;
	padding-left: 22px;
}
.disc > li::before {
	position: absolute;
	z-index: 1;
	content: "";
	left: 8px;
	top: 9px;
	width: 5px;
	height: 5px;
	background: #333;
	border-radius: 50%;
}
.disc02 {}
.disc02 > li {
	position: relative;
	z-index: 1;
	padding-left: 22px;
	color: #cc0001;
}
.disc02 > li::before {
	position: absolute;
	z-index: 1;
	content: "";
	left: 8px;
	top: 9px;
	width: 5px;
	height: 5px;
	background: #cc0001;
	border-radius: 50%;
}
.disc03 {}
.disc03 > li {
	position: relative;
	z-index: 1;
	padding-left: 22px;
}
.disc03 > li::before {
	position: absolute;
	z-index: 1;
	content: "";
	left: 8px;
	top: 9px;
	width: 5px;
	height: 5px;
	border: 1px solid #333;
	border-radius: 50%;
}
.num_ol {
	counter-reset: number;
}
.num_ol li {
	margin-bottom: 6px;
	display: flex;
	justify-content: flex-start;
	align-items: start;
	gap: 6px;
}
.num_ol li::before {
	counter-increment: number;
	content: counter(number)'.';
}

/*-------------------------------
見出し
-------------------------------*/
.main_title01 {
	margin-bottom: 20px;
	padding: 4px 0;
	background: linear-gradient(#fff 60%,#f0f0f0 100%);
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	text-align: left;
}
.main_title01 .text {
	display: inline-block;
	padding: 0 16px;
	border-right: 1px solid #ccc;
	font-size: 16px;
	line-height: 1.6;
}

/*================================
全体
================================*/
#container {
	max-width: 750px;
	background: #fff;
	margin-inline: auto;
	box-shadow: 0 0 16px rgba(0,0,0,0.1);
}
#top {
	padding: 3px 10px;
	background: #663300;
}
#top h1 {
	color: #fff;
	text-align: right;
	font-size: 9px;
}
#wrpper {
	padding: 0 25px 0;
}

/*================================
ヘッダー
================================*/
#header {
	padding: 10px 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-flow: row wrap;
	gap: 20px;
}
.hd_logo {}
.hd_info {}
.hd_address {
	margin-bottom: 5px;
	font-size: 12px;
	text-align: right;
}
.hd_tel {}

/*================================
グローバルナビ
================================*/
#g-nav {
	position: relative;
	z-index: 1;
	margin-bottom: 10px;
}
.g-nav_ul {
	display: flex;
	justify-content: center;
	align-items: center;
}
.g-nav_ul li {}
#btn_01-sub {
	cursor: pointer;
	position: absolute;
	z-index: 1;
	visibility: hidden;
	top: 28px;
	left: 100px;
	width: 100px;
	height: 84px;
	line-height: 28px;
	color: #FFFFFF;
	font-weight: bold;
	text-align: center;
}
#btn_01-sub a {
	cursor: pointer;
	position: relative;
	overflow: hidden;
	display: block;
	z-index: 10;
	width: 100px;
	height: 0;
	padding-top: 28px;
	background: url(../img/btn_add.gif) no-repeat 0 0;
	color: #FFFFFF;
	zoom: 1;
}
#btn_01-sub li {
	cursor: pointer;
}
#btn_01-sub li.implant a {
	background-position: 0 0;
}
#btn_01-sub li.shisyu a {
	background-position: 0 -28px;
}
#btn_01-sub li.yobou a {
	background-position: 0 -56px;
}
#btn_01-sub li.implant a:hover {
	background-position: -100px 0;
}
#btn_01-sub li.shisyu a:hover {
	background-position: -100px -28px;
}
#btn_01-sub li.yobou a:hover {
	background-position: -100px -56px;
}

/*================================
メインコンテンツ
================================*/
#main-visual {
	margin-bottom: 20px;
}
#cont_area {
	padding-bottom: 30px;
}
.section {}
.section:not(:last-child) {
	margin-bottom: 50px;
}

/*================================
フッター
================================*/
#footer_area {
	padding: 20px;
	background-color: #663300;
	background-image: url(../img/kamoku/bg_kamoku.gif);
	background-position: left top;
	display: flex;
	justify-content: center;
	align-items: stretch;
	flex-flow: row wrap;
	gap: 40px;
}
.ft_title01 {
	margin-bottom: 4px;
	font-size: 15px;
	font-weight: bold;
	text-align: center;
	color: #fff;
}
.ft_text {
	font-size: 12px;
	text-align: left;
	color: #fff;
}
.ft_kamoku {
	width: 160px;
}
.ft_kamoku_ul {
	width: fit-content;
	margin-inline: auto;
}
.ft_kamoku_ul li {
	padding-left: 1em;
	text-indent: -1em;
	font-size: 12px;
	text-align: left;
	color: #fff;
}
.ft_note {
	width: 250px;
}
.ft_note_ul {}
.ft_note_ul li {
	padding-left: 1em;
	text-indent: -1em;
	font-size: 12px;
	text-align: left;
	color: #fff;
}
.ft_access {
	width: 180px;
}
#footer {
	padding: 10px;
	background-color: #333333;
}
.ft_copy {
	font-size: 12px;
	color: #fff;
}

/* ページTOPへ戻る
------------------------*/
.pagetop {
	opacity: 0;
	transition: .4s;
	position: fixed;
	z-index: 6;
	right: 20px;
	bottom: 40px;
	width: 60px;
	aspect-ratio: 1/1;
	border: none;
	background: url(../img/pagetop.png)center/contain no-repeat;
	cursor: pointer;
}
.pagetop:hover {
	filter: brightness(110%);
}


/*================================
TABLET横 1080px～0px
================================*/
@media screen and (max-width: 1080px) {}


/*================================
TABLET縦 834px～0px
================================*/
@media screen and (max-width: 834px) {

	/*-------------------------------
	横スクロール
	-------------------------------*/
	.scroll-sp {
		overflow-x: scroll;
		position: relative;
		z-index: 1;
	}
	.scroll_text {
		margin-bottom: 10px;
		text-align: center;
	}
	.scroll_text .word {
		position: relative;
		z-index: 1;
		display: inline-block;
		padding-right: 16px;
		font-size: 14px;
		line-height: 1;
	}
	.scroll_text .word::after {
		position: absolute;
		z-index: 1;
		content: "";
		right: 0;
		top: 2px;
		width: 9px;
		height: 10px;
		background: #633419;
		clip-path: polygon(12% 0, 100% 44%, 100% 56%, 12% 100%, 0 88%, 0 12%);
	}

	/*-------------------------------
	frame
	-------------------------------*/
	.frame01 {}
	.frame02 {}
	.frame03 {}
	.frame04 {}
	.frame05 {}
	.frame_point {
		padding: 80px 16px 16px 16px;
		background-position: left 10px top 10px;
	}

	/*-------------------------------
	見出し
	-------------------------------*/
	.main_title01 {}
	.main_title01 .text {}

	/*================================
	全体
	================================*/
	#container {}
	#top {}
	#top h1 {}
	#wrpper {}

	/*================================
	ヘッダー
	================================*/
	#header {}
	.hd_logo {}
	.hd_info {}
	.hd_address {}
	.hd_tel {}

	/*================================
	メインコンテンツ
	================================*/
	#main-visual {}
	#cont_area {}
	.section {}

	/*================================
	フッター
	================================*/
	#footer_area {}
	.ft_title01 {}
	.ft_kamoku {}
	.ft_kamoku_ul {}
	.ft_kamoku_ul li {}
	.ft_note {}
	.ft_note_ul {}
	.ft_note_ul li {}
	.ft_access {}
	#footer {}
	.ft_copy {}

	/* ページTOPへ戻る
	------------------------*/
	.pagetop {}

}


/*================================
SP表示 667px～0px
================================*/
@media (max-width: 667px) {

	/*html基本設定
	================================*/
	p, dl, dt, dd, ol, ul, li {
		font-size: 15px;
	}

	/*================================
	共通パーツ
	================================*/
	.fl,
	.fr {
		display: block;
		float: none;
		margin: 0 auto ;
	}
	.pic-right,
	.pic-left {
		display: block;
		float: none;
		margin: 0 auto 20px;
	}

	/*================================
	見出し
	================================*/
	.main_title01 {}
	.main_title01 .text {
		padding: 0 12px;
		font-size: 15px;
	}

	/*================================
	全体
	================================*/
	#container {}
	#top {}
	#top h1 {}
	#wrpper {
		padding: 0 16px 0;
	}

	/*================================
	ヘッダー
	================================*/
	#header {
		padding-right: 60px;
	}
	.hd_logo {}
	.hd_info {}
	.hd_address {}
	.hd_tel {}

	/*================================
	メインコンテンツ
	================================*/
	#main-visual {}
	#cont_area {}
	.section {
		margin-bottom: 40px;
	}

	/*================================
	フッター
	================================*/
	#footer_area {}
	.ft_title01 {}
	.ft_kamoku {
		width: 100%;
	}
	.ft_kamoku_ul {}
	.ft_kamoku_ul li {}
	.ft_note {
		width: 100%;
	}
	.ft_note_ul {}
	.ft_note_ul li {}
	.ft_access {
		width: 100%;
	}
	#footer {
		padding-bottom: 60px;
	}
	.ft_copy {}

	/* ページTOPへ戻る
	------------------------*/
	.pagetop {
		right: 10px;
		width: 40px;
	}

	/* 画面下固定タブ
	================================*/
	.bottom_fix {
		display: flex;
		justify-content: flex-start;
		align-items: stretch;
		flex-flow: row wrap;
		position: fixed;
		z-index: 8;
		left: 0;
		bottom: 0;
		width: 100%;
	}
	.bottom_tab {
		display: flex;
		justify-content: center;
		align-items: stretch;
	}
	.bottom_link {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		padding: 6px 10px;
	}
	.bottom_txt {
		font-size: 16px;
		font-weight: bold;
		line-height: 1.4;
		color: #fff;
	}
	/*tel*/
	.bottom_tab.-tel {
		width: 100%;
		background: #663300;
	}
	.bottom_tab.-tel .bottom_link {}
	.bottom_tab.-tel .bottom_txt {}


}
