/* -----------------------------------------------------------------------------
   reset
----------------------------------------------------------------------------- */
@charset "UTF-8";

html {
    font-size: 62.5%;
    scroll-behavior: smooth;
}

body {
    color: #000000;
    font-family: "Noto Sans JP", "Hiragino Sans", "ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Verdana,sans-serif;
    -webkit-text-size-adjust: 100%;
    font-size: 1.6rem;
    margin: 0;
    min-width: 320px;
}

a {
    text-decoration: none;
    color: #000;
    transition: .3s ease-in-out;
    pointer-events: auto;
}

a:hover, a:active {
    opacity: 0.7;
}

* {
    box-sizing: border-box;
}

abbr, address, article, aside, audio, b, blockquote, canvas, caption, cite, code, dd, del, details, dfn, div, dl, dt, em, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, i, iframe, ins, kbd, legend, li, mark, menu, nav, object, ol, p, pre, q, samp, section, small, span, strong, sub, summary, sup, tbody, tfoot, thead, time, tr, ul, var, video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    vertical-align: baseline;
    background: 0 0;
}

ul {
    display: block;
    list-style: none;
}

/*------------------------------------------------------------------------------
  ヘッダー
*-----------------------------------------------------------------------------*/
.nav-part {
    display: block;
    margin-left: auto;
}

.pc-nav .active {
    border-bottom: 4px solid #696659;
}

.pc-nav li:hover {
    color: #c6b624 !important;
}

.pc-nav li a:hover {
    color: #97958b !important;
}

.pc-nav a {
    color: #696659 !important;
}

.l-header {
    position: fixed;
    top: 0;
    width: 100%;
    height: 100px;
    z-index: 100;
    background-color: rgba(250, 241, 26, 0.8);
}

.l-header ul {
   margin: 0;
   display: flex;
   align-items: center;
   line-height: 42px;
}

.l-header li {
   margin-left: 20px;
   margin-right: 20px;
   font-size: 1.6rem;
   font-family: "Noto Sans JP", "Hiragino Sans", "ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Verdana,sans-serif;
   font-weight: bold;
}
   
/*　ハンバーガーボタン　*/
.hamburger {
    display : block;
    position: fixed;
    z-index : 3;
    right : 13px;
    top   : 28px;
    width : 42px;
    height: 42px;
    cursor: pointer;
    text-align: center;
}

.hamburger span {
    display : block;
    position: absolute;
    width   : 30px;
    height  : 3px ;
    left    : 6px;
    background : #696659;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition   : 0.3s ease-in-out;
    transition        : 0.3s ease-in-out;
}

.hamburger span:nth-child(1) {
    top: 10px;
}

.hamburger span:nth-child(2) {
    top: 20px;
}

.hamburger span:nth-child(3) {
    top: 30px;
}

/* ナビ開いてる時のボタン */
.hamburger.active span:nth-child(1) {
    top : 16px;
    left: 6px;
    -webkit-transform: rotate(-45deg);
    -moz-transform   : rotate(-45deg);
    transform        : rotate(-45deg);
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
    top: 16px;
    -webkit-transform: rotate(45deg);
    -moz-transform   : rotate(45deg);
    transform        : rotate(45deg);
}

nav.sp-nav {
    display: block;
    position: fixed;
    z-index : 2;
    top  : 100px;
    right : 0;
    background: #FFF;
    text-align: left;
    transform: translateX(100%);
    transition: all 0.3s;
    min-width: 320px;
}

nav.sp-nav ul {
    display:block;
    background: #FFF;
    margin: 0 auto;
    padding: 0;
    width: 100%;
    overflow-y: auto;
    border-top: 3px solid #696659;
    border-bottom: 3px solid #696659;
}

nav.sp-nav ul li {
    list-style-type: none;
    padding: 0 4rem;
    width: 100%;
    border-bottom: 1px solid #fff;
    margin:0;
    font-size: 1.6rem;
}
nav.sp-nav ul li:last-child {
    padding-bottom: 0;
    border-bottom: none;
}
nav.sp-nav ul li:hover {
    /*background : rgba(0, 22, 138, 0.3);*/
    color: #FAF11A !important;
}

nav.sp-nav ul li a:hover {
    color: #FAF11A !important;
}

nav.sp-nav ul li a {
    display: block;
    padding: 0.5rem 0;
    text-decoration :none;
    color: #696659;
}

/* このクラスを、jQueryで付与・削除する */
nav.sp-nav.active {
  transform: translateX(0%);
}

.header_btn_area img{
    vertical-align: middle;
    /*
    margin-right: 6rem;
    margin-top: 5px;
    */
}
    
.header_inner {
    max-width: 1920px;
    display: flex;
    align-items: center;
    height: 100%;
    margin: auto;
}

.logo-part {
    padding-left: 4rem;
    line-height: 100%;
}

.logo-part img {
    vertical-align:bottom;
    width: 150px;
}

.logo-part h1 {
    display: inline;
    color: #A4CD53;
    font-weight: 300;
    font-size: 1.46rem;
    padding-left: 1.3rem;
}

.logo-part a:hover, .logo-part a:active {
    opacity: 1;
}

.contact-part {
    margin-right: 60px;
}

@media screen and (max-width: 992px) {
    
    .contact-part {
        margin-right: -15%;
    }
    
    .contact-part .hidden_pc {
        width: 40%;
    }

}

@media screen and (max-width: 576px) {
   
    .pc-nav {
        display: none;
    }

    .hamburger {
        display : block;
        position: fixed;
        z-index : 3;
        right : 8px;
        top   : 7px;
        width : 30px;
        height: 30px;
        cursor: pointer;
        text-align: center;
    }

    .hamburger span {
        width: 22px;
        height: 2px;
    }

    .hamburger span:nth-child(1) {
        top: 10px;
    }
    .hamburger span:nth-child(2) {
        top: 18px;
    }
    .hamburger span:nth-child(3) {
        top: 26px;
    }

    nav.sp-nav {
        display: block;
        position: fixed;
        z-index : 2;
        top  : 45px;
        left : 0;
        transform: translateX(100%);
        transition: all 0.3s;
        width: 100%;
    }

    .l-header {
        position: fixed;
        top: 0;
        width: 100%;
        height: 15vw;
        z-index: 100;
        background-color: rgba(250, 241, 26, 0.8);
    }

    .l-header li {
        margin: 0;
    }

    .header_inner {
        width: 100% !important;
    }

    .logo-part {
        max-width: 50%;
        padding-left: 1.5rem;
    }

    .logo-part img{
        max-width: 30vw;
    }

    .logo-part h1{
        display: none;
    }

    .contact-part {
        margin-right: 1.5rem;
        max-width: 29%;
    }

    .contact-part ul{
        text-align: right;
        margin: 0 10px 0 0;
    }
    
    .contact-part .hidden_pc {
        width: 78%;
        margin-top: -7%;
    }

    .header_btn_area img{
        width: 72%;
        max-width: 15rem;
        position: relative;
        margin: 1% 0 0 0;
        vertical-align: middle;
    }

}

/*------------------------------------------------------------------------------
  セミナー管理のシステム化が実現！
*-----------------------------------------------------------------------------*/

.index_main {
    border-bottom: 1px solid white;
}

.index_main .container {
    max-width: 1920px;
    /*max-height: 700px;*/
    width: 100%;
    margin: auto;
}

.index_main .flexarea {
    background-repeat: no-repeat;
    background-image:url(../images/top/main_bkg.png);
    background-size: cover;
}

.index_main .main {
    width: 25%;
    height: 45vw;
    margin-left: 23%;
    padding-top: 13%;
    padding-bottom: 10rem;
}

.index_main img {
    /*padding-top: 22rem;*/
    width: 100%;
    height: auto;
    padding-bottom: 4%;
}

.index_main p {
    line-height: 2;
    font-size: 1.6rem;
    position: relative;
}

@media screen and (max-width: 992px) {

    .index_main .main {
        margin-right: auto;
        /*margin-left: auto;*/
    }

    .index_main .txtarea {
        margin-bottom: 2.5rem;
    }
    
    .index_main p {
        line-height: 1.6;
    }
}

