@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500&family=Poppins:wght@300;400;500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Frank+Ruhl+Libre:wght@300;400;500&display=swap");
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
    font-weight: normal;
}

body {
    line-height: 1;
}

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

ul,
ol {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

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

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

del {
    text-decoration: line-through;
}

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

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

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

input,
select {
    vertical-align: middle;
}

img {
    vertical-align: middle;
}

#check_pm {
    display: block;
}
@media screen and (max-width: 1439px) {
    #check_pm {
        display: none;
    }
}

#check_ps {
    display: none;
}
@media screen and (max-width: 1439px) {
    #check_ps {
        display: block;
    }
}
@media screen and (max-width: 1199px) {
    #check_ps {
        display: none;
    }
}

#check_tl {
    display: none;
}
@media screen and (max-width: 1199px) {
    #check_tl {
        display: block;
    }
}
@media screen and (max-width: 979px) {
    #check_tl {
        display: none;
    }
}

#check_tm {
    display: none;
}
@media screen and (max-width: 979px) {
    #check_tm {
        display: block;
    }
}
@media screen and (max-width: 779px) {
    #check_tm {
        display: none;
    }
}

#check_ts {
    display: none;
}
@media screen and (max-width: 779px) {
    #check_ts {
        display: block;
    }
}
@media screen and (max-width: 599px) {
    #check_ts {
        display: none;
    }
}

#check_sl {
    display: none;
}
@media screen and (max-width: 599px) {
    #check_sl {
        display: block;
    }
}
@media screen and (max-width: 439px) {
    #check_sl {
        display: none;
    }
}

#check_sm {
    display: none;
}
@media screen and (max-width: 439px) {
    #check_sm {
        display: block;
    }
}
@media screen and (max-width: 339px) {
    #check_sm {
        display: none;
    }
}

#check_ss {
    display: none;
}
@media screen and (max-width: 339px) {
    #check_ss {
        display: block;
    }
}

.br_pc {
    display: block;
}
@media screen and (max-width: 1199px) {
    .br_pc {
        display: none;
    }
}

.br_tb {
    display: none;
}
@media screen and (max-width: 1199px) {
    .br_tb {
        display: block;
    }
}
@media screen and (max-width: 599px) {
    .br_tb {
        display: none;
    }
}

.br_sp {
    display: none;
}
@media screen and (max-width: 599px) {
    .br_sp {
        display: block;
    }
}

.br_pl_ps {
    display: block;
}
@media screen and (max-width: 1439px) {
    .br_pl_ps {
        display: none;
    }
}

.br_pl_tl {
    display: block;
}
@media screen and (max-width: 979px) {
    .br_pl_tl {
        display: none;
    }
}

.br_tm_ts {
    display: none;
}
@media screen and (max-width: 979px) {
    .br_tm_ts {
        display: block;
    }
}
@media screen and (max-width: 599px) {
    .br_tm_ts {
        display: none;
    }
}

.br_sl_ss {
    display: none;
}
@media screen and (max-width: 599px) {
    .br_sl_ss {
        display: block;
    }
}

.br_ts {
    display: none;
}
@media screen and (max-width: 779px) {
    .br_ts {
        display: block;
    }
}

.br_ts_sl {
    display: none;
}
@media screen and (max-width: 779px) {
    .br_ts_sl {
        display: block;
    }
}
@media screen and (max-width: 599px) {
    .br_ts_sl {
        display: none;
    }
}

.br_ts {
    display: none;
}
@media screen and (max-width: 779px) {
    .br_ts {
        display: block;
    }
}

.br_sl {
    display: none;
}
@media screen and (max-width: 599px) {
    .br_sl {
        display: block;
    }
}

.br_sm {
    display: none;
}
@media screen and (max-width: 439px) {
    .br_sm {
        display: block;
    }
}

.br_ss {
    display: none;
}
@media screen and (max-width: 339px) {
    .br_ss {
        display: block;
    }
}

@media screen and (max-width: 779px) {
    .br_pl_tm {
        display: none;
    }
}

@media screen and (max-width: 599px) {
    .br_pl_ts {
        display: none;
    }
}

@media screen and (max-width: 439px) {
    .br_pl_sl {
        display: none;
    }
}

.span_pc {
    display: inline-block;
}
@media screen and (max-width: 1199px) {
    .span_pc {
        display: none;
    }
}

.span_tb {
    display: none;
}
@media screen and (max-width: 1199px) {
    .span_tb {
        display: inline-block;
    }
}
@media screen and (max-width: 599px) {
    .span_tb {
        display: none;
    }
}

.span_sp {
    display: none;
}
@media screen and (max-width: 599px) {
    .span_sp {
        display: inline-block;
    }
}

.span_pl_tl {
    display: inline-block;
}
@media screen and (max-width: 979px) {
    .span_pl_tl {
        display: none;
    }
}

.span_tm_ts {
    display: none;
}
@media screen and (max-width: 979px) {
    .span_tm_ts {
        display: inline-block;
    }
}
@media screen and (max-width: 599px) {
    .span_tm_ts {
        display: none;
    }
}

.span_sl_ss {
    display: none;
}
@media screen and (max-width: 599px) {
    .span_sl_ss {
        display: inline-block;
    }
}

body {
    font-family: "Poppins", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    color: #000;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.05em;
    -webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: 100%;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
}

.font_zen {
    font-family: "Zen Old Mincho", serif;
}

body {
    font-size: 15px;
    font-weight: 400;
    line-height: 1em;
    letter-spacing: 0.05em;
}

h1 {
    font-size: 60px;
    font-weight: 600;
    line-height: 1em;
    letter-spacing: 0.1em;
}
@media screen and (max-width: 1199px) {
    h1 {
        font-size: 50px;
    }
}
@media screen and (max-width: 599px) {
    h1 {
        font-size: 40px;
    }
}

h2 {
    font-size: 48px;
    font-weight: 600;
    line-height: 1em;
    letter-spacing: 0.1em;
}
@media screen and (max-width: 1199px) {
    h2 {
        font-size: 40px;
    }
}
@media screen and (max-width: 599px) {
    h2 {
        font-size: 32px;
    }
}

h3 {
    font-size: 36px;
    font-weight: 600;
    line-height: 1em;
    letter-spacing: 0.1em;
}
@media screen and (max-width: 1199px) {
    h3 {
        font-size: 30px;
    }
}
@media screen and (max-width: 599px) {
    h3 {
        font-size: 26px;
    }
}

h4 {
    font-size: 24px;
    font-weight: 600;
    line-height: 1em;
    letter-spacing: 0.1em;
}
@media screen and (max-width: 1199px) {
    h4 {
        font-size: 22px;
    }
}
@media screen and (max-width: 599px) {
    h4 {
        font-size: 20px;
    }
}

h5 {
    font-size: 18px;
    font-weight: 600;
    line-height: 1em;
    letter-spacing: 0.1em;
}
@media screen and (max-width: 1199px) {
    h5 {
        font-size: 17px;
    }
}
@media screen and (max-width: 599px) {
    h5 {
        font-size: 16px;
    }
}

h6 {
    font-size: 15px;
    font-weight: 600;
    line-height: 1em;
    letter-spacing: 0.1em;
}
@media screen and (max-width: 1199px) {
    h6 {
        font-size: 14px;
    }
}
@media screen and (max-width: 599px) {
    h6 {
        font-size: 13px;
    }
}

p {
    font-size: 15px;
    line-height: 2em;
}
@media screen and (max-width: 1199px) {
    p {
        font-size: 14px;
    }
}
@media screen and (max-width: 599px) {
    p {
        font-size: 13px;
    }
}

p.text_lead {
    font-size: 16px;
}
@media screen and (max-width: 1199px) {
    p.text_lead {
        font-size: 15px;
    }
}
@media screen and (max-width: 599px) {
    p.text_lead {
        font-size: 14px;
    }
}

p.text_cap {
    font-size: 13px;
}
@media screen and (max-width: 1199px) {
    p.text_cap {
        font-size: 13px;
    }
}
@media screen and (max-width: 599px) {
    p.text_cap {
        font-size: 12px;
    }
}

p.text_note {
    font-size: 13px;
}
@media screen and (max-width: 1199px) {
    p.text_note {
        font-size: 13px;
    }
}
@media screen and (max-width: 599px) {
    p.text_note {
        font-size: 12px;
    }
}

a,
a:hover {
    color: #000;
}

a:link,
a:visited,
a:hover {
    text-decoration: none;
}

svg {
    overflow: visible;
}

.text_last {
    letter-spacing: 0;
}

@media screen and (max-width: 1199px) {
    .text_last_tl {
        letter-spacing: 0;
    }
}

@media screen and (max-width: 599px) {
    .text_last_sl {
        letter-spacing: 0;
    }
}

@media screen and (max-width: 439px) {
    .text_last_sm {
        letter-spacing: 0;
    }
}

@media screen and (max-width: 339px) {
    .text_last_ss {
        letter-spacing: 0;
    }
}

