html,
body {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 15px;
    overflow-x: hidden;
}
body{ 
    padding-top: 60px; 
}
.anchor {
	padding-top: 60px;
	margin-top: -60px;
}
a {
    text-decoration: none;
}

nav.navbar {
    box-shadow: 0px 0px 5px 0px #8f8f8f;
    padding: 18px 0;
    background: #ffffff;
}

/* Remove border from toggler */
.navbar-toggler {
    border: 0 !important;
}

.navbar-toggler:focus,
.navbar-toggler:active,
.navbar-toggler-icon:focus {
    outline: none !important;
    box-shadow: none !important;
    border: 0 !important;
}

/* Lines of the Toggler */
.toggler-icon {
    width: 30px;
    height: 3px;
    background-color: #38a6d8;
    display: block;
    transition: all 0.2s;
}

/* Adds Space between the lines */
.middle-bar {
    margin: 5px auto;
}

/* State when navbar is opened (START) */
.navbar-toggler .top-bar {
    transform: rotate(45deg);
    transform-origin: 10% 10%;
}

.navbar-toggler .middle-bar {
    opacity: 0;
    filter: alpha(opacity=0);
}

.navbar-toggler .bottom-bar {
    transform: rotate(-45deg);
    transform-origin: 10% 90%;
}

/* State when navbar is opened (END) */

/* State when navbar is collapsed (START) */
.navbar-toggler.collapsed .top-bar {
    transform: rotate(0);
}

.navbar-toggler.collapsed .middle-bar {
    opacity: 1;
    filter: alpha(opacity=100);
}

.navbar-toggler.collapsed .bottom-bar {
    transform: rotate(0);
}

/* State when navbar is collapsed (END) */

/* Color of Toggler when collapsed */
.navbar-toggler.collapsed .toggler-icon {
    background-color: #777777;
}

.navbar-collapse {
    background: #040404db;
    z-index: 10;
    display: block;
    position: absolute;
    max-width: 720px;
    margin: 0 auto;
    top: 64PX;
    left: 0;
    right: 0;
}

/* section#page_outer,section#top {
    padding-top: 60px;
} */
h1,h2,h3,h4,h5,h6,p {
    padding: 0;
    margin: 0;
}

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

.picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.txt_explain {
    line-height: 1.8;
}

h1.site-header-logo span {
    font-size: 15px;
    display: inline-block;
    padding-left: 6px;
    color: #303030;;
}

h1.site-header-logo {
    display: flex;
    align-items: flex-start;
    justify-content: center;
}

h1 img {
    max-width: 40px;
    padding-bottom: 4px;
}
button.navbar-toggler.collapsed {
    padding: 0;
}
a.navbar-brand {
    padding: 0 !important;
    margin: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
}

ul.navbar-nav li.nav-item {}

ul.navbar-nav a.nav-link {
    color: #ffffff;
    padding: 20px;
    border-bottom: 1px solid #686868;
}

div#top_fv {
    background: #6dc4cf;
    color: #ffffff;
    text-align: center;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 400;
    font-style: normal;
}

div#top_fv_cont {
    position: relative;
}

div#top_fv_ttl {
    padding: 24px 0 10px;
}

div#top_fv_ttl p {
    color: #fffdf2;
    font-size: 20px;
    letter-spacing: 4px;
    padding-bottom: 16px;
}
p#top_fv_point {
    padding-bottom: 4px !important;
}

div#top_fv_ttl span {
    color: #ffffff;
    display: block;
    font-size: 26px;
    line-height: 1.4;
    margin-top: 6px;
}

div#top_fv_photo p {
    font-size: 17px;
    padding-left: 6px;
}

div#top_fv_photo img {
    max-width: 88px;
}

div#top_fv_photo {
    display: flex;
    margin-top: 12px;
    justify-content: center;
}

div#top_lead {
    position: relative;
    background: #fdfaf7 url(../img/bg_top_lead_sp.png) no-repeat top center;
    background-size: cover;
    text-align: center;
    color: #ffffff;
    padding: 40px 0;
}

p#top_lead_ttl {
    font-size: 16px;
    line-height: 1.6;
}

p#top_lead_ttl span {
    line-height: 2.0;
}

p#top_lead_ttl strong {
    font-size: 24px;
    line-height: 28px;
}

div#top_lead h2 {
    background: rgba(0, 168, 190, 0.76);
    margin: 12px auto;
    padding: 6px 0;
    font-size: 16px;
    max-width: 300px;
}

div#top_lead h2 span {
    display: block;
    font-size: 22px;
    padding-top: 2px;
    letter-spacing: 1px;
}

.top_point_box {
    padding: 40px 0 0 0;
}

.top_point_img {
    background: #eff7ea;
    padding: 10px;
}

.top_point_txt h2 {
    color: #34A8B6;
    font-weight: bold;
    text-align: center;
    font-size: 20px;
    line-height: 1.4;
    margin-bottom: 16px;
}

.top_point_txt h2 span {
    display: block;
    margin-top: 4px;
}

.top_point_txt p {
    line-height: 1.6;
    margin-bottom: 16px;
}

div#top_profile {
    padding: 40px 0;
}

div#top_profile_lead p {
    text-align: center;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 700;
    font-style: normal;
    letter-spacing: 1px;
    line-height: 1.6;
}

div#top_profile_lead ul {
    margin: 28px auto 32px;
    list-style: none;
    padding-left: 0;
    max-width: 340px;
}

div#top_profile_lead ul li {
    position: relative;
    text-align: left;
    font-weight: bold;
    letter-spacing: 1px;
    line-height: 1.2;
    background: linear-gradient(transparent 60%, #FFFCE8 60%);
    padding-left: 24px;
    font-size: 15px;
    margin-bottom: 16px;
}

div#top_profile_lead ul li::before {
    position: absolute;
    content: "";
    display: inline-block;
    top: 0;
    left: 0;
    right: 0;
    width: 18px;
    height: 18px;
    background: url(../img/ico_circle.png);
    background-repeat: no-repeat;
    background-size: contain;
}

div#top_profile h2 {
    text-align: center;
    font-size: 16px;
    line-height: 1.6;
}

div#top_profile h2 span {
    display: block;
    font-weight: bold;
    letter-spacing: 2px;
    font-size: 22px;
    margin-top: 3px;
}

div#top_profile h2 sup {
    top: 0;
    font-size: 14px;
    vertical-align: middle;
    line-height: 1.0;
}

div#top_profile_award p {
    margin: 20px 10px;
    line-height: 1.8;
}

.cta_cont {
    background: #68BBC5;
    text-align: center;
}

.cta_cont.container_fluid {
    padding: 40px 0;
}

#top_flow_cont #top_flow_cta {
    padding: 0;
}

.cta_lead h2 {
    color: #ffffff;
    letter-spacing: 1px;
    font-size: 20px;
    line-height: 1.4;
}

.cta_lead h2 span {
    display: block;
    font-size: 32px;
    letter-spacing: 2px;
    margin: 4px auto 8px;
}

.cta_inner {
    background: #ffffff;
    border-radius: 16px;
    margin: 28px auto;
    max-width: 1000px;
    padding: 36px 60px;
}

