@charset 'UTF-8';
/* =================================================================
 License : e-TRUST Inc.
 File name : assets.css
 Style : assets.css
================================================================= */
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url('https://fonts.googleapis.com/css?family=Muli:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i&subset=latin-ext,vietnamese');
@import url('https://fonts.googleapis.com/css?family=Raleway:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i&subset=latin-ext');
@font-face
{
    font-family: 'Noto Serif Japanese';
    font-weight: 400; /*-Normal-*/
    font-style: normal;

    src: url('../font/NotoSerifCJKjp/NotoSerifCJKjp-Regular.woff') format('woff'), url('../font/NotoSerifCJKjp/NotoSerifCJKjp-Regular.woff2') format('woff2');
}
@font-face
{
    font-family: 'Noto Serif Japanese';
    font-weight: 500; /*-Medium-*/
    font-style: normal;

    src: url('../font/NotoSerifCJKjp/NotoSerifCJKjp-Medium.woff') format('woff'), url('../font/NotoSerifCJKjp/NotoSerifCJKjp-Medium.woff2') format('woff2');
}
@font-face
{
    font-family: 'Noto Serif Japanese';
    font-weight: 700; /*-Bold-*/
    font-style: normal;

    src: url('../font/NotoSerifCJKjp/NotoSerifCJKjp-Bold.woff') format('woff'), url('../font/NotoSerifCJKjp/NotoSerifCJKjp-Bold.woff2') format('woff2');
}
.pcnone
{
    display: none;
}
@media only screen and (max-width: 834px)
{
    .pcnone
    {
        display: block;
    }
}

.flex
{
    display: flex;
}

.jcss
{
    justify-content: start;
}

.jcsc
{
    justify-content: center;
}

.jcsb
{
    justify-content: space-between;
}

.aic
{
    align-items: center;
}

.ais
{
    align-items: start;
}

*
{
        box-sizing: border-box;

     -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
}

.disnone
{
    display: none !important;
}
@media only screen and (max-width: 640px)
{
    .disnone
    {
        display: block !important;
    }
}

@media only screen and (max-width: 640px)
{
    .spdisnone
    {
        display: none !important;
    }
}

.tdpd10 td
{
    padding: 10px !important;
}

li
{
    list-style: none;
}

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,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video
{
    font-weight: 400;
}

body
{
    font-family: 'Noto Sans Japanese', '游ゴシック', YuGothic, 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 2em;

    overflow: hidden;

    counter-reset: number 0;
    letter-spacing: .05em;
    word-wrap: break-word;

    color: #000;
}

.inner
{
    max-width: 1200px;
    margin: 0 auto;
}

.inner2
{
    max-width: 1160px;
    margin: 0 auto;
}

#contents_wrap
{
    width: 100%;
    min-width: 100%;
}

#contents
{
    width: 100%;
    max-width: 1160px;
    padding: 0 0 100px 0;
}
@media only screen and (max-width: 1000px)
{
    #contents
    {
        padding-right: 10px;
        padding-left: 10px;
    }
}

#main
{
    width: 100%;
}

#main #col_main
{
    width: 100%;
}

#side
{
    width: 18.75%;
}

.map
{
    margin: 56px 20px 0;
}

.map li
{
    margin: 0 0 15px;
    padding: 0 0 0 10px;

    list-style: none;

    text-align: left;

    border-left: 5px solid #ccc;
}

table
{
    table-layout: auto;
}

@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none)
{
    table
    {
        table-layout: fixed;
    }
}
.tlfix table
{
    table-layout: fixed;
}

table td img
{
    height: auto !important;
}

.pdtd10 td
{
    padding: 10px !important;
}

pre
{
    margin: 0;
    padding: 0;

    white-space: pre-line;
}

b,
strong
{
    font-weight: bold;
}

u
{
    text-decoration: line-through;
}

img
{
    max-width: 100%;
    height: auto !important;
}

small
{
    font-size: 80%;
}

hr
{
    height: 0;

    border: none;
    border-bottom: 1px dashed #b3b3b3;
}

span
{
    font-weight: inherit;
}

u
{
    text-decoration: underline;
}

b
{
    font-weight: 500;
}

input[type=button]
{
    padding: 5px 10px;

    cursor: pointer;
}

a
{
    transition: 1s;
    text-decoration: none;
}

a:hover
{
    transition: 1s;

    opacity: .6;
}

@media screen and (min-width: 641px) and (max-width: 834px)
{
    .imgR,
    .imgL
    {
        max-width: 30% !important;
    }
}
@media only screen and (max-width: 640px)
{
    .imgR,
    .imgL
    {
        display: block;
        float: none;

        max-width: 100% !important;
        margin: 0 auto 10px;

        text-align: center;
    }
}

.mincho
{
    font-family: 'Noto Serif Japanese', '游明朝体', 'Yu Mincho', YuMincho, 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;
}

