@charset "utf-8";

/*
 * style.css
 *
 *  version --- 1.0
 *  updated --- 2017/11/30
 */

/* !HTML5 elements
---------------------------------------------------------- */
header, 
footer, 
nav, 
section, 
aside, 
article {
    display: block;
}

/* !Reseting
---------------------------------------------------------- */
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

fieldset {
  border: none;
}

ul,
ol,
li {
	list-style: none;
}

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

table {
	border-collapse: collapse;
}

button {
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
}

select::-ms-expand {
	display: none;
}

input[type=radio]::-ms-check,
input[type=checkbox]::-ms-check{
	display: none;
}

select,
input[type=radio],
input[type=text],
input[type=password],
input[type=email],
input[type=tel],
input[type=number],
input[type=reset],
input[type=button],
input[type=submit],
textarea {
	appearance: none;
	border-radius: 0;
	font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

input[type=text]::-ms-clear,
input[type=tel]::-ms-clear,
input[type=number]::-ms-clear{
	display: none;
}

input[type=reset],
input[type=button],
input[type=submit]  {
	font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	cursor: pointer;
}

*,
*:before,
*::after {
	box-sizing: border-box;
}
/* !Clearfix
---------------------------------------------------------- */
.clearfix {
    display: block;
    min-height: 1%;
}

.clearfix:after {
    clear: both;
    content: ".";
    display: block;
    height: 0;
    visibility: hidden;
}

* html .clearfix {
    height: 1%;
}

/* !Layout
---------------------------------------------------------- */
html {
    overflow-y: scroll;
    font-size: 62.5%;
}

/*** タブレット 751px ~ 1366px***/
@media screen and (min-width: 751px) and (max-width: 1366px) {
    html {
        font-size: 0.732vw;
    }
}

/*** スマホ 320px ~ 750px***/
@media screen and (max-width: 750px) {
    html {
        font-size: 62.5%;
        font-size: 2.544vw;
    }
}

body {
    font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    font-size: 1.6rem;
    -webkit-text-size-adjust: none;
    line-height: 1.5;
    font-weight: normal;
    font-weight: 400;
    color: #000;
    -webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.font_sans {
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
}
.font_serif {
  font-family: "Noto Serif JP", serif;
  font-style: normal;
}
.font_zen {
  font-family: "Zen Maru Gothic", serif;
  font-weight: 700;
  font-style: normal;
}
.font_eng {
  font-family: "Roboto", sans-serif;
  font-weight: bold;
  font-style: normal;
  text-transform: uppercase;
}
/* !Base Fonts -------------------------------------------------------------- */
a {
    color: #000;
    text-decoration: none;
}

/*** hover ***/
@media screen and (min-width: 960px) {
    a {
        transition: all 0.5s;
    }

    a:hover {
        text-decoration: none;
        opacity: .7;
    }

    .op {
        transition: opacity 0.5s ease-out;
    }

    .op:hover {
        opacity: .7;
        text-decoration: none;
    }

    a[href^="tel:"] {
        cursor: default;
        pointer-events:none;
    }
}

.is-hide {
    display: none;
}



/* !wrapper
---------------------------------------------------------- */
#wrapper {
    position: relative;
    overflow: hidden;
    background: #E2E1D9;
    padding-top: 11rem;
}

.inner02,
.inner {
    margin: 0 auto;
    width: 100%;
    position: relative;
    z-index: 3;
    max-width: 136.6rem;
    padding: 0 13.9rem;
}
.inner02 {
    padding: 0 8.5rem;
}

/* !header
---------------------------------------------------------- */
#header {
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 99;
    width: 100%;
    max-width: 100%;
    background: #193F98;
    color: #fff;
    min-height: 11rem;
    box-shadow: 0 .3rem .6rem rgba(0,0,0,.16);
}

#header a{
    color: #fff;
}

.header-inner {
    padding: 1rem 7.9rem 1rem .7rem;
    display: flex;
    justify-content: space-between;
}

.header-logo a{
    display: flex;
    align-items: center;
    grid-gap: 1.2rem;
    font-size: 1.4rem;
    letter-spacing: .1em;
}

.header-logo img{
    width: 15.6rem;
}

.header-links {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    align-items: flex-end;
    justify-content: flex-end;
}

.header_links_top{
    display: flex;
    align-items: center;
    grid-gap: .8rem;
}

.header_line{
    width: 4.6rem;
}

.header_tel a{
    margin-right: 1.5rem;
    font-size: 1.4rem;
    line-height: 1.3;
    letter-spacing: .1em;
    font-weight: bold;
    display: block;
}

.header_tel a font{
    font-size: 2.5rem;
    display: block;
}

.header_contact a{
    width: 30rem;
    height: 4.6rem;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.6rem;
    font-weight: bold;
    letter-spacing: .1em;
    color: #193F98!important;
    background: url(../img/common/arrow01.svg)no-repeat right 1rem center #EDB346;
    background-size: .7rem auto;
}

.header-links ul{
    display: flex;
    justify-content: flex-end;
    grid-gap: 7rem;
    margin-top: 1.5rem;
}

.header-links ul a,
.parent_ttl{
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: .1em;
    display: inline;
}

.parent_ttl {
	cursor: pointer;
	position: relative;
}


.btn-menu{
    position: fixed;/*ボタン内側の基点となるためrelativeを指定*/
    right: 1.5rem;
    top: 1.1rem;
    z-index: 9999;
    cursor: pointer;
    width: 4.9rem;
    height: 4.9rem;
    background: #fff;
}

/*ボタン内側*/
.btn-menu span{
  display: inline-block;
  transition: all .5s;/*アニメーションの設定*/
  position: absolute;
  left: 1.2rem;
  height: .2rem;
  width: 2.5rem;
  border-radius: 0;
  background: #193F98;
}
.btn-menu span:nth-of-type(1) {
    top: 1.5rem; 
}
.btn-menu span:nth-of-type(2) {
    top: 2.4rem;
}
.btn-menu span:nth-of-type(3) {
    bottom: 1.5rem;
}
.is-active.btn-menu span:nth-of-type(1) {
  transform: translateY(.9rem) rotate(35deg);
  width: 3rem;
  left: .9rem;
}
.is-active.btn-menu span:nth-of-type(2) {
  opacity: 0;
}
.is-active.btn-menu span:nth-of-type(3) {
  transform: translateY(-.8rem) rotate(-35deg);
  width: 3rem;
  left: .9rem;
}

/*** hover ***/
@media screen and (min-width: 960px) {}

/* !global navigation
---------------------------------------------------------- */
#g-navi {
    position: fixed;
    top: 7rem;
    right: 0;
    width: 100%;
    height: auto;
    z-index: 98;
    box-sizing: border-box;
    padding: 4rem 12rem 6.5rem;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s,right .3s;

    background: #193F98;
}
#g-navi.is-active{
    opacity: 1;
    pointer-events: auto;
}   

.nav_list{
    position: relative;
    display: flex;
    flex-wrap: wrap;
    grid-gap: 6.5rem;
    max-width: 110rem;
    margin: 0 auto;
}
.nav_list li:first-of-type{
    width: 100%;
}
.nav_list li>a{
    position: relative;
    color: #fff;
    font-size: 2rem;
    font-weight: bold;
    letter-spacing: .08em;
    padding-left: 2.9rem;
}
.nav_list li>a:before{
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 9;
    width: 2.3rem;
    height: .3rem;
    border-radius: .3rem;
    background: #EDB346;
    pointer-events: none;
}
.sub_box{
    margin-top: 1.4rem;
    display: grid;
    grid-template-columns: repeat(5,1fr);
    grid-gap: 2.8rem 2.3rem;
    padding-left: 2.9rem;
}
.sub_box a{
    display: flex!important;
    justify-content: center;
    align-items: center;
    text-align: center;
    height: 5.5rem;
    background: #fff;
    color: #193F98!important;
    font-size: 1.6rem!important;
    line-height: 1.5!important;
    font-weight: bold!important;
    letter-spacing: 0.08em!important;
}
.sub_box a:after{
    content: none!important;
}

/*** hover ***/
@media screen and (min-width: 960px) {
    .link_underline .sub_box a:hover{
        opacity: .7!important;
    }

}

/* !breadcrumb
---------------------------------------------------------- */
#breadcrumb {
    width: 100%;
}

#breadcrumb .inner {
    max-width: 100%;
    padding: 1.8rem 3.2rem;
}

#breadcrumb ul {
    display: flex;
}

#breadcrumb ul li {
    word-break: keep-all;
    white-space: nowrap;
    font-size: 1.2rem;
    line-height: 1.5;
    color: #7C6F65;
    font-weight: 400;
    letter-spacing: .08em;
    position: relative;
}

#breadcrumb ul li a{
    color: #7C6F65;
}

#breadcrumb.blue ul li,
#breadcrumb.blue ul li a{
    color: #fff;
}

#breadcrumb ul li + li {
    padding-left: 1.5em;
}

#breadcrumb ul li + li:before {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    content: '>';
    width: 1.5em;
    height: 100%;
    text-align: center;
}

#breadcrumb ul li:last-child {
    word-break: break-all;
    white-space: unset;
}

/*** hover ***/
@media screen and (min-width: 960px) {}

/* !main Visual
---------------------------------------------------------- */
#main-visual {
    height: calc(100vh - 11rem);
    position: relative;
    display: flex;
    align-items: flex-end;
    z-index: 9;
}

#main-visual .inner{
}

.mv_image {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}

.mv_image .slick-list,
.mv_image .slick-track,
.mv_image .mv_image_item {
    height: 100%;
}

.mv_image .mv_image_item {
    width: 100%;
}

.mv_image .mv_image_item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mv_cont{
    position: absolute;
    left: 5rem;
    top: 7.8rem;
    z-index: 13;
}