.cta_inner h3 {
    font-weight: bold;
    font-size: 28px;
    margin: 0 0 18px 0;
}

.cta_inner h3 span {
    display: block;
    color: #2C9ECE;
    font-size: 20px;
}

.cta_tel {
    line-height: 1.3;
    text-align: left;
}

.cta_tel_main {
    margin-bottom: 12px;
    line-height: 1.6;
}

.cta_tel_main .cta_tel_label {
    display: inline-block;
    background-color: #2C9ECE;
    color: #ffffff;
    font-size: 12px;
    font-weight: bold;
    padding: 4px 8px;
    border-radius: 4px;
    margin-right: 8px;
    margin-bottom: 8px;
    vertical-align: middle;
    line-height: 1.2;
    width: 68px;
    text-align: center;
}

.cta_tel_main a {
    font-size: 36px;
    font-weight: bold;
    color: #2C9ECE;
    position: relative;
    padding-left: 35px;
    display: inline-block;
    vertical-align: middle;
    line-height: 1;
}

.cta_tel_main a::before {
    position: absolute;
    content: "";
    display: inline-block;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    background: url(../img/ico_tel.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}

.cta_tel_sub {
    font-size: 10px;
    margin: 0 0 12px 0;
    line-height: 1.4;
}

.cta_tel_sub .cta_tel_label {
    display: inline-block;
    background-color: #999;
    color: #ffffff;
    font-size: 12px;
    font-weight: bold;
    padding: 4px 8px;
    border-radius: 4px;
    margin-right: 8px;
    margin-bottom: 8px;
    vertical-align: middle;
    line-height: 1.2;
    width: 68px;
    text-align: center;
}

.cta_tel_sub a {
    font-size: 20px;
    color: #666;
    position: relative;
    padding-left: 35px;
    display: inline-block;
    vertical-align: middle;
    line-height: 1;
}

.cta_tel_sub a::before {
    position: absolute;
    content: "";
    display: inline-block;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    background: url(../img/ico_tel.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    opacity: 0.6;
    filter: grayscale(100%);
}

.cta_tel a {
    font-size: 32px;
    color: inherit;
    position: relative;
    padding-left: 30px;
}

.cta_tel a::before {
    position: absolute;
    content: "";
    display: inline-block;
    top: 10px;
    left: 0;
    right: 0;
    width: 28px;
    height: 100%;
    background: url(../img/ico_tel.png);
    background-repeat: no-repeat;
    background-size: contain;
}
div.cta_mail {
    padding: 0 4px;
}

/* #cta_outer内のみのスタイル */
#cta_outer .cta_tel_main a {
    font-size: 42px;
}

#cta_outer .cta_tel_sub a {
    font-size: 24px;
}

#cta_outer .cta_tel_main a::before,
#cta_outer .cta_tel_sub a::before {
    width: 32px;
    height: 32px;
}

.cta_mail a {
    background: #2EA6D8;
    border-radius: 50px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 300px;
    padding: 18px 32px 20px;
    color: #ffffff;
    transition: 0.3s ease-in-out;
    font-weight: 500;
    font-size: 16px;
    letter-spacing: 1px;
}

.cta_mail a:hover {
    background: #3ca7b4;
}

.cta_mail a span {
    position: relative;
    padding-left: 36px;
}

.cta_mail a span::before {
    position: absolute;
    content: "";
    display: inline-block;
    top: 4px;
    left: 0;
    right: 0;
    width: 26px;
    height: 24px;
    background: url(../img/ico_mail.png);
    background-repeat: no-repeat;
    background-size: contain;
}
span.cta_mail_txt {
    display: block;
    font-size: 15px;
    padding: 8px 4px 2px;
    text-align: center;
}

.cta_txt p {
    color: #ffffff;
    text-align: center;
    line-height: 1.6;
}

div#top_works {
    background: #F0FAFB;
}

.top_works_btn a {
    background: #2EA6D8;
    border-radius: 50px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 20px auto 40px;
    max-width: 300px;
    padding: 18px 32px;
    color: #ffffff;
    transition: 0.3s ease-in-out;
    font-weight: 500;
}

div#top_works_txt {
    text-align: center;
    padding-top: 20px;
}

div#top_works_ttl {
    padding: 40px 0 20px;
}

div.page_ttl h2 {
    text-align: center;
    color: #0F95CC;
}
section#qa_cont_outer {
    padding-bottom: 24px;
}
div#qa_cont h2 {
    text-align: center;
    color: #0F95CC;
    margin: 40px auto 26px;
}

div#qa_cont_btn a {
    background: #2EA6D8;
    border-radius: 50px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 20px auto 56px;
    max-width: 300px;
    padding: 18px 32px;
    color: #ffffff;
    transition: 0.3s ease-in-out;
    font-weight: 500;
}

div#qa_list dt {
    position: relative;
    padding-left: 30px;
    margin-bottom: 16px;
}

div#qa_list dd {
    position: relative;
    padding-left: 30px;
    margin-bottom: 32px;
}

div#qa_list dt::before {
    position: absolute;
    content: "";
    display: inline-block;
    top: 2px;
    left: 0;
    right: 0;
    width: 24px;
    height: 100%;
    background: url(../img/ico_question.png);
    background-repeat: no-repeat;
    background-size: contain;
}

div#qa_list dd::before {
    position: absolute;
    content: "";
    display: inline-block;
    top: 2px;
    left: 0;
    right: 0;
    width: 24px;
    height: 100%;
    background: url(../img/ico_answer.png);
    background-repeat: no-repeat;
    background-size: contain;
}

div#top_flow_cont {
    background: #F0FAFB;
    position: relative;
    padding-top: 36px;
    padding-bottom: 24px;
}

div#top_flow_cont_ttl {
    position: absolute;
    top: -14px;
    left: 0;
    right: 0;
    margin: 0 auto;
}

.top_flow_inner {
    position: relative;
    background: #ffffff;
    box-shadow: 0 1px 5px #b0d6db;
    margin: 0 0 28px 0;
    padding-bottom: 20px;
}

.top_flow_inner::before {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border-top: 15px solid #45AEBB;
    border-right: 12px solid transparent;
    border-left: 12px solid transparent;
}

.top_flow_inner:last-child:before {
    content: unset;
}

div#top_flow_cont h2 {
    text-align: center;
    color: #0F95CC;
    margin: 0 0 48px 0;
}

div.top_flow_txt h3.top_flow_subttl {
    color: #45AEBB;
    text-align: center;
    margin: 12px auto 8px;
}

div.top_flow_txt p {}

div#top_flow_cont_cta {
    text-align: center;
    padding: 0;
    margin-top: 8px;
}
div#top_flow_cta.cta_inner.row,
div.cta_inner.row {
    text-align: left;
    margin: 0 auto;
}

#cta_outer .cta_inner.row {
    margin: 20px auto;
}
div#top_flow_cont_cta h3 {
    margin-bottom: 12px;
}

footer {
    background: #546267;
    color: #ffffff;
}

.footer_info_profile {
    text-align: center;
    margin: 0 auto;
    padding: 40px 0 20px;
}

