@charset "utf-8";

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

/*--------------------------------------------------------------------------
全体の設定
---------------------------------------------------------------------------*/
body {
font-size: 14px;
min-width: initial;
min-width: auto;
}

/*フォント設定
---------------------------------------------------------------------------*/
/*見出し設定
---------------------------------------------------------------------------*/
.secTtl1 {
font-size: 26px;
margin-bottom: 5.46vw;
}

.secTtl2 {
text-align: center;
margin-bottom: 5.46vw;
}

/*共通コンテンツ・部品
---------------------------------------------------------------------------*/
.innerWrap {
width: 100%;
}

/*ボタン設定
--------------------------------------*/
button, input[type="submit"], input[type="button"] {
-webkit-appearance: none;
border-radius: 0;
}

/*テーブル設定
--------------------------------------*/

/*カラム設定
---------------------------------------------------------------------------*/
.flex_Crev {
-ms-flex-direction: column-reverse;
-webkit-flex-direction: column-reverse;
flex-direction: column-reverse;
}

/*Header
---------------------------------------------------------------------------*/
header .logo {
margin: 20px 0 22px;
width: 65%;
padding: 0 3%;
}

header .btnWrap {
display: none;
}

/*gNavi ドロワーメニュー
----------------------------------------*/
nav.menu {
background-color: rgba(87, 174, 227, 0.94);
width: 300px;
height: 100%;
transition: all 0.2s;
-webkit-transform: translate(300px);
transform: translate(300px);
position: fixed;
top: 0;
right: 0;
z-index: 100;
text-align: left;
padding: 95px 30px 25px;
}

nav.menu.open {
-webkit-transform: translate(0);
transform: translate(0);
}

nav.gNavi ul li {
margin-bottom: 3px;
}

nav.gNavi ul li a {
color: #FFF;
display: block;
font-size: 18px;
padding: 5px 0;
margin-bottom: 1em;
}

.fixBody {
position: fixed;
width: 100%;
height: 100%;
}

/*メニューボタン
----------------------------------------*/
.sp_btn_menu {
display: block;
background: none;
border: none;
padding: 0;
width: 60px;
color: #ff8000;
letter-spacing: 0.1em;
cursor: pointer;
position: absolute;
top: 3.125vw;
right: 3%;
z-index: 101;
text-align: center;
outline: none;
}

.sp_btn_menu span.bar {
display: block;
height: 4px;
background-color: #ff8000;
border-radius: 2px;
margin: 12px 0;
transition: all 0.2s;
-webkit-transform-origin: 0 0;
transform-origin: 0 0;
}

.sp_btn_menu.active span.bar {
background-color: #fff;
}

.sp_btn_menu.active .bar1 {
-webkit-transform: rotate(28deg);
transform: translateY(2px) rotate(28deg);
}

.sp_btn_menu.active .bar2 {
opacity: 0;
}

.sp_btn_menu.active .bar3 {
-webkit-transform: rotate(-28deg);
transform: translateX(-2px) translateY(-2px) rotate(-28deg);
}

/*spBtnContact
---------------------------------------------------------------------------*/
.spBtnContact {
display: flex;
width: 100%;
padding: 0 0.5%;
position: fixed;
left: 0px;
bottom: 0px;
}

.spBtnContact a {
display: block;
text-align: center;
}

.spBtnContact a.btn-res {
width: 48.28vw;
}

.spBtnContact a.btn-tel {
width: 50.31vw;
}

/*FOOTER
---------------------------------------------------------------------------*/
footer {
padding: 4.68vw 0 15.625vw;
}

footer .logo, footer nav {
display: none;
}

footer .copyRight {
font-size: 14px;
}

/*--------------------------------------------------------------------------
TOPページ home
---------------------------------------------------------------------------*/
/*mainVisual
--------------------------------------*/
.home .mainVisual {
background-repeat: no-repeat;
background-position: left 50%;
background-image: url(../images/home/sp-main-visual.jpg);
height: 242px;
}

/*Main
--------------------------------------*/
.secTop {
padding: 8% 4%;
}

/*secNewsTop
--------------------------------------*/
.secNewsTop .innerWrap > * {
width: 100%;
padding-bottom: 35px;
}