.mv_list{
    display: grid;
    grid-template-columns: repeat(2,1fr);
    grid-gap: 1.6rem;
    max-width: 36.2rem;
    margin-bottom: 2.2rem;
}

.mv_list li{
    font-size: 2.2rem;
    font-weight: bold;
    color: #193F98;
    border: 2px solid #193F98;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 5.7rem;
}

.bg_span{
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    grid-gap: 1.1rem 0;
}
.bg_span span{
    font-size: 3.8rem;
    line-height: 2.1;
    font-weight: 600;
    padding: 0 1.3rem;
    background: #193F98;
    color: #fff;
    white-space: nowrap;
}
.color_yellow{
    color: #EDB346;
}

.mv_btn{
    margin-top: 6rem;
}

.mv_btn .btn_link01{
    width: 33.7rem;
    height: 6.4rem;
    font-size: 1.6rem;
    padding-left: 2.8rem;
    background-size: 3.1rem auto;
    background-position: right 1.7rem center;
}

.mv_news{
    position: absolute;
    right: 9rem;
    bottom: -4.8rem;
    z-index: 11;
    text-align: center;
    width: 22.8rem;
    color: #fff;
}
.mv_news:before{
    content: '';
    position: absolute;
    right: -3.7rem;
    bottom: -2.2rem;
    z-index: -1;
    width: 51.5rem;
    height: 40rem;
    background: url(../img/common/right_bottom.png)no-repeat;
    background-size: 100% 100%;
}
.mv_news_eng{
    position: absolute;
    right: -2.4em;
    top: -5.5em;
    left: -22em;
    transform: rotate(-39deg);
    font-size: 8rem;
    line-height: 1.2;
    font-weight: bold;
    letter-spacing: .08em;
    color: #193F98;
    white-space: nowrap;
    transform-origin: right bottom;
    font-family: "Roboto", sans-serif;
}
.mv_news_eng font{
    color: #fff;
}
.mv_news_hd{
    font-size: 1.5rem;
    line-height: 1.2;
    font-weight: bold;
    margin-bottom: 1rem;
}
.mv_news_hd span{
    position: relative;
    padding: 0 1rem;
    display: inline-block;
}
.mv_news_hd span:after,
.mv_news_hd span:before{
    content: '';
    left: 0;
    top: 0;
    position: absolute;
    z-index: 1;
    width: 1px;
    height: 100%;
    background: #fff;
    transform: rotate(-20deg);
}
.mv_news_hd span:after{
    left: auto;
    right: 0;
    transform: rotate(20deg);
}

.mv_news_link{
    display: block;
    opacity: 1!important;
    color: #fff;
}
.mv_news_link .img_box{
    padding-top: 56%;
}
.mv_news_link .txt{
    font-size: 1.3rem;
    margin-top: 1rem;
}
/*** hover ***/
@media screen and (min-width: 960px) {}

/* !teaser
---------------------------------------------------------- */
#teaser {
    padding: 2.4rem 0 7.5rem;
}

.teaser_hd.hd_medium span{
    font-size: 4.5rem;
    margin-bottom: 0;
}

#company #teaser {
    position: relative;
    padding: 0;
    height: 46rem;
    background: url(../img/company/bg_teaser_company.jpg)no-repeat center center;
    background-size: cover;
}
#company .teaser_hd.hd_medium {
    position: absolute;
    left: 0;
    top: 50%;
    z-index: 1;
    transform: translate(0%,-50%);
    width: 100%;
    height: 14.6rem;
    background: rgba(14,39,106,.6);
    display: flex;
    justify-content: center;
    align-items: center;
}
/*** hover ***/
@media screen and (min-width: 960px) {}

/* !contents
---------------------------------------------------------- */
#contents {}

#main {}

#side {}

.inner {}

/*** hover ***/
@media screen and (min-width: 960px) {}

/* !page Top
---------------------------------------------------------- */
.page-top {}

/*** hover ***/
@media screen and (min-width: 960px) {}

/* !footer
---------------------------------------------------------- */
#footer {
    background: #193F98;
    color: #fff;
    padding: 10rem 0 0;
}

.footer-inner {}

.footer_recruit{
    position: relative;
    z-index: 2;
}

.footer_recruit:before{
    content: '';
    position: absolute;
    left: 0;
    top: -15rem;
    z-index: -1;
    width: 40rem;
    height: 40rem;
    background: url(../img/common/left_top.png)no-repeat;
    background-size: 100% 100%;
}

#seminar .footer_recruit:before,
.post-type-archive-seminar .footer_recruit:before,
.tax-seminar-cat .footer_recruit:before{display: none;}


.footer_recruit a{
    max-width: 72rem;
    margin: 0 auto 7rem;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 18rem;
    background: url(../img/common/bg_recruit.png)no-repeat center center;
    background-size: cover;
}

.footer_recruit .hd_medium span{
    font-size: 3.5rem;
    font-weight: 600;
    margin-bottom: 0;
}

.footer_contact_box{
    background: #fff;
    color: #193F98;
    padding: 3rem 3rem 5rem;
    text-align: center;
    margin-bottom: 6.5rem;
}

.footer_contact_box .ttl{
    font-size: 2.5rem;
    font-weight: bold;
    letter-spacing: .08em;
    margin-bottom: 1.5rem;
}

.footer_contact_box dl{
    display: flex;
    justify-content: center;
    grid-gap: 5rem;
}

.footer_tel a{
    display: block;
    padding-left: 4.3rem;
    background: url(../img/common/tel.svg)no-repeat left center;
    background-size: 3rem auto;
    font-size: 5.9rem;
    line-height: 1.44;
    letter-spacing: .04em;
    font-weight: bold;
    color: #193F98;
}

.footer_time{
    font-size: 1.6rem;
    font-weight: 600;
    letter-spacing: .08em;
}

.footer_contact_box dd{
    padding-top: 3rem;
    display: flex;
    grid-gap: 1.5rem;
}

.footer_cont{
    display: flex;
    justify-content: space-between;
    grid-gap: 5rem;
}

.footer_cont a{
    color: #fff;
}

.footer_logo{
    width: 25.7rem;
    padding: 1rem;
}

.footer_company{
    font-size: 2rem;
    font-weight: 500;
    margin: 1.7rem 0 1rem;
}

.footer_addr{
    font-size: 1.4rem;
    letter-spacing: .08em;
    line-height: 1.71;
    font-weight: 500;
}

.footer_cont_right{
    display: flex;
    justify-content: space-between;
    grid-gap: 5rem;
}

.footer_list li>a{
    font-size: 1.9rem;
    line-height: 2;
    font-weight: bold;
    letter-spacing: .08em;
    color: #fff;
}

.footer_list02 a{
    font-size: 1.4rem;
    line-height: 1.785;
}

.footer_tax{
}

.tax_logo{
    width: 20.7rem;
    margin: 3rem 0 1.4rem;
}

.tax_company{
    font-size: 1.2rem;
    line-height: 1.66;
    letter-spacing: .08em;
}

.footer_bottom{
    margin-top: 4rem;
    background: #0D276A;
    text-align: center;
    padding: 2.6rem 0 1.4rem;
}

footer .pc_nav {
 font-size: 1.9rem;
    line-height: 2;
    font-weight: bold;
    letter-spacing: .08em;
    color: #fff;
}

.footer_sns{
    display: flex;
    justify-content: center;
    align-items: center;
    grid-gap: 2.5rem;
    font-size: 0;
}

.footer_sns li:nth-of-type(1) img{
    height: 2.7rem;
}
.footer_sns li:nth-of-type(2) img{
    height: 2.5rem;
}
.footer_sns li:nth-of-type(3) img{
    height: 2rem;
}

#copyright {
    font-size: 1.2rem;
    margin-top: 1.5rem;
    letter-spacing: .08em;
}

.parentLi{
    position: relative;
}
.subLi a{
    text-align: left;
    display: block;
    font-size: 1.4rem;
    line-height: 3.8rem;
    color: #fff;
    white-space: nowrap;
}
.subLi a:before{
    content: 'ー';
}

/*** hover ***/
@media screen and (min-width: 960px) {}

/*common*/
.hd_medium{
    text-align: center;
}
.hd_medium span{
    display: inline-block;
    padding: 0 2rem;
    font-size: 5rem; 
    line-height: 1.44;
    font-weight: bold;
    position: relative;
    color: #fff;
    margin-bottom: 4rem;
}
.hd_medium.blue span{
    color: #193F98;
}
.hd_medium span:after,
.hd_medium span:before{
    content: '';
    position: absolute;
    right: 100%;
    top: 50%;
    z-index: 1;
    width: 3.1rem;
    height: .3rem;
    background: #EDB346;
}
.hd_medium span:after{
    right: auto;
    left: 100%;
}

.btn_link01{
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 21.2rem;
    max-width: 100%;
    height: 4rem;
    font-size: 1.4rem;
    font-weight: bold;
    letter-spacing: 0.04em;
    padding-right: 1.5rem;
    background: url(../img/common/arrow_btn_white.png)no-repeat right 1.1rem center #193F98;
    background-size: 1.9rem auto;
    color: #fff;
    transition: all 0.5s;
}

.btn_link02{
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 21.2rem;
    max-width: 100%;
    height: 4rem;
    font-size: 1.4rem;
    font-weight: bold;
    letter-spacing: 0.04em;
    padding-right: 1.5rem;
    background: #E5E5E5 !important;
    background-size: 1.9rem auto;
    color: #272727 !important;
    transition: all 0.5s;
}


.btn_link01.yellow{
    background: url(../img/common/arrow_btn_blue.png)no-repeat right 1.1rem center #EDB346;
    background-size: 1.9rem auto;
    color: #193F98;
}

.btn_link01.red{
    background-color: #962431;
    font-weight: bold;
    padding-left: 1.7rem;
    justify-content: flex-start;
}