.text_hide {
    width: 0px;
    height: 0px;
    text-indent: -9999px;
    position: absolute;
    left: 0px;
    top: 0px;
}

.text_svg_replace {
    color: #f0f;
}

.keisen_long {
    margin-right: 0.4em;
    letter-spacing: -0.2em;
    color: #333;
}

.text_dot {
    margin-left: 0.005em;
    letter-spacing: -0.005em;
}

.block {
    display: inline-block;
}

.b {
    display: inline-block;
}

.k {
    letter-spacing: 0.1em;
}

.k50 {
    letter-spacing: -0.15em;
}

.k100 {
    letter-spacing: -0.1em;
}

.k150 {
    letter-spacing: -0.05em;
}

.k200 {
    letter-spacing: 0em;
}

.k250 {
    letter-spacing: 0.05em;
}

.k300 {
    letter-spacing: 0.1em;
}

.katakana {
    letter-spacing: -0.1em;
}

.katakana_03 {
    letter-spacing: 0.2em;
}

.maru {
    letter-spacing: -0.6em;
}

.ten {
    letter-spacing: -0.3em;
}

.ten_03 {
    letter-spacing: 0em;
}

.nakaguro {
    letter-spacing: -0.1em;
}

.ls5m {
    letter-spacing: -0.5em;
}

.ls45m {
    letter-spacing: -0.45em;
}

.ls4m {
    letter-spacing: -0.4em;
}

.ls35m {
    letter-spacing: -0.35em;
}

.ls3m {
    letter-spacing: -0.3em;
}

.ls25m {
    letter-spacing: -0.25em;
}

.ls2m {
    letter-spacing: -0.2em;
}

.ls15m {
    letter-spacing: -0.15em;
}

.ls1m {
    letter-spacing: -0.1em;
}

.ls05m {
    letter-spacing: -0.05em;
}

.ls0 {
    letter-spacing: 0em;
}

.ls05 {
    letter-spacing: 0.05em;
}

.ls1 {
    letter-spacing: 0.1em;
}

.ls15 {
    letter-spacing: 0.15em;
}

.ls2 {
    letter-spacing: 0.2em;
}

.ls25 {
    letter-spacing: 0.25em;
}

.ls3 {
    letter-spacing: 0.3em;
}

.ls35 {
    letter-spacing: 0.35em;
}

.ls4 {
    letter-spacing: 0.4em;
}

.ls45 {
    letter-spacing: 0.45em;
}

.ls5 {
    letter-spacing: 0.5em;
}

.ls55 {
    letter-spacing: 0.55em;
}

.ls6 {
    letter-spacing: 0.6em;
}

.ls65 {
    letter-spacing: 0.65em;
}

.ls7 {
    letter-spacing: 0.7em;
}

.ml5m {
    margin-left: -0.5em;
}

.ml45m {
    margin-left: -0.45em;
}

.ml4m {
    margin-left: -0.4em;
}

.ml35m {
    margin-left: -0.35em;
}

.ml3m {
    margin-left: -0.3em;
}

.ml25m {
    margin-left: -0.25em;
}

.ml2m {
    margin-left: -0.2em;
}

.ml15m {
    margin-left: -0.15em;
}

.ml1m {
    margin-left: -0.1em;
}

.ml05m {
    margin-left: -0.05em;
}

.ml0 {
    margin-left: 0em;
}

.ml05 {
    margin-left: 0.05em;
}

.ml1 {
    margin-left: 0.1em;
}

.ml15 {
    margin-left: 0.15em;
}

.ml2 {
    margin-left: 0.2em;
}

.ml25 {
    margin-left: 0.25em;
}

.ml3 {
    margin-left: 0.3em;
}

.ml35 {
    margin-left: 0.35em;
}

.ml4 {
    margin-left: 0.4em;
}

.ml45 {
    margin-left: 0.45em;
}

.ml5 {
    margin-left: 0.5em;
}

.mt7m {
    margin-top: -0.7em;
}

.mt65m {
    margin-top: -0.65em;
}

.mt6m {
    margin-top: -0.6em;
}

.mt55m {
    margin-top: -0.55em;
}

.mt5m {
    margin-top: -0.5em;
}

.mt45m {
    margin-top: -0.45em;
}

.mt4m {
    margin-top: -0.4em;
}

.mt35m {
    margin-top: -0.35em;
}

.mt3m {
    margin-top: -0.3em;
}

.mt25m {
    margin-top: -0.25em;
}

.mt2m {
    margin-top: -0.2em;
}

.mt15m {
    margin-top: -0.15em;
}

.mt1m {
    margin-top: -0.1em;
}

.mt05m {
    margin-top: -0.05em;
}

.mt0 {
    margin-top: 0em;
}

.mt05 {
    margin-top: 0.05em;
}

.mt1 {
    margin-top: 0.1em;
}

.mt15 {
    margin-top: 0.15em;
}

.mt2 {
    margin-top: 0.2em;
}

.mt25 {
    margin-top: 0.25em;
}

.mt3 {
    margin-top: 0.3em;
}

.mt35 {
    margin-top: 0.35em;
}

.mt4 {
    margin-top: 0.4em;
}

.mt45 {
    margin-top: 0.45em;
}

.mt5 {
    margin-top: 0.5em;
}

.fadeO,
.fadeFvO {
    opacity: 0;
}

.fadeB,
.fadeFvB {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
}

.fadeB10,
.fadeFvB10 {
    opacity: 0;
    -webkit-transform: translateY(10px);
            transform: translateY(10px);
}

.fadeT,
.fadeFvT {
    opacity: 0;
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px);
}

.fadeR,
.fadeFvR {
    opacity: 0;
    -webkit-transform: translateX(20px);
            transform: translateX(20px);
}

.fadeR10,
.fadeFvR10 {
    opacity: 0;
    -webkit-transform: translateX(10px);
            transform: translateX(10px);
}

.fadeL,
.fadeFvL {
    opacity: 0;
    -webkit-transform: translateX(-20px);
            transform: translateX(-20px);
}
@media screen and (max-width: 779px) {
    .fadeL,
    .fadeFvL {
        -webkit-transform: translateY(20px);
                transform: translateY(20px);
    }
}

.fadeO.fadeIn,
.fadeB.fadeIn,
.fadeB10.fadeIn,
.fadeT.fadeIn,
.fadeR.fadeIn,
.fadeR10.fadeIn,
.fadeL.fadeIn,
.fadeFvO.fadeIn,
.fadeFvB.fadeIn,
.fadeFvB10.fadeIn,
.fadeFvT.fadeIn,
.fadeFvR.fadeIn,
.fadeFvR10.fadeIn,
.fadeFvL.fadeIn {
    -webkit-transition: opacity 1s cubic-bezier(0.33, 1, 0.68, 1), -webkit-transform 1s cubic-bezier(0.25, 1, 0.5, 1);
    transition: opacity 1s cubic-bezier(0.33, 1, 0.68, 1), -webkit-transform 1s cubic-bezier(0.25, 1, 0.5, 1);
    transition: opacity 1s cubic-bezier(0.33, 1, 0.68, 1), transform 1s cubic-bezier(0.25, 1, 0.5, 1);
    transition: opacity 1s cubic-bezier(0.33, 1, 0.68, 1), transform 1s cubic-bezier(0.25, 1, 0.5, 1), -webkit-transform 1s cubic-bezier(0.25, 1, 0.5, 1);
    opacity: 1;
    -webkit-transform: translateX(0px) translateY(0px);
            transform: translateX(0px) translateY(0px);
}

.fadeLine,
.fadeFvLine {
    width: 0px;
}

.fadeLine.fadeIn,
.fadeFvLine.fadeIn {
    -webkit-transition: width 1s cubic-bezier(0.25, 1, 0.5, 1);
    transition: width 1s cubic-bezier(0.25, 1, 0.5, 1);
    width: 100%;
}

.fadeBoxL,
.fadeFvBoxL {
    opacity: 0;
    left: 50%;
}

.fadeBoxL.fadeIn,
.fadeFvBoxL.fadeIn {
    -webkit-transition: opacity 1s cubic-bezier(0.33, 1, 0.68, 1), left 1s cubic-bezier(0.25, 1, 0.5, 1);
    transition: opacity 1s cubic-bezier(0.33, 1, 0.68, 1), left 1s cubic-bezier(0.25, 1, 0.5, 1);
    opacity: 1;
    left: 0%;
}

.fadeBoxR,
.fadeFvBoxR {
    opacity: 0;
    right: 50%;
}

.fadeBoxR.fadeIn,
.fadeFvBoxR.fadeIn {
    -webkit-transition: opacity 1s cubic-bezier(0.33, 1, 0.68, 1), right 1s cubic-bezier(0.25, 1, 0.5, 1);
    transition: opacity 1s cubic-bezier(0.33, 1, 0.68, 1), right 1s cubic-bezier(0.25, 1, 0.5, 1);
    opacity: 1;
    right: 0%;
}

.fadePhoto,
.fadeFvPhoto {
    overflow: hidden;
}
.fadePhoto .photo_container,
.fadeFvPhoto .photo_container {
    opacity: 0;
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
}

