@charset "utf-8";

/* Modules
---------------------------------------*/
/* Margin SP */
@media screen and (max-width : 767px) {
    .mt0 { margin-top: 0!important }
    .mt-5 { margin-top: .5rem!important }
    .mt1 { margin-top: 1rem!important }
    .mt1-5 { margin-top: 1.5rem!important }
    .mt2 { margin-top: 2rem!important }
    .mt3 { margin-top: calc(3rem/1.7)!important }
    .mt4 { margin-top: calc(4rem/2)!important }
    .mt5 { margin-top: calc(5rem/2)!important }
    .mt6 { margin-top: calc(6rem/2)!important }
    .mt7 { margin-top: calc(7rem/2)!important }
    .mt8 { margin-top: calc(8rem/2)!important }
    .mt9 { margin-top: calc(9rem/2)!important }
    .mt10 { margin-top: calc(10rem/2)!important }
    .mt11 { margin-top: calc(11rem/2)!important }
    .mt12 { margin-top: calc(12rem/2)!important }
    .mt13 { margin-top: calc(13rem/2)!important }
    .mt14 { margin-top: calc(14rem/2)!important }
    .mt15 { margin-top: calc(15rem/2)!important }
    .mt16 { margin-top: calc(16rem/2)!important }
    .mt17 { margin-top: calc(17rem/2)!important }
    .mt18 { margin-top: calc(18rem/2)!important }
    .mt19 { margin-top: calc(19rem/2)!important }
    .mt20 { margin-top: calc(20rem/2)!important }

    .mb0 { margin-bottom: 0!important }
    .mb1 { margin-bottom: 1rem!important }
    .mb2 { margin-bottom: 2rem!important }
    .mb3 { margin-bottom: 3rem!important }
    .mb4 { margin-bottom: calc(4rem/2)!important }
    .mb5 { margin-bottom: calc(5rem/2)!important }
    .mb6 { margin-bottom: calc(6rem/2)!important }
    .mb7 { margin-bottom: calc(7rem/2)!important }
    .mb8 { margin-bottom: calc(8rem/2)!important }
    .mb9 { margin-bottom: calc(9rem/2)!important }
    .mb10 { margin-bottom: calc(10rem/2)!important }
    .mb15 { margin-bottom: calc(15rem/2)!important }

    .ml0 { margin-left: 0!important }
    .ml1 { margin-left: 1rem!important }
    .ml2 { margin-left: 2rem!important }
    .ml4 { margin-left: calc(4rem/2)!important }

    .mr0 { margin-right: 0!important }
    .mr1 { margin-right: 1rem!important }
    .mr2 { margin-right: 2rem!important }
    .mr4 { margin-right: calc(4rem/2)!important }

    /* Padding */
    .pt0 { padding-top: 0!important }
    .pt1 { padding-top: 1rem!important }
    .pt2 { padding-top: 2rem!important }
    .pt3 { padding-top: 3rem!important }
    .pt4 { padding-top: calc(4rem/2)!important }
    .pt5 { padding-top: calc(5rem/2)!important }
    .pt6 { padding-top: calc(6rem/2)!important }
    .pt7 { padding-top: calc(7rem/2)!important }
    .pt8 { padding-top: calc(8rem/2)!important }
    .pt9 { padding-top: calc(9rem/2)!important }
    .pt10 { padding-top: calc(10rem/2)!important }
    .pt15 { padding-top: calc(15rem/2)!important }

    .pb0 { padding-bottom: 0!important }
    .pb1 { padding-bottom: 1rem!important }
    .pb2 { padding-bottom: 2rem!important }
    .pb3 { padding-bottom: 3rem!important }
    .pb4 { padding-bottom: calc(4rem/2)!important }
    .pb5 { padding-bottom: calc(5rem/2)!important }
    .pb6 { padding-bottom: calc(6rem/2)!important }
    .pb7 { padding-bottom: calc(7rem/2)!important }
    .pb8 { padding-bottom: calc(8rem/2)!important }
    .pb9 { padding-bottom: calc(9rem/2)!important }
    .pb10 { padding-bottom: calc(10rem/2)!important }
    .pb15 { padding-bottom: calc(15rem/2)!important }
}