.img_box {
  display: block;
  position: relative;
  width: 100%;
  padding-top: 66%;
  overflow: hidden;
}

.img_box img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  object-fit: cover;
  transition: 0.4s ease-out;
}
/*** hover ***/
@media screen and (min-width: 960px) {
    input.btn_link01:hover,
    input.btn_link02:hover,
    a.btn_link01:hover{
        transform: scale(1.05);
        opacity: 1;
    }

    a:hover .img_box img{
        transform: scale(1.1);
    }
    
    .support_slick_item a:hover{
        /*transform: scale(1.05);*/
        opacity: 1;
    }


    a.link_underline,
    .link_underline a{
        position: relative;
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
    }
    a.link_underline:hover,
    .link_underline a:hover{
        text-decoration: none;
        opacity: 1!important;
    }
    a.link_underline:after,
    .parent_ttl:after,
    .link_underline a:after {
        content: "";
        display: block;
        width: 0;
        height: 1px;
        position: absolute;
        right: 0;
        bottom: 0;
        pointer-events: none;
        background: currentColor;
        -webkit-transition: 0.5s ease-in-out;
        transition: 0.5s ease-in-out;
    }
    a.link_underline:hover:after,
    .parent_ttl:hover:after,
    .link_underline a:hover:after {
        width: 100%;
        right: auto;
        left: 0;
    }

}

