@charset "utf-8";
/*
Theme Name: LP
Theme URI: https://ehime-implant.com/
Description: Versions 1.0.x
Version: 1.0
Author: Dental Promotion
*/
@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}
@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}
html, body, div, span, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,abbr, address, cite, code,del, dfn, em, img, ins, kbd, q, samp,small, strong, sub, sup, var,b, i,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,article, aside, dialog, figure, footer, header,hgroup, menu, nav, section,time, mark, audio, video {	margin:0;	padding:0;	border:0;	outline:0;	font-size:100%;	vertical-align:baseline;	background:transparent;}body {	line-height:1;}article, aside, dialog, figure, footer, header,hgroup, nav, section {	display:block;}nav ul {	list-style:none;}blockquote, q {	quotes:none;}blockquote:before, blockquote:after,q:before, q:after {	content:'';	content:none;}a {	margin:0;	padding:0;	border:0;	font-size:100%;	vertical-align:baseline;	background:transparent;}ins {	background-color:#ff9;	color:#000;	text-decoration:none;}mark {	background-color:#ff9;	color:#000;	font-style:italic;	font-weight:bold;}del {	text-decoration: line-through;}abbr[title], dfn[title] {	border-bottom:1px dotted #000;	cursor:help;}table {	border-collapse:collapse;	border-spacing:0;}hr {    display:block;    height:1px;    border:0;    border-top:1px solid #cccccc;    margin:1em 0;    padding:0;}input, select {	vertical-align:middle;}



html{
	overflow: auto;
    scroll-behavior: smooth;
}
@media screen and (max-width: 768px) {
html{
	font-size:62.5%;
	-webkit-text-size-adjust: 100%;
}
}


body{
	width:100%;
    max-width: 1280px;
	margin:0 auto;
	padding:0;
	text-align:center;
	background: #fff;
	color: #000;
	font-family: "Yu Gothic", YuGothic, "メイリオ", Meiryo,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Godthic Pro W3", HiraKakuPro-W3, Osaka,  "ＭＳ Ｐゴシック", sans-serif;
	font-size: 16px;
	line-height: 1.8em;
	letter-spacing: 1.6pt;
	overflow: hidden;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	animation: fadeIn 2s ease 0s 1 normal;
	-webkit-animation: fadeIn 2s ease 0s 1 normal;
}
@media screen and (max-width: 768px) {
body {
	min-width: 100%;
	font-size: 1.6rem;
	position: relative;
}
}

h1,h2,h3,h4,h5,h6{
	margin: 0;
	font-weight: 100;
}

*, *:before, *:after{
	box-sizing: border-box;
}

::selection {
	background: #3c95a3;
	color: rgba(255,255,255,1);
	text-shadow: 1px 1px 2px rgba(240, 240, 200, 1);
}
::-moz-selection {
	background: #3c95a3;
	color: rgba(255,255,255,1);
	text-shadow: 1px 1px 2px rgba(240, 240, 200, 1);
}

a{
	text-decoration:none;
	outline:none;

	-webkit-backface-visibility: hidden;
    backface-visibility: hidden;

	-webkit-transition:all .3s linear;
	-moz-transition:all .3s linear;
	transition:all .3s linear;
}
a:link, a:visited{
	color: #3c95a3;
}
a:active, a:hover{
	color: #007cbb;
	text-decoration: underline;
}

a:link img, a:visited img{
	-webkit-transition: opacity .5s ease-out;
	-moz-transition: opacity .5s ease-out;
	-ms-transition: opacity .5s ease-out;
	transition: opacity .5s ease-out;
}

a:hover img{
	opacity: .7;
	-webkit-opacity: .7;
	-moz-opacity: .7;
	filter: alpha(opacity=70);	/* IE lt 8 */
	-ms-filter: "alpha(opacity=70)"; /* IE 8 */
	display: inline-block;
	backface-visibility: hidden;
}

p{margin:0;}
table{border-collapse:collapse;}
td{vertical-align:middle;}
i,em{font-style:normal;}
img{
    max-width: 100%;
    height: auto;
    border:none;
    vertical-align:middle;
}

ul, ol, li{
	margin:0;
	padding:0;
	list-style:none;
}

.cf{zoom:100%;}
.cf:after{
    content:"";
    clear:both;
    height:0;
    display:block;
    visibility:hidden;
}

.udl{
	text-decoration:underline;
}
.oz{
	overflow: hidden;
	_zoom: 1;
}

.al{text-align:left;}
.ac{text-align:center;}
.ar{text-align:right;}

.imgL, .s_imgL, .txtL{float:left;}
.imgR, .s_imgR, .txtR{float:right;}
.co{clear:both;}





.w20{width: 20%;margin-left: auto;margin-right: auto;}
.w30{width: 30%;margin-left: auto;margin-right: auto;}
.w40{width: 40%;margin-left: auto;margin-right: auto;}
.w50{width: 50%;margin-left: auto;margin-right: auto;}
.w60{width: 60%;margin-left: auto;margin-right: auto;}
.w70{width: 70%;margin-left: auto;margin-right: auto;}
.w80{width: 80%;margin-left: auto;margin-right: auto;}
.w90{width: 90%;margin-left: auto;margin-right: auto;}
@media screen and (max-width: 768px) {
.w20,.w30,.w40,.w50,.w60,.w70,.w80,.w90{width: 100%;}
}



.mb0{margin-bottom:0!important;}
.mb16{margin-bottom:16px;}
.mb24{margin-bottom:24px;}
.mb40{margin-bottom:40px;}
.mb80{margin-bottom:80px;}
.mb160{margin-bottom:160px;}


.fwb{font-weight: 700;}

.fs17{font-size: 17px;}
.fs18{font-size: 18px;}
.fs19{font-size: 19px;}
.fs20{font-size: 20px;}
.fs24{font-size: 24px;}

.su{
    opacity:0;
    transform: translateY(10px);
}
.fiu{
    transition: all .5s linear;
    transform: translateY(0);
    opacity: 1 !important;
}


.spc{
	display: none;
}
@media screen and (max-width: 540px) {
.dn{
	display: none;
}
.spc{
	display: inherit;
}
}




header{
    position: fixed;
	width: 100%;
    height: 60px;
	margin: 0 auto;
	text-align: left;
    background: rgba(255,255,255,.5);
    z-index: 1000;
}
header.fixed{
    position: fixed;
    transition: top .5s ease-in;
    -webkit-transition: top .5s ease-in;
    -moz-transition: top .5s ease-in;
}
#upper{
    position: relative;
    width: 100%;
    max-width: 1080px;
    height: 60px;
    margin: auto;
    transition: all .5s ease-in;
    -webkit-transition: all .5s ease-in;
    -moz-transition: all .5s ease-in;
}
#logo{
    position: absolute;
    width: 159px;
    height: 38px;
    margin: auto 0;
    text-align: left;
    top: 0;
    bottom: 0;
    left: 0;
    transition: all .5s ease-in;
    -webkit-transition: all .5s ease-in;
    -moz-transition: all .5s ease-in;
}
header .upper_phone{
    position: absolute;
    width: 120px;
    height: 30px;
    top: 0;
    right: 0;
    transition: all .5s ease-in;
    -webkit-transition: all .5s ease-in;
    -moz-transition: all .5s ease-in;
}
header .upper_phone div{
    float: left;
    width: 50%;
}






