@charset "utf-8";
/* CSS Document */



body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
form,
input,
button,
p {
    margin: 0px;
    padding: 0px;
    font-size: 16px;
    /*font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝", serif;*/
    font-family: "游ゴシック", YuGothic, Hiragino Sans, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", Hiragino Kaku Gothic ProN, "メイリオ", Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
    /*font-family: 'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', sans-serif;*/
    /*font-family: "ヒラギノ丸ゴ Pro W4", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "HG丸ゴシックM-PRO", "HGMaruGothicMPRO";*/
    line-height: 160%;
    color: #000;
    word-wrap: break-word;
    overflow-wrap: break-word;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

@media all and (-ms-high-contrast:none) {
    body,
    div,
    dl,
    dt,
    dd,
    ul,
    ol,
    li,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    form,
    input,
    button,
    p {
        font-family: "Noto Sans Japanese", 'Noto Sans', 'メイリオ', sans-serif;
    }
}

/*フォント系*/

[data-element-id] h1 {
    position: initial;
    text-indent: initial;
}

h1 {
    width: 100%;
    position: absolute;
    bottom: 200%;
    text-indent: -9999px;
    font-size: 12px;
    font-weight: normal;
}

h2 {
    font-size: 40px;
    font-weight: bold;
}

h3 {
    font-size: 30px;
    font-weight: bold;
    color: #0755b3;
    margin-bottom: 20px;
}
h3.under {
	text-align: center;
	position: relative;
	background: #f9f9f7;
	border-bottom: solid 1px #000;
	z-index: 5;
}
h3.under:before {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	height: 100%;
	width: 15%;
	background-size: 15px 15px;
	background-color: #f9f9f7;
	background-image: -webkit-gradient(linear, 0 0, 100% 100%,
		color-stop(.25, #84b2e0), color-stop(.25, transparent),
		color-stop(.5, transparent), color-stop(.5, #84b2e0),
		color-stop(.75, #84b2e0), color-stop(.75, transparent),
		to(transparent));
	background-image: -webkit-linear-gradient(-45deg, #84b2e0 25%, transparent 25%,
		transparent 50%, #84b2e0 50%, #84b2e0 75%,
		transparent 75%, transparent);
	background-image: -webkit-linear-gradient(135deg, #84b2e0 25%, transparent 25%,
		transparent 50%, #84b2e0 50%, #84b2e0 75%,
		transparent 75%, transparent);
	background-image: linear-gradient(-45deg, #84b2e0 25%, transparent 25%,
		transparent 50%, #84b2e0 50%, #84b2e0 75%,
		transparent 75%, transparent);
	z-index: -1;
}

h4 {
    font-size: 24px;
    font-weight: bold;
}

h5 {
    font-size: 18px;
    font-weight: bold;
}

.fs12 {
    font-size: 12px;
}

.fs14 {
    font-size: 14px;
}

.fs16 {
    font-size: 16px;
}

.fs18 {
    font-size: 18px;
}

.fs20 {
    font-size: 20px;
}

.fs22 {
    font-size: 22px;
}

.fs24 {
    font-size: 24px;
}

.fs26 {
    font-size: 26px;
}

.fs28 {
    font-size: 28px;
}

.fs30 {
    font-size: 30px;
}

.fs32 {
    font-size: 32px;
}

.fs34 {
    font-size: 34px;
}

.fs36 {
    font-size: 36px;
}

.fs38 {
    font-size: 38px;
}

.fs40 {
    font-size: 40px;
}

.fs42 {
    font-size: 42px;
}

.fs44 {
    font-size: 44px;
}

.fs46 {
    font-size: 46px;
}

.bold {
    font-weight: bold;
}

.red {
    color: red;
}

.blue {
    color: blue;
}

.white {
    color: #fff;
}

/*クリアフィックス*/

.clearfix:after {
    content: "";
    display: block;
    clear: both;
}

.clearfix:before {
    display: block;
    content: "";
    clear: both;
}

.clearfix {
    display: block;
}

.clear {
    clear: both;
}

.map {
    position: relative;
    overflow: hidden;
}

.map:after {
    display: block;
    content: "";
    padding-top: 35%;
}

.map iframe {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    max-width: initial;
    width: 100%;
    height: 100%;
}

iframe {
    max-width: 100%;
}

img {
    vertical-align: top;
    border: none;
    max-width: 100% !important;
    height: auto !important;
}

img:not([src*="."]) {
    display: none;
}

.scale {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    -webkit-transition: all .4s ease-in-out;
    transition: all .4s ease-in-out;
}

.scale:hover {
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
}

[data-element-id] .filter:before,
[data-element-id] .filterT:before,
[data-element-id] .filterR:before,
[data-element-id] .filterB:before,
[data-element-id] .filterL:before,
[data-element-id] .filterRad:before {
    display: none;
}

.filter,
.filterT,
.filterR,
.filterB,
.filterL,
.filterRad {
    position: relative;
}

.filter:before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 5;
    background: rgba(255, 255, 255, 0.6);
}

.filterT:before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 5;
    background: -webkit-gradient(linear, left bottom, left top, from(rgba(255, 255, 255, 1)), color-stop(50%, rgba(255, 255, 255, 0)));
    background: -webkit-linear-gradient(bottom, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 50%);
    background: linear-gradient(to top, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 50%);
}

.filterR:before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 5;
    background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 1)), color-stop(50%, rgba(255, 255, 255, 0)));
    background: -webkit-linear-gradient(left, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 50%);
    background: linear-gradient(to right, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 50%);
}

.filterB:before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 5;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 1)), color-stop(50%, rgba(255, 255, 255, 0)));
    background: -webkit-linear-gradient(top, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 50%);
    background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 50%);
}

.filterL:before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 5;
    background: -webkit-gradient(linear, right top, left top, from(rgba(255, 255, 255, 1)), color-stop(50%, rgba(255, 255, 255, 0)));
    background: -webkit-linear-gradient(right, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 50%);
    background: linear-gradient(to left, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 50%);
}

.filterRad:before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 5;
    background: -webkit-radial-gradient(center, ellipse, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 80%);
    background: radial-gradient(ellipse at center, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 80%);
}

.lb-outerContainer {
    width: 80% !important;
    max-width: 400px !important;
    height: auto !important;
}

.lightbox .lb-image {
    width: 100% !important;
    height: auto !important;
    border: none !important;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    max-width: initial !important;
}

.pic {
    text-align: center;
    width: 100%;
}

.pic img {
    width: 100%;
}

.rp .pic {
    width: 35%;
}

.rp .tbox {
    width: 60%;
}

.bkimg {
	width: 100%;
	position: absolute;
	top: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
}

.bkimg img {
    width: 100%;
    min-width: 1200px;
    position: relative;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
}

a {
    text-decoration: none;
    color: #000;
}

a:hover {
    opacity: 0.6;
    color: inherit;
    text-decoration: none;
}

a[href*="tel"] {
    pointer-events: none;
}

a[data-href="#"] {
    border: solid red 5px;
    display: block;
    position: relative !important;
    opacity: 1;
}

a[data-href*="."] {
    border: solid red 5px;
    display: block;
    position: relative !important;
    opacity: 1;
}