@media screen and (max-width: 576px) {

    .index_main .flexarea {
        background-repeat: no-repeat;
        background-image:url(../images/top/main_bkg_sp.png);
        background-size: cover;
    }

    .index_main .main {
        margin: 0 auto;
        height: auto;
        width: 100%;
        padding: 2rem;
        text-align: center;
        /*margin-bottom: 2rem;*/
    }

    .index_main img {
        padding: 2rem 2rem 0 2rem;
        width: 90%;
        height: auto;
    }

    .index_main p {
        line-height: 2;
        /*font-size: 1.6rem;*/
        position: relative;
        top: 2rem;
        bottom: 2rem;
        padding-bottom: 16rem;
        text-align: left;
        width: 85%;
        margin: auto;
        /*left: 10rem*/
    
    }

}

/*------------------------------------------------------------------------------
  Quick Seminar
*-----------------------------------------------------------------------------*/

/* クイックセミナーについて*/

.index_about {
}

.index_about .container {
    background-repeat:no-repeat;
    background-size:cover;
    background-image:url(../images/top/about_bkg.png);
    margin: auto;
}

.index_about .about_ttl {
    padding-top: 10%;
    margin-left: 30%;
    height: auto;
}

.index_about .about_ttl img{
    width: 80%;
}

.index_about .about_ttl p{
    color: rgb(255, 255, 255);
    font-size: 1.6rem;
    letter-spacing: 0.2rem;
    padding-top: 2%;
    padding-left: 22%;
}