/*top*/
.top_sec01{
    padding: 18.8rem 0 13.7rem;
    background: #0E276A;
    color: #fff;
}
.top_sec01 .inner{
    padding: 0 11.5rem;
}
.top_sec01_bg{
    background: url(../img/top/bg_sec01.jpg)no-repeat center center;
    background-size: cover;
    min-height: 66rem;
    padding: 5rem;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
.top_sec01_box{
    background: rgba(0,0,0,.6);
    width: 57rem;
    padding: 10rem 4rem 10rem 4.5rem;
}
.top_sec01_box .ttl{
    font-size: 2.8rem;
    line-height: 2.14;
    font-weight: 600;
    letter-spacing: .08em;
    margin-bottom: 2rem;
}
.top_sec01_box .txt{
    font-size: 1.6rem;
    line-height: 2;
    letter-spacing: .03em;
}

.top_business{
    padding: 6.6rem 0 15rem;
}
.top_business_list{
    display: grid;
    grid-template-columns: repeat(3,1fr);
    grid-gap: 6.8rem 6.2rem;
    max-width: 96.7rem;
    margin: 4rem auto 0;
}
.top_business_list a.business_btn{
    background: #fff;
    color: #193F98;
    display: flex;
    /*justify-content: center;*/
    align-items: center;
    flex-direction: column;
    text-align: center;
    position: relative;
    z-index: 2;
    height: 28rem;
    opacity: 1!important;
    padding-top: 3.3rem;
}
.top_business_list a.business_btn:before{
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: -1;
    transform: translate(-50%,-50%);
    background: #fff;
    width: 100%;
    height: 100%;
    transition: all .5s;
}

.top_business_list .point{
    position: absolute;
    left: 50%;
    top: 0;
    z-index: 2;
    transform: translate(-50%,-40%);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 5.6rem;
    height: 5.6rem;
    background: #193F98;
    color: #fff;
    font-size: 1.4rem;
    font-weight: bold;
    letter-spacing: .1em;
    transition: all .5s;
}
.top_business_list .ttl{
    font-size: 2rem;
    font-weight: bold;
    display: flex;
    align-items: center;
    min-height: 6.3rem;
    padding: 1rem 0 .5rem;
}
.top_business_list .icon{
    display: flex;
    justify-content: center;
    align-items: center;
}
.top_business_list .icon img{
    max-height: 8.1rem;
}
.top_business_list .txt{
    margin-top: .3rem;
    font-size: 1.6rem;
    line-height: 1.875;
    font-weight: 500;
    letter-spacing: .08em;
}
.top_business_list .btn{
    margin-top: 1rem;
}
/*** hover ***/
@media screen and (min-width: 960px) {
    .top_business_list a:hover:before{
        transform: translate(-50%,-50%) scale(1.1);
    }
    .top_business_list a:hover .point{
        top: -1.3rem;
    }
    
     .support_sec04 .support_slick_item {
          transition: all 0.3s;
     }
     .support_sec04 .support_slick_item:hover {
	      transform: scale(1.1);
     }
    
}

.blue_wrap{
    padding: 12rem 0 9rem;
    background: #193F98;
    position: relative;
}
.blue_wrap:before{
    content: '';
    position: absolute;
    left: 8.3rem;
    top: -6rem;
    z-index: 1;
    width: 40rem;
    height: 40rem;
    background: url(../img/common/left_top.png)no-repeat;
    background-size: 100% 100%;
}
.blue_wrap:after{
    content: '';
    position: absolute;
    right: 5.3rem;
    bottom: -9rem;
    z-index: 1;
    width: 40rem;
    height: 40rem;
    background: url(../img/top/right_bottom02.png)no-repeat;
    background-size: 100% 100%;
}
.top_news .inner{
    padding: 0 19rem;
    display: flex;
    justify-content: space-between;
}
.top_news_item{
    width: 36.8rem;
    position: relative;
}
.top_news_item .hd_medium{
    text-align: left;
}
.top_news_item .hd_medium span{
    font-size: 4rem;
    margin-left: 3.2rem;
}
.top_news_item .hd_medium span:after{ 
    content: none;
}
.top_news_list{
    margin-top: 3rem;
    display: grid;
    grid-template-columns: repeat(1,1fr);
    grid-gap: 4rem;
}
.top_news_list a{
    display: block;
    color: #fff;
    opacity: 1!important;
}
.top_news_list dl{
    display: flex;
    align-items: center;
    grid-gap: 1.9rem;
}
.top_news_list dt{
    width: 12.8rem;
}

.top_news_list dd{
    width: calc(100% - 12.8rem - 1.9rem);
    font-size: 1.4rem;
    line-height: 1.857;
    letter-spacing: .03em;
}
.top_news_list .img_box{
    padding-top: 100%;
}
.top_news_btn{
    position: absolute;
    right: 0;
    top: 7rem;
    z-index: 1;
}
.btn_view{
    display: inline-flex;
    font-size: 1.5rem;
    letter-spacing: .08em;
    padding-right: 2.8rem;
    background: url(../img/top/icon_view.svg)no-repeat right center;
    background-size: 1.6rem auto;
    color: #fff;
    font-weight: 500;
}

.top_seminar{
    padding: 10.5rem 0 0;
}
.top_seminar .top_news_btn{
    right: 13.9rem;
}
.top_seminar_box{
    background: #fff;
    padding: 6rem 6rem;
}
.top_seminar_categ{
    display: flex;
    align-items: center;
    grid-gap: 2rem;
    margin-bottom: 4.6rem;
}
.top_seminar_categ dt{
    font-size: 2rem;
    font-weight: 500;
    letter-spacing: .08em;
    color: #193F98;
    white-space: nowrap;
}
.top_seminar_categ ul{
    display: flex;
    flex-wrap: wrap;
    grid-gap: 1.5rem;
}
.top_seminar_categ a{
    display: flex;
    justify-content: center;
    align-items: center;
    height: 4.5rem;
    border: 1px solid #193F98;
    font-size: 2rem;
    font-weight: 500;
    padding: 0 2rem;
    color: #193F98;
    letter-spacing: .08em;
}
.top_seminar_categ a.is_active{
    pointer-events: none;
    color: #fff;
    background: #193F98;
}
.top_seminar_list{
    display: grid;
    grid-template-columns: repeat(3,1fr);
    grid-gap: 4.5rem 5.5rem;
}
.top_seminar_list a{
    display: block;
    opacity: 1!important;
}

.top_seminar_list .img_box{
    padding-top: 80.8%;
}

.top_seminar_list dl{
    display: flex;
    align-items: center;
    grid-gap: .6rem;
    margin: 1rem 0;
    font-size: 1.4rem;
}
.categ_span{
    display: flex;
    flex-wrap: wrap;
    grid-gap: .6rem;
}
.categ_span span{
    display: flex;
    justify-content: center;
    align-items: center;
    height: 2.8rem;
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: .08em;
    padding: 0 1rem;
    color: #fff;
    background: #193F98;
}
.top_seminar_list .txt{
	font-size: 1.7rem;
    color: #003992;
    font-weight: bold;
    line-height: 1.71;
    margin-bottom: 20px;
}

.top_seminar_list .day{
	font-size: 1.6rem;
	padding-bottom: 20px;
	font-weight: 500;
	border-bottom: 1px solid #000;
}

.top_company{
    padding: 13rem 0 11rem;
}
.top_company_dl{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-left: -13.9rem;
    margin-top: 1.5rem;
}
.top_company_dl dt{
    width: 72.8rem;
}
.top_company_dl dd{
    width: 40rem;
}
.top_company_dl .img_box{
    padding-top: 75.8%;
}
.top_company_dl .ttl{
    font-size: 3rem;
    font-weight: bold;
    line-height: 2;
    letter-spacing: .08em;
    color: #193F98;
}
.top_company_dl .txt{
    font-size: 1.6rem;
    line-height: 2;
    letter-spacing: .03em;
    color: #3E3C3C;
    margin: 2.8rem 0;
}

.top_company_list li+li{
    margin-top: 1.4rem;
}
.top_company_list a{
    display: flex;
    align-items: center;
    height: 5.1rem;
    font-size: 1.6rem;
    font-weight: bold;
    letter-spacing: .03em;
    color: #3E3C3C;
    background: url(../img/common/arrow_btn_black.png)no-repeat right center;
    background-size: 3.1rem auto;
    border-bottom: 1px solid;
}

/*contact*/
.contact_wrap{
    padding: 6.8rem 0 0;
    background: #193F98;
}
.contact_wrap .inner{
    padding: 0 18rem;
}
.contact_top{
    background: #fff;
    padding: 3.4rem 0 2.7rem;
    margin-bottom: 5rem;
    text-align: center;
}
.contact_top dl{
    display: flex;
    margin-bottom: 2.2rem;
}
.contact_top dt{
    width: 50%;
    padding: 0 5.8rem;
    border-right: 1px solid #707070;
}
.contact_top dd{
    width: 50%;
    padding: 0 5.8rem;
}
.contact_top .ttl01{
    font-size: 3rem;
    font-weight: bold;
    letter-spacing: 0.08em;
    color: #193F98;
    margin-bottom: .4rem;
}
.contact_top .txt01{
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.08em;
}
.contact_top .ttl02{
    font-size: 1.6rem;
    font-weight: bold;
    letter-spacing: 0.08em;
    margin-bottom: .8rem;
    color: #193F98;
}
.contact_top .ttl02 span{
    display: block;
    padding: .9rem 0;
    border: 2px solid #193F98;
}
.contact_top .ttl02 font{
    font-size: 2.5rem;
}
.contact_top .txt02{
    font-size: 1.5rem;
    line-height: 1.4;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-align: left;
}
.contact_top_row span{
    display: block;
    margin: 0 5.8rem;
    font-size: 2.1rem;
    letter-spacing: 0.08em;
    font-weight: bold;
    color: #fff;
    background: #193F98;
    padding: 2.5rem;
}

.contact_box{
    background: #fff;
    padding: 8.7rem 12rem 19.5rem;
}
.contact_note{
    font-size: 1.6rem;
    font-weight: 500;
    text-align: center;
    letter-spacing: .12em;
    line-height: 1.875;
    margin-bottom: 5rem;
}
.contact_note b{
    color: #EB0000;
    display: block;
}

.contactTable{
    width: 100%;
}
.contactTable th,
.contactTable td{
    display: block;
    font-size: 1.6rem;
    padding-bottom: 3rem;
}
.contactTable th{
    font-weight: bold;
    text-align: left;
    letter-spacing: 0.08em;
    display: flex;
    align-items: center;
    grid-gap: 1.2rem;
    padding-bottom: 1.8rem;
}
.contactTable th span{
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 4.5rem;
    height: 2.3rem;
    letter-spacing: 0;
    color: #fff;
    background: #F8A830;
    font-size: 1.3rem;
    font-weight: bold;
}
.contactTable th span.required{
    background: #DB0000;
}
.contactTable th font{
}

.contactTable input[type=text],
.contactTable input[type=tel],
.contactTable input[type=email],
.contactTable select,
.contactTable textarea{
    width: 100%;
    height: 6.6rem;
    border-radius: 0;
    border: 0;
    background: #fff;
    color: #333;
    padding: 0 1.8rem;
    font-size: 1.6rem;
    letter-spacing: 0.08em;
    font-weight: 400;
    border: 1px solid #B7B7B7;
}
.contactTable select {
    background: url(../img/common/select.svg) no-repeat right 1.5rem center #fff;
    background-size: auto 1.1rem;
    padding: 0 7rem 0 1.8rem;
}
.contactTable textarea{
    display: block;
    resize: none;
    min-height: 17rem;
    padding: 1rem 1.8rem;
}
.contactTable td.half_td{
    display: flex;
    grid-gap: 2rem;
}
.contactTable .half_td input{
    max-width: 29rem;
}

textarea::-webkit-input-placeholder{ /*WebKit browsers*/
  color: #B7B7B7;
}
textarea::-moz-input-placeholder{ /*Mozilla Firefox*/
  color: #B7B7B7;
}
textarea::-ms-input-placeholder{ /*Internet Explorer*/ 
  color: #B7B7B7;
}
input::-webkit-input-placeholder{ /*WebKit browsers*/
  color: #B7B7B7;
}
input::-moz-input-placeholder{ /*Mozilla Firefox*/
  color: #B7B7B7;
}
input::-ms-input-placeholder{ /*Internet Explorer*/ 
  color: #B7B7B7;
}
.p-postal-code{
    max-width: 23.6rem!important;
}
.zipTxt{
    display: inline-flex;
    justify-content: center;
    align-items: center;
    background: #FF6795;
    color: #fff;
    border-radius: 2rem;
    font-size: 1.8rem;
    font-weight: bold;
    padding: 0 1.2rem;
    height: 3.3rem;
    margin-left: 4rem;
}
.formItem+.formItem{
    margin-top: 1.6rem;
}
.formItemHd{
    font-size: 1.6rem;
    margin-bottom: .7rem;
}
.formItemHd span{
    font-size: 1.5rem;
    color: #9F9F9F;
}
.formNotes{
    font-size: 1.3rem;
    color: #666;
}
.formNotes p+p{
    margin-top: 1.9rem;
}
.formNotes a{
    color: #00A04E;
    text-decoration: underline;
}
.formNotes a:hover{
    text-decoration: none;
    opacity: 1;
}

.formAgree{
    letter-spacing: .12em;
}
.formAgree .formCheckbox label{
    font-weight: bold;
}
.formAgree a{
    color: #20569E;
    border-bottom: 1px solid currentColor;
}
.formAgree .formCheckbox label span{
    padding-left: 2.6rem;
}
.formAgree .formCheckbox label span:before{
    width: 1.6rem;
    height: 1.6rem;
}
.formAgree .formCheckbox label span:after{
    left: .3rem;
}

.formButton{
    margin-top: 7.5rem;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    grid-gap: 1rem;
}
.formButton .btn_form{
    width: 25rem;
    height: 5.3rem;
    border-radius: 0;
    font-size: 1.6rem;
    letter-spacing: 0.08em;
    font-weight: bold;
    color: #fff;
    border: 0;
    box-shadow: none;
    position: relative;
    z-index: 9;
    font-family: "Noto Serif JP", serif;
    background-size: 2.6rem auto;
    background-position: right 1.3rem center;
}

.mw_wp_form .error {
	font-size: 1.2rem !important;
	padding-top: .5rem;
	display: inherit !important;
}

.formAgree .mw_wp_form .error {
	font-size: 1.2rem !important;
	padding-top: 0;
	display: contents !important;
}

.formAgree .mw_wp_form .error {
    display: contents !important;
}

@media screen and (min-width: 751px) {
    .formButton .btn_link01:hover .btn_form{
        color: #2B2B2B;
    }
}
.formButton .disabled{
    -webkit-filter: grayscale(100%);
    filter: grayscale(100%);
    opacity: .5;
    pointer-events: none;
}

.formCheckbox,
.formRadio .wpcf7-radio,
.formRadio,
.formCheckbox .wpcf7-checkbox{
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    grid-gap: .5rem;
}

.wpcf7-checkbox .wpcf7-list-item,
.wpcf7-radio .wpcf7-list-item{
    /*width: 100%;*/
}
.formRadio label,
.formCheckbox label {
    display: flex;
    font-size: 1.6rem;
    line-height: 1.5;
    font-weight: 400;
    color: #272727;
    position: relative;
}

.formRadio label input[type="radio"],
.formCheckbox label input[type="checkbox"] {
    position: absolute;
    z-index: -1;
    left: 0;
    top: 0;
    opacity: 0;
}

.formRadio label span {
    position: relative;
    z-index: 2;
    padding: 1.5rem 1.8rem;
    display: inline-block;
}

.formRadio label span:before {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    height: 100%;
    border-radius: .5rem;
    background: #CECECE;
    content: '';
    z-index: -1;
}

.formRadio label input[type="radio"]:checked + span:before {
    background: #fff;
}

.formCheckbox label{
    width: 100%;
    display: block;
}
.formCheckbox label span {
    position: relative;
    z-index: 2;
    padding-left: 2rem;
    display: inline-block;
}

.formCheckbox label span:before {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1.2rem;
    height: 1.2rem;
    border-radius: 0;
    background: transparent;
    border: 1px solid #707070;
    content: '';
    z-index: 1;
}

.formCheckbox label span:after {
    position: absolute;
    left: .2rem;
    top: .7rem;
    width: 1rem;
    height: .6rem;

    border: .2rem solid #707070;
    border-width: 0 0 .2rem .2rem;
    transform: rotate(-45deg);
    content: '';
    z-index: 2;
    opacity: 0;
}

.formCheckbox label input[type="checkbox"]:checked + span:after {
    opacity: 1;
}

.wpcf7-list-item{
    margin: 0;
}
.wpcf7-not-valid-tip {
    color: #dc3232;
    font-size: 1em;
    font-weight: normal;
    display: block;
    position: absolute;
    white-space: nowrap;
}


.birth_box{
    display: flex;
    align-items: center;
    grid-gap: 2rem;
}
.birth_box select{
    max-width: 13.7rem;
}
.birth_box select.birth_time{
    max-width: 15.7rem;
}

.vertical-item span:before {display: none !important;}
.formAgree .mwform-checkbox-field-text {
	display: none;
}

/*confirm*/
.confirm_wrap{
    background: #193F98;
}
.confirm_wrap>.inner{
    padding: 0 18rem;
    margin-top: 4.4rem;
}
.confirm_wrap .contactTable th{
    padding-bottom: 1.5rem;
}
.confirm_wrap .contactTable td{
    font-size: 1.6rem;
    line-height: 1.75;
    letter-spacing: .08em;
    padding-bottom: 3.5rem;
    margin-bottom: 3.5rem;
    border-bottom: 1px solid #707070;
}
.confirm_wrap .contactTable tr:last-of-type  td{
    border-bottom: 0;
}
.btn_back a{
    background: #E5E5E5;
    color: #272727!important;
}

#confirm .contactTable th span,
#confirm .formAgree {
	display: none;
}


