/*--------------------------------------------------------------------- File Name: style.css ---------------------------------------------------------------------*/


/*--------------------------------------------------------------------- import Fonts ---------------------------------------------------------------------*/

@import url('https://fonts.googleapis.com/css?family=Rajdhani:300,400,500,600,700');
@import url('https://fonts.googleapis.com/css?family=Poppins:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Crimson+Text:ital,wght@0,400;0,600;0,700;1,400;1,600;1,700&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Kaisei+HarunoUmi&family=Kaisei+Opti&family=Noto+Sans+JP:wght@100..900&family=Zen+Maru+Gothic:wght@400;500;700;900&family=Zen+Old+Mincho:wght@400;500;600;700;900&display=swap');

@font-face {
    font-family: "D-DIN-BOLD";
    src: url(../fonts/D-DIN-Bold.ttf);
}

/*****---------------------------------------- 1) font-family: 'Rajdhani', sans-serif;
 2) font-family: 'Poppins', sans-serif;
 ----------------------------------------*****/


/*--------------------------------------------------------------------- import Files ---------------------------------------------------------------------*/

@import url(animate.min.css);
@import url(normalize.css);
@import url(icomoon.css);
@import url(css/font-awesome.min.css);
@import url(meanmenu.css);
@import url(owl.carousel.min.css);
@import url(swiper.min.css);
@import url(slick.css);
@import url(jquery.fancybox.min.css);
@import url(jquery-ui.css);
@import url(nice-select.css);

/*--------------------------------------------------------------------- skeleton ---------------------------------------------------------------------*/

* {
    box-sizing: border-box !important;
    transition: ease all 0.5s;
}

:root {
    --gold: #A68F2F;
    --blue: #0F4871;
    --sky-blue: #39B5CB;
    --yellow: #FFFF3F;
    --default-gray: #323232;
    --pink: #F04F9A;
    --orange: #FD6E0E;
    --green: rgba(32, 194, 175, 1);
}

html {
    scroll-behavior: smooth;
}

