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

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

body {
    line-height: 1
}

ol,
ul {
    list-style: none
}

blockquote,
q {
    quotes: none
}

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

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

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

html {
    height: 100%
}

body,
html {
    position: relative;
    overflow-x: hidden;
    height: 100%;
}

body {
    min-height: 100%;
    padding-top: 66px;
    overflow-y: hidden;
}

@media (min-width:992px) {
    body {
        padding-top: 112px
    }
}

a {
    text-decoration: none;
    -webkit-transition: color .2s ease-out;
    transition: color .2s ease-out;
    color: #00146e
}

a:hover {
    color: #296FDE;
    text-decoration: underline
}

a:focus {
    outline: 1px solid #296FDE
}

a.link--disabled,
a[disabled] {
    opacity: .5
}


h2,
h3,
h4,
p {
    margin-bottom: 12px
}

h1 {
	margin-top: 36px;
}

h2 {
	margin-top: 36px;
}

h3 {
	margin-top: 4px;
}

h4 {
	margin-top: 2px;
}


.button-margin {
	margin: 12px 0
}

@media (min-width:768px) {
	
    h2,
    h3,
    h4,
    p {
        margin-bottom: 14px
    }

    .button-margin {
        margin: 14px 0
    }

	h1 {
		margin-top: 50px;
    }

    h2 {
		margin-top: 50px;
    }

    h3 {
		margin-top: 10px;
    }

    h4 {
		margin-top: 6px;
    }
}

@media (min-width:992px) {
	
    h2,
    h3,
    h4,
    p {
        margin-bottom: 16px
    }

    .button-margin {
        margin: 16px 0
    }

	h1 {
		margin-top: 30px;
    }

    h2 {
		margin-top: 30px;
    }

    h3 {
		margin-top: 14px;
    }

    h4 {
		margin-top: 10px;
    }
}

p a {
    text-decoration: underline
}

.page-overlay {
    display: none;
    position: fixed;
    z-index: 10;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0, 0, 0, .5);
    -webkit-transition: opacity .3s ease-out;
    transition: opacity .3s ease-out;
    opacity: 0
}

.page-overlay--rendered {
    display: block
}

.page-overlay--visible {
    opacity: 1
}

.container-fluid {
    max-width: 1920px;
    padding: 0 16px
}

@media (min-width:768px) {
    .container-fluid {
        padding: 0 24px
    }
}

@media (min-width:992px) {
    .container-fluid {
        padding: 0 88px
    }
}

@media (min-width:2097px) {
    .container-fluid {
        padding-left: 0px;
        padding-right: 0px;
    }
}

.row--full {
    margin: 0 -31px
}

@media (min-width:768px) {
    .row--full {
        margin: 0 -39px
    }
}

@media (min-width:992px) {
    .row--full {
        margin: 0 -103px
    }
}

.border {
    border-color: #c2c2c2 !important
}

hr {
    border-top: 1px solid #c2c2c2
}

.form-control {
    font-size: 1.4rem;
    line-height: 1.429
}

@media (min-width:768px) {
    .form-control {
        font-size: 1.6rem;
        line-height: 1.5
    }
}

@media (min-width:992px) {
    .form-control {
        font-size: 1.8rem;
        line-height: 1.556
    }
}

html {
    font-size: 62.5%
}

body {
    font-family: MyriadPro-Regular, Myriad Pro Regular, MyriadPro, Myriad Pro, Helvetica, Arial, sans-serif;
    font-size: 1.4rem;
    line-height: 1.429;
    color: #474851
}

@media (min-width:768px) {
    body {
        font-size: 1.6rem;
        line-height: 1.5
    }
}

@media (min-width:992px) {
    body {
        font-size: 1.8rem;
        line-height: 1.556
    }
}

button,
input,
optgroup,
select,
textarea {
    font-family: MyriadPro-Regular, Myriad Pro Regular, MyriadPro, Myriad Pro, Helvetica, Arial, sans-serif
}

