@charset "UTF-8";
/*----------------------------------------------

静的ページ用CSS

----------------------------------------------*/
#staticWrap *{line-height: 1.8; box-sizing: border-box;}
html {
/*	scroll-behavior: smooth;*/
}
#contents_holder {
	box-sizing: border-box;
}

#staticWrap.staticLinks a {
	color: #d2691e;
}
#staticWrap.staticLinks a:hover {
	color:#CB0003;
	text-decoration:underline;
}

/* -------------------------------
staticWrap
------------------------------- */
#staticWrap {
	width: 880px;
	max-width: 100%;
	margin: 50px auto 0;
}
@media screen and (max-width: 599px) {
	#staticWrap {
		margin: 0 auto;
	}
}
#staticWrap h3 {
	font-size: 17px;
}
.tit01 {
	background: #f8f8f8;
	font-size: 19px;
	padding: 0.5rem 1rem;
	line-height: 1.5;
	width: auto;
    height: auto;
}
.tit02 {
	background: #f8f8f8;
	font-size: 17px;
	padding: 0.5rem 1rem;
	line-height: 1.5;
	text-align: center;
}
.bgGray {
	background: #f8f8f8;
	padding: 20px;
}
.flexBox {
	display: flex;
	justify-content: space-between;
}
.flexBox > .flexLeft,
.flexBox > .flexRight{
	width: 50%;
}

.flexBox.picLeft > .pic {
	margin-right: 20px;
}
.flexBox.picRight > .pic {
	margin-left: 20px;
}
.flexBox.picLeft > .pic ,
.flexBox.picRight > .pic {
	display: flex;
	align-items: center;
	justify-content: center;
}
.flexBox.picLeft > .pic img,
.flexBox.picRight > .pic img {
	max-width: 100%;
}
.flexBox.picLeft > .txt,
.flexBox.picRight > .txt {
	flex: 1;
}

