@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');

/*
font-family: 'Noto Sans JP', sans-serif;
*/


/*----------------reset--------------------*/

html, body, main, header, section, h1, h2, h3, h4, ul, ol, dl, li, dt, dd, p, div, span, img, a, table, tr, th, td {
    margin: 0;
    padding: 0;
    border: 0;
    font-weight: normal;
    font-size: 100%;
    vertical-align:baseline;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

html, body {
    font-size: 16px;
}

article, header, footer, aside, figure, figcaption, nav, section {
    display:block;
}

* {
    margin: 0;
    padding: 0;
}

body {
    color: #333;
    line-height: 1;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    font-family: 'Noto Sans JP', sans-serif;
    margin: 0 auto;
    position: relative;
    width: 100%;
}

ol, ul {
    list-style: none;
    list-style-type: none;
}

a {
    color: #333;
    display: block;
    text-decoration: none;
    font-size: 14px;
}

p {
    font-size: 16px;
    font-weight: 300;
}

span {
    font-weight: 300;
}

img {
    width: 100%;
}

main {
    display: block;
    padding: 100px 0 0;
}

@media only screen and (max-width: 1300px){
    main {
        padding: 80px 0 0;
    }
}
@media only screen and (max-width: 1024px){

    main {
        padding: 66px 0 0;
    }

}

/* ---------------------------- 共通CSS ------------------------------- */

.sp,
.tab {
    display: none;
}

@keyframes heart {

    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes fadeout {

    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}


i {
    margin: 0 5px;
    /* font-size: 19px; */
    font-size: 17px;
}

.toInquiry p a {
    background: #19aeb9;
    color: #fff;
    font-size: 24px;
    font-weight: 500;
    text-align: center;
    padding: 62px 0;
}

.toInquiry p a:hover {
    background: #1cc1ce;
}

.toLink {
    margin: 0 0 100px;
}

.toLink p {
    max-width: 310px;
    padding: 16px 0;
    margin: 0 auto;
}

.toLink p a {
    border: 1px solid #333;
    border-radius: 25px;
    font-size: 16px;
    height: 50px;
    text-align: center;
    padding: 16px 0;
}

.toLink p a:hover {
    border: 1px solid #19aeb9;
    background: #19aeb9;
    color: #fff;
}




@media only screen and (max-width: 1024px){
    .tab{
        display: block;
    }
}

@media only screen and (max-width: 550px){

    .sp {
        display: block;
    }

}






/* ---------------------------- #header ------------------------------- */
/* header-topはTOPページのみ */

#header.header-top {
    position: relative;
}

#header.header-top .h_logo.sp {
    display: none;   
}

#header,
#header.header-top.active {
    background: #fff;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
    width: 100%;
    height: 100px;
    display: -webkit-box; 
    display: -webkit-flex; 
    display: -ms-flexbox; 
    display: flex; 
    -webkit-box-align: center; 
    -webkit-align-items: center; 
    -ms-flex-align: center; 
            align-items: center;
    /* overflow: hidden; */
}

#header.header-top.active {
    animation: heart 0.5s ease;
}

#header h1,
#header.header-top h1 {
    display: none;
}

#header.header-top .h_logo {
    display: block;
    background: #fff;
    position: absolute;
    top: 0;
    left: 60px;
    width: 15%;
    max-width: 284px;
    z-index: 2;
    padding: 0 0 20px;
}

#header .h_logo,
#header.header-top.active .h_logo {
    display: none;
}

#header.header-top .h_logo2 {
    display: none;
}

#header .h_logo2,
#header.header-top.active .h_logo2 {
    display: block;
    box-sizing: border-box;
    max-width: 596px;
    min-width: 453px;
    width: 31.04%;
    margin-left: 3%;
    /* width: 100%; */
    /* margin: 42px 0 0 80px; */
    /* float: left; */
}

@media (min-width:1921px) {
    #header .h_logo2,
    #header.header-top.active .h_logo2 {
        margin-left: 58px;
    }
}

#header.header-top nav {
    /* overflow: hidden; */
    /* width: 100%; */
}

#header nav,
#header.header-top nav,
#header.header-top.active nav {
    width: auto;
    margin-left: auto;
    /* float: right; */
}

#header nav ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
    /* float: right; */
}

#header nav ul li {
    /* float: left; */
    
}

#header nav ul li a {
    font-size: 16px;
    padding: 0 15px;
    /* padding: 42px 30px; */
}

#header nav ul li a:hover {
    color: #19aeb9;
    font-weight: 500;
}

#header nav ul li:nth-child(3) a {
    /* padding: 42px 60px 42px 30px; */
}

#header nav ul li:nth-child(4) a {
    border: 2px solid #19AEB9;
    border-radius: 100vh;
    padding: 15px 25px;
    margin: auto 30px auto 15px;
    line-height: 1;
    font-weight: 500;
    color: #19AEB9;
    /* padding-right: 30px; */
    /* margin: 25px 30px 25px 15px; */
}

#header nav ul li:nth-child(4) a:hover {
    background: #19AEB9;
    color: #fff;
}

#header nav ul li.inq {
    /* min-width: 220px; */
    /* width: 11%; */
}

#header nav ul li.inq a {
    background: #19aeb9;
    color: #fff;
    font-size: 18px;
    text-align: center;
    padding: 40.5px 0;
    width: 230px;
    height: 100%;
    /* font-size: 20px; */
}

#header nav ul li.inq a:hover {
    background: #1cc1ce;
}


@media only screen and (max-width: 1300px){

    #header nav ul li a {
        font-size: 14px;
        padding: 0 8px;
        /* padding: 30px 20px; */
    }

    #header nav ul li:nth-child(3) a {
        /* padding: 30px 40px 30px 20px; */
    }

    #header nav ul li:nth-child(4) a{
        margin: auto 16px auto 8px;
        padding: 15px 14px;
        /* padding-right: 20px; */
        /* margin: 16px 15px 16px 10px; */
    }

    #header nav ul li.inq a {
        font-size: 16px;
        padding: 30px 0;
        width: 200px;
        /* font-size: 18px; */
        /* padding: 30px 0; */
    }

    #header,
    #header.header-top.active {
        height: 80px;
    }

    #header.header-top.active .h_logo2,
    #header .h_logo2 {
        width: 35%;
        min-width: auto;
        /* width: 40%; */
        /* margin: 30px 0 0 3%; */
    }

    #header nav ul li{
        line-height: 20px;
    }
}

@media only screen and (max-width: 1024px){
    #header.header-top{
        position: fixed;
    }

    #header.header-top .h_logo.sp {
        display: block;   
        width: calc(100% - 66px);
        max-width: 550px;
        left: 0;
    }

    #header, 
    #header.header-top.active{
        background: #fff;
        position: fixed;
        height: 66px;
        width: 100%;
        z-index: 100;
    }

    #header.show,
    #header.header-top.active.show {
        position: fixed;
        width: 100%;
        height: 100vh;
        z-index: 100;
        animation: heart 0.5s ease;
    }

    #header .h_logo,
    #header.header-top .h_logo{
        display: none;
    }

    #header.header-top.active .h_logo2,
    #header .h_logo2 {
        display: none;
        /* width: calc((100% - 66px) - 4.17%);
        max-width: 440px;
        margin: 22px 0 22px 4.17%; */
    }

    #header p.sp {
        background: transparent;
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: calc(99.9% - 66px);
        max-width: 550px;
        height: 100%;
        /* max-width: 100%; */
    }

    #header p.sp a {
        padding: 24px 4.17%;
        height: 66px;
        /* padding: 25px 10px; */
    }

    #header p.sp a img {
        vertical-align: middle;
    }

    #header.show .h_logo {
        width: 20%;
    }

    #header nav {
        display: none;
    }

    #header .ham_body {
        background: #19aeb9;
        position: fixed;
        top: 0;
        right: 0;
        width: 66px;
        height: 66px;
        z-index: 100;
        display: -ms-flex;
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: center;
        -ms-justify-content: center;
        justify-content: center;
        align-items: center;
        -webkit-align-items: center;
        -ms-align-items: center;
    }

    .hamburger {
        width: 30px;
        height: 30px;
        position: relative;
    }

    .hamburger span {
        background-color: #fff;
        border-radius: 10px;
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        width: 100%;
        height: 3px;
        transition: all .4s;
    }

    .hamburger span:nth-child(1) {
        top: 5px;
    }

    .hamburger span:nth-child(2) {
        top: 15px;
    }

    .hamburger span:nth-child(3) {
        top: 25px;
    }

    .hamburger.show span {
        background-color: #fff;
    }

    .hamburger.show span:nth-of-type(1) {
        -webkit-transform: translateY(10px) rotate(-45deg);
        transform: translateY(10px) rotate(-45deg);
    }

    .hamburger.show span:nth-of-type(2) {
        opacity: 0;
    }

    .hamburger.show span:nth-of-type(3) {
    -webkit-transform: translateY(-10px) rotate(45deg);
    transform: translateY(-10px) rotate(45deg);
    }

    #header .menu_bg {
        display: none;
    }

    #header.show .menu_bg {
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background:#19aeb9;
        z-index: 15;
    }

    #header.show .menu {
        width: 100%;
        padding: 10% 0;
    }

    #header.show .menu p {
        width: 30%;
        margin: 0 auto 25px;
        /* margin: 30px auto; */
    }

    #header.show .menu ul li a {
        color: #fff;
        font-size: 18px;
        text-align: center;
        padding: 20px 0;
    }

    #header.show .menu ul li a:hover {
        color: #000;
        background: #fff;
    }
}

@media (max-width:550px) {

    #header.header-top.active .h_logo2,
    #header .h_logo2 {
        display: none;  
    }

    #header p.sp a{
        padding: 12px 24px 12px 24px;
        width: 240px;
    }

    #header.show .menu p {
        width: 40%;
    }
}


/* ---------------------------- #footer ------------------------------- */

#footer {
    background: #d1eff1;
    padding: 75px 0 0;
    position: relative;
}

