@charset "UTF-8";
@import url(https://fonts.googleapis.com/css?family=Noto+Sans);
@import url(https://fonts.googleapis.com/css?family=Open+Sans+Condensed:300);
@import url(https://fonts.googleapis.com/css?family=Open+Sans+Condensed:700);

/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

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

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colours to suit your needs */

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */

mark {
  background-color: #ff9;
  color: #000; 
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

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

/* change border colour to suit your needs */

hr {
  display: block;
  height: 1px;
  border: 0;   
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

/* base setting */

html,
body {
	color: #222;
}

* {
	padding: 0;
	margin: 0;
	box-sizing: border-box;
}

*:focus {
  outline: none;
}

a {
  color: #005faf;
	text-decoration: none;
}

ul, ol {
  list-style: none;
}

@media screen and (max-width: 640px) {
  html,body {
    font-size: 13px;
    line-height: 1.69;
    font-family: sans-serif;
  }
  
  main {
    padding-top: 61px !important;
  }
}

@media screen and (min-width: 641px), print {
  html,body {
    font-size: 16px;
    line-height: 1.75;
    font-family: 'Noto Sans', sans-serif;;
  }
  
  body {
    min-width: 1080px;
  }

  a:hover {
    color: #005faf;
    text-decoration: underline;
  }
}

/* class ------------------------------------------------------ */

/* img class */

.img-fluid {
  max-width: 100%;
  height: auto;
}

.img-full {
  width: 100%;
  height: auto;
}

/* text class */

.text-en {
  font-family: 'Open Sans Condensed', sans-serif;
}

.text-center {
  text-align: center !important;
}

.text-left {
  text-align: left !important;
}

.text-right {
  text-align: right !important;
}

@media screen and (max-width: 640px) {
  .text-xs-center {
    text-align: center !important;
  }
  
  .text-xs-left {
  text-align: left !important;
  }
  
  .text-xs-right {
  text-align: right !important;
  }
}

@media screen and (min-width: 641px), print {
  .text-md-center {
    text-align: center !important;
  }
  
  .text-md-left {
  text-align: left !important;
  }
  
  .text-md-right {
  text-align: right !important;
  }
}

/* font class */

.font-bold {
  font-weight: bold !important;
}

.font-thin {
  font-weight: normal !important;
}

.font-italic {
  font-style: italic !important;
}

.font-normal {
  font-weight: normal !important;
  font-style: normal !important;
}

@media screen and (max-width: 640px) {
  .font-xs,
  .font-xs-xs {
    font-size: 0.846rem; /* 11px */
  }
  
  .font-sm,
  .font-xs-sm {
    font-size: 0.923rem; /* 12px */
  }
  
  .font-md,
  .font-xs-md {
    font-size: 1rem; /* 13px */
  }
  
  .font-lg,
  .font-xs-lg {
    font-size: 1.076rem; /* 14px */
  }
  
  .font-xl,
  .font-xs-xl {
    font-size: 1.23rem; /* 16px */
  }

  .font-xs-bold {
    font-weight: bold !important;
  }
  
  .font-xs-thin {
    font-weight: normal !important;
  }
  
  .font-xs-italic {
    font-style: italic !important;
  }
  
  .font-xs-normal {
    font-weight: normal !important;
    font-style: normal !important;
  }
}

@media screen and (min-width: 641px), print {
  .font-xs,
  .font-md-xs {
    font-size: 0.75rem; /* 12px */
  }
  
  .font-sm,
  .font-md-sm {
    font-size: 0.875rem; /* 14px */
  }
  
  .font-md,
  .font-md-md {
    font-size: 1rem; /* 16px */
  }
  
  .font-lg,
  .font-md-lg {
    font-size: 1.125rem; /* 18px */
  }
  
  .font-xl,
  .font-md-xl {
    font-size: 1.25rem; /* 20px */
  }

  .font-md-bold {
    font-weight: bold !important;
  }
  
  .font-md-thin {
    font-weight: normal !important;
  }
  
  .font-md-italic {
    font-style: italic !important;
  }
  
  .font-md-normal {
    font-weight: normal !important;
    font-style: normal !important;
  }
}

/* color class */
.color-primary {
  color: #005faf;
}

/* link class */

a.link-pdf {
  display: inline-flex;
}

a.link-pdf::before {
  display: inline-block;
  flex-shrink: 0;
  flex-grow: 0;
  content: 'PDF';
  margin-left: 0.25em;
  margin-right: 0.5em;
  height: 1.5em;
  width: 1.25em;
  background: url(/english/common/img/icon_pdf.png) no-repeat center center;
  background-size: contain;
  transform: translateY(0.15em);
  text-indent: -9999px;
}

a.link-arrow {
  display: inline-flex;
}
  
a.link-arrow::before {
  display: inline-block;
  flex-shrink: 0;
  flex-grow: 0;
  content: '　';
  align-items: baseline;
  width: 1em;
  height: 1.75em;
  margin-left: 0.25em;
  margin-right: 0.25em;
  background: url(/english/common/img/arrow_blue_xs.png) no-repeat center center;
  background-size: 6px 9px;
  overflow: hidden;
  text-indent: -9999px;
}

[class*="icon-blank"]:before {
	content: "";
  display: inline-block;
	width: 14px;
	height: 14px;
	margin-left: 8px;
}

.icon-blank:before {
  background: url(/common/img/icon_blank.png) no-repeat center center;
	background-size: contain;
}

.icon-blank-blue:before {
  background: url(/common/img/icon_blank_blue.png) no-repeat center center;
	background-size: contain;
}

.icon-blank-white:before {
  background: url(/common/img/icon_blank_white.png) no-repeat center center;
	background-size: contain;
}

.icon-pdf:before {
  display: inline-block;
  flex-shrink: 0;
  flex-grow: 0;
  content: 'PDF';
  margin-left: 8px;
  height: 1.5em;
  width: 1.25em;
  background: url(/english/common/img/icon_pdf.png) no-repeat center center;
  background-size: contain;
  transform: translateY(0.15em);
  text-indent: -9999px;
}

/* box class */

.box-aside {
  border: 2px solid #eee;
}

@media screen and (max-width: 640px) {
  .box-aside {
    padding: 8px;
  }
}

@media screen and (min-width: 641px), print {
  .box-aside {
    padding: 18px;
  }
}

/* grid class */

.container {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  overflow: hidden;
}

.row {
  display: flex;
  flex-wrap: wrap;
}

.no-gutters {
  margin-right: 0;
  margin-left: 0
}

.no-gutters > .col,
.no-gutters > [class*=col-] {
  padding-right: 0;
  padding-left: 0
}

.col,
.col-1,
.col-10,
.col-11,
.col-12,
.col-2,
.col-3,
.col-4,
.col-5,
.col-6,
.col-7,
.col-8,
.col-9,
.col-auto,
.col-xs,
.col-xs-1,
.col-xs-10,
.col-xs-11,
.col-xs-12,
.col-xs-2,
.col-xs-3,
.col-xs-4,
.col-xs-5,
.col-xs-6,
.col-xs-7,
.col-xs-8,
.col-xs-9,
.col-xs-auto,
.col-md,
.col-md-1,
.col-md-10,
.col-md-11,
.col-md-12,
.col-md-2,
.col-md-3,
.col-md-4,
.col-md-5,
.col-md-6,
.col-md-7,
.col-md-8,
.col-md-9,
.col-md-auto {
  position: relative;
  width: 100%;
  min-height: 1px;
}

.col {
  flex-basis: 0;
  flex-grow: 1;
  max-width: 100%
}

.col-auto {
  flex: 0 0 auto;
  width: auto;
  max-width: none
}

.col-1 {
  flex: 0 0 8.333333%;
  max-width: 8.333333%
}

.col-2 {
  flex: 0 0 16.666667%;
  max-width: 16.666667%
}

.col-3 {
  flex: 0 0 25%;
  max-width: 25%
}

.col-4 {
  flex: 0 0 33.333333%;
  max-width: 33.333333%
}

.col-5 {
  flex: 0 0 41.666667%;
  max-width: 41.666667%
}

.col-6 {
  flex: 0 0 50%;
  max-width: 50%
}

.col-7 {
  flex: 0 0 58.333333%;
  max-width: 58.333333%
}

.col-8 {
  flex: 0 0 66.666667%;
  max-width: 66.666667%
}

.col-9 {
  flex: 0 0 75%;
  max-width: 75%
}

.col-10 {
  flex: 0 0 83.333333%;
  max-width: 83.333333%
}

.col-11 {
  flex: 0 0 91.666667%;
  max-width: 91.666667%
}

.col-12 {
  flex: 0 0 100%;
  max-width: 100%
}

.order-first {
  order: -1
}

.order-last {
  order: 13
}

.order-0 {
  order: 0
}

.order-1 {
  order: 1
}

.order-2 {
  order: 2
}

.order-3 {
  order: 3
}

.order-4 {
  order: 4
}

.order-5 {
  order: 5
}

.order-6 {
  order: 6
}

.order-7 {
  order: 7
}

.order-8 {
  order: 8
}

.order-9 {
  order: 9
}

.order-10 {
  order: 10
}

.order-11 {
  order: 11
}

.order-12 {
  order: 12
}

.offset-1 {
  margin-left: 8.333333%
}

.offset-2 {
  margin-left: 16.666667%
}

.offset-3 {
  margin-left: 25%
}

.offset-4 {
  margin-left: 33.333333%
}

.offset-5 {
  margin-left: 41.666667%
}

.offset-6 {
  margin-left: 50%
}

.offset-7 {
  margin-left: 58.333333%
}

.offset-8 {
  margin-left: 66.666667%
}

.offset-9 {
  margin-left: 75%
}

.offset-10 {
  margin-left: 83.333333%
}

.offset-11 {
  margin-left: 91.666667%
}

@media screen and (max-width: 640px) {
  .row {
    margin-right: -10px;
    margin-left: -10px
  }
  
  .col,
  .col-1,
  .col-10,
  .col-11,
  .col-12,
  .col-2,
  .col-3,
  .col-4,
  .col-5,
  .col-6,
  .col-7,
  .col-8,
  .col-9,
  .col-auto,
  .col-xs,
  .col-xs-1,
  .col-xs-10,
  .col-xs-11,
  .col-xs-12,
  .col-xs-2,
  .col-xs-3,
  .col-xs-4,
  .col-xs-5,
  .col-xs-6,
  .col-xs-7,
  .col-xs-8,
  .col-xs-9,
  .col-xs-auto {
    padding-left: 10px;
    padding-right: 10px;
  }

  .col-xs {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%
  }
  
  .col-xs-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: none
  }
  
  .col-xs-1 {
    flex: 0 0 8.333333%;
    max-width: 8.333333%
  }
  
  .col-xs-2 {
    flex: 0 0 16.666667%;
    max-width: 16.666667%
  }
  
  .col-xs-3 {
    flex: 0 0 25%;
    max-width: 25%
  }
  
  .col-xs-4 {
    flex: 0 0 33.333333%;
    max-width: 33.333333%
  }
  
  .col-xs-5 {
    flex: 0 0 41.666667%;
    max-width: 41.666667%
  }
  
  .col-xs-6 {
    flex: 0 0 50%;
    max-width: 50%
  }
  
  .col-xs-7 {
    flex: 0 0 58.333333%;
    max-width: 58.333333%
  }
  
  .col-xs-8 {
    flex: 0 0 66.666667%;
    max-width: 66.666667%
  }
  
  .col-xs-9 {
    flex: 0 0 75%;
    max-width: 75%
  }
  
  .col-xs-10 {
    flex: 0 0 83.333333%;
    max-width: 83.333333%
  }
  
  .col-xs-11 {
    flex: 0 0 91.666667%;
    max-width: 91.666667%
  }
  
  .col-xs-12 {
    flex: 0 0 100%;
    max-width: 100%
  }
  
  .order-xs-first {
    order: -1
  }
  
  .order-xs-last {
    order: 13
  }
  
  .order-xs-0 {
    order: 0
  }
  
  .order-xs-1 {
    order: 1
  }
  
  .order-xs-2 {
    order: 2
  }
  
  .order-xs-3 {
    order: 3
  }
  
  .order-xs-4 {
    order: 4
  }
  
  .order-xs-5 {
    order: 5
  }
  
  .order-xs-6 {
    order: 6
  }
  
  .order-xs-7 {
    order: 7
  }
  
  .order-xs-8 {
    order: 8
  }
  
  .order-xs-9 {
    order: 9
  }
  
  .order-xs-10 {
    order: 10
  }
  
  .order-xs-11 {
    order: 11
  }
  
  .order-xs-12 {
    order: 12
  }
  
  .offset-xs-0 {
    margin-left: 0
  }
  
  .offset-xs-1 {
    margin-left: 8.333333%
  }
  
  .offset-xs-2 {
    margin-left: 16.666667%
  }
  
  .offset-xs-3 {
    margin-left: 25%
  }
  
  .offset-xs-4 {
    margin-left: 33.333333%
  }
  
  .offset-xs-5 {
    margin-left: 41.666667%
  }
  
  .offset-xs-6 {
    margin-left: 50%
  }
  
  .offset-xs-7 {
    margin-left: 58.333333%
  }
  
  .offset-xs-8 {
    margin-left: 66.666667%
  }
  
  .offset-xs-9 {
    margin-left: 75%
  }
  
  .offset-xs-10 {
    margin-left: 83.333333%
  }
  
  .offset-xs-11 {
    margin-left: 91.666667%
  }
}

@media screen and (min-width: 641px), print {
  .row {
    margin-right: -20px;
    margin-left: -20px
  }
  
  .col,
  .col-1,
  .col-10,
  .col-11,
  .col-12,
  .col-2,
  .col-3,
  .col-4,
  .col-5,
  .col-6,
  .col-7,
  .col-8,
  .col-9,
  .col-auto,
  .col-xs,
  .col-md,
  .col-md-1,
  .col-md-10,
  .col-md-11,
  .col-md-12,
  .col-md-2,
  .col-md-3,
  .col-md-4,
  .col-md-5,
  .col-md-6,
  .col-md-7,
  .col-md-8,
  .col-md-9,
  .col-md-auto {
    padding-left: 20px;
    padding-right: 20px;
  }

  .col-xs {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%
  }
  
  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: none
  }
  
  .col-md-1 {
    flex: 0 0 8.333333%;
    max-width: 8.333333%
  }
  
  .col-md-2 {
    flex: 0 0 16.666667%;
    max-width: 16.666667%
  }
  
  .col-md-3 {
    flex: 0 0 25%;
    max-width: 25%
  }
  
  .col-md-4 {
    flex: 0 0 33.333333%;
    max-width: 33.333333%
  }
  
  .col-md-5 {
    flex: 0 0 41.666667%;
    max-width: 41.666667%
  }
  
  .col-md-6 {
    flex: 0 0 50%;
    max-width: 50%
  }
  
  .col-md-7 {
    flex: 0 0 58.333333%;
    max-width: 58.333333%
  }
  
  .col-md-8 {
    flex: 0 0 66.666667%;
    max-width: 66.666667%
  }
  
  .col-md-9 {
    flex: 0 0 75%;
    max-width: 75%
  }
  
  .col-md-10 {
    flex: 0 0 83.333333%;
    max-width: 83.333333%
  }
  
  .col-md-11 {
    flex: 0 0 91.666667%;
    max-width: 91.666667%
  }
  
  .col-md-12 {
    flex: 0 0 100%;
    max-width: 100%
  }
  
  .order-md-first {
    order: -1
  }
  
  .order-md-last {
    order: 13
  }
  
  .order-md-0 {
    order: 0
  }
  
  .order-md-1 {
    order: 1
  }
  
  .order-md-2 {
    order: 2
  }
  
  .order-md-3 {
    order: 3
  }
  
  .order-md-4 {
    order: 4
  }
  
  .order-md-5 {
    order: 5
  }
  
  .order-md-6 {
    order: 6
  }
  
  .order-md-7 {
    order: 7
  }
  
  .order-md-8 {
    order: 8
  }
  
  .order-md-9 {
    order: 9
  }
  
  .order-md-10 {
    order: 10
  }
  
  .order-md-11 {
    order: 11
  }
  
  .order-md-12 {
    order: 12
  }
  
  .offset-md-0 {
    margin-left: 0
  }
  
  .offset-md-1 {
    margin-left: 8.333333%
  }
  
  .offset-md-2 {
    margin-left: 16.666667%
  }
  
  .offset-md-3 {
    margin-left: 25%
  }
  
  .offset-md-4 {
    margin-left: 33.333333%
  }
  
  .offset-md-5 {
    margin-left: 41.666667%
  }
  
  .offset-md-6 {
    margin-left: 50%
  }
  
  .offset-md-7 {
    margin-left: 58.333333%
  }
  
  .offset-md-8 {
    margin-left: 66.666667%
  }
  
  .offset-md-9 {
    margin-left: 75%
  }
  
  .offset-md-10 {
    margin-left: 83.333333%
  }
  
  .offset-md-11 {
    margin-left: 91.666667%
  }
}

/* margin class */

.mgt-none {
  margin-top: 0 !important;
}

.mgt-xs {
  margin-top: 0.5em !important;
}

.mgt-sm {
  margin-top: 1em !important;
}

.mgt-md {
  margin-top: 1.5em !important;
}

.mgt-lg {
  margin-top: 3em !important;
}

.mgt-xl {
  margin-top: 5em !important;
}

.mgb-none {
  margin-bottom: 0 !important;
}

.mgb-xs {
  margin-bottom: 0.5em !important;
}

.mgb-sm {
  margin-bottom: 1em !important;
}

.mgb-md {
  margin-bottom: 1.5em !important;
}

.mgb-lg {
  margin-bottom: 3em !important;
}

.mgb-xl {
  margin-bottom: 5em !important;
}

.mgl-none {
  margin-left: 0 !important;
}

.mgl-auto {
  margin-left: auto !important;
}

.mgl-xs {
  margin-left: 0.5em !important;
}

.mgl-sm {
  margin-left: 1em !important;
}

.mgl-md {
  margin-left: 1.5em !important;
}

.mgl-lg {
  margin-left: 3em !important;
}

.mgl-xl {
  margin-left: 5em !important;
}

.mgr-none {
  margin-right: 0 !important;
}

.mgr-auto {
  margin-right: auto !important;
}

.mgr-xs {
  margin-right: 0.5em !important;
}

.mgr-sm {
  margin-right: 1em !important;
}

.mgr-md {
  margin-right: 1.5em !important;
}

.mgr-lg {
  margin-right: 3em !important;
}

.mgr-xl {
  margin-right: 5em !important;
}

@media screen and (max-width: 640px) {
  .mgt-xs-none {
    margin-top: 0 !important;
  }

  .mgt-xs-xs {
    margin-top: 0.5em !important;
  }

  .mgt-xs-sm {
    margin-top: 1em !important;
  }

  .mgt-xs-md {
    margin-top: 1.5em !important;
  }

  .mgt-xs-lg {
    margin-top: 3em !important;
  }

  .mgt-xs-xl {
    margin-top: 5em !important;
  }

  .mgb-xs-none {
    margin-bottom: 0 !important;
  }

  .mgb-xs-xs {
    margin-bottom: 0.5em !important;
  }

  .mgb-xs-sm {
    margin-bottom: 1em !important;
  }

  .mgb-xs-md {
    margin-bottom: 1.5em !important;
  }

  .mgb-xs-lg {
    margin-bottom: 3em !important;
  }

  .mgb-xs-xl {
    margin-bottom: 5em !important;
  }

  .mgl-xs-none {
    margin-left: 0 !important;
  }

  .mgl-xs-auto {
    margin-left: auto !important;
  }

  .mgl-xs-xs {
    margin-left: 0.5em !important;
  }

  .mgl-xs-sm {
    margin-left: 1em !important;
  }

  .mgl-xs-md {
    margin-left: 1.5em !important;
  }

  .mgl-xs-lg {
    margin-left: 3em !important;
  }

  .mgl-xs-xl {
    margin-left: 5em !important;
  }

  .mgr-xs-none {
    margin-right: 0 !important;
  }

  .mgr-xs-auto {
    margin-right: auto !important;
  }

  .mgr-xs-xs {
    margin-right: 0.5em !important;
  }

  .mgr-xs-sm {
    margin-right: 1em !important;
  }

  .mgr-xs-md {
    margin-right: 1.5em !important;
  }

  .mgr-xs-lg {
    margin-right: 3em !important;
  }

  .mgr-xs-xl {
    margin-right: 5em !important;
  }
}

@media screen and (min-width: 641px), print {
  .mgt-md-none {
    margin-top: 0 !important;
  }

  .mgt-md-xs {
    margin-top: 0.5em !important;
  }

  .mgt-md-sm {
    margin-top: 1em !important;
  }

  .mgt-md-md {
    margin-top: 1.5em !important;
  }

  .mgt-md-lg {
    margin-top: 3em !important;
  }

  .mgt-md-xl {
    margin-top: 5em !important;
  }

  .mgb-md-none {
    margin-bottom: 0 !important;
  }

  .mgb-md-xs {
    margin-bottom: 0.5em !important;
  }

  .mgb-md-sm {
    margin-bottom: 1em !important;
  }

  .mgb-md-md {
    margin-bottom: 1.5em !important;
  }

  .mgb-md-lg {
    margin-bottom: 3em !important;
  }

  .mgb-md-xl {
    margin-bottom: 5em !important;
  }

  .mgl-md-none {
    margin-left: 0 !important;
  }

  .mgl-md-auto {
    margin-left: auto !important;
  }

  .mgl-md-xs {
    margin-left: 0.5em !important;
  }

  .mgl-md-sm {
    margin-left: 1em !important;
  }

  .mgl-md-md {
    margin-left: 1.5em !important;
  }

  .mgl-md-lg {
    margin-left: 3em !important;
  }

  .mgl-md-xl {
    margin-left: 5em !important;
  }

  .mgr-md-none {
    margin-right: 0 !important;
  }

  .mgr-md-auto {
    margin-right: auto !important;
  }

  .mgr-md-xs {
    margin-right: 0.5em !important;
  }

  .mgr-md-sm {
    margin-right: 1em !important;
  }

  .mgr-md-md {
    margin-right: 1.5em !important;
  }

  .mgr-md-lg {
    margin-right: 3em !important;
  }

  .mgr-md-xl {
    margin-right: 5em !important;
  }
}

/* padding class */

.pdt-none {
  padding-top: 0 !important;
}

.pdt-xs {
  padding-top: 0.5em !important;
}

.pdt-sm {
  padding-top: 1em !important;
}

.pdt-md {
  padding-top: 1.5em !important;
}

.pdt-lg {
  padding-top: 3em !important;
}

.pdt-xl {
  padding-top: 5em !important;
}

.pdb-none {
  padding-bottom: 0 !important;
}

.pdb-xs {
  padding-bottom: 0.5em !important;
}

.pdb-sm {
  padding-bottom: 1em !important;
}

.pdb-md {
  padding-bottom: 1.5em !important;
}

.pdb-lg {
  padding-bottom: 3em !important;
}

.pdb-xl {
  padding-bottom: 5em !important;
}

.pdl-none {
  padding-left: 0 !important;
}

.pdl-xs {
  padding-left: 0.5em !important;
}

.pdl-sm {
  padding-left: 1em !important;
}

.pdl-md {
  padding-left: 1.5em !important;
}

.pdl-lg {
  padding-left: 3em !important;
}

.pdl-xl {
  padding-left: 5em !important;
}

.pdr-none {
  padding-right: 0 !important;
}

.pdr-xs {
  padding-right: 0.5em !important;
}

.pdr-sm {
  padding-right: 1em !important;
}

.pdr-md {
  padding-right: 1.5em !important;
}

.pdr-lg {
  padding-right: 3em !important;
}

.pdr-xl {
  padding-right: 5em !important;
}

@media screen and (max-width: 640px) {
  .pdt-xs-none {
    padding-top: 0 !important;
  }
  
  .pdt-xs-xs {
    padding-top: 0.5em !important;
  }
  
  .pdt-xs-sm {
    padding-top: 1em !important;
  }
  
  .pdt-xs-md {
    padding-top: 1.5em !important;
  }
  
  .pdt-xs-lg {
    padding-top: 3em !important;
  }
  
  .pdt-xs-xl {
    padding-top: 5em !important;
  }
  
  .pdb-xs-none {
    padding-bottom: 0 !important;
  }
  
  .pdb-xs-xs {
    padding-bottom: 0.5em !important;
  }
  
  .pdb-xs-sm {
    padding-bottom: 1em !important;
  }
  
  .pdb-xs-md {
    padding-bottom: 1.5em !important;
  }
  
  .pdb-xs-lg {
    padding-bottom: 3em !important;
  }
  
  .pdb-xs-xl {
    padding-bottom: 5em !important;
  }
  
  .pdl-xs-none {
    padding-left: 0 !important;
  }
  
  .pdl-xs-xs {
    padding-left: 0.5em !important;
  }
  
  .pdl-xs-sm {
    padding-left: 1em !important;
  }
  
  .pdl-xs-md {
    padding-left: 1.5em !important;
  }
  
  .pdl-xs-lg {
    padding-left: 3em !important;
  }
  
  .pdl-xs-xl {
    padding-left: 5em !important;
  }
  
  .pdr-xs-none {
    padding-right: 0 !important;
  }
  
  .pdr-xs-xs {
    padding-right: 0.5em !important;
  }
  
  .pdr-xs-sm {
    padding-right: 1em !important;
  }
  
  .pdr-xs-md {
    padding-right: 1.5em !important;
  }
  
  .pdr-xs-lg {
    padding-right: 3em !important;
  }
  
  .pdr-xs-xl {
    padding-right: 5em !important;
  }
}

@media screen and (min-width: 641px), print {
  .pdt-md-none {
    padding-top: 0 !important;
  }
  
  .pdt-md-xs {
    padding-top: 0.5em !important;
  }
  
  .pdt-md-sm {
    padding-top: 1em !important;
  }
  
  .pdt-md-md {
    padding-top: 1.5em !important;
  }
  
  .pdt-md-lg {
    padding-top: 3em !important;
  }
  
  .pdt-md-xl {
    padding-top: 5em !important;
  }
  
  .pdb-md-none {
    padding-bottom: 0 !important;
  }
  
  .pdb-md-xs {
    padding-bottom: 0.5em !important;
  }
  
  .pdb-md-sm {
    padding-bottom: 1em !important;
  }
  
  .pdb-md-md {
    padding-bottom: 1.5em !important;
  }
  
  .pdb-md-lg {
    padding-bottom: 3em !important;
  }
  
  .pdb-md-xl {
    padding-bottom: 5em !important;
  }
  
  .pdl-md-none {
    padding-left: 0 !important;
  }
  
  .pdl-md-xs {
    padding-left: 0.5em !important;
  }
  
  .pdl-md-sm {
    padding-left: 1em !important;
  }
  
  .pdl-md-md {
    padding-left: 1.5em !important;
  }
  
  .pdl-md-lg {
    padding-left: 3em !important;
  }
  
  .pdl-md-xl {
    padding-left: 5em !important;
  }
  
  .pdr-md-none {
    padding-right: 0 !important;
  }
  
  .pdr-md-xs {
    padding-right: 0.5em !important;
  }
  
  .pdr-md-sm {
    padding-right: 1em !important;
  }
  
  .pdr-md-md {
    padding-right: 1.5em !important;
  }
  
  .pdr-md-lg {
    padding-right: 3em !important;
  }
  
  .pdr-md-xl {
    padding-right: 5em !important;
  }
}

/* display class */

.d-none {
  display: none !important;
}

.d-block {
  display: block !important;
}

.d-inline-block {
  display: inline-block !important;
}

@media screen and (max-width: 640px) {
  .d-xs-none {
    display: none !important;
  }
  
  .d-xs-block {
    display: block !important;
  }
  
  .d-xs-inline-block {
    display: inline-block !important;
  }
}

@media screen and (min-width: 641px), print {
  .d-md-none {
    display: none !important;
  }
  
  .d-md-block {
    display: block !important;
  }
  
  .d-md-inline-block {
    display: inline-block !important;
  }
}

/* button class */

.button {
  text-align: center;
  display: inline-block;
  color: #005faf;
  border: 1px solid #CCC;
}

.button[data-icon]::after {
  content: '';
  margin-left: 0.5em;
  width: 0.875rem;
  height: 0.875rem;
  display: inline-block;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}

.button[data-icon="blank"]::after {
  background-image: url(/english/common/img/icon_blank.png);
}

.button[data-icon="arrow"]::after {
  background-image: url(/common/img/arrow_blue_xs.png);
}

.button-more {
  text-align: center;
  display: block;
  color: #005faf;
  border: 1px solid #005faf;
}

.button-more::before {
  display: inline-block;
  content: '';
  margin-right: 10px;
  box-sizing: border-box;
  transform: rotate(45deg);
}

.button-more[target="_blank"]::before {
  background-repeat: no-repeat;
  background-position: center center;
  background-image: url(/english/common/img/icon_blank_blue.png);
  background-size: contain;
  transform: none;
}

@media screen and (max-width: 640px) {
  .button {
    padding: 5px;
  }

  .button-more {
    padding: 8px 30px;
  }

  .button-more::before {
    width: 7px;
    height: 7px;
    border-top: 1.5px solid #005faf;
    border-right: 1.5px solid #005faf;
  }

  .button-more[target="_blank"]::before {
    vertical-align: calc((1.75em - 14px)/-4);
    width: 14px;
    height: 14px;
    border: none;
  }
}

@media screen and (min-width: 641px), print {
  .button {
    padding: 7px;
    transition: all .2s;
  }

  .button:hover {
    background: #e5eff7;
    text-decoration: none;
  }

  .button-more {
    width: 280px;
    margin: 0 auto;
    padding: 10px;
    transition: all .2s;
  }

  .button-more:hover {
    color: #FFF;
    background: #005faf;
    text-decoration: none;
  }

  .button-more::before {
    width: 8px;
    height: 8px;
    vertical-align: 0.125em;
    border-top: 2px solid #005faf;
    border-right: 2px solid #005faf;
  }

  .button-more:hover::before {
    border-top-color: #FFF;
    border-right-color: #FFF;
  }

  .button-more[target="_blank"]::before {
    vertical-align: calc((1.75em - 16px)/-4);
    width: 16px;
    height: 16px;
    border: none;
  }

  .button-more[target="_blank"]:hover::before {
    background-image: url(/english/common/img/icon_blank_white.png);
  }	
}

/* list class */

ul.list-normal li {
  padding-left: 1em;
}

ul.list-normal li:not(:last-child) {
  margin-bottom: 0.3em;
}

ul.list-normal li::before {
  margin-left: -1em;
  display: inline-block;
  content: '・';
  width: 1em;
  height: 1em;
}

ul.list-number {
	 counter-reset:item;
}

ul.list-number li {
 padding-left: 1em;
}

ul.list-number li:not(:last-child) {
  margin-bottom: 0.3em;
}

ul.list-number li::before {
  margin-left: -1em;
  /*display: inline-block;*/
  counter-increment: item;
  content: counter(item)'．';
  width: 1em;
  height: 1em;
}

ul.list-circle li {
  position: relative;
}

ul.list-circle li:not(:last-child) {
  margin-bottom: 0.3em;
}

ul.list-circle li::before {
  position: absolute;
  left: 0;
  content: '';
  box-sizing: border-box;
  border-style: solid;
  border-color: #005faf;
  border-radius: 50%;
}

ul.list-arrow li {
  position: relative;
}

ul.list-arrow li:not(:last-child) {
  margin-bottom: 0.3em;
}

ul.list-arrow li::before {
  position: absolute;
  display: block;
  box-sizing: border-box;
  content: '';
  width: 5px;
  height: 5px;
  left: 0;
  border-top: 2px solid #005faf;
  border-right: 2px solid #005faf;
  overflow: hidden;
  transform: rotate(45deg) perspective(0);
}

@media screen and (max-width: 640px) {
  ul.list-circle li {
    padding-left: 18px;
  }

  ul.list-circle li::before {
    top: calc((1.69em - 11px)/2); 
    width: 11px;
    height: 11px;
    border-width: 3px;
  }

  ul.list-arrow li {
    padding-left: 10px;
  }

  ul.list-arrow li::before {
    top: calc((1.69em - 5px)/2);
  }
}

@media screen and (min-width: 641px), print {
  ul.list-circle li {
    padding-left: 20px;
  }

  ul.list-circle li::before {
    top: calc((1.75em - 11px)/2); 
    width: 14px;
    height: 14px;
    border-width: 4px;
  }

  ul.list-arrow li {
    padding-left: 12px;
  }

  ul.list-arrow li::before {
    top: calc((1.75em - 5px)/2);
  }
}

/* hanging table */

table.hanging {
  border-collapse: collapse;
  vertical-align: top;
}

table.hanging .hanging_icon {
  white-space: nowrap;
}

/* table class */

table[class^="table-data"] {
  position: relative;
  margin: 0.3em 0;
  border-collapse: collapse;
  border-color: transparent;;
  border-style: solid;
}

table[class^="table-data"]::before {
  position: absolute;
  display: block;
  content: '';
  top: 0;
  left: 0;
  width: 100%;
  background: #005faf;
}

table[class^="table-data"] > * > tr > th {
  vertical-align: middle;
  border: solid 1px #CCC;
}

table[class^="table-data"] > * > tr > th[scope="col"] {
  background-color: #c7dee8;
  border-bottom: none;
  text-align: center;
}

table[class^="table-data"] > * > tr > th[scope="row"] {
  background-color: #e2edf1;
}

table[class^="table-data"] > * > tr > td {
  vertical-align: middle;
  border: solid 1px #CCC;
}

table.table-data-stripe > * > tr:nth-child(odd) > td {
  background: #f4f4f4;
}

table.table-data-stripe > * > tr:nth-child(odd) > .th[scope="row"] {
  background: #e2edf1;
}

@media screen and (max-width: 640px) {
  .table_wrap {
    overflow-x: auto;
    position: relative;
  }
  
  .table_wrap .slide_icon {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 50px;
    height: 50px;
    border-radius: 5px;
    background: url(/english/common/img/icon_touch_slide.png) no-repeat center center;
    background-size: contain;
  }
  
  .table_wrap::-webkit-scrollbar {
    height: 2px;
  }
  
  .table_wrap::-webkit-scrollbar-track {
    border-radius: 2px;
    background: #eee;
  }
  
  .table_wrap::-webkit-scrollbar-thumb {
    border-radius: 5px;
    background: #666;
  }
  
  .table_wrap table[class^="table-data"] {
    width: 950px;
    border-top-width: 3px;
  }

  table[class^="table-data"]::before {
    height: 3px;
  }

  table[class^="table-data"] > * > tr > th {
    padding: 6px;
  }

  table[class^="table-data"] > * > tr > td {
    padding: 6px;
  }
}

@media screen and (min-width: 641px), print {
  .table_wrap .slide_icon {
    	display: none;
  }

  table[class^="table-data"] {
    width: 100%;
    border-top-width: 4px;
  }

  table[class^="table-data"]::before {
    height: 4px;
  }

  table[class^="table-data"] > * > tr > th {
    padding: 8px;
  }

  table[class^="table-data"] > * > tr > td {
    padding: 8px;
  }
}

/* outline layout ------------------------------------------------------ */

/* #global_header */

#global_header img {
  vertical-align: middle;
}

#global_header .gh_wrap {
  position: relative;
}

#global_header .gh_language {
  position: relative;
}

