@charset "utf-8";
/*
@font-face {
    font-family: "megadot9";
    src: url("../font/megadot9.ttf") format("truetype");
  }

font-family: 'Noto Sans JP', sans-serif;
Neue Haas Grotesk
font-family: neue-haas-grotesk-display, sans-serif;


megadot9
font-family: 'megadot9',self;
*/


html {
    font-size: 62.5%;
    scroll-behavior: smooth;
    scroll-padding-top: 90px;
}
body {
    font-size: 1.4rem;
    font-family: 'Noto Sans JP', sans-serif;
    caret-color: transparent;
    background: #dce040;
    background-color: #f5f5f5;
/*
    background: linear-gradient(15deg, #DBDBDB, #FFFFFF, #A09999);
    background-size: 600% 600%;
    animation: GradientBackground 10s ease infinite;
*/
    color: #1e1e1e;
    min-width: auto;
    margin: 0 auto;
    font-feature-settings: "palt";
}


@keyframes GradientBackground {
    0% {
    background-position: 0% 50%;
    }

    50% {
    background-position: 100% 50%;
    }

    100% {
    background-position: 0% 50%;
    }
}
      


.inner {max-width: 1180px;width: 100%;margin: 0 auto;box-sizing: border-box;}
.inner_s {max-width: 1080px;width: 100%;margin: 0 auto;box-sizing: border-box;}

.marker {background: linear-gradient(transparent 60%, rgba(249, 240, 78, 0.8) 60%);}

.fmctr {
    caret-color: #1e1e1e;
    border-radius: 0.3em
}

a {
    color: #117ec6;
    text-decoration: none;
}
a:hover {
    color: #117ec6;
    text-decoration: underline;
}

.text-left {
    text-align: left;
}

.unread {
    display: block;
    color: #f00;
    font-size: 0.8em;
    line-height: 1em;
    margin-top: 0.2em;
}
.read {
    display: block;
    color: #333;
    font-size: 0.8em;
    line-height: 1em;
    margin-top: 0.2em;
}

.attention {
    color:#f00;
}






.material-symbols-outlined {
  font-variation-settings:
  'FILL' 0,
  'wght' 400,
  'GRAD' 0,
  'opsz' 48;
  
}



.shiny-btn1 {
    position: relative;
    overflow: hidden;
}
.shiny-btn1:hover {
    text-decoration: none;
    color: #fff;
}
.shiny-btn1::before {
    position: absolute;
    content: '';
    display: inline-block;
    top: -180px;
    left: 0;
    width: 30px;
    height: 100%;
    background-color: #fff;
    animation: shiny-btn1 4s ease-in-out infinite;
}
@-webkit-keyframes shiny-btn1 {
    0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}


