@charset "UTF-8";

/* cancer
---------------------------------------------------------------------------*/
.sec-lead .illust {
	position: relative;
	width: 156px;
	height: 109px;
	margin: -105px auto 20px;
	z-index: 2;
}

.sec-lead .illust span {
	display: block;
	position: absolute;
}

.sec-lead .illust .img1 {
	top: 0;
	left: 0;
	animation: img1 2.5s linear infinite;
}

.sec-lead .illust .img2 {
	top: 3px;
	right: 0;
	animation: img2 2.5s linear 0.3s infinite;
}

@keyframes img1 {
	0% { transform: scale(1,1); }
	84% { transform: scale(1,1); }
	88% { transform: scale(0.9,0.9); }
	92% { transform: scale(1,1); }
	96% { transform: scale(0.95,0.95); }
	100% { transform: scale(1,1); }
}

@keyframes img2 {
	0% { transform: scale(1,1); }
	84% { transform: scale(1,1); }
	88% { transform: scale(0.9,0.9); }
	92% { transform: scale(1,1); }
	96% { transform: scale(0.95,0.95); }
	100% { transform: scale(1,1); }
}


/* .sec-admit
---------------------------------------------------------------------------*/
.sec-admit {
	margin-top: -5px;
	margin-bottom: 80px;
}


/* .sec-service
---------------------------------------------------------------------------*/
.sec-service {
	width: 990px;
	margin: 0 auto 180px;
}

.sec-service .board {
	padding: 100px 50px 50px;
}

.sec-service .board + p {
	margin: 20px 0 0 10px;
	letter-spacing: 0.12em;
}

.sec-service h2 {
	margin: 0 0 30px -20px;
}

/* .time-price
------------------------------------*/
.time-price {
	position: absolute;
	top: 104px;
	right: 50px;
	text-align: right;
}

.time-price dl {
	overflow: hidden;
}

.time-price div {
	float: left;
	margin-left: 20px;
	font-size: 17px;
}

.time-price dt {
	display: inline-block;
	letter-spacing: 0.12em;
	padding-right: 8px;
}

.time-price dd {
	display: inline-block;
	letter-spacing: 0.1em;
}

.time-price p {
	position: absolute;
	top: -30px;
	right: 0;
	font-size: 11px;
	letter-spacing: 0.15em;
}

/* .base
------------------------------------*/
.sec-service .base {
	margin-bottom: 130px;
}

.base-list .inner {
	display: -webkit-box;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	box-sizing: border-box;
	background: url(../img/share/line-dot.svg) repeat-x left top;
	background-size: 7px 2px;
	width: 100%;
	padding: 45px 28px;
}

.base-list .inner:last-of-type {
	padding-bottom: 0;
}

.base-list figure {
	width: 181px;
	min-width: 181px;
}

.base-list .txt-set {
	padding-left: 40px;
}

.base-list .txt-set.flex {
	display: -webkit-box;
	display: flex;
}

.base-list .txt-set-inner {
	padding-right: 25px;
}

.base-list h3 {
	margin-bottom: 20px;
}

.base-list .txt-set-inner h3 {
	margin-bottom: 12px;
}

.base-list h3 span {
	border-width: 2px;
	letter-spacing: 0.22em;
}

.base-list p {
	margin-bottom: 7px;
	letter-spacing: 0.12em;
}

.base-list .txt-set-inner p {
	line-height: 1.7;
	letter-spacing: 0.1em;
}

.base-list p:last-of-type {
	margin-bottom: 0;
}

.base-list p.attention {
	font-size: 11px;
	letter-spacing: 0.15em;
}

/* .base-list dl
------------------------------------*/
.base-list dl {
	border-top: 1px solid #F0EFD8;
	margin-top: 14px;
}

.base-list dl > div {
	display: -webkit-box;
	display: flex;
	border-bottom: 1px solid #F0EFD8;
	padding: 6px 2px 5px;
}

.base-list dt {
	box-sizing: border-box;
	width: 70px;
	min-width: 70px;
	max-width: 70px;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.7;
	letter-spacing: 0.06em;
}

.base-list dd p {
	font-size: 13px;
	line-height: 1.6;
}

/* blockquote
------------------------------------*/
.base-list .txt-set blockquote {
	box-sizing: border-box;
	background-color: #F9F8EF;
	border-radius: 8px;
	width: 285px;
	min-width: 285px;
	max-width: 285px;
	padding: 20px 25px 15px;
}

.base-list .txt-set blockquote h4 {
	margin-bottom: 10px;
	color: #B68D50;
	font-size: 15px;
	letter-spacing: 0.12em;
}

.base-list .txt-set blockquote p {
	margin-bottom: 5px;
	font-size: 12px;
	text-align: justify;
	line-height: 1.65;
	letter-spacing: 0.05em;
}

.base-list .txt-set blockquote p:last-of-type {
	margin-bottom: 0;
}


/* .option-list
------------------------------------*/
.option-list > div {
	display: -webkit-box;
	display: flex;
	box-sizing: border-box;
	background: url(../img/share/line-dot.svg) repeat-x left top;
	background-size: 7px 2px;
	width: 100%;
	padding: 22px 20px 20px 20px;
}

.option-list > div:last-of-type {
	padding-bottom: 0;
}

.option-list dt {
	width: 200px;
	min-width: 200px;
	color: #B68D50;
	font-size: 15px;
	line-height: 1.7;
	letter-spacing: 0.15em;
}

.option-list dd {
	display: -webkit-box;
	display: flex;
	width: 100%;
}

.option-list dd .txt-set {
	width: 100%;
}

.option-list dd .attention {
	margin-top: 4px;
	font-size: 11px;
	letter-spacing: 0.12em;
}

.option-list dd .price {
	text-align: right;
	font-size: 17px;
	letter-spacing: 0.1em;
	white-space: nowrap;
}

.option-list dd .price span {
	padding-left: 5px;
	font-size: 12px;
}