.index_about-txt {
    margin-top: 10rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

.index_about-txt .ttl{
    /*font-size: 3.5rem;*/
    line-height: 1.5;
    /*margin-bottom: 2.3rem;*/
}

.index_about-txt .ttl_en {
    /*font-size: 1.6rem;*/
    letter-spacing: 0.2rem;
    margin-bottom: 3.5rem;
}
/*
.index_about-txt .txt {
    font-size: 1.5rem;
    line-height: 2;
}
*/

.index_about-txt .ttl_sub{
    margin-bottom: 20px;
}

.index_about-txt .ttl_sub span {
    font-size: 2rem;
    font-weight: bold;
    line-height: 2;
    border-bottom: 10px solid rgb(255, 247, 44);
}

.index_about-txt .txt_01 {
    width: 50%;
    margin-bottom: 10rem;
}

.index_about-txt .img_area {
    width: 35%;
    margin-bottom: 10rem;
}

.index_about-txt .txt_02 {
    width: 30%;
    /*margin-left: 5%;*/
}

.index_about-txt .img_area img {
    width: 100%;
}

.index_about-txt .txt_02 .ttl_en {
    margin-bottom: 4rem;
}

.index_about-txt .txt_area {
    width: 45%;
    margin-left: 5%;
}

.index_about-txt mark {
    background:linear-gradient(transparent 60%, #fff 60%);
}


/* -------- FAQ ----------- */

.FAQ {
    width: 90%;
    margin: 10rem auto 0 auto;
    padding-bottom: 5rem;

}

.FAQ .txt {
    font-size: 1.6rem;
    font-weight: bold;
}
/*
.FAQ span {
    border: 2px solid rgb(62, 217, 115);
    border-radius: 30px;
    padding: 0.5rem;
    color: rgb(62, 217, 115);
    line-height: 3;
}


.FAQ img {
    max-width: 220px;
}
*/

.FAQ_content {
    position: relative;/*相対配置*/
    text-align: center;
}

.FAQ_content img{
    max-width:100%;
}

.FAQ_content .question p  {
    position: absolute;/*絶対配置*/
    font-size: 1.4rem;
    text-align: left;
    top: 40%;
    left: 28%;
    width: 20%;
}

.FAQ_content .answer p  {
    position: absolute;/*絶対配置*/
    font-size: 1.4rem;
    text-align: left;
    left: 50%;
    width: 30%;
}

.FAQ_content .answer .FAQ_txt01 {
    top: 40%;
}

.FAQ_content .answer .FAQ_txt02 {
    top: 35%;
}

.FAQ_content .answer .FAQ_txt03 {
    top: 35%;
}
/*
.FAQ_02, .FAQ_03 {
    background-color: rgb(255, 255, 255);
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 2rem;
}

.FAQ .question {
    width: 50%;
    display: flex;
    align-items: center;
}

.FAQ .answer {
    width: 50%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}


.FAQ .question .txt {
    width: 60%;
}

.FAQ .answer .txt {
    width: 60%;
}
*/


@media screen and (max-width: 992px) {

    .index_about .about_ttl {
        padding-top: 10%;
        margin-left: 38%;
    }

    .index_about .about_ttl img {
        width: 90%;
    }

    .index_about .about_ttl p {
        padding-left: 10%;
    }

    .index_about .question, .answer {
        width: 100%;
        margin-bottom: 1.5rem;
    }
    
    .index_about .answer {
        margin-left: auto;
    }

    .FAQ_content .hidden_pc {
        display: none;
    }

    .FAQ_content .hidden_sp {
        display: block;
    }

    .FAQ_content .question p  {
        top: 30%;
        left: 24%;
        width: 20%;
    }

    .FAQ_content .answer .FAQ_txt01 {
        top: 30%;
    }

    .FAQ_content .answer .FAQ_txt02, .FAQ_content .answer .FAQ_txt03 {
        top: 18%;
    }

    .index_QS .Q, .index_QS .A {
        width: 100%;
    }
    
    .index_QS .A {
        margin-left: auto;
    }
    
}

@media screen and (max-width: 576px) {

    .index_about .container{
        background-repeat: no-repeat;
        background-size: cover;
        background-image:url(../images/top/about_bkg_sp.png);
    }

    .index_about .about_ttl {
        padding-top: 9%;
        margin-left: 11%;
    }

    .index_about .about_ttl img {
        width: 85%;
    }

    .index_about .about_ttl p {
        font-size: 1.2rem;
        padding-left: 0;
    }

    .index_about-txt .ttl{
       /* font-size: 3rem;*/
        line-height: 1.5;
    }

    .index_about-txt .ttl_sub span {
        font-size: 1.6rem;
        font-weight: bold;
        line-height: 2;
        border-bottom: 10px solid rgb(255, 247, 44);
    }

    .FAQ {
        width: 95%;
        margin: 5rem auto 0 auto;
        padding-bottom: 5rem;
    }

    .FAQ .hidden {
        display: none;
    }

    .FAQ_content .hidden_pc {
        display: block;
    }

    .FAQ_content .hidden_sp {
        display: none;
    }

    .FAQ_content .question p  {
        position: absolute;/*絶対配置*/
        font-size: 1.44rem;
        text-align: left;
        top: 20%;
        left: 20%;
        width: 65%;
    }

    .FAQ_content .answer p  {
        position: absolute;/*絶対配置*/
        font-size: 1.44rem;
        text-align: left;
        left: 20%;
        width: 65%;
    }

    .FAQ_content .answer .FAQ_txt01 {
        top: 55%;
    }

    .FAQ_content .answer .FAQ_txt02 {
        top: 55%;
    }
    
    .FAQ_content .answer .FAQ_txt03 {
        top: 55%;
    }

    .FAQ_content img {
        max-width: 85%;
    }

    .index_about-txt {
        margin-top: 10rem;
        display: block;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
    }

    .index_about-txt .txt_01 {
        width: 85%;
        margin: auto;
        margin-bottom: auto;
    }

    .index_about-txt .img_area {
        width: 80%;
        margin: 2rem 0 4rem 4rem;
    }

    .index_about-txt .txt_02 {
        width: 85%;
        margin: auto;
    }

    .index_about-txt .txt_area {
        width: 85%;
        margin: auto;
    }

    .index_QS .txt_QS {
        margin: 0 auto;
    }

    .index_QS .QS1 {
        width: 100%;
    }

    .index_QS .QS2 {
        display: none;
    }

    .index_QS .QS3 {
        width: 100%;
        margin-left: 0;
    }

    .index_QS .QS4 {
        width: 100%;
        margin-left: 0;
    }

    .index_QS .ttl_QS {
        font-size: 8rem;
    }

    .index_QS .QA .hidden {
        display: none;
    }

    .index_QS .Q {
        display: inline;
    }

    .index_QS .Q .txt {
        margin: 2rem auto;
        width: 80%;
    }

    .index_QS .A {
        width: 100%;
    }

    .index_QS .A .txt {
        margin: 2rem auto;
        width: 80%;
    }

    .index_QS .A img {
        display: none;
    }
    
}


/*------------------------------------------------------------------------------
  私たちが選ばれる4つの理由
*-----------------------------------------------------------------------------*/

.index_rsn {
    background-color: rgb(255, 255, 255);
}

.index_rsn .flexarea {
    background-repeat: no-repeat;
    background-size: cover;
    background-image:url(../images/top/reasons_bkg.png);
}

.index_rsn .flexarea .txtarea {
    width: 60%;
    display: grid;
    justify-content: center;
    padding-top: 10%;
    padding-bottom: 10%;
}

.index_rsn .flexarea .txtarea .ttl {
    font-weight: bold;
}

.index_rsn .flexarea .txtarea .ttl_en {
    letter-spacing: 0.2rem;
}

.index_rsn .flexarea .imgarea {
    width: 50%;
}

.index_rsn .flexarea .imgarea img {
    width: 100%;
}

.index_rsn .container {
    max-width: 1720px;
    width: 95%;
    margin: auto;
    padding: 5rem 0 10rem 0;
}

.index_rsn .container .flexarea_con {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    position: relative;
}

.index_rsn .rsn1, .index_rsn .rsn2, .index_rsn .rsn3, .index_rsn .rsn4 {
    width: 45%;
    border: 0.5rem solid rgb(0, 0, 0);
    border-radius: 40px;
    margin: 3.5rem 2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
}

.index_rsn .rsn1 {
    padding: 5% 0 7% 5%;
    align-items: flex-start;
}

.index_rsn .rsn2 {
    padding: 3.5% 5% 5% 0;
    align-items: flex-end;
}

.index_rsn .rsn3 {
    padding: 7% 0 4% 5%;
    align-items: flex-start;
}

.index_rsn .rsn4 {
    padding: 4.5% 5% 6% 0;
    align-items: flex-end;
}

.index_rsn .rsn_no1, .index_rsn .rsn_no2, .index_rsn .rsn_no3, .index_rsn .rsn_no4 {
    width: 18%;
    position: absolute;
}

.index_rsn .rsn_no1, .index_rsn .rsn_no3 {
    left: -10%;
}

.index_rsn .rsn_no2, .index_rsn .rsn_no4 {
    right: -10%;
}

.index_rsn .flexarea_rsn {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    position: relative;
}

.index_rsn .rsn4 .flexarea_rsn {
    padding-top: 3%;
}

.index_rsn .flexarea_con span {
    background-color: rgb(255, 249, 110);
    padding :1rem;
    width: fit-content;
    text-align: center;
}

.index_rsn .flexarea_con .ttl {
    font-size: 3rem;
    margin: 1.5rem 0;
}

.index_rsn .rsn2 .ttl, .index_rsn .rsn3 .ttl {
    width: 33rem;
    text-align: left;
}

.index_rsn .rsn4 .ttl {
    width: auto;
    padding-right: 22%; 
}

.index_rsn .flexarea_con .txt, .index_rsn .flexarea_con .txt_sub {
    font-size: 1.6rem;
    line-height: 2;
    width: 33rem;
    text-align: left;
}

.index_rsn .flexarea_con .txt_sub {
    width: auto;
    padding-right: 30%;
}

.index_rsn .flexarea_con .middle {
    font-size: 1.5rem;
}

.index_rsn .flexarea_con .txt_sub {
    font-weight: bold;    
}

.index_rsn .flexarea_con .rsn_img {
    width: 190px;
}

.index_rsn .flexarea_con .rsn_back {
    position: absolute;
    width: 40%;
}

.index_rsn .flexarea_con .txtarea {
    position: absolute;
    text-align: center;
    font-size: 1.6rem;
}

.index_rsn .flexarea_con .txtarea .txt_en {
    width: 27rem;
    letter-spacing: 0.2rem;
    margin: 2rem 0 1rem 0;
}

.index_rsn .flexarea_con .txtarea .txt {
    font-weight: bold;
    width: 25rem;
    margin-left: 1rem;
}

.img-box {
    text-align: center;
}

@media screen and (max-width: 992px) {
    
    .index_rsn .flexarea .txtarea {
        line-height: 1.5;
    }

    .index_rsn .container {
        padding: 47rem 0 10rem 0;
    }

    .index_rsn .rsn1, .index_rsn .rsn2, .index_rsn .rsn3, .index_rsn .rsn4 {
        width: 85%;
        padding: 10%;
    }

    .index_rsn .flexarea_con .rsn_back {
        position: absolute;
        width: 53%;
        top: -21%;
    }

    .index_rsn .flexarea_con .txtarea {
        top: -15%;
    }
        
}


@media screen and (max-width: 576px) {

    .index_rsn .flexarea {
        background-repeat: no-repeat;
        background-size: cover;
        background-image:url(../images/top/reasons_bkg_sp.png);
    }

    .index_rsn .flexarea .txtarea .ttl {
        font-weight: bold;
        line-height: 1.5;
    }

    .index_rsn .rsn_no1, .index_rsn .rsn_no2, .index_rsn .rsn_no3, .index_rsn .rsn_no4 {
        width: 30%;
        position: absolute;
        left: 34%;
        top: -9%
    }

    .index_rsn .container {
        padding: 18rem 0 4rem 0;
    }

    .index_rsn .hidden_sp, .index_rsn .flexarea .imgarea img {
        display: none;
    }

    .index_rsn .rsn1, .index_rsn .rsn2, .index_rsn .rsn3, .index_rsn .rsn4 {
        width: 85%;
        height: 45rem;
        padding: 6%;
    }

    .index_rsn .rsn4 {
        padding-top: 7rem;
    }

    .index_rsn .flexarea_con .rsn_img {
        width: 55%;
    }
    
    .index_rsn .flexarea_con .txtarea {
        width: 85%;
        border: 0;
        border-radius: 0;
        top: -6.5%;
    }

    .index_rsn .flexarea_con .txtarea .txt_en {
        width: 100%;
        margin: 0 auto 1rem auto;
    }

    .index_rsn .flexarea_con .txtarea .txt {
        width: 100%;
        font-size: 1.44rem;
    }

    .index_rsn .flexarea .txtarea {
        width: 60%;
        margin-left: 5%;
        margin-right: auto;
    }

    .index_rsn .rsn1, .index_rsn .rsn2, .index_rsn .rsn3, .index_rsn .rsn4 {
        align-items: center;
    }

    .index_rsn .flexarea_con .rsn_back {
        display:none;
    }

    .index_rsn .flexarea_con .ttl {
        width: 100%;
        line-height: 2;
        font-size: 2rem;
        margin: 1.5rem 0;
        text-align: center;
    }

    .index_rsn .flexarea_con .txt, .index_rsn .flexarea_con .txt_sub {
        width: 100%;
        font-size: 1.44rem;
    }

}

/*------------------------------------------------------------------------------
  豊富な機能紹介
*-----------------------------------------------------------------------------*/
.index_service {
    background-repeat: no-repeat;
    background-size: cover;
    background-image:url(../images/top/service_bkg.png);
}

.index_service .container {
    max-width: 1720px;
    width: 95%;
    margin: auto;
    padding: 10rem 0;
}

.index_service .ttl {
    font-weight: bold;
    text-align: center;
}

.index_service .ttl_en {
    letter-spacing: 0.2rem;
    text-align: center;
}

.index_service .flexarea {
    margin-top: 5rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.index_service .box {
    width: 30%;
    border: 0.3rem solid rgb(255, 255, 255);
    border-radius: 20px;
    margin: 0.5rem;
    display: flex;
    align-items: center;
}

.index_service .flexarea:after {
    content: "";
    width: 61%;
    margin: 0.5rem;
}

.index_service .box img {
    margin: 2rem 0 2rem 0.5rem;
    width: 10rem;
}

.index_service .box p {
    margin: auto 0.5rem;
    font-weight: bold;
    font-size: 2rem;
}

@media screen and (max-width: 992px) {

    .index_service .box, .index_service .flexarea:after {
        width: 45%;
    }
    
    .index_service .container {
        line-height: 1.5;
    }
    
    .index_service .box p {
        font-size: 1.6rem;
    }
        
}

@media screen and (max-width: 576px) {

    .index_service .container {
        padding: 5rem 0;
    }

    .index_service .box {
        width: 90%;
    }

    .index_service .flexarea:after {
        display: none;
    }

    .index_service .ttl {
        font-size: 2.5rem;
    }

    .index_service .box p {
        margin: auto 0.5rem;
        font-weight: bold;
        font-size: 1.44rem;
    }

    .index_service .box img {
        margin: 0.5rem;
        width: 6rem;
    }
            
}

/*------------------------------------------------------------------------------
  セキュリティについて
*-----------------------------------------------------------------------------*/
.index_security {
    background-repeat: no-repeat;
    background-size: cover;
    background-image:url(../images/top/security_bkg.png);
}

.index_security .container {
    max-width: 1720px;
    width: 95%;
    margin: auto;
    padding: 10rem 0;
    text-align: center;
}

.index_security .ttl {
    font-weight: bold;
    text-align: center;
    display: inline-block;
    text-align: left;
}

.index_security .ttl_en {
    letter-spacing: 0.2rem;
    text-align: center;
}

.index_security .sec_sub {
    display: inline-block;
    text-align: left;
    margin-top: 3rem;
    margin-bottom: 5rem;
}

.index_security span {
    border-bottom: 10px solid yellow;
}

.index_security .flexarea {
    display: flex;
    flex-wrap: wrap;
    justify-content: center; 
}

.index_security .sec {
    width: 45%;
    background-color: white;
    margin: 1rem;
    text-align: center;
    padding: 2rem 0 3rem 0;
}

.index_security img {
    margin: 3rem auto;
}

.index_security .ttl_sec {
    font-weight: bold;
    font-size: 2rem;
    text-align: center;
}

.index_security .textarea {
    width: 60%;
    margin: 2rem auto 5rem auto;
    font-size: 1.6rem;
    line-height: 2;
}

.index_security .sec .txt {
    display: inline-block;
    text-align: left;
}

@media screen and (max-width: 576px) {

    .index_security .sec {
        width: 90%;
    }

    .index_security .container {
        width: 85%;
    }

    .index_security .textarea {
        width: 78%;
    }
    
}


/*------------------------------------------------------------------------------
  導入までの流れ
*-----------------------------------------------------------------------------*/

.flow_txt{
    margin-top: 80px;
    text-align: center;
}

.flow_ttl{
    font-size: 3.8rem;
    font-weight: 700;
    padding-top: 5rem;
}

.flow_ttl_en{
    text-align: center;
    font-size: 1.45rem;
    font-weight: 100;
    letter-spacing: 0.2rem;
    padding-bottom: 5rem;
}

.m-flow .page-link {
    margin: 10rem auto;
}

.m-flow .flow_about {
    background-repeat: no-repeat;
    background-size: cover;
    background-image:url(../images/flow/flow_bkg.png);
    padding-bottom: 15rem;
}

.m-flow .img_area {
    background-repeat: no-repeat;
    background-size: cover;
    background-image:url(../images/flow/flow.png);
}

.m-flow .ttl {
    font-size : 4rem;
    font-weight: 700;
    margin: 2rem auto;
    padding-top: 7%;
    text-align: center;
    width: 40rem;
}

.m-flow .sub_ttl {
    font-size: 2rem;
    line-height: 1.7;
    text-align: center;
    padding-bottom: 25%;
}

.flow_about .container {
    max-width: 1300px;
    width: 85%;
    margin: auto;
}

.flow_about .table_area {
    display: block;
    font-size: 1.85rem;
    width: 95%;
    margin: 5%;
}

.flow_about .table_area .step-row {
    display: flex;
}

.flow_about .table_area .step-row img {
    margin-right: 5rem;
}

.flow_about-row .table_area th .name {
    font-size: 3rem;
    margin-top: 3rem;
    width: 300px;
}

.flow_about-row .table_area th .name2 {
    font-size: 3rem;
    margin-top: 0.8rem;
    width: 300px;
}

.flow_about .table_area table {
    padding: 5rem 3rem;
    border: none;
    width: 100%;
}

.flow_about .table_area th,
.flow_about .table_area td {
    border: none;
    padding: 5rem 5rem 3rem 0;
}

.flow_about-row .table_area th {
    font-size: 2rem;
    vertical-align: middle;
    width: 255px;
}

.flow_about .table_area td {
    text-align: left;
    vertical-align: middle;
   
}

.flow_about-row .table_area .sort-order {
    display: flex;
}

.flow_about-row .table_area .scd-bdr-left {
    position: relative;
    border-top: 2px solid #fff;
    width: 220px;
}

.flow_about-row .table_area .scd-bdr-right {
    position: relative;
    border-top: 2px solid #fff;
    width: 900px;
    left: 5%;
}


.flow_about-row .table_area .scd-arrow {
    position: absolute;
    top: -1.4rem;
    left: -6%;
    text-align: center;
    width: 5rem;
}

.flow_about-row .table_area .schedule {
    position: absolute;
    top: -3rem;
    right: 0;
    background-color: #FFF;
    font-size: 1.85rem;
    color: #696659;
    border: 1px solid #696659;
    border-radius: 10px;
    text-align: center;
    padding: 1rem;
    width: 150px;
}

.flow_about-row .table_area .schedule .sch-num {
    font-size: 150%;
    font-weight: 700;
}

.flow_about-row .point {
    background-image: url(../images/common/footer_pc.png);
    background-repeat: no-repeat;
    background-position: left 3px top 5px;
    background-size: 7.5rem;
    font-size: 1.4rem;
    line-height: 1.5;
    border: 3px solid #fff;
    border-radius: 20px;
    margin-top: 2rem;
    padding: 1rem 1rem 1rem 8rem;
    width: 100%;
    max-width: 500px;
}

@media screen and (max-width: 576px) {

    .m-flow .flow_about {
        padding-bottom: 2rem;
    }

    .m-flow .img_area {
        background-repeat: no-repeat;
        background-size: cover;
        background-image:url(../images/flow/flow_sp.png);
    }

    .flow_ttl {
        font-size: 3rem;
        font-weight: 700;
        padding-top: 5rem;
    }

    .m-flow .ttl {
        font-size : 3rem;
        text-align: left;
        margin: 2rem 0 2rem 4rem;
        padding-top: 5rem;
        width: auto;

    }

    .m-flow .sub_ttl {
        font-size: 1.6rem;
        text-align: left;
        margin: 3rem 0 0 4rem;
    }

    .m-flow .page-link {
        margin: 7rem auto;
    }

    .flow_about .table_area {
        width: 100%;
        table-layout: fixed;
        margin: 0;
    }

    .flow_about .table_area table {
        padding: 0;
        border: none;
        width: 100%;
    }

    .flow_about .table_area .step-row img {
        height: 5rem;
        margin-right: 3.5rem;
    }

    .flow_about-row .table_area .sort-order {
        margin: 3rem 0;
    }

    .flow_about-row .table_area .scd-bdr-left {
        width: 80px;
    }

    .flow_about-row .table_area .scd-bdr-right {
        width: 200px;
        left: 11%;
    }

    .flow_about-row .table_area .scd-arrow {
        left: -21%;
    }

    .flow_about-row .table_area .scd-arrow img {
        width: 2rem;
    }

    .flow_about-row .table_area .schedule {
        right: -1rem;
        font-size: 1.5rem;
        padding: 1rem 0;
        width: 120px;
    }

    .flow_about-row .table_area th,
    .flow_about-row .table_area td {
        padding: 1rem 0;
    }

    .flow_about-row .table_area th {
        width: 18%;
        min-width: auto;
    }

    .flow_about-row .table_area td {
        font-size: 1.4rem;
        word-break : break-all;
    }

    .flow_about .table_area td .name {
        font-size: 2rem;
        font-weight: 700;
        margin-bottom: 1.5rem;
    }

    .flow_about .table_area .step-row {
        display: flex;
    }

        
    .flow_about .table_area .step-row {
        display: block;
    }

    .flow_about .table_area .step-row img {
        height: 5rem;
        margin-right: 2rem;
    }

}


/*------------------------------------------------------------------------------
  会社情報
*-----------------------------------------------------------------------------*/
.m-company{
    margin: 70px auto 0px;
  }

@media (max-width: 600px){
    .m-company {
      margin: 20px auto 50px;
      max-width: 90%;
    }
}

.m-company h2{
    font-weight: 300;
}

.company_lead{
    max-width: 980px;
    margin: auto;
    margin-bottom: 30px;
    padding: 20px;
    padding-left: 10px;
    border-radius: 10px;
    text-align: center;
}

@media (max-width: 600px){
    .company_lead{
      display: block;
      padding-bottom: 0;
      padding-left: 0;
    }
}

.company_lead img {
    width: 10%;
}
  
@media (max-width: 600px){
    .company_lead img {
      width: 20%;
    }
}

.company_lead p{
    padding-top:  20px;
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: 300;
    line-height: 1.8;
}

@media (max-width: 600px){
    .company_lead p {
      margin-bottom: 30px;
      font-size: 11.2px;
      line-height: 2.2;
    }
}

#company{
    padding-bottom:    100px;
    background-color: #f5f5f5;
    background-color: transparent;
}

.table-wrap{
    max-width: 980px;
    margin: auto;
    background: #fff;
  
}

.company-table {
    line-height: 1.6;
    margin: auto;
    border-width: 1px 0px; /* 上下だけ引く */
    width:100%;
    border-collapse: collapse;
    border-spacing: 0;
    empty-cells: show;
    font-size: 1.8rem;
}

.company-table, table:not([class]) {
    margin-top: 10px;
    border: 1px solid #cccccc;
    border-width: 1px 0px; /* 上下だけ引く */
    width: 95%;
  }

.company-table, table:not([class]) {
    margin-top: 10px;
    border: 1px solid #cccccc;
    border-width: 1px 0px; /* 上下だけ引く */
    width: 95%;
}

.m-company .hardware-table th[scope=row] {
    width: 30%;
    padding: 2rem 2rem;
    background-color: transparent;
    border: 1px solid #cccccc;
    font-weight: 300;
    border-width: 1px 0px; /* 上下だけ引く */
}

@media (max-width: 600px){
    .company-table, table:not([class]) {
        font-size: 1.6rem;
        width: 100%;
    }
    
    .m-company .hardware-table th[scope=row] {
        font-size: 13px;
        padding: 10px 5px;
        width: 40%;
    }
}

.company-table th[scope=row], table:not([class]) th[scope=row] {
    background-color: rgba(53, 120, 190, 0.12);
    text-align: left;
  
}
  
.company-table th, table:not([class]) th {
    min-width: 7em;
    font-weight: 600;
    text-align: inherit;
    vertical-align: top;
    border-width: 1px 0px; /* 上下だけ引く */
}

.company-table td,  table:not([class]) td, table:not([class]) th {
    padding: 1.5rem 1rem;
    border: 1px solid #cccccc;
    border-width: 1px 0px; /* 上下だけ引く */
}

@media (max-width: 600px){
    .company-table th, table:not([class]) th {
        min-width: 5em;
    }
    
    .company-table td,  table:not([class]) td, table:not([class]) th {
        padding: 10px 5px;
    }
}

.company-table th {
    text-align: inherit;
}
  
.company-table td, table:not([class]) td {
    vertical-align: middle;
}

.text-right {
    text-align: left !important;
    font-weight: 300;
}

@media (max-width: 600px){
    .text-right {
      font-size: 13px;
    }
}

.company_name{
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 100%;
    padding: 15px 0 15px 20px;
    margin: 50px 0 0;
    background: #FFF96E;
    color: #696659;
}

@media (max-width: 600px){
    .company_name {
      font-size: 16px !important;
    }
}

/*------------------------------------------------------------------------------
  フッター
*-----------------------------------------------------------------------------*/
.footer_push {
    margin: auto;
    background-image: url(../images/common/footer.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: relative;
}

.footer_push .container {
    max-width: 1720px;
    width: 95%;
    margin: auto;
    padding: 7rem 0;
}

.footer_push-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.footer_push-row .img_area {
    margin-left: 5%;
    margin-top: -10%;
}

.footer_push-row .img_area img {
    width: 100%; 
}

.footer_push-row .txtarea {
    width: 55%;
    text-align: center;
}

.footer_push-row .txtarea .item img {
    padding-bottom: 8px;
    border-radius: 20px;
    width: 40%;
}

.footer_push-row .ttl {
    font-size: 3rem;
    font-weight: bold;
    margin-bottom: 0.5rem;
    display: inline-block;
    text-align: left;
}

.footer_push-row .txt {
    font-size: 2rem;
    margin-bottom: 4rem;
    display: inline-block;
    text-align: left;
}

.footer_push-row .item {
    padding-bottom: 5rem;
}


.footer_part01 {
    font-size: 1.6rem;
    width: fit-content;
    padding-left: 4rem;
    color: #696659;
}

.footer_part02 {
    font-size: 1.6rem;
    margin-left: auto;
    text-align: right;
}

.footer_part02 ul {
    display: flex;
}

.footer_part02 li {
    padding: 0 1rem;
}

.footer_part02 li:nth-child(n + 2) {
    margin-left: auto;
}

.footer_part02 li:nth-child(3) {
    padding-right: 1rem;
}

.footer_part02 li a {
    display: inline-block;
    text-align: left;
    color: #696659;
}

.footer_part03 {
    padding: 0 4rem 0 1rem;
}

.footer_sublogo-img {
    vertical-align: middle;
}

.copyright_sp {
    display: none;
}

#page_top {
    width: 80px;
    height: 80px;
    position: fixed;
    right: 5px;
    bottom: 75px;
    background: yellow;
    opacity: 0.6;
    border-radius: 50%;
}

#page_top a {
    position: relative;
    display: block;
    width: 80px;
    height: 80px;
    text-decoration: none;
}

  #page_top a::before {
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: '\f062';
    font-size: 50px;
    color: black;
    position: absolute;
    width: 80px;
    height: 70px;
    top: 10px;
    bottom: 0;
    right: 15px;
    left: 0;
    text-align: center;
}

