@charset "utf-8";
/*
Theme Name: SUPPORT
Theme URI: https://lqd.jp/wp/
Description: LIQUID PRESS THEME
Author: LIQUID DESIGN
Author URI: https://lqd.jp/
Template: liquid-light
Version: 9999
Design: MSJ/AT
*/
@import url('//fonts.googleapis.com/css?family=Noto+Sans+JP:400,700,900&display=swap');

:root {
    --color-text-h: #585858;           /*--見出し--*/
    --color-text-p: #585858;           /*--テキスト--*/
    --color-text-p-secondary: #666; /*--テキスト2--*/
    --color-text-white: #fff; /*--テキスト3--*/
    --color-text-a: #0076b0;       /*-- テキストリンク--*/
    --color-text-a-visited: #0076b0;  /*--テキストリンク訪問済--*/
    --color-bg-00: #111;
    --color-bg-01: #fff;
    --color-bg-02: #f0f0f0;
    --color-bg-03: #a3b5bf;
    --color-bg-04: #242937;
    --color-bg-05: rgb(23, 70, 29);
    --color-bg-06: #d2ddda;
    --color-bg-07: #eef5f3;
    --color-btn-00: #ffffff;
    --color-btn-01: #20265c;
    --color-btn-02: #595959;
    --color-btn-03: #0099FF;
    --color-btn-04: #D5C8C8;
    --font-1: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, Verdana, Meiryo, sans-serif;
    --font-awesome: 'Font Awesome 6 Free';
    --header-height: 92px;
}

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

html{
    /* support iOS */
    height: -webkit-fill-available;
    /*--アンカースクロール対策--*/
    scroll-padding-top: 134px;
    scroll-behavior: smooth;
}

body{
    /* support iOS */
    min-height: 100vh;
    min-height: -webkit-fill-available;
    font-family: 'Noto Sans JP', sans-serif;
    font-feature-settings: "palt";
    color: var(--color-text-p);
    margin: 0;
    padding: 0;
    font-size: 1rem;
    font-family: var(--font-1);
    font-weight: 500;
    display: flex;
    flex-direction: column;
}

.h1, h1,.h2, h2,.h3, h3,.h4, h4,.h5, h5,.h6, h6{
    font-feature-settings: "palt";
    font-weight: 600;
    margin-bottom: 1.8rem;
    padding: .5rem 0;
    color: var(--color-text-h);
}

.h1, h1 {font-size: clamp(20px, 3vw, 28px); margin: 0}
.hero-content h2 {font-size: clamp(17px, 3vw, 20px); line-height: 1.5;}
.h2, h2 {font-size: clamp(18px, 3vw, 24px); line-height: 1.5; }
.h3, h3 {font-size: clamp(18px, 3vw, 32px); line-height: 1.5;}
.h4, h4 {font-size: clamp(17px, 3vw, 19px); }

p{
    color: var(--color-text-p);
    word-break: break-all;
}
img{
    max-width: 100%;
    height: auto;
}

main {
    flex: 1;
}

.content{
    padding: 1rem 15px;
    background: rgba(230,230,230);
}

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

.breadcrumb{
    background: none;
    padding: .75rem 0;
}

.btn{
    border-radius: 3px;
}

.text-red{
    color: #a80909;
}

/*----header------*/

.header{
    position: fixed;
    top: 0;
    left: 0;
    padding : 0;
    z-index: 10;
    transition: .1s all linear;
    width: 100%;
    background: var(--color-bg-01);
    align-items: center;
    box-shadow: rgba(0,0,0,.2) 0 5px 10px -7px;
}

.main-menu{
    transition: .1s all linear;
    width: 100%;
}

.header .container-fluid > .row{
    height: var(--header-height);
}

.slidemenu-btn{
    display: none;
    position: fixed;
    z-index: 11;
}

.logo figure{
    margin: 0;
}

.logo a{
    padding: 12px 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.3rem;
    text-decoration: none;
    color: var(--color-text-p);
}

.logo a:hover{
    opacity: .8;
}

.logo a figure img{
    width: 150px;
    margin: 0;
}

.logo a span{
    font-size: 1rem;
    padding: 0 20px;
    font-weight: bold;
}

/*
.header .container-fluid{
    padding-left: 440px; 
}*/

.header i,
.btn > i.btn-icon{
    padding: 0 6px 0 0;
}

.header ul{
    display: flex;
    margin: 0;
    padding: 0;
}

.header ul li{
    padding: 0 15px;
}

.header ul li{
    height: 100%;
    padding: 0;
    display: flex;
    align-items: center;
    position: relative;
    font-weight: bold;
}

.header ul li:first-child::before,
.header ul li::after{
    content: '';
    display: block;
    height: 1rem;
    border-right: 1px solid #585858;
}

.header ul ul li:first-child::before,
.header ul ul  li::after{
    display: none;
}