#ec{
    text-align: center;
}
#ec img{
    min-width: 100%;
    height: auto;
}
@media screen and (max-width: 768px) {
#ec .dn{
    display: inherit !important;
}
#ec .spc{
    display: none!important;
}
@media screen and (max-width: 540px) {
#ec .dn{
    display: none !important;
}
#ec .spc{
    display: inherit!important;
}
}
}





#results_nav{
    min-height: 500px;
    background-color: #f2e198;
    background-image: linear-gradient(-90deg, #ffefa5 50%, transparent 50%);
    background-size: 16px 16px;
}
#results_nav .inner{
    padding: 20em 0 5em;
    background: url("../../../img/pc/results_hd02.png") no-repeat 0 0;
    background-size: 100% auto;
}
#results_nav ol{
    width: 480px;
    margin: 0 auto;
    padding: 223px 0 0;
    background: url("../../../img/results02.png") no-repeat center 0;
    background-size: 356px auto;
}
#results_nav ol li:nth-of-type(1){
    float: left;
    width: 49%;
    margin-bottom: 1em;
}
#results_nav ol li:nth-of-type(2){
    float: right;
    width: 49%;
    margin-bottom: 1em;
}
#results_nav ol li:nth-of-type(3){
    clear: both;
    text-align: center;
}
@media screen and (max-width: 1024px) {
#results_nav .inner{
    padding: 15em 0 5em;
}
#results_nav ol{
    width: 50%;
    margin: 0 auto;
    padding: 348px 0 0;
    background: url("../../../img/results02.png") no-repeat center 0;
    background-size: 100% auto;
}
@media screen and (max-width: 768px) {
#results_nav .inner{
    background: url("../../../img/results_hd02.png") no-repeat 0 0;
    background-size: 100% auto;
    padding: 18em 0 5em;
}
#results_nav ol{
    width: 60%;
    margin: 0 auto;
    padding: 312px 0 0;
}
@media screen and (max-width: 540px) {
#results_nav .inner{
    padding: 13em 0 3em;
}
#results_nav ol{
    width: 92%;
    margin: 0 auto;
    padding: 335px 0 0;
    background: url("../../../img/results02.png") no-repeat center 0;
    background-size: 100% auto;
}
@media screen and (max-width: 414px) {
#results_nav .inner{
    padding: 10em 0 3em;
}
#results_nav ol{
    padding: 256px 0 0;
}
@media screen and (max-width: 375px) {
#results_nav ol{
    padding: 234px 0 0;
}
@media screen and (max-width: 360px) {
#results_nav ol{
    padding: 225px 0 0;
}
@media screen and (max-width: 320px) {
#results_nav .inner{
    padding: 8em 0 3em;
}
#results_nav ol{
    padding: 200px 0 0;
}
}
}
}
}
}
}
}













