@charset "UTF-8";abbr,address,article,aside,audio,b,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,p,pre,q,samp,section,small,span,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,ul,var,video{margin:0;padding:0;border:0;outline:0;vertical-align:baseline;background:0 0;box-sizing:border-box}body{line-height:1.4}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}li,nav ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:0 0;text-decoration:none}img{max-width:100%;height:auto}ins{background-color:#ff9;color:#000;text-decoration:none}mark{background-color:#ff9;color:#000;font-style:italic;font-weight:700}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}input,select{vertical-align:middle}.clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden}.clearfix{display:inline-table}* html .clearfix{height:1%}.clearfix{display:block}a,small,span,strong{color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;letter-spacing:inherit}input[type=button],input[type=reset],input[type=submit]{border-radius:0;-webkit-box-sizing:content-box;-webkit-appearance:button;appearance:button;border:none;box-sizing:border-box;cursor:pointer;background:0 0}input[type=button]::-webkit-search-decoration,input[type=submit]::-webkit-search-decoration{display:none}input[type=button]::focus,input[type=submit]::focus{outline-offset:-2px}button{background-color:transparent;border:none;cursor:pointer;outline:0;padding:0;appearance:none}
@charset "utf-8";
/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	outline: 0;
	font-size: 1em;
}
html {
	font-size: 62.5%;
}
body, table, input, textarea, select, option {
	font-family: source-han-sans-japanese, sans-serif;
	font-weight: 300;
	font-style: normal;
}
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
	display: block;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
:focus {
	outline: 0;
}
ins {
	text-decoration: none;
}
del {
	text-decoration: line-through;
}
img {
	vertical-align: top;
	max-width: 100%;
	height: auto;
}
a, a:link {
	color: #000;
	text-decoration: none;
	transition: 0.3s;
}
a:visited {
	color: #000;
}
a:hover {
	color: #000;
}
a:active {
	color: #000;
}
/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
	color: #000;
	font-size: 1.4rem;
	font-weight: 300;
	line-height: 1.5;
	-webkit-text-size-adjust: none;
	text-size-adjust: none;
	background-color: #FFF;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