@media screen and (max-width: 992px) {

    .footer_push-row .item {
        padding-bottom: 0;
    }
    
    .footer_push-row .txtarea {
        line-height: 1.5;
    }
    
    .footer_push-row .ttl {
        font-size: 2.5rem;
    }
    
    .footer_push-row .txt {
        font-size: 1.6rem;
    }

    .footer_push-row .txtarea .item img {
        width: 70%;
    }

}

@media screen and (max-width: 576px) {
    
    #page_top {
        width: 50px;
        height: 50px;
    }
    
    #page_top a::before {
        font-size: 35px;
        width: 51px;
    }

    .footer_push {
        margin: auto;
        background-image: url(../images/common/footer.png);
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center;
        position: relative;
    }

    .footer_push{
        background-size: auto 150%;
    }

    .footer_push-row .img_area {
        width: 40%;
        margin: auto;
    }
    
    .footer_push-row .txtarea {
        margin: auto;
    }
    
    .footer_push-row .ttl {
        margin: 1rem 0;
        font-size: 2rem;
    }

    .footer_push-row .txt {
        font-size: 1.5rem;
    }  

    .footer_push-row .txtarea .item img {
        width: 100%;
    }

    .footer_push-row .txtarea {
        width: 65%;
    }

    .copyright_pc {
        display: none
    }

    .copyright_sp {
        display: inline;
        color: #696659;
    }

    .footer_part02 {
        width: 95%;
        height: 100px;
        margin: auto;
        text-align: center;
        padding-top: 2rem;
    }

    .footer_part02 ul {
        width: fit-content;
        margin: 0 auto 1rem auto;
    }

    .footer_part03 {
        width: 50%;
        padding: 0;
        margin: auto;
    }

    .footer_sublogo-img {
        width: 100%;
    }

    #page_top {
        bottom: 5px;
    }

    .footer_push .container {
        width: 95%;
        margin: auto;
        padding: 0;
    }

    .footer_push-row .item {
        padding-bottom: 1rem;
    }
    
}

