@charset "utf-8";
/* =================================================================
   Foundation
   ================================================================= */
/* stylelint-disable */
/* Document
 * ========================================================================== */
/**
 * 1. Add border box sizing in all browsers (opinionated).
 * 2. Backgrounds do not repeat by default (opinionated).
 */
*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  background-repeat: no-repeat; /* 2 */
}
/**
 * 1. Add text decoration inheritance in all browsers (opinionated).
 * 2. Add vertical alignment inheritance in all browsers (opinionated).
 */
::before,
::after {
  text-decoration: inherit; /* 1 */
  vertical-align: inherit; /* 2 */
}
/**
 * 1. Use the default cursor in all browsers (opinionated).
 * 2. Change the line height in all browsers (opinionated).
 * 3. Use a 4-space tab width in all browsers (opinionated).
 * 4. Remove the grey highlight on links in iOS (opinionated).
 * 5. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 * 6. Breaks words to prevent overflow in all browsers (opinionated).
 */
html {
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
  -webkit-tap-highlight-color: transparent /* 4 */;
  -ms-text-size-adjust: 100%; /* 5 */
  -webkit-text-size-adjust: 100%; /* 5 */
  line-height: 1.5; /* 2 */
  word-break: break-word; /* 6 */
  cursor: default; /* 1 */
  tab-size: 4; /* 3 */
}
/* Sections
 * ========================================================================== */
/**
 * Remove the margin in all browsers (opinionated).
 */
body {
  margin: 0;
}
/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Edge, Firefox, and Safari.
 */
h1 {
  margin: 0.67em 0;
  font-size: 2em;
}
/* Grouping content
 * ========================================================================== */
/**
 * Remove the margin on nested lists in Chrome, Edge, IE, and Safari.
 */
dl dl,
dl ol,
dl ul,
ol dl,
ul dl {
  margin: 0;
}
/**
 * Remove the margin on nested lists in Edge 18- and IE.
 */
ol ol,
ol ul,
ul ol,
ul ul {
  margin: 0;
}
/**
 * 1. Correct the inheritance of border color in Firefox.
 * 2. Add the correct box sizing in Firefox.
 * 3. Show the overflow in Edge 18- and IE.
 */
hr {
  height: 0; /* 2 */
  overflow: visible; /* 3 */
  color: inherit; /* 1 */
}
/**
 * Add the correct display in IE.
 */
main {
  display: block;
}
/**
 * Remove the list style on navigation lists in all browsers (opinionated).
 */
nav ol,
nav ul {
  padding: 0;
  list-style: none;
}
/**
 * Prevent VoiceOver from ignoring list semantics in Safari (opinionated).
 */
/* nav li::before {
  content: "\200B";
} */
/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 * 3. Prevent overflow of the container in all browsers (opinionated).
 */
pre {
  -ms-overflow-style: scrollbar; /* 3 */
  overflow: auto; /* 3 */
  font-size: 1em; /* 2 */
  font-family: monospace, monospace; /* 1 */
}
/* Text-level semantics
 * ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}
/**
 * Add the correct text decoration in Edge 18-, IE, and Safari.
 */
abbr[title] {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline;
  text-decoration: underline dotted;
}
/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}
/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-size: 1em; /* 2 */
  font-family: monospace, monospace; /* 1 */
}
/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}
/* Embedded content
 * ========================================================================== */
/*
 * Change the alignment on media elements in all browsers (opinionated).
 */
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}
/**
 * Add the correct display in IE 9-.
 */
audio,
video {
  display: inline-block;
}
/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}
/**
 * Remove the border on iframes in all browsers (opinionated).
 */
iframe {
  border-style: none;
}
/**
 * Remove the border on images within links in IE 10-.
 */
img {
  border-style: none;
}
/**
 * Change the fill color to match the text color in all browsers (opinionated).
 */
svg:not([fill]) {
  fill: currentColor;
}
/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden;
}
/* Tabular data
 * ========================================================================== */
/**
 * 1. Collapse border spacing in all browsers (opinionated).
 * 2. Correct table border color inheritance in all Chrome, Edge, and Safari.
 * 3. Remove text indentation from table contents in Chrome, Edge, and Safari.
 */
table {
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 1 */
  text-indent: 0; /* 3 */
}
/* Forms
 * ========================================================================== */
/**
 * Remove the margin on controls in Safari.
 */
button,
input,
select {
  margin: 0;
}
/**
 * 1. Show the overflow in IE.
 * 2. Remove the inheritance of text transform in Edge 18-, Firefox, and IE.
 */
button {
  overflow: visible; /* 1 */
  text-transform: none; /* 2 */
}
/**
 * Correct the inability to style buttons in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}
/**
 * 1. Change the inconsistent appearance in all browsers (opinionated).
 * 2. Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em; /* 2 */
  border: 1px solid #a0a0a0; /* 1 */
}
/**
 * Show the overflow in Edge 18- and IE.
 */
input {
  overflow: visible;
}
/**
 * 1. Correct the text wrapping in Edge 18- and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 */
legend {
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  color: inherit; /* 2 */
  white-space: normal; /* 1 */
}
/**
 * 1. Add the correct display in Edge 18- and IE.
 * 2. Add the correct vertical alignment in Chrome, Edge, and Firefox.
 */
progress {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}
/**
 * Remove the inheritance of text transform in Firefox.
 */
select {
  text-transform: none;
}
/**
 * 1. Remove the margin in Firefox and Safari.
 * 2. Remove the default vertical scrollbar in IE.
 * 3. Change the resize direction in all browsers (opinionated).
 */
textarea {
  margin: 0; /* 1 */
  overflow: auto; /* 2 */
  resize: vertical; /* 3 */
  resize: vertical; /* 3 */
}
/**
 * Remove the padding in IE 10-.
 */
[type="checkbox"],
[type="radio"] {
  padding: 0;
}
/**
 * 1. Correct the odd appearance in Chrome, Edge, and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}
/**
 * Correct the cursor style of increment and decrement buttons in Safari.
 */
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}
/**
 * Correct the text style of placeholders in Chrome, Edge, and Safari.
 */
::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
}
/**
 * Remove the inner padding in Chrome, Edge, and Safari on macOS.
 */
::-webkit-search-decoration {
  -webkit-appearance: none;
}
/**
 * 1. Correct the inability to style upload buttons in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}
/**
 * Remove the inner border and padding of focus outlines in Firefox.
 */
::-moz-focus-inner {
  padding: 0;
  border-style: none;
}
/**
 * Restore the focus outline styles unset by the previous rule in Firefox.
 */
:-moz-focusring {
  outline: 1px dotted ButtonText;
}
/**
 * Remove the additional :invalid styles in Firefox.
 */
:-moz-ui-invalid {
  box-shadow: none;
}
/* Interactive
 * ========================================================================== */
/*
 * Add the correct display in Edge 18- and IE.
 */
details {
  display: block;
}
/*
 * Add the correct styles in Edge 18-, IE, and Safari.
 */
dialog {
  display: block;
  position: absolute;
  right: 0;
  left: 0;
  width: -moz-fit-content;
  width: -webkit-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: -webkit-fit-content;
  height: fit-content;
  margin: auto;
  padding: 1em;
  border: solid;
  background-color: white;
  color: black;
}
dialog:not([open]) {
  display: none;
}
/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}
/* Scripting
 * ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block;
}
/**
 * Add the correct display in IE.
 */
template {
  display: none;
}
/* User interaction
 * ========================================================================== */
/*
 * Remove the tapping delay in IE 10.
 */
a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex] {
  -ms-touch-action: manipulation;
}
/**
 * Add the correct display in IE 10-.
 */
[hidden] {
  display: none;
}
/* Accessibility
 * ========================================================================== */
/**
 * Change the cursor on busy elements in all browsers (opinionated).
 */
[aria-busy="true"] {
  cursor: progress;
}
/*
 * Change the cursor on control elements in all browsers (opinionated).
 */
[aria-controls] {
  cursor: pointer;
}
/*
 * Change the cursor on disabled, not-editable, or otherwise
 * inoperable elements in all browsers (opinionated).
 */
[aria-disabled="true"],
[disabled] {
  cursor: not-allowed;
}
/*
 * Change the display on visually hidden accessible elements
 * in all browsers (opinionated).
 */
[aria-hidden="false"][hidden] {
  display: inline;
  display: initial;
}
[aria-hidden="false"][hidden]:not(:focus) {
  clip: rect(0, 0, 0, 0);
  position: absolute;
}
/* stylelint-enable */
/* Base Style Setting */
html {
	font-size: 62.5%;
}
body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	text-size-adjust: 100%;
	overflow-x: hidden;
	background: #fff;
	color: #333;
	font-size: 1.6rem;
	line-height: 1.571428;
	font-family: "Meiryo UI", "M PLUS 1p", "Hiragino Kaku Gothic ProN", sans-serif;
	touch-action: manipulation;
}
a {
	color: #003894;
	text-decoration: none
}
a:hover img{
		opacity: .75;
	}
a:hover {
	text-decoration: underline;
}
a:focus {
	outline: 2px auto Highlight;
	outline: 5px auto -webkit-focus-ring-color;
}
/* Typography Base Setting */
h1, h2, h3, h4, h5, h6 {
	margin-top: 0;
	margin-bottom: 0;
}
p, dl, blockquote {
	margin-top: 0;
	margin-bottom: 1.2rem;
}
dd {
	margin-left: 0;
}
ul {
	padding-left: 1.2em;
	list-style: "\30FB" outside;
}
ol {
	padding-left: 2em;
	list-style: decimal outside;
}
ul,
ol {
	margin-top: 0;
	margin-bottom: 1.2rem
}
ul > li, ol > li {
		margin-bottom: .8rem;
	}
ul ul,
	ul ol,
	ol ul,
	ol ol {
		margin-top: .6rem;
		margin-bottom: 1.2rem;
	}
em {
	font-style: normal;
}
rp, rt {
	font-size: .6875em;
	line-height: 1;
}
table {
	font-size: 1em;
	empty-cells: show;
}
figure {
	margin: 0;
}
picture {
	display: block;
}
img {
	height: auto;
}
iframe {
	width: 100%;
}
img, iframe, button, input, select, textarea {
	max-width: 100%;
}
fieldset {
	margin: 0;
	padding: 0;
	border: none;
}
legend {
	margin: 0;
	padding: 0;
}
input, select, textarea {
	font-family: inherit;
}
textarea {
	height: auto;
}
::-webkit-input-placeholder {
	font-family: inherit;
}
::-moz-placeholder {
	font-family: inherit;
}
:-ms-input-placeholder {
	font-family: inherit;
}
::placeholder {
	font-family: inherit;
}
:-ms-input-placeholder {
	font-family: inherit;
}
.no-link {
	color: inherit;
	pointer-events: none;
}
/* =================================================================
   Layout
   ================================================================= */
.layout-content {
	overflow-x: hidden;
}
.layout-header {
	height: 112px;
}
/* -------------------------------- *\
    6. header
\* -------------------------------- */
.header {
	z-index: 100;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 62px;
	padding: 0 4.8vw;
	border-top: 3px solid #163357;
	border-bottom: 1px solid #ebebeb;
	background: #fff;
}
.header__title {
	z-index: 2;
	position: relative;
	width: 114px;
	margin: 0;
	padding-top: 14px
}
.header__title img {
		display: block;
		width: 100%;
	}
/* -------------------------------- *\
    グローバルナビ
\* -------------------------------- */
/* メニュー項目 */
.gnav-list {
	margin: 0;
	padding: 0;
	line-height: 1.5;
	list-style: none
}
.gnav-list > li {
		margin-bottom: 0;
	}
.gnav-list > li > a {
		display: flex;
		align-items: center;
		color: inherit;
		text-decoration: none;
	}
.gnav-list--sub > li > a {
		font-size: 1.4rem;
	}
.gnav-list--sub .icon-globe {
		display: inline-block;
		position: relative;
		width: 2.4rem;
		height: 1em;
		margin-right: .3rem;
		vertical-align: middle;
	}
.gnav-list--sub .icon-globe::before {
		position: absolute;
		top: 50%;
		left: 0;
		margin-top: -1.2rem;
		color: #003894;
		font-size: 2.4rem;
	}
/* ドロップダウン内 */
.gnav-child-list {
	margin-bottom: 1.8rem;
	padding-left: 0;
	list-style: none
}
.gnav-child-list > li {
		position: relative;
		margin-bottom: 3rem;
	}
.gnav-child__heading a,
.gnav-child-list a {
	display: inline-block;
	position: relative;
	padding-left: 1.1em;
	color: inherit
}
.gnav-child__heading a::before, .gnav-child-list a::before {
		position: absolute;
		top: .2em;
		left: 0;
		content: "\e903";
		color: #003894;
		font-weight: normal;
		font-size: .85714em;
		font-family: "icomoon";
		font-display: block;
		text-decoration: none;
	}
/* 検索フィールド */
.gnav-search {
	position: relative;
}
.gnav-search__toggle,
.gnav-search__submit {
	display: block;
	width: 4rem;
	height: 4rem;
	border: none;
	background: none;
	line-height: 1;
	cursor: pointer;
}
.gnav-search__text {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 100%;
	height: 4rem;
	padding: .4rem 4rem .4rem .4rem;
	border: .2rem solid #ebebeb;
	border-radius: .6rem;
	outline: 0;
	font-size: 1.6rem
}
.gnav-search__text:focus {
		border-color: #003894;
	}
