@charset "UTF-8";
html, body, p, ol, ul, li, dl, dt, dd, blockquote, figure, fieldset, legend, textarea, pre, iframe, hr, h1, h2, h3, h4, h5, h6 { margin: 0; padding: 0; }

h1, h2, h3, h4, h5, h6 { font-size: 100%; font-weight: normal; }

ul { list-style: none; }

button, input, select, textarea { margin: 0; }

html { box-sizing: border-box; }

*, *:before, *:after { box-sizing: inherit; }

img, embed, iframe, object, video { height: auto; max-width: 100%; }

audio { max-width: 100%; }

iframe { border: 0; }

table { border-collapse: collapse; border-spacing: 0; }

td, th { padding: 0; text-align: left; }

textarea, input[type="email"], input[type="password"], input[type="text"], input[type="button"], input[type="submit"] { -webkit-appearance: none; }

textarea { resize: vertical; }

input:-webkit-autofill { -webkit-box-shadow: 0 0 1000px white inset; outline: none; }

input, button { outline: none; }

area { border: none; outline: none; }

img { -ms-interpolation-mode: bicubic; }

* { -webkit-tap-highlight-color: rgba(255, 255, 255, 0.25); max-height: 999999px; }
*::before, *::after { will-change: all; box-sizing: border-box; }

em, i, b { font-weight: normal; font-style: normal; }

body { -webkit-text-size-adjust: 100%; -webkit-font-smoothing: antialiased; font-family: YakuHanJP_Noto, "Noto Sans JP", "Roboto", "Droid Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", sans-serif; }

input, textarea, select { font-family: YakuHanJP_Noto, "Noto Sans JP", "Roboto", "Droid Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", sans-serif; }

a { cursor: pointer; text-decoration: none; }

