@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

@charset "UTF-8";

/*------------------------------------------
  Style Reset
------------------------------------------*/
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,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}
font-face {
    font-family: 'Oswald';
    font-style: normal;
    font-weight: 400;
    src: url(https://fonts.gstatic.com/s/oswald/v57/TK3_WkUHHAIjg75cFRf3bXL8LICs1_FvsUtiZTaR.woff2) format('woff2');
    unicode-range: U +0460 -052F, U +1C80 -1C8A, U +20B4, U +2DE0 -2DFF, U + A640-A69F, U + FE2E-FE2F;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section {
    display: block;
}

body {
    line-height: 1;
}

ol,
ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

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

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

input,
select,
textarea {
    margin: 0;
    padding: 0;
    cursor: pointer;
    -webkit-border-radius: 0;
    border-radius: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background: none;
    border: none;
    font-size: 16px;
}

input[type="text"],
input[type="submit"],
textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

/*------------------------------------------
  汎用スタイル
------------------------------------------*/
/*  font-size
-------------------------*/
.fz08 {
    font-size: 8px;
    font-size: .8rem;
}

.fz09 {
    font-size: 9px;
    font-size: .9rem;
}

.fz10 {
    font-size: 10px;
    font-size: 1rem;
}

.fz11 {
    font-size: 11px;
    font-size: 1.1rem;
}

.fz12 {
    font-size: 12px;
    font-size: 1.2rem;
}

.fz13 {
    font-size: 13px;
    font-size: 1.3rem;
}

.fz14 {
    font-size: 14px;
    font-size: 1.4rem;
}

.fz15 {
    font-size: 15px;
    font-size: 1.5rem;
}

.fz16 {
    font-size: 16px;
    font-size: 1.6rem;
}

.fz17 {
    font-size: 17px;
    font-size: 1.7rem;
}

.fz18 {
    font-size: 18px;
    font-size: 1.8rem;
}

.fz19 {
    font-size: 19px;
    font-size: 1.9rem;
}

.fz20 {
    font-size: 20px;
    font-size: 2rem;
}

.fz21 {
    font-size: 21px;
    font-size: 2.1rem;
}

.fz22 {
    font-size: 22px;
    font-size: 2.2rem;
}

.fz23 {
    font-size: 23px;
    font-size: 2.3rem;
}

.fz24 {
    font-size: 24px;
    font-size: 2.4rem;
}

.fz25 {
    font-size: 25px;
    font-size: 2.5rem;
}

/*  color
-------------------------*/
/*  width
-------------------------*/
.w100 {
    width: 100px;
}

/*  text
-------------------------*/
.taC {
    text-align: center !important;
}

.taL {
    text-align: left !important;
}

.taR {
    text-align: right !important;
}

.fwB {
    font-weight: bold !important;
}

.fwN {
    font-weight: normal !important;
}

/*  margin
-------------------------*/
.ma {
    margin: auto !important;
}

.m00 {
    margin: 0 !important;
}

.m05 {
    margin: 5px !important;
}

.m10 {
    margin: 10px !important;
}

.m15 {
    margin: 15px !important;
}

.m20 {
    margin: 20px !important;
}

.m25 {
    margin: 25px !important;
}

.m30 {
    margin: 30px !important;
}

.m35 {
    margin: 35px !important;
}

.m40 {
    margin: 40px !important;
}

.m45 {
    margin: 45px !important;
}

.m50 {
    margin: 50px !important;
}

.mt00 {
    margin-top: 0 !important;
}

.mt05 {
    margin-top: 5px !important;
}

.mt10 {
    margin-top: 10px !important;
}

.mt15 {
    margin-top: 15px !important;
}

.mt20 {
    margin-top: 20px !important;
}

.mt25 {
    margin-top: 25px !important;
}

.mt30 {
    margin-top: 30px !important;
}

.mt35 {
    margin-top: 35px !important;
}

.mt40 {
    margin-top: 40px !important;
}

.mt45 {
    margin-top: 45px !important;
}

.mt50 {
    margin-top: 50px !important;
}

.mb00 {
    margin-bottom: 0 !important;
}

.mb05 {
    margin-bottom: 5px !important;
}

.mb10 {
    margin-bottom: 10px !important;
}

.mb15 {
    margin-bottom: 15px !important;
}

.mb20 {
    margin-bottom: 20px !important;
}

.mb25 {
    margin-bottom: 25px !important;
}

.mb30 {
    margin-bottom: 30px !important;
}

.mb35 {
    margin-bottom: 35px !important;
}

.mb40 {
    margin-bottom: 40px !important;
}

.mb45 {
    margin-bottom: 45px !important;
}

.mb50 {
    margin-bottom: 50px !important;
}

.ml00 {
    margin-left: 0 !important;
}

.ml05 {
    margin-left: 5px !important;
}

.ml10 {
    margin-left: 10px !important;
}

.ml15 {
    margin-left: 15px !important;
}

.ml20 {
    margin-left: 20px !important;
}

.ml25 {
    margin-left: 25px !important;
}

.ml30 {
    margin-left: 30px !important;
}

.ml35 {
    margin-left: 35px !important;
}

.ml40 {
    margin-left: 40px !important;
}

.ml45 {
    margin-left: 45px !important;
}

.ml50 {
    margin-left: 50px !important;
}

.mr00 {
    margin-right: 0 !important;
}

.mr05 {
    margin-right: 5px !important;
}

.mr10 {
    margin-right: 10px !important;
}

.mr15 {
    margin-right: 15px !important;
}

.mr20 {
    margin-right: 20px !important;
}

.mr25 {
    margin-right: 25px !important;
}

.mr30 {
    margin-right: 30px !important;
}

.mr35 {
    margin-right: 35px !important;
}

.mr40 {
    margin-right: 40px !important;
}

.mr45 {
    margin-right: 45px !important;
}

.mr50 {
    margin-right: 50px !important;
}

/*  padding
-------------------------*/
.p00 {
    padding: 0 !important;
}

.p05 {
    padding: 5px !important;
}

.p10 {
    padding: 10px !important;
}

.p15 {
    padding: 15px !important;
}

.p20 {
    padding: 20px !important;
}

.p25 {
    padding: 25px !important;
}

.p30 {
    padding: 30px !important;
}

.p35 {
    padding: 35px !important;
}

.p40 {
    padding: 40px !important;
}

.p45 {
    padding: 45px !important;
}

.p50 {
    padding: 50px !important;
}

.pt00 {
    padding-top: 0 !important;
}

.pt05 {
    padding-top: 5px !important;
}

.pt10 {
    padding-top: 10px !important;
}

.pt15 {
    padding-top: 15px !important;
}

.pt20 {
    padding-top: 20px !important;
}

.pt25 {
    padding-top: 25px !important;
}

.pt30 {
    padding-top: 30px !important;
}

.pt35 {
    padding-top: 35px !important;
}

.pt40 {
    padding-top: 40px !important;
}

.pt45 {
    padding-top: 45px !important;
}

.pt50 {
    padding-top: 50px !important;
}

.pb00 {
    padding-bottom: 0 !important;
}

.pb05 {
    padding-bottom: 5px !important;
}

.pb10 {
    padding-bottom: 10px !important;
}

.pb15 {
    padding-bottom: 15px !important;
}

.pb20 {
    padding-bottom: 20px !important;
}

.pb25 {
    padding-bottom: 25px !important;
}

.pb30 {
    padding-bottom: 30px !important;
}

.pb35 {
    padding-bottom: 35px !important;
}

.pb40 {
    padding-bottom: 40px !important;
}

.pb45 {
    padding-bottom: 45px !important;
}

.pb50 {
    padding-bottom: 50px !important;
}

.pl00 {
    padding-left: 0 !important;
}

.pl05 {
    padding-left: 5px !important;
}

.pl10 {
    padding-left: 10px !important;
}

.pl15 {
    padding-left: 15px !important;
}

.pl20 {
    padding-left: 20px !important;
}

.pl25 {
    padding-left: 25px !important;
}

.pl30 {
    padding-left: 30px !important;
}

.pl35 {
    padding-left: 35px !important;
}

.pl40 {
    padding-left: 40px !important;
}

.pl45 {
    padding-left: 45px !important;
}

.pl50 {
    padding-left: 50px !important;
}

.pr00 {
    padding-right: 0 !important;
}

.pr05 {
    padding-right: 5px !important;
}

.pr10 {
    padding-right: 10px !important;
}

.pr15 {
    padding-right: 15px !important;
}

.pr20 {
    padding-right: 20px !important;
}

.pr25 {
    padding-right: 25px !important;
}

.pr30 {
    padding-right: 30px !important;
}

.pr35 {
    padding-right: 35px !important;
}

.pr40 {
    padding-right: 40px !important;
}

.pr45 {
    padding-right: 45px !important;
}

.pr50 {
    padding-right: 50px !important;
}

/*  other
-------------------------*/
.db {
    display: block !important;
}

.di {
    display: inline !important;
}

.dib {
    display: inline-block !important;
}

.boN {
    border: none !important;
}

.baN {
    background: none !important;
}

@charset "UTF-8";
/* @import url(//use.fontawesome.com/releases/v5.0.6/css/all.css);
@import url(//fonts.googleapis.com/css?family=Oswald);
@import url(//fonts.googleapis.com/earlyaccess/notosansjapanese.css); */

/*------------------------------------------
  Base Layout
------------------------------------------*/
html {
    font-size: 62.5%;
    overflow-y: scroll;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}

body {
    font-family: "Oswald", "Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "MS PGothic", sans-serif;
    font-size: 1.4em;
    background: #fff;
    color: #343434;
    line-height: 1.8;
}

a {
    color: #343434;
    text-decoration: none;
    -webkit-transition: opacity .2s ease;
    transition: opacity .2s ease;
}

a:hover {
    opacity: .7;
    -webkit-transition: opacity .2s ease;
    transition: opacity .2s ease;
}

a.link-tel {
    pointer-events: none;
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
}

.wrapper {
    min-height: 100vh;
    position: relative;
    overflow: hidden;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.disp-pc {
    display: block;
}

.disp-sp {
    display: none;
}

@media only screen and (max-width: 1024px) {
    .wrapper {
        padding-top: 0 !important;
    }
}

@media only screen and (max-width: 480px) {
    a.link-tel {
        pointer-events: auto;
    }

    .disp-pc {
        display: none;
    }

    .disp-sp {
        display: block;
    }
}

/*------------------------------------------
  parts
------------------------------------------*/
/* hタグ */
h3 {
    position: relative;
    padding: .25em 0 .5em .75em;
    border-left: 6px solid #203e6e;
    margin-bottom: 20px;
}

h3::after {
    position: absolute;
    left: 0;
    bottom: 0;
    content: '';
    width: 100%;
    height: 0;
    border-bottom: 1px solid #ccc;
}

/* layout */
.layout-type01 {
    padding: 0 40px;
    max-width: 1080px;
    margin: auto;
}

.layout-type02 {
    padding: 0 40px;
    max-width: 1080px;
    margin: auto;
}

/* title */
.title-type01 {
    font-weight: bold;
    font-size: 45px;
    font-size: 4.5rem;
    color: #073358;
    border-bottom: 3px solid #073358;
    display: inline-block;
    letter-spacing: .085em;
    line-height: 1.5;
}

.title-type02 {
    font-weight: bold;
    font-size: 24px;
    font-size: 2.4rem;
    display: inline-block;
    letter-spacing: .085em;
    line-height: 1.5;
}

.title-type03 {
    font-weight: bold;
    font-size: 20px;
    font-size: 2rem;
    color: #fff;
    border-bottom: 3px solid #fff;
    display: inline-block;
    letter-spacing: .085em;
    line-height: 1.5;
}

.title-type04 {
    text-align: center;
    line-height: 1.3;
}

.title-type04 .ttl-main {
    font-size: 22px;
    font-size: 2.2rem;
    position: relative;
    letter-spacing: .08em;
    padding-bottom: .8em;
}

.title-type04 .ttl-main:after {
    content: "";
    height: 2px;
    width: 30px;
    background: #073358;
    position: absolute;
    bottom: 0;
    left: 50%;
    margin-left: -15px;
}

.title-type04 .ttl-sub {
    font-size: 16px;
    font-size: 1.6rem;
    padding-top: .8em;
    color: #aaa;
}

.title-type05 .ttl-main,
.title-type05 .ttl-sub {
    display: inline-block;
    vertical-align: middle;
}

.title-type05 .ttl-main {
    font-size: 22px;
    font-size: 2.2rem;
    letter-spacing: .08em;
}

.title-type05 .ttl-sub {
    font-size: 16px;
    font-size: 1.6rem;
    color: #aaa;
    margin-left: .5em;
}

.title-type06 {
    font-size: 22px;
    font-size: 2.2rem;
    border-bottom: 4px solid #073358;
}

.title-type07 {
    font-size: 22px;
    font-size: 2.2rem;
    background: #efefef;
    border-left: 4px solid #073358;
    padding: .2em .5em;
}

.title-type08 {
    font-size: 22px;
    font-size: 2.2rem;
    border-left: 4px solid #9d9d9d;
    line-height: 1.3;
    padding: 0 .5em;
    position: relative;
}

.title-type08:after {
    content: "";
    width: 4px;
    height: 50%;
    background: #073358;
    position: absolute;
    left: -4px;
    bottom: 0;
}

.title-type09 .ttl-main {
    font-family: "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
    font-size: 50px;
    font-size: 5rem;
    letter-spacing: .075em;
}

.title-type10 {
    color: #073358;
}

.title-type10 .ttl-en {
    font-family: "Oswald", sans-serif;
    font-size: 36px;
    font-size: 3.6rem;
    letter-spacing: .075em;
    line-height: 1.2;
    font-weight: 900;
}

.title-type10 .ttl-ja {
    font-weight: bold;
    font-size: 26px;
    font-size: 2.6rem;
}

.title-type10 .ttl-catch {
    font-size: 18px;
    font-size: 1.8rem;
    margin-top: 1em;
}

.title-type11 {
    color: #fff;
    background: #073358;
    display: inline-block;
    font-size: 16px;
    font-size: 1.6rem;
    padding: 1em 3em;
}

/* btn */
.btn-type01 {
    display: inline-block;
    background: #073358;
    color: #fff;
    font-size: 18px;
    padding: .5rem 2rem 1rem;
    max-width: 400px;
    width: 100%;
    box-sizing: border-box;
}

.btn-type02 {
    display: inline-block;
    border: 2px solid #fff;
    color: #fff;
    font-size: 16px;
    font-size: 1.6rem;
    padding: .4em 2em;
    font-weight: bold;
}

.btn-type03 {
    display: inline-block;
    border: 1px solid #073358;
    color: #073358;
    font-size: 16px;
    font-size: 1.6rem;
    padding: .4em 3em;
    font-weight: bold;
}

.btn-type04 {
    display: inline-block;
    padding: .6em 4em;
    font-size: 20px;
    font-size: 2rem;
    font-weight: bold;
    border: 2px solid #fff;
    color: #fff;
}

.btn-type05 {
    display: inline-block;
    font-weight: bold;
    font-size: 22px;
    font-size: 2.2rem;
    color: #073358;
    background: #fff;
    padding: 1em;
    width: 76%;
    box-shadow: 5px 5px 5px -2px rgba(0, 0, 0, .4);
}

.btn-type05 i {
    font-size: 120%;
}

/* table */
.table-type01 {
    width: 100%;
    text-align: left;
    border-top: 1px solid #d8d8d8;
}

.table-type01 tr {
    border-bottom: 1px solid #d8d8d8;
}

.table-type01 th,
.table-type01 td {
    padding: 1em .5em;
    vertical-align: middle;
}

.table-type01 th {
    font-weight: bold;
    width: 7em;
}

.table-type01 a {
    text-decoration: underline;
    color: #2c6bbe;
    -ms-word-break: break-all;
    word-break: break-all;
}

.table-type02 {
    color: #676767;
    width: 100%;
    border: 1px solid #ccc;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 4px;
    overflow: hidden;
}

.table-type02 tr:nth-child(odd) {
    background: #fbfbfb;
}

.table-type02 th,
.table-type02 td {
    padding: 1em;
    border-bottom: 1px solid #e0e0e0;
    vertical-align: middle;
}

.table-type02 tr:last-child th,
.table-type02 tr:last-child td {
    border-bottom: none;
}

.table-type02 th {
    border-right: 1px solid #e0e0e0;
    font-weight: bold;
    width: 6em;
}

.table-type03 {
    color: #676767;
    width: 100%;
    border: 1px solid #ccc;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 4px;
    overflow: hidden;
}

.table-type03 tr:nth-child(odd) {
    background: #fbfbfb;
}

.table-type03 th,
.table-type03 td {
    padding: 1em .6em;
    border-bottom: 1px solid #e0e0e0;
    vertical-align: middle;
}

.table-type03 tr:last-child th,
.table-type03 tr:last-child td {
    border-bottom: none;
}

.table-type03 td {
    border-right: 1px solid #e0e0e0;
}

.table-type03 td:last-child {
    border-right: none;
}

.table-type03 th {
    font-weight: bold;
}

.table-type04 {
    width: 100%;
}

.table-type04 th,
.table-type04 td {
    display: block;
    width: 100%;
    text-align: left;
}

.table-type04 th {
    font-weight: bold;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.4;
    padding-bottom: .8em;
}

.table-type04 th span {
    display: inline-block;
    font-size: 60%;
    padding: .2em .5em;
    background: #e60007;
    color: #fff;
    vertical-align: middle;
}

.table-type04 td {
    padding-bottom: 2em;
    font-size: 16px;
    font-size: 1.6rem;
}

.table-type05 {
    width: 100%;
    background: #fff;
}

.table-type05 tr>td:nth-of-type(2) {
    background: #E2F0FF;
    color: #4C8CD3;
    border-left: 2px solid #4C8CD3;
    border-right: 2px solid #4C8CD3;
}

.table-type05 th,
.table-type05 td {
    border: 1px solid #707070;
    border-collapse: collapse;
    padding: 0.5rem 1.5rem;
    vertical-align: middle;
}

.table-type05 th {
    background: #B1B1B1;
    font-weight: bold;
    font-size: 18px;
    position: relative;
}

.table-type05 th.big:after {
    content: "ZIST";
    position: absolute;
    width: 101%;
    height: auto;
    color: #fff;
    background: #4C8CD3;
    font-size: 34px;
    left: -2px;
    bottom: 0;
    margin: auto;
    text-align: center;
    letter-spacing: 2px;
    padding: 0;
}

/* list */
.list-type01 {
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: bold;
}

.list-type01 li {
    border-bottom: 2px solid;
}

.list-type01 .item-inner {
    display: table;
    width: 100%;
    padding: .8em 0;
}

.list-type01 .item-label {
    display: table-cell;
    padding-right: 1em;
    width: 10em;
}

.list-type01 .item-text {
    display: table-cell;
}

.list-type02 .list-item {
    width: 49%;
    margin-top: 2%;
    position: relative;
}

.list-type02 .list-item:nth-child(2n) {
    margin-left: auto;
}

.list-type02 .list-item:first-child,
.list-type02 .list-item:nth-child(2) {
    margin-top: 0;
}

.list-type02 .item-inner {
    position: relative;
    display: block;
    color: #fff;
    z-index: 1;
}

.list-type02 .item-inner:hover .item-text:after {
    right: 1em;
}

.list-type02 .item-text {
    position: absolute;
    font-size: 24px;
    font-size: 2.4rem;
    width: 100%;
    padding: 0 2em;
    letter-spacing: .085em;
    box-sizing: border-box;
    top: 50%;
    margin-top: -.8em;
    z-index: 1;
}

.list-type02 .item-text:after {
    content: "";
    width: 46px;
    height: 24px;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2045%2024%22%3E%3Cpolygon%20points%3D%2237%2014%200%2014%200%2010%2037%2010%2030%203%2033%200%2045.01%2012%2033%2024%2030%2021%2037%2014%22%20style%3D%22fill%3A%23fff%3B%22%20%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    position: absolute;
    right: 2em;
    top: 50%;
    margin-top: -12px;
    -webkit-transition: .2s;
    transition: .2s;
}

.list-type02 .item-image {
    position: relative;
}

.list-type02 .item-image:after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(255, 198, 76, .7);
}

.list-type03 .list-item {
    width: 31%;
    margin-right: 3.5%;
    margin-bottom: 3.5%;
    background: #fff;
}

.list-type03 .list-item:nth-child(3n) {
    margin-right: 0;
}

.list-type03 .item-inner {
    padding: 8px;
}

.list-type04 .list-item {
    width: 50%;
    position: relative;
}

.list-type04 .item-text {
    position: absolute;
    width: 100%;
    z-index: 1;
    text-align: center;
    left: 0;
    top: 50%;
    color: #fff;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.list-type04 .txt-en {
    font-size: 50px;
    font-size: 5rem;
    font-family: "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
    letter-spacing: .075em;
    font-weight: 900;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, .6);
}

.list-type04 .txt-ja {
    font-size: 22px;
    font-size: 2.2rem;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, .6);
}

