@charset "UTF-8";
.container { max-width: 1200px; margin: auto; }
@media only screen and (max-width: 1199px) { .container { width: 91.66667%; } }

#footer .out_menu ul:after, .fix_menu ul:after { content: ""; display: table; clear: both; }

html { font-size: small; line-height: 2.4; letter-spacing: .2em; font-family: "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", Times, Garamond, Georgia, serif; }
@media only screen and (max-width: 767px) { .android html { font-family: "Noto Serif JP", "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", Times, Garamond, Georgia, serif; } }
html.u-en { letter-spacing: 0; font-family: 'Heebo', sans-serif; }

body { color: #000; background: #fff; -webkit-text-size-adjust: none; font-size: 108%; }
.ie body { font-size: 105%; }
@media only screen and (max-width: 767px) { body { font-size: 100%; } }
body a { color: #000; text-decoration: underline; }
body a:hover { text-decoration: none; }
body img { max-width: 100%; -webkit-touch-callout: none; line-height: 1; }

input, select, textarea { font-size: 100%; }

html.ie8 .view_tab, html.ie8 .view_tab_sp, html.ie8 .view_sp { display: none !important; }
html.ie8 #abi_page { min-width: 1200px !important; margin: auto; font-size: 100% !important; }

@media only screen and (min-width: 1200px) { body .view_tab-sp, body .view_tab { display: none !important; } }
@media print { body .view_tab-sp, body .view_tab { display: none !important; } }
.ie8 body .view_tab-sp, .ie8 body .view_tab { display: none !important; }
@media only screen and (min-width: 768px) { body .view_sp { display: none !important; } }
@media print { body .view_sp { display: none !important; } }
.ie8 body .view_sp { display: none !important; }
@media only screen and (max-width: 1199px) { body .view_pc { display: none !important; } }
@media only screen and (max-width: 767px) { body .view_pc-tab, body .view_tab { display: none !important; } }

.mouse .over { -moz-transition: opacity 0.3s ease-in; -o-transition: opacity 0.3s ease-in; -webkit-transition: opacity 0.3s ease-in; transition: opacity 0.3s ease-in; }
.mouse .over:hover, .touch .over.touchstart { filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70); opacity: 0.7; }
.touch .over { -webkit-tap-highlight-color: transparent; }
.touch .over.touchend { -moz-transition-delay: 200ms; -o-transition-delay: 200ms; -webkit-transition-delay: 200ms; transition-delay: 200ms; }

* { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }

#abi_page { overflow: hidden; *zoom: 1; }
@media only screen and (min-width: 1200px) { #abi_page { width: 100%; max-width: 1920px; margin: auto; } }
@media print { #abi_page { width: 100%; max-width: 1920px; margin: auto; } }
.ie8 #abi_page { width: 100%; max-width: 1920px; margin: auto; }
@media only screen and (min-width: 768px) { #abi_page { font-size: 100% !important; } }
@media print { #abi_page { font-size: 100% !important; } }
.ie8 #abi_page { font-size: 100% !important; }

#header .logo { width: 23.95833%; margin: 6.25% auto 0 6.25%; }
@media only screen and (min-width: 768px) { #header .logo { max-width: 150px; margin: 30px auto 0 30px; } }
@media print { #header .logo { max-width: 150px; margin: 30px auto 0 30px; } }
.ie8 #header .logo { max-width: 150px; margin: 30px auto 0 30px; }
#header .logo a { display: block; }
.mouse #header .logo a { -moz-transition: opacity 0.3s ease-in; -o-transition: opacity 0.3s ease-in; -webkit-transition: opacity 0.3s ease-in; transition: opacity 0.3s ease-in; }
.mouse #header .logo a:hover, .touch #header .logo a.touchstart { filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70); opacity: 0.7; }
.touch #header .logo a { -webkit-tap-highlight-color: transparent; }
.touch #header .logo a.touchend { -moz-transition-delay: 200ms; -o-transition-delay: 200ms; -webkit-transition-delay: 200ms; transition-delay: 200ms; }
#header .l-lang { width: 150px; position: fixed; right: 0; top: 0; z-index: 10; }
#header .l-lang .js-lang { background: #fff; text-align: center; position: relative; padding: .5em 0; cursor: pointer; letter-spacing: 0.02em; font-size: 93%; }
#header .l-lang .js-lang:before, #header .l-lang .js-lang:after { font-family: FontAwesome; }
#header .l-lang .js-lang > * { vertical-align: middle; }
#header .l-lang .js-lang:after { content: ""; margin-left: .5em; }
#header .l-lang ul { display: none; }
#header .l-lang ul li { margin-bottom: 1px; }
#header .l-lang ul li a { display: block; text-decoration: none; padding: .5em 0; letter-spacing: 0.02em; text-align: center; line-height: 1.5; background: #fff; font-size: 86%; -moz-transition: background 1s; -o-transition: background 1s; -webkit-transition: background 1s; transition: background 1s; }
#header .l-lang ul li a:hover { background: rgba(255, 255, 255, 0.7); }

#footer { margin-top: 200px; }
@media only screen and (min-width: 768px) and (max-width: 1199px) { #footer { margin-top: 16.66667%; } }
@media only screen and (max-width: 767px) { #footer { margin-top: 5em; } }
#footer .out_menu { background: #f5f2ee; padding: 3em 2.08333% 3em 4.16667%; }
@media only screen and (max-width: 767px) { #footer .out_menu { padding: 3em 1em; } }
#footer .out_menu .logo { text-align: center; }
#footer .out_menu ul { padding-top: 30px; display: grid; max-width: 750px; margin: 0 auto; gap: 8px 0; }
@media only screen and (min-width: 768px) and (max-width: 1199px) { #footer .out_menu ul { padding-top: 25px; } }
@media only screen and (max-width: 767px) { #footer .out_menu ul { padding-top: 1em; } }
@media only screen and (min-width: 768px) { #footer .out_menu ul { grid-template-columns: repeat(5, 1fr); } }
@media print { #footer .out_menu ul { grid-template-columns: repeat(5, 1fr); } }
.ie8 #footer .out_menu ul { grid-template-columns: repeat(5, 1fr); }
@media only screen and (max-width: 767px) { #footer .out_menu ul { grid-template-columns: repeat(3, 1fr); } }
#footer .out_menu ul li { letter-spacing: .1em; text-align: center; position: relative; }
#footer .out_menu ul li:before { content: ""; height: 3em; width: 1px; background: #e4ddd4; position: absolute; right: 0; top: 50%; -moz-transform: translate(0, -50%); -ms-transform: translate(0, -50%); -webkit-transform: translate(0, -50%); transform: translate(0, -50%); }
@media only screen and (max-width: 767px) { #footer .out_menu ul li:before { height: 1.5em; } }
#footer .out_menu ul li a { text-decoration: none; display: block; text-align: center; padding: 1em 0; line-height: 1.5; }
@media only screen and (max-width: 767px) { #footer .out_menu ul li a { padding: 0; } }
@media only screen and (min-width: 768px) { #footer .out_menu ul li:nth-child(5n+1):after { content: ""; height: 3em; width: 1px; background: #e4ddd4; position: absolute; left: 0; top: 50%; -moz-transform: translate(0, -50%); -ms-transform: translate(0, -50%); -webkit-transform: translate(0, -50%); transform: translate(0, -50%); } }
@media only screen and (min-width: 768px) and (max-width: 767px) { #footer .out_menu ul li:nth-child(5n+1):after { height: 1.5em; } }

@media print { #footer .out_menu ul li:nth-child(5n+1):after { content: ""; height: 3em; width: 1px; background: #e4ddd4; position: absolute; left: 0; top: 50%; -moz-transform: translate(0, -50%); -ms-transform: translate(0, -50%); -webkit-transform: translate(0, -50%); transform: translate(0, -50%); } }
.ie8 #footer .out_menu ul li:nth-child(5n+1):after { content: ""; height: 3em; width: 1px; background: #e4ddd4; position: absolute; left: 0; top: 50%; -moz-transform: translate(0, -50%); -ms-transform: translate(0, -50%); -webkit-transform: translate(0, -50%); transform: translate(0, -50%); }
@media only screen and (max-width: 767px) { .ie8 #footer .out_menu ul li:nth-child(5n+1):after { height: 1.5em; } }
@media only screen and (max-width: 767px) { #footer .out_menu ul li:nth-child(3n):before { content: none; } }
@media only screen and (min-width: 768px) and (max-width: 1199px) { #footer .out_menu ul.en { text-align: center; }
  #footer .out_menu ul.en li { margin-bottom: 1em; width: 25%; }
  #footer .out_menu ul.en li:nth-child(n+5) { margin-bottom: 0; }
  #footer .out_menu ul.en li:first-child:after { display: none; }
  #footer .out_menu ul.en li:nth-child(4n):before { display: none; }
  #footer .out_menu ul.en li:nth-child(n+4) { margin-bottom: 1em; } }
@media only screen and (max-width: 767px) { #footer .out_menu ul.en { text-align: center; }
  #footer .out_menu ul.en li { margin-bottom: 1em; width: 50%; }
  #footer .out_menu ul.en li:nth-child(n+4) { margin-bottom: 1em; }
  #footer .out_menu ul.en li:nth-child(3n):before { display: block; }
  #footer .out_menu ul.en li:nth-child(n+7) { margin-bottom: 1em; }
  #footer .out_menu ul.en li:nth-child(n+3) { margin-bottom: 0; }
  #footer .out_menu ul.en li:nth-child(2n):before { display: none; }
  #footer .out_menu ul.en li:nth-child(n+2) { margin-bottom: 1em; } }
#footer .con_list_logo { background: #615b54; padding: 3em; }
@media only screen and (max-width: 767px) { #footer .con_list_logo { padding: 1em 0; } }
#footer .con_list_logo ul { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; align-items: center; text-align: center; }
#footer .con_list_logo ul li { display: inline-block; padding: 3em; vertical-align: middle; position: relative; }
@media only screen and (min-width: 768px) and (max-width: 1199px) { #footer .con_list_logo ul li { padding: 0 .5em; } }
#footer .con_list_logo ul li:before { content: ""; height: 3em; width: 1px; background: #746d65; position: absolute; right: 0; top: 50%; -moz-transform: translate(0, -50%); -ms-transform: translate(0, -50%); -webkit-transform: translate(0, -50%); transform: translate(0, -50%); }
@media only screen and (max-width: 767px) { #footer .con_list_logo ul li:before { height: 1.5em; } }
#footer .con_list_logo ul li:last-child:before { display: none; }
#footer .con_list_logo ul li.title_logo { color: #aca59d; font-size: 100%; letter-spacing: .3em; }
@media only screen and (max-width: 767px) { #footer .con_list_logo ul li.title_logo { display: block; width: 100%; } }
@media only screen and (max-width: 767px) { #footer .con_list_logo ul li { width: 48%; padding: 0 1em; margin-bottom: 1.5em; }
  #footer .con_list_logo ul li:nth-child(even):before { display: none; }
  #footer .con_list_logo ul li:nth-child(n+3) { margin-bottom: 0; } }

#fixnav-sp { position: fixed; bottom: -100%; left: 0; width: 100%; z-index: 999; }
#fixnav-sp .rsv a { display: block; cursor: pointer; text-align: center; background: #615B54; color: #FFF; text-decoration: none; font-size: 122%; padding: .32em 0; }
#fixnav-sp .rsv a i { font-size: 106%; display: inline-block; text-align: center; margin-right: 1em; }

@keyframes fadein { from { opacity: 0; }
  to { opacity: 1; } }
.fix_menu { position: fixed; right: 0; bottom: 145px; z-index: 9; text-align: right; opacity: 0; animation-name: fadein; animation-duration: 1.5s; animation-delay: 1s; animation-fill-mode: forwards; }
.fix_menu ul { position: relative; }
.fix_menu ul li { text-align: center; }
.fix_menu ul li a { text-decoration: none; text-transform: uppercase; padding: 1em .5em; display: inline-block; position: relative; }
.fix_menu ul li.btn_fade { display: none; }
.fix_menu ul li.btn_rsv { position: relative; z-index: 1; }
.fix_menu ul li.btn_rsv a { background: #615b54; color: #FFF; display: block; font-family: "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", Times, Garamond, Georgia, serif; line-height: 1.25; font-size: 86%; padding: 2.25em 0.95em 1.5em; }
@media only screen and (min-width: 768px) and (max-width: 1199px) { .fix_menu ul li.btn_rsv a { padding: 2.5em 1em; } }
@media only screen and (max-width: 767px) { .fix_menu ul li.btn_rsv a { padding: 0; } }
.fix_menu ul li.btn_rsv a i { display: block; margin-bottom: .8em; }

.btn { position: relative; }
.btn a { padding: .6em 3em; text-align: center; display: block; background-color: #fff; border: 1px solid #edeae6; text-decoration: none; position: relative; font-size: 93%; }
.btn a ion-icon { position: relative; left: 0; margin: 0 0 .2em 1.5em; vertical-align: middle; -moz-transform: scale(-1, 1); -ms-transform: scale(-1, 1); -webkit-transform: scale(-1, 1); transform: scale(-1, 1); -moz-transition: all 0.6s ease; -o-transition: all 0.6s ease; -webkit-transition: all 0.6s ease; transition: all 0.6s ease; }
.btn a:hover ion-icon { left: .5em; }
@media only screen and (max-width: 767px) { .btn a { max-width: 100%; margin: 0 auto .5em; font-size: 86%; } }

#fufuhakone-suishoen-en, #fufuatami-sekaie-en, #fufukyoto-fufunara-en, #fufukaruizawa-fufukyukaruizawa-en { font-family: 'Heebo', sans-serif; }

#fufuhakone-suishoen-tcn, #fufuatami-sekaie-tcn, #fufukyoto-fufunara-tcn, #fufukaruizawa-fufukyukaruizawa-tcn { font-family: 'Noto Serif TC', "新細明體","PMingLiU",PMingLiU,"細明體","MingLiU",MingLiU,"Times New Roman",Times,Garamond,Georgia,serif; }

#fufuhakone-suishoen-scn, #fufuatami-sekaie-scn, #fufukyoto-fufunara-scn, #fufukaruizawa-fufukyukaruizawa-scn { font-family: 'Noto Serif SC',"宋体","SimSun",SimSun,"Times New Roman",Times,Garamond,Georgia,serif; }

#fufuhakone-suishoen-en .fix_menu a, #fufuatami-sekaie-en .fix_menu a, #fufukyoto-fufunara-en .fix_menu a, #fufukaruizawa-fufukyukaruizawa-en .fix_menu a { font-size: 72%; padding: 2.5em 0.5em 2em; letter-spacing: 0; }
@media only screen and (min-width: 768px) and (max-width: 1199px) { #fufuhakone-suishoen-en .fix_menu a, #fufuatami-sekaie-en .fix_menu a, #fufukyoto-fufunara-en .fix_menu a, #fufukaruizawa-fufukyukaruizawa-en .fix_menu a { padding: 2.5em 0.6em; } }
@media only screen and (max-width: 767px) { #fufuhakone-suishoen-en .fix_menu a, #fufuatami-sekaie-en .fix_menu a, #fufukyoto-fufunara-en .fix_menu a, #fufukaruizawa-fufukyukaruizawa-en .fix_menu a { padding: 0; } }

#fufuhakone-suishoen-tcn .fix_menu a, #fufuatami-sekaie-tcn .fix_menu a, #fufukyoto-fufunara-tcn .fix_menu a, #fufukaruizawa-fufukyukaruizawa-tcn .fix_menu a { font-size: 79%; padding: 3em 2.3em 2.2em; }
@media only screen and (min-width: 768px) and (max-width: 1199px) { #fufuhakone-suishoen-tcn .fix_menu a, #fufuatami-sekaie-tcn .fix_menu a, #fufukyoto-fufunara-tcn .fix_menu a, #fufukaruizawa-fufukyukaruizawa-tcn .fix_menu a { padding: 2.5em 2em; } }
@media only screen and (max-width: 767px) { #fufuhakone-suishoen-tcn .fix_menu a, #fufuatami-sekaie-tcn .fix_menu a, #fufukyoto-fufunara-tcn .fix_menu a, #fufukaruizawa-fufukyukaruizawa-tcn .fix_menu a { padding: 0; } }

#fufuhakone-suishoen-scn .fix_menu a, #fufuatami-sekaie-scn .fix_menu a, #fufukyoto-fufunara-scn .fix_menu a, #fufukaruizawa-fufukyukaruizawa-scn .fix_menu a { font-size: 79%; padding: 3em 2.3em 2.2em; }
@media only screen and (min-width: 768px) and (max-width: 1199px) { #fufuhakone-suishoen-scn .fix_menu a, #fufuatami-sekaie-scn .fix_menu a, #fufukyoto-fufunara-scn .fix_menu a, #fufukaruizawa-fufukyukaruizawa-scn .fix_menu a { padding: 2.5em 2em; } }
@media only screen and (max-width: 767px) { #fufuhakone-suishoen-scn .fix_menu a, #fufuatami-sekaie-scn .fix_menu a, #fufukyoto-fufunara-scn .fix_menu a, #fufukaruizawa-fufukyukaruizawa-scn .fix_menu a { padding: 0; } }