/* **************************************************************** */
/* ヘッダー
*/
header {

}
header .container {
    align-items: center;
    justify-content: space-between;
    gap: 1em;
}
.header_logo {

}
.header_logo img {
    filter: drop-shadow(1px 1px 0px #fff);
}
.header_content {
    align-items: center;
    justify-content: space-between;
    gap: 1em;
    padding: 1em 0;
}
.header_menu {
    margin-left: auto;
}
.header_menu ul {
    gap: 1em;
}
.header_menu ul li {

}
.header_menu ul li + li {

}
.header_menu ul li a {
    color: #117ec6;
    text-decoration: none;
    font-weight: bold;
    letter-spacing: 0.1em;
}
.header_menu ul li a:hover {
    color: #117ec6;
    text-decoration: underline;
}

.header_util {

}
.header_util ul {
    align-items: center;
    justify-content: space-between;
    gap: 1em;
}
.header_util ul li {
    font-size: 0;
}

.btn_register {
    /*
    display: inline-block;
    background: #0059FF;
    border-radius: 2em;
    color: #FFFFFF;
    font-size: 14px;
    font-weight: bold;
    letter-spacing: 0.2em;
    line-height: 1.5;
    padding: 12px 24px 12px 24px;
    transition: .3s cubic-bezier(.4,.4,0,1);
*/
}
.btn_register:hover {
    /*
    color: #FFFFFF;
    background: #0000FE;
    text-decoration:none;
*/
}


.btn_login {
/*
    display: inline-block;
    background: #89AFF5;
    border-radius: 24px;
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    letter-spacing: 0.2em;
    line-height: 1.5;
    padding: 12px 24px 12px 24px;
    transition: .3s cubic-bezier(.4,.4,0,1);
*/
}
.btn_login:hover {
/*
    background: #5F95F9;
    color: #fff;
    text-decoration:none;
*/
}


.header_contact {
    color: #fff;
    text-decoration: none;
}
.header_contact:hover {
    color: #fff;
    text-decoration: none; 
}
.header_contact .box {
    background: linear-gradient(to right top, #37BD6E, #9ACE51, #FBDE34);
    position: relative;
    font-size: 1em;
}
.header_contact .box span {
    display: block;
    font-size: 1em;
    line-height: 1em;
    padding: 1.5em;
}



.front .header_content {
    /* border: solid 1px #262622; */
    /* border-radius: 0.5em; */
    /* background: #fff; */
    /* padding: 10px; */
    /* font-family: megadot9; */
    /* color: #fff;
}
.front .header_content .box {
    align-items: center;
    justify-content: space-between;
    /* background: #262622; */
    /* color: #fff; */
    /* padding: 10px 1em; */
    /* border-radius: 0.5em; */
    gap: 1em;
}
.front .header_content .box  {
    align-items: center;
    justify-content: space-between;
    gap: 1em;
}
.front .header_menu ul li a {
    font-weight: normal;
    font-size: 16px;
    line-height: 1em;
    color: #000;
    font-weight: bold;
}

.front .btn_register {
/*
    border-radius: 0.5em;
    background: #FF8A00;
    font-weight: normal;
    padding: 1em 1em;
    font-size: 14px;
    line-height: 1em;
*/
display: block;
border-radius: 100px;
box-shadow: 0 3px 3px #ccc
}
.front .btn_login {
/*
    border-radius: 0.5em;
    color:#FF8A00;
    background: #FFF0DF;
    font-weight: normal;
    padding: 1em 1em;
    font-size: 14px;
    line-height: 1em;
*/
display: block;
border-radius: 100px;
box-shadow: 0 3px 3px #ccc
}

.front .btn_register:hover img ,
.front .btn_login:hover img  {
    opacity:0.8;
}

/* **************************************************************** */
/* フッター
*/
footer {
    color: #fff;
    background: #00267b;
    padding: 2em 0;
    font-size: 1em;
}

.footer_bloc {
    text-align: center;
    margin-bottom: 2em;
}
.footer_logo {
    text-align: center;
    margin-bottom: 2em;
}
.footer_logo figure {
    margin-bottom: 0.5em;
}
.footer_logo p {
    font-size: 32px;
    line-height: 1em;
    font-weight: 900;
}

.footer_menu {
    flex: 1 0 0%;
    gap: 1em;
}

.address_bloc {
    margin-bottom: 1em;
}
.address_bloc address {
    text-align: center;
    margin-bottom: 1em;
    font-size: 1em;
}
.address_bloc p {
    font-size: 1em;
    line-height: 1.6em;
    text-align: center;
}






.footer_menu ul {
    gap: 1em;
    align-items: center;
    justify-content: center;
}
.footer_menu ul li {

}
.footer_menu ul li + li {

}
.footer_menu ul li a {
    color: #fff;
    text-decoration: none;
    font-weight: bold;
    letter-spacing: 0.1em;
}
.footer_menu ul li a:hover {
    color: #117ec6;
    text-decoration: underline;
}



footer .copyright {

}
footer .copyright p {

}
footer .copyright p small {
    display: block;
    font-size: 0.9em;
}

/* **************************************************************** */
/* コンタクト
*/






/* **************************************************************** */
/* 個別CSS
*/

.contents {
    background-color: #f5f5f5;
}
.front .contents {
    background: #fff;
}



/*
.template-home,
body[class^="template-auth"],
body[class^="template-mypage"],
body[class^="template-contact"]
{
    display: grid;
    grid-template-rows: 56px 1fr 194px;
    min-height: 100vh;
}
.template-home header,
body[class^="template-auth"] header,
body[class^="template-mypage"] header,
body[class^="template-contact"] header {
    grid-row: 1;
    grid-column: 1 / span 2;
}
.template-home main,
body[class^="template-auth"] main,
body[class^="template-mypage"] main,
body[class^="template-contact"] main {
    grid-row: 2;
    grid-column: 1 / span 2;
}
.template-home footer,
body[class^="template-auth"] footer,
body[class^="template-mypage"] footer,
body[class^="template-contact"] footer {
    grid-row: 3;
    grid-column: 1 / span 2;
}

.template-home main .contents ,
body[class^="template-auth"] main .contents,
body[class^="template-mypage"] main .contents,
body[class^="template-contact"] main .contents {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}
.template-home main .contents .container ,
body[class^="template-auth"] main .contents .container,
body[class^="template-mypage"] main .contents .container,
body[class^="template-contact"] main .contents .container {

}

.template-home .contents {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}
*/



body {
    display: grid;
    grid-template-rows: 90px 1fr 210px;
    min-height: 100vh;
}
body.front {
    display: block;
    min-height: auto;
    background: #fff;
}
header.flex {
    height: 90px;
    grid-row: 1;
    grid-column: 1 / span 2;
    align-items: center;
    justify-content: space-between;
    padding: 0 1em;
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 1000000000000;
    background: #fff;
    box-shadow: 0 2px 2px 0 rgb(0 0 0 / 14%), 0 3px 1px -2px rgb(0 0 0 / 12%), 0 1px 5px 0 rgb(0 0 0 / 20%);
}
.front header.flex {
    background: #fff;
    box-shadow: none;
    height: 90px;
    gap: 1em;
}



main {
    grid-row: 2;
    grid-column: 1 / span 2;
}



footer {
    grid-row: 3;
    grid-column: 1 / span 2;
}




/*
.template-home .contents,
*/
body[class^="template-auth"] .contents > .container
/*body[class^="template-auth"]:not('template-authpasswordsedit') .contents*/
 {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    padding: 4em 0;
}



body.template-authpasswordsedit .contents {
    display:block;
}












.breadcrumbs_bloc {
    background-color: #f5f5f5;
    padding: 1em 0;
}
.breadcrumb {
    font-size: 1.2rem;
    margin: 0;
}
.breadcrumb li {
    
}

.title_bloc {
    padding: 2em 0;
}
.title_bloc .en {
    font-size: 1.4rem;
    font-weight: 900;
    display: inline-block;
}
.title_bloc h1 {
    font-size: 3rem;
    font-weight: 900;
    margin-bottom: 0.2em;
}




.card {

}
.card-header {
    padding: 1rem 1rem;
}
.card-body {
    padding: 2rem 2rem;
}

.form-control {
    caret-color: #333;
    font-size: 1em;
    padding: 1rem 1rem;
    background: #8282821A;
    border: 1px solid #DADBDD !important;
    border-radius: 0.5em;
}
.form-check-label {
    font-size: 1em;
    line-height: 1.2em;
    cursor: pointer;
}

.btn {
    font-size: 1em;
    text-decoration: none;
}
.btn:hover {
    text-decoration: none;
}

.form-check {
    text-align: left;
}














.front main {
    padding-top: 90px;
}



.mv {
    width: 100%;
    padding: 4em 0;
    background: url(../images/bg_mv.webp) no-repeat center top;
    background-size: cover;
}
.front .mv video {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 177.77777778vh; /* 16:9 の幅→16 ÷ 9＝ 177.77% */
    height: 56.25vw; /* 16:9の幅 → 9 ÷ 16 = 56.25% */
    min-height: 100%;
    min-width: 100%;
}

.front .mv .inner {
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 2;
}
.front .mv .inner figure {
    width: 50%;
    position: relative;
}
.front .mv .inner figure figcaption {
    color: #000;
    font-size: 16px;
    font-weight: bold;
    text-shadow: #fff 2px 2px 0, #fff -2px -2px 0, #fff -1px 2px 0, #fff 2px -2px 0, #fff 0 2px 0, #fff 0 -2px 0, #fff -2px 0 0, #fff 2px 0 0;
    position: absolute;
    bottom: 1em;
    left: 0;
    right: 0;
    margin: 0 auto;
}

.front .mv {
    padding: 0;
    position: relative;
    overflow: hidden;
}

.mv .inner {
    align-items: flex-start;
    justify-content: center;
}

.mv_bloc {
    align-items: center;
    justify-content: space-between;
    gap: 2em;
}
.mv_bloc h1 {
    font-size: 3em;
    font-weight: 900;
    text-align: left;
}
.mv_bloc h1 em {
    
}
.mv_bloc figure {
    flex: 1 0 0%;
}

.front_mv_bloc {
    display: inline-block;
    flex: 1 0 0%;
    padding: 3em 0;
}
.front_mv_bloc h1 {
    margin-bottom: 0.5em;
    filter: drop-shadow(3px 3px 3px #fff);
}
.front_mv_bloc p {
    margin-bottom: 1em;
}




.front_mv_bloc h1 strong {
    font-size: 52px;
    line-height: 1em;
    font-weight: 900;
    color: #fff;
    text-shadow: 
        black 2px 2px 0, black -2px -2px 0,
        black -1px 2px 0, black 2px -2px 0,
        black 0 2px 0, black  0 -2px 0,
        black -2px 0 0, black 2px 0 0;
}


.front_mv_btn_bloc p {
    color:#FF8A00;
    font-size: 20px;
    line-height: 1em;
    font-weight: 900;
    text-shadow: 
        #fff 2px 2px 0, #fff -2px -2px 0,
        #fff -1px 2px 0, #fff 2px -2px 0,
        #fff 0 2px 0, #fff  0 -2px 0,
        #fff -2px 0 0, #fff 2px 0 0;
    text-align: right;
}


.front_mv_list {
    width: 100%;
    margin-bottom: 3em;
}
.front_mv_list ul {
    align-items: flex-start;
    justify-content: center;
    gap: 2em;
}
.front_mv_list ul li {
    
}

.front_mv_btn_bloc {

}
.front_mv_btn_bloc a {
    display: inline-block;
    background: #fff;
    border-radius: 100px;
    box-shadow: 0 3px 3px #ccc;
}
.front_mv_btn_bloc .btn_register:hover img {
    opacity:0.8;
}
.front_mv_btn_bloc p {
    color: #fff;
    text-shadow: none;
    font-size: 16px;
    line-height: 1em;
    margin-top: 0.5em;
    text-align: center;
    text-decoration: underline;
    text-decoration-thickness: 0px;
    text-underline-offset: 6px;
}

.front_mv_btn_bloc .btn_register span {
    display: inline;
    position: relative;
    padding-left: 1.5em;
}
.front_mv_btn_bloc .btn_register span:before {
    content: "▼";
    display: inline-block;
    transform: rotate(-90deg);
    font-family: 'Noto Sans JP';
    position: absolute;
    top: 0;
    left: 0;
}

.front_mv_btn_bloc a {

}
.front_mv_btn_bloc a:hover img {
    opacity:0.8;
}

.dot_title_bloc {
    margin-bottom: 3em;
}
.dot_title_bloc p {
    font-size: 24px;
    line-height: 1.2em;
    font-weight: 900;
    margin-bottom: 0.5em;
}
.dot_title_bloc .dot_title {
    margin-bottom: 0;
}
.dot_title span i {
    display: block;
    font-family: 'megadot9',self;
    font-style: normal;
    color: #fff;
    /* position: absolute; */
    /* top: 0; */
    /* left: 0.5em; */
    font-size: 16px;
    line-height: 1em;
    text-align: left;
    margin-bottom: 0.5em;
}
.dot_title {
    display: inline-block;
    border: solid 1px #000;
    background: #fff;
    padding: 10px;
    border-radius: 0.5em;
    margin-bottom: 3em;
    font-size: 1em;
}
.dot_title span {
    display: inline-block;
    font-family: 'megadot9',self;
    background: #000;
    color: #fff;
    font-weight: normal;
    font-size: 24px;
    line-height: 1em;
    padding: 1em;
    border-radius: 0.25em;
    position: relative;
    letter-spacing: 0.1em;
}
.dot_title span em {
    display: inline-block;
    font-size: 36px;
    vertical-align: bottom;
}

.trouble {

}
.trouble_title {
    background: #00267b;
    padding: 1.5em 0;
}
.trouble_title h2 {

}

.trouble_content {
    background: #006CF0 url(../images/bg_04.webp) no-repeat center top;
    padding: 3em 0;


}






.trouble_bloc {
    margin-bottom: 3em;
}
.trouble_bloc ul {
    max-width: 1100px;
    align-items: stretch;
    justify-content: space-between;
    gap: 1em;
}
.trouble_bloc ul li {
    font-size: 24px;
    line-height: 1.2em;
    font-weight: 900;
    text-align: left;
    position: relative;
    padding-left: 2em;
    background: #fff;
    width: calc(100% / 2 - 1em);
    padding: 1em 1em 1em 3em;
    box-sizing: border-box;
    align-items: center;
    justify-content: flex-start;
    min-height: 4.5em;
}
.trouble_bloc ul li em {
    color:#086ff0;
}

.trouble_bloc ul li:before {
    content: "";
    width: 30px;
    height: 30px;
    background: url(../images/icon_check.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: 0;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    left: 1em;
}

.trouble_bloc figure {
    mix-blend-mode: multiply; 
}
.trouble_bottom {

}
.trouble_bottom p {
    color: #fff;
    font-size: 38px;
    line-height: 1em;
    font-weight: 900;
    margin-bottom: 0.5em;
}
.trouble_bottom figure {
    
}


.solution {
    background: #e6f1ff url(../images/bg_01.webp) no-repeat center top;
    padding-bottom: 3em;
}

.solution_title {
    align-items: flex-end;
    justify-content: center;
    margin-bottom: 3em;
}
.solution_title h2 {
    margin-top: -2em;
}
.solution_title figure {
    margin-left: -5em;
}

.solution_upper {
    margin-bottom: 2em;
}
.solution_upper p {
    display: inline-block;
    background-image: url(../images/icon_math_01.png), url(../images/icon_math_02.png);
    background-repeat: no-repeat;
    background-position: left top, right bottom;
    padding: 1em 2em;
    font-size: 34px;
    line-height: 1.6em;
    font-weight: 900;
}
.solution_upper p span {
    color:#006cf0;
}
.solution_upper p em {
    color:#ff6161;
}

.about_factoring {
    background: url(../images/bg_05.jpg) repeat;
    padding: 3em 0;
}
.about_factoring_upper {
    margin-bottom: 3em;
}
.about_factoring_upper h2 {
    display: inline-block;
    background-image: url(../images/icon_math_01.png), url(../images/icon_math_02.png);
    background-repeat: no-repeat;
    background-position: left top, right bottom;
    padding: 1em 2em;
    font-size: 34px;
    line-height: 1.6em;
    font-weight: 900;
    font-size: 42px;
    line-height: 1.4em;
    margin-bottom: 0.5em;
}
.about_factoring_upper h2 em {
    color: #006cf0;
    font-size: 54px;
}
.about_factoring_upper p {
    font-size: 25px;
    font-weight: bold;
}
.about_factoring_upper p em {
    color:#006cf0;
}

.about_factoring_bottom {

}






















.merit {
    background: #006cf0 url(../images/bg_04.webp) no-repeat center top;
    padding: 4em 0;
}
.merit_upper {
    position: relative;
}
.merit_upper h2 {
    display: inline-block;
    background-image: url(../images/icon_math_01_w.png), url(../images/icon_math_02_w.png);
    background-repeat: no-repeat;
    background-position: left top, right bottom;
    padding: 1em 2em;
    font-size: 34px;
    line-height: 1.6em;
    font-weight: 900;
    font-size: 42px;
    line-height: 1.4em;
    margin-bottom: 0.5em;
    color: #fff;
}
.merit_upper h2 em {
    color: #ffeb31;
    font-size: 54px;
}
.merit_upper figure {
    position: absolute;
    bottom: 0;
    right: 2em;
}

.merit_bloc {
    background: url(../images/bg_05.jpg) repeat;
    max-width: 1100px;
    margin: 0 auto;
    padding: 4em;
}
.merit_bloc ol {
    display: inline-block;
    text-align: left;
}
.merit_bloc ol li {

}
.merit_bloc ol li + li {
    margin-top: 1.5em;
}

.merit_bloc ol li .meta {
    align-items: center;
    justify-content: space-between;
    padding-bottom: 1em;
    margin-bottom: 1em;
    border-bottom: solid 1px #666666;
    gap: 1em;
}
.merit_bloc ol li .meta span {
    color: #78879a;
    font-size: 32px;
    line-height: 1em;
    font-weight: 900;
}
.merit_bloc ol li .meta span em {
    font-size: 42px;
}
.merit_bloc ol li .meta h3 {
    font-size: 30px;
    line-height: 1.2em;
    font-weight: 900;
    flex: 1 0 0%;
    text-align: left;
}
.merit_bloc ol li .meta h3 em {
    color:#006cf0;
}

.merit_bloc ol li .detail {

}
.merit_bloc ol li .detail p {
    font-size: 18px;
    line-height: 1.6em;
    font-weight: bold;
}






.cvs {
    background: url(../images/bg_02.webp) no-repeat center top;
    padding: 4em 0 0;
}

.cvs_upper {
    display: inline-block;
    background-image: url(../images/icon_math_01.png), url(../images/icon_math_02.png);
    background-repeat: no-repeat;
    background-position: left top, right bottom;
    padding: 0.5em 1em;
    font-size: 34px;
    line-height: 1.6em;
    font-weight: 900;
    font-size: 42px;
    line-height: 1.4em;
    margin-bottom: 0.5em;
}
.cvs_upper p {
    align-items: center;
    justify-content: space-between;
    gap: 0.25em;
    margin-bottom: 0.25em;
}
.cvs_upper p em {

}
.cvs_upper p span {
    
}

.cvs_upper h2 {
    font-size: 36px;
    line-height: 1.6em;
    font-weight: 900;
}
.cvs_upper h2 em {
    color: #006cf0;
    font-size: 48px;
    font-weight: 900;
}
.cvs_upper h2 b {
    font-size: 48px;
    font-weight: 900;
}

.cvs_bloc {
    position: relative;
    padding-bottom: 4em;
}
.cvs_bloc h3 {
    font-size: 22px;
    line-height: 1.6em;
    font-weight: 900;
    margin-bottom: 1em;
    position: relative;
    z-index: 2;
}
.cvs_bloc h3 em {
    color: #006cf0;
    font-size: 26px;
}

.cvs_bloc p {
    position: relative;
    z-index: 2;
    margin-bottom: 2em;
}
.cvs_bloc .front_mv_btn_bloc {
    position: relative;
    z-index: 2;
}
.cvs_bloc figure {
    position: absolute;
    bottom: 0;
    left: -4em;
}









.reason {
    background: url(../images/bg_05.jpg) repeat;
    padding: 4em;
}
.reason_upper {

}
.reason_upper h2 {
    display: inline-block;
    background-image: url(../images/icon_math_01.png), url(../images/icon_math_02.png);
    background-repeat: no-repeat;
    background-position: left top, right bottom;
    padding: 1em 2em;
    font-size: 34px;
    line-height: 1.6em;
    font-weight: 900;
    font-size: 42px;
    line-height: 1.4em;
    margin-bottom: 0.5em;
}
.reason_upper h2 span {
    color:#006cf0;
}
.reason_upper h2 span em {
    font-size: 50px;
}



.reason_bloc {
    align-items: stretch;
    justify-content: center;
    gap: 2em;
}
.reason_item {
    background: #fff;
    padding: 1.5em;
    /* border-radius: 1em; */
    width: 100%;
    max-width: 350px;
    border: solid 4px #bdc8d1;
    position: relative;
}
.reason_item .num {
    position: absolute;
    top: 0;
    left: 0;
}
.reason_item figure {
    margin-bottom: 1em;
}


.reason_item h3 {
    margin-bottom: 1em;
}
.reason_item h3 span {
    display: inline-block;
    font-size: 28px;
    line-height: 1.4em;
    font-weight: 900;
}
.reason_item h3 span em {
    color:#006cf0;
}
.reason_item p {
    font-size: 18px;
    line-height: 1.6em;
    font-weight: bold;
    text-align: left;
}



.flows {
    background: #006cf0 url(../images/bg_04.webp) no-repeat center top;
    padding: 4em 0 0;
    overflow: hidden;
}

.flows_upper {
    margin-bottom: 2em;
}
.flows_upper h2 {
    display: inline-block;
    background-image: url(../images/icon_math_01_w.png), url(../images/icon_math_02_w.png);
    background-repeat: no-repeat;
    background-position: left top, right bottom;
    padding: 1em 2em;
    font-size: 34px;
    line-height: 1.6em;
    font-weight: 900;
    font-size: 42px;
    line-height: 1.4em;
    margin-bottom: 0.5em;
    color: #fff;
}

.flows_bloc {
    max-width: 1100px;
    margin: 0 auto;
}

.flows_item {
    background: url(../images/bg_05.jpg) repeat;
    align-items: center;
    justify-content: space-between;
}
.flows_item + .flows_item {
    margin-top: 3em;
}

.flows_left {
    background: #d1e5ff;
    width: 100%;
    max-width: 380px;
    align-items: center;
    justify-content: flex-start;
    gap: 2em;
    padding: 1em 2em;
}
.flows_left figure {
    
}
.flows_left h3 {
    font-size: 28px;
    line-height: 1.4em;
    text-align: left;
    font-weight: 900;
}

.flows_box {
    flex: 1 0 0%;
    text-align: left;
    padding: 2em;
}
.flows_box p {
    font-size: 18px;
    line-height: 1.6em;
    font-weight: 900;
}
.flows_box p em {
    color:#ff6b71;
}
.flows_box p span {
    color:#f36100;
}


.flows_bottom {
    max-width: 1100px;
    margin: 0 auto;
    position: relative;
    padding: 4em 0 8em;
}
.flows_bottom .front_mv_btn_bloc {
    
}
.flows_bottom .front_mv_btn_bloc h4 {
    color: #fff;
    font-size: 50px;
    font-weight: 900;
    margin-bottom: 0.5em;
}
.flows_bottom .front_mv_btn_bloc p {
    font-size: 36px;
    font-weight: 900;
    margin-bottom: 1em;
    text-decoration: none;
    align-items: center;
    justify-content: center;
}
.flows_bottom .front_mv_btn_bloc p span {
    color: #fff;
    font-size: 26px;
    font-weight: 900;
}
.flows_bottom figure {
    position: absolute;
    bottom: 0;
    right: -4em;
}















.voice {
    background: #e6f1ff url(../images/bg_03.webp) no-repeat center top;
    padding: 4em 0;
}

.voice_upper {
    max-width: 1100px;
    margin: 0 auto 3em;
}
.voice_upper .ttl_cell {
    background: #fff;
    padding: 1em;
}

.voice_upper h2 {
    display: inline-block;
    background-image: url(../images/icon_math_01_g.png), url(../images/icon_math_02_g.png);
    background-repeat: no-repeat;
    background-position: left top, right bottom;
    padding: 1em 2em;
    font-size: 34px;
    line-height: 1.6em;
    font-weight: 900;
    font-size: 42px;
    line-height: 1.4em;
    width: 100%;
}
.voice_upper h2 em {
    color: #006cf0;
    font-size: 50px;
}
.voice_upper figure {
    margin-top: -10em;
}



.voice_bloc {
    max-width: 1100px;
    margin: 0 auto;
}
.voice_item {
    background: url(../images/bg_05.jpg) repeat;
    align-items: center;
    justify-content: space-between;
    gap: 2em;
    padding: 2em;
}
.voice_item + .voice_item {
    margin-top: 3em;
}

.voice_meta {
    width: 220px;
}
.voice_meta figure {
    margin-bottom: 1em;
}
.voice_box dl {
    align-items: flex-end;
    justify-content: flex-start;
    gap: 1em;
}
.voice_box dl dt {
    font-size: 16px;
    line-height: 1em;
}
.voice_box dl dd {
    font-size: 18px;
    line-height: 1em;
    font-weight: 900;
}
.voice_box dl dd em {
    font-size: 24px;
    line-height: 1em;
    font-weight: 900;
    margin: 0 0.2em;
}

.voice_box {
    flex: 1 0 0%;
    text-align: left;
}
.voice_box h3 {
    color: #006cf0;
    font-size: 28px;
    line-height: 1.2em;
    font-weight: 900;
    margin-bottom: 0.5em;
}
.voice_box p {
    font-size: 18px;
    line-height: 1.6em;
    margin-bottom: 1em;
}

.voice_bottom {
    
}
.voice_bottom a {
    display: inline-block;
    max-width: 500px;
    width: 100%;
    border: solid 1px #000;
    background: #fff;
    padding: 10px;
    border-radius: 0.5em;
}
.voice_bottom a span {
    display: inline-block;
    width: 100%;
    font-family: 'megadot9',self;
    background: #FF8A00;
    color: #fff;
    font-weight: normal;
    font-size: 20px;
    line-height: 1.4em;
    padding: 1em;
    border-radius: 0.25em;
    position: relative;
}
.voice_bottom a span:after{
    content: "▼";
    display: inline-block;
    font-family: 'Noto Sans JP';
    position: absolute;
    bottom: 0.5em;
    right: 0.5em;
}

.voice_bottom a:hover span {
    background: rgb(255 138 0 / 80%);
}










.cv {
    width: 100%;
    padding: 4em 0;
    position: relative;
}
.cv .inner {
    position: relative;
    z-index: 1;
}
.cv:after {
    content: "";
    filter: brightness(0.2);
    background: url(../images/bg_cv.webp) no-repeat center bottom 16%;
    background-size: cover;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;

}

.cv_bloc {

}
.cv_bloc h2 {
    color: #fff;
    font-size: 4rem;
    font-weight: bold;
    text-shadow: 3px 3px 0 #000;
    margin-bottom: 0.5em;
}
.cv_bloc h2 em {
    color: #fff100;
    font-size: 1.2em;
    font-weight: 900;
}
.btn_cv {
    background: #0059FF;
    border: solid 2px #0059FF;
    border-radius: 2em;
    padding: 1.2em 1em 1.4em;
    width: 320px;
    max-width: 100%;
    font-size: 18px;
    letter-spacing: 0.2em;
    line-height: 1;
    font-weight: 700;
    color: #fff;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    transition: .3s cubic-bezier(.4,.4,0,1);
}
.btn_cv:hover {
    background: #0000FE;
    border: solid 2px #fff;
    color: #fff;
    text-decoration:none;
}

.btn_cv span {
    display: inline-block;
}
.btn_cv i {
    font-size: 0.9em;
    transition: .3s cubic-bezier(.4,.4,0,1);
}
.btn_cv:hover i {
    transform: translate(12px, 0px);
    transition-delay: 100ms;
}


.sec_title {
    font-size: 3rem;
    font-weight: 900;
    text-shadow: 3px 3px 0 #fff;
    margin-bottom: 1em;
}



.news {
    background: #fff;
    padding: 3em 0;
}
.news_bloc {
    max-width: 800px;
    margin: 0 auto;
}
.news_bloc article {
    text-align: left;
}
.news_bloc article + article {
    border-top: solid 2px #D9D9D9;
    margin-top: 1em;
    padding-top: 1em;
}

.news_bloc article time {
    display: block;
    color: #FF8A00;
    margin-bottom: 0.5em;
    font-size: 16px;
    line-height: 1em;
    font-weight: bold;
}
.news_bloc article .box {
    
}
.news_bloc article .box h3 {
    color: #2A3C44;
    font-size: 18px;
    line-height: 1.4em;
    font-weight: 900;
}
.news_bloc article .box .news_detail {
    color: #000;
    font-size: 14px;
    line-height: 1.4em;
    font-weight: bold;
    margin-top: 0.5em;
}
.news_bloc article .box .news_detail a {
    color: #FF8A00;
    text-decoration: underline;
}
.news_bloc article .box .news_detail a:hover {
    text-decoration: none;
}

.template-home .colum {
    background: #F7DDBF;
    padding: 3em 0;
}
.colum {
    padding: 3em 0;
}

.colum_bloc {
    align-items: stretch;
    justify-content: center;
    gap: 2em;
}
.colum_bloc article {
    width: 100%;
    max-width: 294px;
    border-radius: 1em;
    box-shadow: 0 1px 2px #999;
    overflow: hidden;
    background: #fff;
}
.colum_bloc article + article {
    
}

.colum_bloc article figure {
    background: #fff;
}
.colum_bloc article figure img {
    width:100%;
    transition: .3s cubic-bezier(.4,.4,0,1);
}
.colum_bloc article .box {
    background: #fff;
    padding: 1em;
}
.colum_bloc article .box h3 {
    font-size: 1.4rem;
    font-weight: bold;
}
.colum_bloc article .box .colum_detail {
    
}

.colum_bloc article a {
    display: block;
    transition: .3s cubic-bezier(.4,.4,0,1);
    height: 100%;
}
.colum_bloc article a:hover {
    text-decoration: none;
}

.colum_bloc article a:hover figure img {
    opacity:0.8;
}


.attachment {

}
.attachment img {
	width: 100%;
    height: auto;
}
.attachment + span {
	display:none;	
}
.attachment__caption {
	display:none;
}







.company {
    padding: 3em 0;
}
.company h2 {
    display: block;
    font-size: 30px;
    line-height: 1em;
    font-weight: 900;
    border-top: solid 2px #bdc8d1;
    border-bottom: solid 2px #bdc8d1;
    margin-bottom: 1em;
    padding: 1em;
}
.company_upper {
    max-width: 900px;
    margin: 0 auto 3em;
}
.company_upper_bloc {

}
.company_upper_bloc h3 {
    font-size: 30px;
    line-height: 1.4em;
    font-weight: 900;
    margin-bottom: 1em;
}
.company_upper_bloc .message {
    font-size: 21px;
    line-height: 1.8em;
    font-weight: bold;
    text-align: left;
    margin-bottom: 1em;
}
.company_upper_bloc .signature {
    text-align: right;
}


.company_bloc {
    max-width: 900px;
    margin: 0 auto;
}

.company_data {
    width: 100%;
    font-size: 1.6rem;
    display: inline-block;
    margin-bottom: 3em;
}
.company_data dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 2rem;
    /* margin-top: 1rem; */
    border-top: 1px solid #ccc;
    padding: 1em;
}
.company_data dl:last-child {
    border-bottom: 1px solid #ccc;
}
.company_data dl + dl {
    
}
.company_data dl dt {
    min-width: 20rem;
    text-align: left;
}
.company_data dl dd {
    flex: 1 0 0%;
    text-align: left;
}

.company_photo {
    margin-bottom: 3em;
}
.company_photo ul {
    align-items: flex-start;
    justify-content: center;
    gap: 3em;
}
.company_photo ul li {

}
.company_photo ul li + li {

}













.gmap {
    margin-top: 1em;
}
.gmap iframe {
    width: 100%;
    aspect-ratio: 16/9;
  
}


.question {
    padding:3em 0;
}
.question_bloc {
    max-width: 900px;
    margin: 0 auto;
}

.question_menu {
    margin-bottom: 3em;
}
.question_menu ul {

}
.question_menu ul li {
    width: calc(100% / 4);
    border-top: solid 4px #bdc8d1;
    border-bottom: solid 4px #bdc8d1;
}
.question_menu ul li + li {
    border-left: solid 1px #bdc8d1;
}
.question_menu ul li:first-child {
    border-left: solid 4px #bdc8d1;
}
.question_menu ul li:last-child {
    border-right: solid 4px #bdc8d1;
}


.question_menu ul li a {
    display: inline-block;
    width: 100%;
    background: #fff;
    padding: 1em;
    text-align: left;
    position: relative;
}
.question_menu ul li a:after {
    content: "↓";
    display: inline-block;
    position: absolute;
    /* bottom: 0.5em; */
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    right: 1em;
    color: #fff;
    background: #006cf0;
    width: 1.5em;
    height: 1.5em;
    text-align: center;
    border-radius: 50%;
}
.question_menu ul li a span {
    display: inline-block;
    color: #000;
    font-size: 16px;
    line-height: 1.6em;
    font-weight: 900;
}

.question_menu ul li a span em {
    display: block;
    color: #006cf0;
    font-size: 20px;
    font-weight: 900;
}







.question_item {

}
.question_item + .question_item {
    margin-top: 3em;
}

.question_item h2 {
    display: block;
    font-size: 30px;
    line-height: 1em;
    font-weight: 900;
    border-top: solid 2px #bdc8d1;
    border-bottom: solid 2px #bdc8d1;
    margin-bottom: 1em;
    padding: 1em;
}
.question_item h2 em {
    color: #006cf0;
}



.question_item {

}
.question_item dl {
    text-align: left;
    border: solid 4px #bdc8d1;
}
.question_item dl + dl {
    margin-top: 2em;
}
.question_item dl dt {
    position: relative;
    font-size: 21px;
    font-weight: 900;
    padding-top: 0.3em;
    padding-left: 3em;
    padding-bottom: 0.3em;
    /* margin-bottom: 0.5em; */
    /* color: #fff; */
    background: #bdc8d1;
    padding: 0.5em 1em 0.5em 2.2em;
}
.question_item dl dd {
    position: relative;
    font-size: 16px;
    line-height: 1.8em;
    padding-top: 1em;
    padding-left: 3em;
    padding-right: 1em;
    padding-bottom: 1em;
    background: #fff;
    font-weight: bold;
}

.question_item dl dd .s_blue {
    color: #006cf0;
}
.question_item dl dd .s_red {
    color: #ff6b71;
}
.question_item dl dd a {
    color: #1e1e1e;
    text-decoration: underline;
}
.question_item dl dd a:hover {
    text-decoration: none;
}







.question_item dl dt:before {
    content: "Q";
    color: #fff;
    display: block;
    text-align: center;
    position: absolute;
    top: 0;
    top: 0.65em;
    /* transform: translateY(-50%); */
    /* -webkit-transform: translateY(-50%); */
    left: calc(2rem - 2px);
    font-size: 2rem;
    line-height: 1em;
    font-weight: bold;
}
.question_item dl dd:before {
    content: "A";
    color: #bdc8d1;
    display: block;
    text-align: center;
    position: absolute;
    top: 0;
    top: 1em;
    /* transform: translateY(-50%); */
    /* -webkit-transform: translateY(-50%); */
    left: 2rem;
    font-size: 2rem;
    line-height: 1em;
    font-weight: bold;
}


















/*mypage*/

body[class^="template-authpassword"],
body[class^="template-mypage"] {
    grid-template-rows: 90px 1fr;
}
body[class^="template-authpassword"] main > .contents,
body[class^="template-mypage"] main > .contents {
    height: 100%;
    padding: 0;
}





.mypage_container {
    height: 100%;
}
.mypage_container > .row {
    height: 100%;
    margin-top: 0;
    margin-right: 0;
    margin-left: 0;
}


.mypage_side {
    background: #fff;
    box-shadow: 0 2px 2px 0 rgb(0 0 0 / 14%), 0 3px 1px -2px rgb(0 0 0 / 12%), 0 1px 5px 0 rgb(0 0 0 / 20%);
    padding: 90px 0 0;
    margin: 0;
    text-align: left;
    width: 240px;
    height: 100vh;
    box-sizing: border-box;
    position: fixed;
    top: 0;
    left: 0;
}
.mypage_side .contents {
    background: none;
    padding: 2em 1em!important;
}
.mypage_side .contents .announce {
    margin-bottom: 1em;
}
.mypage_side .contents .announce p {

}

.mypage_side .contents nav {

}
.mypage_side .contents nav ul {

}
.mypage_side .contents nav ul + ul {
    border-top: solid 1px #ccc;
    padding-top: 1.5em;
    margin-top: 1.5em;
}


.mypage_side .contents nav ul li {

}
.mypage_side .contents nav ul li + li {
    margin-top: 1em;
}
.mypage_side .contents nav ul li a {
    color: #1e1e1e;
}
.mypage_side .contents nav ul li a i {
    width: 1.5em;
    text-align: center;
}
.mypage_side .contents nav ul li a span {
    font-size: 1.1em;
}






.mypage_col {
    background: #dbdbdb;
    padding-left: 240px;
    padding-right: 0;
    padding-bottom: 2em;
    margin: 0;
}
.mypage_col .container {
    padding-right: 2em;
    padding-left: 2em;
    padding-top: 2em;
    height: 100%;
}


.mypage_title_bloc {
    margin-bottom: 1em;
}
.mypage_title_bloc h2 {
    font-size: 1.5rem;
    font-weight: bold;
    text-align: left;
}

.m_flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid rgba(0,0,0,0.12);
    font-size: 1.1em;
    padding-bottom: 0.8em;
}
.m_flex + .m_flex {
    padding-top: 0.8em;
}
.m_flex dt {
    min-width: 12em;
    text-align: left;
    font-weight: normal;
    font-size: 1.4rem;
}
.m_flex dd {
    flex: 1 0 0%;
    text-align: left;
}
.m_flex dt.required:after {
    content: "必須";
    display: inline-block;
    background: #1a76d3;
    color: #fff;
    font-size: 10px;
    line-height: 1;
    padding: 3px 3px 3px 2px;
    border-radius: 2px;
    margin-left: 0.5em;
    vertical-align: text-bottom;
}

.m_flex + .btn_bloc {
    margin-top: 1.5em;
}


.m_content {

}
.m_content + .m_content {
    margin-top: 2em;
}

.m_content .btn_bloc {

}

.btn_change,
.btn_bloc button.btn_change {
    display: inline-block;
    background: #ccc;
    border-radius: 24px;
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    letter-spacing: 0.2em;
    line-height: 1.5;
    padding: 12px 24px 12px 24px;
    transition: .3s cubic-bezier(.4,.4,0,1);
}
.btn_change:hover,
.btn_bloc button.btn_change:hover {
    color:#fff;
    text-decoration: none;
    background: #89AFF5;
}


.btn_add,
.btn_bloc button.btn_add {
    display: inline-block;
    background: #0059FF;
    border-radius: 24px;
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    letter-spacing: 0.2em;
    line-height: 1.5;
    padding: 12px 24px 12px 24px;
    transition: .3s cubic-bezier(.4,.4,0,1);
}
.btn_add:hover,
.btn_bloc button.btn_add:hover {
    color:#fff;
    text-decoration: none;
    background: #0000FE;
}


.m_title {
    font-size: 1.2em;
    font-weight: bold;
    text-align: left;
    margin-bottom: 0.5em;
}
.m_card {
    background: #fff;
    padding: 2em;
    border-radius: 1em;
    box-shadow: 0 2px 2px 0 rgb(0 0 0 / 14%), 0 3px 1px -2px rgb(0 0 0 / 12%), 0 1px 5px 0 rgb(0 0 0 / 20%);
}

.form-group + .form-group {
    margin-top:0.2em;
}


.announce_bloc {
    background: #fff;
    width: 100%;
    padding: 1.5em;
    margin-bottom: 1em;
    box-sizing: border-box;
    border-radius: 0.5em;
}
.announce_bloc p {
    font-size: 1em;
    text-align: left;
}
.announce_bloc p a {
    display: block;
}
.announce_bloc p a:hover {

}


.urikake_btn {
    background: #ff9d1f;
    border: solid 2px #ff9d1f;
    border-radius: 2em;
    padding: 1em 1em 1.2em;
    width: 100%;
    max-width: 320px;
    font-size: 16px;
    letter-spacing: 0.2em;
    line-height: 1;
    font-weight: 700;
    color: #fff;
    align-items: center;
    justify-content: center;
    transition: .3s cubic-bezier(.4,.4,0,1);
}
.urikake_btn:hover {
    background: #ff801f;
    border: solid 2px #ff801f;
}



.urikake_login_btn {
    background: #006cf0;
    border: solid 2px #006cf0;
    border-radius: 2em;
    padding: 1em 1em 1.2em;
    width: 100%;
    max-width: 320px;
    font-size: 16px;
    letter-spacing: 0.2em;
    line-height: 1;
    font-weight: 700;
    color: #fff;
    align-items: center;
    justify-content: center;
    transition: .3s cubic-bezier(.4,.4,0,1);
}
.urikake_login_btn:hover {
    background: #0f6eac;
    border: solid 2px #0f6eac;
}








.urikake_btn_back {
    background: #ccc;
    border: solid 2px #ccc;
    border-radius: 2em;
    padding: 1em 1em 1.2em;
    width: 100%;
    max-width: 320px;
    font-size: 16px;
    letter-spacing: 0.2em;
    line-height: 1;
    font-weight: 700;
    color: #fff;
    align-items: center;
    justify-content: center;
    transition: .3s cubic-bezier(.4,.4,0,1);
}
.urikake_btn_back:hover {
    background: #aaa;
    border: solid 2px #aaa;
}

.thanks_bloc {

}
.thanks_bloc p {
    font-size: 16px;
    line-height: 1.6em;
}








.center {
    align-items: center;
    justify-content: center;
    gap: 2em;
}
.center.flex {
    align-items: center;
    justify-content: center;
}

.register_bloc {
    flex: auto;
    width: auto;
    max-width: 420px;
}
.register_bloc .card {
    border-radius: 0;
}
.register_bloc .card-header {
    background: no-repeat;
    border: none;
    color: #006cf0;
    font-size: 21px;
    font-weight: 900;
    padding: 1em;
}
.register_bloc .card-body {
    padding: 0 3rem 3rem;
}

.register_bloc label {
    flex: none;
    text-align: left;
}















.consumer {
    padding:3em 0;
}
.consumer_bloc {
    max-width: 1000px;
    margin: 0 auto;
}
.consumer_item {
    background: url(../images/bg_05.jpg) repeat;
    padding: 2em;
    align-items: center;
    justify-content: space-between;
    gap: 1.5em;
    box-shadow: 0 3px 3px #ccc;
}
.consumer_item  + .consumer_item  {
    margin-top: 3em;
}

.consumer_item .meta_box {
    width: 100%;
    max-width: 250px;
}
.consumer_item .meta_box figure {
    max-width: 180px;
    width: 80%;
    margin: 0 auto 1em;
}
.consumer_item .meta_box .meta {

}
.consumer_item .meta_box .meta .meta_info {
    font-size: 16px;
}
.consumer_item .meta_box .meta .fund {
    font-size: 18px;
}
.consumer_item .meta_box .meta .fund em {
    font-size: 24px;
    font-weight: 900;
}
.consumer_item .box {
    flex: 1 0 0%;
    text-align: left;
}
.consumer_item .box h2 {
    color: #006cf0;
    display: inline-block;
    font-size: 27px;
    font-weight: 900;
    margin-bottom: 0.5em;
}
.consumer_item .box p {
    font-size: 16px;
    line-height: 1.6em;
}


.factoring {
    padding: 3em 0;
}
.factoring h2 {
    display: block;
    font-size: 30px;
    line-height: 1em;
    font-weight: 900;
    border-top: solid 2px #bdc8d1;
    border-bottom: solid 2px #bdc8d1;
    margin-bottom: 1em;
    padding: 1em;
}

.factoring_upper {
    margin-bottom:4em;
}








.factoring_bloc {
    max-width: 900px;
    margin: 0 auto;
}

.factoring_merit {
    margin-bottom: 4em;
}

.factoring_merit ol {
    
}
.factoring_merit ol li {
    align-items: center;
    justify-content: space-between;
    gap: 2em;
    flex-direction: row-reverse;
}
.factoring_merit ol li + li {
    margin-top: 2em;
}
.factoring_merit ol li:nth-child(even) {
    flex-direction: row-reverse;
}

.factoring_merit ol li figure {
    
}
.factoring_merit ol li .box {
    flex: 1 0 0%;
    text-align: left;
}
.factoring_merit ol li .box h3 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    font-weight: 900;
    font-size: 24px;
    line-height: 1.4em;
    margin-bottom: 0.5em;
    position: relative;
    gap: 1em;
}
.factoring_merit ol li .box h3 i {

}
.factoring_merit ol li .box h3 span {
    flex: 1 0 0%;
}
.factoring_merit ol li .box p {
    font-size: 18px;
    line-height: 1.6em;
}


.factoring_demerit {

}

.factoring_demerit ol {
    
}
.factoring_demerit ol li {
    align-items: center;
    justify-content: space-between;
    gap: 2em;
    flex-direction: row-reverse;
}
.factoring_demerit ol li + li {
    margin-top: 2em;
}
.factoring_demerit ol li:nth-child(even) {
    flex-direction: row-reverse;
}
.factoring_demerit ol li figure {
    
}
.factoring_demerit ol li .box {
    flex: 1 0 0%;
    text-align: left;
}
.factoring_demerit ol li .box h3 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    font-weight: 900;
    font-size: 24px;
    line-height: 1.4em;
    margin-bottom: 0.5em;
    position: relative;
    gap: 1em;
}
.factoring_demerit ol li .box h3 i {

}
.factoring_demerit ol li .box h3 span {
    flex:1 0 0%;
}
.factoring_demerit ol li .box p {
    font-size: 18px;
    line-height: 1.6em;
}