.list-type04 .txt-sub {
    font-size: 18px;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, .6)
}

.list-type04 a {
    display: block;
}

.list-type04 a:after {
    content: "";
    opacity: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(188, 217, 235, .6);
    -webkit-transition: .3s;
    transition: .3s;
}

.list-type04 a .item-image {
    overflow: hidden;
}

.list-type04 a .item-image img {
    -webkit-transition: .7s;
    transition: .7s;
}

.list-type04 a:hover {
    opacity: 1;
}

.list-type04 a:hover:after {
    opacity: 1;
}

.list-type04 a:hover .item-image img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
}

/* ul */
.ul-type01 {
    list-style: disc;
}

.ul-type01 li {
    margin: 1rem 0;
}

/* column */
.column-type01 {
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

.column-type02 {
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

.column-type03 {
    -webkit-align-items: stretch;
    align-items: stretch;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

.column-type04 {
    -webkit-align-items: stretch;
    align-items: stretch;
}

.col {
    box-sizing: border-box;
}

.col-o1 {
    order: 1;
}

.col-o2 {
    order: 2;
}

.col-w1 {
    width: 1%;
}

.col-w20 {
    width: 20%;
}

.col-w24 {
    width: 24%;
}

.col-w25 {
    width: 25%;
}

.col-w30 {
    width: 30%;
}

.col-w32 {
    width: 32%;
}

.col-w33 {
    width: 33.333333%;
}

.col-w40 {
    width: 40%;
}

.col-w42 {
    width: 42%;
}

.col-w46 {
    width: 46%;
}

.col-w48 {
    width: 48%;
}

.col-w50 {
    width: 50%;
}

.col-w56 {
    width: 56%;
}

.col-w58 {
    width: 58%;
}

.col-w60 {
    width: 60%;
}

.col-w66 {
    width: 66%;
}

/* textbox */
.textbox-type01 {
    padding: 2%;
    box-sizing: border-box;
}

.textbox-type01 .box-title {
    margin-bottom: 1em;
}

.textbox-type01 .box-text {
    margin-bottom: 1em;
    font-size: 20px;
    font-size: 2rem;
    font-weight: bold;
}

/* article */
.article-type01 {
    margin-bottom: 6%;
}

.article-type01 .article-header {
    margin-bottom: 1.5em;
}

.article-type01 .article-thumb {
    text-align: center;
    margin-bottom: 1em;
}

.article-type01 .article-thumb img {
    height: auto;
}

/* pager */
.pagenav {
    text-align: center;
    margin-top: 2em;
}

.pagenav a {
    color: #848484;
    display: block;
    padding: .4em 1.5em;
    border: 2px solid #073358;
}

.pagenav .prev,
.pagenav .next {
    display: inline-block;
    vertical-align: middle;
    margin: 0 8px;
}

.pager-type01 {
    text-align: center;
    margin-top: 4%;
}

.pager-type01 span,
.pager-type01 a {
    display: inline-block;
    margin: 0 4px;
    vertical-align: middle;
    background: #fff;
    line-height: 32px;
    border: 1px solid #073358;
    padding: .1em 1em 0;
    font-weight: bold;
}

.pager-type01 .current {
    background: #073358;
    color: #fff;
}

.pager-type01 .next,
.pager-type01 .prev {
    background: none;
    border: none;
    padding: 0;
}

.pager-type02 {
    text-align: center;
    margin-top: 4%;
}

.pager-type02 li {
    display: inline-block;
    vertical-align: middle;
    width: 80px;
    font-size: 12px;
    font-size: 1.2rem;
    margin: 0 .4em;
}

.pager-type02 li a {
    display: block;
    border: 2px solid #666;
    padding: .4em;
}

.pager-type02 .all a {
    border-color: #073358;
    background: #073358;
    color: #fff;
}

/* flexbox */
.flexbox {
    overflow: hidden;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}

@media only screen and (max-width: 1024px) {

    /* layout */
    .layout-type01,
    .layout-type02 {
        padding: 0 20px;
    }
}

@media only screen and (max-width: 768px) {

    /* layout */
    .layout-type01,
    .layout-type02 {
        padding: 0 10px;
    }

    .layout-type02 .scroll-table {
        overflow: auto;
        white-space: nowrap;
    }

    .layout-type02 .fac_box {
        display: block;
    }

    .layout-type02 .fac_box .fac_box_text {
        width: 100%;
        margin-right: 0;
    }


    /* title */
    .title-type01 {
        font-size: 18px;
        font-size: 1.8rem;
        border-width: 2px;
        padding-bottom: .3em;
    }

    .title-type02 {
        font-size: 18px;
        font-size: 1.8rem;
    }

    .title-type03 {
        font-size: 18px;
        font-size: 1.8rem;
        border-width: 2px;
        padding-bottom: .3em;
    }

    .title-type04 .ttl-main {
        font-size: 20px;
        font-size: 2rem;
    }

    .title-type04 .ttl-sub {
        font-size: 14px;
        font-size: 1.4rem;
    }

    .title-type05 .ttl-main {
        font-size: 20px;
        font-size: 2rem;
    }

    .title-type05 .ttl-sub {
        font-size: 14px;
        font-size: 1.4rem;
    }

    .title-type06 {
        font-size: 18px;
        font-size: 1.8rem;
        border-width: 2px;
    }

    .title-type07 {
        font-size: 18px;
        font-size: 1.8rem;
    }

    .title-type08 {
        font-size: 18px;
        font-size: 1.8rem;
    }

    .title-type09 .ttl-main {
        font-size: 38px;
        font-size: 3.8rem;
    }

    .title-type10 .ttl-en {
        font-size: 26px;
        font-size: 2.6rem;
    }

    .title-type10 .ttl-ja {
        font-size: 18px;
        font-size: 1.8rem;
    }

    .title-type10 .ttl-catch {
        font-size: 14px;
        font-size: 1.4rem;
        margin-top: .5em;
    }

    /* btn */
    .btn-type02 {
        font-size: 14px;
        font-size: 1.4rem;
    }

    .btn-type03 {
        font-size: 14px;
        font-size: 1.4rem;
    }

    .btn-type04 {
        font-size: 14px;
        font-size: 1.4rem;
    }

    .btn-type05 {
        font-size: 16px;
        font-size: 1.6rem;
    }

    /* list */
    .list-type01 {
        font-size: 14px;
        font-size: 1.4rem;
    }

    .list-type01 .item-label {
        display: block;
    }

    .list-type01 .item-text {
        display: block;
    }

    .list-type02 .list-item {
        width: 100%;
    }

    .list-type02 .list-item:nth-child(2) {
        margin-top: 2%;
    }

    .list-type02 .item-text {
        font-size: 20px;
        font-size: 2rem;
        padding: 0 1em;
    }

    .list-type02 .item-text:after {
        width: 23px;
        height: 12px;
        right: 1em;
        margin-top: -6px;
    }

    .list-type03 .list-item {
        width: 49%;
        margin-right: 2%;
        margin-bottom: 2%;
        background: #fff;
    }

    .list-type03 .list-item:nth-child(3n) {
        margin-right: 2%;
    }

    .list-type03 .list-item:nth-child(2n) {
        margin-right: 0;
    }

    .list-type03 .item-inner {
        padding: 2px;
    }

    .list-type04 .list-item {
        width: 100%;
        margin-bottom: 2%;
    }

    .list-type04 .txt-en {
        /* font-size: 36px; */
        font-size: 26px;
        /* font-size: 3.6rem; */
        font-size: 2.6rem;
    }

    .list-type04 .txt-ja {
        font-size: 16px;
        font-size: 1.6rem;
    }

    /* textbox */
    .textbox-type01 {
        padding: 4%;
    }

    .textbox-type01 .box-text {
        font-size: 16px;
        font-size: 1.6rem;
    }

    /* table */
    .table-type04 th {
        font-size: 16px;
        font-size: 1.6rem;
    }
}

@media only screen and (max-width: 480px) {

    /* column */
    .column-type01 .col {
        width: 100% !important;
        margin-bottom: 1em;
    }

    .col-o1 {
        order: 1;
    }

    .col-o2 {
        order: 2;
    }

    /* pager */
    .pager-type01 span,
    .pager-type01 a {
        margin: 0 2px;
        line-height: 26px;
        padding: .1em .6em 0;
    }

    /* list */
    .list-type03 .list-item {
        width: 100%;
        margin-right: 0 !important;
        margin-bottom: 2%;
    }
}

/*------------------------------------------
  header
------------------------------------------*/
.br_sp {
    display: none;
}

.cmn-header {
    position: fixed;
    width: 100%;
    background: #fff;
    top: 0;
    left: 0;
    z-index: 10;
}

.header-contents {
    -webkit-align-items: flex-end;
    align-items: flex-end;
    overflow: visible;
}

.header-logo {
    margin-right: auto;
    padding: 5px 0 5px 1rem;
    font-size: 10px;
    line-height: 3rem;
}

.header-contact {
    margin-left: 1%;
}

.header-contact .btn-contact {
    display: block;
    background: #073358;
    color: #fff;
    text-align: center;
    padding: 1.6em 2em;
    letter-spacing: 1px;
    font-weight: normal;
}

.header-contact .btn-contact i {
    display: block;
    font-size: 180%;
    padding-bottom: .2em;
}

.header-info {
    text-align: right;
    width: 54%;
    padding-bottom: 2rem;
}

.gnav {
    font-weight: bold;
    display: inline-block;
}

.gnav-toggle {
    display: none;
}

.gnav-list {
    overflow: visible;
}

.gnav-item {
    border-right: 1px solid #c5c5c5;
    line-height: 1.1;
    position: relative;
}

.gnav-item:last-child {
    border-right: none;
}

.gnav-link {
    display: block;
    padding: 0 1rem;
}

.sub-gnav {
    position: absolute;
    width: 245px;
    box-sizing: border-box;
    text-align: center;
    top: 18px;
    left: -65px;
    display: none;
}

.sub-gnav li a {
    display: block;
    color: #fff;
    background: #073358;
    padding: 1rem;
    box-sizing: border-box;
    border-top: 1px solid #fff;
}

.sub-gnav li a:hover {
    opacity: 1;
}

.gnav-item01:hover .sub-gnav {
    display: block;
}

.gnav-item01:after {
    content: "\f078";
    font-family: "Font Awesome 5 Free";
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    text-align: center;
    bottom: -18px;
}


@media only screen and (max-width: 1024px) {
    .cmn-header {
        border-bottom: 1px solid #f0f0f0;
        position: static;
    }

    .header-logo {
        padding: 0;
        line-height: 2rem;
    }

    .header-info {
        width: 0;
    }

    .header-contact {
        display: none;
    }

    .gnav-list {
        display: block;
        position: fixed;
        width: 40%;
        height: 100vh;
        background: #073358;
        left: -40%;
        top: 0;
        z-index: 8;
        -webkit-transition: .4s;
        transition: .4s;
    }

    .gnav-list-open {
        left: 0 !important;
        border-right: 1px solid #f0f0f0;
        -webkit-transition: .4s;
        transition: .4s;
    }

    .gnav-item {
        border-right: none;
        border-bottom: 1px solid #f0f0f0;
    }

    .gnav-item.disp-pc {
        display: none;
    }

    .gnav-item.disp-sp {
        display: block;
    }

    .gnav-link {
        color: #fff;
        padding: 1.5em;
    }

    .gnav-toggle {
        z-index: 20;
        position: fixed;
        top: 15px;
        right: 20px;
        display: block;
        cursor: pointer;
        width: 50px;
        height: 50px;
        background: #073358;
        -webkit-border-radius: 50%;
        border-radius: 50%;
    }

    .gnav-toggle .toggle-icon {
        position: relative;
    }

    .gnav-toggle .toggle-icon div {
        position: absolute;
        width: 22px;
        height: 20px;
        top: 15px;
        left: 14px;
    }

    .gnav-toggle .toggle-icon span {
        -webkit-transition: .2s;
        transition: .2s;
        display: block;
        width: 100%;
        height: 2px;
        background: #fff;
        position: absolute;
        left: 0;
    }

    .gnav-toggle .toggle-icon span:nth-of-type(1) {
        top: 0;
    }

    .gnav-toggle .toggle-icon span:nth-of-type(2) {
        top: 50%;
        margin-top: -1px;
    }

    .gnav-toggle .toggle-icon span:nth-of-type(3) {
        bottom: 0;
    }

    .gnav-toggle.gnav-open .toggle-icon span {
        -webkit-transition: .2s;
        transition: .2s;
    }

    .gnav-toggle.gnav-open .toggle-icon span:nth-of-type(1) {
        -webkit-transform: translateY(9px) rotate(-45deg);
        transform: translateY(9px) rotate(-45deg);
    }

    .gnav-toggle.gnav-open .toggle-icon span:nth-of-type(2) {
        opacity: 0;
    }

    .gnav-toggle.gnav-open .toggle-icon span:nth-of-type(3) {
        -webkit-transform: translateY(-9px) rotate(45deg);
        transform: translateY(-9px) rotate(45deg);
    }
}

@media only screen and (max-width: 480px) {
    .header-contents {
        padding: 10px 0;
    }

    .header-logo {
        text-align: center;
        width: 100%;
        margin: 0;
    }

    .gnav-list {
        width: 60%;
        left: -60%;
        z-index: 6;
    }
}

/*------------------------------------------
  footer
------------------------------------------*/
.cmn-footer {
    width: 100%;
    position: absolute;
    left: 0;
    bottom: 0;
    background: #073358;
    z-index: 10;
}

.cmn-footer:before {
    content: "";
    width: 100%;
    height: 30px;
    background: #4C8CD3;
    position: absolute;
    top: -7px;
    left: 0;
}

.footer-contents {
    padding-top: 6%;
    padding-bottom: 4%;
    color: #fff;
    position: relative;
}

.footer-contents a {
    color: #fff;
}

.footer-info {
    margin-right: 3%;
}

.footer-info .info-logo {
    margin-bottom: 1rem;
}

.footer-info .text01 {
    font-family: "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
    font-size: 18px;
}

.footer-info .text03 span {
    font-weight: bold;
}

.footer-nav {
    margin-left: 5%;
}

.footer-nav li {
    margin-bottom: 0.5rem;
}

.footer-nav i {
    color: #fff;
    font-size: 100%;
}

.footer-pagetop {
    position: absolute;
    right: 0;
    bottom: 0;
    text-align: center;
}

.footer-pagetop a {
    display: block;
    width: 64px;
    padding: 1.2em 0 1em;
    background: #4C8CD3;
    color: #fff;
    letter-spacing: 1px;
    font-size: 16px;
}

.footer-bnr {
    position: absolute;
    left: 35%;
    bottom: 18%;
}

.footer-bnr img {
    width: 32%;
    padding-right: 16px;
}

.footer-copyright {
    background: #343434;
    text-align: center;
    color: #aeaeae;
    font-size: 12px;
    font-size: 1.2rem;
    border-top: 1px solid #5b5b5b;
    border-bottom: 1px solid #5b5b5b;
    padding: 1em 0;
}

.sp-footer-menu {
    display: none;
}

@media only screen and (max-width: 1024px) {
    .footer-info {
        width: 100%;
        margin-right: 0;
        margin-bottom: 4%;
        text-align: center;
    }

    .footer-info .info-logo {
        display: inline-block;
        padding: 1.5em;
    }

    .footer-nav {
        margin: 0;
        width: 100%;
        text-align: center;
    }

    .footer-nav li {
        display: inline-block;
        margin: 0 .4em .6em;
    }

    .footer-bnr {
        position: static;
        margin: 3rem auto 0;
    }
}

@media only screen and (max-width: 768px) {
    .cmn-footer:before {
        height: 15px;
    }

    .footer-pagetop a {
        width: 46px;
        padding: .6em 0 .4em;
    }

    .footer-pagetop i {
        font-size: 26px;
        font-size: 2.6rem;
    }
}

@media only screen and (max-width: 480px) {
    .footer-nav {
        font-size: 12px;
        font-size: 1.2rem;
    }

    .sp-footer-menu {
        display: none;
        border-top: 1px solid #f0f0f0;
        border-bottom: 1px solid #f0f0f0;
        background: #f0f0f0;
        position: fixed;
        right: 0;
        bottom: 0;
        width: 100%;
        z-index: 20;
    }

    .sp-footer-menu .menu-item {
        width: 25%;
        height: 80px;
        text-align: center;
        display: table;
        border-left: 1px solid #f0f0f0;
        position: relative;
        box-sizing: border-box;
    }

    .sp-footer-menu .menu-item a,
    .sp-footer-menu .menu-item span {
        display: table-cell;
        vertical-align: middle;
        background: #073358;
        color: #f0f0f0;
        font-weight: bold;
        font-size: 12px;
        font-size: 1.2rem;
    }

    .sp-footer-menu .menu-item i {
        display: block;
        font-size: 30px;
        font-size: 3rem;
        margin-bottom: .2em;
    }
}

/*------------------------------------------
  contents
------------------------------------------*/
.cmn-main {
    padding-bottom: 6%;
}

.cmn-pagetitle {
    position: relative;
}

.cmn-pagetitle .pagetitle-image {
    width: 80%;
    float: right;
}

.cmn-pagetitle .pagetitle-image img {
    width: 100%;
}

.cmn-pagetitle .pagetitle-text {
    width: 34%;
    position: absolute;
    border-bottom: 2px solid #f4d67c;
    left: 6%;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.cmn-pagetitle .ttl-en {
    font-family: "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
    color: #073358;
    font-weight: 900;
    font-size: 60px;
    font-size: 6rem;
    line-height: 1.1;
    letter-spacing: .075em;
    text-shadow: 1px 1px 1px #fff;
}

.cmn-pagetitle .ttl-ja {
    font-family: "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
    font-weight: bold;
    font-size: 28px;
    font-size: 2.8rem;
    margin-top: .6em;
    text-shadow: 1px 1px 1px #fff;
}

.cmn-breadcrumb {
    padding: 1em 0;
}

.cmn-breadcrumb ul {
    width: 80%;
    float: right;
    color: #073358;
}

.cmn-breadcrumb a {
    color: #073358;
}

.page-section {
    padding: 4% 0;
}

.page-section .section-header {
    margin-bottom: 1.5em;
}

.page-section .sub-title {
    font-size: 36px;
    font-weight: bold;
    color: #073358;
    text-align: center;
    letter-spacing: 2px;
}

.page-section .sub-title span {
    font-size: 26px;
    font-weight: normal;
    display: block;
    letter-spacing: normal;
}

.contents-block {
    margin-bottom: 2em;
}

.contents-block:last-child {
    margin-bottom: 0;
}

.top-section04 dt .span03,
.top-section04 dd .span03 {
    width: 80%;
    display: inline-block;
}

@media only screen and (max-width: 768px) {
    .cmn-pagetitle .pagetitle-image {
        width: 100%;
    }

    .cmn-pagetitle .pagetitle-text {
        display: block;
        width: 95%;
        left: 10px;
    }

    .cmn-pagetitle .ttl-en {
        /* font-size: 36px;
    font-size: 3.6rem; */
        font-size: 20px;
        font-size: 2rem;
    }

    .cmn-pagetitle .ttl-ja {
        /* font-size: 18px;
    font-size: 1.8rem; */
        font-size: 8px;
        font-size: 0.8rem;
    }

    .cmn-pagetitle .pagetitle-text {
        border-bottom: none;
        top: 30%;
    }

    .cmn-breadcrumb {
        padding: .6em 10px;
    }

    .cmn-breadcrumb ul {
        width: 100%;
        font-size: 12px;
        font-size: 1.2rem;
    }

    .page-section {
        padding-top: 6%;
    }
}

@media only screen and (max-width: 480px) {
    .page-section .sub-title {
        font-size: 30px;
    }

    .page-section .sub-title span {
        font-size: 20px;
    }

    .fz20 {
        font-size: 15px;
        font-size: 1.5rem;
    }

    .br_sp {
        display: block;
    }

    .header-logo {
        line-height: 2rem;
    }
}

/*------------------------------------------
  home
------------------------------------------*/
.cmn-main-top {
    padding-bottom: 0;
}

.top-section {
    position: relative;
    z-index: 5;
}

.top-section01 {
    padding-bottom: 2%;
    position: fixed;
    left: 0;
    width: 100%;
    z-index: 1;
}

.top-section01 .main-slider {
    float: right;
    width: 80%;
}

.top-section01 .slick-dots {
    position: absolute;
    bottom: 10px;
    right: 10px;
    text-align: right;
}

.top-section01 .slick-dots li {
    font-size: 0;
}

.top-section01 .slick-dots button {
    cursor: pointer;
    outline-style: none;
    display: inline-block;
    margin: 0;
    padding: 0;
    width: 8px;
    height: 8px;
    margin-top: 8px;
    border-radius: 50%;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    border: none;
    background: #fff;
    -webkit-transition: .3s;
    transition: .3s;
}

.top-section01 .slick-dots .slick-active button {
    background: #073358;
    width: 50px;
    -webkit-border-radius: 15px;
    border-radius: 15px;
}

.top-section01 .main-catch {
    position: absolute;
    top: 50%;
    left: 6%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.top-section01 .c-title {
    font-family: "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
    color: #073358;
    font-size: 72px;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: .075em;
}

.top-section01 .c-text01 {
    font-family: "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
    font-size: 20px;
    font-size: 2rem;
    font-weight: bold;
    margin-top: .6em;
}

.top-section01 .main-text {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    margin: auto;
    text-align: center;
    transform: translateY(-50%);
    width: 45%;
}

.top-section01 .main-text .text01,
.top-section01 .main-text .text02 {
    font-family: "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "游明朝", YuMincho, "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-size: 2.5vw;
    color: #fff;
    text-align: left;
    letter-spacing: 2px;
}

.top-section01 .main-text .text01 span {
    font-size: 28px;
}

.top-section01 .main-text .img01 {
    text-align: left;
    margin-top: 3rem;
}

.top-section03 {
    text-align: center;
    color: #fff;
    font-size: 24px;
    position: relative;
}

.top-section03 p {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    transform: translateY(-50%);
    z-index: 2;
}

.top-section04 {
    background: #fff;
    padding: 7rem 0;
}

.top-section04 .text-title {
    max-width: 630px;
    width: 100%;
    border-bottom: 3px solid #DFC584;
    padding-bottom: 1rem;
    margin-bottom: 7rem;
}

.top-section04 .text-title .span01,
.top-section04 .text-title .span02 {
    padding-left: 280px;
    line-height: 1.5;
}

.top-section04 .text-title .span01 {
    font-size: 62px;
    font-weight: bold;
}

.top-section04 .text-title .span02 {
    font-size: 22px;
}

.top-section04 .qes {
    border-top: 1px solid #707070;
    margin-bottom: 5rem;
}

.top-section04 dl {
    border-bottom: 1px solid #707070;
}

.top-section04 dt,
.top-section04 dd {
    padding: 3rem 5rem;
    position: relative;
}

.top-section04 dt:hover {
    cursor: pointer;
}

.top-section04 dt .span01,
.top-section04 dd .span01 {
    margin-right: 1.5rem;
}

.top-section04 dt .span02 {
    position: absolute;
    right: 5rem;
    top: 50%;
    transform: translateY(-50%);
    transition: 0.2s;
}

.top-section04 .change .span02 {
    transform: scale(1, -1);
}

.top-section04 dd {
    background: #F0F0F0;
    /* display: none; */
}

.top-section04 dt span img,
.top-section04 dt span {
    vertical-align: middle;
}

.top-section04 dd span img,
.top-section04 dd span {
    vertical-align: middle;
}

.top-section05 {
    text-align: center;
    color: #fff;
    background: url(https://zist.co.jp/wp-content/themes/jpcrest-themes/assets/img/top/top_bg02.png) no-repeat center;
    background-attachment: fixed;
    background-size: cover;
    padding: 5% 0 5%;
    position: relative;
}

.top-section05:after {
    content: "";
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
}

.top-section05 .section-inner {
    position: relative;
    z-index: 3;
}

.top-section05 .flexbox {
    max-width: 800px;
    margin: 5rem auto;
}

.top-section05 .col-w1 {
    height: 100px;
    width: 1px;
    background: #fff;
}

.top-section05 .text01 {
    font-size: 42px;
    font-weight: bold;
    letter-spacing: 2px;
    line-height: 1.2;
	font-family: 'Oswald';
}

.top-section05 .text01 a {
    color: #fff;
}

.top-section05 .btn-type01 {
    color: #fff;
    border-color: #073358;
}

.add-section01 {
    background: #F0F0F0;
    padding: 7rem 0;
}

.add-section01 .text-title {
    max-width: 630px;
    width: 100%;
    border-bottom: 3px solid #DFC584;
    padding-bottom: 1rem;
    margin-bottom: 7rem;
}

.add-section01 .text-title .span01,
.add-section01 .text-title .span02 {
    padding-left: 280px;
    line-height: 1.5;
}

.add-section01 .text-title .span01 {
    font-size: 62px;
    font-weight: bold;
}

.add-section01 .text-title .span02 {
    font-size: 22px;
}

.add-section01 table {
    margin-bottom: 5rem;
}

.add-section02 .bar {
    width: 100%;
    height: 30px;
    background: #4C8CD3;
}

.add-section03 {
    background: #fff;
    padding: 7rem 0;
}

.add-section03 .text-title {
    font-family: "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
    max-width: 630px;
    width: 100%;
    border-bottom: 3px solid #DFC584;
    padding-bottom: 1rem;
    margin-bottom: 7rem;
}

.add-section03 .text-title .span01,
.add-section03 .text-title .span02 {
    padding-left: 280px;
    line-height: 1.5;
}

.add-section03 .text-title .span01 {
    font-size: 62px;
    font-weight: bold;
}

.add-section03 .text-title .span02 {
    font-size: 22px;
}

.add-section03 .col {
    width: calc((100% - 120px) / 3);
    position: relative;
    margin-bottom: 3rem;
    margin-right: 60px;
}

.add-section03 .col:nth-of-type(3n) {
    margin-right: 0;
}

.add-section03 .col .date {
    display: block;
    margin: 0.5rem 0 0;
}

.add-section03 .col .title {
    font-weight: bold;
}

.add-section04 {
    background: #fff;
    padding: 7rem 0;
}

.add-section04 .text-title {
    font-family: "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
    max-width: 630px;
    width: 100%;
    border-bottom: 3px solid #DFC584;
    padding-bottom: 1rem;
    margin-bottom: 7rem;
}

.add-section04 .text-title .span01,
.add-section04 .text-title .span02 {
    padding-left: 280px;
    line-height: 1.5;
}

.add-section04 .text-title .span01 {
    font-size: 62px;
    font-weight: bold;
}

.add-section04 .text-title .span02 {
    font-size: 22px;
}

.add-section04 .layout-type01 {
    max-width: 800px;
}

.layout-type02 .fac_box {
    display: flex;
    width: 100%;
    margin: auto;
    justify-content: space-between;
}

.layout-type02 .fac_box .fac_box_text {
    width: 70%;
    margin-right: 25px;
}

.add-section04 .text01 {
    font-family: "Hiragino Mincho ProN", "Times New Roman", "YuMincho", "Yu Mincho", "MS PMincho", serif;
    ;
    font-size: 28px;
    color: #073358;
    text-align: center;
    margin-bottom: 3rem;
}

.add-section04 .text10 {
    font-family: "Hiragino Mincho ProN", "Times New Roman", "YuMincho", "Yu Mincho", "MS PMincho", serif;
    ;
    font-size: 18px;
    color: #073358;
    margin-bottom: 2rem;
}

.add-section04 .text11 {
    font-size: 16px;
    margin-bottom: 2rem;
}

.add-section04 .text02 {
    font-size: 20px;
    margin-bottom: 3rem;
}

.add-section04 .text02 span {
    font-size: 24px;
    font-weight: bold;
    color: #073358;
}

@media only screen and (max-width: 1024px) {
    .top-section01 {
        position: relative;
        top: 0 !important;
    }

    .top-section01 .main-slider {
        width: 100%;
    }

    .top-section01 .main-catch {
        display: none;
    }

    .top-section01 .main-text {
        max-width: 560px;
        width: 100%;
    }

    .top-section01 .main-text .text01,
    .top-section01 .main-text .text02 {
        font-size: 28px;
        text-align: center;
    }

    .top-section03 {
        background: url(../img/top/top_bg01.png) no-repeat center;
        padding: 2rem 10px;
        font-size: 16px;
        border: 5px solid #DFC584;
    }

    .top-section03 .img01 {
        display: none;
    }

    .top-section03 p {
        position: static;
        transform: none;
    }
}

@media only screen and (max-width: 768px) {
    .top-section01 .main-catch {
        padding: 4% 2% 2%;
        clear: both;
        position: static;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }

    .top-section01 .c-title {
        font-size: 38px;
        font-size: 3.8rem;
    }

    .top-section01 .c-text01 {
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 1.5;
    }

    .top-section01 .main-text .text01,
    .top-section01 .main-text .text02,
    .top-section01 .main-text .text01 span {
        font-size: 4vw;
    }

    .top-section01 .main-text .img01 {
        width: 80%;
        margin: 3rem auto 0;
        text-align: center;
    }

    .top-section04 .text-title .span01 {
        font-size: 40px;
    }

    .top-section04 .text-title .span01,
    .top-section04 .text-title .span02 {
        padding-left: 10px;
        display: block;
    }

    .top-section04 dt,
    .top-section04 dd {
        padding: 1.5rem 10px;
    }

    .top-section04 dt .span02 {
        display: none;
    }

    .add-section01 .text-title .span01 {
        font-size: 40px;
    }

    .add-section01 .text-title .span01,
    .add-section01 .text-title .span02 {
        padding-left: 10px;
        display: block;
    }

    .add-section01 .scroll-table {
        overflow: auto;
        white-space: nowrap;
    }

    .table-type05 th.big {
        background: #4C8CD3;
        color: #fff;
    }

    .table-type05 th.big:after {
        content: none;
    }

    .add-section03 .text-title .span01 {
        font-size: 40px;
    }

    .add-section03 .text-title .span01,
    .add-section03 .text-title .span02 {
        padding-left: 10px;
        display: block;
    }

    .add-section03 .col {
        width: calc((100% - 30px) / 2);
        margin-right: 30px;
    }

    .add-section03 .col:nth-of-type(2n) {
        margin-right: 0;
    }

    .add-section03 .col:nth-of-type(3n) {
        margin-right: 30px;
    }

    .add-section04 .text-title .span01 {
        font-size: 40px;
    }

    .add-section04 .text-title .span01,
    .add-section04 .text-title .span02 {
        padding-left: 10px;
        display: block;
    }

    .add-section04 .text01 {
        font-size: 20px;
    }

    .add-section04 .text02 {
        font-size: 16px;
    }

    .add-section04 .text02 span {
        font-size: 18px;
    }


    .layout-type02 .scroll-table {
        overflow: auto;
        white-space: nowrap;
    }

    .layout-type02 .fac_box {
        display: block;
    }

    .layout-type02 .fac_box .fac_box_text {
        width: 100%;
        margin-right: 0;
    }
}

@media only screen and (max-width: 480px) {
    .top-section05 .col-w1 {
        display: none;
    }
}

/*------------------------------------------
  adviser
------------------------------------------*/
.adviser-section .block01 .text01 {
    text-align: center;
    font-size: 30px;
    font-weight: bold;
    color: #073358;
    line-height: 1.8;
    letter-spacing: 1px;
}

.adviser-section .block02 {
    margin-top: 7rem;
}

.adviser-section .block02 .box {
    box-shadow: 3px 3px 10px #707070;
}

.adviser-section .block02 .col-w56 {
    padding: 1rem 5rem;
}

.adviser-section .block02 .text01 {
    font-size: 26px;
    color: #073358;
    margin-bottom: 1.5rem;
}

.adviser-section .block02 ul {
    margin-top: 1.5rem;
    font-size: 1.6rem;
}

.adviser-section .block02 li {
    position: relative;
    margin: 0.5rem 0;
}

.adviser-section .block02 li:before {
    content: "";
    width: 16px;
    height: 16px;
    display: inline-block;
    background: url(../img/page/check-square.png) no-repeat;
    padding-top: 3px;
    padding-right: 1rem;
    vertical-align: middle;
}

.adviser-section .block02 .text02 {
    font-size: 26px;
    color: #073358;
    margin: 5rem 0 3rem;
    padding: 0 5rem;
}

.adviser-section .block02 .flexbox02 {
    max-width: 680px;
    margin: 0 auto;
    overflow: visible;
    padding-bottom: 7rem;
}

.adviser-section .block02 .flexbox02 .col {
    max-width: 200px;
    width: 100%;
    height: 200px;
    border-radius: 50%;
    box-shadow: 0px 3px 6px rgba(83, 103, 122, 1.16);
    text-align: center;
    position: relative;
    margin: 3rem auto 0;
    background-color: #ddd;
}

.adviser-section .block02 .flexbox02 .item {
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    top: 50%;
    transform: translateY(-50%);
    color: #073358;
}

.adviser-section .block02 .flexbox03 {
    -webkit-justify-content: space-around;
    justify-content: space-around;
}

.adviser-section .block03 {
    margin: 10rem 0;
}

.adviser-section .block03 table {
    width: 100%;
    max-width: 1000px;
    margin: 5rem auto 0;
    text-align: center;
}

.adviser-section .block03 table th {
    font-size: 24px;
    font-weight: bold;
    background: #D7E5F5;
    padding: 1rem;
    box-sizing: border-box;
    width: 50%;
}

.adviser-section .block03 table .th02 {
    background: #96BCE5;
}

.adviser-section .block03 table td {
    font-size: 18px;
    padding: 1rem;
    box-sizing: border-box;
}

.adviser-section .block03 table .trgr {
    background: #F5F5F5;
}

.adviser-section .block03 table tr>th:first-child,
.adviser-section .block03 table tr>td:first-child {
    border-right: 3px solid #fff;
}

.adviser-section .block03 table tr>th:last-child,
.adviser-section .block03 table tr>td:last-child {
    border-left: 3px solid #fff;
}

/*------------------------------------------
  factoring
------------------------------------------*/
.factoring-section .block {
    margin-bottom: 10rem;
}

.factoring-section .block01 .col {
    font-size: 18px;
    margin-top: 3rem;
}

.factoring-section .block01 .col img {
    vertical-align: baseline;
}

.factoring-section .block02 .box {
    box-shadow: 3px 3px 10px #707070;
}

.factoring-section .block02 .col-w56 {
    padding: 1rem 5rem;
}

.factoring-section .block02 .text-area {
    padding: 1rem 5rem 3rem;
}

.factoring-section .block02 .text-area a {
    font-size: 18px;
    color: blue;
    display: block;
}

.factoring-section .block02 .text-area a:hover {
    text-decoration: underline;
}

.factoring-section .block03 {
    background: #EFEFEF;
    padding: 7rem 0;
}

.factoring-section .block03 ul {
    max-width: 815px;
    width: 100%;
    margin: 5rem auto 0;
}

.factoring-section .block03 li {
    font-size: 18px;
    position: relative;
    margin: 3rem 0;
    text-indent: -2.7rem;
    padding-left: 2.7rem;
}

.factoring-section .block03 li:before {
    content: "";
    width: 16px;
    height: 16px;
    display: inline-block;
    background: url(../img/page/check-square.png) no-repeat;
    padding-top: 3px;
    padding-right: 1rem;
    vertical-align: middle;
}

.factoring-section .block03 li i {
    display: inline;
}

.factoring-section .block03 li a {
    color: blue;
}

.factoring-section .block03 li a:hover {
    text-decoration: underline;
}

.factoring-section .block03 li .red {
    color: #FF0000;
}

.factoring-section .block04 .box {
    max-width: 1000px;
    width: 100%;
    margin: 5rem auto 0;
    padding: 3rem 5rem;
    box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.16);
}

.factoring-section .block04 .text01 {
    font-size: 26px;
    font-weight: bold;
    color: #073358;
    margin-bottom: 1.5rem;
}

.factoring-section .block04 li {
    margin: 0.5rem 0;
}

.factoring-section .block04 .text02 {
    font-size: 20px;
    color: #073358;
    border-bottom: 2px solid #F0F0F0;
    position: relative;
    margin: 3rem 0 1rem;
}

.factoring-section .block04 .text02:before {
    content: "";
    width: 45px;
    height: 2px;
    display: block;
    background: #C6A75F;
    position: absolute;
    bottom: -2px;
    left: 0;
}

.factoring-section .block04 .t-indent {
    padding-left: 1.4rem;
    text-indent: -1.4rem;
}

.contact-bnr {
    position: fixed;
    bottom: 0;
    right: 0;
    z-index: 5;
}

/*------------------------------------------
  instructor
------------------------------------------*/
.instructor-section .block {
    margin-bottom: 7rem;
}

.instructor-section .block .box {
    box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.16);
    padding: 3rem 5rem;
    box-sizing: border-box;
    max-width: 1000px;
    width: 100%;
    margin: auto;
}

.instructor-section .block .box .text01 {
    font-size: 26px;
    font-weight: bold;
    color: #073358;
}

.instructor-section .block01 p {
    font-size: 30px;
    color: #073358;
    text-align: center;
}

.instructor-section .block03 .col {
    background: #F0F0F0;
    border-radius: 15px;
    margin-bottom: 1.5rem;
    padding: 3rem;
}

.instructor-section .block03 .col .text02 {
    font-size: 26px;
    font-weight: bold;
    color: #073358;
}

.instructor-section .block03 .col .text03 {
    font-weight: bold;
    margin: 1rem 0;
}

.instructor-section .block04 a {
    color: blue;
}

.instructor-section .block04 a:hover {
    text-decoration: underline;
}

.instructor-section .block05 .text01 {
    font-size: 26px;
    color: #073358;
    text-align: center;
    margin: 3rem 0;
}

.instructor-section .block05 .text01 span {
    background: linear-gradient(transparent 60%, #D7E5F5 0%);
}

.instructor-section .block05 .add-section01 {
    background: #fff;
    padding: 0;
}

.instructor-section .block05 .add-section01 table {
    margin: 0;
}

.instructor-section .block06 .box {
    margin-top: 5rem;
}

.instructor-section .block06 .box .flexbox {
    overflow: visible;
    max-width: 680px;
    width: 100%;
    margin: 0 auto;
}

.instructor-section .block06 .box .col {
    max-width: 200px;
    width: 100%;
    height: 200px;
    border-radius: 50%;
    box-shadow: 0px 3px 6px rgba(83, 103, 122, 1.16);
    position: relative;
    margin: 0 auto;
    background-color: #ddd;
    color: #073358;
}

.instructor-section .block06 .box .text-area {
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    margin: auto;
    transform: translateY(-50%);
}

/*------------------------------------------
  company
------------------------------------------*/
.company-section .block {
    margin-bottom: 7rem;
}

.company-section .block .sub-title {
    text-align: left;
    line-height: 1.5;
    margin-bottom: 3rem;
}

.company-section .block .box .text01 {
    font-size: 18px;
    font-weight: bold;
    padding-left: 1.5rem;
    position: relative;
}

.company-section .block .box .text01:before {
    content: "";
    width: 7px;
    height: 18px;
    background: #073358;
    display: inline-block;
    position: absolute;
    left: 0;
    top: 8px;
    z-index: 2;
}

.company-section .block .box .text01:after {
    content: "";
    width: 7px;
    height: 9px;
    background: #4C8CD3;
    display: inline-block;
    position: absolute;
    left: 0;
    top: 17px;
    z-index: 3;
}

.company-section .block01 .box {
    box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.16);
}

.company-section .block02 .box {
    box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.16);
}

.company-section .block02 .col-w56 {
    padding: 1rem 5rem;
}

.company-section .block02 .text-area {
    padding: 3rem 5rem;
}

.company-section .block02 t-indent {
    padding-left: 1.5rem;
    text-indent: -1.5rem;
}

.company-section .block02 .text02 {
    font-size: 24px;
    font-weight: bold;
    margin-top: 1.5rem;
    line-height: 1.5;
}

.company-section .block03 .text01 {
    font-size: 26px;
    color: #036EB8;
    font-weight: bold;
}

.company-section .block03 table {
    border-top: 1px dotted #000;
    width: 100%;
    text-align: left;
    margin-top: 1.5rem;
}

.company-section .block03 table tr {
    border-bottom: 1px dotted #000;
}

.company-section .block03 table th {
    font-weight: bold;
    padding: 1.5rem 1rem;
}

.company-section .block03 table td {
    padding: 1.5rem 1rem;
}

.company-section .block03 table ul {
    list-style: decimal;
    padding-left: 1rem;
}

/*------------------------------------------
  flow
------------------------------------------*/
.flow-section .block {
    margin-bottom: 10rem;
}

.flow-section .block01 .flexbox {
    box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.15);
}

.flow-section .block01 .col-w58 {
    padding: 15px 20px;
}

.flow-section .block01 .text01 {
    font-size: 26px;
    font-weight: bold;
    color: #073358;
}

.flow-section .block01 .text02 {
    font-size: 36px;
    font-weight: bold;
    color: #073358;
    letter-spacing: 2px;
    margin-bottom: 1.5rem;
}

.flow-section .block02 .step-box {
    box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.15);
    background: #fff;
    padding: 8rem 10px 5rem;
    position: relative;
}

.flow-section .block02 .step-box01,
.flow-section .block02 .step-box03 {
    background: #F0F0F0;
}

.flow-section .block02 .step-box .step {
    color: #DFC584;
    background: #073358;
    display: inline-block;
    padding: 0.5rem 10px;
    width: 300px;
    box-sizing: border-box;
    font-size: 30px;
    letter-spacing: 2px;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 3;
}

.flow-section .block02 .step-box .text01 {
    font-weight: bold;
    font-size: 20px;
    color: #073358;
    margin-bottom: 1.5rem;
}

.flow-section .block02 .step-box .text02 {
    color: #073358;
    margin-top: 1.5rem;
}

.flow-section .block02 .step-box .text03 {
    font-size: 36px;
    color: #073358;
    font-weight: bold;
    letter-spacing: 3px;
}

.flow-section .block02 .step-box .text04 {
    font-size: 14px;
    color: #808080;
    margin-top: 1rem;
}

.flow-section .block02 .step-box .flexbox {
    margin-top: 3rem;
}

.flow-section .block02 .step-box .col01 {
    border-right: 1px solid #707070;
    text-align: right;
    padding-right: 3rem;
}

.flow-section .block02 .step-box .col02 {
    text-align: left;
    padding-left: 3.5rem;
}

.flow-section .block02 .step-box02 a {
    color: #0000FF;
    text-decoration: underline;
}

.flow-section .block02 .arrow {
    margin: 5rem 0;
}

.flow-section .block03 .text01,
.flow-section .block04 .text01,
.section-qes .text01 {
    font-size: 24px;
    font-weight: bold;
    color: #073358;
    background: linear-gradient(transparent 75%, #4C8CD3 0%);
    margin-bottom: 1rem;
}

.flow-section .block03 ul {
    padding: 1.5rem 5rem;
}

.flow-section .block04 .t-indent {
    padding: 1.5rem 5rem;
}

/*------------------------------------------
  case
------------------------------------------*/
.case-section .block {
    box-shadow: 0px 5px 8px rgba(0, 0, 0, 0.15);
    border: 1px solid rgba(0, 0, 0, 0.15);
    margin-bottom: 10rem;
}

.case-section .block .text-box {
    padding: 1rem 1.5rem;
    box-sizing: border-box;
}

.case-section .block .text01 {
    font-size: 18px;
    font-weight: bold;
    color: #073358;
    background: linear-gradient(transparent 75%, #4C8CD3 0%);
    margin-bottom: 1.5rem;
}

.case-section .block .text02 {
    margin-bottom: 1rem;
}

.case-section .block01 {
    margin-bottom: 7rem;
}

.case-section .block01 .text03 {
    text-align: center;
    font-size: 30px;
    font-weight: bold;
    color: #073358;
    line-height: 1.8;
    letter-spacing: 1px;
}

.case-section .block .text02 img,
.case-section .block .text02 span {
    vertical-align: middle;
}

.case-section .block .text02 span {
    padding-left: 1rem;
    vertical-align: middle;
    font-size: 20px;
    font-weight: bold;
    color: #073358;
}

/*------------------------------------------
  privacy policy
------------------------------------------*/
.privacy-section .text01 {
    font-size: 18px;
    font-weight: bold;
    margin: 3rem 0 1rem;
}

.privacy-section .t-indent01 {
    padding-left: 2.8rem;
    text-indent: -1.2rem
}

.privacy-section .t-indent02 {
    padding-left: 4.3rem;
    text-indent: -1.3rem
}

.privacy-section .t-indent03 {
    padding-left: 5.8rem;
    text-indent: -1.3rem
}

/*------------------------------------------
  sitemap
------------------------------------------*/
#sitemap_list {
    max-width: 800px;
    margin: auto;
}

#sitemap_list li {
    margin-bottom: 1.5em;
}

#sitemap_list a {
    display: block;
    padding: .5em 1em;
    border: 2px solid #073358;
    position: relative;
}