.type--bold,
strong {
    font-weight: 700
}

.type--header-1 {
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    text-shadow: 3px 3px 12px #ffffff;
    padding-bottom: 4px;
}

_::webkit-full-page-media, _:future, :root .type-header-1{
	padding-bottom: 8px;
}

@media (min-width: 320px){
    .type--header-1 {
      	font-size: 2.2rem;
    }
}

@media (min-width:768px) {
    .type--header-1 {
        font-size: 3.2rem;
        font-weight: 700;
    }
}

@media (min-width:992px) {
    .type--header-1 {
        font-weight: 700;
    }
}

@media (min-width:1200px) {
    .type--header-1 {
        font-size: 48px;
        line-height: 48px;
    }
}

.type--header-2 {
    font-size: 24px;
    font-weight: 400;
    line-height: 32px;
    color: #000000
}

@media (min-width:768px) {
    .type--header-2 {
        font-size: 32px
    }
}

@media (min-width:992px) {
    .type--header-2 {
        font-size: 36px;
        line-height: 36px;
    }
}

.type--header-3 {
    font-size: 20px;
    font-weight: 400;
    line-height: 40px;
    color: #000000
}

@media (min-width:768px) {
    .type--header-3 {
        font-size: 24px;
    }
}

@media (min-width:992px) {
    .type--header-3 {
        font-size: 28px;
        line-height: 28px;
    }
}

.type--header-4, .type--header-5{
    font-size: 18px;
    font-weight: 700;
    line-height: 21px;
    color: #000000
}

@media (min-width:992px) {
    .type--header-4, .type--header-5 {
        font-size: 20px;
        line-height: 20px;
    }
}

.type--header-6{
	font-size: 16px;
	font-weight: 700;
	line-height: 21px;
	color: #000000
}

@media (min-width:992px) {
	.type--header-6{
		font-size: 18px;
		line-height: 24px
	}
}

h1.type--mega {
    padding: 60px 0 30px
}

.type--mega {
    font-size: 5.4rem;
    font-weight: 300;
    line-height: 1.05;
    color: #191b31
}

.readability-limit {
    max-width: 760px
}

.breadcrumbs {
    display: none;
    margin-top: 20px;
    border-bottom: 1px solid #c2c2c2;
    margin-bottom: 50px;
    text-transform: none;
    width: 100%; /* border-bottom lineを行末までにするためにwidth設定  */
    font-size: 1.6rem
}

@media (min-width:992px) {
    .breadcrumbs {
        display: block
    }
}