.flex2 {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.flex2 > div {
	width: calc( 50% - 20px ) ;
}
.flex2 > div img {
	max-width: 100%;
}

.flex3 {
	display: flex;
	justify-content: space-between;
}
.flex3 > div {
	width: calc( ( 100% - 40px ) / 3  );
}
.flex3 > div img {
	max-width: 100%;
}
.flexList {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}
.flexList > li {
	width: 50%;
}
.flexList2 {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}
.flexList2 > li {
	width: 50%;
	font-size: 14px;
}
.flexList4 {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}
.flexList4 > li {
	width: calc( 25% - 15px );
	margin-right: 15px;
}
.flexList2 > li,
.flexList3 > li,
.flexList4 > li {
	margin-bottom: 10px;
}
.flexList2 > li a,
.flexList3 > li a,
.flexList4 > li a {
	position: relative;
	display: block;
	text-decoration: underline;
	padding-right: 25px;
	font-size: 14px;
}
.flexList2 > li a:hover,
.flexList3 > li a:hover,
.flexList4 > li a:hover {
	text-decoration: none;
}
.flexList2 > li a::after,
.flexList3 > li a::after,
.flexList4 > li a::after {
	content: "";
	display: inline-block;
	position: absolute;
	right: 0.5rem;
	top: 50%;
	height: 6px;
	width: 6px;
	border-top: 2px solid #9e9e9e;
	border-right: 2px solid #9e9e9e;
	transform: rotate(45deg);
	margin-right: 0.5rem;
	vertical-align: middle;
	margin-top: -0.2rem;
}


.boxdef01 {
	padding: 0 15px;
}
.boxdef01 > p{
	border-bottom: 1px dashed #3d3d3d;
	padding: 15px 0;
}
.btnLarge{
	display: flex;
	justify-content: center;
}
.btnLarge a{
	padding: 35px;
	display: flex;
	background: #fff;
	border: 1px solid #3d3d3d;
	justify-content: space-between;
	align-items: center;
	width: 400px;
	max-width: 100%;
}
.btnLarge a p {
	font-size: 20px;
	text-align: center;
	flex: 1;
}
.btnLarge a::after {
	content: "";
    display: inline-block;
    height: 14px;
    width: 14px;
    border-top: 3px solid #3d3d3d;
    border-right: 3px solid #3d3d3d;
    transform: rotate(45deg);
    vertical-align: middle;
    margin-top: -3px;
	transition: all ease 0.4s;
}
.btnLarge a:hover::after {
	transform: rotate(45deg) translate(5px,-5px);
}

dl.def01 {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
dl.def01 > dt {
	background: #9e9e9e;
	width: 78px;
	height: 78px;
	border-radius: 39px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 17px;
	color: #fff;
	font-weight: bold;
	line-height: 1.2;
	text-align: center;
}
dl.def01 > dd {
	margin-left: 20px;
	flex: 1;
}
dl.def02 {
	display: flex;
	justify-content: center;
	align-items: center;
}
dl.def02 > dt {
	background: #f8f8f8;
	padding: 5px 15px;
	font-weight: bold;
}
dl.def02 > dd {
	font-weight: bold;
	font-size: 1.1em;
	margin-left: 15px;
}
dl.def03 {
	border: 1px solid #848484;
}
dl.def03 > dt {
	background: #848484;
	padding: 5px 15px;
	font-weight: bold;
	text-align: center;
	color: #fff;
}
dl.def03 > dd {
	padding: 15px;
}
dl.def03 > dd .faq_list li {
	margin-left: 10px;
	margin-bottom: 10px;
}
.tbl01 {
	width: 100%;		
}
.tbl01 caption {
	padding: 5px 15px;
	font-weight: bold;
    border-bottom: #ccc 2px dotted;
}
.tbl01 thead tr:nth-child(2) {
	display: none;
}
.tbl01 tr th,
.tbl01 tr td {
	padding: 5px 15px;
	font-weight: bold;
    border-bottom: #ccc 2px dotted;
	text-align: center;
}


.lawBox {
	border:#D20000 1px solid;
	padding:5px 10px;
	font-size:14px;
	width:500px;
	line-height:120%;
}
.lawTablw {
	width:560px;
	border-top: 1px solid #414141;
	border-left: 1px solid #414141;
	padding: 0;
}
.lawTablw th, .lawTablw td {
	padding: 3px;
	border-bottom: 1px solid #414141;
	border-right: 1px solid #414141;
	text-align: left;
}
.lawTablw th {
	font-weight: bold;
}

/* -------------------------------
▼定期コースについて
------------------------------- */
.subAtt {
	border: 1px solid #9E9E9E;
	width: 100%;
	padding: 6px;
	font-size: 80%;
}

.subList {}
.subList ul {}
.subList ul li {
	border: 1px solid #CFCFCF;
	padding: 15px 0;
	margin-bottom: 30px;
}
.subList ul li:after {
  content: "";
  display: block;
  clear: both;
}
.subList ul li .listLeft {
	float: left;
	width: 200px;
	text-align: center;
	font-size: 80%;
	padding-bottom: 9px;
	margin-right: 6px;
}
.subList ul li .listLeft img {
	width: 100%;
	padding: 3px;
	margin-bottom: 9px;
}
.subList ul li .listLeft span {
	background: #FF7600;
	color: #FFF;
	padding: 6px 15px 9px;
	font-weight: bold;
	letter-spacing: 1px;
}

.subList ul li .listCenter {
	float: left;
	width: 300px;
	margin-right: 9px;
}
.subList ul li .listCenter .regularPrice {
	font-size: 90%;
}
.subList ul li .listCenter .regularPrice span {
	text-decoration: line-through;
}
.subList ul li .listCenter .discountPrice {
}
.subList ul li .listCenter .discountPrice span {
	font-weight: bold;
	color: #F00;
	font-size: 120%;
}
.subList ul li .listCenter .gain {
	color: #F00;
	margin-left: 40px;
	font-weight: bold;
}
.subList ul li .listCenter .gain span {
	background: #1F1F1F;
	color: #FFF;
	margin-left:9px;
	padding: 0 6px;
}
.subList ul li .listCenter .point {
	font-size: 80%;
}
.subList ul li .listCenter .other {
	margin-top: 9px;
	font-size: 80%;
}
.subList ul li .listCenter .other span {
	border: 1px solid #4F4F4F;
	padding: 3px 9px 5px;
}



.subList ul li .listRight {
	float: left;
	width: 350px;
}
.subList ul li .listRight .continue {
	background: #6fb82b;
	color: #FFF;
	letter-spacing: 1px;
	font-weight: bold;
	margin-bottom: 9px;
	padding: 0 6px;
}
.subList ul li .listRight .regularContinue {
	border: 1px solid #999999;
	padding: 6px 12px;
	font-size: 80%;	
	margin-bottom: 12px;
}
.subList ul li .listRight .discountContinue {
	/*border: 2px solid #FF8E00;*/
	background:#EBFFEA;
	padding: 6px 12px;	
	margin-bottom: 9px;
}
.subList ul li .listRight .regularContinue span,
.subList ul li .listRight .discountContinue span {
	font-weight: bold;
	margin-left: 9px;
}
.subList ul li .listRight .gainContinue {
	text-align: right;
	font-weight: bold;
	color: #F00;
	font-size: 90%;
	text-decoration: underline;
}
.subList ul li .listRight .gainContinue span {
	font-size: 140%;
	margin:0 6px;
}

.subCapture img {
	border: 1px solid #D4D4D4;
}

/*-- ▲定期コースについて
----------------------------------------*/


@media screen and (max-width: 599px){
	#staticWrap h3 { font-size: 1.8rem;}
	#staticWrap h4 { font-size: 1.6rem;}
	.flexBox {
		display: block;
	}
	.flexBox > .flexLeft,
	.flexBox > .flexRight{
		width: 100%;
	}
	.flexBox.picLeft > .pic {
		margin-right: 0;
		text-align: center;
	}
	.flexBox.picRight > .pic {
		margin-left: 0px;
		text-align: center;
	}
	.flexBox.picLeft > .txt,
	.flexBox.picRight > .txt {
		margin-top: 20px;
	}
	.flex2 {
		justify-content: flex-start;
		flex-direction: column;
	}
	.flex2 > div {
		width: 100%;
		box-sizing: border-box;
	}

	.flex3 {
		justify-content: flex-start;
		flex-direction: column;
	}
	.flex3 > div {
		width: 100%;
		text-align: center;
		padding: 30px;
		box-sizing: border-box;
	}
	.flex3 > div img {
		max-width: 100%;
	}
	.flexBox > .flexLeft {
		margin-bottom: 30px;
	}
	.flexBox > ul.flexLeft {
		margin-bottom: 0;
	}
	.flexList2 > li,
	.flexList3 > li,
	.flexList4 > li {
		width: 100%;
		margin-right: 0;
		margin-bottom: 10px;
	}
	
	.bgGray h3 {
		font-size: 17px;
	}
	.btnLarge a{
		padding: 20px;
	}
	.btnLarge a p {
		font-size: 17px;
	}
	.btnLarge a::after {
		height: 10px;
		width: 10px;
		border-top: 2px solid #3d3d3d;
		border-right: 2px solid #3d3d3d;
	}
	.faq_text {
		padding: 7px 0 30px 11px;
	}
	.faq_list li {
    	margin: 10px 0 20px 10px;
	}
	.text16b {
   		font-size: 100%;
   	 	font-weight: bold;
		
    	line-height: 150%;
	}
	dl.def01 > dt {
		width: 54px;
		height: 54px;
		border-radius: 27px;
		font-size: 14px;
	}
	dl.def01 > dd {
		flex: 1;
	}
	dl.def02 {
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	dl.def02 > dt {
	}
	dl.def02 > dd {
		font-weight: bold;
		font-size: 1em;
		margin-left: 0;
		margin-top: 20px;
		letter-spacing: -1px;
	}
	dl.def03 > dd .faq_list li {
		margin-left: 5px;
	}

}


.faq_sub_t {
    border-left: none;
    border-bottom: none;
	background: #f8f8f8;
    padding: 2px 10px;
    color: #3b3b3b;
    font-size: 20px;
    font-weight: bold;
    clear: both;
	text-indent: -20px;
	padding-left: 30px;
	margin-top: 50px;
}
.faq_sub_t::before {
	content: "Q. ";
}
.faq_text {
    font-size: 16px;
    letter-spacing: 2px;
    line-height: 150%;
    padding: 20px 0 30px 20px;
    clear: both;
}
.faq_text .text16red2 {
	display: block;
    font-size: 18px;
    font-weight: bold;
    color: #808080;
}
.faq_text .text16red2::before {
	content: "A. ";
}
.faq_list {
	list-style-position: inside;
}
.faq_list li {
    margin: 10px 0 20px 25px;
    list-style-type: decimal;
    border-bottom: #ccc 2px dotted;
    padding: 0 0 10px 25px;
	text-indent: -20px;
	list-style-position: inside;
}
.faq_list li .flexBox .txt {
	text-indent: 0;
}
ol.faq_list li {
	list-style-type: decimal;
}
ul.faq_list li {
	list-style-type: disc;
}

.page_top {
    font-size: 16px;
    letter-spacing:inherit;
    padding: 0;
    text-align: right;
	background: none;
    margin-left: auto;	
}
.page_top a {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.page_top a::before {
	content: "";
	height: 10px;
    width: 10px;
    border-top: 2px solid #b7b7b7;
    border-left: 2px solid #b7b7b7;
    transform: rotate(45deg);
    vertical-align: middle;
    margin-top: -3px;

}


#subscription01 {
	
}
#subscription01 .flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#subscription01 .flex > div {
	background: #fff;
	padding: 20px;
	width: calc( 50% - 10px );
	margin-top: 20px;
}
#subscription01 .flex > div:last-child {
	width: 100%;
}
#subscription01 .flex > div > dl {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#subscription01 .flex > div > dl > dt {
	background: #9e9e9e;
	width: 78px;
	height: 78px;
	border-radius: 39px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 17px;
	color: #fff;
	font-weight: bold;
	line-height: 1.2;
	text-align: center;
}
#subscription01 .flex > div > dl > dd {
	text-align: center;
	font-weight: bold;	
	font-size: 22px;
	flex: 1;
}
#subscription01 .flex > div > dl > dd strong {
	color: #ff0000;
	font-size: 1.1em;
}
#subscription01 p.links {
	width: 100%;
	font-size: 80%;
	text-align: right;
}

