@charset "utf-8";

/*
=======================================
	Reset
=======================================
*/
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,
canvas,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    color: #222;
}

/*
=======================================
	font
=======================================
*/
@font-face {
    font-family: "游明朝", "YuMincho", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

body {
    font-size: 100%;
    /*14px*/
    line-height: 1.7;
    overflow-x: hidden;
    font-weight: 500;
    font-family: 'Sawarabi Gothic', sans-serif;
    overflow-y: auto;
}

h1,
h2,
h3,
h4 {
    font-family: "游明朝", "YuMincho", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

p,
dd,
a {
    font-family: '游ゴシック体', 'YuGothic', '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', 'Yu Gothic', "Yu Gothic UI", "Yu Gothic UI Semibold", 'Sawarabi Gothic', sans-serif;
    line-height: 1.7;
}

ul,
ol,
dt {
    list-style-type: none;
    font-family: "游明朝", "YuMincho", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

img,
input,
select,
textarea {
    vertical-align: middle;
}

img {
    max-width: 100%;
    height: auto;
}

a {
    transition: 0.5s all;
}

a:hover {
    text-decoration: none;
}

.container {
    max-width: 1024px;
}

/*.dropdown:hover .dropdown-menu {
    display: block;
}*/
h2 {
    margin-bottom: 24px;
    font-size: 24px;
    line-height: 1.5;
    letter-spacing: 0.2rem;
}

h2 span {
    color: #f18f47;
}

h2 .span2 {
    text-align: center;
    font-size: 50%;
    color: #d4af82;
    font-style: italic;
    letter-spacing: 0.75;
}

h3 {
    margin-bottom: 16px;
    font-size: 16px;
    line-height: 1.5;
}

h4 {
	font-size: 15px;
	color: #342a0a;
	font-weight: 700;
}
h5 {
	font-size: 14px;
	color: #342a0a;
	font-weight: 700;
}


h2.under:after {
    content: '';
    display: block;
    background: #ffc107;
    height: 2px;
    border-radius: 2px;
    width: 80px;
    margin: 5px auto 20px auto;
}

h2.under_white:after {
    content: '';
    display: block;
    background: #ffffff;
    height: 2px;
    border-radius: 2px;
    width: 80px;
    margin: 5px auto 20px auto;
}

h2.lead {
    font-size: 20px;
/*    font-weight: bold;*/
}

.dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
    display: none;
    float: left;
    min-width: 10rem;
    padding: 8px;
    margin: -0.3rem 0 0 0;
    font-size: 1rem;
    text-align: left;
    background-clip: padding-box;
    border: none;
}

.dropdown-item {
    display: block;
    width: 100%;
    padding: 0 0.7rem 0 0.7rem;
    clear: both;
    text-align: inherit;
    white-space: nowrap;
    background-color: transparent;
    font-size: 14px;
    border-bottom: 1px dotted #fbebc7;
    line-height: 200%;
}
strong {
    line-height: 2.5;
    font-size: 1.1rem;
    background: repeating-linear-gradient(
      -45deg,
      #E8D171,
      #E8D171, 2px,
      #fff 2px,
      #fff 4px
    );
    background-repeat: repeat-x;
    background-size: 100% 7px;
    background-position: 0 100%;
    padding-bottom: 5px;
  }
  
/*
 Off Canvas
-------------------------------------------------- */
@media screen and (max-width: 991px) {
    .inner {
        width: 100%;
    }

    .offcanvas {
        position: relative;
        min-height: 100%;
        -webkit-transition: all .25s ease-out;
        -o-transition: all .25s ease-out;
        transition: all .25s ease-out;
    }

    .offcanvas-right {
        right: 0;
    }

    .offcanvas-right.active {
        right: 300px;
    }

    .offcanvas-right .sidebar-offcanvas {
        right: -100%;
        -webkit-transition: all .25s ease-out;
        -o-transition: all .25s ease-out;
        transition: all .25s ease-out;
    }

    .offcanvas-right.active .sidebar-offcanvas {
        right: 0;
        border-left: 1px solid #e7e7e7;
    }

    .sidebar-offcanvas {
        position: fixed;
        top: 0;
        bottom: 0;
        width: 300px;
        padding: 60px 15px 15px;
        background-color: #f8f8f8;
        border-radius: 0;
        overflow-y: auto;
        z-index: 1050;
    }

    .sidebar-offcanvas .dropdown-menu {
        border: medium none;
        background: none;
        border-radius: 0;
        box-shadow: none;
        float: none;
        margin: 0;
        padding-top: 0;
        position: static;
    }

    .navbar-toggler {
        z-index: 1060;
    }
}

/*
=========================================
	グローバルメニュー
=========================================
*/
.gmenu-container {
    width: 1024px;
    margin: 0 auto;
}

.dropdown:hover .dropdown-menu {
    display: block;
}

#gnav {
    line-height: 2.5rem;
    letter-spacing: 0.1rem;
    margin-left: 48px;
    text-align: center;
    font-size: 14px;
}

#gnav a {
    color: #342a0a;
    font-weight: 600;
}

