@media screen and (max-width: 1300px) {
    .header_contain {
        padding: calc(15/1300*100vw) calc(30/1300*100vw);
    }
    .header_logo h1 {
        font-size: calc(28/1300*100vw);
        line-height: calc(42/1300*100vw);
    }
    .pc.nav .c-nav_list {
        margin-top: calc(15/1300*100vw);
        gap: calc(30/1300*100vw);
    }
    .c-nav_list li a {
        font-size: calc(18/1300*100vw);
        line-height: calc(27/1300*100vw);
    }
    .dropdown_menu {
        right: calc(-30/1300*100vw);
        width: calc(250/1300*100vw);
		padding-top: calc(15/1300*100vw);
    }
    .dropdown_menu li a {
        font-size: calc(12/1300*100vw);
    }
    .header_top_links .link a {
        font-size: calc(15/1300*100vw);
        line-height: calc(18/1300*100vw);
        padding: 5px calc(20/1300*100vw);
        gap: calc(10/1300*100vw);
    }
    .header_top_links .link a img {
        width: calc(20/1300*100vw);
        height: auto;
    }
    .header_top_links .tel_link a {
        font-size: calc(20/1300*100vw);
    }
    .header_top_links .tel_link a .top_txt {
        font-size: calc(10/1300*100vw);
        line-height: calc(15/1300*100vw);
    }
    .header_left_bg {
        width: calc(290/1300*100vw);
    }
    .header_right_bg {
        width: calc(360/1300*100vw);
    }
    /*  */
    .c-topsec {
        margin-top: calc(120/1300*100vw);
    }
}