.secNewsTop .newsAreaTop {
margin-bottom: 4.68vw;
}

.secNewsTop h3 a {
top: unset;
bottom: 0;
}

.secNewsTop table th, .secNewsTop table td {
padding: 5px 1.56vw;
}

.secNewsTop table th {
width: 92px;
}

.secNewsTop .dentalBlogAreaTop {
margin-top: 10px;
}

.secNewsTop .dentalBlogInner h3 a {
top: unset;
bottom: 0;
}

.secNewsTop .dentalBlogInner table th,
.secNewsTop .dentalBlogInner table td {
padding: 5px 1.56vw;
}

.secNewsTop .dentalBlogInner table th {
width: 92px;
}

/*secGreetingTop
--------------------------------------*/
.secGreetingTop .boxWrap {
padding: 0;
}

.secGreetingTop .boxWrap .boxImg {
width: 58%;
margin: 0 auto 1.562vw;
}

.secGreetingTop .boxWrap .boxImg img {
width: auto;
height: auto;
}

.secGreetingTop .boxWrap .box {
width: 100%;
}

.secGreetingTop .boxWrap .box p {
font-size: 16px;
line-height: 1.5;
}

/*secSubjectTop
--------------------------------------*/
.secSubjectTop .boxWrap {
padding: 0;
}

.secSubjectTop .box {
width: 48%;
}

.secSubjectTop .boxWrap:after {
width: 48%;
}

.secSubjectTop .box img {
max-width: 287px;
width: 88%;
}

.secSubjectTop .box p {
margin-bottom: 10px;
}

/*secInfoTop
--------------------------------------*/
.secInfoTop .boxWrap .box {
width: 100%;
}

.secInfoTop .boxWrap .boxMap {
width: 100%;
}

.secInfoTop table.infoTable1 {
width: 100%;
}

.secInfoTop table.infoTable1 th {
font-size: 3.43vw;
padding: 1.56vw;
}

.secInfoTop table.infoTable1 td {
padding: 1.56vw;
font-size: 3.125vw;
}

.secInfoTop table.infoTable1 td .on {
font-size: 3.75vw;
}

.secInfoTop table.infoTable1 td .off {
font-size: 4.68vw;
}

.secInfoTop table.infoTable1 td .half {
font-size: 3.43vw;
}

.secInfoTop table.infoTable2 {
font-size: 3.125vw;
}

.secInfoTop table.infoTable2 th span {
width: 15.6vw;
}

.secInfoTop .boxWrap .box .btnWrap {
text-align: center;
}

.secInfoTop .boxWrap .box .btnWrap a {
max-width: 403px;
width: 70%;
margin: 0 auto 15px;
}

.secInfoTop .boxWrap .boxMap iframe {
height: 300px;
}

.secInfoTop .boxWrap .boxMap address {
text-align: center;
}

/*secContact
--------------------------------------*/
.secContact {
background-color: #FFF;
background-position: 32% 100%, 68% 100%;
background-size: 23vw;
padding: 13vw 0;
}

.secContact .innerWrap.contactWrap {
display: none;
}

/*--------------------------------------------------------------------------
下層ページ page
---------------------------------------------------------------------------*/

/*mainVisual
----------------------------------------*/
.page .mainVisual {
background-repeat: no-repeat;
background-position: center 100%;
background-image: url(../images/common/sp_main_under.jpg);
width: 100%;
height: 160px;
background-size: cover;
}

/*bnr
--------------------------------------*/
#bnrArea {
text-align: center;
margin-left: auto;
margin-right: auto;
width: 90%;
margin-top: -50px;
padding-bottom: 40px;
}

#bnrArea li {
width: 100%;
display: inline-block;
margin-left: auto;
margin-right: auto;
padding-bottom: 10px;
}

#bnrArea li img {
width: 100%;
height: auto;
}

/*--------------------------------------------------------------------------
ect
---------------------------------------------------------------------------*/
.sp_alignL {
text-align: left;
}

.sp_alignR {
text-align: right;
}

.sp_alignCR {
text-align: center;
}

.pcNone {
display: block;
}

.spNone {
display: none;
}



