@charset "UTF-8";
@import "base.css";
@import "fonts.css";
/*==========================================================================*/

/* 基本タグのフォントサイズを指定（12px -> 120% or 1.2em ） */
h1,
h2,
h3,
h4,
h5,
h6,
input,
button,
textarea,
select,
p,
blockquote,
th,
td,
pre,
address,
li,
dt,
dd {
    font-size: 150%;
    -webkit-text-size-adjust: none;
}

img {
    vertical-align: bottom;
    max-width: 100%;
}

h1 {}

/* Header内で設定 */
h2 {}

h3 {}

h4 {}

a {
    color: #589CD1;
}

a:hover,
a:active {
    color: #589CD1;
}

a:visited {}

ul {}

li {}

dl {}

dt {}

dd {}

table {
    width: 100%
}

th,
td {}

th {}

td {}

p {
    margin: 0 0 1.5em;
}

p,
dd,
td,
th,
li {
    line-height: 1.6em;
}

.section {
    padding: 0 0 30px 0;
}

.section .section {
    padding: 0 0 10px;
}

.image_l {
    float: left;
    margin: 0 16px 8px 0;
}

.image_r {
    float: right;
    margin: 0 0 8px 16px;
}

#toTop {
    border: none;
    bottom: 50px;
    cursor: pointer;
    display: none;
    overflow: hidden;
    position: fixed;
    right: 50px;
    text-decoration: none;
    margin: 0;
}

/* add
------------------------------------------------------------------------*/

/*==========================================================================*/
/*                            Container                                     */
/*==========================================================================*/

html {
    background: none;
}

body {
    font-weight: 500;
    color: #444444;
    font-family: "游明朝", Yu Mincho, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝B", serif;
}

#wrapper {
    overflow: hidden;
}

.inner {
    width: 1030px;
    margin: 0 auto;
}

.under #content {
    text-align: left;
}

/*==========================================================================*/
/*                               Header                                     */
/*==========================================================================*/
#header {
    background: url("../images/bg_header_pc.jpg") top center no-repeat;
    background-size: 1920px auto;
    height: 750px;

    position: relative;
}

#header_info {

    padding: 13px 0;

}

#header_info.fixed {
    position: fixed;
    width: 100%;
    z-index: 200;
    background: #323232;

}

.header_top_left {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding-left: 40px;
    float: left;


}

#logo {
    width: 55px;
    margin-bottom: 0;

}

.header_link {
    margin-left: 15px;

}

.header_link ul {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.header_link ul li {
    margin: 0 9px;
}

.header_link ul li a {
    font-size: 15px;
    color: #fff;
    text-decoration: none;
    position: relative;

}

.header_link ul li a:before {
    position: absolute;
    content: "";
    height: 1px;
    background: #fff;
    width: 0;
    transition: all 0.2s;
    bottom: -3px;
    left: 50%;
    transform: translateX(-50%);

}

.header_link ul li a:hover:before {
    width: calc(100% + 10px);
}

.header_top_right {
    float: right;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding-right: 20px;

}

.main_cal {
    padding-left: 5px;
    box-sizing: border-box;
    font-size: 15px;
    background: url(../images/icon_tel02.png) 0 center no-repeat;
    background-size: 35px auto;
    float: right;
    text-align: center;
    line-height: 1.2em;
    margin-bottom: 0;
    letter-spacing: 0.08em;
    padding: 5px 0 5px 50px;
}

.main_cal a {
    color: #fff;
    text-decoration: none;
}


.main_cal span {
    display: block;
    padding-top: 2px;
}


.header_contact ul {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding-right: 10px;
}

.header_contact ul li {
    margin: 0 15px;
}

.head_ct a {
    color: #fff;
    display: inline-block;
    font-size: 12px;
    line-height: 31px;
    text-decoration: none;
    margin: 0 auto;
    min-width: 160px;
    box-sizing: border-box;
    transition: all 0.3s;
    cursor: default;
    text-align: center;
    border: 2px solid #fff;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
}




.head_ct a:hover {
    opacity: 0.8;
    cursor: pointer;
}


.txt_cpr {
    padding-top: 45px;
}

.txt_cpr h2 {
    font-size: 50px;
    color: #fff;
    line-height: 1.38em;
    margin-bottom: 15px;
    letter-spacing: 0.06em;
}

.txt_cpr h2 span {
    font-size: 30px;
    display: block;
}

.hmain {
    font-size: 21px;
    color: #fff;
    line-height: 1.01em;
    letter-spacing: 0.06em;
    text-align: center;
    width: 140px;
    font-weight: normal;
    margin-bottom: 0;

}

.hmain span {
    font-size: 15px;
    display: block;

}

.main_price {
    position: absolute;
    top: 350px;
    width: 100%;
    left: 10px;
}

.list_main_price {

    position: relative;
    display: flex;

}

.list_main_price_ct {
    float: left;
    width: 168px;
    height: 168px;
    color: #111111;
    position: absolute;
    text-align: center;
    transform: rotate(-45deg);
    background: #fff;
    overflow: hidden;
    cursor: pointer;


}
.list_main_price_ct:hover:before {
    background: #880404;
}
.list_main_price_ct:before {
    position: absolute;
    background: #333333;
    color: #fff;
    font-size: 12px;
    bottom: -65px;
    left: -70px;
    content: "詳細";
    width: 120px;
    height: 103px;
    padding-top: 8px;
    border: none;
    transform: rotate(45deg);
}

.list_main_price_ct_in {
    transform: rotate(45deg);

    width: calc(100% + 40px);
}

.list_main_price_ct:nth-child(1) {
    top: 127px;
    left: 0;
}

.list_main_price_ct:nth-child(2) {
    top: 0;
    left: 127px;
}

.list_main_price_ct:nth-child(3) {
    top: 127px;
    left: 253px;
}

.list_main_price_ct p {
    z-index: 2;
    position: relative;
}

.btn_dt {
    position: absolute;
    background: #000;
    color: #fff;
    font-size: 15px;
    bottom: 0;
    left: 50%;
}

.main_price_info {
    line-height: 1.1em;
    font-size: 38px;
    font-weight: normal;
    margin-bottom: 0;
    padding-top: 40px;
    padding-left: 6px;
    letter-spacing: 0.05em;
    position: relative;
}

.main_price_info span {
    font-size: 19px;
    display: block;
    letter-spacing: 0;
}
.main_price_info span.dv{
     line-height: 1em;
    font-size: 19px;
    display: inline-block;
    position: absolute;
    bottom: -14px;
    right: 25px;
}

.main_price_info em {
    font-size: 20px;
    font-style: normal;
}

.main_btn {
    text-align: center;
    position: absolute;
    bottom: -30px;
    left: 50%;
    transform: translateX(-50%);
    margin-bottom: 0;
    width: 100%;
    transition: bottom 0.3s;
     max-width: 600px;
}

.main_btn:hover {
    bottom: -35px;

}

.main_btn a {

    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    color: #fff;
    background: url(../images/btn_arrow02.png) center bottom 3px no-repeat #333333;
    background-size: 14px;
    display: inline-block;
    font-size: 25px;
    text-decoration: none;
    line-height: 2em;
    padding: 5px 5px 9px;
    max-width: 600px;
    width: 100%;
    transition: background-color 0.3s;


}
.main_btn a:hover {
    background-color: #880404;
}
#header_menu {
    z-index: 100;
    position: absolute;
    right: -260px;
    top: 80px;
    width: 260px;
    transition: all 0.3s;
    background: rgba(255, 255, 255, 0.97);
    height: calc(100vh - 80px);




}