.gnav-search__submit {
	position: absolute;
	top: 0;
	right: 4.8%;
	color: #999
}
.gnav-search__submit .icon-search {
		font-size: 2.4rem;
		line-height: 1;
	}
.gnav-search__submit:hover {
		color: #003894;
	}
/* -------------------------------- *\
    main
\* -------------------------------- */
.content {
	padding-bottom: 40px;
}
/* -------------------------------- *\
    コンテンツ共通
\* -------------------------------- */
.wrapper {
	position: relative;
	width: 90.4%;
	max-width: 1200px;
	margin: 0 auto;
}
.section {
	margin-bottom: 50px;
}
.section .section {
	margin-bottom: 40px;
}
.section .section .section {
	margin-bottom: 30px;
}
.section .section .section .section {
	margin-bottom: 24px;
}
/* -------------------------------- *\
    5. DIVIDER & BACKGROUND
\* -------------------------------- */
/* 5-1: 境界線 */
.divider {
	height: 0;
	margin: 2.4rem 0;
	border: none;
	border-top: 1px solid #ebebeb;
}
/* 5-2: 強調エリア */
/* 5-3: 強調枠 */
.frame {
	padding: 16px 20px 24px;
	border: 1px solid #ebebeb;
	background: #fff
}
.frame > :last-child {
		margin-bottom: 0;
	}
.frame--bg {
	background: #f5f5f5;
}
/* -------------------------------- *\
    7. FOOTER
\* -------------------------------- */
.footer {
	padding-bottom: 40px;
	background: #f5f5f5;
}
.footer__copyright {
	color: #999;
	font-size: 1.2rem;
	text-align: center
}
.footer__copyright span {
		display: inline-block;
	}
/* ページトップ */
.footer__pagetop {
	position: fixed;
	right: 20px;
	bottom: 20px;
	opacity: 0;
	transition: opacity .3s linear
}
.footer__pagetop.is-scrolling {
		opacity: 1;
	}
.pagetop-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 4px;
	background: rgba(0, 0, 0, .35);
	color: #fff;
	line-height: 1;
	transition: background .2s
}
.pagetop-btn::before {
		content: "\e920";
		font-size: 2.4rem;
		font-family: "icomoon";
	}
.pagetop-btn:hover {
		background: rgba(0, 0, 0, .5);
		text-decoration: none;
	}
/* フッターナビ */
.fnav__upper {
	background: #163357;
	color: #fff;
}
.fnav__lower {
	padding: 40px 4.8% 30px;
	line-height: 1.5;
}
.fnav-logo {
	width: 284px;
	margin: 0 auto 24px
}
.fnav-logo img {
		display: block;
		width: 100%;
	}
.fnav-list {
	margin-bottom: 0;
}
.fnav-extra-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-bottom: 0;
	text-align: center
}
.fnav-extra-list > li {
		margin-bottom: 4px;
		font-size: 1.3rem;
		line-height: 1.6;
	}
.fnav-extra-list > li:nth-of-type(n+2) {
		padding-left: 1.2rem;
	}
.fnav-extra-list > li:nth-last-of-type(n+2)::after {
		display: inline-block;
		width: 0;
		height: 1em;
		margin-left: 1.2rem;
		border-left: 1px solid #999;
		content: "";
		vertical-align: middle;
	}
.fnav-extra-list > li > a {
		display: inline-block;
		color: inherit;
		vertical-align: middle;
	}
/* =================================================================
   Object
   ================================================================= */
/* -----------------------------------------------------------------
   Component
   ----------------------------------------------------------------- */
@font-face {
  font-style: normal;
  font-weight: normal;
  src:
    url('fonts/icomoon.ttf?t904yt') format('truetype'),
    url('fonts/icomoon.woff?t904yt') format('woff'),
    url('fonts/icomoon.svg?t904yt#icomoon') format('svg');
  font-family: 'icomoon';
  font-display: block;
}
[class^="icon-"], [class*=" icon-"] {
  speak: never;
  font-feature-settings: normal;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1;
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  text-transform: none;
}
.icon-rss:before {
  content: "\e91f";
}
.icon-globe:before {
  content: "\e91e";
}
.icon-close:before {
  content: "\e908";
}
.icon-clear:before {
  content: "\e907";
}
.icon-suggest:before {
  content: "\e91d";
}
.icon-reload:before {
  content: "\e918";
}
.icon-arrow_s:before {
  content: "\e902";
}
.icon-arrow-right_s:before {
  content: "\e923";
}
.icon-arrow-right:before {
  content: "\e903";
}
.icon-arrow-left:before {
  content: "\e91a";
}
.icon-arrow-up:before {
  content: "\e920";
}
.icon-arrow-down:before {
  content: "\e921";
}
.icon-search:before {
  content: "\e919";
}
.icon-accountdata:before {
  content: "\e900";
}
.icon-info:before {
  content: "\e90f";
}
.icon-key:before {
  content: "\e910";
}
.icon-alert:before {
  content: "\e901";
}
.icon-gps:before {
  content: "\e90c";
}
.icon-help:before {
  content: "\e90d";
}
.icon-pin:before {
  content: "\e916";
}
.icon-check:before {
  content: "\e906";
}
.icon-expansion:before {
  content: "\e90b";
}
.icon-mail:before {
  content: "\e911";
}
.icon-history:before {
  content: "\e90e";
}
.icon-setting:before {
  content: "\e91b";
}
.icon-complete:before {
  content: "\e909";
}
.icon-calender:before {
  content: "\e905";
}
.icon-payment:before {
  content: "\e914";
}
.icon-store:before {
  content: "\e91c";
}
.icon-myreview:before {
  content: "\e913";
}
.icon-coupon:before {
  content: "\e90a";
}
.icon-plus:before {
  content: "\e917";
}
.icon-minus:before {
  content: "\e912";
}
.icon-blanklink:before {
  content: "\e904";
}
.icon-pdf:before {
  content: "\e915";
}
.icon-freedial:before {
  content: "\e922";
}
.icon-file-excel:before {
  content: "\eae2";
}
/* -------------------------------- *\
    9. HEADING
\* -------------------------------- */
.h1 {
	margin-bottom: 1.6rem;
	font-weight: bold;
	font-size: 2.4rem;
	line-height: 1.4
}
.h1[data-en]::after {
		display: block;
		content: attr(data-en);
		font-size: 1.4rem;
	}
.h2 {
	margin-bottom: 1.6rem;
	font-weight: bold;
	font-size: 2.2rem;
	line-height: 1.5
}
.h2[data-en]::after {
		display: block;
		content: attr(data-en);
		font-size: 1.4rem;
	}
.h3 {
	position: relative;
	margin-bottom: 1.6rem;
	padding-left: 1.2rem;
	font-weight: bold;
	font-size: 2rem;
	line-height: 1.5
}
.h3::before {
		position: absolute;
		top: .2em;
		left: 0;
		width: .5rem;
		height: 1.2em;
		border-radius: .3rem;
		background: #ebebeb;
		content: "";
	}