.gothic
{
    font-family: 'Noto Sans Japanese', '游ゴシック', YuGothic, 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

@media only screen and (max-width: 640px)
{
    .fltL
    {
        float: none;

        width: 100% !important;
    }
    .fltR
    {
        float: none;

        width: 100% !important;
    }
    .sptal
    {
        text-align: left !important;
    }
    .sptar
    {
        text-align: right !important;
    }
    .sptac
    {
        text-align: center !important;
    }
    .spcenter
    {
        display: block;

        margin-top: 10px;

        text-align: center;
    }
}
.shutter
{
    position: fixed;
    z-index: 9999;
    top: 0;
    left: 0;

    width: 250vw;
    height: 100vh;

    transition: transform .8s ease-in-out;
    pointer-events: none;

    background-color: #015db2;
}

.shutter-a
{
    transform: translateX(-250vw);
}

.shutter-a.moved
{
    transform: translateX(100vw);
}

header#global_header
{
    width: 100%;
    min-width: 100%;
    max-width: 100%;
    height: auto;
}
@media only screen and (max-width: 834px)
{
    header#global_header
    {
        padding-top: 68px;

        border-top: 0;
    }
}
@keyframes zoom
{
    50%
    {
        transform: scale(1.1);
    }
}
.fixed
{
    position: fixed;
    z-index: 11;
    top: 0;

    width: 100%;

    background: rgba(255, 255, 255, .9);
}

@media only screen and (max-width: 834px)
{
    #header
    {
        position: absolute;
        top: 78px;
        right: 0;
        left: 10px;

        width: auto;
        padding: 0;
    }
}
#header .hednav
{
    color: #fff;
    background: #015db2;
}
@media only screen and (max-width: 834px)
{
    #header .hednav
    {
        display: none;
    }
}
#header .hednav > ul
{
    display: flex;

    width: 100%;
    margin-left: auto;

    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
}
#header .hednav > ul > li
{
    font-size: 13px;
    line-height: 1;

    position: relative;

    padding: 0 20px;

    vertical-align: middle;
}
#header .hednav > ul > li i
{
    font-size: 16px;
    line-height: 1;

    margin-right: 7px;

    vertical-align: middle;
}
#header .hednav > ul > li a
{
    font-size: 13px;
    line-height: 1;

    display: block;

    vertical-align: middle;

    color: #fff;
}
#header .hednav > ul > li a i
{
    font-size: 16px;
    line-height: 1;

    margin-right: 7px;

    vertical-align: middle;
}
#header .hednav > ul > li ul
{
    position: absolute;
    z-index: 99999;

    width: 250px;

    inset-inline-start: -50px;
}
#header .hednav > ul > li ul li a
{
    display: block;

    padding: 10px 5px;

    text-align: center;

    color: #000;
    background: #fff;
}
#header .hednav > ul .member
{
    padding: 0 !important;
}
#header .hednav > ul .member a
{
    display: flex;

    color: #000;

    justify-content: center;
}
#header .hednav > ul .member a span
{
    display: flex;

    min-width: 200px;
    height: auto;

    background: #f6ed13;

    justify-content: center;
    align-items: center;
}
#header .hednav > ul .member a:before
{
    display: block;

    width: 0;
    height: 0;

    content: '';

    border-width: 0 50px 50px 0;
    border-style: solid;
    border-color: transparent #f6ed13 transparent transparent;
}
#header .wrap
{
    display: flex;

    padding: 0;

    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}
#header .wrap .flxL
{
    width: 25%;
}
@media only screen and (max-width: 834px)
{
    #header .wrap .flxL
    {
        position: fixed;
        z-index: 12;
        top: 0;
        right: 0;
        left: 0;

        display: flex;

        width: 50%;
        height: 68px;
        margin: 0 auto 0;

        align-items: center;
        justify-content: center;
    }
}
#header .wrap .flxL #siteID
{
    margin-left: 3%;
}
#header .wrap .flxL #siteID a
{
    display: block;

    text-align: left;
}
#header .wrap .flxL #siteID img
{
    display: inline-block;

    width: 77% !important;
    max-width: 286px;

    vertical-align: middle;
}
@media only screen and (max-width: 834px)
{
    #header .wrap .flxL #siteID img
    {
        max-width: 100%;
    }
}
#header .wrap .flxL #siteID .isoIcon
{
    width: 20% !important;
}
#header .wrap .flxR
{
    width: 73%;
}
@media only screen and (max-width: 640px)
{
    #header .wrap .flxR
    {
        width: 100%;
    }
}

.navwrap
{
    display: flex;

    width: 100%;

    justify-content: flex-end;
    flex-wrap: wrap;
}
@media only screen and (max-width: 1000px)
{
    .navwrap
    {
        flex-direction: column-reverse;
    }
}
.navwrap .lang
{
    display: none;
}
@media only screen and (max-width: 834px)
{
    .navwrap .lang
    {
        display: flex;

        height: 68px;

        border-bottom: 1px solid #e6eaea;

        flex-wrap: wrap;
        justify-content: space-between;
    }
    .navwrap .lang .langinner
    {
        display: flex;

        width: 70%;
        height: 100%;
        padding-left: 36px;

        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
    }
    .navwrap .lang .langinner a
    {
        width: 50%;

        text-align: left;
        text-decoration: underline;

        color: #000;
    }
}
.navwrap #hed_info
{
    display: none;
}
@media only screen and (max-width: 834px)
{
    .navwrap #hed_info
    {
        display: flex;

        align-items: center;
        justify-content: flex-end;
    }
}
.navwrap #nav_global
{
    width: 100%;
}
.navwrap #nav_global ul
{
    display: flex;

    height: 100%;

    justify-content: space-between;
    align-items: center;
}
.navwrap #nav_global ul li
{
    position: relative;

    height: 100%;

    flex-grow: 1;
}
.navwrap #nav_global ul li a
{
    font-size: 14px;
    line-height: 1;

    display: block;

    height: 100%;
    padding: 20px 0;

    color: #333 !important;
}
.navwrap #nav_global ul li a:hover
{
    animation: zoom .3s;

    opacity: 1;
}
.navwrap #nav_global ul li a span
{
    font-size: 11px;

    display: block;

    margin-top: 10px;
}
.navwrap #nav_global ul li ul
{
    position: absolute;

    display: block;

    width: 100%;
    height: auto;

    background: rgba(27, 73, 150, .8);
}
.navwrap #nav_global ul li ul li
{
    height: auto;
}
.navwrap #nav_global ul li ul li a
{
    height: auto;
    padding: 30px 10px;
}

.global-menu-btn
{
    font-size: 10px;

    display: none;
}
@media only screen and (max-width: 834px)
{
    .global-menu-btn
    {
        line-height: 1;

        position: absolute;
        z-index: 11;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;

        display: flex;
        flex-direction: column;

        width: 68px;
        height: 68px;

        transition: 1s;

        color: #000;
        border-right: 1px solid #e6eaea;
        background: #f4f7f6;

        align-items: center;
        justify-content: center;
    }
    .global-menu-btn:hover
    {
        color: #fff;
        background: rgba(1, 93, 178, .7);
    }
    .global-menu-btn::before
    {
        font-family: 'Font Awesome 5 pro';
        font-size: 2.4em;
        font-weight: 400;
        line-height: 1;

        content: '\f0c9';
    }
    .global-menu-btn i
    {
        line-height: 1;

        display: block;

        margin-top: 3px;
    }
}

.global-menu-close-btn
{
    display: none;
}
@media only screen and (max-width: 834px)
{
    .global-menu-close-btn
    {
        display: block;

        width: 68px;
        height: 67px;

        cursor: pointer;
        transition: all .3s cubic-bezier(.175, .885, .32, 1.275) .2s;

        border-left: 1px solid #e6eaea;
        background: #f4f7f6;
    }
    .global-menu-close-btn:before
    {
        font-family: 'Font Awesome 5 pro';
        font-size: 1.3rem;
        font-weight: 300;
        line-height: 32px;

        display: block;
        display: flex;

        width: 100%;
        height: 100%;

        content: '\f00d';
        text-align: center;

        color: #000;

        align-items: center;
        justify-content: center;
    }
    .global-menu-close-btn i
    {
        display: none;
    }
}

@media only screen and (max-width: 834px)
{
    #hednav
    {
        position: fixed;
        z-index: 11;
        top: 0;
        left: 0;

        width: 100%;
        height: 68px;
        margin: 0;
        padding: 10px 0;

        background: #eef2f2;
        box-shadow: 0 0 5px rgba(0, 0, 0, .25);

        justify-content: center;
    }
    #hednav .wrap
    {
        position: fixed;
        z-index: -1;
        top: 0;
        left: 0;

        display: block !important;
        visibility: hidden;

        width: 100% !important;
        height: 100%;

        cursor: pointer;
        transition: all .2s ease-out;

        opacity: 0;
        background: rgba(0, 0, 0, .6) !important;
    }
    #hednav .wrap .navwrap
    {
        display: block !important;

        width: 75%;
        height: 100%;

        transition: all .2s ease-out;
        transform: translateX(-240%);

        opacity: 0;
        background: #eef2f2;
    }
    #hednav .wrap .navwrap #hed_info
    {
        display: flex;

        width: 100%;
        padding: 5%;

        border-bottom: 1px solid #e6eaea;

        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
    }
    #hednav .wrap .navwrap #hed_info span
    {
        line-height: 1;

        display: block;

        margin-top: 10px;
    }
    #hednav .wrap .navwrap #hed_info .store2
    {
        margin: 5% 0 !important;
    }
    #hednav .wrap .navwrap #hed_info .hoverbtn
    {
        width: 100%;
        margin: 0;
    }
    #hednav .wrap .navwrap #hed_info .hoverbtn a
    {
        font-size: 16px;
        font-weight: bold;
        line-height: 1;

        display: flex;

        width: 100%;
        height: 100%;
        padding: 24px 36px;

        transition: 1s;

        color: #202121 !important;
        border: 1px solid #e6eaea;
        border-radius: 40px;
        background: #f4f7f6;

        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
    }
    #hednav .wrap .navwrap #hed_info .hoverbtn a:hover
    {
        background: #ccc;
    }
    #hednav .wrap .navwrap #hed_info .hoverbtn a i
    {
        font-size: 1.5rem !important;
        font-weight: 700;

        margin-right: 7px;
    }
    #hednav .wrap .navwrap #nav_global
    {
        width: 100%;
        margin-top: 0 !important;
    }
    #hednav .wrap .navwrap #nav_global ul
    {
        flex-direction: column;

        margin: 0 auto;
    }
    #hednav .wrap .navwrap #nav_global ul li
    {
        position: relative;

        width: 100%;

        border-bottom: 1px solid #e6eaea;
    }
    #hednav .wrap .navwrap #nav_global ul li ul
    {
        position: static;

        display: block !important;

        height: auto !important;
    }
    #hednav .wrap .navwrap #nav_global ul li ul li a
    {
        color: #fff !important;
    }
    #hednav .wrap .navwrap #nav_global ul li ul li a:before
    {
        display: none;
    }
    #hednav .wrap .navwrap #nav_global ul li a
    {
        font-size: 16px;
        font-weight: bold;
        line-height: 1;

        display: flex;
        flex-direction: row;

        height: 100%;
        padding: 24px 36px;

        cursor: pointer;

        color: #202121 !important;

        align-items: center;
        justify-content: flex-start;
    }
    #hednav .wrap .navwrap #nav_global ul li a:hover
    {
        background: #ccc;
    }
    #hednav .wrap .navwrap #nav_global ul li a span
    {
        display: none;
    }
}
.MenuOpened
{
    z-index: 13 !important;
}
.MenuOpened .global-menu-btn
{
    z-index: 0;
}
.MenuOpened .wrap
{
    z-index: 10 !important;

    visibility: visible !important;

    opacity: 1 !important;
    background: rgba(0, 0, 0, .7) !important;
}
.MenuOpened .wrap .navwrap
{
    overflow-x: hidden;
    overflow-y: auto;

    height: 100vh !important;

    transform: translateX(0) !important;

    opacity: 1 !important;
}
.MenuOpened .wrap .global-menu-close-btn
{
    transform: translateX(0);

    opacity: 1;
}

#mainArea
{
    position: relative;
    z-index: 0;

    width: 100%;
}
#mainArea .maintxt
{
    font-size: clamp(1.2vw, 2vw, 20px);

    position: absolute;

    display: block;

    width: -moz-fit-content;
    width:      fit-content;
    width: 70%;
    height: -moz-fit-content;
    height:      fit-content;
    margin: auto;
    padding: 4% 5%;

    text-align: left;

    color: #fff;
    background: linear-gradient(to right, rgba(1, 93, 178, .5), transparent);

    inset: 0 auto 0 0;
}
@media only screen and (max-width: 834px)
{
    #mainArea .maintxt
    {
        line-height: 1.6;
    }
}
#mainArea .maintxt span
{
    font-size: clamp(20px, 3.6vw, 36px);

    display: block;

    margin-bottom: 10px;
    padding-bottom: 15px;

    border-bottom: 1px solid rgba(255, 255, 255, .5);
    text-shadow: 2px 2px 0 rgba(0, 0, 0, .4);
}
@media only screen and (max-width: 834px)
{
    #mainArea .maintxt br
    {
        display: none;
    }
}
#mainArea img
{
    width: 100% !important;
    height: auto;
}

#local-keyvisual
{
    position: relative;

    background-image: url(../images/common/main_1.jpg);
    background-position: center;
    background-size: cover;
}
@media only screen and (max-width: 834px)
{
    #local-keyvisual
    {
        margin-bottom: 50px;
    }
}
#local-keyvisual h1
{
    font-family: 'Noto Serif Japanese', '游明朝体', 'Yu Mincho', YuMincho, 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;
    font-size: 60px;
    font-size: 3.75vw;
    font-weight: 600;
    line-height: 1.4em;

    position: relative;
    z-index: 1;

    padding: 240px 0;

    text-align: center;

    color: #fff;
    background: rgba(0, 0, 0, .3);
    text-shadow: 0 3px 9.7px rgba(0, 0, 0, .35);
}
@media only screen and (min-width: 1600px)
{
    #local-keyvisual h1
    {
        font-size: 60px;
    }
}
@media only screen and (max-width: 1000px)
{
    #local-keyvisual h1
    {
        padding: 100px 10px;
    }
}
@media screen and (min-width: 641px) and (max-width: 834px)
{
    #local-keyvisual h1
    {
        font-size: 40px;
    }
}
@media only screen and (max-width: 640px)
{
    #local-keyvisual h1
    {
        font-size: 25px;
    }
}
#local-keyvisual h1 span
{
    font-size: 40px;
    font-size: 2.5vw;

    display: block;
}
@media only screen and (min-width: 1600px)
{
    #local-keyvisual h1 span
    {
        font-size: 40px;
    }
}
@media screen and (min-width: 641px) and (max-width: 834px)
{
    #local-keyvisual h1 span
    {
        font-size: 35px;
    }
}
@media only screen and (max-width: 640px)
{
    #local-keyvisual h1 span
    {
        font-size: 14px;
    }
}

#local-keyvisual #local-keyvisual-bg,
#local-keyvisual .local-keyvisual-bg
{
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    background-position: center;
    background-size: cover;
}

.pan1
{
    margin: 50px 0;
}
@media only screen and (max-width: 834px)
{
    .pan1
    {
        display: none;
    }
}
.pan1 a
{
    color: #000;
}

.bgf
{
    padding: 8% 0;

    background: url(../images/common/img_3.jpg) no-repeat center bottom;
    background-size: cover;
}
@media only screen and (max-width: 1200px)
{
    .bgf
    {
        padding: 16% 0;
    }
}
@media only screen and (max-width: 640px)
{
    .bgf
    {
        padding: 20% 0;
    }
}

footer#global_footer
{
    width: 100%;
    min-width: 100% !important;
    height: auto;
}
footer#global_footer a
{
    text-decoration: none;
}
footer#global_footer a:hover
{
    text-decoration: none;
}

#footer
{
    position: relative;

    margin-top: 100px;
}
@media only screen and (max-width: 834px)
{
    #footer
    {
        margin-top: 70px;
    }
}
#footer .inner #siteID img
{
    display: inline-block;

    width: 100% !important;
    max-width: 286px;

    vertical-align: middle;

    opacity: 1 !important;
}
#footer .inner #siteID .isoIcon
{
    width: 11% !important;
}
@media only screen and (max-width: 640px)
{
    #footer .inner #siteID .isoIcon
    {
        min-width: 100px;
        margin-top: 15px;
    }
}
#footer .inner address
{
    margin: 30px 0;
}
#footer .inner address span
{
    display: block;
}
#footer .inner address span a
{
    color: #333;
}
@media only screen and (max-width: 1200px)
{
    #footer .inner #nav_footer
    {
        display: none;
    }
}
#footer .inner #nav_footer ul
{
    display: flex;

    align-items: center;
    justify-content: space-between;
}
#footer .inner #nav_footer ul li a
{
    color: #333;
}
#footer .inner #nav_footer ul li a i
{
    margin-right: 7px;
}
#footer .inner #siteID2
{
    margin: 30px 0;
}

#nav_footer2
{
    background: #015db2;
}
#nav_footer2 ul
{
    display: flex;

    align-items: center;
    justify-content: center;
}
#nav_footer2 ul li
{
    padding: 10px 20px;
}
#nav_footer2 ul li a
{
    display: block;

    padding: 2% 0;

    color: #fff;
}
#nav_footer2 ul li a i
{
    margin-right: 7px;
}

#copy
{
    font-size: 14px;
    line-height: 60px;

    display: block;

    text-align: center;
}
@media only screen and (max-width: 640px)
{
    #copy
    {
        text-align: center;
    }
}
#copy a
{
    font-size: 14px;

    text-decoration: none;

    color: #000;
}
#copy a:hover
{
    opacity: .6;
}
@keyframes border-transform
{
    0%,
    100%
    {
        border-radius: 63% 37% 54% 46%/55% 48% 52% 45%;
    }
    14%
    {
        border-radius: 40% 60% 54% 46%/49% 60% 40% 51%;
    }
    28%
    {
        border-radius: 54% 46% 38% 62%/49% 70% 30% 51%;
    }
    42%
    {
        border-radius: 61% 39% 55% 45%/61% 38% 62% 39%;
    }
    56%
    {
        border-radius: 61% 39% 67% 33%/70% 50% 50% 30%;
    }
    70%
    {
        border-radius: 50% 50% 34% 66%/56% 68% 32% 44%;
    }
    84%
    {
        border-radius: 46% 54% 50% 50%/35% 61% 39% 65%;
    }
}
.progress-wrap
{
    position: fixed;
    z-index: 20;
    right: 50px;
    bottom: 90px;

    display: block;
    visibility: hidden;

    width: 90px;
    height: 90px;

    cursor: pointer;
    transition: all 200ms linear;
    transform: translateY(15px);

    opacity: 0;
    border-radius: 50px;
    box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .2);
}
@media only screen and (max-width: 640px)
{
    .progress-wrap
    {
        bottom: 140px;
    }
}