#footer h2 {
    max-width: 572px;
    margin: 0 auto 40px;
}

#footer div {
    max-width: 500px;
    margin: 0 auto 40px;
}

#footer div:first-child {
    margin: 0 auto 30px;
}

#footer div h3 {
    border-bottom: 1px solid #19aeb9;
    font-size: 14px;
    padding: 0 0 8px;
    margin: 0 auto 15px;
    max-width: 65px;
}

#footer div p {
    font-size: 14px;
    font-weight: 500;
    line-height: 2;
    text-align: center;
}

#footer div p a {
    font-size: 16px;
    display: inline-block;
    pointer-events: none;
    font-weight: 500;
    line-height: 2;
}

#footer div p span {
    font-size: 16px;
    padding: 0 0 0 20px;
    font-weight: 500;
    line-height: 2;
}

#footer div p span.pc {
    padding-left: 0;
}

#footer div span.onlysp {
    display: inline;
    font-size: 14px;
    font-weight: 500;
    line-height: 2;
    padding-left: 0;
}

#footer nav {
    margin: 0 0 65px;
}

#footer nav ul li {
    width: 30%;
    margin: 0 auto;
}

#footer nav ul li a {
    text-align: center;
}

#footer nav ul li a:hover {
    color: #19aeb9;
}

#footer .copy {
    font-size: 13px;
    text-align: center;
    padding: 0 0 20px;
    font-weight: 500;
    letter-spacing: 0.65px;
}

#footer .toTop {
    cursor: pointer;
    width: 60px;
    position: absolute;
    bottom: 25px;
    right: 70px;
    z-index: 10;
    margin: 0;
}

#footer .sp {
    display: none;
}

@media only screen and (max-width: 1024px){
    #footer{
        padding-right: 30px;
        padding-left: 30px;
    }

}

@media only screen and (max-width: 550px){

    #footer{
        padding-right: 20px;
        padding-left: 20px;
    }

    #footer .pc {
        display: none;
    }

    #footer .sp {
        display: block;
    }

    #footer div p a {
        pointer-events: initial;
    }

    #footer h2 {
        width: 70%;
    }

    #footer div {
        width: 94.6%;
    }

    #footer div span.onlysp {
        display: block;
        padding: 0 0 10px;
    }

    #footer nav ul li {
        width: 50%;
    }

    #footer .toTop {
        /* right: 20px; */
        right: 10px;
    }


}





/* ---------------------------- #index ------------------------------- */

#index{
    padding: 0;
}

#index .t_kv {
    position: relative;
    overflow: hidden;
}

#index .t_kv .scroll {
    width: 100%;
    text-align: center;
    position: absolute;
    /* bottom: 70px; */
    bottom: 2.6vw;
    left: 0;
    animation: heart 1s linear alternate infinite;
}

#index .t_kv .scroll img {
    max-width: 65px;
    width: 5%;
}

#index section {
    padding: 100px 0;
}

#index div.box_l {
    max-width: 1680px;
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
}

#index .box_l .detail {
    max-width: 362px;
    display: -ms-flex;
    display: -webkit-flex;
    display: flex;
    -ms-align-items: flex-start;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    -ms-flex-direction: column;
    -webkit-flex-direction: column;
    flex-direction: column;
}

#index .t_about .detail {
    max-width: 436px;
}

#index .box_l div.img_bg {
    max-width: 886px;
    width: 52%;
}

#index .t_about,
#index .t_price {
    display: -ms-flex;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-end;
    -ms-justify-content: flex-end;
    justify-content: flex-end;
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    align-items: center;
    -webkit-align-items: center;
    -ms-align-items: center;
}

#index .t_service {
    display: -ms-flex;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-end;
    -ms-justify-content: flex-end;
    justify-content: flex-end;
    -ms-flex-direction: row;
    -webkit-flex-direction: row;
    flex-direction: row;
    align-items: center;
    -ms-align-items: center;
    -webkit-align-items: center;
}

#index .t_about,
#index .t_service {
    padding: 0 0 100px;
}

#index .t_about .detail,
#index .t_price .detail {
    margin: 0 0 0 7.38%;
}

#index .t_service .detail {
    margin: 0 7.38% 0 0;
}

#index .box_l .more_hover {
    display: none;
}

#index .t_about h2 {
    max-width: 224px;
    margin: 0 0 50px;
}

#index .t_about p:first-of-type {
    width: 100%;
    margin: 0 0 40px;
}

#index .t_about p.text {
    font-weight: 300;
    line-height: 2;
    text-align: justify;
    max-width: 362px;
    margin: 0 0 40px;
}

/* more btn */

#index .box_l p:last-of-type {
    width: 362px;
    padding: 16px 0;
}

#index .box_l p:last-of-type a {
    border: 2px solid #19aeb9;
    border-radius: 25px;
    text-align: center;
    height: 50px;
    padding: 16px 0;
}

#index .box_l p:last-of-type a img {
    max-width: 45px;
}

#index .box_l p:last-of-type a:hover {
    background: #19aeb9;
    text-align: center;
}

#index .box_l p:last-of-type a:hover img.more_nml {
    display: none;
}

#index .box_l p:last-of-type a:hover img.more_hover {
    display: inline-block;
}

/* more btn end */

#index .t_service h2 {
    max-width: 146px;
    margin: 0 0 32px;
}

#index .t_service p:first-of-type,
#index .t_price p:first-of-type {
    font-weight: 300;
    line-height: 2;
    margin: 0 0 60px;
}

#index .t_service p:first-of-type span,
#index .t_price p:first-of-type span {
    font-weight: 300;
}

#index .t_price h2 {
    max-width: 100px;
    margin: 0 0 32px;
}

#index .t_price {
    padding: 0 0 50px;
}

#index .t_link2 {
    background: url(img/t_supportbg.jpg) no-repeat center center;
    background-size: cover;
}

#index .t_link2 h2 {
    max-width: 322px;
    margin: 0 auto 65px;
}

#index .t_link2 div {
    max-width: 1180px;
    width: 65%;
    margin: 0 auto;
    display: -ms-flex;
    display: -webkit-flex;
    display: flex;
    -ms-justify-content: space-between;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

#index .t_link2 figure {
    max-width: 558px;
    width: 47%;
}

#index .t_link2 figure img {
    box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.5);
    margin: 0 0 30px;
}

#index .t_link2 figure figcaption {
    color: #fff;
    font-size: 16px;
    font-weight: 300;
    line-height: 1.5;
    text-align: center;
}

#index .t_link2 figure figcaption span {
    display: block;
    font-weight: 300;
}

#index .t_link3 div {
    max-width: 362px;
    margin: 0 auto;
}

#index .t_link3 h2 {
    max-width: 233px;
    margin: 0 auto 32px;
}

#index .t_link3 div p {
    font-weight: 300;
    text-align: center;
    margin: 0 0 60px;
}

#index .t_link3 div p:last-child {
    margin: 0;
}

#index .t_link3 div p:last-child a {
    border: 2px solid #19aeb9;
    border-radius: 40px;
    color: #19aeb9;
    text-align: center;
    padding: 29px 0;
    font-size: 18px;
    font-weight: 500;
}

#index .t_link3 div p:last-child a:hover {
    background: #19aeb9;
    color: #fff;
}




@media only screen and (max-width: 1300px){

    #index .t_kv .scroll {
        bottom: 4%;
    }

    #index .t_about h2 {
        margin: 0 0 10%;
        width: 50%;
    }

    #index .t_service h2 {
        margin: 0 0 10%;
        width: 35%;
    }

    #index .t_price h2 {
        margin: 0 0 10%;
        width: 26%;
    }

    #index .box_l p:last-of-type {
        width: 100%;
    }

    #index .t_about .detail,
    #index .t_price .detail {
        margin: 0 2% 0 6%;
        width: 35%;
    }

    #index .t_service .detail {
        margin: 0 6% 0 2%;
        width: 35%;
    }

    #index .t_link2 div {
        width: 90%;
    }


}

@media only screen and (max-width: 1024px){
    #index {
        padding: 66px 0 0;
    }

    #index .t_kv .pc {
        overflow: hidden;
        max-width: 1024px;
        position: relative;
        padding-top: 50vh;
    }

    #index .t_kv .pc img {
        position: absolute;
        top: 0;
        left: 50%;
        width: auto;
        height: 50vh;
        transform: translateX(-50%);
    }

    #index .t_link2 figure figcaption {
        font-size: 14px;
        text-align: justify;
        padding-top: 2%;
    }
}

@media (max-width: 1024px) and (max-height: 1024px){
    #index .t_kv .pc {
        overflow: hidden;
        max-width: 1024px;
        position: relative;
        padding-top: 512px;
    }

    #index .t_kv .pc img {
        position: absolute;
        top: 0;
        left: 50%;
        width: auto;
        height: 512px;
        transform: translateX(-50%);
    }
}


@media (max-width: 700px) and (min-height: 1024px){

    #index .t_kv .pc {
        overflow: hidden;
        max-width: 700px;
        position: relative;
        padding-top: 480px;
    }

    #index .t_kv .pc img {
        position: absolute;
        top: 0;
        left: 50%;
        width: auto;
        height: 480px;
        transform: translateX(-50%);
    }
}

