/*
Theme Name: dental01
*/
@keyframes bg-gradient {
    0% {
        background-position: 0% 0%
    }

    50% {
        background-position: 25% 50%
    }

    75% {
        background-position: 50% 100%
    }

    100% {
        background-position: 100% 100%
    }
}

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,section,article,aside,hgroup,header,footer,nav,dialog,figure,menu,video,audio,mark,time,canvas,details {
    margin: 0;
    padding: 0;
    border: 0;
    vertical-align: baseline;
    box-sizing: border-box;
    background: rgba(0,0,0,0)
}

section,article,aside,hgroup,header,footer,main,nav,dialog,figure,figcaption {
    display: block
}

html {
    font-size: 62.5%
}

body {
    line-height: 1;
    -webkit-text-size-adjust: 100%;
    -webkit-print-color-adjust: exact
}

ol,ul {
    list-style: none
}

blockquote,q {
    quotes: none
}

blockquote:before,blockquote:after,q:before,q:after {
    content: "";
    content: none
}

ins {
    text-decoration: none
}

del {
    text-decoration: line-through
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

img {
    -webkit-backface-visibility: hidden;
    vertical-align: bottom
}

b,strong,em {
    font-weight: inherit;
    font-style: inherit
}

html {
    font-size: 10px
}

@media screen and (max-width: 374px) {
    html {
        font-size:2.6666666667vw
    }
}

body {
    width: 100%;
    color: #000;
    font-family: "Noto Sans JP",sans-serif;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.8;
    background-color: #fff
}

body.is-locked {
    position: fixed;
    width: 100%;
    height: 100%
}

@media print,screen and (min-width: 768px) {
    body.is-locked {
        overflow:hidden
    }

    body.is-locked.no-scroll {
        overflow: hidden
    }
}

@media screen and (max-width: 767px) {
    body {
        min-width:320px
    }
}

*,*:before,*:after {
    box-sizing: border-box;
    line-break: strict;
    overflow-wrap: break-word
}

a {
    text-decoration: none;
    color: inherit;
    transition: all .3s cubic-bezier(0.215, 0.61, 0.355, 1)
}

a img,a i {
    transition: all .3s cubic-bezier(0.215, 0.61, 0.355, 1)
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom
}

iframe {
    vertical-align: bottom
}

.hover-alpha a:hover img {
    opacity: .7
}

::-webkit-input-placeholder {
    color: #ccc;
    padding-top: .2em
}

:-moz-placeholder {
    color: #ccc;
    opacity: 1
}

::-moz-placeholder {
    color: #ccc;
    opacity: 1
}

:-ms-input-placeholder {
    color: #ccc
}

select,textarea,input[type=text],input[type=email],input[type=number],input[type=tel],button {
    -webkit-appearance: none;
    -moz-appearance: none;
    padding: 0;
    line-height: 1;
    box-sizing: border-box;
    outline: none;
    border-radius: 0;
    border: none;
    background: none;
    font-size: 1.6rem;
    font-family: "Noto Sans JP",sans-serif
}

input[type=number] {
    -moz-appearance: textfield
}

input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0
}

input[type=button],input[type=submit] {
    -webkit-appearance: none;
    -moz-appearance: none;
    border: none;
    line-height: 1;
    cursor: pointer
}

button {
    cursor: pointer
}

@media screen and (max-width: 767px) {
    select,textarea,input[type=text],input[type=email],input[type=number],input[type=tel] {
        font-size:1.6rem
    }
}

svg {
    display: block;
    max-width: 100%
}

.l-inner {
    margin: 0 auto;
    max-width: 130rem;
    width: 100%;
    padding: 0 9rem
}

@media screen and (max-width: 1024px) {
    .l-inner {
        padding:0 2rem
    }
}

.l-container {
    position: relative
}

.l-page {
    position: relative;
    width: 100%;
    overflow: hidden
}

@media print,screen and (min-width: 768px) {
    .l-page {
        margin:0 auto
    }
}

@media screen and (max-width: 767px) {
    .l-page {
        min-width:100%
    }
}

.l-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
    height: 9rem;
    background-color: #fff
}

@media screen and (max-width: 1024px) {
    .l-header {
        z-index:2000;
        height: 5rem
    }
}

.l-header::before {
    content: "";
    position: absolute;
    top: 9rem;
    left: 0;
    width: 100%;
    height: 1rem;
    background: linear-gradient(to bottom, rgb(0, 0, 0) 0, rgba(0, 0, 0, 0) 100%);
    opacity: .1
}

@media screen and (max-width: 1024px) {
    .l-header::before {
        top:5rem
    }
}

.l-header__logo {
    position: absolute;
    top: 0;
    left: 0;
    width: 41.5rem;
    height: 100%;
    line-height: 1;
    z-index: 5
}

@media screen and (max-width: 1400px) {
    .l-header__logo {
        width:28rem
    }
}

@media screen and (max-width: 1024px) {
    .l-header__logo {
        width:21.7rem
    }
}

.l-header__logo a {
    display: block;
    font-size: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0) url("../images/common/logo_b.png") 50% 50% no-repeat;
    background-size: 33.1rem auto
}

@media screen and (max-width: 1400px) {
    .l-header__logo a {
        background-size:24rem auto
    }
}

@media screen and (max-width: 1024px) {
    .l-header__logo a {
        background-size:18.5rem auto
    }
}

.l-gnav {
    position: absolute;
    padding: 3.6rem 16.5rem 0 0;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%
}

@media screen and (max-width: 1400px) {
    .l-gnav {
        padding-right:12rem
    }
}

.l-gnav__btnMail {
    position: absolute;
    top: 0;
    right: 0;
    width: 9rem;
    height: 9rem
}

@media screen and (max-width: 1024px) {
    .l-gnav__btnMail {
        width:5rem;
        height: 5rem
    }
}

.l-gnav__btnMail a {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: .6rem 0;
    width: 100%;
    height: 100%;
    background-color: #063f78
}

@media print,screen and (min-width: 768px) {
    .is-view-pc .l-gnav__btnMail a:hover {
        opacity:.7
    }
}

.l-gnav__btnMail a .ico {
    display: block;
    width: 2rem
}

@media screen and (max-width: 1024px) {
    .l-gnav__btnMail a .ico {
        width:1.9rem
    }
}

.l-gnav__btnMail a .ico svg {
    fill: #fff
}

.l-gnav__btnMail a .en {
    display: block;
    font-size: 1rem;
    font-weight: 700;
    font-family: "Montserrat",sans-serif;
    color: #fff
}

@media screen and (max-width: 1024px) {
    .l-gnav__btnMail a .en {
        display:none
    }
}

.l-gnav__btnMenu {
    position: absolute;
    top: 0;
    right: 5rem;
    width: 5rem;
    height: 5rem;
    font-size: 0
}

@media print,screen and (min-width: 1025px) {
    .l-gnav__btnMenu {
        display:none
    }
}

.l-gnav__btnMenu a {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    background-color: #fff
}

.l-gnav__btnMenu a::before {
    content: "";
    position: absolute;
    bottom: 50%;
    right: 50%;
    transform: translate(50%, 50%);
    width: 1.7rem;
    height: 1px;
    background-color: #3d3d3d
}

.l-gnav__btnMenu a .ico {
    position: absolute;
    bottom: 50%;
    right: 50%;
    transform: translate(50%, 50%);
    width: 1.7rem;
    height: 1.7rem
}

.l-gnav__btnMenu a .ico::before {
    content: "";
    position: absolute;
    top: 0;
    right: 50%;
    transform: translate(50%, 0);
    width: 1.7rem;
    height: 1px;
    background-color: #3d3d3d
}

.l-gnav__btnMenu a .ico::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 50%;
    transform: translate(50%, 0);
    width: 1.7rem;
    height: 1px;
    background-color: #3d3d3d
}

.l-gnav__menu01 {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 0 4rem
}

@media screen and (max-width: 1500px) {
    .l-gnav__menu01 {
        gap:0 2rem
    }
}

@media screen and (max-width: 1024px) {
    .l-gnav__menu01 {
        display:none
    }
}