a[data-href="#"]:hover:before {
    content: "リンクが設定されていない可能性があります。";
    position: absolute !important;
    width: 100%;
    min-width: 200px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    bottom: 100%;
    color: red;
    font-weight: bold;
    background: #555;
    padding: 5px;
    font-size: 12px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

a[data-href*="."]:hover:before {
    content: "外部リンクの可能性があります。リンクが飛ばない可能性がありますので注意してください。";
    position: absolute !important;
    width: 100%;
    min-width: 200px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    bottom: 100%;
    color: red;
    font-weight: bold;
    background: #555;
    padding: 5px;
    font-size: 12px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.tel a[data-href]:hover:before {
    content: "電話番号のリンクは自動的に設定されるので、リンク設定不要です。";
    position: absolute !important;
    width: 100%;
    min-width: 200px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    bottom: 100%;
    color: red;
    font-weight: bold;
    background: #555;
    padding: 5px;
    font-size: 12px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

[data-element-id][data-uk-slideshow]:hover:before {
    content: "※こちらは見たまま編集ができません。①画像をダブルクリック、②変更（歯車マーク）、③スライドショーから編集してください。";
    display: block;
    line-height: 1.8;
    font-weight: bold;
    color: red;
    clear: both;
    background: #4c4c4c;
    padding: 5px;
    text-align: left;
    position: absolute;
    letter-spacing: 1px;
    z-index: 1000;
    font-size: 12px;
    width: 100%;
}

[data-collection-list-content]:hover:before {
    content: "※こちらは見たまま編集ができません。①ページのどこかをダブルクリック、②左下（もしくは左上）のCMSロゴをクリック、③画面右上のメニュー（三本線マーク）から「カスタムコンテンツ管理」をクリック、④編集したいカスタムコンテンツの一覧（三本線マーク）から記事投稿・記事編集ができます。";
    display: block;
    line-height: 1.8;
    font-weight: bold;
    color: red;
    clear: both;
    background: #4c4c4c;
    padding: 5px;
    text-align: left;
    position: absolute;
    letter-spacing: 1px;
    z-index: 1000;
    font-size: 12px;
    width: 100%;
}

ul,
li {
    list-style: none;
    text-align: left;
    padding: 0;
    margin: 0;
}

dl,
dt,
dd {
    text-align: left;
    padding: 0;
    margin: 0;
    font-weight: normal;
}

/*トランスフォーム*/

.tfmp {
    position: relative;
}

.tfmx {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

.tfmy {
    position: absolute;
    top: 50%;
    left: 0%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

.tfmxy {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

/*トリミング*/

.js-trimming {
    width: 100%;
    position: relative;
    display: block;
    overflow: hidden;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.js-trimming:after {
    display: block;
    content: "";
    padding-top: 100%;
}

/*フレックス*/

.flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.flexc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: justify;
    -webkit-justify-content: center;
    justify-content: center;
}

.flexs {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-around;
    -ms-flex-pack: distribute;
    justify-content: space-around;
}

.flexb {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.columnreverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
}

.rowreverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

/*align-item*/

.itemstart {
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
}

.itemcenter {
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}

.itemend {
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end;
}

/*align-content*/

.contentstart {
    -webkit-align-content: flex-start;
    -ms-flex-line-pack: start;
    align-content: flex-start;
}

.contentcenter {
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
}

.contentend {
    -webkit-align-content: flex-end;
    -ms-flex-line-pack: end;
    align-content: flex-end;
}

/*align-self*/

.selfstart {
    -webkit-align-self: flex-start;
    -ms-flex-item-align: start;
    align-self: flex-start;
}

.selfcenter {
    -webkit-align-self: center;
    -ms-flex-item-align: center;
    align-self: center;
}

.selfend {
    -webkit-align-self: flex-end;
    -ms-flex-item-align: end;
    align-self: flex-end;
}

.flex > div[data-collection-list-content],
.flexc > div[data-collection-list-content],
.flexs > div[data-collection-list-content],
.flexb > div[data-collection-list-content] {
    width: 100%;
}

.flex > div[data-recommend-collection-list-content],
.flexc > div[data-recommend-collection-list-content],
.flexs > div[data-recommend-collection-list-content],
.flexb > div[data-recommend-collection-list-content] {
    width: 100%;
}

.flex > div[data-collection-list-content] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.flexc > div[data-collection-list-content] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: justify;
    -webkit-justify-content: center;
    justify-content: center;
}

.flexs > div[data-collection-list-content] {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-around;
    -ms-flex-pack: distribute;
    justify-content: space-around;
}

.flexb > div[data-collection-list-content] {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.flex > div[data-recommend-collection-list-content] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.flexc > div[data-recommend-collection-list-content] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: justify;
    -webkit-justify-content: center;
    justify-content: center;
}

.flexs > div[data-recommend-collection-list-content] {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-around;
    -ms-flex-pack: distribute;
    justify-content: space-around;
}

.flexb > div[data-recommend-collection-list-content] {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

/*カスタムコンテンツ用*/

.cc221 {
    width: 47%;
    margin-bottom: 4%;
}

.cc332 {
    width: 30%;
    margin-bottom: 4%;
}

.cc432 {
    width: 22%;
    margin-bottom: 4%;
}

.cc533 {
    width: 17%;
    margin-bottom: 4%;
}

/*横並び用*/

.gr211 {
    width: 47%;
    margin-bottom: 4%;
}

.gr321 {
    width: 30%;
    margin-bottom: 4%;
}

.gr422 {
    width: 22%;
    margin-bottom: 4%;
}

.gr532 {
    width: 17%;
    margin-bottom: 4%;
}

[data-element-id] #wrapper {
	opacity: 1;
}

#wrapper {
	overflow: hidden;
	opacity: 0;
}

.inner {
    width: 100%;
    max-width: 1000px;
    margin: auto;
    padding: 50px 1%;
}

.subtit {
    position: relative;
    overflow: hidden;
}

.subtit h2 {
    text-align: center;
    width: 100%;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝", serif;
	color: #0e569e;
	border-bottom: solid 1px #0f6cc9;
	padding: 30px 0;
}

.subtit img {
    width: 100%;
}

.more {
    text-align: center;
    margin: 30px auto;
    width: 80%;
    max-width: 200px;
}

.more a {
    display: block;
    color: #fff;
    padding: 9px 20px;
    border-radius: 4px;
    background: url(/import/tenant_1/153.126.172.223/html/images/common/arrow.png) right 10px center no-repeat #0f6cc9;
    font-weight: bold;
}

.mainimg {
    position: relative;
    overflow: hidden;
}

.mainimg img {
    width: 100%;
}

.mainimg .uk-slidenav-position {
    position: relative;
    overflow: hidden;
}

.mainimg .uk-slidenav-position:after {
    padding-top: 45%;
    content: '';
    display: block;
}

.mainimg .uk-slideshow {
    position: absolute;
}

.mainimg .maintxt {
    position: absolute !important;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝", serif;
    text-align: center;
    color: rgba(14, 86, 158, 255);
    width: 100%;
}

.mainimg .maintxt .sub {
    display: block;
    color: #000;
}

#header {
    background: rgba(255, 255, 255, 0.9);
    z-index: 150;
    width: 100%;
    top: 0;
    left: 0;
}

#header .headinner {
    max-width: 1000px;
    margin: auto;
    padding: 20px 2%;
}

#header .headlogo {
    width: 20%;
    margin-right: auto;
}

#header .headinfo {
    width: 47%;
    margin: 0 5%;
}

#header .headinfo dl {
    margin-bottom: 10px;
}

#header .headinfo dt {
    width: 23%;
    text-align: center;
	font-size: 14px;
}

#header .headinfo dd {
    text-align: center;
    width: 72%;
    margin: auto;
}

#header .headinfo dl:nth-of-type(2n + 1) dt {
    font-weight: bold;
    color: #0f6cc9;
}

