/*:::::::::::::::::::::::::::::::::::::::::::::::::
BASE
:::::::::::::::::::::::::::::::::::::::::::::::::*/
body,html{-webkit-text-size-adjust:100%}article,aside,details,figcaption,figure,footer,header,img,main,menu,nav,section{display:block}*,:after,:before{box-sizing:border-box}a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,html,i,iframe,img,ins,kbd,label,legend,li,main,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font-style:normal;font-weight:400;font-size:100%;vertical-align:baseline}img,svg{vertical-align:middle}html{font-family:sans-serif;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{line-height:1;-ms-text-size-adjust:100%;background-color:#fff}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}dl,ol,p,ul{margin-top:0}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dd{margin-left:0}img{max-width:100%;height:auto;border-style:none}svg{overflow:hidden}table{border-collapse:collapse;border-spacing:0;width:100%}ol,ul{list-style:none}a:active,a:hover,a:link,a:visited{outline:0;text-decoration:none;}:focus{outline:0}a{text-decoration:none}.clearfix:after{content:"";clear:both;display:block}
td,th {word-break: break-all;}



/*:::::::::::::::::::::::::::::::::::::::::::::::::
COMMON
:::::::::::::::::::::::::::::::::::::::::::::::::*/

/* 画像 */
img {
    /* IE8+ */
    -ms-interpolation-mode: nearest-neighbor;
    /* Safari (WebKit) */
    image-rendering: -webkit-optimize-contrast;
    /* Firefox (Gecko) */
/*    image-rendering: -moz-crisp-edges;*/
    /* Opera 12.x */
    image-rendering: -o-crisp-edges;
    /*  image-rendering: pixelated; Chrome 41+, Opera 29+ (CSS4) */
    -webkit-backface-visibility: hidden;
}



/*:::::::::::::::::::::::::::::::::::::::::::::::::
LAYOUT
:::::::::::::::::::::::::::::::::::::::::::::::::*/
.container {
    width: 1000px;
    margin: auto;
    padding: 150px 0;
}
.sec {margin-top: 150px;}
.flex {display: flex;}
.ac {align-items: center;}
.jc {justify-content: center;}
.js {justify-content: space-between;}
.af {align-items: flex-end;}
.fd_rr {flex-direction: row-reverse;}
.w_100 {width: 100%;}

.sec_flow > .container {
    padding-top: 60px;
    padding-bottom: 60px;
}
.sec_plan > .container {
    padding-top: 60px;
    padding-bottom: 60px;
}

.sec_feature > .container {
    padding-top: 60px;
    padding-bottom: 60px;
}
.sec_sample > .container {
    padding-top: 60px;
    padding-bottom: 60px;
}
.sec_faq > .container {
    padding-top: 60px;
    padding-bottom: 60px;
}
.sec_contact > .container {
    padding-top: 60px;
    padding-bottom: 60px;
}

/*:::::::::::::::::::::::::::::::::::::::::::::::::
TEXT
:::::::::::::::::::::::::::::::::::::::::::::::::*/
body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
body {
    font-family: "Noto Sans JP", YuGothic, Hiragino Kaku Gothic ProN,  sans-serif;
    line-height: 1.7;
    letter-spacing: .05em;
    font-size: 16px;
    color: #080248;
}
a,h2,h3,h4,h5, .bold {font-weight: 700;}
h2,h3 {text-align: center;}
.small {
    font-size: 0.8em;
}
.en {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    letter-spacing: 0.05em;
}
h2 {
    font-size: 60px;
    margin-bottom: 0.9em;
    letter-spacing: 0.05em;
}
h2 .en {
    font-size: 0.4em;
    color: #284add;
    display: block;
}
.num {
    font-family: 'Lato', sans-serif;
    font-weight: 700
}
.ttl_sub {
    color: #284ADD;
}
.txt_white {color: #fff;}

/*:::::::::::::::::::::::::::::::::::::::::::::::::
BTN & LINK
:::::::::::::::::::::::::::::::::::::::::::::::::*/
.btn:hover {
    text-decoration: none;
    transition: all .3s ease-out;
    cursor: pointer;
    box-shadow: 0px 10px 10px rgba(0,0,0,0.15);
    transform: translateY(-2px);
}
a,a:hover img {
    color: #080248;
    cursor: pointer;
}
.btn:visited, btn:hover, .btn:active {color: #fff;}
.btn {
    text-align: center;
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    background-color: #080248;
    padding: 0 1em;
    border-radius: 100vh;
}
.btn_mitumori {
    font-size: 18px;
    position: relative;
    width: 230px;
    height: 62px;
    padding-left: 2em;
    margin-left: 1em;
}
.btn_mitumori:before {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    background: url(../images/ico_paper-plane.svg) no-repeat 0 center;
    position: absolute;
    left: 2em;
    top: 50%;
    transform: translateY(-50%);
}
.btn_m {
    max-width: 360px;
    width: 80%;
    height: 64px;
    font-size: 1.2em;
    margin: auto;
}
.btn_m_2 {
    max-width: 360px;
    width: 80%;
    height: 64px;
    font-size: 1.2em;
    margin: auto;
    color: #fff;
}
.txt_link {
    border-bottom: solid 1px;
    margin: 0 5px;
}


/*:::::::::::::::::::::::::::::::::::::::::::::::::
PARTS
:::::::::::::::::::::::::::::::::::::::::::::::::*/
.ico_down-right {
    display: flex;
}
.ico_down-right:before {
    content: "";
    display: block;
    width: 30px;
    height: 30px;
    background: url(../images/ico_down-right.svg) no-repeat 0 center;
}
.num.circle {
     background: #FFD051;
    border-radius: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.1em;
    width: 1.5em;
    height: 1.5em;
    margin-right: 0.5em;
    flex-shrink: 0;
    font-size: 1.1em;
}
.bg_y {
    background: #ffd051;
}
.bg_w {
    background: #fff;
}
.sec_border-top {
    border-top: solid 1px #e8e8e8;
}
.badge {
    padding: 0 0.5em;
    margin-right: 0.5em;
    font-weight: 600;
    border-radius: 5px;
}

/*:::::::::::::::::::::::::::::::::::::::::::::::::
HEADER
:::::::::::::::::::::::::::::::::::::::::::::::::*/
header {
    padding: 30px 3%;
    align-items: center;
}
header.js_scrollin {
    position: fixed;
    top: 0;
    left: 0;
    background: rgb(255 255 255 / 90%);
    width: 100%;
    z-index: 11;
    box-shadow: 1px 1px 10px rgba(139, 142, 157, 0.2);
    animation-duration: .8s;
    animation-name: slideDown;
    padding: 20px 3%;
}

@keyframes slideDown {
    0% {
        transform: translateY(-100%);
        opacity: 0;
    }
    100% {
        transform: translateY(0);
        opacity: 1;
    }
}
header .logo {
    margin-right: auto;
}
nav {
    margin: auto;
}
nav li {
    padding: 0 1em;
}
nav .gnav a {
    font-size: 16px;
}

/*:::::::::::::::::::::::::::::::::::::::::::::::::
MV
:::::::::::::::::::::::::::::::::::::::::::::::::*/
body {
background-image: url(../images/mv_poligon.svg), url(../images/mv_bg.png);
    background-position: left 650px,center 0;
    background-size: 25%, contain;
    background-repeat: no-repeat, no-repeat;
    background-color: #F7F9FC;
}
.mv_inner {
    max-width: 1230px;
    margin: 85px auto;
    display: flex;
    justify-content: space-between;
}
.mv_content {
/*    max-width: 520px; */
    padding-left: 50px;
}
.mv_lead {
    font-weight: 700;
    font-size: 36px;
    letter-spacing: 0.02em;
    line-height: 1.2;
    color: #080248;
    margin-bottom: 10px;
}
.mv_lead_sub {
    font-weight: 900;
    font-size: 40px;
    letter-spacing: 0.05em;
    text-align: center;
    color: #fff;
    background: #080248;
    max-width: 485px;
    height: 76px;
    border-radius: 5px;
    line-height: 1;
    text-align: left;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 0.5em 0;
    position: relative;
}
.mv_lead_sub span{
    font-weight: 900;
}
.mv_lead_sub span:before {
    content: "・・・・";
    display: block;
    font-size: 34px;
    text-align: center;
    position: absolute;
    top: -3px;
    letter-spacing: 0.2em;
}
.mv_txt_box {
    background: #fff;
    border-radius: 5px;
    padding: 25px 5% 10px;
    text-align: center;
    margin-top: 26px;
    position: relative;
    max-width: 485px;
    box-shadow: 0px 20px 20px rgba(7, 6, 6, 0.12);
}
.mv_txt_box:before,.mv_txt_box:after {
    content:'';
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
}
.mv_txt_box:before {
    top: 5px;
    left: 5px;
    border-width: 0 0 25px 25px;
    border-color:transparent transparent transparent #FFD051;
}
.mv_txt_box:after {
    bottom: 5px;
    right: 5px;
    border-width: 0 0 25px 25px;
    border-color:transparent transparent #FFD051 transparent ;
}
.mv h1 {
    font-size: 34px;
    color: #05194b;
    font-weight: 900;
}
.mv h1 .en {
    font-size: 28px;
    font-weight: 700;
    color: #080248;
    border-bottom: #284ADD 6px solid;
    display: block;
}
.news {
    max-width: 1120px;
    margin: auto;
    background: #fff;
    border: solid #080248 6px;
    display: flex;
    padding: 1.5em 5%;
}
.news_ttl {
    font-size: 1.3em;
    font-weight: 700;
    margin-right: 1em;
    width: 15%;
}
.news_item {
    font-size: 1.3em;
    color:#080248;
}
.news_bold {
    font-weight:bold;
}
.news_item_center {
    padding: 10px 0 0 0;
    font-size: 1.2em;
    color:#080248;
    text-align: center;
}
.news_item_center_small {
    padding: 0 0 30px 0;
    font-size: 0.9em;
    color:#080248;
    text-align: center;
}
.news_item_center_bold {
    font-size: 1.2em;
    color:#080248;
    text-align: center;
    font-weight:bold;
}

/*:::::::::::::::::::::::::::::::::::::::::::::::::
LEAD (特定の細胞集団の遺伝子発現を調べるには？)
:::::::::::::::::::::::::::::::::::::::::::::::::*/
.sec_lead .container {
    padding-bottom: 0;
}
.sec_lead .lead {
    font-size: 30px;
    margin-bottom: 30px;
}
.sec_lead_list {
    max-width: 850px;
    justify-content: space-between;
    text-align: center;
    margin: auto;
}
.sec_lead_list_item .box {
    max-width: 410px;
    padding: 30px;
    border-radius: 5px;
    background: #fff;
    box-shadow: 0px 8px 30px rgba(0, 0, 0, 0.05);
}
.sec_lead_list_item img {
    margin: auto;
}
.sec_lead_list_item .ttl {
    font-weight: 700;
    font-size: 1.2em;
    margin-bottom: 10px;
}
.allow_l {
    margin: 30px auto 10px;
}
.sec_lead_list_item .desc {
    justify-content: center;
    margin-top: 10px;
}
.txt_line_box {
    max-width: 674px;
    border-radius: 5px;
    padding: 2em;
    background: #fff;
    border: 1px solid #080248;
    box-shadow: 0px 8px 30px rgba(0, 0, 0, 0.05);
    margin: auto;
}
.sec_pic_step_wrap > .container {
    padding: 50px 0;
}
.sec_pic_step .ttl_01 {
    font-size: 40px;
}
.sec_pic_step h2 span {
    font-weight: 700;
    background: linear-gradient(transparent 75%, #FFD051 25%)
}
.sec_pic_step_item:first-child {
    padding-top: 50px;
}
.sec_pic_step_item:after {
     content: "";
    display: block;
    width: 100%;
    height: 5px;
}
.sec_pic_step_item .inner {
     margin: auto;
    padding: 0 10% 10px;
    background: #fff;
}
.sec_pic_step_item .ttl {
    font-size: 1.6em;
    display: flex;
    align-items: center;
    margin-bottom: 1em;
}
.sec_pic_step_item .ttl .num {
    font-size: 40px;
}
.sec_pic_step .ttl_02 {
    font-weight: 900;
    font-size: 40px;
}
.sec_pic_step .ttl_02 span {
    font-weight: 900;
    color: #fff;
    background: #080248;
    border-radius: 5px;
    margin-right: 10px;
    padding: 0 15px;
}
.sec_feature .feature_note {
    margin-top: 50px;
}
.sec_feature .feature_note p {
    border-bottom: dotted 1px;
    display: inline;
    line-height: 2.2;
}


/*:::::::::::::::::::::::::::::::::::::::::::::::::
feature
:::::::::::::::::::::::::::::::::::::::::::::::::*/
.feature_lead {
    font-size: 1.4em;
    position: relative;
    padding: 1em 80px;
}
.feature_lead:before {
    position: absolute;
    content: "“";
    font-size: 100px;
    color: #284ADD;
    display: block;
    top: -0.65em;
    left: 10px;
}
.sec_feature .ttl_right {
    font-size: 40px;
    margin: 70px auto 50px;
}
.feature_list_item {
    background: #FFD051;
    position: relative;
    padding: 60px 1em;
    text-align: center;
    width: 312px;
}
.feature_list_item:before,.feature_list_item:after {
    content:'';
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
}
.feature_list_item:before {
    top: 0;
    left: 0;
    border-width: 0 0 40px 40px;
    border-color:transparent transparent transparent #F7F9FC;
}
.feature_list_item:after {
    bottom: 0;
    right: 0;
    border-width: 0 0 40px 40px;
    border-color:transparent transparent #F7F9FC transparent ;
}
.feature_list_item .ttl {
    font-size: 1.5em;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}
.feature_list_item .desc {
    font-size: 1.2em;
    font-weight: 500;
}
.feature_list_item .ttl:before {
    content: "";
    display: block;
    width: 1.2em;
    height: 20px;
    background: url(../images/ico_zap.svg) no-repeat 0 center;
}
.feature_list_item .desc:before {
    content: "";
    display: block;
    width: 60px;
    height: 5px;
    background: #f7f9fa;
    margin: 1.5em auto;
}


/*:::::::::::::::::::::::::::::::::::::::::::::::::
flow
:::::::::::::::::::::::::::::::::::::::::::::::::*/
.flow_main {
    max-width: 600px;
}
.flow_list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.flow_list li {
    width: 50%;
    display: flex;
    margin-top: 10px;
    font-weight: 700;
}
.flow_list li.w_100 {
    width: 100%;
}
.flow_ttl_u,.flow_ttl_r {
    font-size: 1.5em;
    font-weight: 700;
    display: flex;
    white-space: nowrap;
    align-items: center;
}
.flow_ttl_u > div {
    font-weight: 700;
    display: flex;
    /* background: red; */
    width: 100%;
    align-items: center;
}
.flow_ttl_u > div:after {
    background: url(../images/dotto_line.svg) center left 12px repeat-x;
    content: '';
    height: 8px;
    width: 100%;
}
.flow_ttl_u:after {
    content:"";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 30px 0 30px 24px;
    border-color: transparent transparent transparent #080248;
}
.flow_ttl_r {
     background: #080248;
    color: #fff;
    display: flex;
    margin: 20px 0 30px 40px;
    padding-left: 10px;
    position: relative;
}
.flow_ttl_r:before {
    content:"";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 38px 40px 38px 0;
    border-color: transparent #080248 transparent transparent;
    position: absolute;
    left: -40px;
}
.flow_ttl_r > div {
    font-weight: 700;
}
.flow_user_box {
    border: solid 1px;
    width: 180px;
    border-radius: 5px;
    padding: 20px;
    display: flex;
    justify-content: center;
}
.flow_list_body {
    border: solid 1px;
    width: 88%;
    padding: 1.5em 2em;
    margin: 30px auto 30px;
    position: relative;
}
.flow_list_body .ttl {
    font-weight: 700;
    background: #F7F9FC;
    padding: 0 1em;
    position: absolute;
    top: -1em;
}


/*:::::::::::::::::::::::::::::::::::::::::::::::::
CTA
:::::::::::::::::::::::::::::::::::::::::::::::::*/

#cta {
    padding: 60px 0;
    background: #FFD051
}
#cta .container {
    padding: 0;
}

.sec_cta .txt {
    font-size: 1.2em;
    text-align: center;
    font-weight: 700;
}
#cta .btn {
    width: 550px;
    max-width: 75%;
    height: 130px;
    border-radius: 65px;
    background: #080248;
    border: 5px solid #fff;
    margin: 10px auto 0;
    color: #fff;
    font-size: 36px;
    line-height: 1.3;
    position: relative;
}
#cta .btn:after {
    content: "";
    display: block;
    width: 45px;
    height: 45px;
    background: url(../images/ico_arrow_down_circle.svg) no-repeat 0 center;
    position: absolute;
    right: 1em;
    top:50%;
    transform: translateY(-50%);
}

#cta .tel_body {
    border-top: solid 1px #fff;
    border-bottom: solid 1px #fff;
    justify-content: center;
    margin: 50px auto 0;
    padding: 24px 50px;
    max-width: 800px;
}
#cta .tel_desc {
    border-right: 1px solid #fff;
    padding: 0 18px 0 30px;
    margin-right: 50px;
    text-align: center;
}
#cta .tel_txt {
    font-weight: bold;
    font-size: 18px;
}
#cta .tel_txt:before {
    content: "";
    display: block;
    width: 28px;
    height: 28px;
    margin-right: 10px;
    background: url(../images/ico_tel.svg) no-repeat 0 0;
}
#cta .tel {
    font-size: 50px;
}