.fadePhoto.fadeIn .photo_container,
.fadeFvPhoto.fadeIn .photo_container {
    -webkit-transition: opacity 1s cubic-bezier(0.33, 1, 0.68, 1), -webkit-transform 1s cubic-bezier(0.25, 1, 0.5, 1);
    transition: opacity 1s cubic-bezier(0.33, 1, 0.68, 1), -webkit-transform 1s cubic-bezier(0.25, 1, 0.5, 1);
    transition: opacity 1s cubic-bezier(0.33, 1, 0.68, 1), transform 1s cubic-bezier(0.25, 1, 0.5, 1);
    transition: opacity 1s cubic-bezier(0.33, 1, 0.68, 1), transform 1s cubic-bezier(0.25, 1, 0.5, 1), -webkit-transform 1s cubic-bezier(0.25, 1, 0.5, 1);
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
}

html {
    overflow-y: scroll;
}

#wrapper {
    width: 100%;
    overflow: hidden;
}

* {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

#header {
    -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.76, 0, 0.24, 1);
    transition: -webkit-transform 0.5s cubic-bezier(0.76, 0, 0.24, 1);
    transition: transform 0.5s cubic-bezier(0.76, 0, 0.24, 1);
    transition: transform 0.5s cubic-bezier(0.76, 0, 0.24, 1), -webkit-transform 0.5s cubic-bezier(0.76, 0, 0.24, 1);
    width: 100%;
    position: fixed;
    top: 0px;
    left: 0px;
    z-index: 101;
}
#header .bg {
    display: none;
    -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.33, 1, 0.68, 1);
    transition: -webkit-transform 0.5s cubic-bezier(0.33, 1, 0.68, 1);
    transition: transform 0.5s cubic-bezier(0.33, 1, 0.68, 1);
    transition: transform 0.5s cubic-bezier(0.33, 1, 0.68, 1), -webkit-transform 0.5s cubic-bezier(0.33, 1, 0.68, 1);
    width: 100%;
    height: 110px;
    background-color: #fff;
    position: absolute;
    top: -100px;
    left: 0px;
}
@media screen and (max-width: 979px) {
    #header .bg {
        display: block;
        height: 170px;
    }
}
@media screen and (max-width: 599px) {
    #header .bg {
        height: 160px;
    }
}
#header .nav_switch {
    -webkit-transition: opacity 0.2s linear, -webkit-transform 0.5s cubic-bezier(0.33, 1, 0.68, 1);
    transition: opacity 0.2s linear, -webkit-transform 0.5s cubic-bezier(0.33, 1, 0.68, 1);
    transition: transform 0.5s cubic-bezier(0.33, 1, 0.68, 1), opacity 0.2s linear;
    transition: transform 0.5s cubic-bezier(0.33, 1, 0.68, 1), opacity 0.2s linear, -webkit-transform 0.5s cubic-bezier(0.33, 1, 0.68, 1);
    position: absolute;
    top: 30px;
    right: 30px;
    cursor: pointer;
}
@media screen and (max-width: 1199px) {
    #header .nav_switch {
        top: 23.5px;
        right: 23.5px;
    }
}
@media screen and (max-width: 599px) {
    #header .nav_switch {
        top: 18.8px;
        right: 18.8px;
    }
}
#header .nav_switch .capsule .svg {
    width: 70px;
    height: 28px;
}
@media screen and (max-width: 1199px) {
    #header .nav_switch .capsule .svg {
        width: 63px;
        height: 25.2px;
    }
}
@media screen and (max-width: 599px) {
    #header .nav_switch .capsule .svg {
        width: 56px;
        height: 22.4px;
    }
}
@media screen and (max-width: 1199px) {
    #header .nav_switch .capsule .svg svg {
        width: 63px;
        height: 25.2px;
    }
}
@media screen and (max-width: 599px) {
    #header .nav_switch .capsule .svg svg {
        width: 56px;
        height: 22.4px;
    }
}
#header .nav_switch .capsule .svg svg .st0 {
    -webkit-transition: stroke 0.5s;
    transition: stroke 0.5s;
    fill: none;
    stroke: #fff;
}
@media screen and (max-width: 979px) {
    #header .nav_switch .capsule .svg svg .st0 {
        stroke: #0075c2;
    }
}
#header .nav_switch .capsule .svg svg .st1 {
    -webkit-transition: stroke 0.5s;
    transition: stroke 0.5s;
    fill: none;
    stroke: #fff;
    stroke-linecap: round;
}
@media screen and (max-width: 979px) {
    #header .nav_switch .capsule .svg svg .st1 {
        stroke: #0075c2;
    }
}
#header .nav_switch .text {
    -webkit-transition: color 0.5s;
    transition: color 0.5s;
    padding-left: 0.2em;
    font-size: 10px;
    font-weight: 400;
    line-height: 1em;
    letter-spacing: 0.2em;
    color: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateX(-50%) translateY(-50%);
            transform: translateX(-50%) translateY(-50%);
}
@media screen and (max-width: 1199px) {
    #header .nav_switch .text {
        font-size: 9px;
    }
}
@media screen and (max-width: 599px) {
    #header .nav_switch .text {
        font-size: 8px;
    }
}
@media screen and (max-width: 979px) {
    #header .nav_switch .text {
        color: #0075c2;
    }
}
#header .nav_switch:hover {
    opacity: 0.5;
}
@media screen and (max-width: 979px) {
    #header .nav_switch:hover {
        opacity: 1;
    }
}
#header .nav_switch.blue .capsule .svg svg .st0 {
    stroke: #0075c2;
}
#header .nav_switch.blue .capsule .svg svg .st1 {
    stroke: #0075c2;
}
#header .nav_switch.blue .text {
    color: #0075c2;
}
#header .nav_switch.navy .capsule .svg svg .st0 {
    stroke: #004990;
}
#header .nav_switch.navy .capsule .svg svg .st1 {
    stroke: #004990;
}
#header .nav_switch.navy .text {
    color: #004990;
}
#header .nav_switch.black .capsule .svg svg .st0 {
    stroke: #000;
}
#header .nav_switch.black .capsule .svg svg .st1 {
    stroke: #000;
}
#header .nav_switch.black .text {
    color: #000;
}
#header .logo {
    -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.33, 1, 0.68, 1);
    transition: -webkit-transform 0.5s cubic-bezier(0.33, 1, 0.68, 1);
    transition: transform 0.5s cubic-bezier(0.33, 1, 0.68, 1);
    transition: transform 0.5s cubic-bezier(0.33, 1, 0.68, 1), -webkit-transform 0.5s cubic-bezier(0.33, 1, 0.68, 1);
    position: absolute;
    top: 0;
    left: 0;
    display: none;
}
@media screen and (max-width: 979px) {
    #header .logo {
        display: block;
    }
}
#header .logo a .logo_container {
    width: 224px;
    height: 86px;
    background-color: #fff;
}
@media screen and (max-width: 1199px) {
    #header .logo a .logo_container {
        width: 190px;
        height: 70px;
    }
}
@media screen and (max-width: 599px) {
    #header .logo a .logo_container {
        width: 156px;
        height: 60px;
    }
}
#header .logo a .logo_container .svg {
    padding-top: 25px;
    padding-left: 25px;
}
@media screen and (max-width: 1199px) {
    #header .logo a .logo_container .svg {
        padding-top: 19.5px;
        padding-left: 19.5px;
    }
}
@media screen and (max-width: 599px) {
    #header .logo a .logo_container .svg {
        padding-top: 17px;
        padding-left: 17px;
    }
}
@media screen and (max-width: 1199px) {
    #header .logo a .logo_container .svg svg {
        width: 150px;
        height: 31px;
    }
}
@media screen and (max-width: 599px) {
    #header .logo a .logo_container .svg svg {
        width: 125.5px;
        height: 26px;
    }
}
#header .logo a .logo_container .svg svg .st0_logo {
    fill: #00a0eb;
}
#header .logo a .logo_container .svg svg .st1_logo {
    fill: #0076c5;
}
#header .logo a .logo_container .svg svg .st2_logo {
    fill: #004793;
}
#header .logo a .logo_container .svg svg .st3_logo {
    fill: #737272;
}
#header .nav_link {
    -webkit-transition: all 0.5s cubic-bezier(0.33, 1, 0.68, 1);
    transition: all 0.5s cubic-bezier(0.33, 1, 0.68, 1);
    bottom: 0px;
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
    position: fixed;
    right: 30px;
}
@media screen and (max-width: 1199px) {
    #header .nav_link {
        right: 22px;
    }
}
@media screen and (max-width: 979px) {
    #header .nav_link {
        display: none;
    }
}
@media screen and (max-width: 599px) {
    #header .nav_link {
        right: 15px;
    }
}
#header .nav_link ul li {
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 90px;
    height: 25px;
    background-color: #0075c2;
    border: 1px solid #0075c2;
    cursor: pointer;
}
#header .nav_link ul li .text {
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    font-size: 10px;
    font-weight: 500;
    line-height: 1em;
    letter-spacing: 0.15em;
    color: #fff;
}
#header .nav_link ul li:hover {
    background-color: #fff;
}
#header .nav_link ul li:hover .text {
    color: #0075c2;
}
#header .nav_link.setTransition {
    -webkit-transition: all 0.5s cubic-bezier(0.33, 1, 0.68, 1);
    transition: all 0.5s cubic-bezier(0.33, 1, 0.68, 1);
}
#header .nav_link.show {
    bottom: 30px;
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
}
@media screen and (max-width: 1199px) {
    #header .nav_link.show {
        bottom: 22px;
    }
}
@media screen and (max-width: 599px) {
    #header .nav_link.show {
        bottom: 15px;
    }
}
#header .nav_close_bg {
    -webkit-transition: opacity 0.5s cubic-bezier(0.65, 0, 0.35, 1), width 0s 0.5s;
    transition: opacity 0.5s cubic-bezier(0.65, 0, 0.35, 1), width 0s 0.5s;
    opacity: 0;
    width: 0px;
    height: 100vh;
    height: 100dvh;
    background-color: #000;
    position: absolute;
    top: 0;
    right: 0;
}
#header #nav {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
    width: 760px;
    height: 100vh;
    height: 100dvh;
    background-color: #0075c2;
    position: fixed;
    top: 0px;
    right: 0px;
}
@media screen and (max-width: 779px) {
    #header #nav {
        width: 100vw;
    }
}
#header #nav .copyright {
    position: absolute;
    right: 33px;
    bottom: 33px;
}
@media screen and (max-width: 779px) {
    #header #nav .copyright {
        display: none;
    }
}
#header #nav .copyright .text {
    padding-left: 0.1em;
    font-size: 11px;
    font-weight: 400;
    line-height: 1em;
    letter-spacing: 0.1em;
    color: #004990;
}
@media screen and (max-width: 1199px) {
    #header #nav .copyright .text {
        font-size: 10.5px;
    }
}
@media screen and (max-width: 599px) {
    #header #nav .copyright .text {
        font-size: 10px;
    }
}
#header #nav .line_tate {
    width: 1px;
    height: 100%;
    background-color: #fff;
    position: fixed;
    left: 400px;
    top: 0;
}
@media screen and (max-width: 779px) {
    #header #nav .line_tate {
        display: none;
    }
}
#header #nav .nav_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 100%;
    position: relative;
    overflow: scroll;
}
@media screen and (max-width: 779px) {
    #header #nav .nav_wrap {
        display: block;
    }
}
@media screen and (max-height: 818px) {
    #header #nav .nav_wrap {
        display: block;
    }
}
#header #nav .nav_wrap .nav_container {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 400px 360px;
    grid-template-columns: 400px 360px;
    -ms-flex-line-pack: center;
        align-content: center;
    position: relative;
}
@media screen and (max-width: 779px) {
    #header #nav .nav_wrap .nav_container {
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
        margin: 0 auto;
        width: 74vw;
    }
}
@media screen and (max-height: 818px) {
    #header #nav .nav_wrap .nav_container {
        padding: 40px 0;
    }
}
@media screen and (max-height: 818px) and (max-width: 779px) {
    #header #nav .nav_wrap .nav_container {
        padding: 0;
    }
}
#header #nav .nav_wrap .nav_container .sub_nav_mobile {
    display: none;
    -ms-grid-columns: 38fr 62fr;
    grid-template-columns: 38fr 62fr;
    margin: 100px auto 0;
    width: 100%;
}
@media screen and (max-width: 779px) {
    #header #nav .nav_wrap .nav_container .sub_nav_mobile {
        display: -ms-grid;
        display: grid;
    }
}
#header #nav .nav_wrap .nav_container .sub_nav_mobile .entry .btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border: 1px solid #fff;
    height: 30px;
    cursor: pointer;
}
#header #nav .nav_wrap .nav_container .sub_nav_mobile .entry .btn .text {
    padding-left: 0.08em;
    font-size: 14px;
    font-weight: 500;
    line-height: 1em;
    letter-spacing: 0.08em;
    color: #fff;
}
@media screen and (max-width: 1199px) {
    #header #nav .nav_wrap .nav_container .sub_nav_mobile .entry .btn .text {
        font-size: 13px;
    }
}
@media screen and (max-width: 599px) {
    #header #nav .nav_wrap .nav_container .sub_nav_mobile .entry .btn .text {
        font-size: 12px;
    }
}
#header #nav .nav_wrap .nav_container .sub_nav_mobile .corporate .btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border: 1px solid #fff;
    border-left: none;
    height: 30px;
}
#header #nav .nav_wrap .nav_container .sub_nav_mobile .corporate .btn .text {
    padding-left: 0.08em;
    font-size: 14px;
    font-weight: 500;
    line-height: 1em;
    letter-spacing: 0.08em;
    color: #fff;
}
@media screen and (max-width: 1199px) {
    #header #nav .nav_wrap .nav_container .sub_nav_mobile .corporate .btn .text {
        font-size: 13px;
    }
}
@media screen and (max-width: 599px) {
    #header #nav .nav_wrap .nav_container .sub_nav_mobile .corporate .btn .text {
        font-size: 12px;
    }
}
#header #nav .nav_wrap .nav_container .nav_ul {
    margin-left: 80px;
    width: 320px;
    position: relative;
}
@media screen and (max-width: 779px) {
    #header #nav .nav_wrap .nav_container .nav_ul {
        margin-top: 30px;
        margin-left: auto;
        margin-right: auto;
        width: 100%;
    }
}
#header #nav .nav_wrap .nav_container .nav_ul .nav_li {
    position: relative;
    height: 82px;
}
@media screen and (max-width: 779px) {
    #header #nav .nav_wrap .nav_container .nav_ul .nav_li {
        height: auto;
    }
}
#header #nav .nav_wrap .nav_container .nav_ul .nav_li::before {
    content: "";
    display: inline-block;
    width: 100%;
    height: 1px;
    background-color: #fff;
    position: absolute;
    left: 0;
    top: 0;
}
#header #nav .nav_wrap .nav_container .nav_ul .nav_li a {
    -webkit-transition: color 0.2s linear;
    transition: color 0.2s linear;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    height: 100%;
    color: #fff;
}
@media screen and (max-width: 779px) {
    #header #nav .nav_wrap .nav_container .nav_ul .nav_li a {
        padding: 20px 0;
    }
}
#header #nav .nav_wrap .nav_container .nav_ul .nav_li a .btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
}
#header #nav .nav_wrap .nav_container .nav_ul .nav_li a .btn .en {
    font-size: 20px;
    font-weight: 500;
    line-height: 1em;
    letter-spacing: 0.12em;
}
#header #nav .nav_wrap .nav_container .nav_ul .nav_li a .btn .en span {
    font-weight: 500;
}
@media screen and (max-width: 1199px) {
    #header #nav .nav_wrap .nav_container .nav_ul .nav_li a .btn .en {
        font-size: 19px;
    }
}
@media screen and (max-width: 599px) {
    #header #nav .nav_wrap .nav_container .nav_ul .nav_li a .btn .en {
        font-size: 18px;
    }
}
#header #nav .nav_wrap .nav_container .nav_ul .nav_li a .btn .jp {
    margin-left: 13px;
    margin-bottom: 1px;
    font-size: 12px;
    font-weight: 400;
    line-height: 1em;
    letter-spacing: 0.15em;
}
@media screen and (max-width: 1199px) {
    #header #nav .nav_wrap .nav_container .nav_ul .nav_li a .btn .jp {
        font-size: 11px;
    }
}
@media screen and (max-width: 599px) {
    #header #nav .nav_wrap .nav_container .nav_ul .nav_li a .btn .jp {
        font-size: 10px;
    }
}
@media screen and (max-width: 1199px) {
    #header #nav .nav_wrap .nav_container .nav_ul .nav_li a .btn .jp {
        font-size: 12px;
    }
}
@media screen and (max-width: 599px) {
    #header #nav .nav_wrap .nav_container .nav_ul .nav_li a .btn .jp {
        font-size: 12px;
    }
}
#header #nav .nav_wrap .nav_container .nav_ul .nav_li a:hover {
    color: #004990;
}
@media screen and (max-width: 979px) {
    #header #nav .nav_wrap .nav_container .nav_ul .nav_li a:hover {
        color: #fff;
    }
}
#header #nav .nav_wrap .nav_container .nav_ul .nav_li:nth-of-type(1) {
    display: none;
}
@media screen and (max-width: 779px) {
    #header #nav .nav_wrap .nav_container .nav_ul .nav_li:nth-of-type(1) {
        display: block;
    }
}
#header #nav .nav_wrap .nav_container .nav_ul .nav_li:nth-of-type(1)::before {
    display: none;
}
#header #nav .nav_wrap .nav_container .nav_ul .nav_li:nth-of-type(2)::before {
    display: none;
}
@media screen and (max-width: 779px) {
    #header #nav .nav_wrap .nav_container .nav_ul .nav_li:nth-of-type(2)::before {
        display: block;
    }
}
#header #nav .nav_wrap .nav_container .sub_nav {
    position: relative;
}
@media screen and (max-width: 779px) {
    #header #nav .nav_wrap .nav_container .sub_nav {
        display: none;
    }
}
#header #nav .nav_wrap .nav_container .sub_nav .top_space {
    height: 82px;
}
#header #nav .nav_wrap .nav_container .sub_nav .entry {
    height: 246px;
    border-top: 1px solid #fff;
}
#header #nav .nav_wrap .nav_container .sub_nav .entry .title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: -9px;
}
#header #nav .nav_wrap .nav_container .sub_nav .entry .title .en {
    padding: 0 15px;
    background-color: #0075c2;
}
#header #nav .nav_wrap .nav_container .sub_nav .entry .title .en .text {
    font-size: 18px;
    font-weight: 500;
    line-height: 1em;
    letter-spacing: 0.15em;
    color: #fff;
}
#header #nav .nav_wrap .nav_container .sub_nav .entry .title .en .text span {
    font-weight: 500;
}
@media screen and (max-width: 1199px) {
    #header #nav .nav_wrap .nav_container .sub_nav .entry .title .en .text {
        font-size: 17px;
    }
}
@media screen and (max-width: 599px) {
    #header #nav .nav_wrap .nav_container .sub_nav .entry .title .en .text {
        font-size: 16px;
    }
}
#header #nav .nav_wrap .nav_container .sub_nav .entry .entry_box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}
#header #nav .nav_wrap .nav_container .sub_nav .entry .entry_box a .btn {
    -webkit-transition: background-color 0.2s linear;
    transition: background-color 0.2s linear;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 200px;
    height: 45px;
    border: 1px solid #fff;
}
#header #nav .nav_wrap .nav_container .sub_nav .entry .entry_box a .btn .text {
    -webkit-transition: color 0.2s linear;
    transition: color 0.2s linear;
    padding-left: 0.15em;
    font-size: 13px;
    font-weight: 400;
    line-height: 1em;
    letter-spacing: 0.15em;
    color: #fff;
}
@media screen and (max-width: 1199px) {
    #header #nav .nav_wrap .nav_container .sub_nav .entry .entry_box a .btn .text {
        font-size: 12px;
    }
}
@media screen and (max-width: 599px) {
    #header #nav .nav_wrap .nav_container .sub_nav .entry .entry_box a .btn .text {
        font-size: 11px;
    }
}
#header #nav .nav_wrap .nav_container .sub_nav .entry .entry_box a:hover .btn {
    background-color: #fff;
}
#header #nav .nav_wrap .nav_container .sub_nav .entry .entry_box a:hover .btn .text {
    color: #0075c2;
}
#header #nav .nav_wrap .nav_container .sub_nav .entry .entry_box_1 {
    margin-top: 30px;
}
#header #nav .nav_wrap .nav_container .sub_nav .entry .entry_box_2 {
    margin-top: 20px;
}
#header #nav .nav_wrap .nav_container .sub_nav .top {
    height: 164px;
    border-top: 1px solid #fff;
}
#header #nav .nav_wrap .nav_container .sub_nav .top a {
    -webkit-transition: color 0.2s linear;
    transition: color 0.2s linear;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    height: 100%;
    color: #fff;
}
#header #nav .nav_wrap .nav_container .sub_nav .top a .btn .en {
    padding-left: 0.15em;
    font-size: 15px;
    font-weight: 500;
    line-height: 1em;
    letter-spacing: 0.15em;
    text-align: center;
}
#header #nav .nav_wrap .nav_container .sub_nav .top a .btn .en span {
    font-weight: 500;
}
@media screen and (max-width: 1199px) {
    #header #nav .nav_wrap .nav_container .sub_nav .top a .btn .en {
        font-size: 14px;
    }
}
@media screen and (max-width: 599px) {
    #header #nav .nav_wrap .nav_container .sub_nav .top a .btn .en {
        font-size: 13px;
    }
}
#header #nav .nav_wrap .nav_container .sub_nav .top a .btn .jp {
    margin-top: 10px;
    padding-left: 0.15em;
    font-size: 12px;
    font-weight: 400;
    line-height: 1em;
    letter-spacing: 0.15em;
    text-align: center;
}
@media screen and (max-width: 1199px) {
    #header #nav .nav_wrap .nav_container .sub_nav .top a .btn .jp {
        font-size: 11px;
    }
}
@media screen and (max-width: 599px) {
    #header #nav .nav_wrap .nav_container .sub_nav .top a .btn .jp {
        font-size: 10px;
    }
}
#header #nav .nav_wrap .nav_container .sub_nav .top a:hover {
    color: #004990;
}
#header #nav .nav_wrap .nav_container .sub_nav .corporate {
    height: 164px;
    border-top: 1px solid #fff;
}
#header #nav .nav_wrap .nav_container .sub_nav .corporate a {
    -webkit-transition: color 0.2s linear;
    transition: color 0.2s linear;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    height: 100%;
    color: #fff;
}
#header #nav .nav_wrap .nav_container .sub_nav .corporate a .btn .en .text {
    padding-left: 0.15em;
    font-size: 15px;
    font-weight: 500;
    line-height: 1em;
    letter-spacing: 0.15em;
    text-align: center;
}
#header #nav .nav_wrap .nav_container .sub_nav .corporate a .btn .en .text span {
    font-weight: 500;
}
@media screen and (max-width: 1199px) {
    #header #nav .nav_wrap .nav_container .sub_nav .corporate a .btn .en .text {
        font-size: 14px;
    }
}
@media screen and (max-width: 599px) {
    #header #nav .nav_wrap .nav_container .sub_nav .corporate a .btn .en .text {
        font-size: 13px;
    }
}
#header #nav .nav_wrap .nav_container .sub_nav .corporate a .btn .jp {
    margin-top: 10px;
}
#header #nav .nav_wrap .nav_container .sub_nav .corporate a .btn .jp .text {
    padding-left: 0.15em;
    font-size: 12px;
    font-weight: 400;
    line-height: 1em;
    letter-spacing: 0.15em;
    text-align: center;
}
@media screen and (max-width: 1199px) {
    #header #nav .nav_wrap .nav_container .sub_nav .corporate a .btn .jp .text {
        font-size: 11px;
    }
}
@media screen and (max-width: 599px) {
    #header #nav .nav_wrap .nav_container .sub_nav .corporate a .btn .jp .text {
        font-size: 10px;
    }
}
#header #nav .nav_wrap .nav_container .sub_nav .corporate a:hover {
    color: #004990;
}
#header #nav .nav_wrap .nav_container .sub_nav .bottom_space {
    height: 82px;
    border-top: 1px solid #fff;
}
#header #nav .nav_wrap .nav_container .copyright_mobile {
    display: none;
    margin: 30px auto 50px;
    width: 100%;
}
@media screen and (max-width: 779px) {
    #header #nav .nav_wrap .nav_container .copyright_mobile {
        display: -ms-grid;
        display: grid;
    }
}
#header #nav .nav_wrap .nav_container .copyright_mobile .text {
    padding-left: 0.1em;
    font-size: 11px;
    font-weight: 400;
    line-height: 1em;
    letter-spacing: 0.1em;
    color: #004990;
}
@media screen and (max-width: 1199px) {
    #header #nav .nav_wrap .nav_container .copyright_mobile .text {
        font-size: 10.5px;
    }
}
@media screen and (max-width: 599px) {
    #header #nav .nav_wrap .nav_container .copyright_mobile .text {
        font-size: 10px;
    }
}
#header #nav.setTransition {
    -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.65, 0, 0.35, 1);
    transition: -webkit-transform 0.5s cubic-bezier(0.65, 0, 0.35, 1);
    transition: transform 0.5s cubic-bezier(0.65, 0, 0.35, 1);
    transition: transform 0.5s cubic-bezier(0.65, 0, 0.35, 1), -webkit-transform 0.5s cubic-bezier(0.65, 0, 0.35, 1);
}
#header .nav_close {
    -webkit-transition: opacity 0.3s linear, top 0s 0.3s, right 0.5s cubic-bezier(0.76, 0, 0.24, 1);
    transition: opacity 0.3s linear, top 0s 0.3s, right 0.5s cubic-bezier(0.76, 0, 0.24, 1);
    opacity: 0;
    top: -100px;
    position: absolute;
    right: 40px;
}
@media screen and (max-width: 779px) {
    #header .nav_close {
        right: 3px;
    }
}
@media screen and (max-height: 728px) {
    #header .nav_close {
        right: 15px;
    }
}
@media screen and (max-height: 728px) and (max-width: 779px) {
    #header .nav_close {
        right: 3px;
    }
}
#header .nav_close .btn {
    width: 50px;
    height: 50px;
    background-color: #0075c2;
    cursor: pointer;
}
@media screen and (max-width: 779px) {
    #header .nav_close .btn {
        background-color: transparent;
    }
}
#header .nav_close .btn span {
    -webkit-transition: background-color 0.2s linear;
    transition: background-color 0.2s linear;
    width: 30px;
    height: 1px;
    background-color: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
}
@media screen and (max-width: 779px) {
    #header .nav_close .btn span {
        width: 27px;
    }
}
#header .nav_close .btn span:nth-of-type(1) {
    -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg);
            transform: translateX(-50%) translateY(-50%) rotate(45deg);
}
#header .nav_close .btn span:nth-of-type(2) {
    -webkit-transform: translateX(-50%) translateY(-50%) rotate(-45deg);
            transform: translateX(-50%) translateY(-50%) rotate(-45deg);
}
#header .nav_close .btn:hover span {
    background-color: #004990;
}
@media screen and (max-width: 979px) {
    #header .nav_close .btn:hover span {
        background-color: #fff;
    }
}