#header .headinfo dl:nth-of-type(2n + 1) dd.tel {
    color: #0f6cc9;
    background: url(/import/tenant_1/153.126.172.223/html/images/common/tel.png) left center no-repeat;
    background-size: 30px;
    text-align: left;
    padding-left: 40px;
    line-height: 1;
    max-width: 270px;
    margin: auto;
}

#header .headinfo dl:nth-of-type(2n + 1) dd.tel a {
	text-align: center;
    color: #0f6cc9;
    font-size: 30px;
    display: block;
}

#header .headinfo dl:nth-of-type(2n) dt {
    background: #000;
    color: #fff;
    border-radius: 4px;
    padding: 2px;
}

#header .headinfo dl:nth-of-type(2n) dd {
    border-top: solid 1px #000;
    border-bottom: solid 1px #000;
}

#header .headcontact {
    width: 15%;
}

#header .headcontact a {
    display: block;
    color: #fff;
    width: 100%;
    text-align: center;
    padding: 5px 20px;
    border-radius: 4px;
    background: url(/import/tenant_1/153.126.172.223/html/images/common/arrow.png) right 10px center no-repeat #d3a057;
    font-weight: bold;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-bottom: 10px;
	font-size: 14px;
}

#header .headcontact p:nth-of-type(2n) a {
    background: url(/import/tenant_1/153.126.172.223/html/images/common/arrow.png) right 10px center no-repeat #0f6cc9;
}

#gnav {
    background: rgba(255, 255, 255, 0.8);
}

#gnav ul {
    max-width: 1000px;
    margin: auto;
    padding: 10px 0;
}

#gnav li {
	position: relative;
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    border-right: solid 1px #cbcbcb;
    padding: 5px;
}
#gnav li:hover:before {
	display: block;
	content: "";
	position: absolute;
	bottom: -2px;
	left: 0;
	width: 100%;
	border-bottom: solid 2px #0f6cc9;
}
#gnav li:first-of-type {
    border-left: solid 1px #cbcbcb;
}

#gnav li a {
    display: block;
    text-align: center;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝", serif;
    font-size: 16px;
    font-weight: bold;
}

#gnav.fixed {
    position: fixed !important;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 200;
}

#main {
    width: 100%;
    max-width: 1000px;
    margin: auto;
    padding: 50px 1%;
}
.section {
	margin-bottom: 50px;
}
#main .side {
    float: left;
    width: 24%;
}

.side .sideinfo {
    margin-bottom: 20px;
}

.side .sideinfo dl {
    margin-bottom: 20px;
}

.side .sideinfo dt {
    color: #0f6cc9;
    text-align: center;
    padding: 10px;
    font-weight: bold;
    font-size: 16px;
    background-size: 8px 8px;
    background-color: #ffffff;
    background-image: -webkit-gradient(linear, 0 0, 100% 100%,
    color-stop(.25, #d9d9d9), color-stop(.25, transparent),
    color-stop(.5, transparent), color-stop(.5, #d9d9d9),
    color-stop(.75, #d9d9d9), color-stop(.75, transparent),
    to(transparent));
    background-image: -webkit-linear-gradient(-45deg, #d9d9d9 25%, transparent 25%,
    transparent 50%, #d9d9d9 50%, #d9d9d9 75%,
    transparent 75%, transparent);
    background-image: -webkit-linear-gradient(135deg, #d9d9d9 25%, transparent 25%,
    transparent 50%, #d9d9d9 50%, #d9d9d9 75%,
    transparent 75%, transparent);
    background-image: linear-gradient(-45deg, #d9d9d9 25%, transparent 25%,
    transparent 50%, #d9d9d9 50%, #d9d9d9 75%,
    transparent 75%, transparent);
}

.side .sideinfo p {
	margin-bottom: 10px;
	font-size: 14px;
}

.side .sideaccess {
	max-width: 450px;
	margin: auto;
    margin-bottom: 20px;
}

.side .sideaccess .map {
    margin-bottom: 10px;
}

.side .sideaccess .map:after {
    padding-top: 70%;
}

.side .sidemenu {
    margin-bottom: 20px;
}

.side .sidemenu dt {
    color: #fff;
    padding: 5px 10px;
    background: #0f6cc9;
    margin-bottom: 10px;
    text-align: center;
}

.side .sidemenu dd {
    border-bottom: solid 1px #f2f2f2;
    margin-bottom: 10px;
    padding-bottom: 10px;
}

.side .sidemenu dd a {
    display: block;
    font-size: 16px;
    padding-left: 10px;
}

.side .sidecontact {
	max-width: 450px;
	margin: auto;
}

.side .sidecontact li {
    padding: 4px;
    margin-bottom: 10px;
    background: url(/import/tenant_1/153.126.172.223/html/images/common/sidecontact.png) right top no-repeat #d3a057;
}

.side .sidecontact li:nth-of-type(2n) {
    background: url(/import/tenant_1/153.126.172.223/html/images/common/sidecontact.png) right top no-repeat #0f6cc9;
}

.side .sidecontact li a {
    display: block;
    border: solid 1px #fff;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    position: relative;
    padding: 30px 30px 30px 40px;
    text-align: center;
}

.side .sidecontact li a:before {
    display: block;
    content: "";
    background: url(/import/tenant_1/153.126.172.223/html/images/common/mail.png);
    width: 28px;
    height: 28px;
    position: absolute;
    left: 10px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 5;
}

.side .sidecontact li:nth-of-type(2n) a:before {
    background: url(/import/tenant_1/153.126.172.223/html/images/common/pc.png);
    z-index: 5;
}

.side .sidecontact li a:after {
    display: block;
    content: "";
    background: url(/import/tenant_1/153.126.172.223/html/images/common/arrow.png);
    width: 8px;
    height: 12px;
    position: absolute;
    right: 10px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 5;
}

#main .content {
    float: right;
    width: 72%;
}

#footer .footcon {
    background: #0f6cc9;
}

#footer .left {
    float: left;
    width: 46%;
}

.time table {
    width: 100%;
    border-collapse: collapse;
}

.time tr:first-of-type {
    background: #fff;
}

.time tr:first-of-type th,
.time tr:first-of-type td {
    background: #fff;
    color: #0f6cc9;
    font-weight: bold;
}

.time th, .time td {
	color: #fff;
	text-align: center;
	margin: 0;
	padding: 10px;
	font-size: 14px;
}

.time th {
    width: 30%;
}

.time .atention {
    color: #bed891;
    border-top: solid 1px #fff;
    padding-top: 5px;
    margin-top: 5px;
}
.totop {
	position: fixed !important;
	right: 5%;
	bottom: 5%;
	width: 60px;
	background: #343434;
	z-index: 100;
}
.totop a {
	display: block;
	color: #fff;
	text-align: center;
	height: 60px;
	line-height: 60px;
	background: url(/import/tenant_1/153.126.172.223/html/images/common/totop.png) center top 10px no-repeat;
	padding-top: 10px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.footfix {
	display: none;
}
#footer {
	padding-bottom: 105px;
}
#footer .right {
    float: right;
    width: 46%;
}

#footer .right dl {
    margin-bottom: 10px;
}

#footer .right dt {
    width: 5%;
    margin-right: 5%;
}

#footer .right dd {
    width: 90%;
    color: #fff;
}

#footer .right dl.contact {
	background: #fff;
	padding: 10px;
	max-width: 450px;
}

#footer .right dl.contact dt {
	width: 30%;
	font-weight: bold;
	text-align: center;
	font-size: 14px;
}

#footer .right dl.contact dd {
	width: 65%;
	text-align: center;
	background: url(/import/tenant_1/153.126.172.223/html/images/common/tel.png) left center no-repeat;
	background-size: 30px;
	padding-left: 40px;
	line-height: 1;
	margin: auto;
}