.move{
    position:relative;
    width:100%;
    padding-top:56.25%;
}
.move iframe{
    position:absolute;
    top:0;
    right:0;
    width:100%;
    height:100%;
}

/*:::::::::::::::::::::::::::::::::::::::::::::::::
PLAN
:::::::::::::::::::::::::::::::::::::::::::::::::*/
.plan {
    max-width:1100px;
    margin: auto;
    background: #ffedb0;
    border: solid #080248 1px;
    display: flex;
    padding: 1.5em 5%;
}
.plan_RT {
    max-width:1100px;
    margin: auto;
    background: #fff;
    border: solid #080248 1px;
    display: flex;
    padding: 1.5em 5%;
}
.plan_ttl {
    font-size: 18px;
    font-weight: 700;
    margin-right: 1em;
    width: 25%;
}
.plan_item {
    font-size: 20px;
}
.plan_item_bold {
    font-size: 34px;
    font-weight: bold;
    line-height: 0.4em;
}
.plan_item_small {
    font-size: 14px;
    line-height: 2em;
}

.plan_list_body > .flex {
    align-items: flex-end;
    justify-content: space-between;
    margin-top: 20px;
    margin-bottom: 10px;
}
.plan_list_item {
     background: #fff;
    width: 258px;
    border: solid 1px #080248;
}
.plan_list_item h3 {
    padding-top: 36px;
}
.plan_list_item li {
    padding: 0 5px;
    border-top: solid 1px #080248;
    text-align: center;
    height: 60px;
    line-height: 60px;
    font-weight: bold;
}
.plan_list_item h3, .plan_list_item .price {
    text-align: center;
    margin-bottom: 1em;
    font-size: 12px;
}
.plan_list_item .price .txt {
    display: block;
    font-size: 14px;
    font-weight: bold;
    margin-bottom: -10px;
}
.plan_list_item .price .num {
    font-size: 36px;
}
.plan_list_item .en {
    font-size: 14px;
    display: block;
    line-height: 1.5;
    color: #284ADD;
}
.plan_list_item .jp {
    font-size: 18px;
    display: block;
    font-weight: bold;
    margin-bottom: 30px;
}
.plan_list_cate {
    width: 200px;
    font-weight: bold;
}
.plan_list_cate li:first-child {
    border-top:none;
    background: #E5F7F0;
}
.plan_list_item li:first-child {
    background: #E5F7F0;
}
.plan_list_item li:last-child {
    height: 110px;
    padding: 15px 15px 15px 15px ;
}
.plan_list_item_num {
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size:20px;
}
.plan_list_item .num.circle {
    margin: 0 1em;
}
.txt_c{
  padding-top: 20px;
}
.txt_c_bold{
  padding-top: 20px;
  font-weight:bold;
}
.txt_sagyogaiyo{
  line-height:1.3em;
  font-size:15px;
  text-align:left;
}