.breadcrumbs__items {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.breadcrumbs__items li {
    margin-right: 10px;
    position: relative;
    white-space: nowrap
}

.breadcrumbs__items li:after {
    content: "/";
    color: #9fa2b2;
    margin-left: 10px
}

.breadcrumbs__items li:last-of-type:after {
    display: none
}

.breadcrumbs__items li:last-of-type a {
    color: #707070
}

.breadcrumbs__items li a {
    letter-spacing: .4px;
    color: #00146e;
    outline: none
}

.breadcrumbs__divider {
    margin: 5px 0;
    color: #9fa2b2
}

.btn {
    cursor: pointer;
    line-height: 1.375;
    border-radius: 4px;
    -webkit-transition: color .2s ease-out, background-color .2s ease-out, border-color .2s ease-out, -webkit-box-shadow .2s ease-out;
    transition: color .2s ease-out, background-color .2s ease-out, border-color .2s ease-out, -webkit-box-shadow .2s ease-out;
    transition: color .2s ease-out, background-color .2s ease-out, border-color .2s ease-out, box-shadow .2s ease-out;
    transition: color .2s ease-out, background-color .2s ease-out, border-color .2s ease-out, box-shadow .2s ease-out, -webkit-box-shadow .2s ease-out
}

.btn:focus {
    outline: none
}

.btn--full {
    width: 100%
}

.btn--primary {
    padding: 12px 24px;
    color: #fff;
    background-color: #d54100;
    border: 2px solid #d54100;
    font-size: 1.6rem;
    font-weight: 700
}

.btn--primary:hover {
    color: #d54100;
    background-color: #fff;
    -webkit-box-shadow: 0 3px 6px 0 rgba(0, 0, 0, .16);
    box-shadow: 0 3px 6px 0 rgba(0, 0, 0, .16)
}

.btn--primary:focus {
    -webkit-box-shadow: 0 0 0 2px #d54100;
    box-shadow: 0 0 0 2px #d54100;
    border: 2px solid #fff
}

.btn--primary.btn--small {
    padding: 8.5px 14px;
    font-size: 1.4rem;
    font-weight: 500
}

.btn--primary[disabled],
.btn--primary[disabled]:hover {
    color: #fff;
    background-color: #707070;
    border-color: #707070
}

.btn--secondary {
    padding: 9.5px 17px;
    color: #d54100;
    background-color: #fff;
    border: 1px solid #fff;
    font-size: 1.4rem
}

.btn--secondary:focus,
.btn--secondary:hover {
    color: #d54100;
    border-color: #d54100;
    -webkit-box-shadow: none;
    box-shadow: none
}

.btn--secondary.btn--small {
    padding: 8px 17px;
    font-size: 1.2rem
}

.btn--secondary[disabled],
.btn--secondary[disabled]:hover {
    color: #707070;
    opacity: 1;
    border-color: transparent
}
.cmp-carousel {
    margin-bottom: 15px;
}

.carousel {
    max-width: 1006px;
    margin: 0 -16px;
    position: relative
}

.carousel.slide:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(77%, transparent), to(rgba(0, 0, 0, .8)));
    background-image: linear-gradient(180deg, transparent 77%, rgba(0, 0, 0, .8))
}

@media (min-width:768px) {
    .carousel {
        margin: 0 -24px
    }
}

@media (min-width:992px) {
    .carousel {
        margin: 0
    }

    .carousel.slide:after {
        content: none
    }
}

.carousel-item img {
    display: block;
    width: 100%
}

.carousel-control-next,
.carousel-control-prev {
    background: #00146e;
    display: none;
    opacity: 1;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    top: calc(50% - 22px);
    margin: 0 18px
}

@media (min-width:992px) {

    .carousel-control-next,
    .carousel-control-prev {
        display: inline-block
    }
}

.carousel-control-next svg,
.carousel-control-prev svg {
    display: block;
    width: 44px;
    height: 44px;
    fill: #00aff0;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg)
}

@media (min-width:992px) {
    .carousel-indicators {
        display: none
    }
}

.carousel-indicators li {
    border: none;
    width: 6px;
    height: 6px;
    -webkit-box-shadow: 0 3px 6px 0 rgba(0, 0, 0, .16);
    box-shadow: 0 3px 6px 0 rgba(0, 0, 0, .16);
    border-radius: 50%;
    margin-left: 8px;
    margin-right: 8px;
    margin-bottom: 18px;
    opacity: .25
}

@media (min-width:768px) {
    .carousel-indicators li {
        width: 9px;
        height: 9px;
        margin-bottom: 26px
    }
}

.search__form {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

@media (max-width:991.98px) {
    .search__form form {
        width: 75%
    }
}

.search__form-input {
    margin-top: 24px;
    width: 71rem
}

@media (max-width:991.98px) {
    .search__form-input {
        width: auto
    }
}

.search__btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 36px
}

@media (max-width:991.98px) {
    .search__btn button {
        width: 100%
    }
}

.search input {
    padding: 0 10px 0 10px !important
}

.hljs {
    margin-top: 5px;
    padding: 10px;
    border-left: 5px solid #d74200;
    font: normal 14px Consolas, Monaco, monospace;
    max-height: 410px
}

.contact-box {
    background: #f0f0f0;
    padding: 32px;
    margin-top: 32px
}

@media (min-width:992px) {
    .contact-box {
        margin-top: 0
    }
}