p.footer_logo {
    max-width: 78px;
    margin: 0 auto 14px;
}

p.footer_office {
    text-align: center;
    margin: 0 auto;
    font-size: 18px;
    padding: 8px 0;
}

p.footer_office span {
    font-size: 15px;
    display: block;
}

div.footer_info_address {
    text-align: center;
}

div.footer_info_name {
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
}

div.footer_info_name span {
    margin-left: 6px;
    font-size: 18px;
}

div.footer_info_name sup {
    top: 0;
}

div.footer_info_tel {
    text-align: center;
}
div.footer_info_tel a {
    color: #ffffff;
}

div.footer_info_tel p {
    font-size: 30px;
    margin-bottom: 32px;
}

div.footer_info_tel span {
    display: block;
    font-size: 20px;
}

div.footer_list_cont {
    padding-bottom: 24px;
}

ul.footer_list {
    max-width: 200px;
    margin: 0 auto 20px;
    list-style: none;
    padding: 0;
}

ul.footer_list li {
    border-bottom: 1px solid #ffffff;
    font-size: 13px;
}

ul.footer_list li a {
    display: block;
    color: #ffffff;
    padding: 16px 0 10px 6px;
}

.gmap {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    /* 16:9のアスペクト比 */
    height: 0;
}

.gmap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.gmap_txt {
    text-align: center;
    font-size: 12px;
    padding-top: 4px;
}

.footer_copyright {
    text-align: center;
    font-size: 12px;
    padding: 28px 0 24px;
}

/* 取扱業務 works */
.page_cont_ttl {
    position: relative;
    background: url(../img/page_bg_sp.png) no-repeat top center;
    background-size: cover;
    height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
}

div.page_cont_ttl h2 {
    color: #00a9b0;
    letter-spacing: 3px;
    font-size: 22px;
}

div.page_cont_box {
    margin: 56px auto 0;
    padding-bottom: 60px;
}

div.page_cont_box h3 {
    font-size: 18px;
    line-height: 1.8;
    margin: 48px auto;
}

div.works {
    background: #ffffff;
    box-shadow: 0 1px 6px #e6e0da;
    border-radius: 13px;
    padding: 24px 6px;
    margin: 0 0 32px 0;
}

div.works h4 {
    color: #0AAFC4;
    font-size: 24px;
    letter-spacing: 2px;
    margin-bottom: 16px;
}

div.works h5 {
    font-size: 18px;
    line-height: 1.7;
    margin-bottom: 16px;
}

div.works_cont_txt p {
    margin-bottom: 16px;
}

p#works_img_01 {
    max-width: 580px;
    margin: 0 auto;
}

p#works_img_02 {
    max-width: 548px;
    margin: 0 auto;
}
section#page_outer {
    padding-bottom: 0;
    background: #fefcfa;
}
/* お問い合わせフォーム */
div.form-group.row {
    margin-bottom: 32px;
}
.form-control {
    padding: 14px 10px;
}
label {
    font-weight: 500;
    font-size: 17px;
    padding-bottom: 6px;
    letter-spacing: 1px;
}
div.form-group span {
    color: #b5343c;
    font-weight: 500;
    letter-spacing: 1px;
    padding-left: 2px;
}
div#check-privacy {
    text-align: center;
}
div.form-btn {
    text-align: center;
}
button.btn.btn-primary {
    background-color: #36bfd1;
    border: none;
    color: #ffffff;
    width: 100%;
    max-width: 480px;
    margin: 12px auto 0;
    padding: 16px;
    border-radius: 40px;
    font-size: 18px;
    letter-spacing: 1px;
}
button.btn.btn-primary[disabled] {
  background-color: #dbdbdb;
  color: #000000;
  cursor: not-allowed; /* クリック不可のカーソルを表示 */
}

.form-name-box {
    padding-right: 0;
}
.form-name-box .col-6:nth-child(1) {
    padding-right: 0;
}
.form-name-box .col-6:nth-child(2) {
    padding-right: 0;
}
.privacy_cont h3 {
    padding: 0;
    margin: 36px auto 12px !important;
}

ul#privacy_list {
    list-style: decimal;
    padding-left: 20px;
    margin: 11px auto;
    line-height: 1.7;
}
ul#privacy_list li {
    margin-bottom: 6px;
}
ul#privacy_info {
    list-style: none;
    padding-left: 0;
    margin: 11px auto;
    line-height: 1.7;
}
ul#privacy_info li {
    margin-bottom: 2px;
}
div#check-privacy a {
    color: inherit;
    border-bottom: 1px solid;
    margin-left: 2px;
    padding: 4px;
}
.form-check-input[type=checkbox] {
    border-radius: 6px;
    width: 24px;
    height: 24px;
}
select.custom-select.custom-select-lg {
    padding: 10px;
    border: 1px solid #aaaeb2;
    border-radius: 4px;
}