.template-contactindex {

}
.template-contactindex .contact {
    padding: 3em 0;
}
.template-contactconfirm .contact {
    padding: 3em 0;
}
.template-contactthanks .contact {
    padding: 4.5em 0;
}

.template-contactindex .contact .card-body {
    padding: 3rem;
}
.template-contactconfirm .contact .card-body {
    padding: 3rem;
}




.colum_page {
    max-width: 1024px;
    margin: 0 auto;
}
.colum_page article {

}
.colum_page article h3 {
    font-size: 2em;
    font-weight: 900;
    margin-bottom: 1em;
}
.colum_page article .colum_detail {
    text-align: left;
}
.colum_page article .colum_detail > div + div {

}

.colum_page article .colum_detail figure {
    width: 50%;
    margin: 0 auto;
}

.colum_page article .colum_detail strong {
    font-size: 1.4em;
    background: linear-gradient(transparent 60%, rgba(249, 240, 78, 0.8) 60%);
}

.first_request_bloc {
    background: #fff;
    width: 100%;
    padding: 1.5em;
    margin-bottom: 2em;
    box-sizing: border-box;
    border-radius: 0.5em;
}
.first_request_bloc h3 {
    font-size: 1.2em;
    font-weight: bold;
    margin-bottom: 1.5em;
}
.first_request_list {

}
.first_request_list ol {
    
}
.first_request_list ol li + li {
    
}
.first_request_list ol li {
    width: calc(100% / 5 - 1em);
}
.first_request_list ol li figure {
    width: 30%;
    margin: 0 auto 1em;
}
.first_request_list ol li .box {
    
}
.first_request_list ol li .box h4 {
    font-size: 1em;
    font-weight: bold;
    margin-bottom: 0.5em;
}
.first_request_list ol li .box p {
    font-size: 0.9em;
    line-height: 1.4em;
}