.contact-box h2 {
    color: #00aff0
}

footer {
    margin-top: 47px;
    padding: 23px 0;
    background-color: #000;
    color: #fff
}

@media (min-width:768px) {
    footer {
        padding: 36px 0;
        margin-top: 112px
    }
}

@media (min-width:992px) {
    footer {
        padding: 56px 0
    }

    footer .row > section {
        display: flex;
        width: 100%;
    }
}

footer a {
    color: #fff !important;
}

footer svg {
    width: 27px;
    height: 27px;
    margin-right: 10px;
    fill: hsla(0, 0%, 100%, .75)
}

@media (min-width:768px) {
    footer svg {
        width: 58px;
        height: 58px;
        margin-right: 20px
    }
}

.footer__star-alliance {
    width: 230px
}

@media (min-width:768px) {
    .footer__star-alliance {
        width: 240px
    }
}

@media (min-width:992px) {
    .footer__star-alliance {
        width: 342px
    }
}

header {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 20;
    box-shadow: 0 10px 5px -5px rgba(0, 0, 0, 0.2),
    0 6px 10px -10px rgba(0, 0, 0, 0.14), 0 1px 18px -18px rgba(0, 0, 0, 0.12);
}

.header__logo-container:before,
header {
    left: 0;
    -webkit-transition: background-color .3s ease-out;
    transition: background-color .3s ease-out;
    background-color: #fff
}

.header__logo-container:before {
    content: "";
    display: block;
    position: absolute;
    height: 37px;
    bottom: 0;
    width: calc((100vw - 1920px)/2 + 15px);
    -webkit-transform: translateX(-100%) translateX(15px);
    transform: translateX(-100%) translateX(15px);
    box-shadow: 0 8px 5px -5px rgba(0, 0, 0, 0.2), 0px 16px 10px -10px rgba(0, 0, 0, 0.14), 0px 19px 18px -18px rgba(0, 0, 0, 0.12);
}

.header--nav-open,
.header--nav-open .header__logo-container,
.header--nav-open .header__logo-container:after,
.header--nav-open:after {
    background-color: #000
}

.header--nav-open .header__actions {
    background-color: #00146E;
}

.header--nav-open .header__actions svg {
    fill: #fff
}

.header--nav-open .header__logo img {
    opacity: .75
}

.header--nav-open .icon-account,
.header--nav-open .icon-search {
    opacity: .25
}

.header__inner {
    max-width: 1920px;
    margin: 0 auto
}

.header__logo-container {
    box-shadow: 0 8px 4px -5px rgba(0, 0, 0, 0.2),
    0 16px 9px -10px rgba(0, 0, 0, 0.14), 0 19px 17px -18px rgba(0, 0, 0, 0);
    position: absolute;
    padding-left: 8px;
    -webkit-transition: background-color .3s ease-out;
    transition: background-color .3s ease-out;
    background-color: #fff
}

@media (min-width:768px) {
    .header__logo-container {
        padding-left: 18px
    }
}

@media (min-width: 992px) {
    .header__logo-container {
        padding-top: 11px;
        padding-bottom: 7px;
        padding-left: 74px
    }
}

@media (min-width:1921px) {
    .header__logo-container {
        padding-left: 0px;
    }
}

.header__logo-container:after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 24px;
    -webkit-transform: skew(-30deg);
    transform: skew(-30deg);
    -webkit-transform-origin: 100% 100%;
    transform-origin: 100% 100%;
    -webkit-transition: background-color .3s ease-out;
    transition: background-color .3s ease-out;
    background-color: #fff;
    box-shadow: 10px 8px 5px -5px rgba(0, 0, 0, 0.2),
    16px 0 10px -10px rgba(0, 0, 0, 0.14), 19px 0 18px -18px rgba(0, 0, 0, 0.12);
    height: 34px;
    z-index: -1;
}

@media (min-width: 992px) {
    .header__logo-container:after {
        height: 48px;
    }
}

.header__logo {
    display: block;
    position: relative
}