body {
    color: black;
    font-size: 14px;
    line-height: 1.80857;
    font-weight: 500;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

a {
    color: #1f1f1f;
    text-decoration: none !important;
    outline: none !important;
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -ms-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    letter-spacing: 0;
    font-weight: normal;
    position: relative;
    padding: 0 0 10px 0;
    font-weight: normal;
    line-height: normal;
    color: #111111;
    margin: 0
}

h1 {
    font-size: 24px
}

h2 {
    font-size: 22px
}

h3 {
    font-size: 18px
}

h4 {
    font-size: 16px
}

h5 {
    font-size: 14px
}

h6 {
    font-size: 13px
}

*,
*::after,
*::before {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
    color: #212121;
    text-decoration: none !important;
    opacity: 1
}

button:focus {
    outline: none;
}

ul,
li,
ol {
    margin: 0px;
    padding: 0px;
    list-style: none;
}

p {
    margin-bottom: 20px;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.4;
}

a {
    color: #222222;
    text-decoration: none;
    outline: none !important;
}

a,
.btn {
    text-decoration: none !important;
    outline: none !important;
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -ms-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
}

img {
    max-width: 100%;
    height: auto;
}

:focus {
    outline: 0;
}

.paddind_bottom_0 {
    padding-bottom: 0 !important;
}

.btn-custom {
    margin-top: 20px;
    background-color: transparent !important;
    border: 2px solid #ddd;
    padding: 12px 40px;
    font-size: 16px;
}

.lead {
    font-size: 18px;
    line-height: 30px;
    color: #767676;
    margin: 0;
    padding: 0;
}

.form-control:focus {
    border-color: #ffffff !important;
    box-shadow: 0 0 0 .2rem rgba(255, 255, 255, .25);
}

.navbar-form input {
    border: none !important;
}

.badge {
    font-weight: 500;
}

blockquote {
    margin: 20px 0 20px;
    padding: 30px;
}

button {
    border: 0;
    margin: 0;
    padding: 0;
    cursor: pointer;
}

.full {
    float: left;
    width: 100%;
}

.layout_padding {
    padding-top: 90px;
    padding-bottom: 0px;
}

.layout-constrained {
    max-width: 1040px;
    margin-left: auto;
    margin-right: auto;
}

.padding_0 {
    padding: 0px;
}

picture img {
    /* width: 100%; */
}

.blue {
    color: var(--blue);
}

.orange {
    color: var(--orange);
}

.green {
    color: var(--green);
}

.ref {
    font-size: 12px;
}

.deco {
    position: relative;
}

.deco:before,
.deco:after {
    content: '';
    position: absolute;
    background-size: 100% 100%;
}

/* header top section start */

.header_top_section {
    width: 100%;
    display: flex;
    height: auto;
    padding: 31px 0 26px;
    background: white;
}

.topbar {
    background: #FFE8B2;
    width: 100%;
    height: 96px;
    position: relative;
}

.topbar img {
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    max-width: 1135px;
}

.achieve {
    background-image: url(../images/bg_achieve.png);
    background-size: cover;
    padding: 30px 0 5px;
}

.achieve p {
    margin: 14px auto 0;
    max-width: 1240px;
    line-height: 2;
}

.header_top_main {
    display: flex;
    max-width: 1388px;
    justify-content: space-between;
    margin: auto;
    align-items: flex-start;
}

.header_top_main .call_text {
    margin-top: 16px;
}

.call_text a {
    color: #ffffff;
}

.call_text a img {
    width: 271px;
}

.contact_btn_wrapper a {
    padding: 15px 21px;
    color: white;
    background: #FD6E0E;
    font-weight: 700;
    font-size: 20px;
    border-radius: 30px;
    display: inline-block;
    line-height: 1.4;
    box-shadow: 5px 4px 0px 0px rgba(255, 186, 140, 1);
}

.contact_btn_wrapper a:after {
    content: '';
    background-image: url(../images/triangle2.png);
    width: 15px;
    height: 20px;
    background-size: 100% 100%;
    display: inline-block;
    margin-left: 5px;
    transform: translateY(3px);
}

.call_text a:hover {
    color: #fda417;
}

.call_text_1 {
    width: 100%;
    float: left;
    font-size: 16px;
    color: #ffffff;
    text-align: right;
}

.call_text_1 a {
    color: #ffffff;
}

.call_text_1 a:hover {
    color: #fda417;
}

.call_text_2 {
    width: 100%;
    float: left;
    font-size: 16px;
    color: #ffffff;
    text-align: right;
    text-align: center;
}

.call_text_2 a {
    color: #ffffff;
}

.call_text_2 a:hover {
    color: #fda417;
}

.padding_left_15 {
    padding-left: 10px;
}


/* header top section end */


/* header section start */

.header_section {
    width: 100%;
    box-sizing: border-box !important;
    position: relative;
}

.header_bg {
    background: #1f1f1f;
}

.bg-light {
    background-color: transparent !important;
}

.logo {
    width: auto;
}

.ml-auto,
.mx-auto {
    margin-left: auto !important;
}

.navbar-expand-lg .navbar-nav .nav-link {
    padding-right: 10px;
    padding-left: 10px;
    font-size: 18px;
    color: #fcfefe;
    text-transform: uppercase;
}

.navbar-light .navbar-nav .nav-link:focus,
.navbar-light .navbar-nav .nav-link:hover {
    color: #fda417;
}

.navbar-light .navbar-nav .active>.nav-link,
.navbar-light .navbar-nav .nav-link.active,
.navbar-light .navbar-nav .nav-link.show,
.navbar-light .navbar-nav .show>.nav-link {
    color: #fda417;
}

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

.login_text ul {
    margin: 0px;
    padding: 0px;
}

.login_text li {
    float: left;
    font-size: 18px;
    color: #ffffff;
    padding: 0px 30px;
}

.login_text li a {
    color: #ffffff;
}

.login_text li a:hover {
    color: #fda417;
}

.quote_btn {
    width: 170px;
    float: left;
}

.quote_btn a {
    width: 100%;
    float: left;
    font-size: 16px;
    text-align: center;
    color: #ffffff;
    background-color: #fda417;
    border-radius: 40px;
    padding: 8px;
    text-transform: uppercase;
}

.quote_btn a:hover {
    background-color: #ffffff;
    color: #252525;
}

.font-bold {
    font-weight: 700;
}

.text-blue {
    color: var(--blue);
}

.text-gold {
    color: var(--gold);
}

.bg_grid {
    background-image: url(../images/grid.png);
    background-repeat: repeat;
}

.d-pc {
    display: block;
}

.d-sp {
    display: none;
}

.sky-blue {
    color: var(--sky-blue) !important;
}

.yellow {
    color: var(--yellow);
}

.bg_yellow {
    background: var(--yellow);
}

.pink {
    color: var(--pink);
}

/* header section end */

.banner_section {
    font-weight: 700;
    padding: 56px 0 76px;
    position: relative;
}

.banner_section .banner_section_inner {
    max-width: 1310px;
    margin: 0 auto;
    justify-content: space-between;
}

.banner_section .banner_section_inner .banner_text {
    width: 46%;
}

.banner_section .banner_section_inner .banner_text span {
    letter-spacing: -.1em;
}

.banner_section .intro_service_title {
    font-size: 21px;
    margin-bottom: 16px;
}

.banner_section .intro_service_text {
    font-size: 68px;
    line-height: 1.26;
    font-weight: 900;
    padding: 0;
    position: relative;
}

.banner_section .intro_service_text small {
    font-size: 40px;
}

.banner_section .btn_top_downlad {
    margin-top: 27px;
}

.banner_section .banner_media {
    width: 100%;
    margin-top: 30px;
}

.btn_top_download {
    margin-top: 27px;
}

.btn_catalog_download a {
    background: rgba(255, 136, 0, 1);
    position: relative;
    display: inline-block;
}

.btn_catalog_download a:before {
    position: absolute;
    content: '';
    background-image: url(../images/book.png);
    background-size: 100% 100%;
    top: 0;
    left: 5%;
    transform: translateY(-20%);
}

.btn_catalog_download a:after {
    position: absolute;
    content: '';
    background-image: url(../images/arrow_down_black.svg);
    background-size: 100% 100%;
    top: 50%;
    right: 8%;
    transform: translateY(-20%);
}

.banner_section .btn_catalog_download a {
    font-size: 30px;
    line-height: 1.2;
    box-shadow: 0px 4px 4px 0px #00000040;
    padding: 37px 114px 37px 146px;
    border-radius: 55px;
}

.banner_section .btn_catalog_download a:before {
    width: 100px;
    height: 128px;
}

.banner_section .btn_catalog_download a:after {
    width: 29px;
    height: 14px;
}

.banner_section .top_merit_wrapper {
    width: 572px;
    justify-content: space-between;
    margin-top: 20px;
}

.banner_section .top_merit_wrapper .top_merit {
    background: url(../images/top_merit_bg.png);
    background-size: 100% 100%;
    color: white;
    text-align: center;
    padding: 33px 0 52px;
    width: 32.5%;
    border-radius: 9px;
}

.banner_section .top_merit_wrapper .top_merit img {
    width: 64px;
}

.banner_section .top_merit_wrapper .top_merit p {
    margin: 10px 0 0;
    font-size: 15px;
    font-weight: bold;
}

.banner_section .top_merit_wrapper .top_merit small {
    font-size: 17px;
}

.footer_fixed {
    background: rgba(32, 194, 175, 1);
    padding: 15px 0;
    position: fixed;
    bottom: 0;
    width: 100%;
    z-index: 99;
}

.footer_fixed .btn_catalog_download {
    margin-left: 26px;
}

.footer_fixed .btn_catalog_download a {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.28;
    padding: 22px 45px 22px 181px;
    border-radius: 39px;
    box-shadow: 0px 4px 4px 0px #00000040;
    color: white;
}

.footer_fixed .btn_catalog_download a:before {
    width: 139px;
    height: 98px;
    transform: rotate(-9.6deg) translateY(-15%);
}

.footer_fixed span {
    color: white;
    font-size: 22px;
    font-weight: 900;
    line-height: 1.3;
    text-indent: .5em;
}

.footer_fixed span .large {
    font-size: 64px;
    margin: 0 10px;
}

.section_title {
    font-size: 38px;
    position: relative;
    text-align: center;
    margin-bottom: 0;
    font-weight: bold
}

.section_subtitle {
    color: white;
    text-align: center;
    font-size: 40px;
    font-weight: 700;
    margin-top: 40px;
}

.problem {
    text-align: center;
    font-weight: 700;
    position: relative;
}

.problem .deco {
    position: absolute;
    width: calc(50% + 622px);
    height: 268px;
    bottom: 0;
    right: 0;
    background: rgba(157, 210, 9, 0.18);
}

.problem .deco:before {
    background-image: url(../images/trouble_bg.png);
    width: 576px;
    height: 376px;
    bottom: 0;
    left: 0;
}

.problem .problem_inner {
    font-weight: 500;
    max-width: 980px;
    margin: 0 auto;
    transform: translateX(32px);
    position: relative;
    z-index: 9;
}

.problem .problem_desc {
    line-height: 1.9;
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 0;
}

.underline-yellow {
    text-decoration: underline;
    text-decoration-thickness: 13px;
    text-decoration-color: rgba(255, 232, 99, 1);
    text-underline-offset: -7px;
}

.problem .trouble_inner {
    margin-top: 42px;
}

.problem .trouble_title {
    font-size: 28px;
    font-weight: bold;
    margin-bottom: 0;
    line-height: 2;
    text-align: left;
}

.problem .trouble_title .underline {
    background: linear-gradient(transparent 70%, #9DD209 0%);
}

.problem .trouble_detail {
    width: 47.4%;
}

.problem .trouble_detail_title {
    font-size: 24px;
    font-weight: bold;
    margin: 0;
    color: var(--green);
}

.problem .trouble_desc {
    text-align: left;
    line-height: 2.5;
    margin: 44px 0 0;
}

.problem .trouble_desc p {
    font-weight: bold;
    margin-bottom: 0;
    line-height: 1.5;
    text-align: center;
}

.problem .trouble_desc p:first-child {
    background-size: 100% 100%;
    padding: 20px 0 17px;
}

.problem .trouble_desc p:last-child {
    background-size: 100% 100%;
    padding: 19px 0 67px;
    margin-top: 7px;
    position: relative;
}

.problem .trouble_detail img {
    margin-top: -35px;
}

.problem .trouble_media {
    width: 36%;
}

.problem .trouble_text {
    width: 60%;
    margin-top: 55px;
}

.recommend {
    text-align: center;
    margin-top: 100px;
}

.recommend .recommend_title {
    margin-bottom: 0;
}

.recommend .recommend_text {
    font-size: 18px;
    line-height: 1.6;
    margin: 15px 0 0;
}

.recommend .recommend_media {
    margin-top: 44px;
}

.recommend .recommend_media img {
    max-width: 736px;
    margin-left: -35px;
}

.solution {
    text-align: center;
    margin: 97px auto 0 0;
}

.solution .solution_logo {
    margin-top: 39px;
}

.solution .solution_logo p {
    margin: 26px 0 0;
    line-height: 1.56;
    font-weight: bold;
}

.trial {
    background-image: url(../images/trial_bg.png);
    background-size: cover;
    margin-top: 20px;
    padding-top: 65px;
}

.trial:before {
    width: 100%;
    max-width: 1206px;
    height: 238px;
    background-image: url(../images/triangle3.png);
    background-size: 100% 100%;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}

.trial .title {
    position: relative;
}

.trial .cloud_system {
    position: relative;
}

.trial .cloud_system img {
    max-width: 1040px;
    margin: 57px auto 0;
}

.trial .free_trial_wrapper {
    margin-top: 24px;
}

.free_trial_wrapper {
    position: relative;
}

.free_trial_wrapper .free_trial {
    padding: 37px 0 70px;
    background: #FFBA8C;
}

.free_trial_wrapper .free_trial:before {
    background-image: url(../images/cloud_character.svg);
    width: 228px;
    height: 200px;
    right: calc(50% - 520px);
    top: 0;
    transform: translate(55%, -54%);
}

.free_trial_wrapper .free_trial img {
    max-width: 837px;
    position: relative;
}

.free_trial_wrapper .free_trial p {
    font-size: 30px;
    font-weight: bold;
    margin-top: 25px;
}

.free_trial_wrapper .contact_btn_wrapper {
    max-width: none;
    margin: 0;
    position: absolute;
    left: 50%;
    bottom: -50px;
    transform: translateX(-50%);
}

.free_trial_wrapper .contact_btn_wrapper a {
    font-size: 36px;
    width: auto;
    padding: 23px 70px 23px 40px;
    border-radius: 48px;
}

.free_trial_wrapper .contact_btn_wrapper a:after {
    content: '';
    background-image: url(../images/triangle4.png);
    width: 22px;
    height: 32px;
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    right: 28px;
}

.free_trial_wrapper.has-character:before {
    background-image: url(../images/trial_character.png);
    width: 404px;
    height: 390px;
    bottom: -55px;
    left: calc(50% - 420px);
    transform: translateX(-65%);
}

.merit {
    margin-top: 150px;
}

.merit .title p {
    font-size: 24px;
}

.merit .title img {
    margin-top: 13px;
}

.merit .merit_detail {
    max-width: 1163px;
    margin: 30px auto 0;
}

.merit .merit_detail p {
    background-size: 100% 100%;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
    padding-top: 46px;
    width: 273px;
    height: 226px;
    margin: 0;
}

.merit .merit_detail p:first-child {
    background-image: url(../images/flemeal_bg1.svg);
    padding-top: 54px;
    margin-right: -10px;
}

.merit .merit_detail p:nth-child(2) {
    width: 303px;
    height: 226px;
    background-image: url(../images/flemeal_bg2.svg);
    margin-right: 8px;
}

.merit .merit_detail p:nth-child(3) {
    width: 303px;
    height: 226px;
    background-image: url(../images/flemeal_bg3.svg);
    margin-right: 11px;
}

.merit .merit_detail p:last-child {
    background-image: url(../images/flemeal_bg4.svg);
}

.multiple {
    text-align: center;
    font-weight: 700;
    position: relative;
}

.multiple .deco {
    position: absolute;
    width: calc(100% - 100px);
    height: 392px;
    bottom: 0;
    right: 0;
    background: #FFE8B2;
}

.multiple .deco:before {
    background-image: url(../images/multiple_bg.png);
    width: 618px;
    height: 462px;
    bottom: 0;
    right: 0;
}

.multiple .multiple_inner {
    font-weight: 500;
    max-width: 1200px;
    margin: 0 43px 0 auto;
    position: relative;
    z-index: 9;
}

.multiple .detail {
    margin-top: 30px;
}

.multiple .multiple_title {
    font-size: 35px;
    font-weight: bold;
    margin-bottom: 0;
    text-align: left;
}

sup {
    font-size: 14px;
    top: -1.5em;
}

.multiple .multiple_title .underline {
    background: linear-gradient(transparent 70%, #FFE8B2 0%);
}

.multiple .multiple_desc {
    text-align: left;
    line-height: 2.25;
    margin: 60px 0 0;
    font-weight: 500;
}

.multiple .multiple_desc p {
    font-weight: bold;
    margin-bottom: 0;
    line-height: 1.5;
    text-align: center;
}

.multiple .trouble_detail img {
    margin-top: -35px;
}

.multiple .multiple_media {
    width: 47%;
}

.multiple .multiple_text {
    width: 60%;
    margin: 0 -7% 0 0;
}

.multiple_ref {
    font-size: 15px;
    max-width: 1082px;
    margin: 0 191px 0 auto;
}

.point {
    margin-top: 92px;
}

.point .inner {
    margin-top: 25px;
}

.point .inner:before {
    background-image: url(../images/point_bg1.png);
    background-size: cover;
    width: 100%;
    height: 760px;
    left: 0;
    top: 15%;
}

.point .inner:after {
    background-image: url(../images/point_bg2.png);
    background-size: cover;
    width: 100%;
    height: 760px;
    left: 0;
    bottom: 0;
}

.point .layout-constrained {
    position: relative;
    z-index: 9;
}

.point .point_num {
    font-size: 64px;
    line-height: 1;
    margin: 0;
    font-family: "Zen Maru Gothic", serif;
}

.point .detail {
    background-image: url(../images/bg_point.png);
    background-size: 100% 100%;
    padding: 0 50px 50px;
}

.point .detail+.detail {
    margin-top: 42px;
}

.point .detail_title {
    font-size: 28px;
    line-height: 1.6;
}

.point .detail_body {
    margin-top: 20px;
}

.point .detail_text {
    width: 51.3%;
}

.point .detail_text p {
    line-height: 1.875;
    margin: 0;
    font-weight: normal;
}

.point .detail_media {
    width: 43%;
}

.point .detail:nth-child(2n) .detail_body {
    flex-direction: row-reverse;
}

.point .detail:nth-child(3):before {
    background-image: url(../images/point3_deco.png);
    width: 209px;
    height: 283px;
    left: -100px;
    bottom: -150px;
}

.point .detail:nth-child(5):before {
    background-image: url(../images/point4_deco.png);
    width: 296px;
    height: 160px;
    right: -75px;
    top: 0;
    transform: translateY(-63%);
}


.point .cloud_system {
    margin: 90px 0 20px;
}

.point .point_flemeal {
    margin: 90px 0 10px;
}

.feature {
    padding: 160px 0 70px;
}

.feature .features1 .inner {
    margin-top: 79px;
}

.feature .features2 {
    margin-top: 79px;
}

.feature .features2 .inner {
    margin-top: 33px;
}

.feature .features .inner .detail {
    width: 31.5%;
    height: 637px;
    background: #FFF9EC;
    padding: 65px 0 0;
    box-shadow: 4px 4px 4px 0px rgb(0 0 0 / 25%);
}

.feature .features2 .inner .detail {
    width: 48.5%;
    height: 487px;
    padding: 31px 28px 0;
}

.feature .features1 .inner .detail:before {
    width: 93px;
    height: 95px;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
}

.feature .features1 .inner .detail:first-child {
    padding-top: 83px;
}

.feature .features1 .inner .detail:first-child:before {
    background-image: url(../images/feature1_icon.svg);
}

.feature .features1 .inner .detail:nth-child(2):before {
    background-image: url(../images/feature2_icon.svg);
}

.feature .features1 .inner .detail:last-child:before {
    background-image: url(../images/feature3_icon.svg);
}

.feature .features .inner .detail .title {
    font-size: 24px;
    color: #5A4842;
    margin: 0;
}

.feature .features1 .inner .detail img {
    margin-top: 19px;
}

.feature .features2 .inner .detail img {
    margin-top: 13px;
}

.feature .features1 .inner .detail:first-child img {
    margin-top: 38px;
}

.feature .features .inner .detail .desc {
    padding: 0 28px;
    margin: 22px 0 0;
    line-height: 2;
    font-size: 15px;
}

.feature .features2 .inner .detail .desc {
    margin-top: 13px;
    padding: 0;
}

.feature .ref {
    margin-top: 25px;
    font-size: 14px;
    line-height: 1.7;
}

.education {
    background: #EDF4CE;
    padding: 52px 0 81px;
}

.education:before {
    background-image: url(../images/education_deco1.png);
    width: 395px;
    height: 376px;
    right: 0;
    top: -38px;
}

.education .inner {
    margin-top: 15px;
}

.education .subtitle {
    font-size: 30px;
    margin: 0;
}

.education .detail {
    margin-top: 15px;
}

.education .edu_media {
    width: 49.8%;
}

.education .edu_media:before {
    background-image: url(../images/education_deco2.png);
    width: 576px;
    height: 376px;
    left: -104px;
    bottom: -121px;
}

.education .edu_media:after {
    background-image: url(../images/education_deco3.png);
    width: 287px;
    height: 290px;
    left: -64px;
    bottom: -64px;
}

.education .edu_media img {
    position: relative;
}

.education .edu_text {
    width: 47%;
}

.education .edu_text p {
    line-height: 2.5;
}

.education .edu_text p .underline {
    background: linear-gradient(transparent 50%, #9DD209 0%);
    font-weight: bold;
}

.education .edu_text .ref {
    margin-top: 39px;
    font-weight: 600;
}

.flow {
    margin-top: 104px;
}

.flow .flow_title p {
    font-size: 24px;
    font-weight: 600;
    margin: 0;
}

.flow .flow_title img {
    margin-top: 14px;
}

.flow .flow_body {
    margin-top: 63px;
}

.flow .detail .step_num {
    font-size: 18px;
    color: #5A4842;
    font-weight: 600;
    margin: 0;
}

.flow .detail .step_title {
    background: #F8A12F;
    margin: 0;
    color: white;
    font-size: 24px;
    font-weight: bold;
    padding: 26px 0 21px;
}

.flow .detail .step_desc {
    font-size: 14px;
    color: #5A4842;
    line-height: 1.7;
    margin-top: 12px;
    padding-right: 30px;
    letter-spacing: 0.05em;
}

.flow .detail:first-child {
    width: 18%;
}

.flow .detail:first-child .step_title {
    padding-left: 39px;
    clip-path: polygon(0% 0%, calc(100% - 30px) 0%, 100% 50%, calc(100% - 30px) 100%, 0% 100%);
}

.flow .detail:nth-child(2) {
    width: 21%;
}

.flow .detail:nth-child(2) .step_title {
    padding-left: 40px;
    clip-path: polygon(calc(100% - 30px) 0%, 100% 50%, calc(100% - 30px) 100%, 0% 100%, 30px 50%, 0% 0%);
}

.flow .detail:nth-child(3) {
    width: 20%;
}

.flow .detail:nth-child(3) .step_num {
    color: #FD6E0E;
}

.flow .detail:nth-child(3) .step_title {
    padding-left: 47px;
    clip-path: polygon(calc(100% - 30px) 0%, 100% 50%, calc(100% - 30px) 100%, 0% 100%, 30px 50%, 0% 0%);
    background: #9DD209;
}

.flow .detail:nth-child(4) {
    width: 21%;
}

.flow .detail:nth-child(4) .step_title {
    padding-left: 75px;
    clip-path: polygon(calc(100% - 30px) 0%, 100% 50%, calc(100% - 30px) 100%, 0% 100%, 30px 50%, 0% 0%);
}

.flow .detail:last-child {
    width: 20%;
}

.flow .detail:last-child .step_num {
    color: #FD6E0E;
}

.flow .detail:last-child .step_title {
    padding-left: 65px;
    clip-path: polygon(calc(100% - 30px) 0%, 100% 50%, calc(100% - 30px) 100%, 0% 100%, 30px 50%, 0% 0%);
    background: #9DD209;
}

.flow .flow_trial {
    background-image: url(../images/flow_trial_bg.png);
    background-size: cover;
    padding-bottom: 20px;
    margin-top: 70px;
}

.flow .flow_trial .title {
    font-size: 28px;
    line-height: 1.5;
    margin: 0;
}

.flow .flow_trial .ref {
    margin: 10px 0 0;
}

.flow .flow_trial img {
    margin-top: 60px;
}

.faq_section {
    margin-top: 154px;
}

.faq_section .faq_wrapper {
    margin-top: 38px;
}

.faq_section .faq+.faq {
    margin-top: 40px;
}

.faq_section .faq .faq_q {
    background: #F8A12F;
    color: white;
    font-size: 18px;
    font-weight: bold;
    position: relative;
    padding: 22px 0 22px 80px;
    margin-bottom: 0;
    cursor: pointer;
}

.faq_section .faq .faq_q:before {
    content: 'Q.';
    font-size: 30px;
    color: #FD6E0E;
    position: absolute;
    top: 50%;
    transform: translateY(-55%);
    left: 3.8%;
}

.faq_section .faq .faq_q:after {
    content: '';
    position: absolute;
    top: 50%;
    right: 32px;
    transform: translateY(-50%);
    width: 25px;
    height: 13px;
    background-image: url(../images/arrow2.svg);
    background-size: 100% 100%;
}

.faq_section .faq.open .faq_q:after {
    transform: translateY(-50%) rotate(180deg);
}

.faq_section .faq .faq_a {
    padding: 18px 0 0 80px;
    line-height: 2;
    position: relative;
    margin-bottom: 0;
    max-height: 0;
    overflow: hidden;
    color: black;
    font-weight: 500;
    font-family: "Inter", sans-serif;
}

.faq_section .section_inner {
    padding: 75px 0 120px;
}

.faq_section .faq .faq_a a {
    text-decoration: underline !important;
}

.faq_section .faq .faq_a p {
    font-weight: 500;
    line-height: 1.8;
}

.faq_section .faq .faq_a:before {
    content: 'A.';
    font-size: 30px;
    font-weight: bold;
    margin-right: 10px;
    color: #F8A12F;
    position: absolute;
    top: 0;
    left: 1.2em;
}

.faq_section .faq_contact {
    text-align: center;
    margin-top: 200px;
}

.faq_section .faq_contact a {
    display: block;
    max-width: 580px;
    color: white;
    font-size: 24px;
    font-weight: bold;
    margin: auto;
    border-radius: 10px;
    background-image: url(../images/bg_btn.png);
    background-size: 100% 100%;
    padding: 20px 0 26px;
}

.faq_section .table_name {
    font-weight: bold;
    margin-bottom: 10px;
}

.faq_section table {
    width: 100%;
    margin-bottom: 20px;
}

.faq_section table thead th:first-child {
    width: 40%;
}

.contact_form {
    background-image: url(../images/contact_bg.png);
    background-size: 100% 100%;
}

::placeholder {
    color: #C2C2C2;
    opacity: 1;
}

::-ms-input-placeholder {
    color: #C2C2C2;
}

.contact_form .contact_inner {
    background: white;
    padding: 82px 102px 92px;
}

.contact_form .form_input {
    width: 69.3%;
}

.contact_form .form_field {
    display: flex;
    border-bottom: 1px solid #D0D0D0;
    padding-bottom: 17px;
    align-items: center;
	/*align-items: flex-start;*/
}

.contact_form .form_field+.form_field {
    margin-top: 21px;
}

.contact_form .form_field p.error{
	color: #ff0000;
	font-size: 12px;
	margin: 5px 0 0;
}
.contact_form .name2 p.error{
	padding-left: 34px;
}

.contact_form .form_title {
    font-size: 32px;
    margin: 0;
}

.contact_form .field_name {
    width: 30.7%;
	/*padding-top: 8px;*/
}

.contact_form.confirm .field_name{
	padding-top: 0;
}

.contact_form .field_name .sublabel {
    float: right;
    margin-right: 16px;
}

.contact_form label {
    margin: 0;
}

.contact_form .form_body {
    margin-top: 58px;
    font-size: 16px;
    color: #1E1E1E;
    letter-spacing: .13em;
}

.contact_form .field_label {
    min-width: 125px;
    margin-right: 12px;
    display: inline-block;
}

.contact_form .field_name .attr_mark {
    color: white;
    font-size: 15px;
    border-radius: 4px;
    padding: 2px 10px 6px;
}

.contact_form .field_name .required {
    background: #FD6E0E;
	vertical-align: top;
}

.contact_form .field_name .any {
    background: #C2C2C2;
	vertical-align: top;
}

.contact_form input {
    background: #F7F7F7;
    border: 1px solid #E7E7E7;
}

.w-full {
    width: 100% !important;
}

.contact_form input[type="text"] {
    padding: 7px 0 7px 19px;
}

.contact_form input[type="radio"] {
    margin-right: 25px;
    -moz-appearance: none;
    appearance: none;
    -webkit-appearance: none;
    border-radius: 100%;
    cursor: pointer;
    width: 16px;
    height: 16px;
    margin-bottom: 0;
    position: relative;
}

.contact_form input[type=radio]:checked:before {
    background-color: #FD6E0E;
    border-radius: 50%;
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
}

.contact_form .radio_wrapper label+label {
    margin-left: 72px;
}

.contact_form .half input[type="text"] {
    width: 241px;
}

.contact_form .name2 .sublabel {
    flex-shrink: 0;
    margin-right: 16px;
}

.contact_form .half:last-child {
    float: right;
}

.contact_form .checkbox {
    cursor: pointer;
    margin: 10px 0 0;
    position: relative;
}

.contact_form .checkbox input {
    border: 1px solid #D0D0D0;
    background: #F7F7F7;
    margin-right: 24px;
    width: 18px;
    height: 18px;
}

.checkmark {
    background-color: #F7F7F7;
    border: 1px solid #D0D0D0;
    border-radius: 5px;
    display: inline-block;
    margin-right: 10px;
    position: relative;
    width: 22px;
    height: 22px;
    transition: none;
}

.checkbox input[type=checkbox] {
    opacity: 0;
    position: absolute;
}

.checkbox input[type=checkbox]:checked+.checkmark {
    background-color: #FD6E0E;
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOSIgdmlld0JveD0iMCAwIDEyIDkiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0xIDMuMjVMNC44NDYxNSA3TDExIDEiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4K);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: contain;
    background-size: 70%;
}

.contact_form {
    padding: 99px 0 124px;
    margin-top: 80px
}

.contact_form .radio_wrapper label {
    cursor: pointer;
}

.contact_form #schedule1 {
    margin-left: 102px;
}

.contact_form #schedule3 {
    margin-left: 30px;
}

.contact_form textarea {
    resize: none;
    width: 100%;
    height: 116px;
    border: 1px solid #E7E7E7;
    background: #F7F7F7;
    padding: 10px 14px;
}

.contact_form .field_desc {
    font-size: 15px;
    font-weight: normal;
    margin-top: 23px;
    color: #595959;
}

.contact_form .field_desc span {
    font-size: 17px;
}

.contact_form .policy_check {
    margin-top: 10px;
	flex-wrap: wrap;
}
.contact_form .policy_check p.error{
	width: 100%;
	text-align: center;
}

.contact_form .policy_check .checkmark {
    margin-right: 20px;
}

.contact_form .btn_wrapper {
	display: flex;
	align-items: center;
	justify-content: center;
	gap:0 20px;
    margin-top: 15px;
}

.contact_form button {
    width: 275px;
    background: var(--orange);
    color: white;
    font-size: 24px;
    padding: 4px 0;
    border-radius: 25px;
    box-shadow: 0 4px 4px rgb(0 0 0 / 25%);
}
.contact_form button.back {
    width: 275px;
    background: #C2C2C2;
    color: white;
    font-size: 24px;
    padding: 4px 0;
    border-radius: 25px;
    box-shadow: 0 4px 4px rgb(0 0 0 / 25%);
}

.contact_form .policy {
    border: none;
}

/* confirm */
.contact_form.confirm{
	position: relative;
	background: #fff;
	margin-top: 0;
}
.contact_form.confirm .contact_inner{
	position: relative;
	background: #fff;
	z-index: 1;
}
.contact_form.confirm::before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 335px;
	height: 305px;
	background-image: url(../images/contact_bg.png);
    background-size: 500% 500%;
	clip-path: polygon(0 0, 0% 100%, 100% 0);
}
.contact_form.confirm::after{
	content: '';
	position: absolute;
	bottom: 0;
	right: 0;
	width: 335px;
	height: 305px;
	background-image: url(../images/contact_bg.png);
    background-size: 500% 500%;
	clip-path: polygon(100% 100%, 0% 100%, 100% 0);
}