a:link { color: #000; }

a:visited { color: #000; }

a:hover { color: #000; text-decoration: none; }

a:active { color: #000; }

.clr { clear: both; }

.hide { position: absolute !important; left: -9999px !important; top: -9999px !important; }

section { clear: both; zoom: 1; }

article:after, section:after, .clrFx:after { content: ''; clear: both; display: block; }

/*
html{overflow:hidden;}
html.windowloaded {overflow: visible;}
*/
@media screen and (min-width: 781px) { .sp-item { display: none !important; }
  .middle-item { display: none; }
  .siteheader .gnav ul li:nth-child(1) a { width: 75px; }
  .siteheader .gnav ul li:nth-child(2) a { width: 117px; }
  .siteheader .gnav ul li:nth-child(3) a { width: 102px; }
  .siteheader .gnav ul li:nth-child(4) a { width: 102px; }
  .siteheader .gnav ul li:nth-child(5) a { width: 102px; }
  .siteheader .gnav ul li:nth-child(6) a { width: 132px; } }
body { position: static; overflow: auto; width: auto; *overflow-y: hidden; color: #4d4d4d; font-size: 20px; line-height: 1; z-index: 0; font-family: YakuHanJP_Noto, "Noto Sans JP", "Roboto", "Droid Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", sans-serif; }

.over-section { margin: 0 -800px; zoom: 1; position: relative; *overflow-y: hidden; clear: both; padding: 0; }

.over-section:after { content: ''; clear: both; display: block; }

main { padding: 0; position: relative; background: #fff; }

section { width: 100%; margin: 0 auto; clear: both; zoom: 1; position: relative; z-index: 100; padding: 0; }

.wrap { margin: 0 auto; clear: both; zoom: 1; position: relative; z-index: 100; padding: 0; }

article { margin: 0 auto; clear: both; zoom: 1; position: relative; z-index: 10; padding: 0; }

article:after, section:after, .wrap:after { content: ''; clear: both; display: block; }

#wrapper { width: 100%; position: relative; margin: 0 auto; overflow: hidden; min-height: 100vh; min-width: 1200px; background-attachment: fixed; padding: 92px 0 0; }

#contents { background: url("/images/bg_news.jpg") left top no-repeat; min-height: 610px; }

main { width: 100%; text-align: center; z-index: 10; display: block; background: #fff; }

#loading { position: fixed; left: 0; top: 0; z-index: 20000; }

.control { display: none; }

.siteheader { position: fixed; left: 0; top: 0; z-index: 10000; height: 92px; background: #fff; width: 100%; transition: top 0.6s; font-size: 0; line-height: 1; min-width: 1200px; }
.siteheader .sitename { position: absolute; left: 20px; top: 15px; }
.siteheader .sitename a { display: block; background: url("/common/images/logo.png") left top no-repeat; background-size: cover; width: calc(237px * 0.75); height: calc(152px * 0.75); }
.siteheader .gnav { display: flex; justify-content: flex-end; width: 100%; min-width: 1200px; height: 92px; /*
ul li.active a{ &:after{opacity: 1;}
}*/ }
.siteheader .gnav ul { display: flex; position: relative; }
.siteheader .gnav ul li a { display: block; height: 92px; line-height: 92px; padding: 0; text-align: center; font-size: 14px; color: #00428e; font-weight: bold; letter-spacing: 0.1em; position: relative; /*&:after{content:"";width:100%;height:7px;background: $blue;position: absolute;top:0;left:0;opacity: 1;transition: opacity 0.3s; border: 1px solid red;}*/ }
.siteheader .gnav ul li a:hover { /*&:after{opacity: 1;transition: opacity 0.2s}*/ }
.siteheader .gnav ul::after { content: ''; width: 75px; height: 7px; background: #00428e; position: absolute; left: 0; top: 0; transition: 0.5s cubic-bezier(0.215, 0.61, 0.355, 1); }
.siteheader .gnav ul::after { left: 0; }
.siteheader .gnav ul[data-active='0']::after { left: 0; width: 75px; }
.siteheader .gnav ul[data-active='1']::after { left: 75px; width: 117px; }
.siteheader .gnav ul[data-active='2']::after { left: 192px; width: 102px; }
.siteheader .gnav ul[data-active='3']::after { left: 294px; width: 102px; }
.siteheader .gnav ul[data-active='4']::after { left: 396px; width: 102px; }
.siteheader .gnav ul[data-active='5']::after { left: 498px; width: 132px; }
.siteheader .gnav .sns { display: flex; padding: 0 25px 0 15px; align-content: center; align-items: center; }
.siteheader .gnav .sns a { display: inline-block; width: 32px; margin: 0 5px; transition: opacity 0.2s; }
.siteheader .gnav .sns a:hover { opacity: 0.7; }
.siteheader .scroll { display: flex; }
.siteheader .recruit { width: 162px; height: 162px; }
.siteheader .recruit a { display: flex; width: 100%; height: 100%; background: #f03838; border-radius: 0 0 0 24px; justify-content: center; align-content: center; align-items: center; flex-direction: column; transition: 0.3s; }
.siteheader .recruit a:hover { filter: brightness(1.2); transition: 0.3s; }
.siteheader .recruit a i { font-size: 38px; color: #fff; font-family: "Concert One", cursive, sans-serif; line-height: 1; }
.siteheader .recruit a span { display: block; text-align: center; margin-top: 0; }
.siteheader .recruit a b { font-size: 14px; color: #f03838; background: #fff; display: inline-block; padding: 0 22px; line-height: 30px; border-radius: 15px; margin: 17px 0 0; letter-spacing: 0; font-weight: bold; }

@media screen and (min-width: 1401px) { .siteheader .recruit { width: 228px; height: 228px; }
  .siteheader .sitename a { width: 237px; height: 152px; } }
p.pagetop { display: flex; justify-content: flex-end; padding: 12px 0; width: 100%; max-width: 1400px; margin: 0 auto; }
p.pagetop a { color: #00428e; font-family: 'Muli', sans-serif; font-size: 18px; padding: 10px 43px 10px 20px; background: url("/common/images/icon_arr.png") no-repeat right 15px center; transform: rotate(0.05deg); transition: 0.3s; backface-visibility: hidden; font-weight: 900; }
p.pagetop a:hover { filter: brightness(1.2); }

.sitefooter { padding: 40px 0 0; min-width: 1200px; background: #00428e; }
.sitefooter .sns { display: flex; justify-content: center; }
.sitefooter .sns a { margin: 0 8px; transition: 0.3s; }
.sitefooter .sns a:hover { filter: brightness(1.2); transition: 0.3s; }
.sitefooter .sns img { height: 58px; width: auto; }
.sitefooter .ul_wrap { display: flex; justify-content: center; }
.sitefooter ul { display: block; justify-content: center; line-height: 1; font-size: 0; padding: 30px 0 0; }
.sitefooter ul li { display: inline-block; padding: 0 12px; position: relative; }
.sitefooter ul:first-of-type li:last-child:after { content: ''; width: 1px; height: 12px; background: #fff; position: absolute; right: 0; top: 1px; }
.sitefooter ul li + li::before { content: ''; width: 1px; height: 12px; background: #fff; position: absolute; left: 0; top: 1px; }
.sitefooter ul li a { color: #fff; font-size: 12px; letter-spacing: 0.1em; }
.sitefooter ul li a:hover { border-bottom: 1px solid #fff; }
.sitefooter p.copyrights { text-align: center; color: #fff; font-size: 10px; padding: 35px 0 40px; }

/* parts */
.pagetitle { background-position: center center; background-repeat: no-repeat; height: 470px; width: 100%; display: flex; justify-content: center; align-content: center; align-items: center; }
.pagetitle h1, .pagetitle h2, .pagetitle p { display: flex; width: 283px; height: 283px; background: rgba(255, 255, 255, 0.8); justify-content: center; border-radius: 18px; align-items: center; color: #00428e; flex-direction: column; }
.pagetitle h1 span, .pagetitle h2 span, .pagetitle p span { font-size: 48px; font-family: 'Concert One', cursive, sans-serif; margin-bottom: 4px; }
.pagetitle h1 small, .pagetitle h2 small, .pagetitle p small { font-size: 16px; margin: 4px 0 0; }
.pagetitle picture { position: fixed; left: -9999px; top: -9999px; }

.pagetitle.min { height: 210px; }
.pagetitle.min h1, .pagetitle.min h2 { background: none; color: #fff; white-space: nowrap; }
.pagetitle.min h1 span, .pagetitle.min h2 span { font-size: 65.94px; }
.pagetitle.min h1 small, .pagetitle.min h2 small { width: 194px; height: 30px; margin: 17px 0 0; line-height: 30px; font-size: 14px; border: 1px solid #fff; text-align: center; }

#brum { border-bottom: 1px solid #00428e; background: #fff; color: #00428e; padding: 0 12px; }
#brum li { line-height: 40px; font-size: 14px; padding: 0 8px; display: inline-block; }
#brum li + li { position: relative; }
#brum li + li::before { content: ''; height: 14px; width: 1px; background: #00428e; position: absolute; left: 0; top: 50%; margin-top: -7px; }
#brum a { color: #00428e; }
#brum a:hover { text-decoration: underline; }

#contents section { padding: 80px 0 20px; }
#contents section h2.underline { margin-bottom: 50px; }
#contents section h2.underline span { display: inline-block; padding: 0 80px; min-width: 340px; position: relative; padding-bottom: 23px; font-size: 36px; font-style: italic !important; font-weight: bold; color: #00428e; transform: rotate(0.05deg); }
#contents section h2.underline span::after { content: ''; width: 100%; height: 6px; background: #00428e; border-radius: 3px; position: absolute; left: 0; bottom: 0; }
#contents section header { text-align: center; }
#contents section header h3 { font-size: 32px; font-weight: bold; color: #00428e; line-height: 1; margin: 0 0 16px; }
#contents section h2.underline + h3 { margin-top: -22px; }
#contents section p { font-size: 17px; line-height: 35px; letter-spacing: 0.1em; }
#contents section p.pc-center { text-align: center; }
#contents section h2.underline + p { margin-top: -30px; }
#contents section .wrap { max-width: 1400px; margin: 0 auto; text-align: left; padding: 0 60px; }
#contents section .wrap.half { display: flex; }
#contents section .wrap.half .cell { width: 100%; }
#contents section .wrap.half .cell img { width: 100%; height: auto; }
#contents section .wrap.half .cell.text { padding: 30px 0 0 50px; color: #4d4d4d; font-size: 19px; line-height: 35px; }
#contents section .wrap.half .cell.text strong { color: #f03838; font-weight: normal; }
#contents section:last-child { padding-bottom: 100px; }

/*dl company contact*/
.wrap.info { width: 1186px; }
.wrap.info dl { display: flex; border-top: 3px solid #00428e; }
.wrap.info dl:last-of-type { border-bottom: 3px solid #00428e; }
.wrap.info dl dt { font-weight: bold; padding: 22px 0; width: 523px; background: #ebebeb; color: #00428e; text-align: center; }
.wrap.info dl dd { width: calc(100% - 523px); font-size: 16px; line-height: 2.0; letter-spacing: 0.05em; padding: 17px 0 17px 40px; }
.wrap.info dl dd ul li + li { margin-top: 2px; }

/*category*/
#contents section.menu { padding-bottom: 60px; }
#contents section.menu .wrap { padding: 0; }
#contents section.menu .wrap header .category { display: flex; flex-wrap: wrap; justify-content: center; }
#contents section.menu .wrap header .category li { padding: 0 5px; }
#contents section.menu .wrap header .category li a { border: 3px solid #00428e; background: #00428e; display: block; position: relative; transition: color 0.3s ,background 0.3s; }
#contents section.menu .wrap header .category li a span { color: #fff; transition: color 0.3s; display: block; white-space: nowrap; }
#contents section.menu .wrap header .category li a:before { content: ""; width: 16px; height: 19px; background: url("/common/images/menu_arr02.png") no-repeat left top; background-size: auto 100%; position: absolute; top: 0; bottom: 0; left: 10px; margin: auto; }
#contents section.menu .wrap header .category li a:after { content: ""; width: 16px; height: 19px; background: url("/common/images/menu_arr01.png") no-repeat left top; background-size: auto 100%; position: absolute; top: 0; bottom: 0; left: 10px; margin: auto; z-index: -5; transition: 0.3s; }
#contents section.menu .wrap header .category li a:hover { background: #fff; }
#contents section.menu .wrap header .category li a:hover span { color: #00428e; }
#contents section.menu .wrap header .category li a:hover:before { content: none; }
#contents section.menu .wrap header .category li a:hover:after { z-index: 1; }
#contents section.menu .wrap header .category li.active a { background: #fff; }
#contents section.menu .wrap header .category li.active a span { color: #00428e; }
#contents section.menu .wrap header .category li.active a:before { content: none; }
#contents section.menu .wrap header .category li.active a:after { z-index: 1; transform: rotate(90deg); }
#contents section.menu .wrap header .category li.active a:hover:before { content: none; }

/*pagination*/
#contents .pagination { width: 457px; margin: 0 auto; position: relative; }
#contents .pagination p, #contents .pagination li { width: 60px; height: 50px; padding: 0 5px; line-height: 45px; }
#contents .pagination a { border: 3px solid #00428e; display: block; width: 100%; height: 100%; background: #00428e; color: #fff; transition: 0.3s; margin-top: -1px; }
#contents .pagination a:hover { background: #fff; color: #00428e; }
#contents .pagination ul { display: flex; justify-content: center; }
#contents .pagination li.active a { background: #fff; color: #00428e; pointer-events: none; }
#contents .pagination li.active a:hover { background: #fff; color: #00428e; }
#contents .pagination .arrow { position: absolute; top: 0; }
#contents .pagination .arrow a { position: relative; transition: 0.3s; }
#contents .pagination .arrow a:before { content: ""; width: 17px; height: 20px; background: url("/common/images/menu_arr02.png") no-repeat left top; background-size: auto 100%; position: absolute; top: 0; right: 0; bottom: 0; left: 0; margin: auto; transition: 0.3s; }
#contents .pagination .arrow a:after { content: ""; width: 17px; height: 20px; background: url("/common/images/menu_arr01.png") no-repeat left top; background-size: auto 100%; position: absolute; top: 0; right: 0; bottom: 0; left: 0; margin: auto; z-index: -5; }
#contents .pagination .arrow a:hover:before { content: none; }
#contents .pagination .arrow a:hover:after { z-index: 1; }
#contents .pagination .arrow.prev a { left: 0; }
#contents .pagination .arrow.prev a:before { transform: rotate(180deg); }
#contents .pagination .arrow.prev a:after { transform: rotate(180deg); }
#contents .pagination .arrow.prev.back { right: 0; left: 0; margin: auto; }
#contents .pagination ul { padding-left: 0; }
#contents .pagination .arrow.next { right: 0; }

.firefox.mac .pagetitle h1 span { transform: translate(0, -10px); }
.firefox.mac .siteheader .recruit a i { transform: translate(0, -10px); }

@media screen and (min-width: 1601px) { .pagetitle { background-size: cover; } }
@media screen and (min-width: 781px) and (max-width: 1420px) { /*category*/
  #contents section.menu .wrap { max-width: 1040px; }
  #contents section.menu .wrap header .category { width: auto; }
  #contents section.menu .wrap header .category li { padding: 0 5px; }
  #contents section.menu .wrap header .category li a { border: 3px solid #00428e; background: #00428e; display: block; color: #fff; position: relative; transition: 0.3s; }
  #contents section.menu .wrap header .category li a:before { content: ""; width: 16px; height: 19px; background: url("/common/images/menu_arr02.png") no-repeat left top; background-size: auto 100%; position: absolute; top: 0; bottom: 0; left: 10px; margin: auto; }
  #contents section.menu .wrap header .category li a:after { content: ""; width: 16px; height: 19px; background: url("/common/images/menu_arr01.png") no-repeat left top; background-size: auto 100%; position: absolute; top: 0; bottom: 0; left: 10px; margin: auto; z-index: -5; }
  #contents section.menu .wrap header .category li a:hover { background: #fff; color: #00428e; }
  #contents section.menu .wrap header .category li a:hover:before { content: none; }
  #contents section.menu .wrap header .category li a:hover:after { z-index: 1; } }
@media screen and (min-width: 781px) and (max-width: 1180px) { #contents section .middle-item { display: block; }
  #contents section .wrap { max-width: 900px; padding: 0 10px; }
  #contents section .wrap dl dt { width: 410px; }
  #contents section .wrap dl dd { width: calc(100% - 410px); } }
@media screen and (max-width: 780px) { /*  	SP STYLE  *************************************************************/
  .pc-item { display: none !important; }
  .middle-item { display: none !important; }
  .nav-open { overflow: hidden; }
  body { font-size: 2.9487179487vw; min-width: 100%; }
  .over-section { margin: 0; }
  #wrapper { width: 100%; min-width: inherit; background-attachment: inherit; padding: 10.5128205128vw 0 0; }
  #contents { background: url(/images/bg_news-sp.jpg) left top no-repeat; background-size: 100vw auto; }
  main { width: 100%; }
  .siteheader { height: 10.5128205128vw; min-width: inherit; }
  .siteheader .gnav { display: flex; justify-content: flex-end; width: 100%; min-width: inherit; height: 10.5128205128vw; transition: 0.3s; }
  .siteheader .gnav ul, .siteheader .gnav .sns { display: none; }
  .siteheader .gnav #nav_btn_sp { position: absolute; z-index: 110005; width: 7.6923076923vw; height: 4.1025641026vw; margin-right: 3.2051282051vw; margin-top: 3.0769230769vw; right: 0; cursor: pointer; }
  .siteheader .gnav #nav_btn_sp span { display: block; position: absolute; top: 0; bottom: 0; margin: auto; width: 7.6923076923vw; height: 3px; background: #203d8e; transition: 0.2s; }
  .siteheader .gnav #nav_btn_sp span + span { top: 0; bottom: inherit; }
  .siteheader .gnav #nav_btn_sp span + span + span { bottom: 0; top: inherit; }
  .siteheader .gnav ul:after { content: none; }
  .siteheader .sitename { top: 1.9230769231vw; left: 2.5641025641vw; }
  .siteheader .sitename a { width: 30.3846153846vw; height: 19.4871794872vw; }
  .siteheader .gnav.open { width: 100%; height: 100vh; background: #fff; z-index: 10005; overflow-y: scroll; }
  .siteheader .gnav.open #nav_btn_sp span { display: block; position: absolute; top: 0; bottom: 0; margin: auto; width: 7.6923076923vw; height: 3px; background: #203d8e; transition: 0.2s; transform: translate(20px); }
  .siteheader .gnav.open #nav_btn_sp span:first-of-type { opacity: 0; }
  .siteheader .gnav.open #nav_btn_sp span + span { top: 0; bottom: 0; transform: rotate(45deg); }
  .siteheader .gnav.open #nav_btn_sp span + span + span { bottom: 0; top: 0; transform: rotate(-45deg); }
  .siteheader .gnav.open .scroll { display: block; width: 100%; }
  .siteheader .gnav.open .sitename { opacity: 0; }
  .siteheader .gnav.open ul { display: block; width: 92.3076923077vw; margin: 0 auto; padding-top: 16.6666666667vw; display: block; text-align: center; }
  .siteheader .gnav.open ul li { padding-bottom: 0.641025641vw; }
  .siteheader .gnav.open ul li a { font-size: 4.1025641026vw; display: block; height: auto; line-height: normal; padding: 0; font-weight: normal; }
  .siteheader .gnav.open ul li a:after { content: none; }
  .siteheader .gnav.open ul li + li { margin-top: 8.3333333333vw; }
  .siteheader .gnav.open ul li.active a { display: inline-block; border-bottom: 1.0256410256vw solid #203d8e; }
  .siteheader .gnav.open .sns { display: flex; z-index: 10; width: 92.3076923077vw; margin: 14.1025641026vw auto 0; justify-content: center; padding: 0 0 12.8205128205vw; }
  .siteheader .gnav.open .sns a { display: block; width: 12.9487179487vw; margin: 0 2.0512820513vw; }
  p.pagetop { display: flex; justify-content: center; padding: 0; width: 100%; margin-bottom: -11.9230769231vw; z-index: 100; position: relative; }
  p.pagetop a { color: #fff; font-size: 0; padding: 0; background: url("/common/images/pagetop.png") no-repeat center top/auto 100%; width: 25.1282051282vw; height: 25.1282051282vw; }
  .siteheader .recruit { position: absolute; bottom: 0; display: none; }
  .siteheader .recruit a { border-radius: 24px 0 0 0; }
  .siteheader .recruit a b { margin-top: 4.4871794872vw; font-size: 2.1794871795vw; }
  .sitefooter { padding: 6.9230769231vw 0 0; min-width: inherit; position: relative; z-index: 200; }
  .sitefooter .ul_wrap { display: block; }
  .sitefooter ul { display: flex; flex-wrap: wrap; padding: 6.4102564103vw 0 0; }
  .sitefooter ul + ul { padding: 1.9230769231vw 0 0; }
  .sitefooter ul + ul li:last-child:after { content: none; }
  .sitefooter ul li { padding: 0 2.5641025641vw; }
  .sitefooter ul li a { font-size: 2.5641025641vw; }
  .sitefooter ul li:before { height: 2.5641025641vw !important; }
  .sitefooter ul:first-of-type li:last-child:after { content: ''; height: 2.5641025641vw !important; }
  .sitefooter .sns img { height: 10.3846153846vw; }
  .sitefooter p.copyrights { padding: 5.1282051282vw 0 7.0512820513vw; font-size: 1.9230769231vw; }
  /* parts */
  .pagetitle { height: 77.5641025641vw; background: none !important; }
  .pagetitle h1, .pagetitle h2, .pagetitle p { position: relative; z-index: 10; width: 47.1794871795vw; height: 47.1794871795vw; border-radius: 2.3076923077vw; }
  .pagetitle h1 span, .pagetitle h2 span, .pagetitle p span { font-size: 7.9487179487vw; margin-bottom: 0.641025641vw; }
  .pagetitle h1 small, .pagetitle h2 small, .pagetitle p small { font-size: 2.5641025641vw; margin: 0.641025641vw 0 0; }
  .pagetitle picture { position: absolute; left: 0; top: 0; z-index: 0; width: 100vw; height: 77.5641025641vw; }
  .pagetitle picture img { width: 100%; height: auto; }
  .pagetitle.min { height: 43.4615384615vw; }
  .pagetitle.min h1 span, .pagetitle.min p span { font-size: 10.2564102564vw; }
  .pagetitle.min h1 small, .pagetitle.min p small { width: 31.5384615385vw; height: 6.4102564103vw; margin-top: 2.5641025641vw; line-height: 6.4102564103vw; font-size: 2.9487179487vw; }
  .pagetitle.min picture { height: 43.4615384615vw; }
  #brum { border-bottom: 1px solid #00428e; background: none; padding: 0 1.2820512821vw; margin-bottom: -10.2564102564vw; }
  #brum li { line-height: 10vw; font-size: 3.2051282051vw; padding: 0 2.5641025641vw; }
  #brum li + li { position: relative; }
  #brum li + li::before { content: ''; height: 3.2051282051vw; width: 1px; background: #00428e; position: absolute; left: 0; top: 50%; margin-top: -1.5384615385vw; }
  #brum a { color: #00428e; }
  #brum a:hover { text-decoration: underline; }
  /*category*/
  #contents section.menu { padding-bottom: 6.4102564103vw; }
  #contents section.menu .wrap header .category li { padding: 0 0.641025641vw; }
  #contents section.menu .wrap header .category li a { border: 2px solid #00428e; }
  #contents section.menu .wrap header .category li a:before { content: ""; width: 3.3333333333vw; height: 3.7179487179vw; background: url("/common/images/menu_arr02.png") no-repeat left top; background-size: auto 100%; position: absolute; top: 0; bottom: 0; left: 1.7948717949vw; margin: auto; }
  #contents section.menu .wrap header .category li a:after { content: ""; width: 3.3333333333vw; height: 3.7179487179vw; background: url("/common/images/menu_arr01.png") no-repeat left top; background-size: auto 100%; position: absolute; top: 0; bottom: 0; left: 1.7948717949vw; margin: auto; z-index: -5; }
  #contents section.menu .wrap header .category li a:hover { background: #fff; color: #00428e; }
  #contents section.menu .wrap header .category li a:hover:before { content: none; }
  #contents section.menu .wrap header .category li a:hover:after { z-index: 1; }
  #contents section.menu .wrap header .category li.active a { color: #00428e; background: #fff; }
  #contents section.menu .wrap header .category li.active a:before { content: none; }
  #contents section.menu .wrap header .category li.active a:after { z-index: 1; transform: rotate(90deg); }
  #contents section.menu .wrap header .category li.active a:hover:before { content: none; }
  .safari.iphone #contents section.menu .wrap header .category li span { transform: translate(0, -0.2564102564vw); }
  /*pagination*/
  #contents .pagination { width: 100%; height: 10vw; margin-bottom: 12.8205128205vw; }
  #contents .pagination p, #contents .pagination li { width: 11.2820512821vw; height: 10vw; padding: 0 0.641025641vw; line-height: 9.7435897436vw; }
  #contents .pagination a { border: 2px solid #00428e; font-size: 4.8358974359vw; }
  #contents .pagination .arrow { width: 10vw; padding: 0; }
  #contents .pagination .arrow a:before { content: ""; width: 3.0769230769vw; height: 3.7179487179vw; }
  #contents .pagination .arrow a:after { content: ""; width: 3.0769230769vw; height: 3.7179487179vw; }
  #contents .pagination ul { position: absolute; top: 0; left: 0; right: 0; margin: auto; padding-left: 0; justify-content: center; }
  /*dl company contact*/
  .wrap.info { width: 100%; }
  .wrap.info dl { display: flex; border-top: 2px solid #00428e; }
  .wrap.info dl:last-of-type { border-bottom: 2px solid #00428e; }
  .wrap.info dl dt { font-weight: bold; padding: 2.8205128205vw 0; width: 32.0512820513vw; background: #ebebeb; color: #00428e; text-align: center; }
  .wrap.info dl dd { width: 60.2564102564vw; font-size: 3.0769230769vw; line-height: 2.0; letter-spacing: 0.05em; }
  .wrap.info dl dd ul li + li { margin-top: 2px; }
  #contents section { padding: 20.5128205128vw 0 0; margin-bottom: -1.2820512821vw; }
  #contents section h2.underline { margin-bottom: 6.4102564103vw; }
  #contents section h2.underline span { padding: 0 10.2564102564vw; min-width: 61.5384615385vw; padding-bottom: 2.9487179487vw; font-size: 6.4102564103vw; }
  #contents section h2.underline span::after { height: 0.7692307692vw; border-radius: 0.3846153846vw; }
  #contents section header h3 { font-size: 4.358974359vw; margin: 0 0 4.358974359vw; }
  #contents section h2.underline + h3 { margin-top: -1.5384615385vw; }
  #contents section p { font-size: 3.5897435897vw; line-height: 5.2564102564vw; }
  #contents section p.pc-center { text-align: left; }
  #contents section p + p { margin-top: 5.1282051282vw; }
  #contents section h2.underline + p { margin-top: 0vw; }
  #contents section .wrap { padding: 0 5.1282051282vw; }
  #contents section .wrap.half { display: block; }
  #contents section .wrap.half .cell { width: 100%; text-align: center; }
  #contents section .wrap.half .cell img { width: 82.0512820513vw; height: auto; margin: 0 auto; }
  #contents section .wrap.half .cell.text { color: #4d4d4d; font-size: 3.5897435897vw; line-height: 5.2564102564vw; text-align: left; padding: 10.2564102564vw 0 0; }
  #contents section:last-child { padding-bottom: 12.8205128205vw; }
  .swiper-pagination-bullets .swiper-pagination-bullet { width: 2.5641025641vw !important; height: 2.5641025641vw !important; margin: 0 1.9230769231vw !important; }
  .android .pagetitle h1 span { transform: translate(0, -1.0256410256vw); }
  .android .kv .recruit a i { transform: translate(0, -1.0256410256vw); }
  .android .siteheader .gnav.open ul li a { padding-bottom: 1.0256410256vw; } }
/* 
	loader
*********************/
#loader { background: rgba(255, 255, 255, 0.5); width: 100vw; height: 100vh; z-index: 100000; position: fixed; left: 0; top: 0; }

#loader .loader { width: 48px; height: 48px; position: fixed; left: 50%; top: 50%; margin: -24px 0 0 -24px; }

.imgloaded #loader .loader { transform: scale(0.5); opacity: 0; transition: transform 1s , opacity 0.4s; }

.la-ball-clip-rotate, .la-ball-clip-rotate > div { position: relative; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }

.la-ball-clip-rotate { display: block; font-size: 0; color: #fff; }

.la-ball-clip-rotate.la-dark { color: #333; }

.la-ball-clip-rotate > div { display: inline-block; float: none; background-color: currentColor; border: 0 solid currentColor; }

.la-ball-clip-rotate { width: 32px; height: 32px; }

.la-ball-clip-rotate > div { width: 32px; height: 32px; background: transparent; border-width: 2px; border-bottom-color: transparent; border-radius: 100%; -webkit-animation: ball-clip-rotate .75s linear infinite; -moz-animation: ball-clip-rotate .75s linear infinite; -o-animation: ball-clip-rotate .75s linear infinite; animation: ball-clip-rotate .75s linear infinite; }

.la-ball-clip-rotate.la-sm { width: 16px; height: 16px; }

.la-ball-clip-rotate.la-sm > div { width: 16px; height: 16px; border-width: 2px; }

.la-ball-clip-rotate.la-2x { width: 48px; height: 48px; }

.la-ball-clip-rotate.la-2x > div { width: 48px; height: 48px; border-width: 2px; }

.la-ball-clip-rotate.la-3x { width: 96px; height: 96px; }

.la-ball-clip-rotate.la-3x > div { width: 96px; height: 96px; border-width: 2px; }

/* Animation */
@-webkit-keyframes ball-clip-rotate { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); }
  50% { -webkit-transform: rotate(180deg); transform: rotate(180deg); }
  100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } }
@-moz-keyframes ball-clip-rotate { 0% { -moz-transform: rotate(0deg); transform: rotate(0deg); }
  50% { -moz-transform: rotate(180deg); transform: rotate(180deg); }
  100% { -moz-transform: rotate(360deg); transform: rotate(360deg); } }
@-o-keyframes ball-clip-rotate { 0% { -o-transform: rotate(0deg); transform: rotate(0deg); }
  50% { -o-transform: rotate(180deg); transform: rotate(180deg); }
  100% { -o-transform: rotate(360deg); transform: rotate(360deg); } }
@keyframes ball-clip-rotate { 0% { -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -o-transform: rotate(0deg); transform: rotate(0deg); }
  50% { -webkit-transform: rotate(180deg); -moz-transform: rotate(180deg); -o-transform: rotate(180deg); transform: rotate(180deg); }
  100% { -webkit-transform: rotate(360deg); -moz-transform: rotate(360deg); -o-transform: rotate(360deg); transform: rotate(360deg); } }
/*
	js styles
******************************/
#baseVW { width: 100vw; position: fixed; left: -9999px; opacity: 0; }

#imageloaded { position: fixed; left: -9999px; height: 1px; width: 1px; overflow: hidden; }
