@charset "utf-8";

/* 共通
------------------------------------------------------------------*/
.content_low {
	padding: calc(100 / var(--break) * 100vw) 0 calc(200 / var(--break) * 100vw);
}
.main_page {
	background: url("images/page/bg_ttl_page.jpg")no-repeat center / cover;
	height: calc(500 / var(--break) * 100vw);
}
.page_main section:not(:last-child) {
	margin-bottom: calc(100 / var(--break) * 100vw);
}

@media only screen and (min-width: 768px) and (max-width: 1599px) {
}
@media only screen and (min-width: 768px) and (max-width: 1299px) {
}
@media only screen and (max-width: 767px) {
	.content_low {
		padding: 13vw 0 25vw;
	}
	.content_low .inner, .main_page .inner {
		max-width: calc(702 / var(--break) * 100vw);
	}
	.page_main section:not(:last-child) {
		margin-bottom: 20vw;
	}
	.main_page {
		background-image: url("images/page/bg_ttl_page_sp.jpg");
	}
	.col_img {
		text-align: center;
	}
}


/* copy_common
------------------------------------------------------------------*/
.copy_common01{
	padding: calc(16 / var(--break03));
	line-height: 1.6;
	text-align: center;
	color: #fff;
	background: #948871;
	position: relative;
	z-index: 1;
}
.copy_common01::before,
.copy_common01::after
{
	content: "";
	width: calc(58 / var(--break03));
	height: calc(58 / var(--break03));
	margin: auto;
	border: solid #fff 1px;
	border-bottom: 0;
	position: absolute;
	inset: calc(10 / var(--break03));
	bottom: auto;
	z-index: -1;
}
.copy_common01::before{
	border-right: 0 !important;
	right: auto !important;
}
.copy_common01::after{
	border-left: 0 !important;
	left: auto !important;
}
@media(min-width: 768px) and (max-width:1599px) {
	
}
@media(min-width: 768px) and (max-width:1299px) {
	
}
@media(max-width: 767px) {
	
}

/* copy_common
------------------------------------------------------------------*/
.copy_common02{
	padding: 0 0 calc(70 / var(--break02));
	line-height: 1.6;
	text-align: center;
	position: relative;
	z-index: 1;
}
.copy_common02::before{
	content: "";
	width: 1px;
	height: calc(50 / var(--break02));
	margin: auto;
	background: #000;
	position: absolute;
	inset: auto 0 0;
	z-index: -1;
}
@media(min-width: 768px) and (max-width:1599px) {
	
}
@media(min-width: 768px) and (max-width:1299px) {
	
}
@media(max-width: 767px) {
	
}

/* row_common30
------------------------------------------------------------------*/
.row_common30.flex{justify-content: center;}
.row_common30>.col {
	max-width: 400px;
	width: 32.2%;
	background: #fff;
	border-top: 0;
	position: relative;
	z-index: 1;
}
.row_common30 .copy {
	line-height: 1.5;
	text-align: center;
	position: relative;
	z-index: 1;
}
@media(min-width: 768px) {
	.row_common30>.col {
		margin-right: 1.699%;
	}
	.row_common30>.col:nth-of-type(3n),
	.row_common30>.col:last-child {
		margin-right: 0;
	}
	.row_common30>.col:nth-of-type(n + 4){
		margin-top: calc(40 / var(--break03))
	}
}
@media(max-width: 767px) {
	.row_common30.flex{justify-content: center !important;}
	.row_common30>.col {
		width: 48%;
		margin-right: 3.99%;
	}
	.row_common30>.col:nth-of-type(2n),
	.row_common30>.col:last-child {
		margin-right: 0;
	}
	.row_common30>.col:nth-of-type(n + 3){
		margin-top: calc(50 / 750 * 100vw)
	}
	.row_common30 .copy{
		letter-spacing: 0;
		font-size: calc(26 / 750 * 100vw);
	}
}