#footer .right dl.contact dd a {
    color: #0f6cc9;
    font-size: 30px;
    display: block;
}

#footer .footlink {
    margin-top: 30px;
}

#footer .footlink .footsinryo {
    float: left;
    width: 70%;
}

#footer .footlink .footsinryo dt {
    display: inline-block;
    color: #fff;
}

#footer .footlink .footsinryo dd {
    display: inline-block;
    color: #fff;
}

#footer .footlink .footsinryo dd a {
    display: block;
    position: relative;
    text-align: center;
    color: #fff;
    padding: 5px 15px 5px 5px;
}

#footer .footlink .footsinryo dd a:before {
    display: block;
    content: "/";
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

#footer .footlink .footsns {
    float: right;
    width: 25%;
}

#footer .footlink .footsns ul {
    text-align: center;
}

#footer .footlink .footsns li {
    display: inline-block;
    margin: 0 10px;
}

#footer .footlink .footsns li a {
    display: block;
}

#footer .footnav ul {
    max-width: 1000px;
    margin: auto;
    padding: 20px 2%;
    text-align: center;
}

#footer .footnav li {
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

#footer .footnav li a {
    display: block;
    padding: 2px 15px;
    font-size: 14px;
    font-weight: bold;
    border-right: solid 1px #7c7c7c;
    text-align: center;
}

#footer .footnav li:first-of-type a {
    border-left: solid 1px #7c7c7c;
    padding-left: 17px
}

@media only screen and (max-width: 1024px) {
    .bkimg {
        position: relative;
    }
    .bkimg img {
        min-width: initial !important;
    }
    h2 {
        font-size: 34px;
    }

    h3 {
        font-size: 24px;
    }
    h3.under:before {
      display: none;
    }
    h4 {
        font-size: 20px;
    }

    .fs20 {
        font-size: 18px;
    }

    .fs22 {
        font-size: 20px;
    }

    .fs24 {
        font-size: 20px;
    }

    .fs26 {
        font-size: 22px;
    }

    .fs28 {
        font-size: 22px;
    }

    .fs30 {
        font-size: 24px;
    }

    .fs32 {
        font-size: 24px;
    }

    .fs34 {
        font-size: 26px;
    }

    .fs36 {
        font-size: 26px;
    }

    .fs38 {
        font-size: 28px;
    }

    .fs40 {
        font-size: 28px;
    }

    .fs42 {
        font-size: 30px;
    }

    .fs44 {
        font-size: 30px;
    }

    .fs46 {
        font-size: 32px;
    }
    a[href*="tel"] {
        pointer-events: initial !important;
    }
    .flex {
        max-width: 768px;
        margin: auto;
    }

    .flexc {
        max-width: 768px;
        margin: auto;
    }

    .flexs {
        max-width: 768px;
        margin: auto;
    }
    /*カスタムコンテンツ用*/
    .cc221 {
        width: 47%;
    }
    .cc332 {
        width: 30%;
    }
    .cc432 {
        width: 30%;
    }
    .cc533 {
        width: 30%;
    }
    /*横並び用*/
    .gr211 {
        width: 97%;
    }
    .gr321 {
        width: 47%;
    }
    .gr422 {
        width: 47%;
    }
    .gr532 {
        width: 30%;
    }
    #header .headlogo {
        width: 100%;
        margin: auto;
        text-align: center;
        margin-bottom: 20px;
    }
    #header .headinfo {
        width: 72%;
        margin: 0
    }
    #header .headinfo dl:nth-of-type(2n + 1) dd.tel {
        background-size: 25px;
        text-align: left;
        padding-left: 30px;
        line-height: 1;
    }
    #header .headinfo dl:nth-of-type(2n + 1) dd.tel a {
        font-size: 26px;
        text-align: center;
    }
    #header .headcontact {
        width: 24%;
    }
    #gnav p {
        display: block !important;
        position: fixed;
        width: 38px;
        height: 38px;
        top: 0px;
        right: 0px;
        background: #0f6cc9;
        cursor: pointer;
        opacity: 0.8;
        z-index: 251;
    }
	#gnav .accordion-body {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 0;
		opacity: 0;
		-webkit-transition: height ease .1s,opacity ease .4s;
		transition: height ease .1s,opacity ease .4s;
		padding: 0;
		border: none;
		padding-bottom: 0;
		background: rgba(255, 255, 255, 0.8);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		-webkit-transform: translate3d(0, 0, 0) !important;
		transform: translate3d(0, 0, 0) !important;
		z-index: -10;
	}
    #gnav .accordion-inner {
        width: 100%;
        padding-top: 50px;
        padding-bottom: 80px;
    }
	#gnav li {
		display: block !important;
		width: 100%;
		text-align: center;
		float: none;
		border: none !important;
		border-bottom: 1px dotted #cacad9 !important;
		padding: 0 !important;
		margin-top: 0;
	}
	#gnav li:hover:before {
		display: none;
	}
    #gnav ul li a {
        height: auto;
        display: block;
        text-align: left;
        padding: 10px 15px;
        border: none !important;
    }
    #gnav.action .accordion-body {
		height: 100vh;
        opacity: 1;
        z-index: 250;
    }
    #gnav p span.n {
        display: block;
        background: #fff;
        height: 2px;
        width: 26px;
        text-indent: 9999px;
        padding: 0;
        top: 50%;
        left: 6px;
        margin-top: -1px;
        position: absolute;
        -webkit-transition: ease .40s;
        transition: ease .40s;
    }
    #gnav p span.n:before {
        display: block;
        content: "";
        background: #fff;
        height: 2px;
        width: 26px;
        position: absolute;
        top: -8px;
        left: 0;
    }
    #gnav p span.n:after {
        display: block;
        content: "";
        background: #fff;
        height: 2px;
        width: 26px;
        position: absolute;
        top: 8px;
        left: 0;
    }
    #gnav.action p span.n {
        -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }
    #gnav.action p span.n:after,
    #gnav.action p span.n:before {
        -webkit-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
        transform: rotate(90deg);
        top: 0;
        left: 0;
    }
    .overlay:after {
        content: "";
        width: 100%;
        height: 100vh;
        background: #000;
        position: fixed;
        top: 0;
        left: 0;
        opacity: 0.3;
        z-index: 100;
        -webkit-transform: translate3d(0, 0, 0) !important;
        transform: translate3d(0, 0, 0) !important;
    }
    .inner {
        max-width: 768px;
        padding: 40px 3.5%;
    }
    #main {
        max-width: 768px;
        padding: 40px 3.5%;
    }
	  .section {
		    margin-bottom: 40px;
	  }
    #main .side {
        float: none;
        width: 100%;
        padding: 40px 0;
    }
    .side .sideinfo {
        display: none;
    }
    .side .sidemenu {
        display: none;
    }
    #main .content {
        float: none;
        width: 100%;
        padding: 40px 0;
    }
	.totop {
		right: 10px;
		bottom: 45px;
	}
	.footfix {
		display: block;
		position: fixed !important;
		width: 100%;
		bottom: 0;
		left: 0;
		z-index: 100;
	}
	.footfix li {
		float: left;
		width: 50%;
		background: #d3a057;
	}
	.footfix li:nth-of-type(2n) {
		margin-right: 0;
		background: #0f6cc9;
	}
	.footfix li a {
		display: block;
		text-align: center;
		color: #fff;
		font-size: 16px;
		font-weight: bold;
		line-height: 40px;
	}
    #footer .left {
        float: none;
        width: 100%;
        margin-bottom: 20px;
    }
    #footer .right {
        float: none;
        width: 100%;
    }
	#footer .footnav li {
		margin-bottom: 10px
	}
	#footer .footnav li:first-of-type a {
		border-left: none;
	}
	#footer .footnav li:last-of-type a {
		border-right: none;
	}
}

