/* Scss Document */
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;800&family=Sen:wght@400;700&display=swap");
html { font-size: 16px; }

html, body, h1, h2, h3, h4, h5, h6, ul, ol, dl, li, dt, dd, p, div, span, img, a, table, tr, th, td, figure { margin: 0; padding: 0; border: 0; font-weight: normal; font-size: 100%; vertical-align: baseline; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; line-height: 100%; }

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

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

p, li, dd { font-size: 1rem; }

ol, ul { list-style: none; list-style-type: none; }

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

.clearfix:after { content: " "; display: block; clear: both; }

img { vertical-align: bottom; height: auto; max-width: 100%; object-fit: contain; }

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

table { border-collapse: collapse; }

small { font-size: 86%; }

strong { font-weight: bold; }

button { background-color: transparent; border: none; cursor: pointer; outline: none; padding: 0; appearance: none; }

input, button, select, textarea { -webkit-appearance: none; -moz-appearance: none; appearance: none; background: transparent; border: none; border-radius: 0; font: inherit; outline: none; }

img { image-rendering: -webkit-optimize-contrast; }

/* flex
---------------------------------------- */
.flexW { display: flex; flex-wrap: wrap; }

.flexSb { display: flex; justify-content: space-between; }

.flexSbW { display: flex; justify-content: space-between; flex-wrap: wrap; }

.flexC { display: flex; justify-content: center; }

.flexCW { display: flex; justify-content: center; flex-wrap: wrap; }

.flexCC { display: flex; align-items: center; justify-content: center; }

.flexCCW { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; }

.flexSbC { display: flex; justify-content: space-between; align-items: center; }

.flexE { display: flex; justify-content: flex-end; }

.flex { display: flex; }

.flexSAW { display: flex; justify-content: space-around; flex-wrap: wrap; }

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

.flexRRW { display: flex; flex-direction: row-reverse; flex-wrap: wrap; }

.ai-center { align-items: center; }

.ac-center { align-content: center; }

.ai-st { align-items: stretch; }

@media only screen and (min-width: 769px) { .flex-p { display: flex; }
  .flexW-p { display: flex; flex-wrap: wrap; }
  .flexSb-p { display: flex; justify-content: space-between; }
  .flexSbC-p { display: flex; justify-content: space-between; align-items: center; }
  .flexSbW-p { display: flex; justify-content: space-between; flex-wrap: wrap; }
  .flexC-p { display: flex; justify-content: center; }
  .flexCW-p { display: flex; justify-content: center; flex-wrap: wrap; }
  .flexCC-p { display: flex; align-items: center; justify-content: center; }
  .flexSA-p { display: flex; justify-content: space-around; }
  .flexSAW-p { display: flex; justify-content: space-around; flex-wrap: wrap; }
  .flex-p { display: flex; }
  .flexRR-p { display: flex; flex-direction: row-reverse; }
  .flexRRW-p { display: flex; flex-direction: row-reverse; flex-wrap: wrap; }
  a[href^="tel:"] { pointer-events: none; } }
:focus::-webkit-input-placeholder, :focus:-moz-placeholder, :focus::-moz-placeholder, :focus::placeholder { color: white; }

/* space
---------------------------------------- */
.mt10 { margin-top: 10px !important; }

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

.mt30 { margin-top: 30px !important; }

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

.mt60 { margin-top: 60px !important; }

.mb20 { margin-bottom: 20px !important; }

.mb40 { margin-bottom: 40px !important; }

.mb60 { margin-bottom: 60px !important; }

.mb80 { margin-bottom: 80px !important; }

.m0 { margin: 0 !important; }

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

.ml10 { margin-left: 10px !important; }

.ml20 { margin-left: 20px !important; }

.p20 { padding: 20px !important; }

.pt10 { padding-top: 10px !important; }

.pt20 { padding-top: 20px !important; }

.pt30 { padding-top: 30px !important; }

.pt40 { padding-top: 40px !important; }

.pt14em { padding-top: 14em !important; }

.pb10 { padding-bottom: 10px !important; }

.pb20 { padding-bottom: 20px !important; }

.pb30 { padding-bottom: 30px !important; }

.pb40 { padding-bottom: 40px !important; }

/*----------------------------------------
responsive
---------------------------------------- */
.sp { display: none; }

.tablet { display: none; }

@media only screen and (max-width: 768px) { .tablet { display: block; }
  img.tablet { display: inline; } }
.disp_ib { display: inline-block; }

@media only screen and (max-width: 768px) { .disp_ib-s { display: inline-block; }
  .tablet, .pc { display: none !important; }
  .sp { display: block; }
  img.sp { display: inline; } }