/*:::::::::::::::::::::::::::::::::::::::::::::::::
sample
:::::::::::::::::::::::::::::::::::::::::::::::::*/
#sample {
    background: #FFD051

}
.sec_sample .sample_list {
    flex-wrap: wrap;
    justify-content: space-between;
}
.sec_sample .sample_list > div {
    margin: 10px 0;
    width: 492px;
}

/*:::::::::::::::::::::::::::::::::::::::::::::::::
FAQ
:::::::::::::::::::::::::::::::::::::::::::::::::*/

.ac_menu {
    max-width: 1000px;
    margin: auto;
}
.ac_menu dt,
.ac_menu dd {
    cursor: pointer;
    background: #fff;
    padding: 1em 1.5em;
    border-radius: 5px;
    font-weight: bold;
}
.ac_menu dt {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
    background: #FFD051
}
.ac_menu dt:before {
    content: "Q";
    display: block;
    margin-right: 1em;
    font-size: 2em;
}
.ac_menu dd {
    display: none;
    margin-bottom: 2em;
    margin-top: -10px;
    border: 5px solid #E8F6FD;
    border-radius: 5px;
}
.ac_menu dd:before {
    content: "A";
    margin-right: 1em;
    float: left;
    line-height: 1;
    font-size: 2em;
}
.ac_menu dt:after {
    content: "回答";
    color: #fff;
    padding: 10px 2em;
    border-radius: 5px;
    line-height: 1em;
    font-size: 15px;
    margin-left: auto;
    white-space: nowrap;
    background: url(../images/ico_arrow_down.svg) no-repeat right 10px center #080248;
    background-size: 10px;
}