#header_menu.fixed {
    position: fixed;

    overflow: auto;
}

#header_menu.active {
    right: 0;
}

.header_menu_ttl {
    text-align: center;
}

.header_menu_ttl img {
    width: 70px;
}

#header_menu ul {
    padding-top: 20px;
}

#header_menu ul li {}

#header_menu ul li:last-child {
    border-bottom: none;
}

#header_menu ul li a {
    text-align: center;
    font-size: 13px;
    color: #707070;
    text-decoration: none;
    line-height: 49px;
    display: block;

}

#header_menu ul li a:hover {
    color: #880303;
    background: #fff;
}

/*==========================================================================*/
/*                              Footer                                      */
/*==========================================================================*/

#footer {
    clear: both;
    background: #F7EBEB;
}

.footer_info {
    padding: 7px 0 15px;
}

.footer_logo {
    margin-bottom: 0;
}

.footer_info_ad {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 780px;
    margin: 0 auto;
}

.footer_logo img {
    width: 62px;
}


.footer_cal {
    padding-left: 5px;
    box-sizing: border-box;
    font-size: 19px;
    background: url(../images/icon_tel01.png) 0 center no-repeat;
    background-size: 55px auto;
    float: right;
    padding-left: 65px;
    text-align: center;
    line-height: 1.2em;
    margin-bottom: 0;
    letter-spacing: 0.08em;
}

.footer_cal a {
    color: #880303;
    text-decoration: none;
}


.footer_cal span {
    display: block;
    padding-top: 2px;
}

address {
    text-align: center;
    font-size: 10px;
    line-height: 40px;
    color: #707070;
    position: relative;
    margin-top: -49px;
}

/*==========================================================================*/
/*                             Contents                                     */
/*==========================================================================*/

/* index
------------------------------------------------------------------------*/
ul.list01 li {
    margin: 0 0 7px 0;
    position: relative;
    padding-left: 15px;
}

ul.list01 li:last-child {
    margin-bottom: 0;
}

ul.list01 li:before {
    content: "";
    background: #589CD1;
    width: 7px;
    height: 7px;
    position: absolute;
    left: 0;
    top: 8px;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
}

/* common */
h3.s01 {
    text-align: center;
    color: #444;
    font-size: 30px;
    margin-bottom: 45px;
    line-height: 1.5em;
    font-weight: bold;
}

h3.h3small {
    font-size: 25px;
}

h3.s01 span {
    padding-top: 3px;
    text-align: center;
    color: #880303;
    font-size: 15px;
    display: block;
    letter-spacing: 0.1em;
    line-height: 1.4em;
}

* {
    box-sizing: border-box;
}

.bds01 {
    border: 1px dashed #19AF72;
    background: #fff;

}

.bds01:before {
    position: absolute;
    border: 1px solid #19AF72;
    width: calc(100% + 10px);
    height: calc(100% - 10px);
    top: 4px;
    left: -6px;
    content: "";
}

/* #problem,
#merit,
#effect,
#performance,
#service,
#comparison,
#step,
#voice,
#price,
#pickup,
#faq,
#deployment,
#management,
#index_box14 {
padding: 85px 0;
}
*/
/* price
------------------------------------------------------------------------*/
#price {
    background: #fff;
    padding: 80px 0 40px 0;
}


.list_price {
    max-width: 915px;
    margin: 0 auto;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
}

.list_price_ct {
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
    flex-wrap: wrap;
    margin-bottom: 45px;
    margin-right: 27px;
    width: 161px;
}