#sitemap_list a:after {
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    border-top: 2px solid #073358;
    border-right: 2px solid #073358;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    right: 1.2em;
    top: 50%;
    margin-top: -4px;
}

/*------------------------------------------
  contact
------------------------------------------*/
.form-section .section-inner {
    max-width: 730px;
}

.form-section .flexbox .col {
    text-align: center;
    margin: 1rem 0 5rem;
}

.form-section .flexbox .col a {
    display: block;
    border: 1px solid #073358;
    padding: 1rem 10px;
    box-sizing: border-box;
    font-weight: bold;
    font-size: 16px;
    transition: 0.5s;
    color: #073358;
}

.form-section .flexbox .col a:hover {
    color: #fff;
    background: #073358;
    transition: 0.5s;
    opacity: 1;
}

.form-block .txt-form {
    margin-bottom: 4%;
}

.form-block .txt-form-conf {
    display: none;
}

.form-block .input-text input,
.form-block .input-textarea textarea {
    width: 100%;
    border: 1px solid #c9c9c9;
    background: #f2f2f2;
}

.form-block .input-text input:focus,
.form-block .input-textarea textarea:focus {
    background: #fff;
}

.form-block .input-text input {
    height: 36px;
    padding: 0 .5em;
}

.form-block .input-textarea textarea {
    padding: .5em;
}