.header__logo img {
    display: block;
    width: 170px;
    -webkit-transition: opacity .3s ease-out;
    transition: opacity .3s ease-out
}

@media (min-width:992px) {
    .header__logo img {
        width: 242px
    }
}

.header__actions {
    padding: 18px 0;
    padding-right: 16px;
    text-align: right;
    background-color: #fff;
}

@media (min-width:768px) {
    .header__actions {
        padding-right: 24px
    }
}

@media (min-width:992px) {
    .header__actions {
        padding: 34px 0;
        padding-right: 88px
    }
}

@media (min-width:1921px) {
    .header__actions {
        padding-right: 0px;
    }
}

.header__actions a,
.header__actions button {
    padding: 0;
    margin-left: 14px
}

.header__actions li {
    display: inline-block;
}

.header button:focus {
    outline: 5px auto #00aff0;
}

@media (min-width:992px) {

    .header__actions a,
    .header__actions button {
        margin-left: 23px
    }
}

.header__actions svg {
    width: 30px;
    height: 30px;
    -webkit-transition: fill .3s ease-out, opacity .3s ease-out;
    transition: fill .3s ease-out, opacity .3s ease-out;
    fill: #00146e
}

@media (min-width:992px) {
    .header__actions svg {
        width: 44px;
        height: 44px
    }
}

.header__nav-toggle {
    background: none;
    border: none
}

.header__nav-toggle--open .icon-hamburger-menu,
.header__nav-toggle .icon-close {
    display: none
}

.header__nav-toggle--open .icon-close {
    display: inline
}

.horizontal-scroll svg {
    width: 14px;
    height: 14px
}

.horizontal-scroll img {
    max-width: none;
    border-radius: .5rem;
    -webkit-box-shadow: 4px 4px 4px 1px rgba(0, 0, 0, .1);
    box-shadow: 4px 4px 4px 1px rgba(0, 0, 0, .1);
    max-width: 136px
}

@media (min-width:768px) {
    .horizontal-scroll img {
        max-width: 212px
    }
}

.horizontal-scroll .img-scroll {
    -webkit-box-flex: 0;
    -ms-flex: 0 1 100%;
    flex: 0 1 100%;
    overflow-X: scroll
}

.horizontal-scroll .title-overflow {
    text-overflow: ellipsis;
    overflow: hidden;
    max-width: 136px;
    white-space: nowrap
}

@media (min-width:768px) {
    .horizontal-scroll .title-overflow {
        max-width: 212px
    }
}

.accordion__section-head .type--header-2 {
    font-size: 20px;
    line-height: 20px;
}

@media (min-width: 768px) {
    .accordion__section-head .type--header-2 {
        font-size: 20px;
        line-height: 20px;
    }
}

@media (min-width: 992px) {
    .accordion__section-head .type--header-2 {
        font-size: 28px;
        margin-top: 40px;
        margin-bottom: 26px;
        line-height: 28px;
    }
}

@media (min-width:992px) {
    .accordion {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin: 0 -15px;
        margin-bottom: 70px;
    }
}

@media (min-width:992px) {

    .accordion--no-padding .accordion__section-body,
    .accordion--no-padding .accordion__section-toggle {
        padding-left: 0;
        padding-right: 0
    }
}

@media (min-width:992px) {
    .accordion__section {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 25%;
        flex: 0 0 25%;
		max-width:25%;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        padding: 0 15px
    }
}

.accordion__section picture {
    display: none
}

@media (min-width:992px) {
    .accordion__section picture {
        display: block
    }
}

.accordion__section img {
    border-radius: 0px;
}

.accordion__section-toggle {
    display: block;
    width: 100%;
    text-align: left;
    border: none;
    background: none;
    padding: 24px 0 12px;
    border-bottom: 1px solid #00aff0
}

@media (min-width:992px) {
    .accordion__section-toggle {
        cursor: default !important;
        outline: none !important;
        border-bottom: none;
        padding: 0;
    }
}