.list_price_ct:nth-child(5n+5) {
    margin-right: 0;
}

.list_price_img {
    width: 100%;
    margin-bottom: 0;
    flex-shrink: 0;
    position: relative;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
}

.list_price_img img {
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
}

.list_price_info {
    padding-left: 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    background: #fff;
    right: -10px;
    margin-top: -28px;
    position: relative;
    width: 126px;
    padding: 6px 1px;

}


.list_price_ttl {
    font-size: 14px;
    color: #707070;
    font-weight: bold;
    margin-bottom: 6px;
    position: relative;


}

.list_price_ttl:before {
    width: 88px;
    height: 1px;
    background: #707070;
    position: absolute;
    content: "";
    bottom: -3px;
    left: 50%;
    transform: translateX(-50%);
}

.list_price_vl {
    color: #FA6683;
    font-size: 23px;
    margin-bottom: 0;
    line-height: 1.3em;
}

.list_price_vl span {
    font-size: 12px;
}

/* #campain */
h3.s02 {
    font-size: 20px;
    text-align: center;
    margin-bottom: 4px;
    font-weight: bold;
    line-height: 1.6em;
}

h3.s02 span {
    display: block;
    font-size: 11px;
}

.campain_l01 {
    position: relative;
    z-index: 2;
}

.list_pickup_ct {

    position: relative;
    z-index: 1;
    background: url(../images/bg_campain01.jpg);
    -webkit-background-size: cover;
    background-size: cover;
    color: #fff;
    text-align: center;

}

.list_pickup_ct_in {
    padding-bottom: 45px;
    background: rgba(0, 0, 0, 0.68);
    position: relative;
}

.ellipse_bg01 {
    position: relative;
    overflow: visible;
    width: 100%;
    height: 102px;
    left: 50%;
    transform: translateX(-50%);
    top: -60px;
    min-width: 1000px;
}

.ellipse_bg01 svg {
    width: 100%;
    height: 100%;
}

.ellipse_bg01:before {
    position: absolute;
    content: "";

    position: absolute;
    width: 50px;
    height: 50px;
    bottom: -30px;
    left: 50%;
    background: #fff;
    transform: rotate(45deg) translateX(-50%);
    z-index: 1;
}

.list_pickup_cat {
    font-size: 27px;
    margin-top: -10px;
    margin-bottom: 0;
}

.list_pickup_ttl {

    margin-bottom: 0;
    display: flex;
    justify-content: center;


}

.list_pickup_ttl_ct {
    margin-bottom: 0;
    font-size: 65px;
    line-height: 1.5em;
}



.list_pickup_ttl .pk01 {
    font-size: 75px;
    color: #ED9B22;
}

.pkdate {
    position: relative;
    top: -10px;
    font-size: 21px;
    margin-bottom: 0;
    background: #F0410C;
    width: 101px;
    height: 101px;
    justify-content: center;
    align-items: center;
    display: flex;
    position: relative;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    flex-shrink: 0;


    line-height: 101px;
    font-weight: bold;
    margin-right: 35px;
}

.pkdate em {
    flex-shrink: 0;
    font-style: normal;
}

.pickup_note {
    font-size: 15px;
    margin-bottom: 0;
}

.pickup_note br {
    display: none;
}

/* problem
------------------------------------------------------------------------*/
#problem {
    background: #fff;
    padding: 50px 0 10px;
    position: relative;
    z-index: 2;
}

.list_problem {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    max-width: 788px;
    margin: 0 auto;
}

.list_problem_ct {

    width: 31.5%;
    margin-right: 2.75%;
    margin-bottom: 40px;
    background: #F4F4F4;
    display: flex;
    justify-content: flex-start;
    flex-direction: column;
    align-items: center;
    padding: 40px 27px;


}

.list_problem_ct:nth-child(3n+3) {
    margin-right: 0;
}

.list_problem_img {
    border: 4px solid #2B2B2B;
    text-align: center;
    margin-bottom: 17px;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    width: 126px;
    height: 126px;
    display: flex;
    justify-content: center;
    align-items: center;

}

.list_problem_img img {
    width: 77px;
}

.list_problem_ttl {
    font-size: 26px;
    margin-bottom: 7px;
}

.list_problem_des {
    font-size: 14px;
    margin-bottom: 0;
    line-height: 1.8em;
}

.ttl_prb {
    font-size: 25px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 0;
    line-height: 1.8em;
}


/* #merit */
#merit {
    padding: 0px 0 90px;
    background: #FCF5F1;
    position: relative;
    z-index: 1;
}

.list_merit {
    max-width: 765px;
    margin: 0 auto;
}

.list_merit_ct {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;

    margin-bottom: 106px;

}

.list_merit_ct:last-child {
    margin-bottom: 0;
}

.list_merit_img {
    margin-bottom: 0;
    width: 52%;
    position: relative;
    flex-shrink: 0;
    left: -40px;
    top: 30px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    z-index: 1;


}

.list_merit_img img {
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
}

.list_merit_ct:nth-child(2n+1) .list_merit_img {
    order: 2;
}

.list_merit_ct:nth-child(2n+1) .list_merit_info {
    order: 1;
}

.list_merit_ct:nth-child(2n+2) .list_merit_img {
    left: auto;
    top: 30px;
}

.list_merit_ct:nth-child(2n+2) .list_merit_info {
    left: -40px;
}





.list_merit_info {
    z-index: 2;
    flex-shrink: 0;
    background: #fff;
    width: 52.5%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    padding: 50px 22px 25px 22px;
    position: relative;
    min-height: 195px;
    align-items: flex-start;

}