/*:::::::::::::::::::::::::::::::::::::::::::::::::
FORM
:::::::::::::::::::::::::::::::::::::::::::::::::*/
.mwform-checkbox-field label, .mwform-radio-field label {
    display: block;
    margin-bottom: 10px;
}

button, input, select, textarea {
    padding: 1em;
    border: 1px solid rgba(56, 56, 38, 0.25);
    border-radius: 3px;
    background-color: #fff;
    font-size: 1em;
    max-width: 100%;
}
.contact_body {
    background: #fff;
    padding: 60px 5%;
}
.contact-form {
    max-width: 680px;
    margin: auto;
}

.contact-form dl + dl {
    border-top: solid #e8e8e8 1px;
}
.contact-form dl {
    margin: auto;
    padding: 50px;
    display: flex;
    position: relative;
    padding: 30px 0;
    align-items: center;
}
.contact-form dt {
    font-weight: bold;
    padding-left:0;
    width: 240px;
    position: relative;
}
.contact-form dd {
    width: 420px;
    margin-left: 10px;
}

.contact-form .list_item .mwform-radio-field {
    display: block;
    margin-bottom: 10px;
}
.form-required {
    position: absolute;
    right: 10px;
    padding: 0 5px;
    display: inline-block;
    margin-left: 6px;
    background-color: #FFD051;
    color: #080248;
    border-radius: 4px;
    font-weight: bold;
    font-size: 0.8rem;
    text-align: center;
}
.contact-form .list_item .mwform-radio-field-text {
    font-weight: bold;
}
.contact-form .list_item dd {
    background: #fff;
    padding: 2em;
    border: 1px solid rgba(56, 56, 38, 0.25);
}

