@charset "utf-8";



:root {
	--font-sans: 'Noto Sans JP', sans-serif;
	--font-serif: 'Noto Serif JP', serif;
	--color-base: #f6f6f6;
	--color-white: #fff;
	--color-black: #1e1e1e;
	--color-water: #2888b5;
	--color-blue: #344b95;
	--color-blue02: #325b8c;
	--color-gold-light: #fffaf1;
	--color-gold-light02: #f3e6ce;
	--color-gold: #bd9e5d;
	--color-gold-medium: #b1914f;
	--color-gold-dark: #927841;
	--color-gray-light: #fdfdfd;
	--color-gray-light02: #ececec;
	--color-gray: #f0f0f0;
	--color-gray-dark: #e2e2e2;
	--color-gray-dark-very: #ccc
}

/*------------------------------------------------------------
	トープページ
------------------------------------------------------------*/
#gNavi>li:first-child>a {
	color: #003472;
}

.foo {
	margin-bottom: 72px;
	position: relative;
}

.foo .txtSec {
	margin-left: -490px;
	width: 980px;
	position: absolute;
	left: 50%;
	bottom: -40px;
	z-index: 10;
}

.foo .txtSec p {
	margin-left: -50px;
}

.foo .txtSec p img {
	width: 422px;
}

.foo .txtSec .txt {
	margin-top: -60px;
	text-align: right;
}

.foo .txtSec .txt img {
	width: 182px;
}

#main {
	margin-bottom: 52px;
	width: auto;
}

#main .h1Box {
	background: #E9ECF1;
	padding: 62px 0 66px;
}

#main .h1Box .content {
	margin: 0 auto;
	width: 900px;
}

#main .h1Box h1 {
	margin-bottom: 24px;
	color: #1E1E1E;
	font-family: "游明朝", "YuMincho", "Hiragino Mincho Pro", "MS PMincho", "ＭＳ Ｐ明朝", "ヒラギノ明朝 Pro W6", serif;
	font-size: 30px;
	font-weight: normal;
	text-align: center;
	letter-spacing: 3px;
	border-bottom: 1px solid #D4D4D4;
	border-color: #2B3C73;
	padding-bottom: 10px;
}

#main .h1Box p {
	font-size: 16px;
	letter-spacing: 1.6px;
	line-height: 1.65;
	word-break: break-all;
}

#main .sec01 {
	margin: 0 auto 64px;
	width: 980px;
}

#main .sec01 li {
	width: 490px;
	float: left;
	position: relative;
	box-sizing: border-box;
}

#main .sec01 li:after {
	width: 1px;
	height: 200px;
	position: absolute;
	right: 0;
	top: 70px;
	border-left: 1px solid #DFDFDF;

	content: "";
}

#main .sec01 li:first-child:before {
	width: 1px;
	height: 200px;
	position: absolute;
	left: 0;
	top: 70px;
	border-left: 1px solid #DFDFDF;

	content: "";
}

#main .sec01 li .imgBox {
	margin: 0 auto 45px;
	width: 410px;
}

#main .sec01 li:first-child .imgBox {
	margin-bottom: 35px;
	width: 320px;
}

#main .sec01 li .pho {
	float: left;
	position: relative;
}

#main .sec01 li .pho span {
	display: block;
	color: #141414;
	font-size: 12px;
	position: absolute;
	right: -40px;
	bottom: -5px;
}

#main .sec01 li .txt {
	float: right;
	display: table;
}

#main .sec01 li .txt p {
	display: table-cell;
	color: #1E1E1E;
	font-family: "游明朝", "YuMincho", "Hiragino Mincho Pro", "MS PMincho", "ＭＳ Ｐ明朝", "ヒラギノ明朝 Pro W6", serif;
	font-size: 25px;
	vertical-align: middle;
}

#main .sec01 li>p {
	margin-bottom: 24px;
	font-size: 15px;
	line-height: 1.7;
	text-align: center;
}