.list_merit_num {
    position: absolute;
    font-size: 40px;
    top: -24px;
    left: 20px;
    line-height: 1em;
    font-weight: normal;
    margin-bottom: 0;

}


.list_merit_ct:nth-child(2n+2) .list_merit_num {
    left: auto;
    right: 20px;
}


.list_merit_num span {
    position: relative;
    display: block;
}

.list_merit_num span:before {
    position: absolute;
    content: "";
    width: 100%;
    height: 2px;
    background: #444444;
    bottom: 0px;
    left: 50%;
    transform: translateX(-50%);
}

.list_merit_cat {
    font-size: 24px;
    font-family: 'Mplus1p-Black';
    color: #F4810E;
    margin-bottom: 15px;
}

.list_merit_ttl {
    font-size: 25px;
    margin-bottom: 5px;
    line-height: 1.4em;
}

.list_merit_ttl span {
    position: relative;
}

.list_merit_ttl span:before {
    position: absolute;
    content: "";
    left: 50%;
    transform: translateX(-50%);
    bottom: 4px;
    background: #F7D097;
    width: 102%;
    -webkit-border-radius: 40%;
    -moz-border-radius: 40%;
    border-radius: 40%;
    height: 6px;
    z-index: -1;

}


.list_merit_ct:nth-child(2n+2) .list_merit_ttl span:before {
    background: #FBF29E;
}


.list_merit_des {
    font-size: 18px;
    margin-bottom: 0;
    line-height: 1.6em;
    font-weight: normal;
}


/* case
------------------------------------------------------------------------*/
#case {
    background: #fff;
    padding: 50px 0;
    position: relative;
    z-index: 2;
}

.ttl_sp01 {
    font-size: 20px;
    margin-bottom: 35px;
    text-align: center;
}

.list_case {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 840px;
    padding: 0 35px;
    margin: 0 auto;
}

.list_case_ct {

    width: 45%;
    max-width: 344px;
    margin-bottom: 40px;
    display: flex;
    justify-content: flex-start;
    flex-direction: column;
    align-items: center;


}

.list_case_ct:nth-child(2n+2) {
    margin-right: 0;
}

.list_case_img {
    position: relative;
}

.img_case_df {
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    position: relative;

}

.img_case_df:before {
    width: 0;
    height: 0;
    border-top: 16px solid transparent;
    border-left: 16px solid #707070;
    border-bottom: 16px solid transparent;
    content: "";
    position: absolute;
    right: -52px;
    top: 50%;
    transform: translateY(-50%);
}

.list_case_ct:last-child .img_case_df:before {
    display: none;
}

.img_case_df img {
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;

}

.img_case_zoom {
    position: absolute;
    left: -35px;
    bottom: -18%;
    width: 62.5%;
    max-width: 215px;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
}

.img_case_zoom img {
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;

}


.list_case_ttl {
    font-size: 20px;
    margin-bottom: 7px;
    font-weight: bold;
}



/* step
------------------------------------------------------------------------*/
#step {
    background: #F7F7F9;
    padding: 50px 0 50px;
    position: relative;
    z-index: 2;
}

.list_step {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 930px;
    margin: 0 auto;
}

.list_step_ct {
    width: 17%;

    background: #DDDDDE;
    display: flex;
    justify-content: flex-start;
    flex-direction: column;
    align-items: center;
    padding: 15px 14px 35px 14px;
    position: relative;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
}

.list_step_ct:before {
    width: 0;
    height: 0;
    border-top: 16px solid transparent;
    border-left: 16px solid #DDDDDE;
    border-bottom: 16px solid transparent;
    content: "";
    position: absolute;
    right: -14px;
    top: 50%;
    transform: translateY(-50%);
}

.list_step_ct:last-child:before {
    display: none;
}

.list_step_ct:nth-child(3n+3) {
    margin-right: 0;
}

.list_step_img {
    background: #fff;
    text-align: center;
    margin-bottom: 12px;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    width: 100px;
    height: 100px;
    display: flex;
    justify-content: center;
    align-items: center;

}

.step_spec {
    position: absolute;
    color: #fff;
    background: #880303;
    font-size: 11px;
    right: -15px;
    top: -25px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 64px;
    width: 64px;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    margin: 0;
}

.list_step_img img {
    width: 73px;
}

.list_step_num {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 9px;
}

.list_step_ttl {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 15px;
}

.list_step_des {
    font-size: 11px;
    margin-bottom: 0;
    line-height: 1.8em;
}



/* service
------------------------------------------------------------------------*/
#service {
    background: #F9F9EE;
    padding: 50px 0 50px;
    position: relative;
    z-index: 2;
}

.list_service {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    max-width: 810px;
    margin: 0 auto;
}

.list_service_ct {

    width: 30%;
    max-width: 242px;
    margin-right: 5%;
    margin-bottom: 40px;
    background: #fff;
    display: flex;
    justify-content: flex-start;
    flex-direction: column;
    align-items: center;

    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;

}

.list_service_ct:nth-child(3n+3) {
    margin-right: 0;
}

.list_service_img {

    text-align: center;

    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    display: flex;
    justify-content: center;
    align-items: center;

    position: relative;

}

.list_service_img img {
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
}

.list_service_num {
    position: absolute;
    font-size: 35px;
    font-weight: bold;
    right: 13px;
    bottom: -23px;
    color: #880303;
    margin: 0;
    line-height: 1em;
}


.list_service_info {
    padding: 18px 13px 18px 13px;
}

.list_service_ttl {
    padding-bottom: 3px;
    font-size: 14px;
    margin-bottom: 10px;
    border-bottom: 1px solid #707070;

}