/*----------------------------------------
base
---------------------------------------- */
body { color: black; font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"; font-size: 1.125rem; }
@media screen and (max-width: 768px) { body { font-size: 0.875rem; } }
@media screen and (max-width: 414px) { body { font-size: 3.4vw; } }

main { min-height: calc(100vh - 300px); }

a { text-decoration: none; color: #4891CA; }
a:hover { transition: opacity 0.4s ease-in-out; transition: all 0.4s ease; }

.container { width: 100%; margin: 0 auto; max-width: 1000px; }
@media screen and (max-width: 1000px) { .container { padding: 0 1rem; } }

p a { text-decoration: underline; color: #4891CA; }
p a:hover { text-decoration: none; }

p, li, dd, td, th { font-size: 1em; line-height: 1.6; }

/* text
---------------------------------------- */
.tLeft { text-align: left; }

.tRight { text-align: right; }

.tCenter { text-align: center; }

.imgL { float: left; margin-right: 1em; margin-bottom: 1em; }

.imgR { float: right; margin-left: 1em; margin-bottom: 1em; }

.bold { font-weight: 600; }

.dNone { display: none; }

.positionR { position: relative; }

.fadein { opacity: 0; transform: translate(0, 20px); transition: all .6s; }

.fadein.show { opacity: 1; transform: translate(0, 0); }

.text-yellow { color: #ffe103; }

.text-red { color: #C2070A; }

.text-w { color: white; }

/* bg
---------------------------------------- */
.center { margin: auto; text-align: center; }

.bg-gray { background-color: #f5f5f5; }

.bg-lgray { background-color: #F7FAFA; }

.bg-lgreen { background-color: #93C3BF; }

.bg-navy { background-color: #003149; }

.bg-white { background-color: white; }

.box-shadow { filter: drop-shadow(0px 2px 3px rgba(0, 0, 0, 0.3)); z-index: 10; }

.box-shadow-w { filter: drop-shadow(0px 0 4px white); z-index: 10; }

.box-shadowW { text-shadow: white 2px 0px 0px, white -2px 0px 0px, white 0px -2px 0px, white 0px 2px 0px, white 2px 2px 0px, white -2px 2px 0px, white 2px -2px 0px, white -2px -2px 0px, white 1px 2px 0px, white -1px 2px 0px, white 1px -2px 0px, white -1px -2px 0px, white 2px 1px 0px, white -2px 1px 0px, white 2px -1px 0px, white -2px -1px 0px, white 1px 1px 0px, white -1px 1px 0px, white 1px -1px 0px, white -1px -1px 0px; }

.btn_w:after, .btn_o:after, .btn_order:after, .btn_navy:after { content: ""; display: block; position: absolute; right: 0; top: 0.4em; width: 0.5em; height: 0.5em; border-top: 1px solid #fff; border-right: 1px solid #fff; transform: rotate(45deg); }

@font-face { font-family: 'icomoon'; src: url("fonts/icomoon.eot?g3s07r"); src: url("fonts/icomoon.eot?g3s07r#iefix") format("embedded-opentype"), url("fonts/icomoon.ttf?g3s07r") format("truetype"), url("fonts/icomoon.woff?g3s07r") format("woff"), url("fonts/icomoon.svg?g3s07r#icomoon") format("svg"); font-weight: normal; font-style: normal; font-display: block; }
[class^="icon-"], [class*=" icon-"] { /* use !important to prevent issues with browser extensions that change fonts */ font-family: 'icomoon' !important; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; line-height: 1; /* Better Font Rendering =========== */ -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

.icon-facebook2:before { content: "\ea91"; }

.icon-twitter:before { content: "\ea96"; }

#breadCrumb { z-index: 10; font-size: 0.7em; position: absolute; top: 60px; left: 1em; color: white; text-shadow: 1px 1px 2px black; }
#breadCrumb strong { font-weight: normal; }
#breadCrumb a { text-decoration: underline; color: white; }
#breadCrumb a:hover { text-decoration: none; }
#breadCrumb a, #breadCrumb .current { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 10em; }

.breadcrumbs .current-item { display: inline-block; vertical-align: middle; max-width: 20em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

body.home #breadCrumb { display: none; }

@media only screen and (min-width: 769px) { .menu-btn { display: none; } }
#header { width: 100%; z-index: 100; position: fixed; background-color: white; }

#header_logo { margin: 0.5rem 0 0.5rem 1rem; text-align: left; }
#header_logo a { text-decoration: none; color: #003149; font-weight: bold; font-family: "Montserrat", "Sen", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"; }
#header_logo img { height: 4rem; width: auto; }

#header_nav_wrap { margin: 0 0 auto auto; }
@media only screen and (min-width: 769px) { #header_nav_wrap { width: 60%; position: absolute; top: 0; right: 0; } }
@media only screen and (min-width: 769px) { #header_nav_wrap #menu-header, #header_nav_wrap #menu-headermenu, #header_nav_wrap #menu-headermenu-test { display: flex; justify-content: flex-end; } }
@media only screen and (min-width: 769px) { #header_nav_wrap #menu-header li, #header_nav_wrap #menu-headermenu li, #header_nav_wrap #menu-headermenu-test li { background: #EBE6DC; border-right: 1px solid white; width: 24%; height: 80px; }
  #header_nav_wrap #menu-header li:first-child, #header_nav_wrap #menu-headermenu li:first-child, #header_nav_wrap #menu-headermenu-test li:first-child { border-left: 1px solid white; } }
#header_nav_wrap #menu-header li a, #header_nav_wrap #menu-headermenu li a, #header_nav_wrap #menu-headermenu-test li a { font-size: 1rem; padding: 1em; color: black; font-weight: bold; display: flex; align-items: center; justify-content: center; text-align: center; width: 100%; height: 100%; }
#header_nav_wrap #menu-header li a:hover, #header_nav_wrap #menu-header li a.active, #header_nav_wrap #menu-headermenu li a:hover, #header_nav_wrap #menu-headermenu li a.active, #header_nav_wrap #menu-headermenu-test li a:hover, #header_nav_wrap #menu-headermenu-test li a.active { color: #f17c09; }

#header_logoWrap { align-items: center; }
@media only screen and (min-width: 769px) { #header_logoWrap { width: 40%; } }

.header_unvLogo { padding-right: 1rem; }
.header_unvLogo li { height: 3rem; margin-left: 1rem; }
.header_unvLogo li img { height: 3rem; width: auto; }

@media only screen and (max-width: 768px) { #header_nav_wrap #menu-header li, #header_nav_wrap #menu-headermenu li, #header_nav_wrap #menu-headermenu-test li { width: calc(97%/3); } }
@media only screen and (max-width: 768px) and (max-width: 768px) { #header_nav_wrap #menu-header li, #header_nav_wrap #menu-headermenu li, #header_nav_wrap #menu-headermenu-test li { font-size: 3vw; } }
@media only screen and (max-width: 768px) { #header_nav_wrap #menu-header li a, #header_nav_wrap #menu-headermenu li a, #header_nav_wrap #menu-headermenu-test li a { color: white; font-size: 0.8rem; padding: 1em 0.5em; }
  .menuWrap { position: relative; }
  .menu-btn { width: 100%; position: absolute; border-top: 6px solid #003149; }
  .menu-btn ul { background-color: #003149; padding: 10px 5px; border-radius: 0 0 0.5em 0.5em; z-index: 200; width: 50px; height: 45px; color: white; position: absolute; right: 0.5em; top: 0; }
  .menu-btn ul:hover { cursor: pointer; }
  .menu-btn ul li { line-height: 0.2; font-size: 40px; }
  #header_nav { width: 100%; background: rgba(0, 0, 0, 0.85); }
  #header_nav { display: none; }
  #header_nav li { display: inline-block; padding-top: 0.5em; }
  .menu__item { width: 100%; height: auto; padding: .5em 0.5em; margin: 0 auto; text-align: center; color: #fff; }
  #header_nav.is-active #header_nav { z-index: 1; opacity: 1; height: auto; }
  #header_nav.is-active .menu-btn { position: static; }
  #header_nav.is-active .menu-btn ul { top: auto; bottom: -45px; }
  #header .flexSbC { background-color: white; z-index: 2; } }
#footer { font-size: 16px; background: #003149; color: white; padding: 2em 0 0 0; }
#footer a { color: white; text-decoration: none; }
#footer a:hover { text-decoration: underline; }
@media screen and (max-width: 768px) { #footer { font-size: 0.875rem; } }
@media screen and (max-width: 414px) { #footer { font-size: 3.4vw; } }
#footer .copyright { background: black; padding: 0.6em; margin-top: 2em; }
#footer .copyright p { text-align: center; font-size: 12px; }
@media screen and (max-width: 414px) { #footer .copyright p { font-size: 3vw; } }
@media only screen and (min-width: 769px) { #footer .foot_L { width: 70%; padding-right: 3em; } }
#footer .foot_L h2 { background: white; padding: 0.6em 0.8em; display: inline-block; margin-bottom: 1.5em; font-family: "Montserrat", "Sen", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"; }
#footer .foot_L h2 a { color: black; }
#footer .foot_L #footer_logo img { height: 4em; width: auto; }
#footer .foot_L h3 { font-size: 1.2em; margin-bottom: 0.6em; }
#footer p + p { margin-top: 1em; }

.footContact dt { border: 1px solid; padding: 5px; font-size: 13px; display: inline-block; margin-bottom: 0.5em; }
.footContact dd { margin-bottom: 1em; }
@media only screen and (min-width: 769px) { .footContact { margin: 0.5em 2rem -1em; } }

#footer_nav, .footer_link { padding-left: 2em; }
@media only screen and (min-width: 769px) { #footer_nav, .footer_link { border-left: 1px solid white; } }
#footer_nav li, .footer_link li { margin-bottom: 1em; }
#footer_nav li a, .footer_link li a { color: white; position: relative; margin-left: 1em; }
#footer_nav li a:before, .footer_link li a:before { content: ""; display: block; position: absolute; left: -1em; top: 0.4em; width: 0.5em; height: 0.5em; border-top: 1px solid #fff; border-right: 1px solid #fff; transform: rotate(45deg); }
@media only screen and (max-width: 768px) { #footer_nav, .footer_link { display: none; } }

.footer_link { border-left: none; }

p.footerlink_unv { font-size: 1.1em; }

.icon_link { height: 1em; padding-left: 0.6em; vertical-align: baseline; }

.btn_arwBox { margin: 1em auto; min-width: 15em; width: 40%; }
@media only screen and (max-width: 768px) { .btn_arwBox { width: 70%; } }
.btn_arwBox a { height: 100%; width: 100%; padding: 1em 0; display: flex; align-items: center; justify-content: center; text-align: center; line-height: 1; border: 1px solid black; position: relative; color: black; }
.btn_arwBox a:after { display: block; position: absolute; right: 1em; width: 1em; top: 50%; transform: translateY(-50%); }

.btn_arw { width: 1.5em; height: 1.5em; padding: 0.2em; background: black; display: flex; align-items: center; justify-content: center; text-align: center; line-height: 1; margin: 0 0 auto auto; }

.btn_arwBox._Long { width: 26em; }

.btn_entry { font-size: 1.1em; }
.btn_entry a { display: flex; align-items: center; justify-content: center; text-align: center; line-height: 1; margin: 0 0 auto auto; padding: 1em; background-color: #f17c09; width: 10em; color: white; font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"; }
.btn_entry a:hover { opacity: 0.8; }

.btn_w, .btn_o, .btn_order, .btn_navy { font-size: 1.1em; width: 90%; max-width: 500px; position: relative; margin: 6em auto; }
.btn_w a, .btn_o a, .btn_order a, .btn_navy a { display: flex; align-items: center; justify-content: center; text-align: center; line-height: 1; padding: 1em; font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"; background-color: white; color: #003149; font-weight: bold; width: 100%; border: 2px solid white; }
.btn_w a:hover, .btn_o a:hover, .btn_order a:hover, .btn_navy a:hover { border: 2px solid white; color: white; background-color: transparent; }
.btn_w:hover:after, .btn_o:hover:after, .btn_order:hover:after, .btn_navy:hover:after { border-color: white; }
.btn_w:after, .btn_o:after, .btn_order:after, .btn_navy:after { border-color: #003149; right: 2em; top: 40%; }
@media only screen and (max-width: 768px) { .btn_w, .btn_o, .btn_order, .btn_navy { font-size: .9rem; margin: 3rem auto; } }

.btn_o a, .btn_order a { background-color: #f17c09; color: white; border-color: #f17c09; }
.btn_o:after, .btn_order:after { border-color: white; }

.btn_order { margin: 2em auto; }
.btn_order a:hover { border-color: #f17c09; color: #f17c09; background-color: transparent; }
.btn_order:after { border-color: white; }
.btn_order:hover:after { border-color: #f17c09; }

.btn_navy a, .btn_navy input { background-color: #003149; color: white; border-color: #003149; }
.btn_navy:after { border-color: transparent; }
.btn_navy:hover input { color: #003149; background-color: transparent; }

.btn_navy.on_navy a { line-height: 1.4; }
.btn_navy.on_navy:after { border-color: white; }
.btn_navy.on_navy:hover a { color: #003149; background-color: transparent; border-color: #003149; }
.btn_navy.on_navy:hover:after { border-color: #003149; }

.btn_navy.on_navy._back a { line-height: 1.4; }
.btn_navy.on_navy._back:after { border-color: white; }
.btn_navy.on_navy._back:hover a { color: #003149; background-color: transparent; border-color: #003149; }
.btn_navy.on_navy._back:hover:after { border-color: #003149; }

.btn_bgChng { position: relative; border: 1px solid #003149; margin-left: auto; margin-right: auto; width: 80%; max-width: 500px; line-height: 1; display: flex; text-align: center; background-color: transparent; font-size: 1em; letter-spacing: 0.5em; padding: 0.8em 0; }

.btn_in { width: 100%; height: 100%; color: #003149; z-index: 10; }
.btn_in:before { content: ""; position: absolute; top: 0; bottom: 0; width: 0; display: block; background: #003149; z-index: -1; transition: .4s; }
.btn_in:hover { color: #fff; }
.btn_in:hover:before { width: 100%; }

/*Ajax Load More*/
.alm-btn-wrap .alm-load-more-btn:hover, .alm-btn-wrap .alm-load-more-btn.loading { background-color: #003149; }

.alm-btn-wrap .alm-load-more-btn.more-button { background-color: #003149; border-radius: 0; width: 40%; min-width: 250px; margin-top: 3em; }
.alm-btn-wrap .alm-load-more-btn.more-button:hover { border: 1px solid #003149; color: #003149; background-color: white; }
.alm-btn-wrap .alm-load-more-btn.more-button.loading { background-color: #003149; }
.alm-btn-wrap .alm-load-more-btn.more-button.done { margin-top: 3em; background-color: #D9E0E4; opacity: 0.6; }
.alm-btn-wrap .alm-load-more-btn.more-button.done:hover { background-color: #D9E0E4; color: white; border: none; }

.sa { opacity: 0; transition: all .8s ease; }

.sa.show { opacity: 1; transform: none; }

.sa--lr { transform: translate(-200px, 0); }

.sa--rl { transform: translate(200px, 0); }

.sa--up { transform: translate(0, 50px); }

.sa--down { transform: translate(0, -200px); }

.sa--scaleUp { transform: scale(0.5); }

.sa--scaleDown { transform: scale(1.2); }

.sa--rotateL { transform: rotate(180deg); }

.sa--rotateR { transform: rotate(-180deg); }

@keyframes animate { 0% { transform: translateX(0) rotate(0) translateY(0); }
  100% { transform: translateX(100%) rotate(0) translateY(-100%); } }
.scroll-fade { opacity: 0; transition: all 2s; }

.scroll-up { opacity: 0; transform: translateY(100px); transition: all 2s; }

.scroll-up.done, .scroll-fade.done { opacity: 1; transform: translate(0, 0); }

.load-fade { opacity: 0; transition: all 2s; }

.load-up { opacity: 0; transform: translateY(100px); transition: all 2s; }

.load-up.done, .load-fade.done { opacity: 1; transform: translate(0, 0); }

/* animate
--------------------------- */
.img-wrap_L, .img-wrap_R { overflow: hidden; position: relative; }

.sa.show.img-wrap_L:before, .sa.show.img-wrap_R:before { background: #fff; bottom: 0; content: ''; left: 0; pointer-events: none; position: absolute; right: 0; top: 0; z-index: 1; }
.sa.show.img-wrap_L._lgray:before, .sa.show.img-wrap_R._lgray:before { background: #F7FAFA; }
.sa.show.img-wrap_L._navy:before, .sa.show.img-wrap_R._navy:before { background: #003149; }

.sa.show.img-wrap_L:before { animation: img-wrap_L 1s cubic-bezier(0.4, 0, 0.2, 1) forwards; }

.sa.show.img-wrap_R:before { animation: img-wrap_R 1s cubic-bezier(0.4, 0, 0.2, 1) forwards; }

@keyframes img-wrap_L { 100% { transform: translateX(100%); } }
@keyframes img-wrap_R { 100% { transform: translateX(-100%); } }
input, textarea { padding: 0.6em 1em; vertical-align: middle; width: 100%; border: 1px solid #cccccc; border-radius: 0.2em; }

.contactFormWrap { width: 100%; margin: 2em auto; padding: 0 2em; }

@media only screen and (min-width: 769px) { .wpcf7-form p { display: flex; justify-content: space-between; flex-wrap: wrap; width: 100%; }
  .wpcf7-form label { width: 40%; }
  .wpcf7-form .wpcf7-form-control-wrap { width: 60%; } }
.wpcf7-form input[type="submit"] { display: block; cursor: pointer; font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"; font-size: 1.2em; padding: 1em; }

div.wpcf7 .btn_navy .ajax-loader { display: none; }

@media only screen and (max-width: 768px) { .contactFormWrap input, .contactFormWrap textarea, .um-field input, .um-field textarea { font-size: 17px !important; }
  .um-form input[type=text], .um-form input[type=search], .um-form input[type=tel], .um-form input[type=number], .um-form input[type=password] { font-size: 17px !important; } }
form p { text-align: left; }

#topNews { padding-top: 6em; background-color: #F7FAFA; }

.topNews_list { justify-content: flex-start; }
.topNews_list > li, .topNews_list li.post { width: 310px; margin: 0 1% 3rem; position: relative; }
@media screen and (max-width: 414px) { .topNews_list > li, .topNews_list li.post { width: 100%; } }
@media screen and (max-width: 676px) { .topNews_list > li, .topNews_list li.post { margin: 0 auto 3rem; } }
.topNews_list > li:hover dt img, .topNews_list li.post:hover dt img { transform: scale(1.2); transition: .4s; }
.topNews_list > li dl, .topNews_list li.post dl { position: relative; margin-top: 1.5rem; }
.topNews_list > li dt, .topNews_list li.post dt { margin-bottom: 0.5rem; height: 200px; overflow: hidden; position: relative; background-color: white; }
.topNews_list > li dt img, .topNews_list li.post dt img { min-height: 200px; max-width: 120%; width: 100%; }
.topNews_list > li dd.topNews_list-cont, .topNews_list li.post dd.topNews_list-cont { position: absolute; top: 0; left: 0; height: 100%; width: 100%; display: flex; align-items: center; justify-content: center; text-align: center; flex-wrap: wrap; }
.topNews_list > li dd.topNews_list-cont a, .topNews_list li.post dd.topNews_list-cont a { color: transparent; display: flex; align-content: center; flex-wrap: wrap; height: 100%; width: 100%; padding: 1rem; align-items: center; text-align: left; line-height: 1.4; }
.topNews_list > li dd.topNews_list-cont a:hover, .topNews_list li.post dd.topNews_list-cont a:hover { background-color: rgba(0, 0, 0, 0.4); transition: .3s; color: white; }
@media only screen and (max-width: 768px) { .topNews_list > li h3, .topNews_list li.post h3 { font-size: 1.4em; } }

.topNews_list-img { height: auto; width: 100%; display: flex; align-items: center; justify-content: center; text-align: center; }

.topNews_list-cat, .topNews_list-tag { position: absolute; font-size: 0.8rem; margin: 0; text-align: center; }
.topNews_list-cat a, .topNews_list-tag a { color: white; padding: 0 0.5em; }
.topNews_list-day { top: 0; position: absolute; font-size: 0.8rem; }
.topNews_list-cat { top: 0; right: 0; z-index: 1; }
.topNews_list-tag { background: #003149; }
.topNews_list-author a { font-size: 0.8rem; text-align: center; background: black; color: white; text-decoration: none; margin: 0 0.7em 0 0; white-space: nowrap; padding: 0.3em 0.7em; }
.topNews_list-author:empty { display: none; }

p:empty:before, .topNews_list-author:empty:before { content: initial !important; background: transparent; }

.topNews_list-author:empty { display: none !important; }

.event, .topics-event { background: #CA9D48; }

.news-info, .topics-info { background: #4891CA; }

.news, .topics-news { background: #216394; }

.newsImageTop { display: block; margin: 1rem auto; width: 100%; }

.single_topics { position: relative; }
.single_topics .topNews_list-cat, .single_topics .topNews_list-tag, .single_topics .topNews_list-author, .single_topics .topNews_list-day { position: static; }
.single_topics .topNews_list-day { margin-right: 1em; }

.singleSec { padding: 6em 0; }
.singleSec .mainTtl { font-size: 2.4em; }
@media only screen and (max-width: 768px) { .singleSec .mainTtl { font-size: 1.4em; } }
.singleSec p { margin-bottom: 1em; }
.singleSec h3 { font-size: 2em; margin: 2em auto 1em; }
@media only screen and (max-width: 768px) { .singleSec h3 { font-size: 1.3em; } }
.singleSec h4 { font-size: 1.3em; margin: 2em auto 1em; }
.singleSec h5 { font-size: 1.1em; font-weight: bold; margin: 2em auto 1em; }

.page-links { text-align: center; margin: 2em auto; }
.page-links span { display: inline-block; padding: 8px 12px; margin: 5px; border: 1px solid #003149; background: #003149; color: #fff; }
.page-links a { padding: 8px 12px; margin: 5px; border: 1px solid #003149; color: #003149; background: transparent; display: inline-block; }
.page-links a:hover { background: #003149; color: #fff; }

#topEvent_info { background: #eef6f8; }

/*Ajax Load More*/
.topNews_list { justify-content: flex-start; }
.topNews_list .alm-reveal { display: flex; justify-content: flex-start; flex-wrap: wrap; }
.topNews_list .alm-reveal li.sa { opacity: 1; }
.topNews_list li.post, .topNews_list .alm-reveal li.sa { width: 310px; margin: 0 1% 3rem; position: relative; }
@media screen and (max-width: 414px) { .topNews_list li.post, .topNews_list .alm-reveal li.sa { width: 100%; } }
@media screen and (max-width: 676px) { .topNews_list li.post, .topNews_list .alm-reveal li.sa { margin: 0 auto 3rem; } }
.topNews_list li.post:hover dt img, .topNews_list .alm-reveal li.sa:hover dt img { transform: scale(1.2); transition: .4s; }
.topNews_list li.post dl, .topNews_list .alm-reveal li.sa dl { position: relative; margin-top: 1.5rem; }
.topNews_list li.post dt, .topNews_list .alm-reveal li.sa dt { margin-bottom: 0.5rem; height: 200px; overflow: hidden; position: relative; background-color: white; }
.topNews_list li.post dt img, .topNews_list .alm-reveal li.sa dt img { min-height: 200px; max-width: 120%; width: 100%; }
.topNews_list li.post dd.topNews_list-cont, .topNews_list .alm-reveal li.sa dd.topNews_list-cont { position: absolute; top: 0; left: 0; height: 100%; width: 100%; display: flex; align-items: center; justify-content: center; text-align: center; flex-wrap: wrap; }
.topNews_list li.post dd.topNews_list-cont a, .topNews_list .alm-reveal li.sa dd.topNews_list-cont a { color: transparent; display: flex; align-content: center; flex-wrap: wrap; height: 100%; width: 100%; padding: 1rem; align-items: center; text-align: left; line-height: 1.4; }
.topNews_list li.post dd.topNews_list-cont a:hover, .topNews_list .alm-reveal li.sa dd.topNews_list-cont a:hover { background-color: rgba(0, 0, 0, 0.4); transition: .3s; color: white; }
@media only screen and (max-width: 768px) { .topNews_list li.post h3, .topNews_list .alm-reveal li.sa h3 { font-size: 1.4em; } }

#topTeams, .single_teams { background-color: #003149; color: white; }
#topTeams.topSec, .single_teams.topSec { padding: 6em 0 0; }
#topTeams h3, .single_teams h3 { font-size: 3rem; font-weight: bold; margin: 1rem auto; }
#topTeams h4, .single_teams h4 { font-size: 1.4rem; font-weight: bold; margin: 1.5em auto 0.5em; border-bottom: 1px solid white; }
#topTeams .ttl_bg_w, .single_teams .ttl_bg_w { background: white; color: #003149; padding: 0.5em 1em; }
#topTeams .btn_arwBox a:hover, .single_teams .btn_arwBox a:hover { border: 1px solid white; }
#topTeams p.comment, .single_teams p.comment { font-size: 1rem; }
#topTeams .wp-block-image figure, .single_teams .wp-block-image figure { margin-right: 2em; }
#topTeams .teams_ttl, .single_teams .teams_ttl { display: flex; align-items: center; font-size: 3rem; font-weight: bold; margin: 1rem auto; }
@media only screen and (max-width: 768px) { #topTeams .teams_ttl, .single_teams .teams_ttl { font-size: 2rem; } }
#topTeams .teams_ttl .post_thumbnail, .single_teams .teams_ttl .post_thumbnail { height: 6rem; width: 6rem; margin-right: 1em; }
@media only screen and (max-width: 768px) { #topTeams .teams_ttl .post_thumbnail, .single_teams .teams_ttl .post_thumbnail { height: 2em; width: 2em; }
  #topTeams .teams_ttl .post_thumbnail img, .single_teams .teams_ttl .post_thumbnail img { height: 100%; width: auto; } }
#topTeams .topEngine_img, .single_teams .topEngine_img { margin: 2rem auto; }
@media only screen and (max-width: 768px) { #topTeams .wp-block-image .alignleft, .single_teams .wp-block-image .alignleft { float: none; margin: auto; } }

.topTeams_unv .bg_unv { position: relative; padding: 3em; color: white; background-repeat: no-repeat; background-size: cover; background-color: #003149; background-blend-mode: multiply; }
@media only screen and (max-width: 768px) { .topTeams_unv .bg_unv { padding: 1rem; } }
.topTeams_unv p { text-align: justify; font-feature-settings: "palt"; }

.bg_unv.shinshu { background-image: url("https://engine-prgm.jp/wp-content/uploads/2021/02/img_s_2.jpg"); }

.bg_unv.kanazawa { background-image: url("https://engine-prgm.jp/wp-content/uploads/2021/02/img_k_2.jpg"); }

.bg_unv.toyama { background-image: url("https://engine-prgm.jp/wp-content/uploads/2021/02/img_t_2.jpg"); }

.single_teams { padding: 6em 0; }

#topProgram { padding: 4rem 0 6rem; background-color: #F7FAFA; }

#main { padding-top: 80px; position: relative; }

h1, h2, h3, h4 { font-weight: 600; line-height: 1.5; }

.mainTtl { font-size: 3rem; margin: 1em auto; font-family: "Montserrat", "Sen", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"; font-weight: 400; letter-spacing: 0.2em; }
@media only screen and (max-width: 768px) { .mainTtl { font-size: 1.8rem; letter-spacing: 0; } }
.mainTtl .ttl_sub { display: block; font-size: 50%; margin: 0.5em auto; font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"; line-height: 1.4; }

h3.ttl { font-size: 2rem; margin: 2rem auto 1rem; }
@media only screen and (max-width: 768px) { h3.ttl { font-size: 1.5rem; } }
h3.ttl .ttl_sub { display: block; font-size: 80%; margin: 1rem auto; font-weight: bold; line-height: 1.6; }

.ttl_box { margin-bottom: 0.6rem; font-size: 0.8rem; border: 1px solid; text-align: center; padding: 0.4rem 1rem; display: inline-block; }

._center { text-align: center; }

._bdr { position: relative; }
._bdr:after { content: ""; display: block; position: absolute; width: 3em; left: 50%; transform: translateX(-50%); border-bottom: 1px solid; top: 1.5em; }

.topSec { padding: 6em 0; }
@media only screen and (max-width: 768px) { .topSec { padding: 3rem 0; } }
.topSec p { line-height: 2; margin-bottom: 1rem; }
.topSec h4 { margin: 2rem auto 1rem; font-size: 1.2rem; }

.maker { background: linear-gradient(transparent 60%, #ffe1037a 60%); }

.introImg { margin-top: -6rem; }
.introImg img { max-width: none; }

.rellax-wrapper { width: 100%; height: 100%; margin: auto; }

#topScrap { background-color: #93C3BF; padding: 10rem 0; }

#topAbout { background: url("https://engine-prgm.jp/wp-content/uploads/2021/02/img_infi.png") no-repeat 50% 50%; background-size: 80% auto; }
#topAbout h3 { font-size: 3rem; font-weight: bold; margin: 2em auto 0.5em; }
@media only screen and (max-width: 768px) { #topAbout h3 { font-size: 1.8rem; } }
#topAbout h4 { font-size: 1.5rem; font-weight: bold; margin: 1em auto; }
@media only screen and (max-width: 768px) { #topAbout h4 { font-size: 1.1rem; } }
#topAbout .connect_ttl { border: 1px solid #003149; padding: 0.5rem; text-align: center; margin-bottom: 2rem; margin-top: 5rem; }
@media only screen and (max-width: 768px) { #topAbout .connect_ttl { margin-top: 2rem; margin-bottom: 1rem; } }
#topAbout .connect_list { margin-bottom: 6em; }
#topAbout .connect_list li { margin-bottom: 2rem; position: relative; }
#topAbout .connect_list li:after { font-family: "Times New Roman", Times, "serif"; font-size: 8em; font-style: italic; color: #d6f1f8; position: absolute; left: -0.1em; bottom: -0.2em; line-height: 1; z-index: -1; }
#topAbout .connect_list h4 { color: #003149; }
#topAbout .connect_list li:first-child:after { content: "1"; }
#topAbout .connect_list li:nth-child(2) { margin-left: 10%; }
#topAbout .connect_list li:nth-child(2):after { content: "2"; }
#topAbout .connect_list li:nth-child(3) { margin-left: 20%; }
#topAbout .connect_list li:nth-child(3):after { content: "3"; }
#topAbout .power_box { margin-bottom: 2rem; }
#topAbout .power_box li { background: #003149; padding: 1rem; margin-bottom: 1rem; position: relative; }
@media only screen and (min-width: 769px) { #topAbout .power_box li { width: 31%; } }
#topAbout .power_box li:after { content: ""; display: block; border: 1px solid #003149; position: absolute; top: 5px; left: 5px; z-index: 0; width: 100%; height: 100%; }
#topAbout .power_box li p { font-weight: bold; font-size: 1.5rem; color: white; text-align: center; margin-bottom: 0; }
@media only screen and (max-width: 768px) { #topAbout .power_box li p { font-size: 0.9rem; } }
#topAbout .connect_box { background: #d6f1f8; padding: 1rem; margin: 0 auto 1rem; text-align: center; width: 80%; position: relative; font-size: 1.2rem; }
@media only screen and (max-width: 768px) { #topAbout .connect_box { font-size: 0.8rem; width: 90%; } }
#topAbout .connect_box h5, #topAbout .connect_box p { font-weight: bold; }
#topAbout .connect_box h5 { font-size: 1.2em; margin: 0.3em auto; }
#topAbout .connect_box p { margin-bottom: auto; text-align: center; }
#topAbout .arw_btm { margin-bottom: 3rem; }
#topAbout .arw_btm:after { position: absolute; content: ""; display: block; bottom: -48px; z-index: -1; left: calc( 50% - 24px); border-top: 48px solid transparent; border-bottom: 48px solid transparent; border-left: 48px solid #d6f1f8; transform: rotate(90deg); -moz-transform: rotate(90deg); -webkit-transform: rotate(90deg); }
#topAbout .connect_box_ttl_plus { font-size: 3em; text-align: center; margin: 0 auto; line-height: 1.2; }
#topAbout .gaiburenkei { border: 1px solid; padding: 6px; display: inline-block; margin-right: 1em; }
#topAbout .bg_navy_box { background: #003149; color: white; border-radius: 0.5em; padding: 1em; margin: 1rem auto 2rem; }
#topAbout .bg_navy_box p { margin-bottom: 0; }
#topAbout .sigtalk { margin: 3rem auto 0; }
#topAbout .sigtalk p { font-size: 0.9rem; }
#topAbout .sigtalk h4 { position: relative; text-align: center; z-index: 10; }
#topAbout .sigtalk h4 span { color: #003149; font-weight: bold; }
@media only screen and (min-width: 769px) { #topAbout .sigtalk h4 span { background-color: white; padding: 0 1em; } }
@media only screen and (min-width: 769px) { #topAbout .sigtalk h4:after { content: ""; border-top: 1px solid; margin: -0.6em auto 1em; width: 100%; display: block; z-index: 0; } }
#topAbout .sigtalk h5 { font-size: 1.1rem; font-weight: bold; margin-bottom: 1em; text-align: center; line-height: 1.4; }
#topAbout .sigtalk h5 img { width: 200px; padding-bottom: 5px; }
@media only screen and (min-width: 769px) { #topAbout .sigtalk h5 img { padding-right: 2em; } }
@media only screen and (max-width: 768px) { #topAbout .sigtalk h4 { border-top: 1px solid; border-bottom: 1px solid; } }

#topKv { padding: 6rem 0 2rem; position: relative; }
@media only screen and (max-width: 768px) { #topKv { padding: 10% 0 2rem; overflow: hidden; } }

.topKv_text { text-align: justify; margin-top: 2rem; font-size: 1rem; }
@media only screen and (min-width: 769px) { .topKv_text { margin-top: 4rem; width: 60%; z-index: 10; position: relative; } }

.kv_ttl { font-size: 2.4rem; padding-bottom: 1rem; padding-top: 3rem; line-height: 2; }
.kv_ttl strong { font-size: 120%; }
@media only screen and (max-width: 768px) { .kv_ttl { font-size: 1.6rem; padding-top: 1rem; } }

#topImgWrap { position: absolute; top: 100px; right: 0; max-width: 700px; width: 90%; }
@media only screen and (min-width: 769px) { #topImgWrap { width: 60%; z-index: 0; } }
@media only screen and (max-width: 768px) { #topImgWrap { opacity: 0.2; top: 20%; } }

#ani_1 { margin: 0 auto; position: absolute; top: 0; right: 0; z-index: 0; }
@media only screen and (max-width: 768px) { #ani_1 { top: 10%; } }

#ani_2 { margin: 0 auto; position: absolute; top: 30vw; right: 40%; width: 40%; z-index: 0; }
@media only screen and (max-width: 768px) { #ani_2 { top: 190px; } }
@media only screen and (min-width: 1100px) { #ani_2 { top: 350px; } }

#ani_3 { margin: 0 auto; position: absolute; top: 40px; z-index: 2; right: 20%; width: 80%; }
@media only screen and (max-width: 768px) { #ani_3 { width: 90%; top: 30px; right: 18%; } }

@media only screen and (min-width: 769px) { #ani_1, #ani_3 { opacity: 0.3; } }
@media only screen and (max-width: 768px) { #topEngine .mainTtl { font-size: 1.2rem; } }

#topAbout { position: relative; }

#topAbout_ani { position: absolute; top: 0; right: 0; height: 100%; width: 100%; z-index: -1; }
#topAbout_ani #toppa { right: 5%; }
@media only screen and (max-width: 768px) { #topAbout_ani #toppa { margin-top: 50%; } }
#topAbout_ani #sousin { right: 20%; }
#topAbout_ani #renkei { left: 10%; }

.re_1 { max-width: 400px; text-align: center; margin: 50% auto; opacity: 0.5; }
@media only screen and (max-width: 768px) { .re_1 { margin: 100% auto; } }

.re_2 { max-width: 120px; width: 10%; margin: 0 auto; position: absolute; top: 20%; z-index: 1; opacity: 0.5; }
@media only screen and (max-width: 768px) { .re_2 { width: 15%; } }

#toyama.re_1 { max-width: 800px; width: 150%; }
@media only screen and (max-width: 768px) { #toyama.re_1 { width: 100%; max-width: 600px; } }

.single-thum { margin: 0 auto 3em; }
.single-date { font-size: 0.9rem; }
.single-sentence { margin: 2em auto; }
.single-title { font-size: 2rem; }
.single-author { text-align: right; font-weight: bold; }
.single-sidebar { width: 300px; }