/* Margin PC */
@media screen and (min-width : 768px) {
    .mt0 { margin-top: 0!important }
    .mt1 { margin-top: 1rem!important }
    .mt1-5 { margin-top: 1.5rem!important }
    .mt2 { margin-top: 2rem!important }
    .mt3 { margin-top: 3rem!important }
    .mt4 { margin-top: 4rem!important }
    .mt5 { margin-top: 5rem!important }
    .mt6 { margin-top: 6rem!important }
    .mt7 { margin-top: 7rem!important }
    .mt8 { margin-top: 8rem!important }
    .mt9 { margin-top: 9rem!important }
    .mt10 { margin-top: 10rem!important }
    .mt11 { margin-top: 11rem!important }
    .mt12 { margin-top: 12rem!important }
    .mt13 { margin-top: 13rem!important }
    .mt14 { margin-top: 14rem!important }
    .mt15 { margin-top: 15rem!important }
    .mt16 { margin-top: calc(16rem)!important }
    .mt17 { margin-top: calc(17rem)!important }
    .mt18 { margin-top: calc(18rem)!important }
    .mt19 { margin-top: calc(19rem)!important }
    .mt20 { margin-top: calc(20rem)!important }

    .mb0 { margin-bottom: 0!important }
    .mb1 { margin-bottom: 1rem!important }
    .mb2 { margin-bottom: 2rem!important }
    .mb3 { margin-bottom: 3rem!important }
    .mb4 { margin-bottom: 4rem!important }
    .mb5 { margin-bottom: 5rem!important }
    .mb6 { margin-bottom: 6rem!important }
    .mb7 { margin-bottom: 7rem!important }
    .mb8 { margin-bottom: 8rem!important }
    .mb9 { margin-bottom: 9rem!important }
    .mb10 { margin-bottom: 10rem!important }
    .mb15 { margin-bottom: 15rem!important }

    .ml0 { margin-left: 0!important }
    .ml1 { margin-left: 1rem!important }
    .ml2 { margin-left: 2rem!important }
    .ml4 { margin-left: 4rem!important }
    .mla { margin-left: auto!important }

    .mr0 { margin-right: 0!important }
    .mr1 { margin-right: 1rem!important }
    .mr2 { margin-right: 2rem!important }
    .mr4 { margin-right: 4rem!important }
    .mra { margin-right: auto!important }

    /* Padding */
    .pt0 { padding-top: 0!important }
    .pt1 { padding-top: 1rem!important }
    .pt2 { padding-top: 2rem!important }
    .pt3 { padding-top: 3rem!important }
    .pt4 { padding-top: 4rem!important }
    .pt5 { padding-top: 5rem!important }
    .pt6 { padding-top: 6rem!important }
    .pt7 { padding-top: 7rem!important }
    .pt8 { padding-top: 8rem!important }
    .pt9 { padding-top: 9rem!important }
    .pt10 { padding-top: 10rem!important }
    .pt15 { padding-top: 15rem!important }

    .pb0 { padding-bottom: 0!important }
    .pb1 { padding-bottom: 1rem!important }
    .pb2 { padding-bottom: 2rem!important }
    .pb3 { padding-bottom: 3rem!important }
    .pb4 { padding-bottom: 4rem!important }
    .pb5 { padding-bottom: 5rem!important }
    .pb6 { padding-bottom: 6rem!important }
    .pb7 { padding-bottom: 7rem!important }
    .pb8 { padding-bottom: 8rem!important }
    .pb9 { padding-bottom: 9rem!important }
    .pb10 { padding-bottom: 10rem!important }
    .pb15 { padding-bottom: 15rem!important }
}

/* Width */
.w100 { width: 100% !important }
.w50 { width: 50% !important }
.w49 { width: 49% !important }
.w48 { width: 48% !important }
.w47 { width: 47% !important }
.w46 { width: 46% !important }
.w45 { width: 45% !important }
.w44 { width: 44% !important }
.w43 { width: 43% !important }
.w42 { width: 42% !important }
.w41 { width: 41% !important }
.w40 { width: 40% !important }
.w39 { width: 39% !important }
.w38 { width: 38% !important }
.w37 { width: 37% !important }
.w36 { width: 36% !important }
.w35 { width: 35% !important }
.w34 { width: 34% !important }
.w33 { width: 33% !important }
.w32 { width: 32% !important }
.w31 { width: 31% !important }
.w30 { width: 30% !important }

/* Text-align */
.tal { text-align: left !important }
.tar { text-align: right !important }
.tac { text-align: center !important }

.tac--pc { text-align: left !important }
@media screen and (min-width : 768px) {
    .tac--pc { text-align: center !important }
}

/* Vergical-align */
.vat { vertical-align: top !important }
.vab { vertical-align: bottom !important }
.vam { vertical-align: middle !important }

/* indent */
.indent {
    padding-left: 1em!important;
    text-indent: -1em!important;
}

/* Lang */
.en {
    line-height: 1.6;
    /*font-family: "din-2014",sans-serif;*/
    font-family: "Myriad Pro",sans-serif;
   font-weight: 400;
}

/* Display */
.db { display: block !important }
.dib { display: inline-block !important }

/* Float */
.fll { float: left !important }
.flr { float: right !important }
.flc { float: center !important }
.cl::after { content: ''; display: block; clear: both; height: 0 }

/* Flex */
.flex { display: block; }
.flex > * { margin: 1.5rem 0; }
@media screen and (min-width : 768px) {
    .flex { display: flex; }
    .flex > * { margin: 0 2.5rem; }
}

.jcsb { justify-content: space-between; }
.jcc { justify-content: center; }
.jcs { justify-content: flex-start; }

/* Inner */
.inner {
    width: 100%;
    padding: 0 2.5rem;
}
@media screen and (min-width : 960px) {
    .inner {
        width: 100%;
        max-width: 1200px;
        margin: 0 auto;
        padding: 0 2rem;
    }
}
@media screen and (min-width : 1281px) {
    .inner {
        max-width: 1200px;
        padding: 0;
    }
}

