/*:::::::::::::::::::::::::::::::::::::::::::::::::
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
:::::::::::::::::::::::::::::::::::::::::::::::::*/
@media screen and (min-width: 960px) {

html {
  scroll-padding-top: 80px;
}
}
body {
    background: #06353B;
}

/* 画像 */
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;
}

.bg_w {background-color: #fff;}

.ttl_box {
    max-width: 1000px;
    margin: 0 auto 70px;
}

h2.ttl .jp{
    font-size: 50px;
    font-weight: 700;
    color: #bcf568;
    padding-right: 15px;
    letter-spacing: 0.1em;
}
h2.ttl .en {
    font-size: 24px;
    color: #fff;
    font-weight: normal;
    font-style: italic;
    letter-spacing: 0.2em;
}

h2.ttl + .line {
    height: 1px;
    background: #fff;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 10px;
}
h2.ttl + .line::before {
    content: "";
    width: 10px;
    height: 10px;
    background: #fff;
    border-radius: 10px;
    display: block;
}

h2.ttl + .line::after {
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 10px;
    background: #fff;
    display: block;
}


/*:::::::::::::::::::::::::::::::::::::::::::::::::
LAYOUT
:::::::::::::::::::::::::::::::::::::::::::::::::*/

.container {
    max-width: 1000px;
    margin: auto;
    padding-top: 170px;
}
.sec{margin-top: 100px;}
.flex {display: flex;}
.ac {align-items: center;}
.jc_c {justify-content: center;}
.jc_s {justify-content: space-between;}
.af {align-items: flex-end;}
.fd_rr {flex-direction: row-reverse;}

.w_100 {width: 100%;}
.item_columns .item_image {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 25px;
}



/*:::::::::::::::::::::::::::::::::::::::::::::::::
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: 15px;
    font-weight: 500;
    color: #273413;
}

a,h1,h2,h3,h4,h5, .bold {font-weight: 700;}

h2 {text-align: center;}
h3 {font-size: 24px;}
.small {
    font-size: 0.8em;
}
.en {
    font-family: 'Expletus Sans', sans-serif;
    font-weight: 700;
    letter-spacing: 0.05em;
}
.num {
    font-family: 'Lato', sans-serif;
    font-weight: 700
}
.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 {
    cursor: pointer;
}

/*.btn:visited, .btn:active, .btn:hover {color: #273413;}*/
a:link, a:visited, a:hover,a:active, a:focus {color: #273413;}

nav li a {color: #C8E7DD;}
nav li a:link, nav li a:visited, nav li a:hover, nav li a:active, nav li a:focus {color: #C8E7DD;}

a.txt_link {
    color: #BCF568 !important;
    border-bottom: solid 1px;
    margin-right: 5px;
}
.btn {
    background: #BCF568;
    text-align: center;
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 1em;
    border-radius: 100vh;
}
.btn_s {
    white-space: nowrap;
    font-size: 12px;
    max-width: 240px;
    margin-top: 30px;
    padding: 1em;
}

.btn_m {
    max-width: 400px;
    width: 80%;
    height: 90px;
    font-size: 28px;
    position: relative;
    margin-left: auto;
    margin-right: auto;
    margin-top: 70px;
}
.btn_m:after{
    content: "";
    display: block;
    width: 24px;
    height: 24px;
    background: url(../images/ico_arrow_dropdown_circle.svg) no-repeat 0 center;
    background-size: contain;
    position: absolute;
    right: 1em;
    transform: rotate(-90deg);
}

header .btn {
    width: 200px;
    height: 48px;
    font-size: 16px;
}
#cta .btn:after {
    content: "";
    display: block;
    width: 35px;
    height: 35px;
    background: url(../images/ico_arrow_dropdown_circle.svg) no-repeat 0 center;
    position: absolute;
    right: 1em;
    top: 50%;
    transform: translateY(-50%);
}
#cta .btn {
    width: 550px;
    height: 130px;
    position: relative;
    font-size: 40px;
    margin: auto;
}


/*:::::::::::::::::::::::::::::::::::::::::::::::::
HEADER
:::::::::::::::::::::::::::::::::::::::::::::::::*/

header {
    padding: 40px 3%;
    align-items: center;
}
header.js_scrollin {
    position: fixed;
    top: 0;
    left: 0;
    background: rgba(6, 53, 59, 0.9);
    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;
    width: 160px;
}
nav {
    margin-right: 40px;
}
nav li {
    padding: 0 1em;
}

/*:::::::::::::::::::::::::::::::::::::::::::::::::
MV
:::::::::::::::::::::::::::::::::::::::::::::::::*/
body {
    background: url(../images/bg_blur_01.png) 0 0 no-repeat #06353B;
    background-size: 50%;
    align-items: center;
    justify-content: space-between;
}
.mv_container {
    max-width: 1200px;
    width: 90%;
    margin: auto;
    padding: 100px 0;
}
.mv_content {
    color: #fff;
}
.mv_image img {
    max-width: 490px;
}

.mv .mv_lead {
    font-size: 50px;
    line-height: 1.2;
}
.mv .mv_lead:after {
    content: "";
    display: block;
    background: #89D41A;
    height: 5px;
    width: 3em;
    margin: 30px 0;
}
.mv .mv_lead_sub {
    font-size: 20px;
}
.mv .sub_txt .sub_txt_item {
    display: flex;
    align-items: center;
    padding-bottom: 0.3em;
    margin-bottom: 0.3em;
}
.mv .sub_txt .sub_txt_item:before {
    content: url(../images/ico_check.svg);
/*    background: url(../images/ico_check.svg) no-repeat 0 center;*/
    display: block;
/*
    width: 26px;
    height: 16px;
*/
    margin-right: 8px;
}


/*:::::::::::::::::::::::::::::::::::::::::::::::::
feature
:::::::::::::::::::::::::::::::::::::::::::::::::*/
.feature .container {
    padding-top: 50px;
}
.feature_lead_box {
background: url(../images/bg_problem.svg) no-repeat 0 0 rgba(255,255,255,0.10);
/*    padding: 50px;*/
    height: 184px;
    color: #fff;
    justify-content: space-around;
    align-items: center;
    background-size: contain;
    margin-bottom: 50px;
    padding: 6%;
}
.feature_lead {
    font-size: 28px;
}
.feature_lead_txt {
    font-size: 20px;
    color: #c8e7dd;
    font-weight: 700;
    max-width: 480px;
    border-left: dotted 4px #fff;
    padding-left: 50px;
    line-height: 2;
}
.feature_sub_desc {
    line-height: 2.5;
    text-align: center;
    color: #fff;
}
.feature .point_list {
    margin: 30px auto 0;
}
.feature .point_list li {
     background: url(../images/hexagon.svg) no-repeat center 0;
    color: #fff;
    text-align: center;
    flex: 1;
    padding: 50px 10px 70px;
    background-size: contain;
}

.feature .point_list .num {
    font-family: 'Righteous';
    color: rgba(0, 0, 0, 0);
    -webkit-text-stroke: 1px #bcf568;
    text-stroke: 1px #bcf568;
    font-size: 60px;
    line-height: 1;
    font-weight: normal;
    margin: 30px 10px 20px;
}
.feature .point_list h3 {
     font-size: 28px;
    color: #bcf568;
    margin-top: 0.5em;
}

.feature .dekirukoto {
    margin: 50px auto 0;
}

/*:::::::::::::::::::::::::::::::::::::::::::::::::
plan
:::::::::::::::::::::::::::::::::::::::::::::::::*/
#plan {
    background: url(../images/bg_blur_01.png) 0 0 no-repeat;
    background-size: 50%;
}
#plan .price_01 {
    position: relative;
}
#plan .price_02 {
    margin-top: 50px;
}