.h4 {
	margin-bottom: 1.6rem;
	padding-bottom: .8rem;
	border-bottom: .2rem solid #ebebeb;
	font-weight: bold;
	font-size: 1.8rem;
	line-height: 1.5;
}
.h4--noline {
	padding-bottom: 0;
	border-bottom: none;
}
.h5 {
	margin-bottom: 1.2rem;
	font-weight: bold;
	font-size: 1.6rem;
	line-height: 1.5;
}
.subheading {
	margin-bottom: .8rem;
	font-weight: bold;
	font-size: 1.4rem;
	line-height: 1.6;
}
/* -------------------------------- *\
    10. TEXT
\* -------------------------------- */
/* 10-1: リード文 */
.text-lead {
	margin-bottom: 1.6rem;
	font-size: 1.6rem;
	line-height: 1.5;
}
/* 10-3: 重要 */
/* 10-5: テキスト - 緊急/エラー */
.text-important,
.text-alert { color: #e60009; }
.text-alert {
	padding-left: 2.7rem;
	text-indent: -2.7rem;
}
.text-alert::before {
	margin-right: .3rem;
	content: "\e901";
	font-size: 2.4rem;
	line-height: 1;
	font-family: "icomoon";
	vertical-align: middle;
}
/* -------------------------------- *\
    11. TEXT LABEL
\* -------------------------------- */
.text-label {
	display: inline-block;
	min-width: 4em;
	padding: 0 .6rem;
	background: #999;
	color: #fff;
	font-weight: bold;
	font-size: 1.2rem;
	line-height: 1.8rem;
	text-align: center;
}
.text-label--1 {
	background: #bacff0;
	color: #003894;
}
.text-label--2 {
	background: #163357;
	color: #fff;
}
.text-label--3 {
	background: #fff;
	box-shadow: inset 0 0 0 1px #163357;
	color: #163357;
}
.text-label--4 {
	background: #e7eaee;
	color: #163357;
}
.text-label--5 {
	background: #999;
	color: #fff;
}
.text-label--new {
	background: #003894;
	color: #fff;
}
.text-label--new-yellow {
	background: #F90;
	color: #fff;
}
/* -------------------------------- *\
    15. LINKS
\* -------------------------------- */
/* 15-1: 文中リンク */
.link {
	text-decoration: underline
}
.link:hover {
		text-decoration: none;
	}
.link-arrow {
	position: relative;
	padding-left: 1.5rem
}
.link-arrow::before {
		position: absolute;
		top: .2em;
		left: 0;
		content: "\e903";
		color: #003894;
		font-weight: normal;
		font-size: 1.2rem;
		font-family: "icomoon";
		font-display: block;
		text-decoration: none;
	}
.link-arrow:hover {
		color: #003894;
		text-decoration: underline;
	}
/* 15-2: テキストリンク, テキストリンク - 右 */
/* 15-3: テキストリンク - 中央 */
.link-block a {
		display: inline-block;
		padding: 1.6rem 0;
	}
.link-block.text-center a {
		font-size: 1.6rem;
		line-height: 1.5;
	}
.link-external::after {
	padding-left: .3rem;
	content: "\e904";
	color: #003894;
	font-family: "icomoon";
	text-decoration: none;
	vertical-align: middle;
}
/* -------------------------------- *\
    12. LIST
\* -------------------------------- */
/* 12-3: 注釈リスト */
.note-list {
	color: #666;
	font-size: 1.2rem;
	line-height: 1.6
}
.note-list > li {
		margin-bottom: .4rem;
	}
.note-list--icon {
	padding-left: 0;
	list-style: none
}
.note-list--icon > li {
		padding-left: 1em;
		text-indent: -1em;
	}
.note-list--icon > li::before {
		content: "※";
	}
/* 14-1: メニューリスト */
/* 14-2: 説明付きメニューリスト */
.menu-list {
	padding: 0;
	border-top: 1px solid #ebebeb;
	list-style: none
}
.menu-list li {
		margin-bottom: 0;
		border-bottom: 1px solid #ebebeb;
	}
.menu-list a {
		display: flex;
		position: relative;
		align-items: center;
		justify-content: space-between;
		padding: 1.6rem 4.8%;
		color: #333;
		font-size: 1.6rem;
		text-decoration: none;
	}
.menu-list a::after {
		margin-left: 1.2rem;
		content: "\e902";
		color: #003894;
		font-size: 2.4rem;
		line-height: 1;
		font-family: "icomoon";
	}
.menu-list small {
		display: block;
		margin-top: .2rem;
		color: #666;
		font-size: 1.2rem;
	}
/* タブスタイルメニューリスト（分割設定） */
.tablike-menu-list {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -.3rem 30px;
	padding: 0;
	list-style: none
}
.tablike-menu-list > li {
		display: flex;
		flex: 1 0 50%;
		max-width: 50%;
		margin: .4rem 0;
		padding: 0 .3rem;
	}
.tablike-menu-list.is-column2 > li {
		flex-basis: 100%;
		max-width: 100%;
	}
/* タブスタイルメニューリスト（ボタンスタイル） */
.tablike-menu-list a {
	display: flex;
	position: relative;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	min-height: 5rem;
	padding: 1.2rem;
	border: 1px solid #ebebeb;
	background: #fff;
	color: inherit;
	line-height: 1.333;
	text-align: center;
	text-decoration: none
}
.tablike-menu-list a.is-current,
	.tablike-menu-list a[aria-current] {
		background: #163357 !important;
		color: #fff !important;
	}
/* -------------------------------- *\
    15. LINKS
\* -------------------------------- */
/* 15-4: リンクリスト */
.link-list {
	margin-bottom: 1.8rem;
	padding-left: 0;
	list-style: none
}
.link-list > li {
		position: relative;
		margin-bottom: .6rem;
		padding-left: 1.5rem;
	}
.link-list a {
		display: inline-block;
		color: inherit;
	}
.link-list a::before {
		position: absolute;
		top: .2em;
		left: 0;
		content: "\e903";
		color: #003894;
		font-weight: normal;
		font-size: 1.2rem;
		font-family: "icomoon";
		font-display: block;
		text-decoration: none;
	}
.link-list--line {
	padding-top: .6rem;
	border-top: 1px solid #ebebeb
}
.link-list--line > li {
		padding-bottom: .6rem;
		border-bottom: 1px solid #ebebeb;
	}
/* 15-5: 外部サイトリンク */
/* 15-6: PDFリンク */
.link-list a[target="_blank"]::after,
.link-list a[href*=".pdf"]::after {
	display: inline-block;
	margin-left: .3rem;
	color: #999;
	font-weight: normal;
	line-height: 1;
	font-family: "icomoon";
	font-display: block;
	text-decoration: none;
}
.link-list a[href*=".pdf"]::before {
	display: none;
}
.link-list a[target="_blank"]::after {
	content: "\e904";
}
.link-list a[href*=".pdf"]::after {
	content: "\e915";
	font-size: 1.6rem;
	vertical-align: -.15em;
}
.link-list a[target="_blank"]:hover::after,
.link-list a[href*=".pdf"]:hover::after {
	color: #163357;
}
/* ページ内リンクリスト */
.inpage-link-list {
	display: flex;
	flex-wrap: wrap;
	padding: 0;
	list-style: none
}
.inpage-link-list > li {
		display: flex;
		margin: 0 5rem 1rem 0;
	}
.inpage-link-list a {
		display: block;
		position: relative;
		padding: .4em calc(1em + .6rem) .4em 0;
		color: inherit;
		line-height: 1.333;
		text-decoration: none;
	}
.inpage-link-list a::before {
		position: absolute;
		top: .5em;
		right: 0;
		content: "\e921";
		color: #003894;
		line-height: 1;
		font-family: "icomoon";
		text-decoration: none;
	}
.inpage-link-list a::after {
		position: absolute;
		top: 0;
		right: -1.5em;
		bottom: 0;
		width: 3px;
		margin: auto;
		background-color: #f5f5f5;
		content: '';
	}
/* スタイルなしリスト */
.unstyled-list {
	padding-left: 0;
	list-style: none;
}
/* -------------------------------- *\
    Flex Grid
\* -------------------------------- */
.grid-row {
	display: flex;
	flex-wrap: wrap;
	margin-right: -9px;
	margin-left: -9px;
}
.grid-row--reverse { flex-direction: row-reverse; }
.grid-row--start { justify-content: flex-start; }
.grid-row--center { justify-content: center; }
.grid-row--end { justify-content: flex-end; }
.grid-row--between { justify-content: space-between; }
.grid-row--around { justify-content: space-around; }
.grid-row--stretch { align-items: stretch; }
.grid-row--top { align-items: flex-start; }
.grid-row--middle { align-items: center; }
.grid-row--bottom { align-items: flex-end; }
[class="grid-col"],
[class*="grid-col-"] {
	flex-grow: 1;
	flex-basis: 0%;
	max-width: 100%;
	padding-right: 9px;
	padding-left: 9px;
}
.grid-col-auto {
	flex: 0 1 auto;
	max-width: none;
}
.grid-col-10 {
	flex-basis: 10%;
	max-width: 10%;
}
.grid-col-15 {
	flex-basis: 15%;
	max-width: 15%;
}
.grid-col-20 {
	flex-basis: 20%;
	max-width: 20%;
}
.grid-col-25 {
	flex-basis: 25%;
	max-width: 25%;
}
.grid-col-30 {
	flex-basis: 30%;
	max-width: 30%;
}
.grid-col-33 {
	flex-basis: 33.3333%;
	max-width: 33.3333%;
}
.grid-col-40 {
	flex-basis: 40%;
	max-width: 40%;
}
.grid-col-50 {
	flex-basis: 50%;
	max-width: 50%;
}
.grid-col-60 {
	flex-basis: 60%;
	max-width: 60%;
}
.grid-col-66 {
	flex-basis: 66.6666%;
	max-width: 66.6666%;
}
.grid-col-70 {
	flex-basis: 70%;
	max-width: 70%;
}
.grid-col-75 {
	flex-basis: 75%;
	max-width: 75%;
}
.grid-col-80 {
	flex-basis: 80%;
	max-width: 80%;
}
.grid-col-90 {
	flex-basis: 90%;
	max-width: 90%;
}
.grid-col-100 {
	flex-basis: 100%;
	max-width: 100%;
}
/* -------------------------------- *\
    13. BUTTONS
\* -------------------------------- */
.btn {
	-webkit-appearance: none;
	-moz-appearance: none;
	display: block;
	appearance: none;
	position: relative;
	width: 88.2%;
	margin: 0 auto 1.6rem;
	padding: 1.3rem 2.4rem 1.3rem 1.6rem;
	border: .2rem solid;
	border-radius: 5rem;
	background-color: transparent;
	color: #333;
	font-weight: bold;
	font-size: 1.6rem;
	line-height: 1.5;
	font-family: inherit;
	text-align: center;
	text-decoration: none !important;
	transition: all .2s ease
}
.btn::before {
		position: absolute;
		top: 50%;
		right: 2.2rem;
		transform: translateY(-50%);
		content: "\e902";
		font-weight: normal;
		font-size: 2.4rem;
		font-family: "icomoon";
		transition: all .2s ease;
	}
.btn:not(:disabled) {
		cursor: pointer;
	}
.btn[aria-disabled="true"] {
		opacity: .5;
	}
.btn:hover {
		border-color: var(--gray-6);
		color: #333;
	}
.btn:focus {
		outline: 2px auto Highlight;
		outline: 5px auto -webkit-focus-ring-color;
		transition: outline 0s;
	}
.btn--external::before {
	content: "\e904";
	font-size: 1em;
}
.btn__icon {
	margin-left: .3rem;
	font-size: 1.2em;
}
/* 13-1: ボタン - 高（Primary） */
.btn--primary {
	border-color: transparent !important;
	background-color: #163357;
	color: #fff
}
.btn--primary:hover {
		background-color: hsl(213, 60%, calc(21% + 10%));
		color: #fff;
	}
/* 13-2: ボタン - 低（Secondary） */
.btn--secondary {
	border-color: #999;
	background-color: #fff;
	color: #333
}
.btn--secondary::before {
		color: #003894;
	}
.btn--secondary:hover {
		color: #999;
	}
.btn--secondary:hover::before {
		color: #bacff0;
	}
/* テキストが長い場合 */
.btn--long-text {
  padding-inline: 4.6rem !important;
	}
/* 戻るボタン */
.btn--back {
	padding-right: 1.6rem;
	padding-left: 2.4rem
}
.btn--back::before {
		right: auto;
		left: 2.4rem;
		content: "\e923";
	}
/* 単色ボタン */
.sub-btn {
	-webkit-appearance: none;
	-moz-appearance: none;
	display: flex;
	appearance: none;
	position: relative;
	height: calc(100% - 16px);
	margin: 8px 0;
	padding: 0;
	border: none;
	background-color: transparent;
	color: inherit;
	font-weight: bold;
	font-size: 1.7rem;
	line-height: 1.4;
	font-family: inherit;
	text-align: center;
	text-decoration: none !important;
	transition: all .2s ease;
}
.sub-btn__text {
	display: flex;
	flex: 1;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	min-height: 5.6rem;
	margin: 0;
	padding: .8rem 1.6rem;
	color: inherit;
	font-size: inherit;
}
.sub-btn__icon {
	margin-right: .8rem;
}
.sub-btn--primary {
	background: #163357;
	color: #fff;
}
.sub-btn--secondary {
	border: .2rem solid #999;
	background-color: #fff;
	color: #333
}
.sub-btn--secondary:hover {
		color: #999;
	}
.sub-btn--tertiary {
	background: #ebebeb;
	color: #163357;
}
/* 別タブボタン */
.btn--blanklink::before {
		content: "\e904" !important;
	}
/* -------------------------------- *\
    Figure
\* -------------------------------- */
.fluid-image {
	width: 100%;
	max-width: 100%;
	height: auto;
}
/* -------------------------------- *\
    Video
\* -------------------------------- */
.video-container {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 56.25%;
	page-break-inside: avoid
}
.video-container iframe {
		position: absolute;
		right: 0;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 100%;
		outline: 0;
	}
/* Figure */
.figure {
	margin: 0 0 1.6rem;
}
.figure__caption {
	margin-top: .4rem;
	color: #666;
}
/* Object-fit Polyfill */
.objectfit {
	-o-object-fit: cover;
	object-fit: cover;
	font-family: "object-fit: cover;"
}
.objectfit[data-fit="contain"] {
		-o-object-fit: contain;
		object-fit: contain;
		font-family: "object-fit: contain;";
	}
/* -------------------------------- *\
    16. DATA TABLE
\* -------------------------------- */
.table {
	width: 100%;
	max-width: 100%;
	margin-bottom: 1.2rem;
	border-top: 1px solid #ebebeb
}
.table th,
	.table td {
		padding-top: .8rem;
		padding-bottom: .8rem;
		border-bottom: 1px solid #ebebeb;
		vertical-align: top;
	}
.table th {
		text-align: inherit;
	}
.table th.text-center {
		text-align: center;
	}
.table td {
		padding-left: 1.2rem;
	}
/* レスポンシブ */
/* テーブルテーマ */
.table--theme1 caption {
		padding: .8rem 1.2rem;
		background: #ebebeb;
		font-size: 1.6rem;
		text-align: left;
	}
.table--theme1 th,
	.table--theme1 td {
		padding-right: 1.2rem;
		padding-left: 1.2rem;
	}
.table--theme1 th {
		background: #f5f5f5;
	}
.table--theme2 {
	border-top: 1px solid #ccc;
	border-right: 1px solid #ccc
}
.table--theme2 caption {
		padding: .8rem 1.2rem;
		background: #163357;
		color: #fff;
		font-size: 1.6rem;
		text-align: left;
	}
.table--theme2 th,
	.table--theme2 td {
		padding-right: 1.2rem;
		padding-left: 1.2rem;
		border-bottom: 1px solid #ccc;
		border-left: 1px solid #ccc;
		vertical-align: middle;
	}
.table--theme2 tbody th {
		background: #f5f5f5;
	}
.table--theme2 thead th {
		background: #ebebeb;
	}
.table--theme2 .table-border-thick {
	border: 3px solid #ccc;
}

/* -------------------------------- *\
    18. INPUT FORM + BUTTON
\* -------------------------------- */
.form-input,
.form-select {
	-webkit-appearance: none;
	-moz-appearance: none;
	display: block;
	appearance: none;
	width: 100%;
	max-width: 100%;
	margin: .4rem 0;
	border: .2rem solid #ccc;
	border-radius: .6rem;
	outline: 0;
	background-color: #f5f5f5;
	color: inherit;
	font-size: 1.6rem;
	transition: all .1s;
}
.form-input {
	height: 4.2rem;
	padding: 0 1.2rem;
	line-height: 1
}
.form-input::-ms-clear,
	.form-input::-ms-reveal {
		/* IE10以上用 */
		height: 20px;
		margin-right: -6px;
		color: rgba(0, 0, 0, .5);
	}
textarea.form-input {
	height: auto;
	min-height: 8em;
	padding: 1.2rem;
	line-height: 1.4;
}
.form-select {
	height: 4.2rem;
	padding: 0 1.2rem;
	text-overflow: ellipsis
}
.form-select:not([multiple]) {
		padding-right: 3.2rem;
		background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgdmlld0JveD0iMCAwIDEyIDEyIj48cGF0aCBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMzMzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS13aWR0aDoycHg7IiBkPSJNMTAsNCw2LDgsMiw0Ii8+PC9zdmc+");
		background-position: right 1.2rem center;
		background-size: 1.2rem;
		background-repeat: no-repeat;
		line-height: normal;
		vertical-align: middle;
	}
.form-select[multiple] {
		height: auto;
		padding: .8rem 1.2rem;
	}
.form-select[multiple] option,
	.form-select[size] option {
		padding: .1rem .2rem;
	}
.form-select::-ms-expand {
	display: none;
}
.form-input:focus,
.form-select:focus {
	border-color: #163357;
}
[class*="form-"]:disabled,
[class*="form-"][readonly] {
	background-color: #f5f5f7;
	color: #666;
}
[class*="form-"]::-webkit-input-placeholder {
	color: #999;
}
[class*="form-"]::-moz-placeholder {
	color: #999;
}
[class*="form-"]:-ms-input-placeholder {
	color: #999;
}
[class*="form-"]::placeholder {
	color: #999;
}
[class*="form-"]:-ms-input-placeholder {
	color: #999;
}
/* チェックボックス・ラジオボタン */
/*
<label class="form-check" for="check1">
  <input class="form-check__input" type="checkbox" name="check" id="check1" value="選択する">
  <span class="form-check__label">選択する</span>
</label>
*/
.form-check {
	display: inline-block;
	margin-right: 1.2rem;
	padding-left: 1.92857em;
}
.form-check__input {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 1.5em;
	height: 1.5em;
	border: .2rem solid #999;
	outline: none;
	background-position: center center;
	background-size: contain;
	background-color: #fff;
	font-size: inherit;
	vertical-align: top
}
.form-check__input[type="checkbox"] {
		border-radius: .4rem;
		background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMiAzMiI+PHBhdGggc3R5bGU9ImZpbGw6I2ZmZjsiIGQ9Ik00LDE1LjIsNy4yLDEybDYuNCw2LjRMMjQuOCw3LjIsMjgsMTAuNCwxMy42LDI0LjhaIi8+PC9zdmc+);
	}
.form-check__input[type="radio"] {
		border-radius: 50%;
		background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMiAzMiI+PGNpcmNsZSBzdHlsZT0iZmlsbDojZmZmOyIgY3g9IjE2IiBjeT0iMTYiIHI9IjciLz48L3N2Zz4=);
	}