/* スマホでは幅100% */
.inner02 {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

/* responsive */
.sp-obj { display: block!important; }
.pc-obj { display: none!important; }
@media screen and (min-width : 768px) {
    .sp-obj { display: none!important; }
    .pc-obj { display: block!important; }
}

/* p */
.txt p+p {
    margin-top: 2.5rem;
}

/* Anchor Link */
.anchor-link-blk {
    width: 100%;
}
.anchor-link {
    display: block;
    margin: 0;
    line-height: 1.4;
    position: relative;
    padding: 1.2rem 3rem 1.2rem 2rem;
    border-bottom: solid 1px #E5E6E6;
    color: #50555A;
}
.anchor-link::before {
    content: '';
    display: block;
    position: absolute;
    top: calc(50% - 3px);
    right: 1.5rem;
    width: 0;
    height: 0;
    border: solid 4px transparent;
    border-top: solid 6px #191B1D;
    transition: border-top .15s ease-in-out;
}
@media screen and (min-width : 768px) {
    .anchor-link-blk {
        max-width: 1200px;
        margin: 0 auto;
    }
    .anchor-link {
        display: inline-block;
        border: none;
        padding: 1.2rem 2.5rem 1.2rem 0;
   }
    .anchor-link::before {
        right: .5rem;
    }
    .anchor-link:hover {
        text-decoration: underline;
    }
    .anchor-link:hover:before {
        border-top: solid 6px #006994;
    }

    .anchor-link-columns {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        margin: 1rem 0 5rem -2rem;
        border-bottom: solid 1px #AEB0B1;
    }
    .anchor-link-columns > * {
        list-style: none;
        width: auto;
        max-width: 33.33333%;
        margin: 1.2rem 2.5rem;
    }
    .anchor-link-columns .anchor-link {
        padding-left: 1rem;
    }
}

/* Arrow Link */
.arrow-link {
    display: inline-block;
    position: relative;
    margin: 1rem 0;
    padding: .3rem 0 .3rem 2rem;
    line-height: 1.4;
    font-weight: 400;
    color: #01429c;
    transition: .15s ease-in-out;
}
.arrow-link::before {
    content: '';
    display: block;
    position: absolute;
    top: .9rem;
    left: 0;
    width: 6px;
    height: 6px;
    border-right: solid 2px #86888A;
    border-top: solid 2px #86888A;
    transform: rotate(45deg);
    transition: .15s ease-in-out;
}
@media screen and (min-width : 768px) {
    .arrow-link:hover {
        color: #86888A;
        /* text-decoration: underline; */
    }
}

.arrow-link02 {
    display: inline-block;
    position: relative;
    margin: 1rem 0;
    padding: .3rem 2rem .3rem 0;
    line-height: 1.4;
    font-weight: 400;
    color: #01429c;
    transition: .15s ease-in-out;
}
.arrow-link02::before {
    content: '';
    display: block;
    position: absolute;
    top: .9rem;
    right: 0;
    width: 6px;
    height: 6px;
    border-right: solid 2px #ff7200;
    border-top: solid 2px #ff7200;
    transform: rotate(45deg);
    transition: .15s ease-in-out;
}
@media screen and (min-width : 768px) {
    .arrow-link02:hover {
        color: #ff7200;
        /* text-decoration: underline; */
    }
}

.arrow-link02--light {
    display: inline-block;
    position: relative;
    margin: 1rem 0;
    padding: .3rem 2rem .3rem 1rem;
    line-height: 1.4;
    font-weight: 400;
    color: #fff;
    transition: .15s ease-in-out;
}
.arrow-link02--light::before {
    content: '';
    display: block;
    position: absolute;
    top: .9rem;
    right: 0;
    width: 6px;
    height: 6px;
    border-right: solid 2px #fff;
    border-top: solid 2px #fff;
    transform: rotate(45deg);
    transition: .15s ease-in-out;
}
@media screen and (min-width : 768px) {
    .arrow-link02--light:hover {
        color: #ff7200;
    }
    .arrow-link02--light:hover:before {
        border-color: #ff7200;
    }
}

/* PDF Link */
.pdf-link {
    display: inline-block;
    position: relative;
    margin: 1rem 0;
    padding: .3rem 1rem .3rem 2.8rem;
    line-height: 1.4;
    font-weight: 400;
    color: #01429c;
    transition: .15s ease-in-out;
}
.pdf-link::before {
    content: '';
    display: block;
    position: absolute;
    top: 1rem;
    left: 0;
    width: 18px;
    height: 22px;
    background: url(/korea/assets/svg/icon_pdf.svg) no-repeat 0 0;
}
.pdf-link .data-capa {
    font-size: 1.4rem;
    color: #222;
    margin: 0 0 0 1rem;
    font-weight: 400;
    transition: .15s ease-in-out;
}
@media screen and (min-width : 768px) {
    .pdf-link {
        padding: .3rem 1rem .3rem 3.4rem;
    }
    .pdf-link::before {
        top: .1rem;
        width: 22px;
        height: 26px;
    }
    .pdf-link:hover {
        color: #ff7200;
        text-decoration: none;
    }
    .pdf-link:hover .data-capa {
        color: #ff7200;
        text-decoration: none;
    }
}

/* List Link */
.list-link {
    list-style: none;
    margin: 1rem 0;
}
.list-link__item {
    position: relative;
    list-style: none;
    margin: .8rem 0;
    padding: 0 0 0 1.5rem;
}
.list-link__item::before {
    content: '';
    display: block;
    position: absolute;
    top: .5rem;
    left: 0;
    width: 10px;
    height: 10px;
    margin: 0 1rem 0 0;
    border-radius: 50%;
    background: #50555A;
    transition: .15s ease-in-out;
}
.list-link a {
    display: inline-block;
    line-height: 1.4;
    transition: .15s ease-in-out;
}
@media screen and (min-width : 768px) {
    .list-link a:hover {
        text-decoration: underline;
    }
}

/* border-link
aタグをdivなどに置き換えても機能するように調整してます */
.border-link {
    display: block;
    margin: .8rem 0;
    border: solid 3px #e0e0e0;
    background: #fff;
}
.border-link {
    display: block;
    width: 100%;
    font-weight: 400;
    font-size: 1.6rem;
}
a.border-link {
    display: block;
    width: 100%;
    height: 100%;
    color: #05428e;
    transition: .15s ease-in-out
}
.border-link > span {
    display: inline-block;
    position: relative;
    padding: 2rem;
}
a.border-link > span::after {
    content: '';
    display: block;
    position: absolute;
    top: 3.2rem;
    right: 0;
    width: 6px;
    height: 6px;
    border-right: solid 2px #ff7200;
    border-top: solid 2px #ff7200;
    transform: rotate(45deg);
    transition: .15s ease-in-out;
}
.border-link .border-link__txt {
    display: block;
    padding: 1.5rem 2rem;
    widows: 100%;
    font-weight: 400;
    color: #222;
    font-size: 1.4rem;
    border-top: solid 1px #e0e0e0;
    transition: .15s ease-in-out;
}
.border-link .border-link__txt::after {
    display: none;
}
@media screen and (min-width : 768px) {
    .border-link > span {
        padding: 2.5rem;
    }
    .border-link > span::after {
        top: 3.1rem;
    }
    .border-link .border-link__txt {
        padding: 2.2rem 2.5rem;
    }
    a.border-link:hover {
        color: #ff7200;
        border-color: #face9f;
        background: #fff;
    }
    a.border-link:hover .border-link__txt {
        color: #ff7200;
        border-color: #face9f;
    }
}

/* new-win */
.new-win {
    display: inline-block;
    position: relative;
    padding-right: 1.3rem;
}
.new-win::after  {
    content: '';
    display: inline-block;
    vertical-align: top;
    margin: .2rem 0 0 .5rem;
    width: 10px;
    height: 10px;
    transition: .15s ease-in-out;
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 10 10"><path fill="%23006994" d="M10,0H3V3H0v7H7V7h3ZM6,9H1V4H3V7H6ZM6,6H4V4H6ZM9,6H7V3H4V1H9Z" /></svg>') no-repeat 0 0;
    background-size: 100%;
}
@media screen and (min-width : 768px) {
    .new-win:hover:after {
        background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 10 10"><path fill="%23006994" d="M10,0H3V3H0v7H7V7h3ZM6,9H1V4H3V7H6ZM6,6H4V4H6ZM9,6H7V3H4V1H9Z" /></svg>') no-repeat 0 0;
    }
}

/* icon-link */
.icon-link {
    margin-top: 5px;
}
.icon-link a {
    display: inline-block;
    padding: 5px 2px 4px 30px;
    text-align: left;
    color: #01429c;
    text-decoration: underline;
}
.icon-link a:hover {
    text-decoration: none;
}
.icon-link.pdf a {
    background: url(/korea/assets/images/common/icon_pdf.png) no-repeat 0 0;
}

/* .btn01 */
.btn01 {
    display: block;
    position: relative;
    min-width: 230px;
    margin: 1.3rem 1rem;
    padding: 1.6rem 2.0rem 1.6rem 2.0rem;
    text-align: center;
    color: #064D79;
    border: solid 1px #064D79;
    border-radius: 40px;
}
@media screen and (min-width : 768px) {
    .btn01 {
        display: inline-block!important;
        /* max-width: 800px; */
        margin: .5rem 0;
        padding: 1.6rem 5rem 1.6rem 5rem;
        transition: .35s ease-in-out;
    }
    .btn01:hover {
        color: #fff;
        background: #064D79;
        text-decoration: none;
    }
    .btn01.bigger {
        min-width: 450px;
        padding: 1.5rem 6rem 1.5rem 6rem;
        font-size: 2.1rem;
    }
}


.btn01.pdf {
    padding-left: 4.4rem;
    padding-right: 2.5rem;
}
.btn01.pdf::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 2rem;
    margin: auto;
    width: 18px;
    height: 22px;
    background: url(/korea/assets/svg/icon_pdf.svg) no-repeat 0 0;
}
@media screen and (min-width : 768px) {
    .btn01.pdf {
        padding-left: 5rem;
        padding-right: 3rem;
    }
    .btn01.pdf::before {
        width: 22px;
        height: 26px;
    }
}