button, input, select, textarea {
    padding: 1em;
    border: 1px solid rgba(56, 56, 38, 0.25);
    border-radius: 3px;
    background-color:#fff;
    font-size: 1em;
    max-width: 100%;
}
.contact-form .btn input {
    background: none;
    border: none;
    font-weight: bold;
}

::-webkit-input-placeholder { /* WebKit, Blink, Edge */
    color: rgba(56, 56, 38, 0.50);
    font-size: 14px;
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
    color: rgba(56, 56, 38, 0.50);
    font-size: 14px;
}
::placeholder{ /* Others */
    color: rgba(56, 56, 38, 0.50);
    font-size: 14px;
}
.contact-form .error {
    color: #F44336;
    font-weight: bold;
}



/*:::::::::::::::::::::::::::::::::::::::::::::::::
FOOTER
:::::::::::::::::::::::::::::::::::::::::::::::::*/

footer {
    background: #FFD051;
    font-size: 13px;
}
footer > .container{
    padding: 100px 0 60px;
}
footer > .container .col:first-child {
    border-right: 1px solid rgb(8 2 72 / 0.5);
}
footer dt {
    font-weight: bold;
}
footer .ttl {
    font-weight: bold;
    padding-right: 2em;
    margin-bottom: 1em;
}

footer .service_list {
    max-width: 358px;
    margin: auto;
}
footer .service_list a {
    font-weight: normal;
    padding: 10px 1.5em;
    margin-bottom: 2em;
    display: block;
    font-size: 0.9em;
    background: url(../images/ico_arrow_right.svg) no-repeat right 10px center rgb(8 2 72 / 0.05);

}
footer .col{
    width: 50%;
    margin: 0 auto 30px;
}
footer .company_detail_list {
    font-size: 12px;
}
footer .company_detail_list > div{
    display: flex;
}
footer .company_detail_list th {
    text-align: left;
    padding: 5px 1em 5px 0;
    white-space: nowrap;
}
footer .company_detail_list td {
    padding: 5px 1em;
}