/* sm only */
@media (min-width:576px) and (max-width:767.98px) {
    div#top_fv_ttl p {
        font-size: 24px;
    }

    div#top_fv_photo {
        align-items: center;
    }

    div#top_fv_photo img {
        max-width: 148px;
    }

    div#top_fv_photo p {
        font-size: 22px;
        letter-spacing: 1px;
    }

    div#top_lead {
        padding: 60px 0;
    }

    p#top_lead_ttl {
        font-size: 17px;
        line-height: 1.8;
    }

    p#top_lead_ttl strong {
        font-size: 28px;
        padding-left: 4px;
        padding-right: 4px;
    }

    p#top_lead_ttl {
        font-size: 17px;
    }

    .top_point_box {
        padding: 52px 0 0 0;
    }

    .top_point_txt h2 {
        font-size: 24px;
    }

    .top_point_txt p {
        font-size: 17px;
    }

    .top_point_img {
        padding: 16px;
        margin-top: 20px;
    }

    div#top_profile {
        padding: 40px 0 60px;
    }

    div#top_profile_lead p {
        font-size: 20px;
    }

    div#top_profile_lead ul {
        margin: 32px auto 36px;
        max-width: 400px;
    }

    div#top_profile_lead ul li {
        padding-left: 28px;
        font-size: 18px;
        margin-bottom: 16px;
    }

    div#top_profile_lead ul li::before {
        top: 1px;
        width: 20px;
        height: 20px;
    }

    div#top_profile h2 {
        font-size: 18px;
    }

    div#top_profile h2 span {
        font-size: 28px;
    }

    div#top_profile_award p {
        font-size: 17px;
    }

    .cta_inner {
        margin: 20px 0;
        padding: 24px 8px 32px;
    }

    .cta_cont.container_fluid {
        padding: 52px 0 60px;
    }

    #top_flow_cont #top_flow_cta {
        padding: 0;
    }

    .cta_tel a {
        font-size: 38px;
    }
    .cta_tel_main .cta_tel_label {
        font-size: 11px;
        padding: 3px 6px;
        width: 68px;
        text-align: center;
    }

    .cta_tel_main a {
        font-size: 32px;
        color: #2C9ECE;
        font-weight: bold;
        padding-left: 32px;
        line-height: 1;
    }

    .cta_tel_main a::before {
        top: 50%;
        transform: translateY(-50%);
        width: 28px;
        height: 28px;
        background: url(../img/ico_tel.png);
        background-repeat: no-repeat;
        background-size: contain;
        background-position: center;
    }

    .cta_tel_sub {
        font-size: 9px;
    }

    .cta_tel_sub .cta_tel_label {
        background-color: #999;
        font-size: 11px;
        padding: 3px 6px;
        width: 68px;
        text-align: center;
    }

    .cta_tel_sub a {
        font-size: 18px;
        color: #666;
        padding-left: 32px;
        line-height: 1;
    }

    .cta_tel_sub a::before {
        top: 50%;
        transform: translateY(-50%);
        width: 28px;
        height: 28px;
        background: url(../img/ico_tel.png);
        background-repeat: no-repeat;
        background-size: contain;
        background-position: center;
        opacity: 0.6;
        filter: grayscale(100%);
    }

    /* #cta_outer内のみのスタイル */
    #cta_outer .cta_tel_main a {
        font-size: 32px;
    }

    #cta_outer .cta_tel_sub a {
        font-size: 24px;
    }

    #cta_outer .cta_tel_main a::before,
    #cta_outer .cta_tel_sub a::before {
        width: 28px;
        height: 28px;
    }

    .cta_tel a {
    font-size: 35px;
    color: inherit;
    position: relative;
    padding-left: 30px;
}

    .cta_tel a::before {
        top: 14px;
        width: 30px;
        height: 40px;
    }

    .cta_mail a {
        max-width: 400px;
        font-size: 20px;
        padding: 18px 32px 22px;
    }

    .cta_mail a span {
        padding-left: 42px;
    }

    .cta_mail a span::before {
        top: 5px;
        width: 32px;
        height: 24px;
    }

    .cta_txt p {
        font-size: 18px;
    }

    div#top_works_ttl {
        padding: 52px 0 20px;
    }

    div#top_works_txt {
        padding-top: 20px;
        font-size: 18px;
    }

    .top_works_btn a {
        margin: 20px auto 60px;
    }

    div#qa_cont h2 {
        margin: 60px auto 26px;
    }

    div#qa_cont_btn a {
        margin: 20px auto 72px;
        max-width: 360px;
        font-size: 20px;
    }

    div#top_flow_cont {
        padding-top: 50px;
        padding-bottom: 32px;
    }

    .top_flow_inner {
        margin: 0 0 40px 0;
        padding-bottom: 20px;
    }
}

/* mobile only */
@media (max-width: 767px) {
    #cta_outer .cta_inner.row {
        padding: 12px;
    }

    /* #cta_outer内のみのスタイル */
    #cta_outer .cta_tel_main a {
        font-size: 32px;
    }

    #cta_outer .cta_tel_sub a {
        font-size: 24px;
        color: #666;
    }

    #cta_outer .cta_tel_main a::before,
    #cta_outer .cta_tel_sub a::before {
        width: 24px;
        height: 24px;
    }

    div#top_flow_cta .cta_tel_main a,
    div.cta_inner .cta_tel_main a {
        font-size: 24px;
    }
    div#top_flow_cta .cta_tel_sub a,
    div.cta_inner .cta_tel_sub a {
        font-size: 14px;
    }

    /* #top_flow_01内のみのスタイル（スマホのみ） */
    #top_flow_01 .cta_tel_main a,
    #top_flow_01 .cta_tel_sub a {
        font-size: 24px;
    }

    #top_flow_01 .cta_tel_main a::before,
    #top_flow_01 .cta_tel_sub a::before {
        width: 24px;
        height: 24px;
    }
    div#top_flow_cta h3,
    div.cta_inner h3 {
        background: #eee;
        text-align: center;
        padding: 4px 0;
    }
    div#top_flow_cta h3 span,
    div.cta_inner h3 span {
        font-size: 15px;
        color: inherit;
    }

    .top_flow_txt {
        padding: 12px 32px;
    }


}

/* md only start */
@media (min-width:768px) and (max-width:991.98px) {
    .container {
        max-width: 98%;
    }
    #contact .container {
        max-width: 680px;
    }
    .navbar-collapse {
        top: 86PX;
    }
    div#top_fv_photo {
        justify-content: center;
    }

    div#top_fv_ttl span {
        font-size: 36px;
    }

    div#top_fv_ttl p {
        font-size: 32px;
    }

    p#top_fv_point {
        max-width: 640px;
        margin: 20px auto 0;
    }

    div#top_fv_img {
        max-width: 600px;
        margin: 0 auto;
    }

    div#top_fv_photo img {
        max-width: 180px;
    }

    div#top_fv_photo p {
        font-size: 32px;
        padding-left: 6px;
        letter-spacing: 2px;
    }

    .gmap {
        padding-top: 100%;
    }

}