/* Page */
.page-head--bg {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 200px;
    padding: 2rem 2rem 3rem;
    text-align: center;
    color: #fff;
    opacity: 0;
    animation-name: fadein;
    animation-duration: 1s;
    animation-iteration-count: 1;
    animation-delay: .3s;
    animation-fill-mode: forwards;
}
.page-head--bg h1 {
    line-height: 1.3;
    font-weight: 400;
    text-align: center;
    font-size: 3.2rem;
    opacity: 0;
    animation-name: fadeinDown;
    animation-duration: 1s;
    animation-iteration-count: 1;
    animation-delay: .5s;
    animation-fill-mode: forwards;
}
/* .lv1 .page-head--bg {
    position: relative;
    padding: 9rem 3rem 4rem;
    z-index: 1;
}
.lv1 .page-head--bg h1 {
    margin-bottom: 0;
    font-size: 2.4rem;
    font-weight: 400;
    color: #fff;
}
.lv1 .page-head--bg .page-sub-ttl {
    margin-bottom: .8rem;
    font-weight: 400;
    font-size: 1.3rem;
    color: #fff;
    animation-name: fadein;
    animation-duration: 1.3s;
    animation-iteration-count: 1;
    animation-delay: .7s;
    animation-fill-mode: forwards;
    opacity: 0;
}
.lv1 .page-head--bg .catchcopy {
    font-size: 1.4rem;
    color: #fff;
    animation-name: fadein;
    animation-duration: 1.3s;
    animation-iteration-count: 1;
    animation-delay: .7s;
    animation-fill-mode: forwards;
    opacity: 0;
} */