.contact_form.confirm .result{
	margin: 0;
	word-wrap: break-word;
}
.contact_form.confirm label.half{
	width: 45%;
}
.contact_form .form_input.sp-column{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
.contact_form.confirm .form_input.sp-column{
	align-items: center;
}
.contact_form.confirm .half:last-child{
	float: none;
	display: flex;
	align-items: center;
	width: 50%;
}
.contact_form.confirm .half.kana{
	width: 53%;
}
.contact_form.confirm .field_name{
	min-height: 30px;
}

/* thanks */

.thanks{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100vh;
	background: #fff;
	margin-top: 0;
}
.thanks__inner{
	width: 100%;
	background: #fff;
}
.thanks__logo{
	width: 80%;
	max-width: 408px;
	margin: 0 auto 48px;
}
.thanks::before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 335px;
	height: 305px;
	background-image: url(../images/contact_bg.png);
    background-size: 500% 500%;
	clip-path: polygon(0 0, 0% 100%, 100% 0);
}
.thanks::after{
	content: '';
	position: absolute;
	bottom: 0;
	right: 0;
	width: 335px;
	height: 305px;
	background-image: url(../images/contact_bg.png);
    background-size: 500% 500%;
	clip-path: polygon(100% 100%, 0% 100%, 100% 0);
}
.thanks__txt{
	text-align: center;
	font-size: 20px;
	text-align: center;
	margin: 0;
}
.thanks__btn{
	font-size: 24px;
	font-weight: 700;
	text-align: center;
	margin: 50px 0 0;
}
.thanks__btn a{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 275px;
	height: 51px;
	color: #FD6E0E;
	border: 2px solid #FD6E0E;
	background: #fff;
	box-shadow: 0 4px 4px rgba(0,0,0,0.25);
	border-radius: 3em;
	transition: 0.3s;
	margin: 0 auto;
}
.thanks__btn a:hover{
	background: #FD6E0E;
	color: #fff;
}
.thanks .recommend_bottom {
    margin: 70px auto 0;
    max-width: 370px;
}
.thanks .recommend_bottom p {
    font-size: 20px;
    color: white;
	text-align: center;
    background: var(--orange);
    padding: 7px 0;
	margin: 0;
}
.thanks .recommend_bottom img {
    margin-top: 20px;
}
.thanks .recommend_bottom .recommend_logo {
    max-width: 370px;
}