.l-gnav__menu01 li {
    font-size: 1.4rem;
    font-weight: 700
}

@media screen and (max-width: 1400px) {
    .l-gnav__menu01 li {
        font-size:1.2rem
    }
}

.l-gnav__menu01 li a {
    position: relative;
    color: #222;
    display: block
}

.l-gnav__menu01 li a::before {
    content: "";
    position: absolute;
    bottom: 0;
    right: 50%;
    transform: translateX(50%);
    width: 100%;
    height: 1px;
    background-color: rgba(0,0,0,0)
}

@media print,screen and (min-width: 768px) {
    .is-view-pc .l-gnav__menu01 li a:hover::before {
        background-color:#222
    }
}

.l-snav {
    position: fixed;
    top: 0;
    right: 0;
    width: 9rem;
    background-color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center
}

@media screen and (max-width: 1024px) {
    .l-snav {
        position:fixed;
        width: auto;
        height: auto;
        background-color: rgba(0,0,0,0)
    }
}

.l-snav::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: 100%;
    background-color: #dedede
}

@media screen and (max-width: 1024px) {
    .l-snav::before {
        display:none
    }
}

.l-snav__btnMail {
    position: relative;
    width: 9rem;
    height: 9rem
}

@media screen and (min-width: 1025px)and (max-height: 600px) {
    .l-snav__btnMail {
        height:6rem
    }
}

@media screen and (max-width: 1024px) {
    .l-snav__btnMail {
        position:absolute;
        top: 0;
        right: 0;
        width: 5rem;
        height: 5rem
    }
}

.l-snav__btnMail a {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: .6rem 0;
    width: 100%;
    height: 100%;
    background-color: #063f78
}

@media print,screen and (min-width: 768px) {
    .is-view-pc .l-snav__btnMail a:hover {
        opacity:.7
    }
}

.l-snav__btnMail a .ico {
    display: block;
    width: 2rem
}

@media screen and (max-width: 1024px) {
    .l-snav__btnMail a .ico {
        width:1.9rem
    }
}

.l-snav__btnMail a .ico svg {
    fill: #fff
}

.l-snav__btnMail a .en {
    display: block;
    font-size: 1rem;
    font-weight: 700;
    font-family: "Montserrat",sans-serif;
    color: #fff
}

@media screen and (max-width: 1024px) {
    .l-snav__btnMail a .en {
        display:none
    }
}

.l-snav__btnMenu {
    position: absolute;
    top: 0;
    right: 5rem;
    width: 5rem;
    height: 5rem;
    font-size: 0
}

@media print,screen and (min-width: 1025px) {
    .l-snav__btnMenu {
        display:none
    }
}

.l-snav__btnMenu a {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    background-color: #fff
}

.l-snav__btnMenu a::before {
    content: "";
    position: absolute;
    bottom: 50%;
    right: 50%;
    transform: translate(50%, 50%);
    width: 1.7rem;
    height: 1px;
    background-color: #3d3d3d
}

.l-snav__btnMenu a .ico {
    position: absolute;
    bottom: 50%;
    right: 50%;
    transform: translate(50%, 50%);
    width: 1.7rem;
    height: 1.7rem
}

.l-snav__btnMenu a .ico::before {
    content: "";
    position: absolute;
    top: 0;
    right: 50%;
    transform: translate(50%, 0);
    width: 1.7rem;
    height: 1px;
    background-color: #3d3d3d
}

.l-snav__btnMenu a .ico::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 50%;
    transform: translate(50%, 0);
    width: 1.7rem;
    height: 1px;
    background-color: #3d3d3d
}

.l-snav__menu01 {
    display: none
}

@media screen and (max-width: 1024px) {
    .l-snav__menu01 {
        position:absolute;
        top: 5rem;
        right: 0;
        width: 25rem;
        padding: 3rem 0 4rem 2.2rem;
        background-color: #fff
    }
}

@media screen and (max-width: 1024px) {
    .l-snav__menu01 li {
        width:100%
    }

    .l-snav__menu01 li+li {
        margin-top: 1.5rem
    }
}

.l-snav__menu01 li a {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 1.2rem .8rem 0
}

@media screen and (min-width: 1025px)and (max-height: 750px) {
    .l-snav__menu01 li a {
        padding-top:.8rem
    }
}

@media screen and (max-width: 1024px) {
    .l-snav__menu01 li a {
        padding:0;
        flex-direction: row;
        text-align: left;
        width: 100%;
        gap: 0 1rem
    }
}

.l-snav__menu01 li a .num {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4.4rem;
    height: 4.4rem;
    font-size: 1.2rem;
    font-weight: 500;
    font-family: "Montserrat",sans-serif;
    line-height: 1;
    color: #c8d2de;
    background-color: rgba(0,0,0,0);
    border-radius: 100vh;
    transition: all .3s cubic-bezier(0.215, 0.61, 0.355, 1)
}

@media screen and (min-width: 1025px)and (max-height: 750px) {
    .l-snav__menu01 li a .num {
        width:3rem;
        height: 3rem;
        font-size: 1rem
    }
}

@media screen and (max-width: 1024px) {
    .l-snav__menu01 li a .num {
        width:4.4rem;
        height: 4.4rem;
        font-size: 1.2rem
    }
}

.l-snav__menu01 li a .txt {
    margin-top: .8rem;
    display: block;
    font-size: 1.1rem;
    font-weight: 400;
    color: #064778;
    line-height: 1.2;
    transition: all .3s cubic-bezier(0.215, 0.61, 0.355, 1)
}

@media screen and (min-width: 1025px)and (max-height: 750px) {
    .l-snav__menu01 li a .txt {
        font-size:1rem
    }
}

@media screen and (max-width: 1024px) {
    .l-snav__menu01 li a .txt {
        margin-top:0;
        font-size: 1.3rem;
        font-weight: 700;
        line-height: 1.4
    }
}

@media print,screen and (min-width: 1025px) {
    .l-snav__menu01 li a .txt.small01 {
        font-size:1rem
    }
}

.l-snav__menu01 li a.current .num {
    color: #064778;
    background-color: rgba(70,180,229,.11)
}

.l-snav__menu01 li a.current .txt {
    opacity: 1
}

.l-snav__pagetop {
    width: 9rem;
    height: 9rem;
    display: none
}

@media screen and (min-width: 1025px)and (max-height: 600px) {
    .l-snav__pagetop {
        height:6rem
    }
}

.l-snav__pagetop a {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,.06)
}

@media print,screen and (min-width: 768px) {
    .is-view-pc .l-snav__pagetop a:hover {
        opacity:.7
    }
}

.l-snav__pagetop a .ico {
    display: block;
    width: 2rem
}

.l-snav__pagetop a .ico svg {
    fill: #1c6bbb
}

.l-footer {
    position: relative;
    padding: 9rem 0 7.5rem;
    background-color: #3b3b3b;
    z-index: 2
}

@media screen and (max-width: 1024px) {
    .l-footer {
        padding:6.5rem 0 2rem
    }
}

.l-footer__inner {
    position: relative;
    margin: 0 auto;
    max-width: 130rem;
    width: 100%;
    padding: 0 9rem;
    display: flex;
    justify-content: space-between
}

@media screen and (max-width: 1024px) {
    .l-footer__inner {
        padding:0 2rem
    }
}

@media screen and (max-width: 767px) {
    .l-footer__inner {
        flex-wrap:wrap
    }
}

.l-footer__inner .border {
    display: flex;
    justify-content: space-between;
    width: 100%;
    padding-top: 3rem;
    margin-top: 6.5rem;
    border-top: 1px solid rgba(255,255,255,.11)
}

@media screen and (max-width: 1024px) {
    .l-footer__inner .border {
        padding-top:4rem;
        margin-top: 5.5rem
    }
}

@media screen and (max-width: 767px) {
    .l-footer__inner .border {
        display:block
    }
}

.l-footer__logo .image {
    display: block
}

@media screen and (max-width: 1024px) {
    .l-footer__logo .image {
        width:26rem
    }
}

.l-footer__logo .txt {
    margin-top: 1rem;
    display: block;
    font-size: 1.6rem;
    font-weight: 500;
    color: #fff
}