#main .sec02 {
	padding: 42px 0 47px;
	/*background-color: #F0F0F0;*/
}

#main h2 {
	margin: 0 auto 30px;
	padding-bottom: 10px;
	color: #1E1E1E;
	font-family: "游明朝", "YuMincho", "Hiragino Mincho Pro", "MS PMincho", "ＭＳ Ｐ明朝", "ヒラギノ明朝 Pro W6", serif;
	font-size: 30px;
	font-weight: normal;
	text-align: center;
	letter-spacing: 3px;
	border-bottom: 1px solid #D4D4D4;
}

#main h2 span {
	display: block;
	font-size: 13px;
	letter-spacing: 0;
}

#main .sec02 .inner {
	margin: 0 auto;
	padding: 26px 70px 23px;
	width: 980px;
	box-sizing: border-box;
	background-color: #fff;
}

#main .holiday {
	padding: 2px 0 0 3px;
	margin-bottom: 35px;
	font-size: 18px;
	text-align: center;
}

#main .holiday span {
	font-weight: bold;
	color: #f00;
}

#main .holiday02 span {
	font-size: 30px;
}

#main .sec02 .inner dt {
	padding: 2px 0 0 10px;
	float: left;
	color: #373737;
}

#main .sec02 .inner dd {
	margin-bottom: 14px;
	padding: 0 0 15px 8em;
	border-bottom: 1px dashed #E7E7E7;
}

#main .sec02 .inner dd a {
	color: #003472;
	font-size: 15px;
	text-decoration: underline;
}

#main .sec02 .inner dd a:hover {
	text-decoration: none;
}

#main .sec02 .inner .link {
	text-align: right;
}

#main .sec02 .inner .link img {
	margin-right: 5px;
	vertical-align: middle;
}

#main .sec02 .inner .link a {
	text-decoration: underline;
}

#main .sec02 .inner .link a:hover {
	text-decoration: none;
}

#main .sec03 {
	padding-top: 95px;
	min-height: 785px;
	/*コンテンツ高さ*/
	background: url(../img/index/sec03_bg.jpg) no-repeat center bottom;
}

#main .sec03 h3 {
	margin-bottom: 30px;
	color: #1E1E1E;
	font-family: "游明朝", "YuMincho", "Hiragino Mincho Pro", "MS PMincho", "ＭＳ Ｐ明朝", "ヒラギノ明朝 Pro W6", serif;
	font-size: 26px;
	font-weight: normal;
	letter-spacing: 2.7px;
}

#main .sec03 p {
	margin-bottom: 20px;
	font-size: 15px;
	line-height: 1.85;
}

#main .sec03 .last {
	margin-bottom: 55px;
}

#main .sec03 .comLink {
	margin: 0;
}

#main .sec04 {
	/*margin-bottom: 50px;*/
	padding: 57px 0 52px;
	background-color: #F0F0F0;
}

#main .sec04 ul {
	margin: 0 auto;
	width: 980px;
}

#main .sec04 ul li {
	margin-right: 17px;
	width: 315px;
	float: left;
	background-color: #fff;
}

#main .sec04 ul li:last-child {
	margin-right: 0;
}

#main .sec04 ul li .txt {
	padding: 19px 20px 23px;
}

#main .sec04 ul li .txt .ttl {
	margin-bottom: 15px;
	color: #1E1E1E;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	letter-spacing: -1px;
}

#main .sec04 ul li .txt p {
	margin-bottom: 25px;
	font-size: 15px;
	line-height: 1.65;
}

#main .sec04 ul li .comLink {
	margin: 0 12px;
	width: auto;
}

#main .sec04 ul li .comLink a {
	padding: 10px;
}

#main .sec05 {
	padding: 30px 0 60px;
	/*margin-bottom: 66px;*/
	background-color: #F0F0F0;
}