body.fixed {
	position: fixed;
	width: 100%;
	overflow-y: scroll;
	height: 100%;
}
#container {
	position: relative;
	text-align: left;
	overflow: hidden;
}
#main {
	display: block;
}
a[href^="tel:"] {
	cursor: default;
	pointer-events: none;
}
@media all and (min-width: 897px) {
	.sp {
		display: none !important;
	}
}
@media all and (max-width: 896px) {
	body.fixed {
		overflow-y: hidden;
	}
	a[href^="tel:"] {
		cursor: pointer;
		pointer-events: auto;
	}
	a:hover, a:hover img {
		opacity: 1 !important;
	}
	.pc {
		display: none !important;
	}
}
/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
#gHeader {
	padding: 14px;
	width: 100%;
	position: fixed;
	left: 0;
	top: 0;
	display: flex;
	justify-content: space-between;
	box-sizing: border-box;
	z-index: 100;
}
#gHeader .hTtlBox {
	margin-top: -4px;
	display: flex;
	align-items: center;
	color: #AE002C;
	font-size: 1rem;
	font-weight: 900;
}
#gHeader .logo {
	margin-right: 15px;
	width: 45px;
}
#gHeader .hTxtBox {
	padding-bottom: 6px;
}
#gHeader .hBox {
	display: flex;
	align-items: center;
}
#gHeader .hBox .tel {
	margin-right: 19px;
}
#gHeader .hBox .tel a {
	padding: 3px 0 0 20px;
	display: block;
	color: #AE002C;
	font-size: 2.8rem;
	font-weight: 400;
	letter-spacing: -0.02em;
	background: url("../images/common/webp/icon01.webp") no-repeat left center / 12px auto;
}
.no-webp #gHeader .hBox .tel a {
	background-image: url("../images/common/icon01.png");
}
#gHeader .hBox .hBtn {
	display: flex;
}
#gHeader .hBox .hBtn a {
	padding: 10px 0 10px 33px;
	width: 114px;
	display: flex;
	align-items: center;
	color: #AE002C;
	font-size: 1.6rem;
	font-weight: 900;
	letter-spacing: 0.05em;
	box-sizing: border-box;
	border-radius: 50px 0 0 50px;
	border: 2px solid #AE002C;
	background: #fff url("../images/common/webp/icon02.webp") no-repeat left 13px center / 15px auto;
}
.no-webp #gHeader .hBox .hBtn a {
	background-image: url("../images/common/icon02.png");
}
.menu {
	width: 52px;
	height: 52px;
	position: relative;
	cursor: pointer;
	border-radius: 0 50px 50px 0;
	border: 2px solid #AE002C;
	background: #AE002C;
	box-sizing: border-box;
	transition: 0.3s;
}
.menu::after {
	padding: 0 5px 8px 0;
	width: 100%;
	position: absolute;
	left: 0;
	bottom: 0;
	text-align: center;
	color: #fff;
	font-weight: 900;
	font-size: 1rem;
	line-height: 1;
	content: "MENU";
	box-sizing: border-box;
}
.menu span {
	width: 15px;
	height: 1px;
	display: block;
	position: absolute;
	left: 14px;
	top: 10px;
	background: #fff;
	transition: 0.3s;
}
.menu span:nth-child(2) {
	top: 16px;
}
.menu span:nth-child(3) {
	top: 22px;
}
.menu.on span:nth-child(1) {
	transform: translateY(6px) translateX(0) rotate(45deg);
}
.menu.on span:nth-child(2) {
	opacity: 0;
}
.menu.on span:nth-child(3) {
	transform: translateY(-6px) translateX(0) rotate(-45deg);
}
.menuBox {
	width: 370px;
	height: 100%;
	position: fixed;
	right: 0;
	top: 0;
	color: #fff;
	overflow: auto;
	background: rgba(201, 166, 134, 0.95);
	transition: 0.4s;
	transform: translateX(100%);
	z-index: 90;
}
.menuBox.on {
	transform: translateX(0);
}
.menuBox .menuWrap {
	padding: 113px 15px;
}
.menuBox ul {
	margin: 0 20px 35px;
	border-top: 1px solid #D4B89E;
}
.menuBox li {
	border-bottom: 1px solid #D4B89E;
}
.menuBox li a {
	padding: 6px 50px 6px 25px;
	display: block;
	position: relative;
	color: #fff;
	font-size: 1.5rem;
	font-weight: 900;
	line-height: 1.47;
	letter-spacing: 0.05em;
}
.menuBox li.pull > a::before {
	width: 10px;
	height: 2px;
	position: absolute;
	right: 31px;
	top: 50%;
	background: #fff;
	content: "";
}
.menuBox li.pull > a::after {
	margin-top: 1px;
	width: 2px;
	height: 10px;
	position: absolute;
	right: 35px;
	top: 50%;
	background: #fff;
	content: "";
	transform: translateY(-50%);
	transition: 0.3s;
}
.menuBox li.pull > a.on::after {
	opacity: 0;
}
.menuBox .pullBox {
	display: none;
}
.menuBox .pullBox .subList {
	margin: 0;
	padding: 8px 0 12px 3.9em;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	border: none;
}
.menuBox .pullBox .subList li {
	width: 52%;
	border: none;
}
.menuBox .pullBox .subList li:nth-child(2n) {
	width: 45.5%;
}
.menuBox .pullBox .subList li a {
	padding: 0;
	display: block;
	font-size: 1.3rem;
	line-height: 1.99;
}
.menuBox .adr {
	text-align: center;
	font-size: 1.2rem;
	line-height: 1.68;
	letter-spacing: 0.05em;
}
@media all and (min-width: 1025px) {
	.menuBox li a:hover {
		color: #ae002c;
	}
}
@media all and (min-width: 1025px) {
	#gHeader .hBox .hBtn a:hover {
		color: #fff;
		background-color: #1f1f1f;
		background-image: url("../images/common/webp/icon03.webp");
		border-color: #1f1f1f;
	}
	.no-webp #gHeader .hBox .hBtn a:hover {
		background-image: url("../images/common/icon03.png");
	}
	.menu:hover {
		border-color: #1f1f1f;
		background-color: #1f1f1f;
	}
}
@media all and (max-width: 896px) {
	#gHeader {
		padding: 0;
		position: static !important;
	}
	#gHeader .hTtlBox {
		margin-top: 0;
		padding: 9px;
		position: absolute;
		left: 0;
		top: 0;
		z-index: 10;
	}
	#gHeader .logo {
		margin: 0 7px 0 1px;
	}
	#gHeader .hTxtBox {
		padding-bottom: 3px;
	}
	#gHeader .hBox {
		display: block;
	}
	#gHeader .hBox .hBtn {
		display: block;
	}
	.menu {
		position: fixed;
		right: 9px;
		top: 9px;
		border-radius: 50%;
		border: none;
		z-index: 1000;
	}
	.menu::after {
		padding: 0 0 10px;
	}
	.menu span {
		left: 18px;
		top: 12px;
	}
	.menu span:nth-child(2) {
		top: 18px;
	}
	.menu span:nth-child(3) {
		top: 24px;
	}
	.menuBox {
		width: 100%;
		z-index: 999;
	}
	.menuBox li a {
		padding-left: 28px;
	}
	.menuBox li.pull > a::before {
		right: 33px;
	}
	.menuBox li.pull > a::after {
		right: 37px;
	}
	.menuBox .pullBox .subList {
		padding-left: 4em;
	}
	.menuBox .adr {
		letter-spacing: 0.02em;
	}
}
@media all and (max-width: 359px) {
	#gHeader .logo {
		margin-right: 5px;
	}
	.menu {
		right: 5px;
	}
	.menuBox .pullBox .subList {
		padding-left: 3em;
	}
}
/*------------------------------------------------------------
	#gNavi
------------------------------------------------------------*/
#gNavi {
	position: absolute;
	left: 0;
	bottom: 20px;
	width: 100%;
	text-align: center;
	z-index: 10;
}
#gNavi li {
	margin: 0 13.5px;
	display: inline-block;
	vertical-align: top;
	font-size: 1.3rem;
	font-weight: 900;
	letter-spacing: 0.1em;
}
#gNavi li a {
	padding-bottom: 2px;
	position: relative;
	color: #AE002C;
}
#gNavi li a:before {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 2px;
	background: #AE002C;
	content: "";
	transform: scale(0, 1);
	transform-origin: center top;
	transition: transform .3s;
}
@media all and (min-width: 897px) {
	#gNavi li a:hover:before {
		transform: scale(1, 1);
	}
}
@media all and (max-width: 896px) {
	#gNavi {
		display: none;
	}
}
/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#gFooter .fBox {
	padding-bottom: 110px;
	position: relative;
	background: #f4ede7;
}
#gFooter .fBox:before {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 360px;
	background: url("../images/common/webp/com_bg.webp") no-repeat left top;
	background-size: 100% 100%;
	content: "";
	z-index: 1;
}
.no-webp #gFooter .fBox:before {
	background: url("../images/common/com_bg.jpg") no-repeat left top;
	background-size: 100% 100%;
}
#gFooter .fBox .fLogo {
	padding: 24px 47px 84px 0;
	position: relative;
	z-index: 2;
	text-align: center;
}
#gFooter .comBox .lBox {
	padding-top: 20px;
}
#gFooter .comBox .rBox {
	padding-top: 0;
}
#gFooter .fNaviBox {
	padding: 68px 20px 11px;
	color: #fff;
	background: url("../images/common/webp/f_bg01.webp") no-repeat left top / 349px auto, url("../images/common/webp/f_bg02.webp") no-repeat right top / 327px auto;
	background-color: #DAC1AA;
}
.no-webp #gFooter .fNaviBox {
	background: url("../images/common/f_bg01.png") no-repeat left top / 349px auto, url("../images/common/f_bg02.png") no-repeat right top / 327px auto;
	background-color: #DAC1AA;
}
#gFooter .fNaviBox .fNavi {
	margin: 0 0 44px 30px;
}
#gFooter .fNaviList {
	width: 130px;
	line-height: 1.71;
}
#gFooter .fNaviList.right {
	margin-top: 24px;
	width: 260px;
}
#gFooter .fNaviList li a {
	display: inline-block;
	color: #fff;
	font-size: 1.2rem;
	letter-spacing: 0.05em;
}
#gFooter .fNaviList li .subList {
	margin-left: 14px;
}
#gFooter .fNaviList li .subList li {
	width: 50%;
}
#gFooter .fNaviList li .subList li:nth-child(2n) {
	width: 45%;
}
#gFooter .copyright {
	text-align: center;
	display: block;
	font-style: normal;
	font-size: 1.1rem;
	letter-spacing: 0.05em;
}
#gFooter .copyright a {
	color: #fff;
}
@media all and (min-width: 1025px) {
	#gFooter .fNaviList li a:hover {
		color: #ae002c;
	}
	#gFooter .copyright a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	#gFooter .fBox {
		padding-bottom: 20px;
	}
	#gFooter .fBox:before {
		height: 100px;
		background: url("../images/common/webp/sp_com_bg.webp") no-repeat left top;
		background-size: 100% 100%;
	}
	.no-webp #gFooter .fBox:before {
		background: url("../images/common/sp_com_bg.jpg") no-repeat left top;
		background-size: 100% 100%;
	}
	#gFooter .fBox .fLogo {
		padding: 24px 0 24px 0;
	}
	#gFooter .comBox .lBox {
		padding-top: 20px;
	}
	#gFooter .comBox .rBox {
		padding-top: 22px;
	}
	#gFooter .fNaviBox {
		padding: 43px 20px 58px;
		display: block;
		background: #DAC1AA url("../images/common/webp/sp_f_bg.webp") no-repeat right top / 180px auto;
	}
	.no-webp #gFooter .fNaviBox {
		background-image: url("../images/common/sp_f_bg.png");
	}
	#gFooter .fNaviBox .fNavi {
		margin: 0 0 40px;
		display: block;
	}
	#gFooter .fNaviList {
		box-sizing: border-box;
		margin: 0 auto 25px;
		padding-left: 17px;
		width: 85%;
		min-width: 270px;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		line-height: 1.86;
	}
	#gFooter .fNaviList li {
		width: 50%;
	}
	#gFooter .fNaviList:first-child li:first-child {
		width: 100%;
	}
	#gFooter .fNaviList li:nth-child(2n-1) {
		width: 38%;
	}
	#gFooter .fNaviList.right {
		margin-top: 0;
		margin-bottom: 0;
		width: 85%;
		display: block;
	}
	#gFooter .fNaviList.right li {
		width: auto;
	}
	#gFooter .fNaviList li .subList {
		margin-left: 14px;
		display: flex;
	}
	#gFooter .fNaviList li .subList li:nth-child(2n) {
		width: 38.4%;
	}
	.fixList {
		box-sizing: border-box;
		width: 100%;
		position: fixed;
		left: 0;
		bottom: 0;
		display: flex;
		z-index: 100;
	}
	.fixList li {
		width: 50%;
	}
	.fixList li a {
		box-sizing: border-box;
		padding: 6px 5px 0;
		width: 100%;
		height: 100%;
		display: block;
		color: #fff;
		text-align: center;
		font-weight: 900;
		background: #AE002C;
		border: 2px solid #AE002C;
	}
	.fixList li a .txt01 {
		display: block;
		font-size: 1.1rem;
		letter-spacing: 0.05em;
		line-height: 1;
	}
	.fixList li a .txt02 {
		padding-left: 24px;
		padding-bottom: 2px;
		display: inline-block;
		font-size: 1.8rem;
		background: url("../images/common/webp/icon04.webp") no-repeat left center / 16px auto;
	}
	.no-webp .fixList li a .txt02 {
		background: url("../images/common/icon04.png") no-repeat left center / 16px auto;
	}
	.fixList .tel a {
		color: #AE002C;
		background-color: #fff;
	}
	.fixList .tel a .txt02 {
		margin: -1px -1px 1px 0;
		padding-left: 16px;
		background: url("../images/common/webp/icon01.webp") no-repeat left center / 12px auto;
	}
	.no-webp .fixList .tel a .txt02 {
		background: url("../images/common/icon01.png") no-repeat left center / 12px auto;
	}
}
@media all and (max-width: 374px) {
	#gFooter .fNaviList {
		padding-left: 5px;
	}
}
@media all and (max-width: 359px) {
	.fixList li a .txt02 {
		letter-spacing: 0;
	}
}
/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* clearfix */
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}
/* flex */
.flex, .flexA, .flexB, .flexC {
	display: flex;
	flex-wrap: wrap;
}
.flexA {
	justify-content: space-around;
}
.flexB {
	justify-content: space-between;
}
.flexC {
	justify-content: center;
}
.din {
	font-family: din-condensed, sans-serif;
	font-weight: 400;
	font-style: normal;
}
/*------------------------------------------------------------
	common
------------------------------------------------------------*/
.content {
	max-width: 930px;
	padding: 0 15px;
	margin: 0 auto;
}
@media all and (max-width: 896px) {
	.content {
		padding: 0 20px;
		max-width: inherit;
	}
}
/*------------------------------------------------------------
	comLink
------------------------------------------------------------*/
.comLink a {
	padding: 18px 37px 18px 0;
	color: #1F1F1F;
	font-size: 1.3rem;
	font-weight: 900;
	background: url("../images/common/webp/icon05.webp") no-repeat right center;
	background-size: 26px auto;
}
.no-webp .comLink a {
	background: url("../images/common/icon05.png") no-repeat right center;
	background-size: 26px auto;
}
@media all and (min-width: 1025px) {
	.comLink a:hover {
		background: url("../images/common/webp/icon05_over.webp") no-repeat right center;
		background-size: 26px auto;
	}
	.no-webp .comLink a:hover {
		background: url("../images/common/icon05_over.png") no-repeat right center;
		background-size: 26px auto;
	}
}
/*------------------------------------------------------------
	comBox
------------------------------------------------------------*/
.comBox {
	position: relative;
	z-index: 2;
}
.comBox .lBox {
	width: 39%;
}
.comBox .lBox h3 {
	color: #AE002C;
	font-size: 1.6rem;
	font-weight: 900;
	letter-spacing: 0.05em;
}
.comBox .lBox .tel {
	margin-bottom: 8px;
}
.comBox .lBox .tel a {
	padding-left: 20px;
	color: #AE002C;
	font-size: 2.8rem;
	display: inline-block;
	background: url("../images/common/webp/tel.webp") no-repeat left center;
	background-size: 12px auto;
}
.no-webp .comBox .lBox .tel a {
	background: url("../images/common/tel.png") no-repeat left center;
	background-size: 12px auto;
}
.comBox .lBox .address {
	margin-bottom: 23px;
	color: #1F1F1F;
	font-size: 1.2rem;
	line-height: 1.65;
	letter-spacing: 0.05em;
}
.comBox .lBox .tabBox {
	margin: 0 16px 0 0;
}
.comBox .lBox table {
	margin-bottom: 10px;
	width: 100%;
	border-collapse: collapse;
}
.comBox .lBox th, .comBox .lBox td {
	color: #1F1F1F;
	font-weight: 300;
	text-align: center;
	vertical-align: middle;
}
.comBox .lBox thead th {
	width: 10%;
	padding: 11px 2px 13px;
	background: #ebdad0;
	letter-spacing: 0.1em;
}
.comBox .lBox thead th:first-child {
	width: 30%;
	border-radius: 15px 0 0 0;
}
.comBox .lBox thead th:last-child {
	border-radius: 0 15px 0 0;
}
.comBox .lBox tbody th {
	padding: 14px 2px 0;
	background: #fff;
}
.comBox .lBox tbody td {
	padding: 14px 2px 0;
	width: 10%;
	background: #fff;
}
.comBox .lBox tbody td:first-child {
	width: 30%;
}
.comBox .lBox tbody td .ico {
	color: #AE002C;
}
.comBox .lBox tbody tr:last-child th {
	border-radius: 0 0 0 15px;
}
.comBox .lBox tbody tr:last-child td:last-child {
	border-radius: 0 0 15px 0;
}
.comBox .lBox tbody tr:last-child th {
	padding: 14px 2px 18px;
}
.comBox .lBox tbody tr:last-child td {
	padding: 14px 2px 18px;
}
.comBox .lBox .time {
	color: #AE002C;
}
.comBox .rBox {
	padding-top: 4%;
	width: 56%;
}
.comBox .rBox .comLink {
	margin-top: 10px;
	text-align: right;
}
@media all and (max-width: 896px) {
	.comBox {
		display: block;
	}
	.comBox .lBox {
		width: 100%;
	}
	.comBox .lBox .tabBox {
		margin: 0;
	}
	.comBox .rBox {
		padding-top: 22px;
		width: 100%;
	}
	.comBox .rBox img {
		width: 100%;
	}
}
/*------------------------------------------------------------
	headLine01
------------------------------------------------------------*/
.headLine01 {
	margin-bottom: 18px;
	padding-bottom: 10px;
	color: #1F1F1F;
	font-size: 2rem;
	font-weight: 900;
	letter-spacing: 0.1em;
	border-bottom: 2px solid #8a8683;
}
/*------------------------------------------------------------
	comInner
------------------------------------------------------------*/
.comInner {
	margin: 0 -30px 26px 0;
	flex-direction: row-reverse;
	align-items: flex-end;
}
.comInner .photoBox {
	width: 68.4%;
}
.comInner .photoBox img {
	width: 100%;
}
.comInner .textBox {
	padding-bottom: 26px;
	width: 30%;
}
.comInner .textBox .txt {
	line-height: 1.7;
	letter-spacing: 0.05em;
	text-align: justify;
	text-justify: inter-ideograph;
}
@media all and (max-width: 896px) {
	.comInner {
		margin: 0 -20px 50px;
		display: block;
	}
	.comInner .photoBox {
		width: auto;
		margin: 0 -10px -10px;
	}
	.comInner .textBox {
		padding-bottom: 26px;
		width: 100%;
	}
	.comInner .textBox {
		padding: 0 20px;
	}
}
/*------------------------------------------------------------
	headLine02
------------------------------------------------------------*/
.headLine02 {
	margin-bottom: 35px;
}
.headLine02 span {
	display: block;
}
.headLine02 .en {
	margin: -3px 0 -13px;
	color: #AE002C;
	display: block;
	font-size: 5.6rem;
}
.headLine02 .jp {
	color: #1F1F1F;
	font-size: 2rem;
	font-weight: 900;
	letter-spacing: 0.1em;
}
/*------------------------------------------------------------
	headLine03
------------------------------------------------------------*/
.headLine03 {
	margin-bottom: 30px;
	font-weight: 900;
}
.headLine03 .infoTxt {
	color: #1F1F1F;
	display: inline-block;
	font-size: 2.4rem;
	background: url("../images/index/webp/line01.webp") repeat-x left bottom;
	background-size: auto 13px;
	letter-spacing: 0.05em;
}
.no-webp .headLine03 .infoTxt {
	background: url("../images/index/line01.png") repeat-x left bottom;
	background-size: auto 13px;
}
@media all and (max-width: 896px) {
	.headLine03 {
		text-align: center;
	}
}
/*------------------------------------------------------------
	headLine04
------------------------------------------------------------*/
.headLine04 {
	margin-bottom: 15px;
	color: #AE002C;
	font-size: 3rem;
	font-weight: 900;
	line-height: 1.4;
	letter-spacing: 0.05em;
	text-align: center;
}
@media all and (max-width: 896px) {
	.headLine04 {
		font-size: 2.4rem;
	}
}
/*------------------------------------------------------------
	comLinkList
------------------------------------------------------------*/
.comLinkList {
	clear: both;
	padding-bottom: 10px;
}
.comLinkList li {
	width: 50%;
}
.comLinkList li a {
	display: block;
	height: 300px;
	position: relative;
	overflow: hidden;
}
.comLinkList li .bg {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: url("../images/index/webp/bg05.webp") no-repeat center center;
	background-size: cover;
}
.no-webp .comLinkList li .bg {
	background: url("../images/index/bg05.jpg") no-repeat center center;
	background-size: cover;
}
.comLinkList li .bg02 {
	background: url("../images/index/webp/bg06.webp") no-repeat center center;
	background-size: cover;
}
.no-webp .comLinkList li .bg02 {
	background: url("../images/index/bg06.jpg") no-repeat center center;
	background-size: cover;
}
.comLinkList li .txtBox {
	position: absolute;
	left: 0;
	color: #fff;
	top: 120px;
	width: 100%;
	z-index: 2;
	text-align: center;
}
.comLinkList li .top {
	margin-bottom: 13px;
	padding: 10px 74px 10px 0;
	display: inline-block;
	font-size: 3rem;
	font-weight: 900;
	letter-spacing: 0.05em;
	background: url("../images/common/webp/icon08.webp") no-repeat right center;
	background-size: 52px auto;
}
.no-webp .comLinkList li .top {
	background: url("../images/common/icon08.png") no-repeat right center;
	background-size: 52px auto;
}
.comLinkList li .txtSpan {
	display: block;
	font-weight: 700;
	line-height: 1.75;
	letter-spacing: 0.05em;
}