.list_service_des {
    font-size: 11px;
    margin-bottom: 0;
    line-height: 1.6em;
    font-weight: normal;
}

.ttl_ser01 {
    font-size: 20px;
    margin-bottom: 0;
    text-align: center;
    line-height: 1.9em;

}

.ttl_ser01 span {
    font-size: 25px;
}


/* question
------------------------------------------------------------------------*/
#question {
    background: #fff;
    padding: 50px 0;
}


.list_faq {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    max-width: 675px;
    margin: 0 auto;
}

.list_faq_ct {
    width: 100%;
    margin-bottom: 40px;
}


.list_faq_ct:last-child {
    margin-bottom: 0;
}

.list_faq_top {
    margin-bottom: 20px;
}

.list_faq_ttl {

    font-size: 19px;
    margin-bottom: 15px;
    position: relative;
    padding-left: 55px;
    margin-bottom: 0;
}

.list_faq_ttl:before {
    content: "Q";
    color: #fff;
    font-size: 28px;
    font-family: 'osaka-mono';
    position: absolute;
    left: 0;
    top: -5px;
    background: #880303;
    width: 40px;
    height: 40px;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;



}

.list_faq_info {
    padding: 12px 35px 12px 55px;
    background: #F7EBEB;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}


.list_faq_des {
    font-size: 14px;
    line-height: 1.8em;
    margin-bottom: 0;

}

/* #access */
#access {
    background: #FBF8E9;
    padding: 50px 0;
}

.access_box {
    max-width: 875px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}

.access_info {
    width: 33%;
}

.access_info_logo {
    text-align: center;
    margin-bottom: 35px;
}

.access_logo {
    margin-bottom: 13px;
}

.access_info_logo img {
    width: 100px;
}

.lgtxt {
    font-size: 28px;
    margin-bottom: 0;
    line-height: 1.2em;
    font-weight: 500;
    letter-spacing: 0.05em;
    font-family: "MS PMincho", "ヒラギノ明朝 Pro W3", "ＭＳ Ｐ明朝", "Hiragino Mincho Pro", serif;
}

.lgtxt_en {
    font-size: 24px;
    margin-bottom: 5px;
    line-height: 1em;

    font-family: "MS PMincho", "ヒラギノ明朝 Pro W3", "ＭＳ Ｐ明朝", "Hiragino Mincho Pro", serif;
}

.access_info_address {}

.access_addtxt {
    font-size: 12px;
    margin-bottom: 20px;
    line-height: 1.8em;
}

.access_addtxt:last-child {
    margin-bottom: 0;
}

.access_map {
    padding-top: 10px;
    max-width: 544px;
    width: 65%;
}

.access_map iframe {}



/* directions
------------------------------------------------------------------------*/
#directions {
    background: #FBF8E9;
    padding: 0px 0 5px;
    position: relative;
    z-index: 2;
}

.list_directions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    max-width: 1000px;
    margin: 0 auto;
}

.list_directions_ct {

    width: 23.7%;
    max-width: 237px;
    margin-right: 1.73%;
    margin-bottom: 40px;
    display: flex;
    justify-content: flex-start;
    flex-direction: column;
    align-items: center;
    position: relative;



}



.list_directions_ct:nth-child(4n+4) {
    margin-right: 0;
}

.list_directions_img {

    text-align: center;
    position: relative;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    display: flex;
    justify-content: center;
    align-items: center;

    position: relative;
    margin-bottom: 8px;

}

.list_directions_img:before {
    width: 0;
    height: 0;
    border-top: 8px solid transparent;
    border-left: 8px solid #707070;
    border-bottom: 8px solid transparent;
    content: "";
    position: absolute;
    right: -12px;
    top: 50%;
    transform: translateY(-50%);
}

.list_directions_ct:last-child .list_directions_img:before {
    display: none;
}



.list_directions_img img {
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
}

.list_directions_num {
    position: absolute;
    font-size: 12px;
    width: 17px;
    height: 17px;
    color: #fff;
    font-weight: bold;
    left: 10px;
    top: 10px;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    margin: 0;
    line-height: 1em;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #707070;
    background: #F76D08;
    line-height: 1em;
}



.list_directions_ttl {
    padding-bottom: 3px;
    font-size: 12px;
    margin-bottom: 10px;


}

/* #management */
#management {

    background: url(../images/bg_campain01.jpg);
    background-size: cover;
}


#management_mn {
    background: rgba(0, 0, 0, 0.68);
    position: relative;
    padding: 50px 0;
}

h3.t02.s01,
h3.t02.s01 span {
    color: #fff;
}



.list_manage {
    max-width: 370px;
    margin: 0 auto 40px;
    color: #fff;
}

.list_manage dl {
    display: flex;
    justify-content: flex-start;
    border-bottom: 1px solid #DDDDDD;

    padding: 5px 0;
}

.list_manage dl:first-child {
    border-top: 1px solid #DDDDDD;
}

.list_manage dt,
.list_manage dd {
    padding: 0 0px;
    line-height: 1.8em;
    font-weight: normal;
}

.list_manage dt {
    flex-shrink: 0;
    width: 90px;

}

.list_manage dd a {
    color: #362719;
    text-decoration: none;
}

.btn01 {
    text-align: center;
    margin-bottom: 0;
}

.btn01 a {
    display: inline-block;
    color: #880303;
    text-decoration: none;
    font-size: 22px;
    border: 1px solid #880303;
    background: #fff;
    padding: 5px 7px 3px 5px;
    line-height: 28px;
    -webkit-border-radius: 25px;
    -moz-border-radius: 25px;
    border-radius: 25px;
    width: 100%;
    max-width: 330px;


}