.recommend .recommend_logo {
    margin-top: 28px;
}

.recommend .recommend_logo img {
    width: 205px;
}

.recommend .inner {
    margin-top: 80px;
}

.recommend .detail {
    width: 29.3%;
}

.recommend .detail img {
    height: 69px;
}

.recommend .detail p {
    font-size: 15px;
    line-height: 2;
    font-weight: 400;
    text-align: left;
    margin: 18px 0 0;
    min-height: 240px;
}

.recommend .detail a {
    color: white;
    background: #F8A12F;
    font-size: 18px;
    font-weight: bold;
    margin-top: 13px;
    display: block;
    padding: 7px 0;
    border-radius: 22px;
    box-shadow: 3px 4px 0px 0px #FFE8B2;
}

.recommend .detail a:after {
    background-image: url(../images/arrow_right.svg);
    width: 21px;
    height: 6.5px;
    top: 50%;
    right: 24px;
    transform: translateY(-50%);
}

.recommend .recommend_bottom {
    margin: 120px auto 0;
    max-width: 553px;
}

.recommend .recommend_bottom p {
    font-size: 28px;
    color: white;
    background: var(--orange);
    padding: 7px 0;
}

.recommend .recommend_bottom img {
    margin-top: 20px;
}

.recommend .recommend_bottom .recommend_logo {
    margin-top: 75px;
    max-width: 447px;
}