/*------------------------------------------------------------------------------
  フッター | ナビ
*-----------------------------------------------------------------------------*/
.footer_nav1 {
    max-width: 1720px;
    width: 95%;
    display: flex;
    align-items: center;
    margin: auto;
    height: 100%;
    padding-top: 5%;
}

.footer_nav1 .logo-part {
    width: 30%;
    margin: 3rem 0;
}

.footer_nav1 .nav-part {
    width: 65%;
}

.footer_nav1 ul {
   margin: 5rem 1rem;
   display: flex;
   line-height: 3.5rem;
   /*justify-content: space-between;*/
}

.footer_nav1 li {
   margin-left: 20px;
   margin-right: 20px;
   font-size: 15px;
   font-size: 1.5rem;
   /*font-family: '小塚ゴシック Pro','Kozuka Gothic Pro',"ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro", sans-serif;*/
   font-family: "Noto Sans JP", "Hiragino Sans", "ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Verdana,sans-serif;
   font-weight: bold;
}

.footer_nav1 li a{
    display: block;
}

.footer_nav2 {
    max-width: 1920px;
    display: flex;
    align-items: center;
    margin: auto;
    height: 70px;
    background-color: #FAF11A;
}

@media screen and (max-width: 576px) {
    
    .footer_nav1{
        display: none;
        padding-top: 0;
    }
    
    .footer_nav1 .nav-part .logo-part {
        display: none;
    }
        
    .footer_nav2 {
        height: 100px;
        background-size: 250% 400%;
        background-position: bottom;
        flex-wrap: wrap;
    }
}