.btn01 a:hover {
    opacity: 0.8;
}

/* contact
------------------------------------------------------------------------*/
#contact {
    padding: 50px 0;
}

#box_contact {
    padding-top: 0;
    max-width: 790px;
    margin: 0 auto;
}

.contact_wrap {
    max-width: 610px;
    margin: 0 auto;
}

.ttl_top {
    background: #F4810E;
    height: 60px;
    line-height: 60px;
    font-size: 19px;
    color: #fff;
    text-align: center;
    position: relative;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    margin-bottom: 50px;

}

.ttl_top span {
    display: inline-block;
    padding-left: 55px;
    position: relative;
    z-index: 2;
}

.ttl_top_mail span {
    background: url(../images/icon_tel02.png) 0 center no-repeat;
    background-size: 33px auto;
}

.ttl_top_form span {
    background: url(../images/icon_mail01.png) 0 center no-repeat;
    background-size: 28px auto;
    padding-left: 45px;
}

.ttl_top:before {
    content: "";
    position: absolute;
    width: 50px;
    height: 50px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    bottom: -30px;
    left: 50%;
    background: #F4810E;
    transform: rotate(45deg) translateX(-50%);
    z-index: 1;



}

.ttl_ct {
    text-align: center;
    margin-bottom: 43px;
}

.ttl_ct p {
    display: flex;
    justify-content: center;
    align-items: center;
}

.ttl_ct a {
    font-size: 24px;
    font-family: 'Mplus1p-Black';
    color: #362719;
    text-decoration: none;
}

.ttl_ct span {
    display: inline-block;
    padding-left: 30px;
    font-size: 15px;
}



.tb_contact01 {
    margin-bottom: 35px;
}

.col_time01 {
    width: 32%;
    float: left;
    margin: 0 2% 0 0;
    position: relative;
}

.col_time01:last-child {
    margin-right: 0;
}

/* table */
.line_ct {
    border-bottom: 1px solid #DAAFAF;


}

.line_ct:nth-child(1) {
    border-top: 1px solid #DAAFAF;
}

.tb_contact01 dl {
    width: 100%;
    padding: 2px 0;
    box-sizing: border-box;
    display: flex;
    justify-content: flex-start;
    padding: 25px 0;
}

/* 
.tb_contact01 dt,
.tb_contact01 dd {
vertical-align: top;
box-sizing: border-box;
float: left;
width: 100%;
} */



.tb_contact01 dt {
    width: 240px;
    font-size: 15px;
    font-weight: bold;
    margin-bottom: 10px;
    display: flex;
    justify-content: flex-end;
    align-items: center;


}

.tb_contact01 dd {
    width: calc(100% - 240px);
    font-size: 15px;
    position: relative;
    padding-left: 33px;
    padding-right: 5px;
}

.tb_contact01 dd,
.tb_contact01 dt {}

.tb_contact01 dl {}

.tb_contact01 input[type="text"],
.tb_contact01 input[type="number"] {
    background: #fff;
    border: none;
    padding-left: 10px;
    line-height: 45px;
    width: 100%;
    box-sizing: border-box;
    display: inline-block;
    height: 45px;
    border: 1px solid #880303;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;

}

.tb_contact01 input[type="number"] {
    -webkit-appearance: textfield;
    -moz-appearance: textfield;
    appearance: textfield;
}

.tb_contact01 input[type="number"]:hover,
.tb_contact01 input[type="number"]:focus {
    -webkit-appearance: none;
    -moz-appearance: textfield;
    appearance: none;
}

.tb_contact01 input[type="number"]::-webkit-inner-spin-button,
.tb_contact01 input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: textfield;
    -moz-appearance: textfield;
    appearance: textfield;
    margin: 0;
}

.wshort {}

.tb_contact01 ::placeholder {
    color: #B8B8B8;
    font-family: 'Mplus1p-Regular';
}

.txt_a {
    position: absolute;
    left: -8%;
    top: 0;
    margin: 0;
    line-height: 45px;
}

.list_tel li {
    float: left;
}

.tb_contact01 li.list_tel02 input,
.tb_contact01 li.list_tel03 input {
    float: left;
    width: calc(100% - 28px);
}

.list_tel li.list_tel01 {
    width: 98px;
}

.list_tel li.list_tel02,
.list_tel li.list_tel03 {
    width: 167px;
}

.line_tel01 {
    float: left;
    width: 28px;
    line-height: 45px;
    display: block;
    text-align: center;
    color: #C9C9C9;

}

.line_add {
    display: flex;
    justify-content: space-between;
}

.line_add dl:first-child {
    width: 205px;

}

.line_add dl:last-child {
    width: 395px;
}

.tb_contact01 textarea {
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    background: #fff;
    border: 1px solid #880303;
    padding: 14px;
    width: 100% !important;
    box-sizing: border-box;
    min-height: 140px;
}

.box_input_fcal input {
    font-size: 14px;
}

.title_timecol {
    font-size: 14px;
}

.tb_contact01 dl.error_show {
    background: #F7EBEB;
    margin-top: 30px;
}

.tb_contact01 dl.error_show .error_txt {
    display: block;
}

.error_txt {
    position: absolute;
    color: #fff;
    background: #880303;
    line-height: 1.3em;
    font-size: 13px;
    padding: 6px 10px;
    top: -39px;
    right: 12px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    display: none;

}

