@charset "UTF-8";
/* ---------- setting ---------- ---------- */
body { font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif; }

main { display: block; }

@media screen and (min-width: 768px) { main { font-size: 16px; } }

@media screen and (max-width: 767px) { main { font-size: 14px; }
  main img { max-width: 100%; } }

/* ----------------------------------------------------------
.btn-pagetop
---------------------------------------------------------- */
.btn-pagetop { position: fixed; display: block; bottom: 20px; right: 20px; width: 40px; height: 40px; background: #4B4B4B; color: #fff; text-align: center; cursor: pointer; border-radius: 50%; opacity: 0; transition-duration: 0.2s; transition-property: opacity; visibility: hidden; }

.btn-pagetop:after { content: ""; position: absolute; top: 18px; left: 10px; width: 12px; height: 1px; background: #fff; transform: rotate(-45deg); }

.btn-pagetop:before { content: ""; position: absolute; top: 18px; right: 10px; width: 12px; height: 1px; background: #fff; transform: rotate(45deg); }

.btn-pagetop.js-show { opacity: 1; visibility: visible; }

.btn-pagetop.js-show:hover { opacity: 0.6; }

.btn-pagetop.js-fixed { top: -60px; bottom: auto; position: absolute; }

/* ----------------------------------------------------------
.area-modal
---------------------------------------------------------- */
.area-modal { visibility: hidden; opacity: 0; transition-duration: 0.2s; position: fixed; top: 0px; left: 0px; right: 0px; bottom: 0px; z-index: 1000; }

.area-modal.js-show { visibility: visible; opacity: 1; }

.area-modal ._modal-bg { position: absolute; top: 0px; left: 0px; right: 0px; bottom: 0px; background: rgba(0, 0, 0, 0.85); }

.area-modal ._modal-btn-close { position: absolute; cursor: pointer; border-radius: 50%; z-index: 10; transition-duration: 0.2s; }

@media print, screen and (min-width: 768px) { .area-modal ._modal-btn-close { top: -50px; right: 0px; width: 40px; height: 40px; } }

@media screen and (max-width: 767px) { .area-modal ._modal-btn-close { top: 5px; right: 5px; width: 40px; height: 40px; } }

.area-modal ._modal-btn-close:hover { opacity: 0.8; }

.area-modal ._modal-btn-close:after, .area-modal ._modal-btn-close:before { content: ""; position: absolute; top: 18px; left: 8px; width: 25px; height: 4px; transform: rotate(-45deg); }

@media print, screen and (min-width: 768px) { .area-modal ._modal-btn-close:after, .area-modal ._modal-btn-close:before { background: #fff; } }

@media screen and (max-width: 767px) { .area-modal ._modal-btn-close:after, .area-modal ._modal-btn-close:before { background: #000; } }

.area-modal ._modal-btn-close:before { transform: rotate(45deg); }

.area-modal ._modal-box { position: absolute; background: #fff; box-sizing: border-box; border-radius: 5px; }

@media print, screen and (min-width: 768px) { .area-modal ._modal-box { top: 50%; left: 50%; width: 600px; height: 600px; margin: -300px 0 0 -300px; } }

@media screen and (max-width: 767px) { .area-modal ._modal-box { top: 10px; left: 10px; bottom: 10px; right: 10px; width: auto; height: auto; margin: 0; } }

.area-modal ._modal-box ._modal-head { position: absolute; top: 0px; left: 0px; right: 0px; padding: 15px 0 0 20px; height: 50px; background: #eee; box-sizing: border-box; }

.area-modal ._modal-box ._modal-body { position: absolute; top: 50px; bottom: 50px; left: 0px; right: 0px; padding: 20px; background: #ccc; box-sizing: border-box; overflow-y: scroll; }

.area-modal ._modal-box ._modal-body ._t1 { font-size: 18px; line-height: 1.2; font-weight: bold; }

.area-modal ._modal-box ._modal-body ._t2 { font-size: 14px; line-height: 1.8; }

.area-modal ._modal-box ._modal-body ._t3 { font-size: 12px; line-height: 1.8; }

.area-modal ._modal-box ._modal-foot { position: absolute; bottom: 0px; left: 0px; right: 0px; padding: 7px 0 0 0; height: 50px; background: #eee; box-sizing: border-box; }

.area-modal ._modal-box ._modal-foot ._btn-do { display: block; box-sizing: border-box; text-align: center; cursor: pointer; width: 200px; margin: 0 auto; padding: 5px 0; font-size: 14px; background: #666; color: #fff; }

.area-modal ._modal-box ._modal-foot ._btn-do:hover { background: #333; }

/* リセットCSS */
html, body { width: 100%; height: 100%; }

body, h1, h2, h3, h4, h5, h6, p, ol, ul, li, blockquote, pre, a, div { margin: 0; padding: 0; font-size: 100%; line-height: inherit; box-sizing: border-box; }

body { -webkit-text-size-adjust: 100%; line-height: 1; }

ol, ul { list-style: none; }

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

th, td { vertical-align: top; text-align: left; font-weight: normal; }

img { border: 0; vertical-align: bottom; }

a { text-decoration: none; }

@media print, screen and (min-width: 768px) { /* ----------------------------------------------------------
.area-footer
---------------------------------------------------------- */
  .area-footer { position: relative; background: #3E3A39; padding: 40px 0 40px 0; color: #fff; }
  .area-footer a { color: #fff; }
  .area-footer a:hover { text-decoration: underline; }
  .area-copy { position: relative; background: #595757; padding: 20px 0 20px 0; color: #fff; }
  .area-copy a { color: #fff; }
  .area-copy a:hover { text-decoration: underline; }
  .area-copy ._copy { text-align: right; font-size: 12px; }
  .mod-footer-btn { display: inline-block; width: 177px; border: 1px solid #fff; padding: 5px 10px; font-size: 12px; letter-spacing: 0.13em; line-height: 1.2; text-align: center; }
  .mod-footer-link { display: flex; flex-direction: column; gap: 13px; }
  .mod-footer-link.is-sub { flex-direction: row; flex-wrap: wrap; width: 130px; gap: 0 13px; }
  .mod-footer-link a { font-weight: normal; font-size: 12px; letter-spacing: 0.13em; line-height: 1.5; color: #fff; }
  .mod-footer-link2 { display: flex; }
  .mod-footer-link2 li { padding: 0 20px; border-left: 1px solid #fff; }
  .mod-footer-link2 li:nth-child(1) { border-left: none; padding-left: 0; }
  .mod-footer-link2 a { font-weight: normal; font-size: 12px; letter-spacing: 0.13em; line-height: 1.5; color: #fff; }
  .mod-footer-top { display: flex; }
  .mod-footer-top li { margin: 0 40px 0 0; }
  .mod-footer-top a { font-weight: bold; font-size: 16px; letter-spacing: 0.13em; line-height: 1.5; color: #fff; }
  /* ----------------------------------------------------------
.area-header
---------------------------------------------------------- */
  .area-header-wap { height: 80px; }
  .area-header { position: fixed; top: 0; left: 0; right: 0; z-index: 100; height: 80px; background: #fff; }
  body.js-gmenu-active .area-header { box-shadow: none; }
  .area-header img { width: 100%; }
  .area-header ._logo { position: absolute; top: 25px; left: 15px; width: 260px; }
  .area-header ._links { position: absolute; top: 0; right: 210px; }
  .area-header ._btns { position: absolute; top: 0; right: 80px; display: flex; }
  .area-header ._menu-btn { position: absolute; top: 0; right: 0; }
  .mod-head-links { display: flex; align-items: center; }
  .mod-head-links a { padding: 25px 15px; display: block; color: #000; cursor: pointer; transition-duration: 0.2s; }
  .mod-head-links a:hover { background: #00824A; color: #fff; }
  .mod-head-links a span { display: block; }
  .mod-head-links a span:nth-child(1) { font-size: 16px; font-weight: bold; }
  .mod-head-links a span:nth-child(2) { margin-top: 5px; font-size: 10px; }
  .mod-head-btn { width: 100px; height: 80px; font-size: 10px; color: #fff; display: flex; justify-content: center; align-items: center; text-align: center; cursor: pointer; transition-duration: 0.2s; font-size: 13px; }
  .mod-head-btn.is-entry { background: #00964A; }
  .mod-head-btn.is-mypage { background: #666; }
  .mod-head-btn:hover { opacity: 0.8; }
  .mod-head-menu-btn { width: 80px; height: 80px; background: #4B4B4B; }
  .mod-head-menu-btn span { transition-duration: 0.2s; position: absolute; background: #fff; height: 5px; left: 15px; right: 15px; }
  .mod-head-menu-btn span:nth-child(1) { top: 20px; }
  .mod-head-menu-btn span:nth-child(2) { top: 38px; }
  .mod-head-menu-btn span:nth-child(3) { bottom: 20px; }
  body.js-gmenu-active .mod-head-menu-btn span:nth-child(1) { position: absolute; top: 37px; transform: rotate(45deg); }
  body.js-gmenu-active .mod-head-menu-btn span:nth-child(2) { display: none; }
  body.js-gmenu-active .mod-head-menu-btn span:nth-child(3) { position: absolute; top: 37px; transform: rotate(-45deg); }
  /* ----------------------------------------------------------
area-mega-menu
---------------------------------------------------------- */
  .area-modal-menu { position: fixed; z-index: -1; visibility: hidden; opacity: 0; transition-duration: 0.4s; transform: translate(0, -100px); top: 80px; left: 0; right: 0; min-height: 70px; background: #3E3A39; padding: 35px 0 35px 0; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); color: #fff; }
  body.js-gmenu-active .area-modal-menu { visibility: visible; z-index: 50; opacity: 1; transform: translate(0, 0); }
  .area-modal-menu a { color: #fff; transition-duration: 0.4s; }
  .area-modal-menu a:hover { color: #ef8200; }
  .area-modal-menu a.is-under { color: #ccc; }
  .area-modal-menu a.is-under:before { background: #ccc; }
  .mod-site-links { margin-top: 40px; }
  .mod-site-links ._cols { display: flex; justify-content: space-between; gap: 15px; }
  .mod-site-links ._col ._title span { line-height: 1.2; }
  .mod-site-links ._col ._title span:nth-child(1) { font-size: 16px; font-weight: bold; }
  .mod-site-links ._col ._title span:nth-child(2) { font-size: 14px; }
  .mod-site-links ._col * + ._title { margin-top: 10px; }
  .mod-site-links ._col ._links + ._title { margin-top: 30px; }
  .mod-site-links ._col ._links { margin-top: 20px; }
  .mod-site-links ._col ._links-sub { margin-top: 1px; }
  .mod-site-links2 { margin-top: 40px; }
  /* ----------------------------------------------------------
area-mega-menu
---------------------------------------------------------- */
  .area-mega-menu { position: fixed; z-index: -1; visibility: hidden; opacity: 0; transition-duration: 0.2s; top: 80px; left: 0px; right: 0px; min-height: 140px; background: #00824A; color: #fff; padding: 60px 0 60px 0; }
  body.js-header-menu-open .area-mega-menu { visibility: visible; z-index: 50; opacity: 1; }
  .area-mega-menu a { color: #fff; }
  .area-mega-menu ._set { display: none; }
  .mod-megamenu-set { display: flex; }
  .mod-megamenu-set ._image { width: 400px; }
  .mod-megamenu-set ._image img { width: 100%; }
  .mod-megamenu-set ._texts { flex: 1; padding-left: 40px; }
  .mod-megamenu-set ._title { padding-bottom: 20px; border-bottom: 1px solid #fff; }
  .mod-megamenu-set ._title span { line-height: 1.2; }
  .mod-megamenu-set ._title span:nth-child(1) { font-size: 16px; font-weight: bold; }
  .mod-megamenu-set ._title span:nth-child(2) { font-size: 14px; }
  .mod-megamenu-set ._cols { display: flex; width: 100%; }
  .mod-megamenu-set ._cols > * { flex: 1; }
  .mod-megamenu-set ._links { margin-top: 20px; }
  /* ----------------------------------------------------------
.area-wrapper
---------------------------------------------------------- */
  .area-wrapper { position: relative; } }

@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1140px) { .area-wrapper { min-width: 1140px; } }

@media print, screen and (min-width: 768px) { /* ----------------------------------------------------------
.area-inner
---------------------------------------------------------- */
  .area-inner { position: relative; } }

@media print, screen and (min-width: 768px) and (min-width: 768px) { .area-inner { margin: 0 auto; width: 1100px; } }

@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1140px) { .area-inner { margin: 0 20px; } }

@media print, screen and (min-width: 768px) { /* ----------------------------------------------------------
.block-inner
---------------------------------------------------------- */
  .block-inner { position: relative; width: 1100px; margin: 0 auto; } }

@media screen and (max-width: 767px) { /* ----------------------------------------------------------
.area-footer
---------------------------------------------------------- */
  .area-footer { margin-top: 80px; position: relative; background: #3E3A39; padding: 40px 20px 40px 20px; color: #fff; }
  .area-footer a { color: #fff; }
  .area-footer a:hover { text-decoration: underline; }
  .area-copy { position: relative; background: #595757; padding: 20px; color: #fff; }
  .area-copy a { color: #fff; }
  .area-copy a:hover { text-decoration: underline; }
  .area-copy ._copy { text-align: center; font-size: 10px; }
  .mod-footer-btn { display: inline-block; width: 177px; border: 1px solid #fff; padding: 5px 10px; font-size: 12px; letter-spacing: 0.13em; line-height: 1.2; text-align: center; }
  .mod-footer-link { display: flex; flex-direction: column; gap: 7px; }
  .mod-footer-link.is-sub { flex-direction: row; flex-wrap: wrap; gap: 0 10px; }
  .mod-footer-link a { display: block; font-weight: normal; font-size: 12px; letter-spacing: 0.13em; line-height: 1.5; position: relative; padding-left: 20px; color: #fff; }
  .mod-footer-link a:after { content: ""; display: block; position: absolute; top: 8px; left: 0px; width: 10px; height: 1px; background: rgba(255, 255, 255, 0.4); }
  .mod-footer-link2 { border-top: 1px solid #fff; padding: 10px 0px; }
  .mod-footer-link2 li { padding: 2px 0px; }
  .mod-footer-link2 li:nth-child(1) { border-left: none; padding-left: 0; }
  .mod-footer-link2 a { font-weight: normal; font-size: 12px; letter-spacing: 0.13em; line-height: 1.5; color: #fff; }
  .mod-footer-top { display: flex; flex-direction: column; gap: 10px; }
  .mod-footer-top a { font-weight: bold; font-size: 14px; letter-spacing: 0.13em; line-height: 1.5; color: #fff; }
  .area-mega-menu { display: none; }
  .area-header-wap { height: 50px; }
  .area-header { position: fixed; top: 0; left: 0; right: 0; z-index: 100; height: 50px; background: #fff; box-shadow: 0px 2px 15px rgba(0, 0, 0, 0.15); }
  body.js-gmenu-active .area-header { box-shadow: none; }
  .area-header img { width: 100%; }
  .area-header ._logo { position: absolute; top: 16px; left: 15px; width: 180px; }
  .area-header ._links { display: none; }
  .area-header ._btns { position: absolute; top: 0; right: 50px; display: flex; }
  .area-header ._menu-btn { position: absolute; top: 0; right: 0; }
  .mod-head-btn { width: 70px; height: 50px; font-size: 10px; color: #fff; display: flex; justify-content: center; align-items: center; text-align: center; cursor: pointer; transition-duration: 0.2s; font-size: 10px; }
  .mod-head-btn.is-entry { background: #00964A; }
  .mod-head-btn.is-mypage { background: #666; }
  .mod-head-btn:hover { opacity: 0.8; }
  .mod-head-menu-btn { width: 50px; height: 50px; background: #4B4B4B; }
  .mod-head-menu-btn span { transition-duration: 0.2s; position: absolute; background: #fff; height: 3px; left: 9px; right: 9px; }
  .mod-head-menu-btn span:nth-child(1) { top: 13px; }
  .mod-head-menu-btn span:nth-child(2) { top: 24px; }
  .mod-head-menu-btn span:nth-child(3) { bottom: 13px; }
  body.js-gmenu-active .mod-head-menu-btn span:nth-child(1) { position: absolute; top: 24px; transform: rotate(45deg); }
  body.js-gmenu-active .mod-head-menu-btn span:nth-child(2) { display: none; }
  body.js-gmenu-active .mod-head-menu-btn span:nth-child(3) { position: absolute; top: 24px; transform: rotate(-45deg); }
  /* ----------------------------------------------------------
area-mega-menu
---------------------------------------------------------- */
  .area-modal-menu { position: fixed; z-index: -1; visibility: hidden; opacity: 0; transition-duration: 0.4s; transform: translate(0, -200px); top: 50px; left: 0px; right: 0px; bottom: 0px; min-height: 140px; background: #3E3A39; padding: 30px 20px 40px 20px; box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.05); overflow-y: scroll; -webkit-overflow-scrolling: touch; color: #fff; }
  body.js-gmenu-active .area-modal-menu { visibility: visible; z-index: 50; opacity: 1; transform: translate(0, 0); }
  .area-modal-menu a { color: #fff; }
  .area-modal-menu a.is-under { opacity: 0.5; }
  .area-modal-menu a.is-under:before { opacity: 0.5; }
  .area-modal-menu .site-links { opacity: 0; transition-duration: 0.4s; transition-delay: 0.4s; }
  body.js-gmenu-active .area-modal-menu .site-links { opacity: 1; }
  .area-modal-menu .site-links ._cols ._col + ._col { margin-top: 20px; }
  .area-modal-menu .site-links ._title { font-size: 16px; letter-spacing: 0.2em; font-weight: bold; padding: 10px; border-bottom: 1px solid #000; color: #fff; }
  .area-modal-menu .site-links ._links { margin: 10px 0 20px 0; }
  .area-modal-menu .site-links ._links li { line-height: 1.4; }
  .area-modal-menu .site-links ._links p { padding: 0 0 10px 15px; line-height: 1.6; }
  .area-modal-menu .site-links ._links .under { color: #ccc; }
  .area-modal-menu .site-links ._links a { display: block; position: relative; padding: 5px 0 5px 5px; }
  .area-modal-menu .site-links ._links a.under { color: #ccc; }
  .area-modal-menu .site-links ._links a.under:before { background: #ccc; }
  .mod-site-links { margin-top: 40px; }
  .mod-site-links ._cols { display: flex; justify-content: space-between; flex-direction: column; gap: 30px; }
  .mod-site-links ._col ._title span { line-height: 1.2; }
  .mod-site-links ._col ._title span:nth-child(1) { font-size: 20px; font-weight: bold; }
  .mod-site-links ._col ._title span:nth-child(2) { font-size: 12px; }
  .mod-site-links ._col * + ._title { margin-top: 40px; }
  .mod-site-links ._col ._links { margin-top: 10px; margin-left: 20px; }
  .mod-site-links ._col ._links-sub { margin-top: 1px; }
  .mod-site-links2 { margin-top: 40px; }
  /* ----------------------------------------------------------
.area-wrapper
---------------------------------------------------------- */
  .area-wrapper { position: relative; }
  /* ----------------------------------------------------------
.area-inner
---------------------------------------------------------- */
  .area-inner { position: relative; }
  /* ----------------------------------------------------------
.block-inner
---------------------------------------------------------- */
  .block-inner-sp { padding-right: 15px; padding-left: 15px; } }

/*# sourceMappingURL=maps/area.css.map */