#header.hide .bg {
    -webkit-transform: translateY(-86px);
            transform: translateY(-86px);
}
@media screen and (max-width: 979px) {
    #header.hide .bg {
        -webkit-transform: translateY(-70px);
                transform: translateY(-70px);
    }
}
@media screen and (max-width: 599px) {
    #header.hide .bg {
        -webkit-transform: translateY(-60px);
                transform: translateY(-60px);
    }
}
#header.hide .logo {
    -webkit-transform: translateY(-86px);
            transform: translateY(-86px);
}
@media screen and (max-width: 979px) {
    #header.hide .logo {
        -webkit-transform: translateY(-70px);
                transform: translateY(-70px);
    }
}
@media screen and (max-width: 599px) {
    #header.hide .logo {
        -webkit-transform: translateY(-60px);
                transform: translateY(-60px);
    }
}
#header.hide .nav_switch {
    -webkit-transform: translateY(-86px);
            transform: translateY(-86px);
}
@media screen and (max-width: 979px) {
    #header.hide .nav_switch {
        -webkit-transform: translateY(-70px);
                transform: translateY(-70px);
    }
}
@media screen and (max-width: 599px) {
    #header.hide .nav_switch {
        -webkit-transform: translateY(-60px);
                transform: translateY(-60px);
    }
}