@media only screen and (max-width: 599px) {
    h2 {
        font-size: 28px;
    }

    h3 {
        font-size: 22px;
    }

    h4 {
        font-size: 18px;
    }

    h5 {
        font-size: 16px;
    }

    .fs18 {
        font-size: 16px;
    }

    .fs20 {
        font-size: 18px;
    }

    .fs22 {
        font-size: 18px;
    }

    .fs24 {
        font-size: 20px;
    }

    .fs26 {
        font-size: 20px;
    }

    .fs28 {
        font-size: 22px;
    }

    .fs30 {
        font-size: 22px;
    }

    .fs32 {
        font-size: 24px;
    }

    .fs34 {
        font-size: 24px;
    }

    .fs36 {
        font-size: 26px;
    }

    .fs38 {
        font-size: 26px;
    }

    .fs40 {
        font-size: 28px;
    }

    .fs42 {
        font-size: 28px;
    }

    .fs44 {
        font-size: 30px;
    }

    .fs46 {
        font-size: 32px;
    }
    .flex {
        max-width: 450px;
        margin: auto;
    }
    .flexc {
        max-width: 450px;
        margin: auto;
    }
    .flexs {
        max-width: 450px;
        margin: auto;
    }
	.flexb {
		max-width: 450px;
		margin: auto;
	}
    /*カスタムコンテンツ用*/
    .cc221 {
        width: 97%;
    }
    .cc332 {
        width: 47%;
    }
    .cc432 {
        width: 47%;
    }
    .cc533 {
        width: 30%;
    }
    /*横並び用*/
    .gr211 {
        width: 97%;
    }
    .gr321 {
        width: 97%;
    }
    .gr422 {
        width: 47%;
    }
    .gr532 {
        width: 47%;
    }
    .rp {
        max-width: 450px;
        margin: auto;
    }
    .rp .pic {
        float: none !important;
        width: 90% !important;
        margin: 20px auto;
    }
    .rp .tbox {
        float: none !important;
        width: 100% !important;
        padding: 0 !important;
    }
    .inner {
        max-width: 450px;
        padding: 30px 3%;
    }
    #main {
        max-width: 450px;
        padding: 30px 3%;
    }
    #main .content {
        padding: 30px 0;
    }
    #main .side {
        padding: 30px 0;
    }
	.section {
		margin-bottom: 30px;
	}
    #header .headinfo {
        width: 100%;
        margin: auto;
    }
    #header .headinfo dt {
        width: 100%;
        text-align: center;
        margin-bottom: 10px;
    }
    #header .headinfo dd {
        text-align: center;
        width: 100%;
        margin: auto;
    }
    #header .headcontact {
        width: 100%;
        max-width: 450px;
        margin: auto;
    }
    .time th,
    .time td {
        padding: 5px;
    }
    #footer .right dl.contact dt {
        float: none;
        width: 100%;
        margin: 0;
        margin-bottom: 10px;
    }
    #footer .right dl.contact dd {
        float: none;
        width: 100%;
        text-align: center;
        max-width: 300px;
        margin: auto;
    }
    #footer .footlink .footsinryo {
        float: none;
        width: 100%;
        margin-bottom: 20px;
    }
    #footer .footlink .footsns {
        float: none;
        width: 100%;
    }
    .mainimg .maintxt {
        font-size: 20px;
    }
    .mainimg .maintxt .sub {
        font-size: 14px;
    }
}

.home-about .tbox {
    float: left;
    width: 50%;
    margin: 20px -10% 0 10%;
    position: relative;
    z-index: 5;
}

.home-about .txt {
    font-size: 16px
}

.home-about .more {
    margin-left: 0;
}

.home-about .pic {
    float: right;
    width: 50%;
    z-index: 1;
}

.home-menu {
    background: #e4f3ff;
    text-align: center;
}

.home-menu h3 {
    position: relative;
    display: inline-block;
    padding: 0 30px;
    text-align: center;
    background: url(/import/tenant_1/153.126.172.223/html/images/home-about-left.png) left center no-repeat,
    url(/import/tenant_1/153.126.172.223/html/images/home-about-right.png) right center no-repeat;
    margin-top: 40px;
}

.home-menu h3:before {
    display: block;
    content: url(/import/tenant_1/153.126.172.223/html/images/home-about-icon.png);
    position: absolute;
    top: -40px;
    left: 0;
    right: 0;
}

.home-menu a {
	display: block;
    border-radius: 4px;
    overflow: hidden;
    background: #fff;
    border: solid 1px #b5def8;
}

.home-menu dt {
	text-align: center;
	color: #fff;
	font-weight: bold;
	background: #d3a057;
	padding: 5px;
	font-size: 14px;
}

.home-menu a:nth-of-type(2n) dt {
    background: #28a0e5;
}

.home-menu dd {
    position: relative;
}

.home-menu dd span.pic {
    display: block;
}

.home-menu dd span.pic:before {
    background: -webkit-gradient(linear, left top, right top, color-stop(45%, rgba(255, 255, 255, 1)), color-stop(80%, rgba(255, 255, 255, 0)));
    background: -webkit-linear-gradient(left, rgba(255, 255, 255, 1) 45%, rgba(255, 255, 255, 0) 80%);
    background: linear-gradient(to right, rgba(255, 255, 255, 1) 45%, rgba(255, 255, 255, 0) 80%);
}

.home-menu dd span.pic:after {
    padding-top: 36%;
}

.home-menu dd span.sub {
    color: #0755b3;
    font-weight: bold;
    position: absolute;
    width: 90%;
    top: 50%;
    left: 5%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 5;
    text-shadow: 1px 1px 2px #fff, 1px -1px 2px #fff, -1px 1px 2px #fff, -1px -1px 2px #fff;
}

.home-menu dd.txt {
    padding: 5px;
}

.home-implant {
    margin-bottom: 30px;
    border: solid 1px #ededed;
}

.home-implant .tbox {
    float: right;
    width: 45%;
    margin: 20px 5% 0 -10%;
    position: relative;
    z-index: 10;
}

.home-implant .pic {
    float: left;
    width: 60%;
    position: relative;
    z-index: 1;
}

.home-implant .more {
    margin-left: 0;
}

.home-staff {
    margin-bottom: 30px;
    border: solid 1px #ededed;
}

.home-staff .tbox {
    float: left;
    width: 45%;
    margin: 20px -10% 0 5%;
    position: relative;
    z-index: 10;
}

.home-staff .pic {
    float: right;
    width: 60%;
    position: relative;
    z-index: 1;
}

.home-staff .more {
    margin-left: 0;
}

.home-blog {
    margin-bottom: 30px;
}

.home-blog h3 {
    font-size: 18px;
    background: url(/import/tenant_1/153.126.172.223/html/images/home-blog-icon.png) left 10px center no-repeat #f9f9f7;
    border-bottom: solid 1px #414141;
    padding: 10px 10px 10px 40px;
}

.home-blog dl {
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: dotted 1px #6f5a51;
}

.home-blog dt.pic {
    float: left;
    width: 20%;
}

.home-blog dd {
    float: right;
    width: 75%;
    margin-bottom: 10px;
    font-weight: bold;
}

.home-blog dd.tit a {
    display: block;
    font-size: 16px;
}