@media screen and (min-width : 768px) {
    .page-head--bg {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 440px;
        padding: 3rem 3rem 4rem;
    }
    .page-head--bg h1 {
        margin-bottom: 3rem;
        font-size: 4.0rem;
    }
    .page-head--bg .page-sub-ttl {
        margin-bottom: .5rem;
        font-size: 1.6rem;
        font-weight: 400;
    }
    .page-head--bg .catchcopy {
        line-height: 1.6;
        font-size: 1.6rem;
    }
}

.page-head--simple {
    position: relative;
    padding: 1rem 2rem 2rem;
}
.page-head--simple h1 {
    margin: 0;
    line-height: 1.25;
    font-size: 3.3rem;
    font-weight: 400;
    text-align: center;
    opacity: 0;
    animation-name: fadeinDown;
    animation-duration: 1s;
    animation-iteration-count: 1;
    animation-delay: .3s;
    animation-fill-mode: forwards;
}
.page-head--simple .page-sub-ttl {
    margin-bottom: 1rem;
    text-align: center;
    font-weight: 400;
    font-size: 1.8rem;
    color: #50555A;
    animation-name: fadein;
    animation-duration: 1.3s;
    animation-iteration-count: 1;
    animation-delay: .7s;
    animation-fill-mode: forwards;
    opacity: 0;
}
@media screen and (min-width : 768px) {
    .page-head--simple {
        padding: 2.5rem 13% 5rem;
    }
    .page-head--simple h1 {
        font-size: 3.6rem;
    }
    .page-head--simple .page-sub-ttl {
        margin-bottom: 2rem;
        font-size: 2.0rem;
        font-weight: 400;
    }
}
@media screen and (min-width : 1281px) {
    .page-head--simple h1 {
        font-size: 4.0rem;
    }
}

/* Section */
* + section {
    margin-top: 3rem;
}
section + section {
    margin-top: 4rem;
}
.con-ttl01 + section {
    margin-top: 5rem;
}
.lead-txt + section {
    margin-top: 5rem;
}
@media screen and (min-width : 768px) {
    section + section {
        margin-top: 8rem;
    }
}

/* Content Title */
h1, h2, h3, h4, h5 {
    margin: 0 0 1.5rem;
}
h2 {
    position: relative;
    margin: 1rem 0 2rem;
    line-height: 1.3;
    font-weight: 400;
    font-size: 3.0rem;
    text-align: center;
}
*+h2 { margin-top: 3.5rem }
@media screen and (min-width : 768px) {
    h2 {
        margin: 1rem 0 2.5rem;
        line-height: 1.5;
        font-size: 3.6rem;
    }
    *+h2 { margin-top: 4rem;}
}
@media screen and (min-width : 1281px) {
    h2 {
        font-size: 4.0rem;
    }
}

h3 {
    margin: 1rem 0 1.5rem;
    font-weight: 400;
    font-size: 2.2rem;
}
*+h3 { margin-top: 3rem }
h2+h3 { margin-top: 1rem }
@media screen and (min-width : 768px) {
    h3 {
        margin-bottom: 3rem;
        font-size: 2.8rem;
    }
    *+h3 { margin-top: 3.5rem }
    h2+h3 { margin-top: 2rem }
}
@media screen and (min-width : 1281px) {
    h3 {
        font-size: 3.2rem;
    }
}

h4 {
    display: inline-block;
    margin: 1rem 0 1.5rem;
    padding: .5rem 0;
    text-align: left;
    line-height: 1.4;
    font-weight: 400;
    font-size: 1.6rem;
}
h3+h4 { margin-top: 0 }
*+h4 { margin-top: 2rem }
@media screen and (min-width : 768px) {
    h4 {
        font-size: 2.4rem;
    }
    *+h4 { margin-top: 4rem }
}
@media screen and (min-width : 1281px) {
    h4 {
        font-size: 2.4rem;
    }
}

h5 {
    margin: 1rem 0 1.5rem;
    font-weight: 400;
    font-size: 1.6rem;
}
h4+h5 { margin-top: 0 }
@media screen and (min-width : 768px) {
    h5 {
        font-size: 1.6rem;
    }
}
@media screen and (min-width : 1281px) {
    h5 {
        font-size: 1.8rem;
    }
}

.headline01 {
    position: relative;
    margin: 1rem 0 2rem;
    line-height: 1.3;
    font-weight: 400;
    font-size: 3.2rem;
    text-align: center;
}
@media screen and (min-width : 768px) {
    .headline01 {
        margin: 1rem 0 2.5rem;
        line-height: 1.5;
        font-size: 3.6rem;
    }
}
@media screen and (min-width : 1281px) {
    .headline01 {
        font-size: 4.0rem;
    }
}

.headline01--left {
    position: relative;
    margin: 1rem 0 2rem;
    line-height: 1.3;
    font-weight: 400;
    font-size: 3.2rem;
    text-align: left;
}
@media screen and (min-width : 768px) {
    .headline01--left {
        margin: 1rem 0 2.5rem;
        line-height: 1.5;
        font-size: 3.6rem;
        text-align: left;
    }
}
@media screen and (min-width : 1281px) {
    .headline01--left {
        font-size: 4.0rem;
    }
}