footer .company_detail_list dt {
    padding-right: 2em;
    margin-bottom: 1em;
}

footer .copy {
    padding: 1em;
    font-size: 0.8em;
    text-align: center;
    background: rgb(8 2 72 / 0.05);
}



@media screen and (min-width: 640px) {
    .pc_hidden {display: none;}
}
@media screen and (max-width: 1075px) {
    nav {display: none;}
}


@media screen and (max-width: 640px) {
    .sp_hidden {display: none;}

    /* COMMON */
    .sp_full {width: 100% !important;}
    .sp_block {flex-direction: column;}
    .sp_txt_small {font-size: 0.8em; }
    body {
    background-position: right 380px;
    background-size: contain;
    }
     .container {width: 90%;padding: 100px 0;}

    /* TXT */
    body {font-size: 12px;}
    h2 {font-size: 9vw;}
    h2, h3 {line-height: 1.5}
    .mv_lead, .mv_lead_sub, .sec_pic_step .ttl_01, h3 {font-size: 6.5vw;}
    .mv h1 .en {font-size: 5.2vw;}
    .sec_lead .lead {font-size: 5vw;}
    .mv h1{font-size: 7vw;}

    /* flex 解除 */
    .mv_inner,.feature_list {flex-direction: column;}


    /* MARGIN */
    .sec {
        margin-top: 60px;
    }

    /* HEADER */
    header {
        padding: 20px 5% 10px;
    }
    header .logo {
        margin-right: auto;
        width: 30%;
    }
    header .btn_mitumori {
        display: none;
    }
    header.js_scrollin {
        padding: 10px 5%;
    }
    header.js_scrollin .btn_mitumori {
        display: flex;
    }
    header.js_scrollin .logo {
        width: 24%;
    }
    .btn_mitumori {
        font-size: 12px;
        width: 150px;
        height: 40px;
    }
    .btn_mitumori:before {
        width: 12px;
        height: 12px;
        background-size: contain;
    }

    /* MV */
    .mv_content {
        width: 100%;
        padding: 0 5%;
        margin: auto;
    }
    .mv_lead_sub span:before {
        font-size: 6vw;
        top: 0px;
    }
    .mv_txt_box{margin-top: 10px;}
    .mv_inner {margin: 30px auto;}
    .mv_lead_sub {height: 60px;}

    /* news */
    .news {width: 90%;}
    .news_ttl {
        font-size: 13px;
        white-space: nowrap;
    }

    /* plan */
    .plan {width: 90%;}
    .plan_ttl {
        font-size: 13px;
        white-space: nowrap;
    }

    /* sec_lead */
    .sec_plan > .container {
        padding-top: 50px;
    }
    .sec_lead_list_item .box {
        max-width: 410px;
        padding: 20px;
        height: 280px;
    }
    .sec_pic_step .ttl_02 {
        font-size: 5vw;
        text-align: center;
    }
    .sec_pic_step .ttl_02 span {
        margin-right: 0;
        display: block;
    }
    .sec_pic_step_item .ttl .num {
        font-size: 1.2em;
        flex-shrink: 0;
    }

    /* flow */
    .sec_flow > .container {
        padding-bottom: 50px;
    }
    .flow_user_box {
        width: 18%;
        padding: 0 3px;
    }
    .flow_main {
        width: 58%;
    }
    .flow_ttl_u, .flow_ttl_r {
        font-size: 12px;
        line-height: 1.2;
    }
    .flow_ttl_u:after {
        border-width: 12px 0 12px 10px;
    }
    .flow_ttl_r {
        margin: 10px 0 10px 10px;
        padding: 3px;
    }
    .flow_ttl_r > div{
        white-space: normal;
    }
    .flow_ttl_r:before {
        border-width: 20px 15px 20px 0;
        left: -15px;
    }
    .flow_list_body {
        padding: 10px 10px 14px;
        margin: 20px auto 20px;
    }
    .flow_list li {
        margin-top: 5px;
        line-height: 1.3;
        width: 100%;
    }


    /* feature */
    .feature_lead {
        font-size: 1.2em;
        position: relative;
        padding: 1em 30px;
    }
    .sec_feature .ttl_right {
        font-size: 7vw;
        align-items: center;
        margin: 50px 0 10px;
    }
    .feature_list_item {
        padding: 30px 1em;
        width: 80%;
        margin: 10px auto;
    }

    /* PLAN */
    .plan_list_overflow {width: 620px;}
    .plan_list_body {
        white-space: normal;
        overflow-x: auto;
    }
    .plan_list_item {
        width: 160px;
    }
    .plan_list_item.plan_list_cate {
        width: 120px;
    }
    .plan_list_item .price .num {
        font-size: 24px;
    }
    .plan_list_item .jp {
        font-size: 14px;
    }
    .plan_list_item .price {
        font-size: 10px;
    }
    .plan_list_item .price .txt {
        margin-bottom: -5px;
    }
    .plan_list_item li:last-child {
        height: 165px;
        padding: 15px 15px 15px 15px ;
    }

    /* FOOTER */
    footer {
        font-size: 12px;
        margin-top: 0;
    }
    footer > .container {
        margin: auto;
        padding: 80px 0 0;
    }
    footer > .container .col:first-child {
        border: none;
    }
    footer .company_detail_list {
        margin-bottom: 30px;
    }
    footer .col {
        margin-bottom: 50px;
    }
    footer .ttl {flex-shrink: 0;}


    /* CTA */
    #cta {
        padding: 60px 0;
        position: relative;

    }
    #cta:before {
        top: 30px;
        left: 3%;
        background-size: 80%;
    }
    #cta:after {
        bottom: -50px;
        right: 3%;
        background-size: 80%;
        background-position: right 0;
    }
    #cta .btn {
        height: 90px;
        font-size: 18px;
        max-width: 100%;
    }
    #cta .btn:after {
        width: 25px;
        height: 25px;
        background-size: cover;
    }
    #cta .tel_body {
        padding: 16px 10px 10px;
    }
    #cta .tel_desc {
        padding: 0;
        border-right: 0;
        margin-right: 0;
        text-align: center;
    }
    #cta .tel_txt {
        font-weight: bold;
        font-size: 18px;
    }
    #cta .tel_txt:before {
        content: "";
        display: block;
        width: 28px;
        height: 28px;
        margin-right: 10px;
        background: url(../images/ico_tel.svg) no-repeat 0 0;
    }
    #cta .tel {
        font-size: 9vw;
        margin-top: 10px;
    }


    /* FAQ */
    .ac_menu dt:before, .ac_menu dd:before {
        font-size: 20px;
    }
    .ac_menu dt:after {
        font-size: 10px;
        background-size: 8px;
        padding: 8px 17px;
        background-position: right 6px center;
    }
    .ac_menu dd {
        margin-bottom: 2em;
        margin-top: 5px;
        padding: 1em;
    }

    /* FORM */
    .contact-form dl {
        display: block;
    }
    .contact-form dt {
        margin-left: 0;
        margin-bottom: 0.5em;
        padding-left: 0;
        width: 100%;
        font-size: 14px;
    }
    .contact-form dd {
        width: 100%;
        margin-left: 0;
    }
    }