#global_header .gh_language::before {
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  background: url("/english/common/img/icon_lang.svg") no-repeat center;
  background-size: contain;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

#global_header .gh_language::after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  margin: auto 0;
  border-style: solid;
  border-width: 6px 4px 0 4px;
  border-color: #95a1a9 transparent transparent transparent;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  /*overflow: hidden;*/
}

#global_header .gh_language select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  border: none;
  background: none;
}

#global_header .gh_language select:focus {
  background-color: transparent;
}

#global_header .gh_language select::-ms-expand {
  display: none;
}

@media screen and (min-width: 641px), print {
  #global_header {
    height: 120px;
    background-color: #fff;
    position: relative;
    z-index: 100;
  }
  
  #global_header .gh_wrap {
    display: flex;
    justify-content: flex-end;
    width: 100%;
    height: 120px;
    max-width: 1260px;
    margin: 0 auto;
  }
  
  #global_header .gh_logo {
    width: 320px;
    position: absolute;
    left: 42px;
    top: 50%;
    transform: translateY(-50%);
  }
  
  #global_header .gh_logo a {
    display: block;
    transition: opacity 0.3s;
  }
  
  #global_header .gh_logo a:hover {
    opacity: 0.5;
  }
  
  #global_header .gh_btn_sp,
  #global_header .gh_inner_sp {
    display: none !important;
  }
  
  #global_header .gh_inner .gh_snav {
    padding-left: 25px;
    border-left: 1px solid #eceff1;
    border-bottom: 1px solid #eceff1;
    border-right: 1px solid #eceff1;
    float: right;
  }
  
  #global_header .gh_inner .gh_language {
    height: 50px;
    width: 125px;
  }

  #global_header .gh_inner .gh_language::before {
    left: 0;
  }
  
  #global_header .gh_inner .gh_language::after {
    right: 28px;
  }

  #global_header .gh_inner .gh_language select {
    height: 50px;
    width: 125px;
    padding-left: 25px;
    font-size: 13px;
    line-height: 50px;
    cursor: pointer;
  }
  
  #global_header .gh_inner .gh_nav {
    clear: both;
  }
  
  #global_header .gh_inner .gh_nav ul {
    display: flex;
    justify-content: flex-end;
    align-items: stretch;
    height: 69px;
    padding-right: 10px;
  }
  
  #global_header .gh_inner .gh_nav ul li {
    display: flex;
    align-items: center;
    padding: 0 10px;
    position: relative;
  }
  
  #global_header .gh_inner .gh_nav ul li:hover::after,
  #global_header .gh_inner .gh_nav ul li.is-active::after  {
    content: "";
    display: block;
    width: 60px;
    height: 2px;
    background-color: #035fab;
    margin: auto;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
  }
  
  #global_header .gh_inner .gh_nav ul li a {
    display: block;
    padding: 10px;
    font-size: 16px;
    text-decoration: none !important;
    text-align: center;
    color: #333;
    transition: color 0.3s;
  }
  
  #global_header .gh_inner .gh_nav ul li a:hover {
    color: #035fab;
  }
}