#header.open .nav_close_bg {
    -webkit-transition: opacity 0.5s cubic-bezier(0.65, 0, 0.35, 1), width 0s;
    transition: opacity 0.5s cubic-bezier(0.65, 0, 0.35, 1), width 0s;
    opacity: 0.8;
    width: 100vw;
}
#header.open #nav {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
}
#header.open #nav .nav_wrap .nav_container .nav_ul .nav_li a .btn .en {
    -webkit-animation: navOpacityIn 0.5s linear both, navTransformIn 0.5s cubic-bezier(0.25, 1, 0.5, 1) both;
            animation: navOpacityIn 0.5s linear both, navTransformIn 0.5s cubic-bezier(0.25, 1, 0.5, 1) both;
}
#header.open #nav .nav_wrap .nav_container .nav_ul .nav_li a .btn .jp {
    -webkit-animation: navOpacityIn 0.5s linear both, navTransformIn 0.5s cubic-bezier(0.25, 1, 0.5, 1) both;
            animation: navOpacityIn 0.5s linear both, navTransformIn 0.5s cubic-bezier(0.25, 1, 0.5, 1) both;
}
#header.open #nav .nav_wrap .nav_container .nav_ul .nav_li:nth-of-type(1) a .en {
    -webkit-animation-delay: 0.25s;
            animation-delay: 0.25s;
}
#header.open #nav .nav_wrap .nav_container .nav_ul .nav_li:nth-of-type(1) a .jp {
    -webkit-animation-delay: 0.25s;
            animation-delay: 0.25s;
}
#header.open #nav .nav_wrap .nav_container .nav_ul .nav_li:nth-of-type(2) a .en {
    -webkit-animation-delay: 0.3s;
            animation-delay: 0.3s;
}
#header.open #nav .nav_wrap .nav_container .nav_ul .nav_li:nth-of-type(2) a .jp {
    -webkit-animation-delay: 0.3s;
            animation-delay: 0.3s;
}
#header.open #nav .nav_wrap .nav_container .nav_ul .nav_li:nth-of-type(3) a .en {
    -webkit-animation-delay: 0.35s;
            animation-delay: 0.35s;
}
#header.open #nav .nav_wrap .nav_container .nav_ul .nav_li:nth-of-type(3) a .jp {
    -webkit-animation-delay: 0.35s;
            animation-delay: 0.35s;
}
#header.open #nav .nav_wrap .nav_container .nav_ul .nav_li:nth-of-type(4) a .en {
    -webkit-animation-delay: 0.4s;
            animation-delay: 0.4s;
}
#header.open #nav .nav_wrap .nav_container .nav_ul .nav_li:nth-of-type(4) a .jp {
    -webkit-animation-delay: 0.4s;
            animation-delay: 0.4s;
}
#header.open #nav .nav_wrap .nav_container .nav_ul .nav_li:nth-of-type(5) a .en {
    -webkit-animation-delay: 0.45s;
            animation-delay: 0.45s;
}
#header.open #nav .nav_wrap .nav_container .nav_ul .nav_li:nth-of-type(5) a .jp {
    -webkit-animation-delay: 0.45s;
            animation-delay: 0.45s;
}
#header.open #nav .nav_wrap .nav_container .nav_ul .nav_li:nth-of-type(6) a .en {
    -webkit-animation-delay: 0.5s;
            animation-delay: 0.5s;
}
#header.open #nav .nav_wrap .nav_container .nav_ul .nav_li:nth-of-type(6) a .jp {
    -webkit-animation-delay: 0.5s;
            animation-delay: 0.5s;
}
#header.open #nav .nav_wrap .nav_container .nav_ul .nav_li:nth-of-type(7) a .en {
    -webkit-animation-delay: 0.55s;
            animation-delay: 0.55s;
}
#header.open #nav .nav_wrap .nav_container .nav_ul .nav_li:nth-of-type(7) a .jp {
    -webkit-animation-delay: 0.55s;
            animation-delay: 0.55s;
}
#header.open #nav .nav_wrap .nav_container .nav_ul .nav_li:nth-of-type(8) a .en {
    -webkit-animation-delay: 0.6s;
            animation-delay: 0.6s;
}
#header.open #nav .nav_wrap .nav_container .nav_ul .nav_li:nth-of-type(8) a .jp {
    -webkit-animation-delay: 0.6s;
            animation-delay: 0.6s;
}
#header.open #nav .nav_wrap .nav_container .nav_ul .nav_li:nth-of-type(9) a .en {
    -webkit-animation-delay: 0.65s;
            animation-delay: 0.65s;
}
#header.open #nav .nav_wrap .nav_container .nav_ul .nav_li:nth-of-type(9) a .jp {
    -webkit-animation-delay: 0.65s;
            animation-delay: 0.65s;
}
#header.open #nav .nav_wrap .nav_container .nav_ul .nav_li:nth-of-type(10) a .en {
    -webkit-animation-delay: 0.7s;
            animation-delay: 0.7s;
}
#header.open #nav .nav_wrap .nav_container .nav_ul .nav_li:nth-of-type(10) a .jp {
    -webkit-animation-delay: 0.7s;
            animation-delay: 0.7s;
}
#header.open .nav_close {
    -webkit-transition: opacity 0.5s linear 0.2s, top 0s, right 0.5s cubic-bezier(0.76, 0, 0.24, 1);
    transition: opacity 0.5s linear 0.2s, top 0s, right 0.5s cubic-bezier(0.76, 0, 0.24, 1);
    opacity: 1;
    top: 19px;
}
@media screen and (max-width: 779px) {
    #header.open .nav_close {
        top: 3px;
    }
}