#subscription02 > ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
#subscription02 > ul > li {
	list-style: none;
	width: calc( ( 100% - 45px ) / 4 );
	margin-top: 15px;
	padding: 5px;
}
#subscription02 > ul::after {
	content: "";
	display: block;
	width: calc( ( 100% - 45px ) / 4 );
}
#subscription02 > ul::before {
	content: "";
	display: block;
	width: calc( ( 100% - 45px ) / 4 );
	order: 1;
}
#subscription02 > ul > li > a {
	display: block;
}
#subscription02 > ul > li > a .pic {
	border: 2px solid #f8f8f8;
	display: block;
	width: 100%;
	height: 0;
	position: relative;
	padding-top: 100%;
	transition: all 0.4s ease;
}
#subscription02 > ul > li > a:hover .pic {
	border: 2px solid #6EB92B;
}
#subscription02 > ul > li > a .pic img {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	z-index: 2;
}
#staticWrap.sitemap h3 {
	font-size: 1.4rem;
}
/* sp(tablet) */
/*600px～1199px*/
@media screen and (min-width:600px) and ( max-width:1199px) {
}

/* SP style */
@media screen and (max-width: 599px){
	#subscription01 .flex > div {
		width: 100%;
	}
	#subscription01 .flex > div > dl > dt {
		width: 54px;
		height: 54px;
		border-radius: 27px;
		font-size: 14px;
	}
	#subscription01 .flex > div > dl > dd {
		font-size: 15px;
		flex: 1;
	}
	#subscription02 > ul > li {
		width: calc( 50% - 10px );
		margin-top: 20px;
	}
	#subscription02 > ul::after {
		display: none;
	}
	#subscription02 > ul::before {
		display: none;
	}
	.tbl01 {
		display: flex;
		flex-wrap: wrap;
	}
	.tbl01 caption {
		width: 100%;
		padding: 5px 15px;
		font-weight: bold;
		border-bottom: none;
	}
	.tbl01 tr {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
	}
	.tbl01 thead {
		display: none;
	}
	.tbl01 tbody {
		flex: 1;
	}
	.tbl01 tr td {
		font-weight: bold;
		border-bottom: none;
		text-align: left;
		display: flex;
	}
	.tbl01 tr td:before {
    	content: attr(data-label);
	    font-weight: bold;
        width: 130px;
		flex: 1 0 auto;
  }
	#staticWrap.sitemap h3 {
		font-size: 1.6rem;
	}

	/* -------------------------------
	▼定期コースについて
	------------------------------- */
	.subList ul li .listLeft {
		width: 100%;
		text-align: center;
		margin: 0 auto 12px;
	}
	.subList ul li .listLeft img {
		width: 100%;
		margin-bottom: 15px;
	}
	.subList ul li .listLeft span {
		font-size: 130%;
		padding: 6px 25% 9px;
	}

	.subList ul li .listCenter {
		width: 100%;
		text-align: center;
		margin: 0 auto 18px;
	}

	.subList ul li .listRight {
		width: 96%;
		margin: 0 2%;
	}
	.subList ul li .listRight .continue,
	.subList ul li .listRight .gainContinue {
		text-align: center;
	}

}