.case {
    overflow: hidden;
    position: relative;
}

.case .section_title {
    color: white;
}

.case .swiper-scrollbar {
    background-color: #9A9A9A;
    height: 13px !important;
    border-radius: 0;
    width: 1048px;
    left: 50% !important;
    transform: translateX(-50%) !important;
    bottom: -85px !important;
}

.case .swiper-scrollbar-drag {
    background-color: #D9D9D9;
    border-radius: 0;
    width: 524px;
}

.case .case_inner {
    padding: 79px 0 50px;
}

.case .carousel {
    margin-top: 36px;
}

.case .case_detail {
    max-width: 1040px;
    min-height: 520px;
    background: #FFF9EC;
    text-align: center;
    box-shadow: 0px 6px 4px rgb(0 0 0 / 25%);
}

.case .case_detail_head {
    background: #F8A12F;
    color: white;
    padding: 36px 0 15px;
}

.case .case_detail_head p {
    font-size: 36px;
    margin: 0;
    font-weight: bold;
}

.case .case_detail_head span {
    background: #FD6E0E;
}

.case .case_detail .case_detail_media img {
    width: auto;
    height: 360px;
    margin-left: -20px;
}

.case .case_detail2 {
    padding-top: 26px;
}

.case .case_detail .case_detail_text {
    padding: 25px 40px 0;
}