/*------------------------------------------------------------------------------
  お問い合わせ：入力
*-----------------------------------------------------------------------------*/

.contact_btn_wrapper {
    text-align: center;
}


.m-contact{
  max-width: 1040px;
  margin: auto;
  margin: 50px auto;
}

.contact_lead{
  font-size: 20px;
  font-size: 2rem;
  margin-bottom: 70px;
  text-align: center;
  line-height: 1.9;
  font-weight: 300;
  margin-top: 70px;
}

@media (max-width: 600px){
  .contact_lead {
    width: 97%;
    margin: auto;
    font-size: 16px;
    font-size: 1.5rem;
    margin-bottom: 50px;
    text-align: left;
    margin-top: 0;
  }
}

.contact_flow{
  max-width: 830px;
  margin: auto;
  text-align: center;
  margin-bottom: 50px;
  display: none;
}

.m-contact .section{
  margin-bottom: 80px;
}

.contact_ttl{
  font-size: 26px;
  font-size: 2.6rem;
  font-weight: 500;
  text-align: center;
  margin: 100px 0 50px;
  padding-bottom: 30px;
  position: relative;
}

.contact_ttl::after{
  content: "";
  display: block;
  width: 70px;
  height: 3px;
  background-color: #00168a;
  position: absolute;
  bottom: 3px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

.m-contact .form_ttl{
  font-size: 24px;
  font-size: 2.4rem;
  margin-bottom: 10px;
}

.m-contact .formArea {
  /*border-bottom: 1px solid #d5dae3;*/
}


.formTable .whiteLine {
  border-top: 1px solid #d5dae3;
  border-bottom: 1px solid #d5dae3;
  padding: 20px 25px;
}

@media (max-width: 600px){
  .formTable .whiteLine {
    border-top: 1px solid #d5dae3;
    border-bottom: 1px solid #d5dae3;
    padding: 10px;
  }
}

.formTable .subject.must {
  /*
  background: url(/images/deliberation/must.png) 90% 3px no-repeat;
  background: url(/images/deliberation/must_ie8.png) 90% 3px no-repeat\9;
  */
  -moz-background-size: 43px 20px;
  background-size: 43px 20px;
  min-height: 20px;
}

.formTable .subject {
  width: 30%;
  display: inline-block;
  vertical-align: top;
  font-weight: 500;
}

@media (max-width: 600px){
  .formTable .subject {
    width: 100%;
    display: block;
    vertical-align: top;
    font-weight: 500;
  }
}

.formTable .subject p {
  height: 40px;
  line-height: 40px;
  font-size: 17px;
  font-size: 1.7rem;
  position: relative;
}

@media (max-width: 600px){
  .formTable .subject p {
    padding-right: 3px;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 100%;
    margin-top: 10px;
  }
}

.formTable .subject p .req{
  display: inline-block;
  font-size: 75%;
  color: #faa21a;
  margin-left: 20px;
  border: 1px solid #faa21a;
  padding: 1px 7px;
  position: absolute;
  right: 30px;

}

@media (max-width: 600px){
  .formTable .subject p .req {
    line-height: 1.7;
    position: relative;
    margin-top: 0;
    left: -5px;
    top: -1px;
  }
}

.formTable .inputItem {
  width: 60%;
  display: inline-block;
  vertical-align: top;
  /display: inline;
  /zoom: 1;
  padding-left: 15px;
  line-height: 35px;
  font-size: 16px;
  font-size: 1.6rem;
}

@media (max-width: 600px){
  .formTable .inputItem {
    width: 100%;
    padding-left: 0px;
  }
}

.formTable input.name, .formTable input.email, .formTable input.url, .formTable input.service, .formTable input.text  {
  width: 100%;
  height: 40px;
  color: #000;
  border: solid 1px #d1d1d6;
  box-sizing: border-box;
  text-indent: 4px;
  padding-left: 10px;
}

@media (max-width: 600px){
  .formTable input.name, .formTable input.email, .formTable input.url, .formTable input.service, .formTable input.text {
    width: 95%;
  }
}

input[type="text" i] {
  padding: 1px 2px;
}

input {
  -webkit-writing-mode: horizontal-tb !important;
  writing-mode: horizontal-tb;
  text-rendering: auto;
  color: -internal-light-dark(black, white);
  letter-spacing: normal;
  word-spacing: normal;
  text-transform: none;
  text-indent: 0px;
  text-shadow: none;
  display: inline-block;
  text-align: start;
  appearance: textfield;
  background-color: -internal-light-dark(rgb(255, 255, 255), rgb(59, 59, 59));
  -webkit-rtl-ordering: logical;
  cursor: text;
  margin: 0em;
  font: 400 13.3333px Arial;
  padding: 1px 2px;
  border-width: 2px;
  border-style: inset;
  border-color: -internal-light-dark(rgb(118, 118, 118), rgb(195, 195, 195));
  border-image: initial;
  font-size: 15px;
  font-size: 1.5rem;
}

.formTable .grayLine {

  background: #fff;
  padding: 15px 25px;
}

@media (max-width: 600px){
  .formTable .grayLine {
    padding: 10px;
  }
}

.formTable .grayLine ul{
  margin: 0;
}


.formTable ul li.unit, .formTable ul li.unit2 {
  width: 2.0em;
}

.formTable ul li {
  display: inline-block;
}


.formTable ul li.unit2 {
  margin-left: 1.0em;
}

.formTable input.tel {
  width: 100%;
  height: 40px;
  color: #000;
  border: solid 1px #d1d1d6;
  box-sizing: border-box;
  text-indent: 4px;
  padding-left: 10px;
}

@media (max-width: 600px){
  .formTable input.tel  {
    width: 95%;
  }
}

.formTable .subject span {
  display: block;
  font-size: 80%;
  font-weight: normal;
  line-height: 1.3;
  margin-top: 5px;
}

.formTable .textarea {
  width: 100%;
  min-height: 200px;
  border: solid 1px #d1d1d6;
}

@media (max-width: 600px){
  .formTable .textarea {
    width: 95%;
  }
}

.formTable .checkArea_01 {
  width: 35%;
  display: inline-block;
  vertical-align: top;
}


.formTable .checkArea_02 {
  width: 36%;
  display: inline-block;
  vertical-align: top;
  /display: inline;
  /zoom: 1;
}

@media (max-width: 600px){
  .formTable .checkArea_01,
  .formTable .checkArea_02  {
    width: 100%;
  }
}

label{
  display: block;
  line-height: 1.7;
}




textarea {
    -webkit-writing-mode: horizontal-tb !important;
    text-rendering: auto;
    color: -internal-light-dark(black, white);
    letter-spacing: normal;
    word-spacing: normal;
    text-transform: none;
    text-indent: 0px;
    text-shadow: none;
    display: inline-block;
    text-align: start;
    appearance: textarea;
    background-color: -internal-light-dark(rgb(255, 255, 255), rgb(59, 59, 59));
    -webkit-rtl-ordering: logical;
    flex-direction: column;
    resize: auto;
    cursor: text;
    white-space: pre-wrap;
    overflow-wrap: break-word;
    margin: 0em;
    font: 400 13.3333px Arial;
    border-width: 1px;
    border-style: solid;
    border-color: -internal-light-dark(rgb(118, 118, 118), rgb(195, 195, 195));
    border-image: initial;
    padding: 2px;
    font-size: 15px;
    font-size: 1.5rem;
}

select:not(:-internal-list-box) {
    overflow: visible !important;
}

select {
    -webkit-writing-mode: horizontal-tb !important;
    text-rendering: auto;
    color: -internal-light-dark(black, white);
    letter-spacing: normal;
    word-spacing: normal;
    text-transform: none;
    text-indent: 0px;
    text-shadow: none;
    display: inline-block;
    text-align: start;
    appearance: menulist;
    box-sizing: border-box;
    align-items: center;
    white-space: pre;
    -webkit-rtl-ordering: logical;
    background-color: -internal-light-dark(rgb(255, 255, 255), rgb(59, 59, 59));
    cursor: default;
    margin: 0em;
    font: 400 13.3333px Arial;
    border-radius: 0px;
    border-width: 1px;
    border-style: solid;
    border-color: -internal-light-dark(rgb(118, 118, 118), rgb(195, 195, 195));
    border-image: initial;
    padding: 5px;
    font-size: 15px;
    font-size: 1.5rem;
}

.formTable .personalInfo {
    background: #FFF;
    padding: 2%;
    border: 1px solid #e2e9ef;
    margin-bottom: 10px;
    height: 150px;
    overflow: auto;
    line-height:1.5;
}

.mb10 {
    margin-bottom: 10px;
}

.formTable .confirmBtn {
    text-align: center;
}

.formTable .confirmBtn input {
    width: 23.3%;
    margin: 50px auto;
}

input[type="checkbox" i] {
    background-color: initial;
    cursor: default;
    appearance: checkbox;
    box-sizing: border-box;
    margin: 3px 8px 3px 4px;
    padding: initial;
    border: initial;
}



button{
  background: transparent;
  border: 0;
  color: #fff;
  font-size: 1.6rem;
}


.btn_contactform{
margin: 50px auto;
padding: 15px;
width: 250px;
position: relative;
transition: .2s;
border-radius: 10px;
background: #696659;
}

.btn_contactform::after{
  content: "\＞";
font-family: 'Font Awesome 5 Free';
font-weight: 600;
display: inline-block;
position: absolute;
top: 50%;
-webkit-transform: translate(0,-50%);
transform: translate(0,-50%);
right: 20px;

}

.btn_contactform:hover{
  opacity: 0.8;
}

.btn_contactform:disabled {
    opacity: 0.65 !important;
}

/*------------------------------------------------------------------------------
  お問い合わせ：確認画面
*-----------------------------------------------------------------------------*/

.m-confirm{
  max-width: 70%;
  margin: 50px auto !important;
}

.m-confirm2{
  max-width: 70%;
  margin: 50px auto;
  margin-left: 34%;
}

.m-confirm h4 {
    /*background: url(/images/common/h3_bg.gif) 10px center no-repeat;*/
    background: url(/images/common/h3_bg_ie8.gif) 10px center no-repeat\9;
    -moz-background-size: 7px 23px;
    background-size: 7px 23px;
    font-size: 150%;
    font-weight: bold;
    line-height: 1.3;
    padding: 20px 0 20px 27px;
    margin: 50px 0 30px;
    border-top: 2px solid #696659;
    border-bottom: 2px dotted #696659;
    clear: both;
}

.m-confirm .formTable .whiteLine{
    border-top: 1px solid #d5dae3;
    border-bottom: 1px solid #d5dae3;
    padding: 15px;
}

.m-confirm .formTable .grayLine{
      padding: 15px;
}

.confirm_btn_wrapper{
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  max-width: 60%;
  margin: 10px auto 50px auto;
}

@media (max-width: 600px){
    .m-confirm2 {
        max-width: 85%;
        margin-left: auto;
    }
    .confirm_btn_wrapper {
        max-width: 100%;
    }
}

.confirm_btn_wrapper input{
  margin: auto;
  padding: 15px;
  width: 250px;
  position: relative;
  transition: .2s;
  border-radius: 10px;
  border: 2px solid #696659;
  color: #696659;
  background-color: #fff;
  text-align: center;
  cursor: pointer;
  font-size: 16px;
  font-size: 1.6rem;
}

@media (max-width: 600px){
  .confirm_btn_wrapper input {
    font-size: 12px;
    margin-right: 15px;
  }
}

.confirm_btn_wrapper input:hover,
.confirm_btn_wrapper .btn_confirm:hover{
  opacity: 0.8;
}

.confirm_btn_wrapper .btn_confirm{
  margin: 50px auto;
  padding: 15px;
  width: 250px;
  position: relative;
  transition: .2s;
  border-radius: 10px;
  background: #696659;
  cursor: pointer;
}

.confirm_btn_wrapper .btn_confirm:first-child{
  color: #696659;
  background: #fff;
  border: 1px solid #696659;
}

.btn_confirm:disabled {
    opacity: 0.65 !important;
}

.confirm_recaptcha {
    margin-top: 4rem;
    text-align: center;
}

.confirm_recaptcha > div {
    text-align: -webkit-center;
    padding-bottom: 1rem;
}

@media (max-width: 600px){
    .confirm_recaptcha > p {
        font-size: 14px;
    }
}
/*------------------------------------------------------------------------------
  送信完了画面
*-----------------------------------------------------------------------------*/

#deliberation.thanks .thanksMessage {
    margin: 80px 0 0;
    text-align: center !important;
    font-size: 20px;
    font-size: 2rem;
}

