@charset "UTF-8";
/*-----------------------------------------------------

  kansai_rw CSS

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

  HTML5 Reset (Custom)
  
  Eric Meyer:: http://meyerweb.com
  HTML5 Doctor: http://html5doctor.com
  and the HTML5 Boilerplate:: http://html5boilerplate.com

-----------------------------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;400;600;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Jost:wght@400;600;700&display=swap");
html, body, 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, figure, footer, header, menu, nav, section, time, mark, audio, video, details, summary { margin: 0; padding: 0; border: 0; background: transparent; font-weight: normal; font-size: 100%; vertical-align: baseline; -webkit-text-size-adjust: none; }

article, aside, figure, footer, header, nav, section, details, summary { display: block; }

*, *:before, *:after { -webkit-box-sizing: border-box; box-sizing: border-box; }

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

img { vertical-align: bottom; }

html { overflow-y: scroll; }

ul, ol { list-style: none; }

blockquote, q { quotes: none; }

blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }

a { margin: 0; padding: 0; background: transparent; font-size: 100%; vertical-align: baseline; }

a, button { outline: none; }

a:focus, button:focus { outline: none; }

del { text-decoration: line-through; }

abbr[title], dfn[title] { border-bottom: 1px dotted #000000; cursor: help; }

table { border-spacing: 0; border-collapse: collapse; }

th { font-weight: normal; vertical-align: bottom; }

td { font-weight: normal; vertical-align: top; }

hr { display: block; height: 1px; margin: 1em 0; padding: 0; border: 0; border-top: 1px solid #cccccc; }

pre { white-space: pre; /* CSS2 */ white-space: pre-wrap; /* CSS 2.1 */ white-space: pre-line; /* CSS 3 (and 2.1 as well, actually) */ word-wrap: break-word; /* IE */ }

table { font: 100%; font-size: inherit; }

small { font-size: 85%; }

strong { font-weight: bold; }

td, td img { vertical-align: top; }

sub, sup { position: relative; font-size: 75%; line-height: 0; }

sup { top: -0.5em; }

sub { bottom: -0.25em; }