#main .sec05 h2 {
	margin-bottom: 47px;
	padding: 40px 0;
	border: none;
	background: url(../img/index/h2_bg.png) no-repeat center center;
}

#main .sec05 ul {
	margin: -15px auto 0;
	width: 980px;
}

#main .sec05 ul li {
	margin-top: 15px;
	float: left;
	width: 482px;
	background-color: #fff;
}

#main .sec05 ul li:nth-child(2n) {
	float: right;
}

#main .sec05 ul li a {
	padding: 20px 62px 19px 19px;
	display: block;
	position: relative;
	text-decoration: none;
	border: 1px solid #DFDFDF;
}

#main .sec05 ul li a:after {
	margin-top: -8px;
	width: 8px;
	height: 15px;
	position: absolute;
	right: 15px;
	top: 50%;
	background: url(../img/common/icon03.png) no-repeat right center;

	content: "";
}

#main .sec05 ul li a:hover {
	text-decoration: none;
	opacity: 0.7;
}

#main .sec05 ul li .pho {
	float: left;
}

#main .sec05 ul li .txt {
	margin-top: 2px;
	width: 240px;
	float: right;
}

#main .sec05 ul li .txt .ttl {
	margin-bottom: 14px;
	padding-bottom: 10px;
	color: #000;
	font-weight: bold;
	border-bottom: 1px solid #DFDFDF;
}

#main .sec05 ul li .txt p {
	color: #373737;
	font-size: 15px;
	line-height: 1.7;
}

#main .sec06 {
	padding: 39px 0 41px;
	background-color: #F0F0F0;
}

#main .sec06 ul {
	margin: 0 auto;
	width: 980px;
}

#main .sec06 ul li {
	margin-right: 13px;
	width: 235px;
	float: left;
	background-color: #fff;
}

#main .sec06 ul li:last-child {
	margin-right: 0;
}

#main .sec06 ul li p {
	padding: 20px 0 21px;
	color: #000;
	font-size: 16px;
	text-align: center;
}

#main .sec06 ul li a:hover {
	opacity: 0.7;
	text-decoration: none;
}

