@charset "UTF-8";
 .page_title {
background: url(//www.kahokusmile.com/img/whitening/page_title.jpg) no-repeat center center;
}
main .bg_green .bg_green_in {
padding-top: 90px;
padding-bottom: 100px;
background: url(//www.kahokusmile.com/img/common/dot_line.svg) repeat-x center bottom;
}
main .comment01 {
margin-bottom: 2.5em;
}
main .anc_btn {
border: dashed 1px #69ba46;
margin-bottom: 100px;
padding: 20px;
border-radius: 10px;
}
main .anc_btn ul {
display: flex;
}
main .anc_btn ul li {
width: 32%;
}
main .anc_btn ul li:not(:last-child) {
margin-right: 2%;
}
main .anc_btn ul li a {
display: block;
font-size: 2.0rem;
font-weight: 700;
color: #69ba46;
background: #FFF;
text-align: center;
padding: .6em .8em;
border-radius: 10px;
}
main .anc_btn ul li a:hover {
background: #cae7be;
}
main .about > section:not(:last-of-type) {
margin-bottom: 100px;
}
main .about > section > .comment:not(:last-child) {
margin-bottom: 60px;
}
main .about > section > .comment p:not(:last-of-type) {
margin-bottom: 1.2em;
}
main .about > section > .comment p span {
color: #69ba46;
font-weight: 700;
}
main .about > section > .box section:not(:last-of-type) {
margin-bottom: 60px;
}
main .about > section > .box section .comment:not(:last-child) {
margin-bottom: 60px;
}
main .about > section > .box section .comment p:not(:last-of-type) {
margin-bottom: 1.2em;
}
main .about > section > .box section .comment p span {
color: #69ba46;
font-weight: 700;
}
main .about section .tbl01 {
margin-bottom: 40px;
}
main .about section .tbl01 table {
width: 100%;
overflow: hidden;
border-radius: 10px;
}
main .about section .tbl01 table thead tr th {
background: #d3ebc9;
text-align: center;
font-size: 2.2rem;
font-weight: 700;
padding: .4em 0;
width: calc((100% - 120px) / 2);
}
main .about section .tbl01 table thead tr th:first-of-type {
width: 120px;
}
main .about section .tbl01 table thead tr th:last-of-type {
background: #9dd287;
}
main .about section .tbl01 table thead tr th:not(:last-of-type) {
border-right: dotted 1px #808080;
}
main .about section .tbl01 table tbody tr th ,
main .about section .tbl01 table tbody tr td {
padding: 30px 10px;
background: #FFF;
}
main .about section .tbl01 table tbody tr th {
text-align: center;
vertical-align: middle;
border-right: dotted 1px #808080;
}
main .about section .tbl01 table tbody tr th span {
display: flex;
justify-content: center;
align-items: center;
width: 80px;
height: 80px;
line-height: 1.1;
margin: auto;
background: #e9eaea;
border-radius: 50%;
font-size: 2.0rem;
font-weight: 700;
}
main .about section .tbl01 table tbody tr:not(:last-of-type) th {
border-bottom: dotted 1px #808080;
}
main .about section .tbl01 table tbody tr td:not(:last-of-type) {
border-right: dotted 1px #808080;
}
main .about section .tbl01 table tbody tr:not(:last-of-type) td {
border-bottom: dotted 1px #808080;
}
main .about section .tbl01 table tbody tr td:last-of-type {
color: #69ba46;
}
main .about section .recommend {
position: relative;
background: url(//www.kahokusmile.com/img/common/bg_stripe_green.svg) repeat center center;
border: solid 1px #69ba46;
border-top: none;
padding: 60px 30px;
border-radius: 10px;
display: flex;
justify-content: center;
}
main .about section .recommend::before {
position: absolute;
top: -1px;
left: -1px;
width: calc(50% - 8em);
height: 20px;
font-size: 2.4rem;
border-top: solid 1px #69ba46;
border-left: solid 1px #69ba46;
border-radius: 10px 0 0 0;
content: '';
}
main .about section .recommend::after {
position: absolute;
top: -1px;
right: -1px;
width: calc(50% - 8em);
height: 20px;
font-size: 2.4rem;
border-top: solid 1px #69ba46;
border-right: solid 1px #69ba46;
border-radius: 0 10px 0 0;
content: '';
}
main .about section .recommend h6 {
position: absolute;
top: -.9em;
right: 0;
left: 0;
color: #69ba46;
font-size: 2.4rem;
font-weight: 700;
text-align: center;
}
main .about section .recommend h6 span {
position: relative;
display: inline-block;
font-size: 2.4rem;
font-weight: 700;
}
main .about section .recommend h6 span::before {
position: absolute;
top: .2em;
left: -.9em;
width: 1px;
height: 80%;
background: #69ba46;
transform: rotate(-30deg);
content: '';
}
main .about section .recommend h6 span::after {
position: absolute;
top: .2em;
right: -.9em;
width: 1px;
height: 80%;
background: #69ba46;
transform: rotate(30deg);
content: '';
}
main .about section .recommend ul {
white-space: nowrap;
font-size: 1.8rem;
}
main .about section .recommend ul:first-of-type {
margin-right: 1em;
}
main .about section .recommend ul li {
position: relative;
width: 50%;
padding-left: 1.2em;
color: #595757;
}
main .about section .recommend ul li:not(:last-of-type) {
margin-bottom: .3em;
}
main .about section .recommend ul li::before {
position: absolute;
top: .4em;
left: 0;
width: 1em;
height: 1em;
border-radius: 50%;
background: #FFF;
content: '';
}
main .about section .polyrin_img {
background: #FFF;
padding: 40px 80px;
border-radius: 10px;
}
main .about section .polyrin_img ul li:not(:last-of-type) {
margin-bottom: 10px;
}
main .about section .white_flow {
background: #FFF;
padding: 40px 60px;
border-radius: 10px;
}
main .about section .case01 {
display: flex;
justify-content: center;
flex-direction: column;
background: #FFF;
max-width: 740px;
margin: 0 auto;
padding: 50px 20px;
border-radius: 10px;
}
main .about section .case01 section {
display: flex;
justify-content: center;
}
main .about section .case01 section:not(:last-of-type) {
margin-bottom: 50px;
}
main .about section .case01 section h6 {
font-size: 1.8rem;
font-weight: 700;
color: #69ba46;
width: 160px;
letter-spacing: 0;
}
main .about section .case01 section dl {
position: relative;
display: flex;
}
main .about section .case01 section dl dt ,
main .about section .case01 section dl dd {
position: relative;
width: 170px;
}
main .about section .case01 section dl dt {
margin-right: 90px;
}
main .about section .case01 section dl dt::after {
position: absolute;
top: 30px;
right: -60px;
width: 30px;
height: 30px;
background: url(//www.kahokusmile.com/img/common/arrow_green.svg) no-repeat center center;
background-size: cover;
content: '';
}
main .about section .flow {
background: #FFF;
padding: 40px 60px;
border-radius: 10px;
}
main .about section .flow > h5 {
text-align: center;
padding: .5em .8em;
text-align: center;
border-radius: 1.5em;
border: solid 1px #69ba46;
font-weight: 700;
color: #69ba46;
margin-bottom: 1.5em;
}
main .about section .flow > section {
width: 480px;
margin: 0 auto;
}
main .about section .flow > section:not(:last-of-type) {
position: relative;
margin-bottom: 70px;
}
main .about section .flow > section:not(:last-of-type)::after {
position: absolute;
bottom: -45px;
left: 50%;
transform: translateX(-50%);
width: 25px;
height: 25px;
background: url(//www.kahokusmile.com/img/common/arrow_radius-border_green.svg) no-repeat center center;
background-size: cover;
content: '';
}
main .about section .flow > section > h5 ,
main .about section .flow > section > h6 {
background: #69ba46;
color: #FFF;
font-size: 2.0rem;
font-weight: 700;
padding: .5em .8em;
text-align: center;
border-radius: 1.5em;
}
main .about section .flow > section > h5 span ,
main .about section .flow > section > h6 span {
display: inline-block;
}
main .about section .flow > section > h5 span::first-letter ,
main .about section .flow > section > h6 span::first-letter {
letter-spacing: 1em;
}
main .about section .flow > section > h5 + p ,
main .about section .flow > section > h6 + p {
text-align: center;
padding-top: 1em;
font-size: 1.4rem;
}
main .about section .flow .caution {
margin-top: 50px;
border: dashed 1px #595757;
padding: 30px 20px;
display: flex;
align-items: center;
border-radius: 1.5em;
}
main .about section .flow .caution p {
width: 80px;
height: 80px;
background: #e9eaea;
display: flex;
justify-content: center;
align-items: center;
color: #595757;
margin-right: 30px;
border-radius: 50%;
}
main .about section .flow .caution p + ul li {
position: relative;
padding-left: 1.2em;
}
main .about section .flow .caution p + ul li::before {
position: absolute;
top: .4em;
left: 0;
width: 1em;
height: 1em;
border-radius: 50%;
background: #69ba46;
content: '';
}
@media screen and (max-width: 940px) {
main .about section .recommend {
flex-direction: column;
}
main .about section .recommend ul:first-of-type {
margin-right: 0;
margin-bottom: .3em;
}
}
@media screen and (max-width: 767px) {
main .bg_green .bg_green_in {
padding-top: 10vw;
padding-bottom: 20vw;
background: url(//www.kahokusmile.com/img/common/dot_line.svg) repeat-x center bottom;
}
main .comment01 {
margin-bottom: 2.5em;
}
main .anc_btn {
border: dashed 1px #69ba46;
margin-bottom: 10vw;
padding: 5vw 4vw;
border-radius: 10px;
}
main .anc_btn ul {
display: flex;
flex-direction: column;
}
main .anc_btn ul li {
width: 100%;
}
main .anc_btn ul li:not(:last-child) {
margin-right: 0;
margin-bottom: 5vw;
}
main .anc_btn ul li a {
font-size: 2.0rem;
padding: .6em .8em;
border-radius: 10px;
}
main .about > section:not(:last-of-type) {
margin-bottom: 15vw;
}
main .about > section > .comment:not(:last-child) {
margin-bottom: 10vw;
}
main .about > section > .comment p:not(:last-of-type) {
margin-bottom: 1.2em;
}
main .about > section > .box section:not(:last-of-type) {
margin-bottom: 10vw;
}
main .about > section > .box section .comment:not(:last-child) {
margin-bottom: 10vw;
}
main .about > section > .box section .comment p:not(:last-of-type) {
margin-bottom: 1.2em;
}
main .about section .tbl01 {
position: relative;
overflow-x: auto;
margin-bottom: 10vw;
padding: 2.5em 0 .5em;
}
main .about section .tbl01::before {
position: absolute;
top: .2em;
left: 0;
content: '左右にスクロールできます';
}
main .about section .tbl01 table {
width: 900px;
overflow: hidden;
border-radius: 10px;
}
main .about section .tbl01 table thead tr th {
background: #d3ebc9;
text-align: center;
font-size: 2.0rem;
font-weight: 700;
padding: .4em 0;
width: calc((100% - 20vw) / 2);
}
main .about section .tbl01 table thead tr th:first-of-type {
width: 20vw;
}
main .about section .tbl01 table tbody tr th ,
main .about section .tbl01 table tbody tr td {
padding: 3vw 2vw;
}
main .about section .tbl01 table tbody tr th span {
width: 20vw;
height: 20vw;
font-size: 1.8rem;
}
main .about section .recommend {
padding: 5vw 4vw;
padding-top: 10vw;
border-radius: 10px;
}
main .about section .recommend::before {
position: absolute;
top: -1px;
left: -1px;
width: calc(50% - 7em);
height: 10vw;
font-size: 2.0rem;
border-top: solid 1px #69ba46;
border-left: solid 1px #69ba46;
border-radius: 10px 0 0 0;
content: '';
}
main .about section .recommend::after {
position: absolute;
top: -1px;
right: -1px;
width: calc(50% - 7em);
height: 10vw;
font-size: 2.0rem;
border-top: solid 1px #69ba46;
border-right: solid 1px #69ba46;
border-radius: 0 10px 0 0;
content: '';
}
main .about section .recommend h6 {
position: absolute;
top: -.9em;
right: 0;
left: 0;
color: #69ba46;
font-size: 2.0rem;
font-weight: 700;
text-align: center;
}
main .about section .recommend h6 span {
position: relative;
display: inline-block;
font-size: 2.0rem;
font-weight: 700;
}
main .about section .recommend h6 span::before {
position: absolute;
top: .2em;
left: -.5em;
width: 1px;
height: 80%;
background: #69ba46;
transform: rotate(-30deg);
content: '';
}
main .about section .recommend h6 span::after {
position: absolute;
top: .2em;
right: -.5em;
width: 1px;
height: 80%;
background: #69ba46;
transform: rotate(30deg);
content: '';
}
main .about section .recommend ul {
white-space: inherit;
font-size: 1.6rem;
}
main .about section .recommend ul:first-of-type {
margin-right: 1em;
}
main .about section .recommend ul li {
width: auto;
padding-left: 1.2em;
}
main .about section .polyrin_img {
padding: 5vw 4vw;
border-radius: 10px;
}
main .about section .polyrin_img ul li:not(:last-of-type) {
margin-bottom: 5vw;
}
main .about section .white_flow {
padding: 5vw 4vw;
border-radius: 10px;
}
main .about section .case01 {
max-width: 100%;
padding: 5vw 4vw;
border-radius: 10px;
}
main .about section .case01 section {
display: flex;
justify-content: center;
flex-direction: column;
}
main .about section .case01 section:not(:last-of-type) {
margin-bottom: 15vw;
}
main .about section .case01 section h6 {
font-size: 1.6rem;
margin-bottom: 3vw;
}
main .about section .case01 section dl {
position: relative;
display: flex;
flex-direction: column;
}
main .about section .case01 section dl dt ,
main .about section .case01 section dl dd {
position: relative;
width: 100%;
}
main .about section .case01 section dl dt {
margin-right: 0;
margin-bottom: 16vw;
}
main .about section .case01 section dl dt::after {
position: absolute;
top: inherit;
right: inherit;
bottom: -9vw;
left: 50%;
transform: translateX(-50%) rotate(90deg);
width: 8vw;
height: 8vw;
background: url(//www.kahokusmile.com/img/common/arrow_green.svg) no-repeat center center;
background-size: cover;
content: '';
}
main .about section .flow {
padding: 5vw 4vw;
border-radius: 10px;
}
main .about section .flow > h5 {
padding: .5em .8em;
text-align: left;
border-radius: 10px;
margin-bottom: 1.5em;
}
main .about section .flow > section {
width: 100%;
margin: 0 auto;
}
main .about section .flow > section:not(:last-of-type) {
position: relative;
margin-bottom: 15vw;
}
main .about section .flow > section:not(:last-of-type)::after {
position: absolute;
bottom: -12vw;
left: 50%;
transform: translateX(-50%);
width: 8vw;
height: 8vw;
background: url(//www.kahokusmile.com/img/common/arrow_radius-border_green.svg) no-repeat center center;
background-size: cover;
content: '';
}
main .about section .flow > section > h5 ,
main .about section .flow > section > h6 {
font-size: 2.0rem;
padding: .5em .8em;
border-radius: 1.5em;
}
main .about section .flow > section > h5 span ,
main .about section .flow > section > h6 span {
display: inline-block;
}
main .about section .flow > section > h5 span::first-letter ,
main .about section .flow > section > h6 span::first-letter {
letter-spacing: 1em;
}
main .about section .flow > section > h5 + p ,
main .about section .flow > section > h6 + p {
text-align: left;
padding-top: 1em;
font-size: 1.4rem;
}
main .about section .flow .caution {
margin-top: 10vw;
padding: 5vw 4vw;
display: flex;
align-items: center;
flex-direction: column;
border-radius: 10px;
}
main .about section .flow .caution p {
width: 20vw;
height: 20vw;
margin: 0 auto;
margin-bottom: 5vw;
}
}