.progress-wrap.active-progress
{
    visibility: visible;

    transform: translateY(0);

    opacity: 1;
    background: #fff;
}

.progress-wrap::after
{
    font-family: 'Font Awesome 5 Pro';
    font-size: 30px;
    font-weight: 700;

    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    display: flex;

    width: 90px;
    height: 90px;

    content: '\f062';
    cursor: pointer;
    transition: all 200ms linear;
    text-align: center;

    color: #0b1f56;

    justify-content: center;
    align-items: center;
}

.progress-wrap::before
{
    font-family: 'Font Awesome 5 Pro';
    font-size: 30px;
    font-weight: 700;

    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;

    display: flex;

    width: 90px;
    height: 90px;

    content: '\f062';
    cursor: pointer;
    transition: all 200ms linear;
    text-align: center;

    opacity: 0;
    color: #0b1f56;

    justify-content: center;
    align-items: center;
}

.progress-wrap svg
{
    position: relative;
    z-index: 1;
}

.progress-wrap svg path
{
    fill: none;
}

.progress-wrap svg.progress-circle path
{
    box-sizing: border-box;

    transition: all 200ms linear;

    stroke: #0b1f56;
    stroke-width: 5;
}

body.light .progress-wrap
{
    box-shadow: inset 0 0 0 2px rgba(0, 0, 0, .2);
}