@media all and (min-width: 0) and (max-width: 767px) {
	.foo {
		margin-bottom: 22px;
	}

	.slideBox {
		width: auto;
	}

	.slideBox li {
		width: auto;
	}

	.slideBox li img {
		width: 100%;
	}

	.foo .txtSec {
		/* margin-left: -152px;
		width: 304px;
		bottom: -15px; */
	}

	.foo .txtSec p {
		margin-left: 0;
	}

	.foo .txtSec p img {
		width: 160px;
	}

	.foo .txtSec .txt {
		margin-top: -45px;
	}

	.foo .txtSec .txt img {
		width: 86px;
	}

	#main {
		margin: 0 0 39px;
	}

	#main .holiday {
		margin-bottom: 24px;
	}

	#main .holiday02 span {
		font-size: 16px;
	}

	#main .SP_naviIcon {
		padding: 0;
		background-color: #F0F0F0;
	}

	#main .SP_naviIcon ul {
		width: 100%;
		margin: 0 auto;
		background-color: #F0F0F0;
		display: flex;
		align-content: center;
		justify-content: center;
	}

	#main .SP_naviIcon ul li {
		width: 25%;
		padding: 10px 0 8px;
		border-left: 2px solid #fff;
		border-bottom: 2px solid #fff;
	}

	#main .SP_naviIcon ul li:last-child {
		border-right: 2px solid #fff;
	}

	#main .SP_naviIcon ul li .icon {
		text-align: center;
		margin-bottom: 8px;
	}

	#main .SP_naviIcon ul li img {
		width: 61px;
	}

	#main .SP_naviIcon ul li .txt {
		text-align: center;
		font-size: 12px;
	}

	#main .h1Box {
		box-sizing: border-box;
		padding: 24px 20px 34px;

	}

	#main .h1Box .content {
		width: 100%;
	}

	#main .h1Box h1 {
		margin-bottom: 24px;
		line-height: 1.2;
		font-size: 18px;
		padding-bottom: 7px;
		letter-spacing: 1px;
		border-color: #2B3C73;
	}

	#main .h1Box p {
		font-size: 13px;
		line-height: 1.5;
		letter-spacing: 1px;
	}

	#main .sec01 {
		margin: 0 15px 17px;
		width: auto;
	}

	#main .sec01 li {
		float: none;
		width: auto;
	}

	#main .sec01 li .pho img {
		width: 56px;
	}

	#main .sec01 li .txt p {
		font-size: 12px;
	}

	#main .sec01 li:first-child .imgBox {
		margin-bottom: 12px;
		width: 162px;
	}

	#main .sec01 li:after {
		display: none;
	}

	#main .sec01 li:first-child:before {
		display: none;
	}

	#main .sec01 li>p {
		margin-bottom: 35px;
		font-size: 12px;
		text-align: left;
		line-height: 1.5;
	}

	#main .sec01 li .imgBox {
		margin-bottom: 15px;
		width: 208px;
	}

	#main .sec01 li:last-child .pho img {
		width: 82px;
	}

	#main .sec01 li .pho span {
		font-size: 9px;
	}

	#main .sec01 li:first-child .comLink {
		margin-bottom: 24px;
		border-bottom: 1px solid #DFDFDF;
	}

	#main .sec02 {
		padding: 28px 10px 10px;
	}

	#main h2 {
		margin-bottom: 31px;
		padding-bottom: 7px;
		width: 225px;
		font-size: 18px;
	}

	#main h2 span {
		margin-top: -3px;
		font-size: 9px;
	}

	#main .sec02 .inner {
		margin: 0;
		padding: 12px 18px 25px;
		width: auto;
	}

	#main .sec02 .inner .holiday {
		padding: 0;
		text-indent: -5px;
		margin-bottom: 25px;
		font-size: 14px;
	}

	#main .sec02 .inner dt {
		padding: 0 0 2px;
		float: none;
		font-size: 11px;
	}

	#main .sec02 .inner dd {
		margin-bottom: 12px;
		padding: 0 0 13px;
	}

	#main .sec02 .inner dd a {
		font-size: 12px;
	}

	#main .sec02 .inner dd a:hover {
		text-decoration: underline;
	}

	#main .sec02 .inner .link a:hover {
		text-decoration: underline;
	}

	#main .sec02 .comLink {
		padding: 0 52px;
	}

	#main .sec03 {
		margin-bottom: 15px;
		padding: 0;
		min-height: inherit;
		background: none;
	}

	#main .sec03 .pho {
		margin-bottom: 26px;
	}

	#main .sec03 .pho img {
		width: 100%;
	}

	#main .sec03 h3 {
		margin-bottom: 20px;
		font-size: 15px;
	}

	#main .sec03 p {
		margin-bottom: 30px;
		font-size: 12px;
		line-height: 1.55;
	}

	#main .sec04 {
		margin-bottom: 35px;
		padding: 28px 10px 11px;
	}

	#main .sec04 ul {
		margin: 0;
		width: auto;
	}

	#main .sec04 ul li {
		margin: 0 0 9px;
		padding: 17px 19px;
		float: none;
		width: auto;
	}

	#main .sec04 ul li:last-child {
		margin-bottom: 0;
	}

	#main .sec04 ul li:last-child p {}

	#main .sec04 ul li .pho {
		margin-bottom: 14px;
		width: 60%;
		float: left;
	}

	#main .sec04 ul li .pho img {
		width: 100%;
	}

	#main .sec04 ul li .txt {
		padding: 0;
	}

	#main .sec04 ul li .txt .ttl {
		margin-bottom: 14px;
		float: right;
		width: 40%;
		display: table;
		font-size: 14px;
	}

	#main .sec04 ul li .ttl span {
		display: table-cell;
		vertical-align: middle;
	}

	#main .sec04 ul li .txt p {
		margin-bottom: 21px;
		font-size: 12px;
		line-height: 1.6;
	}

	#main .sec04 ul li .comLink {
		margin: 0;
		padding: 0 20px;
	}

	#main .sec04 ul li .comLink a {
		padding: 9px;
	}

	#main .sec05 h2 {
		margin-bottom: 31px;
		padding: 30px 0;
		background-size: 103px auto;
	}

	#main .sec05 ul {
		margin: 0 10px;
		width: auto;
	}

	#main .sec05 ul li {
		margin: 0 0 8px;
		float: none;
		width: auto;
	}

	#main .sec05 ul li:last-child {
		margin-bottom: 0;
	}

	#main .sec05 ul li a {
		padding: 9px 17px;
	}

	#main .sec05 ul li .pho {
		margin-bottom: 13px;
		padding-bottom: 12px;
		width: 25%;
		border-bottom: 1px solid #dfdfdf;
	}

	#main .sec05 ul li .pho img {
		width: 100%;
	}

	#main .sec05 ul li .txt {
		width: auto;
		float: none;
	}

	#main .sec05 ul li .txt .ttl {
		margin-bottom: 13px;
		padding: 0 0 0 20px;
		width: calc(75% - 20px);
		display: table;
		float: right;
		border-bottom: 1px solid #dfdfdf;
		background: url(../img/common/icon03.png) no-repeat right center;
		background-size: 6px 11px;
	}

	#main .sec05 ul li .txt .ttl span {
		padding-bottom: 12px;
		display: table-cell;
		vertical-align: middle;
		text-align: left;
	}

	#main .sec05 ul li .txt p {
		font-size: 12px;
		line-height: 1.55;
	}

	#main .sec05 ul li:nth-child(2n) {
		float: none;
	}

	#main .sec05 ul li a:after {
		display: none;
	}

	#main .sec05 {
		margin-bottom: 42px;
	}

	#main .sec06 {
		padding: 10px 10px;
	}

	#main .sec06 ul {
		margin: 0;
		width: auto;
	}

	#main .sec06 ul li {
		margin: 0 0 10px;
		float: none;
		width: auto;
	}

	#main .sec06 ul li a {
		display: block;
	}

	#main .sec06 ul li:last-child {
		margin-bottom: 0;
	}

	#main .sec06 ul li .pho {
		float: left;
		width: 40%;
	}

	#main .sec06 ul li .pho img {
		width: 100%;
	}

	#main .sec06 ul li p {
		padding: 0 0 0 20px;
		display: table;
		font-size: 12px;
	}

	#main .sec06 ul li p span {
		display: table-cell;
		vertical-align: middle;
	}

	#main {
		margin-bottom: 39px;
	}

	#gFooter .fBox {
		padding-top: 0;
		border: none;
	}

}

@media all and (min-width: 767px) {
	#main .sec04 ul li .txt .ttl {
		height: auto !important;
	}

	#main .sec05 ul li .txt .ttl {
		height: auto !important;
	}

	#main .sec06 ul li p {
		height: auto !important;
	}
}

#main .mar-t62 {margin-top: 62px;}

@media all and (min-width: 0) and (max-width: 767px) {
	
#main .mar-t62 {margin-top: 32px;}	
}



.implant-explanation02 {
	padding-bottom: 16px;
	margin-bottom: 24px;
	z-index: 2;
	text-align: center;
	font-family: var(--font-serif);

	>b {
		font-size: min(3.2vw, 15px);
		background-color: var(--color-blue);
		color: var(--color-white);
		font-weight: 400;
		padding: 4px min(4.26vw, 16px);
		line-height: 1.4;
		letter-spacing: 0.01rem;
		display: inline-block;
	}

	>span {
		font-size: min(8vw, 50px);
		display: inline-block;
		padding: 0 4px;
		font-weight: 400;
		margin-top: 4px;
	}
}


