@charset "UTF-8";



/*導入
--------------------------------------------------------------------*/
.case .com_lead > dt div {
	width: 15%;
	margin: 0 auto 1.0em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.case .com_lead > dt {
	text-align: left;
}
.case .com_lead > dt div {
	width: 20%;
}
}



/*lead_box、カテゴリーから探す
--------------------------------------------------------------------*/
.case .search .ttl {
	text-align: center;
	color: rgba(255,255,255,0.2);
	font-size: min(376%,5.4vw);
	letter-spacing: .04em;
	line-height: 1.0em;
}
.case .search .ttl span {
	display: inline-block;
	position: relative;
}
.case .search .ttl span::before {
	content: "";
	position: absolute;
	width: 2.5em;
	height: 2.5em;
	right: 0;
	top: 0;
	top: 50%;
	transform: translate(125%,-50%);
	background: url("../images/case/case_img2@2x.png") no-repeat center center;
	background-size: contain;
}

.case_cat_search {
	margin-top: var(--gap_50);
	text-align: center;
}
.case_cat_search dt {
	letter-spacing: .2em;
	margin-bottom: 1.0em;
}
.case_cat_search .search_list {
	display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
	color: var(--color_base);
	font-family: var(--ff_got);
	font-size: min(106%,1.6vw);
	font-weight: bold;
	letter-spacing: .22em;
	line-height: 1.2em;
	column-gap: 1.6%;
	row-gap: 1.0em;
}
.case_cat_search .search_list a {
	display: inline-block;
	font-weight: bold;
	background: #fff;
	padding: .8em 1.5em;
	padding-right: 3.0em;
	min-width: 12.0em;
	position: relative;
}
.case_cat_search .search_list a::before {
	font-family: 'fontello';
	content: '\e815';
	color: #2a6187;
	font-size: 150%;
	font-weight: normal;
	position: absolute;
	right: .5em;
	top: 50%;
	transform: translateY(-45%);
}
.case_cat_search .search_list a:hover {
	background: var(--color_gold);
	color: #fff;
}
.case_cat_search.teeth-parts .search_list a::before {color: #655733;}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.case_cat_search .search_list {
	font-size: 2.0vw;
	letter-spacing: .15em;
}
.case_cat_search .search_list a {
	min-width: 8.0em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.case .search .ttl {
	font-size: 240%;
}
.case .search .ttl span::before {
	width: 1.8em;
	height: 1.8em;
	transform: translate(115%,-50%);
}

.case_cat_search .search_list {
    justify-content: space-between;
    flex-wrap: wrap;
	font-size: 90%;
	letter-spacing: normal;
	column-gap: 0;
}
.case_cat_search .search_list li {
	width: 49%;
}
.case_cat_search .search_list li:nth-child(-n+2) {
	margin-top: 0;
}
.case_cat_search .search_list a {
	display: block;
	padding: .6em 0;
	padding-right: 1.0em;
	min-width: 0;
}
.case_cat_search .search_list a::before {
	right: .5em;
}
}



/*共通
--------------------------------------------------------------------*/
.com_index3 {
	background: rgba(255,255,255,0.2);
}

.case_title {
	text-align: center;
	margin-bottom: 1.0em;
}
.case_title .ft_min {
	font-size: min(147%,2.5vw);
	line-height: 1.4em;
	letter-spacing: .06em;
}