.header ul li a{
    line-height: 1;
    padding: 1.5rem 15px;
    position: relative;
    text-decoration: none;
}

.header ul li a,
.header ul li a:visited,
.header ul li a:hover{
    color: #585858;
}

.header ul li.current_page_item > a::before,
.header ul li.current-page-parent > a::before,
.header ul li.current-page-ancestor.menu-item-has-children > a::before,
.header ul li > a:hover::before{
    content: '';
    display: block;
    /*width: 100%;*/
    width: calc(100% - 18px);
    border-bottom: 2px solid #0076b0;
    position: absolute;
    bottom: 12px;
    left: 9px;
}

.header ul li.current_page_item > ul a::before,
.header ul li.current-page-parent > ul a::before,
/*header ul li > a.current::before,*/
.header ul li > ul a:hover::before{
    border: none;
}

.header ul li a + ul{
    display: none;
    position: absolute;
    top: calc(100%);
    left: 50%;
    transform: translateX(-50%);
    width: 140px;
    flex-direction: column;
    background-color: rgba(243, 250, 253, 0.9);
}

.header ul li a + ul::before{
    clip-path: polygon(0 100%, 50% 0, 100% 100%);
    background: rgba(243, 250, 253, 0.9);
    content: '';
    display: block;
    height: 10px;
    width: 20px;
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translateX(-50%);
}

.header ul li a + ul li{
    border-bottom: 1px solid rgba(230, 237, 240, 0.9);
}

.header ul li a + ul li a{
    text-align: center;
    width: 100%;
    background-color: rgba(243, 250, 253, 0.9);
    font-size: .875rem;
    padding: 1rem 0;
}

.header ul li a + ul li a:hover{
    background-color: rgba(243, 250, 253, 1);
    color: #0076b0;
}

.header ul li a:hover + ul,
.header ul li a + ul:hover{
    display: block;
}

.header ul a + ul li::after{
    display: none !important;
}

.user-display{
    height: 100%;
    display: flex;
    align-items: center;
    flex-direction: column;
}

.status{
    margin: 0 0 .36rem;
    padding: 0 15px;
    font-weight: bold;
    font-size: .875rem;
}

.logout-btn a::before{
    content: '\f08b';
    font-family: var(--font-awesome);
    width: 18px;
    font-weight: bold;
    display: inline-block;
    margin: 0 10px 0 0;
}

.logout-btn{
    text-align: right;
    margin: 0;
    width: 100%;
    padding: 0 15px;
}

.logout-btn a{
    font-weight: bold;
    padding: 0.35rem 20px;
}

/*--berger--*/

.bm-btn {
    height: 44px;
    width: 44px;
    position: absolute;
    background: none;
    border: none;
    display :none;
}

.bm-btn::after,
.bm-btn::before {
    position: absolute;
    top: calc(50% - 1px);
    content: '';
    width: 24px;
    height: 2px;
    display: block;
    background: #333;
}

.bm-btn::before {
    transform: translateY(-8px);
    box-shadow: 0 8px 0 #333;
}

.bm-btn::after {
    transform: translateY(8px);
}

.bm-btn::after,
.bm-btn::before {
    transition: transform .3s;
}

.bm-active .bm-btn::before {
    transform: rotate(45deg);
    box-shadow: none;
}

.bm-active .bm-btn::after {
    transform: rotate(-45deg);
}

.nav-group{
    transition: .1s all linear;
}


/*----footer------*/

footer{
    background: var(--color-bg-04);
}

footer .container{
    padding-top: 1.8rem;
    padding-bottom: 1.8rem;
}

.foot-logo{
    width: 9.2vw;
    margin: 0;
}

.company-info{
    margin: 0;
}

.company-info dt{
    font-size: 1.08rem;
    letter-spacing: 1px;
    color: #92949b;
    font-weight: bold;
}

.company-info dd{
    font-size: .875rem;
    color: #92949b;
    font-weight: bold;
    margin: 0;
}

.footer-menu{
    list-style: none;
    margin: 0 15px;
    padding: 0 25px;
    border-left: 1px solid #92949b;
    border-right: 1px solid #92949b;
}

.footer-menu a{
    color: #bebfc3;
    text-decoration: none;
    font-weight: bold;
    padding: .2rem 0;
    font-size: .875rem;
    display: block;
}

.footer-menu a i{
    padding: 0 0 0 10px;
}

.footer-menu a:hover{
    text-decoration: underline;
}

.website-link{
    display: block;
    padding:  1.4rem 50px;
    text-decoration: none;
    background: #ededf0;
    position: relative;
    border-radius: 3px;
    border: 1px solid #bebfc3;
}

.website-link::after{
    content: '';
    height: 10px;
    width: 10px;
    display: block;
    position: absolute;
    top: 50%;
    transform: rotate(45deg) translateY(-50%);
    right: 20px;
    border-top: 1px solid #585858;
    border-right: 1px solid #585858;
}