.form-block .input-small input {
    width: 30%;
}

/*
.form-block .input-submit {
  background: #f2f2f2;
}
*/

.form-block .input-submit {
    text-align: center;
    margin-top: 2em;
    padding: 3em 1em;
}

.form-block .caution-privacy {
    margin-bottom: 1.5em;
}

.form-block .input-submit span {
    display: inline-block;
    vertical-align: middle;
    margin: 0 8px;
}

.form-block .input-submit input[type="submit"] {
    height: 50px;
    padding: 0 30px;
}

.form-block .input-submit .back input[type="submit"] {
    background: #ccc;
}

.form-block .input-submit .enter input[type="submit"] {
    background: #073358;
    color: #fff;
}

.mw_wp_form_preview .form-block .txt-form-entry {
    display: none;
}

.mw_wp_form_preview .form-block .txt-form-conf {
    display: block;
}

.mw_wp_form_preview .form-block .input-submit {
    background: none;
    padding: 0;
}

.mw_wp_form_preview .form-block .caution-privacy {
    display: none;
}

@media only screen and (max-width: 1150px) {
    .factoring-section .block04 .box {
        box-sizing: border-box;
    }
}

@media only screen and (max-width: 768px) {
    .adviser-section .block01 .text01 {
        font-size: 20px;
    }

    .adviser-section .block02 .col-w56,
    .adviser-section .block02 .col-w42 {
        width: 100%;
    }

    .flow-section .block01 .col {
        width: 100%;
    }

    .flow-section .block01 .col-w42 {
        text-align: center;
    }

    .flow-section .block01 .text01 {
        font-size: 18px;
    }

    .flow-section .block01 .text02 {
        font-size: 24px;
    }

    .flow-section .block02 .step-box .step {
        width: 100%;
    }

    .flow-section .block02 .step-box .col {
        width: 100%;
        border: none;
        text-align: center !important;
        padding: 0;
    }

    .flow-section .block03 .col {
        width: 100%;
        margin-bottom: 3rem;
    }
}