.form-check__input:checked {
		border-color: #003894;
		background-color: #003894;
	}
.form-check__input:focus {
		border-color: #003894;
	}
.form-check .form-check__input {
		margin-left: -1.92857em;
		float: left
}
.form-check__label {
	display: inline-block;
	line-height: 1;
}
.form-check__input:disabled,
.form-check__input:disabled ~ .form-check__label {
	opacity: .5;
}
.form-check__input:disabled:checked {
	border-color: #999;
	background-color: #999;
}
/* -------------------------------- *\
    スタイルバリエーション
\* -------------------------------- */
/* 幅 */
.form-width--name {
	max-width: 10em;
}
.form-width--zip,
.form-width--tel {
	width: 5em;
}
.form-width--large {
	max-width: 600px;
}
.form-width--medium {
	max-width: 250px;
}
.form-width--small {
	max-width: 160px;
}
/* バリデーションカラー */
.form-input.is-invalid,
.form-select.is-invalid,
.form-check__input.is-invalid,
.is-invalid .form-check__input {
	border-color: #e60009;
}
.invalid-message {
	margin-top: .8rem;
	color: #e60009;
}
/* -------------------------------- *\
    フォームレイアウト
\* -------------------------------- */
.form-row {
	margin-bottom: 1.6rem;
	page-break-inside: avoid;
}
.form-label {
	margin-bottom: .5rem;
	font-weight: bold;
}
.form-input-group {
	display: flex;
	align-items: center
}
.form-input-group > * + * {
		margin-left: .9rem;
	}
.form-btn {
	-webkit-appearance: none;
	-moz-appearance: none;
	display: inline-flex;
	appearance: none;
	justify-content: center;
	min-width: 7rem;
	height: 4.2rem;
	padding: .9rem;
	border: none;
	border-radius: .6rem;
	background: #163357;
	color: #fff;
	text-align: center;
	white-space: nowrap;
	cursor: pointer;
	transition: all .15s ease
}
.form-btn:hover {
		background: hsl(213, 60%, calc(21% + 10%));
	}
.form-required-label {
	color: #e60009;
}
.form-desc {
	margin-bottom: .8rem;
}
.form-help {
	margin-top: .8rem;
	color: #666;
	font-size: calc(1em - .2rem);
}
/* -------------------------------- *\
   8. BREADCRUMB
\* -------------------------------- */
.breadcrumb {
	padding: 1.2rem 0 2.4rem
}
.breadcrumb ol {
		display: flex;
		width: 100%;
		margin: 0;
		padding: 0;
		list-style: none;
	}
.breadcrumb li {
		white-space: nowrap;
	}
.breadcrumb li:not(:last-of-type)::after {
		display: inline-block;
		padding: 0 .6rem;
		content: "\e903";
		color: #ccc;
		font-size: 1.2rem;
		font-family: "icomoon";
	}
.breadcrumb a {
		color: inherit;
	}
/* -------------------------------- *\
    Pagination
\* -------------------------------- */
.pagination {
	display: flex;
	justify-content: center;
}
.pagination-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	width: auto;
	margin: 0;
	padding: 0;
	list-style: none
}
.pagination-list > li {
		display: flex;
		align-items: center;
		margin-bottom: 0;
	}
.pagination-page,
.pagination-prev,
.pagination-next {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0 .4rem;
	color: #163357;
	text-decoration: none !important
}
.pagination-page[disabled], .pagination-prev[disabled], .pagination-next[disabled] {
		cursor: default;
		opacity: .3;
		pointer-events: none;
	}
.pagination-page {
	width: 2.25em;
	height: 2.25em;
	border-radius: 50%
}
.pagination-page:hover {
		background: #f5f5f5;
		text-decoration: none;
	}
.pagination-page[aria-current] {
		background: #163357;
		color: #fff;
	}
.pagination-prev,
.pagination-next {
	color: #003894
}
.pagination-prev:hover, .pagination-next:hover {
		color: #163357;
	}
.pagination-prev::before,
.pagination-next::before {
	content: "";
	font-size: 2.4rem;
	line-height: 1;
	font-family: "icomoon";
}
.pagination-prev::before {
	content: "\e91a";
}
.pagination-next::before {
	content: "\e903";
}
/* -------------------------------- *\
   ACCORDION
\* -------------------------------- */
[data-accordion-header] {
	-webkit-appearance: none;
	-moz-appearance: none;
	display: block;
	appearance: none;
	position: relative;
	width: 100%;
	padding: 1.6rem 4rem 1.6rem 1.2rem;
	border: 0;
	background: #f5f5f5;
	color: #333;
	font-size: inherit;
	font-family: inherit;
	text-align: inherit;
	text-decoration: none
}
[data-accordion-header]::after {
		position: absolute;
		top: 50%;
		right: 1.2rem;
		transform: translateY(-50%);
		content: "\e917";
		color: #003894;
		font-family: "icomoon";
	}
[data-accordion-header][aria-expanded="true"]::after {
		content: "\e912";
	}
[data-accordion-pane] {
	display: block !important;
	margin-bottom: .4rem;
	padding-right: 1.2rem;
	padding-left: 1.2rem;
	overflow: hidden;
	line-height: 0;
	opacity: 0;
	transition: all .2s .1s ease-out, opacity .2s
}
[data-accordion-pane].is-opened {
  padding-top: 1.2rem;
  padding-bottom: 1.2rem;
  line-height: 1.571428;
  opacity: 1;
  transition: all .3s ease-out, opacity .2s .2s;
}
/* Inlay accordion */
[data-inlay-accordion-footer] {
	-webkit-appearance: none;
	-moz-appearance: none;
	display: block;
	appearance: none;
	position: relative;
  width: 100%;
  padding: 0;
	border: 0;
	background: #f5f5f5;
	color: #333;
	font-size: inherit;
	font-family: inherit;
	text-align: inherit;
	text-decoration: none
}
[data-inlay-accordion-footer] > a {
  text-decoration: none;
	color: #333;
}
[data-inlay-accordion-footer][aria-expanded="true"] > :first-child {
  display: none;
}
[data-inlay-accordion-footer][aria-expanded="true"] > :last-child {
  display: block;
}
[data-inlay-accordion-footer][aria-expanded="false"] > :first-child {
  display: block;
}
[data-inlay-accordion-footer][aria-expanded="false"] > :last-child {
  display: none;
}

[data-inlay-accordion-pane] {
	display: block !important;
	margin-bottom: .4rem;
	overflow: hidden;
	line-height: 0;
	opacity: 0;
  transition: all .2s 0s ease-out, opacity .1s
}
[data-inlay-accordion-pane] > *{ 
  margin: 0;
  margin-top: 0;
  margin-bottom: 0;
}
[data-inlay-accordion-pane].is-opened {
  line-height: 1.571428;
  opacity: 1;
  transition: all .3s ease-out, opacity .2s .2s;
}
[data-inlay-accordion-pane].is-opened > * {
  margin: auto;
}
.contact-notes-button {
  padding-top: 24px;
}
/* FAQ */
.faq-list {
	padding: 0;
	list-style: none
}
.faq-list > li {
		border: 1px solid #ebebeb;
	}
.faq-list__header button {
		padding-left: 4rem;
	}
.faq-list__header button::before {
		position: absolute;
		top: 1.2rem;
		left: 1.2rem;
		content: "Q";
		color: #003894;
		font-weight: bold;
		font-size: 2.4rem;
		line-height: 1;
	}
.faq-list__pane {
	position: relative;
	margin-bottom: 0;
	padding-left: 4rem
}
.faq-list__pane::before {
		position: absolute;
		top: 1.2rem;
		left: 1.2rem;
		content: "A";
		color: #666;
		font-weight: bold;
		font-size: 2.4rem;
		line-height: 1;
	}
.faq-list__pane.is-opened {
  border-top: 1px solid #ebebeb;
}

.contact-notes.is-opened .contact-notes__item {
  margin-bottom: 16px;
}
/* -------------------------------- *\
    タブ切り替え
\* -------------------------------- */
.js-tabchange [role="tablist"] {
		display: flex;
		width: 100%;
		margin: 0;
		padding: 0;
		list-style: none
	}
.js-tabchange [role="tablist"] li {
			position: relative;
			flex: 1 1 0%;
			margin-bottom: 0;
			padding: 0 .9rem;
		}
.js-tabchange [role="tablist"] li:nth-of-type(n+2)::before {
			position: absolute;
			top: 1.2rem;
			bottom: 1.2rem;
			left: 0;
			border-left: 1px solid #ebebeb;
			content: "";
		}
.js-tabchange [role="tab"] {
		-webkit-appearance: none;
		-moz-appearance: none;
		display: block;
		appearance: none;
		width: 100%;
		min-width: 5em;
		padding: 1.2rem .9rem;
		border: none;
		border-bottom: 3px solid transparent;
		background: none;
		color: inherit;
		line-height: 1;
		text-align: center;
		text-decoration: none;
		white-space: nowrap
	}
.js-tabchange [role="tab"][aria-selected="true"] {
			border-bottom: 3px solid #003894;
			font-weight: bold;
		}
.js-tabchange [role="tabpanel"][hidden] {
		display: none;
	}
/* TOPニュースリリース用 */
.news-tab__header {
	display: none;
	position: relative
}
.news-tab__header [role="tablist"] li {
			padding: 0;
		}
.news-tab__rss {
	position: absolute;
	top: -.75em;
	right: 0
}
.news-tab__rss a {
		display: block;
		padding: .2rem .4rem;
		color: inherit;
		font-weight: bold;
		line-height: 1;
		text-decoration: none;
		white-space: nowrap;
	}
.news-tab__rss .icon-rss {
		color: #999;
		font-size: 1.8rem;
		vertical-align: -.05em;
	}
.news-tab__rss a:hover .icon-rss {
		color: #003894;
	}
/* Theme */
.owl-prev,
.owl-next {
	display: inline-block;
	margin: 5px;
	padding: 4px 7px;
	border-radius: 3px;
	background: #fff;
	color: #163357;
	font-size: 14px;
	cursor: pointer;
}
.owl-prev {
	position: absolute;
	top: 50%;
	left: 0;
}
.owl-next {
	position: absolute;
	top: 50%;
	right: 0;
}
.owl-nav .disabled {
	cursor: default;
	opacity: .5;
}
/* トップページ用 */
.owl-theme-index .owl-prev,
.owl-theme-index .owl-next {
	display: inline-block;
	position: absolute;
	top: 50%;
	width: 40px;
	height: 40px;
	margin-top: -30px;
	padding: 0;
	overflow: hidden;
	border-radius: 50%;
	background: rgba(255, 255, 255, .5) !important;
	color: #163357;
	line-height: 40px;
	text-align: center;
}
.owl-theme-index .owl-prev {
	left: 10px;
}
.owl-theme-index .owl-next {
	right: 10px;
}
.owl-theme-index .owl-prev,
.owl-theme-index .owl-next {
	display: none;
}
.owl-theme-index .owl-prev::before,
.owl-theme-index .owl-next::before {
	display: inline-block;
	width: 100%;
	font-size: 16px !important;
	font-family: "icomoon";
	text-align: center;
}
.owl-theme-index .owl-prev::before {
	content: "\e91a";
}
.owl-theme-index .owl-next::before {
	content: "\e903";
}
/* -----------------------------------------------------------------
   Project
   ----------------------------------------------------------------- */
/* -------------------------------- *\
    ページ構成
\* -------------------------------- */
.bo-page-title {
	position: relative;
	margin-bottom: 30px;
	border-bottom: 1px solid #ebebeb
}
.bo-page-title .h1 {
		margin-bottom: 16px;
	}
/* -------------------------------- *\
    15. LINKS
\* -------------------------------- */
/* 15-7: ニュース一覧 */
.bo-news-list ul {
		margin: 0;
		padding: 0;
		border-top: 1px solid #ebebeb;
		list-style: none;
	}
.bo-news-list li {
		margin-bottom: 0;
		padding: 1.2rem 0;
		border-bottom: 1px solid #ebebeb;
	}
.bo-news-list__date {
	margin-bottom: .4rem;
}
.bo-news-list__category {
	width: 11rem
}
.bo-news-list__category .text-label {
		width: 100%;
	}
.bo-news-list__title {
	position: relative;
	margin-top: .4rem
}
.bo-news-list__title a.bo-news-list__link-inline {
		display: inline;
		color: inherit;
	}
.bo-news-list__title a. {
    display: block;
    color: inherit;
  }
.bo-news-list__title a[target="_blank"]::after,
	.bo-news-list__title a[href*=".pdf"]::after {
		display: inline-block;
		width: 2rem;
		margin-left: .3rem;
		color: #999;
		font-weight: normal;
		font-size: 1.6rem;
		line-height: 1;
		font-family: "icomoon";
		font-display: block;
		text-align: center;
		text-decoration: none;
	}
.bo-news-list__title a[target="_blank"]::after {
		content: "\e904";
	}
.bo-news-list__title a[href*=".pdf"]::after {
		content: "\e915";
	}
.bo-news-list--important ul {
		margin: 0;
		padding: 0;
		border-top: none !important;
		list-style: none;
	}
.bo-news-list--important li {
		margin-bottom: 0;
		padding: .5rem 0 !important;
		border-bottom: none !important;
	}