#gnav a:hover {
    color: #f29855;
    text-decoration: underline;
}

/*
=========================================
　　プルダウンメガメニュー
=========================================
*/
.mega-menu {
    position: static;
}

.mega-menu .dropdown-menu {
    width: 100%;
}

.dropdown-hover .dropdown-menu {
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
}

.dropdown-hover:hover .dropdown-menu {
    max-height: 500px;
    opacity: 1;
}

.mega-menu-box {
    width: 100%;
    margin: 10px 0;
    clear: both;
    text-align: inherit;
    white-space: nowrap;
    background-color: transparent;
    font-size: 16px;
    line-height: 200%;
}

#mmenu {
    background-color: rgba(72, 57, 9, 0.60);
}

#mmenu a {
    background-color: rgba(72, 57, 9, 1.00);
    color: rgba(255, 255, 255, 1.00);
    padding: 8px 16px;
    display: block;
}

#mmenu a:hover {
    background-image: linear-gradient(90deg, #f29855 0 10px, rgba(255, 255, 255, 0.90) 10px 100%);
    color: #483909;
    text-decoration: none;
}

/*
=========================================
	ブログ
=========================================
*/

div.side-blog a {
    color: #342a0a;
    font-weight: 600;
}

div.side-blog a:hover {
    color: #f29855;
    text-decoration: underline;
}

/*
=========================================
	ヘッダー
=========================================
*/
#top-header p,
#top-header a {
line-height: 1.2;
}

.header-container {
    width: 1024px;
    color: #fff;
    text-align: left;
    margin: 0 auto;
    box-sizing: border-box;
}

.header-container a {
    color: #fff;
}

.header-container ul li.header_home a {
    color: #cc6666;
}

h1.site-title {
    width: 100%;
    margin: 0;
    padding: 0;
}

#top-header .btn-group-sm > .btn,
.btn-sm {
    padding: .25rem .5rem;
    font-size: .875rem;
    line-height: 1.5;
    border-radius: .6rem;
}

@media screen and (max-width: 991px) {}

.header-catch {
    background: #fabe00;
    padding: 0.3em 1em;
    color: #fff;
    line-height: 1.4em;
    font-size: 0.9em;
    margin-top: 2em;
    border-radius: 10px;
}

#sp-gnav .col-4 {
    padding: 0;
}

/* ヘッダー（SP用）
------------------------------------*/
#sp-head {
    padding: 10px;
    width: 100%;
    background: #fff;
    display: table;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.sp-head-tit {
    display: table-cell;
    vertical-align: middle;
}

.sp-head-sholder {
    font-size: 6px;
}

.sp-head-btn {
    display: table-cell;
    vertical-align: middle;
    text-align: right;
}

.sp-head-btn li {
    display: inline-block;
}

#sp-toggle {
    cursor: pointer;
}

/* フッター（PC用）
------------------------------------*/
#footer p,
a {
    color: rgba(255, 255, 255, 1.00);
}

#footer a:hover {
    color: #fff;
    text-decoration: underline;
}

@media screen and (max-width: 576px) {
    #footer p {
        font-size: 12px;
    }

    #footer small {
        font-size: 12px;
    }
}

/*
=========================================
	Contents Layout
=========================================
*/
/* 2ndページ　タイトル
------------------------------------*/
.page-header {
    margin-top: 80px;
    margin-bottom: 70px;
    text-align: center;
}

.page-header .container {
    position: relative;
}