#results .inner .f_box{
    width: 64%;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
}
#results .box{
    width: 560px;
    text-align: left;
}
#results .box:nth-of-type(2){
    margin-left: auto;
    margin-right: auto;
}
#results .box:nth-of-type(3){
    float: right;
}
#results p{
    margin-bottom: .5em;
    text-align: center;
}
/*
#results .arrow{
    position: absolute;
    width: 28px;
    height: 95px;
    margin: auto;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 100;
}
*/
@media screen and (max-width: 768px) {
#results .dn{
    display: inherit!important;
}
#results .spc{
    display: none !important;
}
#results .inner .f_box{
    width: 80%;
}
@media screen and (max-width: 540px) {
#results .dn{
    display: none !important;
}
#results .spc{
    display: inherit!important;
}
#results .box{
    width: 100%;
    text-align: left;
}
#results .box:nth-of-type(2){
    margin-left: 0;
    margin-right: 0;
}
#results .box:nth-of-type(3){
    float: none;
}
}
}


#wire_ortho{
    padding: 1em 0 0;
}
#wire_ortho .inner{
    padding: 4em 0 0;
    border: 20px solid #ffccd4;
    border-top: 0;
}
#wire_ortho .inner .s_box{
    padding: 40px;
    background: url("../../../img/pc/wired_three_reasons_bg_0102.jpg") no-repeat right 360px,  url("../../../img/pc/wired_three_reasons_bg_02.jpg") no-repeat 20px 800px;
    background-size: 200px auto, 240px auto;
}
@media screen and (max-width: 768px) {
#wire_ortho .inner{
    padding: 2em 0 0;
}
#wire_ortho .inner .s_box{
    padding: 20px;
    background: none;
}
@media screen and (max-width: 540px) {
#wire_ortho .inner .f_box{
    width: 92%;
}
}
}