.factoring_cat_bloc {

}
.factoring_cat_bloc a {
    display: inline-block;
    background: #ff9900;
    border-radius: 0.5em;
    color: #fff;
    font-size: 1.2em;
    font-weight: bold;
    letter-spacing: 0.2em;
    line-height: 1.5;
    padding: 1em;
    transition: .3s cubic-bezier(.4,.4,0,1);
    text-decoration: none;
    max-width: 300px;
    width: 100%;
}
.factoring_cat_bloc a:hover {
    background: #ffad31;
}




.m_contact_bloc {
    background: #fff;
    width: 100%;
    padding: 1.5em;
    margin-bottom: 2em;
    box-sizing: border-box;
    border-radius: 0.5em;
}
.m_contact_bloc p {
    text-align: left;
}
.m_contact_list {

}
.m_contact_item {

}
.m_contact_item + .m_contact_item {
    margin-top: 1em;
}

.m_contact_item table {
    border: 1px solid rgba(0,0,0,0.12);
    font-size: 1.1em;
    width: 100%;
}
.m_contact_item table th {
    border: 1px solid rgba(0,0,0,0.12);
    font-weight: normal;
    padding: 1em;
}
.m_contact_item table td {
    border: 1px solid rgba(0,0,0,0.12);
    padding: 1em;
}