/* md〜strat */
@media (min-width:768px) {
    a[href*="tel:"] {
        pointer-events: none;
        cursor: default;
        text-decoration: none;
    }
    body {
        padding-top: 84px;
    }
    .anchor {
    padding-top: 84px;
    margin-top: -84px;
    }
    nav.navbar {
        padding: 24px 0;
    }
    nav.navbar .container {
        padding: 0;
    }

    div#navbarsExampleDefault {
        position: relative;
    }

    h1 img {
        max-width: 60px;
        padding-bottom: 8px;
    }

    h1.site-header-logo span {
        font-size: 18px;
        padding-left: 8px;
    }

    p#top_lead_ttl strong {
        font-size: 32px;
        padding-left: 4px;
        padding-right: 4px;
    }

    p#top_lead_ttl {
        font-size: 20px;
        line-height: 1.6;
    }

    div#top_lead {
        padding: 50px 0 60px;
        letter-spacing: 1px;
    }

    div#top_lead h2 {
        font-size: 20px;
        letter-spacing: 2px;
        max-width: 360px;
    }
    div#top_lead {
        background: #fdfaf7 url(../img/bg_top_lead_pc.png) no-repeat bottom center;
    }

    .top_point_txt h2 {
        text-align: left;
    }

    .top_point_txt p {
        line-height: 1.8;
        font-size: 16px;
    }

    .top_point_img {
        background: unset;
        padding: 0;
    }

    div#top_point_01,
    div#top_point_02,
    div#top_point_03 {
        position: relative;

    }

    div#top_point_01::after,
    div#top_point_03::after {
        content: '';
        position: absolute;
        bottom: 2%;
        left: 50%;
        width: 50%;
        height: 80%;
        border-top-left-radius: 200px;
        border-bottom-left-radius: 200px;
        background: #f0f7eb;
        z-index: -1;
    }

    div#top_point_02::after {
        content: '';
        position: absolute;
        top: 6%;
        right: 50%;
        width: 50%;
        height: 60%;
        border-top-right-radius: 300px;
        border-bottom-right-radius: 300px;
        background: #f0f7eb;
        z-index: -1;
    }

    div#top_profile_lead p {
        font-size: 20px;
    }

    div#top_profile_award p {
        margin: 20px 0;
        font-size: 16px;
    }

    .cta_cont.container_fluid {
        padding: 48px 0 56px;
    }

    #top_flow_cont #top_flow_cta {
        padding: 0;
    }

    .cta_inner h3 {
        margin: 0;
    }

    .cta_inner {
        padding: 28px 30px;
        max-width: 760px;
        margin: 20px auto;
    }
    .cta_tel_main .cta_tel_label {
        font-size: 12px;
        padding: 4px 7px;
        width: 62px;
        text-align: center;
    }

    .cta_tel_main a {
        font-size: 34px;
        color: #2C9ECE;
        font-weight: bold;
        padding-left: 33px;
        line-height: 1;
    }

    .cta_tel_main a::before {
        top: 50%;
        transform: translateY(-50%);
        width: 30px;
        height: 30px;
        background: url(../img/ico_tel.png);
        background-repeat: no-repeat;
        background-size: contain;
        background-position: center;
    }

    .cta_tel_sub {
        font-size: 9px;
    }

    .cta_tel_sub .cta_tel_label {
        background-color: #999;
        font-size: 11px;
        padding: 3px 6px;
        width: 62px;
        text-align: center;
    }

    .cta_tel_sub a {
        font-size: 19px;
        color: #666;
        padding-left: 33px;
        line-height: 1;
    }

    .cta_tel_sub a::before {
        top: 50%;
        transform: translateY(-50%);
        width: 30px;
        height: 30px;
        background: url(../img/ico_tel.png);
        background-repeat: no-repeat;
        background-size: contain;
        background-position: center;
        opacity: 0.6;
        filter: grayscale(100%);
    }

    /* #cta_outer内のみのスタイル */
    #cta_outer .cta_tel_main .cta_tel_label,
    #cta_outer .cta_tel_sub .cta_tel_label {
        margin-right: 20px;
        margin-bottom: 6px;
    }

    #cta_outer .cta_tel_main a {
        font-size: 42px;
        padding-left: 38px;
        margin-left: 0;
    }

    #cta_outer .cta_tel_sub a {
        font-size: 24px;
        padding-left: 38px;
        margin-left: 0;
    }

    #cta_outer .cta_tel_main a::before,
    #cta_outer .cta_tel_sub a::before {
        width: 30px;
        height: 30px;
    }

    #cta_outer .cta_tel h3 span {
        color: #000;
    }

    .cta_tel a {
        font-size: 36px;
        color: inherit;
        position: relative;
        padding-left: 30px;
    }
    .col-md-5.cta_tel {
        padding-right: 0;
    }
    .cta_tel a::before {
    top: 13px;
    width: 28px;
    }
    div.cta_mail {
    padding: 0 0 0 12px;
    }

    .cta_mail a {
        max-width: 340px;
        padding: 22px 0;
        font-size: 20px;
    }
    

    .cta_mail a span {
        padding-left: 46px;
    }

    .cta_mail a span::before {
        top: 5px;
        width: 32px;
        height: 24px;
    }
    .cta_inner h3 span {
        font-size: 16px;
        padding-top: 0px;
        padding-bottom: 0;
    }

    .cta_txt p {
        line-height: 1.7;
        font-size: 20px;
    }

    div#top_works_ttl {
        padding: 56px 0 20px;
    }

    div#top_works_txt {
        font-size: 19px;
        line-height: 1.8;
    }

    .top_works_btn a {
        margin: 20px auto 72px;
        max-width: 400px;
        padding: 18px 0;
    }

    div#qa_list dt {
        padding-left: 40px;
        margin-bottom: 16px;
        font-size: 18px;
    }

    div#qa_list dt::before {
        top: 2px;
        width: 30px;
    }

    div#qa_list dd {
        padding-left: 40px;
        margin-bottom: 36px;
        font-size: 17px;
    }

    div#qa_list dd::before {
        top: 2px;
        width: 30px;
    }

    div#qa_cont_btn a {
        font-size: 20px;
        margin: 20px auto 88px;
    }

    div#top_flow_cont {
        padding-top: 52px;
        padding-bottom: 40px;
    }

    .top_flow_inner {
        margin: 0 0 40px 0;
        padding-bottom: 0;
    }

    .top_flow_inner .col-md-3 {
        padding-left: 0;
    }

    div#top_flow_01.top_flow_inner img {
        width: 100%;
        height: 184px;
        object-fit: cover;
    }

    div#top_flow_02.top_flow_inner img,div#top_flow_03.top_flow_inner img {
        width: 100%;
        height: 160px;
        object-fit: cover;
    }

    div#top_flow_cont_cta .col-md-6 {
        padding: 0;
    }

    .cta_mail a {
        padding: 22px 0 24px;
        font-size: 20px;
        border-radius: 70px;
        max-width: 360px;
    }

    .cta_mail a span {
        padding-left: 38px;
    }

    .cta_mail a span::before {
        top: 5px;
        width: 28px;
        height: 24px;
    }

    div#top_works {
        padding-bottom: 16px;
    }

    div#top_works_txt p {
        font-size: 20px;
    }

    div.top_flow_txt h3.top_flow_subttl {
        margin: 18px auto 8px;
        text-align: left;
    }

    div#top_flow_cont_cta h3 {
        margin-bottom: 8px;
    }
    
    div#top_flow_cta.cta_inner.row,
    div.cta_inner.row {
        text-align: left;
        margin: 0 auto;
    }
    div#top_flow_cta .cta_tel,
    div.cta_inner .cta_tel {
        padding-right: 10px;
        padding-left: 0;
    }
    div#top_flow_cta .cta_tel_main .cta_tel_label,
    div.cta_inner .cta_tel_main .cta_tel_label {
        font-size: 11px;
        padding: 3px 6px;
        width: 62px;
        text-align: center;
    }
    div#top_flow_cta .cta_tel_main a,
    div.cta_inner .cta_tel_main a {
        font-size: 28px;
        color: #2C9ECE;
        font-weight: bold;
        padding-left: 28px;
        line-height: 1;
    }
    div#top_flow_cta .cta_tel_main a::before,
    div.cta_inner .cta_tel_main a::before {
        top: 50%;
        transform: translateY(-50%);
        width: 24px;
        height: 24px;
        background: url(../img/ico_tel.png);
        background-repeat: no-repeat;
        background-size: contain;
        background-position: center;
    }
    div#top_flow_cta .cta_tel_sub,
    div.cta_inner .cta_tel_sub {
        font-size: 9px;
    }
    div#top_flow_cta .cta_tel_sub .cta_tel_label,
    div.cta_inner .cta_tel_sub .cta_tel_label {
        background-color: #999;
        font-size: 11px;
        padding: 3px 6px;
        width: 62px;
        text-align: center;
    }
    div#top_flow_cta .cta_tel_sub a,
    div.cta_inner .cta_tel_sub a {
        font-size: 18px;
        color: #666;
        padding-left: 28px;
        line-height: 1;
    }
    div#top_flow_cta .cta_tel_sub a::before,
    div.cta_inner .cta_tel_sub a::before {
        top: 50%;
        transform: translateY(-50%);
        width: 24px;
        height: 24px;
        background: url(../img/ico_tel.png);
        background-repeat: no-repeat;
        background-size: contain;
        background-position: center;
        opacity: 0.6;
        filter: grayscale(100%);
    }
    div#top_flow_cta .cta_tel a,
    div.cta_inner .cta_tel a {
        font-size: 28px;
        color: inherit;
        position: relative;
        padding-left: 26px;
    }
    div#top_flow_cta .cta_tel a::before,
    div.cta_inner .cta_tel a::before {
        top: 9px;
        width: 24px;
    }
    div#top_flow_cta .cta_inner h3 span,
    div.cta_inner h3 span {
        font-size: 18px;
        padding-top: 2px;
    }
    div#top_flow_cta div.cta_mail,
    div.cta_inner div.cta_mail {
        padding: 0 10px 0 6px;
    }
    div#top_flow_cta .cta_mail a,
    div.cta_inner .cta_mail a {
        padding: 16px 0 18px;
        font-size: 16px;
        border-radius: 70px;
        max-width: 340px;
    }
    div#top_flow_cta span.cta_mail_txt,
    div.cta_inner span.cta_mail_txt {
        display: block;
        font-size: 10px;
        padding: 4px 0 0;
        text-align: center;
    }

    .footer_info_profile {
        padding: 52px 0 20px;
    }

    p.footer_office {
        font-size: 15px;
        padding: 8px 0;
    }

    address {
        font-size: 14px;
    }

    .footer_info_name p {
        font-size: 14px;
    }

    div.footer_info_name span {
        margin-left: 0;
        font-size: 20px;
        display: block;
    }

    div.footer_list_cont {
        padding-top: 52px;
    }

    .gmap {
        margin-top: 56px;
    }

    .page_cont_ttl {
        height: 200px;
    }
    .col-md-8.form-write-box {
    padding-left: 0;
    padding-right: 0;
    }
    .form-control,.form-label-box {
    padding: 12px;
    }
    section#privacy .container {
        padding-top: 48px;
    }
    .form-write-box.form-area {
    padding: 8px 0;
}
}