.case .case_detail .case_detail_title {
    width: 22%;
}

.case .case_detail .case_detail_title p {
    font-size: 20px;
    font-weight: bold;
    color: #5A4842;
    margin: 24px 0 0;
}

.case .case_detail .case_detail_desc {
    line-height: 1.7;
    text-align: left;
    width: 74.5%;
}

.case .case_detail .case_detail_desc p {
    line-height: 1.75;
}

.case .case_detail .case_detail_desc .small {
    font-size: 14px;
    line-height: 1.5;
    margin-bottom: 1em;
}

.case .case_detail .case_detail_desc .subtitle {
    font-size: 20px;
    line-height: 1.5;
    margin-bottom: 8px;
    background-image: linear-gradient(to right, #F8A12F 50%, transparent 0%);
    background-position: bottom;
    background-size: 8px 1px;
    background-repeat: repeat-x;
    font-weight: bold;
}

.case .case_detail .case_detail_desc span {
    color: #FD6E0E;
    margin-right: 5px;
}

.case .case_detail .case_detail_table {
    text-align: center;
    table-layout: fixed;
    width: 100%;
    margin-top: 32px;
}

.case .case_detail .case_detail_table {
    border-collapse: separate;
    border-spacing: 0 19px;
    margin-top: -8.5px;
}

.case .case_detail .case_detail_table td {
    padding: 6px 0;
    position: relative;
    width: 14.2%;
}

.case .case_detail .case_detail_table tr {
    position: relative;
}

.case .case_detail .case_detail_table tr:first-child::after {
    content: '';
    position: absolute;
    bottom: -31px;
    left: 50%;
    transform: translateX(-50%);
    width: 0px;
    height: 0px;
    border-style: solid;
    border-width: 25px 26px 0 26px;
    border-color: #FF4532 transparent transparent transparent;
    z-index: 9;
}

.case .case_detail .case_detail_table tr:first-child td {
    border: 1px solid var(--sky-blue);
}

.case .case_detail .case_detail_table tr:last-child td {
    border: 1px solid #D2C797;
}

.case .case_detail .case_detail_table tr:first-child td:first-child {
    background: var(--sky-blue);
}

.case .case_detail .case_detail_table tr:last-child td:first-child {
    background: #D2C797;
}

.case .case_detail .case_detail_table tr .large {
    font-size: 18px;
}

.case .case_detail .case_detail_table td.red {
    color: #F54646;
}

.swiper-pagination {
    bottom: -50px !important;
}

.swiper-pagination-bullet {
    width: 17px;
    height: 17px;
    background: #FFE8B2 !important;
    opacity: 1;
}

.swiper-pagination-bullet-active {
    background: #FD6E0E !important;
}

.concept {
    background: linear-gradient(180deg, rgba(240, 255, 253, 1) 0%, rgba(255, 255, 255, 1) 83%);
    padding: 109px 0 0;
    margin-top: 138px;
}

.concept .concept_inner {
    max-width: 1010px;
    margin: 45px auto 0;
    align-items: flex-start;
}

.concept .concept_text {
    width: 52%;
}

.concept img {
    width: 45%;
    margin-top: -20px;
}

.concept .concept_title {
    position: relative;
}

.concept .concept_title span {
    background: var(--green);
    color: white;
    font-size: 17px;
    font-weight: bold;
    padding: 11px 0 11px 11px;
    margin: 0;
    position: relative;
    display: block;
}

.concept .concept_title:before {
    content: '';
    width: 263px;
    height: 263px;
    background-image: url(../images/concept_deco.png);
    background-size: 100% 100%;
    position: absolute;
    bottom: -30px;
    left: -130px;
}

.concept .concept_desc {
    margin: 21px 0 0;
    line-height: 1.75;
}

.standard {
    position: relative;
    margin: 80px auto 0;
}

.standard:before {
    content: '';
    width: 254px;
    height: 258px;
    background-image: url(../images/standard_deco.png);
    background-size: 100% 100%;
    position: absolute;
    right: 0;
    top: 0;
    transform: translateY(-40%);
}

.standard .standard_inner {
    max-width: 1060px;
    margin: auto;
    text-align: center;
}

.standard .standard_desc {
    margin: 35px auto 0;
    line-height: 1.75;
}

.standard img {
    margin-top: 38px;
}

.step {
    margin-top: 30px;
    text-align: center;
    position: relative;
}

.step:before {
    content: '';
    position: absolute;
    left: 0;
    top: -121px;
    width: 354px;
    height: 287px;
    background-image: url(../images/step_deco1.png);
    background-size: 100% 100%;
}

.step:after {
    content: '';
    position: absolute;
    bottom: -204px;
    right: 40px;
    width: 312px;
    height: 292px;
    background-image: url(../images/step_deco2.png);
    background-size: 100% 100%;
}

.step .step_inner {
    padding: 67px 0 115px;
    background-image: url(../images/bg_step.png);
    background-repeat: repeat;
    position: relative;
}

.step img {
    max-width: 960px;
    margin: 70px auto 0;
}

.step .step_desc {
    margin-top: 20px;
}

.plan {
    text-align: center;
    margin: 98px 0 0;
}

.plan .plan_desc {
    margin: 34px 0 0;
}

.plan .plan_media {
    margin-top: 37px;
}

.plan .plan_logo {
    text-align: center;
    margin-top: 38px;
}

.plan .plan_standard {
    margin-top: 48px;
    background-image: url(../images/bg_plan.png);
    background-size: 100% 100%;
    padding: 51px 0 34px;
}

.plan .standard_title {
    font-size: 26px;
    line-height: 1;
    font-weight: bold;
}

.plan .standard_price {
    font-size: 26px;
    line-height: 1;
    font-weight: bold;
}

.plan .standard_price span {
    font-size: 52px;
    margin-left: 21px;
}

.plan_ref {
    font-size: 15px;
    text-align: center;
    margin: 22px 0 0;
    line-height: 1.86;
}

.data_download {
    background: #F5F6F0;
    margin: 100px 0 0;
    padding: 120px 0 300px;
}

.data_download .inner {
    max-width: 1000px;
    margin: 48px auto 0;
}

.data_download .download_detail {
    width: 49%;
    border-radius: 10px;
    box-shadow: 0px 0px 20px rgb(0 0 0 / 10%);
    text-align: center;
    overflow: hidden;
    padding-bottom: 58px;
    background: white;
}

.data_download .download_title {
    color: white;
    margin: 0;
    background: #20C2AF;
    font-size: 20px;
    font-weight: bold;
    padding: 25px 0;
}

.data_download .download_detail:first-child img {
    max-width: 350px;
}

.data_download .download_detail .download_media {
    min-height: 270px;
    margin-top: 17px;
}

.data_download .download_detail:last-child img {
    max-width: 191px;
}

.data_download .download_detail a {
    margin: 30px auto 0;
    color: white !important;
    font-size: 19px;
    font-weight: bold;
    background: #FF8800;
    box-shadow: 0px 4px 4px rgb(0 0 0 / 15%);
    padding: 18px 0;
    border-radius: 35px;
    display: block;
    max-width: 330px;
}

.consult {
    background-image: url(../images/consult_bg.jpg);
    background-size: 100% 100%;
    padding-bottom: 120px;
}

.consult .consult_inner {
    max-width: 930px;
    margin: 0 auto;
    border-radius: 20px;
    border: 5px solid #F05D4F;
    padding: 48px 48px 53px 53px;
    background: white;
    transform: translateY(-160px);
}

.consult .consult_text {
    width: 64%;
}

.consult img {
    width: 36%;
}

.consult .consult_title {
    font-size: 34px;
    font-weight: bold;
    line-height: 1.5;
}

.consult .consult_subtitle {
    font-size: 23px;
    font-weight: bold;
}

.consult .pink {
    color: #F05D4F;
}

.consult .consult_desc {
    line-height: 1.8;
    font-weight: 400;
    margin: 0;
}

.contact_section .online_interview {
    background: white;
    border: 5px solid var(--pink);
    border-radius: 20px;
    padding: 31px 65px 20px 57px;
    margin-top: 38px;
}

.contact_section .online_interview_title {
    font-size: 26px;
    font-weight: bold;
    line-height: 1.5;
}

.contact_section .online_interview_desc {
    line-height: 1.875;
}

.contact_section .online_interview img {
    width: 42%;
}

.contact_section .online_interview .online_interview_text {
    width: 58%;
}

.contact_section_bottom {
    background-image: url(../images/bg_contact2.png);
    padding: 615px 0 237px;
    margin-top: -180px;
    position: relative;
}

.contact_section_bottom:after {
    content: '';
    width: 100%;
    height: 345px;
    position: absolute;
    left: 0;
    bottom: 0;
    background-image: url(../images/bg_problem.png);
    background-repeat: repeat-x;
    transform: rotate(180deg);
}

.btn_main {
    width: 100%;
    display: flex;
}

.started_text {
    width: 180px;
    margin-right: 20px;
    margin-top: 30px;
}

.started_text a {
    width: 100%;
    float: left;
    padding: 10px 10px;
    color: #ffffff;
    background-color: #0b0b0b;
    text-align: center;
    font-size: 16px;
    border-radius: 40px;
}

.started_text a:hover {
    color: #ffffff;
    background-color: #fda417;
}

.started_text.active a {
    color: #ffffff;
    background-color: #fda417;
}

/* banner section end */

.image {
    display: block;
    width: 100%;
    height: auto;
    min-height: 310px;
}

.overlay {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%;
    width: 100%;
    opacity: 0;
    transition: .5s ease;
    background-color: rgb(45, 45, 45, 0.5);
    margin: 0 auto;
}

@media (min-width: 1500px) {
    .container {
        max-width: 1440px;
    }
}

.container_main {
    position: relative;
}

.container_main:hover .overlay {
    opacity: 1;
}

.text {
    color: white;
    font-size: 20px;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 80%;
}

.some_text {
    color: #fefefd;
    text-align: center;
    font-size: 20px;
    padding-bottom: 0;
    font-weight: bold;
}

i.fa.fa-link {
    background: #0fbdd7;
    padding: 20px 20px 18px 20px;
    border-radius: 100%;
}

.padding_right0 {
    padding-right: 0px;
}

.development_box {
    width: 100%;
    background: red;
    height: auto;
    background-size: cover;
}

.work_text {
    width: 100%;
    font-size: 20px;
    color: #ffffff;
    font-weight: bold;
}

.hover_main {
    width: 100%;
    float: left;
    transition: .3s all;
}

.hover_main:hover {
    transform: translateY(30px);
}

.padding_left_15 {
    padding-right: 0px;
}


/* contact section end */


/* footer section start */

.footer_section {
    width: 100%;
    float: left;
    background-color: #1f1f1f;
    height: auto;
    padding-bottom: 50px;
}

.footer_section_2 {
    width: 100%;
    float: left;
}

.useful_text {
    width: 100%;
    font-size: 24px;
    color: #ffffff;
    font-weight: bold;
    text-transform: uppercase;
    font-family: 'Poppins', sans-serif;
}

.lorem_text {
    width: 100%;
    float: left;
    font-size: 16px;
    color: #ffffff;
    margin: 0px;
    font-family: 'Poppins', sans-serif;
}

.location_text {
    width: 100%;
    margin: 0 auto;
    text-align: center;
}

.location_text ul {
    margin: 0px;
    padding: 0px;
    display: inline-block;
    text-align: center;
}

.location_text li {
    float: left;
    font-size: 16px;
    color: #ffffff;
    padding: 0px 120px 30px 120px;
    line-height: 30px;
    font-family: 'Poppins', sans-serif;
}

.location_text li a {
    color: #ffffff;
}

.location_text li a:hover {
    color: #fda417;
}

.location_text li.active a {
    color: #fda417;
}

.padding_15 {
    font-size: 30px;
}

.social_icon {
    width: 100%;
    display: inline-block;
    text-align: center;
    margin-top: 40px;
}

.social_icon ul {
    margin: 0px;
    padding: 0px;
    display: inline-block;
}

.social_icon li {
    float: left;
}

.social_icon li a {
    float: left;
    padding: 5px 15px;
    background-color: #ffffff;
    color: #000;
    border-radius: 100%;
    font-size: 22px;
    margin-right: 5px;
    width: 50px;
    text-align: center;
    margin-top: 10px;
}

.social_icon li a:hover {
    background-color: #fda417;
    color: #ffffff;
}

.update_mail {
    color: #918f8f;
    width: 100%;
    height: 55px;
    font-size: 18px;
    padding: 10px 20px 0px 20px;
    background-color: #ffffff;
    margin: 0 auto;
    justify-content: center;
    align-items: center;
    display: block;
    margin-top: 20px;
    border-radius: 40px;
}

.subscribe_bt {
    width: 170px;
    float: left;
    padding-top: 30px;
}

.subscribe_bt a {
    width: 100%;
    float: left;
    color: #ffffff;
    font-size: 16px;
    padding: 10px 0px;
    background-color: #fda417;
    text-transform: uppercase;
    text-align: center;
    border-radius: 40px;
}

.subscribe_bt a:hover {
    color: #252525;
    background-color: #ffffff;
}

.footer_menu_main {
    width: 100%;
    float: left;
}

.footer_menu {
    width: 77%;
    display: flex;
    flex-wrap: wrap;
}

.footer_menu ul {
    margin: 0px;
    padding: 0px;
    display: flex;
    flex-wrap: wrap;
}

.footer_menu li {
    font-size: 16px;
    color: #ffffff;
    padding: 5px 0px 0px 0px;
    flex-basis: 50%;
}

.footer_menu li a {
    color: #ffffff;
}

.footer_menu li a:hover {
    color: #fda417;
}

.footer_menu li.active a {
    color: #f9bc19;
}


/* footer section end */


/* copyright section start */

.copyright {
    width: 100%;
    background: #FFE8B2;
}

.copyright .addr {
    line-height: 2.25;
    text-align: center;
    margin: 0;
    color: #5A4842;
    padding: 14px 0;
    margin-top: 49px;
}

.copyright_text {
    width: 100%;
    text-align: center;
    font-size: 14px;
    line-height: 2.57;
    margin: 15px 0 0;
}

.copyright_text a {
    color: #252525;
}

.copyright_text a:hover {
    color: #0fbdd7;
}

.d-pc-none {
    display: none !important;
}

.d-sp-inline-block {
    display: none;
}

@media(max-width: 767px) {
    .d-sp-none {
        display: none !important;
    }

    .d-pc-none {
        display: block !important;
    }

    .d-sp-inline-block {
        display: inline-block;
    }
}

.slick-arrow {
    --position: 505px;
    --radius: 15px;
    font-size: 0;
    position: absolute;
    top: 50%;
    width: 45px;
    height: 55px;
    margin: 0;
    filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, .3));
}

.case .swiper-button-next {
    transform: translateY(-50%);
    left: calc(50% + var(--position));
}

.case .swiper-button-prev {
    transform: translateY(-50%);
    right: calc(50% + var(--position));
    left: auto;
}