@media screen and (max-width: 1024px) {
    .l-footer__logo .txt {
        margin-top:.5rem;
        font-size: 1.2rem
    }
}

@media screen and (max-width: 1024px) {
    .l-footer__box01 {
        flex:1;
        padding-right: 5rem
    }
}

@media screen and (max-width: 767px) {
    .l-footer__box01 {
        width:100%;
        padding-right: 0
    }
}

.l-footer__box02 {
    margin-top: 6.5rem;
    display: flex;
    align-items: flex-end
}

@media screen and (max-width: 1024px) {
    .l-footer__box02 {
        display:block;
        margin-top: 3rem
    }
}

.l-footer__box03 {
    display: flex;
    flex-direction: column;
    width: 39rem
}

@media screen and (max-width: 1024px) {
    .l-footer__box03 {
        width:32rem
    }
}

@media screen and (max-width: 767px) {
    .l-footer__box03 {
        margin-top:5rem;
        width: 100%
    }
}

.l-footer__address {
    font-size: 1.4rem;
    color: #fff;
    letter-spacing: .08em;
    line-height: 2
}

@media screen and (max-width: 1024px) {
    .l-footer__address {
        font-size:1.2rem
    }
}

.l-footer__address a .ico {
    position: relative;
    top: .4rem;
    display: inline-block;
    margin-left: 1rem;
    width: 1.5rem
}

@media screen and (max-width: 1024px) {
    .l-footer__address a .ico {
        width:1.4rem
    }
}

.l-footer__address a .ico svg {
    fill: #fff;
    transition: all .3s cubic-bezier(0.215, 0.61, 0.355, 1)
}

.l-footer__address a .txt {
    margin-left: .4rem;
    display: block
}

@media print,screen and (min-width: 768px) {
    .is-view-pc .l-footer__address a:hover {
        text-decoration:underline
    }
}

.l-footer__menu {
    display: flex;
    flex-wrap: wrap;
    gap: 3rem 0
}

@media screen and (max-width: 1024px) {
    .l-footer__menu {
        gap:2rem 0
    }
}

.l-footer__menu li {
    font-size: 1.4rem;
    font-weight: 700
}

@media screen and (max-width: 1024px) {
    .l-footer__menu li {
        font-size:1.2rem
    }
}

.l-footer__menu li a {
    color: #fff
}

@media print,screen and (min-width: 768px) {
    .is-view-pc .l-footer__menu li a:hover {
        text-decoration:underline
    }
}

.l-footer__menu li a .ico {
    display: inline-block;
    width: 1rem;
    margin-left: 1rem
}

.l-footer__menu li a .ico svg {
    fill: #aeaeae
}

.l-footer__menu li:nth-child(1) {
    order: 1;
    width: 17rem
}

@media screen and (max-width: 1024px) {
    .l-footer__menu li:nth-child(1) {
        width:13rem
    }
}

@media screen and (max-width: 767px) {
    .l-footer__menu li:nth-child(1) {
        width:15rem
    }
}

.l-footer__menu li:nth-child(2) {
    order: 3;
    width: 17rem
}

@media screen and (max-width: 1024px) {
    .l-footer__menu li:nth-child(2) {
        width:13rem
    }
}

@media screen and (max-width: 767px) {
    .l-footer__menu li:nth-child(2) {
        width:15rem
    }
}

.l-footer__menu li:nth-child(3) {
    order: 5;
    width: 17rem
}

@media screen and (max-width: 1024px) {
    .l-footer__menu li:nth-child(3) {
        width:13rem
    }
}

@media screen and (max-width: 767px) {
    .l-footer__menu li:nth-child(3) {
        width:15rem
    }
}

.l-footer__menu li:nth-child(4) {
    order: 7;
    width: 17rem
}

@media screen and (max-width: 1024px) {
    .l-footer__menu li:nth-child(4) {
        width:13rem
    }
}

@media screen and (max-width: 767px) {
    .l-footer__menu li:nth-child(4) {
        width:15rem
    }
}

.l-footer__menu li:nth-child(5) {
    order: 2;
    width: 22rem
}

@media screen and (max-width: 1024px) {
    .l-footer__menu li:nth-child(5) {
        width:19rem
    }
}

@media screen and (max-width: 767px) {
    .l-footer__menu li:nth-child(5) {
        width:18.5rem
    }
}

.l-footer__menu li:nth-child(6) {
    order: 4;
    width: 22rem
}

@media screen and (max-width: 1024px) {
    .l-footer__menu li:nth-child(6) {
        width:19rem
    }
}

@media screen and (max-width: 767px) {
    .l-footer__menu li:nth-child(6) {
        width:18.5rem
    }
}

.l-footer__menu li:nth-child(7) {
    order: 6;
    width: 22rem
}

@media screen and (max-width: 1024px) {
    .l-footer__menu li:nth-child(7) {
        width:19rem
    }
}

@media screen and (max-width: 767px) {
    .l-footer__menu li:nth-child(7) {
        width:18.5rem
    }
}

.l-footer__menu li:nth-child(8) {
    order: 8;
    width: 22rem
}

@media screen and (max-width: 1024px) {
    .l-footer__menu li:nth-child(8) {
        width:19rem
    }
}

@media screen and (max-width: 767px) {
    .l-footer__menu li:nth-child(8) {
        width:18.5rem
    }
}

.l-footer__menu02 {
    display: flex;
    gap: 0 3rem
}

@media screen and (max-width: 1024px) {
    .l-footer__menu02 {
        gap:0 2.5rem
    }
}

.l-footer__menu02 li {
    font-size: 1.2rem
}

@media screen and (max-width: 1024px) {
    .l-footer__menu02 li {
        font-size:1rem
    }
}

.l-footer__menu02 li a {
    color: #fff
}

@media print,screen and (min-width: 768px) {
    .is-view-pc .l-footer__menu02 li a:hover {
        text-decoration:underline
    }
}

.l-footer__menu02 li a .ico {
    display: inline-block;
    width: 1.3rem;
    margin-left: 1rem
}

.l-footer__menu02 li a .ico svg {
    fill: #aeaeae;
    stroke: #aeaeae
}

.l-footer__copyright {
    text-align: right;
    font-size: 1.2rem;
    letter-spacing: .04em;
    color: rgba(255,255,255,.67)
}

@media screen and (max-width: 1500px) {
    .l-footer__copyright {
        margin-right:3rem
    }
}

@media screen and (max-width: 1024px) {
    .l-footer__copyright {
        font-size:1rem;
        margin-right: 1rem;
        text-align: center
    }
}

@media screen and (max-width: 767px) {
    .l-footer__copyright {
        margin-top:2rem
    }
}

.l-main {
    position: relative;
    display: block;
    padding-top: 9rem
}

@media screen and (max-width: 1024px) {
    .l-main {
        padding-top:5rem
    }
}

.l-main .pagetop {
    position: fixed;
    bottom: 0;
    right: 0;
    width: 5rem;
    height: 5rem;
    background-color: #fff;
    z-index: 1000
}

@media print,screen and (min-width: 1025px) {
    .l-main .pagetop {
        display:none
    }
}

.l-main .pagetop a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    line-height: 1
}

.l-main .pagetop a img {
    width: 1.3rem
}

.l-main .pagetop02 {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 9rem;
    height: 9rem;
    background-color: rgba(0,0,0,.06);
    z-index: 1000
}

@media screen and (max-width: 1024px) {
    .l-main .pagetop02 {
        position:fixed;
        width: 5rem;
        height: 5rem;
        background-color: #f2f2f2
    }
}

.l-main .pagetop02 a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    line-height: 1
}

.l-main .pagetop02 a img {
    width: 1.8rem;
    transition: all .3s cubic-bezier(0.215, 0.61, 0.355, 1)
}

@media screen and (max-width: 1024px) {
    .l-main .pagetop02 a img {
        width:1.3rem
    }
}

@media print,screen and (min-width: 768px) {
    .is-view-pc .l-main .pagetop02 a:hover img {
        transform:translateY(-0.5rem)
    }
}