@media only screen and (max-width: 550px){

    #index .pc {
        display: none;
    }

    #index .sp {
        display: block;
    }

    #index .spimg {
        margin: 0 0 12%;
    }

    #index .sptext {
        margin: 0 auto;
        width: 84%;
    }

    #index .t_kv .scroll {
        display: none;
    }

    #index section {
        padding: 20% 0;
    }

    #index .t_link {
        margin: 0 5.34%;
    }

    #index .t_about, #index .t_service {
        padding: 0 0 15%;
    }

    #index .t_about, #index .t_price,#index .t_service {
        display: inherit;
    }

    #index .t_price {
        padding: 0;
    }

    #index .t_about .detail, #index .t_price .detail, #index .t_service .detail {
        margin: 0;
        width: 100%;
        max-width: 100%;
    }

    #index .box_l div.img_bg {
        max-width: 100%;
        margin: 5% 0 0;
    }

    #index .box_l div.sp {
        margin: 0 0 5%;
        width: 100%;
    }

    #index .t_about h2,
    #index .t_service h2,
    #index .t_price h2 {
        margin: 0 auto 8%;
        width: 50%;
    }

    #index .t_about h2 img,
    #index .t_service h2 img,
    #index .t_price h2 img {
        height: 24px;
        display: inline-block;
    }

    #index .t_service h2 {
        width: 35%;
    }

    #index .t_price h2 {
        width: 27%;
    }

    #index .t_about p.text,
    #index .t_service p:first-of-type,
    #index .t_price p:first-of-type {
        margin: 0 0 7%;
        text-align: justify;
        font-size: 14px;
        line-height: 1.8;
    }

    #index .t_about p:first-of-type {
        margin: 0 0 8%;
    }

    #index .box_l p:last-of-type {
        width: 90%;
        margin: 0 auto;
    }

    #index .box_l p:last-of-type a {
        padding: 15px 0;
    }

    #index .t_link2 {
        padding: 20% 5.34%;
    }

    #index .t_link2 h2 {
        width: 100%;
        margin: 0 auto 10%;
    }

    #index .t_link2 div {
        width: 100%;
        display: inherit;
    }

    #index .t_link2 figure {
        max-width: 100%;
        width: 100%;
    }

    #index .t_link2 div figure:first-child {
        margin: 0 0 10%;
    }

    #index .t_link2 figure img {
        margin: 0 0 10px;
    }

    #index .t_link2 figure figcaption span {
        display: inline;
    }

    #index .t_link3 h2 {
        width: 55%;
    }

    #index .t_link3 div p {
        margin: 0 0 32px;
    }

    #index .t_link3 div p:last-child {
        margin: 0 auto;
        width: 80%;
    }

    #index .t_link3 div p:last-child a {
        padding: 20px 0;
    }




}





/* ---------------------------- #about ------------------------------- */

#about .sp {
    display: none;
}

#about span {
    display: block;
}

#about .a_ttl {
    background: url(img/a_ttlbg.jpg) no-repeat top center;
    background-size: cover;
    position: relative;
}

#about .a_ttl h2 {
    text-align: center;
    width: 100%;
    padding: 300px 0;
}

#about .a_ttl h2 img {
    max-width: 450px;
    width: 30%;
}

#about section.a_profile {
    padding: 100px 0 150px;
}

#about .a_profile {
    max-width: 1920px;
    margin: 0 auto;
}

#about .a_profile h3 {
    max-width: 260px;
    width: 45%;
    margin: 0 auto 90px;
}

#about .a_profile p:first-of-type {
    max-width: 527px;
    margin: 0 auto 40px;
    line-height: 1.63;
}

#about .a_profile p.txt {
    text-align: center;
    max-width: 716px;
    margin: 0 auto 100px;
}

#about .a_profile p.txt span {
    font-weight: 300;
    line-height: 2;
}

#about .a_profile p.txt .space {
    margin: 0 0 40px;
}

#about .a_profile ul {
    overflow: hidden;
}

#about .a_profile ul li {
    background: url(img/a_woker1.jpg) no-repeat top right;
    background-size: cover;
    min-height: 420px;
    width: 50%;
    float: left;
    position: relative;
}

#about .a_profile ul li:last-child {
    background: url(img/a_woker2.jpg) no-repeat top left;
    background-size: cover;
}

#about .a_profile ul li div {
    max-width: 394px;
    color: #fff;
    font-size: 14px;
}

#about .a_profile ul li:first-child div {
    position: absolute;
    bottom: 0;
    /* right: 37%; */
    right: 392px;
}

#about .a_profile ul li:last-child div {
    position: absolute;
    bottom: 0;
    /* right: 23.4%; */
    left: 392px;
}

#about .a_profile ul li div p {
    font-size: 14px;
    line-height: 1.5;
}

#about .a_profile ul li:first-child h4 img {
    width: 95px;
}

#about .a_profile ul li:last-child h4 img {
    width: 115px;
}

#about .a_profile ul li h4 span {
    padding: 27px 0;
}

#about .a_profile ul li:last-child div {
    float: right;
}

#about .a_service .ttl {
    background: url(img/a_servicebg.jpg) no-repeat top center;
    background-size: cover;
    /* padding: 205px 0 165px; */
    padding: 10.68% 0 8.59%;
    max-height: 500px;
}

@media (min-width:1921px) {
    #about .a_service .ttl {
        padding: 205px 0 165px;
    }    
}

#about .a_service{
    margin: -100px 0 0 0;
    padding: 100px 0 0 0;
}

#about .a_service .ttl h2 {
    max-width: 314px;
    margin: 0 auto;
}

#about .a_service .a_cont1 {
    padding: 100px 0;
    text-align: center;
    /* width: 95%; */
    margin: 0 auto;
}

#about .a_service .a_cont1 h3 {
    max-width: 415px;
    margin: 0 auto 65px;
}

#about .a_service .a_cont1 p {
    font-size: 16px;
    line-height: 2;
    margin: 0 0 25px;
}

#about .a_service .a_cont1 p.graybg {
    background: #e6e6e6;
    border-radius: 10px;
    padding: 12px 0;
    max-width: 680px;
    margin: 0 auto 25px;
}

#about .a_service .a_cont1 p.graybg span {
    font-weight: 400;
}

#about .a_service .a_cont1 p span.bold {
    display: inline;
    font-weight: 500;
}

#about .a_service .a_cont1 p:last-child {
    font-weight: 500;
    margin: 16px 0 0;
}

#about .ttl_m {
    background: #19aeb9;
    padding: 76px 0 75px;
    margin: 0 0 40px;
    text-align: center;
    position: relative;
}

#about .ttl_m p:first-child {
    /* max-width: 650px; */
    max-width: 621px;
    margin: 0 auto;
}

#about .ttl_m p:last-child {
    background: #eef9f9;
    width: 100%;
    position: absolute;
    bottom: -40px;
    left: 0;
}

#about .ttl_m p:last-child img {
    width: 50px;
}

#about .a_cont2 {
    background: #eef9f9;
    /* padding: 60px 0 100px; */
    padding: 60px 10% 100px;
    margin: 0 0 100px;
}

#about .a_cont2 div {
    max-width: 950px;
    margin: 0 auto;
    overflow: hidden;
    /* width: 95%; */
}

#about .a_cont2 > div {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
            align-items: flex-start;
}

#about .a_cont2 .detail {
    /* max-width: 580px; */
    max-width: 643px;
    padding-right: 6.32%;
    /* float: left; */
}

#about .a_cont2 div > img {
    max-width: 307px;
    width: 32.32%;
    /* float: right; */
}

#about .a_cont2 .detail h3 {
    max-width: 505px;
    margin: 0 0 40px;
}

#about .a_cont2 .detail p {
    line-height: 2;
}

#about section.work {
    max-width: 1720px;
    width: 95%;
    margin: 0 auto 150px;
}

#about .work .detail {
    max-width: 524px;
    width: 35%;
}

#about .work > div:last-child {
    max-width: 978px;
    width: 61%;
}

#about .work h4 {
    background: #19aeb9;
    height: 60px;
    max-width: 524px;
    text-align: center;
    /* padding: 18px 0; */
    padding: 19px 0;
    margin: 0 0 32px;
}

#about .work .detail > p {
    margin: 0 0 42px;
    line-height: 2;
    text-align: justify;
}

#about .work ul {
    overflow: hidden;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
            align-items: flex-start;
}

#about .work ul li {
    border: 2px solid #19aeb9;
    box-sizing: border-box;
    color: #19aeb9;
    font-size: 14px;
    text-align: center;
    /* float: left; */
    padding: 12px 0 ;
    width: calc((99.9% - 15px) / 2);
    margin: 0 0 10px;    
}

#about .work ul li:nth-child(2n) {
    margin: 0 0 10px 15px;
}

#about .a_sv1,
#about .a_sv3,
#about .a_sv5 {
    padding: 0 0 0 6%;
    overflow: hidden;
}

#about .a_sv1 h4 img {
    max-width: 144px;
}

#about .a_sv1 .detail,
#about .a_sv3 .detail,
#about .a_sv5 .detail {
    float: left;
}

#about .a_sv1 > div:last-child,
#about .a_sv3 > div:last-child,
#about .a_sv5 > div:last-child {
    float: right;
}

#about .a_sv1 table {
    background: linear-gradient(to bottom right, #47BEC7, #8DDACE);
    background: -moz-linear-gradient(top left,#47BEC7, #8DDACE);
    background: -webkit-linear-gradient(top left, #47BEC7, #8DDACE);
    border-collapse: separate;
    border-spacing: 20px 25px;
    padding: 4.37% 5.33%;
    width: 100%;}

#about .a_sv1 table tr th {
    border: 1px solid #fff;
    color: #fff;
    font-size: 24px;
    text-align: center;
    vertical-align: middle;
    width: 130px;
}

#about .a_sv1 table tr th img {
    max-width: 48px;
}

#about .a_sv1 table tr td {
    background: rgba(255,255,255,0.9);
    font-size: 16px;
    line-height: 2;
    height: 122px;
    vertical-align: middle;
    width: 685px;
    padding: 13px 30px;
    text-align: justify;
}

#about .a_sv2,
#about .a_sv4 {
    padding: 0 6% 0 0;
    overflow: hidden;
}

#about .a_sv2 .detail,
#about .a_sv4 .detail {
    float: right;
}

#about .a_sv2 .detail h4 img,
#about .a_sv3 .detail h4 img {
    max-width: 92px;
}

#about .a_sv2 > div:last-child,
#about .a_sv4 > div:last-child {
    float: left;
}

#about .a_sv4 .detail h4 img {
    max-width: 360px;
}

#about .a_sv4 .detail > p.btn {
    max-width: 462px;
    margin: 0 auto 20px;
}