@-webkit-keyframes navOpacityIn {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@keyframes navOpacityIn {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
@-webkit-keyframes navTransformIn {
    0% {
        -webkit-transform: translateX(30px);
                transform: translateX(30px);
    }
    100% {
        -webkit-transform: translateX(0px);
                transform: translateX(0px);
    }
}
@keyframes navTransformIn {
    0% {
        -webkit-transform: translateX(30px);
                transform: translateX(30px);
    }
    100% {
        -webkit-transform: translateX(0px);
                transform: translateX(0px);
    }
}
@-webkit-keyframes navOpacityOut {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}
@keyframes navOpacityOut {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}
#footer {
    margin-top: 200px;
    width: 100%;
}
@media screen and (max-width: 1199px) {
    #footer {
        margin-top: 165px;
    }
}
@media screen and (max-width: 599px) {
    #footer {
        margin-top: 130px;
    }
}
#footer .external_link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100vw;
    height: 350px;
    position: relative;
    overflow: hidden;
}
@media screen and (max-width: 1199px) {
    #footer .external_link {
        height: 195px;
    }
}
@media screen and (max-width: 599px) {
    #footer .external_link {
        height: 140px;
    }
}
#footer .external_link .photo {
    width: 100%;
    height: 500px;
    position: absolute;
    top: 0;
    left: 0;
}
@media screen and (max-width: 1199px) {
    #footer .external_link .photo {
        height: 345px;
    }
}
@media screen and (max-width: 599px) {
    #footer .external_link .photo {
        height: 290px;
    }
}
#footer .external_link .photo .photo_container {
    width: 100%;
    height: 100%;
    background-image: url("../img/external_link.jpg");
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
}
#footer .external_link ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
}
#footer .external_link ul li {
    -webkit-transition: all 0.2s linear;
    transition: all 0.2s linear;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-left: 40px;
    width: 530px;
    height: 70px;
    color: #fff;
    background-color: #0075c2;
    cursor: pointer;
}
#footer .external_link ul li:nth-of-type(1) {
    margin-left: 0;
}
@media screen and (max-width: 1199px) {
    #footer .external_link ul li {
        margin-left: 30px;
        width: 385px;
        height: 54px;
    }
}
@media screen and (max-width: 599px) {
    #footer .external_link ul li {
        margin-left: 20px;
        width: 240px;
        height: 38px;
    }
}
#footer .external_link ul li .en {
    font-size: 17px;
    font-weight: 500;
    line-height: 1em;
    letter-spacing: 0.12em;
}
#footer .external_link ul li .en span {
    font-weight: 500;
}
@media screen and (max-width: 1199px) {
    #footer .external_link ul li .en {
        font-size: 15px;
    }
}
@media screen and (max-width: 599px) {
    #footer .external_link ul li .en {
        font-size: 13px;
    }
}
#footer .external_link ul li .jp {
    margin-left: 15px;
    font-size: 14px;
    font-weight: 400;
    line-height: 1em;
    letter-spacing: 0.1em;
    -webkit-transform: translateY(1px);
            transform: translateY(1px);
}
@media screen and (max-width: 1199px) {
    #footer .external_link ul li .jp {
        font-size: 12.5px;
    }
}
@media screen and (max-width: 599px) {
    #footer .external_link ul li .jp {
        font-size: 11px;
    }
}
@media screen and (max-width: 1199px) {
    #footer .external_link ul li .jp {
        margin-left: 13px;
    }
}
@media screen and (max-width: 599px) {
    #footer .external_link ul li .jp {
        display: none;
        margin-left: 11px;
    }
}
#footer .external_link ul li:hover {
    background-color: #fff;
    color: #0075c2;
}
#footer .nav_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 60px auto 0;
    margin-left: auto;
    margin-right: auto;
    width: 1100px;
    position: relative;
}
@media screen and (max-width: 1199px) {
    #footer .nav_wrap {
        width: 88vw;
    }
}
@media screen and (max-width: 1199px) {
    #footer .nav_wrap {
        margin-top: 0;
        margin-bottom: 0;
        height: 2px;
    }
}
@media screen and (max-width: 1199px) {
    #footer .nav_wrap #footer_nav {
        display: none;
    }
}
#footer .nav_wrap #footer_nav ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    width: 980px;
}
#footer .nav_wrap #footer_nav ul li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 15px;
    margin-bottom: 15px;
    height: 14px;
}
#footer .nav_wrap #footer_nav ul li::after {
    content: "";
    margin: 1px 25px 0;
    width: 1px;
    height: 12px;
    background-color: #000;
}
#footer .nav_wrap #footer_nav ul li:nth-last-of-type(1)::after, #footer .nav_wrap #footer_nav ul li:nth-of-type(5)::after {
    display: none;
}
#footer .nav_wrap #footer_nav ul li a {
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}
#footer .nav_wrap #footer_nav ul li a .en {
    font-size: 14px;
    font-weight: 400;
    line-height: 1em;
    letter-spacing: 0.1em;
}
@media screen and (max-width: 1199px) {
    #footer .nav_wrap #footer_nav ul li a .en {
        font-size: 13px;
    }
}
@media screen and (max-width: 599px) {
    #footer .nav_wrap #footer_nav ul li a .en {
        font-size: 12px;
    }
}
#footer .nav_wrap #footer_nav ul li a .jp {
    margin-left: 10px;
    font-size: 12px;
    font-weight: 400;
    line-height: 1em;
    letter-spacing: 0.15em;
}
@media screen and (max-width: 1199px) {
    #footer .nav_wrap #footer_nav ul li a .jp {
        font-size: 11px;
    }
}
@media screen and (max-width: 599px) {
    #footer .nav_wrap #footer_nav ul li a .jp {
        font-size: 10px;
    }
}
#footer .nav_wrap #footer_nav ul li a .jp .text_kata {
    letter-spacing: 0.05em;
}
#footer .nav_wrap #footer_nav ul li a:hover {
    color: #0075c2;
}
#footer .nav_wrap .pagetop {
    -webkit-transition: all 0.2s linear;
    transition: all 0.2s linear;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 15px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    border: 1px solid #0075c2;
    cursor: pointer;
}
@media screen and (max-width: 1199px) {
    #footer .nav_wrap .pagetop {
        margin-top: 0;
        position: absolute;
        left: 50%;
        bottom: calc(100% + 195px + 25px);
        -webkit-transform: translateX(-50%);
                transform: translateX(-50%);
    }
}
@media screen and (max-width: 599px) {
    #footer .nav_wrap .pagetop {
        bottom: calc(100% + 140px + 25px);
    }
}
#footer .nav_wrap .pagetop .svg {
    width: 14px;
    height: 7px;
    position: relative;
}
#footer .nav_wrap .pagetop .svg svg {
    -webkit-transition: all 0.2s linear;
    transition: all 0.2s linear;
    fill: none;
    stroke: #0075c2;
    position: absolute;
    top: 0px;
    left: 0px;
}
@media screen and (max-width: 599px) {
    #footer .nav_wrap .pagetop .svg svg {
        top: -1px;
    }
}
#footer .nav_wrap .pagetop:hover {
    background-color: #0075c2;
}
#footer .nav_wrap .pagetop:hover .svg svg {
    stroke: #fff;
}
#footer .corporate {
    margin: 25px auto 60px;
    padding-top: 40px;
    margin-left: auto;
    margin-right: auto;
    width: 1100px;
    border-top: 1px solid #000;
}
@media screen and (max-width: 1199px) {
    #footer .corporate {
        width: 88vw;
    }
}
@media screen and (max-width: 1199px) {
    #footer .corporate {
        display: none;
    }
}
#footer .corporate a {
    -webkit-transition: color 0.2s;
    transition: color 0.2s;
    display: inline-block;
}
#footer .corporate a .btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}
#footer .corporate a .btn .en {
    font-size: 14px;
    font-weight: 400;
    line-height: 1em;
    letter-spacing: 0.1em;
}
@media screen and (max-width: 1199px) {
    #footer .corporate a .btn .en {
        font-size: 13px;
    }
}
@media screen and (max-width: 599px) {
    #footer .corporate a .btn .en {
        font-size: 12px;
    }
}
#footer .corporate a .btn .jp {
    margin-left: 10px;
    font-size: 12px;
    font-weight: 400;
    line-height: 1em;
    letter-spacing: 0.15em;
}
@media screen and (max-width: 1199px) {
    #footer .corporate a .btn .jp {
        font-size: 11px;
    }
}
@media screen and (max-width: 599px) {
    #footer .corporate a .btn .jp {
        font-size: 10px;
    }
}
#footer .corporate a:hover {
    color: #0075c2;
}
#footer #copyright {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100vw;
    height: 100px;
    background-color: #e0f4fc;
}
@media screen and (max-width: 1199px) {
    #footer #copyright {
        height: 80px;
    }
}
@media screen and (max-width: 599px) {
    #footer #copyright {
        height: 60px;
    }
}
#footer #copyright .text {
    font-size: 11px;
    font-weight: 400;
    line-height: 1em;
    letter-spacing: 0.1em;
}
@media screen and (max-width: 1199px) {
    #footer #copyright .text {
        font-size: 10.5px;
    }
}
@media screen and (max-width: 599px) {
    #footer #copyright .text {
        font-size: 10px;
    }
}