.headline02 {
    position: relative;
    margin: 1rem 0 2rem;
    line-height: 1.3;
    font-weight: 400;
    font-size: 2.4rem;
    text-align: center;
}
@media screen and (min-width : 768px) {
    .headline02 {
        line-height: 1.5;
        font-size: 2.8rem;
    }
}
@media screen and (min-width : 1281px) {
    .headline02 {
        font-size: 3.2rem;
    }
}

.headline__sub {
    display: block;
    margin: 0 0 .5rem;
    font-size: 1.6rem;
    font-weight: 400;
}
@media screen and (min-width : 768px) {
    .headline__sub {
        font-size: 1.8rem;
        margin: 0 0 1rem;
    }
}

/* Text */
.catchcopy-txt01 {
    font-size: 2.0rem;
    margin-bottom: 2rem;
    font-weight: 400;
    color: #50555A;
}
@media screen and (min-width : 768px) {
    .catchcopy-txt01 {
        font-size: 2.8rem;
        line-height: 1.8;
    }
}

.catchcopy-txt02 {
    font-size: 2.0rem;
    margin-bottom: 2rem;
    font-weight: 400;
}
@media screen and (min-width : 768px) {
    .catchcopy-txt02 {
        font-size: 2.8rem;
        line-height: 2;
    }
}

.lead-txt {
    font-size: 2.0rem;
    margin-bottom: 2rem;
    font-weight: 400;
    line-height: 1.8;
}
@media screen and (min-width : 768px) {
    .lead-txt {
        font-size: 2.4rem;
    }
}

.bigger-txt {
    font-size: 1.8rem;
}
.smaller-txt {
    line-height: 1.4;
    font-size: 86%;
}
.caption-txt {
    line-height: 1.6;
    font-size: 1.4rem;
    margin: .5rem auto 0;
}
.note-txt {
    font-size: 1.3rem;
    margin: .5rem auto 1.5rem;
    color: #505050;
}
.note-txt a {
    color: #505050;
    text-decoration: underline;
}
.note-txt a:hover {
    text-decoration: none;
}
.attention-txt {
    color: #cc3304;
}
.bold-txt {
    color: #50555A;
    font-weight: 700;
}
.color-txt {
    color: #002c5d;
}

/* Normal List */
.normal-list {
    list-style: none;
    margin: 2rem 0;
}
.normal-list > li {
    position: relative;
    list-style: none;
    padding: 0 0 0 1.5rem;
}
.normal-list > li + li {
    margin: 1rem 0;
}
.normal-list > li::before {
    content: '';
    display: block;
    position: absolute;
    top: .7rem;
    left: 0;
    width: 5px;
    height: 5px;
    margin: 0 1rem 0 0;
    border-radius: 50%;
    background: #50555A;
}
@media screen and (min-width : 768px) {
    .normal-list > li::before {
        top: 1.0rem;
    }
}

/* Roman List */
.roman-list {
    margin: 2rem 0;
    counter-reset: number 0;
}
.roman-list > li {
    position: relative;
    padding: 0 0 0 2.5rem;
}
.roman-list > li::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    counter-increment: number 1;
    content: counter(number,upper-roman)".";
}
.roman-list > li + li {
    margin: 1rem 0;
}

/* Alphabet List */
.alphabet-list {
    margin: 2rem 0;
    counter-reset: number 0;
}
.alphabet-list > li {
    position: relative;
    list-style: none;
    padding: 0 0 0 2.2rem;
}
.alphabet-list > li::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    counter-increment: number 1;
    content: counter(number,lower-alpha)".";
}
.alphabet-list > li + li {
    margin: 1rem 0;
}

/* Table */
.table01 {
    border-collapse: collapse;
    width: 100%;
    margin: 2rem auto 2rem;
}
.table01 thead th {
    font-weight: 400;
    background: #E5F0F4;
}
.table01 th, .table01 td {
    padding: 2rem 2rem;
    text-align: center;
    vertical-align: middle;
    color: #50555A;
    border: solid 1px #AEB0B1;
    font-size: 1.6rem;
}
.table01 tbody th {
    font-weight: 400;
    background: #E5F0F4;
}
@media screen and (min-width : 768px) {
    .table01 {
        table-layout: fixed;
        word-wrap: break-word;
        border-collapse: collapse;
    }
    .table01 tbody tr {
        border-bottom: solid 1px #AEB0B1;
    }
    .table01 th, .table01 td {
        padding: 2rem 2rem;
        vertical-align: middle;
        font-size: 1.8rem;
    }
}
@media screen and (max-width : 767px) {
    .table01 th, .table01 td {
        display: block;
        width: 100%;
    }
    .table01 th {
        padding: 1rem 0 .3rem;
        font-size: 1.8rem;
    }
    .table01 td {
        padding: .3rem 0 2rem;
    }
}
@media screen and (max-width : 320px) {
    .table01 {
        font-size: 90%;
    }
}