@media only screen and (max-width: 480px) {

    .list-type04 .txt-sub {
        font-size: 10px;
    }

    .adviser-section .block02 .col-w56 {
        padding: 1rem 1.5rem;
    }

    .adviser-section .block02 .text01 {
        font-size: 22px;
    }

    .adviser-section .block02 .text02 {
        font-size: 22px;
        text-align: center;
        margin: 3rem 0 0;
        padding: 0;
    }

    .adviser-section .block03 table th {
        font-size: 20px;
    }

    .adviser-section .block03 table td {
        font-size: 16px;
    }

    .factoring-section .block01 .flexbox {
        margin-top: 3rem;
    }

    .factoring-section .block01 .col {
        margin-top: 1rem;
        margin-bottom: 0;
        font-size: 16px;
    }

    .factoring-section .block02 .col-w56 {
        padding: 1rem 1.5rem;
    }

    .factoring-section .block02 .text-area {
        padding: 1rem 1.5rem;
    }

    .factoring-section .block04 .box {
        padding: 1rem 1.5rem;
    }

    .factoring-section .sub-title01,
    .factoring-section .text01-1 {
        font-size: 20px !important;
    }

    .instructor-section .block01 p {
        font-size: 20px;
    }

    .instructor-section .block .box {
        padding: 1rem 1.5rem;
    }

    .instructor-section .block .box .text01 {
        font-size: 20px;
    }

    .instructor-section .block03 .col {
        width: 100%;
    }

    .instructor-section .block03 .col .text02 {
        font-size: 18px;
    }

    .instructor-section .block05 .text01 {
        font-size: 18px;
        text-align: left;
    }

    .case-section .block .col {
        width: 100%;
    }

    .case-section .block .text02 span {
        font-size: 16px;
        width: 80%;
        display: inline-block;
    }

    .flow-section .block03 ul,
    .flow-section .block04 .t-indent {
        padding: 1rem 0;
    }

    .company-section .block01 .col-w56,
    .company-section .block02 .col-w56 {
        padding: 1rem 1.5rem;
    }

    .company-section .block02 .text-area {
        padding: 1rem 1.5rem;
    }

    .company-section .block02 .text02 {
        font-size: 18px;
    }

    .company-section .block03 table th,
    .company-section .block03 table td {
        width: 100%;
        display: block;
        padding: 0.5rem 1rem;
        box-sizing: border-box;
    }

    .contact-bnr {
        width: 40%;
    }

    .form-section .flexbox {
        margin-bottom: 5rem;
    }

    .form-section .flexbox .col {
        width: 100%;
        margin: 1rem 0;
    }
}