#plan .price_01:after {
    background: url(../images/bg_blur_01.png) 0 -160px no-repeat;
    background-size: contain;
    content: "";
    width: 50%;
    height: 50%;
    display: block;
    position: absolute;
    right: -10%;
    z-index: -1;
}
#plan .container {
    max-width: 1200px;
}

.ttl_arrow_box {
    display: flex;
}
.ttl_arrow_box h3 {
    background: #bcf568;
    height: 68px;
    padding: 0 1em;
    line-height: 68px;
    margin-bottom: 0;
}
.ttl_arrow_box:after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 68px 0 0 50px;
    border-color: transparent transparent transparent #bcf568;
}



.price_item {
    background: #fff;
    border-top: dotted 1px;
}
.price_item:first-child {
    border: none;
}

.price_item .ttl {
    background: #DBE2E2;
    width: 30%;
}
.price_item .en {
    font-size: 1.5em;
    font-weight: 700;
    font-family: "Noto Sans JP", sans-serif;
}

.price_item .ttl,
.price_item .detail {
    padding: 30px;
}
.price_item .detail {
    flex: 1;
}
.detail_price {
    display: flex;
    margin-bottom: 10px;
    font-size: 1.2em;
    border: solid 3px #dbe2e2;
}
.detail_price dt {
    background: #DBE2E2;
    font-weight: 700;
    margin-right: 10px;
    padding: 0 1em;
    display: flex;
    align-items: center;
    white-space: nowrap;
}
.detail_price dd {
    font-weight: 700;
}
.detail_price dd p {
    padding: 1em;
}
.ex_box {
    border: solid 3px #dbe2e2;
    padding: 0 20px 20px;
    margin-top: 50px;
}
.ex_box dt {
     background: #fff;
    margin-top: -1em;
    margin-bottom: 30px;
    width: 80px;
    text-align: center;
    font-weight: bold;
    font-size: 1.2em;
}
.ex_list, .ex_item {
    flex: 1;
}
.ex_list {
    margin-bottom: 20px;
    margin-right: 10px;
}
.ex_item {
    font-weight: 700;
    margin-top: 10px;
    padding: 5px 1em;
}

