@charset "UTF-8";

:root {
--main-color: 4, 61, 120;
/*--main-color: 141, 0, 0;*/
}

*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { font-size: 10px; }
body { color: #111; font-family: 'Helvetica Neue', Arial, 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, sans-serif; font-size: 1.6rem; line-height: 1.6; -webkit-text-size-adjust: 100%; }
img { border: 0; vertical-align: top; -ms-interpolation-mode: bicubic; transition: all .3s ease; }
button { background: transparent; border: none; appearance: none; cursor: pointer; outline: none; }
a { outline: none; transition: all .3s ease; }
a:any-link { color: #; }
a:link { text-decoration: none; }
a:visited { text-decoration: none; }
a:hover { text-decoration: underline; }
a:hover img { opacity: 0.8; }
ul, ol { list-style: none; }

@media screen and (max-width: 1024px) {
}

@media screen and (max-width: 767px) {
body { font-size: 1.5rem; }
}

/* --------------------------------------------------
  グローバルヘッダ
-------------------------------------------------- */

#globalHeader {}
#globalHeader .inner { margin: 0 auto; padding: 10px 0; width: 1200px; }
#globalHeader h1 { font-size: inherit; }
#globalHeader a { color: #111; }
#globalHeader a:hover { text-decoration: none; }
#globalHeader img { width: 330px; }
#globalHeader span { font-size: 1.4rem; }

@media screen and (max-width: 1024px) {
#globalHeader { padding: 0 20px; }
#globalHeader .inner { width: 100%; }
}

@media screen and (max-width: 767px) {
#globalHeader { padding: 0 10px; }
#globalHeader img { width: 280px; }
#globalHeader span { font-size: 1.2rem; }
}

/* --------------------------------------------------
  グローバルナビ
-------------------------------------------------- */

#globalNavi { background: rgba(var(--main-color)); transition: all .3s ease; }
#globalNavi .inner { margin: 0 auto; width: 1200px; }
#globalNavi .inner > ul { width: 100%; text-align: center; display: flex; justify-content: space-between; }
#globalNavi .inner a { padding: 20px 10px; color: #fff; display: inline-block; }
#globalNavi .inner a:hover { text-decoration: none; }
#globalNavi .inner li { position: relative; }
#globalNavi .inner li::after { content: ''; width: 100%; height: 1px; background: #fff; display: block; position: absolute; bottom: 10px; transition: all .3s ease; transform: scale(0,1); transform-origin: center; }
#globalNavi .inner li:hover::after { transform: scale(1,1); }
#globalNavi .inner li ul { width: 200%; position: absolute; left: -50%; top: 100%; z-index: 2; visibility: hidden; opacity: 0; transition: all .3s ease; }
#globalNavi .inner li ul.on { visibility: visible; opacity: 1; }
#globalNavi .inner li li { /*border-top: solid 1px #9e3535;*/ border-top: solid 1px #5767a4; }
#globalNavi .inner li li::after { display: none; }
#globalNavi .inner li li a { padding: 15px 0; background: rgba(var(--main-color)); display: block; }
#globalNavi .inner li li a:hover { background: rgba(var(--main-color),0.9); }

@media screen and (max-width: 1024px) {
#globalNavi { padding: 30px 0; width: 50%; height: 100vh; position: fixed; top: 0; right: -50%; z-index: 100; overflow: auto; }
#globalNavi .inner { width: 100%; }
#globalNavi .inner > ul { margin-left: 40px; width: auto; list-style: disc; color: #fff; text-align: left; display: block; }
#globalNavi .inner a { padding: 0; }
#globalNavi .inner li { margin: 10px 0; }
#globalNavi .inner li::after { display: none; }
#globalNavi .inner li ul { margin-left: 20px; width: auto; list-style: circle; position: static; visibility: visible; opacity: 1; }
#globalNavi .inner li li { border-top: none; }
#globalNavi .inner li li a { padding: 0; display: inline-block; }
body.on #globalNavi { right: 0; }
}

@media screen and (max-width: 767px) {
#globalNavi { width: 80%; right: -80%; }
}

/* --------------------------------------------------
  メイン
-------------------------------------------------- */

main { margin: 0 auto 100px; width: 1200px; display: block; }

@media screen and (max-width: 1024px) {
main { padding: 0 20px; width: 100%; }
}

@media screen and (max-width: 767px) {
main { padding: 0 10px; }
}

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

.button { text-align: center; }
.button a { padding: 10px 50px; background: rgba(var(--main-color)); border-radius: 5px; color: #fff; display: inline-block; position: relative; }
.button a::after { content: ''; }
.button a:hover { text-decoration: none; }

.bs-pagination { text-align: center; }
.bs-pagination span { margin: 0 5px; display: inline-block; }
.bs-pagination a { background: none !important; }

@media screen and (max-width: 1024px) {
}

@media screen and (max-width: 767px) {
}


/* --------------------------------------------------
  グローバルフッタ
-------------------------------------------------- */

#globalFooter { padding: 40px 0; /*background: linear-gradient(#600,#933);*/ background: rgba(var(--main-color)); color: #fff; }
#globalFooter .inner { margin: 0 auto; width: 1200px; }
#globalFooter address { font-style: normal; }
#globalFooter strong { font-size: 1.8rem; }
#globalFooter p { margin: 10px 0 20px; }
#globalFooter a { color: #fff; text-decoration:underline; }
#globalFooter a:hover { text-decoration: none; }
#globalFooter a.tel { text-decoration: none; pointer-events: none; }
#globalFooter .copyright { font-size: 1.5rem; text-align: center; }

@media screen and (max-width: 1024px) {
#globalFooter { padding: 30px 20px; }
#globalFooter .inner { width: 100%; }
}

@media screen and (max-width: 767px) {
#globalFooter { padding: 20px 10px; }
#globalFooter strong { display: block; }
#globalFooter a.tel { text-decoration: underline; pointer-events: auto; }
#globalFooter a.tel:hover { text-decoration: none; }
#globalFooter .copyright { font-size: 1.4rem; }
}


/* --------------------------------------------------
  オーバーレイ／メニュー
-------------------------------------------------- */

#overlay { width: 100%; height: 0; background: rgba(255,255,255,0.8); position: absolute; left: 0; top: 0; }
#menu { width: 50px; height: 50px; background: rgba(255,255,255,0.8); display: none; position: fixed; right: 10px; top: 10px; z-index: 101; }
#menu span { width: 40px; height: 2px; background: rgba(var(--main-color)); display: inline-block; position: absolute; left: 5px; transition: all .3s ease; }
#menu span:nth-of-type(1) { top: 13px; }
#menu span:nth-of-type(2) { top: 24px; }
#menu span:nth-of-type(3) { top: 35px; }
body.on #menu { background: none; }
body.on #menu span { background: #fff; }
body.on #menu span:nth-of-type(1) { top: 24px; transform: rotate(45deg); }
body.on #menu span:nth-of-type(2) { display: none; }
body.on #menu span:nth-of-type(3) { top: 24px; transform: rotate(-45deg); }
body.on #overlay { height: 100vh; }

@media screen and (max-width: 1024px) {
#menu { display: block; }
}

@media screen and (max-width: 767px) {
}