@media screen and (max-width: 1100px) {
    .page_max_width {
        margin: auto;
        max-width: calc(1100/1100*100vw);
    }
    .page_width {
        max-width: calc(1000/1100*100vw);
        margin: auto !important;
    }
    .page_small_width {
        max-width: calc(800/1100*100vw);
        margin: auto;
    }
    .c-sec_title {
        margin: calc(60/1100*100vw) auto calc(80/1100*100vw);
    }
    .c-sec_title::after {
        width: calc(550/1100*100vw);
        bottom: calc(-20/1100*100vw);
    }
    .c-sec_title h3.en {
        font-size: calc(32/1100*100vw);
        line-height: calc(64/1100*100vw);
    }
    .c-sec_title h2.en {
        font-size: calc(32/1100*100vw);
        line-height: calc(64/1100*100vw);
    }
    .c-sec_title p.jp {
        font-size: calc(16/1100*100vw);
        line-height: calc(32/1100*100vw);
    }
    .c-view_more {
        padding: calc(70/1100*100vw) 0;
    }
    .c-view_more a {
        width: calc(325/1100*100vw);
        height: calc(60/1100*100vw);
        font-size: calc(20/1100*100vw);
        line-height: calc(27/1100*100vw);
    }
    .c-view_more a::after {
        right: calc(15/1100*100vw);
        top: calc(21/1100*100vw);
        width: calc(9/1100*100vw);
        height: calc(9/1100*100vw);
    }
    .c-view_more a:hover::after {
        right: calc(10/1100*100vw);
    }
    /* main */
    .c-topsec {
        margin-top: calc(128/1100*100vw);
    }
    .c-page_title {
        padding: calc(100/1100*100vw) 0px;
    }
    .c-page_title h1 {
        font-size: calc(32/1100*100vw);
        line-height: calc(42/1100*100vw);
    }
	    .c-page_title h2 {
        font-size: calc(32/1100*100vw);
        line-height: calc(42/1100*100vw);
    }
    /* Blog List */
    .p-bloglist {
        margin-top: calc(40/1100*100vw);
        margin-bottom: calc(80/1100*100vw);
    }
    .filters {
        gap: calc(15/1100*100vw);
    }
    .filters li {
        font-size: calc(15/1100*100vw);
        line-height: calc(30/1100*100vw);
    }
    .filters li label {
        padding: calc(12/1100*100vw) 0;
    }
    .targets {
        margin-top: calc(50/1100*100vw);
        grid-gap: calc(80/1100*100vw) calc(30/1100*100vw);
    }
    .target .blog_box {
        padding: calc(15/1100*100vw);
    }
    .target .blog_infor {
        margin-bottom: calc(10/1100*100vw);
    }
    .targets .blog_img img {
        height: calc(235/1100*100vw);
    }
    .blog_date {
        font-size: calc(16/1100*100vw);
        line-height: calc(22/1100*100vw);
    }
    .target .blog_title h3 {
        font-size: calc(16/1100*100vw);
        line-height: calc(28/1100*100vw);
    }
    .blog_categories a {
        font-size: calc(12/1100*100vw);
        line-height: calc(16/1100*100vw);
    }
    /* Contact */
    .p-contact_body {
        margin-top: calc(80/1100*100vw);
    }
    .p-contact_grid {
        grid-gap: calc(40/1100*100vw);
    }
    .p-contact_item img {
        width: calc(22/1100*100vw);
    }
    .p-contact_item {
        height: calc(100/1100*100vw);
    }
    .p-contact_item .top_txt {
        font-size: calc(16/1100*100vw);
    }
    .p-contact_item .md_txt {
        font-size: calc(12/1100*100vw);
    }
    .p-contact_item.item_tel .dowm_txt {
        font-size: calc(36/1100*100vw);
    }
    .p-contact_item .dowm_txt {
        font-size: calc(24/1100*100vw);
        gap: calc(12/1100*100vw);
    }
    .p-contact_item.item_form .dowm_txt {
        gap: calc(30/1100*100vw);
    }
    /* Footer */
    .footer {
        margin-top: calc(60/1100*100vw);
    }
   /* .footer .nav_list {
        gap: calc(20/1100*100vw) calc(17/1100*100vw);
    }
    .footer .nav_list a {
        font-size: calc(16/1100*100vw); 
    }*/

.footer .nav_list {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 30px 18px;
    padding-bottom: 30px;
    border-bottom: 1px dashed #000000;
    padding-left: 20px; /* 左寄せにするためのパディング */
    margin: 0; /* 余白をリセット */
    list-style-position: inside; /* ドットをリストアイテムの内側に配置 */
	padding-top:20px;
}

.footer .nav_list li {
    list-style-type: disc; /* ドットをリストアイテムに追加 */
    width: calc(50% - 18px); /* 2列表示（gapの影響を考慮） */
    box-sizing: border-box; /* パディングとボーダーを含むボックスサイズ */
    padding: 0; /* パディングをリセット */
    margin: 0; /* マージンをリセット */
    line-height: 1.2; /* 行間を詰める */
}

.footer .nav_list a {
    font-weight: 500;
    font-size: 14px;
    letter-spacing: 0.1em;
    color: #333333;
    position: relative;
    text-align: left; /* 左寄りに配置 */
    display: block; /* リンクをブロック要素にして幅を持たせる */
    text-decoration: none; /* デフォルトのリンクの下線を削除 */
}

.footer .nav_list a::after {
    position: absolute;
    content: "";
    width: 0;
    height: 1px;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    background-color: #333333;
    transition: all 0.35s;
}

.footer .nav_list a:hover::after {
    width: 100%;
}

    /* ブログ一覧ページ */
    .blog_list_sec,
    .blog_detail_sec {
        margin-top: calc(40/1100*100vw);
    }
    .blogs_contain,
    .blog_item_contain {
        width: 70%;
    }
    .blog_title h1 {
        font-size: calc(24/1100*100vw);
        line-height: calc(36/1100*100vw);
        padding: calc(10/1100*100vw) 0;
    }
    .sidebar {
        width: 25%;
    }
    .sidebar_title {
        margin-top: calc(30/1100*100vw);
        font-size: calc(18/1100*100vw);
        line-height: calc(32/1100*100vw);
        padding: calc(10/1100*100vw) 0;
    }
    .sidebar_box_list {
        margin-top: calc(25/1100*100vw);
        margin-left: calc(25/1100*100vw);
    }
    .sidebar_box_list li {
        margin: calc(10/1100*100vw) auto;
    }
    .sidebar_box_list li a {
        font-size: calc(16/1100*100vw);
        line-height: calc(22/1100*100vw);
    }
    .blog_link_box {
        margin: calc(80/1100*100vw) auto calc(120/1100*100vw);
        gap: calc(40/1100*100vw);
    }
    .blog_link a {
        width: calc(230/1100*100vw);
        height: calc(45/1100*100vw);
        font-size: calc(16/1100*100vw);
        line-height: calc(32/1100*100vw);
    }
    .blog_link a:hover {
        background: rgba(200, 232, 210, 0.41);
    }
    .blog_link.pre_link a::after {
        width: calc(20/1100*100vw);
        height: calc(20/1100*100vw);
        left: calc(50/1100*100vw);
    }
    .blog_link.pre_link a:hover::after {
        left: calc(40/1100*100vw);
    }
    .blog_link.next_link a::after {
        width: calc(20/1100*100vw);
        height: calc(20/1100*100vw);
        right: calc(50/1100*100vw);
    }
    .blog_link.next_link a:hover::after {
        right: calc(40/1100*100vw);
    }
    .blog_item_body {
        margin-top: calc(20/1100*100vw);
    }
    .blog_content {
        margin-top: calc(20/1100*100vw);
        font-size: calc(16/1100*100vw);
        line-height: calc(26/1100*100vw);
        color: #333333;
    }
    .blog_item_body .blog_img {
        margin: calc(50/1100*100vw) auto;
    }
    .blog_content h2 {
        margin: calc(30/1100*100vw) auto;
        padding-left: calc(15/1100*100vw);
        border-left: calc(7/1100*100vw) solid #5BBACF;
        font-size: calc(18/1100*100vw);
        line-height: calc(26/1100*100vw);
    }
    .blog_content h3 {
        margin: calc(30/1100*100vw) auto;
        padding-left: calc(15/1100*100vw);
        border-left: 7px solid #FF9960;
        font-size: calc(16/1100*100vw);
        line-height: calc(26/1100*100vw);
    }
    .blog_content p {
        margin-top: calc(30/1100*100vw);
    }
    .blog_content ul {
        margin-top: calc(30/1100*100vw);
        padding-left: calc(25/1100*100vw);
    }
    .blog_content table {
        margin: calc(30/1100*100vw) auto;
    }
    .example_page .blog_detail_img {
        margin: calc(340/1100*100vw) auto calc(60/1100*100vw);
    }
    .c-subpage_sec {
        margin-bottom: calc(150/1100*100vw);
    }
    .p-price_subintro {
        font-size: calc(16/1100*100vw);
        line-height: calc(30/1100*100vw);
    }
    body #toc_container {
        margin: calc(30/1100*100vw) auto;
        padding: calc(20/1100*100vw) calc(30/1100*100vw);
    }
    .blog_author {
        margin-top: calc(50/1100*100vw);
        font-family: 'Noto Sans JP', sans-serif;
    }
    .blog_author .author_title h3 {
        font-size: calc(20/1100*100vw);
        line-height: calc(27/1100*100vw);
        padding-bottom: calc(5/1100*100vw);
    }
    .blog_author .author_box {
        margin-top: calc(30/1100*100vw);
        gap: calc(25/1100*100vw);
    }
    .blog_author .author_box .author_img {
        max-width: calc(270/1100*100vw);
    }
    .blog_author .author_box .content {
        font-size: calc(16/1100*100vw);
        line-height: calc(30/1100*100vw);
    }
    /* FQA */
    .case_page .fqa_intro {
        margin: calc(50/1100*100vw) auto;
        font-size: calc(16/1100*100vw);
        line-height: calc(22/1100*100vw);
    }
    .fqa_category_title {
        margin: calc(70/1100*100vw) auto calc(40/1100*100vw);
    }
    .fqa_category_title h4 {
        padding-bottom: calc(10/1100*100vw);
        font-size: calc(24/1100*100vw);
        line-height: calc(36/1100*100vw);
    }
    .fqa_category_title h4::after {
        width: calc(360/1100*100vw);
    }
    .faq-item {
        padding: calc(35/1100*100vw) 0;
    }
    .faq-question {
        font-size: calc(18/1100*100vw);
        line-height: calc(36/1100*100vw);
    }
    .faq-question p {
        gap: calc(25/1100*100vw);
    }
    .faq-question p .q {
        width: calc(40/1100*100vw);
        height: calc(40/1100*100vw);
        font-size: calc(24/1100*100vw);
        line-height: calc(35/1100*100vw);
    }
    .faq-answer {
        background: rgba(23, 107, 185, 0.09);
        padding: calc(20/1100*100vw);
        font-size: calc(16/1100*100vw);
        line-height: calc(28/1100*100vw);
    }
    .faq-icon {
        right: calc(20/1100*100vw);
        width: calc(50/1100*100vw);
        height: calc(50/1100*100vw);
    }
    /*  */
    .c-subpage_sec {
        margin-bottom: calc(150/1100*100vw);
    }
    .p-price_subintro {
        font-size: calc(16/1100*100vw);
        line-height: calc(30/1100*100vw);
    }
    /*  */
    .page_content h2 {
        margin-top: calc(60/1100*100vw);
        padding-left: calc(15/1100*100vw);
        border-left: calc(7/1100*100vw) solid #5BBACF;
        font-size: calc(18/1100*100vw);
        line-height: calc(25/1100*100vw);
    }
    .page_content h3 {
        margin-top: calc(40/1100*100vw);
        font-size: calc(16/1100*100vw);
        line-height: calc(25/1100*100vw);
    }
    .page_content ul {
        margin-top: calc(30/1100*100vw);
        padding-left: calc(25/1100*100vw);
    }
    .page_content p {
        margin-top: calc(30/1100*100vw);
    }
    .p-service.service_inc {
        margin: calc(100/1100*100vw) auto 0;
        padding-bottom: calc(100/1100*100vw);
    }
    /* Office */
    .p-president {
        margin-top: calc(80/1100*100vw);
    }
    .p-president_body {
        margin-top: calc(120/1100*100vw);
    }
    .p-message_box {
        gap: calc(50/1100*100vw);
    }
    .p-message_box .message_img {
        max-width: calc(300/1100*100vw);
    }
    .p-message_box .president_intro {
        font-size: calc(16/1100*100vw);
        margin-top: calc(15/1100*100vw);
    }
    .company_page .sec_title h3 {
        font-size: calc(24/1100*100vw);
        line-height: calc(30/1100*100vw);
        padding-left: calc(15/1100*100vw);
    }
    .p-message_box .message_content .sec_txt {
        font-size: calc(16/1100*100vw);
        line-height: calc(30/1100*100vw);
        margin-top: calc(20/1100*100vw);
    }
    .p-profile {
        margin-top: calc(120/1100*100vw);
    }
    .p-profile_body {
        margin-top: calc(30/1100*100vw);
        gap: calc(20/1100*100vw);
    }
    .p-profile_body .map {
        max-width: calc(470/1100*100vw);
        width: calc(470/1100*100vw);
    }
    .p-profile_body table,
    .p-profile_body table tr,
    .p-profile_body table td {
        font-size: calc(16/1100*100vw);
        line-height: calc(30/1100*100vw);
        padding: calc(10/1100*100vw) calc(15/1100*100vw);
    }
    .p-profile_body table tr td:first-child {
        max-width: calc(80/1100*100vw);
        padding-left: calc(25/1100*100vw);
        width: calc(80/1100*100vw);
    }
    /*  */
    .p-staff {
        margin-top: calc(120/1100*100vw);
        margin-bottom: calc(100/1100*100vw);
    }
    .p-staff .staff_title .staff_intro {
        max-width: calc(800/1100*100vw);
        margin-top: calc(25/1100*100vw);
        font-size: calc(16/1100*100vw);
        line-height: calc(30/1100*100vw);
    }
    .p-staff_body {
        margin-top: calc(80/1100*100vw);
    }
    .staff_row {
        margin-bottom: calc(50/1100*100vw);
    }
    .staff_head span {
        font-size: calc(20/1100*100vw);
        padding: calc(8/1100*100vw) calc(35/1100*100vw);
    }
    .staff_flex {
        margin-top: calc(50/1100*100vw);
        gap: calc(30/1100*100vw);
    }
    .staff_flex .item {
        padding: calc(30/1100*100vw);
    }
    .staff_img img {
        width: calc(250/1100*100vw);
        height: calc(250/1100*100vw);
    }
    .staff_infor {
        margin-top: calc(15/1100*100vw);
        font-size: calc(16/1100*100vw);
    }
    /* ブログ一覧ページ */
    .news_list_sec,
    .news_detail_sec {
        margin-top: calc(100/1100*100vw);
        margin-bottom: 100px;
    }
    .news_title h2 {
        font-size: calc(18/1100*100vw);
        line-height: calc(32/1100*100vw);
        padding: calc(10/1100*100vw) 0;
    }
    .news_box {
        gap: calc(30/1100*100vw);
        margin: calc(40/1100*100vw) auto;
    }
    .news_date {
        font-size: calc(18/1100*100vw);
        line-height: calc(32/1100*100vw);
    }
    .news_content {
        font-size: calc(16/1100*100vw);
        line-height: calc(26/1100*100vw);
        margin: calc(15/1100*100vw) auto;
    }
    .news_read_more a {
        font-size: calc(16/1100*100vw);
        line-height: calc(32/1100*100vw);
    }
    /* ブログ詳細ページ */
    .news_item_body .news_img {
        margin: calc(25/1100*100vw) auto calc(50/1100*100vw);
    }
    .news_link_box {
        margin: calc(80/1100*100vw) auto calc(160/1100*100vw);
        gap: calc(40/1100*100vw);
    }
    .news_link a {
        width: calc(230/1100*100vw);
        height: calc(45/1100*100vw);
        font-size: calc(16/1100*100vw);
        line-height: calc(32/1100*100vw);
    }
    .news_link.pre_link a::after {
        width: calc(20/1100*100vw);
        height: calc(20/1100*100vw);
        left: calc(50/1100*100vw);
    }
    .news_link.pre_link a:hover::after {
        left: calc(40/1100*100vw);
    }
    .news_link.next_link a::after {
        width: calc(20/1100*100vw);
        height: calc(20/1100*100vw);
        right: calc(50/1100*100vw);
    }
    .news_link.next_link a:hover::after {
        right: calc(40/1100*100vw);
    }
}