.ex_item.ex_01 {
    background: #DBE2E2;
}
.ex_item.ex_02 {
    background: #E8ECEC;
    background: #edf1f1;
}
.ex_price {
    font-size: 14px;
    align-self: center;
    font-weight: 700;
    white-space: nowrap;
}
.ex_price .eq {
    font-size: 20px;
    margin: 0 5px;
}
.price_01 .ex_price .num{
    font-size: 28px;
}

.price_02 table {
    background: #fff;
    border: solid 1px;
/*    table-layout: fixed;*/
}
.price_02 table th, .price_02 table td {
    padding: 1em;
    border: dashed 1px;
    background: #fff;
    vertical-align: middle;
    text-align: left;
}
.price_02 thead th {
    background-color: #DBE2E2;
    font-weight: 700;
}
.price_02 .price {
    font-size: 12px;
/*    text-align: center;*/
}
.price_02 .num {
    font-size: 24px;
}

.price_02 tbody th dt {
    background: #DBE2E2;
    font-weight: 700;
    padding: 0 1em;
    margin-bottom: 10px;
    display: inline-block;
}



/* 価格例 */
.ex_total {
    border: solid 3px;
    padding: 0 50px 10px;
    margin-top: 60px;
    color: #fff;
}

.ex_total td, .ex_total th {
    vertical-align: baseline;
    padding: 0 1em;
}
.ex_total .ex_price {
    margin-top: 0;
}

.ex_total .ex_price .num{
    font-size: 18px;
}
.ex_total .total .num {
    font-size: 24px;
}
.ex_total .ttl {
    font-size: 1.5em;
    font-weight: 700;
    margin-bottom: 20px;
    padding-bottom: 10px;
    margin-top: -1em;
    background: #06353b;
    color: #fff;
    width: 74%;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}