.external_link_popup {
    -webkit-transition: all 0s 1s;
    transition: all 0s 1s;
    left: 200vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100vw;
    height: 100vh;
    height: 100dvh;
    position: fixed;
    top: 0;
    z-index: 201;
}
.external_link_popup .bg {
    -webkit-transition: all 0.5s 0.5s;
    transition: all 0.5s 0.5s;
    opacity: 0;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: #000;
}
.external_link_popup .container {
    width: 840px;
    max-width: 840px;
    position: relative;
}
@media screen and (max-width: 1199px) {
    .external_link_popup .container {
        width: 88vw;
    }
}
@media screen and (max-width: 599px) {
    .external_link_popup .container {
        width: 80vw;
    }
}
.external_link_popup .container .close {
    -webkit-animation: opacityOut 0.5s linear both;
            animation: opacityOut 0.5s linear both;
    width: 40px;
    height: 40px;
    position: absolute;
    bottom: calc(100% + 0px);
    right: -9px;
    cursor: pointer;
}
.external_link_popup .container .close::before, .external_link_popup .container .close::after {
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    content: "";
    width: 30px;
    height: 1px;
    background-color: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
}
@media screen and (max-width: 1199px) {
    .external_link_popup .container .close::before, .external_link_popup .container .close::after {
        width: 28px;
    }
}
@media screen and (max-width: 599px) {
    .external_link_popup .container .close::before, .external_link_popup .container .close::after {
        width: 26px;
    }
}
.external_link_popup .container .close::before {
    -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg);
            transform: translateX(-50%) translateY(-50%) rotate(45deg);
}
.external_link_popup .container .close::after {
    -webkit-transform: translateX(-50%) translateY(-50%) rotate(-45deg);
            transform: translateX(-50%) translateY(-50%) rotate(-45deg);
}
.external_link_popup .container .close:hover::before, .external_link_popup .container .close:hover::after {
    opacity: 0.5;
}
.external_link_popup .container .title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}
.external_link_popup .container .title .line {
    width: 100%;
    height: 1px;
    position: relative;
}
.external_link_popup .container .title .line .line_conatiner {
    -webkit-animation: opacityOut 0.5s linear both;
            animation: opacityOut 0.5s linear both;
    background-color: #fff;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}
.external_link_popup .container .title .en {
    -webkit-animation: opacityOut 0.5s linear both;
            animation: opacityOut 0.5s linear both;
    padding: 0 20px;
}
@media screen and (max-width: 1199px) {
    .external_link_popup .container .title .en {
        padding: 0 15px;
    }
}
@media screen and (max-width: 599px) {
    .external_link_popup .container .title .en {
        padding: 0 10px;
    }
}
.external_link_popup .container .title .en .text {
    font-size: 26px;
    font-weight: 500;
    line-height: 1em;
    letter-spacing: 0.15em;
    color: #fff;
}
.external_link_popup .container .title .en .text span {
    font-weight: 500;
}
@media screen and (max-width: 1199px) {
    .external_link_popup .container .title .en .text {
        font-size: 24px;
    }
}
@media screen and (max-width: 599px) {
    .external_link_popup .container .title .en .text {
        font-size: 22px;
    }
}
.external_link_popup .container .lead {
    -webkit-animation: opacityOut 0.5s linear both;
            animation: opacityOut 0.5s linear both;
    margin-top: 60px;
}
@media screen and (max-width: 1199px) {
    .external_link_popup .container .lead {
        margin-top: 50px;
    }
}
@media screen and (max-width: 599px) {
    .external_link_popup .container .lead {
        margin-top: 40px;
    }
}
.external_link_popup .container .lead p {
    margin-top: -9.5px;
    margin-bottom: -9.5px;
    font-size: 16px;
    font-weight: 400;
    line-height: 35px;
    letter-spacing: 0.05em;
    color: #fff;
    text-align: center;
}
@media screen and (max-width: 1199px) {
    .external_link_popup .container .lead p {
        margin-top: -8.25px;
        margin-bottom: -8.25px;
        font-size: 15px;
        line-height: 31.5px;
    }
}
@media screen and (max-width: 599px) {
    .external_link_popup .container .lead p {
        margin-top: -7px;
        margin-bottom: -7px;
        font-size: 14px;
        line-height: 28px;
    }
}
.external_link_popup .container .link {
    margin-top: 100px;
}
@media screen and (max-width: 1199px) {
    .external_link_popup .container .link {
        margin-top: 80px;
    }
}
@media screen and (max-width: 599px) {
    .external_link_popup .container .link {
        margin-top: 60px;
    }
}
.external_link_popup .container .link .link_ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-column-gap: 40px;
       -moz-column-gap: 40px;
            column-gap: 40px;
}
@media screen and (max-width: 1199px) {
    .external_link_popup .container .link .link_ul {
        margin: 0 auto;
        width: 670px;
    }
}
@media screen and (max-width: 779px) {
    .external_link_popup .container .link .link_ul {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        row-gap: 30px;
        width: 100%;
    }
}
.external_link_popup .container .link .link_ul .link_li {
    -webkit-animation: opacityOut 0.5s linear both;
            animation: opacityOut 0.5s linear both;
    margin: 0 auto;
    width: 400px;
    height: 70px;
}
@media screen and (max-width: 1199px) {
    .external_link_popup .container .link .link_ul .link_li {
        width: 315px;
        height: 60px;
    }
}
@media screen and (max-width: 599px) {
    .external_link_popup .container .link .link_ul .link_li {
        width: 230px;
        height: 50px;
    }
}
.external_link_popup .container .link .link_ul .link_li a {
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    height: 100%;
    background-color: #0075c2;
}
.external_link_popup .container .link .link_ul .link_li a .text {
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    padding-left: 0.15em;
    font-family: "Noto Serif JP", serif;
    font-size: 24px;
    font-weight: 500;
    line-height: 1em;
    letter-spacing: 0.15em;
    color: #fff;
    -webkit-transform: translateY(-2px);
            transform: translateY(-2px);
}
.external_link_popup .container .link .link_ul .link_li a .text span {
    font-weight: 500;
}
.external_link_popup .container .link .link_ul .link_li a .text span.h {
    font-size: 21.6px;
}
@media screen and (max-width: 1199px) {
    .external_link_popup .container .link .link_ul .link_li a .text {
        font-size: 20px;
    }
    .external_link_popup .container .link .link_ul .link_li a .text span.h {
        font-size: 18px;
    }
}
@media screen and (max-width: 599px) {
    .external_link_popup .container .link .link_ul .link_li a .text {
        font-size: 16px;
    }
    .external_link_popup .container .link .link_ul .link_li a .text span.h {
        font-size: 14.4px;
    }
}
.external_link_popup .container .link .link_ul .link_li a:hover {
    background-color: #fff;
}
.external_link_popup .container .link .link_ul .link_li a:hover .text {
    color: #0075c2;
}
.external_link_popup.fadeIn {
    -webkit-transition: all 0s;
    transition: all 0s;
    left: 0;
}
.external_link_popup.fadeIn .bg {
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    opacity: 0.8;
}
.external_link_popup.fadeIn .container .close {
    -webkit-animation: opacityIn 1s linear 0.6s both;
            animation: opacityIn 1s linear 0.6s both;
}
.external_link_popup.fadeIn .container .title .line_L .line_conatiner {
    -webkit-animation: lineInL 1s cubic-bezier(0.25, 1, 0.5, 1) 0.4s both;
            animation: lineInL 1s cubic-bezier(0.25, 1, 0.5, 1) 0.4s both;
}
.external_link_popup.fadeIn .container .title .line_R .line_conatiner {
    -webkit-animation: lineInR 1s cubic-bezier(0.25, 1, 0.5, 1) 0.4s both;
            animation: lineInR 1s cubic-bezier(0.25, 1, 0.5, 1) 0.4s both;
}
.external_link_popup.fadeIn .container .title .en {
    -webkit-animation: opacityIn 1s linear 0.4s both, transformInB 1s cubic-bezier(0.25, 1, 0.5, 1) 0.4s both;
            animation: opacityIn 1s linear 0.4s both, transformInB 1s cubic-bezier(0.25, 1, 0.5, 1) 0.4s both;
}
.external_link_popup.fadeIn .container .lead {
    -webkit-animation: opacityIn 1s linear 0.6s both, transformInB 1s cubic-bezier(0.25, 1, 0.5, 1) 0.6s both;
            animation: opacityIn 1s linear 0.6s both, transformInB 1s cubic-bezier(0.25, 1, 0.5, 1) 0.6s both;
}
.external_link_popup.fadeIn .container .link .link_ul .link_li {
    -webkit-animation: opacityIn 1s linear 0.8s both, transformInB 1s cubic-bezier(0.25, 1, 0.5, 1) 0.8s both;
            animation: opacityIn 1s linear 0.8s both, transformInB 1s cubic-bezier(0.25, 1, 0.5, 1) 0.8s both;
}

@-webkit-keyframes opacityIn {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@keyframes opacityIn {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
@-webkit-keyframes transformInB {
    0% {
        -webkit-transform: translateY(20px);
                transform: translateY(20px);
    }
    100% {
        -webkit-transform: translateY(0px);
                transform: translateY(0px);
    }
}
@keyframes transformInB {
    0% {
        -webkit-transform: translateY(20px);
                transform: translateY(20px);
    }
    100% {
        -webkit-transform: translateY(0px);
                transform: translateY(0px);
    }
}
@-webkit-keyframes opacityOut {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}
@keyframes opacityOut {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}
@-webkit-keyframes lineInL {
    0% {
        left: 100%;
    }
    100% {
        left: 0;
    }
}
@keyframes lineInL {
    0% {
        left: 100%;
    }
    100% {
        left: 0;
    }
}
@-webkit-keyframes lineInR {
    0% {
        right: 100%;
    }
    100% {
        right: 0;
    }
}
@keyframes lineInR {
    0% {
        right: 100%;
    }
    100% {
        right: 0;
    }
}
/*# sourceMappingURL=common.css.map */