.error_txt:before {
    content: "";
    width: 0;
    height: 0;
    position: absolute;
    left: 50%;
    margin-left: -10px;
    bottom: -12px;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 15px solid #880303;
}

.tb_contact01 .error_show input[type="text"],
.tb_contact01 .error_show .select_other_mail,
.tb_contact01 .error_show textarea,
.tb_contact01 .error_show input[type="number"] {
    background: #fff;
}

.txt_rq {
    width: auto;
    box-sizing: border-box;
    text-align: center;
    line-height: 19px;
    margin-left: 10px;
    display: inline-block;
    color: #fff;
    font-size: 11px;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
    background: #FC0505;
    padding: 0 5px;
    display: inline-block;
}

.txt_rq.not_rq {
    visibility: hidden;
    opacity: 0;
}

/* -------------privacy policy---------------------- */

.box_pr_ct {
    height: 300px;
    overflow: auto;
    padding: 20px;
    box-sizing: border-box;
    border: 1px solid #E9E9E9;
    font-size: 14px;
    margin-bottom: 8px;
    background: #F2F2F2;

}

.tb_contact01 .box_pr_ct dt {
    line-height: 1.6em;

}

.tb_contact01 .box_pr_ct dt,
.tb_contact01 .box_pr_ct dd {
    width: 100%;
    padding: 0;
    font-size: 14px;
}

.tb_contact01 .box_pr_ct dd {
    padding-left: 15px;
    margin-bottom: 10px;
}

.tb_contact01 .box_pr_ct p {
    margin-bottom: 5px;
}

.pr_title01 {
    text-align: right;
}

.pr_title02 {
    text-align: center;
    font-weight: bold;
    font-size: 14px;
}

.pr_title03 {}

.box_pp_info {
    width: 240px;
    float: right;
    box-sizing: border-box;
    padding: 5px;
    border: 1px solid #ccc;
}

.submit.btn02 a {
    background: #880303;
    display: inline-block;
    color: #fff;
    font-size: 16px;
    line-height: 50px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    text-decoration: none;
    margin: 0 auto;
    min-width: 230px;
    box-sizing: border-box;
    transition: all 0.3s;
    cursor: default;
}

.submit.btn02 {
    text-align: center;
}

.submit.btn02 a:hover {
    opacity: 0.8;
    cursor: pointer;
}

/* .ppok.submit.btn02 a {
background: #589CD1;
-webkit-box-shadow: inset 0px -4px 0px 0px #9F0856;
-moz-box-shadow: inset 0px -4px 0px 0px #9F0856;
box-shadow: inset 0px -4px 0px 0px #DDDDDD;
} 
.ppok.submit.btn02 a:hover {
opacity: 0.8;
cursor: pointer;
}*/
/* end under
------------------------------------------------------------------------*/


#popup_tel {
    background: rgba(0, 0, 0, 0.8) none repeat scroll 0 0;
    box-sizing: border-box;
    display: none;
    height: 100%;
    overflow: hidden;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 9999999;
}

.popup_tel_inner {
    background: #fff;
    box-sizing: border-box;
    height: 86vh;
    left: calc(50% - 480px);
    padding: 30px;
    position: absolute;
    text-align: center;
    top: calc(50% - 43vh);
    width: 100%;
    max-width: 960px;
}

.popup_list_inner {
    height: 100%;
    width: 100%;
    overflow: auto;
}

.popup_tel_inner p {
    margin-bottom: 0;
}

.popup_tel_inner p span {
    font-weight: bold;
}

#btn_close_popup_tel {
    position: absolute;
    right: -45px;
    top: -45px;
}

#btn_close_popup_tel img {
    height: auto;
    width: 32px;
}

#control_modal {
    width: 100%;
    position: absolute;
    top: calc(50% - 30px);
    left: 0;
}

#slider-prev,
#slider-next {
    display: block;
    text-indent: -99999999px;
    position: absolute;
}

#slider-prev a,
#slider-next a {
    display: block;
    width: 60px;
    height: 60px;
}

#slider-prev {
    left: -75px;
}

#slider-next {
    right: -75px;
}

.bx-prev {
    background: url(../images/icon_next01.png) 0 0 no-repeat;
    background-size: 60px auto;
}

.bx-next {
    background: url(../images/icon_prev01.png) 0 0 no-repeat;
    background-size: 60px auto;
}

.list_thumb_offfice {
    border-bottom: 10px solid #D6187F;
    margin-bottom: 15px;
}

.list_thumb_offfice li {
    width: calc(100% / 6);
    float: left;
    text-align: center;
}

.list_thumb_offfice li a {
    color: #272727;
    font-size: 15px;
    text-decoration: none;
    display: block;
    line-height: 44px;
    font-weight: 500;
}

.list_thumb_offfice li a.active {
    background: #D6187F;
    color: #fff;
}

/* table */
#slider_office table,
#slider_office table th,
#slider_office table td {
    border: none;
    text-align: left;
    font-style: italic;
}

#slider_office table td {
    padding: 12px 10px;
}

#slider_office table {
    border-top: 1px solid #DFDFDF;
}

#slider_office table tr {
    border-bottom: 1px solid #DFDFDF;
}

/* box confirm */
h3.h3_sm01 {
    font-size: 32px;
    margin-bottom: 50px;
    text-align: center;
    line-height: 1.4em;
    font-weight: bold;
}

#box_confirm_area {
    display: none;
}