#about .a_sv4 .btn a {
    background: url(img/a_arrow2.svg) no-repeat center right 30px;
    background-size: 30px;
    background-color: #1979c2;
    border-radius: 25px;
    text-align: center;
    height: 50px;
    color: #fff;
    padding: 11px 0;
}

#about .a_sv4 .btn a:hover {
    background: url(img/a_arrow2.svg) no-repeat center right 30px;
    background-size: 30px;
    background-color: #168ae2;
}

#about .a_sv4 .detail p:last-child a {
    background: url(img/a_arrow2.svg) no-repeat center right 30px;
    background-size: 30px;
    background-color: #00b900;
}

#about .a_sv4 .detail p:last-child a:hover {
    background: url(img/a_arrow2.svg) no-repeat center right 30px;
    background-size: 30px;
    background-color: #02dc02;
}

#about .a_sv5 {
    margin: 0 auto 130px;
}

#about .a_sv5 .detail h4 img {
    max-width: 73px;
}

#about .a_sv5 .detail > p {
    margin: 0 0 40px;
}

#about .a_sv5 .detail ul li {
    color: #000;
    float: none;
    font-size: 16px;
    font-weight: 300;
    line-height: 2;
    text-align: left;
    width: 100%;
    border: none;
    margin: 0;
    padding: 0;
}

#about .a_sv5 ul li:nth-child(2n) {
    margin: 0;
}

#about .a_profile ul li h4 span .onlysp {
    display: inline;
}

@media only screen and (max-width: 1680px){
    #about .a_profile ul li:first-child div {
        left: 5%;
        right: auto;
    }
    
    #about .a_profile ul li:last-child div {
        left: 46.67%;
        right: 5%;
    }
}

@media only screen and (max-width: 1450px){

    #about .a_ttl h2 {
        padding: 20% 0;
    }

    #about .a_profile ul li:first-child div {
        position: absolute;
        bottom: 0;
        /* left: 5%; */
        right: auto;
    }

    #about .a_profile ul li:last-child div {
        position: absolute;
        bottom: 0;
        /* right: 5%; */
        /* text-align: right; */
    }

    #about .a_profile p:first-of-type{
        margin: 0 auto 25px;
    }

    #about .a_sv1 table tr th {
        font-size: 18px;
    }

    #about .a_sv1 table tr td,
    #about .work .detail > p,
    #about .a_sv5 .detail ul li {
        font-size: 14px;
    }

    #about .a_sv1,
    #about .a_sv3,
    #about .a_sv5 {
        padding: 0 0 0 3%;
    }

    #about .a_sv2,
    #about .a_sv4 {
        padding: 0 3% 0 0;
    }


    #about .a_sv4 .detail h4 img {
        width: 90%;
    }

}

@media only screen and (max-width: 1300px) {
    #about .a_service {
        margin: -80px 0 0 0;
        padding: 80px 0 0 0;
    }
}

@media only screen and (max-width: 1200px) {

    #about .a_sv4 .detail p:last-child a {
        background: url(img/a_arrow2.svg) no-repeat center right 10px;
        background-size: 18px;
        background-color: #00b900;
    }

    #about .a_sv4 .btn a {
        background: none;
        background-color: #1979c2;
    }

    #about .a_sv4 .detail p:last-child a {
        background: none;
        background-color: #00b900;
    }

    #about .a_sv4 .btn a:hover {
        background: none;
        background-color: #168ae2;
    }

    #about .a_sv4 .detail p:last-child a:hover {
        background: none;
        background-color: #02dc02;
    }

    #index .t_link2 figure figcaption span {
        display: inline;
    }

}

@media only screen and (max-width: 1024px){
    #about .a_service {
        margin: -66px 0 0 0;
        padding: 66px 0 0 0;
    }

    #about .a_service .a_cont1 {
        padding: 10% 30px;
    }

    #about .a_cont2 {
        padding: 60px 30px 100px;
    }

    #about .a_cont2 .detail h3{
        margin: 0 auto 40px;
    }

    #about .a_cont2 .detail p {
        margin: 0 0 5%;
        text-align: justify;
    }

    #about .a_service .ttl h2 {
        width: 30.66%;
    }
    #about .ttl_m{
        padding: 7.42% 0 7.32%;
    }

    #about .ttl_m p:first-child{
        width: 60.64%;
    }

    #about .a_profile ul li{
        width: 100%;
    }

    #about .a_sv1 .detail, #about .a_sv3 .detail, #about .a_sv5 .detail {
        float: none;
    }

    #about .a_sv1 > div:last-child, #about .a_sv3 > div:last-child, #about .a_sv5 > div:last-child {
        float: none;
    }

    #about section.work{
        width: 100%;
        padding: 0 30px;
    }

    #about .work .detail {
        max-width: 100%;
        width: 100%;
        margin: 0 0 5%;
    }

    #about .work h4{
        max-width: 100%;
    }

    #about .work > div:last-child {
        width: 100%;
    }

    #about .a_sv5.work ul{
        column-count: 2;
        display: block;
    }
    
}

@media only screen and (max-width: 550px){

    #about .a_ttl {
        background: none;
    }

    #about .sp {
        display: block;
    }

    #about .pc {
        display: none;
    }

    #about .a_ttl h2 {
        display: none;
    }

    #about section.a_profile {
        padding: 10% 0 15%;
    }

    #about .a_profile h3 {
        margin: 0 auto 9%;
    }

    #about .a_profile p:first-of-type {
        width: 94.6%;
        margin: 0 auto 5%;
    }

    #about .a_profile p:first-of-type img {
        display: inline-block;
        height: 18px;
    }

    #about .a_profile p.txt {
        margin: 0 auto 10%;
        font-size: 14px;
        /* width: 94.6%; */
        padding: 0 20px;
    }

    #about .a_profile p.txt .space {
        margin: 0 0 5%;
    }

    #about .a_profile ul li {
        /* background: url(img/a_woker1sp.jpg) no-repeat top right; */
        background: url(img/a_woker1sp.jpg) no-repeat center right;
        background-size: cover;
        width: 100%;
        min-height: 300px;
        float: none;
        padding-top: 80%;
    }

    #about .a_profile ul li:last-child {
        /* background: url(img/a_woker2sp.jpg) no-repeat top left; */
        background: url(img/a_woker2sp.jpg) no-repeat center left;
        background-size: cover;
    }

    #about .a_profile ul li:first-child div {
        left: 0;
        margin: 0 45% 2% 5.34%;
        right: 0;
        text-align: justify;
    }

    #about .a_profile ul li:last-child div {
        left: 0;
        right: 0;
        margin: 0 5.34% 2% 45%;
        text-align: justify;
    }

    #about .a_profile ul li:first-child h4 img {
        height: 16px;
        display: inline-block;
    }

    #about .a_profile ul li:last-child h4 img {
        height: 16px;
        display: inline-block;
    }

    #about .a_profile ul li p:first-of-type {
        width: 100%;
        font-weight: 400;
        font-size: 12px;
    }

    #about .a_profile ul li p:first-of-type span{
        font-weight: 400;
        display: inline;
    }

    #about .a_profile ul li h4 span {
        font-weight: 400;
        line-height: 1.6;
        padding: 15px 0;
    }

    #about .a_profile ul li h4 span .onlysp {
        display: block;
        padding: 5px 0 0 0;
    }

    #about .a_service .ttl {
        padding: 20% 0;
    }

    #about .a_service .ttl h2 {
        width: 50%;
    }

    #about .a_service .a_cont1 h3 {
        width: 80%;
        margin: 0 auto 7%;
    }

    #about .a_service .a_cont1 {
        padding: 10% 20px;
        text-align: justify;
    }

    #about .a_service .a_cont1 p {
        font-size: 14px;
        margin: 0 0 5%;
    }

    #about .a_service .a_cont1 p.graybg {
        /* padding: 20px 10px; */
        padding: 20px;
        width: 100%;
        margin: 0 auto 5%;
    }

    #about .ttl_m {
        /* padding: 15% 0; */
        margin: 0 0 25px;
    }

    #about .ttl_m p:first-child {
        width: 80%;
    }

    #about .ttl_m p:first-child img {
        height: 22px;
        display: inline-block;
    }

    #about .ttl_m p:last-child {
        bottom: -25px;
    }

    #about .ttl_m p:last-child img {
        width: 34px;
    }

    #about .a_cont2 {
        /* padding: 6% 0 10%; */
        padding: 6% 20px 10%;
        margin: 0 0 15%;
    }

    #about .a_cont2 div {
        /* width: 95%; */
        text-align: center;
    }

    #about .a_cont2 > div{
        display: block;
    }

    #about .a_cont2 .detail {
        max-width: 100%;
        padding-right: 0;
    }

    #about .a_cont2 .detail h3 {
        width: 80%;
        margin: 0 auto 5%;
    }

    #about .a_cont2 .detail h3 img {
        height: 18px;
        display: inline-block;
    }

    #about .a_cont2 .detail p {
        font-size: 14px;
        /* margin: 0 0 5%; */
        /* text-align: justify; */
    }

    #about .a_cont2 div > img {
        max-width: 60%;
        width: 100%;
        /* float: none; */
    }

    #about .a_sv1 .detail, #about .a_sv3 .detail, #about .a_sv5 .detail {
        /* float: none; */
    }

    #about .work .detail {
        /* width: 100%; */
        /* margin: 0 0 5%; */
    }

    #about .a_sv1 > div:last-child, #about .a_sv3 > div:last-child, #about .a_sv5 > div:last-child {
        /* float: none; */
    }

    #about section.work {
        width: 100%;
        margin: 0 auto 15%;
        padding: 0 20px;
    }

    #about .a_sv1, #about .a_sv3, #about .a_sv5 {
        padding: 0 10px;
    }

    #about .work h4 {
        margin: 0 0 5%;
        /* padding: 6.27%; */
        padding: 21px;
    }

    #about .work h4 img {
        display: inline-block;
        height: 18px;
    }

    #about .work .detail > p {
        margin: 0 0 5%;
        text-align: justify;
    }

    #about .a_sv5.work ul{
        column-count: 1;
    }

    #about .work ul li {
        font-size: 12px;
    }

    #about .a_sv1 table {
        border-collapse: separate;
        border-spacing: 8px 8px;
        padding: 10px;
    }

    #about .a_sv1 table tbody {
        display: block;
        padding: 5px;
    }

    #about .a_sv1 table tr {
        display: block;
        margin: 0 0 5%;
    }

    #about .a_sv1 table tr th {
        display: block;
        width: 100%;
        padding: 15px 0;
        margin-bottom: 4%;
    }

    #about .a_sv1 table tr td {
        display: block;
        width: 100%;
        height: auto;
        margin-bottom: 8%;
        padding: 8px 15px;
    }

    #about .a_sv4 .detail > p.btn {
        margin: 0 auto 6%;
    }

    #about .a_sv4 .btn a {
        background: none;
        background-color: #1979c2;
        padding: 11px;
    }

    #about .a_sv4 .detail p:last-child a {
        background: none;
        background-color: #00b900;
    }

    #about .a_sv4 .btn a:hover {
        background: none;
        background-color: #168ae2;
    }

    #about .a_sv4 .detail p:last-child a:hover {
        background: none;
        background-color: #02dc02;
    }

    .toLink p {
        max-width: 100%;
        width: 90%;
    }

    .toInquiry p a {
        font-size: 18px;
    }

}