.accordion__section-toggle:after {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    border-right: 2px solid #00146e;
    border-bottom: 2px solid #00146e;
    float: right;
    margin-top: 7px;
    margin-right: 10px;
    -webkit-transition: -webkit-transform .3s ease-out;
    transition: -webkit-transform .3s ease-out;
    transition: transform .3s ease-out;
    transition: transform .3s ease-out, -webkit-transform .3s ease-out;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transform-origin: 7px 7px;
    transform-origin: 7px 7px
}

@media (min-width:992px) {
    .accordion__section-toggle:after {
        content: none
    }
}

.accordion__section-toggle--open {
    border-color: transparent
}

.accordion__section-toggle--open:after {
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg)
}

.accordion__section-body {
    display: none;
    margin: 0;
    padding: 20px 28px;
    background: #f0f0f0;
    border-top: 1px solid #00aff0
}

@media (min-width:768px) {
    .accordion__section-body {
        margin: 0;
        padding: 20px 48px
    }
}

@media (min-width:992px) {
    .accordion__section-body {
        display: block !important;
        margin: 0;
        padding: 0;
        background: none;
        border-top: none
    }
}

@media (min-width:768px) {
    .accordion--menu {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin: 0 -16px
    }
}

.accordion--menu .accordion__section {
    border: none
}

@media (min-width:768px) {
    .accordion--menu .accordion__section {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        padding: 12px 16px
    }
}

@media (min-width:992px) {
    .accordion--menu .accordion__section {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 20%;
        flex: 0 0 20%
    }
}

.accordion--menu .accordion__section-toggle {
    font-size: 1.9rem;
    padding: 6px 0;
    border-bottom: none
}

@media (min-width:768px) {
    .accordion--menu .accordion__section-toggle {
        font-size: 3.2rem;
        color: #191b31
    }
}

.accordion--menu .accordion__section-toggle:after {
    margin-top: 5px
}

.accordion--menu .accordion__section-body {
    padding: 6px 12px 14px
}

img {
    max-width: 100%
}

picture img {
    display: block
}

.image-link img {
    border-radius: 0px;
}

.image-link .type--header-2 {
    margin-left: 10px
}