/*----------------------------------------------

Hygiene用CSS

----------------------------------------------*/

#staticWrap #category_area {
	margin: 20px;
}
#staticWrap #cate_area_b {
	background: #f8f8f8;
	padding: 20px;
}
#cate_list_arrow li {
	background: none;
}
#cate_list_arrow li::before {
	content: "▼";
	color: #ff5a5b;
}
.tbl02 {
	width: 100%;
}
.tbl02 td,
.tbl02 th{
	padding: 5px;
}
.cate_phase {
	background-size: 100% 100%;
}
.table-wrap {width: 100%;}
div#selectchart02 {width: 100%;}

/* SP style */
@media screen and (max-width: 599px){
	#staticWrap #cate_area_b {
		padding: 10px;
	}
	#staticWrap #category_area {	
		margin: 5px;
	}
	#category_sub {
	margin: 10px 5px;
}
	.tblWrap > * {
		width: 860px;
		max-width: 860px;
		min-width: 860px;
	}
	.tblWrap {
		position: relative;
		border:1px solid #ff5a5b;
		overflow-x: scroll;
		-webkit-overflow-scrolling: touch;
	}
	.scrWrap {
		position: relative;
		border:1px solid #ff5a5b;
		overflow-x: scroll;
		-webkit-overflow-scrolling: touch;
	}
	.table-wrap {width: auto;}
	div#selectchart02 {width: auto;}
	.tblWrap::before,
	.scrWrap::before {
		content: "";
		display: block;
		position: absolute;
		 background: url("../../../img/usr/freepage/hs/dental/ico_swipe01.png") no-repeat center center / contain;
		width: 78px;
		height: 107px;
		left: 0;
		top: 50%;
		opacity: 0.8;
		transform: translateY(-50%);
		animation-name: blink;
		animation-direction: alternate;
		animation-duration: 3s;
		animation-fill-mode: forwards;
		animation-iteration-count: infinite;
		animation-timing-function: ease-in-out;	
	}
	@keyframes blink {
		0% {
			opacity: 0.8;
		}
		50% {
			opacity: 0;
		}
		100% {
			opacity: 0.8;
		}
	}
	.lawBox {
		width:100%;
	}
	.lawTablw {
		width:100%;
	}

	
}