@media screen and (max-width: 640px) {
  #global_header .gh_logo {
    display: flex;
    align-items: center;
    height: 61px;
    width: 100%;
    padding-left: 25px;
    border-bottom: 1px solid #EBF2F7;
    background-color: #fff;
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    z-index: 9999;
  }
  
  #global_header .gh_logo a {
    width: 200px;
  }
  
  #global_header .gh_btn_sp {
    display: flex;
    height: 60px;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 9999;
  }
  
  #global_header .gh_btn_sp div {
    width: 60px;
    background: url("/english/common/img/btn_close_sp.png") no-repeat center;
    background-size: contain;
  }
  
  #global_header .gh_btn_sp div img {
    transition: opacity 0.3s;
  }
  
  #global_header .gh_btn_sp div.is-open img {
    opacity: 0
  }
  
  #global_header .gh_inner .gh_language,
  #global_header .gh_inner .gh_nav {
    display: none !important;
  }
  
  #global_header .gh_inner {
    display: none;
    width: 100%;
    padding: 15px;
    background-color: #fff;
    position: fixed;
    left: 0;
    right: 0;
    top: 61px;
    z-index: 9999;
  }
  
  #global_header .gh_inner_sp {
    display: none;
    width: 100%;
    height: 100%;
    background-color: #eceff1;
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    z-index: 9990;
    overflow-y: auto;
    overflow-x: hidden;
  }
  
  #global_header .gh_inner_sp .gh_nav {
    padding-top: 61px;
    background-color: #fff;
  }
  
  #global_header .gh_inner_sp .gh_nav dt {
    position: relative;
  }
  
  #global_header .gh_inner_sp .gh_nav dt:not(:last-child) {
    border-bottom: 1px solid #fff;
  }
  
  #global_header .gh_inner_sp .gh_nav dt:not(:last-child)::after {
    content: "";
    display: block;
    margin: auto;
    width: calc( 100% - 20px );
    height: 1px;
    background-color: #eef0f2;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
  }
  
  #global_header .gh_inner_sp .gh_nav dt a,
  #global_header .gh_inner_sp .gh_nav dt span {
    display: block;
    padding: 0 20px;
    position: relative;
    font-size: 16px;
    line-height: 60px;
    color: #333;
    cursor: pointer;
  }
  
  #global_header .gh_inner_sp .gh_nav dt a::after {
    content: "";
    display: block;
    width: 7px;
    height: 7px;
    background-color: #fff;
    border-top: 2px solid #2b77cb;
    border-right: 2px solid #2b77cb;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
  }
  
	#global_header .gh_inner_sp .gh_nav dt span::before,
  #global_header .gh_inner_sp .gh_nav dt span::after {
    content: "";
    display: block;
    background-color: #2b77cb;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
  }
  
  #global_header .gh_inner_sp .gh_nav dt span::before {
    width: 2px;
    height: 14px;
    right: 21px;
    transition: opacity 0.3s;
  }
  
  #global_header .gh_inner_sp .gh_nav dt span::after {
    width: 14px;
    height: 2px;
    right: 15px;
  }
  
  #global_header .gh_inner_sp .gh_nav dt.is-open span::before {
    opacity: 0;
  }
  
  #global_header .gh_inner_sp .gh_nav dd {
    display: none;
  }
  
  #global_header .gh_inner_sp .gh_nav dd ul li:not(:last-child) {
    border-bottom: 1px solid #fff;
  }
  
  #global_header .gh_inner_sp .gh_nav dd ul li {
    background-color: #e6eaed;
  }
  
  #global_header .gh_inner_sp .gh_nav dd ul li a {
    display: block;
    position: relative;
    color: #333;
  }
  
  #global_header .gh_inner_sp .gh_nav dd ul li a {
    padding: 14px 30px 14px 20px;
    font-size: 13px;
    line-height: 1.4;
  }
  
  #global_header .gh_inner_sp .gh_nav dd ul li a::after {
    content: "";
    width: 7px;
    height: 7px;
    position: absolute;
    right: 20px;
    top: 50%;
    border-top: 1px solid #7c8a98;
    border-right: 1px solid #7c8a98;
    transform: translateY(-50%) rotate(45deg);
  }
  
  #global_header .gh_inner_sp .gh_nav dd ul li a.link-out::after {
    display: none;
  }
  
  #global_header .gh_inner_sp .gh_nav dd ul li a.link-out::before {
    content: "";
    display: block;
    width: 14px;
    height: 11px;
    background: url("/common/img/icon_outlink.svg") no-repeat center;
    background-size: contain;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
  }
  
  #global_header .gh_inner_sp .gh_list {
    padding-top: 30px;
    margin-bottom: 20px;
  }
  
  #global_header .gh_inner_sp .gh_list li a {
    display: block;
    padding: 10px 20px;
    font-size: 14px;
    line-height: 1.5;
    color: #333;
  }
	
  #global_header .gh_inner_sp .gh_language {
    height: 50px;
    margin: 20px 30px;
    background-color: #fff;
  }

  #global_header .gh_inner_sp .gh_language::before {
    left: 15px;
  }
  
  #global_header .gh_inner_sp .gh_language::after {
    right: 15px;
  }

  #global_header .gh_inner_sp .gh_language select {
    height: 50px;
    width: 100%;
    padding-left: 40px;
    font-size: 13px;
    line-height: 50px;
  }
}





