.l-main .l-bg01 {
    position: absolute;
    top: 0;
    right: 50%;
    transform: translateX(50%);
    max-width: 130rem;
    padding: 0 9rem;
    width: 100%;
    height: 100%;
    z-index: -1
}

@media screen and (max-width: 1024px) {
    .l-main .l-bg01 {
        padding:0 2rem
    }
}

.l-main .l-bg01 .inner {
    display: flex;
    height: 100%;
    border-left: 1px solid #e3e3e3
}

.l-main .l-bg01 .inner .line {
    width: 33.3333333333%;
    height: 100%;
    border-right: 1px solid #e3e3e3
}

.l-main .l-bg01 .inner .line.w100p {
    width: 100%
}

.c-ico {
    display: inline-block
}

.c-ico svg {
    transition: all .3s cubic-bezier(0.215, 0.61, 0.355, 1)
}

.c-ico.c-ico-pdf {
    width: 1.6rem
}

@media screen and (max-width: 1024px) {
    .c-ico.c-ico-pdf {
        width:1.2rem
    }
}

.c-ico.c-ico-pdf.c-red svg {
    fill: #e50000
}

.c-ico.c-ico-blank-02 {
    width: 1rem
}

.c-ico.c-ico-blank-02.c-blue svg {
    fill: #1c6bbb
}

.c-ttl-01 {
    position: relative
}

.c-ttl-01 .txt {
    margin-top: 1.5rem;
    display: block;
    font-size: 3.3rem;
    font-weight: 700;
    letter-spacing: .2em;
    line-height: 1.66
}

@media screen and (max-width: 1024px) {
    .c-ttl-01 .txt {
        margin-top:.3rem;
        font-size: 2.4rem
    }
}

@media screen and (max-width: 767px) {
    .c-ttl-01 .txt {
        letter-spacing:.13em
    }
}

.c-ttl-01 .txt .outer {
    display: block
}

@media screen and (max-width: 1024px) {
    .c-ttl-01 .txt .outer+.outer {
        margin-top:0
    }
}

.c-ttl-01 .txt .line {
    display: inline-block
}

.c-ttl-01 .txt .inner {
    display: inline-block
}

.c-ttl-01 .txt .bg {
    display: inline-block;
    line-height: 1;
    white-space: nowrap
}

.c-ttl-02 {
    position: relative
}

.c-ttl-02 .num {
    position: absolute;
    top: -0.3rem;
    left: -6rem;
    width: 3.8rem;
    font-size: 3rem;
    font-weight: 600;
    font-family: "Montserrat",sans-serif;
    color: #3895c7;
    letter-spacing: .08em;
    white-space: nowrap;
    border-bottom: 1px solid #3895c7
}

@media screen and (max-width: 1024px) {
    .c-ttl-02 .num {
        position:relative;
        top: 0;
        left: 0;
        font-size: 1.6rem
    }
}

.c-ttl-02 .en {
    position: relative;
    top: 0;
    margin-bottom: -0.3rem;
    display: block;
    font-size: 6rem;
    font-weight: 700;
    font-family: "Montserrat",sans-serif
}

@media screen and (max-width: 1024px) {
    .c-ttl-02 .en {
        font-size:3.2rem;
        margin: .4rem 0 -1.9rem
    }
}

.c-ttl-02 .en .outer {
    display: block;
    line-height: 1
}

.c-ttl-02 .en .line {
    display: inline-block;
    line-height: 1
}

.c-ttl-02 .en .inner {
    display: inline-block;
    line-height: 1
}

.c-ttl-02 .en .bg {
    display: inline-block;
    line-height: 1;
    white-space: nowrap
}

.c-ttl-02 .txt {
    display: block
}

.c-ttl-02 .txt .outer {
    display: block
}

.c-ttl-02 .txt .line {
    display: inline-block
}

.c-ttl-02 .txt .inner {
    display: inline-block
}

.c-ttl-02 .txt .inner .bg {
    display: inline-block;
    padding: 0 .3rem .1rem;
    font-size: 2rem;
    font-weight: 400;
    color: #fff;
    background-color: #363636;
    line-height: 1;
    white-space: nowrap
}

@media screen and (max-width: 1024px) {
    .c-ttl-02 .txt .inner .bg {
        font-size:1.2rem
    }
}

.c-ttl-02-w .num {
    color: #fff;
    border-color: #fff
}

.c-ttl-02-w .en {
    color: #fff
}

.c-ttl-02-w .txt .inner .bg {
    color: #2a6297;
    background-color: #fff
}

.c-txt-01 {
    font-size: 1.6rem;
    line-height: 2
}

@media screen and (max-width: 1024px) {
    .c-txt-01 {
        font-size:1.3rem
    }
}

.c-txt-02 {
    font-size: 1.8rem;
    font-weight: 500;
    letter-spacing: .15em;
    line-height: 2.66
}

@media screen and (max-width: 1024px) {
    .c-txt-02 {
        font-size:1.4rem;
        letter-spacing: .1em;
        line-height: 2.35
    }
}

@media print,screen and (min-width: 768px) {
    .is-view-pc .c-link-01:hover {
        text-decoration:underline
    }
}

.c-link-02 {
    text-decoration: underline
}

@media print,screen and (min-width: 768px) {
    .is-view-pc .c-link-02:hover {
        text-decoration:none
    }
}

.p-breadcrumb ul {
    line-height: 1.5
}

.p-breadcrumb ul li {
    position: relative;
    font-size: 1.3rem;
    line-height: 1.5;
    padding-right: 1.7rem;
    font-weight: 700;
    display: inline;
    margin-right: 1.5rem
}

@media screen and (max-width: 1024px) {
    .p-breadcrumb ul li {
        margin-right:.7rem;
        font-size: 1.1rem;
        padding-right: 1rem
    }
}

.p-breadcrumb ul li::before {
    content: "";
    position: absolute;
    bottom: 50%;
    right: 0;
    transform: translateY(50%) rotate(40deg);
    width: 1px;
    height: 1.6rem;
    background-color: #d2d2d2
}

.p-breadcrumb ul li:last-child {
    margin-right: 0;
    padding-right: 0
}

.p-breadcrumb ul li:last-child::before {
    display: none
}

.p-breadcrumb ul li a {
    color: #044fab;
    font-weight: 400
}

@media print,screen and (min-width: 768px) {
    .is-view-pc .p-breadcrumb ul li a:hover {
        text-decoration:underline
    }
}

.js-animate.fadeIn01 {
    transform: translateY(10px);
    opacity: 0
}

.js-animate.fadeIn01.is-animated {
    transform: translateY(0);
    opacity: 1;
    transition: all .3s
}

.js-animate.fadeIn02 {
    opacity: 0;
    transition: all .3s
}

.js-animate.fadeIn02.is-animated {
    opacity: 1
}

.js-animate.fadeIn03 {
    position: relative;
    transform: translateY(10px);
    opacity: 0;
    transition: all .3s;
    z-index: 1000
}

.js-animate.fadeIn03.is-animated {
    transform: translateY(0);
    opacity: 1
}

.js-animate.fadeTtl01 .anim01 {
    width: 0;
    overflow: hidden;
    transition: all .3s 0s
}

.js-animate.fadeTtl01 .anim02 {
    width: 0;
    overflow: hidden;
    transition: all .3s .35s
}

.js-animate.fadeTtl01.is-animated .anim01 {
    width: 100%
}

.js-animate.fadeTtl01.is-animated .anim02 {
    width: 100%
}

.modal-privacy {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow-y: scroll;
    z-index: 100;
    background-color: rgba(18,38,54,.83);
    display: none
}

.modal-privacy .modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.modal-privacy .modal-outer {
    position: relative;
    padding: 8.4rem 8rem 12.6rem;
    max-width: 128rem;
    margin: 0 auto
}

@media screen and (max-width: 1400px) {
    .modal-privacy .modal-outer {
        padding:8.4rem 4.2826552463vw 12.6rem
    }
}

@media screen and (max-width: 1024px) {
    .modal-privacy .modal-outer {
        padding:5.5rem 2rem 8.5rem
    }
}

.modal-privacy .modal-outer .modal-close01 {
    position: absolute;
    top: 0;
    left: 0;
    font-size: 0;
    width: 100%;
    height: 8.4rem;
    padding: 0 8rem;
    z-index: 10
}

