@charset "UTF-8";
 .page_title {
background: url(//www.kahokusmile.com/img/home-visit/page_title.jpg) no-repeat center center;
}
main .bg_icon_orange {
position: relative;
padding: 80px 0 130px;
background: url(//www.kahokusmile.com/img/common/dot_line.svg) repeat-x center bottom;
}
main .bg_icon_orange::before {
position: absolute;
top: 260px;
left: 0;
width: 184px;
height: 302px;
background: url(//www.kahokusmile.com/img/common/bg_icon_orange.svg) no-repeat center center;
background-size: cover;
content: '';
}
main .tel_flow {
margin-bottom: 120px;
}
main .tel_flow h3 {
font-size: 4.0rem;
font-weight: 700;
text-align: center;
margin-bottom: 1.2em;
}
main .tel_flow .box .box_in {
position: relative;
background: #FFF;
padding: 60px 30px;
border-radius: 10px;
border: solid 10px #fad1a6;
filter: drop-shadow(0px 0px 5px rgba(0,0,0,0.6));
}
main .tel_flow .box .box_in h4 {
font-size: 2.4rem;
font-weight: 700;
text-align: center;
margin-bottom: 1.1em;
}
main .tel_flow .box .box_in .tel {
font-size: 4.8rem;
font-weight: 700;
text-align: center;
margin-bottom: .5em;
}
main .tel_flow .box .box_in .tel a {
font-size: 4.8rem;
font-weight: 700;
color: #ee7800;
pointer-events: none;
}
main .tel_flow .box .box_in .caution {
font-size: 1.6rem;
text-align: center;
}
main .mail_flow h3 {
font-size: 4.0rem;
font-weight: 700;
text-align: center;
margin-bottom: 1.2em;
}
main .mail_flow .comment {
margin-bottom: 100px;
}
main .mail_flow .comment p:not(:last-of-type) {
margin-bottom: 1.2em;
}
main .mail_flow .form table {
width: 100%;
}
main .mail_flow .form table tr th ,
main .mail_flow .form table tr td {
border-bottom: dashed 1px #808080;
padding: 25px 40px;
font-size: 1.8rem;
}
main .mail_flow .form table tr:first-of-type th ,
main .mail_flow .form table tr:first-of-type td {
border-top: dashed 1px #808080;
}
main .mail_flow .form table tr th {
width: 230px;
background: #fef4e8;
font-size: 2.0rem;
padding-top: 30px;
padding-right: 20px;
}
main .mail_flow .form table tr td {
width: calc(100% - 230px);    
}
main .mail_flow .form table tr td .name {
display: flex;
}
main .mail_flow .form table tr td .name dl {
display: flex;
align-items: center;
width: 48%;
}
main .mail_flow .form table tr td .name dl:first-of-type {
margin-right: 4%;
}
main .mail_flow .form table tr td .name dl dt {
width: 4em;
}
main .mail_flow .form table tr td .name dl dd {
width: calc(100% - 4em);
}
main .mail_flow .form table tr td .caution01 {
margin-top: .6em;
background: #eff1f1;
padding: 1em 2em;
font-size: 1.3rem;
border-radius: 10px;
}
main .mail_flow .form table tr td .caution01 p:first-of-type {
display: flex;
justify-content: center;
font-size: 1.8rem;
margin-bottom: .6em;
color: #ee7800;
}
main .mail_flow .form table tr td .caution01 p:first-of-type span {
position: relative;
display: block;
padding-left: 1.3em;
}
main .mail_flow .form table tr td .caution01 p:first-of-type span::after {
position: absolute;
top: 50%;
transform: translateY(-50%);
left: 0;
width: 1em;
height: 1em;
background: url(//www.kahokusmile.com/img/common/arrow_orange.svg) no-repeat center center;
background-size: cover;
content: '';
}
main .mail_flow .form table tr td .birthday {
display: flex;
align-items: baseline;
}
main .mail_flow .form table tr td .birthday > div {
display: flex;
align-items: baseline;
flex-direction: column;
}
main .mail_flow .form table tr td .birthday p {
margin: 0 .5em;
}
main .mail_flow .form .caution02 {
padding-top: 80px;
padding-bottom: 50px;
font-size: 1.5rem;
}
main .mail_flow .form .caution02 p {
text-align: center;
}
main .mail_flow .form .caution02 p span {
color: #ee7800;
font-weight: 700;
}
main .mail_flow .form .pp .box_in {
position: relative;
background: #FFF;
padding: 60px 30px;
border-radius: 10px;
border: solid 10px #c9e6bc;
font-size: 1.5rem;
filter: drop-shadow(0px 0px 5px rgba(0,0,0,0.6));
}
main .mail_flow .form .pp .box_in > p:first-of-type {
display: flex;
justify-content: center;
font-size: 1.8rem;
margin-bottom: .6em;
color: #69ba46;
}
main .mail_flow .form .pp .box_in > p:first-of-type span {
position: relative;
display: block;
padding-left: 1.3em;
}
main .mail_flow .form .pp .box_in > p:first-of-type span::after {
position: absolute;
top: 50%;
transform: translateY(-50%);
left: 0;
width: 1em;
height: 1em;
background: url(//www.kahokusmile.com/img/common/arrow_green.svg) no-repeat center center;
background-size: cover;
content: '';
}
main .mail_flow .form .pp .box_in > p:last-of-type {
margin-bottom: 2.5em;
}
main .mail_flow .form .pp .box_in > .box {
position: relative;
display: flex;
}
main .mail_flow .form .pp .box_in > .box dl {
position: relative;
}
main .mail_flow .form .pp .box_in > .box dl:first-of-type {
margin-right: 50px;
}
main .mail_flow .form .pp .box_in > .box dl:first-of-type::after {
position: absolute;
top: 0;
right: -20px;
width: 1px;
height: 100%;
border-right: dashed 1px #808080;
content: '';
}
main .mail_flow .form .pp .box_in > .box dl dt {
font-size: 1.8rem;
color: #69ba46;
margin-bottom: .5em;
}
main .mail_flow .form .pp .box_in > .box dl:first-of-type dd {
width: 280px;
}
@media screen and (max-width: 767px) {
main .bg_icon_orange {
position: relative;
padding: 10vw 0 20vw;
background: url(//www.kahokusmile.com/img/common/dot_line.svg) repeat-x center bottom;
}
main .bg_icon_orange::before {
top: calc(33.898vw * 2);
z-index: -1;
width: calc(23.99vw * 2);
height: calc(39.374vw * 2);
}
main .tel_flow {
margin-bottom: 15vw;
}
main .tel_flow h3 {
font-size: 2.0rem;
margin-bottom: 1.2em;
}
main .tel_flow .box .box_in {
padding: 5vw 4vw;
border-radius: 10px;
border: solid 3vw #fad1a6;
filter: drop-shadow(0px 0px 5px rgba(0,0,0,0.6));
}
main .tel_flow .box .box_in h4 {
font-size: 2.0rem;
text-align: left;
margin-bottom: 1.1em;
}
main .tel_flow .box .box_in .tel {
font-size: 2.0rem;
margin-bottom: .5em;
}
main .tel_flow .box .box_in .tel a {
font-size: 2.2rem;
pointer-events: auto;
}
main .tel_flow .box .box_in .caution {
font-size: 1.6rem;
text-align: left;
}
main .mail_flow h3 {
font-size: 2.0rem;
margin-bottom: 1.2em;
}
main .mail_flow .comment {
margin-bottom: 15vw;
}
main .mail_flow .comment p:not(:last-of-type) {
margin-bottom: 1.2em;
}
main .mail_flow .form table {
width: 100%;
}
main .mail_flow .form table tr th ,
main .mail_flow .form table tr td {
display: block;
border-bottom: dashed 1px #808080;
padding: 3vw 2vw;
font-size: 1.8rem;
}
main .mail_flow .form table tr:first-of-type th ,
main .mail_flow .form table tr:first-of-type td {
border-top: dashed 1px #808080;
}
main .mail_flow .form table tr:first-of-type td {
border-top: none;
}
main .mail_flow .form table tr th {
width: 100%;
font-size: 2.0rem;
padding-top: 3vw;
padding-right: 2vw;
border-bottom: none;
}
main .mail_flow .form table tr td {
width: 100%;
}
main .mail_flow .form table tr td .name {
display: flex;
flex-direction: column;
}
main .mail_flow .form table tr td .name dl {
display: flex;
align-items: center;
width: 100%;
}
main .mail_flow .form table tr td .name dl:first-of-type {
margin-right: 0;
margin-bottom: 4vw;
}
main .mail_flow .form table tr td .name dl dt {
width: 4em;
}
main .mail_flow .form table tr td .name dl dd {
width: calc(100% - 4em);
}
main .mail_flow .form table tr td .caution01 {
margin-top: .6em;
padding: 1em 1.2em;
font-size: 1.3rem;
border-radius: 10px;
}
main .mail_flow .form table tr td .caution01 p:first-of-type {
display: flex;
justify-content: flex-start;
font-size: 1.6rem;
}
main .mail_flow .form table tr td .caution01 p:first-of-type span {
position: relative;
display: block;
padding-left: 1.3em;
}
main .mail_flow .form table tr td .caution01 p:first-of-type span::after {
position: absolute;
top: .9em;
transform: translateY(inherit);
left: 0;
width: 1em;
height: 1em;
background: url(//www.kahokusmile.com/img/common/arrow_orange.svg) no-repeat center center;
background-size: cover;
content: '';
}
main .mail_flow .form table tr td .birthday {
display: flex;
align-items: baseline;
flex-wrap: wrap;
}
main .mail_flow .form table tr td .birthday > div {
display: flex;
align-items: baseline;
flex-direction: column;
width: 83%;
margin-bottom: .5em;
}
main .mail_flow .form table tr td .birthday p {
margin: 0 .5em;
margin-bottom: .5em;
width: 10%;
text-align: center;
}
main .mail_flow .form .caution02 {
padding-top: 8vw;
padding-bottom: 10vw;
font-size: 1.5rem;
}
main .mail_flow .form .caution02 p {
text-align: left;
}
main .mail_flow .form .pp .box_in {
padding: 5vw 4vw;
border-radius: 10px;
border: solid 3vw #c9e6bc;
font-size: 1.3rem;
filter: drop-shadow(0px 0px 5px rgba(0,0,0,0.6));
}
main .mail_flow .form .pp .box_in > p:first-of-type {
display: flex;
justify-content: flex-start;
font-size: 1.4rem;
margin-bottom: .6em;
}
main .mail_flow .form .pp .box_in > p:first-of-type span {
padding-left: 1.3em;
}
main .mail_flow .form .pp .box_in > p:first-of-type span::after {
position: absolute;
top: .9em;
transform: translateY(inherit);
left: 0;
width: 1em;
height: 1em;
background: url(//www.kahokusmile.com/img/common/arrow_green.svg) no-repeat center center;
background-size: cover;
content: '';
}
main .mail_flow .form .pp .box_in > p:last-of-type {
margin-bottom: 2.5em;
}
main .mail_flow .form .pp .box_in > .box {
position: relative;
display: flex;
flex-direction: column;
}
main .mail_flow .form .pp .box_in > .box dl {
position: relative;
}
main .mail_flow .form .pp .box_in > .box dl:first-of-type {
margin-right: 0;
margin-bottom: 5vw;
}
main .mail_flow .form .pp .box_in > .box dl:first-of-type::after {
position: absolute;
top: inherit;
right: inherit;
bottom: -2.5vw;
left: 0;
width: 100%;
height: 1px;
border-right: none;
border-bottom: dashed 1px #808080;
content: '';
}
main .mail_flow .form .pp .box_in > .box dl dt {
font-size: 1.4rem;
color: #69ba46;
margin-bottom: .5em;
}
main .mail_flow .form .pp .box_in > .box dl:first-of-type dd {
width: 100%;
}
}