/*------------------------------------------
  Clearfix
------------------------------------------*/
.clearfix,
.cmn-pagetitle,
.cmn-breadcrumb,
.top-section01 {
    *zoom: 1;
}

.clearfix:after,
.cmn-pagetitle:after,
.cmn-breadcrumb:after,
.top-section01:after {
    visibility: hidden;
    display: block;
    font-size: 0;
    content: " ";
    clear: both;
    height: 0;
}



/* TOC+ */
#toc_container {
    margin: 20px auto 30px;
    background-color: rgba(44, 153, 181, .04);
    border: 3px solid #203e6e;
    border-radius: 3px;
    box-sizing: border-box;
    padding: 38px 52px;
    display: table;
    min-width: 68%;
    counter-reset: li;
}

/* テーマによるリストの装飾を一旦無効化 */
#toc_container ul.toc_list li::before {
    content: none;
    padding: 0;
    margin: 0;
    width: 0;
    height: 0;
    background: none;
    box-shadow: none;
}

/* 目次の見出しタイトル */
#toc_container .toc_title {
    text-align: center;
    font-weight: bold;
    font-size: 118%;
    padding: 0;
}

/* 見出しタイトル左のアイコン */
#toc_container .toc_title::before {
    position: relative;
    font-size: 28px;
    content: "\2254";
    display: inline-block;
    width: 40px;
    height: 40px;
    line-height: 34px;
    margin-right: 8px;
    border-radius: 50%;
    vertical-align: baseline;
    speak: none;
    -webkit-font-smoothing: antialiased;
    color: #fff;
    background-color: #203e6e;
}