.m_contact_item table tbody tr {
    position: relative;
}

.m_contact_item table tbody tr a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.m_contact_item table tbody tr:hover {
    background: rgb(17 126 198 / 30%);
}

.m_contact_404 {

}
.m_contact_404 a {
    font-size: 1.1em;
}

.m_talk_bloc {
    background: #fff;
    width: 100%;
    padding: 1.5em;
    margin-bottom: 2em;
    box-sizing: border-box;
    border-radius: 0.5em;
}

.m_talk_title_bloc {
    background: #fff;
    width: 100%;
    padding: 1em 1.5em;
    margin-bottom: 1em;
    box-sizing: border-box;
    border-radius: 0.5em;
}
.m_talk_title_bloc .sub_ttl {
    display: block;
    text-align: left;
    font-size: 0.9em;
}
.m_talk_title {
    align-items: center;
    justify-content: space-between;
    gap: 1em;
}
.m_talk_title .ttl {
    flex: 1 0 0%;
    font-size: 1.1em;
    text-align: left;
}
.m_talk_title .date {
    
}


.m_talk_box {

}
.m_talk_item {

}
.m_talk_item + .m_talk_item {
    margin-top: 1em;
}

.m_talk_item .box {

}


.m_talk_item .box p {

}

.m_talk_1 {
    text-align: right;
    margin-left: auto;
    max-width: 80%;
}
.m_talk_0 {
    text-align: left;
    margin-right: auto;
    max-width: 80%;
}

