@charset "UTF-8";
/*webフォント読み込み*/
@font-face { /*notosansミディアム*/
font-family: 'Noto Sans JP'; src: url("../fonts/NotoSansJP-Medium.otf"); src: url("../fonts/NotoSansJP-Medium.woff2") format("woff2"), url("../fonts/NotoSansJP-Medium.woff") format("woff"), url("../fonts/NotoSansJP-Medium.otf") format("truetype"); font-weight: 500; }
@font-face { /*notosansボールド*/
font-family: 'Noto Sans JP'; src: url("../fonts/NotoSansJP-Bold.otf"); src: url("../fonts/NotoSansJP-Bold.woff2") format("woff2"), url("../fonts/NotoSansJP-Bold.woff") format("woff"), url("../fonts/NotoSansJP-Bold.otf") format("truetype"); font-weight: 700; }
@font-face { /*NotoSansJP-Black*/
font-family: 'Noto Sans JP'; src: url("../fonts/NotoSansJP-Black.otf"); src: url("../fonts/NotoSansJP-Black.woff2") format("woff2"), url("../fonts/NotoSansJP-Black.woff") format("woff"), url("../fonts/NotoSansJP-Black.otf") format("truetype"); font-weight: 900; }
/* Link
=========================================== */
a:link, a:visited { color: #000000; text-decoration: none; }

a:hover, a:active { color: #000000; text-decoration: underline; }

a { outline: none; transition: 0.3s; color: #000000; text-decoration: none; letter-spacing: 0; }

a img { transition: 0.3s; }

a:hover img { opacity: 0.7; }

:focus { outline: none; }

/* 共通設定
=========================================== */
html.loght { margin-top: 0 !important; }

html.showPage, html.showPage body { min-width: 1200px; }

body { background: #fff; color: #000000; font-size: 16px; line-height: 1.9375; font-family: YakuHanJP,'Noto Sans JP',"メイリオ","Mayryo ","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック","MS PGothic",sans-serif; font-style: normal; font-weight: 500; overflow-wrap: anywhere; /* 収まらない場合に折り返す */ word-break: normal; /* 単語の分割はデフォルトに依存 */ line-break: strict; /* 禁則処理を厳格に適用 */ }

h1, h2, h3, h4, h5, h6 { line-height: 1.5; font-weight: 700; letter-spacing: 0; }

body#tinymce { min-width: inherit !important; }

input, select, textarea { font-family: YakuHanJP,'Noto Sans JP',"メイリオ","Mayryo ","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック","MS PGothic",sans-serif; font-weight: 500; color: #000000; letter-spacing: 0; }

.wrap { width: 1100px; margin: 0 auto; position: relative; }

table { width: 100%; }

img { max-width: 100%; height: auto; }

.no-pc { display: inline-block; pointer-events: none; text-decoration: none !important; }

div#f-trigger { opacity: 0; position: absolute; left: 0; top: 90px; z-index: -20; }

/*共通見出し設定*/
.titles01 { margin-bottom: 50px; line-height: 1.1; font-size: 36px; font-weight: 700; position: relative; }

.titles01 .en { display: block; font-size: 14px; line-height: 1; margin-bottom: 16px; }

.titles01 .jp { display: block; line-height: 1; }

.titles02 { font-size: 16px; font-weight: 700; color: #8D000D; position: relative; padding-left: 10px; line-height: 38px; margin-bottom: 20px; }

.titles02:before { content: ""; width: 40px; height: 1px; background: #8D000D; position: absolute; left: -40px; top: 19px; }

.titles03 { margin-bottom: 45px; color: #fff; font-size: 30px; font-weight: 700; }
.titles03 > span { display: inline-block; padding: 0 28px; background: url("../img/common/tit-ico01l.svg") no-repeat left center, url("../img/common/tit-ico01r.svg") no-repeat right center; }

.titles04 { margin-bottom: 45px; font-size: 30px; font-weight: 700; }
.titles04 > span { display: inline-block; padding: 0 28px; background: url("../img/common/tit-ico02l.svg") no-repeat left center, url("../img/common/tit-ico02r.svg") no-repeat right center; }

/*共通ボタン設定*/
.btn01 { width: 335px; transition: 0.3s; height: 70px; margin: 0 auto; display: table; }

.btn01 a { display: table-cell; text-align: center; vertical-align: middle; position: relative; text-decoration: none; color: #fff; font-size: 14px; line-height: 22px; text-align: center; border-radius: 5px; font-weight: 500; background: #292929; box-sizing: border-box; }

.btn01 a .arrow { position: absolute; right: 20px; top: 50%; z-index: 2; transform: translateY(-50%); width: 9px; }

.btn01 a .arrow img { display: block; opacity: 1; }

.btn01:hover a { background: #886A2D; }

.link-btn01 a { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; line-height: 40px; font-size: 14px; text-decoration: none; }
.link-btn01 a .arrow { z-index: 2; width: 40px; height: 40px; margin-left: 15px; border-radius: 100%; transition: 0.3s; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; position: relative; border: solid 1px #292929; box-sizing: border-box; }
.link-btn01 a .arrow img { display: block; transition: 0.3s; opacity: 1 !important; }
.link-btn01 a:hover { color: #886A2D; }
.link-btn01 a:hover .arrow { background: #886A2D; border-color: #886A2D; }
.link-btn01 a:hover .arrow img { filter: brightness(0) saturate(100%) invert(98%) sepia(0%) saturate(7493%) hue-rotate(98deg) brightness(102%) contrast(106%); }

/*グラデーション*/
.gra-bg { display: inline-block; padding: 5px 12px; background: linear-gradient(120deg, #D80000 0%, #D80000 20%, #D85E00 100%); color: #fff; border-radius: 10px; }

.gra-text { background: linear-gradient(180deg, #D80000 0%, #D85E00 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; display: inline-block; }

/*スライダー　ふわっ*/
div#mv-slider, div.slider01, div.gallery-main, div.gallery-thumb, div.belt-slider { opacity: 0; transition: opacity .3s linear; }

div#mv-slider.slick-initialized, div.slider01.slick-initialized, div.gallery-main.slick-initialized, div.gallery-thumb.flex.slick-initialized, div.belt-slider.slick-initialized { opacity: 1; }

/*font*/
.robo { font-family: 'roboto'; }

.pop, .num { font-family: 'pop'; }

.min { font-family: 'min'; }

/* header */
/*-------------------------------------------*/
#header { width: 100%; z-index: 100; height: 80px; }

#header { position: absolute; transition: 0.3s; left: 0; top: 0; z-index: 100; min-width: 1200px; align-items: center; }

div.head-inner.flex { height: 80px; align-items: center; margin: 0 auto; box-sizing: border-box; position: relative; justify-content: flex-end; }
div.head-inner.flex > .logo { position: absolute; left: calc(50% - 550px); z-index: 2; display: flex; flex-wrap: wrap; align-items: flex-end; top: 17px; }
div.head-inner.flex .center .tel-set { display: flex; flex-wrap: wrap; align-items: center; color: #fff; justify-content: flex-end; }
div.head-inner.flex .center .tel-set .tel-bh { margin-left: 5px; }
div.head-inner.flex .center .tel-set .k-tel { margin: 0 10px; }

.tel-num a { color: #fff; font-weight: 700; font-size: 22px; }
.tel-num a > span { display: inline-block; padding-left: 20px; background: url("../img/common/ico-tel.svg") no-repeat left center; }

.tel-bh { font-size: 14px; font-weight: 700; }

.k-tel { font-weight: 700; font-size: 14px; }

div.gnav ul.flex { align-items: center; }
div.gnav ul.flex > li { margin-left: 30px; line-height: 20px; position: relative; }
div.gnav ul.flex > li > a { text-decoration: none; display: block; font-size: 14px; position: relative; padding-bottom: 10px; color: #fff; }
div.gnav ul.flex > li > a:hover { text-decoration: underline; color: #C3A65C; }
div.gnav ul.flex > li > .dr-tit { text-decoration: none; display: block; font-size: 14px; position: relative; padding-bottom: 10px; color: #fff; background: url("../img/common/dr-arrrow.svg") no-repeat center bottom; transition: 0.3s; }
div.gnav ul.flex > li:hover > .dr-tit { color: #C3A65C; background-image: url("../img/common/dr-arrow-h.svg"); }
div.gnav ul.flex > li:first-child { margin-left: 0; }

.drop-wrap { width: 200px; border-radius: 5px; background: #886A2D; color: #fff; position: absolute; top: calc(100% + 15px); left: calc(50% - 100px); z-index: 10; height: 0; overflow: hidden; transition: 0.3s; padding: 0 10px 0 30px; box-sizing: border-box; }

li:hover .drop-wrap { padding-top: 30px; padding-bottom: 30px; height: 190px; }

li.drop:hover { cursor: pointer; }

li.drop:hover:before { content: ""; width: calc(100% + 200px); top: calc(100% - 1px); position: absolute; left: 50%; transform: translateX(-50%); height: 30px; }

ul.nav-sub > li { line-height: 20px; margin-bottom: 15px; }
ul.nav-sub > li a { display: inline-block; padding-left: 17px; background: url("../img/common/arrow02.svg") no-repeat left center; background-size: 7px; color: #fff; font-size: 14px; }
ul.nav-sub > li:last-child { margin-bottom: 0; }

.contact-btn { width: 150px; height: 80px; display: table; margin-left: 40px; }
.contact-btn a { display: table-cell; border-radius: 0 0 0 5px; text-decoration: none; color: #fff; background: #886A2D; text-align: center; vertical-align: middle; }
.contact-btn a span.ico { display: block; width: 22px; margin: 0 auto; }
.contact-btn a span.ico img { display: block; }
.contact-btn a:hover { opacity: 0.7; }

#header { position: fixed; left: 0; top: 0; height: auto; }

.fixed #header { background: rgba(0, 0, 0, 0.8); height: 60px; }
.fixed #header div.gnav { padding-top: 10px; }
.fixed #header div.head-inner.flex { height: 60px; }
.fixed #header .tel-set { display: none; }
.fixed #header .logo { width: 202px; height: 31px; overflow: hidden; top: 14px; }
.fixed #header .logo a { display: block; position: absolute; left: 0; bottom: 0; }
.fixed #header .contact-btn { height: 60px; }
.fixed #header .contact-btn a { border-radius: 0; }
.fixed #header .contact-btn a span.ico { display: inline-block; margin: 0 5px 0 0; }

li.translate { height: 29px; }
li.translate .gtranslate_wrapper .gt_switcher { width: 210px; }
li.translate .gtranslate_wrapper .gt_switcher .gt_option { width: auto; }
li.translate .gtranslate_wrapper .gt_switcher .gt_selected { height: 29px; background: none; border: solid 1px #A17474; box-sizing: border-box; }
li.translate .gtranslate_wrapper .gt_switcher .gt_selected a { color: #A17474; box-sizing: border-box; height: 29px; border: none; width: 100%; }

/*スクロール追従*/
/*パンくず*/
/*-------------------------------------------*/
div#bread { z-index: 2; position: relative; text-align: right; }

#bread ul li { display: inline-block; font-size: 14px; font-weight: 500; color: #fff; }

ul.bread-list li a { font-size: 14px; color: #fff; }

ul.bread-list li:after { content: "−"; margin-left: 10px; margin-right: 5px; display: inline-block; position: relative; color: #A17474; }

ul.bread-list li:last-child:after { content: none; }

/* メインビジュアル */
/*-------------------------------------------*/
/*TOPページ*/
div#mv { position: relative; z-index: 3; letter-spacing: 0; }

/*下層ページ*/
/* contents */
/*-------------------------------------------*/
.bg-blue { background: #F5F9FF; }

/* footer */
/*-------------------------------------------*/
div#footer { background: url("../img/common/ft-bg01.jpg"); padding-top: 110px; overflow: hidden; }

div#ftBox01 { padding: 90px 0 100px; color: #fff; position: relative; }

div#ftBox01 .wrap { display: flex; flex-wrap: wrap; justify-content: space-between; }

div#ftBox01 .wrap > div.ft-contact { width: 340px; }
div#ftBox01 .wrap > div.ft-contact h2.titles01 { margin-bottom: 30px; }
div#ftBox01 .wrap > div.ft-contact h2.titles01 .jp { font-size: 30px; }

.ft-telBox { margin-top: 45px; border-radius: 5px; border: solid 1px #542622; background: #240605; text-align: center; padding: 29px; }
.ft-telBox .k-tel { line-height: 1; }

.ft-contact-btn { margin-top: 20px; width: 100%; height: 130px; display: table; }
.ft-contact-btn a { text-decoration: none; display: table-cell; text-align: center; vertical-align: middle; color: #fff; font-weight: 700; line-height: 1.4; border: solid 1px #542622; background: #240605; border-radius: 5px; }
.ft-contact-btn a .tit { font-size: 20px; }
.ft-contact-btn a .tit > span { display: inline-block; padding-left: 27px; background: url("../img/common/ico-mail.svg") no-repeat left center; }
.ft-contact-btn a .co-bh { font-size: 14px; margin-top: 5px; }
.ft-contact-btn a:hover { box-shadow: 0 0 20px rgba(255, 255, 255, 0.7); }

div#ftBox01 .wrap > div.right { max-width: 590px; }

div.fnav { display: flex; flex-wrap: wrap; width: 100%; }
div.fnav > div { margin-right: 60px; max-width: calc(50% - 30px); }
div.fnav > div ul > li { line-height: 20px; margin-bottom: 15px; }
div.fnav > div ul > li a { display: inline-block; padding-left: 17px; background: url("../img/common/arrow02.svg") no-repeat left center; background-size: 7px; }
div.fnav > div ul > li:last-child { margin-bottom: 0; }
div.fnav > div a { color: #fff; }
div.fnav > div:last-child { margin-right: 0; }

div.ft-info.flex { margin-top: 35px; align-items: flex-end; }

h2.ft-logo { margin-right: 60px; width: 296px; }
h2.ft-logo img { filter: brightness(0) saturate(100%) invert(95%) sepia(0%) saturate(7500%) hue-rotate(69deg) brightness(106%) contrast(106%); }

.ft-text02.flex { margin-top: 60px; font-size: 14px; justify-content: space-between; }

div.copyright { font-size: 10px; color: #A17474; position: absolute; top: 50%; right: -90px; transform: rotateZ(90deg); }

.ft-tit { line-height: 20px; margin-bottom: 17px; }

/* TOPへ戻る */
/*-------------------------------------------*/
div#top-link { position: absolute; left: 0; top: 80px; opacity: 0; z-index: -20; }

div#page-top { width: 100%; max-width: 1100px; margin: 0 auto; position: relative; text-align: right; }
div#page-top a { display: inline-block; }
div#page-top a img { display: block; }
div#page-top a:hover { opacity: 0.7; }

div#page-top:before { content: ""; width: calc(100% - 96px); height: 1px; background: #A17474; position: absolute; left: 0; top: 50%; }

/* OTHER
=========================================== */
.tright { text-align: right; }

.tleft { text-align: left; }

.tcenter { text-align: center; }

.flL { float: left; }

.flR { float: right; }

.bold { font-weight: bold; }

.inb { display: inline-block; }

.block { display: block; }

.red { color: #E30606; }

.blue { color: #0075A4; }

.blue02 { color: #0093D6; }

.yellow { color: #FFD400; }

.orange { color: #EE5A35; }

.green { color: #087F82; }

.d-green { color: #005E4B; }

.green02 { color: #01A9AE; }

.navy { color: #374b8e; }

.pink { color: #ff7373; }

.gray { color: #818181; }

.sp { display: none !important; }