/* 表示／非表示トグル */
#toc_container .toc_toggle a {
    font-size: 13px;
    font-weight: normal;
    padding: 2px 4px;
}

/* 目次エリア */
#toc_container p.toc_title+ul.toc_list {
    padding: 20px 0 0;
    margin: 20px 0 0;
    border-top: 1px solid rgba(0, 0, 0, .1);
}

/* リスト共通スタイル */
#toc_container ul.toc_list li {
    position: relative;
    padding: 0;
    margin: 0;
}

/* 目次リンク共通スタイル */
#toc_container ul.toc_list li a {
    position: relative;
    font-size: 94%;
    font-weight: normal;
    text-decoration: none;
    display: inline-block;
    line-height: 1.6;
    padding: 3px 0;
    margin: 5px 0;
    transition: all .3s ease;
}

#toc_container ul.toc_list a,
#toc_container ul.toc_list a:visited {
    color: #343434;
}

/* マウスオーバー時 */
#toc_container ul.toc_list li a:hover {
    text-decoration: none;
    box-shadow: 0 2px;
}

/* 親の目次 */
#toc_container ul.toc_list>li>a {
    font-size: 104%;
    font-weight: bold;
    margin-left: 40px;
}

/* 親の目次(左側の連番) */
#toc_container ul.toc_list>li::before,
#toc_container ul.toc_list>li::after {
    position: absolute;
    top: 3px;
    left: 0;
}