#group{margin-top: 5em;    padding: 5em;
    background-color: #FFF8F2;}
#group h2 {
    margin-bottom: 15px;
    color: #AE002C;
    font-size: 2.5rem;
    font-weight: 900;
    line-height: 1.4;
    letter-spacing: 0.05em;
    text-align: center;
}
#group .comBtn{margin: 1em auto 2em;}






@media all and (min-width: 1025px) {
	.comLinkList li .bg {
		-webkit-transition: all 0.3s ease-in-out;
		transition: all 0.3s ease-in-out;
	}
	.comLinkList li a:hover .bg {
		-webkit-transform: scale(1.1);
		transform: scale(1.1);
	}
}
@media all and (max-width: 896px) {
	.comLinkList {
		padding-bottom: 36px;
	}
	.comLinkList li a {
		height: 280px;
	}
	.comLinkList li .bg {
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		background: url("../images/index/webp/sp_bg05.webp") no-repeat center center;
		background-size: cover;
	}
	.no-webp .comLinkList li .bg {
		background: url("../images/index/sp_bg05.jpg") no-repeat center center;
		background-size: cover;
	}
	.comLinkList li .bg02 {
		background: url("../images/index/webp/sp_bg06.webp") no-repeat center center;
		background-size: cover;
	}
	.no-webp .comLinkList li .bg02 {
		background: url("../images/index/sp_bg06.jpg") no-repeat center center;
		background-size: cover;
	}
	.comLinkList li .txtBox {
		top: 0;
	}
	.comLinkList li .top {
		margin-bottom: 15px;
		padding: 54px 0 65px 0;
		font-size: 2.4rem;
		line-height: 1.3;
		background: url("../images/common/webp/icon08.webp") no-repeat center bottom;
		background-size: 52px auto;
	}
	.no-webp .comLinkList li .top {
		background: url("../images/common/icon08.png") no-repeat center bottom;
		background-size: 52px auto;
	}
	.comLinkList li .txtSpan {
		margin: 0 20px;
		font-size: 1rem;
		line-height: 1.6;
		text-align: justify;
	}
	#group{padding: 2em;}
}
@media all and (max-width: 374px) {
	.comLinkList li .top {
		font-size: 2rem;
	}
}
/*------------------------------------------------------------
	comBtn
------------------------------------------------------------*/
.comBtn a {
	margin: 0 auto;
	height: 50px;
	width: 300px;
	color: #fff;
	position: relative;
	font-size: 1.6rem;
	display: flex;
	font-weight: 900;
	align-items: center;
	justify-content: center;
	border-radius: 30px;
	background: #ae002c;
	letter-spacing: 0.05em;
}
.comBtn a:before {
	margin-top: -6px;
	position: absolute;
	right: 13px;
	top: 50%;
	width: 8px;
	height: 12px;
	background: url("../images/common/webp/icon07.webp") no-repeat right center;
	background-size: 8px auto;
	content: "";
}
.no-webp .comBtn a:before {
	background: url("../images/common/icon07.png") no-repeat right center;
	background-size: 8px auto;
}
@media all and (min-width: 1025px) {
	.comBtn a:hover {
		background: #1f1f1f;
	}
}
@media all and (max-width: 896px) {
	.comBtn a {
		width: 100%;
		max-width: 300px;
	}
}
@media all and (max-width: 374px) {
	.comBtn a {
		font-size: 1.5rem;
	}
}