.m_talk_1 .cell {
    display: inline-block;
    background-color: #ecf1f2;
    padding: 1em;
    border-radius: 0.5em;
    font-size: 1em;
    line-height: 1.4em;
    text-align: left;
}
.m_talk_0 .cell {
    display: inline-block;
    background-color: #419dfa;
    color: #fff;
    padding: 1em;
    border-radius: 0.5em;
    font-size: 1em;
    line-height: 1.4em;
    text-align: left;
}

.m_talk_item .box .meta {
    align-items: center;
    justify-content: flex-start;
    gap: 0.5em;
}
.m_talk_item .box.m_talk_1 .meta {
    justify-content: flex-end;
}

.m_talk_item .box .meta span {

}
.m_talk_item .box .meta p {
    font-size: 0.8em;
    line-height: 1em;
    margin-top: 0.2em;
}


.template-mypagetalk .container > .content {
    height: calc(100% - 18px - 1em);
}
.m_talk_bloc {
    background: #fff;
    width: 100%;
    height: calc(100% - 70px - 1em - 11em);
    padding: 1.5em;
    margin-bottom: 2em;
    box-sizing: border-box;
    border-radius: 0.5em;
}

.m_talk_input_bloc {
    background: #fff;
    width: 100%;
    padding: 1em 1.5em;
    box-sizing: border-box;
    border-radius: 0.5em;
}
.m_talk_input {
    align-items: center;
    justify-content: space-between;
    gap: 1em;
}
.m_talk_input dl {
    padding: 0;
    border: none;
    flex: 1 0 0%;
}
.m_talk_input dl dt {
    min-width: auto;
    width: 100%;
    margin-bottom: 0.2em;
    display: none;
}
.m_talk_input dl dd {

}

.m_talk_input .btn_bloc {
    margin: 0;
}