/* lg〜start */

@media (min-width: 992px) {
    .navbar-collapse {
    max-width: 100%;
    }
    ul.navbar-nav a.nav-link {
        color: #3c3c3c;
        font-size: 16px;
        padding: 20px;
        border-bottom: none;
    }

    ul.navbar-nav {
        margin-bottom: 0 !important;
        position: absolute;
        right: 0;
    }

    div.page_ttl h2 {
        text-align: center;
        color: #0F95CC;
        font-size: 36px;
        letter-spacing: 2px;
    }

    .navbar-collapse {
        position: relative;
        top: 0;
    }

    ul.navbar-nav a.nav-link {
        padding: 20px 10px !important;
        letter-spacing: 1px;
    }

    li.nav-item.nav_contact a {
        background: #38a6d8;
        color: #ffffff;
        border-radius: 60px;
        margin-top: 4px;
        margin-left: 8px;
        padding: 14px 40px !important;
    }
    li.nav-item.nav_contact a:hover,.top_works_btn a:hover,div#qa_cont_btn a:hover {
    background: #36bfd1;
}

    div#top_fv_photo {
        justify-content: flex-start;
    }

    div#top_fv_cont {
        position: relative;
        padding: 32px 0 0 0;
    }

    div#top_fv_ttl {
        padding: 24px 0 0;
        text-align: left;
        width: 40%;
    }

    div#top_fv_photo {
        align-items: center;
        margin-top: 0;
    }

    div#top_fv_photo img {
        max-width: 180px;
    }

    div#top_fv_img {
        position: absolute;
        top: 50%;
        right: 0;
        max-width: 600px;
        transform: translateY(-50%);
    }

    div#top_fv_ttl p {
        font-size: 26px;
    }

    div#top_fv_ttl span {
        font-size: 34px;
        margin-top: 10px;
    }

    div#top_fv_photo p {
        font-size: 22px;
        letter-spacing: 2px;
        padding-left: 0px;
    }

    div#top_lead {
        padding: 62px 0 72px;
    }

    p#top_lead_ttl {
        font-size: 20px;
        line-height: 1.8;
    }

    p#top_lead_ttl strong {
        font-size: 34px;
        line-height: 36px;
        margin-left: 4px;
        margin-right: 4px;
    }

    div#top_lead h2 {
        margin: 12px auto;
        padding: 10px 0;
        font-size: 20px;
        max-width: 300px;
    }

    div#top_lead h2 span {
        font-size: 28px;
    }

    .top_point_img {
        background: unset;
    }

    .top_point_txt h2 {
        font-size: 28px;
        margin-bottom: 22px;
        padding-top: 28px;
    }

    .top_point_txt p {
        line-height: 1.8;
        margin-bottom: 16px;
        font-size: 20px;
    }

    div#top_point_02 .top_point_txt {
        padding-left: 22px;
        padding-right: 0;
    }

    div#top_profile {
        padding: 40px 0 60px;
    }

    div#top_profile_lead p {
        font-size: 22px;
    }

    div#top_profile_lead ul {
        margin: 32px auto 32px;
        padding-left: 0;
        max-width: 400px;
    }

    div#top_profile_lead ul li {
        padding-left: 28px;
        font-size: 18px;
        margin-bottom: 16px;
    }

    div#top_profile_lead ul li::before {
        width: 20px;
        height: 20px;
    }

    div#top_profile h2 {
        font-size: 18px;
        letter-spacing: 1px;
    }

    div#top_profile h2 span {
        letter-spacing: 5px;
        font-size: 28px;
        margin-top: 3px;
    }

    div#top_profile h2 sup {
        font-size: 16px;
        letter-spacing: 3px;
    }

    div#top_profile_award p {
        margin: 26px 0;
        font-size: 17px;
    }

    .top_point_box {
        padding: 60px 0 0 0;
    }

    .cta_cont.container_fluid {
        padding: 62px 0 82px;
    }

    #top_flow_cont #top_flow_cta {
        padding: 0;
    }

    .cta_inner {
        padding: 36px 20px;
        align-items: center;
        max-width: 880px;
    }
    .cta_inner h3 span {
        font-size: 16px;
        padding-top: 0px;
        padding-bottom: 0;
    }

    .cta_lead h2 span {
        font-size: 32px;
        letter-spacing: 2px;
        margin: 4px auto 8px;
        display: inline-block;
    }

    .cta_tel_main .cta_tel_label {
        font-size: 13px;
        padding: 5px 9px;
        width: 62px;
        text-align: center;
    }

    .cta_tel_main a {
        font-size: 42px;
        color: #2C9ECE;
        font-weight: bold;
        padding-left: 40px;
        line-height: 1;
    }

    .cta_tel_main a::before {
        top: 50%;
        transform: translateY(-50%);
        width: 38px;
        height: 38px;
        background: url(../img/ico_tel.png);
        background-repeat: no-repeat;
        background-size: contain;
        background-position: center;
    }

    .cta_tel_sub {
        font-size: 10px;
    }

    .cta_tel_sub .cta_tel_label {
        background-color: #999;
        font-size: 12px;
        padding: 4px 7px;
        width: 62px;
        text-align: center;
    }

    .cta_tel_sub a {
        font-size: 20px;
        color: #666;
        padding-left: 40px;
        line-height: 1;
    }

    .cta_tel_sub a::before {
        top: 50%;
        transform: translateY(-50%);
        width: 38px;
        height: 38px;
        background: url(../img/ico_tel.png);
        background-repeat: no-repeat;
        background-size: contain;
        background-position: center;
        opacity: 0.6;
        filter: grayscale(100%);
    }

    /* #cta_outer内のみのスタイル */
    #cta_outer .cta_tel_main .cta_tel_label,
    #cta_outer .cta_tel_sub .cta_tel_label {
        margin-right: 20px;
        margin-bottom: 6px;
    }

    #cta_outer .cta_tel_main a {
        font-size: 42px;
        padding-left: 45px;
        margin-left: 0;
    }

    #cta_outer .cta_tel_sub a {
        font-size: 24px;
        padding-left: 45px;
        margin-left: 0;
    }

    #cta_outer .cta_tel_main a::before {
        width: 38px;
        height: 38px;
    }

    #cta_outer .cta_tel_sub a::before {
        width: 24px;
        height: 24px;
    }

    #cta_outer .cta_tel h3 span {
        color: #000;
    }

    .cta_tel a {
        font-size: 46px;
        padding-left: 35px;
    }

    .cta_tel a::before {
        top: 18px;
        width: 40px;
        height: 40px;
    }

    div.cta_mail {
        padding: 0 0 0 10px;
    }

    div.cta_mail a {
        padding: 28px 0 30px;
        font-size: 22px;
        max-width: 440px;
    }

    .cta_mail a span {
        padding-left: 46px;
    }

    .cta_mail a span::before {
        top: 6px;
        width: 34px;
        height: 24px;
    }
    span.cta_mail_txt {
    display: block;
    font-size: 16px;
    padding: 8px 4px 2px;
}

    div#top_works_cont {
        align-items: center;
    }

    div#top_works {
        padding-bottom: 48px;
    }

    div#top_works_txt p {
        font-size: 20px;
        margin-bottom: 40px;
    }

    div#top_works_ttl {
        padding: 72px 0 20px;
    }

    .top_works_btn a {
        margin: 20px auto 80px;
        padding: 18px 0;
    }

    div#qa_cont h2 {
        margin: 80px auto 36px;
    }

    div#qa_list dt {
        font-size: 22px;
    }

    div#qa_list dt {
        padding-left: 46px;
    }

    div#qa_list dt::before {
        width: 34px;
    }

    div#qa_list dd {
        margin-bottom: 48px;
        font-size: 22px;
    }

    div#qa_list dd {
        padding-left: 46px;
    }

    div#qa_list dd::before {
        width: 34px;
    }

    div#qa_cont_btn a {
        font-size: 20px;
        margin: 20px auto 116px;
    }

    div#top_flow_cont {
        padding-top: 76px;
        padding-bottom: 80px;
    }

    div#qa_cont {
        max-width: 948px;
    }

    div.top_flow_inner {
        margin: 0 auto 40px auto;
        padding-bottom: 0;
        max-width: 880px;
    }

    div.top_flow_txt h3.top_flow_subttl {
        margin: 21px auto 8px;
        text-align: left;
    }
    div#top_flow_cta.cta_inner.row,
    div.cta_inner.row {
        text-align: left;
        margin: 0 auto;
    }
    div#top_flow_cta .cta_tel,
    div.cta_inner .cta_tel {
        padding-right: 24px;
        padding-left: 0;
    }
    div#top_flow_cta .cta_tel_main .cta_tel_label,
    div.cta_inner .cta_tel_main .cta_tel_label {
        font-size: 12px;
        padding: 4px 7px;
        width: 62px;
        text-align: center;
    }
    div#top_flow_cta .cta_tel_main a {
        font-size: 22px;
        color: inherit;
        font-weight: bold;
        padding-left: 30px;
        line-height: 1;
    }
    div.cta_inner .cta_tel_main a {
        font-size: 36px;
        color: inherit;
        font-weight: bold;
        padding-left: 30px;
        line-height: 1;
    }
    div#top_flow_cta .cta_tel_main a::before {
        top: 50%;
        transform: translateY(-50%);
        width: 28px;
        height: 28px;
        background: url(../img/ico_tel.png);
        background-repeat: no-repeat;
        background-size: contain;
        background-position: center;
    }
    div.cta_inner .cta_tel_main a::before {
        top: 50%;
        transform: translateY(-50%);
        width: 32px;
        height: 32px;
        background: url(../img/ico_tel.png);
        background-repeat: no-repeat;
        background-size: contain;
        background-position: center;
    }
    div#top_flow_cta .cta_tel_sub,
    div.cta_inner .cta_tel_sub {
        font-size: 9px;
    }
    div#top_flow_cta .cta_tel_sub .cta_tel_label,
    div.cta_inner .cta_tel_sub .cta_tel_label {
        background-color: #999;
        font-size: 11px;
        padding: 3px 6px;
        width: 62px;
        text-align: center;
    }
    div#top_flow_cta .cta_tel_sub a,
    div.cta_inner .cta_tel_sub a {
        font-size: 19px;
        color: #666;
        padding-left: 30px;
        line-height: 1;
    }
    div#top_flow_cta .cta_tel_sub a::before,
    div.cta_inner .cta_tel_sub a::before {
        top: 50%;
        transform: translateY(-50%);
        width: 28px;
        height: 28px;
        background: url(../img/ico_tel.png);
        background-repeat: no-repeat;
        background-size: contain;
        background-position: center;
        opacity: 0.6;
        filter: grayscale(100%);
    }
    div#top_flow_cta div.cta_mail,
    div.cta_inner div.cta_mail {
        padding: 0 18px 0 8px;
    }
    div#top_flow_cta .cta_mail a,
    div.cta_inner .cta_mail a {
        padding: 14px 0 20px;
        font-size: 17px;
        max-width: 320px;
    }
    div#top_flow_cta .cta_mail a span::before,
    div.cta_inner .cta_mail a span::before {
        top: 4px;
        width: 34px;
        height: 24px;
    }
    div#top_flow_cta h3,
    div.cta_inner h3 {
        text-align: center;
    }
    div#top_flow_cta h3 span,
    div.cta_inner h3 span {
        font-size: 13px;
        background: #eee;
        padding: 4px 0;
        border-radius: 2px;
    }

    div#qa_cont h2 {
        margin: 100px auto 48px;
    }
    section#qa_cont_outer {
    padding-bottom: 60px;
    }

    div.top_flow_txt h3.top_flow_subttl {
        margin: 21px auto 8px;
        text-align: left;
    }

    div#top_flow_cont_cta.cta_inner {
        margin: 8px 0 12px;
    }

    div#top_flow_cont_cta {
        margin-top: 1px;
    }

    div#top_flow_cont_cta .cta_tel a {
        font-size: 32px;
        padding-left: 30px;
    }

    div#top_flow_cont_cta .cta_tel a::before {
        top: 11px;
        width: 34px;
        height: 34px;
    }

    div#top_flow_cont_cta .cta_mail a {
        padding: 18px 0 22px;
        font-size: 18px;
        max-width: 330px;
    }

    div#top_flow_01.top_flow_inner img {
        width: 100%;
        height: 190px;
        object-fit: cover;
    }

    div#top_flow_02.top_flow_inner img,
    div#top_flow_03.top_flow_inner img {
        width: 100%;
        height: 180px;
        object-fit: cover;
    }

    div#top_flow_cont p {
        font-size: 18px;
    }

    div.top_flow_txt {
        padding-left: 16px;
    }
    div#top_flow_cta span.cta_mail_txt,
    div.cta_inner span.cta_mail_txt {
        font-size: 13px;
        padding: 4px 0 0;
    }
    div#top_flow_01 h3.top_flow_subttl {
    margin: 16px auto 2px;
    }
    div#top_flow_cta .cta_tel,
    div.cta_inner .cta_tel {
        padding-right: 11px;
        padding-left: 0;
    }
    .footer_info_profile {
        padding: 76px 0 20px;
    }

    p.footer_office {
        font-size: 17px;
        padding: 8px 0;
    }

    div.footer_info_name span {
        margin-left: 5px;
        display: inline-block;
    }

    div.footer_list_cont {
        padding-top: 80px;
    }

    .gmap {
        margin-top: 80px;
    }

    section.page_cont .container {
        max-width: 920px;
        margin: 0 auto;
    }

    div.page_cont_ttl h2 {
        font-size: 32px;
    }

    div.page_cont_box h3 {
        text-align: center;
        letter-spacing: 1px;
        font-size: 20px;
    }

    div.works {
        padding: 40px 40px;
        margin-bottom: 40px;
    }
    .works_img picture img {
        object-fit: contain;
    }

    div.works h4 {
        font-size: 36px;
        margin-bottom: 24px;
    }

    div.works h5 {
        font-size: 20px;
    }

    .works_cont_txt p {
        font-size: 18px;
    }
    div.works_simple {
        display: flex;
        align-items: center;
        justify-content: center;
    }
    div.works_simple h4 {
        font-size: 26px;
        margin-bottom: 0;
    }
    div.works_simple h5 {
        font-size: 20px;
        line-height: 1.7;
        margin-bottom: 0;
    }
    section#contact .container.page_cont_box {
        margin: 48px auto 0;
        max-width: 680px;
        padding-bottom: 88px;
    }


}