.home-news h3 {
    font-size: 18px;
    background: url(/import/tenant_1/153.126.172.223/html/images/home-news-icon.png) left 10px center no-repeat #f9f9f7;
    border-bottom: solid 1px #414141;
    padding: 10px 10px 10px 40px;
}

.home-news dl {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: dotted 1px #6f5a51;
}

.home-news dt {
    float: left;
    width: 20%;
    font-weight: bold;
}

.home-news dd {
    float: right;
    width: 75%;
}

.home-news dd a {
    display: block;
    font-weight: bold;
}

.home-bottom {
  margin-bottom: 30px;
}

.home-instagram h3 {
  font-size: 18px;
  background: url(/upload/tenant_1/c250231a398baefa3290fa3a0307ef48.png) left 10px center no-repeat #f9f9f7;
  background-size: 18px 18px;
  border-bottom: solid 1px #414141;
  padding: 10px 10px 10px 40px;
}

.home-instagram ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.home-instagram ul li {
    width: 31.33%;
    margin: 1%;
}

.home-instagram ul li img {
  width: 100%;
}

@media only screen and (max-width: 599px) {
  .home-instagram ul li {
    width: 48%;
  }
}

.home-rec {
    width: 30%;
    padding: 4px;
    border: solid 1px #e9e9e9;
}

.home-rec dl {
    position: relative;
}

.home-rec a {
    display: block;
}

.home-rec dd.tit {
    position: absolute;
    display: block;
    top: 5%;
    left: 5%;
    width: 90%;
    text-align: left;
    font-weight: bold;
    color: #0e569e;
    z-index: 10;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝", serif;
}

.home-rec dd.sub {
    position: absolute;
    display: block;
    bottom: 0;
    left: 0;
    width: 100%;
    text-align: center;
    color: #fff;
    padding: 5px 10px;
    background: rgba(15, 108, 201, 0.8);
    z-index: 10;
}

.home-fb {
	width: 65%;
	height: 250px;
}

@media only screen and (max-width: 599px) {
    .home-about .tbox {
        margin: 0;
        padding: 20px !important;
    }
    .home-about .pic {
        width: 100% !important;
        margin: 0;
    }
	.home-menu a {
		width: 96%
	}
    .home-implant .tbox {
        margin: 0;
        padding: 20px !important;
    }
    .home-implant .pic {
        width: 100% !important;
        margin: 0;
    }
    .home-staff .tbox {
        margin: 0;
        padding: 20px !important;
    }
    .home-staff .pic {
        width: 100% !important;
        margin: 0;
    }
    .home-news dt {
        float: none;
        width: 100%;
        margin-bottom: 10px
    }
    .home-news dd {
        float: none;
        width: 100%;
    }
    .home-rec {
        width: 80%;
        margin: auto;
        margin-bottom: 20px;
        max-width: 300px;
    }
    .home-fb {
        width: 100%;
    }
}
/*当院のご案内*/
.about2 {
	position: relative;
	overflow: hidden;
	padding: 30px 0;
}
.about2 h3 {
	position: relative;
	z-index: 5;
	text-align: center;
}
.about2 .inner {
	position: relative;
	z-index: 5;
}
.about2 .bkimg:before {
	background:  rgba(228, 243, 255, 0.8);
}
.about3 dl.aboutinfo {
	margin-bottom: 20px;
}
.about3 dl.aboutinfo dt {
	margin-bottom: 10px;
}
.about3 dl.aboutinfo dd {
	margin-bottom: 10px;
}
.about3 .aboutcontact {
	margin: 20px 0;
}

.about3 .aboutcontact dl {
	margin-bottom: 10px;
}

.about3 .aboutcontact dt {
	width: 23%;
	text-align: center;
}

.about3 .aboutcontact dd {
	text-align: center;
	width: 72%;
	margin: auto;
}

.about3 .aboutcontact dl:nth-of-type(2n + 1) dt {
	font-weight: bold;
	color: #0f6cc9;
}

.about3 .aboutcontact dl:nth-of-type(2n + 1) dd.tel {
	color: #0f6cc9;
	background: url(/import/tenant_1/153.126.172.223/html/images/common/tel.png) left center no-repeat;
	background-size: 30px;
	text-align: left;
	padding-left: 40px;
	line-height: 1;
	max-width: 300px;
	margin: auto;
}

.about3 .aboutcontact dl:nth-of-type(2n + 1) dd.tel a {
	text-align: center;
	color: #0f6cc9;
	font-size: 30px;
	display: block;
}

.about3 .aboutcontact dl:nth-of-type(2n) dt {
	background: #000;
	color: #fff;
	border-radius: 4px;
	padding: 2px;
}

.about3 .aboutcontact dl:nth-of-type(2n) dd {
	border-top: solid 1px #000;
	border-bottom: solid 1px #000;
}

.about3 .time {
	margin: 20px 0
}
.about3 .time tr:first-of-type th,
.about3 .time tr:first-of-type td {
	background: #0f6cc9;
	color: #fff;
}
.about3 .time th,
.about3 .time td {
	color: #0f6cc9;
}