/* mega menu */

@media screen and (min-width: 641px), print {
  .l-mega-bg {
    display: none;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.4);
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 50;
    opacity: 0;
  }
  
  .l-mega-bg.is-open {
    display: block;
    opacity: 1;
  }
  
  .l-mega {
    display: none;
    width: 1070px;
    margin: auto;
    background-color: #eceff1;
    box-shadow: 0 4px 6px 0 rgba(0, 0, 0, 0.2);
    position: absolute;
    top: 120px;
    left: 0;
    right: 0;
    z-index: 55;
    opacity: 0;
  }
  
  .l-mega.is-open {
    display: block;
    opacity: 1;
  }
  
  .l-mega a {
    display: inline-block;
    text-decoration: none !important;
    color: #333;
    transition: color 0.3s;
  }
  
  .l-mega a:hover {
    color: #6FAEE3;
  }
  
  .l-mega .l-mega__inner {
    width: 970px;
    padding: 40px 0;
    margin: 0 auto;
  }
  
  .l-mega .l-mega__inner .l-mega__inner__current {
    margin-bottom: 25px;
  }
  
  .l-mega .l-mega__inner .l-mega__inner__current a {
    padding-right: 50px;
    background: url("/common/img/icon_arrow.svg") no-repeat right center;
    background-size: 36px auto;
    font-size: 26px;
    line-height: 1.5;
  }
  
  .l-mega .l-mega__inner .l-mega__inner__pages {
    border-top: 1px solid #dbdfe3;
    padding: 32px 0 0;
  }
  
  .l-mega .l-mega__inner .l-mega__inner__pages .l-mega__list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 0 15px;
  }
  
  /* IR情報のみ */
  .l-mega__ir .l-mega__inner .l-mega__inner__pages .l-mega__list {
    justify-content: flex-start;
  }
  
  .l-mega .l-mega__inner .l-mega__inner__pages .l-mega__list .l-mega__list__parent {
    width: 30%;
    margin-bottom: 20px;
  }
  
  /* IR情報のみ */
  .l-mega__ir .l-mega__inner .l-mega__inner__pages .l-mega__list .l-mega__list__parent {
    width: auto;
    margin-right: 30px;
  }
  
  .l-mega .l-mega__inner .l-mega__inner__pages .l-mega__list .l-mega__list__parent .l-mega__list__parent__link {
    padding-right: 32px;
    background: url("/common/img/icon_arrow.svg") no-repeat right 1px;
    background-size: 22px auto;
    font-size: 16px;
    line-height: 1.5;
  }
  
  .l-mega .l-mega__inner .l-mega__inner__pages .l-mega__list .l-mega__list__parent .l-mega__list__parent__link.arrow-non {
    padding-right: 0 !important;
    background: none !important;
  }
  
  
  .l-mega .l-mega__inner .l-mega__inner__pages .l-mega__list .l-mega__list__parent ul {
    padding-top: 5px;
  }
  
  .l-mega .l-mega__inner .l-mega__inner__pages .l-mega__list .l-mega__list__parent ul li.l-mega__list__child {
    padding-left: 13px;
    background: url("/common/img/arrow_blue_xs.png") no-repeat left 9px;
    background-size: auto 7px;
    font-size: 14px;
    line-height: 25px;
    position: relative;
  }
  
  .l-mega .l-mega__inner .l-mega__inner__pages .l-mega__list .l-mega__list__parent ul li.l-mega__list__child .link-out::after {
    content: "";
    display: inline-block;
    width: 14px;
    height: 11px;
    margin-left: 5px;
    background: url("/common/img/icon_outlink.svg") no-repeat center;
    background-size: contain;
    vertical-align: baseline;
  }
}
  