@media screen and (max-width: 1024px) {
    .modal-privacy .modal-outer .modal-close01 {
        height:5.5rem;
        padding: 0 2rem
    }
}

.modal-privacy .modal-outer .modal-close01 a {
    position: relative;
    display: block;
    width: 100%;
    height: 100%
}

.modal-privacy .modal-outer .modal-close01 a span {
    position: absolute;
    top: 0;
    right: 0;
    width: 5.3rem;
    height: 8.4rem
}

@media screen and (max-width: 1024px) {
    .modal-privacy .modal-outer .modal-close01 a span {
        width:3.5rem;
        height: 3.5rem
    }
}

.modal-privacy .modal-outer .modal-close01 a span::before {
    content: "";
    position: absolute;
    bottom: 50%;
    right: 50%;
    transform: translate(50%, 50%) rotate(45deg);
    width: 100%;
    height: 2px;
    background-color: #fff
}

@media screen and (max-width: 1024px) {
    .modal-privacy .modal-outer .modal-close01 a span::before {
        height:1px
    }
}

.modal-privacy .modal-outer .modal-close01 a span::after {
    content: "";
    position: absolute;
    bottom: 50%;
    right: 50%;
    transform: translate(50%, 50%) rotate(-45deg);
    width: 100%;
    height: 2px;
    background-color: #fff
}

@media screen and (max-width: 1024px) {
    .modal-privacy .modal-outer .modal-close01 a span::after {
        height:1px
    }
}

.modal-privacy .modal-outer .modal-close02 {
    position: absolute;
    bottom: 0;
    left: 0;
    font-size: 1.6rem;
    font-family: "Montserrat",sans-serif;
    width: 100%;
    height: 12.6rem;
    z-index: 10
}

@media screen and (max-width: 1024px) {
    .modal-privacy .modal-outer .modal-close02 {
        font-size:1.6rem;
        height: 8.5rem
    }
}

.modal-privacy .modal-outer .modal-close02 a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: #fff
}

.modal-privacy .modal-outer .modal-close02 a span {
    position: relative;
    display: inline-block;
    padding-left: 6rem
}

@media screen and (max-width: 1024px) {
    .modal-privacy .modal-outer .modal-close02 a span {
        padding-left:3.5rem
    }
}

.modal-privacy .modal-outer .modal-close02 a span::before {
    content: "";
    position: absolute;
    bottom: 50%;
    left: 0;
    transform: translate(0, 50%) rotate(45deg);
    width: 5.3rem;
    height: 2px;
    background-color: #fff
}

@media screen and (max-width: 1024px) {
    .modal-privacy .modal-outer .modal-close02 a span::before {
        width:3.5rem;
        height: 1px
    }
}

.modal-privacy .modal-outer .modal-close02 a span::after {
    content: "";
    position: absolute;
    bottom: 50%;
    left: 0;
    transform: translate(0, 50%) rotate(-45deg);
    width: 5.3rem;
    height: 2px;
    background-color: #fff
}

@media screen and (max-width: 1024px) {
    .modal-privacy .modal-outer .modal-close02 a span::after {
        width:3.5rem;
        height: 1px
    }
}

.modal-privacy .modal-outer .modal-inner {
    padding: 8rem;
    background-color: #fff;
    border-radius: 3rem;
    z-index: 10
}

@media screen and (max-width: 1400px) {
    .modal-privacy .modal-outer .modal-inner {
        padding:8rem 4.2826552463vw
    }
}

@media screen and (max-width: 1024px) {
    .modal-privacy .modal-outer .modal-inner {
        padding:2rem 2rem 4rem;
        border-radius: 1.5rem
    }
}

.modal-privacy .modal-outer .modal-inner .modalBox {
    padding: 0 8rem;
    display: none
}

@media screen and (max-width: 1400px) {
    .modal-privacy .modal-outer .modal-inner .modalBox {
        padding:0 4.2826552463vw
    }
}

@media screen and (max-width: 1024px) {
    .modal-privacy .modal-outer .modal-inner .modalBox {
        padding:0
    }
}

.modal-privacy .modal-outer .modal-inner .modalBox .ttl01 {
    font-size: 2.8rem;
    font-weight: 700;
    text-align: center
}

@media screen and (max-width: 1024px) {
    .modal-privacy .modal-outer .modal-inner .modalBox .ttl01 {
        font-size:1.8rem
    }
}

.modal-privacy .modal-outer .modal-inner .modalBox .ttl01+.ttl02 {
    margin-top: 5rem
}

@media screen and (max-width: 1024px) {
    .modal-privacy .modal-outer .modal-inner .modalBox .ttl01+.ttl02 {
        margin-top:2.5rem
    }
}

.modal-privacy .modal-outer .modal-inner .modalBox .ttl01+.txt01 {
    margin-top: 5rem
}

@media screen and (max-width: 1024px) {
    .modal-privacy .modal-outer .modal-inner .modalBox .ttl01+.txt01 {
        margin-top:2.5rem
    }
}

.modal-privacy .modal-outer .modal-inner .modalBox .ttl02 {
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: .05em
}

@media screen and (max-width: 1024px) {
    .modal-privacy .modal-outer .modal-inner .modalBox .ttl02 {
        font-size:1.5rem
    }
}

.modal-privacy .modal-outer .modal-inner .modalBox .ttl02+.txt01 {
    margin-top: 1rem
}

.modal-privacy .modal-outer .modal-inner .modalBox .ttl02+.table01 {
    margin-top: 1rem
}

.modal-privacy .modal-outer .modal-inner .modalBox .ttl03 {
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: .05em
}

@media screen and (max-width: 1024px) {
    .modal-privacy .modal-outer .modal-inner .modalBox .ttl03 {
        font-size:1.4rem
    }
}

.modal-privacy .modal-outer .modal-inner .modalBox .ttl03+.txt01 {
    margin-top: 1rem
}

.modal-privacy .modal-outer .modal-inner .modalBox .ttl03+.table01 {
    margin-top: 1rem
}

.modal-privacy .modal-outer .modal-inner .modalBox .ttl04 {
    margin-bottom: 5rem;
    font-size: 3.6rem;
    font-weight: 700;
    text-align: center
}

@media screen and (max-width: 1024px) {
    .modal-privacy .modal-outer .modal-inner .modalBox .ttl04 {
        margin-bottom:2.5rem;
        font-size: 2.4rem;
        line-height: 1.4
    }
}

.modal-privacy .modal-outer .modal-inner .modalBox .txt01 {
    font-size: 1.6rem;
    line-height: 2;
    letter-spacing: .05em
}

@media screen and (max-width: 1024px) {
    .modal-privacy .modal-outer .modal-inner .modalBox .txt01 {
        font-size:1.3rem
    }
}

.modal-privacy .modal-outer .modal-inner .modalBox .txt01+.ttl02 {
    margin-top: 3.5rem
}

@media screen and (max-width: 1024px) {
    .modal-privacy .modal-outer .modal-inner .modalBox .txt01+.ttl02 {
        margin-top:2.5rem
    }
}

.modal-privacy .modal-outer .modal-inner .modalBox .txt01+.ttl03 {
    margin-top: 1.5rem
}

@media screen and (max-width: 1024px) {
    .modal-privacy .modal-outer .modal-inner .modalBox .txt01+.ttl03 {
        margin-top:1rem
    }
}

.modal-privacy .modal-outer .modal-inner .modalBox .txt01+.txt02 {
    margin-top: 3rem
}

.modal-privacy .modal-outer .modal-inner .modalBox .txt02 {
    font-size: 1.6rem;
    line-height: 2;
    letter-spacing: .05em;
    text-align: right
}

@media screen and (max-width: 1024px) {
    .modal-privacy .modal-outer .modal-inner .modalBox .txt02 {
        font-size:1.2rem
    }
}

.modal-privacy .modal-outer .modal-inner .modalBox .txt02 b {
    font-weight: 700
}

.modal-privacy .modal-outer .modal-inner .modalBox .txt02+.txt02 {
    margin-top: 3rem
}