.about3 .time .atention {
	color: #000;
	border-top: solid 1px #8ec1f3;
}
.about4 li:after {
	padding-top: 70%;
}
@media only screen and (max-width: 599px) {
	.about3 .aboutcontact dt {
		width: 100%;
		margin-bottom: 10px;
	}

	.about3 .aboutcontact dd {
		width: 100%;
	}
}
/*診療時間・アクセス*/
.access1 .txt {
	margin-bottom: 30px;
}
.access3 dl {
	margin-bottom: 20px;
}
.access3 dt {
	margin-bottom: 10px;
	position: relative;
	background: url(/import/tenant_1/153.126.172.223/html/images/access/access2.png) left center no-repeat;
	padding-left: 20px;
}
.access3 dd {
	margin-bottom: 10px;
	position: relative;
	background: url(/import/tenant_1/153.126.172.223/html/images/access/access3.png) left center no-repeat;
	padding-left: 20px;
}
/*スタッフ紹介*/
.staff1 h3 {
	text-align: center;
}
.staff1 .box {
	margin-bottom: 30px;
}
.staff1 .pic {
	float: left;
	border-radius: 100%;
}
.staff1 .tbox {
	float: right;
}
.staff1 .tbox .name {
	padding-bottom: 10px;
	margin-bottom: 20px;
	border-bottom: solid 10px #e4f3ff;
	font-weight: bold;
}
.staff1 .tbox .tit {
	margin-bottom: 20px;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝", serif;
	font-weight: bold;
}
.staff1 .carrer {
	border: solid 1px #ededed;
	margin-bottom: 20px;
	padding: 20px;
}
.staff1 .carrer dl {
	margin-bottom: 20px;
}
.staff1 .carrer dt {
	margin-bottom: 10px;
	padding-bottom: 10px;
	padding-left: 20px;
	color: #0f6cc9;
	font-size: 18px;
	font-weight: bold;
	border-bottom: solid 1px #0f6cc9;
	background: url(/import/tenant_1/153.126.172.223/html/images/staff/staff3.png) top 3px left no-repeat;
}
.staff2 .box {
	border: solid 1px #ededed;
	padding: 20px;
	margin-bottom: 30px;
}
.staff2 .pic {
	float: left;
	border-radius: 100%;
}
.staff2 .tbox {
	float: right;
}
.staff2 .tbox h4 {
	margin-bottom: 15px;
	padding-bottom: 5px;
	border-bottom: solid 10px #e4f3ff;
}
.staff2 .tbox h4 .sub {
	display: inline-block;
}
@media only screen and (max-width: 599px) {
	.staff1 .pic {
		width: 80% !important;
		margin-top: 0;
	}
	.staff2 .pic {
		width: 80% !important;
		margin-top: 0;
	}
}
/*治療の流れ／初めての方へ*/
.flow2 .box {
	margin-bottom: 80px;
	padding: 20px;
	border: solid 1px #ededed;
	position: relative;
}
.flow2 .box:before {
	display: block;
	content: "";
	position: absolute;
	bottom: -60px;
	left: 0;
	right: 0;
	margin: auto;
	width: 69px;
	height: 32px;
	background: url(/import/tenant_1/153.126.172.223/html/images/flow/flow-arrow.png) bottom center no-repeat;
}
.flow2 .box:last-of-type {
	margin-bottom: 0;
}
.flow2 .box:last-of-type:before {
	display: none;
}
.flow2 .pic {
	float: right;
}
.flow2 .tbox {
	float: left;
}
.flow2 .tbox h4 {
	position: relative;
	border-bottom: solid 10px #e4f3ff;
	margin-bottom: 15px;
	padding-left: 20px;
	padding-bottom: 10px;
}
.flow2 .tbox h4 .n {
	position: absolute !important;
	top: 0;
	left: 0;
	z-index: 5;
}
/*治療費について*/
.price2 .box {
	margin: 20px 0;
}
.price2 .box .pic {
	float: right;
}
.price2  .box.tbox {
	float: left;
}
.price2 .pricelist {
	padding: 20px 0;
}
.price2 .pricelist h4 {
	border-bottom: solid 10px #e4f3ff;
	margin-bottom: 15px;
	padding-bottom: 10px;
}
.price2 .pricelist .txt {
	margin: 20px 0;
}
.price2 .pricelist dl {
	border: solid 1px #c5c5c5;
	border-bottom: none;
}
.price2 .pricelist dl:last-of-type {
	border-bottom: solid 1px #c5c5c5;
}
.price2 .pricelist dt {
	background: #f5f5f5;
	width: 70%;
	padding: 10px;
}
.price2 .pricelist dd {
	color: #0f6cc9;
	font-weight: bold;
	width: 30%;
	padding: 10px;
	text-align: right;
}
@media only screen and (max-width: 599px) {
	.price2 .pricelist dt {
		width: 100%;
	}
	.price2 .pricelist dd {
		width: 100%;
	}
}
/*一般歯科*/
.ippan1 .box .pic {
	float: right;
	width: 50%;
	position: relative;
	z-index: 1;
}
.ippan1 .box .tbox {
	float: left;
	width: 50%;
	margin: 20px -10% 0 10%;
	position: relative;
	z-index: 10;
}
.ippan2 .box .pic {
	float: right;
}
.ippan2 .box .tbox {
	float: left;
}
.ippan3 .box {
	margin-bottom: 30px;
	padding: 20px;
	border: solid 1px #ededed;
}
.ippan3 .box h4 {
	border-bottom: solid 10px #e4f3ff;
	margin-bottom: 15px;
	padding-bottom: 10px;
}
.ippan3 .box .pic {
	float: right;
}
.ippan3 .box .tbox {
	float: left;
}
@media only screen and (max-width: 599px) {
	.ippan1 .box .pic {
		width: 100% !important;
	}
	.ippan1 .box .tbox {
		margin: 0%;
		padding: 20px !important
	}
}
/*矯正歯科*/
.kyosei2 > .txt {
	margin-bottom: 30px;
}
.kyosei2 .box {
	margin-bottom: 30px;
}
.kyosei2 .box h4 {
	margin-bottom: 15px;
	padding-bottom: 10px;
	border-bottom: solid 10px #e4f3ff;
}
/*審美メニュー*/
.shinbi3 .box {
	margin: 20px 0;
}
.shinbi3 .box h4 {
	margin-bottom: 15px;
	padding-bottom: 10px;
	border-bottom: solid 10px #e4f3ff;
}
.shinbi3 dl {
	border: solid 1px #ededed;
	padding-bottom: 10px;
}
.shinbi3 dt {
	color: #fff;
	padding: 10px;
	background: #2189d6;
	font-weight: bold;
}
.shinbi3 dd {
	padding: 10px 10px 0 10px;
}
/*ホワイトニング*/
.white2 > .txt {
	margin: 20px 0;
}
.white2 .repeat {
	margin: 30px 0;
}
.white2 .repeat h4 {
	margin-bottom: 15px;
	padding-bottom: 10px;
	border-bottom: solid 10px #e4f3ff;
}
.white2 .box .pic {
	float: right;
}
.white2 .box .tbox {
	float: left;
}
/*インプラント*/
.implant2 .maintxt1 {
	text-align: center;
	margin-bottom: 30px;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝", serif;
	font-weight: bold;
}
.implant2 .maintxt2 {
	margin: 30px 0;
}
.implant2 .repeat h4 {
	margin-bottom: 15px;
	padding-bottom: 10px;
	border-bottom: solid 10px #e4f3ff;
}
.implant2 .box {
	margin: 30px 0;
}
.implant2 .box .pic {
	float: right;
}
.implant2 .box .tbox {
	float: left;
}
/*歯周病治療*/
.shisyu2 .numlist {
	margin: 30px 0;
}
.shisyu2 .numlist dl {
	background: #e4f3ff;
	border-radius: 100%;
	position: relative;
}
.shisyu2 .numlist dl:before {
	padding-top: 100%;
	display: block;
	content: "";
}
.shisyu2 .numlist dt {
	font-size: 34px;
	text-align: center;
	color: #0755b3;
	font-weight: bold;
	position: absolute !important;
	top: 10%;
	left: 0;
	right: 0;
	margin: auto;
	z-index: 5;
}
.shisyu2 .numlist dd {
	text-align: center;
	font-weight: bold;
	color: #0755b3;
	position: absolute !important;
	top: 55%;
	left: 0;
	right: 0;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	z-index: 5;
}
/*よくあるご質問*/
.anchor li a {
	display: block;
	color: #fff;
	font-weight: bold;
	background: url(/import/tenant_1/153.126.172.223/html/images/common/arrow.png) right 10px center no-repeat #0f6cc9;
	padding: 15px 20px;
}
.faq1 h3 {
	text-align: center;
}
.faq1 dl {
	margin-bottom: 30px;
}
.faq1 dt {
	position: relative;
	border-bottom: solid 1px #0f6cc9;
	padding-bottom: 10px;
	margin-bottom: 10px;
	background: url(/import/tenant_1/153.126.172.223/html/images/faq/q.png) left top no-repeat;
	padding-left: 60px;
	font-weight: bold;
	min-height: 51px;
}
.faq1 dd {
	position: relative;
	background: url(/import/tenant_1/153.126.172.223/html/images/faq/a.png) left top no-repeat;
	padding-left: 60px;
	min-height: 41px;
}
@media only screen and (max-width: 599px) {
	.faq1 dt {
		background-size: 40px;
		padding-left: 50px;
		min-height: 45px;
	}
	.faq1 dd {
		background-size: 40px;
		padding-left: 50px;
		min-height: 34px;
	}
}
/*ブログ*/
.bloglist .box {
	padding: 20px;
	border: solid 1px #ededed;
	margin-bottom: 30px;
}
.bloglist .box .pic {
	margin-top: 0;
}
.bloglist .box .pic a {
	width: 100%;
	overflow: hidden;
}
.bloglist .box .tbox {
	margin: 0;
	margin-right: 5%;
}
.bloglist .tbox .info {
	width: 100%;
	margin-bottom: 10px;
}
.bloglist .tbox .info span {
	display: inline-block;
}
.bloglist .tbox .info .date {
	margin-right: 10px;
	padding-right: 15px;
	border-right: solid 2px #d1d1d1;
}
.bloglist .tbox .tit {
	width: 100%;
	margin-bottom: 10px;
}
.bloglist .tbox .tit a {
	display: block;
	color: #0755b3;
	font-weight: bold;
}
.bloglist .tbox .more {
	margin-right: 0;
	margin-bottom: 0;
}
.pagenav {
	margin: 30px 0;
}
.pagenav ul {
	text-align: center;
}
.pagenav li {
	display: inline-block;
	margin: 5px;
	vertical-align: middle;
}
.pagenav li a {
	display: block;
	padding: 5px;
	font-size: 18px;
	font-weight: bold;
}
.pagenav li .active {
	color: #0755b3;
}
.blogside {
	max-width: 450px;
	margin: auto;
	margin-bottom: 20px;
}
.blogside dl {
	margin-bottom: 20px;
}
.blogside dt {
	color: #fff;
	padding: 5px 10px;
	background: #0f6cc9;
	margin-bottom: 10px;
	text-align: center;
}
.blogside dd {
	border-bottom: solid 1px #f2f2f2;
	margin-bottom: 10px;
	padding-bottom: 10px;
}
.blogside dd a {
	display: block;
	padding-left: 10px;
}
.blogsingle .inn {
	padding: 20px;
	border: solid 1px #ededed;
}
.blogsingle .inn .info {
	width: 100%;
	margin-bottom: 10px;
}
.blogsingle .inn .info span {
	display: inline-block;
}
.blogsingle .inn .info .date {
	margin-right: 10px;
	padding-right: 15px;
	border-right: solid 2px #d1d1d1;
}
.blogsingle .inn .tit {
	display: block;
	color: #0755b3;
	font-weight: bold;
	border-bottom: solid 1px #0f6cc9;
	padding-bottom: 10px;
	margin-bottom: 20px;
}
.blogsingle .inn .txt img {
	display: block;
	width: 80%;
	margin: auto;
}
.blogsingle .back a {
	background: url(/import/tenant_1/153.126.172.223/html/images/common/back.png) left 10px center no-repeat #0f6cc9;
}
.recommend {
	margin: 30px 0;
}
.recommend dl {
	position: relative;
	border: solid 1px #ededed;
	padding: 10px 10px 65px 10px;
	margin-top: 0;
	margin-bottom: 4%;
}
.recommend .pic {
	margin-bottom: 10px;
	width: 100%;
}
.recommend .pic a {
    display: block;
    overflow: hidden;
}
.recommend .info {
	width: 100%;
	margin-bottom: 10px;
	font-size: 12px
}
.recommend .info span {
	display: inline-block;
}
.recommend .info .date {
	margin-right: 5px;
	padding-right: 10px;
	border-right: solid 2px #d1d1d1;
}
.recommend .tit {
	width: 100%;
}
.recommend .tit a {
	display: block;
	color: #0755b3;
	font-weight: bold;
}
.recommend .more {
	position: absolute;
	bottom: 10px;
	left: 0;
	right: 0;
	margin: auto;
	width: 80%;
	max-width: initial;
}
@media only screen and (max-width: 599px) {
	.bloglist .box {
		padding: 10px;
	}
	.bloglist .box .pic {
		width: 80% !important;
	}
	.bloglist .box .tbox {
		margin-right: 0%;
	}
	.blogsingle .inn {
		padding: 10px;
	}
	.recommend .pic {
		width: 80%;
		margin: auto;
		margin-bottom: 10px;
	}
}
/*お問い合わせ*/
.contact1 dl {
	background: #e4f3ff;
	padding: 30px;
}
.contact1 dt {
	text-align: center;
	margin-bottom: 20px;
	color: #0755b3;
	font-weight: bold;
}
.contact1 dd {
	text-align: center;
}
.contact1 dd a {
	color: #0755b3;
	font-weight: bold;
}
.contact2 h3 {
	text-align: center;
}
.form dl {
	border-bottom: solid 1px #c5c5c5;
}
.form dl:last-of-type {
	border-bottom: none;
}
.form dt {
	width: 30%;
	background: #f5f5f5;
	padding: 15px 10px;
}
.form dd {
	width: 70%;
	padding: 15px 10px;
}
.form input {
	width: 100%;
	border: none;
	background: #e4f3ff;
	line-height: 40px;
}
.form textarea {
	width: 100%;
	border: none;
	background: #e4f3ff;
	height: 200px;
}
.form button {
	display: block;
	width: 80%;
	max-width: 200px;
	margin: 30px auto;
	color: #fff;
	border: none;
	border-radius: 4px;
	padding: 8px 10px;
	cursor: pointer;
	background: url(/import/tenant_1/153.126.172.223/html/images/common/arrow.png) right 10px center no-repeat #0f6cc9;
}
@media only screen and (max-width: 599px) {
	.form dl {
		border-bottom: solid 1px #c5c5c5;
		padding-bottom: 10px;
		margin-bottom: 20px;
	}
	.form dt {
		width: 100%;
	}
	.form dd {
		width: 100%;
	}
}