@media screen and (max-width: 640px) {
  .l-mega-bg,
  .l-mega {
    display: none !important;
  }
}


















/* #global_footer */

#global_footer {
  background-color: #e9edf0;
}

#global_footer a {
  color: #616971;
}

#global_footer .gf_copyright {
  display: block;
  width: 100%;
  line-height: 1.5;
  text-align: center;
  color: #535557;
}

#to_pagetop {
  position: fixed;
  opacity: 0;
  transition: all 0.2s;
}

#to_pagetop.is-show {
  opacity: 1;
}

#to_pagetop a {
  display: block;
  width: 100%;
  height: 100%;
  text-indent: -100%;
  white-space: nowrap;
  overflow: hidden;
  color: transparent;
  background-image: url("/english/common/img/to_pagetop.png");
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 100% auto;
}

#to_pagetop a:hover {
  background-position: center top;
}

@media screen and (min-width: 641px), print {
  #global_footer .gf_nav ul {
    border-top: 1px solid #d6dbe0;
    border-bottom: 1px solid #d6dbe0;
  }
  
  #global_footer .gf_nav ul {
    display: flex;
    justify-content: center;
    padding: 31px 0;
  }
  
  #global_footer .gf_nav ul li {
    padding: 0 22px;
    border-right: 1px solid #616971;
    font-size: 13px;
    line-height: 1;
  }
  
  #global_footer .gf_nav ul li:first-child {
    border-left: 1px solid #616971;
  }
  
  #global_footer .gf_copyright {
    padding: 38px 0;
    font-size: 13px;
  }
  
  #global_footer .gf_copyright {
    padding: 38px 0;
    font-size: 13px;
  }
  
  #to_pagetop {
    right: 50px;
    bottom: -66px;
    width: 66px;
    height: 66px;
  }

  #to_pagetop.is-show {
    bottom: 50px;
  }
}