#pedi_ortho{
    padding: 1em 0 0;
}
#pedi_ortho .inner{
    padding: 4em 0 0;
    border: 20px solid #ffe87f;
    border-top: 0;
}
#pedi_ortho .inner .s_box{
    padding: 40px;
    background: url("../../../img/pc/pedi_three_reasons_bg_01.jpg") no-repeat right 360px, url("../../../img/pc/pedi_three_reasons_bg_02.jpg") no-repeat 20px 960px;
    background-size: 200px auto, 240px auto;
}
@media screen and (max-width: 768px) {
#pedi_ortho .inner{
    padding: 2em 0 0;
}
#pedi_ortho .inner .s_box{
    padding: 20px;
    background: none;
}
@media screen and (max-width: 540px) {
#pedi_ortho .inner .f_box{
    width: 92%;
}
}
}



#invisa_ortho{
    padding: 1em 0 0;
}
#invisa_ortho .inner{
    padding: 4em 0 0;
    border: 20px solid #8ecbc9;
    border-top: 0;
}
#invisa_ortho .inner .s_box{
    padding: 40px;
    background: url("../../../img/pc/invisa_three_reasons_bg_0102.jpg") no-repeat right 360px, url("../../../img/pc/invisa_three_reasons_bg_02.jpg") no-repeat 20px 960px;
    background-size: 240px auto, 240px auto;
}
@media screen and (max-width: 768px) {
#invisa_ortho .inner{
    padding: 2em 0 0;
}
#invisa_ortho .inner .s_box{
    padding: 20px;
    background: none;
}
@media screen and (max-width: 540px) {
#invisa_ortho .inner .f_box{
    width: 92%;
}
}
}







.contact_area{
    padding: 40% 0 1em;
    background: #ffe5e9 url("../../../img/pc/contact_area02.jpg") no-repeat center 0;
    background-size: 100% auto;
}
.contact_area .two_columns{
    width: 720px;
    margin-right: auto;
    margin-left: auto;
}
@media screen and (max-width: 768px) {
.contact_area .two_columns{
    width: 92%;
}
@media screen and (max-width: 540px) {
.contact_area{
    padding: 105% 0 10%;
    background: #ffe5e9 url("../../../img/contact_area02.jpg") no-repeat center 0;
    background-size: 100% auto;
}
}
}




.reason_area {
    background: #ffccd4 url("../../../img/pc/ra_bg.png") no-repeat center 0;
}
.ra_inner{
    padding: 8% 3em 0;
}
.ra_inner .box{
    padding: 1em;
    border: 2px solid #fff;
}
.ra_inner .box img{
    padding-bottom: .7em;
}
.ra_inner .box p:last-of-type{
    text-align: left;
}
@media screen and (max-width: 1024px) {
.ra_inner{
    padding: 5%;
}
@media screen and (max-width: 768px) {
.ra_inner{
    padding: 5% 2%;
}
@media screen and (max-width: 540px) {
.ra_inner{
    width: 92%;
    margin-right: auto;
    margin-left: auto;
    padding: 5% 0;
}
}
}
}


#flow{
    padding: 50% 0 5%;
    background: #eee url("../../../img/pc/flow_bg02.jpg") no-repeat center 0;
    background-size: 100% auto;
}
#flow .inner{
    width: 80%;
    max-width: 1080px;
    margin-right: auto;
    margin-left: auto;
    text-align: left;
}
#flow .boxL{
    clear: both;
    width: 45%;
}
#flow .boxR{
    width: 54%;
    padding-top: 40px;
}
#flow .boxR p{
    margin-bottom: .8em;
}
@media screen and (max-width: 768px) {
#flow .inner{
    width: 92%;
}
@media screen and (max-width: 540px) {
#flow{
    padding: 88% 0 5%;
    background: #eee url("../../../img/flow_bg02.jpg") no-repeat center 0;
    background-size: 100% auto;
}
#flow .boxL{
    clear: both;
    width: 100%;
}
#flow .boxR{
    width: 100%;
    padding-top: 0;
}
}
}