/* 2024/08/07 */
/* headerのバナー */
 #header .headinner{
  position: relative;
  padding: 20px 260px 20px 0;
}

 #header .headinfo {
    width: 55%;
    margin: 0 10px;
}

 #header .headcontact {
    width: 20%;
}

 #header .headbanner{
  max-width: 250px;
  position: absolute;
  right: 0;
}

 #header .headbanner a{
  display: block;
  width: 100%;
  height: 100%;
}

@media(max-width:1024px){
 #header .headinner{
  padding: 20px 0;
}

 #header .headbanner{
  position: initial;
}

 #header .headinfo {
    width: 55%;
    margin: 0 0 0 10px;
}

 #header .headbanner{
  max-width: 150px;
}
}

@media(max-width:599px) {
 #header .headinner{
  padding: 20px 2%;
}

 #header .headinfo {
    width: 100%;
    margin: auto;
}

 #header .headcontact {
    width: 100%;
}

 #header .headbanner{
  max-width: none;
  width: 75%;
  margin: 0 auto;
}
}

/* スマホで表示、ぺージ下固定バナー */
[data-element-id] .footfix {
    display: block;
}

[data-element-id] .footfix ul{
  border: 1px solid #000;
  position: relative;
  padding-top: 1.5em;
  max-width: 768px;
  margin: 0 auto;
}

[data-element-id] .footfix ul::before{
  content: "モバイルで表示";
  display: block;
  width: 100%;
  text-align: center;
  background: #000;
  color: #fff;
  position: absolute;
  top: 0;
  left: 0;
}

 .footfix ul{
  display: flex;
}

 .footfix ul li{
  width: 30%;
}

 .footfix li a {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media(max-width:599px) {
 .footfix li.tel{
  width: 30%;
}

 .footfix li.web{
  width: 20%;
}

 .footfix ul li.sp-fix-banner{
  width: 50%;
}

 .footfix li a {
  font-size: 12px;
}
}

/* footerのバナー */
 .footbanner{
  width: 70%;
  margin: 0 auto;
}

 .footbanner a{
  display: block;
  width: 100%;
  height: 100%;
}

@media(max-width:1024px){
 .footbanner{
  width: 45%;
}    
}

@media(max-width:599px) {
 .footbanner{
  width: 100%;
}     
}

/* totopボタンを調整 */
@media(max-width:599px) {
 .totop {
    bottom: 65px;
}   
}