/* xl〜start */

@media (min-width: 1200px) {
    ul.navbar-nav a.nav-link {
        padding: 20px 18px !important;
    }

    li.nav-item.nav_contact a {
        padding: 16px 48px !important;
        margin-top: 2px;
    }

   nav.navbar .container {
        padding: 0 20px;
        max-width: 1200px;
    }
    h1 img {
        padding-bottom: 6px;
    }
    h1.site-header-logo span {
        font-size: 20px;
        padding-left: 10px;
    }

    div#top_fv_cont {
        padding: 60px 20px 0 20px;
        max-width: 1200px;
    }

    div#top_fv_ttl {
        padding: 0;
        width: 500px;
    }

    div#top_fv_ttl p {
        font-size: 38px;
    }

    div#top_fv_ttl p {
        padding-bottom: 24px;
    }

    div#top_fv_ttl span {
        font-size: 40px;
        margin-top: 16px;
    }

    div#top_fv_photo {
        align-items: flex-start;
        margin-top: 0;
    }

    div#top_fv_photo p {
        font-size: 27px;
        padding-top: 14px;
    }

    div#top_fv_img {
        max-width: 700px;
        right: 2%;
    }

    div#top_lead {
        padding: 80px 0 88px;
    }

    p#top_lead_ttl strong {
        font-size: 40px;
        margin-left: 2px;
        margin-right: 2px;
    }

    p#top_lead_ttl {
        font-size: 22px;
        letter-spacing: 2px;
        line-height: 1.8;
    }

    div#top_point_01,
    div#top_point_02,
    div#top_point_03 {
        margin-bottom: 24px;
    }

    div.top_point_box .container {
        max-width: 1200px;
        margin: 0 auto;
    }

    .top_point_txt h2 {
        font-size: 30px;
        margin-bottom: 28px;
        padding-top: 32px;
    }

    .top_point_txt p {
        line-height: 2.2;
        margin-bottom: 16px;
        font-size: 20px;
    }

    div#top_profile {
        padding: 72px 0 102px;
    }

    div#top_profile .container {
        max-width: 1200px;
    }

    div#top_point_02 .top_point_txt {
        padding-left: 32px;
    }

    div#top_profile_lead p {
        font-size: 24px;
    }

    div#top_profile_lead ul {
        margin: 40px auto 40px;
        padding-left: 0;
        max-width: 440px;
    }

    div#top_profile_lead ul li::before {
        top: 2px;
    }

    div#top_profile h2 {
        font-size: 20px;
    }

    div#top_profile h2 span {
        letter-spacing: 5px;
        font-size: 30px;
        margin-top: 3px;
    }

    div#top_profile_txt {
        padding-left: 32px;
    }

    div#top_profile_award p {
        margin: 26px 0;
        font-size: 18px;
        line-height: 2.0;
        position: relative;
    }

    div#top_profile_award p::before {
        position: absolute;
        content: "";
        display: inline-block;
        top: 2px;
        right: -16px;
        width: 110px;
        height: 100%;
        background: url(../img/ico_top_award.png);
        background-repeat: no-repeat;
        background-size: contain;
    }
    .cta_cont.container_fluid {
        padding: 72px 0 88px;
    }

    #top_flow_cont #top_flow_cta {
        padding: 0;
    }

    .cta_lead h2 {
        font-size: 24px;
    }

    .cta_inner {
        margin: 28px auto;
        max-width: 1000px;
        padding: 36px 60px;
    }
    .cta_tel a {
        font-size: 48px;
        padding-left: 35px;
    }
    div.cta_mail {
        padding: 0 0 0 56px;
    }
    .cta_inner h3 span {
        font-size: 16px;
    }


    div#top_works .container {
        max-width: 1200px;
    }

    div#top_works_txt p {
        font-size: 22px;
        margin-bottom: 40px;
    }

    div#top_works {
        padding-bottom: 98px;
    }

    p.footer_office {
        font-size: 22px;
        padding: 8px 0;
    }

    p.footer_office span {
        font-size: 16px;
        padding-top: 4px;
    }

    address {
        font-size: 16px;
    }

    address span {
        padding-right: 6px;
    }

    div.footer_info_name span {
        margin-left: 5px;
        font-size: 24px;
    }

    div.footer_info_tel p {
        font-size: 34px;
        letter-spacing: 1px;
        margin-bottom: 32px;
    }

    footer .container {
        max-width: 1140px;
    }

    section.page_cont .container {
        max-width: 1200px;
    }

    div.works {
        padding: 40px 40px;
        margin-bottom: 60px;
        margin: 0 0 60px 0;
    }
    div.works_simple {
        padding: 28px 40px !important;
        margin-bottom: 40px !important;
    }

    section#page_outer {
        padding-bottom: 0;
    }
    section#privacy .container {
        max-width: 1000px;
    }
    section#privacy h3 {
        text-align: left;
    }
}