#price{
    padding: 5% 0;
    background: url("../../../img/price_bg.jpg") no-repeat center 0;
    background-size: 100% auto;
    text-align: left;
}
#price ol{
    width: 80%;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 40px;
}
@media screen and (max-width: 768px) {
#price{
    background: url("../../../img/price_bg.jpg") no-repeat center 0;
    background-size: cover;
}
#price ol{
    width: 92%;
}
@media screen and (max-width: 540px) {
#price{
    padding: 5% 0 10%;
    background: #eee url("../../../img/price_bg.jpg") no-repeat center 0;
    background-size: cover;
}
}
}

#faq{
    padding: 35% 0 2%;
    background: #d8f1f0 url("../../../img/pc/faq_bg.jpg") no-repeat center 0;
    background-size: 100% auto;
    text-align: left;
}
#faq .inner{
    width: 80%;
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 40px;
}
#faq dl{
    margin-bottom: 2em;
    padding: 1.5em;
    background: #f7fcfc;
    border-radius: 16px;
}
#faq dt{
    margin-bottom: 1em;
    padding-left: 32px;
    background: url("../../../img/faq_q.png") no-repeat 4px 0;
    background-size: 18px auto;
    font-size: 18px;
    font-weight: 700;
}
#faq dd{
    padding: 56px 0 1.5em 32px;
    background: #eee url("../../../img/faq_a.png") no-repeat 32px 24px;
    background-size: 18px auto;
    border-radius: 16px;
}
@media screen and (max-width: 540px) {
#faq{
    padding: 45% 0 2%;
    background: #d8f1f0 url("../../../img/faq_bg.jpg") no-repeat center 0;
    background-size: 100% auto;
}
#faq .inner{
    width: 92%;
}
}




/* ▼▼▼▼▼▼▼▼▼▼▼▼ 共通項目 ▼▼▼▼▼▼▼▼▼▼▼▼ */


#wrap{
    padding-bottom: 5em;
    text-align: left;
    background: #fff;
}



#wrap strong{
	background: linear-gradient(transparent 70%, #aba866 70%);
}
#wrap b{
    color: #4e72b4;
}
#wrap article{
    padding: 2em 0 0;
}
#wrap section,
.section
{
    max-width: 1280px;
    width: 92%;
    margin-left: auto;
    margin-right: auto;
}
#wrap .mw_section{
    max-width: 1280px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
#wrap .mw_section .section{
    width: 100%;
}
#wrap article h1{
    width: 92%;
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1.4em;
    padding: .8em;
    color: #333;
    border-bottom: 1px solid;
    text-align: center;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0;
}
#wrap article h2{
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1em;
    padding: 1em;
    background: #404570;
    color: #d9d394;
    font-weight: 700;
    font-size: 21px;
    text-align: left;
    letter-spacing: 0;
}
#wrap article h2 a{
    color: #fff;
    display: block;
}
#wrap article h3{
	margin: 0 0 24px;
	padding: 1.2em .8em;
    background: #559096;
    color: #fff;
	font-size: 19px;
    font-weight: 700;
    border-radius: .5em;
}
#wrap article h4{
    margin-bottom: 1em;
    padding: 1em;
    background: #000;
    color: #fff;
	font-size: 18px;
    font-weight: 700;
}
#wrap article h5{
	margin-bottom: 16px;
    padding: .7em;
    border: 1px solid #333;
	font-size: 17px;
    font-weight: 700;
}
#wrap .lead{
    color: #ad964d;
    font-size: 20px;
    font-weight: 700;
}
.boxL{
    float: left;
    width: 47%;
}
.boxR{
    float: right;
    width: 47%;
}
.two_columns .box{
    width: 48%;
}
.two_columns .box:nth-of-type(odd){
    clear: both;
    float: left;
}
.two_columns .box:nth-of-type(even){
    float: right;
}
.three_blocks .box{
    float: left;
    width: 32%;
}
.three_blocks .box:nth-of-type(3n-1){
    margin-left: 2%;
}
.three_blocks .box:nth-of-type(3n){
    float: right;
}
.three_blocks .box:nth-of-type(3n+1){
    clear: both;
}
.three_columns .box{
    float: left;
    width: 32%;
}
.three_columns .box:nth-of-type(3n-1){
    margin-left: 2%;
}
.three_columns .box:nth-of-type(3n){
    float: right;
}
.three_columns .box:nth-of-type(3n+1){
    clear: both;
}
.four_columns .box{
    float: left;
    width: 25%;
    padding: 0 5px;
    text-align: left;
}
.two_block .box{
    width: 48%;
}
.two_block .box:nth-of-type(odd){
    clear: both;
    float: left;
}
.two_block .box:nth-of-type(even){
    float: right;
}
.four_block .box{
    float: left;
    width: 25%;
    padding: 0 .2em;
    text-align: center;
}
.four_block .box:nth-of-type(5){
    clear: both;
}