#confirm .area {position: relative;}
#confirm .year::after {
    content: "年";
    display: block;
    width: 30;
    position: absolute;
    bottom: 0px;
    left: 20px;
}
#confirm .day::after {
    content: "日";
    display: block;
    width: 30;
    position: absolute;
    bottom: 0px;
    left: 20px;
}

#confirm .last::after {
    content: inherit;
}




/*thanks*/
.thanks_wrap{
    padding: 7rem 0 10.4rem;
}
.thanks_wrap .inner{
    padding: 0 26.9rem;
}
.thanks_box{
    background: #fff;
    padding: 6.5rem 2rem;
    text-align: center;
    position: relative;
}
.thanks_box:before{
    content: '';
    position: absolute;
    left: -9.7rem;
    top: -7rem;
    z-index: -1;
    width: 26.6rem;
    height: 26.6rem;
    background: url(../img/common/left_top.png)no-repeat;
    background-size: 100% 100%;
}
.thanks_box:after{
    content: '';
    position: absolute;
    right: -9.4rem;
    bottom: -7rem;
    z-index: -1;
    width: 26.6rem;
    height: 26.6rem;
    background: url(../img/top/right_bottom02.png)no-repeat;
    background-size: 100% 100%;
}
.thanks_eng{
    font-family: "Roboto", sans-serif;
    font-size: 5.8rem;
    font-weight: bold;
    line-height: 1.3;
    color: #193F98;
    text-transform: uppercase;
}
.thanks_jap{
    font-size: 2.5rem;
    line-height: 1.3;
    font-weight: bold;
    color: #193F98;
    letter-spacing: .08em;
}
.thanks_txt{
    font-size: 1.4rem;
    line-height: 2.28;
    font-weight: 500;
    letter-spacing: .12em;
    margin: 2rem 0 2.7rem;
}
.big_link.btn_link01{
    font-size: 1.6rem;
    font-weight: bold;
    width: 25rem;
    height: 5.3rem;
    background-size: 2.6rem auto;
    background-position: right 1.3rem center;
}

/*sitemap*/
.sitemap_wrap{
    padding: 6.8rem 0 0;
    background: #193F98;
}
.sitemap_wrap .inner02{
    padding: 0 7.5rem;
}
.sitemap_box{
    background: #fff;
    padding: 8rem 5.5rem 18.5rem;
    display: flex;
    justify-content: space-between;
    grid-gap: 3.6rem;
}
.sitemap_box ul{

}
.sitemap_box li{
    font-size: 1.8rem;
    line-height: 4rem;
}
.sitemap_box li>a{
    font-weight: bold;
    letter-spacing: .04em;
    padding-left: 2.4rem;
    background: url(../img/common/arrow_site.svg)no-repeat left center;
    background-size: 1.5rem auto;
    color: #193F98;
}
.sitemap_sub_box{
    display: flex;
    grid-gap: 2rem;
    padding-left: 2.4rem;
}
.sitemap_sub_box a{
    font-size: 1.6rem;
    letter-spacing: .04em;
}

/*news*/
.news_wrap{
    padding: 9rem 0 0;
    background: #193F98;
}
.news_wrap .inner{
    padding: 0 18rem;
}
.news_box{
    background: #E2E1D9;
    padding: 7rem 8.8rem 17.5rem;
}
.news_categ{
    margin-bottom: 3.7rem;
}
.news_categ select{
    width: 31.4rem;
    max-width: 100%;
    height: 5.9rem;
    border-radius: 0;
    border: 1px solid #707070;
    font-size: 1.4rem;
    letter-spacing: 0.08em;
    font-weight: 500;
    background: url(../img/common/select_categ.svg) no-repeat right 2rem center #fff;
    background-size: 1.4rem auto;
    padding: 0 3rem 0 1.8rem;
}
.news_list{
    border-top: 1px solid #707070;
}
.news_list a{
    display: flex;
    align-items: center;
    border-bottom: 1px solid #707070;
    padding: 3rem 0;
    opacity: 1!important;
}
.news_list .img_box{
    padding-top: 12.8rem;
    width: 12.8rem;
    margin-right: 3rem;
}
.news_list .cont{
    width: calc(100% - 15.8rem);
}
.news_list .date{
    font-size: 1.6rem;
    font-weight: 600;
    letter-spacing: .08em;
    margin: .3rem 0 0;
}
.news_list .ttl{
    font-size: 1.6rem;
    font-weight: 400;
    letter-spacing: .03em;

    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.news_archive{
    padding-top: 11rem;
}
.news_archive .hd_small{
    text-align: left;
}
.hd_small{
    color: #193F98;
    line-height: 1.2;
    text-align: center;
    padding-bottom: 3rem;
    margin-bottom: 3rem;
    border-bottom: 1px solid #707070;
}
.hd_small .eng{
    display: block;
    font-size: 4.5rem;
    letter-spacing: .03em;
}
.hd_small font{
    display: inline-block;
    padding: 0 1.3rem;
    font-size: 1.5rem; 
    line-height: 1.44;
    font-weight: 400;
    position: relative;
    margin: 0 2.2rem;
}
.hd_small font:after,
.hd_small font:before{
    content: '';
    position: absolute;
    right: 100%;
    top: 50%;
    z-index: 1;
    width: 2.2rem;
    height: .3rem;
    background: #EDB346;
}
.hd_small font:after{
    right: auto;
    left: 100%;
}
/* !wp-pagenavi
---------------------------------------------------------- */
.wp-pagenavi {
    display: flex;
    justify-content: center;
    align-items: center;
    grid-gap: 1.6rem;
    width: 100%;
    margin: 6.9rem auto 0;
    position: relative;
    padding: 0;
    text-align: center;
}

.wp-pagenavi .first,
.wp-pagenavi .last,
.wp-pagenavi .pages {
    display: none;
}

.wp-pagenavi a, 
.wp-pagenavi span {
    border: 0;
    padding: 0;
    margin: 0;
}

.wp-pagenavi a, 
.wp-pagenavi .current {
    border-radius: 0;
    font-size: 2.5rem;
    font-weight: bold;
    line-height: 1.5;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all .3s;
    color: #193F98;
    width: 6.6rem;
    height: 6.6rem;
}

.wp-pagenavi a:hover,
.wp-pagenavi .current {
    color: #fff;
    background: #193F98;
    opacity: 1;
}

.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
    color: transparent!important;
    width: 2.2rem;
}
.wp-pagenavi .previouspostslink:hover,
.wp-pagenavi .nextpostslink:hover {
    opacity: .7;
}

.wp-pagenavi .previouspostslink {
    background: url(../img/common/page_prev.svg)no-repeat center center!important;
    background-size: 1.4rem auto!important;
}

.wp-pagenavi .nextpostslink {
    background: url(../img/common/page_next.svg)no-repeat center center!important;
    background-size: 1.4rem auto!important;
}

.more_btn{
    display: none;
    text-align: center;
    margin-top: 2rem;
}
.is_hide .more_btn{
    display: block;
}
.more_btn a{
    font-size: 1.7rem;
    display: inline-block;
    padding-right: 2rem;
    background: url(../img/common/select_categ.svg) no-repeat right center;
    background-size: 1rem auto;
    color: #193F98;
}
.news_archive_list{
    display: grid;
    grid-template-columns: repeat(4,1fr);
    grid-gap: 1rem 2rem;
    position: relative;
}
.is_hide .news_archive_list{
    max-height: 12rem;
    overflow: hidden;
}
.is_hide .news_archive_list:before{
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 2;
    width: 100%;
    height: 7.2rem;
    background: url(../img/common/bg_hide.png)no-repeat;
    background-size: 100% 100%;
}
.news_archive_list a{
    font-size: 1.6rem;
    font-weight: 600;
    color: #193F98;
    letter-spacing: .04em;

    padding-left: 1.8rem;
    background: url(../img/common/arrow_site.svg)no-repeat left center;
    background-size: 1.1rem auto;
}

/*news_detail*/
.news_detail_wrap{
    background: #193F98;
    padding-bottom: 18rem;
}

.single-post .news_detail_wrap,
.single-seminar .news_detail_wrap {
	padding-bottom: 0rem !important;
}

.single-post .detail_thumbnail,
.single-seminar .detail_thumbnail {
	width: 100%;
	padding: 0 3rem;
	margin: 0 auto 2.9rem;
}

.single-column .detail_thumbnail {
	width: 100%;
	height: 392px;
	margin: 0 auto 2.9rem;
}

.single-post .detail_thumbnail img,
.single-column .detail_thumbnail img,
.single-seminar .detail_thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}


.news_detail_wrap>.inner{
    margin-top: 4.4rem;
}
.detail_contents{
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}
.detail_main{
    width: 73.6rem;
    background: #E2E1D9;
    padding: 7rem 6.5rem;
}

.detail_main_news{
    width: 100rem !important;
    background: #E2E1D9;
    margin: 0 auto;
    padding: 7rem 6.5rem 20rem;
}

.detail_side{
    width: 30.7rem;
}

.detail_top{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    grid-gap: 1.9rem;
}
.detail_date{
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: .12em;
}
.detail_hd{
    font-size: 3rem;
    line-height: 1.56;
    letter-spacing: 0.12em;
    font-weight: bold;
    padding: .8rem 0 2.8rem;
    border-bottom: 1px solid #707070;
    margin-bottom: 3.8rem;
}
.detail_main figure{
    display: block;
    margin: 0;
}
figure img{
    width: 100%;
}


.detail_cont_column p,
.detail_cont p{
	width: 100%;
    letter-spacing: 0.08em;
    line-height: 1.8125;
    font-size: 1.6rem;
    margin-bottom: 2.9rem;
}