.add_contact_btn {
    text-align: left;
    margin-bottom: 1em;
}
.add_contact_btn span {
    display: inline-block;
    font-weight: 400;
    line-height: 1.5;
    background: #ff801f;
    border: solid 2px #ff801f;
    color: #fff;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    padding: 0.5em 1em;
    font-size: 1em;
    border-radius: 0.3em;
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
.add_contact_btn span:hover {
    background: #fff;
    color: #ff801f;
}

.add_contact_bloc {
    background: #fff;
    width: 100%;
    padding: 1.5em;
    margin-bottom: 2em;
    box-sizing: border-box;
    border-radius: 0.5em;
    display: none;
}


.dash_unread_bloc {
    background: #fff;
    width: 100%;
    padding: 1.5em;
    margin-bottom: 1em;
    box-sizing: border-box;
    border-radius: 0.5em;
}
.dash_unread_bloc p {
    text-align: left;
    font-size: 1em;
    color: #f00;
}
.dash_unread_bloc p i {
    margin-right: 0.5em;
}
.dash_unread_bloc p a {
    color: #f00;
}

.factoring_flow {

}
.factoring_flow .flow {
    background: #fff;
    width: 100%;
    padding: 1.5em;
    margin-bottom: 2em;
    box-sizing: border-box;
    border-radius: 0.5em;
    align-items: center;
    justify-content: center;
    gap: 5em;
}
.factoring_flow .flow .item {
    position: relative;
    gap: 0.2em;
}
.factoring_flow .flow .item + .item {
    
}

.factoring_flow .flow .item:not(:first-child)::before {
    position: absolute;
    top: 7px;
    left: 0;
    /* z-index: -1; */
    width: 4em;
    height: 2px;
    content: "";
    background: #1e1e1e;
    transform: translate(-50%, 100%);
    left: -2.5em;
}

.factoring_flow .flow .item .num {
    display: block;
    background: #fff;
    border: solid 2px #1e1e1e;
    font-size: 1em;
    line-height: 1.2em;
    font-weight: 900;
    width: 1.5em;
    height: 1.5em;
    border-radius: 1em;
}
.factoring_flow .flow .item .ttl {
    font-weight: bold;
}

.factoring_flow .flow .item.active .num {
    border: solid 2px #ff801f; 
    color: #ff801f;
}
.factoring_flow .flow .item.active .ttl {
    color:#ff801f;
}


.factoring_content {


}
.factoring_content h2 {
    color: #117ec6;
    font-size: 1.4em;
    font-weight: bold;
    margin-bottom: 1em;
}

.factoring_request_bloc {
    background: #fff;
    width: 100%;
    padding: 1.5em;
    box-sizing: border-box;
    border-radius: 0.5em;
}
.factoring_request_bloc + .factoring_request_bloc {
    margin-top:2em;
}

.factoring_request_bloc h3 {
    font-size: 1.2em;
    margin-bottom: 1em;
    font-weight: 900;
}


.factoring_attention {
    align-items: center;
    justify-content: center;
    gap: 2em;
    margin-bottom: 2em;
}
.factoring_attention figure {
    width: 100%;
    max-width: 150px;
}
.factoring_attention .box {
    text-align: left;
}

.factoring_attention .box h4 {
    font-size: 1.2em;
    font-weight: bold;
    margin-bottom: 0.5em;
}
.factoring_attention .box h4 + p {
    margin-bottom: 1em;
}
.factoring_attention .box .check_bloc {

}

.factoring_attention .box .check_bloc .radio_item {

}
.factoring_attention .box .check_bloc .radio_item + .radio_item {
    margin-top: 0.5em;
}

.factoring_attention .box .check_bloc .radio_item .check_text {
    font-size: 1.1em;
    font-weight: 900;
}
.factoring_attention .box .check_bloc .radio_item .check_text em {
    color: #ff801f;
}
.factoring_attention .box .check_bloc .radio_item p {
    color: #333;
    width: 100%;
    margin: 0.2em 0 0;
    font-weight: bold;
}
.check_label input + .check_dummy {
    border: solid 2px #5a5a5a;
    background: #fff;
}
.check_label input:checked + .check_dummy {
    border: solid 2px #5a5a5a;
    background: #fff;
}

.check_label input:checked + .check_dummy::before {
    background: #ff801f;
    height: 3px;
    transform-origin: 2px -1px;
}
.check_label input:checked + .check_dummy::after {
    background: #ff801f;
    width: 76%;
    height: 3px;
    transform-origin: -1px -3px;
}

.factoring_invoice_bloc {
    align-items: flex-start;
    justify-content: center;
    gap: 1em;
}
.factoring_invoice_bloc p {

}

.factoring_invoice_bloc .invoice_box_wrap {
    background: #F3F3F4;
    border: solid 1px #ccc;
    border-radius: 0.5em;
    position:relative;
}

.factoring_invoice_bloc.one .invoice_box_wrap {
    width: calc(100% / 2 - 1em);
}
.factoring_invoice_bloc.two .invoice_box_wrap {
    width: calc(100% / 2 - 1em);
}
.factoring_invoice_bloc.three .invoice_box_wrap {
    width: calc(100% / 3 - 1em);
}


.invoice_box_wrap {
    position: relative;
    padding: 1em;
}
.invoice_box_wrap .delete_invoice {
    display: block;
    position: absolute;
    top: -1.5em;
    right: 0.5em;
    z-index: 10000;
    cursor: pointer;
}
.invoice_box_wrap .delete_invoice:after {
    display: block;
    content: "×";
    z-index: 10000;
    color: #999;
    font-size: 2em;
    line-height: 1.3em;
    /* background: pink; */
    border: solid 2px #999;
    width: 1.5em;
    height: 1.5em;
    border-radius: 50%;
}





.invoice_box_wrap.rock:before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: rgb(0 0 0 / 70%);
    border-radius: 0.5em;
    z-index: 2;
}
.invoice_box_wrap.rock:after {
    content: "注意事項をご確認ください";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    left: 0;
    right: 0;
    margin: 0 auto;
    color: #fff;
    z-index: 3;
}

.invoice_box {
    margin-bottom: 1em;
    overflow: hidden;
    position: relative;
}
.invoice_box.active {
    aspect-ratio: 4 / 4;
}


.invoice_box .delete_file {
    display: none;
}
.invoice_box.active .delete_file {
    display: block;
    position: absolute;
    top: 0.5em;
    right: 0.5em;
    z-index: 10000;
    cursor: pointer;
}
.invoice_box.active .delete_file:after {
    display: block;
    content: "×";
    z-index: 10000;
    color: #999;
    font-size: 2em;
    line-height: 1.3em;
    /* background: pink; */
    border: solid 2px #999;
    width: 1.5em;
    height: 1.5em;
    border-radius: 50%;
}