@media screen and (max-width: 1024px) {
    .modal-privacy .modal-outer .modal-inner .modalBox .txt02+.txt02 {
        margin-top:2rem
    }
}

.modal-privacy .modal-outer .modal-inner .modalBox .table01 {
    width: 100%
}

.modal-privacy .modal-outer .modal-inner .modalBox .table01 th {
    width: 20rem;
    padding: 1.5rem 2rem;
    font-size: 1.4rem;
    font-weight: 500;
    text-align: left;
    border: 1px solid #cecece;
    background-color: rgba(206,206,206,.15)
}

@media screen and (max-width: 1024px) {
    .modal-privacy .modal-outer .modal-inner .modalBox .table01 th {
        width:11rem;
        font-size: 1.2rem;
        padding: 1rem
    }
}

.modal-privacy .modal-outer .modal-inner .modalBox .table01 td {
    padding: 1.5rem 2rem;
    font-size: 1.4rem;
    font-weight: 500;
    text-align: left;
    border: 1px solid #cecece
}

@media screen and (max-width: 1024px) {
    .modal-privacy .modal-outer .modal-inner .modalBox .table01 td {
        font-size:1.2rem;
        padding: 1rem
    }
}

.modal-privacy .modal-outer .modal-inner .modalBox .table01+.ttl02 {
    margin-top: 3.5rem
}

@media screen and (max-width: 1024px) {
    .modal-privacy .modal-outer .modal-inner .modalBox .table01+.ttl02 {
        margin-top:2.5rem
    }
}

.modal-privacy .modal-outer .modal-inner .modalBox .table01+.ttl03 {
    margin-top: 3rem
}

@media screen and (max-width: 1024px) {
    .modal-privacy .modal-outer .modal-inner .modalBox .table01+.ttl03 {
        margin-top:2rem
    }
}

.modal-privacy .modal-outer .modal-inner .modalBox .list01 {
    margin-top: 1.5rem
}

.modal-privacy .modal-outer .modal-inner .modalBox .list01 li {
    padding-left: 1em;
    text-indent: -1em;
    font-size: 1.6rem;
    line-height: 2;
    letter-spacing: .05em
}

@media screen and (max-width: 1024px) {
    .modal-privacy .modal-outer .modal-inner .modalBox .list01 li {
        font-size:1.3rem
    }
}

.modal-privacy .modal-outer .modal-inner .modalBox .list01 li+li {
    margin-top: 1rem
}

.modal-privacy .modal-outer .modal-inner .modalBox .list01 li b {
    font-weight: 700
}

.modal-security {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow-y: scroll;
    z-index: 100;
    background-color: rgba(18,38,54,.83);
    display: none
}

.modal-security .modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.modal-security .modal-outer {
    position: relative;
    padding: 8.4rem 8rem 12.6rem;
    max-width: 128rem;
    margin: 0 auto
}

@media screen and (max-width: 1400px) {
    .modal-security .modal-outer {
        padding:8.4rem 4.2826552463vw 12.6rem
    }
}

@media screen and (max-width: 1024px) {
    .modal-security .modal-outer {
        padding:5.5rem 2rem 8.5rem
    }
}

.modal-security .modal-outer .modal-close01 {
    position: absolute;
    top: 0;
    left: 0;
    font-size: 0;
    width: 100%;
    height: 8.4rem;
    padding: 0 8rem;
    z-index: 10
}

@media screen and (max-width: 1024px) {
    .modal-security .modal-outer .modal-close01 {
        height:5.5rem;
        padding: 0 2rem
    }
}

.modal-security .modal-outer .modal-close01 a {
    position: relative;
    display: block;
    width: 100%;
    height: 100%
}

.modal-security .modal-outer .modal-close01 a span {
    position: absolute;
    top: 0;
    right: 0;
    width: 5.3rem;
    height: 8.4rem
}

@media screen and (max-width: 1024px) {
    .modal-security .modal-outer .modal-close01 a span {
        width:3.5rem;
        height: 3.5rem
    }
}

.modal-security .modal-outer .modal-close01 a span::before {
    content: "";
    position: absolute;
    bottom: 50%;
    right: 50%;
    transform: translate(50%, 50%) rotate(45deg);
    width: 100%;
    height: 2px;
    background-color: #fff
}

@media screen and (max-width: 1024px) {
    .modal-security .modal-outer .modal-close01 a span::before {
        height:1px
    }
}

.modal-security .modal-outer .modal-close01 a span::after {
    content: "";
    position: absolute;
    bottom: 50%;
    right: 50%;
    transform: translate(50%, 50%) rotate(-45deg);
    width: 100%;
    height: 2px;
    background-color: #fff
}

@media screen and (max-width: 1024px) {
    .modal-security .modal-outer .modal-close01 a span::after {
        height:1px
    }
}

.modal-security .modal-outer .modal-close02 {
    position: absolute;
    bottom: 0;
    left: 0;
    font-size: 1.6rem;
    font-family: "Montserrat",sans-serif;
    width: 100%;
    height: 12.6rem;
    z-index: 10
}

@media screen and (max-width: 1024px) {
    .modal-security .modal-outer .modal-close02 {
        font-size:1.6rem;
        height: 8.5rem
    }
}

.modal-security .modal-outer .modal-close02 a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: #fff
}

.modal-security .modal-outer .modal-close02 a span {
    position: relative;
    display: inline-block;
    padding-left: 6rem
}

@media screen and (max-width: 1024px) {
    .modal-security .modal-outer .modal-close02 a span {
        padding-left:3.5rem
    }
}

.modal-security .modal-outer .modal-close02 a span::before {
    content: "";
    position: absolute;
    bottom: 50%;
    left: 0;
    transform: translate(0, 50%) rotate(45deg);
    width: 5.3rem;
    height: 2px;
    background-color: #fff
}

@media screen and (max-width: 1024px) {
    .modal-security .modal-outer .modal-close02 a span::before {
        width:3.5rem;
        height: 1px
    }
}

.modal-security .modal-outer .modal-close02 a span::after {
    content: "";
    position: absolute;
    bottom: 50%;
    left: 0;
    transform: translate(0, 50%) rotate(-45deg);
    width: 5.3rem;
    height: 2px;
    background-color: #fff
}

@media screen and (max-width: 1024px) {
    .modal-security .modal-outer .modal-close02 a span::after {
        width:3.5rem;
        height: 1px
    }
}

.modal-security .modal-outer .modal-inner {
    padding: 8rem;
    background-color: #fff;
    border-radius: 3rem;
    z-index: 10
}

@media screen and (max-width: 1400px) {
    .modal-security .modal-outer .modal-inner {
        padding:8rem 9rem
    }
}

@media screen and (max-width: 1024px) {
    .modal-security .modal-outer .modal-inner {
        padding:2rem 2rem 4rem;
        border-radius: 1.5rem
    }
}

.modal-security .modal-outer .modal-inner .modalBox {
    padding: 0 9rem;
    display: none
}

@media screen and (max-width: 1024px) {
    .modal-security .modal-outer .modal-inner .modalBox {
        padding:0
    }
}

.modal-security .modal-outer .modal-inner .modalBox .ttl02 {
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: .05em
}

@media screen and (max-width: 1024px) {
    .modal-security .modal-outer .modal-inner .modalBox .ttl02 {
        font-size:1.5rem
    }
}

.modal-security .modal-outer .modal-inner .modalBox .ttl02+.txt01 {
    margin-top: 1rem
}

.modal-security .modal-outer .modal-inner .modalBox .ttl02+.table01 {
    margin-top: 1rem
}

.modal-security .modal-outer .modal-inner .modalBox .ttl04 {
    margin-bottom: 5rem;
    font-size: 3.6rem;
    font-weight: 700;
    text-align: center
}

@media screen and (max-width: 1024px) {
    .modal-security .modal-outer .modal-inner .modalBox .ttl04 {
        margin-bottom:2.5rem;
        font-size: 2.4rem;
        line-height: 1.4
    }
}

.modal-security .modal-outer .modal-inner .modalBox .txt01 {
    font-size: 1.6rem;
    line-height: 2;
    letter-spacing: .05em
}