/* ---------------------------- #price ------------------------------- */

#price .p_ttl {
    padding: 160px 0 0;
}

#price .p_ttl h2 {
    max-width: 225px;
    margin: 0 auto 105px;
    /* width: 15%; */
}

#price section {
    max-width: 848px;
    margin: 0 auto;
}

#price section h3 {
    max-width: 160px;
    margin: 0 auto 50px;
}

#price section table {
    border-collapse: collapse;
    text-align: center;
    width: 100%;
}

#price section table thead th {
    background: #d1eff1;
    font-size: 16px;
    font-weight: 300;
    padding: 25px 0;
    width: 50%;
}

#price section table thead th:first-child {
    border-right: 1px solid #fff;
}

#price section table tbody tr {
    border-bottom: 1px solid #b3b3b3;
}

#price section table tbody td {
    font-size: 16px;
    font-weight: 300;
    padding: 25px 0;
}

#price section table tbody td span {
    display: inline;
}

#price .corp table {
    margin: 0 0 100px;
}

#price .private table {
    margin: 0 0 130px;
}


@media only screen and (max-width: 1024px){
    #price section{
        padding: 0 30px;
        max-width: 908px;
    }
}

@media only screen and (max-width: 550px){

    #price .p_ttl {
        padding: 15% 0 0;
    }

    #price .p_ttl h2 {
        /* width: 40%; */
        width: 39.54%;
        margin: 0 auto 15%;
    }

    #price section {
        padding: 0 20px;
    }

    #price section h3 {
        width: 40%;
        margin: 0 auto 5%;
    }

    #price .corp table,
    #price .private table {
        margin: 0 0 15%;
    }

    #price section table thead th {
        font-size: 14px;
        padding: 20px 0;
        width: 50%;
    }

    #price section table tbody td {
        font-size: 14px;
        line-height: 1.5;
        padding: 10px 0;
        vertical-align: middle;
    }

    #price section table tbody td span {
        display: block;
    }

    .toLink {
        margin: 0 0 15%;
    }


}





/* ---------------------------- #service ------------------------------- */

#service .s_ttl {
    background: url(img/s_ttlbg.jpg) no-repeat center center;
    background-size: cover;
    padding: 132px 0 75px;
}

#service .s_ttl h2 {
    max-width: 850px;
    width: 45%;
    margin: 0 auto;
}

#service .prologue {
    background: #f6ffff;
    padding: 50px 0 90px;
}

#service .prologue p:first-child {
    font-size: 20px;
    line-height: 2;
    text-align: center;
    margin: 0 0 40px;
}

#service .prologue p span {
    display: block;
    line-height: 2;
}

#service .prologue p span.color {
    background: #fcee21;
    display: inline;
    font-weight: 500;
}

#service .prologue p:nth-child(2) {
    max-width: 756px;
    /* width: 40%; */
    width: 59.06%;
    margin: 0 auto 40px;
}

#service .prologue p:nth-child(3) {
    /* max-width: 840px; */
    max-width: 833px;
    width: 65.08%;
    /* width: 50%; */
    margin: 0 auto;
}

#service section {
    padding: 0 0 25px;
}

#service section h3 {
    /* background: url(img/s_ttlbg.png) no-repeat center center; */
    /* background-size: cover; */
    background : linear-gradient(135deg, rgba(0, 70, 178, 1) 0.58%, rgba(49, 172, 210, 1) 60%, rgba(153, 225, 202, 1) 100%);
    padding: 26px 0;
    text-align: center;
    margin: 0 0 100px;
}

#service section h3 img {
    max-width: 206px;
}

#service section .box {
    max-width: 1344px;
    width: 94.6%;
    margin: 0 auto 80px;
    /* overflow: hidden; */
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
            align-items: flex-start;
}

#service section .con1,
#service section .con3 {
    flex-direction: row-reverse;
}

#service section .box div:nth-child(2) {
    /* max-width: 550px; */
    max-width: 514px;
    width: 45%;
    /* padding: 85px 0 0; */
    padding: 7.24% 0;
}

#service section .box div:last-child {
    max-width: 708px;
    /* width: 50%; */
    width: 52.68%;
    /* margin: 0 0 80px; */
}

#service section .con1 div:nth-child(2) {
    background: url(img/s_one.png) no-repeat center right;
    /* background-size: 30%; */
    background-size: 33.145%;
    /* float: right; */
    /* margin-right: 4%; */
    margin-right: 7.14%;
}

#service section .con2 div:nth-child(2) {
    background: url(img/s_two.png) no-repeat center right;
    /* background-size: 38%; */
    background-size: 41.35%;
    /* float: left; */
    /* margin-left: 4%; */
    margin-left: 6.18%;
}

#service section .con3 div:nth-child(2) {
    background: url(img/s_three.png) no-repeat center right;
    /* background-size: 38%; */
    background-size: 37.81%;
    /* float: right; */
    /* margin-right: 4%; */
    margin-right: 5.13%;
}

#service section .con1 div:last-child,
#service section .con3 div:last-child {
    /* float: left */
}

#service section .con2 div:last-child {
    /* float: right; */
}

#service .con1 h4 {
    max-width: 297px;
    width: 60%;
    margin: 0 0 30px;
}

#service .con2 h4 {
    max-width: 222px;
    width: 50%;
    margin: 0 0 40px;
}

#service .con3 h4 {
    max-width: 352px;
    width: 75%;
    margin: 0 0 30px;
}

#service .box p {
    max-width: 363px;
    line-height: 1.8;
}

#service .box p span {
    display: block;
}

#service .s_tel {
    /* background:url(img/s_ttlbg.png) no-repeat center center; */
    /* background-size: cover; */
    background : linear-gradient(135deg, rgba(0, 70, 178, 1) 0.58%, rgba(49, 172, 210, 1) 60%, rgba(153, 225, 202, 1) 100%);
    position: relative;
    z-index: -2;
}

#service .s_tel .s_tel_bg {
    box-sizing: border-box;
    max-width: 1200px;
    width: 85%;
    margin: 0 auto;
    padding: 60px 0;
}

#service .s_tel .s_tel_bg::before {
    content: "";
    background:url(img/s_btm.png) no-repeat center center;
    background-size: 100%; 
    max-width: 1200px;
    width: 100%;
    height: 100%;
    mix-blend-mode: multiply;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
}


#service .s_tel .s_tel_bg > p {
    color: #fff;
    font-size: 20px;
    text-align: center;
    padding: 0 0 35px;
}

#service .s_tel .wh_bg {
    background: #fff;
    text-align: center;
    max-width: 670px;
    width: 55%;
    margin: 0 auto;
    padding: 35px 0;
}

#service .s_tel .wh_bg p:first-child {
    max-width: 380px;
    width: 56%;
    margin: 0 auto 25px;
}

#service .s_tel .wh_bg p:last-child {
    max-width: 535px;
    width: 80%;
    margin: 0 auto;
}

#service .s_tel .wh_bg p:last-child a {
    pointer-events: none;
}

#service .toInquiry p a {
    background: #f06f6c;
}

#service .toInquiry p a:hover {
    background: hsl(1, 81%, 62%);
}

#service .sp {
    display: none;
}

#service .onlysp {
    font-weight: 500;
}




@media only screen and (max-width: 1300px){

    #service .s_ttl {
        padding: 8% 0 5%;
    }

    #service .s_ttl h2 {
        width: 50%;
    }

    #service .prologue p:first-child {
        /* font-size: 16px; */
    }

    #service .s_tel .s_tel_bg > p {
        font-size: 18px;
    }

    #service .s_tel .s_tel_bg {
        padding: 4% 0;
    }

    #service .s_tel .wh_bg {
        padding: 20px 0;
    }

    .toInquiry p a {
        font-size: 20px;
    }

    #service section .box {
        /* width: 98%; */
    }

}

@media only screen and (max-width: 1024px){
    #service section .box div:nth-child(2){
        padding: 4.52% 0;
    }

    #service section .box {
        margin: 0 auto 7.79%;
    }
}