@media screen and (max-width: 767px) {
    .case_page,
    .blog_page,
    .example_page {
        padding: 0 calc(35/768*100vw);
    }
    /* Common */
    .page_max_width {
        max-width: 100%;
    }
    .page_width {
        max-width: 100%;
    }
    .page_small_width {
        max-width: 100%;
    }
    .c-sec_title {
        margin: calc(50/768*100vw) auto calc(120/768*100vw);
        padding-top: calc(20/768*100vw);
    }
    .c-sec_title::after {
        width: calc(660/768*100vw);
        bottom: calc(-20/768*100vw);
    }
    .c-sec_title h3.en {
        font-size: calc(45/768*100vw);
        line-height: calc(90/768*100vw);
    }
    .c-sec_title h2.en {
        font-size: calc(45/768*100vw);
        line-height: calc(90/768*100vw);
    }
    .c-sec_title h2 {
        font-size: calc(45/768*100vw);
        line-height: calc(75/768*100vw);
    }
	    .c-sec_title h1 {
        font-size: calc(45/768*100vw);
        line-height: calc(75/768*100vw);
    }
    .strength_pgae .c-sec_title h2 {
        font-size: calc(40/768*100vw);
        line-height: calc(75/768*100vw);
    }
    .c-sec_title p.jp {
        margin-top: calc(20/768*100vw);
        font-size: calc(32/768*100vw);
        line-height: calc(46/768*100vw);
    }
    .c-view_more {
        padding: calc(60/768*100vw) 0;
    }
    .c-view_more a {
        width: calc(600/768*100vw);
        height: calc(100/768*100vw);
        font-size: calc(36/768*100vw);
        line-height: calc(54/768*100vw);
    }
    .c-view_more a::after {
        right: calc(30/768*100vw);
        top: calc(34/768*100vw);
        width: calc(18/768*100vw);
        height: calc(18/768*100vw);
    }
    .c-view_more a:hover::after {
        right: calc(20/768*100vw);
    }
    /*  */
    .header_left_bg {
        top: 0;
        left: 0;
        z-index: -1;
        width: calc(420/768*100vw);
        height: auto;
    }
    .header_right_bg {
        display: none;
        position: absolute;
        top: -20px;
        right: 0;
        z-index: -1;
        width: calc(280/768*100vw);
        height: auto;
    }
    .pc.nav,
    .header_top_box.pc {
        display: none !important;
    }
    .pc {
        display: none !important;
    }
    .sp {
        display: block !important;
    }
    .header_contain {
        flex-direction: row;
        padding: 20px;
    }
    .header_logo .logotext {
        font-size: 20px;
        line-height: 32px;
    }
    /* Main */
    .c-mv {
        margin-top: calc(150/768*100vw);
        width: 100%;
        height: auto;
        position: relative;
        z-index: 0;
    }
    .c-mv_txt {
        top: calc(50/768*100vw);
        transform: translateX(-50%);
        width: 95%;
    }
    .c-mv_txt h1 {
        font-size: calc(32/768*100vw);
        line-height: calc(48/768*100vw);
        padding: calc(20/768*100vw);
    }
    .main {
        margin: auto;
		margin-top: 80px;
    }
    .sub_page {
        padding: 0 calc(35/768*100vw);
    }
    .c-breadcrumbs_box {
        margin-top: calc(50/768*100vw);
        padding: 0 calc(35/768*100vw);
    }
    .c-topsec {
        margin-top: 70px;
    }
    .c-page_title {
        padding: calc(150/768*100vw) 0px;
    }
    .c-page_title h1 {
        font-size: calc(40/768*100vw);
        line-height: calc(42/768*100vw);
        margin-right: calc(40/768*100vw);
    }
	    .c-page_title h2 {
        font-size: calc(40/768*100vw);
        line-height: calc(42/768*100vw);
        margin-right: calc(40/768*100vw);
    }
    .c-breadcrumbs ul a,
    .c-breadcrumbs ul span {
        font-size: calc(26/768*100vw);
    }
    /* Blog List */
    .p-bloglist {
        margin-top: calc(40/768*100vw);
        margin-bottom: calc(80/768*100vw);
    }
    .filters,
    .example_page .filters {
        grid-template-columns: repeat(2, 1fr);
        gap: calc(25/768*100vw);
    }
    .case_page .filters {
        grid-template-columns: repeat(2, 1fr);
        gap: calc(20/768*100vw);
    }
    .filters li {
        font-size: calc(30/768*100vw);
        line-height: calc(36/768*100vw);
    }
    .case_page .filters li {
        font-size: calc(26/768*100vw);
        line-height: calc(36/768*100vw);
    }
    .filters li label {
        padding: calc(25/768*100vw) 0;
    }
    .targets {
        margin-top: calc(50/768*100vw);
        grid-gap: calc(60/768*100vw) calc(30/768*100vw);
        grid-template-columns: repeat(2, 1fr);
    }
    .targets .blog_img img {
        height: calc(250/768*100vw);
    }
    .target .blog_box {
        padding: calc(20/768*100vw);
    }
    .target .blog_infor {
        margin-bottom: calc(20/768*100vw);
        flex-direction: column-reverse;
        align-items: flex-start;
        gap: calc(10/768*100vw);
    }
    .blog_date {
        font-size: calc(26/768*100vw);
        line-height: calc(32/768*100vw);
    }
    .target .blog_title h3 {
        font-size: calc(28/768*100vw);
        line-height: calc(42/768*100vw);
    }
    .blog_categories a {
        font-size: calc(24/768*100vw);
        line-height: calc(26/768*100vw);
        padding: calc(5/768*100vw) calc(10/768*100vw);
    }
    /* Contact */
    .p-contact {
        position: fixed;
        bottom: 0;
        left: 0;
        width: calc(100% - 20px);
        padding: calc(30/768*100vw) 10px 0;
        z-index: 100;
        display: none;
        transition: all 0.5s;
    }
    .p-contact_body {
        margin-top: 0;
    }
    .p-contact_grid {
        grid-template-columns: 1fr 1fr;
        grid-gap: calc(20/768*100vw);
    }
    .p-contact_item img {
        width: calc(28/768*100vw);
        height: auto;
    }
    .p-contact_item {
        display: flex;
        align-items: center;
        justify-content: center;
        height: calc(110/768*100vw);
    }
    .p-contact_item .top_txt {
        font-size: calc(22/768*100vw);
    }
    .p-contact_item .md_txt {
        font-size: calc(16/768*100vw);
        line-height: 1;
    }
    .p-contact_item.item_tel .dowm_txt {
        font-size: calc(40/768*100vw);
    }
    .p-contact_item .dowm_txt {
        font-size: calc(28/768*100vw);
        gap: calc(10/768*100vw);
    }
    .p-contact_item.item_form .dowm_txt {
        gap: calc(10/1100*100vw);
    }
    /* Footer */
    .footer {
        border-top: 1px solid #A7A3A3;
        margin-bottom: calc(170/768*100vw);
        margin-top: 0;
    }
    .copyrigth {
        margin: calc(40/768*100vw) auto;
        font-size: calc(26/768*100vw);
    }
    /*  */
    /* ブログ一覧ページ */
    .blog_list_sec,
    .blog_detail_sec {
        margin-top: calc(80/768*100vw);
        padding: 0;
    }
    .main_contain {
        flex-direction: column;
        gap: calc(80/768*100vw);
    }
    .blogs_contain,
    .blog_item_contain {
        width: 100%;
    }
    .blog_title h1 {
        font-size: calc(40/768*100vw);
        line-height: calc(48/768*100vw);
        padding: calc(20/768*100vw) 0;
    }
    .blog_link_box {
        margin: calc(80/768*100vw) auto;
        gap: calc(20/768*100vw);
    }
    .blog_link a {
        width: calc(320/768*100vw);
        height: calc(80/768*100vw);
        font-size: calc(28/768*100vw);
    }
    .blog_link.pre_link a::after {
        width: calc(40/768*100vw);
        height: calc(40/768*100vw);
        left: calc(40/768*100vw);
    }
    .blog_link.pre_link a:hover::after {
        left: calc(20/768*100vw);
    }
    .blog_link.next_link a::after {
        width: calc(40/768*100vw);
        height: calc(40/768*100vw);
        right: calc(40/768*100vw);
    }
    .blog_link.pre_link a:hover::after {
        left: calc(20/768*100vw);
    }
    .blog_link.next_link a:hover::after {
        right: calc(20/768*100vw);
    }
    .sidebar {
        width: 100%;
    }
    .sidebar_title {
        margin-top: calc(40/768*100vw);
        font-size: calc(32/768*100vw);
        line-height: calc(48/768*100vw);
        padding: calc(20/768*100vw) 0;
    }
    .sidebar_box_content {
        margin: calc(30/768*100vw) auto calc(60/768*100vw);
    }
    .sidebar_box_list {
        margin-left: calc(50/768*100vw);
    }
    .sidebar_box_list .item {
        margin: calc(20/768*100vw) auto;
    }
    .sidebar_box_list .item a {
        font-size: calc(32/768*100vw);
        line-height: calc(48/768*100vw);
    }
    .blog_item_body {
        margin-top: calc(40/768*100vw);
    }
    .blog_item_body .blog_infor {
        display: block;
    }
    .blog_item_body .blog_img {
        margin: calc(40/768*100vw) auto;
    }
    .blog_content {
        margin-top: calc(40/768*100vw);
        font-size: calc(26/768*100vw);
        line-height: calc(50/768*100vw);
    }
    .blog_content h2 {
        margin: calc(60/768*100vw) auto;
        padding-left: calc(30/768*100vw);
        border-left: calc(10/768*100vw) solid #5BBACF;
        font-size: calc(32/768*100vw);
        line-height: calc(50/768*100vw);
    }
    .blog_content h3 {
        margin: calc(60/768*100vw) auto;
        padding-left: calc(30/768*100vw);
        border-left: calc(10/768*100vw) solid #FF9960;
        font-size: calc(26/768*100vw);
        line-height: calc(50/768*100vw);
    }
    .blog_content p {
        margin-top: calc(50/768*100vw);
    }
    .blog_content table {
        margin: calc(50/768*100vw) auto;
    }
    .blog_content ul {
        margin-top: calc(50/768*100vw);
        padding-left: calc(50/768*100vw);
    }
    .blog_item_body .blog_date {
        text-align: right;
        margin-top: calc(20/768*100vw);
    }
    body div#toc_container {
        margin: calc(50/768*100vw) auto;
        padding: calc(30/768*100vw);
        background: #fff;
        width: auto;
    }
    .blog_author {
        margin-top: calc(50/768*100vw);
        font-family: 'Noto Sans JP', sans-serif;
    }
    .blog_author .author_title h3 {
        font-size: calc(36/768*100vw);
        line-height: calc(46/768*100vw);
        padding-bottom: calc(10/768*100vw);
    }
    .blog_author .author_box {
        margin-top: calc(50/768*100vw);
        flex-direction: column;
        gap: calc(30/768*100vw);
    }
    .blog_author .author_box .author_img {
        max-width: 100%;
    }
    .blog_author .author_box .content {
        font-size: calc(28/768*100vw);
        line-height: calc(46/768*100vw);
    }
    /* FQA */
    .case_page .fqa_intro {
        margin: auto;
        margin-bottom: calc(40/768*100vw);
        font-weight: 500;
        font-size: calc(28/768*100vw);
        line-height: calc(42/768*100vw);
        text-align: left;
        color: #333333;
    }
    .fqa_category_title {
        margin: calc(60/768*100vw) auto calc(30/768*100vw);
        text-align: center;
    }
    .fqa_category_title h4 {
        font-size: calc(36/768*100vw);
        line-height: 36px;
    }
    .fqa_category_title h4::after {
        width: calc(660/768*100vw);
    }
    .faq-item {
        padding: calc(30/768*100vw) 0;
        border-bottom: 1px dashed #000000;
    }
    .fqa_page .target {
        border: none;
    }
    .faq-question {
        font-size: calc(30/768*100vw);
        line-height: calc(42/768*100vw);
        padding-right: calc(40/768*100vw);
    }
    .faq-question p {
        gap: calc(20/768*100vw);
    }
    .faq-question p .q {
        min-width: calc(60/768*100vw);
        width: calc(60/768*100vw);
        height: calc(60/768*100vw);
        font-size: calc(40/768*100vw);
        line-height: calc(46/768*100vw);
    }
    .faq-answer {
        padding: calc(30/768*100vw);
        font-size: calc(28/768*100vw);
        line-height: calc(42/768*100vw);
        margin-top: calc(30/768*100vw);
        margin-left: calc(60/768*100vw);
    }
    .faq-icon {
        right: calc(10/768*100vw);
        width: calc(30/768*100vw);
        height: calc(30/768*100vw);
    }
    .faq-icon::before {
        width: 12px;
    }
    .faq-icon::after {
        width: 2px;
        height: 12px;
    }
    /*  */
    .c-subpage_sec {
        margin-bottom: calc(150/768*100vw);
    }
    .p-price_subintro {
        font-size: calc(28/768*100vw);
        line-height: calc(50/768*100vw);
    }
    /*  */
    .page_content h2 {
        margin-top: calc(80/768*100vw);
        padding-left: calc(30/768*100vw);
        border-left: calc(10/768*100vw) solid #5BBACF;
        font-size: calc(32/768*100vw);
        line-height: calc(50/768*100vw);
    }
    .page_content h3 {
        margin-top: calc(60/768*100vw);
        font-size: calc(32/768*100vw);
        line-height: calc(50/768*100vw);
    }
    .page_content ul {
        margin-top: calc(50/768*100vw);
        padding-left: calc(50/768*100vw);
    }
    .page_content p {
        margin-top: calc(50/768*100vw);
    }
    .p-service.service_inc {
        margin: calc(100/768*100vw) auto 0;
        padding-bottom: calc(100/768*100vw);
    }
    /* office */
    .company_page {
        padding: 0 20px;
    }
    .p-president {
        margin-top: 0px;
    }
    .p-president_body {
        margin-top: 60px;
    }
    .p-message_box {
        flex-direction: column;
        gap: 30px;
    }
    .p-message_box .message_img {
        max-width: 80%;
    }
    .p-message_box .president_intro {
        font-size: 16px;
        margin-top: 15px;
    }
    .company_page .sec_title h3 {
        font-size: 22px;
        line-height: 30px;
        padding-left: 15px;
    }
    .p-message_box .message_content .sec_txt {
        font-size: 14px;
        line-height: 26px;
        margin-top: 20px;
    }
    .p-profile {
        margin-top: 60px;
    }
    .p-profile_body {
        margin-top: 30px;
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .p-profile_body .map {
        max-width: 100%;
        width: 100%;
        height: calc(500/768*100vw);
    }
    .p-profile_body table {
        width: 100%;
    }
    .p-profile_body table,
    .p-profile_body table tr,
    .p-profile_body table td {
        font-size: 14px;
        line-height: 26px;
        padding: 10px 15px;
    }
    .p-profile_body table tr td:first-child {
        max-width: 50px;
        padding-left: 15px;
        width: 25%;
    }
    /*  */
    .p-staff {
        margin-top: 60px;
        margin-bottom: 50px;
    }
    .p-staff .staff_title .staff_intro {
        max-width: 100%;
        margin-top: 25px;
        font-size: 14px;
        line-height: 26px;
        text-align: left;
    }
    .p-staff_body {
        margin-top: 50px;
    }
    .staff_row {
        margin-bottom: 50px;
    }
    .staff_head span {
        font-size: 18px;
        padding: 8px 35px;
    }
    .staff_flex {
        margin-top: 40px;
        gap: 20px;
    }
    .staff_flex .item {
        padding: 20px;
    }
    .staff_img img {
        width: 250px;
        height: 250px;
    }
    .staff_infor {
        margin-top: 15px;
        font-size: 16px;
        font-weight: 600;
    }
    .p-staff .staff_title {
        margin: auto;
        text-align: left;
    }
    /* ブログ一覧ページ */
    .news_list_sec,
    .news_detail_sec {
        margin-top: calc(160/768*100vw);
        margin-bottom: calc(160/768*100vw);
        padding: 0 calc(40/768*100vw);
    }
    .main_contain {
        flex-direction: column;
        gap: calc(80/768*100vw);
    }
    .news_contain,
    .news_item_contain {
        width: 100%;
    }
    .news_title h2 {
        font-weight: 600;
        font-size: calc(36/768*100vw);
        line-height: calc(48/768*100vw);
        padding: calc(20/768*100vw) 0;
    }
    .news_box {
        flex-direction: column;
        gap: calc(50/768*100vw);
        margin: calc(60/768*100vw) auto;
    }
    .news_img {
        width: 100%;
    }
    .news_body {
        width: 100%;
    }
    .news_date {
        font-size: calc(32/768*100vw);
        line-height: calc(48/768*100vw);
    }
    .news_content {
        font-size: calc(28/768*100vw);
        line-height: calc(48/768*100vw);
        margin: calc(20/768*100vw) auto;
    }
    .news_read_more a {
        font-size: calc(32/768*100vw);
        line-height: calc(42/768*100vw);
    }
    /* ブログ詳細ページ */
    .news_item_body .news_img {
        margin: calc(50/768*100vw) auto calc(100/768*100vw);
    }
    .news_link_box {
        margin: calc(80/768*100vw) auto calc(160/768*100vw);
        gap: calc(20/768*100vw);
    }
    .news_link a {
        width: calc(320/768*100vw);
        height: calc(80/768*100vw);
        font-size: calc(28/768*100vw);
    }
    .news_link.pre_link a::after {
        width: calc(40/768*100vw);
        height: calc(40/768*100vw);
        left: calc(40/768*100vw);
    }
    .news_link.pre_link a:hover::after {
        left: calc(20/768*100vw);
    }
    .news_link.next_link a::after {
        width: calc(40/768*100vw);
        height: calc(40/768*100vw);
        right: calc(40/768*100vw);
    }
    .news_link.pre_link a:hover::after {
        left: calc(20/768*100vw);
    }
    .news_link.next_link a:hover::after {
        right: calc(20/768*100vw);
    }
    .page_top {
        bottom: 80px;
        right: 15px;
        width: 45px;
        height: 45px;
    }
    .page_top a {
        width: 10px;
        height: 10px;
        border-top: 3px solid #ffffff;
        border-right: 3px solid #ffffff;
        left: 17px;
        top: 19px;
    }
}