#box_confirm {
    /*width: 100%;
height: 100%;
background: #DDEACC;
position: fixed;
z-index: 9999999;
top: 0;
left: 0;
box-sizing: border-box;
vertical-align: top;
display: table;*/
    background: #F7EBEB;
    box-sizing: border-box;
    height: 100%;
    left: 0;
    overflow: auto;
    position: fixed;
    top: 0;
    vertical-align: top;
    width: 100%;
    z-index: 9999999;
}

#box_confirm_inner {
    max-height: 100%;
    margin: 0 auto;
    width: 100%;
    box-sizing: border-box;
    padding-top: 50px;
}

.box_confirm_list {
    max-width: 790px;
    margin: 0 auto;
}


.box_cf_ad {
    display: flex;
    justify-content: space-between;
}

.box_cf_ad dl:first-child {
    width: 175px;

}

.box_cf_ad dl:last-child {
    width: 395px;
}


.box_confirm_list dl {
    padding: 0;
    padding-bottom: 10px;
}

#btn_close {
    color: #428d58;
    font-size: 50px;
    line-height: 50px;
    position: absolute;
    right: 30px;
    top: 30px;
    text-decoration: none;
    z-index: 10;
}

#box_confirm .section {
    margin-bottom: 0;
}

#box_confirm .text_confirm,
#box_confirm .textarea_confirm {
    background: #DDDDDF;
    color: #666;
    border: none;
}


.text_confirm {
    background: #fcecec;
    box-sizing: border-box;
    font-size: 16px;
    height: 48px;
    line-height: 48px;
    margin: 0;
    padding: 0 15px;
    width: 100%;
}


#box_confirm .textarea_confirm {
    min-height: 100px;
}

#box_confirm .contact_ttl {
    line-height: 77px;
    background-position: 410px center;
}

#box_confirm .contact_ttl::before {
    width: 500px;
    background-position: 0 0;
}

.form_box .error {
    display: none;
    margin-left: 10px;
}

.form_box .error_show {
    color: red;
    margin-left: 10px;
    display: block;
    padding-top: 8px;
}

.form_box input.invalid,
.form_box textarea.invalid {
    border: 2px solid red;
}

.form_box input.valid,
.form_box textarea.valid {
    border: 2px solid green;
}

.form_box {
    margin: 0 auto;
    width: 810px;
}

.form_box dl {
    margin-bottom: 35px;
}

.form_box dt,
.form_box dd {
    float: left;
}

.form_box dt {
    color: #666;
    font-size: 16px;
    padding-top: 10px;
    width: 190px;
}

.form_box dd {
    box-sizing: border-box;
    padding-left: 120px;
    width: 620px;
}

.form_box dt span {
    border-radius: 4px;
    color: #fff;
    display: inline-block;
    font-size: 16px;
    margin: 0 10px 0 0;
    padding: 3px 10px 1px;
}

.form_box dt span.rq {
    background: #fc0d1b none repeat scroll 0 0;
}

.form_box dt span.nrq {
    background: #888888 none repeat scroll 0 0;
}

.title_date_confirm {
    margin-bottom: 5px;
    font-size: 14px;
}

.submit-btn {
    text-align: center;
    margin-top: 30px;
}

#confirm {
    background: #880303;
    display: inline-block;
    color: #fff;
    font-size: 15px;
    line-height: 50px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    text-decoration: none;
    margin: 0 auto;
    min-width: 250px;
    box-sizing: border-box;
    transition: all 0.3s;
    cursor: default;
    text-align: center;
    border: none;
}


#confirm:hover {
    opacity: 0.8;
    cursor: pointer;

}

/* 
#confirm {
cursor: pointer;
display: inline-block;
background: #4B9CD3;
color: #fff;
font-size: 24px;
font-weight: bold;
padding: 20px 45px 18px;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
text-decoration: none;
-webkit-box-shadow: inset 0px -4px 0px 0px #DDDDDD;
-moz-box-shadow: inset 0px -4px 0px 0px #DDDDDD;
box-shadow: inset 0px -4px 0px 0px #DDDDDD;
margin: 0 auto;
min-width: 300px;
box-sizing: border-box;
border: none;
line-height: 1em;
margin: 0 auto;
}

#confirm:hover {
opacity: 0.8;
}
*/
#btn_close {
    max-width: 40px;
}

#btn_close img {
    max-width: 100%;
}

#box_confirm dt,
#box_confirm dd {
    padding-top: 3px;
    padding-bottom: 3px;
}

/* Thanks
------------------------------------------------------------------------*/
.box_thank {}

#thanks #header {
    position: relative;
    border-top: 3px solid #589CD2;
    background: none;
}

#thanks #logo {
    /*  position: inherit;
text-align: center;
width:100%;
padding:20px 0;
margin-bottom:0;*/
    width: 100%;
    top: 40px;
    left: 0;
    text-align: center;
    margin: 0;
    margin-bottom: 20px;
}

#thanks #logo img {
    width: 100px;
}

#thanks #main {}

#thanks #wrapper {
    background: url("../images/thanks_bg_pc.png") no-repeat scroll center top;
    background-size: cover;
    position: relative;

}

#thanks .btn02 {
    padding-top: 30px;
}


#wrapper .alecv {
    font-size: 13px;
    color: #362719;
}

/* thanks */
#thanks .hmain {
    color: #444444;
    text-align: center;
    font-size: 27px;
    width: 100%;
    margin-bottom: 65px;
}

#thanks .hmain span {
    font-size: 24px;
}

#thanks #main {
    padding: 50px 0 20px 0;
    min-height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

#thanks h3.h3_sm01 {
    margin-bottom: 20px;
}

.ttl_note,
.ttl_sp02 {
    display: none;
}

.txt_des {
    text-align: center;
    line-height: 1.6em;
}