.invoice_box label {
    background-image: linear-gradient(to right, #FF8602, #FF8602 4px, transparent 3px, transparent 8px),linear-gradient(to right, #FF8602, #FF8602 4px, transparent 4px),linear-gradient(to bottom, #FF8602, #FF8602 4px, transparent 4px),linear-gradient(to bottom, #FF8602, #FF8602 4px, transparent 4px);
    background-repeat: repeat-x, repeat-x, repeat-y, repeat-y;
    background-position: left top, left bottom, left top, right top;
    background-size: 12px 1px, 12px 1px, 1px 12px, 1px 12px;
    padding: 1em;
    width: 100%;
    cursor: pointer;
    position: relative;
}

.invoice_box .select_files {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 90%;
    margin: 0 auto;
    padding: 1em;
    font-size: 1em;
    font-weight: bold;
    color: black;
    cursor: pointer;
    background: white;
    border-radius: 68px;
    box-shadow: 1px 1px 8px rgba(0,0,0,0.04);
    position: relative;
    z-index: 1;
}
.invoice_box object {

}
.invoice_box object.type_pdf {
    width:100%;
    aspect-ratio: 1 / 1.41421356;
}
.invoice_box object.type_img {
    width: 100%;
}


.invoice_box .cell {
    margin-bottom: 1em;
}
.invoice_box .cell svg {
    color: #ff801f;
    fill: currentColor;
    width: 3em;
}
.invoice_box .cell p {

}
.invoice_box .cell p span {
    display: block;
    font-size: 12px;
}


.invoice_data {

}
.invoice_data dl {
    
}
.invoice_data dl + dl {
    margin-top:0.5em;
}
.invoice_data dl dt {
    font-size: 0.9em;
}
.invoice_data dl dd {
    
}

.file_input {
    position: absolute;
    bottom: 1.5em;
    left: 0;
    right: 0;
    margin: 0 auto;
    text-align: center;
    width: 50%;
    opacity: 0;
}


.invoice_input2 {
    display:none;
}
.invoice_input3 {
    display:none; 
}

.invoice_add_bloc {
    display: none;
    width: 100%;
    margin-top: 1em;
}
.invoice_add_bloc .add_invoice {
    display: inline-block;
    background: #ff9900;
    color: #fff;
    font-size: 1em;
    line-height: 1;
    padding: 0.5em;
    border-radius: 0.2em;
    cursor: pointer;
}
.invoice_add_bloc p {
    font-size: 0.9em;
    font-weight: bold;
}

.factoring_btn_bloc {
    padding: 2em 0;
}
.factoring_btn_bloc > *:nth-child(2) {
    margin-left:1em;
}

.factoring_btn_bloc .btn {
    display: inline-block;
    background: #ff9900;
    border-radius: 24px;
    color: #fff;
    font-size: 1.1em;
    font-weight: bold;
    letter-spacing: 0.2em;
    line-height: 1.5;
    padding: 1em 2em;
    transition: .3s cubic-bezier(.4,.4,0,1);
}
.factoring_btn_bloc .btn:hover {
    background: #ffad31;
}

.factoring_btn_bloc .btn.back {
    display: inline-block;
    background: #666;
    border-radius: 24px;
    color: #fff;
    font-size: 1.1em;
    font-weight: bold;
    letter-spacing: 0.2em;
    line-height: 1.5;
    padding: 1em 2em;
    transition: .3s cubic-bezier(.4,.4,0,1);
}




/*フラッシュメッセージ*/
.alert {
    border-radius: 0.25rem;
}
.alert-success {
    width: 100%;
    color: #1d643b;
    background-color: #d7f3e3;
    border-color: #c7eed8;
    text-align: center;
}
.alert-error {
    position: fixed;
    top: 9%;
    width: 100%;
    background: #f00;
    color: #fff;
    font-size: 1.5rem;
    transform: translateY(-50%);
    text-align: center;
    z-index: 99;
}

.confirm_invoice_wrap {
    gap: 1em
}
.confirm_invoice {
    flex: 1 0 0%;
}
.confirm_invoice + .confirm_invoice {
    
}

.request_list_bloc {
    background: #fff;
    width: 100%;
    padding: 1.5em;
    margin-bottom: 2em;
    box-sizing: border-box;
    border-radius: 0.5em;
}
.request_list_bloc h3 {
    font-size: 1.2em;
    font-weight: bold;
    margin-bottom: 1.5em;
}
.request_list {

}
.request_list table {
    width: 100%;
    border: solid 1px #ccc;
}
.request_list thead th {
    border: solid 1px #ccc;
    padding: 0.5em;
    background: #117ec6;
    color: #fff;
    font-weight: normal;
}
.request_list tbody td {
    border: solid 1px #ccc;
    padding:0.5em; 
}


.request_item {

}
.request_item + .request_item {
    
}
.request_item .upper {
    padding-bottom: 1em;
    margin-bottom: 1em;
    border-bottom: solid 1px #ccc;
    align-items: center;
    justify-content: flex-start;
    gap: 2em;
    text-align: left;
}

.request_item .upper .status {
    padding: 0 1em;
}
.request_item .upper .status span {
    font-weight: bold;
}

.status_0 {

}
.status_1 {

}
.status_2 {

}
.status_3 {

}
.status_4 {

}
.status_99 {

}

.request_item .upper .date {

}
.request_item .upper .date dl {

}
.request_item .upper .date dl dt {
    font-size: 0.9em;
    font-weight: normal;
}
.request_item .upper .date dl dd {
    font-weight: bold;
}

.request_item .upper .client {
    align-items: center;
    justify-content: flex-start;
    gap:1em;
}
.request_item .upper .client dl {

}
.request_item .upper .client dl dt {
    font-size: 0.9em;
    font-weight: normal;
}
.request_item .upper .client dl dd {
    font-weight: bold;
}


.request_item .box {
    text-align: left;
}
.request_item .box .flex {
    align-items: center;
    justify-content: flex-start;
    gap:1em;
}
.request_item .box .flex dl {

}
.request_item .box .flex dl dt {
    font-size: 0.9em;
    font-weight: normal;
}
.request_item .box .flex dl dd {
    font-weight: bold;
}

.add_evidence {
    text-align: left;
    margin-top: 1em;
}
.add_evidence a {
    display: inline-block;
    background: #ffff00;
    font-size: 1em;
    line-height: 1em;
    padding: 0.5em 1em 0.5em;
    border-radius: 0.2em;
    font-weight: bold;
    text-decoration: none;
}

.evidence_wrap {

}
.evidence_wrap .factoring_invoice_bloc {

}
.evidence_wrap .factoring_invoice_bloc .invoice_box_wrap {
    width: calc(100% / 5 - 1em);
}
.evidence_wrap .factoring_invoice_bloc .invoice_box_wrap .invoice_box {
    margin-bottom: 0;
}

.invoice_box_wrap > p {
    word-break: break-all;
    text-align: left;
}

.privacy {
    padding-bottom: 3em;
}

.privacy_bloc {
    max-width: 1024px;
    text-align: left;
    margin: 0 auto;
}
.privacy__item {

}
.privacy__itemTitle {
    font-size: 1.8rem;
    font-weight: bold;
    margin-bottom: 1rem;
}
.privacy__itemContent {
    font-size: 1.4rem;
    line-height: 2.4rem;
}



.front .under_mv {
    width: 100%;
    height: 260px;
    background: url(../images/bg_under_mv.png) no-repeat center;
    background-size: cover;
    align-items: center;
    justify-content: center;
}
.front .under_mv h1 {
    color: #006cf0;
    display: inline-block;
    background-image: url(../images/icon_math_01_g.png), url(../images/icon_math_02_g.png);
    background-repeat: no-repeat;
    background-position: left top, right bottom;
    background-size: 10%;
    padding: 1em 2em;
    font-size: 30px;
    line-height: 1.6em;
    font-weight: 900;
}


.template-authregister.front .under_mv {
    display:none;
}
.template-authregister.front main {
    background: #e6f1ff;
}
.template-authregister.front .contents {
    background: #e6f1ff;
}

.template-authlogin.front .under_mv {
    display:none;
}
.template-authlogin.front main {
    background: #e6f1ff;
}
.template-authlogin.front .contents {
    background: #e6f1ff;
}






body[class^="template-authlogin"] .contents > .container {
    display: block;
}











.contact_btn_bloc {
    width: 100%;
    max-width: 500px;
    margin: 3em auto 0
}
.contact_btn_bloc a {
    display: inline-block;
    width: 100%;
    border: solid 1px #000;
    background: #fff;
    padding: 10px;
    border-radius: 0.5em;
}
.contact_btn_bloc a span {
    display: inline-block;
    width: 100%;
    font-family: 'megadot9',self;
    background: #FF8A00;
    color: #fff;
    font-weight: normal;
    font-size: 24px;
    line-height: 1.4em;
    padding: 1em;
    border-radius: 0.25em;
    position: relative;
    letter-spacing: 0.2em;
}
.contact_btn_bloc a span:after {
    content: "▼";
    display: inline-block;
    font-family: 'Noto Sans JP';
    position: absolute;
    bottom: 0.5em;
    right: 0.5em;
}

.contact_btn_bloc a:hover span {
    background: rgb(255 138 0 / 80%);
}

.contact_body {
    max-width: 900px;
    margin: 0 auto;
}
.contact_box {

}
.contact_box > * + * {
    margin-top:1em;
}

.contact_box dl {
    gap: 1em;
}
.contact_box dl dt {
    width: 24%;
    position: relative;
    font-size: 16px;
    line-height: 1em;
    padding-top: 0.75em;
}
.contact_box dl dt.required:after {
    content: "必須";
    display: inline-block;
    background: #ff6b71;
    color: #fff;
    font-size: 12px;
    line-height: 1;
    padding: 4px;
    border-radius: 2px;
}
.contact_box dd {
    flex: 1 0 0%;
}
.contact_box dd .error-message {
    color: #ff0022;
}

.contact_box .btn_bloc {

}
.contact_box .btn_bloc button {
    display: inline-block;
    max-width: 500px;
    width: 100%;
    border: none;
    background: #fff;
    padding: 0;
    border-radius: 0.5em;
}

.contact_box .btn_bloc button span {
    display: inline-block;
    width: 100%;
    /* font-family: 'megadot9', self; */
    background: #ff9d1f;
    color: #fff;
    font-weight: normal;
    font-size: 20px;
    line-height: 1.4em;
    font-weight: bold;
    padding: 1.25em 1em;
    border-radius: 100px;
    position: relative;
    letter-spacing: 0.5em;
    box-shadow: 0 3px 3px #ccc;
}
.contact_box .btn_bloc button span:before {
    content: "→";
    display: block;
    position: absolute;
    /* bottom: 0.5em; */
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    right: 0.75em;
    width: 1.5em;
    height: 1.5em;
    font-size: 1em;
    text-align: center;
    border-radius: 50%;
    z-index: 2;
}
.contact_box .btn_bloc button span:after {
    content: "";
    display: block;
    position: absolute;
    /* bottom: 0.5em; */
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    right: 1em;
    background: #c55600;
    width: 1.5em;
    height: 1.5em;
    font-size: 1em;
    text-align: center;
    border-radius: 50%;
    
    z-index: 1;
}





.contact_box .form-control {
    border-radius: 0;
}



.contact_box .btn_bloc button:hover span {
    background: rgb(255 138 0 / 80%);
}

.contact_confirm_box {

}
.contact_confirm_box dl {
    align-items: center;
    justify-content: space-between;
    gap: 2em;
}
.contact_confirm_box dl + dl {
    margin-top:1em;
}
.contact_confirm_box dl dt {
    font-size: 16px;
    min-width: 8em;
}
.contact_confirm_box dl dd {
    font-size: 18px;
    font-weight: bold;
    flex: 1 0 0%;
    text-align: left;
}
.contact_confirm_box .btn_bloc {

}

.contact_confirm_box .btn_back {
    display: inline-block;
    max-width: calc(100% / 2 - 1em);
    width: 100%;
    border: none;
    background: #fff;
    padding: 0;
    border-radius: 0.5em;
}
.contact_confirm_box .btn_back span {
    display: inline-block;
    width: 100%;
    /* font-family: 'megadot9', self; */
    background: #aaa;
    color: #fff;
    font-weight: normal;
    font-size: 20px;
    line-height: 1.4em;
    font-weight: bold;
    padding: 1.25em 1em;
    border-radius: 100px;
    position: relative;
    letter-spacing: 0.5em;
    box-shadow: 0 3px 3px #ccc;
}
.contact_confirm_box .btn_back span:before {
    content: "←";
    display: block;
    position: absolute;
    /* bottom: 0.5em; */
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    left: 1.25em;
    width: 1.5em;
    height: 1.5em;
    font-size: 1em;
    text-align: center;
    border-radius: 50%;
    z-index: 2;
}
.contact_confirm_box .btn_back span:after {
    content: "";
    display: block;
    position: absolute;
    /* bottom: 0.5em; */
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    left: 1em;
    background: #666;
    width: 1.5em;
    height: 1.5em;
    font-size: 1em;
    text-align: center;
    border-radius: 50%;
    z-index: 1;
}
.contact_confirm_box .btn_back:hover span {
    background: #ccc;
}


.contact_confirm_box .btn_submit {
    display: inline-block;
    max-width: calc(100% / 2 - 1em);
    width: 100%;
    border: none;
    background: #fff;
    padding: 0;
    border-radius: 0.5em;
}
.contact_confirm_box .btn_submit span {
    display: inline-block;
    width: 100%;
    /* font-family: 'megadot9', self; */
    background: #ff9d1f;
    color: #fff;
    font-weight: normal;
    font-size: 20px;
    line-height: 1.4em;
    font-weight: bold;
    padding: 1.25em 1em;
    border-radius: 100px;
    position: relative;
    letter-spacing: 0.5em;
    box-shadow: 0 3px 3px #ccc;
}

.contact_confirm_box .btn_submit span:before {
    content: "→";
    display: block;
    position: absolute;
    /* bottom: 0.5em; */
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    right: 0.75em;
    width: 1.5em;
    height: 1.5em;
    font-size: 1em;
    text-align: center;
    border-radius: 50%;
    z-index: 2;
}
.contact_confirm_box .btn_submit span:after {
    content: "";
    display: block;
    position: absolute;
    /* bottom: 0.5em; */
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    right: 1em;
    background: #c55600;
    width: 1.5em;
    height: 1.5em;
    font-size: 1em;
    text-align: center;
    border-radius: 50%;
    z-index: 1;
}
.contact_confirm_box .btn_submit:hover span {
    background: rgb(255 138 0 / 80%);
}




.c_error {
    display:none;
}

input:invalid + .c_error {
    font-size: 0.9em;
    display: block;
    color: red;
}




.riyou_kiyaku {
    max-height: 50vh;
    overflow-y: scroll;
}
.riyou_kiyaku p {
    font-size: 12px;
    text-align: left;
}





