.entry-title a {
    color: #fff;
}


.mv{ margin-bottom: 1rem; }
.mv img{ display: block; width: 100%; height: 48rem; object-fit: cover; object-position: center; }

.pankuzu{ width: 1000px; margin: 0 auto; }
.pankuzu li{ font-size: 1.2rem; display: inline-block; }
.pankuzu li:not(:last-of-type):after{ content: '-'; margin-left: .5em; }

.float-ttl{ position: fixed; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-size: 1.2rem; font-weight: 400; right: 2rem; top: 50%; transform: translateY(-50%); margin-top: 8rem; font-feature-settings: initial; white-space: nowrap; z-index: 9982; }

main{ display: block; padding: 6rem 0 14rem; font-size: 1.4rem; box-sizing: border-box; line-height: 1.8; letter-spacing: 0.1em; text-align: justify;}
main h1{ font-size: 1.6rem; font-weight: 400; line-height: 1.6; letter-spacing: .1em; text-align: center; margin-bottom: 4rem; }
main h1:before{ display: block; content: attr(data-en)""; font-size: 6rem; font-family: din-condensed, sans-serif; font-weight: 300; letter-spacing: 0; line-height: 1.1; }

main section{ width: 800px; margin-left: auto; margin-right: auto; }
main section > img{ display: block; width: 100%; margin: 4rem 0; }
main section .btn{ width: 30rem; max-width: 100%; height: 5rem; border-radius: 2.5rem; background: #ae002c; display: flex; justify-content: center; align-items: center; font-size: 1.6rem; font-weight: 900; color: #fff; position: relative; transition: .5s; margin: 3rem 0; }
main section .btn:after{ content: ''; width: .8rem; height: .8rem; border-bottom: solid 2px; border-right: solid 2px; position: absolute; top: 50%; right: 1.6rem; transform: translateY(-50%) rotate(-45deg); }
main section .btn:hover{ background: #1f1f1f; }
main section .btn.center{ margin-left: auto; margin-right: auto; }
main section + section{ margin-top: 8rem; }
main section > *:first-child,
main section ol.card-list li *:first-child,
main section ul.img-list > li dl dd *:first-child{ margin-top: 0 !important; }
main > *:last-child,
main section > *:last-child,
main section ol.card-list li *:last-child,
main section ul.img-list > li dl dd *:last-child{ margin-bottom: 0 !important; }

main section h2:not(.no-style){ font-size: 2.4rem; font-weight: 900; color: #fff; line-height: 1.6; text-align: center; margin: 8rem 0 4rem; padding: .3em 1em; position: relative; z-index: 0; }
main section h2:not(.no-style):before{ content: ''; width: calc(100% + 10rem); height: 100%; background: #1f1f1f; position: absolute; left: -5rem; top: 0; z-index: -1; border-radius: 2em; }
main section h3:not(.no-style){ font-size: 2rem; font-weight: 900; color: #ae002c; border-bottom: solid 1px; margin: 6rem 0 2.6rem; }
main section h4:not(.no-style){ font-size: 1.8rem; font-weight: 900; color: #fff; background: #ae002c; padding: .1em 1em; margin: 4rem 0 2rem; border-radius: 2em; }
main section h5:not(.no-style){ font-size: 1.6rem; font-weight: 900; padding-left: 1em; position: relative; margin: 3rem 0 1em; }
main section h5:not(.no-style):before{ content: '●'; color: #ae002c; position: absolute; left: 0; }
main section h6:not(.no-style){ font-size: 1.5rem; font-weight: 900; margin: 1.3em 0 .8em; }
main section h2:not(.no-style) + *:not(.dr-pic),
main section h3:not(.no-style) + *,
main section h4:not(.no-style) + *,
main section h5:not(.no-style) + *,
main section h6:not(.no-style) + *{ margin-top: 0 !important; }
main section p{ margin-bottom: 1em; line-height: 2; }
main section p strong{ font-weight: 900; color: #ae002c; }

main section ol:not([class]){ margin: 4rem 0; counter-reset: number; }
main section ol:not([class]) li{ font-size: 1.6rem; padding-left: 6.4rem; position: relative; min-height: 5rem; display: flex; align-items: center; }
main section ol:not([class]) li:before{ counter-increment: number; content: counter(number); width: 5rem; height: 5rem; background: #ae002c; font-size: 2.8rem; font-family: din-condensed, sans-serif; font-weight: 400; color: #fff; line-height: 1; letter-spacing: 0; display: flex; justify-content: center; align-items: center; position: absolute; left: 0; top: 0; }
main section ol:not([class]) li + li{ margin-top: 3rem; }

main section ul:not([class]){ margin: 4rem 0; }
main section ul:not([class]) li{ font-size: 1.6rem; padding-left: 2.3rem; position: relative; }
main section ul:not([class]) li:before{ content: ''; width: 1.5rem; height: 1.5rem; border-radius: 1.5rem; background: #ae002c; position: absolute; left: 0; top: .7rem; }
main section ul:not([class]) li + li{ margin-top: 2rem; }

main section ul.dice{ margin: 3rem 0; }
main section ul.dice li{ padding-left: 1em; position: relative; }
main section ul.dice li:before{ content: '・'; position: absolute; left: 0; }

main section ol.flow{ counter-reset: flow; margin: 5rem 0; }
main section ol.flow li{ position: relative; line-height: 2; }
main section ol.flow li + li{ margin-top: 4rem; }
main section ol.flow li.has-img{ padding-right: 40rem; }
main section ol.flow li strong:first-of-type{ font-size: 1.8rem; font-weight: 900; position: relative; padding-left: 4rem; display: block; margin-bottom: 1.2rem; }
main section ol.flow li strong:first-of-type:before{ counter-increment: flow; content: counter(flow); width: 3rem; height: 3rem; background: #ae002c; border-radius: 1.5rem; display: flex; justify-content: center; align-items: center; font-size: 1.8rem; font-family: din-condensed, sans-serif; font-weight: 400; color: #fff; letter-spacing: 0; line-height: 1; position: absolute; left: 0; top: .3rem; }
main section ol.flow li img{ width: 35rem; position: absolute; top: 0; right: 0; }

main section table:not(.no-style){ width: 100%; margin: 4rem 0; }
main section table:not(.no-style) th{ padding: 1em; font-size: 1.5rem; vertical-align: middle; background: #e9e9e9; border: solid 1px #d2d2d2; line-height: 1.7; }
main section table:not(.no-style) td{ padding: 1em; vertical-align: middle; border: solid 1px #d2d2d2; line-height: 1.7; }

main section .img_flex {
    display: flex;
    justify-content: space-between;
    width: 800px;
}
main section .img_flex img {
    width: 49%;
}

/*** doctor ***/

.dr-pic{ width: 100%; position: relative; height: 30rem; margin: 10rem 0 3.5rem; z-index: 0; background: url(../images/doctor/bg01.jpg) no-repeat center/cover; display: flex; align-items: flex-end; padding: 0 0 4rem 5rem; }
h2 + .dr-pic{ margin-top: 6rem; }
.dr-pic img{ width: 40rem; position: absolute; bottom: 0; right: 0; }
.dr-pic h3{ min-width: 21.5rem; text-align: center; font-size: 4rem; line-height: 1.4; padding-top: 15rem; background: url(../images/doctor/logo01.png) no-repeat center top/21.5rem; }
.dr-pic h3:after{ content: attr(data-en); display: block; font-size: 2rem; font-family: din-condensed, sans-serif; font-weight: 400; letter-spacing: 0; line-height: 1; }
.history-row{ display: flex; justify-content: space-between; margin: 3.6rem 0 }
.history-row .inner{ width: 37rem; }
.history-row .inner h4{ font-size: 1.5rem; font-weight: 900; color: #fff; text-align: center; background: #1f1f1f; margin-bottom: 2.5rem; padding: .15em; border-radius: 2em; }
.history-row .inner table{ width: 100%; }
.history-row .inner table th{ font-weight: 400; width: 1px; padding-right: 1.5em; white-space: nowrap; }
.history-row .inner table tr + tr > *{ padding-top: .5em; }
.history-row .inner ul li{ padding-left: 1em; position: relative; }
.history-row .inner ul li:before{ content: '・'; position: absolute; left: 0; }
.history-row .inner ul li + li{ margin-top: .5em; }


/*** treatment ***/

main .treatmentsSec{ box-sizing: initial; line-height: 1.5; }
.treatmentsSec .linkList { margin: 0 5.5% 50px; display: flex; justify-content: space-between; flex-wrap: wrap; }
.treatmentsSec .linkList li { width: 48%; margin-top: 30px; }
.treatmentsSec .linkList li img { width: 100%; }
.treatmentsSec .linkList li a { display: block; position: relative; }
.treatmentsSec .linkList li a:hover{ opacity: .7; }
.treatmentsSec .linkList li a:before { margin-top: -12px; position: absolute; right: 15px; top: 50%; width: 26px; height: 25px; background: url("../images/common/webp/icon05.webp") no-repeat right center; background-size: 26px auto;  content: ""; }
.no-webp .treatmentsSec .linkList li a:before { background: url("../images/common/icon05.png") no-repeat right center; background-size: 26px auto; }
.treatmentsSec .linkList li .txtBox { position: absolute; right: 0; top: 50%; width: 68.4%; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.treatmentsSec .linkList li span { display: block; }
.treatmentsSec .linkList li .ttl { margin-bottom: 12px; padding-right: 40px; color: #1F1F1F; font-size: 2rem; font-weight: 900; letter-spacing: 0.05em; }
.treatmentsSec .linkList li .ttl .small { display: inline-block; font-size: 1.4rem; }
.treatmentsSec .linkList li .txtSpan { padding-right: 40px; display: block; color: #1F1F1F; font-size: 1.3rem; }
.treatmentsSec .menuList { margin: -60px 3.7% 0; display: flex; justify-content: flex-start; flex-wrap: wrap; }
.treatmentsSec .menuList li { width: 16%; margin: 60px 0.8% 0 0; }
.treatmentsSec .menuList li:nth-child(6n) { margin-right: 0; }
.treatmentsSec .menuList li a { display: block; text-align: center; }
.treatmentsSec .menuList li a:hover .topImg{ background: #c99681; }
.treatmentsSec .menuList li .topImg { margin: 0 auto 10px; width: 96px; height: 96px; display: flex; justify-content: center; align-items: center; text-align: center; background: #eadbcf; border-radius: 50%; }
.treatmentsSec .menuList li .txtSpan { color: #1F1F1F; display: block; letter-spacing: 0.1em; }


main section table.price_table th {
    width: 30%;
}
main section table.price_table tr td:nth-of-type(2) {
    width: 18%;
}
main section table.price_table tr td.cost3:nth-of-type(2) {
    width: 35%;
}
main section li strong {
  font-weight: 600;
  color: #2e4a62; /* やや落ち着いた紺グレー：知的・信頼感 */
  background-color: #eef3f7; /* 清潔感ある淡いブルーグレー */
  padding: 3px 6px;
  border-radius: 4px;
  line-height: 1.6;
  display: inline-block;
}
@media(max-width: 768px){
	.mv{ margin-bottom: 0; }
	.mv img{ height: 29.5rem; }

	.pankuzu{ width: 100%; text-align: left; padding: 1rem 2.5rem; }

	main{ width: 100%; padding: 5rem 2.5rem 8rem; }
	main h1{ font-size: 1.6rem; margin-bottom: 4rem; }
	main h1:before{ font-size: 4.8rem; }

	main section{ width: 100%; }
	main section + section{ margin-top: 6rem; }
	main section > img{ margin: 1.8rem 0; }
	main section .btn{ margin-left: auto; margin-right: auto; }

	main section h2:not(.no-style){ font-size: 2.4rem; margin: 6rem 0 2.5rem; line-height: 1.5; }
	main section h2:not(.no-style):before{ width: 100%; left: 0; }
	main section h3:not(.no-style){ margin: 5rem 0 2rem; }
	main section h4:not(.no-style){ margin: 4rem 0 1.8rem; }
	main section h5:not(.no-style){ margin: 3.5rem 0 1.6rem; }

	main section ol:not([class]){ margin: 3rem 0; }
	main section ol:not([class]) li{ font-size: 1.5rem; padding-left: 6rem; }
	main section ol:not([class]) li + li{ margin-top: 2.35rem; }
	main section ol:not([class]) li:before{ width: 4rem; height: 4rem; font-size: 2.2rem; }

	main section ul:not([class]){ margin: 3rem 0; }
	main section ul:not([class]) li{ font-size: 1.4rem; }
	main section ul:not([class]) li:before{ top: .5rem; }
	main section ul:not([class]) li + li{ margin-top: 1.6rem; }

	main section ol.flow{ margin: 4rem 0; }
	main section ol.flow li.has-img{ padding: 0; }	
	main section ol.flow li + li{ margin-top: 2.5rem; }
	main section ol.flow li strong:first-of-type{ font-size: 1.6rem; padding-left: 4.2rem; }
	main section ol.flow li strong:first-of-type:before{ width: 3.5rem; height: 3.5rem; border-radius: 3.5rem; font-size: 2rem; top: -.3rem;  }
	main section ol.flow li img{ position: static; margin-top: 1.5rem; display: block; }

	main section table:not(.no-style){ margin: 3rem 0; }
	main section table:not(.no-style) th{ font-size: 1.5rem; }
	main section table.sp-break{ border-bottom: solid 1px #d2d2d2; }
	main section table.sp-break,
	main section table.sp-break tbody,
	main section table.sp-break tr,
	main section table.sp-break th,
	main section table.sp-break td{ display: block; }
	main section table:not(.no-style).sp-break th{ text-align: center; border-bottom: none; padding: .5em 1em; }
	main section table:not(.no-style).sp-break td{ border-bottom: none; }

	main section .img_flex {
    width: 100%;
}

	/*** doctor ***/

	.dr-pic{ margin: 6rem 0 2rem; height: 12.5rem; padding: 0 0 1.5rem 2.5rem; }
	h2 + .dr-pic{ margin-top: 3.7rem; }
	.dr-pic img{ width: 16.75rem; height: 16.75rem; object-fit: cover; object-position: top; }
	.dr-pic h3{ min-width: 7.65rem; font-size: 2.4rem; padding-top: 5rem; background-size: 7.65rem; }
	.dr-pic h3:after{ font-size: 1rem; }

	.history-row{ flex-wrap: wrap; margin: 4.5rem 0; }
	.history-row .inner{ width: 100%; }
	.history-row .inner + .inner{ margin-top: 3.25rem; }
	.history-row .inner h4{ margin-bottom: 1.7rem; font-size: 1.4rem; }


	/*** treatment ***/

	.treatmentsSec .linkList { margin: 0 3px 50px -3px; display: block; }
    .treatmentsSec .linkList li { width: 100%; margin: 0 auto 26px; max-width: 336px; }
    .treatmentsSec .linkList li .txtBox { width: 71%; }
    .treatmentsSec .linkList li:last-child { margin-bottom: 0; }
    .treatmentsSec .menuList { margin: -23px -6px 0; }
    .treatmentsSec .menuList li { width: 31%; margin: 23px 3.5% 0 0; }
    .treatmentsSec .menuList li:nth-child(3n) { margin-right: 0; }
    .treatmentsSec .menuList li .txtSpan { margin: 0 -6px; }
    
    
    main section table.price_table th {
        width: 100%;
    }
    main section table.table-02.price_table th {
        width: 30%;
    }
    main section table.table-02 td,
    main section table.table-02 th {
        padding: 0.5em;
        font-size: 1.2rem;
    }
    main section table.price_table tr td:nth-of-type(2) {
        width: 100%;
    }
        main section table.price_table tr td.cost3:nth-of-type(2) {
        width: 100%;
    }
}