.case_cat {
	width: 100%;
	display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
	text-align: center;
	font-family: var(--ff_got);
	font-size: 88%;
	letter-spacing: .08em;
	line-height: 2.0em;
	column-gap: .5em;
	row-gap: .3em;
}
.case_cat .cat_list1 li {
	display: inline-block;
}
.case_cat .cat_list1 a {
	font-size: 95%;
	font-weight: bold;
	display: inline-block;
	padding: 0 .8em;
	border-radius: .3em;
	min-width: 6.0em;
	background: #2a6187;
	transition: all 0.4s;
}
.case_cat .cat_list1 a:hover {opacity: 0.6;}
.case_cat .cat_list1 .teeth-parts a {background: #655733;}

.case_cat .cat_list1 + .cat_list2::before {
	display: inline-block;
	content: "／";
	margin-left: .5em;
}
.case_cat .cat_list2 li {
	display: inline-block;
	margin: 2% .2em;
}
.case_cat .cat_list2 li a {
	text-decoration: underline;
}
.case_cat .cat_list2 li a:hover {
	color: #8e7d52;
	text-decoration: none;
}

.case .before_after {
	display: flex;
    justify-content: space-between;
    align-items: center;
	position: relative;
	text-align: center;
	font-size: min(153%,2.2vw);
	padding-bottom: 1.5em;
}
.case .before_after > div {
	width: 47%;
	position: relative;
}
.case .before_after .arrow {
	width: 6%;
	font-size: 80%;
	line-height: 1.0em;
	opacity: 0.3;
}
.case .before_after .img_thum {
	aspect-ratio: 480 / 290;
	position: relative;
}
.case .before_after .img_thum img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center center;
}
.case .before_after .ft_eng1 {
	position: absolute;
	margin: auto;
	left: 0;
	right: 0;
	color: #2a6187;
	letter-spacing: .14em;
	bottom: -1.5em;
}

.case .btn_more {
	text-align: center;
}
.case .btn_more a {
	display: block;
	background: #fff;
	color: var(--color_base);
	font-size: min(112%,1.6vw);
	letter-spacing: .06em;
	line-height: 3.0em;
}
.case .btn_more a:hover {
	background: var(--color_gold);
	color: #fff;
}
.case .btn_more a span {
	display: inline-block;
	padding-right: 2.0em;
	position: relative;
}
.case .btn_more a span::before {
	font-family: 'fontello';
	content: '\e815';
	font-size: 150%;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.case_title .ft_min {
	font-size: 130%;
}
.case_cat {
	font-size: 80%;
}
.case .before_after {
	font-size: 100%;
}
.case .before_after > div {
	width: 47%;
}
.case .before_after .arrow {
	width: 6%;
	font-size: 80%;
}
.case .before_after .ft_eng1 {
	letter-spacing: .1em;
}
.case .slide_arrow div {
	width: 10%;
}
.case .btn_more a {
	font-size: 100%;
	line-height: 2.0em;
}
}



/*一覧
--------------------------------------------------------------------*/
.case_list {
	display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
	row-gap: 40px;
}
.case_list > li {
	width: 49.5%;
	max-width: 640px;
	box-sizing: border-box;
	border: solid 1px #fff;
	padding: 40px 3.5% 140px;
	position: relative;
}
.case_list .case_title .case_cat {
	margin-top: 1.5em;
}
.case_list .before_after {
	margin-top: 1.2em;
}
.case_list .txt {
	margin-top: 1.5em;
}
.case_list .btn_more {
	width: 87%;
	position: absolute;
	margin: auto;
	left: 0;
	right: 0;
	bottom: 50px;
}

.case .pagenavi_wrap + .com_link1 {
	margin-top: var(--gap_60);
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.case_list > li {
	padding: 3vw 3% 10vw;
}
.case_list .btn_more {
	bottom: 3vw;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.case_list {
	display: block;
}
.case_list > li {
	width: 100%;
	max-width: 100%;
	padding: 8% 6%;
	margin-top: 8%;
}
.case_list > li:first-child {
	margin-top: 0;
}
.case_list .txt {
	margin-top: 1.0em;
}
.case_list .btn_more {
	width: 100%;
	position: static;
	margin-top: 1.5em;
}
}



/*詳細
--------------------------------------------------------------------*/
.case_detail .case_title {
	width: 100%;
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
	text-align: left;
	margin-bottom: var(--gap_60);
}
.case_detail .case_title .ft_min {
	font-size: min(206%,3.0vw);
}
.case_detail .case_title .case_cat {
    justify-content: flex-start;
	margin-top: 1.5em;
}

.case_detail .before_after {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto var(--gap_60);
	font-size: min(206%,3.0vw);
}
.case_detail .before_after:last-of-type {
	margin-bottom: var(--gap_80);
}

.case_detail .sub_photo {
	width: 90%;
	max-width: 895px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
    flex-wrap: wrap;
	column-gap: 6.5%;
	row-gap: 40px;
}
.case_detail .sub_photo > li {
	width: 29%;
}
.case_detail .sub_photo .img_thum {
	aspect-ratio: 259 / 178;
	position: relative;
}
.case_detail .sub_photo .img_thum img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center center;
}
.case_detail .sub_photo p {
	margin-top: 1.2em;
}