@media only screen and (max-width: 550px){

    #service .pc {
        display: none;
    }

    #service .sp {
        display: block;
    }

    #service .s_ttl {
        background: none;
        padding: 0;
    }

    #service .s_ttl h2 .pc {
        display: none;
    }

    #service .s_ttl h2 {
        width: 100%;
    }

    #service .prologue p span {
        display: inline;
    }

    #service .s_tel .wh_bg p:last-child a {
        pointer-events: initial;
    }

    #service .prologue {
        padding: 10% 5.34%;
    }

    #service .prologue p:first-child {
        margin: 0 0 5%;
        text-align: justify;
        font-size: 16px;
    }

    #service .prologue p:nth-child(2) {
        width: 100%;
        margin: 0 auto 5%;
    }

    #service .prologue p:nth-child(3) {
        width: 100%;
    }

    #service section h3 {
        padding: 20px 0;
        margin: 0 0 10%;
    }

    #service section h3 img {
        width: 40%;
    }

    #service section .box{
        display: block;
    }

    #service section .con1 div:first-child,
    #service section .con1 div:last-child, #service section .con3 div:last-child {
        /* float: none; */
    }

    #service section .box div:first-child {
        width: 100%;
        padding: 10% 0 0;
        margin: 0 0 15%;
    }

    #service section .box div:last-child {
        width: 100%;
        margin: 0 0 10%;
    }

    #service .box p {
        background: rgba(255,255,255,0.3);
        font-size: 14px;
    }

    #service section .con1 div:first-child,
    #service section .con2 div:first-child,
    #service section .con3 div:first-child {
        background: none;
        /* float: none; */
    }

    #service section .box div:nth-child(2) {
        /* float: none; */
        width: 94.6%;
    }

    #service section .con1 div:nth-child(2) {
        background: url(img/s_one.png) no-repeat center right 10px;
        background-size: contain;
        padding: 15% 0 0;
        margin: -25% auto 0;
        position: relative;
        z-index: 5;
    }

    #service section .con2 div:nth-child(2) {
        background: url(img/s_two.png) no-repeat center right 10px;
        background-size: contain;
        padding: 15% 0 0;
        margin: -25% auto 0;
        position: relative;
        z-index: 5;
    }

    #service section .con3 div:nth-child(2) {
        background: url(img/s_three.png) no-repeat center right 10px;
        background-size: contain;
        padding: 15% 0 0;
        margin: -25% auto 0;
        position: relative;
        z-index: 5;
    }

    #service .con1 h4 {
        width: 60%;
        margin: 0 0 3%;
    }

    #service .con2 h4 {
        width: 45%;
        margin: 0 0 4%;
    }

    #service .con3 h4 {
        width: 70%;
        margin: 0 0 3%;
    }

    .toInquiry p a {
        font-size: 16px;
        padding: 12.5% 0;
    }

    #service .s_tel .s_tel_bg {
        background: none;
        width: 89.32%;
        padding: 8% 0;
    }

    #service .s_tel .s_tel_bg::before {
        background-size: cover;
    }

    #service .s_tel .s_tel_bg > p {
        font-size: 16px;
        line-height: 1.5;
        padding: 0 0 5%;
    }

    #service .s_tel .wh_bg {
        width: 100%;
    }

    #service .s_tel .wh_bg p:first-child {
        width: 60%;
        margin: 0 auto 5%;
    }

    #service .onlysp {
        display: block;
    }

    #service .toInquiry p a {
        line-height: 1.5;
        font-size: 18px;
        padding: 10.15% 0;
        font-weight: 500;
    }

}





/* ---------------------------- #line ------------------------------- */

#line .l_ttl {
    background: #00b900;
    /* padding: 75px 0 50px; */
    padding: 4.01% 0 2.08%;
}

@media (min-width:1921px) {
    #line .l_ttl {
        padding: 75px 0 50px;
    }
}

#line .l_ttl h2 {
    /* max-width: 910px; */
    max-width: 980px;
    /* width: 50%; */
    width: 51.04%;
    /* margin: 0 auto 60px; */
    margin: 0 auto 5.21%;
}

#line .l_ttl p {
    /* width: 78px; */
    /* height: 40px; */
    width: 4.06%;
    height: 2.08%;
    margin: 0 auto;
    position: relative;
}

#line .l_ttl p img {
    position: absolute;
    bottom: 10px;
    left: 0;
    width: 100%;
    z-index: 2;
    animation: toBottom 0.8s linear alternate infinite;
}

@keyframes toBottom {

    0% {
        bottom: 0;
        opacity: 0;
    }

    100% {
        bottom: -10px;
        opacity: 1;
    }
}

#line .l_content {
    border-right: 60px solid #000;
    border-left: 60px solid #000;
    box-sizing: border-box;
    max-width: 1560px;
    margin: 0 auto;
}

#line .l_ttl_s {
    background: #232646;
    padding: 44px 0;
}

#line .l_ttl_s h3 {
    max-width: 464px;
    margin: 0 auto;
}

#line .line1 {
    background: #5f7bc1;
    padding: 80px 0;
}

#line .line1 div {
    max-width: 1062px;
    width: 95%;
    margin: 0 auto;
    overflow: hidden;
}

#line .line1 div p:first-child {
    max-width: 523px;
    width: 50%;
    margin: 0 0 30px;
    float: left;
}

#line .line1 div p:last-child {
    max-width: 825px;
    width: 78%;
    float: right;
}

#line .l_point {
    padding: 80px 0;
}

#line .l_point h4 {
    max-width: 230px;
    margin: 0 auto 80px;
}

#line .l_point ul {
    max-width: 910px;
    width: 85%;
    overflow: hidden;
    margin: 0 auto;
}

#line .l_point ul li {
    float: left;
    width: calc((99.9% - 160px ) / 3);
    margin: 0 80px 0 0;
}

#line .l_point ul li:last-child {
    margin: 0;
}

#line .l_point ul li figure > img {
    margin: 0 0 35px;
}

#line .l_point ul li figcaption p:first-child {
    max-width: 222px;
    margin: 0 auto 30px;
}

#line .l_point ul li figcaption p:last-child {
    font-weight: 400;
    line-height: 1.63;
    text-align: justify;
}

#line .bigger h3 {
    max-width: 660px;
    margin: 0 auto;
}

#line .line2 {
    background: #5f7bc1;
    padding: 80px 0;
}

#line .line2 p {
    max-width: 650px;
    margin: 0 auto;
}

#line .l_info div:first-child {
    background: #00b900;
    padding: 40px 0 50px;
}

#line .l_info div:first-child p {
    max-width: 820px;
    width: 60%;
    margin: 0 auto;
}

#line .l_info div:first-child p a {
    pointer-events: none;
}

#line .l_info div:last-child {
    padding: 80px 0 100px;
}

#line .l_info div:last-child h3 {
    max-width: 165px;
    margin: 0 auto 60px;
}

#line .l_info div:last-child p {
    max-width: 270px;
    margin: 0 auto;
}

#line .toInquiry p a {
    background: #f06f6c;
}

#line .toInquiry p a:hover {
    background: hsl(1, 81%, 62%);
}

#line .onlysp {
    display: inline;
    font-weight: 500;
}


@media only screen and (max-width: 1024px){
    #line .l_ttl h2{
        width: 65.18%;
    }
    #line .l_ttl{
        padding: 4.01% 0
    }
}

@media only screen and (max-width: 550px){

    #line .l_info div:first-child p a {
        pointer-events: initial;
    }

    #line .l_ttl {
        /* padding: 10% 0 7%; */
        padding: 11% 10px 8% 10px;
        max-height: 414px;
    }

    #line .l_ttl h2 {
        /* width: 89.32%; */
        width: 100%;
        /* margin: 0 auto 4%; */
        margin: 0 auto 10%;
    }

    #line .l_ttl p {
        /* width: 30px;
        height: 20px; */
        width: 7.27%;
        height: 5.45%;
    }

    #line .l_content {
        border: none;
        width: 100%;
    }

    #line .l_ttl_s h3 {
        width: 80%;
    }

    #line .line1 {
        padding: 15% 0;
    }

    #line .line1 div p:first-child {
        width: 90%;
        margin: 0 0 13%;
    }

    #line .line1 div p:last-child {
        width: 100%;
    }

    #line .l_point {
        padding: 10% 0;
    }

    #line .l_point h4 {
        width: 50%;
        margin: 0 auto 10%;
    }

    #line .l_point ul li {
        float: none;
        width: 100%;
        margin: 0 0 10%;
    }

    #line .l_point ul li figure {
        text-align: center;
    }

    #line .l_point ul li figure > img {
        width: 50%;
        margin: 0 0 5%;
    }

    #line .l_point ul li figcaption p:first-child {
        width: 60%;
        margin: 0 auto 5%;
    }

    #line .l_point ul li figcaption p:last-child {
        font-size: 14px;
    }

    #line .bigger h3 {
        width: 95%;
    }

    #line .line2 {
        padding: 10% 10px;
    }

    #line .l_info div:first-child {
        padding: 8% 0 10%;
    }

    #line .l_info div:first-child p {
        width: 90%;
    }

    #line .l_info div:last-child {
        padding: 15% 0;
    }

    #line .l_info div:last-child h3 {
        width: 30%;
        margin: 0 auto 8%;
    }

    #line .l_info div:last-child p {
        width: 60%;
    }

    #line .toInquiry p a {
        line-height: 1.5;
        font-size: 18px;
        padding: 10.15% 0;
        font-weight: 500;
    }

    #line .onlysp {
        display: block;
        line-height: 1.5;
    }


}





/* ---------------------------- #policy ------------------------------- */

#policy {
    font-feature-settings: "pkna" 1;
}

#policy .policy_ttl {
    padding: 160px 0 0;
}

#policy .policy_ttl h2 {
    /* max-width: 360px; */
    max-width: 356px;
    margin: 0 auto 140px;
}

#policy section {
    max-width: 1064px;
    width: 80%;
    margin: 0 auto 175px;
}

#policy section div {
    margin: 0 0 35px;
}

#policy p {
    font-size: 14px;
    line-height: 2;
    text-align: justify;
}

#policy p.policy_text {
    margin: 0 0 25px;
}

#policy p span {
    display: block;
    line-height: 2;
}

#policy h3 {
    font-size: 16px;
    font-weight: 500;
    margin: 0 0 20px;
}

#policy section ul {
    margin: 0 0 0 30px;
}

#policy section ul li ul {
    margin: 0 0 0 30px;
}

#policy section ul li ul:nth-child(2) {
    margin: 10px 0 10px 60px;
}