/* 連番背景 */
#toc_container ul.toc_list>li::before {
    content: '';
    display: inline-block;
    vertical-align: bottom;
    width: 32px;
    height: 32px;
    margin-right: 7px;
    border-radius: 16px;
    background-color: #203e6e;
}

/* 連番 */
#toc_container ul.toc_list>li::after {
    counter-increment: li;
    content: counter(li);
    width: 32px;
    line-height: 32px;
    font-family: 'Avenir Next', 'Helvetica Neue', Arial, 'Meiryo', 'Yu Gothic', san-serif;
    font-weight: 400;
    text-align: center;
    color: #fff;
}

/* 子の目次 */
#toc_container ul.toc_list>li>ul {
    margin-left: 40px;
}

/* 子の目次の左側のアイコン */
#toc_container ul.toc_list>li ul li::before {
    position: absolute;
    top: 3px;
    left: 0;
    content: '\2023';
    display: inline-block;
    width: 14px;
    height: 28px;
    line-height: 28px;
    font-size: 18px;
    color: #5f7b96;
}

#toc_container ul.toc_list>li ul li a {
    font-weight: normal;
    margin-left: 16px;
}

/* レスポンシブ設定(667px幅以下) */
@media only screen and (max-width: 667px) {
    #toc_container {
        padding: 20px 3vw;
        min-width: auto;
        width: 100% !important;
    }

    #toc_container p.toc_title+ul.toc_list {
        padding: 20px 0 0;
    }

    #toc_container ul.toc_list>li>ul {
        margin-left: 30px;
    }

    .footer-bnr {
        text-align: center;
    }

    .footer-bnr a img {
        width: 50%;
        padding-bottom: 16px;
    }
}
/* フッターがCONTACT・マップにかぶる対策 */
.cmn-footer {
  position: static !important;
}

/* SWELL内でZISTフッターが横にはみ出す・1列落ちる対策 */
.cmn-footer {
  position: static !important;
  width: 100%;
  background: #073358;
  overflow: hidden;
}

.cmn-footer .footer-contents {
  display: grid !important;
  grid-template-columns: 1.7fr 1fr 1.2fr 1fr 1fr;
  gap: 32px;
  max-width: 1080px;
  width: 100%;
  margin: 0 auto;
  padding: 60px 20px 70px;
  box-sizing: border-box;
  color: #fff;
}

.cmn-footer .footer-info,
.cmn-footer .footer-nav {
  width: auto !important;
  margin: 0 !important;
}

.cmn-footer .footer-nav {
  padding-left: 0;
  list-style: none;
}

.cmn-footer .footer-nav li {
  margin-bottom: 8px;
  white-space: nowrap;
}

.cmn-footer a {
  color: #fff;
}

.cmn-footer .footer-bnr {
  position: static !important;
  grid-column: 3 / 6;
  margin: 20px 0 0 !important;
}

.cmn-footer .footer-bnr img {
  width: auto;
  max-width: 180px;
  height: auto;
  padding-right: 16px;
}

.cmn-footer .footer-pagetop {
  right: 20px;
  bottom: 0;
}

@media screen and (max-width: 900px) {
  .cmn-footer .footer-contents {
    grid-template-columns: 1fr 1fr;
    gap: 24px;
  }

  .cmn-footer .footer-info {
    grid-column: 1 / 3;
  }

  .cmn-footer .footer-bnr {
    grid-column: 1 / 3;
  }
}

@media screen and (max-width: 600px) {
  .cmn-footer .footer-contents {
    grid-template-columns: 1fr;
    padding: 40px 20px 70px;
  }

  .cmn-footer .footer-info,
  .cmn-footer .footer-bnr {
    grid-column: auto;
  }

  .cmn-footer .footer-nav li {
    white-space: normal;
  }

  .cmn-footer .footer-bnr img {
    display: block;
    margin: 0 0 12px;
    max-width: 220px;
  }
}
/* 左の会社情報だけ下にはみ出る対策 */
.cmn-footer .footer-info {
  font-size: 12px;
  line-height: 1.55;
}

.cmn-footer .footer-info .info-logo {
  margin-bottom: 10px;
}

.cmn-footer .footer-info .text01 {
  font-size: 15px;
  margin-bottom: 8px;
}

.cmn-footer .footer-info .text02,
.cmn-footer .footer-info .text03 {
  margin-bottom: 6px;
}
.cmn-footer:before,
.add-section02 .bar {
  display: none !important;
}

.top-section05 .text01,
.top-section05 .text01 a {
  font-family: "Oswald", "Noto Sans JP", sans-serif !important;
  font-weight: 500 !important;
}
@media(min-width:767px){
	.top #content {
    padding-top: 8em;
}
}
@media (min-width: 600px) {
    .l-content {
        padding-top: 8em;
    }
.p-postSlider__inner{
	padding-top:8em;
	}
}