@media screen and (max-width: 640px) {
  #global_footer {
    padding: 0 30px;
  }
  
  #global_footer .gf_nav ul {
    padding-top: 24px;
  }
  
  #global_footer .gf_nav ul li {
    font-size: 12px;
    line-height: 2.8333;
  }
  
  #global_footer .gf_copyright {
    padding-bottom: 35px;
    font-size: 10px;
  }
  
  #global_footer .gf_copyright {
    padding: 35px 0;
    font-size: 10px;
  }
  
  #to_pagetop {
    right: 20px;
    bottom: -33px;
    width: 33px;
    height: 33px;
  }

  #to_pagetop.is-show {
    bottom: 20px;
  }
}

/* #page_header */

#page_header {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

#page_header.page_header_company {
  background-image: url(/english/common/img/page_title_company.jpg);
}

#page_header.page_header_ir {
  background-image: url(/english/common/img/page_title_ir.jpg);
}

#page_header.page_header_csr {
  background-image: url(/english/common/img/page_title_csr.jpg);
}

#page_header.page_header_news {
  background-image: url(/english/common/img/page_title_news.jpg);
}

#page_header.page_header_support {
  background-image: url(/english/common/img/page_title_support.jpg);
}

#page_header.page_header_aboutweb {
  background-image: url(/english/common/img/page_title_aboutweb.jpg);
}