.main-nav {
    display: none;
    position: fixed;
    top: 66px;
    right: 0;
    bottom: 0;
    width: 100%;
    z-index: 15;
    color: #fff;
    background: -webkit-gradient(linear, left top, left bottom, from(#00146e), to(#000a37));
    background: linear-gradient(180deg, #00146e, #000a37);
    overflow-y: auto;
    -webkit-transition: -webkit-transform .3s ease-out;
    transition: -webkit-transform .3s ease-out;
    transition: transform .3s ease-out;
    transition: transform .3s ease-out, -webkit-transform .3s ease-out;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0)
}

@media (min-width:768px) {
    .main-nav {
        width: calc(100% - 188px)
    }
}

@media (min-width:992px) {
    .main-nav {
        top: 112px;
        width: 500px;
    }
}

@media (min-width:1921px) {
    .main-nav {
        width: calc(500px + (100% - 1920px)/2);
        padding-right: calc((100% - 1920px)/2)
    }
}

.main-nav--rendered {
    display: block
}

.main-nav--open {
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

.main-nav > .container-fluid {
    max-width: 1604px;
    margin: 0
}

@media (min-width:768px) {
    .main-nav > .container-fluid {
        padding-left: 36px
    }
}

.main-nav__actions,
.main-nav__links {
    font-size: 2rem;
    line-height: 1.6
}

.main-nav__actions a,
.main-nav__links a {
    display: block;
    padding: 24px 0 14px;
    border-bottom: 1px solid #000
}

.main-nav__actions {
    margin-top: 16px;
    max-width: 290px
}

.main-nav__actions svg {
    width: 30px;
    height: 30px;
    fill: #00aff0;
    margin-top: -3px;
    margin-right: 16px
}

@media (min-width:768px) {
    .main-nav__actions {
        margin-top: 36px
    }

    .main-nav__locale {
        font-size: 1.4rem;
    }
}

@media (min-width:992px) {
    .main-nav__actions {
        margin-top: 56px;
        max-width: none
    }
}

.main-nav a {
    color: #fff
}

.nav__inner[data-v-a7f3af38] {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: 300px;
    padding: 20px;
    -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, .16), 0 3px 6px rgba(0, 0, 0, .23);
    box-shadow: 0 3px 6px rgba(0, 0, 0, .16), 0 3px 6px rgba(0, 0, 0, .23);
    overflow-y: auto;
    -webkit-transition: -webkit-transform .3s ease-out;
    transition: -webkit-transform .3s ease-out;
    transition: transform .3s ease-out;
    transition: transform .3s ease-out, -webkit-transform .3s ease-out;
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
    background: #fff;
    z-index: 25
}

aside.open .nav__inner[data-v-a7f3af38] {
    -webkit-transform: translateX(0);
    transform: translateX(0)
}

aside button[data-v-a7f3af38] {
    position: fixed;
    bottom: 20px;
    right: 20px;
    font-size: 24px;
    background: #d74200;
    border: none;
    cursor: pointer;
    width: 48px;
    height: 48px;
    padding: 0;
    border-radius: 50%;
    -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, .16), 0 3px 6px rgba(0, 0, 0, .23);
    box-shadow: 0 3px 6px rgba(0, 0, 0, .16), 0 3px 6px rgba(0, 0, 0, .23);
    z-index: 30
}

aside button .open[data-v-a7f3af38] {
    display: none;
    font-size: 32px
}

aside.open button .closed[data-v-a7f3af38] {
    display: none
}

aside.open button .open[data-v-a7f3af38] {
    display: inline
}

aside h2[data-v-a7f3af38] {
    margin-top: 30px;
    padding-bottom: 5px;
    margin-bottom: 5px;
    font-size: 1.2rem;
    text-transform: uppercase;
    border-bottom: 1px solid #d74200
}

aside li[data-v-a7f3af38] {
    margin-bottom: 10px
}

aside a[data-v-a7f3af38] {
    text-decoration: none;
    color: #474851;
    -webkit-transition: color .2s ease-out;
    transition: color .2s ease-out
}

aside a.router-link-exact-active[data-v-a7f3af38],
aside a[data-v-a7f3af38]:hover {
    color: #d74200
}

.search img {
    position: absolute;
    width: 18px;
    height: 18px;
    top: 11px;
    left: 10px;
    z-index: 5
}

@media (min-width:992px) {
    .search img {
        top: 15px;
        width: 20px;
        height: 20px
    }
}

.search input {
    height: 40px;
    padding: 0 10px 0 36px
}

@media (min-width:992px) {
    .search input {
        height: 50px
    }
}

.txt-overlay-image {
    position: relative;
    border-bottom: 5px solid #00aff0
}

@media (min-width:992px) {
    .txt-overlay-image {
        margin-bottom: 0
    }
}

.txt-overlay-image--light .type--header-1 {
    color: #00146e
}

.txt-overlay-image picture {
    width: 100%
}

.txt-overlay-image picture img {
    display: block;
    width: 100%;
    filter:brightness(0.8)
}

.txt-overlay-image__text-block {
    padding: 0 16px;
    width: 100%;
    color: #fff;
    position: absolute;
    bottom: 0
}

@media (min-width:768px) {
    .txt-overlay-image__text-block {
        padding: 0 24px
    }
}

@media (min-width:992px) {
    .txt-overlay-image__text-block {
        padding: 0 88px
    }
}

@media (min-width:2097px) {
    .txt-overlay-image__text-block {
        padding: 0 calc((100% - 1920px)/2)
    }
}

@media (min-width: 992px){
	.ana2-container{
        width: calc(100vw - 176px);
		margin: auto;
        max-width:1920px;
    }
}
@media (min-width: 768px) and (max-width: 991px) {
	.ana2-container{
        width: calc(100vw - 48px);
		margin: auto;
    }
	footer .container-fluid {
		padding: 0 48px;
    }
}
@media (max-width: 767px){
	.ana2-container{
        width: calc(100vw - 32px);
		margin: auto;
    }
	footer .container-fluid {
		padding: 0 32px;
    }
}

.fullnewdesignwidth{
    width:100vw;
    margin-left:calc((100% - 100vw) / 2);
}

.text-shadow{
	-moz-text-shadow: 0px 2px 12px #000;
    -webkit-text-shadow: 0px 2px 12px #000;
    -ms-text-shadow: 0px 2px 12px #000;
    text-shadow: 0px 2px 12px #000;
}
.ana2-no-top-margin{
	margin-top: 0px;
}
.ico-blank-img {
    display: inline-block !important;
    height: auto !important;
    margin-right: .8em;
    margin-left: .5em;
    vertical-align: middle;
}

.cp-list-container {
    margin-top: 0 !important;
}

.list-mt-normal {
    margin-top: 25px;
}

.list-note-num > li {
    position: relative;
    padding-left: 4rem;
}

.list-note-num > li .note-num {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 3.7rem;
    text-align: right;
}

.list-note-num li > *, .list-ol li > *, .list-ul li > * {
    text-indent: 0;
}

.res-ib-link li {
    margin-right: unset;
}

.ana2_color_brand-01 { color: #00146E;}
.ana2_color_brand-02 { color: #00AFF0;}
.ana2_color_brand-04  { color: #000000;}
.ana2_color_accent-01  { color: #D54100;}
.ana2_color_accent-02  { color: #E80000;}
.ana2_color_text-01 { color: #FFFFFF;}
.ana2_color_text-02  { color: #474851;}
.ana2_color_text-03  { color: #9FA2B2;}

.ana2_bgcolor_brand-01 { background-color: #00146E;}
.ana2_bgcolor_brand-02 { background-color: #00AFF0;}
.ana2_bgcolor_brand-03 { background-color: #FFFFFF;}
.ana2_bgcolor_brand-04 { background-color: #000000;}
.ana2_bgcolor_accent-01 { background-color: #D54100;}
.ana2_bgcolor_accent-02 { background-color: #E80000;}
.ana2_bgcolor_gray-01 { background-color: #707070;}
.ana2_bgcolor_gray-02 { background-color: #C2C2C2;}
.ana2_bgcolor_ui-01 { background-color: #F0F0F0;}
.ana2_bgcolor_ui-02 { background-color: rgba(25,27,49,0.85);}
.ana2_bgcolor_text-02 { background-color: #474851;}
.ana2_bgcolor_text-03 { background-color: #9FA2B2;}

.ana2_bgcolor_ui-02 a { 
    color: #FFFFFF; 
}

.ana2_bgcolor_ui-02 a:hover { 
    color: #31BFFF; 
}

.ana2_bgcolor_ui-02 a:focus { 
    outline: 1px solid #31BFFF; color: #31BFFF; 
}

.ana2_bgcolor_ui-02 img.ico-blank-img { 
    width: 12px;
}


@media (min-width: 768px){
    .ana2_link_description {
          font-size: 20px;
          line-height: 20px;
          margin-top: 10px;
    }
}

@media (min-width: 992px){
    .ana2_link_description {
          font-size: 28px;
          line-height: 28px;
          margin-top: 20px;
    }
}

em {
    font-weight: 400
}

.res-contents em {
    font-family: ヒラギノ明朝 ProN W3,Hiragino Mincho ProN,HG明朝E,Sawarabi Mincho,ＭＳ\ Ｐ明朝,ＭＳ\ 明朝,serif;
    color: #c90000;
}

.htmlpaste-breadcrumbs {
    margin-top: 50px;
}

.header .header__logo-container > a {
    display: block;
}

.header .header__logo-container > a:focus {
    outline: 5px auto #00AFF0;
}