.table02 {
    border-collapse: collapse;
    width: 100%;
    margin: 2rem auto 2rem;
}
.table02 thead th {
    font-weight: 400;
    background: #E5F0F4;
}
.table02 tbody tr {
    border-bottom: solid 1px #D4D6D7;
}
.table02 th, .table02 td {
    padding: 2rem 2rem;
    text-align: left;
    vertical-align: middle;
    color: #50555A;
}
.table02 tbody th {
    font-weight: 400;
    background: none;
    color: #50555A;
}
@media screen and (min-width : 768px) {
    .table02 {
        table-layout: fixed;
        word-wrap: break-word;
        border-collapse: collapse;
    }
    .table02 tbody tr {
        border-bottom: solid 1px #AEB0B1;
    }
    .table02 th, .table02 td {
        padding: 2rem 2rem;
        vertical-align: middle;
    }
}
@media screen and (max-width : 767px) {
    .table02 {
        border-top: solid 1px #AEB0B1;
    }
    .table02 th, .table02 td {
        display: block;
        width: 100%;
    }
    .table02 th {
        padding: 1rem 0 .3rem;
        font-size: 1.8rem;
    }
    .table02 td {
        padding: .3rem 0 1rem;
    }
}
@media screen and (max-width : 320px) {
    .table02 {
        font-size: 90%;
    }
}


/* Scroll Table */
@media screen and (max-width : 767px) {
    .scroll-table {
        width: 100%;
        margin-bottom: .5rem;
        overflow: auto;
        -webkit-overflow-scrolling: touch;
    }
    .scroll-table table {
        width: 200%;
        margin-bottom: 1rem;
    }
    .scroll-table th, .scroll-table td {
        display: table-cell;
        padding: 2rem 2rem;
        width: auto;
   }
}

/* Thumbnail
---------------------------------------*/
.tmb a {
    display: block;
    font-size: 0;
    transition: .4s ease;
    width: 100%;
    height: 100%;
}
.tmb img {
    width: 100%;
}
@media screen and (min-width : 768px) {
    .tmb a {
        position: relative;
        z-index: 0;
    }
    .tmb a:hover {
        box-shadow: 3px 3px 6px rgba(0,0,0,.6);
    }
    .tmb a:before {
        content: '';
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0,0,0,.6);
        opacity: 0;
        z-index: -1;
        transition: opacity .4s ease, z-index .4s ease;
    }
    .tmb a:hover:before {
        opacity: 1;
        z-index: 90;
        transition: opacity .4s ease, z-index .4s ease;
    }
}


.bg-tmb a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    padding: 2rem 4rem;
    background: #F7F8F9;
    font-size: 0;
    transition: .4s ease
}
.bg-tmb img {
    max-height: 286px;
    width: auto;
    max-width: 100%;
}
@media screen and (min-width : 768px) {
    .bg-tmb {
        height: 350px;
    }
    .bg-tmb a {
        position: relative;
        z-index: 0;
    }
    .bg-tmb a:hover {
        box-shadow: 3px 3px 6px rgba(0,0,0,.6);
    }
    .bg-tmb a:before {
        content: '';
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0,0,0,.6);
        opacity: 0;
        z-index: -1;
        transition: opacity .4s ease, z-index .4s ease;
    }
    .bg-tmb a:hover:before {
        opacity: 1;
        z-index: 1;
        transition: opacity .4s ease, z-index .4s ease;
    }
}

/* Image
---------------------------------------*/
.img-center {
    margin: 1rem 0;
    text-align: center;
}

/* Image and Text
---------------------------------------*/
/* 画像＋テキスト カラム */
.img-txt--column {
    display: block;
    margin: 3rem 0 0;
}
.img-txt--column .img {
    margin-top: 1.5rem;
    text-align: center;
}
.img-txt--column .img img {
    width: 100%;
    height: auto
}
.img-txt--column h2, .img-txt--column h3, .img-txt--column h4, .img-txt--column h5 {
    margin-top: 1rem;
}
@media screen and (min-width : 768px) {
    .img-txt--column {
        display: flex;
        justify-content: space-between;
    }
    .img-txt--column .img {
        width: auto;
        max-width: 48%;
        margin-top: 0;
        margin: .4rem 0 0;
    }
    .img-txt--column .txt {
        width: auto;
       /*  max-width: 48%; */
    }
    .img-txt--column .img.right { order: 2; margin-left: 5rem }
    .img-txt--column .txt.left { order: 1 }
    .img-txt--column .img.left { order: 1; margin-right: 5rem }
    .img-txt--column .txt.right { order: 2 }
}

/* 画像＋テキスト 回り込み */
.img-txt--float {
    display: block;
    margin: 1rem 0 3rem;
}
.img-txt--float::after { content: ''; display: block; clear: both; height: 0 }
.img-txt--float .left, .img-txt--float .right {
    float: none;
    margin: 0 0 1rem;
}
.img-txt--float .img {
    text-align: center;
}
.img-txt--float .img img { height: auto }
.img-txt--float h2, .img-txt--float h3, .img-txt--float h4, .img-txt--float h5 {
    margin-top: 1rem;
}
@media screen and (min-width : 768px) {
    .img-txt--float .img {
        width: auto;
        /* max-width: 49%; */
        margin: .4rem 5rem 3rem 0;
    }
    .img-txt--float .img.left {
        float: left;
        width: auto;
        margin: .4rem 5rem 3rem 0;
    }
    .img-txt--float .img.right {
        float: right;
        width: auto;
        margin: .4rem 0 3rem 5rem;
    }
}