figcaption{
    padding-top: 1em;
}
.oz .imgL,
.oz .s_imgL{
    max-width: 40%;
    margin-right: 2%;
}
.oz .imgR,
.oz .s_imgR{
    max-width: 40%;
    margin-left: 2%;
}
#wrap .notes{
    padding: 1.3em;
    text-align: left;
}
#wrap .notes_green{
    background: #f5f8e1;
}



@media screen and (max-width: 1280px) {
@media screen and (max-width: 1023px) {
#breadcrumbs{
	text-align: left;
}
#wrap section,
#wrap .section
{
    max-width: 960px;
    width: 92%;
}
#wrap .mw_section{
    width: 92%;
}
@media screen and (max-width: 540px){
#submv{
    padding: 3em 0;
    font-size: 20px;
}
#wrap article h1{
    max-width: 528px;
    padding: .4em .8em;
    text-align: left;
}
#wrap article .mw_section h2{
    max-width: 92%;
}
#wrap .mw_section{
    width: 100%;
}
#wrap .mw_section .section{
    width: 92%;
}
.oz .imgL{
    float: none;
    max-width: 100%;
    margin: 0 0 16px;
    text-align: center;
}
.oz .s_imgL{
    float: left;
    max-width: 30%;
    margin: 0 16px 0 0;
    text-align: left;
}
.oz .imgR{
    float: none;
    max-width: 100%;
    margin: 0 0 16px;
}
.boxL{
    float: none;
    width: 100%;
}
.boxR{
    float: none;
    width: 100%;
}
.two_columns .box{
    width: 100%;
}
.two_columns .box:nth-of-type(odd){
    clear: both;
    float: none;
}
.two_columns .box:nth-of-type(even){
    float: none;
}
.three_columns .box{
    float: none;
    width: 100%;
}
.three_columns .box:nth-of-type(3n-1){
    margin-left: 0;
}
.three_columns .box:nth-of-type(3n){
    float: none;
}
.three_columns .box:nth-of-type(3n+1){
    clear: none;
}
.four_columns .box{
    width: 49%;
    margin: 0 0 8px;
    text-align: left;
    line-height: 1.3;
    letter-spacing: 0;
}
.four_columns .box:nth-of-type(odd){
    clear: both;
    float: left;
}
.four_columns .box:nth-of-type(even){
    float: right;
}
#wrap .notes{
    padding: 5%;
}
.four_block .box{
    float: left;
    width: 50%;
    padding: 0 .2em;
    text-align: center;
}
.four_block .box:nth-of-type(5){
    clear: both;
}
}
}
}


#wrap .scroll table{
/*    width: 100%;*/
}
#wrap .scroll td{
    vertical-align: middle;
}
@media screen and (max-width: 767px) {
#wrap .scroll{
    padding-bottom: 2%;
    overflow: auto;
}
#wrap .scroll::-webkit-scrollbar{
    height: 10px;
}
#wrap .scroll::-webkit-scrollbar-track{
    background: #eee;
}
#wrap .scroll::-webkit-scrollbar-thumb {
    background: #bbb;
}
#wrap .scroll table{
    width: 160%;
}
}







#i,
#i-2,
#i-3,
#i-4,
#i-5,
#i-6,
#i-7
{
    margin-top: 0;
    padding-top: 0;
}@media screen and (max-width: 540px) {
#i,
#i-2,
#i-3,
#i-4,
#i-5,
#i-6,
#i-7
{
    margin-top: -60px;
    padding-top: 60px;
}
}