.bo-news-list--important .bo-news-list__title{
		padding-left: 0 !important;
	}
/* ニュースアーカイブ選択 */
.bo-news-list-header {
	display: flex;
	align-items: center;
	margin-bottom: 30px;
}
.bo-news-list-header__select {
	margin-left: auto;
}
.bo-news-list-header__rss {
	margin-left: 16px;
	padding-left: 16px;
	border-left: 1px solid #ebebeb;
	text-align: right;
}
/* -------------------------------- *\
    17. INFORMATION
\* -------------------------------- */
/* 17: お知らせ */
.bo-info-list ul {
		margin-bottom: 1.2rem;
		padding: 0;
		list-style: none;
	}
.bo-info-list li {
		margin-bottom: .8rem;
	}
.bo-info-list a {
		color: inherit;
	}
.bo-info-list__date {
	color: #666;
	font-size: 1.2rem;
}
.bo-info-list__title {
	margin-top: .3em;
}
/* -------------------------------- *\
    19. CONTENTS
\* -------------------------------- */
/* 19: コンテンツエリア  4カラム */
.bo-card-block {
	display: flex;
	flex-wrap: wrap;
	margin-right: -9px;
	margin-left: -9px;
}
.bo-card-block__item {
	flex: 1 0 50%;
	max-width: 50%;
	margin-bottom: 30px;
	padding: 0 9px;
}
.bo-card {
	display: flex;
	position: relative;
	flex-direction: column;
	width: 100%;
	height: 100%;
	padding-bottom: 1.2rem;
	overflow: hidden;
	border-radius: 6px;
	box-shadow: 0 2px 6px rgba(0, 0, 0, .2);
	page-break-inside: avoid;
}
.bo-card__thumb {
	flex-shrink: 0
}
.bo-card__thumb img {
		display: block;
		width: 100%;
	}
.bo-card__category {
	margin-bottom: .8rem;
	line-height: 1;
}
.bo-card__title {
	margin-bottom: 2rem;
	padding: 0 1.6rem
}
.bo-card__title a {
		color: inherit;
		text-decoration: none;
	}
.bo-card__title a::before {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		content: "";
	}
.bo-card__date {
	margin-top: auto;
	padding: 0 1.6rem;
	font-size: 1.2rem;
}
/* -------------------------------- *\
    20. CATEGORY
\* -------------------------------- */
/* 20: カテゴリー */
.bo-category-block {
	display: flex;
	flex-wrap: wrap;
	margin-right: -1.2%;
	margin-left: -1.2%;
}
.bo-category-block__item {
	flex: 1 0 50%;
	max-width: 50%;
	margin-bottom: 20px;
	padding: 0 1.2%;
}
.bo-category-item {
	position: relative;
}
.bo-category-item__thumb {
	margin-bottom: 8px
}
.bo-category-item__thumb img {
		display: block;
		width: 100%;
	}
.bo-category-item__title a {
		display: block;
		color: inherit;
		text-decoration: none;
	}