/* row_common30
------------------------------------------------------------------*/
.row_common31.flex{justify-content: center;}
.row_common31>.col {
	max-width: 394px;
	width: 31.799%;
	background: #dee6eb;
	border-top: 0;
	position: relative;
	z-index: 1;
}
.row_common31>.col::after {
	content: "";
	width: calc(20 / var(--break02));
	height: calc(20 / var(--break02));
	margin: auto;
	border-bottom: 1px solid #222;
	border-right: 1px solid #222;
	position: absolute;
	bottom: calc(8 / var(--break02));
	right: calc(8 / var(--break02));
}
.row_common31 .copy {
	padding: calc(16 / var(--break02)) 0;
	line-height: 1.6;
	color: #fff;
	background: #4c463f;
	text-align: center;
	position: relative;
	z-index: 1;
}
.row_common31 .areaText {
	padding: calc(22 / var(--break02)) calc(28 / var(--break02));
}
@media(min-width: 768px) {
	.row_common31>.col {
		margin-right: 2.299%;
	}
	.row_common31>.col:nth-of-type(3n),
	.row_common31>.col:last-child {
		margin-right: 0;
	}
	.row_common31>.col:nth-of-type(n + 4){
		margin-top: calc(40 / var(--break03))
	}
}
@media(max-width: 767px) {
	.row_common31.flex{justify-content: space-between !important;}
	.row_common31>.col {
		width: calc(646 / 750 * 100vw);
		margin: 0 auto calc(60 / 750 * 100vw);
	}
	.row_common31>.col:last-child {
		margin-bottom: 0;
	}
	.row_common31 .copy {
		padding: 2.2vw 0;
		letter-spacing: 0;
		font-size: calc(36 / 750 * 100vw);
	}
	.row_common31.areaText {
		padding: calc(24 / 750 * 100vw) calc(26 / 750 * 100vw);
	}
}

/* コンテンツ名 class
------------------------------------------------------------------*/
@media(min-width: 768px) and (max-width:1599px) {
	
}
@media(min-width: 768px) and (max-width:1299px) {
	
}
@media(max-width: 767px) {
	
}
/* box_common01
------------------------------------------------------------------*/
.box_common01{
	background: #fff;
	border: 1px solid #000000;
}
@media(min-width: 768px) and (max-width:1299px) {
	
}
@media(max-width: 767px) {
	
}

/* btn_common
------------------------------------------------------------------*/
.btn_common{
	width: calc(340 / var(--break02));
	height: calc(80 / var(--break02));
	color: #fff;
	background: #7e6b5f;
	position: relative;
	z-index: 1;
}
.btn_common::before {
	content: "";
	width: 0;
	height: 0;
	margin: auto;
	border-width: calc(12.5 / var(--break03));
	border-style: solid;
	border-color: transparent #fff #fff transparent;
	position: absolute;
	bottom: calc(6 / var(--break03));
	right: calc(6 / var(--break03));
	z-index: 1;
}
@media(min-width: 768px) and (max-width:1299px) {

}
@media(max-width: 767px) {
	.btn_common{
		width: calc(600 / 750 * 100vw);
		height: calc(100 / 750 * 100vw);
	}
	.btn_common .fz20{
		letter-spacing: 0;
		font-size: 100%;
	}
}

/* コンテンツ名 class
------------------------------------------------------------------*/
@media(min-width: 768px) and (max-width:1599px) {
	
}
@media(min-width: 768px) and (max-width:1299px) {
	
}
@media(max-width: 767px) {
	
}
/* tbl_common01
------------------------------------------------------------------*/
.tbl_common01 table {
	border-color: #000;
	border-right: 0;
	border-left: 0;
}
.tbl_common01 tbody th {
	vertical-align: middle;
	color: #000000;
	background: #f7f8f8;
}
.tbl_common01 tbody td {
	background: #fff;
}
.tbl_common01 tr:not(:last-child) th{
	border-bottom-color:#000
}
.tbl_common01 tr:not(:last-child) td {
	border-bottom-color: #000
}

.tbl_common02 table {
	border-color: #1e2025
}
.tbl_common02 tbody th {
	vertical-align: middle;
	color: #fff;
	background: #364049;
}
.tbl_common02 tbody td {
	background: #fff;
}
.tbl_common02 tr:not(:last-child) th{
	border-bottom-color:#fff;
}
.tbl_common02 tr:not(:last-child) td {
	border-bottom-color: #1e2025
}

@media(max-width: 767px) {
	.tbl_common01.cell_100sp tbody th {
		border-bottom: 1px solid #000;
	}
}