.ex_total .ttl span {
    background: #BCF568;
    padding: 0 1em;
    margin-right: 10px;
    color: #111;
    font-weight: bold;
}

.ex_total .total {
    border-top: solid;
}
.ex_total .line {
    border-bottom: dotted 1px #ccc;
}
.ex_total .ex_total_item {
    text-align: left;
    font-weight: 700;
    font-size: 1.2em;
    padding: 10px;
}
.ex_total .ex_price {
    padding: 10px 0;
}

/*
.plus {
    font-size: 20px;
    background: #fff;
    color: #fff;
    border-radius: 200px;
    width: 22px;
    height: 22px;
    margin: 0 5px;
    display: inline-flex;
    text-align: center;
    justify-content: center;
    align-items: center;
}
*/



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

#cta {
    background: url(../images/bg_cta.png) no-repeat 0 center;
    background-size: 60%;
    margin-top: 150px;
}

#cta .tel_body {
    border-top: solid 1px #fff;
    border-bottom: solid 1px #fff;
    justify-content: center;
    margin: 50px auto 0;
    padding: 24px 50px;
    color: #fff;
    max-width: 800px;
}
#cta .txt {
    font-size: 20px;
    text-align: center;
    color: #fff;
    margin-bottom: 50px;
}

#cta .tel_desc {
    border-right: 1px solid;
    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: 15px;
    background: url(../images/ico_tel.svg) no-repeat 0 0;
}
#cta .time {
    font-size: 17px
}
#cta .tel {
    font-size: 50px;
    color: #fff;
}


/*:::::::::::::::::::::::::::::::::::::::::::::::::
FLOW
:::::::::::::::::::::::::::::::::::::::::::::::::*/

#flow {
    background: url(../images/bg_blur_01.png) center 165px no-repeat;
    background-size: 50%;
}

.flow_list {
    max-width: 800px;
    margin: auto;
}
.flow_ttl_box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #fff;
    padding: 10px 15px 10px 1em;
}
.flow_list_item + .flow_list_item:before {
    content: "";
    width: 0;
    height: 0;
    display: block;
    border-style: solid;
    border-width: 20px 35px 0 35px;
    border-color: #bcf568 transparent transparent transparent;
    margin: 5px auto 15px;
}
.flow_ttl {
    font-size: 24px;
    font-weight: 700;
}
.flow_ttl .num {
    font-size: 30px;
    font-family: Righteous;
    font-weight: normal;
    text-align: center;
    margin-right: 20px;
}
.flow_cat {
    font-size: 12px;
    font-weight: 700;
}
.flow_cat:before {
 content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 1px solid #fff;
    margin-right: 5px;
    vertical-align: middle;
}
.flow_cat_01 .flow_cat:before {
    background: #e7e6c8;
}
.flow_cat_02 .flow_cat:before {
    background: #C8E7DD;
}
.flow_txt {
    border-radius: 3px;
    padding: 30px 30px 30px 80px;
    margin-top: 5px;
}
.flow_txt {
    background: #fff;
}
.flow_cat_01 .flow_txt {
    background: #e7e6c8;
}
.flow_cat_02 .flow_txt {
    background: #C8E7DD;
}
.flow_list_item ul,
.flow_list_item ol {
    list-style-type: decimal;
    margin: 10px 30px 15px;
}
.flow_list_item ol {
    list-style-type: decimal;
}
.flow_list_item ul {
    list-style-type: disc;
}
.flow_list_item .option {
    background: #DBE2E2;
    font-weight: 700;
    padding: 5px 1em;
    display: inline-block;
    font-size: 15px;
    vertical-align: middle;
    margin-right: 10px;
}



/*:::::::::::::::::::::::::::::::::::::::::::::::::
sample
:::::::::::::::::::::::::::::::::::::::::::::::::*/

#sample {
    background: url(../images/bg_blur_01.png) 0 0 no-repeat;
    background-size: 50%;
}