.page-title {
    margin: 0 auto 20px;
    padding: 0 10px;
    max-width: 940px;
    font-size: 26px;
    line-height: 150%;
}

.page-caption {
    margin: 0 auto 30px;
    padding: 0 10px;
    max-width: 940px;
}

.page-header .btn-trial {
    position: absolute;
    right: 0;
    top: 0;
    z-index: 10;
}

/* 2ndページ　セクション間隔
------------------------------------*/
.section {
    margin-bottom: 100px;
}

.section p + p {
    margin-top: 30px;
}

/* リンクスタイル
---------------------------------*/
/*行頭ブレット矢印*/
.bullet-arw:before {
    content: "";
    display: inline-block;
    width: 6px;
    height: 11px;
    margin-right: 5px;
    background: url(/common/img/ico_arw.png) no-repeat;
    -webkit-background-size: contain;
    background-size: contain;
    vertical-align: middle;
}

.bullet-arw {
    text-indent: -11px;
    margin-left: 16px;
}

/*箇条書き：ナンバリング*/
.list-decimal {
    list-style: decimal;
    margin-left: 20px;
}

.list-decimal li {
    margin-bottom: 0.8rem;
}

/*箇条書き：点*/
.list-disc {
    list-style: disc;
    margin-left: 20px;
    margin-bottom: 20px;
}

.list-disc li {
    margin-bottom: 0;
}

/* セクションタイトル周り
---------------------------------*/
.sec {
    padding: 40px 0;
}

/*
.sec {
	padding: 72px 0;
}

@media screen and (max-width: 991px) {
    .sec {
        padding: 36px 0;
    }
}
*/

/* 箇条書き（行頭インデント）
---------------------------------*/
.idt-list li {
    margin-left: 1em;
    text-indent: -1em;
}

/*
=========================================
	setting
=========================================
*/
small {
    font-size: 60%;
    font-weight: 400;
}

/**************************************************************

* 共通　*

***************************************************************/

strong,
.bold {font-weight: bold;}


.display-4{font-weight: 100;}
.display-5{font-size: 3rem;
	line-height: 3rem;}


.display-5 {
	font-weight: 300;
	line-height: 1;
}

.display-6 {
	font-size: 1.8rem;
	font-weight: 300;
	line-height: 1;
	letter-spacing: 0.1rem;
}


.display-7 {
	font-size: 1.5rem;
	font-weight: 300;
	line-height: 1;
	letter-spacing: 0.1rem;
}

.display-8 {
	font-size: 1.25rem;
	font-weight: 300;
	line-height: 1;

}


@media screen and (max-width: 575px) {

	.display-5{font-size: 2.5rem;
		line-height: 2.5rem;
		font-weight: 300;
		line-height: 1;
	}


	.display-6 {
		font-size: 1.5rem;
		font-weight: 300;
		line-height: 1;
		letter-spacing: 0.1rem;
	}


	.display-7 {
		font-size: 1.3rem;
		font-weight: 300;
		line-height: 1;

	}

	.display-8 {
		font-size: 1.2rem;
		font-weight: 300;
		line-height: 1;

	}

}