#page_header #page_heading {
  font-weight: bold;
  text-align: center;
  color: #FFF;
  font-family: 'Open Sans Condensed', sans-serif;
}

#page_header #page_heading::after {
  display: block;
  font-weight: normal;
  content: attr(data-en-text);
  letter-spacing: 0.04em;
  font-family: sans-serif;
}

@media screen and (max-width: 640px) {
  #page_header {
    height: 105px;
  }

  #page_header #page_heading {
    font-size: 21px;
  }

  #page_header #page_heading::after {
    font-size: 12px;
  }
}

@media screen and (min-width: 641px), print {
  #page_header {
    height: 210px;
    min-width: 1080px;
  }

  #page_header #page_heading {
    font-size: 30px;
    line-height: 1.4;
  }

  #page_header #page_heading::after {
    font-size: 14px;
  }
}

/* #breadcrumbs */

#breadcrumbs .list-breadcrumbs {
  letter-spacing: -.4em;
}

#breadcrumbs .list-breadcrumbs li {
  display: inline-block;
  letter-spacing: normal;
  white-space: nowrap;
}

#breadcrumbs .list-breadcrumbs li:not(:first-child) {
  position: relative;
}

#breadcrumbs .list-breadcrumbs li:not(:first-child)::before {
  position: absolute;
  display: block;
  box-sizing: border-box;
  content: '';
  left: 0;
  overflow: hidden;
  transform: rotate(45deg) perspective(0);
}

@media screen and (max-width: 640px) {
  #breadcrumbs {
    width: inherit!important;
    margin: 6px 0 12px;
    padding: 0;
    overflow-x: auto;
  }
  
  #breadcrumbs::-webkit-scrollbar {
    height: 2px;
  }
  
  #breadcrumbs::-webkit-scrollbar-track {
    border-radius: 2px;
    background: #eee;
  }
  
  #breadcrumbs::-webkit-scrollbar-thumb {
    border-radius: 5px;
    background: #666;
  }
  
  #breadcrumbs .list-breadcrumbs {
    padding: 0 0 0 20px;
    white-space: nowrap
  }

  #breadcrumbs .list-breadcrumbs li:not(:first-child) {
    margin-left: 10px;
    padding-left: 14px;
  }

  #breadcrumbs .list-breadcrumbs li:not(:first-child)::before {
    top: calc((1.69em - 6px)/2);
    width: 6px;
    height: 6px;
    border-top: 1.5px solid #005faf;
    border-right: 1.5px solid #005faf;
  }
}

@media screen and (min-width: 641px), print {
  #breadcrumbs {
    width: 1080px;
    font-size: 14px;
    margin: 18px auto 12px;
  }
  
  #breadcrumbs .list-breadcrumbs li:not(:first-child) {
    margin-left: 10px;
    padding-left: 16px;
  }

  #breadcrumbs .list-breadcrumbs li:not(:first-child)::before {
    top: calc((1.75em - 5px)/2);
    width: 5px;
    height: 5px;
    border-top: 2px solid #005faf;
    border-right: 2px solid #005faf;
  }
}

/* contents layout ------------------------------------------------------ */

/* article class */

.article[data-bg="white"] {
  background: #FFF;
}

.article[data-bg="aqua"] {
  background: #d4e7ed;
}

.article[data-bg="gray"] {
  background: #f8f8f8;
}

.article[data-bg="blue"] {
  background: #0063be;
}

#breadcrumbs+.article[data-bg="white"] {
  padding-top: 0;
}

/*
.article_header {
  color: #005faf;
  font-family: 'Open Sans Condensed', sans-serif;
  text-align: center;
}
*/

.article_header {
  text-align: center;
}

.article_header::after {
  display: block;
  line-height: 1;
  font-family: 'Open Sans Condensed', sans-serif;
  font-weight: bold;
  letter-spacing: .04em;
  content: attr(data-en-text);
  color: #005faf;
}

.article_heading {
  line-height: 1.57;
}

@media screen and (max-width: 640px) {
  .article {
    padding: 30px 0;
  }

  .article_header {
    margin-bottom: 25px;
  }

  .article_heading {
    font-size: 22px;
  }
}

@media screen and (min-width: 641px), print {
  .article {
    padding: 60px 0;
  }

  .article_header {
    margin-bottom: 50px;
  }

  .article_heading {
    font-size: 42px;
  }
}

/* section class */

.section_header {
  position: relative;
  border-bottom: 2px solid #EEE;
}

.section_header .section_heading {
	display: inline-block;
  font-weight: bold;
	position: relative;
}

.section_header .section_heading::after {
  position: absolute;
  display: block;
  content: '';
  width: 100%;
  height: 2px;
  left: 0;
  background: #005faf;
}

@media screen and (max-width: 640px) {
  .section + .section {
    margin-top: 25px;
  }

  .section_header {
    padding: 2px 0;
    margin: 0 20px 16px;
  }

  .section_header .section_heading {
    font-size: 18px;
  }
	
	.section_header .section_heading::after {
	  bottom: -4px;
	}

  .section_body {
    margin: 0 20px;
  }
}

@media screen and (min-width: 641px), print {
  .section + .section {
    margin-top: 50px;
  }

  .section_header {
    padding: 4px 0;
    width: 1080px;
    margin: 0 auto 30px;
  }

  .section_header .section_heading {
    font-size: 24px;
  }
	
	.section_header .section_heading::after {
	  bottom: -6px;
	}

  .section_body {
    width: 1080px;
    margin: 0 auto;
  }
}