@media screen and (max-width: 1024px) {
    .modal-security .modal-outer .modal-inner .modalBox .txt01 {
        font-size:1.3rem
    }
}

.modal-security .modal-outer .modal-inner .modalBox .txt01+.ttl02 {
    margin-top: 3.5rem
}

@media screen and (max-width: 1024px) {
    .modal-security .modal-outer .modal-inner .modalBox .txt01+.ttl02 {
        margin-top:2.5rem
    }
}

.modal-security .modal-outer .modal-inner .modalBox .txt01+.ttl03 {
    margin-top: 1.5rem
}

@media screen and (max-width: 1024px) {
    .modal-security .modal-outer .modal-inner .modalBox .txt01+.ttl03 {
        margin-top:1rem
    }
}

.modal-security .modal-outer .modal-inner .modalBox .txt01+.txt02 {
    margin-top: 3rem
}

.modal-security .modal-outer .modal-inner .modalBox .txt02 {
    font-size: 1.6rem;
    line-height: 2;
    letter-spacing: .05em;
    text-align: right
}

@media screen and (max-width: 1024px) {
    .modal-security .modal-outer .modal-inner .modalBox .txt02 {
        font-size:1.3rem
    }
}

.modal-security .modal-outer .modal-inner .modalBox .list01 {
    margin-top: 1.5rem
}

.modal-security .modal-outer .modal-inner .modalBox .list01 li {
    padding-left: 1em;
    text-indent: -1em;
    font-size: 1.6rem;
    line-height: 2;
    letter-spacing: .05em
}

@media screen and (max-width: 1024px) {
    .modal-security .modal-outer .modal-inner .modalBox .list01 li {
        font-size:1.3rem
    }
}

.modal-security .modal-outer .modal-inner .modalBox .list01 li+li {
    margin-top: 1rem
}

.modal-security .modal-outer .modal-inner .modalBox .list01 li b {
    font-weight: 700
}

.modal-security .modal-outer .modal-inner .modalBox .list01+.txt02 {
    margin-top: 4rem
}

.p-page-header {
    position: relative;
    width: 100%;
    height: 21rem
}

@media screen and (max-width: 1024px) {
    .p-page-header {
        height:15rem
    }
}

.p-page-header::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, #2B73A2 0, #063F78 100%)
}

.p-page-header__inner {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    height: 100%
}

.p-page-header__ttl {
    line-height: 1
}

.p-page-header__ttl .en {
    display: block;
    font-size: 4.8rem;
    font-weight: 600;
    font-family: "Montserrat",sans-serif;
    color: #fff;
    line-height: 1
}

@media screen and (max-width: 1024px) {
    .p-page-header__ttl .en {
        margin-bottom:-0.7rem;
        font-size: 3.2rem
    }
}

.p-page-header__ttl .jpn {
    display: inline-block;
    font-size: 2rem;
    font-weight: 400;
    color: #2a6297;
    background-color: #fff;
    line-height: 1;
    padding: .1rem .2rem .3rem
}

@media screen and (max-width: 1024px) {
    .p-page-header__ttl .jpn {
        font-size:1.5rem
    }
}

.u-clr:after {
    content: "";
    display: block;
    clear: both;
    height: 0
}

@media screen and (max-width: 374px) {
    .u-xs-min {
        display:none !important
    }
}

@media print,screen and (min-width: 375px) {
    .u-xs-max {
        display:none !important
    }
}

@media screen and (max-width: 767px) {
    .u-sm-min {
        display:none !important
    }
}

@media print,screen and (min-width: 768px) {
    .u-sm-max {
        display:none !important
    }
}

@media screen and (max-width: 1024px) {
    .u-md-min {
        display:none !important
    }
}

@media print,screen and (min-width: 1025px) {
    .u-md-max {
        display:none !important
    }
}

@media screen and (max-width: 1400px) {
    .u-lg-min {
        display:none !important
    }
}

@media print,screen and (min-width: 1401px) {
    .u-lg-max {
        display:none !important
    }
}

@media screen and (max-width: 1500px) {
    .u-xlg-min {
        display:none !important
    }
}

@media print,screen and (min-width: 1501px) {
    .u-xlg-max {
        display:none !important
    }
}

.u-ff-jp {
    font-family: "Noto Sans JP",sans-serif
}

.u-fz-20 {
    font-size: 2rem !important
}

.u-fz-19 {
    font-size: 1.9rem !important
}

.u-fz-18 {
    font-size: 1.8rem !important
}

.u-fz-17 {
    font-size: 1.7rem !important
}

.u-fz-16 {
    font-size: 1.6rem !important
}

.u-fz-15 {
    font-size: 1.5rem !important
}

.u-fz-14 {
    font-size: 1.4rem !important
}

.u-fz-13 {
    font-size: 1.3rem !important
}

.u-fz-12 {
    font-size: 1.2rem !important
}

.u-fz-11 {
    font-size: 1.1rem !important
}

.u-fz-10 {
    font-size: 1rem !important
}

.u-fw-400 {
    font-weight: 400 !important
}

.u-fw-700 {
    font-weight: 700 !important
}

.u-ls-0 {
    letter-spacing: 0
}

.u-td-ul {
    text-decoration: underline !important
}

.u-td-none {
    text-decoration: none !important
}

.u-ta-l {
    text-align: left !important
}

.u-ta-r {
    text-align: right !important
}

.u-ta-c {
    text-align: center !important
}

@media print,screen and (min-width: 768px) {
    .u-ta-l-pc {
        text-align:left !important
    }
}

@media print,screen and (min-width: 768px) {
    .u-ta-r-pc {
        text-align:right !important
    }
}

@media print,screen and (min-width: 768px) {
    .u-ta-c-pc {
        text-align:center !important
    }
}

@media screen and (max-width: 767px) {
    .u-ta-l-sp {
        text-align:left !important
    }
}

@media screen and (max-width: 767px) {
    .u-ta-r-sp {
        text-align:right !important
    }
}

@media screen and (max-width: 767px) {
    .u-ta-c-sp {
        text-align:center !important
    }
}

.u-va-t {
    vertical-align: top !important
}

.u-va-m {
    vertical-align: middle !important
}

.u-va-b {
    vertical-align: bottom !important
}

.u-c-main {
    color: #000 !important
}

.u-c-plain {
    color: #292929 !important
}

.u-c-white {
    color: #fff !important
}

.u-bg-alpha {
    background-color: rgba(0,0,0,0) !important
}

.u-bg-main {
    background-color: #000 !important
}

.u-bg-plain {
    background-color: #292929 !important
}

.u-bg-border {
    background-color: #ccc !important
}

.u-bg-white {
    background-color: #fff !important
}

.u-bd {
    border: 1px solid #ccc !important
}

.u-bd-t {
    border-top: 1px solid #ccc !important
}

.u-bd-l {
    border-left: 1px solid #ccc !important
}

.u-bd-b {
    border-bottom: 1px solid #ccc !important
}

.u-bd-r {
    border-right: 1px solid #ccc !important
}

.u-bd-main {
    border-color: #000 !important
}

.u-bd-white {
    border-color: #fff !important
}

.u-w-100 {
    width: 100% !important
}

.u-w-90 {
    width: 90% !important
}

.u-w-80 {
    width: 80% !important
}

.u-w-70 {
    width: 70% !important
}

.u-w-60 {
    width: 60% !important
}

.u-w-50 {
    width: 50% !important
}

.u-w-40 {
    width: 40% !important
}

.u-w-30 {
    width: 30% !important
}

.u-w-20 {
    width: 20% !important
}

.u-w-10 {
    width: 10% !important
}

.u-m-0 {
    margin: 0 !important
}

.u-m-auto {
    margin: auto !important
}

.u-mx-auto {
    margin-left: auto !important;
    margin-right: auto !important
}

.u-my-auto {
    margin-top: auto !important;
    margin-bottom: auto !important
}

.u-mt-0 {
    margin-top: 0 !important
}

.u-mt-5 {
    margin-top: 5px !important
}

.u-mt-10 {
    margin-top: 10px !important
}

.u-mt-15 {
    margin-top: 15px !important
}

