@charset "UTF-8";
.font-en { font-family: 'Roboto', sans-serif; }

.font-mp { font-family: 'M PLUS 1p', sans-serif; }

.font-min { font-family: 'Zen Kurenaido', sans-serif; }

* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; word-wrap: break-word; }

html { font-size: 16px; }
@media screen and (max-width: 640px) { html { font-size: 3.8vw; } }

body { color: #333; font-family: 'Noto Sans JP', YuGothicM, YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif; -webkit-text-size-adjust: 100%; }

li { list-style: none; }

img { max-width: 100%; vertical-align: bottom; }

video { max-width: 100%; }

a { color: #333; }
a:hover { text-decoration: none; }

button { padding: 0; border: none; background: none; font-family: inherit; font-size: 1rem; }

input[type="text"], input[type="password"], input[type="tel"], input[type="email"], textarea { font-family: inherit; font-size: 1rem; }

select { font-family: inherit; }

.only-pc { display: block; }
@media screen and (max-width: 640px) { .only-pc { display: none; } }

.only-sp { display: none; }
@media screen and (max-width: 640px) { .only-sp { display: block; } }

img.only-pc, span.only-pc { display: inline; }
@media screen and (max-width: 640px) { img.only-pc, span.only-pc { display: none; } }
img.only-sp, span.only-sp { display: none; }
@media screen and (max-width: 640px) { img.only-sp, span.only-sp { display: inline; } }

table.only-pc { display: table; }
@media screen and (max-width: 640px) { table.only-pc { display: none; } }
table.only-sp { display: none; }
@media screen and (max-width: 640px) { table.only-sp { display: table; } }

.js-tel { color: #000 !important; text-decoration: none; cursor: default; }

.main { padding: 95px 0 110px; }
@media screen and (max-width: 640px) { .main { padding: 12.5% 0; } }

.inner { width: 100%; max-width: 1240px; margin: 0 auto; padding: 0 20px; line-height: 1.6; }
@media screen and (max-width: 640px) { .inner { padding: 0 5.46875%; } }

.inner-wid { width: 100%; max-width: 1740px; margin: 0 auto; padding: 0 20px; }
@media screen and (max-width: 640px) { .inner-wid { padding: 0 5.46875%; } }

.pagetop { position: fixed; right: 80px; bottom: 40px; z-index: 999; opacity: 0; transition: all .5s; transform: translateY(100px); width: 90px; height: 90px; }
@media screen and (max-width: 640px) { .pagetop { right: 4.6875%; bottom: 4.6875%; width: 60px; } }
.pagetop.is-show { opacity: 1; transform: translateY(0); }

/* ==================================================================================================== ヘッダー
==================================================================================================== */
.header { position: relative; z-index: 9999; display: flex; justify-content: center; align-items: center; height: 155px; padding-top: 30px; }
@media screen and (max-width: 1420px) { .header { padding-top: 0; } }
@media screen and (max-width: 960px) { .header { height: 90px; } }
.header .inner-wid { display: flex; justify-content: space-between; align-items: center; }
@media screen and (max-width: 960px) { .header .header-logo img { height: 70px; } }
.header .header-con { flex: 1; }
@media screen and (max-width: 960px) { .header .header-con { display: none; } }
.header .header-top { display: flex; align-items: center; justify-content: flex-end; margin-bottom: 20px; }
@media screen and (max-width: 1420px) { .header .header-top { flex-wrap: wrap; } }
.header .header-top .h-news { margin-top: 1rem; margin-right: 20px; font-size: 0.875rem; font-weight: 700; white-space: nowrap; }
.header .header-top .h-news a { text-decoration: none; }
.header .header-top .h-sns { display: flex; align-items: center; margin-right: 15px; }
.header .header-top .h-sns li { margin-right: 10px; }
.header .header-top .h-sns li:last-child { margin-right: 0; }
.header .header-top .h-search .search-box { display: flex; justify-content: space-between; width: 100%; max-width: 240px; margin-right: 20px; border: 1px solid #ddd; border-radius: 1rem; }
.header .header-top .h-search .search-input { width: 81.25%; border: none; padding: 7px 20px; border-top-left-radius: 1rem; border-bottom-left-radius: 1rem; }
.header .header-top .h-search .search-btn { width: 18.75%; border: none; background: #46b46b url("../img/common/ico_search.png") no-repeat center center; cursor: pointer; border-top-right-radius: 1rem; border-bottom-right-radius: 1rem; }
.header .header-top .language { position: relative; width: 100%; max-width: 150px; margin-right: 30px; }
.header .header-top .language::before { content: ''; position: absolute; top: 0; left: 0; display: block; width: 100%; height: 100%; background-color: #fff; pointer-events: none; }
.header .header-top .language .language-btn { position: absolute; top: 0; left: 0; width: 100%; height: 100%; padding: 7px; border-radius: 1rem; background-color: #46b46b; font-size: 0.875rem; text-align: center; color: #fff; font-weight: 700; cursor: pointer; transition: all .6s; pointer-events: none; }
.header .header-top .language .language-btn span { display: inline-block; padding: 5px 0 5px 25px; background: url("../img/common/ico_language.png") no-repeat left center; }
.header .header-top .language:hover .language-btn { opacity: 0.7; }
.header .header-top .language .goog-te-gadget-simple { width: 100%; padding: .75em 0; border: none; }
.header .gnav ul { display: flex; justify-content: flex-end; }
.header .gnav ul li { margin-right: 50px; }
@media screen and (max-width: 1200px) { .header .gnav ul li { margin-right: 40px; } }
.header .gnav ul li:last-child { margin-right: 0; }
.header .gnav ul li a { display: inline-block; text-decoration: none; padding-left: 15px; background: url("../img/common/ico_gnav.png") no-repeat left top 0.2em; font-weight: bold; line-height: 1.6; }
.header .gnav ul li a:hover { text-decoration: underline; }
.header .gnav ul li .popup { z-index: 9999; display: none; position: absolute; top: 140px; left: 0; width: 100%; height: auto; padding-top: 20px; background-color: #fff; color: #fff; }
.header .gnav ul li .popup.is-show { display: block; }
@media screen and (max-width: 1420px) { .header .gnav ul li .popup { top: 125px; } }
@media screen and (max-width: 1240px) { .header .gnav ul li .popup { top: 145px; } }
.header .gnav ul li .popup .popup-wrap { background-color: #f5f7fe; }
.header .gnav ul li .popup .popup-in { position: relative; }
.header .gnav ul li .popup .popup-in .popup-con { width: 100%; padding: 50px 20px; max-width: 1240px; margin: 0 auto; }
.header .gnav ul li .popup .popup-in .popup-box { display: flex; }
.header .gnav ul li .popup .popup-in .popup-item { display: flex; justify-content: space-between; margin-top: 10px; padding-left: 2em; }
.header .gnav ul li .popup .popup-in .popup-item ul:first-child { margin-right: 60px; }
.header .gnav ul li .popup .popup-in .popup-nav { margin-right: 100px; }
@media screen and (max-width: 1200px) { .header .gnav ul li .popup .popup-in .popup-nav { margin-right: 50px; } }
.header .gnav ul li .popup .popup-in .popup-nav ul { display: block; }
.header .gnav ul li .popup .popup-in .popup-nav ul li { margin-right: 0; margin-bottom: 5px; }
.header .gnav ul li .popup .popup-in .popup-nav ul li a { background: url("../img/common/ico_gnav02.png") no-repeat left top 0.2em; font-size: 1rem; font-weight: 400; line-height: 1.4; }
.header .gnav ul li .popup .popup-in .popup-close { padding: 20px; background-color: #46b46b; font-size: 1.25rem; text-align: center; color: #fff; cursor: pointer; }
.header .gnav ul li .popup .popup-in .popup-close span { display: inline-block; padding: 3px 0 6px 35px; background: url("../img/common/ico_close02.png") no-repeat left center; }
.header .header-sp { display: none; }
@media screen and (max-width: 960px) { .header .header-sp { display: block; } }
.header .header-sp .header-sp-in { display: flex; align-items: center; justify-content: flex-end; }
.header .header-search { margin-right: 1.5em; cursor: pointer; }
.header .header-menu { cursor: pointer; }
.header .header-menu p { position: relative; width: 40px; height: 38px; }
.header .header-menu span { position: absolute; left: 0; display: block; width: 100%; height: 6px; background-color: #46b46b; transition: all .4s; }
.header .header-menu span:nth-of-type(1) { top: 0; }
.header .header-menu span:nth-of-type(2) { top: 50%; margin-top: -3px; }
.header .header-menu span:nth-of-type(3) { bottom: 0; }

/* ==================================================================================================== SPメニュー
==================================================================================================== */
.nav-close { padding: 4.6875%; background-color: #46b46b; text-align: center; color: #fff; cursor: pointer; }
.nav-close .ico-close::before { vertical-align: middle; width: 22px; height: 22px; margin-right: 1em; background-image: url("../img/common/ico_close.png"); }

.nav-search { z-index: 99999; display: none; position: absolute; top: 90px; left: 0; width: 100%; border-top: 4px solid #46b46b; background-color: #fff; }
.nav-search .search-box { display: flex; justify-content: space-between; width: 100%; margin-bottom: 9.375%; padding: 3.90625%; border-bottom: 1px solid #46b46b; }
.nav-search .search-input { width: 75%; border: none; margin-right: 2%; padding: 7px 20px; }
.nav-search .search-btn { width: 23%; border: none; background-color: #46b46b; cursor: pointer; font-size: 1rem; color: #fff; border-radius: 2em; }

.nav-menu { z-index: 99999; display: none; position: fixed; top: 90px; left: 0; width: 100%; height: calc(100% - 90px); background-color: #fff; border-top: 4px solid #46b46b; }
.nav-menu .nav-menu-content { position: absolute; top: 0; left: 0; width: 100%; height: 100%; overflow-y: auto; }
.nav-menu ul { font-size: 1.25rem; }
@media screen and (max-width: 640px) { .nav-menu ul { font-size: 0.75rem; } }
.nav-menu ul li { background: url("../img/common/ico_navmenu.png") no-repeat left 5.46875% top 0.1em; }
.nav-menu ul li a { display: block; text-decoration: none; }
.nav-menu .nav-menu-list01 dl { border-bottom: 1px solid #46b46b; }
.nav-menu .nav-menu-list01 dl dt { padding: 3.90625% 5.46875%; background: url("../img/common/ico_navmenu03.png") no-repeat right 5.46875% center; font-size: 1.375rem; cursor: pointer; }
@media screen and (max-width: 640px) { .nav-menu .nav-menu-list01 dl dt { font-size: 1rem; background-size: 20px auto; } }
.nav-menu .nav-menu-list01 dl dt.active { background: url("../img/common/ico_navmenu02.png") no-repeat right 5.46875% center; }
@media screen and (max-width: 640px) { .nav-menu .nav-menu-list01 dl dt.active { background-size: 20px auto; } }
.nav-menu .nav-menu-list01 dl dd { display: none; padding: 3.90625% 0; border-top: 1px solid #46b46b; }
.nav-menu .nav-menu-list01 dl dd ul li { padding-left: 9.375%; margin-bottom: 4.6875%; }
.nav-menu .nav-menu-list01 dl dd ul li:last-child { margin-bottom: 0; }
.nav-menu .nav-menu-list01 p { border-bottom: 1px solid #46b46b; font-size: 1.375rem; }
@media screen and (max-width: 640px) { .nav-menu .nav-menu-list01 p { font-size: 1rem; } }
.nav-menu .nav-menu-list01 p a { display: block; text-decoration: none; padding: 3.90625% 5.46875%; }
.nav-menu .nav-menu-list02 { display: flex; flex-wrap: wrap; padding: 3.90625% 0 9.375%; }
.nav-menu .nav-menu-list02 li { width: 50%; padding-left: 9.375%; margin-bottom: 4.6875%; background-position: left 10.9375% top 0.1em; }
.nav-menu .nav-menu-list02 li:last-child { margin-bottom: 0; }
.nav-menu .nav-menu-sns { display: flex; justify-content: center; align-items: center; margin-bottom: 7.8125%; }
.nav-menu .nav-menu-sns li { width: 18.75%; margin-right: 14.0625%; padding: 0; background: none; }
.nav-menu .nav-menu-sns li:last-child { margin-right: 0; }

.js-menuopen { overflow: hidden; }
.js-menuopen .header-menu span:nth-child(1) { transform: translateY(16px) rotate(-45deg); }
.js-menuopen .header-menu span:nth-child(2) { opacity: 0; }
.js-menuopen .header-menu span:nth-child(3) { transform: translateY(-16px) rotate(45deg); }
.js-menuopen .nav-menu { display: block; }

/* ==================================================================================================== サイドナビ
==================================================================================================== */
.sidenav { z-index: 99; position: absolute; top: 0; right: 0; width: 70px; margin-top: 15.625%; }
@media screen and (max-width: 960px) { .sidenav { display: none; } }
.sidenav .sidenav-in { width: 100%; background-color: #46b46b; border-top-left-radius: 20px; border-bottom-left-radius: 20px; }
.sidenav ul { width: 100%; }
.sidenav ul li { position: relative; display: flex; justify-content: center; width: 100%; }
.sidenav ul li::after { content: ''; position: absolute; left: 50%; bottom: 0; display: block; width: 2em; height: 1px; background-color: #fff; transform: translateX(-50%); }
.sidenav ul li a { display: flex; justify-content: center; align-items: center; text-decoration: none; width: 100%; padding: 15px 0; color: #fff; font-weight: 700; }
.sidenav ul li a span { display: block; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; -o-writing-mode: vertical-rl; writing-mode: vertical-rl; }
.sidenav ul li:first-child a { padding-top: 30px; }
.sidenav ul li:last-child::after { display: none; }
.sidenav ul li:last-child a { padding-bottom: 30px; }
.sidenav ul li .sidenav-access span { padding: 30px 5px 0; background: url("../img/common/ico_access.png") no-repeat center top; }
.sidenav ul li .sidenav-pamphlet span { padding: 35px 5px 0; background: url("../img/common/ico_pamphlet.png") no-repeat center top; }

/* ==================================================================================================== ぱんくず
==================================================================================================== */
.topicpath { height: 48px; border-bottom: 1px solid #ddd; }
@media screen and (max-width: 960px) { .topicpath { height: 60px; } }
.topicpath .inner { display: flex; align-items: center; height: 100%; }
.topicpath ol { display: flex; align-items: center; flex-wrap: wrap; font-size: 0.8125rem; line-height: 1.4; }
@media screen and (max-width: 640px) { .topicpath ol { font-size: 0.625rem; } }
.topicpath ol li { margin-right: 1em; }
.topicpath ol li a { margin-right: 1em; }
.topicpath ol li a span { text-decoration: underline; }
.topicpath ol li a:hover span { text-decoration: none; }
.topicpath ol li:first-child span { display: inline-block; padding: 5px 0 5px 25px; background: url("../img/common/ico_home.png") no-repeat left top; }

/* ==================================================================================================== メインタイトル
==================================================================================================== */
.mainttl-sec { position: relative; max-width: 1760px; margin: 0 auto; padding: 0 20px; }
.mainttl-sec::before { content: ''; position: absolute; top: 0; left: 20px; width: calc(100% - 40px); height: 100%; background-color: rgba(255, 255, 255, 0.5); border-radius: 0.5em; }
.mainttl-sec figure { border-radius: 0.5em; overflow: hidden; }
.mainttl-sec .mainttl-ttl { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; flex-direction: column; font-weight: bold; text-shadow: 0 0 10px rgb(255 255 255 / 70%); }
@media screen and (max-width: 960px) { .mainttl-sec .mainttl-ttl img { width: 30%; } }
.mainttl-sec .mainttl-ttl span { font-family: fot-tsukuardgothic-std,sans-serif; font-size: 2.25rem; font-weight: 700; font-style: normal; }
@media screen and (max-width: 640px) { .mainttl-sec .mainttl-ttl span { font-size: 1.5rem; } }
.mainttl-sec .mainttl-ttl i { display: inline-block; margin-top: 10px; font-family: 'Caveat', cursive; font-size: 1.5rem; font-style: normal; font-weight: 500; }
@media screen and (max-width: 640px) { .mainttl-sec .mainttl-ttl i { font-size: 1rem; } }

/* ==================================================================================================== フッター
==================================================================================================== */
.footer { border-top: 3px solid #ddd; }
.footer .footer-in { max-width: 1440px; margin: 0 auto; padding: 0 20px; }
@media screen and (max-width: 640px) { .footer .footer-in { padding: 0 4.6875%; } }
.footer .fnav { padding: 45px 0; }
@media screen and (max-width: 640px) { .footer .fnav { padding: 7.8125% 0; } }
.footer .fnav ul { display: flex; flex-wrap: wrap; padding-left: 30px; font-size: 0.875rem; }
@media screen and (max-width: 960px) { .footer .fnav ul { padding-left: 0; } }
@media screen and (max-width: 640px) { .footer .fnav ul { margin-bottom: 6.8965517241%; }
  .footer .fnav ul:nth-child(2) li { width: 100% !important; }
  .footer .fnav ul:last-child { margin-bottom: 0; } }
.footer .fnav ul li { width: calc(100% / 5); margin-bottom: 10px; padding-left: 1em; padding-right: 20px; text-indent: -1em; }
@media screen and (max-width: 960px) { .footer .fnav ul li { width: calc(100% / 4); } }
@media screen and (max-width: 640px) { .footer .fnav ul li { width: 50%; } }
.footer .fnav ul li a { text-decoration: none; padding-left: 15px; background: url("../img/common/ico_fnav.png") no-repeat left top 0.2em; font-weight: bold; line-height: 1.6; }
.footer .fnav ul li a:hover { text-decoration: underline; }
.footer .footer-main { padding: 35px 0 110px; border-top: 1px solid #ddd; background: url("../img/common/bg_footer.png") repeat-x center bottom; }
@media screen and (max-width: 640px) { .footer .footer-main { padding: 4.6875% 0 7.03125%; background: url("../img/common/sp/bg_footer.png") repeat-x center bottom; background-size: contain; } }
.footer .footer-main .footer-con { display: flex; justify-content: space-between; }
@media screen and (max-width: 960px) { .footer .footer-main .footer-con { display: block; } }
.footer .footer-main .footer-l { width: 50%; }
@media screen and (max-width: 960px) { .footer .footer-main .footer-l { width: 100%; margin-bottom: 40px; padding-bottom: 40px; border-bottom: 1px solid #ddd; } }
@media screen and (max-width: 640px) { .footer .footer-main .footer-l { margin-bottom: 36.2068965517%; padding-bottom: 0; border: none; } }
.footer .footer-main .footer-l .footer-box { display: flex; align-items: center; margin-bottom: 30px; }
@media screen and (max-width: 640px) { .footer .footer-main .footer-l .footer-box { align-items: flex-start; flex-direction: column-reverse; margin-bottom: 6.8965517241%; } }
.footer .footer-main .footer-l .footer-box .f-logo { margin-right: 25px; font-size: 1.125rem; font-weight: 700; }
@media screen and (max-width: 640px) { .footer .footer-main .footer-l .footer-box .f-logo { margin-right: 0; font-size: 1.25rem; line-height: 1.4; } }
.footer .footer-main .footer-l .footer-box .f-sns { flex: 1; display: flex; align-items: center; }
@media screen and (max-width: 640px) { .footer .footer-main .footer-l .footer-box .f-sns { flex: auto; justify-content: center; width: 100%; margin-bottom: 6.8965517241%; } }
.footer .footer-main .footer-l .footer-box .f-sns li { width: 32px; margin-right: 10px; }
@media screen and (max-width: 640px) { .footer .footer-main .footer-l .footer-box .f-sns li { width: 15.5172413793%; margin-right: 8.6206896552%; } }
.footer .footer-main .footer-l .footer-box .f-sns li:last-child { margin-right: 0; }
.footer .footer-main .footer-l .footer-box .f-sns img { width: 100%; }
.footer .footer-main .footer-l .f-address { margin-bottom: 15px; font-size: 0.875rem; }
@media screen and (max-width: 640px) { .footer .footer-main .footer-l .f-address { margin-bottom: 0; line-height: 1.6; } }
.footer .footer-main .footer-l .f-lead { font-size: 0.875rem; }
@media screen and (max-width: 640px) { .footer .footer-main .footer-l .f-lead { margin-bottom: 5.1724137931%; line-height: 1.6; } }
.footer .footer-main .footer-r { width: 50%; }
@media screen and (max-width: 960px) { .footer .footer-main .footer-r { width: 100%; } }
@media screen and (max-width: 640px) { .footer .footer-main .footer-r { padding: 0 4.6875%; } }
.footer .footer-main .footer-r .copy { margin-bottom: 35px; font-size: 0.75rem; text-align: right; color: #777; font-weight: 800; }
@media screen and (max-width: 640px) { .footer .footer-main .footer-r .copy { margin-bottom: 0; text-align: left; line-height: 1.2; } }
.footer .footer-main .footer-r .f-site { text-align: right; }
@media screen and (max-width: 640px) { .footer .footer-main .footer-r .f-site { width: 100%; margin: 0 auto 4.8387096774%; } }
.footer .footer-main .f-link { display: flex; justify-content: flex-end; margin-bottom: 25px; }
@media screen and (max-width: 640px) { .footer .footer-main .f-link { display: block; margin-bottom: 0; } }
.footer .footer-main .f-link li { margin-left: 40px; }
@media screen and (max-width: 640px) { .footer .footer-main .f-link li { margin-left: 0; margin-bottom: 1.724137931%; }
  .footer .footer-main .f-link li:last-child { margin-bottom: 0; } }
.footer .footer-main .f-link li:first-child { margin-left: 0; }
.footer .footer-main .f-link li a { text-decoration: none; padding-left: 15px; background: url("../img/common/ico_fnav.png") no-repeat left top 0.2em; font-size: 0.8125rem; font-weight: bold; }
@media screen and (max-width: 640px) { .footer .footer-main .f-link li a { font-size: 0.8125rem; } }
.footer .footer-main .f-link li a:hover { text-decoration: underline; }

/* ==================================================================================================== Cookie
==================================================================================================== */
.js-cookie { padding-bottom: 193px; }
@media screen and (max-width: 960px) { .js-cookie { padding-bottom: 16em; } }

.cookie { position: fixed; bottom: 0; left: 0; width: 100%; height: 193px; padding-top: 40px; background: url("../img/common/bg_cookie.png") no-repeat center top; }
@media screen and (max-width: 960px) { .cookie { height: 16em; padding-top: 2em; background-size: auto 100%; } }
@media screen and (max-width: 640px) { .cookie { padding: 6.25% 0 9.375%; } }
.cookie .cookie-in { max-width: 1140px; margin: 0 auto; padding: 0 20px; }
@media screen and (max-width: 640px) { .cookie .cookie-in { padding: 0 4.6875%; } }
.cookie .cookie-con { display: flex; align-items: flex-end; justify-content: space-between; }
@media screen and (max-width: 960px) { .cookie .cookie-con { display: block; } }
.cookie .cookie-txt { width: 69.0909090909%; font-size: 0.875rem; line-height: 2; }
@media screen and (max-width: 960px) { .cookie .cookie-txt { width: 100%; margin-bottom: 1em; } }
@media screen and (max-width: 640px) { .cookie .cookie-txt { margin-bottom: 5.1724137931%; } }
.cookie .cookie-txt a { font-weight: 700; }
.cookie .cookie-btn { width: 27.2727272727%; padding: 15px; border: 2px solid #333; background: url("../img/common/ico_arrow_b.png") no-repeat right 10px center; text-align: center; font-weight: 700; border-radius: 1.5rem; cursor: pointer; }
@media screen and (max-width: 960px) { .cookie .cookie-btn { width: 100%; max-width: 300px; margin: 0 auto; } }
@media screen and (max-width: 640px) { .cookie .cookie-btn { background: none; } }

.opacity { transition: all .6s; }
.opacity:hover { opacity: 0.7; }

.only_pc-tab { display: block; }
@media screen and (max-width: 960px) { .only_pc-tab { display: none; } }

.only-tab { display: none; }
@media screen and (max-width: 960px) { .only-tab { display: block; } }

.tab { display: none; }

.tab.active { display: block; }

@media screen and (max-width: 640px) { .scroll { overflow-x: auto; white-space: nowrap; }
  .scroll::-webkit-scrollbar { height: 5px; }
  .scroll::-webkit-scrollbar-track { background-color: #ededed; }
  .scroll::-webkit-scrollbar-thumb { background-color: #6d5645; } }

.ico::before { content: ''; display: inline-block; background-repeat: no-repeat !important; background-size: contain; margin: 0 0.5em; }
.ico.ico-pdf::before { width: 21px; height: 20px; background: url("../img/common/ico_pdf.png"); }
.ico.ico-external::before { width: 15px; height: 15px; background: url("../img/common/ico_link.png"); }
.ico.ico-pamphlet-dl::before { width: 73px; height: 56px; background: url("../img/pamphlet/ico_pamphlet.svg"); vertical-align: middle; }
@media screen and (max-width: 640px) { .ico.ico-pamphlet-dl::before { width: 53px; height: 36px; } }

.reverse { flex-direction: row-reverse; }

.module-sec { display: none; }

.module-inner { position: relative; padding: 50px; }
@media screen and (max-width: 640px) { .module-inner { padding: 20px 0; } }
.module-inner .prefectural-map .map-link a { padding: 5px; font-size: 0.875rem; }
@media screen and (max-width: 1420px) { .module-inner .prefectural-map .map-link a { padding: 2px 5px; font-size: 0.75rem; background-size: 5px auto; background-position: right 2px center !important; } }
@media screen and (max-width: 960px) { .module-inner .prefectural-map .map-link a { font-size: 0.625rem; } }
@media screen and (max-width: 640px) { .module-inner .prefectural-map .map-link a { font-size: 0.5rem; } }
@media screen and (max-width: 1420px) { .module-inner .prefectural-map .map-link a:hover { background-size: 5px auto; background-position: right 2px center; } }

.btn { display: block; text-decoration: none; max-width: 400px; padding: 20px 10px; background: #46b46b url("../img/common/ico_arrow_w.png") no-repeat right 20px center; color: #fff; text-align: center; font-weight: 700; line-height: 1; border-radius: 1.5rem; transition: all .6s; }
@media screen and (max-width: 960px) { .btn { margin: 0 auto; } }
@media screen and (max-width: 640px) { .btn { width: 68.9655172414%; max-width: 100%; padding: 15px; font-size: 0.75rem; } }
.btn:hover { opacity: 0.7; }

/* ==================================================================================================== ページャー
==================================================================================================== */
.pager ol { display: flex; justify-content: flex-end; }
.pager ol li { width: 45px; height: 45px; margin-left: 15px; }
@media screen and (max-width: 640px) { .pager ol li { width: 30px; height: 30px; margin-left: 10px; font-size: 0.75rem; } }
.pager ol li a { text-decoration: none; display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; color: #fff; background-color: #c8c8c8; line-height: 1; border-radius: 50%; }
.pager ol li a:hover, .pager ol li a.active { background-color: #46b46b; }

/* ==================================================================================================== ページナビ
==================================================================================================== */
.pagenav { max-width: 846px; margin: 0 auto 45px; }
.pagenav ul { display: flex; flex-wrap: wrap; }
.pagenav ul li { display: flex; align-items: center; justify-content: center; width: 31.914893617%; height: 5rem; margin-right: 2.1276595745%; margin-bottom: 20px; }
.pagenav ul li:nth-child(3n) { margin-right: 0; }
.pagenav ul li a { text-decoration: none; display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; padding: 10px 5px; border: 1px solid #46b46b; background-color: #f5f7fe; border-radius: 10px; font-size: 1.125rem; text-align: center; font-weight: bold; line-height: 1.4; transition: all .6s; }
@media screen and (max-width: 640px) { .pagenav ul li a { font-size: 0.75rem; } }
.pagenav ul li a:hover, .pagenav ul li a.active { background-color: #46b46b; color: #fff; }

/* ==================================================================================================== ローカルナビ
==================================================================================================== */
.lnav ul { display: flex; justify-content: center; border-bottom: 1px solid #ddd; }
.lnav ul li { margin: 0 40px; }
@media screen and (max-width: 960px) { .lnav ul li { flex: 1; margin: 0 20px; } }
.lnav ul li a, .lnav ul li .lnav-p { position: relative; display: block; text-decoration: none; padding: 25px 0; font-size: 1.125rem; text-align: center; color: #46b46b; font-weight: bold; line-height: 1.4; cursor: pointer; }
@media screen and (max-width: 640px) { .lnav ul li a, .lnav ul li .lnav-p { font-size: 0.75rem; } }
.lnav ul li a:hover::before, .lnav ul li a.active::before, .lnav ul li .lnav-p:hover::before, .lnav ul li .lnav-p.active::before { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 5px; background-color: #46b46b; }
.lnav ul li a:hover::after, .lnav ul li a.active::after, .lnav ul li .lnav-p:hover::after, .lnav ul li .lnav-p.active::after { content: ''; position: absolute; bottom: 0; left: 50%; width: 14px; height: 10px; margin-left: -7px; margin-bottom: -20px; background: url("../img/common/ico_arrow_g03.png") no-repeat left top; }

.lnav-wrap { position: relative; z-index: 100; }

.lnav-c { position: absolute; display: none; width: 100%; margin-top: 1.5em; padding: 20px 0 10px; background-color: #f5f7fe; }
@media screen and (max-width: 640px) { .lnav-c { padding: 30px 0 20px; } }
.lnav-c ul { display: flex; flex-wrap: wrap; }
.lnav-c ul li { width: 25%; margin-bottom: 10px; line-height: 1.4; }
@media screen and (max-width: 640px) { .lnav-c ul li { width: 50%; } }
.lnav-c ul li a { display: inline-block; padding-left: 15px; background: url("../img/common/ico_gnav02.png") no-repeat left top 0.3em; font-weight: 400; }

/* ==================================================================================================== ニュース　詳細　共通
==================================================================================================== */
.tabmenu { display: flex; justify-content: center; max-width: 1000px; margin: 0 auto; }
.tabmenu li { width: 31%; margin-right: 3.5%; padding: 30px 5px; background-color: #d4d3d2; text-align: center; font-weight: bold; cursor: pointer; line-height: 1; border-top-left-radius: 15px; border-top-right-radius: 15px; }
@media screen and (max-width: 960px) { .tabmenu li { width: 25%; } }
@media screen and (max-width: 640px) { .tabmenu li { width: 28.125%; margin-right: 1.5625%; padding: 15px 5px 20px; font-size: 0.75rem; border-top-left-radius: 10px; border-top-right-radius: 10px; } }
.tabmenu li:last-child { margin-right: 0; }
.tabmenu li:hover, .tabmenu li.active { position: relative; background-color: #fff; color: #46b46b; border-top-left-radius: 0; border-top-right-radius: 0; }
.tabmenu li:hover::before, .tabmenu li.active::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 7px; margin-top: -7px; background-color: #46b46b; border-top-left-radius: 25px; border-top-right-radius: 25px; }
@media screen and (max-width: 640px) { .tabmenu li:hover::before, .tabmenu li.active::before { border-top-left-radius: 10px; border-top-right-radius: 10px; } }

.tab-in { margin-top: -1px; padding: 60px 100px 90px; background-color: #fff; border-radius: 20px; }
@media screen and (max-width: 960px) { .tab-in { padding: 30px 15px 50px; } }
@media screen and (max-width: 640px) { .tab-in { padding: 4.6875% 2.34375% 7.8125%; } }

.area-nav { display: flex; justify-content: center; flex-wrap: wrap; margin-bottom: 5px; }
.area-nav li { width: 100%; max-width: 100px; margin-right: 1%; margin-bottom: 5px; padding: 8px 2px; border: 1px solid #46b46b; color: #46b46b; text-align: center; font-weight: bold; line-height: 1; cursor: pointer; }
@media screen and (max-width: 960px) { .area-nav li { margin-bottom: 30px; } }
@media screen and (max-width: 640px) { .area-nav li { width: 18.1818181818%; margin-right: 1.8181818182%; font-size: 0.625rem; }
  .area-nav li:nth-child(5n) { margin-right: 0; } }
.area-nav li:last-child { margin-right: 0; }
.area-nav li:hover { position: relative; background-color: #46b46b; color: #fff; }

.news-top { display: flex; flex-wrap: wrap; align-items: center; margin-bottom: 10px; }
@media screen and (max-width: 960px) { .news-top { display: block; } }
.news-top .news-date { margin-right: 10px; font-size: 0.8125rem; color: #46b46b; font-weight: 700; line-height: 1; }
@media screen and (max-width: 960px) { .news-top .news-date { margin-right: 0; margin-bottom: 10px; } }
@media screen and (max-width: 640px) { .news-top .news-date { font-size: 0.625rem; } }
.news-top .news-cate { width: 100%; max-width: 140px; margin-right: 10px; padding: 5px; font-size: 0.75rem; color: #fff; font-weight: 700; text-align: center; line-height: 1; }
@media screen and (max-width: 960px) { .news-top .news-cate { margin-right: 0; margin-bottom: 10px; } }
.news-top .news-cate.cate01 { background-color: #faab00; }
.news-top .news-cate.cate02 { background-color: #5a8952; }
.news-top .news-cate.cate03 { background-color: #1892da; }
.news-top .news-cate.cate04 { background-color: #f569a3; }
.news-top .news-cate.cate05 { background-color: #646464; }
.news-top .news-tag { margin-right: 10px; padding: 5px 10px; border: 1px solid #46b46b; font-size: 0.75rem; color: #46b46b; text-align: center; line-height: 1; }
@media screen and (max-width: 960px) { .news-top .news-tag { max-width: 200px; margin-right: 0; margin-bottom: 10px; } }
@media screen and (max-width: 640px) { .news-top .news-tag { font-size: 0.625rem; } }

.news-list { margin-bottom: 70px; }
@media screen and (max-width: 960px) { .news-list { margin-bottom: 50px; padding: 0 20px; } }
@media screen and (max-width: 640px) { .news-list { margin-bottom: 9.0909090909%; padding: 0 3.6363636364%; } }
.news-list li { border-bottom: 1px solid #eae9dd; }
.news-list li a { display: flex; align-items: center; justify-content: space-between; text-decoration: none; padding: 30px 0; }
@media screen and (max-width: 960px) { .news-list li a { align-items: flex-end; } }
.news-list li a:hover figure { opacity: 0.7; }
.news-list li a:hover .news-txt { text-decoration: underline; }
.news-list li figure { transition: all .6s; width: 14%; }
@media screen and (max-width: 960px) { .news-list li figure { width: 34%; } }
@media screen and (max-width: 640px) { .news-list li figure { width: 26.9230769231%; } }
.news-list li .news-box { width: 83%; }
@media screen and (max-width: 960px) { .news-list li .news-box { width: 63%; } }
@media screen and (max-width: 640px) { .news-list li .news-box { width: 67.3076923077%; } }
.news-list li .news-box .news-txt { font-weight: 700; }
@media screen and (max-width: 640px) { .news-list li .news-box .news-txt { font-size: 0.875rem; } }

.news-att { margin-bottom: 40px; }

.list-back { margin-bottom: 85px; }
@media screen and (max-width: 640px) { .list-back { margin-bottom: 13.7931034483%; } }
.list-back span { display: inline-block; padding-left: 15px; background: url("../img/common/ico_return.png") no-repeat left center; }

.detail-top .news-date { margin-bottom: 20px; font-size: 0.875rem; color: #46b46b; font-weight: bold; line-height: 1; }
.detail-top .pagettl { margin-top: 0; margin-bottom: 50px; font-size: 2.5rem; font-weight: bold; text-align: center; }
@media screen and (max-width: 640px) { .detail-top .pagettl { font-size: 2.25rem; } }
.detail-top .detail-top-box { display: flex; align-items: center; justify-content: space-between; margin-bottom: 55px; padding: 30px 20px; background-color: #f5f7fe; }
@media screen and (max-width: 640px) { .detail-top .detail-top-box { display: block; } }
.detail-top .detail-top-box .list-back, .detail-top .detail-top-box .share { margin-bottom: 0; }
@media screen and (max-width: 640px) { .detail-top .detail-top-box .share { margin-top: 20px; justify-content: center; } }

/* ==================================================================================================== シェア
==================================================================================================== */
.share { display: flex; align-items: flex-end; justify-content: flex-end; margin-bottom: 80px; }
.share.share_main { justify-content: center; margin-top: 100px; margin-bottom: 0 !important; }
.share.share_main dt { margin-right: 1em; font-size: 1rem; }
@media screen and (max-width: 640px) { .share.share_main dt { font-size: 0.75rem; } }
@media screen and (max-width: 640px) { .share { margin-bottom: 10.3448275862%; } }
.share dt { font-size: 0.75rem; }
.share dd ul { display: flex; justify-content: flex-end; }
.share dd ul li { margin-left: 10px; }

.pagettl { margin-top: 145px; margin-bottom: 90px; font-size: 2.5rem; font-weight: bold; text-align: center; }
@media screen and (max-width: 640px) { .pagettl { font-size: 2.25rem; } }

.heading { margin-bottom: 30px; padding-bottom: 20px; border-bottom: 3px solid #ddd; font-size: 2rem; font-weight: bold; }
@media screen and (max-width: 640px) { .heading { margin-bottom: 5.1724137931%; padding-bottom: 5.1724137931%; font-size: 1.625rem; } }

.heading_g { margin-bottom: 35px; padding-bottom: 25px; border-bottom: 2px solid #46b46b; font-size: 2.25rem; font-weight: 700; }
@media screen and (max-width: 640px) { .heading_g { padding-bottom: 15px; font-size: 1.625rem; } }

.subheading { margin-bottom: 80px; font-size: 1.75rem; font-weight: bold; }
@media screen and (max-width: 640px) { .subheading { margin-bottom: 13.7931034483%; font-size: 1.375rem; } }

.subheading_g { margin-bottom: 25px; font-size: 1.625rem; font-weight: 400; }
.subheading_g::before { content: '■'; color: #46b46b; margin-right: 0.2em; }
@media screen and (max-width: 640px) { .subheading_g { padding-bottom: 15px; font-size: 1.375rem; } }

.txtheading { margin-bottom: 20px; font-size: 1.5rem; font-weight: bold; }
@media screen and (max-width: 640px) { .txtheading { margin-bottom: 3.4482758621%; } }

.txt { font-size: 1.0625rem; line-height: 2; }
.txt li { padding-left: 1em; text-indent: -1em; }

.txt_indent { padding-left: 1em; text-indent: -1em; }

.txt_list li { margin-bottom: 10px; padding-left: 1.5em; text-indent: -1.5em; }
.txt_list li::before { content: '・'; margin-right: 0.5em; }
.txt_list li:last-child { margin-bottom: 0; }

.txt_linklist { margin-bottom: 60px; }
@media screen and (max-width: 640px) { .txt_linklist { margin-bottom: 10.3448275862%; } }
.txt_linklist.txt_linklist02 li { padding-left: 0; background: none; }
.txt_linklist.txt_linklist02 li::before { content: '・'; }
.txt_linklist li { margin-bottom: 10px; padding-left: 20px; background: url("../img/common/ico_arrow_g.png") no-repeat left top 0.4em; }
.txt_linklist li:last-child { margin-bottom: 0; }

.fig { position: relative; overflow: hidden; padding-top: 75%; background-color: #fff; }
.fig .fig_in { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.fig img { width: 100%; height: 100%; object-fit: contain; }

.fig-txt { display: flex; justify-content: space-between; margin-bottom: 50px; }
@media screen and (max-width: 640px) { .fig-txt { display: block; margin-bottom: 10.3448275862%; } }
.fig-txt .fig-txt-img { width: 41.6666666667%; }
@media screen and (max-width: 640px) { .fig-txt .fig-txt-img { width: 100%; margin-bottom: 20px; } }
.fig-txt .fig-txt-lead { width: 56.25%; line-height: 2; }
@media screen and (max-width: 640px) { .fig-txt .fig-txt-lead { width: 100%; } }

.cap { margin-top: 15px; text-align: center; }
@media screen and (max-width: 640px) { .cap { font-size: 0.75rem; } }

.fig-wid { width: 100%; margin: 0 auto 60px; }
@media screen and (max-width: 640px) { .fig-wid { margin-bottom: 10.3448275862%; } }
.fig-wid li { margin-bottom: 30px; }
@media screen and (max-width: 640px) { .fig-wid li { margin-bottom: 5.1724137931%; } }
.fig-wid li:last-child { margin-bottom: 0; }

.fig-01 { max-width: 800px; margin: 0 auto 60px; }
@media screen and (max-width: 640px) { .fig-01 { margin-bottom: 10.3448275862%; } }
.fig-01 li { margin-bottom: 30px; }
@media screen and (max-width: 640px) { .fig-01 li { margin-bottom: 5.1724137931%; } }
.fig-01 li:last-child { margin-bottom: 0; }

.fig-02 { display: flex; flex-wrap: wrap; margin-bottom: 60px; }
@media screen and (max-width: 640px) { .fig-02 { margin-bottom: 10.3448275862%; } }
.fig-02 li { width: 46.6666666667%; margin-right: 6.6666666667%; margin-bottom: 5%; }
.fig-02 li:nth-child(2n) { margin-right: 0; }
.fig-02 li:last-child { margin: 0; }

.fig-03 { display: flex; flex-wrap: wrap; margin-bottom: 60px; }
@media screen and (max-width: 640px) { .fig-03 { margin-bottom: 10.3448275862%; } }
.fig-03 li { width: 31.6666666667%; margin-right: 2.5%; margin-bottom: 2.5%; }
.fig-03 li:nth-child(3n) { margin-right: 0; }
.fig-03 li:last-child { margin: 0; }

.fig-04 { display: flex; flex-wrap: wrap; margin-bottom: 60px; }
@media screen and (max-width: 640px) { .fig-04 { margin-bottom: 10.3448275862%; } }
.fig-04 li { width: 23.3333333333%; margin-right: 2.1666666667%; margin-bottom: 2.1666666667%; }
.fig-04 li:nth-child(4n) { margin-right: 0; }
.fig-04 li:last-child { margin: 0; }

.detail-movie { max-width: 800px; margin: 0 auto; }
.detail-movie .movie-iframe { position: relative; width: 100%; padding-bottom: 56.25%; height: 0; overflow: hidden; }
.detail-movie iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

.search-sec { margin-bottom: 115px; }
.search-sec .search-txt { margin-bottom: 75px; font-size: 1.0625rem; }
.search-sec .search-ttl { padding: 25px; background: #787878 url("../img/common/ico_arrow_w04.png") no-repeat right 30px center; font-size: 2rem; font-weight: bold; text-align: center; color: #fff; border-radius: 10px; cursor: pointer; line-height: 1; }
@media screen and (max-width: 640px) { .search-sec .search-ttl { font-size: 1.625rem; } }
.search-sec .search-ttl.active { background-image: url("../img/common/ico_arrow_w03.png"); }
.search-sec .search-box { display: none; margin-top: 40px; padding: 50px 85px; border: 1px solid #333; }
@media screen and (max-width: 960px) { .search-sec .search-box { padding: 50px; } }
@media screen and (max-width: 640px) { .search-sec .search-box { padding: 30px; } }
.search-sec .search-box dl { margin-bottom: 50px; }
.search-sec .search-box dl dt { margin-bottom: 15px; font-size: 1.375rem; font-weight: bold; color: #46b46b; line-height: 1; }
.search-sec .search-box dl dd .genre-heading { padding: 10px 15px; background-color: #f5f7fe; font-size: 1.1875rem; font-weight: bold; }
.search-sec .search-box dl dd ul { display: flex; flex-wrap: wrap; font-size: 1.1875rem; font-weight: bold; }
.search-sec .search-box dl dd ul.area-search li { width: calc(100% / 4); }
@media screen and (max-width: 640px) { .search-sec .search-box dl dd ul.area-search li { width: calc(100% / 2); } }
.search-sec .search-box dl dd ul.area-search li:first-child { width: 100%; background-color: #f5f7fe; }
.search-sec .search-box dl dd ul.history-search li, .search-sec .search-box dl dd ul.food-search li { margin-right: 2rem; }
.search-sec .search-box dl dd ul.history-search li:last-child, .search-sec .search-box dl dd ul.food-search li:last-child { margin-right: 0; }
.search-sec .search-box dl dd ul.genre-search li, .search-sec .search-box dl dd ul.technology-search li, .search-sec .search-box dl dd ul.nature-search li, .search-sec .search-box dl dd ul.sports-search li { width: calc(100% / 3); }
@media screen and (max-width: 640px) { .search-sec .search-box dl dd ul.genre-search li, .search-sec .search-box dl dd ul.technology-search li, .search-sec .search-box dl dd ul.nature-search li, .search-sec .search-box dl dd ul.sports-search li { width: 100%; } }
.search-sec .search-box dl dd ul li { padding: 10px 15px; }
.search-sec .search-box dl dd .keyword { width: 100%; padding: 15px 10px; border: 1px solid #ddd; }
.search-sec .search-box .search-tab { margin-bottom: 20px; }
.search-sec .search-box .search-tab .search-tab-nav { display: flex; margin-bottom: 20px; }
.search-sec .search-box .search-tab .search-tab-nav li { width: 100%; max-width: 320px; margin-right: 2.9126213592%; padding: 25px 30px 25px 20px; background: #fff url("../img/common/ico_arrow_g03.png") no-repeat right 20px center; border: 1px solid #ddd; font-size: 1.375rem; font-weight: bold; color: #46b46b; line-height: 1; cursor: pointer; }
@media screen and (max-width: 960px) { .search-sec .search-box .search-tab .search-tab-nav li { font-size: 1rem; } }
@media screen and (max-width: 640px) { .search-sec .search-box .search-tab .search-tab-nav li { padding: 20px 20px 20px 10px; font-size: 0.6875rem; background-position: right 10px center; } }
.search-sec .search-box .search-tab .search-tab-nav li:hover, .search-sec .search-box .search-tab .search-tab-nav li.active { background: #46b46b url("../img/common/ico_arrow_w06.png") no-repeat right 20px center; color: #fff; }
@media screen and (max-width: 640px) { .search-sec .search-box .search-tab .search-tab-nav li:hover, .search-sec .search-box .search-tab .search-tab-nav li.active { background-position: right 10px center; } }
.search-sec .search-box .search-tab .search-tab-nav li:last-child { margin-right: 0; }
.search-sec .search-box .search-tab .search-tab-contents { padding: 30px 20px 20px; background-color: #f5f7fe; }
.search-sec .search-box .search-tab .search-tab-contents ul { display: flex; flex-wrap: wrap; font-size: 1.1875rem; font-weight: bold; }
@media screen and (max-width: 640px) { .search-sec .search-box .search-tab .search-tab-contents ul { font-size: 0.875rem; } }
.search-sec .search-box .search-tab .search-tab-contents ul li { margin-right: 2em; margin-bottom: 1em; }
@media screen and (max-width: 640px) { .search-sec .search-box .search-tab .search-tab-contents ul li { width: 50%; margin-right: 0; margin-bottom: 10px; } }
.search-sec .search-box .search-tab .search-tab-contents ul li:last-child { margin: 0; }
.search-sec .search-box .search-btnbox { display: flex; justify-content: space-between; max-width: 650px; }
.search-sec .search-box .search-btn-reset { width: 100%; max-width: 160px; margin-right: 40px; padding: 25px 10px; background-color: #ddd; font-size: 1.125rem; font-weight: bold; border-radius: 4em; color: #333; cursor: pointer; line-height: 1; }
@media screen and (max-width: 640px) { .search-sec .search-box .search-btn-reset { width: 38.4615384615%; max-width: 100%; margin-right: 0; font-size: 0.875rem; } }
.search-sec .search-box .search-btn { width: 100%; max-width: 270px; padding: 25px 10px; background: #46b46b url("../img/common/ico_search02.png") no-repeat right 20px center; font-size: 1.125rem; font-weight: bold; border-radius: 4em; color: #fff; cursor: pointer; line-height: 1; }
@media screen and (max-width: 640px) { .search-sec .search-box .search-btn { width: 57.6923076923%; max-width: 100%; background-position: right 10px center; font-size: 0.875rem; } }

.module-sec { display: none; }

.module-in { position: relative; }
.module-in .module-close { position: absolute; top: 0; right: 0; width: 50px; height: 50px; cursor: pointer; }
@media screen and (max-width: 640px) { .module-in .module-close { width: 25px; height: 25px; } }
.module-in .module-box { padding: 5.8333333333% 0; background-color: #000; }
@media screen and (max-width: 640px) { .module-in .module-box { padding: 10.9375% 0; } }
.module-in .module-iframe { position: relative; width: 100%; padding-bottom: 50%; height: 0; overflow: hidden; }
.module-in .module-iframe iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

.results-sec { padding: 40px 0 100px; background-color: #f5f7fe; }
.results-sec .results-txt { margin-bottom: 40px; font-size: 1.375rem; font-weight: bold; }
.results-sec .results-heading { margin-bottom: 80px; padding-bottom: 25px; font-size: 1.625rem; border-bottom: 2px solid #46b46b; }
.results-sec .results-heading span { font-size: 2rem; font-weight: 700; }
.results-sec .results-list { display: flex; flex-wrap: wrap; margin-bottom: 40px; }
@media screen and (max-width: 640px) { .results-sec .results-list { display: block; } }
.results-sec .results-list li { width: 28.3333333333%; margin-right: 7.5%; margin-bottom: 5%; background-color: #fff; border-radius: 10px; overflow: hidden; }
@media screen and (max-width: 640px) { .results-sec .results-list li { width: 100%; margin-right: 0; } }
.results-sec .results-list li:nth-child(3n), .results-sec .results-list li:last-child { margin-right: 0; }
.results-sec .results-list li a { display: block; text-decoration: none; }
.results-sec .results-list li .list-box { position: relative; padding: 45px 25px; }
.results-sec .results-list li .list-area { position: absolute; top: 0; left: 50%; width: 100px; margin-top: -20px; margin-left: -50px; padding: 10px; background-color: #46b46b; font-size: 1.0625rem; color: #fff; text-align: center; line-height: 1; }
.results-sec .results-list li .list-ttl { font-size: 1.25rem; font-weight: 400; text-align: center; line-height: 2; }
.results-sec .results-list li .list-txt { margin-top: 20px; font-size: 1.0625rem; }

.modal-sec, .modal2-sec { display: none; position: fixed; top: 0; left: 0; z-index: 9999; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.7); }
.modal-sec .modal-in, .modal2-sec .modal-in { position: absolute; top: 0; left: 0; display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; padding: 40px 50px; overflow-y: auto; }
@media screen and (max-width: 640px) { .modal-sec .modal-in, .modal2-sec .modal-in { padding: 40px 30px; } }
.modal-sec .modal-con, .modal2-sec .modal-con { position: relative; width: 100%; max-width: 1200px; margin: auto; }
.modal-sec .modal-close, .modal2-sec .modal-close { position: absolute; top: 0; right: 0; z-index: 10; width: 4.1666666667%; margin-right: -4.1666666667%; cursor: pointer; }
@media screen and (max-width: 640px) { .modal-sec .modal-close, .modal2-sec .modal-close { width: 40px; margin-top: -40px; margin-right: 0; } }
.modal-sec .modal-close-btn, .modal2-sec .modal-close-btn { max-width: 270px; margin: 0 auto; padding: 20px 10px; background: #46b46b url("../img/common/ico_close.png") no-repeat right 15px center; font-size: 1.125rem; font-weight: bold; color: #fff; text-align: center; line-height: 1; border-radius: 2em; }
.modal-sec .modal-iframe, .modal2-sec .modal-iframe { position: relative; padding-top: 56.25%; }
.modal-sec .modal-iframe iframe, .modal2-sec .modal-iframe iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.modal-sec .modal-item, .modal2-sec .modal-item { margin-top: 20px; padding: 50px 60px; background-color: #fff; }
@media screen and (max-width: 640px) { .modal-sec .modal-item, .modal2-sec .modal-item { padding: 20px; } }
.modal-sec .modal-item dl, .modal2-sec .modal-item dl { margin-bottom: 30px; padding-bottom: 30px; border-bottom: 1px solid #ddd; line-height: 1.6; }
.modal-sec .modal-item dl dt, .modal2-sec .modal-item dl dt { margin-bottom: 10px; font-size: 1.5rem; font-weight: bold; }
.modal-sec .modal-item dl dd, .modal2-sec .modal-item dl dd { font-size: 1.0625rem; font-weight: bold; }
.modal-sec .modal-item p, .modal2-sec .modal-item p { font-size: 1.0625rem; font-weight: bold; line-height: 1.6; }

.modal2-sec .modal-con { max-width: 1320px; }
.modal2-sec .modal-prev, .modal2-sec .modal-next { position: absolute; top: 50%; z-index: 10; width: 5.3787878788%; margin-top: -35px; cursor: pointer; }
@media screen and (max-width: 640px) { .modal2-sec .modal-prev, .modal2-sec .modal-next { width: 40px; } }
.modal2-sec .modal-prev { left: 0; }
.modal2-sec .modal-next { right: 0; }

.js-modalopen { overflow: hidden; }

.clearfix { zoom: 1; }
.clearfix::before { content: ""; display: table; }
.clearfix::after { content: ""; display: table; clear: both; }

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

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

.w100 { width: 100%; }

.mab0 { margin-bottom: 0 !important; }

.mar0 { margin-right: 0 !important; }

.mat0 { margin-top: 0 !important; }

.mat10 { margin-top: 10px !important; }

.mat20 { margin-top: 20px !important; }

.mat40 { margin-top: 40px !important; }

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

.js-anime-fadein { opacity: 0; animation-duration: .5s; animation-timing-function: ease-in-out; animation-fill-mode: forwards; }
.js-anime-fadein.js-anime-on { animation-name: fadeIn; }

@keyframes fadeIn { 0% { opacity: 0; }
  100% { opacity: 1; } }
.js-anime-slide { opacity: 0; animation-duration: .5s; animation-timing-function: ease-in-out; animation-fill-mode: forwards; }
.js-anime-slide.js-anime-on { animation-name: slide; }

@keyframes slide { 0% { opacity: 0; transform: translateY(100px); }
  100% { opacity: 1; transform: translateY(0); } }
.js-anime-slideleft { opacity: 0; animation-duration: .5s; animation-timing-function: ease-in-out; animation-fill-mode: forwards; }
.js-anime-slideleft.js-anime-on { animation-name: slideLeft; }

@keyframes slideLeft { 0% { opacity: 0; transform: translateX(-100px); }
  100% { opacity: 1; transform: translateX(0); } }
.js-anime-slideright { opacity: 0; animation-duration: .5s; animation-timing-function: ease-in-out; animation-fill-mode: forwards; }
.js-anime-slideright.js-anime-on { animation-name: slideRight; }

@keyframes slideRight { 0% { opacity: 0; transform: translateX(100px); }
  100% { opacity: 1; transform: translateX(0); } }

/*# sourceMappingURL=style.css.map */