.aligncenter{
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.alignright{
	float: right;
	margin-left: 1.5em;
}
.alignleft{
	float: left;
	margin-right: 1.5em;
}

/*
.detail_cont p+p{
    margin-top: 2.9rem;
}

.detail_cont h2{
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: .1em;
    padding: 2rem 0;
    border-bottom: 2px solid #707070;
    border-top: 2px solid #707070;
    margin-bottom: 2.5rem;
}
*/

.detail_cont h3{
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: .1em;
    padding: 0.5rem 0 0.5rem 1rem;   
    border-left: 8px solid #193F98;
    margin-bottom: 2.5rem;
}

.detail_cont h2 {
    font-size: 2rem;
    font-weight: bold;
    letter-spacing: 0.12rem;
    padding: 2rem 0;
    margin-bottom: 2rem;
    border-top: 2px solid #707070;
    border-bottom: 2px solid #707070;
}


.detail_item{
    margin-top: 3.8rem;
}
.detail_item+.detail_item{
    margin-top: 4.4rem;
}
.detail_btn{
    text-align: center;
    margin-top: 9rem;
}
.detail_btn_01 {margin-bottom: 5rem;}
.detail_btn_01 .btn_link01 {
	width: 27.5rem !important;
	padding: 0;
    width: inherit;
    max-width: 100%;
}

.no_seminar {
	font-size: 1.4rem;
	line-height: 2;
	padding-bottom: 5rem;
}

.side_item+.side_item{
    margin-top: 4.5rem;
}
.side_item{
    background: #E2E1D9;
    padding: 2rem 3.3rem 4rem;
}
.side_item .hd_small{
    line-height: 1;
    padding-bottom: 1.5rem;
    margin-bottom: 1.5rem;
}
.side_item .hd_small .eng{
    font-size: 3rem;
}
.side_item .hd_small font{
    padding: 0 .7rem;
    font-size: 1rem; 
}
.side_item .hd_small font:after,
.side_item .hd_small font:before{
    height: .2rem;
}

.side_item .news_list{
    border-top: 0 solid #707070;
    display: grid;
    grid-template-columns: repeat(1,1fr);
    grid-gap: 4.5rem;
}
.side_item .news_list a{
    display: block;
    align-items: center;
    border-bottom: 0 solid #707070;
    padding: 0;
    opacity: 1!important;
}
.side_item .news_list .img_box{
    /*padding-top: 57.74%;*/
    width: 100%;
    height: 138px;
    margin-right: 0;
    margin-bottom: 1rem;
}
.side_item .news_list .img_box img {
	height: 100%;
}

li.txt {
	padding-top: 5rem;
	text-align: center;
}

.side_item .news_list .cont{
    width: auto;
}

.side_item .news_archive_list{
    display: grid;
    grid-template-columns: repeat(1,1fr);
    grid-gap: .7rem;
}
.side_item .is_hide .news_archive_list{
    max-height: 30rem;
}

/*seminar*/
.seminar_wrap{
    padding: 9rem 0 0;
    background: #193F98;
}
.seminar_list{
    display: flex;
    border: 2px solid #E2E1D9;
}
.seminar_list li{
    width: 100%;
}
.seminar_list a{
    display: flex;
    justify-content: center;
    align-items: center;
    height: 7rem;
    color: #E2E1D9;
    background: #193F98;
    opacity: .7;
    font-size: 1.8rem;
    font-weight: 600;
    letter-spacing: .08em;
}
.seminar_list a.is-active{
    background: #E2E1D9;
    color: #193F98;
    opacity: 1;
    position: relative;
}
.seminar_list a.is-active:before{
    content: '';
    position: absolute;
    left: 0;
    bottom: 100%;
    z-index: 1;
    width: 100%;
    height: 3.7rem;
    background: url(../img/seminar/before_active.svg)no-repeat top center;
    background-size: 4.6rem auto;
}
.seminar_box{
    background: #E2E1D9;
    padding: 10rem 6rem 9rem;
}

/*support*/
.support_sec01{
    padding: 8.6rem 0;
    background: #193F98;
    color: #fff;
}

.support_sec01_2{
    padding-bottom: 12rem;
}

.support_sec01_dl{
    display: flex;
    justify-content: space-between;
    grid-gap: 4.8rem;
}
.support_sec01_dl dt{
    width: 48.8rem;
}
.support_sec01_dl dd{
    width: calc(100% - 48.8rem - 4.8rem);
}
.support_sec01_dl .ttl{
    font-size: 2.8rem;
    font-weight: bold;
    letter-spacing: .08em;
    margin-bottom: 2.5rem;
}
.support_sec01_dl .txt{
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2;
    letter-spacing: .03em;
}

.support_sec02{
    padding: 4.5rem 0 8rem;
}
.support_sec02_list{
    display: grid;
    grid-template-columns: repeat(1,1fr);
    grid-gap: 3rem;
}
.support_sec02_list li{
    background: #fff;
    position: relative;
    padding: 3.8rem 6rem 3.8rem 10rem;
}
.support_sec02_list dl{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.support_sec02_list dt{
    width: 12.4rem;
}

#ipo .support_sec02_list dt img,
#support .support_sec02_list dt img{
    width: 83%;
    padding-left: 3rem;
}

.support_sec02_list dd{
    width: calc(100% - 12.4rem - 3.8rem);
}
.support_sec02_list .point{
    position: absolute;
    left: 0;
    top: 0;
    z-index: 9;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 7.6rem;
    height: 7.6rem;
    background: #193F98;
    color: #fff;
    font-size: 2.5rem;
    font-weight: bold;
    letter-spacing: .1em;
}
.support_sec02_list .ttl{
    font-size: 2rem;
    font-weight: bold;
    color: #193F98;
    margin-bottom: 1rem;
}
.support_sec02_list .txt{
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: .08em;
}
.support_sec02_list .txt span{
    display: inline-flex;
    font-weight: 600;
    background: #193F98;
    color: #fff;
    padding: 1.1rem 2rem;
    margin-bottom: 1rem;
}
.support_sec02_list .item+.item{
    margin-top: 1.2rem;
}

.support_sec03{
    padding: 8rem 0;
    background: #193F98;
}
.support_sec03_dl{
    background: #fff;
    padding: 3rem 6.8rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.support_sec03_dl dt{
    text-align: center;
}
.support_sec03_dl dd{
    width: 37.7rem;
}
.support_sec03_dl .ttl{
    font-size: 3rem;
    font-weight: bold;
    margin-bottom: 1rem;
    color: #193F98;
    letter-spacing: 0.08em;
}
.support_sec03_dl .txt{
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.08em;
}
.support_sec03_dl .btn_link01{
    width: 100%;
    max-width: 100%;
    height: 6.8rem;
    font-size: 2.2rem;
    font-weight: bold;
    background-position: right 1.3rem center;
    background-size: 2.6rem auto;
}
.support_sec03_dl .ttl02{
    font-size: 1.6rem;
    font-weight: bold;
    letter-spacing: 0.08em;
    margin: 1.4rem 0 .8rem;
    text-align: center;
    color: #193F98;
}
.support_sec03_dl .ttl02 span{
    display: block;
    padding: .9rem 0;
    border: 2px solid #193F98;
}
.support_sec03_dl .ttl02 font{
    font-size: 2.5rem;
}
.support_sec03_dl .note{
    font-size: 1.5rem;
    line-height: 1.4;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-align: left;
}

.support_sec04{
    padding: 5.5rem 0 16rem;
}
.support_slick .slick-list{
    overflow: visible;
}
.support_slick_item{
    width: 28rem;
    max-width: 28rem;
    margin: 0 2.75rem;
    height: 18.7rem;
    opacity: .5;
    pointer-events: none;
}
.support_slick_item.slick-active {
    opacity: 1;
    pointer-events: auto;
}
.support_slick_item a.support_link{
    background: #fff;
    color: #193F98;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    text-align: center;
    position: relative;
    z-index: 11;
    height: 18.7rem;
}
.support_slick_item a.support_link:before{
    content: '';
    position: absolute;
    right: 2.9rem;
    bottom: 1.8rem;
    z-index: 2;
    width: 3.5rem;
    height: 3.5rem;
    background: url(../img/common/arrow_btn_blue.png)no-repeat;
    background-size: 100% auto;
    transition: right .3s;
}
.support_slick_item a.no_before:before{
    content: none;
}
.support_slick_item .ttl{
    font-size: 2rem;
    line-height: 1.3;
    font-weight: bold;
}
.support_slick_item .icon{
    display: flex;
    justify-content: center;
    align-items: center;
}
.support_slick_item .icon img{
    max-height: 8.1rem;
}
.support_slick_item .btn{
    margin-top: .5rem;
}

/*** hover ***/
@media screen and (min-width: 960px) {
    .support_slick_item a:hover:before{
        right: 1.9rem;
    }
}


/*company*/
.txt_flow {
  background: url(../img/company/txt_flow.svg) repeat-x left center/auto 100%;
  height: 6.2rem;
  width: 100%;
  bottom: 3rem;
  left: 0;
  position: absolute;
  z-index: 7;
  -webkit-animation: flowBgLeft 1500s linear infinite;
          animation: flowBgLeft 1500s linear infinite;
}
@-webkit-keyframes flowBgLeft {
  0% {
    background-position: left 0 center;
  }
  100% {
    background-position: left -100000px center;
  }
}
@keyframes flowBgLeft {
  0% {
    background-position: left 0 center;
  }
  100% {
    background-position: left -100000px center;
  }
}

.js-image-scroll {
    display: flex;
    overflow: hidden;
    transform: scaleX(-1);
}

.js-image-scroll li {
    transform: scaleX(-1);
}

.js-image-scroll ul {
    display: flex;
}
.js-image-scroll ul:nth-child(odd) {
    animation-name: image-loop-left1;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}
.js-image-scroll ul:nth-child(even) {
    animation-name: image-loop-left2;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}
.js-image-scroll img{
    margin-right: 4.7rem;
    height: 32rem;
    max-width: none;
}
.js-image-scroll li:nth-of-type(odd){
    margin-top: 16rem;
}
.js-image-scroll.list02 {
    transform: rotate(180deg);
}
.js-image-scroll.list02 li {
    transform: rotate(180deg);
}
@keyframes image-loop-left1 {
    0% {
        transform: translateX(100%);
    }

    100% {
        transform: translateX(-100%);
    }

}
@keyframes image-loop-left2 {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-200%);
    }

}