.case_detail .tbl_detail {
	width: 100%;
	border-top: solid 1px #fff;
}
.case_detail .tbl_detail th,
.case_detail .tbl_detail td {
	box-sizing: border-box;
	text-align: left;
	border-bottom: solid 1px #fff;
}
.case_detail .tbl_detail th {
	width: 25%;
	background: rgba(255,255,255,0.2);
	vertical-align: top;
	font-size: min(112%,1.8vw);
	font-weight: 400;
	letter-spacing: .02em;
	line-height: 1.4em;
	padding: 1.5em 3%;
}
.case_detail .tbl_detail td {
	width: 75%;
	vertical-align: middle;
	font-size: 94%;
	line-height: 1.8em;
	padding: 1.5em 3%;
}
.case_detail .tbl_detail .free_area p {
	margin-bottom: 1.5em;
}
.case_detail .tbl_detail .free_area p:last-child {
	margin-bottom: 0 !important;
}

.case_detail .risk {
	background: rgba(255,255,255,0.2);
	font-family: var(--ff_got);
}
.case_detail .risk > dt {
	background: rgba(255,255,255,0.2);
	text-align: center;
	font-size: min(112%,1.8vw);
	font-weight: bold;
	letter-spacing: .24em;
	line-height: 1.4em;
	padding: 1.0em 4%;
}
.case_detail .risk > dd {
	padding: 40px 4%;
	line-height: 2.2em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.case_detail .sub_photo {
	width: 100%;
}
.case_detail .sub_photo {
	width: 100%;
	column-gap: 3.5%;
	row-gap: 4vw;
}
.case_detail .sub_photo > li {
	width: 31%;
}

.case_detail .tbl_detail th {
	font-size: 105%;
}
.case_detail .risk > dt {
	font-size: 105%;
}
.case_detail .risk > dd {
	padding: 4% 4%;
	line-height: 2.0em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.case_detail .case_title {
	margin-bottom: 10vw;
}
.case_detail .case_title .ft_min {
	font-size: 140%;
}
.case_detail .before_after {
	display: block;
	font-size: 140%;
	width: 100%;
	box-sizing: border-box;
	padding: 0 8% 6%;
	border-bottom: solid 1px rgba(255,255,255,0.4);
	margin: 0 auto 8%;
}
.case_detail .before_after:last-of-type {
	padding-bottom: 0;
	border-bottom: none;
	margin-bottom: 10%;
}
.case_detail .before_after > div {
	width: 100%;
}
.case .before_after .img_thum {
	aspect-ratio: auto;
}
.case_detail .before_after .arrow {
	width: 6%;
	margin: .2em auto .6em;
}
.case_detail .before_after .arrow i {
	display: block;
	transform: rotate(90deg);
}
.case_detail .before_after .ft_eng1 {
	position: static;
	margin-top: .5em;
}

.case_detail .sub_photo {
	width: 100%;
}
.case_detail .sub_photo {
    justify-content: space-between;
	column-gap: 0;
	row-gap: 6vw;
}
.case_detail .sub_photo > li {
	width: 47%;
}
.case_detail .sub_photo p {
	margin-top: .6em;
}

.case_detail .tbl_detail tr,
.case_detail .tbl_detail th,
.case_detail .tbl_detail td {
	display: block;
	width: 100%;
}
.case_detail .tbl_detail th {
	text-align: center;
	font-size: 105%;
	letter-spacing: .1em;
	padding: .5em 3%;
	border-bottom: none;
}
.case_detail .tbl_detail td {
	line-height: 1.6em;
	padding: 1.2em 3% 1.2em;
}

.case_detail .risk > dt {
	font-size: 105%;
	letter-spacing: normal;
}
.case_detail .risk > dd {
	padding: 6% 6%;
	line-height: 1.8em;
}
}



/*詳細ページ
---------------------------------------------------------*/
.case_detail .page_link {
	font-family: var(--ff_got);
	font-size: 88%;
	letter-spacing: .04em;
	line-height: 1.8em;
	padding-bottom: 1.5em;
	border-bottom: solid 1px #fff;
	margin-bottom: var(--gap_60);
}
.case_detail .page_link ul {
	width: 100%;
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
    justify-content: space-between;
    align-items: center;
}
.case_detail .page_link ul li {
	width: 49%;
}
.case_detail .page_link ul li:last-child {
	text-align: right;
}
.case_detail .page_link ul li a {
	display: inline-block;
	position: relative;
}
.case_detail .page_link ul li a:hover {
	color: var(--color_gold);
}
.case_detail .page_link ul li a::before {
	font-family: 'fontello';
	content: '\e815';
	position: absolute;
	font-size: 150%;
}
.case_detail .page_link ul li:first-child a {
	padding-left: 2.2em;
}
.case_detail .page_link ul li:last-child a {
	padding-right: 2.2em;
}
.case_detail .page_link ul li:first-child a::before {
	left: 0;
	top: 50%;
	transform: translateY(-50%) rotate(180deg);
}
.case_detail .page_link ul li:last-child a::before {
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
}



/*page number
-----------------------------------------------------*/
.wp-pagenavi {
	display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
	row-gap: 1.0em;
	text-align: center;
	font-family: var(--ff_got);
	font-size: 94%;
	letter-spacing: normal;
	line-height: 1.0em;
}
.wp-pagenavi .pages {
	display: none;
}
.wp-pagenavi .current,
.wp-pagenavi .page {
	display: inline-block;
	vertical-align: middle;
	opacity: 0.4;
	width: 2.0em;
	line-height: 2.0em;
	margin: 0 .3em;
	letter-spacing: normal;
	position: relative;
	transition: all 0.4s;
}
.wp-pagenavi .current,
.wp-pagenavi .page:hover {
	opacity: 1;
}
.wp-pagenavi .extend {
	font-size: 70%;
	margin: 0 1.0em;
}

/* 左右の矢印 */
/* 最初・最後のページ */
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink,
.wp-pagenavi .first,
.wp-pagenavi .last {
	letter-spacing: .1em;
	line-height: 1.0em;
	display: inline-block;
	vertical-align: middle;
	position: relative;
	transition: all 0.4s;
}
.wp-pagenavi .previouspostslink:hover,
.wp-pagenavi .nextpostslink:hover,
.wp-pagenavi .first:hover,
.wp-pagenavi .last:hover {
	color: var(--color_gold);
}
.wp-pagenavi .previouspostslink::before,
.wp-pagenavi .nextpostslink::before,
.wp-pagenavi .first::before,
.wp-pagenavi .last::before {
	font-family: 'fontello';
	content: '\e815';
	font-size: 150%;
	font-weight: normal;
	position: absolute;
	top: 50%;
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .first {
	padding-left: 2.5em;
	margin-right: 2.5em;
}
.wp-pagenavi .previouspostslink::before,
.wp-pagenavi .first::before {
	left: 0;
	transform: translateY(-50%) rotate(180deg);
}
.wp-pagenavi .nextpostslink,
.wp-pagenavi .last {
	padding-right: 2.5em;
	margin-left: 2.5em;
}
.wp-pagenavi .nextpostslink::before,
.wp-pagenavi .last::before {
	right: 0;
	transform: translateY(-50%);
}
/* 前後のページ */
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
	display: none !important;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.wp-pagenavi {
	font-size: 90%;
}
}



/*
--------------------------------------------------------------------*/

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
}