.sample .sample_item {
    margin-top: 50px;
}

.sample .sample_item .cap{
    text-align: center;
    font-size: 20px;
    margin-top: 10px;
    color: #fff;
    text-align: center;
}




/*:::::::::::::::::::::::::::::::::::::::::::::::::
FAQ
:::::::::::::::::::::::::::::::::::::::::::::::::*/
#faq {
    margin-top: 100px;
}
.ac_menu {
    max-width: 1000px;
    margin: auto;
}
.ac_menu dt,
.ac_menu dd {
    cursor: pointer;
    padding: 15px 30px;
    border-radius: 3px;
    font-weight: bold;
    font-size: 18px;
}
.ac_menu dt {
    background:#fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}
.ac_menu dt p {
    padding-right: 15px;
    font-weight: 700;
}
.ac_menu dt:before {
    content: "Q";
    font-family: 'Expletus Sans', sans-serif;
    display: block;
    font-size: 40px;
    color: #BCF568;
    margin-right: 1em;
    line-height: 1;
}
.ac_menu dd {
    background: rgba(255,255,255,0.50);
    display: none;
    margin-bottom: 2em;
    padding: 2em;
}
.ac_menu dd:before {
    content: "A";
    font-family: 'Expletus Sans', sans-serif;
    color: #fff;
    font-size: 40px;
    margin-right: 1em;
    float: left;
    line-height: 1;
}

.ac_menu dt:after {
    content: "回答";
    padding: 10px 2em;
    border-radius: 3px;
    line-height: 1em;
    font-size: 15px;
    margin-left: auto;
    white-space: nowrap;
    background: url(../images/ico_arrow_down_b.svg) no-repeat right 10px center #DBE2E2;
    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-form h3 {
    border-bottom: solid 3px #fce567;
    padding: 0 0.5em 0.5em;
}
.contact-form {
    max-width: 680px;
    margin: auto;
}

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

.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: #BCF568;
    color: #06353B;
    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: rgba(255,255,255,0.10);
    padding: 100px 0 0;
    font-size: 14px;
    color: #fff;
    margin-top: 150px;
}
footer > .container{
    margin-bottom: 100px;
    padding-top: 0;
}
footer > .container .col:first-child {
    border-right: 1px solid #fff;
}
footer dt {
    font-weight: bold;
}
footer dd {
    font-size: 12px;
}
footer .ttl {
    font-weight: bold;
    padding-right: 2em;
    margin-bottom: 1em;
}

footer .service_list {
    max-width: 358px;
    margin: auto;
}
footer .service_list a {
    color: #fff;
    font-weight: normal;
    background: rgba(255,255,255,0.10);
    padding: 10px 1.5em;
    margin-bottom: 2em;
    display: block;
    font-size: 12px;
}
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;
    text-align: center;
    background: #06353B;
}





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

body {background-position: 0 0;}
#plan .flex {display: block;}


/* FONT */
.mv .mv_lead_sub {
    font-size: 3vw;
    letter-spacing: 0.2em;
}

h2.ttl .jp {font-size: 8vw;}
h2.ttl .en {font-size: 16px;}
.feature_sub_desc {font-size: 12px;}

/* COMMON */
.sp_full {width: 100% !important;}
.sp_block {flex-direction: column;}
.sp_txt_small {font-size: 0.8em; }
.txt_small {font-size: 0.5em; }
body {
background-position: 0 0;
background-size: contain;
}
.pc_hidden {display: none !important;}
.container {width: 90%;}
.btn {max-width: 80%;}
.container {padding-top: 100px;}
#cta .btn, .btn_m {
     height: 74px;
    font-size: 4.8vw;
}
#cta .btn:after, .btn_m:after {
    width: 18px;
    height: 18px;
    background-size: cover;
}

/* BG */
#plan {
background-size: 130%;
}



/* MARGIN */
.ttl_box {margin: 0 auto 30px;}