@media screen and (min-width: 1366px) {
    .js-image-scroll img{
        margin-right: calc(4.7 * 100vw / 136.6);
        height: calc(32 * 100vw / 136.6);
    }
    .js-image-scroll li:nth-of-type(odd){
        margin-top: calc(16 * 100vw / 136.6);
    }
}


.company_sec01{
    position: relative;
    padding: 8.3rem 0 18.3rem;
    color: #fff;
    background: #193F98;
}
.company_sec01 .hd_medium{
    padding-top: 7.7rem;
}
.company_anchor{
    display: grid;
    grid-template-columns: repeat(4,1fr);
    grid-gap: 1.6rem;
}
.company_anchor a{
    display: flex;
    justify-content: center;
    text-align: center;
    height: 10.5rem;
    padding-top: 1.9rem;
    font-size: 2rem;
    font-weight: bold;
    letter-spacing: .05em;
    background: url(../img/company/arrow_anchor.png)no-repeat bottom 1.8rem center #fff;
    background-size: 3rem auto;
    color: #193F98;
}
.company_sec01_ttl{
    font-size: 2.8rem;
    font-weight: bold;
    letter-spacing: .08em;
    margin-bottom: 2rem;
    text-align: center;
}
.company_sec01_txt{
    font-size: 1.8rem;
    line-height: 2;
    letter-spacing: .03em;
    font-weight: 500;
    text-align: center;
    max-width: 60.4rem;
    margin: 0 auto 8rem;
}
.company_sec01_txt p+p{
    margin-top: 3.6rem;
}

/*** hover ***/
@media screen and (min-width: 960px) {
    .company_anchor a:hover{
        opacity: 1;
        background: url(../img/company/arrow_anchor.svg)no-repeat bottom 1.2rem center #fff;
        background-size: 3rem auto;
    }
}

.company_sec02{
    padding: 7.8rem 0 15rem;
}
.company_table{
    max-width: 81.2rem;
    width: 100%;
    margin: 0 auto;
}
.company_table th,
.company_table td{
    font-size: 1.6rem;
    line-height: 1.875;
    font-weight: 500;
    letter-spacing: 0.08em;
    vertical-align: top;
    padding: 2.2rem 0;
    border-top: 1px solid #272727;
}
.company_table th{
    font-weight: bold;
    text-align: left;
    width: 21rem;
}
.company_table_btn{
    margin-top: 1.3rem;
}
.company_table_btn .btn_link01{
    width: 20rem;
    height: 4rem;
    font-size: 1.4rem;
    font-weight: bold;
    letter-spacing: 0.08em;
    padding-left: 1.8rem;
    justify-content: flex-start;
    background: url(../img/company/arrow_down.svg)no-repeat right 1.8rem center #EDB346;
    background-size: 1.9rem auto;
}
.iframe_box {
    position: relative;
    width: 100%;
    padding-top: 51.6%;
}
.iframe_box iframe {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
}

.company_sec03.blue_wrap{
    padding: 6rem 0 8.7rem;
}
.company_sec03_dl01{
    display: flex;
    grid-gap: 3.8rem;
}
.company_sec03_dl01 dt{
    width: 58.4rem;
}
.company_sec03_dl01 dd{
    color: #fff;
    width: calc(100% - 58.4rem - 3.8rem);
}
.company_sec03_box01{
    margin-top: 3rem;
    padding: 2.4rem 3rem 2.4rem;
    background: #E2E1D9;
    color: #193F98;
}
.company_sec03_box01 .hd_medium span{
    font-size: 3rem;
    margin-bottom: 2rem;
}
.company_sec03_table{
    width: 100%;
}
.company_sec03_table th,
.company_sec03_table td{
    font-size: 1.8rem;
    font-weight: 600;
    letter-spacing: .08em;
    padding-bottom: 2rem;
}
.company_sec03_table th{
    text-align: left;
    width: 14.4rem;
}

.company_sec03_dl01 .ttl{
    font-size: 2.6rem;
    font-weight: bold;
    line-height: 1.73;
    letter-spacing: .08em;
    margin-bottom: 2rem;
}
.company_sec03_dl01 .txt{
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: .03em;
    line-height: 1.8;
}
.company_sec03_dl01 .txt p+p{
    margin-top: 2.9rem;
}
.company_sec03_dl01 .name{
    font-size: 1.8rem;
    font-weight: bold;
    letter-spacing: .08em;
    text-align: right;
    margin-top: 1.5rem;
}
.company_sec03_dl01 .name font{
    font-size: 2.8rem;
    margin-left: 1.8rem;
}

.company_sec03_box02{
    margin-top: 6.8rem;
    padding: 5.4rem 9.2rem 8rem;
    background: #fff;
    color: #193F98;
}
.company_sec03_box02 .hd_medium span{
    font-size: 3rem;
    margin-bottom: 4rem;
}
.company_sec03_item dl{
    position: relative;
    padding-bottom: 4rem;
    display: flex;
    font-size: 2.1rem;
    letter-spacing: .08em;
    font-weight: 600;
    color: #193F98;
}
.company_sec03_item dl:before{
    content: '';
    position: absolute;
    left: 18rem;
    top: 1rem;
    z-index: 1;
    width: 2px;
    height: 0;
    background: #193F98;
    transition: height .7s;
}
.company_sec03_item dl.animated:before{
    height: 105%;
}
.company_sec03_item dl:last-of-type:before{
    content: none;
}

.company_sec03_item dt{
    width: 25rem;
    position: relative;
}
.company_sec03_item dt:before{
    content: '';
    position: absolute;
    left: 16.6rem;
    top: 50%;
    z-index: 1;
    transform: translateY(-50%);
    width: 2.9rem;
    height: 2.9rem;
    background: #193F98;
}
.company_sec03_item dd{
    width: calc(100% - 25rem);
}

.company_sec04{
    padding: 9.5rem 0 20rem;
}
.company_sec04_list{
    padding-top: 3.4rem;
    display: grid;
    grid-template-columns: repeat(3,1fr);
    grid-gap: 9.6rem 3rem;
}

table.company_table .company_sec04_list {
	 padding-top: 0;
}

.company_sec04_list a{
    display: block;
    position: relative;
    opacity: 1!important;
}

.company_sec04_list .note{
    position: absolute;
    left: 0;
    bottom: calc(100% + 1.2rem);
    z-index: 1;
    width: 100%;
    font-size: 1.1rem;
    line-height: 1.63;
    font-weight: 600;
    text-align: center;
    letter-spacing: .08em;
    color: #193F98;
    background: url(../img/company/bg_ttl.svg)no-repeat bottom center;
    background-size: auto 2.9rem;
}
.company_sec04_list .img_box{
    padding-top: 70.8%;
}
.company_sec04_list .ttl{
    font-size: 2rem;
    font-weight: bold;
    letter-spacing: 0.08em;
    margin: 1.6rem 0 .4rem;
    color: #193F98;
}
.company_sec04_list .txt{
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.875;
    letter-spacing: 0.08em;
}
.company_sec04_list .btn{
    margin-top: 1.3rem;
}

.address_list li {position: relative;}
.address_list .btn{

}


.company_sec04_list .btn_link01{
    width: 15.7rem;
    height: 4rem;
    justify-content: flex-start;
    padding-left: 2rem;
    font-size: 1.4rem;
    font-weight: bold;
    letter-spacing: 0.08em;
    background: url(../img/company/icon_map.svg)no-repeat right 2.2rem center #EDB346;
    background-size: auto 1.3rem;
}

/* !error_wrap
---------------------------------------------------------- */
.error_wrap {
	padding: 10rem 0 20rem;
	text-align: center;
}

.error_wrap h2 {
	font-size: 5.8rem;
	font-weight: bold;
	color: #193F98;
}

.error_wrap h3 {
	font-size: 2.5rem;
	font-weight: bold;
	color: #193F98;
	margin-bottom: 2rem;
}

.error_wrap p {
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 2;
	letter-spacing: .12em;
	margin-bottom: 4rem;
}

/* !privacy
---------------------------------------------------------- */

.privacy_box {
    background: #fff;
    padding: 8rem 16.5rem 18.5rem;
}

.privacy_area {margin-bottom: 3rem;}
.privacy_area h3 {
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: 0.06em;
	line-height: 2;
}
.privacy_area p.privacy_txt {
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: 0.06em;
	line-height: 2;
}

.privacy_area p.privacy_txt a {
	font-weight: bold;
	color: #193F98;
	text-decoration: underline;
}

.privacy_area p.privacy_txt a:hover {
	opacity: .5;
}

.privacy_area ul li {
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: 0.06em;
	line-height: 2;
	text-indent: -0.5em;
	padding-left: 1em;
	margin-top: 3rem;
}


/* !support_sec01_1
---------------------------------------------------------- */
.support_sec01_1 {
	margin: -10px 0 0;
}


.support_sec01_1 .inner {
    padding: 0 18rem;
}

.support_sec01_1 .inner h3 {
    font-size: 2.8rem;
    color: #193F98;
    letter-spacing: 0.08em;
    margin-bottom: 3rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #193F98;
}

.support_sec01_1 {
    padding: 6.5rem 9rem !important;
    position: relative;
}