#policy section ul li {
    font-size: 14px;
    font-weight: 300;
    text-align: justify;
    line-height: 2;
    list-style-type: decimal;
}

#policy p.policy_add {
    margin: 35px 0;
}

#policy section > p:last-of-type {
    text-align: right;
}


@media only screen and (max-width: 1300px){

}

@media only screen and (max-width: 550px){

    #policy .policy_ttl {
        padding: 25% 0 0;
    }

    #policy .policy_ttl h2 {
        width: 60.85%;
        /* width: 60%; */
        margin: 0 auto 15%;
    }

    #policy section {
        width: 100%;
        padding: 0 20px;
        margin: 0 auto 20%;
    }

    #policy h3,
    #policy p.policy_text {
        margin: 0 0 5%;
    }

    #policy p.policy_add {
        margin: 5% 0;
        text-align: initial;
    }

}




/* ---------------------------- #inquiry ------------------------------- */

input[type="button"],input[type="text"],input[type="submit"],input[type="image"],input[type="email"],textarea{
    -webkit-appearance: none;
    border-radius: 0;
    }

#inquiry .i_title {
    padding: 160px 0 0;
}

#inquiry .i_title h2 {
    max-width: 317px;
    /* width: 15%; */
    margin: 0 auto 92px;
}

#inquiry .tell p:first-child {
    line-height: 2;
    text-align: center;
    margin: 0 0 40px;
}

#inquiry .tell p:last-child {
    max-width: 212px;
    margin: 0 auto 125px;
}

#inquiry .tell p span {
    display: block;
}

#inquiry .tell a {
    pointer-events: none;
}

#inquiry .form {
    max-width: 848px;
    width: 70%;
    margin: 0 auto 165px;
}

#inquiry dl {
    margin: 0 0 40px;
    overflow: hidden;
}

#inquiry dl dt {
    font-size: 16px;
    font-weight: 400;
    margin: 0 0 15px;
}

#inquiry dl dt span {
    background: #566fad;
    color: #fff;
    display: inline;
    font-size: 14px;
    line-height: 2;
    padding: 2px 6px;
    margin: 0 20px 0 0;
}

#inquiry dl dt span.must {
    background: #ff4a51;
}

#inquiry dl dd {
    margin: 0 0 30px;
    font-size: 16px;
    font-weight: 400;
}

#inquiry dl dd .note{
    display: inline-block;
    font-size: 14px;
    font-weight: 400;
    vertical-align: 1px;
    line-height: 1.3;
    margin-left: 8px;
    padding: 5px 0;
}

#inquiry .form input,
#inquiry .form select,
#inquiry .form textarea,
#inquiry .form option {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    outline: none;
    background: transparent;
    padding: 0;
}

#inquiry .form input,
#inquiry .form textarea {
    border: 1px solid #000;
    box-sizing: border-box;
    font-size: 16px;
    width: 100%;
    padding: 15px 20px;
}

#inquiry .form select {
    border: 1px solid #000;
    background: url(img/i_arrow.svg) no-repeat center right 20px;
    background-size: 15px;
    border-radius: 0;
    box-sizing: border-box;
    font-size: 16px;
    width: 100%;
    padding: 15px 20px;
}

#inquiry .form textarea {
    /* margin: 30px 0 10px; */
    margin: 30px 0 0;
    min-height: 405px;
}

#inquiry .submit_btn {
    max-width: 524px;
    margin: 0 auto;
}

#inquiry .submit_btn input {
    /* border: 4px solid #f06f6c; */
    border: 2px solid #f06f6c;
    border-radius: 40px;
    color: #f06f6c;
    cursor: pointer;
    /* font-size: 24px; */
    font-size: 18px;
    padding: 18px 0;
    letter-spacing: 4px;
    /* font-weight: 700; */
    font-weight: 500;
}

#inquiry .submit_btn input:hover {
    background: #f06f6c;
    color: #fff;
}

#inquiry .error_msg {
    box-sizing: border-box;
    color: #ff4a51;
    display: inline-block;
    font-size: 14px;
    font-weight: 400;
    padding: 5px 0;
}


#inquiry .table_design {
    border-collapse: collapse;
    width: 100%;
    margin-bottom: 50px;
  }
#inquiry .table_design tr {
    background-color: #e6f1f6;
  }
#inquiry .table_design tr:nth-child(odd) {
    background-color: #fff;
  }
 #inquiry .table_design th, .table_design02 td {
    padding: 1em;
  }
#inquiry .table_design th {
    font-weight: bold;
    text-align: center;
    vertical-align: middle;
    width: 35%;
    min-width: 4em;
    line-height: 1.4;
}
#inquiry .table_design td {
    line-height: 1.4;
    vertical-align: middle;
    padding: 12px 0;
}


/* check.php */

#inquiry .i_check dl dt {
    border-bottom: 1px solid #555;
    padding: 0 0 10px;
}

#inquiry .i_check dl dd {
    line-height: 1.8;
}

#inquiry .i_check .back_btn {
    max-width: 524px;
    margin: 30px auto 0;
}

#inquiry .i_check .back_btn input {
    border: none;
    /* border: 1px solid #566fad; */
    border-radius: 100vh;
    /* color: #566fad; */
    color: hsl(0, 0%, 41%);
    background: hsl(0, 0%, 91%);
    cursor: pointer;
    /* font-size: 24px; */
    font-size: 18px;
    /* padding: 25px 0; */
    padding: 18px;
}
#inquiry .i_check .back_btn input:hover {
    color: hsl(0, 0%, 31%);
    background: hsl(0, 0%, 81%);
}

/* thanks */
#inquiry .thanks{
    padding: 0 64px;
}

#inquiry .thanks h3 {
    font-size: 24px;
    font-weight: 500;
    text-align: center;
    line-height: 1.5;
}

#inquiry .thanks h3:last-of-type {
    margin-top: 40px;
}

#inquiry .thanks .thanks_text {
    text-align: justify;
    line-height: 2;
    margin-top: 24px;
}

#inquiry .thanks .thanks_text span {
    display: inline-block;
}

#inquiry .thanks .top_btn {
    max-width: 524px;
    /* margin: 30px auto 0; */
    margin: 60px auto 0;
}

#inquiry .thanks .top_btn a {
    /* border: 1px solid #e75096; */
    border: 2px solid #19aeb9;
    border-radius: 40px;
    /* color: #e75096; */
    color: #19aeb9;
    /* font-size: 20px; */
    font-size: 16px;
    font-weight: 500;
    text-align: center;
    padding: 15px 0;
}

#inquiry .thanks .top_btn a:hover {
    /* background: #e75096; */
    background: #19aeb9;
    color: #fff;
}

@media only screen and (max-width: 1024px){
    #inquiry .thanks{
        padding: 0;
    }

    #inquiry dl dd .note{
        margin-left: 0;
    }
}

@media only screen and (max-width: 550px){

    #inquiry .i_title {
        padding: 15% 0 0;
    }

    #inquiry .tell a {
        pointer-events: initial;
    }

    #inquiry .i_title h2 {
        width: 56.05%;
        /* width: 40%; */
        margin: 0 auto 15%;
    }

    #inquiry .tell {
        padding: 0 5.34%;
    }

    #inquiry .tell p:first-child {
        font-size: 14px;
        text-align: left;
        margin: 0 0 5%;
    }

    #inquiry .tell p:first-child span:last-child,
    #inquiry .tell p:first-child span:nth-child(2) {
        display: inline;
    }

    #inquiry .tell p:last-child {
        width: 70%;
        margin: 0 auto 15%;
    }

    #inquiry .form {
        width: 100%;
        padding: 0 5.34%;
        margin: 0 auto 15%;
    }

    #inquiry dl dd {
        margin: 0 0 5%;
    }

    #inquiry .submit_btn input {
        font-size: 16px;
        padding: 15px 0;
    }

    #inquiry .form input,
    #inquiry .form textarea,
    #inquiry .form select {
        padding: 10px;
    }

    #inquiry .submit_btn,
    #inquiry .i_check .back_btn,
    #inquiry .thanks .top_btn {
        width: 90%;
    }

    #inquiry .i_check .back_btn input {
        font-size: 16px;
        padding: 10px 0;
    }

    #inquiry .thanks .top_btn a {
        font-size: 16px;
        padding: 10px 0;
    }

    #inquiry .thanks h3 {
        font-size: 20px;
    }

    #inquiry .thanks .thanks_text{
        font-size: 14px;
    }

}

/* ---------------------------- #online_adviser ------------------------------- */

#online_adviser .wrap {
    max-width: 1300px;
    margin: 0 auto;
    padding: 100px 64px;
}

#online_adviser .o_ttl {
    background: url(img/online-adviser/o-ad_kv.jpg) top center no-repeat;
    background-size: cover;
}

#online_adviser .o_ttl .wrap {
    padding: 140px 172px;
}

#online_adviser .o_ttl h2 {
    max-width: 624px;
    width: auto;
    height: 48px;
    margin: 0 auto;
}

#online_adviser .o_ttl .lead {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 7.64% auto 0;
    max-width: 956px;
}

#online_adviser .o_ttl .lead p {
    max-width: 470px;
    width: 100%;
    letter-spacing: 0px;
    color: #FFFFFF;
    text-shadow: 0px 0px 8px #00000034;
    font-size: 18px;
    line-height: 2;
    text-align: justify;
    font-feature-settings: "palt";
    letter-spacing: 0.02em;
}

#online_adviser .o_ttl .lead div {
    position: relative;
    margin-left: 7.32%;
}

#online_adviser .o_ttl .lead div img{
    position: absolute;
    width: auto;
    height: 59px;
    top: -23px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
}

#online_adviser .o_ttl .lead ul {
    background: #19AEB9;
    opacity: 0.9;
    padding: 50px 42px 30px 42px;
    width: 416px;
}

#online_adviser .o_ttl .lead ul li {
    font-size: 18px;
    line-height: 1;
    margin-bottom: 19px;
    color: #fff;
    list-style-type: square;
    margin-left: 21px;
}