/* フォントカラー
---------------------------------*/
.te-w {color: #fff;}
.text-gray {color: #848383;}
.te-bro {color: #4a3c0d;}
.text-bro2 {color: #c6911a;}
.text-orange {color: #e11f05;}
.text-beige {color: #766630;}

.text-dark{color: #666!important;}
.text-warning {color: rgba(245,123,17,1.00);}
.text-brown{color: #483909;}
.text-gray{color:#b3b3b3;}

.text-yellow{
    color: #fce575;
}

/* 背景色
---------------------------------*/
.bg-lbl {background-color: #f1faf9;}
.bg-gy {background-color: #f7f8f8;}
.bg-wh {background-color: #fff;}
.bg-beige {background-color: #D2C7AD;}
.bg-beige2 {background-color: #fae893;}
.bg-brown {background-color: #282727;}
.bg-brown2 {background-color: #37474f;}
.bg-lightblue {background-color: #b7d4d6;}
.bg-lightblue2 {background-color: #f0f9fa;}
.bg-lightblue3 {background-color: #e4e0d8;}
.bg-orange {color: #f17d24;}
.bg-gray{background: #999;}
.bg-rgray{background:#CAC7C7;}
.bg-black{background:#000;}
.bg-sw{background: rgba(255, 255, 255, 0.5)}
.bg-gold{background:#c7b14d;}
.bg-yellow{background:#fff6d0 ;}
.bg-yellow2{background:#fae893;}
.bg-yellow3{background:#fcebc6;}
.bg-yellow4{background:#edeae6;}
.bg-navy{background:#37474f;}

/* ボーダー・バターン
---------------------------------*/
.border-yw {border: 2px solid #ffde2a;}
.border-bro {border: solid 5px #483909;}
.border-bottom {border-bottom: 1px solid #333;}
.d-border-bottom {border-bottom: 1px dotted #333;}
.border-bottom-f {border-bottom: 1px solid #6d6c6c;}
.border-bottom-g {border-bottom: 1px solid #997A45;}
.border-bottom-dark {border-bottom: 1px solid #333;}

.rounded{ border-radius: .5rem!important;}
.marker {
	background: linear-gradient(transparent 60%, #FFF799 60%);
}
.border-bottom-l {
	background: linear-gradient(transparent 75%, #FFF799 75%);
}

/* フォントサイズ（固定）
---------------------------------*/
.f10 {
    font-size: 10px !important;
}

.f11 {
    font-size: 11px !important;
}

.f12 {
    font-size: 12px !important;
}

.f13 {
    font-size: 13px !important;
}

.f14 {
    font-size: 14px !important;
}

.f15 {
	font-size: 15px !important;
}

.f16 {
    font-size: 16px !important;
}

.f17 {
	font-size: 17px !important;
}

.f18 {
    font-size: 18px !important;
}

.f19 {
	font-size: 19px !important;
}

.f20 {
    font-size: 20px !important;
}

.f21 {
	font-size: 21px !important;
}

.f22 {
    font-size: 22px !important;
}

.f23 {
    font-size: 23px !important;
}

.f24 {
	font-size: 24px !important;
}

.f26 {
    font-size: 26px !important;
}

.f28 {
    font-size: 28px !important;
}

.f30 {
    font-size: 30px !important;
}

.f31 {
    font-size: 31px !important;
}

.f32 {
    font-size: 32px !important;
}

.f35 {
    font-size: 35px !important;
    line-height: 35px;
}

.f36 {
    font-size: 36px !important;
}

.f37 {
    font-size: 37px !important;
}

.f38 {
    font-size: 38px !important;
}

.f39 {
    font-size: 39px !important;
}

.f40 {
    font-size: 40px !important;
}

/* マージン
---------------------------------*/
.mb0 {
    margin-bottom: 0 !important;
}

.mb5 {
    margin-bottom: 5px !important;
}

.mb10 {
    margin-bottom: 10px !important;
}

.mb15 {
    margin-bottom: 15px !important;
}

.mb20 {
    margin-bottom: 20px !important;
}

.mb25 {
    margin-bottom: 25px !important;
}

.mb30 {
    margin-bottom: 30px !important;
}

.mb35 {
    margin-bottom: 35px !important;
}

.mb40 {
    margin-bottom: 40px !important;
}

.mb45 {
    margin-bottom: 45px !important;
}

.mb50 {
    margin-bottom: 50px !important;
}

.mb70 {
    margin-bottom: 70px !important;
}

.mb120 {
    margin-bottom: 120px !important;
}

/* 可変横幅
---------------------------------*/
.w-10 {
    width: 10%;
}

.w-20 {
    width: 20%;
}

.w-30 {
    width: 30%;
}

.w-40 {
    width: 40%;
}

.w-50 {
    width: 50%;
}

.w-60 {
    width: 60%;
}

.w-70 {
    width: 70%;
}

.w-80 {
    width: 80%;
}

.w-90 {
    width: 90%;
}

.w-100 {
    width: 100%;
}

/* 左右行揃え
---------------------------------*/
.ta-l {
    text-align: left;
}

.ta-r {
    text-align: right;
}

.ta-c {
    text-align: center;
}

/* フロート／フロート解除
---------------------------------*/
.fl {
    float: left;
}

.fr {
    float: right;
}

.fl-img {
    float: left;
    margin-right: 10px;
    margin-bottom: 10px;
}

.fr-img {
    float: right;
    margin-left: 10px;
    margin-bottom: 10px;
}

.clear {
    clear: both;
}

/* clearfix */
.clearfix:after {
    content: "";
    display: block;
    clear: both;
}

.clearfix {
    zoom: 1;
}

/* 操作調整 */
html {
    -webkit-overflow-scrolling: touch;
}

/***-----------------------------------
pcとspでの表示非表示
-----------------------------------***/
.pc,
.pc_inline_block {
	display: none;
}

@media (min-width: 768px) {
	.pc {
		display: block;
	}

	.pc_inline_block {
		display: inline-block;
	}
}

.sp {
	display: block;
}

.sp_inline_block {
	display: inline-block;
}

@media (min-width: 768px) {

	.sp,
	.sp_inline_block {
		display: none;
	}
}

.hidden {
	display: none;
}
.Reserved{
    background-color: #3ac1d6; 
    border-radius: 10px; 
    padding: 10px 5px; 
}
.Reserved a{
    color: #fff; 
    font-weight: bold;
}
.Reserved:hover{
    background-color: #2aa8ba; 
}
.reservation{
    position: fixed;
    bottom: 2%;
    right: 3%;
    z-index: 9999;
}
.reservation-btn{
    border-radius: 999px;
    padding: 25px 15px;
    background-color:#3ac1d6 ;
   
    border: none;
}
.reservation-btn{
    color: #fff;
    font-weight: bold;
}

.reservation-btn a:hover{
    color: #402004!important;
    text-decoration: none!important;
    
  
}
.tb-responsive td{
    width: 29%!important;
    padding: 10px!important;
    border: 1px solid #342A0A!important;
    
}
.tb-responsive th{
    padding: 10px!important;
    border: 1px solid #342A0A!important;
    text-align: center!important;
}
.tb-h {
    width: 13%;
    border: 1px solid #342A0A;
}
/* スマホ縦並び切替 */
@media (max-width: 600px) {
.tb-responsive {
min-width: unset;
}
.tb-responsive thead {
display: none;  /* ヘッダーは非表示 */
}
.tb-responsive,
.tb-responsive tbody,
.tb-responsive tr,
.tb-responsive td,
.tb-responsive th {
display: block;
width: 100%;
font-size: 14px;
}
.tb-responsive tr {
margin-bottom: 1.5em;  /* 各行の間隔 */
border: 1px solid #342A0A;
border-radius: 5px;
overflow: hidden;
}
.tb-responsive th.tb-h {
background: #f5f5f5;
text-align: left;
padding-left: 10px;
border-bottom: 1px solid #342A0A;
}

.tb-responsive td {
position: relative;
padding-left: 40%;
text-align: left;
border: none;
border-top: 1px solid #342A0A;
}
.tb-responsive td:before {
content: attr(data-label);
position: absolute;
left: 10px;
top: 10px;
font-weight: bold;
width: 35%;
}
}


		@media (min-width: 768px) {
			.float_img {
				width: 40%;
			}
		}
        
   .qa-1 {
    max-width: 700px;
    margin-bottom: 7px;
    border: 1px solid #d6dde3;
    border-radius: 5px;
}

.qa-1 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em 1em 3em;
    color: #333333;
    font-weight: 600;
    cursor: pointer;
}

.qa-1 summary::before,
.qa-1 p::before {
    position: absolute;
    left: 1em;
    font-weight: 600;
    font-size: 1.3em;
}

.qa-1 summary::before {
    color: rgba(245,123,17,1.00);
    content: "Q";
}

.qa-1 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #333333b3;
    border-right: 3px solid #333333b3;
    content: '';
    transition: transform .5s;
}

.qa-1[open] summary::after {
    transform: rotate(225deg);
}

.qa-1 p {
    position: relative;
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: .3em 3em 1.5em;
    color: #333;
    transition: transform .5s, opacity .5s;
}

.qa-1[open] p {
    transform: none;
    opacity: 1;
}

.qa-1 p::before {
    color: #ff0000;
    line-height: 1.2;
    content: "A";
}
.denture-price th,.denture-price td{
	border: 1px solid #000;
	padding: 2%;
	width: 170px;
	text-align: center;
}
.denture-price th{
	background-color: #ffe9b7;
}  