.mb10 {
    margin-bottom: 10px;
}

.fs15 {
    font-size: 116%;
}

.bold {
    font-weight: bold;
}

/*------------------------------------------------------------------------------
  個人情報保護方針
*-----------------------------------------------------------------------------*/
.m-security{
  max-width: 980px;
 margin: 64px auto 100px;
 font-size: 18px;
 font-size: 1.8rem;
}

@media screen and (max-width: 600px) {
    .m-security {
        font-size: 10.5px !important;
        width: 90%;
    }

    .main_security .main_ttl_en {
        top: 62%;
    }
}

.m-security .sub_ttl h2{
  margin: 100px auto 60px;
  text-align: center;
  font-size: 30px;
  font-size: 3rem;
  font-weight: 700;
  letter-spacing: 0.1rem;
  position: relative;
  padding-bottom: 35px;
}

.m-security .sub_ttl h2::after{
   content: "";
  display: block;
  width: 70px;
  height: 3px;
  background-color: #00168a;
  position: absolute;
  bottom: 3px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

.m-security p{
  line-height: 1.8;
  font-weight: 300;
}

.m-security .section{
  margin: 5px auto 50px;
}

.m-security .bottom {
  margin-top: 30px;
  text-align: right;
  margin-right: 100px;
}

@media screen and (max-width: 600px) {
  .m-security .bottom {
    margin-top: 20px;
    margin-right: 5px;
  }
}

.m-security ul {
  margin-left: 10px;
  margin-top: 65px;
}

@media screen and (max-width: 501px) {
  .m-security ul {
    margin-left: 0;
    height: 125vw;
    margin-top: 22vw;
  }
}

.m-security ul li {
  /*font-family: fot-matisse-pron, sans-serif;*/
  font-style: normal;
  font-weight: 500;
  text-align: left;
  margin: 0 auto;
  height: 60px;
}

@media screen and (max-width: 600px) {
  .m-security ul li {
    height: 95px;
    line-height: 1.8;
    white-space: normal;
  }
}

/*------------------------------------------------------------------------------
  情報セキュリティ方針
*-----------------------------------------------------------------------------*/
.m-isp{
  max-width: 980px;
 margin: 64px auto 100px;
 font-size: 18px;
 font-size: 1.8rem;
}

@media screen and (max-width: 600px) {
    .m-isp {
        font-size: 10.5px !important;
        width: 90%;
    }

    .main_isp .main_ttl_en {
        top: 62%;
    }
}

.m-isp h3 {
    line-height: 3rem;
    font-size: 1.8rem;
    font-weight: 300;
}

@media screen and (max-width: 600px) {
    .m-isp h3 {
        line-height: 2.4rem;
        font-size: 1.2rem;
    }
}

.m-isp p{
  line-height: 1.8;
  font-weight: 300;
  margin-bottom: 2rem;
}

.m-isp .section{
  margin: 5px auto 50px;
}

.m-isp .bottom {
  margin-top: 30px;
  text-align: right;
  margin-right: 5px;
}

@media screen and (max-width: 600px) {
  .m-isp .bottom {
    margin-top: 20px;
    margin-right: 5px;
  }
}

.m-isp ul {
  margin-left: 10px;
  margin-top: 65px;
}

@media screen and (max-width: 501px) {
  .m-isp ul {
    margin-left: 0;
    height: 125vw;
    margin-top: 22vw;
  }
}

.m-isp ul li {
  /*font-family: fot-matisse-pron, sans-serif;*/
  font-style: normal;
  font-weight: 500;
  text-align: left;
  margin: 0 auto;
  height: 60px;
}

@media screen and (max-width: 600px) {
  .m-isp ul li {
    height: 95px;
    line-height: 1.8;
    white-space: normal;
  }
}

/*-----------------------------------------------------------------------------*
    サイトマップ
 *-----------------------------------------------------------------------------*/

.m-sitemap{
  max-width: 1250px;
  margin: 80px auto 100px;
}

.m-sitemap .sitemap-line{
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
}

.m-sitemap  .opt-1clm{
  width: 45%;
  margin-left: 2.5%;
  border-bottom: 1px solid #eeeeee;
  transition: .5s;
}

.m-sitemap  .opt-1clm a{
  color: #000;
}

.m-sitemap .sitemap-line {
  margin: 0;
}

.m-sitemap .sitemap-line .sitemap_item{
  display: block;
  width: 45%;
  margin: auto;
  border-bottom: 1px solid #eeeeee;
  position: relative;
}

.m-sitemap .opt-1clm p,
.m-sitemap .sitemap-line .sitemap_item p{
  position: relative;
  margin-bottom: 0;
  margin-left: 25px;
  transition: .2s;
  cursor: pointer;
}

.m-sitemap .opt-1clm p::after, 
.m-sitemap .sitemap-line .sitemap_item p::after {
  content: "▶";
  color: #2ca959;
  position: absolute;
  top: 30px;
  left: 0;
}

.m-sitemap .opt-1clm p a, 
.m-sitemap .sitemap-line .sitemap_item p a {
    display: block;
}

.m-sitemap .sitemap-line .open::after {
  transform: rotate(90deg);
}

.m-sitemap .sitemap-line li p{
  color: #000;
  display: block;
  padding:  30px;
}

.m-sitemap .sitemap-line .sitemap_item{
  transition: .5s;
}

.m-sitemap .opt-1clm p:hover, 
.m-sitemap .sitemap-line .sitemap_item p:hover,
.m-sitemap .sitemap-line .sitemap_item .sitemap-locallist_btn:hover{
  background: #eeeeee;
}

.m-sitemap .sitemap-line .sitemap-locallist {
  display: none;
}

.m-sitemap .sitemap-line .sitemap-locallist p{
  line-height: 1.5;
  margin-left: 50px;
}

@media screen and (max-width: 600px) {
  .m-sitemap {
    margin: 30px auto 50px;
  }

  .m-sitemap .sitemap-line{
    display: block;
  }

  .m-sitemap .opt-1clm,
  .m-sitemap .sitemap-line .sitemap_item{
    width: 95%;
  }
}

/*------------------------------------------------------------------------------
  共通
*-----------------------------------------------------------------------------*/
/*
.l-contents{
    margin-top: 80px;
}
*/

.l-contents .ttl {
    font-size: 4rem;
}

.l-contents .ttl_en {
    font-size: 1.6rem;
}

.l-contents .txt {
    font-size: 1.5rem;
    line-height: 2;
}

.l-contents .main_ttl_area {
    margin-top: 200px;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    background-image:url(../images/flow/square.png);
    text-align: center;
}

.l-contents .main_ttl_sub {
    padding: 3rem 0 5rem 0;
}

.l-contents .txt_area .size_up {
    font-size: 2rem !important;
}

.hidden_pc{
    display: none;
}

.QS-color {
    color: #FAF11A !important;
}

.QS-font-color {
    color: #696659;
}

.under {
    text-decoration: underline;
}

table td {
    line-height: 1.8;
}

.page-link {
    display: block;
    width: 30%;
    text-align: center;
    font-weight: 700;
    margin: 5rem auto 0;
}

.page-link a {
    position: relative;
    text-decoration: underline;
    font-size: 1.7rem;
}

.page-link a:before {
    content: "";
    display: block;
    width: 90px;
    height: 90px;
    background-image: url(../images/common/button.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    left: -100px;
    margin-top: -30px;
}

.main_area{
    /*margin-top: 64px;*/
    background-image: url(../images/common/title_bkg.png);
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    background-size: 120% auto;
    min-height: 340px;
    position: relative;
}

.main_ttl_jp{
    position: absolute;
    top: 55%;
    left: 50%;
    -webkit-transform : translate(-50%,-50%);
    transform : translate(-50%,-50%);
    text-align: center;
}

.main_ttl_en{
    position: absolute;
    top: 65%;
    left: 50%;
    -webkit-transform : translate(-50%,-50%);
    transform : translate(-50%,-50%);
    text-align: center;
    font-size: 17.6px;
    font-size: 1.76rem;
    font-weight: 100;
    letter-spacing: 0.2rem;
}

.bdr-top-none {
    border-top-width: 0 !important;  
}

.dis_br {
    display: block;
}
  
.sp_br {
    display: none;
}

@media screen and (max-width: 992px) {

    body {
        line-height: 2.4rem;
        letter-spacing: 0.05;
        overflow-x: hidden;
    }
    
    .l-contents .ttl {
        font-size: 3rem;
    }

    .l-contents .ttl_en {
        font-size: 1.8rem;
    }

    .hidden_pc{
        display: block;
    }

    .hidden_sp{
        display: none;
    }

    .row{
        display: block;
    }
    
    .main_area {
        background-size: 200% 300%;
    }
    
}


@media screen and (max-width: 576px) {

    .l-contents{
        margin-top: 13vw;
    }

    .l-contents .ttl {
        font-size: 2.5rem;
    }

    .l-contents .ttl_en {
        font-size: 1.6rem;
    }

    .l-contents .txt {
        font-size: 1.44rem;
        line-height: 2;
    }
    .l-contents .txt_area {
        width: 85%;
        margin: auto;
    }

    .l-contents .txt_area .size_up {
        font-size: 1.7rem !important;
    }

    .l-contents .main_ttl_area {
        margin-top: 120px;

    }

    .l-contents .main_ttl_sub {
        font-size: 1.44rem;
    }

    .page-link {
        width: 60%;
        margin: 3.5rem auto 1rem;
    }

    .page-link a {
        font-size: 1.6rem;
        padding-left: 2rem;
    }

    .page-link a:before {
        content: "";
        display: block;
        width: 50px;
        height: 50px;
        top: 20px;
        left: -36px;
    }

    .main_ttl_jp{
        top: 45%;
    }

    .main_ttl_en{
        top: 57%;
    }
    
    .common_ttl02{
        font-size: 3rem;
        line-height: 1.2;
    }
    
    .sp_br {
        display: block;
    }
    
}