/* heading */

.heading-bar {
  position: relative;
  font-weight: bold;
}

.heading-bar::before {
  display: block;
  content: '';
  position: absolute;
  left: 0;
  background: #005faf;
}

@media screen and (max-width: 640px) {
  .heading-bar {
    margin-bottom: 15px;
    padding-left: 10px;
    font-size: 16px;
  }

  .heading-bar::before {
    width: 3px;
    height: 1.25em;
    top: calc((1.69em - 1.25em)/2);
  }
}

@media screen and (min-width: 641px), print {
  .heading-bar {
    margin-bottom: 20px;
    padding-left: 14px;
    font-size: 18px;
  }

  .heading-bar::before {
    width: 4px;
    height: 1.33em;
    top: calc((1.75em - 1.33em)/2);
  }
}

/* lead */
.lead_text {
  margin: 12px 0;
  font-weight: bold;
  text-align: center;
  color: #005faf;
  line-height: 1.66;
}

@media screen and (max-width: 640px) {
  .lead_text {
    font-size: 16px;
  }
}

@media screen and (min-width: 641px), print {
  .lead_text {
    font-size: 24px;
  }
}

/* news_list */
.news_list .news_date {
  color: #005faf;
}

.news_list {
  border-top: 1px solid #CCC;
}

.news_list .news_item {
  border-bottom: 1px solid #CCC;
}

.news_list .news_item > a {
  display: flex;
  align-items: flex-start;
  color: inherit;
}

.news_list .news_text {
  position: relative;
}

.news_list .news_item > a .news_text::after {
  display: block;
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto 0;
  box-sizing: border-box;
  transform: rotate(45deg);
}

@media screen and (max-width: 640px) {
  .news_list .news_item > a {
    padding: 15px 0 10px;
    flex-wrap: wrap;
    align-items: center;
  }

  .news_list .news_date {
    width: 95px;
    line-height: 22px;
    font-weight: bold;
  }

  .news_list .news_text {
    width: 100%;
  }

  .news_list .news_item > a .news_text {
    position: relative;
    padding-right: 24px;
  }

  .news_list .news_item > a .news_text::after {
    width: 7px;
    height: 7px;
    border-top: 1.5px solid #005faf;
    border-right: 1.5px solid #005faf;
  }
}

@media screen and (min-width: 641px), print {
  .news_list {
    font-size: 14px;
  }

  .news_list .news_item > a {
    padding: 18px 0;
    transition: background .2s;
  }

  .news_list .news_item > a:hover {
    background: #e5eff7;
    color: #005faf;
    text-decoration: none;
  }

  .news_list .news_date {
    margin: 0;
    width: 120px;
  }

  .news_list .news_text {
    margin-left: auto;
    width: 960px;
  }

  .news_list .news_item > a .news_text::before {
    display: block;
    content: 'more';
    height: 11px;
    font-size: 12px;
    line-height: 11px;
    position: absolute;
    font-weight: 300;
    top: 0;
    bottom: 0;
    text-align: right;
    right: 18px;
    margin: auto 0;
    box-sizing: border-box;
  }

  .news_list .news_item > a .news_text::after {
    width: 8px;
    height: 8px;
    right: 5px;
    border-top: 2px solid #005faf;
    border-right: 2px solid #005faf;
  }
}

/* index_list */
.index_list {
  width: 335px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.index_list .index_item {
  color: #FFF;
  position: relative;
  width: 157.5px;
  height: 105px;
  z-index: 0;
  overflow: hidden;
}

.index_list .index_item a {
  display: flex;
  flex-direction: column;
  text-align: center;
  text-decoration: none;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 100%;
  color: inherit;
}

.index_list .index_item a::after {
  display: block;
  content: '';
  margin-top: 6px;
  width: 70px;
  height: 20px;
  overflow: hidden;
  background: url(/english/common/img/index_icon_more.png) no-repeat center center;
  background-size: contain;
}

.index_list .index_item a .index_icon {
  margin-bottom: 5px;
  width: 34px;
  height: 34px;
}

.index_list .index_item a .index_title {
  line-height: 1.2;
}

.index_list .index_item a .index_thumb {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.25s;
  z-index: -1;
}

@media screen and (max-width: 552px) {
  .index_list .index_item:nth-child(odd) {
    margin-right: 20px
  }

  .index_list .index_item:nth-child(n+3) {
    margin-top: 20px
  }
}

@media screen and (min-width: 553px) {
  .index_list {
    width: 513px;
  }

  .index_list .index_item:nth-child(n+4) {
    margin-top: 20px
  }

  .index_list .index_item:not(:nth-child(3n)) {
    margin-right: 20px
  }
}

@media screen and (max-width: 640px) {
  .index_list .index_item a .index_title {
    font-weight: bold;
    font-size: 11px;
  }
}

@media screen and (min-width: 641px), print {
  .index_list {
    width: 1080px;
  }

  .index_list .index_item {
    width: 332px;
    height: 230px;
  }

  .index_list .index_item:nth-child(n+4) {
    margin-top: 40px
  }

  .index_list .index_item:not(:nth-child(3n)) {
    margin-right: 42px
  }

  .index_list .index_item a::after {
    margin-top: 12px;
    width: 100px;
    height: 28px;
  }

  .index_list .index_item a .index_icon {
    margin-bottom: 8px;
    width: 68px;
    height: 68px;
  }

  .index_list .index_item a .index_title {
		width: 100%;
    font-size: 22px;
  }

  .index_list .index_item a:hover .index_thumb {
    transform: translate(-50%, -50%) scale(1.2);
    filter: blur(5px);
  }
}

/* #cookie_notice */

#cookie_notice {
  font-size: 13px;
  padding: 20px;
  position: fixed;
  display: none;
  justify-content: space-between;
  bottom: 0;
  width: 100%;
  background: rgba(210, 210, 210, 0.95)
}

#cookie_notice.is-show {
  display: flex;
}

#cookie_notice_close {
  flex-shrink: 0;
  width: 25px;
  height: 25px;
  margin-left: 10px;
  position: relative;
}

#cookie_notice_close::before,
#cookie_notice_close::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  display: block;
  content: '';
  width: 100%;
  height: 4px;
  background: #005faf;
}

#cookie_notice_close::before {
  transform: rotate(45deg);
}

#cookie_notice_close::after {
  transform: rotate(-45deg);
}

@media screen and (min-width: 641px), print {
  #cookie_notice_close {
    width: 30px;
    height: 30px;
    margin-left: 20px;
  }
}

/* news_list_month */

.news_list_month {
	/*color: #005faf;*/
	border-top: 1px solid #ccc;
}

@media screen and (max-width: 640px) {
	.news_list_month {
		margin-top: 10px;
		margin-bottom: 31px;
	}

	.news_list_month dt {
		padding-top: 9px;
	}
	
	.news_list_month dd {
		padding: 5px 0 10px;
		border-bottom: 1px solid #ccc;
	}
}

@media screen and (min-width: 641px), print {
	.news_list_month {
		margin-top: 20px;
		margin-bottom: 60px;
		position: relative;
	}

	.news_list_month dt,
	.news_list_month dd {
		padding-top: 16px;
		padding-bottom: 15px;
	}
	
	.news_list_month dt {
		position: absolute;
		left: 0;
	}
	
	.news_list_month dd {
		padding-left: 136px;
		border-bottom: 1px solid #ccc;
	}
}

/* noDate */
@media screen and (max-width: 640px) {
	.news_list_nodate {
		margin-top: 10px;
		margin-bottom: 31px;
		border-top: 1px solid #ccc;
	}
	.news_list_nodate dd {
		padding: 5px 0 10px;
		border-bottom: 1px solid #ccc;
	}
}

@media screen and (min-width: 641px), print {
	.news_list_nodate {
		margin-top: 20px;
		margin-bottom: 60px;
		position: relative;
		border-top: 1px solid #ccc;
	}

	.news_list_nodate dd {
		padding-top: 16px;
		padding-bottom: 15px;
	}
	
	.news_list_nodate dd {
		padding-left: 10px;
		border-bottom: 1px solid #ccc;
	}
}