.u-mt-20 {
    margin-top: 20px !important
}

.u-mt-25 {
    margin-top: 25px !important
}

.u-mt-30 {
    margin-top: 30px !important
}

.u-mt-35 {
    margin-top: 35px !important
}

.u-mt-40 {
    margin-top: 40px !important
}

.u-mt-45 {
    margin-top: 45px !important
}

.u-mt-50 {
    margin-top: 50px !important
}

.u-mt-55 {
    margin-top: 55px !important
}

.u-mt-60 {
    margin-top: 60px !important
}

.u-mt-65 {
    margin-top: 65px !important
}

.u-mt-70 {
    margin-top: 70px !important
}

.u-mt-75 {
    margin-top: 75px !important
}

.u-mt-80 {
    margin-top: 80px !important
}

.u-mt-xs {
    margin-top: 20px !important
}

@media screen and (max-width: 767px) {
    .u-mt-xs {
        margin-top:10px !important
    }
}

.u-mt-sm {
    margin-top: 40px !important
}

@media screen and (max-width: 767px) {
    .u-mt-sm {
        margin-top:20px !important
    }
}

.u-mt-md {
    margin-top: 60px !important
}

@media screen and (max-width: 767px) {
    .u-mt-md {
        margin-top:30px !important
    }
}

.u-mt-lg {
    margin-top: 80px !important
}

@media screen and (max-width: 767px) {
    .u-mt-lg {
        margin-top:40px !important
    }
}

.u-mt-xl {
    margin-top: 100px !important
}

@media screen and (max-width: 767px) {
    .u-mt-xl {
        margin-top:50px !important
    }
}

.u-mb-0 {
    margin-bottom: 0 !important
}

.u-mb-5 {
    margin-bottom: 5px !important
}

.u-mb-10 {
    margin-bottom: 10px !important
}

.u-mb-15 {
    margin-bottom: 15px !important
}

.u-mb-20 {
    margin-bottom: 20px !important
}

.u-mb-25 {
    margin-bottom: 25px !important
}

.u-mb-30 {
    margin-bottom: 30px !important
}

.u-mb-35 {
    margin-bottom: 35px !important
}

.u-mb-40 {
    margin-bottom: 40px !important
}

.u-mb-45 {
    margin-bottom: 45px !important
}

.u-mb-50 {
    margin-bottom: 50px !important
}

.u-mb-xs {
    margin-bottom: 20px !important
}

@media screen and (max-width: 767px) {
    .u-mb-xs {
        margin-bottom:10px !important
    }
}

.u-mb-sm {
    margin-bottom: 40px !important
}

@media screen and (max-width: 767px) {
    .u-mb-sm {
        margin-bottom:20px !important
    }
}

.u-mb-md {
    margin-bottom: 60px !important
}

@media screen and (max-width: 767px) {
    .u-mb-md {
        margin-bottom:30px !important
    }
}

.u-mb-lg {
    margin-bottom: 80px !important
}

@media screen and (max-width: 767px) {
    .u-mb-lg {
        margin-bottom:40px !important
    }
}

.u-mb-xl {
    margin-bottom: 100px !important
}

@media screen and (max-width: 767px) {
    .u-mb-xl {
        margin-bottom:50px !important
    }
}

.u-p-0 {
    padding: 0 !important
}

.u-p-5 {
    padding: 5px !important
}

.u-p-10 {
    padding: 10px !important
}

.u-p-15 {
    padding: 15px !important
}

.u-p-20 {
    padding: 20px !important
}

.u-p-25 {
    padding: 25px !important
}

.u-p-30 {
    padding: 30px !important
}

.u-p-35 {
    padding: 35px !important
}

.u-p-40 {
    padding: 40px !important
}

.u-p-45 {
    padding: 45px !important
}

.u-p-50 {
    padding: 50px !important
}

.u-pt-0 {
    padding-top: 0 !important
}

.u-pt-5 {
    padding-top: 5px !important
}

.u-pt-10 {
    padding-top: 10px !important
}

.u-pt-15 {
    padding-top: 15px !important
}

.u-pt-20 {
    padding-top: 20px !important
}

.u-pt-25 {
    padding-top: 25px !important
}

.u-pt-30 {
    padding-top: 30px !important
}

.u-pt-35 {
    padding-top: 35px !important
}

.u-pt-40 {
    padding-top: 40px !important
}

.u-pt-45 {
    padding-top: 45px !important
}

.u-pt-50 {
    padding-top: 50px !important
}

.u-pt-xs {
    padding-top: 20px !important
}

@media screen and (max-width: 767px) {
    .u-pt-xs {
        padding-top:10px !important
    }
}

.u-pt-sm {
    padding-top: 40px !important
}

@media screen and (max-width: 767px) {
    .u-pt-sm {
        padding-top:20px !important
    }
}

.u-pt-md {
    padding-top: 60px !important
}

@media screen and (max-width: 767px) {
    .u-pt-md {
        padding-top:30px !important
    }
}

.u-pt-lg {
    padding-top: 80px !important
}

@media screen and (max-width: 767px) {
    .u-pt-lg {
        padding-top:40px !important
    }
}

.u-pt-xl {
    padding-top: 100px !important
}

@media screen and (max-width: 767px) {
    .u-pt-xl {
        padding-top:50px !important
    }
}

.u-pb-0 {
    padding-bottom: 0 !important
}

.u-pb-5 {
    padding-bottom: 5px !important
}

.u-pb-10 {
    padding-bottom: 10px !important
}

.u-pb-15 {
    padding-bottom: 15px !important
}

.u-pb-20 {
    padding-bottom: 20px !important
}

.u-pb-25 {
    padding-bottom: 25px !important
}

.u-pb-30 {
    padding-bottom: 30px !important
}

.u-pb-35 {
    padding-bottom: 35px !important
}

.u-pb-40 {
    padding-bottom: 40px !important
}

.u-pb-45 {
    padding-bottom: 45px !important
}

.u-pb-50 {
    padding-bottom: 50px !important
}

.u-pb-xs {
    padding-bottom: 20px !important
}

@media screen and (max-width: 767px) {
    .u-pb-xs {
        padding-bottom:10px !important
    }
}

.u-pb-sm {
    padding-bottom: 40px !important
}

@media screen and (max-width: 767px) {
    .u-pb-sm {
        padding-bottom:20px !important
    }
}

.u-pb-md {
    padding-bottom: 60px !important
}

@media screen and (max-width: 767px) {
    .u-pb-md {
        padding-bottom:30px !important
    }
}

.u-pb-lg {
    padding-bottom: 80px !important
}

@media screen and (max-width: 767px) {
    .u-pb-lg {
        padding-bottom:40px !important
    }
}

.u-pb-xl {
    padding-bottom: 100px !important
}

@media screen and (max-width: 767px) {
    .u-pb-xl {
        padding-bottom:50px !important
    }
}

.u-pl-0 {
    padding-left: 0 !important
}

.u-pl-5 {
    padding-left: 5px !important
}

.u-pl-10 {
    padding-left: 10px !important
}

.u-pl-15 {
    padding-left: 15px !important
}

.u-pl-20 {
    padding-left: 20px !important
}

.u-pl-25 {
    padding-left: 25px !important
}

.u-pl-30 {
    padding-left: 30px !important
}

.u-pl-35 {
    padding-left: 35px !important
}

.u-pl-40 {
    padding-left: 40px !important
}

.u-pl-45 {
    padding-left: 45px !important
}

.u-pl-50 {
    padding-left: 50px !important
}

.u-pr-0 {
    padding-right: 0 !important
}

.u-pr-5 {
    padding-right: 5px !important
}

.u-pr-10 {
    padding-right: 10px !important
}

.u-pr-15 {
    padding-right: 15px !important
}

.u-pr-20 {
    padding-right: 20px !important
}

.u-pr-25 {
    padding-right: 25px !important
}

.u-pr-30 {
    padding-right: 30px !important
}

.u-pr-35 {
    padding-right: 35px !important
}

.u-pr-40 {
    padding-right: 40px !important
}

.u-pr-45 {
    padding-right: 45px !important
}

.u-pr-50 {
    padding-right: 50px !important
}