.bo-category-item .link-arrow {
	font-weight: bold;
}
/* -------------------------------- *\
    21. images
\* -------------------------------- */
.bo-images {
	position: relative;
}
.bo-images__overlay {
	display: flex;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	flex-direction: column;
	align-items: center;
	justify-content: space-evenly;
	padding-top: 24px;
}
.bo-images__image {
	position: relative;
	height: 0;
	overflow: hidden
}
.bo-images__image img {
		-o-object-fit: cover;
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
.bo-images__image--large {
	padding-top: 100%;
}
.bo-images__image--medium {
	padding-top: 75%;
}
.bo-images__image--small {
	padding-top: 50%;
}
@supports (aspect-ratio: 1 / 1) {
	.bo-images__image,
	.bo-images__image--large,
	.bo-images__image--medium,
	.bo-images__image--small {
		height: auto;
		padding-top: 0;
	}
	.bo-images__image img {
		position: static;
		height: auto;
	}
	.bo-images__image--large img {
		aspect-ratio: 1 / 1;
	}
	.bo-images__image--medium img {
		aspect-ratio: 4 / 3;
	}
	.bo-images__image--small img {
		aspect-ratio: 2 / 1;
	}
}
/* 拡大画像 */
.expansion_img-link{
	display:inline-block;
	position: relative;
}
.expansion_img-link--text{
	position: absolute;
	right: 0;
	bottom: 0;
	padding: .5em;
	background-color:rgba(255,255,255,0.5)


}
/* -------------------------------- *\
    22. banner
\* -------------------------------- */
.bo-banners img {
		width: 100%;
		height: auto;
	}
.bo-banners__item {
	position: relative;
	margin-bottom: 20px;
	background: #fff
}
.bo-banners__item h2 {
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		position: absolute;
		top: 50%;
		left: 0%;
		margin-left: 2rem;
		transform: translateY(-50%);
	}
/* -------------------------------- *\
    サードパーティーバナー
\* -------------------------------- */
.bo-get-adobe-reader {
	font-size: 1.2rem
}
.bo-get-adobe-reader a {
		display: block;
		max-width: 200px;
		margin-bottom: 1.2rem;
	}
/* ヒーロー画像 */
.bo-index-hero {
	overflow: hidden;
}
.bo-index-hero__slide {
	position: relative
}
.bo-index-hero__slide img {
		width: 100%;
	}
.bo-index-hero__slide_link {
	display: block;
	transition: opacity .2s
}
.bo-index-hero__slide_link:hover {
		opacity: .75;
	}
.owl-dots {
	position: relative !important;
	margin: 24px 0 0 0!important;
	text-align: center !important;
}
/* TOPセクション */
.bo-index-bg--white,
.bo-index-bg--silver {
	padding: 60px 0 40px;
}
.bo-index-bg--silver {
	background: #f5f5f5;
}
/* カテゴリ導入画像 */
.bo-index-category {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.bo-index-category__item {
	z-index: 0;
	position: relative;
	flex: 1 0 49%;
	max-width: 49%;
}
.bo-index-category__item--col3 {
	flex: 1 0 calc((100% - 64px)/3);
	max-width: calc((100% - 64px)/3);
}
.bo-index-category__hover{
	background: #fff
}
.bo-index-category__hover a:hover {
		opacity: .75;
	}
.bo-index-category__hover a:hover img {
		opacity: 1;
	}
.bo-index-category__item--full {
	flex: 1 0 100%;
	max-width: 100%;
}
.bo-index-category__item:nth-of-type(n+2) {
	margin-top: 24px;
}
.bo-index-category__item__corporate {
	z-index: 0;
	position: relative;
	flex: 1 0 49%;
	max-width: 49%;
}
.bo-index-category__item--3 {
	flex: 1 0 32%;
	max-width: 32%;
	margin-top: 0 !important;
}
.bo-index-category__item--category {
  max-width: 100%;
}
.bo-index-category__item__corporate:nth-of-type(n+3) {
	margin-top: 24px !important;
}
.bo-index-category__text {
	display: flex;
	position: absolute;
	top: 50%;
	left: 0;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	transform: translateY(-50%);
	font-weight: bold;
	font-size: 1.8rem;
	text-align: center;
}
.bo-index-category__text--csr-top-message {
  font-size: 1.6rem;
}
.bo-index-category__heading {
	display: inline-block;
	margin-bottom: .8rem !important;
	padding: .8rem 1.6rem
}
.bo-index-category__heading .h2 {
		margin-bottom: 0;
		font-size: 1.6rem;
	}
.bo-index-category__heading .h2[data-en]::before {
		display: block;
		content: attr(data-en);
		font-size: .4em;
	}
.bo-index-category__heading .h2[data-en]::after {
		display: none;
	}
.bk_gl{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 240px;
	max-width: 80%;
	min-height: 50px;
	padding-right: 0;
	padding-left: 0;
	background: rgba(22, 51, 87, .4);
	line-height: 1.2;
}
.bo-index-category__text--csr-top-message .bk_gl {
	width: 280px;
	min-height: 36px;
}
.bo-index-category__heading__message{
	margin-bottom: 0 !important;
	padding: .2rem .4rem;
}
.bo-index-category__heading__message--csr-top {
	margin-bottom: 0 !important;
	padding: .2rem 2.4rem;
}
.bo-index-category__image {
	height: 0;
	overflow: hidden
}
.bo-index-category__image img {
		-o-object-fit: cover;
		display: block;
		z-index: -1;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
.bo-index-category__image--main {
	padding-top: 56.25%;
}
.bo-index-category__image--csr-top {
	padding-top: 107.36%;
}
.bo-index-category__image--sub {
	padding-top: 57.627%;
}
/* 主要サービス */
.bo-index-service ul {
		margin: 0;
		padding: 0;
		list-style: none;
	}
.bo-index-service img {
		border-radius: .5rem;
	}
.bo-index-service dt {
		margin-bottom: .4rem;
		font-weight: bold;
		font-size: 1.6rem;
	}
/* -----------------------------------------------------------------
   Utility
   ----------------------------------------------------------------- */
/* -------------------------------- *\
    Display
\* -------------------------------- */
/* 要素の表示/非表示を制御する汎用クラス */
.display-none { display: none !important; }
.display-block { display: block !important; }
.display-inline { display: inline !important; }
.display-inline-block { display: inline-block !important; }
.display-flex { display: flex !important; }
/* スクリーンリーダー用 */
.sr-only-focusable {
	z-index: 1000;
	position: fixed;
	top: 0;
	left: 0;
	padding: .8rem 1.6rem;
	background: hsla(213, 60%, 21%, 0.7);
	color: #fff;
}
.visually-hidden,
.sr-only,
.sr-only-focusable:not(:focus) {
	clip: rect(0, 0, 0, 0);
	position: absolute;
	bottom: 0;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	white-space: nowrap;
}
/* -------------------------------- *\
    Text
\* -------------------------------- */
/*
 * テキストのスタイルを指定する汎用クラス
 */
/* 文字の太さ */
.font-weight-bold {
	font-weight: bold;
}
.font-weight-normal {
	font-weight: 400;
}
/* 文字サイズ */
.font-size-l {
	font-size: 2.2rem;
}
.font-size-m {
	font-size: 1.6rem;
}
.font-size-s {
	font-size: 1.2rem;
}
/* 文字色 */
.color-primary { color: #163357; }
.color-secondary { color: #003894; }
.color-white { color: #fff; }
.color-normal { color: #333; }
/* 水平方向の配置 */
.text-left { text-align: left; }
.text-center { text-align: center; }
.text-right { text-align: right; }
.text-align-middle { vertical-align: middle; }
.text-align-bottom { vertical-align: bottom; }
/* 字下げ */
.text-indent-1,
li.text-indent-1,
ul.text-indent-1 > li {
	padding-left: 1em;
	text-indent: -1em;
}
.text-indent-2,
li.text-indent-2,
ul.text-indent-2 > li {
	padding-left: 2em;
	text-indent: -2em;
}
ul[class*="text-indent-"] {
	padding-left: 0;
	list-style: none;
	text-indent: 0;
}
/* その他文字設定 */
.nowrap {
	white-space: nowrap;
}
/* -------------------------------- *\
    Sizes
\* -------------------------------- */
.width-10 { width: 10%; }
.width-20 { width: 20%; }
.width-25 { width: 25%; }
.width-30 { width: 30%; }
.width-33 { width: 33%; }
.width-40 { width: 40%; }
.width-50 { width: 50%; }
.width-60 { width: 60%; }
.width-66 { width: 66%; }
.width-70 { width: 70%; }
.width-75 { width: 75%; }
.width-80 { width: 80%; }
.width-90 { width: 90%; }
.width-100 { width: 100%; }
.width-auto { width: auto; }
/* -------------------------------- *\
    Spaces (Vertical)
\* -------------------------------- */
/* 4, 8, 12, 16, 24, 30, 40, 50, 60, 70, 80px */
/* Margin Top */
.mt-0 { margin-top: 0 !important; }
.mt-4 { margin-top: 4px !important; }
.mt-8 { margin-top: 8px !important; }
.mt-12 { margin-top: 12px !important; }
.mt-16 { margin-top: 16px !important; }
.mt-20 { margin-top: 20px !important; }
.mt-24 { margin-top: 24px !important; }
.mt-30 { margin-top: 30px !important; }
.mt-40 { margin-top: 40px !important; }
.mt-50 { margin-top: 50px !important; }
.mt-60 { margin-top: 60px !important; }
.mt-70 { margin-top: 70px !important; }
.mt-80 { margin-top: 80px !important; }
/* Margin Bottom */
.mb-0 { margin-bottom: 0 !important; }
.mb-4 { margin-bottom: 4px !important; }
.mb-8 { margin-bottom: 8px !important; }
.mb-12 { margin-bottom: 12px !important; }
.mb-16 { margin-bottom: 16px !important; }
.mb-20 { margin-bottom: 20px !important; }
.mb-24 { margin-bottom: 24px !important; }
.mb-30 { margin-bottom: 30px !important; }
.mb-40 { margin-bottom: 40px !important; }
.mb-50 { margin-bottom: 50px !important; }
.mb-60 { margin-bottom: 60px !important; }
.mb-70 { margin-bottom: 70px !important; }
.mb-80 { margin-bottom: 80px !important; }
/* Padding Top */
.pt-0 { padding-top: 0 !important; }
.pt-4 { padding-top: 4px !important; }
.pt-8 { padding-top: 8px !important; }
.pt-12 { padding-top: 12px !important; }
.pt-16 { padding-top: 16px !important; }
.pt-20 { padding-top: 20px !important; }
.pt-24 { padding-top: 24px !important; }
.pt-30 { padding-top: 30px !important; }
.pt-40 { padding-top: 40px !important; }
.pt-50 { padding-top: 50px !important; }
.pt-60 { padding-top: 60px !important; }
.pt-70 { padding-top: 70px !important; }
.pt-80 { padding-top: 80px !important; }
/* Padding Bottom */
.pb-0 { padding-bottom: 0 !important; }
.pb-4 { padding-bottom: 4px !important; }
.pb-8 { padding-bottom: 8px !important; }
.pb-12 { padding-bottom: 12px !important; }
.pb-16 { padding-bottom: 16px !important; }
.pb-20 { padding-bottom: 20px !important; }
.pb-24 { padding-bottom: 24px !important; }
.pb-30 { padding-bottom: 30px !important; }
.pb-40 { padding-bottom: 40px !important; }
.pb-50 { padding-bottom: 50px !important; }
.pb-60 { padding-bottom: 60px !important; }
.pb-70 { padding-bottom: 70px !important; }
.pb-80 { padding-bottom: 80px !important; }
/* -------------------------------- *\
    Spaces (Horizontal)
\* -------------------------------- */
/* 3, 6, 9, 12, 16, 20, 24, 48px */
.mx-auto,
.mr-auto { margin-right: auto !important; }
.mx-auto,
.ml-auto { margin-left: auto !important; }
/* Margin Right */
.mr-0 { margin-right: 0 !important; }
.mr-3 { margin-right: 3px !important; }
.mr-6 { margin-right: 6px !important; }
.mr-9 { margin-right: 9px !important; }
.mr-12 { margin-right: 12px !important; }
.mr-16 { margin-right: 16px !important; }
.mr-20 { margin-right: 20px !important; }
.mr-24 { margin-right: 24px !important; }
.mr-32 { margin-right: 32px !important; }
.mr-48 { margin-right: 48px !important; }
/* Margin Left */
.ml-0 { margin-left: 0 !important; }
.ml-3 { margin-left: 3px !important; }
.ml-6 { margin-left: 6px !important; }
.ml-9 { margin-left: 9px !important; }
.ml-12 { margin-left: 12px !important; }
.ml-16 { margin-left: 16px !important; }
.ml-20 { margin-left: 20px !important; }
.ml-24 { margin-left: 24px !important; }
.ml-32 { margin-left: 32px !important; }
.ml-48 { margin-left: 48px !important; }
/* -------------------------------- *\
    Utilities
\* -------------------------------- */
/* Overflow */
.overflow-hidden { overflow: hidden; }
.overflow-auto { overflow: auto; }
/* Float */
.float-left { float: left; }
.float-right { float: right; }
/* clearfix */
.clearfix::after {
	display: block;
	clear: both;
	content: "";
}
/* Border */
.border-top-none { border-top: none; }
.border-bottom-none { border-top: none; }
/* Colors */
.bg-primary { background-color: #163357; }
.bg-secondary { background-color: #003894; }
.bg-error { background-color: #e60009; }
.bg-gray-5 { background-color: #f5f5f5; }
.bg-gray-4 { background-color: #ebebeb; }
.bg-gray-3 { background-color: #ccc; }
.bg-gray-2 { background-color: #999; }
.bg-gray-1 { background-color: #666; }
.bg-dark { background-color: #333; }
.text-primary { color: #163357; }
.text-secondary { color: #003894; }
.text-error { color: #e60009; }
.text-basic { color: #333; }
.text-white { color: #fff; }
@media (min-width: 35.001em){
	.grid-row--reverse-sm { flex-direction: row-reverse; }
	.grid-row--start-sm { justify-content: flex-start; }
	.grid-row--center-sm { justify-content: center; }
	.grid-row--end-sm { justify-content: flex-end; }
	.grid-row--between-sm { justify-content: space-between; }
	.grid-row--around-sm { justify-content: space-around; }
	.grid-row--stretch-sm { align-items: stretch; }
	.grid-row--top-sm { align-items: flex-start; }
	.grid-row--middle-sm { align-items: center; }
	.grid-row--bottom-sm { align-items: flex-end; }
	.grid-col-auto-sm {
		flex-basis: auto;
		max-width: none;
	}
	.grid-col-10-sm {
		flex-basis: 10%;
		max-width: 10%;
	}
	.grid-col-15-sm {
		flex-basis: 15%;
		max-width: 15%;
	}
	.grid-col-20-sm {
		flex-basis: 20%;
		max-width: 20%;
	}
	.grid-col-25-sm {
		flex-basis: 25%;
		max-width: 25%;
	}
	.grid-col-30-sm {
		flex-basis: 30%;
		max-width: 30%;
	}
	.grid-col-33-sm {
		flex-basis: 33.3333%;
		max-width: 33.3333%;
	}
	.grid-col-40-sm {
		flex-basis: 40%;
		max-width: 40%;
	}
	.grid-col-50-sm {
		flex-basis: 50%;
		max-width: 50%;
	}
	.grid-col-60-sm {
		flex-basis: 60%;
		max-width: 60%;
	}
	.grid-col-66-sm {
		flex-basis: 66.6666%;
		max-width: 66.6666%;
	}
	.grid-col-70-sm {
		flex-basis: 70%;
		max-width: 70%;
	}
	.grid-col-75-sm {
		flex-basis: 75%;
		max-width: 75%;
	}
	.grid-col-80-sm {
		flex-basis: 80%;
		max-width: 80%;
	}
	.grid-col-90-sm {
		flex-basis: 90%;
		max-width: 90%;
	}
	.grid-col-100-sm {
		flex-basis: 100%;
		max-width: 100%;
	}
	.news-tab__header {
		display: flex;
	}
	.display-none-sm { display: none !important; }
	.display-block-sm { display: block !important; }
	.display-inline-sm { display: inline !important; }
	.display-inline-block-sm { display: inline-block !important; }
	.display-flex-sm { display: flex !important; }
	.text-left-sm { text-align: left; }
	.text-center-sm { text-align: center; }
	.text-right-sm { text-align: right; }
}
@media (min-width: 45.001em){
	[data-accordion-header] {
		padding: 1.6rem 4rem 1.6rem 1.6rem;
		font-size: 1.6rem
	}

		[data-accordion-header]::after {
			right: 1.6rem;
		}
	[data-accordion-pane] {
		padding-right: 1.6rem;
		padding-left: 1.6rem
	}

		[data-accordion-pane].is-opened {
			padding-top: 1.6rem;
			padding-bottom: 1.6rem;
		}
		.faq-list__header button {
			padding: 1.6rem 4.6rem;
		}
		.faq-list__header button::before {
			top: 1.5rem;
			left: 1.4rem;
		}
	.faq-list__pane {
		padding-left: 4.6rem
	}

		.faq-list__pane::before {
			top: 1.5rem;
			left: 1.4rem;
		}
	.owl-theme-index .owl-prev,
	.owl-theme-index .owl-next {
		display: inline-block;
	}
	.owl-dots {
		position: absolute !important;
		margin: 0!important;
	}
	.display-none-md { display: none !important; }
	.display-block-md { display: block !important; }
	.display-inline-md { display: inline !important; }
	.display-inline-block-md { display: inline-block !important; }
	.display-flex-md { display: flex !important; }
	.text-left-md { text-align: left; }
	.text-center-md { text-align: center; }
	.text-right-md { text-align: right; }
}
@media (min-width: 60.001em){
	.header {
		height: 112px;
		padding: 0 80px;
		border-top-width: 6px;
	}
	.header__title {
		position: absolute;
		top: 30px;
		width: 174px;
		padding-top: 0;
	}
	.gnav-toggle {
		display: none;
	}
	.gnav-panel {
		display: flex;
		align-items: flex-end;
		justify-content: flex-end;
		height: 106px;
	}
	.gnav__sub {
		position: absolute;
		top: 20px;
		right: 126px;
	}
	.gnav-list--main {
		display: flex
	}

		.gnav-list--main > li {
			min-width: 116px;
		}
		.gnav-list--main > li > a {
			position: relative;
			justify-content: center;
			height: 50px;
			padding: 0 16px 4px;
			font-size: 1.8rem;
		}
		.gnav-list--main > li > a::before {
			position: absolute;
			top: 50%;
			left: 0;
			width: 100%;
			height: 24px;
			margin-top: -12px;
			border-right: 1px solid #ebebeb;
			content: "";
		}
		.gnav-list--main > li:first-of-type > a::before {
			border-left: 1px solid #ebebeb;
		}
		.gnav-list--main > li > a::after {
			position: absolute;
			right: 16px;
			bottom: 0;
			left: auto;
			width: 0;
			height: 2px;
			background: #003894;
			content: "";
			transition: all .2s cubic-bezier(.45, .05, .55, .95);
		}
		.gnav-list--main > li > a:hover {
			color: #003894;
		}
		.gnav-list--main > li > a:hover::after {
			right: auto;
			left: 16px;
			width: calc(100% - 32px);
		}
		.gnav-list--main > li.is-current > a {
			color: #003894;
			font-weight: bold;
		}
		.gnav-list--main > li.is-current > a::after {
			width: calc(100% - 32px);
			height: 4px !important;
			background: #003894;
		}
	.gnav-list--sub {
		display: flex;
		align-items: center
	}

		.gnav-list--sub > li {
			margin-left: 24px;
		}
		.gnav-list--sub > li > a {
			font-size: 1.6rem;
		}
		.gnav-list--sub > li > a:hover {
			text-decoration: underline;
		}
		.gnav-list--main::before {
			z-index: -1;
			position: fixed;
			top: 112px;
			bottom: 0;
			left: 0;
			width: 100vw;
			background: rgba(0, 0, 0, 0.25);
			content: "";
			opacity: 0;
			pointer-events: none;
			transition: all .3s ease;
		}
		.gnav-list--main:hover::before {
			opacity: 1;
		}
	.gnav-child {
		visibility: hidden;
		z-index: 10;
		position: absolute;
		top: 106px;
		left: 0;
		width: 100%;
		overflow: hidden;
		transform-origin: center top;
		transition: visibility 0s ease .3s
	}

		.gnav-child::before {
			z-index: -1;
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			transform: scaleY(.5);
			transform-origin: left top;
			background: #f5f5f5;
			content: "";
			opacity: 0;
			transition: transform 0s .3s, opacity .2s ease .1s;
		}
	.gnav-child__inner {
		display: flex;
		justify-content: space-between;
		width: 90%;
		max-width: 1160px;
		margin: 0 auto;
		padding: 30px 0;
		transform: translateX(30px);
		opacity: 0;
		transition: opacity .2s ease, transform 0s .4s;
	}
	.gnav-child__heading {
		margin-bottom: 2.4rem;
		font-size: 3rem;
		line-height: 1.3
	}

		.gnav-child__heading a {
			color: inherit;
		}
		.gnav-child__heading a:hover {
			color: #003894;
		}
		.gnav-list--main > li:hover .gnav-child {
			visibility: visible;
			transition: visibility 0s
		}

			.gnav-list--main > li:hover .gnav-child::before {
				transform: scaleY(1);
				opacity: 1;
				transition: transform .3s ease, opacity .1s;
			}
		.gnav-list--main > li:hover .gnav-child__inner {
			transform: translateX(0);
			opacity: 1;
			transition: all .2s ease .2s;
		}
	.gnav-child__header {
		flex: 1 0 35%;
		max-width: 35%;
	}
	.gnav-child__body {
		flex: 1 0 60%;
		max-width: 60%;
	}
	.gnav-child-list {
		-moz-columns: 2;
		columns: 2;
		font-size: 1.7rem;
	}
	.gnav-child-list > li {
		margin-top: .4rem;
		margin-bottom: 2.4rem;
	}
		.gnav-child__heading a:hover, .gnav-child-list a:hover {
			color: #003894;
		}
		.gnav-child__heading a:hover::before, .gnav-child-list a:hover::before {
			color: #163357;
		}
	#gnavChild1 li:last-of-type {
		padding-bottom: 3em;
	}
	/* #gnavChild2 li:nth-of-type(3) {
		padding-bottom: 3em;
	} */
	.gnav-search {
		position: absolute;
		top: 10px;
		right: 80px;
		width: 42px;
	}
		.gnav-search__toggle::before {
			content: "\e919";
			color: #003894;
			font-size: 2.4rem;
			font-family: "icomoon";
		}
	.gnav-search__text {
		visibility: hidden;
		opacity: 0;
		transition: opacity .2s ease-out;
	}
	.gnav-search__submit {
		display: none;
		right: 0;
	}
		.search-expanded .gnav-search {
			visibility: visible;
			width: 170px;
			transition: all .2s ease-out;
		}
		.search-expanded .gnav-search__toggle {
			display: none;
		}
		.search-expanded .gnav-search__text {
			visibility: visible;
			opacity: 1;
		}
		.search-expanded .gnav-search__submit {
			display: block;
		}
		.search-expanded .gnav__sub {
			transform: translateX(-140px);
			transition: transform .2s ease-out;
		}
	.content {
		padding-bottom: 60px;
	}
	.section {
		margin-bottom: 60px;
	}
	.section .section {
		margin-bottom: 50px;
	}
	.section .section .section {
		margin-bottom: 40px;
	}
	.section .section .section .section {
		margin-bottom: 30px;
	}
	.section .section .section .section .section {
		margin-bottom: 24px;
	}
	.frame {
		padding: 24px 24px 30px;
	}
	.fnav__upper {
		display: block;
		padding: 24px 0
	}

		.fnav__upper > div {
			width: 90.4%;
			max-width: 1200px;
			margin: 0 auto;
		}
	.fnav-list {
		display: flex
	}

		.fnav-list > li {
			flex: 1 0 20%;
			margin-bottom: 0;
			font-weight: bold;
			font-size: 1.8rem;
		}
		.fnav-list li > a {
			display: inline-block;
			position: relative;
			padding-left: 1.6rem;
			color: inherit;
		}
		.fnav-list > li > a::before {
			position: absolute;
			top: .25em;
			left: 0;
			content: "\e903";
			color: #ccc;
			font-size: 1.2rem;
			font-family: "icomoon";
			text-decoration: none;
		}
	.fnav-child-list {
		margin-top: 1rem
	}

		.fnav-child-list > li {
			margin-bottom: .5rem;
			font-weight: normal;
			font-size: 1.6rem;
			line-height: 1.5715;
			
		}
		.fnav-child-list > li > a {
			margin-left: 3rem;
			padding-left: 0;
			color: inherit;
		}
	.fnav-child-list--mt {
		margin-top: 3.5rem;
	}
	.fnav-child-list--ms {
		margin-top: 2rem;
	}
		.fnav-extra-list > li {
			font-size: 1.5rem;
		}
  .fnav-grandchild-list {
    margin: .4rem 0 0 3rem;
  }
    .fnav-grandchild-list > li {
      margin-bottom: .5rem;
      font-size: 1.4rem;
    }
	.fnav-logo {
		width: 430px;
	}
	.h1 {
		margin-bottom: 2.4rem;
		font-size: 4rem;
		line-height: 1.3
	}

		.h1[data-en]::after {
			font-size: 1.6rem;
		}
	.h2 {
		margin-bottom: 2.4rem;
		font-size: 3rem;
		line-height: 1.3;
	}
	.h3 {
		padding-left: 1.5rem;
		font-size: 2.6rem;
		line-height: 1.4
	}

		.h3::before {
			top: .15em;
			width: .6rem;
			border-radius: .3rem;
		}
	.h4 {
		font-size: 2.2rem;
	}
	.h5 {
		font-size: 1.8rem;
	}
	.subheading {
		margin-bottom: 1.2rem;
		font-size: 1.6rem;
		line-height: 1.5;
	}
	.note-list {
		font-size: 1.3rem;
	}
		.menu-list a {
			padding-right: 0;
			padding-left: 0;
		}
		.menu-list a::after {
			transition: all .3s ease;
		}
		.menu-list a:hover::after {
			transform: translateX(.4rem);
		}
		.link-list > li {
			margin-bottom: 1.2rem;
		}
		.link-list a:hover {
			color: #003894;
		}
		.link-list a:hover::before {
			color: #163357;
		}
	.link-list--line {
		padding-top: 1.2rem
	}

		.link-list--line > li {
			padding-bottom: 1.2rem;
		}
		.btn--back:hover::before {
			right: auto !important;
		}
	.sub-btn {
		font-size: 2rem;
	}
	.sub-btn__text {
		min-height: 8.4rem;
		padding: 1.6rem;
	}
		.sub-btn--primary:hover {
			background: hsl(213, 60%, calc(21% + 10%));
		}
	.table td {
		padding-left: 2.4rem;
	}
		.table--theme1 th,
		.table--theme1 td,
		.table--theme2 th,
		.table--theme2 td {
			padding-right: 1.2rem;
			padding-left: 1.2rem;
		}
	.form-btn {
		min-width: 9.6rem;
	}
	.breadcrumb {
		padding: 1.6rem 0 3rem
	}

		.breadcrumb li + li::before {
			padding: 0 .9rem;
		}
		.js-tabchange [role="tablist"] {
			justify-content: center
		}

			.js-tabchange [role="tablist"] li {
				padding: 0 1.6rem;
			}
			.js-tabchange [role="tablist"] li:nth-of-type(n+2)::before {
				top: 1.6rem;
				bottom: 1.6rem;
			}
		.js-tabchange [role="tab"] {
			padding: 2rem 1.6rem;
			font-size: 1.8rem;
		}
	.news-tab__header {
		justify-content: center;
		padding-top: 0
	}

		.news-tab__header [role="tablist"] {
			width: auto
		}

			.news-tab__header [role="tablist"] li {
				flex: 1 0 auto;
				padding: 0;
			}
			.news-tab__header [role="tablist"] li:nth-of-type(n+2)::before {
				top: 1.2rem;
				bottom: 1.2rem;
			}
		.news-tab__header [role="tab"] {
			min-width: 130px;
			padding: 1.2rem 1.6rem;
			font-size: 1.6rem;
			white-space: nowrap;
		}
	.news-tab__rss {
		top: 4px;
		bottom: auto;
	}
	.owl-theme-index .owl-prev,
	.owl-theme-index .owl-next {
		width: 60px;
		height: 60px;
		margin-top: -30px;
		line-height: 60px;
	}
	.owl-theme-index .owl-prev {
		left: 30px;
	}
	.owl-theme-index .owl-next {
		right: 30px;
	}
	.owl-theme-index .owl-prev::before,
	.owl-theme-index .owl-next::before {
		font-size: 24px !important;
	}
	.bo-page-title {
		margin-bottom: 60px;
	}
	.bo-index-bg--white{
		padding: 60px 0 70px;
	}
	.bo-index-bg--silver {
		padding: 60px 0 70px;
	}
		.bo-index-bg--white .h1, .bo-index-bg--silver .h1 {
			margin-bottom: 40px;
		}
	.bo-index-category__heading__message{
		margin-bottom: .8rem !important;
		padding: .8rem 1.6rem;
	}
  .bo-index-category__heading__message--csr-top {
		margin-bottom: .8rem !important;
		padding: .8rem 6.6rem;
  }
	.bk_gl{
		width: 310px;
		min-height: 84px;
	}
	.bo-index-category__text--csr-top-message .bk_gl {
		width: 364px;
		min-height: 54px;
	}
	.bo-index-category__item__csr {
		flex: 1 0 33%;
		max-width: 33%;
	}
	.bo-index-category__heading {

	}
	.bo-index-category__text {
		font-size: 2.8rem;
	}
	.bo-index-category__text--csr-top-message {
		font-size: 2.0rem;
	}
	.display-none-lg { display: none !important; }
	.display-block-lg { display: block !important; }
	.display-inline-lg { display: inline !important; }
	.display-inline-block-lg { display: inline-block !important; }
	.display-flex-lg { display: flex !important; }
	.font-size-l {
		font-size: 3rem;
	}
	.font-size-m {
		font-size: 1.8rem;
	}
	.text-left-lg { text-align: left; }
	.text-center-lg { text-align: center; }
	.text-right-lg { text-align: right; }
}
@media (min-width: 80.001em){
		.news-tab__header [role="tab"] {
			width: 170px;
		}
}
@media (max-width: 60em){
	.layout-header {
		height: 62px;
	}
	.layout-content {
		transition: z-index 0s .3s;
	}

	/* パネル展開時の画面表示 */
		.nav-opened body {
			position: fixed;
			width: 100%;
		}
		.nav-opened .layout-content {
			z-index: -100;
			pointer-events: none;
			transition: z-index 0s;
		}
		.nav-opened .layout-content::before {
			z-index: 1;
			position: absolute;
			top: 0;
			right: 0;
			bottom: 0;
			left: 0;
			background: rgba(0, 0, 0, .5);
			content: "";
		}
	/* ハンバーガーメニュー */
	.gnav-toggle {
		z-index: 1000;
		position: fixed;
		top: 12px;
		right: calc(4.8% - 8px);
		width: 40px;
		height: 40px;
		padding: 0;
		border: none;
		background: transparent;
		color: #000;
		text-align: center;
		cursor: pointer;
	}
	.gnav-toggle__icon {
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%)
	}

		.gnav-toggle__icon,
		.gnav-toggle__icon::after,
		.gnav-toggle__icon::before {
			width: 22px;
			height: 3px;
			border-radius: 6px;
			background: #003894;
		}
		.gnav-toggle__icon::after,
		.gnav-toggle__icon::before {
			display: block;
			position: absolute;
			left: 0;
			content: "";
		}
		.gnav-toggle__icon::before { top: -8px; }
		.gnav-toggle__icon::after { top: 8px; }

	/* 開閉パネル */
	.gnav-panel {
		display: none;
		z-index: 1;
		position: absolute;
		top: 100%;
		left: 0;
		width: 100%;
		max-height: calc(100vh - 62px);
		overflow-y: scroll;
		background: #fff;
	}
	.gnav-panel__inner {
		position: relative;
		padding-top: 70px;
		padding-bottom: 100px;
	}
		.nav-opened .gnav-toggle__icon {
			background: none
		}

			.nav-opened .gnav-toggle__icon::after,
			.nav-opened .gnav-toggle__icon::before {
				top: 0;
				background: #999;
			}
			.nav-opened .gnav-toggle__icon::before { transform: rotate(45deg); }
			.nav-opened .gnav-toggle__icon::after { transform: rotate(-45deg); }
		.nav-opened .gnav-panel {
			display: block;
		}
		.gnav-list > li > a {
			padding: 16px 4.8%;
			font-size: 1.6rem;
		}
	.gnav-list--main {
		border-top: 1px solid #ebebeb;
	}
	.gnav-list--sub {
		z-index: 1;
		position: relative;
		border-top: 1px solid #ebebeb
	}

		.gnav-list--sub > li {
			border-bottom: 1px solid #ebebeb;
		}
	.gnav-parent-link {
		position: relative;
		justify-content: space-between;
		color: #333;
		text-decoration: none
	}

		.gnav-parent-link::after {
			margin-left: 1.2rem;
			content: "\e917";
			color: #003894;
			font-size: 1.2rem;
			line-height: 1;
			font-family: "icomoon";
		}
		.gnav-parent-link[aria-expanded="true"]::after {
			content: "\e912";
		}
	.js-dropdown-head span {
		pointer-events: none;
	}
	.js-dropdown-body[aria-hidden="true"] {
		display: none;
	}
	.gnav-child {
		padding: 3rem 4.8% 1px 4.8%;
		background: #f5f5f5;
	}
	.gnav-child__header {
		margin-bottom: 3rem;
	}
		.gnav-child__body ul {
			margin: 0;
		}
	.gnav-search {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		margin-top: 18px;
		padding: 0 4.8%;
	}
	.gnav-search__toggle {
		display: none;
	}
		.fnav-list > li {
			margin-top: -1px;
			margin-bottom: 0;
			border-bottom: 1px solid #ccc;
		}
		.fnav-list > li > a {
			display: flex;
			position: relative;
			align-items: center;
			justify-content: space-between;
			padding: 1.6rem 4.8%;
			color: inherit;
			font-size: 1.6rem;
			text-decoration: none;
		}
		.fnav-list > li > a::after {
			margin-left: 1.2rem;
			content: "\e902";
			font-size: 2.4rem;
			line-height: 1;
			font-family: "icomoon";
		}
	.fnav-child-list {
		display: none;
	}
		.fnav-extra-list ul {
			display: none;
		}
		.bo-index-service ul {
			display: flex;
			flex-wrap: wrap;
			margin: 0 -10px;
			padding: 0;
		}
		.bo-index-service li {
			flex: 1 0 50%;
			max-width: 50%;
			margin-bottom: 8px;
			padding: 0 10px;
		}
	.bo-index-service-domestic,
	.bo-index-service-oversea {
		padding: 1.6rem 2rem
	}
		.bo-index-service-domestic h3, .bo-index-service-oversea h3 {
			padding-bottom: .8rem;
			border-bottom: .2rem solid #ebebeb;
		}
}
@media screen and (max-width: 60em){
	.sub-btn__icon {
		width: 3.2rem;
	}
		.breadcrumb ol {
			overflow-x: auto;
			white-space: nowrap;
			word-break: keep-all;
		}
		.js-tabchange [role="tablist"] {
			position: relative;
			left: 50%;
			width: 100vw;
			margin-left: -50vw;
			padding-right: 4.8vw;
			padding-left: 4.8vw;
			overflow-x: auto;
		}
		.js-tabchange [role="tab"] {
			font-size: 1.4rem;
		}
}
@media (max-width: 45em){
	.bo-category-block.is-column2 .bo-category-block__item {
		flex: 1 0 100%;
		max-width: 100%;
	}
	.bo-index-category__text.message {
		top: auto;
		bottom: 0;
		transform: none;
		background: rgba(255, 255, 255, .5);
	}
}
@media screen and (max-width: 45em){
	.table-scroller {
		display: block;
		width: 100%;
		overflow-x: auto;
		white-space: nowrap
	}

		.table-scroller table {
			min-width: 720px;
		}
	.table--block {
		display: block
	}

		.table--block caption,
		.table--block thead,
		.table--block tbody,
		.table--block tr,
		.table--block th,
		.table--block td {
			display: block;
			width: 100% !important;
		}
		.table--block tr {
			border-bottom: 1px solid #ebebeb;
		}
		.table--block th {
			padding-bottom: 0;
			border-bottom: none;
		}
		.table--block td {
			padding-top: .4rem;
			padding-left: 0;
			border-bottom: none;
		}
		.table--block.table--theme1 th, .table--block.table--theme2 th {
			padding-bottom: .8rem;
		}
		.table--block.table--theme1 td, .table--block.table--theme2 td {
			padding-top: .8rem;
			padding-left: 1.2rem;
		}
		.bo-images--column2 .bo-images__item:nth-of-type(n+2) {
			margin-top: 2.4rem;
		}
}
@media (max-width: 35em){
	.bo-index-category__item--3 {
		flex: 1 0 49%;
		max-width: 49%;
		margin-bottom: 10px;
	}
}
@media (prefers-reduced-motion: reduce){
	*,
	*::before,
	*::after {
		-webkit-animation-duration: .01s !important;
		-webkit-animation-iteration-count: 1 !important;
		animation-duration: .01s !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-delay: .01s !important;
		transition-duration: .01s !important;
	}
}
@media print{
	[data-accordion-header]::after {
		display: none;
	}
	[data-accordion-pane] {
		padding-top: 1.6rem;
		padding-bottom: 1.6rem;
		line-height: 1.571428;
		opacity: 1;
	}
	.print-none { display: none !important; }
	.print-block { display: block !important; }
	.print-inline { display: inline !important; }
	.print-inline-block { display: inline-block !important; }
	.print-flex { display: flex !important; }
}
@media print, (min-width: 45.001em){
		.tablike-menu-list > li {
			flex: 1;
			max-width: none;
		}
		.tablike-menu-list.is-column2 > li {
			flex: 1 0 50%;
			max-width: 50%;
		}
		.tablike-menu-list.is-column3 > li {
			flex: 1 0 33.3333%;
			max-width: 33.3333%;
		}
		.tablike-menu-list.is-column4 > li {
			flex: 1 0 25%;
			max-width: 25%;
		}
		.tablike-menu-list.is-column5 > li {
			flex: 1 0 20%;
			max-width: 20%;
		}

		.inpage-link-list a {
			font-size: 1.6rem;
		}
	.grid-row--reverse-md { flex-direction: row-reverse; }
	.grid-row--start-md { justify-content: flex-start; }
	.grid-row--center-md { justify-content: center; }
	.grid-row--end-md { justify-content: flex-end; }
	.grid-row--between-md { justify-content: space-between; }
	.grid-row--around-md { justify-content: space-around; }
	.grid-row--stretch-md { align-items: stretch; }
	.grid-row--top-md { align-items: flex-start; }
	.grid-row--middle-md { align-items: center; }
	.grid-row--bottom-md { align-items: flex-end; }
	.grid-col-auto-md {
		flex-basis: auto;
		max-width: none;
	}
	.grid-col-10-md {
		flex-basis: 10%;
		max-width: 10%;
	}
	.grid-col-15-md {
		flex-basis: 15%;
		max-width: 15%;
	}
	.grid-col-20-md {
		flex-basis: 20%;
		max-width: 20%;
	}
	.grid-col-25-md {
		flex-basis: 25%;
		max-width: 25%;
	}
	.grid-col-30-md {
		flex-basis: 30%;
		max-width: 30%;
	}
	.grid-col-33-md {
		flex-basis: 33.3333%;
		max-width: 33.3333%;
	}
	.grid-col-40-md {
		flex-basis: 40%;
		max-width: 40%;
	}
	.grid-col-50-md {
		flex-basis: 50%;
		max-width: 50%;
	}
	.grid-col-60-md {
		flex-basis: 60%;
		max-width: 60%;
	}
	.grid-col-66-md {
		flex-basis: 66.6666%;
		max-width: 66.6666%;
	}
	.grid-col-70-md {
		flex-basis: 70%;
		max-width: 70%;
	}
	.grid-col-75-md {
		flex-basis: 75%;
		max-width: 75%;
	}
	.grid-col-80-md {
		flex-basis: 80%;
		max-width: 80%;
	}
	.grid-col-90-md {
		flex-basis: 90%;
		max-width: 90%;
	}
	.grid-col-100-md {
		flex-basis: 100%;
		max-width: 100%;
	}
	.form-row--horizontal {
		display: flex
	}

		.form-row--horizontal .form-label {
			flex: 1 0 200px;
			max-width: 200px;
			padding-top: 1.2rem;
		}
		.form-row--horizontal .form-controls {
			flex: 1;
			padding-left: 2.4rem;
		}
		.form-row--horizontal .form-controls--buffer {
			padding-top: 1.2rem;
		}
			.confirm .form-row--horizontal .form-label,
			.confirm .form-row--horizontal .form-controls {
				padding-top: 0;
			}
	.bo-card-block {
		margin-right: -12px;
		margin-left: -12px;
	}
	.bo-card-block__item {
		flex: 1 0 25%;
		max-width: 25%;
		margin-bottom: 40px;
		padding: 0 12px;
	}
	.bo-card {
		transition: all .3s
	}

		.bo-card:hover {
			box-shadow: 0 7px 12px -2px rgba(0, 0, 0, .15);
		}
	.bo-category-block {
		margin-right: -15px;
		margin-left: -15px;
	}
	.bo-category-block__item {
		flex: 1 0 33.3333%;
		max-width: 33.3333%;
		margin-bottom: 30px;
		padding: 0 15px;
	}
	.bo-category-item:hover .link-arrow {
		color: #003894;
		text-decoration: underline;
	}
	.bo-category-block.is-column2 .bo-category-block__item {
		flex: 1 0 50%;
		max-width: 50%;
	}
	.bo-category-block.is-column4 .bo-category-block__item {
		flex: 1 0 25%;
		max-width: 25%;
		margin-bottom: 30px;
	}
	.bo-images--column2 {
		display: flex;
		justify-content: space-between;
		margin-right: -10px;
		margin-left: -10px
	}

		.bo-images--column2 .bo-images__item {
			flex: 1;
			margin-top: 0 !important;
			padding: 0 10px;
		}
	.bo-images__image--large,
	.bo-images__image--small {
		padding-top: 61.80469%;
	}
	.bo-images__image--medium {
		padding-top: 30.2755%;
	}

	@supports (aspect-ratio: 1 / 1) {
		.bo-images__image,
		.bo-images__image--large,
		.bo-images__image--medium,
		.bo-images__image--small {
			padding-top: 0;
		}
		.bo-images__image--large img,
		.bo-images__image--small img {
			aspect-ratio: 1.618 / 1;
		}
		.bo-images__image--medium img {
			aspect-ratio: 3.303 / 1;
		}
	}
	.bo-banners {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.bo-banners__item {
		max-width: calc(50% - 20px);
	}
	.bo-banners__item:first-child:last-child {
		max-width: 100%;
	}
	.bo-get-adobe-reader {
		display: flex;
		align-items: center
	}

		.bo-get-adobe-reader a {
			flex: 1 0 200px;
		}
		.bo-get-adobe-reader p {
			padding-left: 24px;
		}

		.bo-index-category__heading .h2 {
			font-size: 3rem !important;
		}
		.bo-index-category__heading .h2[data-en]::before {
			font-size: .6em;
		}
	.bo-index-category__image {
		padding-top: 57.627%;
	}
	.bo-index-category__image--main {
		padding-top: 30.23%;
	}
	.bo-index-category__image--csr-top {
		padding-top: 67.32%;
	}
	.bo-index-category__text.message {
		top: 50%;
		padding-left: 40%;
	}
  .bo-index-category__text--csr-top.message {
		top: 35%;
		padding-left: 40%;
  }
}
@media print, (min-width: 60.001em){
	.tablike-menu-list {
		margin: 0 -.6rem 40px
	}

		.tablike-menu-list > li {
			margin: .6rem 0;
			padding: 0 .6rem;
		}
	.tablike-menu-list.is-inline {
		justify-content: flex-start;
	}
	.tablike-menu-list.is-inline > li {
		flex: 1 1 auto;
		max-width: none;
	}
	.tablike-menu-list a {
		min-height: 7rem;
		padding-right: 1.6rem;
		font-size: 1.6rem
	}

		.tablike-menu-list a:hover {
			color: #163357;
			text-decoration: underline;
		}
		.inpage-link-list a:hover {
			text-decoration: underline;
		}
	.grid-row {
		margin-right: -16px;
		margin-left: -16px;
	}
	.grid-row--reverse-lg { flex-direction: row-reverse; }
	.grid-row--start-lg { justify-content: flex-start; }
	.grid-row--center-lg { justify-content: center; }
	.grid-row--end-lg { justify-content: flex-end; }
	.grid-row--between-lg { justify-content: space-between; }
	.grid-row--around-lg { justify-content: space-around; }
	.grid-row--stretch-lg { align-items: stretch; }
	.grid-row--top-lg { align-items: flex-start; }
	.grid-row--middle-lg { align-items: center; }
	.grid-row--bottom-lg { align-items: flex-end; }
	[class="grid-col"],
	[class*="grid-col-"] {
		padding-right: 16px;
		padding-left: 16px;
	}
	.grid-col-auto-lg {
		flex-basis: auto;
		max-width: none;
	}
	.grid-col-10-lg {
		flex-basis: 10%;
		max-width: 10%;
	}
	.grid-col-15-lg {
		flex-basis: 15%;
		max-width: 15%;
	}
	.grid-col-20-lg {
		flex-basis: 20%;
		max-width: 20%;
	}
	.grid-col-25-lg {
		flex-basis: 25%;
		max-width: 25%;
	}
	.grid-col-30-lg {
		flex-basis: 30%;
		max-width: 30%;
	}
	.grid-col-33-lg {
		flex-basis: 33.3333%;
		max-width: 33.3333%;
	}
	.grid-col-40-lg {
		flex-basis: 40%;
		max-width: 40%;
	}
	.grid-col-50-lg {
		flex-basis: 50%;
		max-width: 50%;
	}
	.grid-col-60-lg {
		flex-basis: 60%;
		max-width: 60%;
	}
	.grid-col-66-lg {
		flex-basis: 66.6666%;
		max-width: 66.6666%;
	}
	.grid-col-70-lg {
		flex-basis: 70%;
		max-width: 70%;
	}
	.grid-col-75-lg {
		flex-basis: 75%;
		max-width: 75%;
	}
	.grid-col-80-lg {
		flex-basis: 80%;
		max-width: 80%;
	}
	.grid-col-90-lg {
		flex-basis: 90%;
		max-width: 90%;
	}
	.grid-col-100-lg {
		flex-basis: 100%;
		max-width: 100%;
	}
	.btn {
		width: 100%;
		max-width: 384px;
		padding: 1.35rem 2.4rem 1.35rem 1.6rem;
		font-size: 1.8rem;
	}
		.bo-news-list li {
			display: table;
			width: 100%;
			padding: 2rem;
		}
	.bo-news-list__date,
	.bo-news-list__category,
	.bo-news-list__title {
		display: table-cell;
		vertical-align: top;
	}
	.bo-news-list__date {
		width: calc(9em + 6.8rem);
		margin-bottom: 0;
		white-space: nowrap;
	}
	.bo-news-list__title {
		margin-top: 0
	}

		.bo-news-list__title a:hover {
			color: #003894;
		}
		.bo-news-list__title a:hover::after {
			color: #163357;
		}
	.has-category .bo-news-list__date {
		width: calc(9em + 4.8rem);
	}
	.has-category .bo-news-list__title {
		padding-left: 2rem;
	}
		.bo-news-list--important li {
			padding: .5rem 20px !important;
		}
	.bo-info-list {
		margin-bottom: 2rem
	}

		.bo-info-list li {
			display: table;
			width: 100%;
		}
	.bo-info-list__date {
		display: table-cell;
		font-size: 1.3rem;
		vertical-align: top;
	}
	.bo-info-list__title {
		display: table-cell;
		margin-top: 0;
		padding-left: 2.4rem;
		vertical-align: top;
	}
	.bo-banners__item {
		margin-bottom: 2.4rem;
	}
	.bo-index-service {
		display: flex;
		position: relative;
		justify-content: space-between
	}

		.bo-index-service::before {
			position: absolute;
			top: 0;
			bottom: 0;
			left: 63.5833%;
			border-left: 1px solid #ebebeb;
			content: "";
		}
	.bo-index-service-domestic {
		flex: 1 0 60.25%;
		max-width: 60.25%
	}

		.bo-index-service-domestic ul {
			display: flex;
			flex-wrap: wrap;
			margin: 0 -10px;
			padding: 0;
		}
		.bo-index-service-domestic li {
			flex: 1 0 33.3333%;
			max-width: 33.3333%;
			margin-bottom: 24px;
			padding: 0 10px;
		}
	.bo-index-service-oversea {
		flex: 1 0 33.16%;
		max-width: 33.16%
	}

		.bo-index-service-oversea li {
			margin-bottom: 24px;
		}
		.bo-index-service-oversea dl {
			display: flex;
		}
		.bo-index-service-oversea dt {
			flex: 1 0 42.4242%;
			max-width: 42.4242%;
		}
		.bo-index-service-oversea dd {
			flex: 1 0 57.3232%;
			max-width: 57.3232%;
			margin-bottom: 16px;
		}
}
/*# sourceMappingURL=maps/main.css.map */
