@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(0, 0, 0, 0); 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: "Noto Sans Japanese", "Roboto", "Droid Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", sans-serif; }

button, textarea, input, select { font-family: "Noto Sans Japanese", "Roboto", "Droid Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", sans-serif; }

a { cursor: pointer; text-decoration: none; }

a { color: #004281; }

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

a:active { color: #81a5c7; }

.clr { clear: both; }

.hide { position: absolute !important; left: -9999px !important; top: -9999px !important; }

section { clear: both; zoom: 1; }

section .etc { padding: 80px 80px -40px 80px; font-weight:bold; }


article:after, section:after, .clrFx:after { content: ''; clear: both; display: block; }

@media screen and (min-width: 960px) { .sp-item { display: none; }
  .tb-item { display: none; } }
@media screen and (min-width: 751px) and (max-width: 960px) { .sp-item { display: none; }
  .pc-item { display: none; }
  .tb-item.sp-item { display: inline-block; } }
@media screen and (max-width: 750px) { .tb-item { display: none; }
  .pc-item { display: none; }
  .tb-item.sp-item { display: inline-block; } }
/*
html{overflow:hidden;}
html.windowloaded {overflow: visible;}
*/
body { position: static; overflow: auto; width: auto; *overflow-y: hidden; color: #333; font-size: 18px; line-height: 2; z-index: 0; background: #fff; /*min-width: $contents_width;*/ }

.over-section { margin: 0 -640px; zoom: 1; position: relative; *overflow-y: hidden; clear: both; padding: 0; }

.over-section:after { content: ''; clear: both; display: block; }

main { padding: 0; overflow: hidden; position: relative; }

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: 1280px; position: relative; max-width: 1280px; margin: 0 auto; overflow: hidden; min-height: 100vh; display: flex; justify-content: center; flex-direction: row-reverse; }
#wrapper::after { content: ''; width: 50%; background: #004281; position: fixed; right: 50%; top: 0; height: 100vh; margin-right: 520px; z-index: -1; }

main { width: 1040px; }

picture { font-size: 0; line-height: 1; }

aside { width: 240px; background: #004281; position: relative; z-index: 1000; }
aside nav { width: 240px; position: fixed; right: 50%; top: 0; margin-right: 400px; height: 100vh; background: #004281; padding: 45px 0px 45px 0; font-size: 0; line-height: 1; color: #888; z-index: 10; }
aside nav ul { background: #004281; }
aside nav ul ul li { position: relative; }
aside nav li { font-size: 24px; line-height: 56px; padding-left: 24px; }
aside nav a { display: block; color: #fff; line-height: 56px; transition: color 0.1s; padding: 0 20px 0 24px; position: relative; z-index: 100; margin-left: -24px; }
aside nav a + ul a { z-index: 90; color: #81a5c7; }
aside nav a + ul a:hover, aside nav a + ul li.hover a { color: #fff; }
aside nav a + ul li.hover li a { color: #81a5c7; }
aside nav a + ul li.hover li a:hover { color: #fff; }
aside nav a + ul a + ul a { z-index: 80; }
aside nav a:hover { color: #80a4c6; transition: color 0.2s; }
aside nav .logo { margin-bottom: 34px; padding-left: 24px; }
aside nav .logo img { height: 36px; width: auto; }
aside nav li ul { position: absolute; left: 100%; top: 0; background: none; height: 100vh; padding: 143px 0 0; z-index: 90; width: 0; overflow: hidden; }
aside nav li ul li { opacity: 0; transform: translate(-100%, 0); transition: 0.2s; width: 320px; }
aside nav li ul li ul { z-index: 80; top: -87px; }
aside nav li ul li:nth-child(0) ul { margin-top: calc( 0px - 0px); }
aside nav li ul li:nth-child(1) ul { margin-top: calc( 0px - 56px); }
aside nav li ul li:nth-child(2) ul { margin-top: calc( 0px - 112px); }
aside nav li ul li:nth-child(3) ul { margin-top: calc( 0px - 168px); }
aside nav li ul li:nth-child(4) ul { margin-top: calc( 0px - 224px); }
aside nav li ul li:nth-child(5) ul { margin-top: calc( 0px - 280px); }
aside nav li ul li:nth-child(6) ul { margin-top: calc( 0px - 336px); }
aside nav li ul li:nth-child(7) ul { margin-top: calc( 0px - 392px); }
aside nav li ul li:nth-child(8) ul { margin-top: calc( 0px - 448px); }
aside nav li ul li:nth-child(9) ul { margin-top: calc( 0px - 504px); }
aside nav li.side_ban{margin-top:15px;}
aside nav li.side_ban a:hover{opacity:60%;}
aside::after { position: fixed; left: 50%; top: 0; width: 240px; height: 100vh; background: #004281; content: ''; z-index: 0; transition: 0.8s cubic-bezier(0.19, 1, 0.22, 1); transform: translate(-640px, 0); }
aside[data-showcount='0']::after { width: 240px; }
aside[data-showcount='1']::after { width: 560px; }
aside[data-showcount='2']::after, aside[data-showcount='3']::after { width: 880px; }

.nav > li.hover a + ul { width: 320px; }

.nav > li.hover a + ul li { transform: translate(0, 0); transition: 0.8s cubic-bezier(0.19, 1, 0.22, 1); opacity: 1; }

.nav > li.hover a + ul ul { width: 0; }

.nav > li.hover a + ul ul li { transform: translate(-100%, 0); opacity: 0; }

.nav > li.hover a + ul.show { overflow: visible; }

.nav > li.hover a + ul li.hover a + ul { width: 320px; }

.nav > li.hover a + ul li.hover a + ul li { transform: translate(0, 0); opacity: 1; }

.nav li.hover::after { content: ''; width: 120px; height: 100%; background: rgba(0, 0, 0, 0); position: absolute; right: 0; top: 0; z-index: 1000; }

@media screen and (min-width: 961px) and (max-width: 1280px) { aside nav { left: 0; margin-right: inherit; right: inherit; }
  aside::after { left: 0; transform: translate(0, 0); } }
.pagetop { display: block; width: 36px; background: #004281; height: 36px; font-size: 0; position: absolute; right: 0; z-index: 1000; transition: 0.2s; border: 1px solid #004281; top: -76px; }

.pagetop::after { width: 0; height: 0; border-style: solid; border-width: 0 6px 9px 6px; border-color: transparent transparent #fff transparent; position: absolute; left: 50%; top: 50%; margin: -5px 0 0 -6px; z-index: 10; content: ''; transition: 0.3s; }

.pagetop:hover { background: #fff; }

.pagetop:hover::after { border-color: transparent transparent #004281 transparent; }

.sitefooter { width: 1280px; margin: 160px auto 0; padding: 0 0 20px 240px; position: relative; }
.sitefooter::after { content: ''; width: 50%; background: #004281; position: absolute; right: 50%; bottom: 0; height: 100vh; margin-right: 400px; z-index: -1; }
.sitefooter .company { border-top: 1px solid #c8c8c8; padding: 30px 0 0; margin-left: 40px; margin-bottom: 44px; }
.sitefooter .company li { position: relative; padding: 0 0px 0 0; }
.sitefooter .company h2 { color: #333; font-size: 13px; font-weight: bold; width: 230px; float: left; text-align: left; line-height: 34px; }
.sitefooter .company p { font-size: 13px; line-height: 34px; }
.sitefooter .company a { display: inline-block; position: absolute; right: 0; top: 0; font-size: 13px; color: #004281; line-height: 34px; transition: 0.2s; }
.sitefooter .company a::after { content: ''; width: 6px; height: 6px; border-right: 1px solid #004281; border-bottom: 1px solid #004281; position: absolute; left: -13px; top: 14px; transform: rotate(-45deg); transition: 0.2s; }
.sitefooter .company a:hover { color: #111; }
.sitefooter .company a:hover::after { border-color: #d2213a; }
.sitefooter .links { font-size: 16px; line-height: 24px; padding: 0 0 0 40px; float: left; }
.sitefooter .links li { display: inline; position: relative; }
.sitefooter .links li ~ li { margin-left: 40px; }
.sitefooter .links li ~ li::after { content: '/'; position: absolute; left: -25px; top: -4px; }
.sitefooter .links a { color: #004281; }
.sitefooter .copyrights { font-size: 16px; line-height: 24px; zoom: 1; overflow: hidden; padding-right: 0px; text-align: right; }

/* parts */
.brum { text-align: right; font-size: 20px; line-height: 1; display: flex; justify-content: flex-end; color: #004281; padding: 50px 0 83px; }

.brum li { list-style: none; }
.brum li + li { margin-left: 50px; position: relative; }
.brum li + li::after { content: '/'; position: absolute; left: -30px; top: 0; }

.brum li a:hover { color: #81a5c7; }

h1 { font-size: 56px; color: #004281; text-align: center; line-height: 1; }

h2 { font-size: 40px; color: #004281; text-align: center; line-height: 1; font-weight: bold; }

h3 { font-size: 24px; color: #004281; text-align: center; line-height: 1; font-weight: bold; }

h2 em, h3 em { font-style: italic; font-weight: bold; }

main section p b { font-weight: bold; }

a.link { color: #333; font-size: 16px; font-weight: bold; display: inline-block; padding: 0 25px 10px 5px; line-height: 1; border-bottom: 1px solid #004281; margin: 0 auto; }

a.link:hover { color: #cb001d; border-color: #cb001d; transition: 0.2s; }

a.link::after { content: ''; width: 6px; height: 6px; border-right: 1px solid #004281; border-bottom: 1px solid #004281; position: absolute; right: 2px; top: 4px; transform: rotate(-45deg); transition: 0.2s; }

a.link:hover::after { border-color: #cb001d; }

a.btn::after { content: ''; width: 6px; height: 6px; border-right: 1px solid #004281; border-bottom: 1px solid #004281; position: absolute; right: 25px; top: 26px; transform: rotate(-45deg); transition: 0.2s; }

/* margin */
.pagehead h1, .kv h1 { margin-bottom: 67px; }

main h2 + h3 { margin-top: 35px; }

main h3 + p { margin-top: 50px; }

main p + p { margin-top: 35px; }

main p + p a.link { margin-bottom: 15px; top: 10px; position: relative; }

main section + section { margin-top: 120px; }

main section.pagehead + section { margin-top: 60px; }

#menu { display: none; }

@media screen and (min-width: 751px) and (max-width: 960px) { /* TB STYLE */
  .menuopen { overflow: hidden; }
  body { font-size: 24px; min-width: 100vw; line-height: 2; text-align: left; }
  .over-section { margin: 0; }
  #wrapper { width: 100%; max-width: inherit; background: #fff; flex-direction: row; overflow: hidden; }
  #wrapper::after { display: none; }
  main { width: 100%; overflow: hidden; }
  picture { font-size: 0; line-height: 1; }
  .sitefooter { width: 100%; }
  aside { width: 100%; position: fixed; left: 0; top: 0; overflow: visible; z-index: 1000; }
  aside nav { width: 100%; position: static; margin-right: 0; height: inherit; padding: 0; overflow: hidden; overflow-y: hidden; height: auto; }
  aside nav .scroll { height: 100%; overflow: hidden; overflow-y: scroll; width: 100%; position: fixed; padding: 100px 0 0 17.5px; top: -101vh; background: #004281; transition: top 0.3s; }
  .menuopen aside nav .scroll { top: 0; transition: 0.6s; }
  aside nav .logo { height: 100px; padding: 0; margin: 0; text-align: center; z-index: 100; display: block; }
  aside nav .logo a { display: block; background: #004281; padding: 30px 0; }
  aside nav .logo img { height: 44px; width: auto; }
  aside nav .nav { position: static; left: 0; top: 0; width: 100%; z-index: 50; padding: 0vw 0 0; }
  aside nav ul ul li { position: relative; }
  aside nav li { font-size: 30px; line-height: 80px; padding-left: 45px; }
  aside nav a { line-height: 80px; padding: 0 140px 0 0vw; position: relative; z-index: 100; margin-left: 0; color: #fff !important; }
  aside nav li ul { position: static; left: 0; top: 0; background: none; height: auto; padding: 0; z-index: 90; width: auto; }
  aside nav li ul li { opacity: 1; transform: translate(0, 0); transition: 0.2s; width: auto; }
  aside nav li ul li ul { z-index: 80; top: 0; }
  aside nav li ul li:nth-child(0) ul { margin-top: 0; }
  aside nav li ul li:nth-child(1) ul { margin-top: 0; }
  aside nav li ul li:nth-child(2) ul { margin-top: 0; }
  aside nav li ul li:nth-child(3) ul { margin-top: 0; }
  aside nav li ul li:nth-child(4) ul { margin-top: 0; }
  aside nav li ul li:nth-child(5) ul { margin-top: 0; }
  aside nav li ul li:nth-child(6) ul { margin-top: 0; }
  aside nav li ul li:nth-child(7) ul { margin-top: 0; }
  aside nav li ul li:nth-child(8) ul { margin-top: 0; }
  aside nav li ul li:nth-child(9) ul { margin-top: 0; }
  aside::after { display: none !important; }
  aside[data-showcount='0']::after { width: 100%; }
  aside[data-showcount='1']::after { width: 100%; }
  aside[data-showcount='2']::after, aside[data-showcount='3']::after { width: 100%; }
  aside a.parent i { position: absolute; right: 0; top: 0; height: 80px; transition: 0.3s; display: block; }
  aside a.parent i em { position: absolute; right: 140px; top: 72px; display: block; width: 44px; height: 44px; transform: rotate(0); transform: rotate(135deg); transition: 0.3s; }
  aside a.parent i em::after { content: ''; width: 22px; height: 22px; border: 6px #fff solid; position: absolute; right: 90px; top: 50%; margin-top: -11px; z-index: 10; }
  aside a.parent i em::before { content: ''; width: 44px; height: 44px; background: #004281; position: absolute; right: 98px; top: 50%; transform: rotate(45deg); z-index: 20; margin-top: -9px; }
  aside a.parent.open i { transform: scaleY(-1); top: 1.2vw; }
  aside a.parent + ul { display: none; }
  #menu { width: 32px; height: 32px; position: fixed; right: 16px; top: 36px; z-index: 10000; display: block; }
  #menu::after { content: ''; width: 32px; height: 4px; position: absolute; left: 0; top: 50%; background: #fff; margin-top: -2px; z-index: -1; transition: 0.3s; }
  #menu i { display: block; height: 32px; position: inherit; cursor: pointer; width: 32px; }
  #menu i::after { content: ''; width: 100%; height: 4px; position: absolute; left: 0; top: 4px; background: #fff; transition: 0.3s; }
  #menu i::before { content: ''; width: 100%; height: 4px; position: absolute; left: 0; bottom: 4px; background: #fff; transition: 0.3s; }
  .menuopen #menu::after { opacity: 0; transform: translate(10vw, 0); }
  .menuopen #menu i { display: block; height: 32px; position: inherit; cursor: pointer; width: 32px; }
  .menuopen #menu i::after { transform: rotate(45deg) translate(4px, 10px); width: 40px; }
  .menuopen #menu i::before { transform: rotate(-45deg) translate(4px, -10px); width: 40px; }
  .pagetop { display: none; }
  .sitefooter { width: 100%; margin: 120px auto 0; padding: 0; }
  .sitefooter::after { display: none; }
  .sitefooter .company { border-top: 1px solid #c8c8c8; padding: 80px 40px 0; margin-left: 0px; margin-bottom: 120px; }
  .sitefooter .company li { position: relative; padding: 0 0 0 70px; position: relative; }
  .sitefooter .company li ~ li { margin-top: 25px; }
  .sitefooter .company h2 { color: #333; font-size: 18px; font-weight: bold; width: auto; float: none; line-height: 24px; }
  .sitefooter .company p { font-size: 18px; line-height: 24px; }
  .sitefooter .company a { display: inline-block; position: absolute; right: inherit; left: 0; top: 0; font-size: 14px; color: #fff; line-height: 24px; transition: 0.2s; width: 50px; background: #004281; text-align: center; border-radius: 3px; }
  .sitefooter .company a::after { display: none; }
  .sitefooter .company a:hover { color: #fff; }
  .sitefooter .links { display: none; }
  .sitefooter .copyrights { font-size: 18px; line-height: 80px; text-align: center; background: #004281; color: #fff; }
  /* parts */
  .brum { display: none; }
  main { padding-top: 100px; }
  h1 { font-size: 56px; }
  h2 { font-size: 36px; }
  h3 { font-size: 24px; }
  h2 em, h3 em { font-style: italic; font-weight: bold; }
  a.link { font-size: 3.2vw; display: block; padding: 0; line-height: 10.1333333333vw; border: 0.2666666667vw solid #004281; margin: 0 auto; text-align: center; color: #004281; }
  a.link::after { content: ''; width: 1.8666666667vw; height: 1.8666666667vw; border: 0.4vw #004281 solid; position: absolute; right: 2.6666666667vw; top: 50%; margin-top: -0.9333333333vw; z-index: 10; }
  a.link::before { content: ''; width: 2.6666666667vw; height: 8vw; background: #fff; position: absolute; right: 3.6vw; top: 50%; transform: rotate(0); z-index: 20; margin-top: -3.3333333333vw; }
  a.btn::after { content: ''; width: 6px; height: 6px; border-right: 1px solid #004281; border-bottom: 1px solid #004281; position: absolute; right: 25px; top: 26px; transform: rotate(-45deg); transition: 0.2s; }
  .kv { display: flex; flex-wrap: wrap; justify-content: center; flex-flow: column-reverse; }
  .kv img { width: 100%; height: auto; }
  /* margin */
  .kv h1 { margin-bottom: 52px; padding-top: 78px; }
  main h2 + h3 { margin-top: 22px; }
  main h3 + p { margin-top: 65px; }
  main p + p { margin-top: 55px; }
  main p + p a.link { margin-bottom: 0; top: 0; }
  main section + section { margin-top: 120px; }
  main section.pagehead + section { margin-top: 60px; } }
@media screen and (max-width: 750px) { /*  	SP STYLE  *************************************************************/
  .menuopen { overflow: hidden; }
  body { font-size: 3.2vw; min-width: 100vw; line-height: 2; text-align: left; }
  .over-section { margin: 0; }
  #wrapper { width: 100vw; max-width: inherit; background: #fff; flex-direction: row; overflow: hidden; }
  #wrapper::after { display: none; }
  main { width: 100vw; overflow: hidden; }
  picture { font-size: 0; line-height: 1; }
  .sitefooter { width: 100vw; }
  aside { width: 100%; position: fixed; left: 0; top: 0; overflow: visible; z-index: 100; }
  aside nav { width: 100%; position: static; margin-right: 0; height: inherit; padding: 0; overflow: hidden; overflow-y: hidden; height: auto; }
  aside nav .scroll { height: 100%; overflow: hidden; overflow-y: scroll; width: 100vw; position: fixed; padding: 26.6666666667vw 0 0 4.6666666667vw; top: -101vh; background: #004281; transition: top 0.3s; }
  .menuopen aside nav .scroll { top: 0; transition: 0.6s; }
  aside nav .logo { height: 26.6666666667vw; padding: 0vw 0; margin: 0; text-align: center; z-index: 100; display: block; }
  aside nav .logo a { display: block; background: #004281; padding: 8vw 0; }
  aside nav .logo img { height: 11.7333333333vw; width: auto; }
  aside nav .nav { position: static; left: 0; top: 0; width: 100%; z-index: 50; padding: 0vw 0 0; }
  aside nav ul ul li { position: relative; }
  aside nav li { font-size: 5.3333333333vw; line-height: 10.6666666667vw; padding-left: 5.3333333333vw; }
  aside nav a { line-height: 10.6666666667vw; padding: 0 18.6666666667vw 0 0vw; position: relative; z-index: 100; margin-left: 0; color: #fff !important; }
  aside nav li ul { position: static; left: 0; top: 0; background: none; height: auto; padding: 0; z-index: 90; width: auto; }
  aside nav li ul li { opacity: 1; transform: translate(0, 0); transition: 0.2s; width: auto; }
  aside nav li ul li ul { z-index: 80; top: 0; }
  aside nav li ul li:nth-child(0) ul { margin-top: 0; }
  aside nav li ul li:nth-child(1) ul { margin-top: 0; }
  aside nav li ul li:nth-child(2) ul { margin-top: 0; }
  aside nav li ul li:nth-child(3) ul { margin-top: 0; }
  aside nav li ul li:nth-child(4) ul { margin-top: 0; }
  aside nav li ul li:nth-child(5) ul { margin-top: 0; }
  aside nav li ul li:nth-child(6) ul { margin-top: 0; }
  aside nav li ul li:nth-child(7) ul { margin-top: 0; }
  aside nav li ul li:nth-child(8) ul { margin-top: 0; }
  aside nav li ul li:nth-child(9) ul { margin-top: 0; }
	aside nav li.side_ban{margin-top:15px;}
  aside::after { display: none !important; }
  aside[data-showcount='0']::after { width: 100%; }
  aside[data-showcount='1']::after { width: 100%; }
  aside[data-showcount='2']::after, aside[data-showcount='3']::after { width: 100%; }
  aside a.parent i { position: absolute; right: 0; top: 0; height: 10.6666666667vw; transition: 0.3s; display: block; }
  aside a.parent i em { position: absolute; right: 18.6666666667vw; top: 9.6vw; display: block; width: 5.8666666667vw; height: 5.8666666667vw; transform: rotate(0); transform: rotate(135deg); transition: 0.3s; }
  aside a.parent i em::after { content: ''; width: 2.9333333333vw; height: 2.9333333333vw; border: 0.8vw #fff solid; position: absolute; right: 12vw; top: 50%; margin-top: -1.4666666667vw; z-index: 10; }
  aside a.parent i em::before { content: ''; width: 5.8666666667vw; height: 5.8666666667vw; background: #004281; position: absolute; right: 13.0666666667vw; top: 50%; transform: rotate(45deg); z-index: 20; margin-top: -1.2vw; }
  aside a.parent.open i { transform: scaleY(-1); top: 1.2vw; }
  aside a.parent + ul { display: none; }
  #menu { width: 8.5333333333vw; height: 8.5333333333vw; position: fixed; right: 4.2666666667vw; top: 9.6vw; z-index: 10000; display: block; }
  #menu::after { content: ''; width: 6.4vw; height: 1.0666666667vw; position: absolute; left: 1.0666666667vw; top: 50%; background: #fff; margin-top: -0.5333333333vw; z-index: -1; transition: 0.3s; }
  #menu i { display: block; height: 6.4vw; position: inherit; cursor: pointer; width: 6.4vw; }
  #menu i::after { content: ''; width: 100%; height: 1.0666666667vw; position: absolute; left: 1.0666666667vw; top: 1.6vw; background: #fff; transition: 0.3s; }
  #menu i::before { content: ''; width: 100%; height: 1.0666666667vw; position: absolute; left: 1.0666666667vw; bottom: -0.5333333333vw; background: #fff; transition: 0.3s; }
  .menuopen #menu::after { opacity: 0; transform: translate(10vw, 0); }
  .menuopen #menu i { display: block; height: 6.4vw; position: inherit; cursor: pointer; width: 6.4vw; }
  .menuopen #menu i::after { transform: rotate(45deg) translate(0.2666666667vw, 2.8vw); width: 8.5333333333vw; }
  .menuopen #menu i::before { transform: rotate(-45deg) translate(0.2666666667vw, -2.8vw); width: 8.5333333333vw; }
  .pagetop { display: none; }
  .sitefooter { width: 100vw; margin: 16vw auto 0; padding: 0; }
  .sitefooter::after { display: none; }
  .sitefooter .company { display: none; }
  .sitefooter .links { display: none; }
  .sitefooter .copyrights { font-size: 2.4vw; line-height: 10.6666666667vw; text-align: center; background: #004281; color: #fff; }
  /* parts */
  .brum { display: none; }
  main { padding-top: 26.6666666667vw; }
  h1 { font-size: 7.4666666667vw; padding: 0 5.3333333333vw; }
  h2 { font-size: 4.8vw; }
  h3 { font-size: 3.2vw; }
  h2 em, h3 em { font-style: italic; font-weight: bold; }
  a.link { font-size: 3.2vw; display: block; padding: 0; line-height: 10.1333333333vw; border: 0.2666666667vw solid #004281; margin: 0 auto; text-align: center; color: #004281; }
  a.link::after { content: ''; width: 1.8666666667vw; height: 1.8666666667vw; border: 0.4vw #004281 solid; position: absolute; right: 2.6666666667vw; top: 50%; margin-top: -0.9333333333vw; z-index: 10; }
  a.link::before { content: ''; width: 2.6666666667vw; height: 8vw; background: #fff; position: absolute; right: 3.6vw; top: 50%; transform: rotate(0); z-index: 20; margin-top: -3.3333333333vw; }
  a.btn::after { content: ''; width: 6px; height: 6px; border-right: 1px solid #004281; border-bottom: 1px solid #004281; position: absolute; right: 25px; top: 26px; transform: rotate(-45deg); transition: 0.2s; }
  .kv { display: flex; flex-wrap: wrap; justify-content: center; flex-flow: column-reverse; }
  .kv img { width: 100%; height: auto; }
  /* margin */
  .pagehead h1, .kv h1 { margin-bottom: 6.9333333333vw; padding-top: 10.4vw; }
  main h2 + h3 { margin-top: 2.9333333333vw; }
  main h3 + p { margin-top: 8.6666666667vw; }
  main p + p { margin-top: 7.3333333333vw; }
  main p + p a.link { margin-bottom: 0; top: 0; }
  main section + section { margin-top: 16vw; }
  main section.pagehead + section { margin-top: 8vw; } }
/* animation */
/*
	js styles
******************************/
#baseVW { width: 100vw; position: fixed; left: -9999px; opacity: 0; height: 100vh; }

#loader { background: rgba(255, 255, 255, 0.5); width: 100%; height: 100%; z-index: 110000000; position: fixed; left: 0; top: 0; }

#loader .posi { position: fixed; left: 50%; top: 50%; margin: -16px 0 0 -30px; }

.la-line-scale, .la-line-scale > div { position: relative; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }

.la-line-scale { display: block; font-size: 0; color: #0b5182; }

.la-line-scale.la-dark { color: #333; }

.la-line-scale > div { display: inline-block; float: none; background-color: currentColor; border: 0 solid currentColor; }

.la-line-scale { width: 60px; height: 32px; }

.la-line-scale > div { width: 8px; height: 32px; margin: 2px; margin-top: 0; margin-bottom: 0; border-radius: 0; -webkit-animation: line-scale 1.5s infinite ease; -moz-animation: line-scale 1.5s infinite ease; -o-animation: line-scale 1.5s infinite ease; animation: line-scale 1.5s infinite ease; }

.la-line-scale > div:nth-child(1) { -webkit-animation-delay: -1.5s; -moz-animation-delay: -1.5s; -o-animation-delay: -1.5s; animation-delay: -1.5s; }

.la-line-scale > div:nth-child(2) { -webkit-animation-delay: -1.4s; -moz-animation-delay: -1.4s; -o-animation-delay: -1.4s; animation-delay: -1.4s; }

.la-line-scale > div:nth-child(3) { -webkit-animation-delay: -1.3s; -moz-animation-delay: -1.3s; -o-animation-delay: -1.3s; animation-delay: -1.3s; }

.la-line-scale > div:nth-child(4) { -webkit-animation-delay: -1.2s; -moz-animation-delay: -1.2s; -o-animation-delay: -1.2s; animation-delay: -1.2s; }

.la-line-scale > div:nth-child(5) { -webkit-animation-delay: -1.1s; -moz-animation-delay: -1.1s; -o-animation-delay: -1.1s; animation-delay: -1.1s; }

.la-line-scale.la-sm { width: 20px; height: 16px; }

.la-line-scale.la-sm > div { width: 2px; height: 16px; margin: 1px; margin-top: 0; margin-bottom: 0; }

.la-line-scale.la-2x { width: 80px; height: 64px; }

.la-line-scale.la-2x > div { width: 8px; height: 64px; margin: 4px; margin-top: 0; margin-bottom: 0; }

.la-line-scale.la-3x { width: 120px; height: 96px; }

.la-line-scale.la-3x > div { width: 12px; height: 96px; margin: 6px; margin-top: 0; margin-bottom: 0; }

/* Animation */
@-webkit-keyframes line-scale { 0%,
    40%,
    100% { -webkit-transform: scaleY(0.2); transform: scaleY(0.2); }
  20% { -webkit-transform: scaleY(1); transform: scaleY(1); color: #c92235; } }
@-moz-keyframes line-scale { 0%,
    40%,
    100% { -webkit-transform: scaleY(0.2); -moz-transform: scaleY(0.2); transform: scaleY(0.2); }
  20% { -webkit-transform: scaleY(1); -moz-transform: scaleY(1); transform: scaleY(1); color: #c92235; } }
@-o-keyframes line-scale { 0%,
    40%,
    100% { -webkit-transform: scaleY(0.2); -o-transform: scaleY(0.2); transform: scaleY(0.2); }
  20% { -webkit-transform: scaleY(1); -o-transform: scaleY(1); transform: scaleY(1); color: #c92235; } }
@keyframes line-scale { 0%,
    40%,
    100% { -webkit-transform: scaleY(0.2); -moz-transform: scaleY(0.2); -o-transform: scaleY(0.2); transform: scaleY(0.2); }
  20% { -webkit-transform: scaleY(1); -moz-transform: scaleY(1); -o-transform: scaleY(1); transform: scaleY(1); color: #c92235; } }
.analytics { position: fixed; left: 0; top: 0; }

.async-hide { opacity: 0 !important; }

#imageloaded { width: 1px; height: 1px; overflow: hidden; position: fixed; left: -9999px; top: -9999px; }

/* drag */
/*
body{
user-select:none;
-webkit-user-select:none;
-ms-user-select: none;
-moz-user-select:none;
-khtml-user-select:none;
-webkit-user-drag:none;
-khtml-user-drag:none;
}
*/