.website-link:hover{
    background: rgba(255,255,255,1);
}

.website-link figure{
    display: flex;
    align-items: center;
    color: #585858;
    font-weight: bold;
    margin: 0; 
}

.website-link figure img{
    width: 7.4vw;
}

.website-link figcaption{
    padding: 0 0 0 10px;
}

.copyright{
    display: block;
    width: 100%;
    padding: 14px 15px;
    text-align: center;
    background: var(--color-bg-04);
    color: #92949b;
    border-top: 1px solid #92949b;
}


/*----home----*/

.pbg{
    position: relative;
    overflow: hidden;
}

.home-hero-bg{
    content: '';
    display: block;
    position: absolute;
    top: 0;
    background: url(img/bg04.jpg) center center /85% no-repeat;
    height: 100vh;
    width: 100%;
}

.home-hero::before{
    content: '';
    display: block;
    height: 100%;
    width: 100%;
    background: linear-gradient(35deg,rgba(121,186,255,.55) 0%, rgba(28,109,195,.65) 50%, rgba(29,108,231,.84) 100%);
    position: absolute;
    z-index: 2;
    top: 0;
    left:0;
}

.home-hero::after{
    content: '';
    display: block;
    height: 100%;
    width: 100%;
    background-image: radial-gradient(#807f7f 20%, transparent 0), radial-gradient(#575656 20%, transparent 0);
    background-position: 0 0, 3px 3px;
    background-size: 3px 3px;

    position: absolute;
    z-index: 3;
    top: 0;
    left:0;
}

.home-hero .hero-text{
    padding: 3.5rem 0;
    z-index: 4;
    position: relative;
}

.home-hero h1{
    color: #fff;
    text-align: center;
    font-weight:lighter;
    font-size: clamp(34px, 3vw, 48px);
    margin: 0 0 1rem;
    text-shadow: 0 0 10px rgba(0,0,0,.3);
}

.home-hero h1 + p{
    color: #fff;
    max-width: 620px;
    margin: 0 auto;
    line-height: 1.8;
    text-shadow: 0 0 10px rgba(0,0,0,.3);
}

.home-category-btn{
    background: #fff;
    border-radius: 3px;
    height: 100%;
    padding: 10px 25px;
    text-decoration: none;
    transition: .1s all linear;
    width: 100%;
    display: block;
    border: 1px solid #fff;
    position: relative;
}

.home-category-btn::after{
    content: '';
    width: 26px;
    height: 26px;
    clip-path: polygon(0 100%, 100% 0, 100% 100%);
    background: #a3a3a3;
    position: absolute;
    bottom: 5px; 
    right: 5px;
}

.home-category-btn:hover{
    text-decoration: none;
    box-shadow: 0 2px 3px rgba(0,0,0,.2);
    border: 1px solid #0076b0;
}

.home-category-btn:hover::after{
    background: #0076b0;
}

.home-category-btn h3{
    font-size: 1.26rem;
    text-align: center;
    margin: 0;
    color: #585858;
}

.home-category-btn figure{
    width: 100%;
    padding: 1.6em 0;
    margin: 0 0 .6rem;
    display: flex;
    justify-content: center;
    border-bottom: 1px solid #a3a3a3;
}

.home-category-btn figure img{
    max-width: 192px;
}

.home-category-btn p{
    padding: 1rem 0 0;
}

/*--main--*/

.center-title{
    position: relative;
    text-align: center;
    color: #585858;
    font-size: 2rem;
    font-weight: 500;
    margin-bottom: 2.2rem;
}

.center-title span{
    font-size: 1rem;
    text-align: center;
    display: block;

}

.center-title::before{
    content: '';
    display: block;
    position: absolute;
    top: 100%;
    left: 50%;
    width: 56px;
    height: 6px;
    background: linear-gradient(90deg, #0076b0 0%, #0076b0 50%, #3eb8eb 50%, #3eb8eb 100%);
    left: 50%;
    transform: translateX(-50%);
}



main{
    padding-top: var(--header-height);
}

main .container{
    padding-top: 3.6rem;
    padding-bottom: 3.6rem;
}

main article{
    width: 100%;
}

.field{
    padding: 1.6rem 30px;
    background: #edf5fb;
    border-radius: 5px;
}

.card{
    height: 100%;
}

/*---news-list(home新着)---*/

.home-news{
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    width: 100%;
}

.home-news h2{
    color: #585858;
    font-weight: inherit;
    font-size: 2.5rem;
    text-align: center;
    margin: 0;
}

.news-area{
    width: 100%;
    height: 250px;
    overflow: scroll;
    overflow-x: hidden;
    padding: 1rem 25px;
    border-radius: 3px;
    background: var(--color-bg-01);
    border: 1px solid rgba(0,0,0,.2);
}

.news-list{
    padding: 0;
    list-style: none;
}

.news-list li{
    width: 100%;
    padding: .8rem 0;
    margin: 0;
    border-bottom: 1px dotted #d6d6d6;
}

.news-title a{
    position: relative;
    width: 100%;
    padding: 0 30px 0 0; 
    display: block;
    text-decoration: none;
}

.news-title a:hover{
    text-decoration: underline;
}

.news-title a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 6px;
    width: 4px;
    height: 4px;
    margin-top: -2px;
    border: 0;
    border-top: solid 1px #0076b0;
    border-right: solid 1px #0076b0;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    vertical-align: middle;
}

.news-info{
    display: flex;
    margin: 0;
}

.news-info dd{
    margin: 0;
    padding: 0 .3rem;
}

.news-info .news-date{
    flex: 0 0 120px;
    font-size: 1rem;
}

.news-info .news-cat{
    flex: 0 0 120px;

}

.news-info .news-cat span{
    display: inline-block;
    width: 100%;
    text-align: center;
    color: #fff;
    font-size: .75rem;
    padding: 0.1rem 0;
    font-weight: bold;

}

.news-info .news-cat a{
    text-decoration: none;
    color: #fff;
}

.news-info .news-cat.info span{
    background: #006293;
}

.news-info .news-cat.solidworks-news span{
    background: #9b1010;
}

.news-info .news-cat.hypermill-news span{
    background: #dd7a0c;
}

.news-info .news-title{
    flex: 1 0 0;
    font-size: 1rem;
    padding: 0 0 0 1rem;
}

.news-info .news-title a{
    color: #333;
}


/*--hero--*/

.hero-content,
.hero-content-solidworks,
.hero-content-hypermill{
    background: #f9f9f9;
    background-image: radial-gradient(#d1d1d1 20%, transparent 0), radial-gradient(#ffffff 20%, transparent 0);
    background-position: 0 0, 3px 3px;
    background-size: 3px 3px;
    position: relative;
    border-bottom: 2px solid #254999;
}

.hero-content::before{
    content: '';
    display: block;
    position: absolute;
    width: 50%;
    bottom: -2px;
    left: 0;
    border-bottom: 2px solid #0076b0;
}

/*--group-navigation--*/

.group-navigation .container{
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.group-navigation ul {
    display: flex;
    justify-content: center;
    width: 100%;
    list-style: none;
    margin: 0;
    padding: 0;
}

.group-navigation ul li a{
    display: block;
    padding: .5rem 15px;
    text-decoration: none;
    color: #333;
    font-weight: bold;
}

.group-navigation ul li.current-menu-item a,
.group-navigation ul li a:hover{
    color: #0076b0;
}

.group-navigation ul li a:hover{
    text-decoration: underline;
}


.group-navigation ul li a::before {
    content: "";
    display: inline-block;
    width: 4px;
    height: 4px;
    margin: -2px 9px 0 1px;
    border: 0;
    border-top: solid 1px #0076b0;
    border-right: solid 1px #0076b0;
    transform: rotate(45deg);
    vertical-align: middle;
}


/*--h--*/

h1{
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
}

h1 figure{
    max-width: 180px;
    margin: 0 auto 1rem;
}


h2{
    color: #036;
}


/*--download-content--*/

.download-content dl,
.training-content dl,
.support-content dl{
    display: flex;
    padding: 0 0 .5rem;
    margin: 0 0 .5rem;
}

.download-content dl,
.training-content dl,
.support-content dl{
    border-bottom: 1px dotted #b8b8b8;
}


.download-content dl > dt,
.training-content dl > dt,
.support-content dl > dt{
    flex: 0 0 270px;
    padding: 0 20px 0 0;
    width: 100%;
    color: #333;
}

.download-content.download-content2 dl > dt{
    flex: 0 0 430px;
}

.download-content dl > dt span,
.training-content dl > dt span,
.support-content dl > dt span{
    display: block;
    width: 100%;
    padding: .45rem 10px;
    border-radius: 2px;
}

.download-content dl > dt + dd{
    flex: 1 1 auto;
    padding: 0.5rem 0 0;
    margin: 0;
    color: #333;
}

.training-content dl > dt + dd,
.support-content dl > dt + dd{
    flex: 1 1 calc(100% - 270px);
    padding: 0.5rem 0 0;
    margin: 0;
    color: #333;
    position: relative;
}

.training-content dl > dt + dd p,
.support-content dl > dt + dd p{
    margin: 0;
}

.download-content dl > dd:last-child{
    margin: 0 0 0 20px;
    flex: 0 0 200px;
}

.download-content h3{
    padding: 0 0 0 12px;
    border-left: 5px solid #235caa;
    color: #235caa;
    font-size: 1.2rem;
    font-weight: bold;
}

.download-content h4{
    background: #036;
    color: #fff;
    font-size: 1rem;
    display: inline-flex;
    padding: 0.4rem 30px;
    border-radius: 100px;
    margin: 0 0 1.4rem;
}

.download-content h4 i{
    padding:  0 12px 0 0;
}

.inner-field{
    margin: 0 0 3.8rem;
}

/*--download-info--*/

.download-content .download-info{
    border-bottom: none;
    margin: .3rem 0 0;
    flex-wrap: wrap;
}

.download-content .download-info dt{
    flex: 0 0 100px !important;
    border: 1px solid #585858;
    border-radius: 3px;
    text-align: center;
    font-size: .75rem !important;
    padding: .1rem 10px;
    margin: 0 10px .2rem 0;
    font-size: inherit;
}

.download-content .download-info dd{
    flex: 0 0 auto !important;
    font-size: .875rem;
    padding: 0 !important;
    margin: 0 20px .2rem 0 !important;
}

/*--faq-ankerlink--*/

.faq-category-list{
    display: flex;
    justify-content: center;
}

.faq-category-list ul{
    display: flex;
    flex-wrap: wrap;
    max-width: 840px;
    list-style: none;
    padding: 0;
    margin: 0 0 3rem;
}

.faq-category-list li{
    width: 280px;
    margin: 0 0 0.3rem;
    padding: 0 15px;
}

.faq-category-list li a{
    display: block;
    text-align: center;
    width: 100%;
    border-radius: 3px;
    padding: .2rem 15px;
    background: #fff;
    color: #0076b0;
    font-weight: bold;
    text-decoration: none;
    border: 1px solid #0076b0;
    transition: box-shadow 200ms ease-in-out, color 200ms ease-in-out;
}

.faq-category-list li a::before {
    content: "";
    display: inline-block;
    width: 4px;
    height: 4px;
    margin: -3px 9px 0 1px;
    border: 0;
    border-top: solid 1px #0076b0;
    border-right: solid 1px #0076b0;
    -ms-transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    vertical-align: middle;
}

.faq-category-list li a:hover{
    color: #fff;
    outline: 0;
    text-decoration: none;
    box-shadow: 0 90px 10px 0px #0076b0 inset;
}

.faq-category-list li a:hover::before {
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
}

/*--faq-list--*/

.faq-list{
    list-style: none;
    margin: 0 0 2.8rem;
    padding: 0;
}

.faq-list li{
    background: #fff;
    padding: 1rem 20px;
    border-radius: 3px;
    border-bottom: 1px dotted #d6d6d6;
}

.faq-list dl,
.faq-list li p{
    margin:0;
}

.faq-list li dt,
.faq-list li dd{
   position: relative;
}

.faq-list li dt{
    font-size: 1.18rem;
    font-weight: bold;
    margin: 0;
    padding: .1rem 0 0 40px;
    cursor: pointer;
    position: relative;
}

.faq-list li dt:hover{
    text-decoration: underline;
}

.faq-list li dt:hover,
.faq-list li dt:hover::after{
    color: #0076b0;
}


.faq-list li dt::after{
    content: '\f107';
    font-family: var(--font-awesome);
    position: absolute;
    top: 0;
    right: 0;
    height: 30px;
    width: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: .1s all linear;
}

.faq-list li dt.ac-open::after{
    transform: rotate(180deg);
}    

.faq-list li dd{
    font-size: 1rem;
    padding: 0 0 0 40px; 
    margin: 0;
    transition: all 0.2s ease-in-out;
    height: 0;
    overflow: hidden;
}

.faq-list li dd > div{
    width: 100%;
    padding: 1.1rem 0; 
}

.faq-list li dt::before,
.faq-list li dd::before{
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    left: 0;
    height: 30px;
    width: 30px;
    font-size: .875rem;
    font-weight: bold;
    border-radius: 2px;
    border: 1px solid #0076b0;
}

.faq-list li dt::before{
    content: 'Q';
    background: #0076b0;
    color: #fff;
    top: 0;
}

.faq-list li dd::before{
    content: 'A';
    background: #fff;
    color: #0076b0;
    top: .9rem;
}


/*--calendar-content--*/

.calendar-content iframe{
    width: 100%;
}

/*--h2--*/

h2.under-line,
.single h2,
.archive h2{
    position: relative;
    border-bottom: solid 4px #e9eff2;
}

h2.under-line::before,
.single h2::before,
.archive h2::before{
    content: "";
    position: absolute;
    display: block;
    width: 100px;
    height: 4px;
    bottom: -4px;
    left: 0;
    background-color: #0076b0;
}

/*====single archive===========*/

/*--archive--*/

.archive-content{
    padding: 1rem 0;
    border-bottom: 1px dotted #c9cacb;    
}

.archive-content a{
    text-decoration: none;
    color: #333;
}

.archive-content h3{
    margin: 0;
    font-size: 1rem;
    font-weight: 500;
}

/*--pagenation--*/

.pagination ul{
    display: flex;
    list-style: none;
    margin-top: 2rem;
}

.pagination ul li{
    padding: 0 .1rem;
}

.pagination ul .page-numbers{
    height: 39px;
    width: 39px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    background: #f3f6f8;
    text-decoration: none;
    color: #333;
    border: 1px solid #f3f6f8;
}

.pagination ul .page-numbers:hover{
    border: 1px solid #333;
}

.pagination ul .page-numbers.current{
    color: #0076b0;
}


/*--category-nav (sidebar)--*/

.category-nav{
    width: 280px;
    position: sticky;
    top: 140px;
}

.category-nav dt{
    padding: 10px 20px 9px;
    background: #0076b0;
    color: #fff;
    font-size: 1.2rem;
    font-weight: bold;
}

.category-nav dd{
    background: #f3f6f8;
}

.category-nav dd ul{
    padding: 0;
    list-style: none;
}

.category-nav dd ul li a{
    display: block;
    position: relative;
    padding: 13px 0 12px 19px;
    border-bottom: dotted 1px #a9acad;
    color: #333;
    transition: 0.1s ease-in-out;
    text-decoration: none;
    font-weight: bold;
}

.category-nav dd ul li a:hover{
    text-decoration: underline;
}

.category-nav dd ul li a:before {
    content: "";
    display: inline-block;
    width: 5px;
    height: 5px;
    margin: -2px 13px 0 0;
    border: 0;
    border-top: solid 1px #0076b0;
    border-right: solid 1px #0076b0;
    transform: rotate(45deg);
    vertical-align: middle;
}

.category-nav .current-cat a{
    color: #0076b0;
}

/*--bg--*/

.bg-01{background: var(--color-bg-01);}
.bg-02{background: var(--color-bg-02);}
.bg-03{background: var(--color-bg-03);}
.bg-04{background: var(--color-bg-04);}

.bg-img02{
    background: url(img/bg03.jpg)  center center /cover no-repeat;
    position: relative;
    z-index: 1;
    overflow: hidden;
}

.bg-img02::before{
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(163,181,191,.5);
    z-index: 2;
}

.bg-img02 .container{
    z-index: 4;
    position: relative;
}

/*--border--*/

.separator{
    border-bottom: 1px dotted #b3b3b3;
}

/*--form--*/

.login-form-main{
    width: 80%;
    max-width: 640px;
    margin: 0 auto;
}

.login-form-main .row:first-child{
    border-top: 1px dotted #b3b3b3;
}

.wpcf7 .row,
.login-form-main .row{
    border-bottom: 1px dotted #b3b3b3;
    align-items: center;
}

.wpcf7 .col-md-3,
.login-form-main .col-md-3{
    font-weight: bold;
}

.wpcf7 input[type="text"],.wpcf7 input[type="email"],
.login-form-main input[type="text"],.login-form-main input[type="password"]{
    background-color: #edf2f5 !important;
    border-radius: 2px; 
}

.wpcf7 .col-md-3 p,.wpcf7 .col-md-9 p{
    margin: 0;
}

.wpcf7 input[readonly]{
    background-color: #d1d7db !important;
}

.required{
    margin-right: 10px;
    border-radius: 4px;
    background-color: #e68a46;
    color: #fff;
    font-size: .875rem;
    padding: .2rem 10px;
}

.wpcf7-response-output{
    border: none !important;
    margin: 0;
    padding: 1rem 0;
    color: #a80909;
}


/*--メッセージ表示--*/

.mw_wp_form_input .input-message,
.mw_wp_form_confirm .confirm-message{
    display: block;
}

.mw_wp_form_input .confirm-message,
.mw_wp_form_confirm .input-message{
    display: none;
}

/*--bbtn--*/

.bbtn,
.bbtn-sm{
	display: inline-block;
	border: 1px solid #0076b0;
	border-radius: 3px;
	background-color: transparent;
	color: #0076b0;
	font-size: 1rem;
    text-decoration: none;
	font-weight: bold;
	text-align: center;
	-webkit-transition: box-shadow 300ms ease-in-out, color 300ms ease-in-out;
	transition: box-shadow 300ms ease-in-out, color 300ms ease-in-out;
    position: relative;
}

.bbtn{
    padding: 12px 0 13px;
    min-width: 174px;
}

.bbtn-sm{
    padding: .2rem 0;
    width: 100%;
}

.div-bbtn-arrow,
.div-bbtn-arrow-back{
    position: relative;
}

.bbtn:hover,
.bbtn-sm:hover{
	color: #fff;
	outline: 0;
	text-decoration: none;
	box-shadow: 0 0 40px 40px #0076b0 inset;
    min-height: initial;
}

.bbtn-arrow::after,
.bbtn-arrow-back::after{
	content: "";
	position: absolute;
	top: 50%;
	width: 8px;
	height: 8px;
	margin-top: -4px;
	border: 0;
	border-top: solid 1px #0076b0;
	border-right: solid 1px #0076b0;
	vertical-align: middle;
}

.bbtn-arrow::after,
.div-bbtn-arrow::after{
    right: 20px;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.bbtn-arrow-back::after,
.div-bbtn-arrow-back::after{
    left: 20px;
	-ms-transform: rotate(-135deg);
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
}

.bbtn-arrow:hover::after,
.bbtn-arrow-back:hover::after,
.div-bbtn-arrow::after,
.div-bbtn-arrow-back::after{
	border-top: solid 1px #fff;
	border-right: solid 1px #fff;
}

/*---movie--*/
.modal-dialog {
    max-width: 800px;
    margin: 30px auto;
}

.modal-body {
position:relative;
padding:0px;
}

.btn-close {
position:absolute;
right:-30px;
top:0;
}

/*--event-calendar--*/
.calendar-area{
    margin: 3rem 0 0;
}

.eo-fullcalendar-loading {
    font-size: 1.2rem;
}

.fc-ltr .fc-basic-view .fc-day-number {
    font-weight: bold;
}
.fc-sun{color: #c73a38;}
.fc-sat{color: #589ab9;}

.eo-fullcalendar-reset.fc-unthemed .fc-today {
    background: rgba(58,135,173,.1);
}
.fc-toolbar .fc-left h2 {
    font-size: 1.3rem;
    font-weight: bold;
}

/*--login-form--*/
.login-form dl{
    max-width: 600px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: 0 auto;
}

.login-form dl dt{
    flex: 0 0 150px;
    font-size: 1rem;
    font-weight: bold;
}

.login-form dl dd{
    flex: 1 0 calc(100% - 150px);
    padding: .2rem 0;
}

.login-form dl dd input{
    font-size: 1.3rem;
}

/*--back-top-top--*/
.back-to-top{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    position: fixed;
    bottom: 78px;
    right: 78px;
    height: 48px;
    width: 48px;
    border-radius: 3px;
    background: rgba(179,179,179,.95);
    color: #666;
    text-decoration: none;
	opacity: 0;
	visibility: hidden;
    transition: all .2s linear;
    font-size: .75rem;
    font-weight: bold;
    line-height: 1;
    z-index: 30;
}

.back-to-top i{
    font-size: 1rem;
}

.back-to-top.active{
    opacity: 1;
	visibility: visible;
}

.back-to-top:hover{
    background: rgba(179,179,179,.7);
}

.page-open-slidemenu .back-to-top{
    display: none;
}

/*====menu-bar=====*/

#wpadminbar + .header,
#wpadminbar + .header + .slidemenu-btn{
    margin-top: 32px;
}
#wpadminbar + .header .main-menu{
    top: calc(32px + var(--header-height));
}

/*--xl-1200px未満--*/
@media (max-width: 1199.98px) {
    header{
        position: static;
    }

    .main-menu{
        position: fixed;
        top: var(--header-height);
        left: 100%;
        height: calc(100vh - var(--header-height));
        overflow: auto;
        overflow-x: hidden;
        width: 100%;
        transition: .1s all linear;
        background: #fff;
    }

    .main-menu > .row{
        flex-direction: column;
    }

    .header ul {
        flex-direction: column;
    }

    .header ul li {
        display: block;
        border-top: 1px solid rgba(230, 237, 240, 0.9);
        border-bottom: none;
    }

    .header ul li a {
        width: 100%;
        padding: 1rem 40px;
        display: block;
    }

    .header ul li a + ul {
        display: block;
        position: static;
        transform: none;
        width: 100%;
    }

    .header ul li a + ul li a {
        padding: 1rem 0 1rem 40px;
        text-align: left;
    }

    .header ul li a + ul li a {
        padding: 1rem 0 1rem 60px;
    }

    .header ul li a + ul::before,
    .header ul li > a:hover::before,
    .header ul li a + ul li a:hover::before,
    .header ul li:first-child::before,
    .header ul li.current_page_item > a::before,
    .header ul li.current-page-parent > a::before,
    .header ul li.current-page-ancestor.menu-item-has-children > a::before, 
    .header ul li::after {
        display: none;
    }

    .user-display {
        width: 100%;
        padding: 1.2rem 0 0;
    }

    .logout-btn {
        text-align: center;
        padding: 1rem 20px;
        margin: 0 0 2rem;
    }

    .logout-btn a{
        max-width: 400px;
        display: block;
        margin: 0 auto;
        padding: .8rem 20px;
    }

    .page-open-slidemenu .main-menu{
        left: 0;
    }

    .slidemenu-btn {
        display: block;
        position: fixed;
        right: 0;
        top: 0;
        width: 60px;
        height: 60px;
        background-color: #036;
        color: #fff;
    }

    .menu-icon,
	.menu-icon:before,
	.menu-icon:after {
		display: block;
		position: absolute;
		width: 16px;
		height: 2px;
		background-color: #fff;
	}

	.menu-icon:before,
	.menu-icon:after {
		-webkit-transition: color .25s ease;
		transition: color .25s ease;
	}
	.page-open-slidemenu .menu-icon:before,
	.page-open-slidemenu .menu-icon:after {
		background-color: #fff;
	}
	.menu-icon:before,
	.menu-icon:after {
		content: '';
		-webkit-transform-origin: 50% 50%;
		-o-transform-origin: 50% 50%;
		-ms-transform-origin: 50% 50%;
		-moz-transform-origin: 50% 50%;
		transform-origin: 50% 50%;
	}
	.menu-icon {
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
		-webkit-transition: all .25s ease-out;
		transition: all .25s ease-out;
	}
	.menu-icon:before {
		top: -4px;
		transition: transform .1s ease-out;
	}
	.menu-icon:after {
		bottom: -4px;
		transition: transform .1s ease-out;
	}
	.page-open-slidemenu .menu-icon {
	  background-color: transparent;
	}
	.page-open-slidemenu .menu-icon,
	.page-open-slidemenu .menu-icon:before,
	.page-open-slidemenu .menu-icon:after {
		width: 16px;
		height: 2px;
	}
	.page-open-slidemenu .menu-icon:before {
		-webkit-transform: translateY(10px) rotate(45deg);
		transform: translateY(4px) rotate(45deg);
		transition: transform .1s ease-out .25s;
	}
	.page-open-slidemenu .menu-icon:after {
		-webkit-transform: translateY(-10px) rotate(-45deg);
		transform: translateY(-4px) rotate(-45deg);
		transition: transform .1s ease-out .25s;
	}
	
    .foot-logo {
        margin: 0 0 .5rem;
    }
	
	
}

/*--lg-992px未満--*/
@media (max-width: 991.98px) {
    .download-content dl,
    .training-content dl,
    .support-content dl {
        flex-direction: column;
        padding: 0 0 1.4rem;
        margin: 0 0 1.4rem;
    }

    .download-content .download-info{
        flex-direction: row;
    }

    .download-content dl > dt,
    .download-content.download-content2 dl > dt,
    .training-content dl > dt,
    .support-content dl > dt ,
    .training-content dl > dt + dd,
    .support-content dl > dt + dd {
        flex: 0 0 100%;
    }

    .download-content dl > dt span,
    .training-content dl > dt span,
    .support-content dl > dt span {
        padding: 0.45rem 0;
        font-size: 1.1rem;
    }

    .download-content dl > dd:last-child {
        flex: 0 0 auto;
        margin: 0;
    }

    .download-content .download-info {
        flex-wrap: wrap;
    }

    .download-content .download-info dt {
        flex: 0 0 120px !important;
    }

    .download-content .download-info dd {
        flex: 0 0 calc(100% - 140px) !important;
        margin: 0 !important;
    }

    .download-content dl > dt + dd {
        padding: 0.5rem 0;
        font-size: .875rem;
    }

    .bbtn-sm {
        padding: 0.5rem 0;
    }

    .foot-info1,
    .foot-info2{
        flex-direction: column;
    }

    .foot-info2 {
        max-width: 420px;
        margin: 0 auto;
    }

    .website-link figure {
        flex-direction: column;
    }

    .footer-menu {
        border: 1px solid #92949b;
        border-left: none;
        border-right: none;
        margin: 1rem 0;
        padding: 1rem 0;
    }

    .footer-menu a {
        text-align: center;
    }

    .foot-logo {
        width: 160px;
    }
    .website-link figure img {
        width: 110px;
    }

    .category-nav {
        margin-top: 2rem;
        width: 100%;
    }

    .back-to-top {
        bottom: 20px;
        right: 20px;
    }

}

/*--md-768px未満--*/
@media (max-width: 767.98px) {

    .logo a {
        padding: 8px 15px;
    }

    .logo a figure img {
        width: 120px;
    }

    .home-hero .hero-text {
        padding: 0;
    }

    .home-hero h1 + p {
        font-size: .875rem;
    }

    .home-hero h1 {
        font-size: 1.4rem;
    }

    .news-info{
        flex-wrap: wrap;
    }

    .news-info .news-title {
        flex: 0 0 100%;
        padding: 0.3rem 0 0;
    }

    .home-news h2 {
        font-size: 1.56rem;
    }

    .center-title {
        font-size: 1.4rem;
    }

    .faq-category-list li {
        width: 100%;
    }

    .mw_wp_form .col-md-3,
    .login-form-main .col-md-3 {
        margin: 0 0 .3rem;
    }

    .group-navigation ul {
       display: none;
    }
    
    .website-link {
        padding: 1rem 50px;
    }

    .website-link figcaption {
        padding: 0;
    }

    #wpadminbar + .header,
    #wpadminbar + .header + .slidemenu-btn{
        margin-top: 46px;
    }

    #wpadminbar + .header .main-menu{
        top: calc(46px + var(--header-height));
    }

}