:root { --cl-base-black: #413432; --cl-light-blue: #57ccf9; --cl-light-yellow: #f9f6ef; --cl-base-green: #1BCD98; --header-h-pc: 110px; --header-h-sp: 16vw; --pc-fixed-w: 1080px; }

/*----------------------------------------------------- フォント -----------------------------------------------------*/
.serif { font-family: 'Noto Serif JP', serif; }

.jost { font-family: 'Jost', sans-serif; }

/*  矢印関連  */
/*----------------------------------------------------- 共通フレーム -----------------------------------------------------*/
html { font-size: 62.5%; }

body { position: relative; width: 100%; min-width: 1120px; margin: 0; font-family: 'Noto Sans JP', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif; font-size: 1.6rem; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; -webkit-font-feature-settings: "palt"; font-feature-settings: "palt"; line-height: 1.8; color: var(--cl-base-black); letter-spacing: normal; line-height: 1.6; overflow: hidden; }

@media only screen and (max-width: 749px) { body { font-size: 3.46667vw; min-width: 100%; } }

main { display: block; position: relative; width: 100%; height: 100%; margin: 0 auto; padding-top: var(--header-h-pc); }

@media only screen and (max-width: 749px) { main { padding-top: var(--header-h-sp); } }

main.home { padding-top: 0; }

@media only screen and (max-width: 749px) { main.home { padding-top: var(--header-h-sp); } }

a { color: var(--cl-base-black); text-decoration: none; }

a > img { -webkit-transition: opacity .3s; -o-transition: opacity .3s; transition: opacity .3s; }

a:hover > img { opacity: .7; }

/*-----------------------------------------------------
  ヘッダー
-----------------------------------------------------*/
#h-btn-menu { position: fixed; top: -17px; right: -17px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; background-color: var(--cl-base-green); width: 117px; height: 117px; border-radius: 50%; color: #fff; -webkit-transition: background-color .3s; -o-transition: background-color .3s; transition: background-color .3s; z-index: 9999; cursor: pointer; }

@media only screen and (max-width: 749px) { #h-btn-menu { top: -2.66667vw; right: -2.66667vw; width: 16vw; height: 16vw; padding: 1.86667vw 1.33333vw 0 0; } }

#h-btn-menu .bars { position: relative; background: none; width: 32px; height: 20px; }

@media only screen and (max-width: 749px) { #h-btn-menu .bars { width: 4.53333vw; height: 3.2vw; } }

#h-btn-menu .bars i { display: block; position: absolute; top: 9px; left: 0; background-color: #fff; width: 100%; height: 2px; -webkit-transition: background-color, -webkit-transform .3s; transition: background-color, -webkit-transform .3s; -o-transition: background-color, transform .3s; transition: background-color, transform .3s; transition: background-color, transform .3s, -webkit-transform .3s; }

@media only screen and (max-width: 749px) { #h-btn-menu .bars i { top: 1.6vw; } }

#h-btn-menu .bars i:nth-child(1) { -webkit-transform: translateY(-9px); -ms-transform: translateY(-9px); transform: translateY(-9px); }

@media only screen and (max-width: 749px) { #h-btn-menu .bars i:nth-child(1) { -webkit-transform: translateY(-1.6vw); -ms-transform: translateY(-1.6vw); transform: translateY(-1.6vw); } }

#h-btn-menu .bars i:nth-child(2) { -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }

@media only screen and (max-width: 749px) { #h-btn-menu .bars i:nth-child(2) { -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); } }

#h-btn-menu .bars i:nth-child(3) { -webkit-transform: translateY(9px); -ms-transform: translateY(9px); transform: translateY(9px); }

@media only screen and (max-width: 749px) { #h-btn-menu .bars i:nth-child(3) { -webkit-transform: translateY(1.6vw); -ms-transform: translateY(1.6vw); transform: translateY(1.6vw); } }

header { position: absolute; top: 0; left: 0; background-color: #fff; width: 100%; height: var(--header-h-pc); padding: 0 110px 0 35px; z-index: 9900; }

@media only screen and (max-width: 749px) { header { background-color: #fff; position: absolute; height: var(--header-h-sp); padding: 0 20vw 0 2.66667vw; overflow: visible; } }

.home header { background-color: transparent; }

header #h-inner { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; height: 100%; }

@media screen and (min-width: 750px) { header #h-inner { min-width: 975px; } }

@media only screen and (max-width: 749px) { header #h-inner { height: var(--header-h-sp); } }

header #h-inner #h-logo { width: 300px; height: 70px; }

@media only screen and (max-width: 749px) { header #h-inner #h-logo { width: 42vw; height: 10.13333vw; } }

header #h-inner #h-logo a { height: 100%; }

header #h-inner #h-logo a span { content: ''; display: block; background: url("../images/logo.png") no-repeat left top/100% auto; width: 100%; height: 0; padding-top: 70px; overflow: hidden; }

@media only screen and (max-width: 749px) { header #h-inner #h-logo a span { padding-top: 10.13333vw; } }

header #h-inner #h-sub-nav ul { display: -webkit-box; display: -ms-flexbox; display: flex; gap: 0 10px; }

@media only screen and (max-width: 749px) { header #h-inner #h-sub-nav ul { gap: 0; width: 100%; } }

header #h-inner #h-sub-nav ul li { width: 190px; }

@media only screen and (max-width: 749px) { header #h-inner #h-sub-nav ul li.lang_menu_wrap { display: none; } }

header #h-inner #h-sub-nav ul li.p-search .p-search-btn { display: none; }

@media only screen and (max-width: 749px) { header #h-inner #h-sub-nav ul li.p-search { width: 5.86667vw; height: 5.86667vw; line-height: 1; }
  header #h-inner #h-sub-nav ul li.p-search .p-search-btn { display: inline-block; background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M6.64571%2010.1443C6.24895%2010.25%205.84013%2010.3036%205.42953%2010.3038C4.35327%2010.3037%203.31032%209.93047%202.4784%209.24766C1.64648%208.56484%201.07706%207.6147%200.867166%206.55913C0.657267%205.50356%200.819876%204.40787%201.32729%203.45874C1.8347%202.50962%202.65551%201.76579%203.64988%201.354C4.64425%200.942199%205.75064%200.887914%206.78054%201.20039C7.81045%201.51287%208.70014%202.17277%209.29803%203.06766C9.89593%203.96255%2010.165%205.03706%2010.0595%206.10811C9.95392%207.17916%209.48026%208.18048%208.71918%208.94145%22%20stroke%3D%22%231BCD98%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M12.7777%2012.9999L8.71899%208.94141%22%20stroke%3D%22%231BCD98%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E"); background-color: transparent; background-repeat: no-repeat; background-position: center; background-size: contain; width: 5.86667vw; height: 5.86667vw; min-height: 0 !important; padding: 0; border: none; text-indent: 150%; white-space: nowrap; -webkit-appearance: none; -moz-appearance: none; appearance: none; overflow: hidden; }
  header #h-inner #h-sub-nav ul li.p-search .p-search-btn.is-active { margin-right: 3vw; }
  header #h-inner #h-sub-nav ul li.p-search .g_search { position: fixed; top: var(--header-h-sp); right: 0; z-index: 4; display: none; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; width: 100vw; height: 100vh; background-color: rgba(255, 255, 255, 0.95); font-size: 3.73333vw; 
    padding: 5%;
}
header #h-inner #h-sub-nav ul li.p-search .is-active + .g_search { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; } }

header #h-inner #h-sub-nav ul li.oap { width: 215px; }

header #h-inner #h-sub-nav ul li.oap a { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; background: var(--cl-base-green) url("../images/ico-qr.svg") no-repeat right 1.5em center/1.2em auto; width: 100%; height: 40px; padding: 0 15px; border: 1px solid var(--cl-base-green); border-radius: 100vw; font-size: 13px; line-height: 1; color: var(--cl-base-green); -webkit-transition: opacity .3s ease-in; -o-transition: opacity .3s ease-in; transition: opacity .3s ease-in; }

header #h-inner #h-sub-nav ul li.oap a span { background: none; font-weight: 600; }

header #h-inner #h-sub-nav ul li.oap a:hover { opacity: .7; }

header #h-inner #h-sub-nav ul li.oap a span { font-weight: 900; color: #fff; }

@media only screen and (max-width: 749px) { header #h-inner #h-sub-nav ul li.oap { display: none; } }

header #h-inner #h-nav { position: absolute; top: 0; right: 0; background-color: var(--cl-base-green); width: 54.5rem; border-radius: 0 0 0 3rem; -webkit-transform: translateX(100%); -ms-transform: translateX(100%); transform: translateX(100%); }

@media only screen and (max-width: 749px) { header #h-inner #h-nav { width: 94.66667vw; max-height: 100vh; overflow-y: scroll; } }

header #h-inner #h-nav .nav-inner { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; padding: 8rem 6rem; }

@media only screen and (max-width: 749px) { header #h-inner #h-nav .nav-inner { padding: 13.33333vw 8vw 16vw; } }

header #h-inner #h-nav .nav-inner .nav-main { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; width: 100%; margin-bottom: 3rem; padding-bottom: 2rem; border-bottom: 1px solid #fff; font-size: 2.7rem; line-height: 1.35; }

@media only screen and (max-width: 749px) { header #h-inner #h-nav .nav-inner .nav-main { padding-bottom: 0; font-size: 6.4vw; } }

header #h-inner #h-nav .nav-inner .nav-main > li { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; margin-bottom: .75em; }

header #h-inner #h-nav .nav-inner .nav-main > li > a { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; position: relative; padding: 0 0 0 1.5em; -webkit-transition: opacity .3s ease-in; -o-transition: opacity .3s ease-in; transition: opacity .3s ease-in; }

header #h-inner #h-nav .nav-inner .nav-main > li > a::before { content: ''; position: absolute; top: .2em; left: 0; display: inline-block; width: 1em; height: 1em; background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2215%22%20height%3D%2211%22%20viewBox%3D%220%200%2015%2011%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M1%205.5H14M14%205.5L9.5%2010M14%205.5L9.5%201%22%20stroke%3D%22%231BCD98%22%20stroke-width%3D%2215%25%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E"); background-color: #fff; background-repeat: no-repeat; background-position: center center; background-size: auto .3em; margin: 0 .5em 0 0; border-radius: 50%; }

header #h-inner #h-nav .nav-inner .nav-main > li > a > span { font-size: inherit; font-weight: 600; color: #fff; }

header #h-inner #h-nav .nav-inner .nav-main > li > a > span + span { margin-top: .5em; }

header #h-inner #h-nav .nav-inner .nav-main > li > a:hover { opacity: .7; }

header #h-inner #h-nav .nav-inner .nav-main > li > span { padding: 0 0 0 1.5em; color: #fff; font-weight: 600; }

header #h-inner #h-nav .nav-inner .nav-main > li > ul { margin-top: .75em; }

header #h-inner #h-nav .nav-inner .nav-main > li > ul li { margin-bottom: .75em; padding: 0 0 0 1.5em; }

@media only screen and (max-width: 749px) { header #h-inner #h-nav .nav-inner .nav-main > li > ul li { margin-bottom: .5em; } }

header #h-inner #h-nav .nav-inner .nav-main > li > ul li > a { font-size: 1.8rem; -webkit-transition: opacity .3s ease-in; -o-transition: opacity .3s ease-in; transition: opacity .3s ease-in; }

@media only screen and (max-width: 749px) { header #h-inner #h-nav .nav-inner .nav-main > li > ul li > a { font-size: 4.26667vw; } }

header #h-inner #h-nav .nav-inner .nav-main > li > ul li > a > span { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; font-size: inherit; font-weight: 600; color: #fff; }

header #h-inner #h-nav .nav-inner .nav-main > li > ul li > a > span::before { content: ''; display: inline-block; width: 1.2em; height: 1.2em; background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2215%22%20height%3D%2211%22%20viewBox%3D%220%200%2015%2011%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M1%205.5H14M14%205.5L9.5%2010M14%205.5L9.5%201%22%20stroke%3D%22%23fff%22%20stroke-width%3D%2215%25%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E"); background-repeat: no-repeat; background-position: center center; background-size: auto .6em; margin: 0 .5em 0 0; }

header #h-inner #h-nav .nav-inner .nav-main > li > ul li > a:hover { opacity: .7; }

header #h-inner #h-nav .nav-inner .nav-sub li { font-size: 1.4rem; }

@media only screen and (max-width: 749px) { header #h-inner #h-nav .nav-inner .nav-sub li { font-size: 3.73333vw; } }

header #h-inner #h-nav .nav-inner .nav-sub li a { -webkit-transition: opacity .3s ease-in; -o-transition: opacity .3s ease-in; transition: opacity .3s ease-in; }

header #h-inner #h-nav .nav-inner .nav-sub li a span { color: #fff; }

header #h-inner #h-nav .nav-inner .nav-sub li a:hover { opacity: .7; }

header #h-inner #h-nav .nav-inner .nav-sub li.lang_menu_wrap { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; margin-top: 1em; font-size: 1.5rem; }

@media only screen and (max-width: 749px) { header #h-inner #h-nav .nav-inner .nav-sub li.lang_menu_wrap { font-size: 4vw; } }

header #h-inner #h-nav .nav-inner .nav-sub li.lang_menu_wrap::after { content: ""; position: static; display: inline-block; background-color: #fff; -webkit-mask: url(../images/ico-down.svg) no-repeat center/contain; mask: url(../images/ico-down.svg) no-repeat center/contain; width: 1em; height: 1em; margin-left: .5em; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); pointer-events: none; }

header #h-inner #h-nav .nav-inner .nav-sub li.lang_menu_wrap .lang_menu { position: relative; display: inline-block; background-color: #1BCD98; width: auto; height: auto; margin: -.75em; padding: .75em; border: 0; border-radius: 0; font-size: inherit; font-weight: 700; color: #fff; cursor: pointer; -webkit-appearance: none; -moz-appearance: none; appearance: none; }

header #h-inner #h-nav .nav-inner .nav-sub li.oap { display: none; }

@media only screen and (max-width: 749px) { header #h-inner #h-nav .nav-inner .nav-sub li.oap { display: -webkit-box; display: -ms-flexbox; display: flex; margin-top: 3em; } }

header #h-inner #h-nav .nav-inner .nav-sub li.oap a { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; background: var(--cl-base-green) url("../images/ico-qr.svg") no-repeat right 1.5em center/1.2em auto; width: auto; height: 4rem; padding: 0 3.5em 0 1.5em; border: 1px solid #fff; border-radius: 100vw; font-size: 1.3rem; font-weight: 900; line-height: 1; color: #fff; }

@media only screen and (max-width: 749px) { header #h-inner #h-nav .nav-inner .nav-sub li.oap a { height: 10.66667vw; font-size: 3.46667vw; } }

header #h-inner #h-nav .nav-inner .nav-contact { display: none; }

body.h-fixed header { position: fixed; background-color: #fff; }

body.menu-on #h-btn-menu .bars i:nth-child(1) { -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); }

body.menu-on #h-btn-menu .bars i:nth-child(2) { display: none; }

body.menu-on #h-btn-menu .bars i:nth-child(3) { -webkit-transform: rotate(-45deg); -ms-transform: rotate(-45deg); transform: rotate(-45deg); }

body.menu-on #h-inner #h-nav { z-index: 99; -webkit-transform: translateX(0); -ms-transform: translateX(0); transform: translateX(0); -webkit-animation-name: menufade; animation-name: menufade; -webkit-animation-duration: .5s; animation-duration: .5s; }

@-webkit-keyframes menufade { 0% { -webkit-transform: translateX(100%); transform: translateX(100%); }
  100% { -webkit-transform: translateX(0); transform: translateX(0); } }

@keyframes menufade { 0% { -webkit-transform: translateX(100%); transform: translateX(100%); }
  100% { -webkit-transform: translateX(0); transform: translateX(0); } }

@-webkit-keyframes menuHeaderFade { 0% { opacity: 0; }
  100% { opacity: 1; } }

@keyframes menuHeaderFade { 0% { opacity: 0; }
  100% { opacity: 1; } }

@-webkit-keyframes headerFade { 0% { -webkit-transform: translateY(-100%); transform: translateY(-100%); }
  100% { -webkit-transform: translateY(0); transform: translateY(0); } }

@keyframes headerFade { 0% { -webkit-transform: translateY(-100%); transform: translateY(-100%); }
  100% { -webkit-transform: translateY(0); transform: translateY(0); } }

/*----------------------------------------------------- フッター -----------------------------------------------------*/
footer { background-color: var(--cl-base-green); padding: 4rem 0 6rem; }

footer #f-menu { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; gap: 0 2em; width: 100%; }

@media only screen and (max-width: 749px) { footer #f-menu { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-align: center; -ms-flex-align: center; align-items: center; gap: 0; width: 100%; text-align: center; } }

footer #f-menu > li a > span { display: inline; background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#fff)); background-image: -webkit-linear-gradient(#fff, #fff); background-image: -o-linear-gradient(#fff, #fff); background-image: linear-gradient(#fff, #fff); background-repeat: no-repeat; background-position: left bottom; background-size: 100% 0; padding-bottom: .25em; font-size: 1.6rem; font-weight: 700; color: #fff; -webkit-transition: background-size, opacity .3s; -o-transition: background-size, opacity .3s; transition: background-size, opacity .3s; }

@media only screen and (max-width: 749px) { footer #f-menu > li a > span { font-size: 4.26667vw; } }

footer #f-menu > li a:hover > span { background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#fff)); background-image: -webkit-linear-gradient(#fff, #fff); background-image: -o-linear-gradient(#fff, #fff); background-image: linear-gradient(#fff, #fff); background-size: 100% 1px; opacity: .7; }

footer #f-credit { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; margin-top: 5rem; }

footer #f-credit small { font-size: 1.4rem; color: #fff; }

@media only screen and (max-width: 749px) { footer #f-credit small { font-size: 3.73333vw; } }

/*----------------------------------------------------- ユーティリティ -----------------------------------------------------*/
.pc-bl { display: block  !important; }

.pc-il { display: inline !important; }

.pc-ib { display: inline-block !important; }

.pc-fx { display: -webkit-box   !important; display: -ms-flexbox   !important; display: flex   !important; }

.sp-bl { display: none   !important; }

.sp-il { display: none   !important; }

.sp-ib { display: none   !important; }

.sp-fx { display: none   !important; }

@media only screen and (max-width: 749px) { .pc-bl { display: none   !important; }
  .pc-il { display: none   !important; }
  .pc-ib { display: none   !important; }
  .pc-fx { display: none   !important; }
  .sp-bl { display: block  !important; }
  .sp-il { display: inline !important; }
  .sp-ib { display: inline-block !important; }
  .sp-fx { display: -webkit-box   !important; display: -ms-flexbox   !important; display: flex   !important; } }

.fw_normal { font-weight: normal !important; }

.fw_bold { font-weight: bold !important; }

.fc_red { color: #c90000; }

.ta_center { text-align: center !important; }

.ta_left { text-align: left !important; }

.ta_right { text-align: right !important; }

.ta_pc_center_sp_left { text-align: center !important; }

@media only screen and (max-width: 749px) { .ta_pc_center_sp_left { text-align: left !important; } }

.fl_left { float: left !important; }

.fl_right { float: right !important; }

.fl_none { float: none !important; }

.dp_block { display: block !important; }

.dp_i_block { display: inline-block !important; }

.dp_none { display: none !important; }

/*----------------------------------------------------- ローディング関連 -----------------------------------------------------*/
.overlay { display: none; }

body.preload { height: 100vh; }

body.preload header, body.preload main, body.preload footer { visibility: hidden; }

body.preload .overlay { position: fixed; top: 0; left: 0; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; background-color: #fff; width: 100%; height: 100%; min-height: 100vh; z-index: 9999; }

body.preload .overlay .logo { background-image: url("../../assets/images/logo-mark.svg"); background-repeat: no-repeat; background-position: center center; background-size: 100% auto; width: 100px; height: 0; padding-top: 100px; overflow: hidden; -webkit-animation-name: logoRotate; animation-name: logoRotate; -webkit-animation-duration: 2s; animation-duration: 2s; -webkit-animation-delay: 0; animation-delay: 0; -webkit-animation-timing-function: linear; animation-timing-function: linear; -webkit-animation-iteration-count: infinite; animation-iteration-count: infinite; }

@media only screen and (max-width: 749px) { body.preload .overlay .logo { width: 13.33333vw; padding-top: 13.33333vw; } }

@-webkit-keyframes logoRotate { 0% { }
  100% { } }

@keyframes logoRotate { 0% { }
  100% { } }

body.loaded { height: auto; }

body.loaded header, body.loaded main, body.loaded footer { visibility: visible; }

body.loaded .overlay { -webkit-animation-name: fadeOverlay; animation-name: fadeOverlay; -webkit-animation-duration: .5s; animation-duration: .5s; -webkit-animation-fill-mode: forwards; animation-fill-mode: forwards; opacity: 1; visibility: visible; }

@-webkit-keyframes fadeOverlay { 0% { opacity: 1; }
  100% { opacity: 0;
    visibility: hidden; } }

@keyframes fadeOverlay { 0% { opacity: 1; }
  100% { opacity: 0;
    visibility: hidden; } }

/*----------------------------------------------------- ラッパー関連 -----------------------------------------------------*/
.cmn-inner { width: 100%; max-width: 1120px; margin: 0 auto; padding: 0 40px; }

@media only screen and (max-width: 749px) { .cmn-inner { width: 100vw; max-width: none; padding: 3vw 5.33333vw; } }

/*----------------------------------------------------- 共通パーツ -----------------------------------------------------*/
/* スマートフォン telリンク */
@media screen and (min-width: 750px) { a.callphone { pointer-events: none; color: inherit; }
  a.callphone:hover { text-decoration: none; } }

/* パンくずリスト */
.topicspath .list-path { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; padding: .75em 0; }

@media only screen and (max-width: 749px) { .topicspath .list-path { padding: 2vw 0; } }

.topicspath .list-path li { padding: 0; font-size: 1.6rem; }

.topicspath .list-path li a, .topicspath .list-path li span { font-size: inherit; color: var(--cl-base-black); line-height: 1.4; }

@media only screen and (max-width: 749px) { .topicspath .list-path li a, .topicspath .list-path li span { font-size: 3.2vw; } }

.topicspath .list-path li a { position: relative; color: var(--cl-base-black); }

.topicspath .list-path li a::after { content: ''; position: absolute; bottom: 0; left: 0; display: inline-block; background-color: var(--cl-light-blue); width: 100%; height: 1px; opacity: 0; -webkit-transition: opacity .3s; -o-transition: opacity .3s; transition: opacity .3s; }

.topicspath .list-path li a:hover::after { opacity: 1; }

.topicspath .list-path li:not(:first-child)::before { content: ">"; margin: 0 .5em; font-size: inherit; }

@media only screen and (max-width: 749px) { .topicspath .list-path li:not(:first-child)::before { font-size: 2.66667vw; } }

/* 見出し関連 */
.cmn-sec-ttl { font-size: 3.8rem; font-weight: 600; color: #1BCD98; text-align: center; margin-bottom: 6rem; }

@media only screen and (max-width: 749px) { .cmn-sec-ttl { font-size: 7.53333vw; line-height: 1.25; margin-top: -5vw; position: relative; z-index: 10; } }

/* ボタン関連 */
.btn { display: inline-block; }

.btn a { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; width: 100%; height: 4rem; padding: 0 1em 0 1em; border-radius: 100vw; -webkit-transition: opacity .3s ease-in; -o-transition: opacity .3s ease-in; transition: opacity .3s ease-in; }

@media only screen and (max-width: 749px) { .btn a { height: 13.33333vw; font-size: 4.53333vw; } }

.btn a::after { content: ''; position: absolute; background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2215%22%20height%3D%2211%22%20viewBox%3D%220%200%2015%2011%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M1%205.5H14M14%205.5L9.5%2010M14%205.5L9.5%201%22%20stroke%3D%22%23fff%22%20stroke-width%3D%2215%25%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E"); background-repeat: no-repeat; background-position: center; background-size: contain; top: 50%; right: 1em; width: .75em; height: 1em; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); }

.btn a span { font-size: inherit; font-weight: 600; color: #fff; line-height: 1; background: none; }

.btn a:hover { opacity: .7; }

.guide-btn { margin: 20px 0; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; padding-right: 24px; }

@media only screen and (max-width: 749px) { .guide-btn { padding-right: 20px; } }

.guide-btn a { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; width: 100%; max-width: 540px; min-height: 90px; border-radius: 90px; background-color: #f9b62b; color: #fff; font-size: 2rem; text-align: center; text-decoration: none !important; -webkit-transition: opacity .3s ease-in; -o-transition: opacity .3s ease-in; transition: opacity .3s ease-in; }

@media only screen and (max-width: 749px) { .guide-btn a { font-size: 1.6rem; min-height: 70px; } }

.guide-btn a::before, .guide-btn a::after { position: absolute; top: 0; bottom: 0; right: 0; margin: auto; content: ""; }

.guide-btn a::before { right: 50px; width: 18px; height: 2px; background: #fff; background: none; }

@media only screen and (max-width: 749px) { .guide-btn a::before { right: 15px; } }

.guide-btn a::after { right: 50px; width: 12px; height: 12px; border-top: 2px solid #fff; border-right: 2px solid #fff; -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); }

@media only screen and (max-width: 749px) { .guide-btn a::after { right: 15px; } }

.guide-btn a span { position: relative; display: block; background: none; width: 100%; padding-left: 80px; padding-right: 75px; color: #fff; }

@media only screen and (max-width: 749px) { .guide-btn a span { padding-left: 50px; padding-right: 50px; } }

.guide-btn a span::before { content: ""; position: absolute; top: 50%; left: 50px; background: url(../images/ico_facilities.svg) no-repeat center/contain; width: 40px; height: 40px; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); }

@media only screen and (max-width: 749px) { .guide-btn a span::before { left: 15px; width: 30px; height: 30px; } }

.guide-btn a:hover { opacity: .7; }

.guide-btn a:hover span { color: #fff; }

.guide-btn.th a { max-width: 780px; }

/* Language Select */
.lang_menu_wrap { position: relative; }

.lang_menu_wrap::after { content: ""; position: absolute; top: 50%; right: 15px; background-color: #1BCD98; -webkit-mask: url(../images/ico-down.svg) no-repeat center/contain; mask: url(../images/ico-down.svg) no-repeat center/contain; width: 14px; height: 14px; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); pointer-events: none; }

.lang_menu_wrap .lang_menu { position: relative; width: 100%; height: 40px; padding-left: 15px; border-color: #1BCD98; border-radius: 100rem; font-size: 14px; font-weight: 700; color: #1BCD98; cursor: pointer; -webkit-appearance: none; -moz-appearance: none; appearance: none; }

.lang_menu_wrap .lang_menu:focus-visible { outline: none; }

/* ============================================ */
/* google検索 */
/* ============================================ */
.gsc-control-cse { padding: 0 !important; background: none !important; border: none !important; position: relative; z-index: 99; }

.gsc-control-cse table.gsc-search-box { margin-bottom: 0; }

.gsc-control-cse table.gsc-search-box td { height: 33px; }

.gsc-control-cse table.gsc-search-box td.gsc-input { padding-right: 0 !important; }

.gsc-control-cse table.gsc-search-box td.gsc-search-button { display: table-cell !important; }

.gsc-control-cse table.gsc-search-box .gsib_a { padding: 0 0 0 15px !important; color: #1bcd98; }

/* ---------------------- */
/* 検索バー対応 */
.gsc-control-cse table.gsc-search-box .gsc-input-box { background: #fff !important; padding: 0 !important; border-radius: 50px 0 0 50px !important; border: 1px solid #1bcd98 !important; border-right: none !important; height: 38px; }

.gsc-control-cse form.gsc-search-box { font-size: 13px; margin: 0; width: 100%; max-width: stretch; }

.gsc-control-cse table.gsc-search-box #gsc-i-id1 { background-color: #fff !important; height: 24px !important; margin: 0 !important; width: 138px !important; }

.gsib_b { box-sizing: content-box; height: 28px; width: 48px; padding: 4px 4px 4px 0; }

.gsc-control-cse table.gsc-search-box .gscb_a { line-height: 30px !important; font-size: x-large !important; background: none; }

.gsst_a .gscb_a { color: #a1b9ed !important; cursor: pointer; } 

.gsc-search-button { margin-left: 2px; }

@media only screen and (max-width: 749px) { header #h-inner #h-sub-nav ul li.p-search .g_search { padding: 5%; } }
/* ---------------------- */

@media only screen and (max-width: 749px) { .gsc-control-cse table.gsc-search-box #gsc-i-id1 { width: 70vw !important; } }

.gsc-control-cse table.gsc-search-box #gsc-i-id1::-webkit-input-placeholder { font-family: "Noto Sans JP" !important; font-size: 13px; color: #1bcd98; font-weight: 600; }

.gsc-control-cse table.gsc-search-box #gsc-i-id1:-ms-input-placeholder { font-family: "Noto Sans JP" !important; font-size: 13px; color: #1bcd98; font-weight: 600; }

.gsc-control-cse table.gsc-search-box #gsc-i-id1::-ms-input-placeholder { font-family: "Noto Sans JP" !important; font-size: 13px; color: #1bcd98; font-weight: 600; }

.gsc-control-cse table.gsc-search-box #gsc-i-id1::placeholder { font-family: "Noto Sans JP" !important; font-size: 13px; color: #1bcd98; font-weight: 600; }

.gsc-control-cse table.gsc-search-box .gsst_b { padding: 0 !important; }

.gsc-control-cse table.gsc-search-box .gsc-search-button-v2 { display: block !important; margin-left: 0 !important; padding: 0 18px 0 10px !important; height: 38px !important; border-top: 1px solid #1bcd98 !important; border-right: 1px solid #1bcd98 !important; border-bottom: 1px solid #1bcd98 !important; border-left: none !important; border-radius: 0 50px 50px 0 !important; background-color: #fff !important; outline: 0 !important; cursor: pointer; -webkit-transition: 0.3s ease; -o-transition: 0.3s ease; transition: 0.3s ease; }

.gsc-control-cse table.gsc-search-box .gsc-search-button-v2 svg { fill: #1BCD98 !important; -webkit-transform: scale(1.2); -ms-transform: scale(1.2); transform: scale(1.2); }

.gsc-control-cse table.gsc-search-box .gsc-results-wrapper-overlay { left: 0 !important; right: 0 !important; margin: auto !important; }

.gsc-control-cse table.gsc-search-box .gsc-search-box { margin-bottom: 0 !important; }

/* Types List */
.type-list { border: 1px solid #d5d5d5; border-radius: 1rem; background-color: #fff; overflow: hidden; }

.type-list .item { display: -webkit-box; display: -ms-flexbox; display: flex; }

@media only screen and (max-width: 749px) { .type-list .item { display: block; } }

.type-list .item:not(:last-child) { border-bottom: 1px solid #d5d5d5; }

.type-list .item__head { width: 30rem; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; gap: 1.5rem; padding: 4rem; }

@media only screen and (max-width: 749px) { .type-list .item__head { margin: 0 auto; padding: 4rem 0 2rem; } }

.type-list .item__head img { width: 20rem; height: auto; }

.type-list .item__name { font-size: 2rem; font-weight: 600; text-align: center; }

@media only screen and (max-width: 749px) { .type-list .item__name { font-size: 5.33333vw; } }

.type-list .item__data { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; display: -webkit-box; display: -ms-flexbox; display: flex; }

@media only screen and (max-width: 749px) { .type-list .item__data { display: block; } }

.type-list .item__col { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; border-left: 1px solid #d5d5d5; }

.type-list .item__label { padding: 1rem; text-align: center; background-color: #f5f5f5; border-bottom: 1px solid #d5d5d5; }

@media only screen and (max-width: 749px) { .type-list .item__label { border-top: 1px solid #d5d5d5; } }

.type-list .item__value { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; text-align: center; }

@media only screen and (max-width: 749px) { .type-list .item__value { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; padding: 10px 0; } }

.type-list .item__value strong { font-weight: 600; }

.type-list .item__value .price { font-size: 1.5em; font-weight: 600; }

@media only screen and (max-width: 749px) { .type-list .item__value p + p { padding-left: 10px; }
  .type-list .item__value .space { padding: 0 10px; } }

#cmn-arealist { position: relative; background: url(../images/mv-bg.jpg); border-top-left-radius: 70vw 14vw; border-top-right-radius: 70vw 14vw; margin: -160px -20vw 0; padding: 160px 20vw 100px; z-index: 2; overflow: hidden; }

@media only screen and (max-width: 749px) { #cmn-arealist { margin-top: -40px; padding-top: 80px; } }

#cmn-arealist .about-sec-ttl { margin-bottom: 60px; }

#cmn-arealist .list-area { position: relative; }

#cmn-arealist .list-area::after { content: url(../images/arealist-bg.png); position: absolute; top: -22.7rem; right: -32rem; z-index: -1; }

#cmn-arealist .list-area ul { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; gap: 2rem; }

@media only screen and (max-width: 749px) { #cmn-arealist .list-area ul { gap: 4vw; } }

#cmn-arealist .list-area ul li { width: calc(50% - 1rem); }

@media only screen and (max-width: 749px) { #cmn-arealist .list-area ul li { width: 100%; } }

#cmn-arealist .list-area ul li a { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; gap: 2.5rem; background-color: #fff; height: 100%; padding: 2.5rem; border-radius: 1rem; }

@media only screen and (max-width: 749px) { #cmn-arealist .list-area ul li a { padding: 2.66667vw; gap: 4vw; border-radius: 2.66667vw; } }

#cmn-arealist .list-area ul li a .thumb { width: 12rem; border-radius: 50%; overflow: hidden; }

@media only screen and (max-width: 749px) { #cmn-arealist .list-area ul li a .thumb { width: 24vw; } }

#cmn-arealist .list-area ul li a .thumb img { width: 100%; height: auto; aspect-ratio: 1 / 1; -o-object-fit: cover; object-fit: cover; }

#cmn-arealist .list-area ul li a .txt { width: calc(100% - 12rem); }

@media only screen and (max-width: 749px) { #cmn-arealist .list-area ul li a .txt { width: calc( 100% - 24vw); } }

#cmn-arealist .list-area ul li a .txt .area-name { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; margin-bottom: .25em; font-size: 2.4rem; font-weight: 700; line-height: 1; }

@media only screen and (max-width: 749px) { #cmn-arealist .list-area ul li a .txt .area-name { font-size: 4.8vw; } }

#cmn-arealist .list-area ul li a .txt .area-name::before { content: ''; display: inline-block; background-repeat: no-repeat; background-position: center; background-size: contain; width: .6em; height: 1em; margin-right: .25em; font-size: inherit; }

#cmn-arealist .list-area ul li.osaka a .thumb { border: 3px solid #EA6B63; }

#cmn-arealist .list-area ul li.osaka a .txt .area-name { color: #EA6B63; }

#cmn-arealist .list-area ul li.osaka a .txt .area-name::before { background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2215%22%20height%3D%2211%22%20viewBox%3D%220%200%2015%2011%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M1%205.5H14M14%205.5L9.5%2010M14%205.5L9.5%201%22%20stroke%3D%22%23EA6B63%22%20stroke-width%3D%2215%25%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E"); }

#cmn-arealist .list-area ul li.kyoto a .thumb { border: 3px solid #F2B311; }

#cmn-arealist .list-area ul li.kyoto a .txt .area-name { color: #F2B311; }

#cmn-arealist .list-area ul li.kyoto a .txt .area-name::before { background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2215%22%20height%3D%2211%22%20viewBox%3D%220%200%2015%2011%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M1%205.5H14M14%205.5L9.5%2010M14%205.5L9.5%201%22%20stroke%3D%22%23F2B311%22%20stroke-width%3D%2215%25%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E"); }

#cmn-arealist .list-area ul li.nara a .thumb { border: 3px solid #2AA5DA; }

#cmn-arealist .list-area ul li.nara a .txt .area-name { color: #2AA5DA; }

#cmn-arealist .list-area ul li.nara a .txt .area-name::before { background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2215%22%20height%3D%2211%22%20viewBox%3D%220%200%2015%2011%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M1%205.5H14M14%205.5L9.5%2010M14%205.5L9.5%201%22%20stroke%3D%22%232AA5DA%22%20stroke-width%3D%2215%25%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E"); }

#cmn-arealist .list-area ul li.kobe a .thumb { border: 3px solid #2A5BDA; }

#cmn-arealist .list-area ul li.kobe a .txt .area-name { color: #2A5BDA; }

#cmn-arealist .list-area ul li.kobe a .txt .area-name::before { background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2215%22%20height%3D%2211%22%20viewBox%3D%220%200%2015%2011%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M1%205.5H14M14%205.5L9.5%2010M14%205.5L9.5%201%22%20stroke%3D%22%232A5BDA%22%20stroke-width%3D%2215%25%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E"); }

#cmn-arealist .list-area ul li.wakayama a .thumb { border: 3px solid #6FC700; }

#cmn-arealist .list-area ul li.wakayama a .txt .area-name { color: #6FC700; }

#cmn-arealist .list-area ul li.wakayama a .txt .area-name::before { background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2215%22%20height%3D%2211%22%20viewBox%3D%220%200%2015%2011%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M1%205.5H14M14%205.5L9.5%2010M14%205.5L9.5%201%22%20stroke%3D%22%236FC700%22%20stroke-width%3D%2215%25%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E"); }

#cmn-arealist .list-area ul li.shiga a .thumb { border: 3px solid #DC678A; }

#cmn-arealist .list-area ul li.shiga a .txt .area-name { color: #DC678A; }

#cmn-arealist .list-area ul li.shiga a .txt .area-name::before { background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2215%22%20height%3D%2211%22%20viewBox%3D%220%200%2015%2011%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M1%205.5H14M14%205.5L9.5%2010M14%205.5L9.5%201%22%20stroke%3D%22%23DC678A%22%20stroke-width%3D%2215%25%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E"); }

.list-recommend { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; gap: 2.5rem; }

@media only screen and (max-width: 749px) { .list-recommend { gap: 2.66667vw; } }

.list-recommend li { width: calc( (100% - 5rem) / 3); }

@media only screen and (max-width: 749px) { .list-recommend li { width: calc( ( 100% - 2.66667vw ) / 2); } }

.list-recommend li a { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-align: center; -ms-flex-align: center; align-items: center; background-color: #fff; width: 100%; height: 100%; padding: 2.5rem 1.5rem 0; border: 1px solid #E4E1D8; border-radius: 1rem; }

@media only screen and (max-width: 749px) { .list-recommend li a { gap: 2.66667vw; padding: 4vw 2.66667vw 0; } }

.list-recommend li a .pic { width: 100%; overflow: hidden; }

.list-recommend li a .pic img { width: 100%; -o-object-fit: contain; object-fit: contain; aspect-ratio: 300 / 225; -webkit-transition: -webkit-transform .3s ease-in; transition: -webkit-transform .3s ease-in; -o-transition: transform .3s ease-in; transition: transform .3s ease-in; transition: transform .3s ease-in, -webkit-transform .3s ease-in; }

.list-recommend li a .txt { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; min-height: 4.5em; padding: 1rem 0 1rem; font-weight: 600; line-height: 1.4375; text-align: center; }

@media only screen and (max-width: 749px) { .list-recommend li a .txt { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; height: auto; min-height: 3em; padding: 1.33333vw 0 4vw; } }

.list-recommend li a:hover .pic img { -webkit-transform: scale(1.1); -ms-transform: scale(1.1); transform: scale(1.1); }

#arrow-dots { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; gap: 1rem; height: 7.5rem; }

@media only screen and (max-width: 749px) { #arrow-dots { gap: 2.66667vw; height: 18.66667vw; } }

#arrow-dots .slick-arrow { position: relative; background-color: #fff; width: 4rem; height: 4rem; padding: 0; border: 2px solid #C8D3D0; -webkit-box-sizing: border-box; box-sizing: border-box; border-radius: 50%; outline: none; -webkit-appearance: none; -moz-appearance: none; appearance: none; cursor: pointer; overflow: hidden; text-indent: -9999rem; }

@media only screen and (max-width: 749px) { #arrow-dots .slick-arrow { width: 10.66667vw; height: 10.66667vw; } }

#arrow-dots .slick-arrow::before { content: ''; background-color: #6E998D; -webkit-mask: url(../images/ico-arrow-right.svg); mask: url(../images/ico-arrow-right.svg); -webkit-mask-size: cover; mask-size: cover; display: inline-block; position: absolute; top: 50%; left: 50%; width: 8px; height: 14px; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }

@media only screen and (max-width: 749px) { #arrow-dots .slick-arrow::before { width: 2.13333vw; height: 3.73333vw; } }

#arrow-dots .slick-arrow.slick-prev { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; }

#arrow-dots .slick-arrow.slick-prev::before { -webkit-transform: translate(-50%, -50%) scale(-1, 1); -ms-transform: translate(-50%, -50%) scale(-1, 1); transform: translate(-50%, -50%) scale(-1, 1); }

#arrow-dots .slick-arrow.slick-next { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; }

#arrow-dots .slick-dots { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; display: -webkit-box; display: -ms-flexbox; display: flex; gap: 1rem; height: 100%; }

#arrow-dots .slick-dots li { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; height: 100%; }

#arrow-dots .slick-dots li button { background-color: #fff; width: 1.5rem; height: 1.5rem; padding: 0; border: 2px solid #6E998D; border-radius: 50%; outline: none; -webkit-appearance: none; -moz-appearance: none; appearance: none; cursor: pointer; overflow: hidden; text-indent: -9999rem; }

@media only screen and (max-width: 749px) { #arrow-dots .slick-dots li button { width: 4vw; height: 4vw; } }

#arrow-dots .slick-dots li.slick-active button { background-color: #6E998D; }

#arrow-dots #btn-pause { display: none; -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; position: relative; background-color: #fff; width: 4rem; height: 4rem; padding: 0; border: 2px solid #C8D3D0; -webkit-box-sizing: border-box; box-sizing: border-box; border-radius: 50%; outline: none; -webkit-appearance: none; -moz-appearance: none; appearance: none; cursor: pointer; overflow: hidden; text-indent: -9999rem; }

@media only screen and (max-width: 749px) { #arrow-dots #btn-pause { width: 10.66667vw; height: 10.66667vw; } }

#arrow-dots #btn-pause::before { content: ''; display: inline-block; position: absolute; top: 50%; left: 50%; width: 8px; height: 12px; border-left: 2px solid #6E998D; border-right: 2px solid #6E998D; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }

@media only screen and (max-width: 749px) { #arrow-dots #btn-pause::before { width: 2.13333vw; height: 3.2vw; border-left: 0.53333vw solid #6E998D; border-right: 0.53333vw solid #6E998D; } }

#arrow-dots .slick-prev + #btn-pause { display: inline-block; }

#home-types .about-elm, main.about .about-elm { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; gap: 1em; }

#home-types .about-elm + .about-elm, main.about .about-elm + .about-elm { border-top: 1px solid #ccc; margin-top: 2.5em; padding-top: 2em; }

#home-types .about-elm h3, main.about .about-elm h3 { font-size: 2.4rem; font-weight: bold; }

@media only screen and (max-width: 749px) { #home-types .about-elm h3, main.about .about-elm h3 { font-size: 5.86667vw; } }

#home-types .about-elm p, main.about .about-elm p { line-height: 1.8; }

#home-types .about-elm ul, #home-types .about-elm ol, main.about .about-elm ul, main.about .about-elm ol { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; gap: 0.5em; }

#home-types .about-elm ul, main.about .about-elm ul { list-style-type: disc; padding-left: 1.5em; }

#home-types .about-elm ol, main.about .about-elm ol { list-style: decimal; padding-left: 1.5em; }

#home-types .about-elm p > a, #home-types .about-elm ul li > a, #home-types .about-elm ol li > a, main.about .about-elm p > a, main.about .about-elm ul li > a, main.about .about-elm ol li > a { color: #1bcd98; text-decoration: underline; }

#home-types .about-elm dl + dl, main.about .about-elm dl + dl { margin-top: 1em; }

#home-types .about-elm dl dt, main.about .about-elm dl dt { margin-bottom: .5em; font-size: 1.8rem; font-weight: 700; }

@media only screen and (max-width: 749px) { #home-types .about-elm dl dt, main.about .about-elm dl dt { font-size: 4.26667vw; } }

#home-types .about-elm .exlink, main.about .about-elm .exlink { background-image: url("../images/ico-extlink.png"); background-repeat: no-repeat; background-position: right bottom .2em; background-size: auto .9em; padding-right: 1.7em; color: #1BCD98; text-decoration: underline; word-break: break-all; }

#home-types .about-elm .pdf, main.about .about-elm .pdf { background-image: url("../images/ico-pdf.png"); background-repeat: no-repeat; background-position: right bottom .2em; background-size: auto 1.2em; margin-right: .25em; padding-right: 1.2em; color: #1BCD98; text-decoration: underline; word-break: break-all; }

.cmn-caution { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; gap: 1em; margin-top: 4rem; padding: 4rem; background-color: #f5f5f5; border: 1px solid #d5d5d5; border-radius: 1rem; }

@media only screen and (max-width: 749px) { .cmn-caution { margin-top: 3rem; } }

.cmn-caution .ttl { width: 100%; margin-bottom: .5em; font-size: 2.4rem; text-align: center; font-weight: 600; }

@media only screen and (max-width: 749px) { .cmn-caution .ttl { font-size: 5.33333vw; } }

.cmn-notes { margin-top: 4rem; padding: 4rem; border: 1px solid #d5d5d5; border-radius: 1rem; }

.lang-navmenu { position: relative; display: inline-block; width: auto; font-size: 1.5rem; }

.lang-navmenu p { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; padding: .5em 0; font-size: inherit; font-weight: 600; color: #fff; line-height: 1; }

.lang-navmenu p::after { content: ""; display: inline-block; background-color: #fff; -webkit-mask: url(../images/ico-down.svg) no-repeat center/contain; mask: url(../images/ico-down.svg) no-repeat center/contain; width: 1em; height: 1em; margin-left: .75em; -webkit-transform: translateY(0.1em); -ms-transform: translateY(0.1em); transform: translateY(0.1em); pointer-events: none; }

.lang-navmenu ul { position: absolute; top: calc(100% + 5px); left: 0; display: inline-block; width: 100%; }

.lang-navmenu ul li { display: -webkit-box; display: -ms-flexbox; display: flex; }

.lang-navmenu ul li a { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; background-color: #fff; padding: .5em .5em; line-height: 1; }

#mv-slider, #slider { opacity: 0; -webkit-transition: opacity .3s ease-in; -o-transition: opacity .3s ease-in; transition: opacity .3s ease-in; }

#mv-slider.slick-initialized, #slider.slick-initialized { opacity: 1; }

@media only screen and (max-width: 749px) { #ckDialog .ckInner .btn { display: block; float: none; width: 200px; margin: 0 auto; } }

#ckDialog .ckInner .btn a { height: auto; border-radius: 0; }

#ckDialog .ckInner .btn a::after { display: none; }

/*----------------------------------------------------- トップページ -----------------------------------------------------*/
#mv { position: relative; background-image: url("../images/mv-bg.jpg"); background-repeat: repeat; min-height: 61.25vw; padding-bottom: 31.25vw; z-index: 1; }

@media screen and (max-width: 1120px) { #mv { padding-bottom: 462px; } }

@media only screen and (max-width: 749px) { #mv { padding-bottom: 91.25vw; min-height: 100vw; } }

#mv .pic { position: absolute; top: 0; right: 0; width: calc(100% - 336px); z-index: -1; }

@media only screen and (max-width: 749px) { #mv .pic { width: 106.66667%; left: -3.33333%; right: auto; } }

#mv .pic img { width: 100%; height: auto; -webkit-mask-image: url("../images/mv-mask.svg"); mask-image: url("../images/mv-mask.svg"); -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: 0 0; mask-position: 0 0; -webkit-mask-size: 100% auto; mask-size: 100% auto; }

#mv .mv-inner { position: relative; width: 100%; min-height: calc( (100vw - 336px) * 0.5625); display: -webkit-box; display: -ms-flexbox; display: flex; z-index: 2; padding: 0 5% 0 10.625%; }

@media screen and (max-width: 1120px) { #mv .mv-inner { min-height: calc( (1120px - 336px) * 0.5625); padding: 0 56px 0 119px; } }

@media only screen and (max-width: 749px) { #mv .mv-inner { min-height: 0; padding: 0 5.33333vw 0 5.33333vw; } }

#mv #mv-slider .bdy { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; width: calc( 100% - 37.5%); height: 40vw; margin-bottom: 80px; }

@media screen and (max-width: 1120px) { #mv #mv-slider .bdy { width: calc( 1120px - 420px); height: 448px; } }

@media only screen and (max-width: 749px) { #mv #mv-slider .bdy { width: 100%; margin-bottom: 0; } }

#mv #mv-slider .bdy .area-name { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; margin-bottom: 10px; }

@media only screen and (max-width: 749px) { #mv #mv-slider .bdy .area-name { height: 26.66667vw; } }

#mv #mv-slider .bdy .area-name > img.kobehimeji.en { margin-bottom: -20px; }

@media only screen and (max-width: 749px) { #mv #mv-slider .bdy .area-name > img.kobehimeji.en { margin-bottom: -2.66667vw; } }

#mv #mv-slider .bdy .area-name img { max-width: 100%; }

#mv #mv-slider .bdy .area-name img.osaka.en { width: 32.25vw; }

@media screen and (max-width: 1120px) { #mv #mv-slider .bdy .area-name img.osaka.en { width: 361.2px; } }

@media only screen and (max-width: 749px) { #mv #mv-slider .bdy .area-name img.osaka.en { width: 57.06667vw; } }

#mv #mv-slider .bdy .area-name img.osaka.zh-CN { width: 14.125vw; }

@media screen and (max-width: 1120px) { #mv #mv-slider .bdy .area-name img.osaka.zh-CN { width: 158.2px; } }

@media only screen and (max-width: 749px) { #mv #mv-slider .bdy .area-name img.osaka.zh-CN { width: 25.06667vw; } }

#mv #mv-slider .bdy .area-name img.osaka.zh-TW { width: 14.125vw; }

@media screen and (max-width: 1120px) { #mv #mv-slider .bdy .area-name img.osaka.zh-TW { width: 158.2px; } }

@media only screen and (max-width: 749px) { #mv #mv-slider .bdy .area-name img.osaka.zh-TW { width: 25.06667vw; } }

#mv #mv-slider .bdy .area-name img.osaka.ko { width: 19.4375vw; }

@media screen and (max-width: 1120px) { #mv #mv-slider .bdy .area-name img.osaka.ko { width: 158.2px; } }

@media only screen and (max-width: 749px) { #mv #mv-slider .bdy .area-name img.osaka.ko { width: 34.4vw; } }

#mv #mv-slider .bdy .area-name img.osaka.th { width: 21.25vw; }

@media screen and (max-width: 1120px) { #mv #mv-slider .bdy .area-name img.osaka.th { width: 158.2px; } }

@media only screen and (max-width: 749px) { #mv #mv-slider .bdy .area-name img.osaka.th { width: 37.6vw; } }

#mv #mv-slider .bdy .area-name img.kyoto.en { width: 30.875vw; }

@media screen and (max-width: 1120px) { #mv #mv-slider .bdy .area-name img.kyoto.en { width: 345.8px; } }

@media only screen and (max-width: 749px) { #mv #mv-slider .bdy .area-name img.kyoto.en { width: 54.66667vw; } }

#mv #mv-slider .bdy .area-name img.kyoto.zh-CN { width: 14.125vw; }

@media screen and (max-width: 1120px) { #mv #mv-slider .bdy .area-name img.kyoto.zh-CN { width: 158.2px; } }

@media only screen and (max-width: 749px) { #mv #mv-slider .bdy .area-name img.kyoto.zh-CN { width: 25.06667vw; } }

#mv #mv-slider .bdy .area-name img.kyoto.zh-TW { width: 14.125vw; }

@media screen and (max-width: 1120px) { #mv #mv-slider .bdy .area-name img.kyoto.zh-TW { width: 158.2px; } }

@media only screen and (max-width: 749px) { #mv #mv-slider .bdy .area-name img.kyoto.zh-TW { width: 25.06667vw; } }

#mv #mv-slider .bdy .area-name img.kyoto.ko { width: 12.875vw; }

@media screen and (max-width: 1120px) { #mv #mv-slider .bdy .area-name img.kyoto.ko { width: 144.2px; } }

@media only screen and (max-width: 749px) { #mv #mv-slider .bdy .area-name img.kyoto.ko { width: 22.66667vw; } }

#mv #mv-slider .bdy .area-name img.kyoto.th { width: 21.25vw; }

@media screen and (max-width: 1120px) { #mv #mv-slider .bdy .area-name img.kyoto.th { width: 238px; } }

@media only screen and (max-width: 749px) { #mv #mv-slider .bdy .area-name img.kyoto.th { width: 37.6vw; } }

#mv #mv-slider .bdy .area-name img.nara.en { width: 25.125vw; }

@media screen and (max-width: 1120px) { #mv #mv-slider .bdy .area-name img.nara.en { width: 281.4px; } }

@media only screen and (max-width: 749px) { #mv #mv-slider .bdy .area-name img.nara.en { width: 44.53333vw; } }

#mv #mv-slider .bdy .area-name img.nara.zh-CN { width: 14.1875vw; }

@media screen and (max-width: 1120px) { #mv #mv-slider .bdy .area-name img.nara.zh-CN { width: 158.9px; } }

@media only screen and (max-width: 749px) { #mv #mv-slider .bdy .area-name img.nara.zh-CN { width: 25.06667vw; } }

#mv #mv-slider .bdy .area-name img.nara.zh-TW { width: 14.1875vw; }

@media screen and (max-width: 1120px) { #mv #mv-slider .bdy .area-name img.nara.zh-TW { width: 158.9px; } }

@media only screen and (max-width: 749px) { #mv #mv-slider .bdy .area-name img.nara.zh-TW { width: 25.06667vw; } }

#mv #mv-slider .bdy .area-name img.nara.ko { width: 12.8125vw; }

@media screen and (max-width: 1120px) { #mv #mv-slider .bdy .area-name img.nara.ko { width: 143.5px; } }

@media only screen and (max-width: 749px) { #mv #mv-slider .bdy .area-name img.nara.ko { width: 22.66667vw; } }

#mv #mv-slider .bdy .area-name img.nara.th { width: 13.75vw; }

@media screen and (max-width: 1120px) { #mv #mv-slider .bdy .area-name img.nara.th { width: 154px; } }

@media only screen and (max-width: 749px) { #mv #mv-slider .bdy .area-name img.nara.th { width: 24.26667vw; } }

#mv #mv-slider .bdy .area-name img.kobehimeji.en { width: 27.6875vw; }

@media screen and (max-width: 1120px) { #mv #mv-slider .bdy .area-name img.kobehimeji.en { width: 310.1px; } }

@media only screen and (max-width: 749px) { #mv #mv-slider .bdy .area-name img.kobehimeji.en { width: 49.06667vw; } }

#mv #mv-slider .bdy .area-name img.kobehimeji.zh-CN { width: 32vw; }

@media screen and (max-width: 1120px) { #mv #mv-slider .bdy .area-name img.kobehimeji.zh-CN { width: 358.4px; } }

@media only screen and (max-width: 749px) { #mv #mv-slider .bdy .area-name img.kobehimeji.zh-CN { width: 56.53333vw; } }

#mv #mv-slider .bdy .area-name img.kobehimeji.zh-TW { width: 32.375vw; }

@media screen and (max-width: 1120px) { #mv #mv-slider .bdy .area-name img.kobehimeji.zh-TW { width: 362.6px; } }

@media only screen and (max-width: 749px) { #mv #mv-slider .bdy .area-name img.kobehimeji.zh-TW { width: 57.06667vw; } }

#mv #mv-slider .bdy .area-name img.kobehimeji.ko { width: 35.9375vw; }

@media screen and (max-width: 1120px) { #mv #mv-slider .bdy .area-name img.kobehimeji.ko { width: 402.5px; } }

@media only screen and (max-width: 749px) { #mv #mv-slider .bdy .area-name img.kobehimeji.ko { width: 63.46667vw; } }

#mv #mv-slider .bdy .area-name img.kobehimeji.th { width: 33.1875vw; }

@media screen and (max-width: 1120px) { #mv #mv-slider .bdy .area-name img.kobehimeji.th { width: 371.7px; } }

@media only screen and (max-width: 749px) { #mv #mv-slider .bdy .area-name img.kobehimeji.th { width: 58.66667vw; } }

#mv #mv-slider .bdy .area-name img.wakayama.en { width: 46.4375vw; }

@media screen and (max-width: 1120px) { #mv #mv-slider .bdy .area-name img.wakayama.en { width: 520.1px; } }

@media only screen and (max-width: 749px) { #mv #mv-slider .bdy .area-name img.wakayama.en { width: 64vw; } }

#mv #mv-slider .bdy .area-name img.wakayama.zh-CN { width: 20.75vw; }

@media screen and (max-width: 1120px) { #mv #mv-slider .bdy .area-name img.wakayama.zh-CN { width: 232.4px; } }

@media only screen and (max-width: 749px) { #mv #mv-slider .bdy .area-name img.wakayama.zh-CN { width: 36.8vw; } }

#mv #mv-slider .bdy .area-name img.wakayama.zh-TW { width: 20.8125vw; }

@media screen and (max-width: 1120px) { #mv #mv-slider .bdy .area-name img.wakayama.zh-TW { width: 233.1px; } }

@media only screen and (max-width: 749px) { #mv #mv-slider .bdy .area-name img.wakayama.zh-TW { width: 36.8vw; } }

#mv #mv-slider .bdy .area-name img.wakayama.ko { width: 26.0625vw; }

@media screen and (max-width: 1120px) { #mv #mv-slider .bdy .area-name img.wakayama.ko { width: 291.9px; } }

@media only screen and (max-width: 749px) { #mv #mv-slider .bdy .area-name img.wakayama.ko { width: 46.13333vw; } }

#mv #mv-slider .bdy .area-name img.wakayama.th { width: 28.9375vw; }

@media screen and (max-width: 1120px) { #mv #mv-slider .bdy .area-name img.wakayama.th { width: 324.1px; } }

@media only screen and (max-width: 749px) { #mv #mv-slider .bdy .area-name img.wakayama.th { width: 51.2vw; } }

#mv #mv-slider .bdy .area-name img.shiga.en { width: 28.75vw; }

@media screen and (max-width: 1120px) { #mv #mv-slider .bdy .area-name img.shiga.en { width: 322px; } }

@media only screen and (max-width: 749px) { #mv #mv-slider .bdy .area-name img.shiga.en { width: 50.66667vw; } }

#mv #mv-slider .bdy .area-name img.shiga.zh-CN { width: 13.8125vw; }

@media screen and (max-width: 1120px) { #mv #mv-slider .bdy .area-name img.shiga.zh-CN { width: 154.7px; } }

@media only screen and (max-width: 749px) { #mv #mv-slider .bdy .area-name img.shiga.zh-CN { width: 24.53333vw; } }

#mv #mv-slider .bdy .area-name img.shiga.zh-TW { width: 14.0625vw; }

@media screen and (max-width: 1120px) { #mv #mv-slider .bdy .area-name img.shiga.zh-TW { width: 157.5px; } }

@media only screen and (max-width: 749px) { #mv #mv-slider .bdy .area-name img.shiga.zh-TW { width: 24.8vw; } }

#mv #mv-slider .bdy .area-name img.shiga.ko { width: 13.0625vw; }

@media screen and (max-width: 1120px) { #mv #mv-slider .bdy .area-name img.shiga.ko { width: 146.3px; } }

@media only screen and (max-width: 749px) { #mv #mv-slider .bdy .area-name img.shiga.ko { width: 22.93333vw; } }

#mv #mv-slider .bdy .area-name img.shiga.th { width: 10.9375vw; }

@media screen and (max-width: 1120px) { #mv #mv-slider .bdy .area-name img.shiga.th { width: 122.5px; } }

@media only screen and (max-width: 749px) { #mv #mv-slider .bdy .area-name img.shiga.th { width: 19.2vw; } }

#mv #mv-slider .bdy .area-lead { width: 400px; margin-bottom: 1em; font-size: 20px; }

@media only screen and (max-width: 749px) { #mv #mv-slider .bdy .area-lead { width: 100%; font-size: 4.26667vw; } }

#mv #mv-slider .bdy .area-seemore.btn a { width: 320px; height: 52px; font-size: 20px; }

@media only screen and (max-width: 749px) { #mv #mv-slider .bdy .area-seemore.btn a { width: 69.33333vw; } }

#mv #mv-slider .osaka .mv-inner .bdy .area-seemore.btn a { background-color: #EA6B63; }

#mv #mv-slider .kyoto .mv-inner .bdy .area-seemore.btn a { background-color: #F2B311; }

#mv #mv-slider .nara .mv-inner .bdy .area-seemore.btn a { background-color: #2AA5DA; }

#mv #mv-slider .kobehimeji .mv-inner .bdy .area-seemore.btn a { background-color: #2A5BDA; }

#mv #mv-slider .wakayama .mv-inner .bdy .area-seemore.btn a { background-color: #6FC700; }

#mv #mv-slider .shiga .mv-inner .bdy .area-seemore.btn a { background-color: #DC678A; }

#mv .area-list { position: absolute; top: 42.5vw; left: 10.625%; display: -webkit-box; display: -ms-flexbox; display: flex; gap: 0; }

@media screen and (max-width: 1120px) { #mv .area-list { top: 47.6rem; left: 11.9rem; } }

@media only screen and (max-width: 749px) { #mv .area-list { gap: 0.26667vw; left: 4vw; } }

#mv .area-list li { width: 88px; }

@media only screen and (max-width: 749px) { #mv .area-list li { width: 14.93333vw; } }

#mv .area-list li a figure { position: relative; width: 100%; padding: 4px; }

@media only screen and (max-width: 749px) { #mv .area-list li a figure { padding: 1.06667vw; } }

#mv .area-list li a figure::after { content: ''; position: absolute; top: 0; left: 0; display: block; width: 88px; height: 88px; border: 1px solid transparent; border-radius: 50%; overflow: hidden; }

@media only screen and (max-width: 749px) { #mv .area-list li a figure::after { top: 0.26667vw; left: 0.26667vw; width: 14.4vw; height: 14.4vw; } }

#mv .area-list li a figure span { position: relative; display: inline-block; width: 80px; height: 80px; border: 3px solid transparent; border-radius: 50%; overflow: hidden; }

@media only screen and (max-width: 749px) { #mv .area-list li a figure span { width: 12.8vw; height: 12.8vw; border: 0.53333vw solid transparent; } }

#mv .area-list li a figure span img { width: auto; height: 100%; -o-object-fit: cover; object-fit: cover; -webkit-box-sizing: border-box; box-sizing: border-box; -webkit-transition: -webkit-transform .3s ease-in; transition: -webkit-transform .3s ease-in; -o-transition: transform .3s ease-in; transition: transform .3s ease-in; transition: transform .3s ease-in, -webkit-transform .3s ease-in; }

#mv .area-list li a figure span::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: transparent; }

#mv .area-list li a figure figcaption { font-size: 12px; font-weight: 600; color: #EA6B63; text-align: center; line-height: 1.4; word-break: break-all; }

#mv .area-list li a:hover figure span img, #mv .area-list li.act a figure span img { -webkit-transform: scale(1.1); -ms-transform: scale(1.1); transform: scale(1.1); }

#mv .area-list li.osaka a figure span { border-color: #EA6B63; }

#mv .area-list li.osaka a figure figcaption { color: #EA6B63; }

#mv .area-list li.osaka.act a figure::after, #mv .area-list li.osaka a:hover figure::after { border-color: #EA6B63; }

#mv .area-list li.osaka.act a figure span, #mv .area-list li.osaka a:hover figure span { border-color: #EA6B63; }

#mv .area-list li.osaka.act a figure span::after, #mv .area-list li.osaka a:hover figure span::after { background-color: rgba(234, 107, 99, 0.35); }

#mv .area-list li.kyoto a figure span { border-color: #F2B311; }

#mv .area-list li.kyoto a figure figcaption { color: #F2B311; }

#mv .area-list li.kyoto.act a figure::after, #mv .area-list li.kyoto a:hover figure::after { border-color: #F2B311; }

#mv .area-list li.kyoto.act a figure span, #mv .area-list li.kyoto a:hover figure span { border-color: #F2B311; }

#mv .area-list li.kyoto.act a figure span::after, #mv .area-list li.kyoto a:hover figure span::after { background-color: rgba(242, 179, 17, 0.35); }

#mv .area-list li.nara a figure span { border-color: #2AA5DA; }

#mv .area-list li.nara a figure figcaption { color: #2AA5DA; }

#mv .area-list li.nara.act a figure::after, #mv .area-list li.nara a:hover figure::after { border-color: #2AA5DA; }

#mv .area-list li.nara.act a figure span, #mv .area-list li.nara a:hover figure span { border-color: #2AA5DA; }

#mv .area-list li.nara.act a figure span::after, #mv .area-list li.nara a:hover figure span::after { background-color: rgba(42, 165, 218, 0.35); }

#mv .area-list li.kobe a figure span { border-color: #2A5BDA; }

#mv .area-list li.kobe a figure figcaption { color: #2A5BDA; }

#mv .area-list li.kobe.act a figure::after, #mv .area-list li.kobe a:hover figure::after { border-color: #2A5BDA; }

#mv .area-list li.kobe.act a figure span, #mv .area-list li.kobe a:hover figure span { border-color: #2A5BDA; }

#mv .area-list li.kobe.act a figure span::after, #mv .area-list li.kobe a:hover figure span::after { background-color: rgba(42, 91, 218, 0.35); }

#mv .area-list li.wakayama a figure span { border-color: #6FC700; }

#mv .area-list li.wakayama a figure figcaption { color: #6FC700; }

#mv .area-list li.wakayama.act a figure::after, #mv .area-list li.wakayama a:hover figure::after { border-color: #6FC700; }

#mv .area-list li.wakayama.act a figure span, #mv .area-list li.wakayama a:hover figure span { border-color: #6FC700; }

#mv .area-list li.wakayama.act a figure span::after, #mv .area-list li.wakayama a:hover figure span::after { background-color: rgba(111, 199, 0, 0.35); }

#mv .area-list li.shiga a figure span { border-color: #DC678A; }

#mv .area-list li.shiga a figure figcaption { color: #DC678A; }

#mv .area-list li.shiga.act a figure::after, #mv .area-list li.shiga a:hover figure::after { border-color: #DC678A; }

#mv .area-list li.shiga.act a figure span, #mv .area-list li.shiga a:hover figure span { border-color: #DC678A; }

#mv .area-list li.shiga.act a figure span::after, #mv .area-list li.shiga a:hover figure span::after { background-color: rgba(220, 103, 138, 0.35); }

#mv .map { position: absolute; top: 21.875vw; right: 5%; width: 37.5vw; z-index: 2; }

@media screen and (max-width: 1120px) { #mv .map { top: 245px; right: 56px; width: 420px; } }

@media only screen and (max-width: 749px) { #mv .map { top: 16vw; right: 2.13333vw; width: 38.66667vw; z-index: 2; } }

#mv .map img { width: 100%; height: auto; }

body.ipad #hero #hero-slider li { background-size: cover; background-attachment: scroll; }

@-webkit-keyframes slideProgressBar { 0% { -webkit-transform: scaleX(0); transform: scaleX(0); }
  100% { -webkit-transform: scaleX(100%); transform: scaleX(100%); } }

@keyframes slideProgressBar { 0% { -webkit-transform: scaleX(0); transform: scaleX(0); }
  100% { -webkit-transform: scaleX(100%); transform: scaleX(100%); } }

/*----------------------------------------------------- HOME -----------------------------------------------------*/
#home-intro { position: relative; background-image: url("../images/bg-arc-top-white.svg"), url("../images/bg-arc-btm-green.svg"); background-repeat: no-repeat, no-repeat; background-position: center 7.5vw, center bottom; background-size: 100% auto, 100% auto; min-height: 22.5vw; margin-top: -22.25vw; padding-bottom: 13.875vw; z-index: 2; }

@media screen and (max-width: 1120px) { #home-intro { margin-top: -25.06rem; background-position: center 8.4rem, center bottom; } }

@media only screen and (max-width: 749px) { #home-intro { margin-top: -38.75vw; background-position: center 23.75vw, center bottom; } }

@media only screen and (max-width: 749px) { #home-intro .cmn-inner { margin-bottom: -12vw; } }

#home-intro .sec-hd { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-align: center; -ms-flex-align: center; align-items: center; margin-bottom: 4em; color: #1BCD98; line-height: 1; }

#home-intro .sec-hd sup { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; top: auto; margin-bottom: 1em; font-size: 3.0rem; font-weight: 700; }

@media only screen and (max-width: 749px) { #home-intro .sec-hd sup { font-size: 4.8vw; } }

#home-intro .sec-hd sup::before { content: ''; background-image: url("../images/ttl-hd-mark.svg"); background-repeat: no-repeat; background-position: center; background-size: cover; display: inline-block; width: 1.25em; height: 1em; margin-right: .25em; }

#home-intro .sec-hd sup::after { content: ''; background-image: url("../images/ttl-hd-mark.svg"); background-repeat: no-repeat; background-position: center; background-size: cover; display: inline-block; width: 1.25em; height: 1em; -webkit-transform: scale(-1, 1); -ms-transform: scale(-1, 1); transform: scale(-1, 1); margin-left: .25em; }

#home-intro .sec-hd strong { margin-bottom: .15em; font-size: 7.3rem; font-weight: 700; text-align: center; }

@media only screen and (max-width: 749px) { #home-intro .sec-hd strong { font-size: 11.2vw; } }

#home-intro .sec-hd small { font-size: 5.4rem; font-weight: 700; }

@media only screen and (max-width: 749px) { #home-intro .sec-hd small { font-size: 6.93333vw; } }

#home-intro .content-wrap { display: -webkit-box; display: -ms-flexbox; display: flex; }

@media only screen and (max-width: 749px) { #home-intro .content-wrap { -webkit-box-orient: vertical; -webkit-box-direction: reverse; -ms-flex-direction: column-reverse; flex-direction: column-reverse; } }

#home-intro .content-wrap .bdy { width: calc(100% - 48.8rem); padding: 0 4rem 0 0; }

@media only screen and (max-width: 749px) { #home-intro .content-wrap .bdy { width: 100%; padding: 0; } }

#home-intro .content-wrap .bdy p { margin-top: 1.5em; font-size: 1.8rem; }

#home-intro .content-wrap .bdy p strong { font-size: 2.4rem; font-weight: 800; }

@media only screen and (max-width: 749px) { #home-intro .content-wrap .bdy p strong { font-size: 4vw; } }

#home-intro .content-wrap .bdy p small { font-size: 1.6rem; }

@media only screen and (max-width: 749px) { #home-intro .content-wrap .bdy p small { font-size: 2.93333vw; } }

@media only screen and (max-width: 749px) { #home-intro .content-wrap .bdy .btn { width: 100%; } }

#home-intro .content-wrap .bdy .btn a { background-color: #F9B62B; width: 38rem; height: 6.4rem; }

@media only screen and (max-width: 749px) { #home-intro .content-wrap .bdy .btn a { width: 100%; padding-right: 2.5em; } }

#home-intro .content-wrap .pic { width: 48.8rem; }

@media only screen and (max-width: 749px) { #home-intro .content-wrap .pic { width: 100%; } }

#home-intro .content-expo { display: -ms-grid; display: grid; -ms-grid-columns: 1fr 32.0rem; grid-template-columns: 1fr 32.0rem; gap: 40px; margin-top: 5.0rem; }

@media only screen and (max-width: 749px) { #home-intro .content-expo { -ms-grid-columns: 100%; grid-template-columns: 100%; gap: 5.33333vw; } }

#home-types { margin-top: 8rem; }

#home-types .sec-hd { margin-bottom: 1.5em; font-size: 4.4rem; color: #1BCD98; text-align: center; line-height: 1.25; }

@media only screen and (max-width: 749px) { #home-types .sec-hd { font-size: 6.93333vw; } }

#home-types .logos { margin-top: 4rem; }

#home-types .logos ul { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; gap: 2.2rem; width: 100%; }

@media only screen and (max-width: 749px) { #home-types .logos ul { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; gap: 2.2rem; width: 100%; } }

@media only screen and (max-width: 749px) { #home-types .logos ul li { width: 100%; } }

#home-types .logos ul li a { display: block; border: 1px solid #D5D5D5; border-radius: 1rem; overflow: hidden; }

@media only screen and (max-width: 749px) { #home-types .logos ul li a { border-radius: 2.66667vw; }
  #home-types .logos ul li a img { width: 100%; height: auto; } }

#home-offers { background-image: url("../images/bg-arc-top-green.svg"); background-repeat: no-repeat; background-position: center top; background-size: 100% auto; margin-top: -40rem; margin-bottom: 15rem; padding-top: 14rem; }

@media only screen and (max-width: 749px) { #home-offers { margin-top: 13.33333vw; margin-bottom: 26.66667vw; padding-top: 13.33333vw; } }

@media only screen and (max-width: 1120px) { #home-offers .btn { margin-top: 10vw !important; } }

#home-offers .sec-hd { margin-bottom: 1.5em; font-size: 3.2rem; color: #1BCD98; text-align: center; line-height: 1.5; }

@media only screen and (max-width: 749px) { #home-offers .sec-hd { font-size: 6.93333vw; } }

#home-offers .sec-hd strong { font-weight: 600; }

#home-offers .content-wrap p { font-size: 1.8rem; }

#home-offers .content-wrap .btn { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; margin-top: 5rem; 
  position: relative; z-index: 10;
}

#home-offers .content-wrap .btn a { background-color: #F9B62B; width: 46rem; height: 8rem; }

@media only screen and (max-width: 749px) { #home-offers .content-wrap .btn a { width: 100%; padding-right: 2em; } }

/*----------------------------------------------------- ABOUT -----------------------------------------------------*/
#about-hd { background-image: url("../images/mv-bg.jpg"); background-repeat: repeat; }

#about-hd .ttl { padding: 7rem 0 30rem; font-size: 5.6rem; font-weight: 700; color: #1BCD98; text-align: center; }

@media only screen and (max-width: 749px) { #about-hd .ttl { padding: 0 0 15rem; font-size: 9.6vw; line-height: 1.25; } }

#about-hd .hd-inner { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; gap: 6vw; width: 100%; max-width: 115rem; margin: auto; padding: 0 20px; z-index: 3; }

@media screen and (max-width: 1120px) { #about-hd .hd-inner { width: 112rem; } }

@media only screen and (max-width: 749px) { #about-hd .hd-inner { -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; width: 100%; max-width: none; gap: 3vw; } }

#about-hd .hd-inner .card { width: 50%; }

#about-hd .hd-inner .pic { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; text-align: right; padding-right: 45px; }

@media only screen and (max-width: 749px) { #about-hd .hd-inner .pic { padding-right: 10px; } }

#about-toc { position: relative; background: #fff; width: 140vw; margin: -21rem -20vw 0; padding: 14rem 0 10rem; border-top-left-radius: 70vw 14vw; border-top-right-radius: 70vw 14vw; z-index: 2; }

@media screen and (max-width: 1120px) { #about-toc { width: 156.8rem; margin: -21rem -22.4rem 0; } }

@media only screen and (max-width: 749px) { #about-toc { width: 140vw; margin: -32vw -20vw 0; padding: 20vw 0 13.33333vw; } }

#about-toc .cmn-inner { position: relative; }

#about-toc .ttl { position: absolute; top: -0.9em; left: 50%; background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(0%, #fff)); background: -webkit-linear-gradient(transparent 0%, #fff 0%); background: -o-linear-gradient(transparent 0%, #fff 0%); background: linear-gradient(transparent 0%, #fff 0%); padding: 0 3rem; font-size: 2.4rem; font-weight: 700; text-align: center; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); }

@media only screen and (max-width: 749px) { #about-toc .ttl { white-space: nowrap; } }

#about-toc .toc-list { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; gap: 15px; border: 1px solid #d5d5d5; border-radius: 10px; padding: 35px; }

@media only screen and (max-width: 749px) { #about-toc .toc-list { display: block; padding: 40px 20px; margin-top: -3vw ;} }

#about-toc .toc-list li { width: calc(50% - 7.5px); }

@media only screen and (max-width: 749px) { #about-toc .toc-list li { width: 100%; } }

#about-toc .toc-list li a { position: relative; display: block; padding-left: 1.6em; color: #1bcd98; -webkit-transition: opacity .3s ease-in; -o-transition: opacity .3s ease-in; transition: opacity .3s ease-in; }

@media only screen and (max-width: 749px) { #about-toc .toc-list li a { font-size: 2.93333vw; } }

#about-toc .toc-list li a::before { content: ""; position: absolute; top: 0.4em; left: 0; background-color: #1BCD98; -webkit-mask: url(../images/ico-down.svg) no-repeat center/contain; mask: url(../images/ico-down.svg) no-repeat center/contain; width: 1em; height: 1em; pointer-events: none; }

#about-toc .toc-list li a:hover { opacity: .7; }

@media only screen and (max-width: 749px) { #about-toc .toc-list li + li { margin-top: 1em; } }

#about-guide { position: relative; background: #fff; width: 140vw; margin: 0 -20vw -16rem; padding: 0 20vw 16rem; border-bottom-left-radius: 70vw 14vw; border-bottom-right-radius: 70vw 14vw; z-index: 2; }

@media screen and (max-width: 1120px) { #about-guide { width: 156.8rem; margin: 0 -22.4rem -16rem; } }

@media only screen and (max-width: 749px) { #about-guide { width: 120vw; margin: 0 -10vw -26.66667vw; padding: 0 0 26.66667vw; border-bottom-left-radius: 60vw 14vw; border-bottom-right-radius: 60vw 14vw; } }

#about-guide p > strong { font-weight: normal; color: #CA0B22; }

#about-types { background: #fcf8ed; padding: 20rem 0 10rem; }

@media only screen and (max-width: 749px) { #about-types { padding: 40vw 0 20vw; } }

#about-types .cmn-notes > p { margin-bottom: .5em; font-size: 2.0rem; font-weight: bold; text-align: center; }

#about-purchase { position: relative; background: #fff; width: 140vw; margin: -16rem -20vw; padding: 16rem 20vw; border-top-left-radius: 70vw 14vw; border-top-right-radius: 70vw 14vw; border-bottom-left-radius: 70vw 14vw; border-bottom-right-radius: 70vw 14vw; z-index: 2; }

@media only screen and (max-width: 749px) { #about-purchase { padding: 26.66667vw 20vw; } }

#about-purchase .lead { margin-bottom: 2.5em; }

#about-purchase .logos ul { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; gap: 2.2rem; width: 100%; list-style-type: none; padding-left: 0; }

@media only screen and (max-width: 749px) { #about-purchase .logos ul { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; gap: 2.2rem; width: 100%; } }

#about-purchase .logos ul li { width: auto; }

@media only screen and (max-width: 749px) { #about-purchase .logos ul li { width: 100%; } }

#about-purchase .logos ul li a { display: block; border: 1px solid #D5D5D5; border-radius: 1rem; overflow: hidden; }

@media only screen and (max-width: 749px) { #about-purchase .logos ul li a { border-radius: 2.66667vw; }
  #about-purchase .logos ul li a img { width: 100%; height: auto; } }

#about-purchase .notes { font-weight: bold; }

#about-areamap { background: #f5f5f5; margin: -3rem; padding: 5rem 0 10rem; }

@media only screen and (max-width: 749px) { #about-areamap { padding: 13.33333vw 0 26.66667vw; } }

#about-areamap .cmn-inner { max-width: 880px; }

#about-areamap .about-sec-ttl { margin-bottom: 60px; }

#about-areamap .areamap-pic { text-align: center; }

#about-areamap .areamap-pic + p { color: #CA0B22; }

#about-areamap .areamap-btn { margin-top: 40px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }

#about-areamap .areamap-btn a { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; width: 200px; height: 50px; border-radius: 50px; background-color: #1BCD98; color: #fff; font-size: 1.8rem; }

@media only screen and (max-width: 749px) { #about-areamap .areamap-btn a { font-size: 4vw; } }

#about-areamap .areamap-btn a::after { content: ""; position: absolute; top: 50%; right: 25px; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); width: 12px; height: 18px; -webkit-mask: url(../images/ico_download.svg) no-repeat center/contain; mask: url(../images/ico_download.svg) no-repeat center/contain; background-color: #fff; pointer-events: none; }

#about-howto { position: relative; background: #fff; margin: -16rem -20vw; padding: 16rem 20vw; border-top-left-radius: 70vw 14vw; border-top-right-radius: 70vw 14vw; border-bottom-left-radius: 70vw 14vw; border-bottom-right-radius: 70vw 14vw; z-index: 2; }

@media only screen and (max-width: 749px) { #about-howto { margin-top: 5rem; padding-top: 0; padding-bottom: 20rem; } }

#about-howto .lead { padding: 4rem 4rem 2rem; border: 1px solid #d5d5d5; border-top-left-radius: 1rem; border-top-right-radius: 1rem; display: -webkit-box; display: -ms-flexbox; display: flex; gap: 4rem; }

@media only screen and (max-width: 749px) { #about-howto .lead { padding: 40px 20px; display: block; } }

#about-howto .lead .pic { width: 240px; -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; }

@media only screen and (max-width: 749px) { #about-howto .lead .pic { margin: 0 auto 20px; } }

#about-howto .lead .pic img { border-radius: 10px; overflow: hidden; }

#about-howto .lead .text { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; }

#about-howto .howto-station { padding: 20px 40px 40px; border: 1px solid #d5d5d5; border-top: none; border-bottom-left-radius: 10px; border-bottom-right-radius: 10px; background-color: #f5f5f5; }

@media only screen and (max-width: 749px) { #about-howto .howto-station { padding: 5.33333vw 5.33333vw 10.66667vw 5.33333vw; } }

#about-howto .howto-station h3 { font-size: 2.4rem; font-weight: bold; text-align: center; margin-bottom: 30px; }

#about-howto .howto-station .howto-wrap { display: -webkit-box; display: -ms-flexbox; display: flex; gap: 20px; }

@media only screen and (max-width: 749px) { #about-howto .howto-station .howto-wrap { display: block; } }

#about-howto .howto-station .howto-wrap .col { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; }

#about-howto .howto-station .howto-wrap .col ul { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; gap: 1.5em; list-style-type: none; padding-left: 0; }

#about-howto .howto-station .howto-wrap .col strong { display: block; color: #1bcd98; margin-bottom: 0.2em; }

#about-specialoffer { background: #fcf8ed; padding: 100px 0 250px 0; }

@media only screen and (max-width: 749px) { #about-specialoffer { padding: 40px 0 80px; } }

#about-specialoffer .about-sec-ttl { margin-bottom: 60px; }

#about-caution { position: relative; background: #fff; border-top-left-radius: 70vw 14vw; border-top-right-radius: 70vw 14vw; margin: 0 -20vw 0; padding: 160px 20vw 200px; z-index: 2; }

@media only screen and (max-width: 749px) { #about-caution { margin-top: -20vw; padding-top: 30vw; margin-bottom: -40vw; } }

#about-caution .about-sec-ttl { margin-bottom: 60px; }

/*----------------------------------------------------- Area Index -----------------------------------------------------*/
#areaindex-hd { background-image: url("../images/area-allmap-bg.png"), url("../images/mv-bg.jpg"); background-repeat: no-repeat, repeat; background-position: center -600px, center; width: 100%; height: 1008px; }

@media only screen and (max-width: 749px) { #areaindex-hd { background-position: left -4vw top -81.33333vw, center; background-size: 228.8vw auto, auto; height: auto; } }

#areaindex-hd .topicspath { position: absolute; top: 110px; left: 0; width: 100%; }

@media only screen and (max-width: 749px) { #areaindex-hd .topicspath { top: var(--header-h-sp); } }

#areaindex-hd .hd-wrap { display: -webkit-box; display: -ms-flexbox; display: flex; padding: 100px 0 0; }

@media only screen and (max-width: 749px) { #areaindex-hd .hd-wrap { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; padding: 21.33333vw 0 40vw; } }

#areaindex-hd .hd-wrap .area-ttl { position: relative; width: calc( 100% - 540px); }

@media only screen and (max-width: 749px) { #areaindex-hd .hd-wrap .area-ttl { width: 100%; margin-bottom: 8vw; } }

#areaindex-hd .hd-wrap .area-ttl .area-name { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; height: 150px; }

@media only screen and (max-width: 749px) { #areaindex-hd .hd-wrap .area-ttl .area-name { height: auto; } }

#areaindex-hd .hd-wrap .area-ttl .area-name img { max-width: 100%; margin-bottom: .75em; }

#areaindex-hd .hd-wrap .area-ttl .area-name img.osaka.en { width: 443px; }

@media only screen and (max-width: 749px) { #areaindex-hd .hd-wrap .area-ttl .area-name img.osaka.en { width: 56vw; } }

#areaindex-hd .hd-wrap .area-ttl .area-name img.osaka.zh-CN { width: 197px; }

@media only screen and (max-width: 749px) { #areaindex-hd .hd-wrap .area-ttl .area-name img.osaka.zh-CN { width: 25.06667vw; } }

#areaindex-hd .hd-wrap .area-ttl .area-name img.osaka.zh-TW { width: 194px; }

@media only screen and (max-width: 749px) { #areaindex-hd .hd-wrap .area-ttl .area-name img.osaka.zh-TW { width: 24.53333vw; } }

#areaindex-hd .hd-wrap .area-ttl .area-name img.osaka.ko { width: 271px; }

@media only screen and (max-width: 749px) { #areaindex-hd .hd-wrap .area-ttl .area-name img.osaka.ko { width: 34.13333vw; } }

#areaindex-hd .hd-wrap .area-ttl .area-name img.osaka.th { width: 306px; }

@media only screen and (max-width: 749px) { #areaindex-hd .hd-wrap .area-ttl .area-name img.osaka.th { width: 38.66667vw; } }

#areaindex-hd .hd-wrap .area-ttl .area-name img.kyoto.en { width: 425px; }

@media only screen and (max-width: 749px) { #areaindex-hd .hd-wrap .area-ttl .area-name img.kyoto.en { width: 53.6vw; } }

#areaindex-hd .hd-wrap .area-ttl .area-name img.kyoto.zh-CN { width: 198px; }

@media only screen and (max-width: 749px) { #areaindex-hd .hd-wrap .area-ttl .area-name img.kyoto.zh-CN { width: 25.06667vw; } }

#areaindex-hd .hd-wrap .area-ttl .area-name img.kyoto.zh-TW { width: 197px; }

@media only screen and (max-width: 749px) { #areaindex-hd .hd-wrap .area-ttl .area-name img.kyoto.zh-TW { width: 24.8vw; } }

#areaindex-hd .hd-wrap .area-ttl .area-name img.kyoto.ko { width: 179px; }

@media only screen and (max-width: 749px) { #areaindex-hd .hd-wrap .area-ttl .area-name img.kyoto.ko { width: 22.66667vw; } }

#areaindex-hd .hd-wrap .area-ttl .area-name img.kyoto.th { width: 303px; }

@media only screen and (max-width: 749px) { #areaindex-hd .hd-wrap .area-ttl .area-name img.kyoto.th { width: 38.13333vw; } }

#areaindex-hd .hd-wrap .area-ttl .area-name img.nara.en { width: 346px; }

@media only screen and (max-width: 749px) { #areaindex-hd .hd-wrap .area-ttl .area-name img.nara.en { width: 43.73333vw; } }

#areaindex-hd .hd-wrap .area-ttl .area-name img.nara.zh-CN { width: 198px; }

@media only screen and (max-width: 749px) { #areaindex-hd .hd-wrap .area-ttl .area-name img.nara.zh-CN { width: 25.06667vw; } }

#areaindex-hd .hd-wrap .area-ttl .area-name img.nara.zh-TW { width: 199px; }

@media only screen and (max-width: 749px) { #areaindex-hd .hd-wrap .area-ttl .area-name img.nara.zh-TW { width: 25.06667vw; } }

#areaindex-hd .hd-wrap .area-ttl .area-name img.nara.ko { width: 179px; }

@media only screen and (max-width: 749px) { #areaindex-hd .hd-wrap .area-ttl .area-name img.nara.ko { width: 22.66667vw; } }

#areaindex-hd .hd-wrap .area-ttl .area-name img.nara.th { width: 197px; }

@media only screen and (max-width: 749px) { #areaindex-hd .hd-wrap .area-ttl .area-name img.nara.th { width: 24.8vw; } }

#areaindex-hd .hd-wrap .area-ttl .area-name img.kobehimeji.en { width: 331px; margin-bottom: 0; }

@media only screen and (max-width: 749px) { #areaindex-hd .hd-wrap .area-ttl .area-name img.kobehimeji.en { width: 41.86667vw; } }

#areaindex-hd .hd-wrap .area-ttl .area-name img.kobehimeji.zh-CN { width: 453px; }

@media only screen and (max-width: 749px) { #areaindex-hd .hd-wrap .area-ttl .area-name img.kobehimeji.zh-CN { width: 57.06667vw; } }

#areaindex-hd .hd-wrap .area-ttl .area-name img.kobehimeji.zh-TW { width: 452px; }

@media only screen and (max-width: 749px) { #areaindex-hd .hd-wrap .area-ttl .area-name img.kobehimeji.zh-TW { width: 57.06667vw; } }

#areaindex-hd .hd-wrap .area-ttl .area-name img.kobehimeji.ko { width: 500px; }

@media only screen and (max-width: 749px) { #areaindex-hd .hd-wrap .area-ttl .area-name img.kobehimeji.ko { width: 63.2vw; } }

#areaindex-hd .hd-wrap .area-ttl .area-name img.kobehimeji.th { width: 466px; }

@media only screen and (max-width: 749px) { #areaindex-hd .hd-wrap .area-ttl .area-name img.kobehimeji.th { width: 58.66667vw; } }

#areaindex-hd .hd-wrap .area-ttl .area-name img.wakayama.en { width: 534px; }

@media only screen and (max-width: 749px) { #areaindex-hd .hd-wrap .area-ttl .area-name img.wakayama.en { width: 67.46667vw; } }

#areaindex-hd .hd-wrap .area-ttl .area-name img.wakayama.zh-CN { width: 290px; }

@media only screen and (max-width: 749px) { #areaindex-hd .hd-wrap .area-ttl .area-name img.wakayama.zh-CN { width: 36.53333vw; } }

#areaindex-hd .hd-wrap .area-ttl .area-name img.wakayama.zh-TW { width: 290px; }

@media only screen and (max-width: 749px) { #areaindex-hd .hd-wrap .area-ttl .area-name img.wakayama.zh-TW { width: 36.53333vw; } }

#areaindex-hd .hd-wrap .area-ttl .area-name img.wakayama.ko { width: 352px; }

@media only screen and (max-width: 749px) { #areaindex-hd .hd-wrap .area-ttl .area-name img.wakayama.ko { width: 44.53333vw; } }

#areaindex-hd .hd-wrap .area-ttl .area-name img.wakayama.th { width: 413px; }

@media only screen and (max-width: 749px) { #areaindex-hd .hd-wrap .area-ttl .area-name img.wakayama.th { width: 52.26667vw; } }

#areaindex-hd .hd-wrap .area-ttl .area-name img.shiga.en { width: 396px; }

@media only screen and (max-width: 749px) { #areaindex-hd .hd-wrap .area-ttl .area-name img.shiga.en { width: 49.86667vw; } }

#areaindex-hd .hd-wrap .area-ttl .area-name img.shiga.zh-CN { width: 194px; }

@media only screen and (max-width: 749px) { #areaindex-hd .hd-wrap .area-ttl .area-name img.shiga.zh-CN { width: 24.53333vw; } }

#areaindex-hd .hd-wrap .area-ttl .area-name img.shiga.zh-TW { width: 195px; }

@media only screen and (max-width: 749px) { #areaindex-hd .hd-wrap .area-ttl .area-name img.shiga.zh-TW { width: 24.53333vw; } }

#areaindex-hd .hd-wrap .area-ttl .area-name img.shiga.ko { width: 181px; }

@media only screen and (max-width: 749px) { #areaindex-hd .hd-wrap .area-ttl .area-name img.shiga.ko { width: 22.93333vw; } }

#areaindex-hd .hd-wrap .area-ttl .area-name img.shiga.th { width: 157px; }

@media only screen and (max-width: 749px) { #areaindex-hd .hd-wrap .area-ttl .area-name img.shiga.th { width: 19.73333vw; } }

#areaindex-hd .hd-wrap .area-ttl .area-lead { margin-bottom: 1em; font-size: 25px; font-weight: 600; }

@media only screen and (max-width: 749px) { #areaindex-hd .hd-wrap .area-ttl .area-lead { font-size: 4.26667vw; } }

#areaindex-hd .hd-wrap .area-ttl .area-map { position: absolute; top: 289px; left: 72px; }

@media only screen and (max-width: 749px) { #areaindex-hd .hd-wrap .area-ttl .area-map { display: none; } }

#areaindex-hd .hd-wrap .area-slide { position: relative; width: 540px; }

@media only screen and (max-width: 749px) { #areaindex-hd .hd-wrap .area-slide { width: 76vw; margin: 0 auto; } }

#areaindex-hd .hd-wrap .area-slide .pic img { width: 540px; height: 540px; border-radius: 50%; -o-object-fit: cover; object-fit: cover; overflow: hidden; }

@media only screen and (max-width: 749px) { #areaindex-hd .hd-wrap .area-slide .pic img { width: 76vw; height: 76vw; } }

#areaindex-hd .hd-wrap .area-slide .txt { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; width: 100%; margin-top: 75px; }

@media only screen and (max-width: 749px) { #areaindex-hd .hd-wrap .area-slide .txt { margin-top: 18.66667vw; } }

#areaindex-hd .hd-wrap .area-slide .txt p { position: relative; width: auto; padding-left: 1em; font-size: 24px; font-weight: 600; color: #1BCD98; line-height: 1.16667; }

@media only screen and (max-width: 749px) { #areaindex-hd .hd-wrap .area-slide .txt p { font-size: 4.8vw; } }

#areaindex-hd .hd-wrap .area-slide .txt p::before { content: ''; position: absolute; top: .15em; left: 0; display: inline-block; background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2215%22%20height%3D%2211%22%20viewBox%3D%220%200%2015%2011%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M1%205.5H14M14%205.5L9.5%2010M14%205.5L9.5%201%22%20stroke%3D%22%231BCD98%22%20stroke-width%3D%2215%25%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E"); background-repeat: no-repeat; background-position: center; background-size: contain; width: .6em; height: 1em; margin-right: .25em; font-size: inherit; }

#areaindex-hd .hd-wrap .area-slide .txt p a { color: #1BCD98; }

#areaindex-hd .hd-wrap .area-slide #arrow-dots { gap: 10px; position: absolute; top: 540px; left: 0; width: 100%; height: 75px; }

@media only screen and (max-width: 749px) { #areaindex-hd .hd-wrap .area-slide #arrow-dots { top: 76vw; gap: 2.66667vw; height: 18.66667vw; } }

#areaindex-hd .hd-wrap .area-slide #arrow-dots .slick-arrow { width: 40px; height: 40px; }

@media only screen and (max-width: 749px) { #areaindex-hd .hd-wrap .area-slide #arrow-dots .slick-arrow { width: 10.66667vw; height: 10.66667vw; } }

#areaindex-hd .hd-wrap .area-slide #arrow-dots .slick-dots { gap: 1rem; }

#areaindex-hd .hd-wrap .area-slide #arrow-dots .slick-dots li button { width: 15px; height: 15px; }

@media only screen and (max-width: 749px) { #areaindex-hd .hd-wrap .area-slide #arrow-dots .slick-dots li button { width: 4vw; height: 4vw; } }

#areaindex-hd .hd-wrap .area-slide #arrow-dots #btn-pause { width: 40px; height: 40px; }

@media only screen and (max-width: 749px) { #areaindex-hd .hd-wrap .area-slide #arrow-dots #btn-pause { width: 10.66667vw; height: 10.66667vw; } }

#areaindex-recommend { position: relative; background: #FCF8ED; width: 140vw; margin: -140px -20vw 0; padding: 150px 0 20rem; border-top-left-radius: 70vw 14vw; border-top-right-radius: 70vw 14vw; border-bottom-left-radius: 70vw 14vw; border-bottom-right-radius: 70vw 14vw; z-index: 2; }

@media screen and (max-width: 1120px) { #areaindex-recommend { width: 156.8rem; margin: -140px -224px 0; border-top-left-radius: 78.4rem 15.68rem; border-top-right-radius: 78.4rem 15.68rem; border-bottom-left-radius: 78.4rem 15.68rem; border-bottom-right-radius: 78.4rem 15.68rem; } }

@media only screen and (max-width: 749px) { #areaindex-recommend { width: 140vw; margin: -32vw -20vw 0; padding: 13.33333vw 0 13.33333vw; } }

#areaindex-recommend .lead { margin-bottom: 8rem; text-align: center; }

#areaindex-specialoffers { padding: 10rem 0 30rem; }

@media only screen and (max-width: 749px) { #areaindex-specialoffers { padding: 13.33333vw 0 32vw; } }

#areaindex-specialoffers .spfacilities { margin-bottom: 8rem; }

#areaindex-specialoffers .spfacilities .wrap-spfacilities { height: 8em; margin-bottom: 4rem; -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(#000), color-stop(60%, #000), to(transparent)); -webkit-mask-image: -webkit-linear-gradient(top, #000 0%, #000 60%, transparent 100%); mask-image: -webkit-gradient(linear, left top, left bottom, from(#000), color-stop(60%, #000), to(transparent)); mask-image: linear-gradient(to bottom, #000 0%, #000 60%, transparent 100%); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; overflow: hidden; }

#areaindex-specialoffers .spfacilities .wrap-spfacilities .list-spfacilities { display: -ms-grid; display: grid; -ms-grid-columns: (1fr)[4]; grid-template-columns: repeat(4, 1fr); grid-auto-rows: auto; gap: 1.5em 2.5em; list-style-type: disc; padding-left: 1.25em; }

@media only screen and (max-width: 749px) { #areaindex-specialoffers .spfacilities .wrap-spfacilities .list-spfacilities { gap: 1em 2.5em; } }

#areaindex-specialoffers .spfacilities .wrap-spfacilities .list-spfacilities li a { font-weight: 600; }

#areaindex-specialoffers .spfacilities .wrap-spfacilities .guide-btn { margin-top: 4rem; }

#areaindex-specialoffers .spfacilities .btn { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; margin-top: -4rem; }

#areaindex-specialoffers .spfacilities .btn a { background-color: #fff; width: 20rem; border: 1px solid #F9B62B; }

@media only screen and (max-width: 749px) { #areaindex-specialoffers .spfacilities .btn a { width: 53.33333vw; } }

#areaindex-specialoffers .spfacilities .btn a::after { background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2215%22%20height%3D%2211%22%20viewBox%3D%220%200%2015%2011%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M1%205.5H14M14%205.5L9.5%2010M14%205.5L9.5%201%22%20stroke%3D%22%23F9B62B%22%20stroke-width%3D%2215%25%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E"); -webkit-transform: translateY(-45%) rotate(90deg); -ms-transform: translateY(-45%) rotate(90deg); transform: translateY(-45%) rotate(90deg); }

#areaindex-specialoffers .spfacilities .btn a span { color: #F9B62B; }

#areaindex-specialoffers .spfacilities .btn a span.seemore { display: inline; }

#areaindex-specialoffers .spfacilities .btn a span.close { display: none; }

#areaindex-specialoffers .spfacilities.open .wrap-spfacilities { -webkit-mask: none; mask: none; height: auto; }

#areaindex-specialoffers .spfacilities.open .wrap-spfacilities + .btn { margin-top: 0; }

#areaindex-specialoffers .spfacilities.open .wrap-spfacilities + .btn a::after { right: 50%; -webkit-transform: translateY(-45%) translateX(50%) rotate(-90deg); -ms-transform: translateY(-45%) translateX(50%) rotate(-90deg); transform: translateY(-45%) translateX(50%) rotate(-90deg); }

#areaindex-specialoffers .spfacilities.open .wrap-spfacilities + .btn a span.seemore { display: none; }

#areaindex-specialoffers .spfacilities.open .wrap-spfacilities + .btn a span.close { display: inline; }

#areaindex-specialoffers .area-mymap { width: 100%; aspect-ratio: 1040 / 523; border-radius: 1rem; overflow: hidden; }

@media only screen and (max-width: 749px) { #areaindex-specialoffers .area-mymap { aspect-ratio: 180 / 180; } }

#areaindex-specialoffers .area-mymap iframe { width: 100%; height: 100%; }

/*----------------------------------------------------- Facility Detail -----------------------------------------------------*/
#facility-hd { background-image: url("../images/mv-bg.jpg"); background-repeat: repeat; background-position: center; padding: 0 0 35rem; }

@media only screen and (max-width: 749px) { #facility-hd { padding: 0 0 53.33333vw; } }

#facility-hd .fac-name { margin-top: 5rem; font-size: 5.6rem; font-weight: 600; line-height: 1.25; color: #1BCD98; text-align: center; }

@media only screen and (max-width: 749px) { #facility-hd .fac-name { margin-top: 5.33333vw; margin-bottom: .5em; font-size: 9.6vw; } }

#facility-about { position: relative; background: #FFF; width: 140vw; margin: 0 -20vw 0; padding: 0 0 5rem; border-top-left-radius: 70vw 14vw; border-top-right-radius: 70vw 14vw; border-bottom-left-radius: 70vw 14vw; border-bottom-right-radius: 70vw 14vw; z-index: 2; }

@media screen and (max-width: 1120px) { #facility-about { width: 156.8rem; margin: -14rem -22.4rem 0; border-top-left-radius: 78.4rem 15.68rem; border-top-right-radius: 78.4rem 15.68rem; border-bottom-left-radius: 78.4rem 15.68rem; border-bottom-right-radius: 78.4rem 15.68rem; } }

@media only screen and (max-width: 749px) { #facility-about { width: 140vw; margin: -32vw -20vw 0; padding: 40vw 0 0; } }

#facility-about .cmn-inner { margin-top: -20rem; -webkit-transform: translateY(-10rem); -ms-transform: translateY(-10rem); transform: translateY(-10rem); }

@media only screen and (max-width: 749px) { #facility-about .cmn-inner { margin-top: -26.66667vw; -webkit-transform: translateY(-26.66667vw); -ms-transform: translateY(-26.66667vw); transform: translateY(-26.66667vw); } }

#facility-about .about-wrap { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; margin-bottom: 5rem; padding: 5.5rem 0 0; }

@media only screen and (max-width: 749px) { #facility-about .about-wrap { -webkit-box-orient: vertical; -webkit-box-direction: reverse; -ms-flex-direction: column-reverse; flex-direction: column-reverse; padding: 0; } }

#facility-about .about-wrap .fac-ttl { position: relative; width: calc( 100% - 54rem); }

@media only screen and (max-width: 749px) { #facility-about .about-wrap .fac-ttl { width: 100%; } }

#facility-about .about-wrap .fac-ttl .ttl { margin-top: 1em; margin-bottom: 1em; font-size: 2.4rem; font-weight: 700; }

@media only screen and (max-width: 749px) { #facility-about .about-wrap .fac-ttl .ttl { font-size: 6.4vw; margin-bottom: .5em; } }

#facility-about .about-wrap .fac-ttl .lead { margin-bottom: 1em; font-size: 1.8rem; line-height: 1.77778; }

@media only screen and (max-width: 749px) { #facility-about .about-wrap .fac-ttl .lead { font-size: 4.26667vw; } }

#facility-about .about-wrap .fac-ttl .area-map { position: absolute; top: 283px; left: 73px; }

#facility-about .about-wrap .fac-slide { position: relative; width: 48rem; }

@media only screen and (max-width: 749px) { #facility-about .about-wrap .fac-slide { width: 100%; } }

#facility-about .about-wrap .fac-slide .slide .pic { position: relative; width: 100%; aspect-ratio: 480 / 360; }

@media only screen and (max-width: 749px) { #facility-about .about-wrap .fac-slide .slide .pic { margin-bottom: 18.66667vw; } }

#facility-about .about-wrap .fac-slide .slide .pic img { position: absolute; top: 50%; left: 50%; width: 100%; aspect-ratio: 480 / 360; -o-object-fit: contain; object-fit: contain; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }

#facility-about .about-wrap .fac-slide .slide .credit { margin-top: 7.5rem; text-align: right; }

@media only screen and (max-width: 749px) { #facility-about .about-wrap .fac-slide .slide .credit { text-align: center; } }

#facility-about .about-wrap .fac-slide .slide:only-of-type .credit { margin-top: 0; }

#facility-about .about-wrap .fac-slide #arrow-dots { position: absolute; top: 36rem; left: 0; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; width: 100%; }

@media only screen and (max-width: 749px) { #facility-about .about-wrap .fac-slide #arrow-dots { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; top: calc( ( 100vw - (40/375)*100vw ) * (360 / 480)); } }

#facility-about .clm-offers .clm-ttl { margin-bottom: 1em; font-size: 3.8rem; font-weight: 600; color: #F9B62B; text-align: center; }

@media only screen and (max-width: 749px) { #facility-about .clm-offers .clm-ttl { font-size: 8vw; line-height: 1.25; } }

#facility-about .clm-offers .clm-wrap { display: -webkit-box; display: -ms-flexbox; display: flex; gap: 5rem; background-color: #FFF1D2; padding: 4.5rem; border: 4px solid #F9B62B; border-radius: 1rem; }

@media only screen and (max-width: 749px) { #facility-about .clm-offers .clm-wrap { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; gap: 5.33333vw; padding: 5.33333vw; border: 0.8vw solid #F9B62B; } }

#facility-about .clm-offers .clm-wrap .pic { width: 20rem; }

@media only screen and (max-width: 749px) { #facility-about .clm-offers .clm-wrap .pic { width: 100%; text-align: center; } }

#facility-about .clm-offers .clm-wrap .txt { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; }

@media only screen and (max-width: 749px) { #facility-about .clm-offers .clm-wrap .txt { width: 100%; } }

#facility-about .clm-offers .clm-wrap .txt .ttl { background-image: url(../images/ico-discount.svg); background-repeat: no-repeat; background-position: left top; background-size: 1.8em auto; padding: 0 0 .5em 5rem; font-size: 1.8rem; font-weight: 600; }

@media only screen and (max-width: 749px) { #facility-about .clm-offers .clm-wrap .txt .ttl { background-size: 8vw auto; padding: 0 0 0.5em 10.66667vw; font-size: 4.8vw; } }

#facility-about .clm-offers .clm-wrap .txt .notes { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; gap: .25em; margin-top: 1rem; padding: 0 0 0 5rem; font-size: 1.4rem; }

@media only screen and (max-width: 749px) { #facility-about .clm-offers .clm-wrap .txt .notes { padding: 0; font-size: 3.2vw; } }

#facility-about .clm-offers .clm-wrap .txt .notes li { position: relative; padding: 0 0 0 .75em; }

#facility-about .clm-offers .clm-wrap .txt .notes li::before { content: '*'; position: absolute; top: 0; left: 0; }

#facility-about .clm-offers .clm-wrap .txt .btn { margin-top: 2rem; }

@media only screen and (max-width: 749px) { #facility-about .clm-offers .clm-wrap .txt .btn { width: 100%; margin-top: 5.33333vw; padding: 0 2.66667vw; } }

#facility-about .clm-offers .clm-wrap .txt .btn a { background-color: #F9B62B; width: 45rem; height: 5rem; }

@media only screen and (max-width: 749px) { #facility-about .clm-offers .clm-wrap .txt .btn a { width: 100%; height: 4.5em; line-height: 1.6; } }

@media only screen and (max-width: 749px) { #facility-about .clm-offers .clm-wrap .txt .btn a span { line-height: 1.4; } }

#facility-about .clm-offers .clm-wrap .txt .links { line-height: 2; word-break: break-all; }

#facility-about .clm-offers .clm-wrap .txt .links a { background-image: url("../images/ico-extlink.png"); background-repeat: no-repeat; background-position: right bottom .2em; background-size: auto .9em; padding-right: 1.7em; color: #1BCD98; text-decoration: underline; }

#facility-access { position: relative; background: #F5F5F5; width: 140vw; margin: -14rem -20vw 0; padding: 20rem 0 25rem; }

@media screen and (max-width: 1120px) { #facility-access { width: 156.8rem; margin: -14rem -22.4rem 0; } }

@media only screen and (max-width: 749px) { #facility-access { width: 100%; margin: -26.66667vw auto 0; } }

#facility-access dl dt { margin-bottom: .5em; font-size: 2.4rem; font-weight: 600; }

@media only screen and (max-width: 749px) { #facility-access dl dt { font-size: 4.8vw; } }

#facility-access dl dd + dt { margin-top: 2em; }

#facility-access dl dd .clm { background-color: #fff; margin-top: 1em; padding: 1em 2em; border: 1px solid #D5D5D5; border-radius: 1rem; }

@media only screen and (max-width: 749px) { #facility-access dl dd .clm { padding: 2.66667vw 4vw; } }

#facility-access dl dd .clm p { font-weight: 600; }

#facility-access dl dd .clm p.note { margin-top: .75em; font-size: 1.3rem; color: #CA0B22; }

@media only screen and (max-width: 749px) { #facility-access dl dd .clm p.note { font-size: 3.46667vw; } }

#facility-access dl dd .links { line-height: 2; word-break: break-all; }

#facility-access dl dd .links a { background-image: url("../images/ico-extlink.png"); background-repeat: no-repeat; background-position: right bottom .2em; background-size: auto .9em; padding-right: 1.7em; color: #1BCD98; text-decoration: underline; }

#facility-mapinfo { position: relative; background: #fff; width: 140vw; margin: -14rem -20vw 0; padding: 10rem 0 10rem; border-top-left-radius: 70vw 14vw; border-top-right-radius: 70vw 14vw; border-bottom-left-radius: 70vw 14vw; border-bottom-right-radius: 70vw 14vw; z-index: 2; /* :focus , :focus-within , :focus-visible { border: none !important; outline: none !important; } */ }

@media screen and (max-width: 1120px) { #facility-mapinfo { width: 156.8rem; margin: -14rem -22.4rem 0; border-top-left-radius: 78.4rem 15.68rem; border-top-right-radius: 78.4rem 15.68rem; border-bottom-left-radius: 78.4rem 15.68rem; border-bottom-right-radius: 78.4rem 15.68rem; } }

@media only screen and (max-width: 749px) { #facility-mapinfo { width: 140vw; margin: -32vw -20vw 0; padding: 13.33333vw 0 13.33333vw; } }

#facility-mapinfo .facility-map { width: 100%; aspect-ratio: 1040 / 650; border-radius: 1rem; overflow: hidden; }

@media only screen and (max-width: 749px) { #facility-mapinfo .facility-map { aspect-ratio: 1 / 1; } }

#facility-mapinfo .facility-map iframe { width: 100%; height: 100%; }

#facility-recommend { position: relative; background: #FCF8ED; width: 140vw; margin: -14rem -20vw 0; padding: 25rem 0 25rem; z-index: 1; }

@media screen and (max-width: 1120px) { #facility-recommend { width: 156.8rem; margin: -14rem -22.4rem 0; } }

@media only screen and (max-width: 749px) { #facility-recommend { width: 140vw; margin: -32vw -20vw 0; padding: 40vw 0 29.33333vw; } }

/*# sourceMappingURL=kansai_rw.css.map */

/* With just a smartphone 以下*/
/* 上部画像と吹き出し削除となったためレイアウト差替え */
/* --- 全体のレイアウト --- */
.pass-info-section { width: 100%; padding: 40px 20px; box-sizing: border-box; }

.pass-info-inner { max-width: 1000px; margin: 0 auto; display: flex; flex-wrap: wrap;  align-items: center; gap: 40px; }

/* --- 左側：テキストエリア --- */
.info-text-area { flex: 1 1 50%; min-width: 300px; }

.text-lead { font-size: 2.5rem; line-height: 1.4; margin-bottom: 20px; }

/* --- 右側：画像エリア --- */
.info-image-area { flex: 1 1 40%; display: flex; gap: 20px; justify-content: center; align-items: flex-end; }

.info-image-area .image-item { flex: 1; max-width: 250px; }

@media only screen and (max-width: 749px) {
    .info-image-area .image-item { margin: -10vw 0 -35vw; }
}

.info-image-area img { width: 100%; height: auto; }

/* --- スマホ表示の対応（749px以下） --- */
@media only screen and (max-width: 749px) {
  .pass-info-inner { flex-direction: column; }
  .info-text-area, 
  .info-image-area { width: 100%; flex: 1 1 100%; margin-top: -1vw }
}

/* How to use the pass */
#about-hd .hd-inner.howtouse { margin-top: -18rem;  margin-bottom: 10rem; }
@media only screen and (max-width: 749px) { #about-hd .hd-inner.howtouse { padding: 5vw; margin-top: -15rem; } }

@media only screen and (max-width: 749px) { #about-hd .ttl.howtouse { padding: 0 0 20rem; } }

@media only screen and (max-width: 749px) {#about-hd img { max-width: 200%; height: auto; margin-bottom: -15vw; } }

.howtouse_card { width: 50%; display: flex !important; justify-content: center; gap: 5vw;}

.guide-container { max-width: 900px; margin: 0 auto; padding: 20px; font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; color: #333; }

.guide-container .row { display: flex; flex-wrap: wrap; gap: 20px; margin-bottom: 40px; justify-content: center; }

.guide-container .col-2 .item { flex: 1; min-width: 300px; }

.guide-container .col-1 .item { flex: 1; text-align: center; }

.guide-container .img-box { padding: 1rem; width: 100%; height: 350px; margin-bottom: 15px; display: flex; align-items: center; justify-content: center; background-color: #f0f0f0; overflow: hidden}

.guide-container .img-box img { width: 100%; height: 100%; object-fit: contain; }

@media (max-width: 600px) { .img-box { height: 150px; } }

.guide-container .caution-text { font-size: 0.9em; line-height: 1.6; color: #e60012; background-color: #fff; height: 100%; box-sizing: border-box; }

.guide-container .caution-text li.right { list-style: none !important; margin: 0; padding: 0; position: inherit; }

.guide-container .caption { font-size: 0.95em; line-height: 1.6; text-align: left; }

.guide-container ol { counter-reset: my-item; list-style: none; padding: 0; margin: 0; }

.guide-container ol li.caption { counter-increment: my-item; position: relative; padding-left: 1.5em; margin-bottom: 8px; }

.guide-container ol li.caption::before { content: counter(my-item) "." !important; position: absolute; left: 0; color: #000000 !important; }

.guide-container .caption.sub-caption { font-size: 0.90em; line-height: 1.0; text-align: left; color: #e60012 !important; }

.guide-container .caption.sub-caption.sub-caption-border { margin: 1rem; padding: 1.5rem; color: #000000 !important; border: 2px solid #d5d5d5 !important; border-radius: 10px; border-width: 10px; }

.guide-container .caption.sub-caption.sub-caption-border .last-li { list-style: none; position: inherit; margin: 1rem; padding: 1.1rem;}

.guide-container li.sub-caption::before { content: none !important; }

.guide-container li.sub-caption { padding-left: 0 !important; }

.guide-container .caption strong { display: block; margin-bottom: 5px; color: #004098; }

.guide-container .caption a:link { color: #0000ee; text-decoration: underline; }
.guide-container .caption a:visited { color: #551a8b; text-decoration: underline; }

@media (max-width: 600px) { .col-2 .item { min-width: 100%; } }

.guide-container .row::before { display: none; }

.guide-container .row-title { width: 100%; text-align: center; font-size: 1.2em; font-weight: bold; color: #004098; margin-bottom: 25px; padding-top: 25px; position: relative; display: block; clear: both; }

.guide-container .row-title::before { content: ""; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 1000px; max-width: 90vw; height: 2px; background-color: #004098;}

.guide-container li { list-style: none; margin-bottom: 8px; padding-left: 1.5em; position: relative; font-size: 1em; line-height: 1.2; margin-bottom: 2px; }

.guide-container li::before { content: "・"; position: absolute; left: 0; color: #000000; }

.guide-container .label-hd-bold { font-weight: 900; display: block; margin-top: 15px; margin-bottom: 5px; color: #1BCD98; }

.guide-container .label-bold { font-weight: bold; display: block; margin-top: 15px; margin-bottom: 5px; color: #333; }

/* How to use KANSAI RAILWAY PASS LITE */
#about-howtouse { position: relative; background: #fff; width: 140vw; margin: -21rem -20vw 0; padding: 24rem 0 10rem; border-top-left-radius: 70vw 14vw; border-top-right-radius: 70vw 14vw;  z-index: 2; }

/* 2type表　縦横入れ替えスマホ対応 */
@media only screen and (max-width: 749px) {
  .howto-content { margin-bottom: -25vw; }

  #about-howtouse .cmn-inner { margin-top: -10vw; }
  .type-list .item__data { display: flex !important; }
  .type-list .item__col { flex: 1; border-top: none !important; }
  .type-list .item__col:not(:first-child) { border-left: 1px solid #d5d5d5; }
  .type-list .item__label { font-size: 3vw; padding: 5px; }
  .type-list .item__value { font-size: 3vw; padding: 10px 5px; }

  .type-list .item:first-child .item__data { display: grid !important; grid-template-columns: 1fr 1fr 1fr; }
  .type-list .item:first-child .item__col { display: contents !important; }

  .type-list .item:first-child .item__label { grid-row: 1; }
  .type-list .item:first-child .item__value { grid-row: 2; }

  .type-list .item:first-child .item__col:nth-child(1) > * { grid-column: 1; }
  .type-list .item:first-child .item__col:nth-child(2) > * { grid-column: 2; border-left: 1px solid #d5d5d5; }
  .type-list .item:first-child .item__col:nth-child(3) > * { grid-column: 3; border-left: 1px solid #d5d5d5; }
}

/* ロゴのレイアウトが画面サイズによって崩れる問題に対応 */
.p-about-purchase-body .logos ul { display: flex !important; flex-wrap: wrap !important; justify-content: flex-start; align-items: center; gap: 20px; width: 100%; max-width: none; padding: 0; list-style: none; }

.p-about-purchase-body .logos ul li { flex: 0 0 calc(33.333% - 20px); min-width: 200px; }

.p-about-purchase-body .logos ul li img { width: 100%; height: auto; display: block; }