/* font */
.txt_l { text-align: left; }
.txt_c { text-align: center; }
.txt_r { text-align: right; }
.txt_fwn { font-weight: normal; }
.txt_fwb { font-weight: bold; }
.txt_10 { font-size: 10px; }
.txt_11 { font-size: 11px; }
.txt_12 { font-size: 12px; }
.txt_14 { font-size: 14px; }
.txt_15 { font-size: 15px; }
.txt_16 { font-size: 16px; }
.txt_18 { font-size: 18px; }
.txt_20 { font-size: 20px; }
.txt_24 { font-size: 24px; }
.txt_28 { font-size: 28px; }
.txt_c_333 {color: #333;}


/* margin */
.mar_auto { margin: 0 auto; }
.mar_l_auto { margin-left: auto; }
.mar_r_auto { margin-right: auto; }
.mar_0 { margin: 0; }
.mar_t_0 { margin-top: 0; }
.mar_r_0 { margin-right: 0; }
.mar_b_0 { margin-bottom: 0; }
.mar_l_0 { margin-left: 0; }
.mar_5 { margin: 5px; }
.mar_t_5 { margin-top: 5px; }
.mar_r_5 { margin-right: 5px; }
.mar_b_5 { margin-bottom: 5px; }
.mar_l_5 { margin-left: 5px; }
.mar_t_10 { margin-top: 10px; }
.mar_r_10 { margin-right: 10px; }
.mar_b_10 { margin-bottom: 10px; }
.mar_l_10 { margin-left: 10px; }
.mar_t_20 { margin-top: 20px; }
.mar_r_20 { margin-right: 20px; }
.mar_b_20 { margin-bottom: 20px; }
.mar_l_20 { margin-left: 20px; }
.mar_t_30 { margin-top: 30px; }
.mar_r_30 { margin-right: 30px; }
.mar_b_30 { margin-bottom: 30px; }
.mar_l_30 { margin-left: 30px; }
.mar_t_50 { margin-top: 50px; }
.mar_r_50 { margin-right: 50px; }
.mar_b_50 { margin-bottom: 50px; }
.mar_l_50 { margin-left: 50px; }

/* padding */
.pad_v_10 { padding: 10px 0; }
.pad_v_20 { padding: 20px 0; }
.pad_v_30 { padding: 30px 0; }
.pad_0 { padding: 0; }
.pad_t_0 { padding-top: 0; }
.pad_r_0 { padding-right: 0; }
.pad_b_0 { padding-bottom: 0; }
.pad_l_0 { padding-left: 0; }
.pad_5 { padding: 5px; }
.pad_t_5 { padding-top: 5px; }
.pad_r_5 { padding-right: 5px; }
.pad_b_5 { padding-bottom: 5px; }
.pad_l_5 { padding-left: 5px; }
.pad_10 { padding: 10px; }
.pad_t_10 { padding-top: 10px; }
.pad_r_10 { padding-right: 10px; }
.pad_b_10 { padding-bottom: 10px; }
.pad_l_10 { padding-left: 10px; }
.pad_20 { padding: 20px; }
.pad_t_20 { padding-top: 20px; }
.pad_r_20 { padding-right: 20px; }
.pad_b_20 { padding-bottom: 20px; }
.pad_l_20 { padding-left: 20px; }
.pad_30 { padding: 30px}
.pad_t_30 { padding-top: 30px; }
.pad_r_30 { padding-right: 30px; }
.pad_b_30 { padding-bottom: 30px; }
.pad_l_30 { padding-left: 30px; }