body.light .progress-wrap::after
{
    color: #1f2029;
}

body.light .progress-wrap svg.progress-circle path
{
    stroke: #1f2029;
}

.switch,
.circle
{
    transition: all 300ms linear;
}

.switch
{
    position: fixed;
    z-index: 33333;
    top: 75px;
    right: 50px;

    display: block;

    width: 80px;
    height: 4px;
    margin: 0 auto;

    transition: all 300ms linear;
    text-align: center;

    opacity: 1;
    border-radius: 27px;
    background-image: linear-gradient(298deg, #da2c4d, #f8ab37);
}

.circle
{
    position: absolute;
    top: 50%;
    left: -5px;

    width: 40px;
    height: 40px;

    cursor: pointer;
    transform: translateY(-50%);
    animation: border-transform 10s linear infinite alternate forwards;

    border-radius: 50%;
    background: #4b4d64;
    box-shadow: 0 4px 4px rgba(26, 53, 71, .25), 0 0 0 1px rgba(26, 53, 71, .07);
}

.circle:before
{
    font-family: 'unicons';
    font-size: 20px;
    line-height: 40px;

    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;

    width: 100%;
    height: 40px;

    content: '\eac1';
    transition: all 300ms linear;
    text-align: center;

    opacity: 1;
    color: #ff8695;
}

.circle:after
{
    font-family: 'unicons';
    font-size: 20px;
    line-height: 40px;

    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;

    width: 100%;
    height: 40px;

    content: '\eb8f';
    transition: all 300ms linear;
    text-align: center;

    opacity: 0;
    color: #f8ab37;
}

.switched .circle
{
    left: 45px;

    background: #1f2029;
    box-shadow: 0 4px 4px rgba(26, 53, 71, .25), 0 0 0 1px rgba(26, 53, 71, .07);
}

.switched .circle:before
{
    opacity: 0;
}

.switched .circle:after
{
    opacity: 1;
}

.slide-bottom
{
    transition: all 1500ms;
    transform: translate(0, 50px);

    opacity: 0;
}

.slide-bottom.scrollin
{
    transform: translate(0, 0);

    opacity: 1;
}

.slide-top
{
    transition: all 1500ms;
    transform: translate(0, -50px);

    opacity: 0;
}

.slide-top.scrollin
{
    transform: translate(0, 0);

    opacity: 1;
}

.slide-right
{
    transition: all 1500ms;
    transform: translate(50px, 0px);

    opacity: 0;
}

.slide-right.scrollin
{
    transform: translate(0, 0);

    opacity: 1;
}

.slide-left
{
    transition: all 1500ms;
    transform: translate(-50px, 0px);

    opacity: 0;
}

.slide-left.scrollin
{
    transform: translate(0, 0);

    opacity: 1;
}

@keyframes fadeIn_left
{
    0%
    {
        transform: translate(-50px, 0);

        opacity: 0;
    }
    100%
    {
        opacity: 1;
    }
}
@keyframes fadeIn_right
{
    0%
    {
        transform: translate(50px, 0);

        opacity: 0;
    }
    100%
    {
        opacity: 1;
    }
}
.btn a
{
    font-size: 16px;
    font-size: 1vw;
    line-height: 1;

    display: block;

    max-width: 350px;
    margin: 0 auto;
    padding: 25px 10px;

    color: #000 !important;
    background: #f6ed13;
}
@media only screen and (min-width: 1600px)
{
    .btn a
    {
        font-size: 16px;
    }
}
@media only screen and (max-width: 834px)
{
    .btn a
    {
        font-size: 16px;
    }
}
@media only screen and (max-width: 640px)
{
    .btn a
    {
        width: 250px;
        padding: 15px 10px;
    }
}
.btn a:hover
{
    animation: zoom .3s;

    opacity: 1;
}

.bfarea:before
{
    width: 0;
    height: 0;

    transition: all 1500ms;
}

.bfarea.scrollin:before
{
    width: 100%;
    height: 100%;
}

.cont_1
{
    position: relative;

    display: flex;
    flex-direction: column;

    max-width: 1200px;
    margin: 120px auto 120px;

    align-items: flex-start;
    justify-content: space-between;
}
@media only screen and (max-width: 1200px)
{
    .cont_1
    {
        padding: 0 10px;
    }
}
@media screen and (min-width: 641px) and (max-width: 834px)
{
    .cont_1
    {
        margin: 120px auto 70px;
    }
}
@media only screen and (max-width: 640px)
{
    .cont_1
    {
        margin: 60px auto 120px;
    }
}
.cont_1 .flxL
{
    z-index: 1;
}
.cont_1 .flxL .midashi
{
    margin-bottom: 30px;
    margin-left: 80%;
}
.cont_1 .flxL .txt
{
    position: absolute;
    z-index: 1;
    right: 0;
    bottom: -5%;

    width: 48%;
    padding: 10% 5%;

    color: #fff;
    background: rgba(1, 93, 178, .9);
}
@media screen and (min-width: 641px) and (max-width: 834px)
{
    .cont_1 .flxL .txt
    {
        bottom: 10%;

        width: 75%;
    }
}
@media only screen and (max-width: 640px)
{
    .cont_1 .flxL .txt
    {
        bottom: -10%;

        width: auto;
        margin-left: 10%;
    }
}
.cont_1 .flxR
{
    position: relative;
    z-index: 0;
}
.cont_1 .flxR .img
{
    position: relative;
}
.cont_1 .flxR .img:before
{
    position: absolute;
    z-index: -1;
    top: -20%;
    right: -10%;

    display: block;

    content: '';

    background: #f6ed13;
}
@media screen and (min-width: 641px) and (max-width: 834px)
{
    .cont_1 .flxR .img:before
    {
        top: -30%;
    }
}
@media only screen and (max-width: 640px)
{
    .cont_1 .flxR .img:before
    {
        top: -25%;
    }
}

.cont_2wrap
{
    padding: 100px 0;

    background: url(../images/common/bg_service.png) no-repeat center;
    background-size: contain;
}
@media only screen and (max-width: 1200px)
{
    .cont_2wrap
    {
        padding: 100px 10px;
    }
}
@media only screen and (max-width: 834px)
{
    .cont_2wrap
    {
        padding: 50px 10px;
    }
}
.cont_2wrap .cont_2
{
    display: flex;

    max-width: 1200px;
    margin: 0 auto;

    justify-content: center;
    flex-wrap: wrap;
}
.cont_2wrap .cont_2 .midashi2
{
    width: 100%;
}
.cont_2wrap .cont_2 .box
{
    width: 48%;
    margin: 0 3% 3% 0;
    padding: 20px;

    color: #fff;
    background-size: cover;
}
@media only screen and (max-width: 640px)
{
    .cont_2wrap .cont_2 .box
    {
        width: 100%;
        margin-bottom: 30px;
    }
}
.cont_2wrap .cont_2 .box:nth-of-type(odd)
{
    margin-right: 0;
}
.cont_2wrap .cont_2 .box:last-child
{
    margin-right: 0;
}
@media only screen and (max-width: 640px)
{
    .cont_2wrap .cont_2 .box:last-child
    {
        margin-bottom: 0;
    }
}
.cont_2wrap .cont_2 .box article
{
    height: 100%;
    padding: 7.5% 9.2% 9.5% 9.22%;

    background: rgba(10, 75, 126, .9);
}
.cont_2wrap .cont_2 .box article table
{
    height: 100%;
}
.cont_2wrap .cont_2 .box td
{
    border: 0 !important;
}
.cont_2wrap .cont_2 .box .ttl
{
    font-size: 13px;

    color: #f6ed13;
}
.cont_2wrap .cont_2 .box .ttl h3
{
    font-size: 22px;
    font-size: 1.375vw;
    line-height: 1.5;
}
@media only screen and (min-width: 1600px)
{
    .cont_2wrap .cont_2 .box .ttl h3
    {
        font-size: 22px;
    }
}
@media only screen and (max-width: 834px)
{
    .cont_2wrap .cont_2 .box .ttl h3
    {
        font-size: 18px;
    }
}
.cont_2wrap .cont_2 .box .ttl h3 span
{
    font-size: 13px;

    display: block;
}
.cont_2wrap .cont_2 .box .ttl br
{
    display: none;
}
.cont_2wrap .cont_2 .box .txt
{
    line-height: 1.6;
}
.cont_2wrap .cont_2 .box .check i
{
    display: inline-block;

    margin-right: 10px;

    color: #f6ed13;
}
.cont_2wrap .cont_2 .box .btn
{
    padding-top: 30px !important;
}
.cont_2wrap .cont_2 .box .btn2 div
{
    display: flex;

    justify-content: space-between;
}
@media only screen and (max-width: 834px)
{
    .cont_2wrap .cont_2 .box .btn2 div
    {
        display: block;
    }
}
.cont_2wrap .cont_2 .box .btn2 a
{
    display: inline-block;

    width: 48%;
    margin-right: 4% !important;
}
@media only screen and (max-width: 834px)
{
    .cont_2wrap .cont_2 .box .btn2 a
    {
        display: block;

        width: 100%;
        margin: 0 auto !important;
    }
}
.cont_2wrap .cont_2 .box .btn2 a:nth-of-type(even)
{
    margin-right: 0 !important;
}
@media only screen and (max-width: 834px)
{
    .cont_2wrap .cont_2 .box .btn2 a:nth-of-type(even)
    {
        margin: 0 auto !important;
    }
}

.afarea .flxL:after
{
    width: 0;
    height: 0;

    transition: all 1500ms;
}

.afarea.scrollin .flxL:after
{
    width: 20%;
    height: 100%;
}
@media only screen and (max-width: 1200px)
{
    .afarea.scrollin .flxL:after
    {
        width: 40%;
    }
}
@media only screen and (max-width: 834px)
{
    .afarea.scrollin .flxL:after
    {
        width: 90%;
    }
}

.afarea2:after
{
    width: 0;
    height: 0;

    transition: all 1500ms;
}

.afarea2.scrollin:after
{
    width: 20%;
    height: 80%;
}
@media only screen and (max-width: 1200px)
{
    .afarea2.scrollin:after
    {
        width: 40%;
    }
}
@media only screen and (max-width: 834px)
{
    .afarea2.scrollin:after
    {
        width: 70%;
    }
}

.cont_4
{
    position: relative;

    max-width: 1200px;
    margin: 0 auto 100px;
}
@media only screen and (max-width: 1200px)
{
    .cont_4
    {
        padding: 0 10px;
    }
}
@media only screen and (max-width: 834px)
{
    .cont_4
    {
        margin: 100px auto 100px;
    }
}
.cont_4:after
{
    position: absolute;
    z-index: -1;
    top: 5%;
    left: 0;

    display: block;

    content: '';

    background: #f6ed13;
}
.cont_4 .midashi2
{
    margin-left: 5% !important;
}

.news
{
    margin-left: 10%;
    padding: 5%;

    background: rgba(1, 93, 178, .9);
}
.news .blog_list
{
    display: block !important;
    overflow-y: scroll;

    height: 350px;
    padding-right: 10px;

    border: 0;
}
.news .blog_list > div
{
    padding: 15px 0;

    border-bottom: 1px dashed #fff;
}
.news .blog_list > div:first-child
{
    padding: 0 0 15px;
}
.news .blog_list > div:last-child
{
    border-bottom: 1px dashed #fff;
}
.news .blog_list > div .blog_photo
{
    display: none;
}
.news .blog_list > div .blog_text
{
    font-size: 16px;

    display: block;

    width: 100%;
    padding: 0;
}
.news .blog_list > div .blog_text .blog_date
{
    font-weight: 700;

    display: inline-block;

    margin-bottom: 10px;
    padding: 2px 10px;

    color: #111;
    background: #f6ed13;
}
.news .blog_list > div .blog_text h3
{
    margin-bottom: 0;
}
.news .blog_list > div .blog_text h3 a
{
    color: #fff;
}
.news .blog_list > div .blog_text .detail,
.news .blog_list > div .blog_text ul
{
    display: none;
}

.media
{
    max-width: 1200px;
    margin: 0 auto 120px;
}
@media only screen and (max-width: 1200px)
{
    .media
    {
        padding: 0 10px;
    }
}
@media only screen and (max-width: 1000px)
{
    .media
    {
        margin: 0 auto 80px;
    }
}
.media .sns_list
{
    flex-direction: row;

    margin-left: -1.6393442623%;

    border: 0;

    flex-wrap: wrap;
}
@media screen and (min-width: 641px) and (max-width: 834px)
{
    .media .sns_list
    {
        margin-left: -1.6393442623%;
    }
}
@media only screen and (max-width: 640px)
{
    .media .sns_list
    {
        margin-left: 0;

        justify-content: space-between;
    }
}
.media .sns_list > div
{
    width: 18.3606557377%;
    height: 18.3606557377%;
    margin-bottom: 30px;
    margin-left: 1.6393442623%;

    border-bottom: 0;
}
@media screen and (min-width: 641px) and (max-width: 834px)
{
    .media .sns_list > div
    {
        display: block;

        width: 18.3606557377%;
        margin-left: 1.6393442623%;
    }
}
@media only screen and (max-width: 640px)
{
    .media .sns_list > div
    {
        width: 48%;
        margin-left: 0;
    }
}
.media .sns_list > div .sns_photo
{
    width: 100%;
    padding: 0;
}
.media .sns_list > div .sns_photo a
{
    display: block;
}
.media .sns_list > div .sns_photo img
{
    font-family: 'object-fit: cover;';

    display: block;

    width: 100% !important;
    height: 11.6666vw !important;

    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: 0 100%;
       object-position: 0 100%;
}
@media only screen and (min-width: 1600px)
{
    .media .sns_list > div .sns_photo img
    {
        height: 223.94px !important;
    }
}
@media only screen and (max-width: 1200px)
{
    .media .sns_list > div .sns_photo img
    {
        height: 20vw !important;
    }
}
@media only screen and (max-width: 640px)
{
    .media .sns_list > div .sns_photo img
    {
        height: 40vw !important;
    }
}
.media .sns_list > div .sns_text
{
    display: none;
}

/* title */
.midashi
{
    display: block;

    width: 100%;
}
.midashi h2
{
    font-size: 50px;
    font-size: 3.125vw;
    font-weight: 700;
    line-height: 1;

    color: #000;
}
@media only screen and (min-width: 1600px)
{
    .midashi h2
    {
        font-size: 50px;
    }
}
@media only screen and (max-width: 1200px)
{
    .midashi h2
    {
        font-size: 45px;
    }
}
@media screen and (min-width: 641px) and (max-width: 834px)
{
    .midashi h2
    {
        font-size: 40px;
    }
}
@media only screen and (max-width: 640px)
{
    .midashi h2
    {
        font-size: 35px;
    }
}
.midashi h2 span
{
    font-size: 24px;
    font-size: 1.5vw;

    display: block;

    margin-top: 15px;
}
@media only screen and (min-width: 1600px)
{
    .midashi h2 span
    {
        font-size: 24px;
    }
}
@media only screen and (max-width: 1200px)
{
    .midashi h2 span
    {
        font-size: 20px;
    }
}
@media screen and (min-width: 641px) and (max-width: 834px)
{
    .midashi h2 span
    {
        font-size: 20px;
    }
}
@media only screen and (max-width: 640px)
{
    .midashi h2 span
    {
        font-size: 18px;
    }
}

.midashi2
{
    display: block;

    width: 100%;
}
.midashi2 h2
{
    font-size: 40px;
    font-size: 2.5vw;
    font-weight: 700;
    line-height: 1;

    color: #000;
}
@media only screen and (min-width: 1600px)
{
    .midashi2 h2
    {
        font-size: 40px;
    }
}
@media only screen and (max-width: 1200px)
{
    .midashi2 h2
    {
        font-size: 35px;
    }
}
@media screen and (min-width: 641px) and (max-width: 834px)
{
    .midashi2 h2
    {
        font-size: 35px;
    }
}
@media only screen and (max-width: 640px)
{
    .midashi2 h2
    {
        font-size: 30px;
    }
}
.midashi2 h2 span
{
    font-size: 24px;
    font-size: 1.5vw;

    display: block;

    margin-top: 15px;
}
@media only screen and (min-width: 1600px)
{
    .midashi2 h2 span
    {
        font-size: 24px;
    }
}
@media only screen and (max-width: 1200px)
{
    .midashi2 h2 span
    {
        font-size: 20px;
    }
}
@media screen and (min-width: 641px) and (max-width: 834px)
{
    .midashi2 h2 span
    {
        font-size: 20px;
    }
}
@media only screen and (max-width: 640px)
{
    .midashi2 h2 span
    {
        font-size: 18px;
    }
}

.midashi3 h2
{
    font-size: 30px;
    font-size: 1.875vw;
    font-weight: 700;

    position: relative;

    display: flex;

    margin-bottom: 10px;

    color: #fff;

    justify-content: space-between;
    align-items: center;
}
@media only screen and (min-width: 1600px)
{
    .midashi3 h2
    {
        font-size: 30px;
    }
}
@media only screen and (max-width: 1200px)
{
    .midashi3 h2
    {
        font-size: 25px;
    }
}
@media screen and (min-width: 641px) and (max-width: 834px)
{
    .midashi3 h2
    {
        font-size: 25px;
    }
}
@media only screen and (max-width: 640px)
{
    .midashi3 h2
    {
        font-size: 20px;
    }
}
.midashi3 h2:after
{
    z-index: 0;

    display: block;

    width: auto;
    height: 1px;

    content: '';

    border-top: solid 1px #f6ed13;

    flex-grow: 1;
}
.midashi3 span
{
    position: relative;
    z-index: 1;

    display: inline-block;

    padding: 0 15px 0 0;
}
.midashi3 br
{
    display: none !important;
}

.midashi4 h2
{
    font-size: 25px;
    font-size: 1.5625vw;
    font-weight: 700;

    padding: 20px 15px;

    letter-spacing: .2em;

    color: #333;
    border-bottom: solid 3px #d7d7d7;
    border-left: solid 5px #1b4996;
    background-color: #f4f4f4;
    background-image: url(../images/contents/midashi.png);
    background-repeat: no-repeat;
    background-position: right center;
    background-size: contain;
}
@media only screen and (min-width: 1600px)
{
    .midashi4 h2
    {
        font-size: 25px;
    }
}
@media only screen and (max-width: 1200px)
{
    .midashi4 h2
    {
        font-size: 20px;
    }
}
@media only screen and (max-width: 1200px)
{
    .midashi4 h2
    {
        font-size: 25px;
    }
}
@media screen and (min-width: 641px) and (max-width: 834px)
{
    .midashi4 h2
    {
        font-size: 20px;
    }
}
@media only screen and (max-width: 640px)
{
    .midashi4 h2
    {
        font-size: 18px;
    }
}
.midashi4 h2 span
{
    font-size: 13px;
    font-size: .8125vw;

    display: block;

    color: #0b51c2;
}
@media only screen and (min-width: 1600px)
{
    .midashi4 h2 span
    {
        font-size: 13px;
    }
}
@media only screen and (max-width: 1200px)
{
    .midashi4 h2 span
    {
        font-size: 13px;
    }
}
@media only screen and (max-width: 1200px)
{
    .midashi4 h2 span
    {
        font-size: 16px;
    }
}
@media screen and (min-width: 641px) and (max-width: 834px)
{
    .midashi4 h2 span
    {
        font-size: 13px;
    }
}
@media only screen and (max-width: 640px)
{
    .midashi4 h2 span
    {
        font-size: 13px;
    }
}
.midashi4 h3
{
    font-size: 25px;
    font-size: 1.5625vw;
    font-weight: 700;

    padding: 20px 15px;

    letter-spacing: .2em;

    color: #333;
    border-bottom: solid 3px #d7d7d7;
    border-left: solid 5px #1b4996;
    background: #f4f4f4;
}
@media only screen and (min-width: 1600px)
{
    .midashi4 h3
    {
        font-size: 25px;
    }
}
@media only screen and (max-width: 1200px)
{
    .midashi4 h3
    {
        font-size: 20px;
    }
}
@media screen and (min-width: 641px) and (max-width: 834px)
{
    .midashi4 h3
    {
        font-size: 20px;
    }
}
@media only screen and (max-width: 640px)
{
    .midashi4 h3
    {
        font-size: 18px;
    }
}

.midashi5
{
    display: block;

    width: 100%;
}
.midashi5 h3
{
    font-size: 25px;
    font-size: 1.5625vw;
    font-weight: 500;
    line-height: 1.4em;

    padding-bottom: 10px;

    color: #333;
    border-bottom: 1px solid #333;
}
@media only screen and (min-width: 1600px)
{
    .midashi5 h3
    {
        font-size: 25px;
    }
}
@media only screen and (max-width: 1200px)
{
    .midashi5 h3
    {
        font-size: 20px;
    }
}
@media screen and (min-width: 641px) and (max-width: 834px)
{
    .midashi5 h3
    {
        font-size: 20px;
    }
}
@media only screen and (max-width: 640px)
{
    .midashi5 h3
    {
        font-size: 18px;
    }
}
.midashi5 h3 span
{
    font-size: 16px;
    font-size: 1vw;
}
@media only screen and (min-width: 1600px)
{
    .midashi5 h3 span
    {
        font-size: 16px;
    }
}
@media only screen and (max-width: 1200px)
{
    .midashi5 h3 span
    {
        font-size: 16px;
    }
}
@media screen and (min-width: 641px) and (max-width: 834px)
{
    .midashi5 h3 span
    {
        font-size: 16px;
    }
}
@media only screen and (max-width: 640px)
{
    .midashi5 h3 span
    {
        font-size: 16px;
    }
}

.cont_5
{
    display: flex;

    margin-bottom: 50px;

    align-items: center;
    justify-content: flex-start;
}
@media only screen and (max-width: 834px)
{
    .cont_5
    {
        flex-direction: column-reverse;
    }
}
.cont_5:nth-child(odd)
{
    flex-direction: row-reverse;
}
@media only screen and (max-width: 640px)
{
    .cont_5:nth-child(odd)
    {
        flex-direction: column;
    }
}
.cont_5:nth-child(odd) .flxR
{
    width: 55%;
    margin-right: 5%;
    margin-left: 0;
}
@media only screen and (max-width: 834px)
{
    .cont_5:nth-child(odd) .flxR
    {
        width: 100%;
        margin-right: 0;
    }
}
.cont_5 .flxL
{
    width: 40%;
}
@media only screen and (max-width: 834px)
{
    .cont_5 .flxL
    {
        width: 100%;
    }
}
.cont_5 .flxR
{
    width: 55%;
    margin-left: 5%;
}
@media only screen and (max-width: 834px)
{
    .cont_5 .flxR
    {
        width: 100%;
        margin-bottom: 30px;
        margin-left: 0;
    }
}
.cont_5 img
{
    width: 100% !important;
}
.cont_5 .step
{
    position: relative;
}
.cont_5 .step > div
{
    position: absolute;
    top: 15px;
    left: 15px;

    display: flex;

    width: 100px;
    height: 100px;

    color: #fff;
    border-radius: 50%;
    background: #587be5;

    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

.kokusai01
{
    flex-direction: row;

    margin-bottom: 50px;
    margin-left: -2.1097046414%;

    border: 0;

    flex-wrap: wrap;
}
@media screen and (min-width: 641px) and (max-width: 834px)
{
    .kokusai01
    {
        margin-left: -2.1097046414%;
    }
}
@media only screen and (max-width: 640px)
{
    .kokusai01
    {
        margin-left: 0;

        justify-content: space-between;
    }
}
.kokusai01 .box
{
    position: relative;

    width: 31.223628692%;
    height: 31.223628692%;
    margin-bottom: 30px;
    margin-left: 2.1097046414%;
}
@media screen and (min-width: 641px) and (max-width: 834px)
{
    .kokusai01 .box
    {
        display: block;

        width: 31.223628692%;
        margin-left: 2.1097046414%;
    }
}
@media only screen and (max-width: 640px)
{
    .kokusai01 .box
    {
        width: 48%;
        margin-left: 0;
    }
}
@media only screen and (max-width: 640px)
{
    .kokusai01 .box:nth-child(3)
    {
        width: 100%;
    }
}
.kokusai01 .box img
{
    width: 100% !important;
}
.kokusai01 .box > div
{
    font-size: 25px;
    font-weight: 600;

    position: absolute;
    z-index: 1;
    top: 0;

    display: flex;
    flex-direction: column;

    width: 100%;
    height: 100%;

    text-align: center;

    background: rgba(255, 255, 255, .5);

    align-items: center;
    justify-content: center;
}
@media screen and (min-width: 641px) and (max-width: 834px)
{
    .kokusai01 .box > div
    {
        font-size: 20px;
    }
}
.kokusai01 .box > div span
{
    font-size: 16px;
    line-height: 1.5;

    display: block;

    margin-top: 10px;
}
@media screen and (min-width: 641px) and (max-width: 834px)
{
    .kokusai01 .box > div span
    {
        font-size: 13px;
    }
}

@media only screen and (max-width: 640px)
{
    .ticket1 .box:nth-child(3)
    {
        width: 48%;
    }
}
@media only screen and (max-width: 640px)
{
    .ticket1 .box > div
    {
        font-size: 16px;
        line-height: 1.5;
    }
}
@media only screen and (max-width: 640px)
{
    .ticket1 .box > div span
    {
        font-size: 11px;
        font-weight: 500;

        margin-top: 5px;
    }
}

.kokusai02
{
    justify-content: space-between !important;
    flex-wrap: wrap;
}
.kokusai02 .box
{
    width: 31%;
    margin-bottom: 20px;
}
.kokusai02 .box article
{
    display: flex;

    height: 100%;

    justify-content: flex-start;
}
.kokusai02 .box article h3
{
    display: flex;

    min-width: 35px;
    margin-right: 10px;
    padding: 10px;

    vertical-align: middle;

    color: #333;
    background-color: #dbdbdb;

    justify-content: center;
    align-items: center;
}

.kokusai03
{
    flex-direction: row;

    margin-bottom: 50px;
    margin-left: -1.6949152542%;

    border: 0;

    flex-wrap: wrap;
}
@media screen and (min-width: 641px) and (max-width: 834px)
{
    .kokusai03
    {
        margin-left: -2.1097%;
    }
}
@media only screen and (max-width: 640px)
{
    .kokusai03
    {
        margin-left: 0;

        justify-content: space-between;
    }
}
.kokusai03 .box
{
    position: relative;

    width: 18.3050847458%;
    height: 18.3050847458%;
    margin-bottom: 30px;
    margin-left: 1.6949152542%;
}
@media screen and (min-width: 641px) and (max-width: 834px)
{
    .kokusai03 .box
    {
        display: block;

        width: 31.2236%;
        margin-bottom: 15px;
        margin-left: 2.1097%;
    }
}
@media only screen and (max-width: 640px)
{
    .kokusai03 .box
    {
        width: 48%;
        margin-left: 0;
    }
}
.kokusai03 .box img
{
    width: 100% !important;
}
.kokusai03 .box article
{
    display: flex;

    height: 100%;

    flex-wrap: wrap;
    justify-content: flex-start;
}
.kokusai03 .box article h3
{
    display: flex;

    min-width: 35px;
    margin-right: 10px;
    padding: 10px;

    vertical-align: middle;

    color: #333;
    background-color: #dbdbdb;

    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

.transport
{
    justify-content: space-between !important;
    flex-wrap: wrap;
}
.transport .box
{
    width: 48%;
    margin-bottom: 30px;
}
.transport .box article
{
    display: flex;

    flex-wrap: wrap;
    justify-content: flex-start;
}
.transport .box article img
{
    width: 100% !important;
    height: 100% !important;
}
.transport .box article h3
{
    font-size: 18px;
    font-weight: 700;

    display: block;

    width: 100%;
    margin-top: 20px;
    padding-bottom: 10px;

    border-bottom: 1px solid #000;
}

.contactwrap
{
    padding: 50px;

    background: #f7f7f7;
}

.policy a
{
    color: #333;
}

.waku2
{
    justify-content: space-between;
}
.waku2 .box
{
    width: 48%;
    padding: 40px;

    border: double 7px #1b4996;
    background: whitesmoke;
}
@media only screen and (max-width: 640px)
{
    .waku2 .box
    {
        width: 100%;
        padding: 20px;
    }
}
.waku2 .box img
{
    margin-bottom: 20px;
}
.waku2 .box h3
{
    font-size: 25px;
    font-size: 1.5625vw;
    font-weight: 700;

    margin-bottom: 15px;
    padding-bottom: 15px;

    color: #000;
    border-bottom: 2px solid #000;
}
@media only screen and (min-width: 1600px)
{
    .waku2 .box h3
    {
        font-size: 25px;
    }
}
@media screen and (min-width: 641px) and (max-width: 834px)
{
    .waku2 .box h3
    {
        font-size: 20px;
    }
}
@media only screen and (max-width: 640px)
{
    .waku2 .box h3
    {
        font-size: 20px;
    }
}

.member01
{
    padding: 5%;

    border: 1px solid #ccc;
    background: #f7f7f7;
}

.gaiyou01
{
    display: flex;

    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}
@media only screen and (max-width: 834px)
{
    .gaiyou01
    {
        display: block;
    }
}
.gaiyou01 .flxL
{
    width: 48%;
}
@media only screen and (max-width: 834px)
{
    .gaiyou01 .flxL
    {
        width: 100%;
    }
}
.gaiyou01 .flxR
{
    width: 48%;
}
@media only screen and (max-width: 834px)
{
    .gaiyou01 .flxR
    {
        width: 100%;
    }
}

@media only screen and (max-width: 640px)
{
    .comp2 dl
    {
        display: block !important;

        text-align: center;
    }
}
.comp2 dl dt
{
    padding: 15px !important;
}
@media only screen and (max-width: 640px)
{
    .comp2 dl dt
    {
        display: block !important;

        width: 100% !important;

        text-align: center;
    }
}
.comp2 dl dd
{
    padding: 15px !important;
}
@media only screen and (max-width: 640px)
{
    .comp2 dl dd
    {
        width: 100% !important;
    }
}
.comp2 dl a
{
    color: #b2b2b2;
}

.faq_q
{
    border: none !important;
}
.faq_q > div
{
    font-size: 16px;
    font-weight: bold;

    position: relative;
    position: relative;

    padding-bottom: 20px !important;
    padding-left: 3em !important;

    color: #1b4996;
    border-bottom: 1px #1b4996 dashed;
}
.faq_q > div:before
{
    font-weight: bold;
    line-height: 40px;

    position: absolute;
    top: -3px;
    left: 0;

    display: block;

    width: 40px;
    height: 40px;

    content: 'Q';
    text-align: center;

    color: #fff;
    border-radius: 600px;
    background: #1b4996;
}

.faq_a
{
    border: none !important;
}
.faq_a > div
{
    font-size: 16px;
    line-height: 1.5;

    position: relative;
    position: relative;

    padding-bottom: 30px !important;
    padding-left: 3em !important;

    border-bottom: 1px #376eca solid;
}
.faq_a > div:before
{
    font-weight: bold;
    line-height: 40px;

    position: absolute;
    top: -6px;
    left: 0;

    display: block;

    width: 40px;
    height: 40px;

    content: 'A';
    text-align: center;

    color: #fff;
    border-radius: 600px;
    background: #376eca;
}

.img100 img
{
    width: 100% !important;
    max-width: 100% !important;
}

.waku
{
    padding: 40px;

    border: double 7px #1b4996;
    background: whitesmoke;
}
@media only screen and (max-width: 640px)
{
    .waku
    {
        padding: 20px;
    }
}

.comp dl
{
    border-bottom: 1px solid #ccc;
}
.comp dl:nth-child(1)
{
    border-top: 1px solid #ccc;
}
.comp dl dt
{
    padding: 15px 0 !important;

    border: 0 !important;
    background-color: inherit !important;
}
.comp dl dd
{
    padding: 15px 0 !important;

    border: 0 !important;
    background-color: inherit !important;
}
.comp dl a
{
    color: #b2b2b2;
}

.tdpd10 td
{
    padding: 10px !important;
}

.slider2 img
{
    margin: 0 auto;
}

.tdscl
{
    overflow-x: scroll;
}
.tdscl table
{
    width: 1850px;

    table-layout: fixed;
}

.formtel td
{
    font-size: 16px;

    border: 0 !important;
}
.formtel .tel2 div
{
    font-size: 30px;
    font-weight: 700;

    color: #000;
}
.formtel .tel2 a
{
    font-size: 30px;
    font-weight: 700;

    color: #000;
}

.modaal-close
{
    position: absolute !important;
    top: -20px !important;
    right: -20px !important;

    background: rgba(0, 0, 0, .7) !important;
}

.modaal-content-container h3
{
    font-size: 18px;
    font-weight: bold;

    margin: 0 0 15px;
    padding: 0 0 5px;

    border-bottom: 2px solid #bbb;
}

.modaal-content-container p
{
    margin: 0 0 20px;
}

.modaal-close:focus:before,
.modaal-close:focus:after,
.modaal-close:hover:before,
.modaal-close:hover:after
{
    background: #fff !important;
}

@media only screen and (max-width: 834px)
{
    .modaal-content-container
    {
        overflow-y: scroll;

        height: 400px;
    }
}

.center
{
    text-align: center;
}

@media only screen and (max-width: 834px)
{
    .tabBlk
    {
        display: block;
    }
}

.mail.title
{
    display: none !important;
}