/* HEADER */
header .logo {
    margin-right: auto;
    width: 140px;
}
header {padding: 20px 5%;}
header .btn {display: none;}
header.js_scrollin {padding: 20px 5%;}
header.js_scrollin .btn {
    height: 24px;
    line-height: 24px;
    width: 110px;
    font-size: 12px;
    padding: 0 10px;
    display: block;
}
header.js_scrollin .logo {width: 28%;}

/* MV */
.mv_container {padding: 20px 0 50px;}
.mv_image img {
max-width: 90%;
margin: 30px auto 0;
}
.mv .mv_lead {
     font-size: 7vw;
    margin-top: 10px;
    margin-bottom: 30px;
}
.mv .mv_lead:after {
    margin: 14px 0 20px;
}
.mv .sub_txt {
    margin-top: 24px;
    margin-bottom: 30px;
}
.mv .sub_txt .sub_txt_item {
    align-items: baseline;
    font-size: 12px;
}

/* feature */
.feature_lead_txt {
    font-size: 15px;
}
.feature_lead {
    font-size: 24px;
}
.feature_lead_txt {
    border: none;
}

/* PLAN */
.ttl_arrow_box h3, .ex_total .ttl span {
    font-size: 18px;
}

.ex_list {
    margin-right: 0;
}
.ex_price {
    font-size: 12px;
    text-align: right;
}
.price_01 .price_item p, .price_item .ex_item {
    font-size: 13px;
}
.detail_price {font-size: 15px;}
.ex_total td, .ex_total th {
    display: block;
}
.price_item .ttl {
    width: 100%;
}
.price_item .detail {
    padding: 50px 20px;
}
.price_02_table {
    white-space: nowrap;
    overflow-y: auto;
}
.ex_total {
    padding: 0 10px 10px;
    font-size: 12px;
}
.ex_total .ttl {width: 100%;}
.ex_total .ttl span {
     display: block;
    margin-bottom: 30px;
    margin-right: auto;
    margin-left: auto;
}
.ex_total .ttl {font-size: 20px;}
.ex_total .ex_total_item {
    font-size: 16px;
    padding: 0;
    margin: 10px 0;
}
.ex_total .ex_total_item span {
    display: block
}

#plan .price_01:after {
right: 0;
width: 100%;
}



/* FOOTER */
footer {
    padding-top: 60px;
}
footer > .container {
width: 80%;
margin: auto;
}
footer > .container .col:first-child {
    border: none;
}
footer .company_detail_list {
    margin-bottom: 30px;
}
footer .col {
    margin-bottom: 50px;
}

footer dl { flex-direction: column;}


/* CTA */
 #cta {
    background-size: 110%;
    background-position: 0 0;
    margin-top: 100px;
    margin-bottom: 50px;
}
#cta .txt {
    font-size: 15px;
    margin-bottom: 30px;
}
#cta .tel_body {
    padding: 30px 10px 24px;
}
#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: 15px;
    background: url(../images/ico_tel.svg) no-repeat 0 0;
}
#cta .tel {
    font-size: 9vw;
    margin-top: 10px;
}

/* FLOW */
.flow_ttl_box {
    display: block;
}
.flow_ttl .num {
    margin-right: 10px;
}
.flow_cat {
    text-align: right;
    margin-top: 10px;
}
.flow_list_item .option {
    margin-right: 5px;
    font-size: 10px;
}
.flow_txt {
    padding: 5%;
}
.flow_ttl {
font-size: 20px;
}

/* SAMPLE */
.sample .sample_item .cap {
    font-size: 12px;
    padding: 0 10px;
}
.sample .flex {display: block;}

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

/* FORM */
.contact-form dl {
    display: block;
}
.contact-form dt {
    margin-left: 0;
    margin-bottom: 0.5em;
    padding-left: 0;
    width: 100%;
}
.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;}

.txt_l_h_2 { line-height: 2; }

/* 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; }