/* row_sns_common
------------------------------------------------------------------*/
.row_sns_common{
	width: calc(300 / var(--break02));
}
.row_sns_common .twitter{
	width: calc(60 / var(--break02));
}
.row_sns_common .instagram{
	width: calc(62 / var(--break02));
}
.row_sns_common .youtube{
	width: calc(86 / var(--break02));
}
@media(min-width: 768px) and (max-width:1299px) {
	
}
@media(max-width: 767px) {
	
}

/* コンテンツ名 class
------------------------------------------------------------------*/
@media(min-width: 768px) and (max-width:1599px) {
	
}
@media(min-width: 768px) and (max-width:1299px) {
	
}
@media(max-width: 767px) {
	
}

/* .tbl_time table
------------------------------------------------------------------*/
.tbl_time{
	max-width: 530px;
}
.tbl_time .box {
	background: #f3f6f7;
	border: 0
}
.tbl_time table {color: #222}
.tbl_time thead th {border-bottom-color: #222}
.tbl_time thead tr:first-child th,
.tbl_time tbody tr:first-child td 
{padding-top: var(--size10px)!important}
.tbl_time .tbl_caption{margin-top: var(--size10px); line-height: 1.6;}
@media(min-width: 768px) and (max-width:1299px) {
	.cover_tbl .tbl_time {
		font-size: calc(14.5 / 1700 * 100vw);
	}
	.cover_tbl .tbl_time .box {
		padding: calc(10 / 1700 * 100vw) calc(24 / 1700 * 100vw);
	}
}
@media(max-width: 767px) {
	.tbl_time .tbl_caption{
		margin-top: 2vw;
	}
}

/* bg_contact
------------------------------------------------------------------*/
.bg_contact{
	padding: calc(60 / var(--break03)) 0;
	background: #cad4db;
	position: relative;
	z-index: 1;
}
.row_contact{
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
}
.row_contact .btn{
	max-width: 32.5%;
	width: calc(480 / var(--break03));
	height: calc(160 / var(--break03));
	padding-top: calc(4 / var(--break03));
	background: #fff;
	box-shadow: calc(10 / var(--break03)) calc(10 / var(--break03)) 0 rgba(0, 0, 0, .1);
	position: relative;
	z-index: 1;
}
.row_contact .s1{
	display: block;
	line-height: 1;
	letter-spacing: 0;
	margin-bottom: calc(14 / var(--break03));
	font-size: calc(24/ var(--break03));
}
.row_contact .s2{
	line-height: 1;
    letter-spacing: 0;
	font-size: calc(48 / var(--break03));
	position: relative;
	z-index: 1;
}
.row_contact .s3{
	line-height: 1;
    letter-spacing: 0;
	font-size: calc(44 / var(--break03));
	position: relative;
	z-index: 1;
}
.row_contact .btn_tel_common{
	padding-top: calc(10 / var(--break03));
}
.btn_tel_common .s2{
	padding-left: calc(46 / var(--break03));
	position: relative;
	z-index: 1;
}
.btn_tel_common .s2::before {
    content: "";
    width: calc(34 / var(--break03));
    height: calc(34 / var(--break03));
    margin: auto;
	background: url(images/page/icon_tel.svg)no-repeat center / contain;
    position: absolute;
	top: 0;
    bottom: 0;
    left:  4px;
    z-index: 1;
}
.btn_web_common::before ,
.btn_line_common::before
{
    content: "";
    width: 0;
    height: 0;
    margin: auto;
    position: absolute;
    border-width: calc(9.5 / var(--break03));
    border-style: solid;
    border-color: transparent #7e6b5f #7e6b5f transparent;
    bottom: calc(5 / var(--break03));
    right: calc(5 / var(--break03));
    z-index: 1;
}
.btn_line_common::before {
    border-color: transparent #fff #fff transparent;
}
.only.row_contact{
	max-width: 340px;
}
.only.row_contact .btn_tel_common{
	max-width: 100%;
	height: calc(110 / var(--break03));
	background: #f3f6f7;
	box-shadow: none;
}
.only .btn_tel_common .s1{
	margin-bottom: calc(10 / var(--break03));
	font-size: calc(18/ var(--break03));
}
.only .btn_tel_common .s2{
	font-size: calc(38 / var(--break03));
}
.only .btn_tel_common .s2::before {
	width: calc(26 / var(--break03));
	height: calc(26 / var(--break03));
	left: calc(10 / var(--break03));
}
@media(min-width: 768px) and (max-width:1299px) {

}
@media(max-width: 767px) {
	.bg_contact{
		padding: calc(60 / 750 * 100vw) 0;
	}
	.row_contact .btn{
		max-width: 100%;
		width: calc(600 / 750 * 100vw);
		height: calc(160 / 750 * 100vw);
		margin: 0 auto calc(48 / 750 * 100vw);
		padding-top: 2vw;
	}
	.row_contact .btn:last-child{margin-bottom: 0;}
	.row_contact .s1{
		margin-bottom: 1.5vw;
		letter-spacing: 0;
		font-size: calc(26 / 750 * 100vw);
	}
	.btn_tel_common .s2 {
		padding-left: calc(50 / 750 * 100vw);
		font-size: calc(48 / 750 * 100vw);
	}
	.btn_tel_common .s2::before {
		width: calc(34 / 750 * 100vw);
		height: calc(34 / 750 * 100vw);
	}
	.btn_web_common::before ,
	.btn_line_common::before
	{border-width: calc(12 / 750 * 100vw);}

	.only.row_contact .btn_tel_common{
		width: calc(600 / 750 * 100vw);
		height: calc(160 / 750 * 100vw);
		padding-top: 2vw;
	}
	.only .btn_tel_common .s1{
		margin-bottom: 1.5vw;
		letter-spacing: 0;
		font-size: calc(26 / 750 * 100vw);
	}
	.only .btn_tel_common .s2{
		padding-left: calc(50 / 750 * 100vw);
		font-size: calc(48 / 750 * 100vw);
	}
	.only .btn_tel_common .s2::before {
		width: calc(34 / 750 * 100vw);
		height: calc(34 / 750 * 100vw);
	}
}


/* bg_contact
------------------------------------------------------------------*/
.row_contact02{
	max-width: 100%;
	width: calc(1000 / var(--break02));
	margin-left: auto;
	margin-right: auto;
}
.row_contact02 .btn{
	max-width: 32.5%;
	width: calc(320 / var(--break02));
	height: calc(110 / var(--break02));
	padding-top: calc(2 / var(--break02));
	background: #fff;
	position: relative;
	z-index: 1;
}
.row_contact02 .s1{
	display: block;
	line-height: 1;
	letter-spacing: 0;
	margin-bottom: calc(10 / var(--break02));
	font-size: calc(18 / var(--break02));
}
.row_contact02 .s2{
	line-height: 1;
    letter-spacing: 0;
	font-size: calc(38 / var(--break02));
	position: relative;
	z-index: 1;
}
.row_contact02 .s3{
	line-height: 1;
    letter-spacing: 0;
	font-size: calc(28 / var(--break02));
	position: relative;
	z-index: 1;
}
.row_contact02 .btn_tel_common{
	padding-top: calc(10 / var(--break02));
}
.row_contact02 .btn_tel_common .s2{
	padding-left: calc(46 / var(--break02));
}
.row_contact02  .btn_tel_common .s2::before {
    content: "";
    width: calc(25 / var(--break02));
    height: calc(25 / var(--break02));
    margin: auto;
	background: url(images/page/icon_tel.svg)no-repeat center / contain;
    position: absolute;
	top: 0;
    bottom: 0;
    left:  4px;
    z-index: 1;
}
.row_contact02  .btn_web_common::before ,
.row_contact02  .btn_line_common::before
{
    border-width: calc(6 / var(--break02));
    border-color: transparent #fff #fff transparent;
}
@media(min-width: 768px) and (max-width:1299px) {

}
@media(max-width: 767px) {
	.row_contact02{
		width: calc(600 / 750 * 100vw);
	}
	.row_contact02 .btn{
		max-width: 100%;
		width:  100%;
		height: calc(160 / 750 * 100vw);
		margin: 0 auto calc(40 / 750 * 100vw);
	}
	.row_contact02 .btn:last-child{
		margin-bottom: 0 !important;
	}
	.row_contact02 .s1{
		margin-bottom: 2vw;
		font-size: calc(26 / 750 * 100vw);
	}
	.row_contact02 .s2{
		font-size: calc(48 / 750 * 100vw);
	}
	.row_contact02 .s3{
		font-size: calc(44 / 750 * 100vw);
	}
	.row_contact02 .btn_tel_common{
		height: calc(130 / 750 * 100vw);
		margin-bottom: calc(10 / 750 * 100vw);
		padding-top: 0;
	}
	.row_contact02 .btn_tel_common .s2{
		padding-left: calc(46 / 750 * 100vw);
	}
	.row_contact02  .btn_tel_common .s2::before {
		width: calc(28 / 750 * 100vw);
		height: calc(28 / 750 * 100vw);
		left:  0;
	}
	.row_contact02  .btn_web_common::before ,
	.row_contact02  .btn_line_common::before
	{border-width: calc(12.5 / 750 * 100vw);}
}



/* bg_contact
------------------------------------------------------------------*/
.row_contact03{
	max-width: 100%;
	width: calc(580 / var(--break03));
	color: #fff;
}
.row_contact03 .btn{
	width: calc(110 / var(--break03));
	height: calc(110 / var(--break03));
	padding-top: calc(2 / var(--break02));
	line-height: 1.25;
	letter-spacing: 0;
	font-size: calc(24 / var(--break03));
	position: relative;
	z-index: 1;
}
.row_contact03 .btn::before {
    content: "";
    width: 0;
    height: 0;
    margin: auto;
    border-width: calc(6.5 / var(--break03));
    border-color: transparent #fff #fff transparent;
    border-style: solid;
    position: absolute;
    bottom: calc(5 / var(--break03));
	right: calc(5 / var(--break03));
}
.btn_tel03{
	width: calc(360 / var(--break03));
	height: calc(110 / var(--break03));
	padding-top: calc(10 / var(--break03));
}
.btn_web03{
	background: #7e6b5f;
}
.btn_line03{
	background: #517b5c;
}
.btn_tel03 .s1{
	display: block;
	line-height: 1;
	letter-spacing: 0;
	margin-bottom: calc(10 / var(--break03));
	font-size: calc(18 / var(--break03));
}
.btn_tel03 .s2{
	padding-left: calc(42 / var(--break03));
	line-height: 1;
    letter-spacing: 0;
	font-size: calc(38 / var(--break03));
	position: relative;
	z-index: 1;
}
.btn_tel03 .s2::before {
    content: "";
    width: calc(26 / var(--break03));
    height: calc(26 / var(--break03));
    margin: auto;
	background: url(images/page/icon_tel02.svg)no-repeat center / contain;
    position: absolute;
	top: 0;
    bottom: 0;
    left: calc(10 / var(--break03));
    z-index: 1;
}
@media(min-width: 768px) and (max-width:1299px) {

}
@media(max-width: 767px) {
	.row_contact02{
		width: calc(600 / 750 * 100vw);
	}
	.row_contact02 .btn{
		max-width: 100%;
		width:  100%;
		height: calc(160 / 750 * 100vw);
		margin: 0 auto calc(40 / 750 * 100vw);
	}
	.row_contact02 .btn:last-child{
		margin-bottom: 0 !important;
	}
	.row_contact02 .s1{
		margin-bottom: 2vw;
		font-size: calc(26 / 750 * 100vw);
	}
	.row_contact02 .s2{
		font-size: calc(48 / 750 * 100vw);
	}
	.row_contact02 .s3{
		font-size: calc(44 / 750 * 100vw);
	}
	.row_contact02 .btn_tel_common{
		height: calc(130 / 750 * 100vw);
		margin-bottom: calc(10 / 750 * 100vw);
		padding-top: 0;
	}
	.row_contact02 .btn_tel_common .s2{
		padding-left: calc(46 / 750 * 100vw);
	}
	.row_contact02  .btn_tel_common .s2::before {
		width: calc(28 / 750 * 100vw);
		height: calc(28 / 750 * 100vw);
		left:  0;
	}
	.row_contact02  .btn_web_common::before ,
	.row_contact02  .btn_line_common::before
	{border-width: calc(12.5 / 750 * 100vw);}
}


/* logo_common01
------------------------------------------------------------------*/
.logo_common01{
	width: calc(434 / var(--break02));
}
@media(min-width: 768px) and (max-width:1299px) {

}
@media(max-width: 767px) {

}
/* banner_common01
------------------------------------------------------------------*/
.banner_common01 {
	display: block;
	width: calc(600 / var(--break02));
}
@media(min-width: 768px) and (max-width:1299px) {
}
@media(max-width: 767px) {
}


/* リスク・副作用
------------------------------------------------------------------*/
.box_risk01 {
	background: #f3f6f7;
}
.box_risk01 .box {
	overflow: hidden;
	max-height: 180px;
	height: auto;
	touch-action: auto !important;
	position: relative;
	background: #f3f6f7;
	padding-right: calc(50 / var(--break) * 100vw);
}
.box_invisalign {
	max-width: 1000px;
	border: ;
}
.box_invisalign .box {
	overflow: hidden;
	max-height: 180px;
	height: auto;
	touch-action: auto !important;
	position: relative;
	padding-right: calc(50 / var(--break) * 100vw);
}
/* パーフェクトスクロールバー */
.risk .ps__thumb-y, .box_invisalign .ps__thumb-y {
	background: #7e6b5f !important;
	right: 0px !important;
	width: 4px !important;
}
.risk .ps--active-x > .ps__rail-x,
.risk .ps--active-y > .ps__rail-y, .box_invisalign .ps--active-x > .ps__rail-x,
.box_invisalign .ps--active-y > .ps__rail-y {
	background: none !important;
	right: 0px !important;
	width: 4px !important;
	opacity: 1!important;
}
.risk .ps .ps__rail-x.ps--clicking, .risk .ps .ps__rail-x:focus, .risk .ps .ps__rail-x:hover, .risk .ps .ps__rail-y.ps--clicking, .risk .ps .ps__rail-y:focus, .risk .ps .ps__rail-y:hover, .box_invisalign .ps .ps__rail-x.ps--clicking, .box_invisalign .ps .ps__rail-x:focus, .box_invisalign .ps .ps__rail-x:hover, .box_invisalign .ps .ps__rail-y.ps--clicking, .box_invisalign .ps .ps__rail-y:focus, .box_invisalign .ps .ps__rail-y:hoverr {
	opacity: 1!important;
}
@media(min-width: 768px) and (max-width:1599px) {
}
@media(min-width: 751px) and (max-width:1299px) {
}
@media(max-width: 767px) {
	.box_risk01 .box {
		padding-right: 4vw;
		max-height: calc(420 / var(--break) * 100vw);
	}
	.box_risk01 .ttl, .box_invisalign .ttl {
		font-size: 1.125rem;
		letter-spacing: 0;
	}
	.box_risk01 .txt {
		letter-spacing: 0;
	}
	.sp.risk .ps-container > .ps-scrollbar-y-rail > .ps-scrollbar-y, .sp.risk .ps-container > .ps-scrollbar-y-rail, .box_invisalign .ps-container > .ps-scrollbar-y-rail > .ps-scrollbar-y, .box_invisalign .ps-container > .ps-scrollbar-y-rail {
		right: 0!important;
		width: 2px!important;
	}
}


/* 採用情報 recruit
------------------------------------------------------------------*/
.tbl_guideline01:not(:last-child) {
	margin-bottom: calc(100 / var(--break) * 100vw);
}
.tbl_guideline01 table {
	border-color: ;
}
.tbl_guideline01 th {
	background: ;
}
.tbl_guideline01 tr:not(:last-child) td {
	border-bottom-color: ;
}
.tbl_form01 th {
	color: #333333;
}
.tbl_form01 td input,
.tbl_form01 td textarea {
	background-color: #eee;
}
.tbl_form01 .require span:after {
	color: #fff;
	background-color: #333;
}
.btn_submit input {
	border: none;
	background: #;
}
@media(min-width: 768px) and (max-width:1599px) {
}
@media(min-width: 768px) and (max-width:1299px) {
}
@media(max-width: 767px) {
	.tbl_guideline01 td a {
		text-decoration: underline;
		color: var(--guideline-color);
	}
}

/* お問い合わせ contact
------------------------------------------------------------------*/
.grecaptcha-badge { visibility: hidden; }
@media(min-width: 768px) and (max-width:1599px) {
	
}
@media(min-width: 768px) and (max-width:1299px) {
	
}
@media(max-width: 767px) {
	
}