/* Box
---------------------------------------*/
/* border-box */
.border-box01 {
    padding: 3rem;
    border: solid 3px #e0e0e0;
}
*+.border-box01 { margin-top: 2rem }
@media screen and (min-width : 768px) {
    .border-box01 {
        padding: 3rem 4rem;
    }
    *+.border-box01 { margin-top: 3rem }
}

.border-box02 {
    padding: 3rem;
    border: solid 1px #e0e0e0;
}
*+.border-box02 { margin-top: 2rem }
.border-box01 .img-txt--column, .border-box01 .img-txt--float {
    margin-top: 0;
}
@media screen and (min-width : 768px) {
    .border-box02 {
        padding: 3rem 4rem;
    }
    *+.border-box02 { margin-top: 3rem }
    .border-box02 .img-txt--column, .border-box02 .img-txt--float {
        margin-top: 0;
    }
}

/* bg-box */
.bg-box01 {
    padding: 3rem;
    background: #f0f6fc;
}
*+.bg-box01 { margin-top: 2rem }
.bg-box01 .img-txt--column, .bg-box01 .img-txt--float {
    margin-top: 0;
}
@media screen and (min-width : 768px) {
    .bg-box01 {
        padding: 3rem 4rem;
    }
    *+.bg-box01 { margin-top: 3rem }
}

/* Columns
---------------------------------------*/
/* .two-columns a, .three-columns a, .four-columns a {
    display: block;
} */
.two-columns .img img, .three-columns .img img, .four-columns .img img {
    width: 100%;
}

@media screen and (max-width : 767px) {
    .two-columns, .three-columns, .four-columns {
        display: block;
        align-items: flex-start;
    }
   .two-columns > * {
        margin: 1.5rem 0;
        width: 100%;
    }
    .three-columns > * {
        margin: 1.5rem 0;
        width: 100%;
    }
    .four-columns > * {
        margin: 1.5rem 0;
        width: 100%;
    }

    .two-columns > * + *, .three-columns > * + *, .four-columns > * + * {
        margin: 4rem 0;
    }
}

@media screen and (min-width : 768px) {
    /* 2カラム */
    .two-columns {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }
    .two-columns > * {
        width: 48%;
        margin: 1.5rem 0 1.5rem;
    }

    /* 3カラム */
    .three-columns {
        display: flex;
        justify-content: flex-start;
        flex-wrap: wrap;
        margin-right: -2.8%;
    }
    .three-columns > * {
        width: 30.7%;
        max-width: 500px;
        margin: 1.5rem 2.6% 3.5rem 0;
    }
    .inner--bigger .three-columns > * {
        max-width: 340px;
    }

    /* 4カラム */
    .four-columns {
        display: flex;
        justify-content: flex-start;
        flex-wrap: wrap;
        margin-right: -2.2%!important;
    }
    .four-columns > * {
        width: calc(100% / 4);
        max-width: 282px;
        margin: 1.5rem 2% 1.5rem 0;
    }
    .inner--bigger .four-columns > * {
        max-width: 237px;
    }

    /* 5カラム */
    .five-columns {
        margin-right: -2.5%;
    }
    .five-columns > * {
        width: 18%;
        max-width: 170px;
        margin: 1.5rem 2.5% 1.5rem 0;
    }
    .inner--bigger .five-columns > * {
        max-width: 194px;
    }
}

/* Related Blk
---------------------------------------*/
.related-blk {
    padding: 2rem 0 2rem;
    background: #c5c5c5;
}
.related-blk__ttl {
    display: block;
    margin: 0 0 -1rem;
    text-align: center;
    font-size: 1.8rem;
    font-weight: 400;
    color: #fff;
    background: none;
}
.related-link {
    display: block;
    width: 100%;
    margin: 0;
    font-weight: 400;
    font-size: 1.6rem;
    background: #fff;
    border: solid 2px transparent;
}
a.related-link {
    color: #05428e;
    transition: .15s ease-in-out;
}
.related-link > span {
    display: inline-block;
    position: relative;
    padding: 2rem 3.5rem 1.5rem 2rem;
}
a.related-link > span::after {
    content: '';
    display: block;
    position: absolute;
    top: 45%;
    right: 0;
    width: 6px;
    height: 6px;
    border-right: solid 2px #ff7200;
    border-top: solid 2px #ff7200;
    transform: rotate(45deg);
    transition: .15s ease-in-out;
}
.related-link .related-link__txt {
    display: block;
    padding: 0 2rem 2rem;
    widows: 100%;
    font-weight: 400;
    color: #222;
    font-size: 1.4rem;
    transition: .15s ease-in-out;
}
.related-link .related-link__txt::after {
    display: none;
}
@media screen and (min-width : 768px) {
    .related-blk {
        padding: 3.5rem 0 4rem;
    }
    .related-blk__ttl {
        margin: 0 0 .8rem;
        font-size: 2.0rem;
    }
    .related-link > span {
        padding: 2.5rem 3.2rem 2rem 2.5rem;
    }
    a.related-link > span::after {
        top: 47%;
    }
    .related-link .related-link__txt {
        padding: 0 2.5rem 2.2rem;
    }
    a.related-link:hover {
        color: #ff7200;
        box-shadow: 0 0 3px rgba(0,0,0,.15);
        background: #fff;
    }
    a.related-link:hover .related-link__txt {
        color: #ff7200;
        border-color: #face9f;
    }
    .col .related-link {
        height: 100%;
    }
}

/* font-legerair */
.font-legerair {
    /* font-family: 'Minion Pro', 'Times New Roman', serif; */
}