#online_adviser .o_ttl .reserve{
    display: block;
    background: #F06F6C;
    box-shadow: 0px 5px 15px #00000029;
    border-radius: 100vh;
    max-width: 614px;
    width: 100%;
    height: 60px;
    margin: 40px auto 0;
    padding: 20px;
    font-size: 18px;
    text-align: center;
    letter-spacing: 0.18em;
    color: #fff;
    font-weight: 500;
}
#online_adviser .o_ttl .reserve:hover{
    background: hsl(1, 81%, 62%);
}

#online_adviser .o_intro {
    margin: 0 auto;
    position: relative;
}

#online_adviser .o_intro .chach{
    position: absolute;
    top: -38px;
    left: 50%;
    transform: translateX(-50%);
    max-width: 740px;
    width: 95.38%;
    height: auto;
    display: block;
}

#online_adviser .o_intro .chach h3{
    border-radius: 38px 38px 0 0;
    background: #fff;
    padding: 24px 3.65% 0 3.65%;
    font-size: 32px;
    font-weight: bold;
    letter-spacing: 0.076em;
    text-align: center;
    color: #19AEB9;
}

#online_adviser .o_intro .chach h3 > span{
    font-size: 48px;
    vertical-align: -2px;
    font-weight: bold;
}

#online_adviser .o_intro ul,
#online_adviser .o_riyou ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    margin: 0 auto;
}

#online_adviser .o_intro ul li,
#online_adviser .o_riyou ul li{
    /* margin-left: 43px; */
    margin-left: 4.46%;
    width: 100%;
}

#online_adviser .o_intro ul li:first-of-type, 
#online_adviser .o_riyou ul li:first-of-type {
    margin-left: 0;
}

#online_adviser .o_intro ul li div {
    position: relative;
}

#online_adviser .o_intro ul li div p:first-of-type{
    width: 40px;
    height: auto;
    position: absolute;
    top: -28px;
    left: 0;
}

#online_adviser .o_intro ul li div p:nth-of-type(2),
#online_adviser .o_riyou ul li p:nth-of-type(2) {
    font-size: 22px;
    font-weight: bold;
    padding-top: 20px;
    line-height: 1.63;
    text-align: justify;
}

#online_adviser .o_intro ul li div p:last-of-type,
#online_adviser .o_riyou ul li p:last-of-type {
    color: #5A5A5A;
    line-height: 1.63;
    margin-top: 12px;
    text-align: justify;
}

#online_adviser .o_riyou{
    background: #F8F8F8;
}

#online_adviser .o_riyou h3,
#online_adviser .o_price h3{
    display: block;
    margin: 0 auto;
    text-align: center;
    font-size: 32px;
    letter-spacing: 0.08em;
    color: #19AEB9;
    font-weight: bold;
    margin-bottom: 45px;
}

#online_adviser .o_riyou ul li{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
            flex-direction: column;
}
#online_adviser .o_riyou ul li p:last-of-type {
    padding-bottom: 30px;
}

#online_adviser .o_riyou ul li a{
    background: #F8F8F8;
    border-radius: 100vh;
    width: 100%;
    text-align: center;
    display: block;
    height: 50px;    
    padding: 17px;
    border: 1px solid #5A5A5A;
    color: #5A5A5A;
    margin-top: auto;
}

#online_adviser .o_riyou ul li a:hover {
    background: #1cc1ce;
    border: 1px solid #1cc1ce;
    color: #FFFFFF;
}

#online_adviser .o_riyou ul li .green{
    background: #19AEB9;
    border: none;
    color: #FFFFFF;
}

#online_adviser .o_riyou ul li .green:hover {
    background: #1cc1ce;
    border: none;
}

#online_adviser .o_riyou ul li .head{
    display: block;
    max-width: 332px;
    width: 100%;
    height: 55px;
    background: #19AEB9;
    text-align: center;
    color: #fff;
    font-size: 20px;
    font-weight: 400;
    letter-spacing: 0.5em;
    padding: 17px 5.12% 17px 14.16%;
    margin-bottom: 25px;
    position: relative;
}

#online_adviser .o_riyou ul li .head::after{
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: -30px;
    border-style: solid;
    border-width: 27.5px 0 27.5px 30px;
    border-color: transparent transparent transparent #19AEB9;
}

#online_adviser .o_price{
    text-align: center;
}

#online_adviser .o_price h3 {
    margin-bottom: 31px;
}

#online_adviser .o_price p{
    font-size: 28px;
    letter-spacing: 0.05em;
    font-weight: 500;
    line-height: 2;
}

#online_adviser .o_price p span{
    font-weight: 600;
    text-decoration-line: underline;
    text-decoration-color: #19AEB9;
    text-underline-offset: 10px;
    text-decoration-thickness: 4px;
}

#online_adviser .o_reserve{
    background: #F06F6C;
}

#online_adviser .o_reserve:hover{
    background: hsl(1, 81%, 62%);
}

#online_adviser .o_reserve .toform{
    padding-top: 30px;
    padding-bottom: 30px;
}


#online_adviser .o_reserve .toform a{
    max-width: 956px;
    width: 100%;
    height: 90px;
    display: block;
    margin: 0 auto;
    text-align: center;
    border: 2px solid #fff;
    border-radius: 100vh;
    color: #fff;
    letter-spacing: 0.1em;
    font-size: 24px;
    padding: 33px;
    font-weight: 500;
}

#online_adviser .pc{
    display: inline-block;
}

#online_adviser .onlysp{
    display: none;
}


@media only screen and (max-width: 1024px){

    #online_adviser .pc{
        display: none;
    }

    #online_adviser .wrap{
        padding: 80px 30px;
        }
    

    #online_adviser .o_ttl .wrap {
        padding: 120px 30px;
    }

    #online_adviser .o_ttl .lead{
        flex-direction: column;
        margin-top: 40px;
    }

    #online_adviser .o_ttl .lead p{
        max-width: 614px;
        width: 100%;
        margin: 0 auto 60px;
    }

    #online_adviser .o_ttl .lead div{
        margin: 0 auto;
    }

    #online_adviser .o_ttl .lead ul{
        width: 100%;
    }

    #online_adviser .o_riyou ul li .head{
        letter-spacing: 0.2em;
        width: 94%;
    }

    #online_adviser .o_riyou ul li a{
        height: 64px;
        line-height: 1.3;
        padding: 13px;
    }
    #online_adviser .o_riyou ul li .green{
        padding: 24px;
    }

    #online_adviser .o_reserve .toform a{
        font-size: 20px;
        padding: 29px;
        height: auto;
        }
}

@media only screen and (max-width: 700px){
    #online_adviser .o_intro .wrap{
        padding: 100px 30px 80px 30px;
    }

    #online_adviser .o_intro .chach .sp{
        display: block;
    }
}

@media only screen and (max-width: 550px){

    #online_adviser .wrap{
        padding: 60px 20px;
    }

    #online_adviser .o_ttl .wrap,
    #online_adviser .wrap {
        padding: 80px 20px;
    }

    #online_adviser .o_ttl h2 {
        max-width: 258px;
        width: 100%;
        height: auto;
    }
    #online_adviser .o_ttl .lead p{
        font-size: 16px;
    }

    #online_adviser .o_ttl .lead ul{
        padding: 50px 32px 30px 32px;
    }

    #online_adviser .o_ttl .lead ul li{
        line-height: 1.63;
        margin-bottom: 10px;
        text-align: justify;
        font-size: 16px;
    }

    #online_adviser .o_intro .chach h3,
    #online_adviser .o_riyou h3, 
    #online_adviser .o_price h3{
        font-size: 26px;
    }

    #online_adviser .o_intro .chach{
        width: 92.38%;
    }

    #online_adviser .o_intro .chach h3 > span{
        font-size: 39px;
    }

    #online_adviser .o_intro ul, #online_adviser .o_riyou ul{
        flex-direction: column;
    }

    #online_adviser .o_intro ul li, 
    #online_adviser .o_riyou ul li{
        margin-left: 0;
        margin-top: 43px;
        position: relative;
    }

    #online_adviser .o_riyou ul li:nth-of-type(n+2){
        margin-top: 86px;
    }


    #online_adviser .o_intro ul li:first-of-type, 
    #online_adviser .o_riyou ul li:first-of-type{
        margin-top: 0;
    }

    #online_adviser .o_intro ul li div p:nth-of-type(2), #online_adviser .o_riyou ul li p:nth-of-type(2){
        font-size: 20px;
    }

    #online_adviser .o_intro ul li div p:last-of-type, 
    #online_adviser .o_riyou ul li p:last-of-type{
        font-size: 14px;
    }

    #online_adviser .o_riyou ul li .head{
        font-size: 16px;
        height: 51px;
        padding: 17px 5.12% 17px 5.12%;
        width: 100%;
        max-width: 100%;
    }

    #online_adviser .o_riyou ul li .head::after{
        display: none;
    }

    #online_adviser .o_riyou ul li:nth-of-type(-n+2):after{
        content: "";
        position: absolute;
        bottom: -48px;
        left: 50%;
        transform: translateX(-50%);
        border-style: solid;
        border-width: 15px 14px 0 14px;
        border-color: #19AEB9 transparent transparent transparent;
    }

    #online_adviser .o_riyou ul li:last-of-type p:last-of-type{
        padding-bottom: 0;
    }

    #online_adviser .o_riyou ul li a,
    #online_adviser .o_riyou ul li .green{
        height: 50px;
        line-height: 1;
        padding: 17px;
    }

    #online_adviser .o_riyou ul li a .pc{
        display: inline-block;
    }

    #online_adviser .o_riyou ul li a .tab{
        display: none;
    }

    #online_adviser .o_price p{
        font-size: 22px;
    }

    #online_adviser .o_reserve .toform a{
        line-height: 1.5;
        font-size: 18px;
        padding: 20px;
    }

}


/* ---------------------------- ------------------------------- */












@media only screen and (max-width: 1300px){

}

@media only screen and (max-width: 550px){


}