.support_sec01_1:before {
    content: '';
    position: absolute;
    left: -18.7rem;
    top: -14rem;
    z-index: -1;
    width: 40rem;
    height: 40rem;
    background: url(../img/support/support_bgleft.png) no-repeat;
    background-size: 100% 100%;
}

.support_sec01_1:after {
    content: '';
    position: absolute;
    right: -15.4rem;
    bottom: -17rem;
    z-index: -1;
    width: 40rem;
    height: 40rem;
    background: url(../img/support/support_bgright.png) no-repeat;
    background-size: 100% 100%;
}










.support_sec01_1 ul {padding: 0 4rem;}
.support_sec01_1 ul li {}
.support_sec01_1 ul li + li {margin-top: 3rem;}
.support_sec01_1 ul li dl {
	
}
.support_sec01_1 ul li dl dt {
	width: 30px;
	height: 31px;
}

.support_sec01_1 ul li dl dt img {
	width: auto;
	height: 31px;
	object-fit: contain;
}

.support_sec01_1 ul li dl dd {
	font-size: 1.8rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	padding-left: 5rem;
	text-align: left;
	margin-top: -3rem;
}

.dot-text {
    padding-top: .2em;
    background-position: top left -7px;
    background-repeat: repeat-x;
    background-size: 1em .3em;
    background-image: -webkit-radial-gradient(.10em .10em at center center, #193F98, #193F98 100%, transparent);
    background-image: radial-gradient(.10em .10em at center center, #193F98, #193F98 100%, transparent);
}

.arrow_support {
	width: 4%;
	margin: 2rem auto 0;
}

.support_merit {
	margin-top: -40px;
	padding: 10rem 0;
	background: #193F98;
}

.support_merit .support_merit_txt {
	text-align: center;
	font-size: 2.8rem;
	font-weight: bold;
	letter-spacing: 0.08em;
	color: #fff;
	margin-bottom: 3rem;
}

.support_merit .hd_medium {
	font-size: 4.5rem;
	font-weight: bold;
	margin-bottom: 2rem;
}

.support_merit .hd_medium span {color: #fff;}

.support_merit ul {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

.support_merit ul li {
	width: 338px;
	max-width: 32%;
	background: #fff;
	padding: 3rem;
	margin: 0 1% 2%;
}

.support_merit ul li h3 {
	font-size: 2.5rem;
	font-weight: bold;
	margin-bottom: 2rem;
	text-align: center;
	color: #193F98;
}

.support_merit ul li .icon {
	width: 40%;
	margin: 0 auto 2rem;
}

.support_merit ul li p {
	font-size: 1.6rem;
	line-height: 2;
	font-weight: 500;
	letter-spacing: 0.08em;
}

.support_merit ul li p b {
	color: #193F98;
	font-weight: bold;
}

.po_r {position: relative;}
.po_a {
	position: absolute; 	
}
.top_business_list .po_a,
.support_slick_item .po_a{
	text-align: center;
	bottom: 2.5rem;
	left: 0;
	right: 0;
	margin: 0 auto;
	z-index: 12;
}

.support_slick_item .po_a{
	bottom: 1rem !important;
}


/*0328*/
.anchor_link{
    position: relative;
}
.anchor_link span{
    position: absolute;
    top: -11rem;
}

.sub_box02{
    opacity: 0;
    pointer-events: none;
    transition: opacity .5s;

    position: fixed;
    top: 10rem;
    right: 0;
    width: 100%;
    height: auto;
    z-index: 98;
    box-sizing: border-box;
    padding: 4rem 12rem 6.5rem;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s, right .3s;
    background: #193F98;
}
.parent_li02:hover .sub_box02{
    opacity: 1;
    pointer-events: auto;
}

.support_slick_item .ttl{
    position: relative;
    margin-bottom: 1rem;
    z-index: 9;
}
.support_slick_item .ttl.no_min{
    margin: 0;
}
.support_slick_item a.support_link.no_before{
    padding-bottom: 2rem;
}
.support_slick_item .icon,
.top_business_list .icon{
    position: relative;
    z-index: 1;
}
.support_slick_item .icon img.is_on,
.top_business_list .icon img.is_on{
    opacity: 0;
    overflow: hidden;
    transition: opacity .5s;
    position: absolute;
}
.support_slick_item a:hover .icon img.is_no,
.top_business_list a:hover .icon img.is_no{
    overflow: hidden;
    /*opacity: 0;*/
}
.support_slick_item a:hover .icon img.is_on,
.top_business_list a:hover .icon img.is_on{
    opacity: 1;
    overflow: visible;
}

.support_slick_item .icon img,
.top_business_list .icon img{
    transition: transform .5s;
    max-width: none;
}
.support_slick_item.item01 a:hover .icon img,
.top_business_list li:nth-of-type(1) a:hover .icon img{
    transform: rotate(11deg);
}

.support_slick_item.item03 .icon img,
.top_business_list li:nth-of-type(3) .icon img{
    max-height: 6.7rem;
    transition: opacity .5s,top .5s;
}
.support_slick_item.item03 .icon img.active,
.top_business_list li:nth-of-type(3) .icon img.active{
    width: 2.5rem;
    position: absolute;
    left: calc(50% + 1.4rem);
    top: -.74rem;
    z-index: 2;
}
.support_slick_item.item03 a:hover .icon img.active,
.top_business_list li:nth-of-type(3) a:hover .icon img.active{
    top: -1.54rem;
}

.support_slick_item.item04 a:hover .icon img,
.top_business_list li:nth-of-type(4) a:hover .icon img{
    transform: translateY(.6rem);
}


.support_slick_item.item06 .icon img,
.top_business_list li:nth-of-type(6) .icon img{
    max-height: 7rem;
}
.support_slick_item.item06 a:hover .icon img,
.top_business_list li:nth-of-type(6) a:hover .icon img{
    transform: translateY(-.5rem);
}
.top_business_list .ttl.no_min{
    min-height: auto;
    padding-bottom: 0;
}

.support_slick_item.item07 .icon img,
.top_business_list li:nth-of-type(7) .icon img{
    max-height: 6rem;
    transition: transform .5s,top .5s;
}
.support_slick_item.item07 .icon img.active,
.top_business_list li:nth-of-type(7) .icon img.active{
    width: 4.1rem;
    position: absolute;
    left: calc(50% - 1rem);
    top: 1.36rem;
    z-index: -1;
}
.support_slick_item.item07 a:hover .icon img.active,
.top_business_list li:nth-of-type(7) a:hover .icon img.active{
    transform: rotate(105deg);
    top: 1.6rem;
}

.support_slick_item.item08 a:hover .icon img,
.top_business_list li:nth-of-type(8) a:hover .icon img{
    transform: translateY(-1.4rem);
}

.support_slick_item.item09 .icon img,
.top_business_list li:nth-of-type(9) .icon img{
    max-height: 9.2rem;
}
.support_slick_item.item09 .icon img.active,
.top_business_list li:nth-of-type(9) .icon img.active{
    width: 4rem;
    position: absolute;
    left: calc(50% + 1rem);
    top: 3.9rem;
    z-index: 2;
}
.support_slick_item.item09 a:hover .icon img.active,
.top_business_list li:nth-of-type(9) a:hover .icon img.active{
    transform: rotate(15deg);
}

.support_slick_item.item10 .icon img,
.top_business_list li:nth-of-type(10) .icon img{
    max-height: 7.3rem;
}



/*-------seminar---------*/

.detail_main_seminar {padding-bottom: 15rem !important;}
.seminar-day {
	background: #fff;
	text-align: center;
	padding: 3rem 0;
	margin: 6rem 0;
}

.seminar-day dl {}
.seminar-day dl dt {
	font-size: 1.6rem;
	color: #193F98;
	font-weight: 700;
}
.seminar-day dl dd {
	font-size: 2.6rem;
	font-weight: bold;
	letter-spacing: 0.12rem;
}

.seminar_detail_cont {
	position: relative;
	padding: 9rem 11rem 9rem 4rem;
}

.seminar_detail_cont:before {
    content: '';
    position: absolute;
    left: 0rem;
    top: 0rem;
    z-index: 1;
    width: 10rem;
    height: 10rem;
    background: url(../img/seminar/seminar_left.png) no-repeat;
    background-size: 100% 100%;
}

.seminar_detail_cont:after {
    content: '';
    position: absolute;
    right: 7rem;
    bottom: 2rem;
    z-index: 1;
    width: 10rem;
    height: 10rem;
    background: url(../img/seminar/seminar_right.png) no-repeat;
    background-size: 100% 100%;
}

.seminar_detail_cont h2 {margin-bottom: 1rem !important;}
.seminar_detail_img {
	padding: 0 2rem;
	margin-top: 7rem;
	text-align: center;
}

.seminar_detail_btn {margin-top: 7rem !important;}

.detail_cont_column h2 {
	font-size: 2rem;
	font-weight: bold;
	letter-spacing: 0.12rem;
	padding: 2rem 0;
	margin-bottom: 2rem;
	border-top: 2px solid #707070;
	border-bottom: 2px solid #707070;
}

.detail_cont_column ul {
	padding-left: 3rem;
	margin-bottom: 3rem; 
	list-style: inherit;
}
.detail_cont_column ul li {
	font-size: 1.6rem;
	line-height: 1.6;
	list-style: inherit;
	letter-spacing: 0.08rem;
}

.detail_cont_column ul li::marker {
  font-size: 1.6em;
  color: #193F98;
}

.detail_cont_column h3 {
	font-size: 1.6rem;
	font-weight: bold;
	color: #193F98;
	margin-bottom: 0.5rem;
}
.detail_cont_column h3::before {
  content: "● ";
  color: #193F98;
}

ul.sns_list {display: flex; margin-bottom: 3rem;}
ul.sns_list li {margin-right: 3rem;}



