﻿@import"base.css";
@import"fonts.css";

:root {
    --content-width: 1130px;
    --font-yugothic: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
    --font-yumincho: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝B", serif;
    --font-meiryo: "Meiryo UI", Meiryo, メイリオ, Osaka, "MS PGothic", arial, helvetica, sans-serif;
    --font-arial: Arial, Helvetica, sans-serif;
    --font-serif: "Noto Serif JP", serif;
    --cl-primary: #5999ca;
    --cl-2nd: #1769a8;
    --cl-white: #ffffff;
    --cl-black: #333333;
    --cl-gray: #cccccc;
    --text-line-height: 1.8em;
    --font-family: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
    --body-cl: #333333
}

h1,
h2,
h3,
h4,
h5,
h6,
input,
button,
textarea,
select,
p,
blockquote,
th,
td,
pre,
address,
li,
dt,
dd {
    font-size: 160%;
    -webkit-text-size-adjust: none;
    font-family: var(--font-family)
}

input[type=text],
input[type=email],
input[type=tel],
input[type=number],
textarea,
select {
    width: 100%;
    border: solid 1px #999;
    padding: 10px
}

textarea {
    resize: vertical
}

::placeholder {
    opacity: .5
}

h1,
h2,
h3,
h4,
h5,
h6 {
    line-height: 1.6em;
    font-weight: 700;
    margin-bottom: .5em
}

a {
    color: var(--cl-primary);
    font-family: var(--font-family);
    transition: all .2s;
    text-decoration: none
}

select {
    visibility: visible !important
}

[href^="tel:"] {
    word-break: keep-all;
    white-space: nowrap
}

img {
    vertical-align: middle;
    max-width: 100%;
    flex-shrink: 0;
    height: auto;
    object-fit: cover
}

table {
    width: 100%
}

p {
    margin-bottom: 15px;
    line-height: 1.8em
}

p:last-child {
    margin-bottom: 0
}

button {
    cursor: pointer;
    border: solid 1px #333;
    border-radius: 0;
    outline: none;
    box-shadow: none
}

*,
::before,
::after {
    box-sizing: border-box;
    outline: none
}

html {
    background: #fff
}

body {
    min-width: 320px;
    -webkit-text-size-adjust: none;
    color: var(--body-cl)
}

#wrapper {
    max-width: 1920px;
    min-width: 1260px;
    margin: 0 auto;
    overflow: hidden
}

.inner {
    width: var(--content-width);
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px
}

.customize-support header {
    margin-top: 32px
}

@media screen and (max-width: 782px) {
    .customize-support header {
        margin-top: 46px !important
    }
}

@media screen and (max-width: 600px) {
    .customize-support header {
        margin-top: 0px !important
    }
}

#wpadminbar .show-template-name,
#wpadminbar .hover .show-template-name {
    text-shadow: none
}

#wpadminbar #wp-admin-bar-included_files_path .ab-item {
    height: auto;
    padding-bottom: 1rem
}

#wpadminbar #wp-admin-bar-included_files_path .ab-item div {
    font-family: monospace;
    text-shadow: none;
    color: #fff
}

#wpadminbar .hover .show-template-name:hover {
    color: #2ea2cc
}

#wpadminbar #wp-admin-bar-included_files_path .ab-item #included-files-list li {
    line-height: 1.5
}

#wpadminbar #wp-admin-bar-included_files_path .ab-item #included-files-list li:hover {
    color: #2ea2cc
}

#wpadminbar #included-files-list {
    margin-left: 20px
}

#wp-admin-bar-show_template_file_name_on_top-default {
    max-height: 90vh;
    overflow-x: hidden
}

#included-files-fie-on-wp-footer {
    display: none
}

#wpadminbar #wp-admin-bar-aioseo-main .aioseo-logo {
    display: inline-block !important;
    height: 23px !important;
    transform: translateY(6px)
}

.mb-0 {
    margin-bottom: 0px !important
}

.mb-5 {
    margin-bottom: 5px !important
}

.mb-10 {
    margin-bottom: 10px !important
}

.mb-15 {
    margin-bottom: 15px !important
}

.mb-20 {
    margin-bottom: 20px !important
}

.mb-25 {
    margin-bottom: 25px !important
}

.mb-30 {
    margin-bottom: 30px !important
}

.mb-35 {
    margin-bottom: 35px !important
}

.mb-40 {
    margin-bottom: 40px !important
}

.mb-45 {
    margin-bottom: 45px !important
}

.mb-50 {
    margin-bottom: 50px !important
}

.mt-0 {
    margin-top: 0px !important
}

.mt-5 {
    margin-top: 5px !important
}

.mt-10 {
    margin-top: 10px !important
}

.mt-15 {
    margin-top: 15px !important
}

.mt-20 {
    margin-top: 20px !important
}

.mt-25 {
    margin-top: 25px !important
}

.mt-30 {
    margin-top: 30px !important
}

.mt-35 {
    margin-top: 35px !important
}

.mt-40 {
    margin-top: 40px !important
}

.mt-45 {
    margin-top: 45px !important
}

.mt-50 {
    margin-top: 50px !important
}

.ml-0 {
    margin-left: 0px !important
}

.ml-5 {
    margin-left: 5px !important
}

.ml-10 {
    margin-left: 10px !important
}

.ml-15 {
    margin-left: 15px !important
}

.ml-20 {
    margin-left: 20px !important
}

.ml-25 {
    margin-left: 25px !important
}

.ml-30 {
    margin-left: 30px !important
}

.ml-35 {
    margin-left: 35px !important
}

.ml-40 {
    margin-left: 40px !important
}

.ml-45 {
    margin-left: 45px !important
}

.ml-50 {
    margin-left: 50px !important
}

.mr-0 {
    margin-right: 0px !important
}

.mr-5 {
    margin-right: 5px !important
}

.mr-10 {
    margin-right: 10px !important
}

.mr-15 {
    margin-right: 15px !important
}

.mr-20 {
    margin-right: 20px !important
}

.mr-25 {
    margin-right: 25px !important
}

.mr-30 {
    margin-right: 30px !important
}

.mr-35 {
    margin-right: 35px !important
}

.mr-40 {
    margin-right: 40px !important
}

.mr-45 {
    margin-right: 45px !important
}

.mr-50 {
    margin-right: 50px !important
}

.mx-0 {
    margin-left: 0px !important;
    margin-right: 0px !important
}

.mx-5 {
    margin-left: 5px !important;
    margin-right: 5px !important
}

.mx-10 {
    margin-left: 10px !important;
    margin-right: 10px !important
}

.mx-15 {
    margin-left: 15px !important;
    margin-right: 15px !important
}

.mx-20 {
    margin-left: 20px !important;
    margin-right: 20px !important
}

.mx-25 {
    margin-left: 25px !important;
    margin-right: 25px !important
}

.mx-30 {
    margin-left: 30px !important;
    margin-right: 30px !important
}

.mx-35 {
    margin-left: 35px !important;
    margin-right: 35px !important
}

.mx-40 {
    margin-left: 40px !important;
    margin-right: 40px !important
}

.mx-45 {
    margin-left: 45px !important;
    margin-right: 45px !important
}

.mx-50 {
    margin-left: 50px !important;
    margin-right: 50px !important
}

.my-0 {
    margin-top: 0px !important;
    margin-bottom: 0px !important
}

.my-5 {
    margin-top: 5px !important;
    margin-bottom: 5px !important
}

.my-10 {
    margin-top: 10px !important;
    margin-bottom: 10px !important
}

.my-15 {
    margin-top: 15px !important;
    margin-bottom: 15px !important
}

.my-20 {
    margin-top: 20px !important;
    margin-bottom: 20px !important
}

.my-25 {
    margin-top: 25px !important;
    margin-bottom: 25px !important
}

.my-30 {
    margin-top: 30px !important;
    margin-bottom: 30px !important
}

.my-35 {
    margin-top: 35px !important;
    margin-bottom: 35px !important
}

.my-40 {
    margin-top: 40px !important;
    margin-bottom: 40px !important
}

.my-45 {
    margin-top: 45px !important;
    margin-bottom: 45px !important
}

.my-50 {
    margin-top: 50px !important;
    margin-bottom: 50px !important
}

.w0 {
    width: 0%
}

.w5 {
    width: 5%
}

.w10 {
    width: 10%
}

.w15 {
    width: 15%
}

.w20 {
    width: 20%
}

.w25 {
    width: 25%
}

.w30 {
    width: 30%
}

.w35 {
    width: 35%
}

.w40 {
    width: 40%
}

.w45 {
    width: 45%
}

.w50 {
    width: 50%
}

#menu-toggle {
    width: 66px;
    height: 66px;
    background: url(../images/menu_bg_sp.png) right top/100% auto no-repeat;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 100;
    cursor: pointer;
    display: none
}

#menu-toggle>span {
    --height: 2px;
    position: absolute;
    width: 36%;
    height: var(--height);
    background: #3680b8;
    left: 33%;
    transition: .2s ease-in-out
}

#menu-toggle>span:nth-child(1) {
    top: calc(50% - var(--height)/2 - 12px)
}

#menu-toggle>span:nth-child(2),
#menu-toggle>span:nth-child(3) {
    top: calc(50% - var(--height)/2 - 2px)
}

#menu-toggle>span:nth-child(4) {
    top: calc(50% - var(--height)/2 + 8px)
}

#menu-toggle.open span:nth-child(1),
#menu-toggle.open span:nth-child(4) {
    width: 0%;
    top: calc(50% - var(--height)/2);
    left: 50%
}

#menu-toggle.open span:nth-child(2) {
    transform: rotate(45deg)
}

#menu-toggle.open span:nth-child(3) {
    transform: rotate(-45deg)
}

.to-top {
    position: fixed;
    right: 10px;
    bottom: 162px;
    transition: .4s ease;
    opacity: 0;
    visibility: hidden;
    transform: translateY(100%);
    z-index: 10
}

.to-top>a {
    display: block;
    cursor: pointer;
    width: 60px;
    height: 60px;
    background: var(--cl-2nd);
    border-radius: 8px;
    text-decoration: none
}

.to-top>a:before {
    --size: 14px;
    content: "";
    position: absolute;
    z-index: 1;
    left: 0;
    top: 0;
    width: var(--size);
    height: var(--size);
    border-top: solid 3px #fff;
    border-right: solid 3px #fff;
    transform: rotateZ(-45deg);
    left: calc(50% - var(--size)/2);
    top: calc(56% - var(--size)/2)
}

.to-top.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0)
}

.d-flex {
    display: flex
}

.d-flex-column {
    display: flex;
    flex-direction: column
}

.flex-wrap {
    display: flex;
    flex-wrap: wrap
}

.flex-center-all {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center
}

.left {
    text-align: left
}

.center {
    text-align: center
}

.right {
    text-align: right
}

.bold {
    font-weight: bold
}

.text-large {
    font-size: 130%
}

.text-small {
    font-size: 80%
}

.text-red {
    color: red
}

img.alignleft {
    float: left;
    margin-right: 20px;
    margin-bottom: 20px
}

img.alignright {
    float: right;
    margin-left: 20px;
    margin-bottom: 20px
}

img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto
}

.tab-content {
    display: none
}

.tab-content.active {
    display: block
}

[data-tab],
.accordion-button {
    cursor: pointer
}

.fixed_btn {
    padding: 20px 20px 32px;
    position: fixed;
    bottom: 0;
    right: 0;
    background: rgba(255, 255, 255, .9);
    border-top-left-radius: 10px;
    display: flex;
    transform: translateY(100%);
    transition: .4s ease;
    z-index: 5
}

.fixed_btn.show {
    transform: translateY(0)
}

.fixed_btn-item:not(:last-child) {
    margin-right: 16px
}

.fixed_btn-item a {
    position: relative;
    display: inline-flex;
    align-items: center;
    flex-direction: column;
    min-height: 100px;
    width: 240px;
    border-radius: 10px;
    box-shadow: 2px 2px 10px 0px rgba(0, 0, 0, .2);
    -webkit-box-shadow: 2px 2px 10px 0px rgba(0, 0, 0, .2);
    -moz-box-shadow: 2px 2px 10px 0px rgba(0, 0, 0, .2);
    transition: .3s ease
}

.fixed_btn-item .tel {
    padding: 8px 15px;
    background: var(--cl-2nd)
}

.fixed_btn-item .tel_sub {
    margin-bottom: 2px;
    color: var(--cl-white);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.75em;
    letter-spacing: .055em;
    text-align: center
}

.fixed_btn-item .tel_num {
    padding-left: 30px;
    font-size: 22px;
    font-family: var(--font-serif);
    font-weight: 700;
    color: var(--cl-white);
    letter-spacing: .09em;
    background: url(../images/ico_tel.svg) 0% calc(50% + 1px)/23px auto no-repeat
}

.fixed_btn-item .line {
    padding: 10px 15px 5px;
    background: #06c755
}

.fixed_btn-item .line_sub {
    margin-bottom: 4px;
    color: var(--cl-white);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.7em;
    letter-spacing: .055em;
    text-align: center
}

.fixed_btn-item .line_txt {
    padding-left: 33px;
    font-size: 22px;
    font-family: var(--font-yugothic);
    font-weight: 700;
    color: var(--cl-white);
    letter-spacing: .055em;
    background: url(../images/ico_line.svg) 0% calc(50% - 1px)/28px auto no-repeat
}

.fixed_btn-item .contact {
    padding: 8px;
    align-items: flex-start;
    background: var(--cl-white);
    border: solid 2px var(--cl-2nd)
}

.fixed_btn-item .contact::after {
    content: "";
    position: absolute;
    bottom: 13px;
    right: -9px;
    width: 99px;
    aspect-ratio: 99/98;
    background: url(../images/ico_btn_contact.png) center/100% auto no-repeat
}

.fixed_btn-item .contact_txt {
    position: relative;
    z-index: 2
}

.fixed_btn-item .contact_txt-main {
    display: inline-flex;
    flex-direction: column
}

.fixed_btn-item .contact_txt-main br {
    display: none
}

.fixed_btn-item .contact_txt-main .word {
    display: inline-flex
}

.fixed_btn-item .contact_txt-main .word:not(:last-child) {
    margin-bottom: 6px
}

.fixed_btn-item .contact_txt-main .char {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 30px;
    aspect-ratio: 1/1;
    color: var(--cl-white);
    font-size: 20px;
    font-weight: 700;
    background: var(--cl-primary)
}

.fixed_btn-item .contact_txt-main .char:not(:last-child) {
    margin-right: 3px
}

.fixed_btn-item .contact_txt-sub {
    position: absolute;
    top: -20px;
    left: 80px;
    font-weight: 700;
    line-height: 1.25em;
    letter-spacing: .055em;
    color: var(--cl-black)
}

.fixed_btn-item .contact_txt-sub::before {
    content: "";
    position: absolute;
    top: calc(50% + 5px);
    left: 50%;
    transform: translate(-50%, -50%);
    width: 84px;
    aspect-ratio: 84/57;
    background: url(../images/ico_chat_contact.png) center/100% auto no-repeat;
    z-index: -1
}

.fixed_btn-item .contact_sub {
    padding: 7px 25px 7px 23px;
    position: absolute;
    bottom: -1px;
    left: 50%;
    transform: translate(-50%, 50%);
    border-radius: 18px;
    background: var(--cl-2nd);
    box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, .2);
    -webkit-box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, .2);
    -moz-box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, .2);
    z-index: 2
}

.fixed_btn-item .contact_sub span {
    padding-right: 14px;
    color: var(--cl-white);
    font-size: 14px;
    letter-spacing: .055em;
    font-weight: 700;
    white-space: nowrap;
    background: url(../images/ico_arr_contact.png) 100% 50%/6px auto no-repeat
}

.sec_heading {
    margin-bottom: 33px;
    display: flex;
    flex-direction: column;
    align-items: center
}

.sec_heading .jp {
    padding-top: 31px;
    color: #5496cd;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.4em;
    letter-spacing: .055em;
    text-align: center;
    background: url(../images/ico_heading.png) center top/20px auto no-repeat
}

.sec_heading .en {
    font-size: 15px;
    font-family: var(--font-serif);
    font-weight: 600;
    color: var(--cl-black);
    letter-spacing: .06em;
    line-height: 1.6em;
    text-transform: uppercase;
    text-align: center
}

.sec_heading.--white {
    filter: brightness(0) invert(1)
}

.btn {
    display: inline-block;
    padding: 12px 30px 9px;
    width: 260px;
    max-width: 100%;
    min-height: 49px;
    border-radius: 25px;
    background: url(../images/ico_arr_btn.png) calc(100% - 16px) 50%/8px auto no-repeat, var(--cl-2nd);
    color: var(--cl-white);
    font-size: 18px;
    font-weight: 700;
    letter-spacing: .055em;
    text-align: center;
    transition: .3s ease;
    box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, .2);
    -webkit-box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, .2);
    -moz-box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, .2)
}

.--blue {
    color: #5197ce;
    font-weight: 700
}

.open-nav {
    overflow: hidden
}

.header.active .header_wrap {
    column-gap: 10px
}

.header.active .header_menu-item:last-child .submenu {
    right: -20px
}

.header.active .header_info {
    flex-grow: 1;
    width: 350px
}

.header.active h1 {
    margin-bottom: 5px;
    font-size: 12px
}

.header_wrap {
    position: fixed;
    top: 0;
    left: 0;
    width: max(min(100%, 1920px), 1260px);
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    pointer-events: none;
    z-index: 10
}

.header_info {
    position: relative;
    padding: 20px 30px;
    width: 500px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    pointer-events: visible;
    transition: .3s ease
}

.header_info-logo {
    margin-bottom: 0;
    width: 170px;
    transition: .3s ease
}

.header_info-txt {
    margin-left: 32px;
    padding-top: 3px;
    font-size: 16px;
    font-family: var(--font-yugothic);
    font-weight: 700;
    color: #599cd1;
    letter-spacing: .055em;
    line-height: 1.6em;
    transition: .3s ease
}

.header_nav {
    flex-shrink: 0;
    position: relative;
    padding: 26px 40px;
    pointer-events: visible
}

.header_menu {
    display: flex
}

.header_menu-item {
    padding: 10px 0;
    position: relative
}

.header_menu-item:not(:last-child) {
    margin-right: 47px
}

.header_menu-item:last-child .submenu {
    left: auto;
    right: -40px;
    transform: translateY(100%)
}

.header_menu-item.active>span::after {
    scale: -1
}

.header_menu-item.active .submenu {
    opacity: 1;
    visibility: visible
}

.header_menu-item>span {
    cursor: pointer
}

.header_menu-item>span,
.header_menu-item>a {
    padding-right: 23px;
    position: relative;
    font-size: 18px;
    font-family: var(--font-yugothic);
    font-weight: 700;
    color: var(--cl-black);
    letter-spacing: .055em;
    transition: .3s ease
}

.header_menu-item>span::after,
.header_menu-item>a::after {
    content: "";
    position: absolute;
    top: calc(50% - 1px);
    right: 0;
    width: 16px;
    aspect-ratio: 8/5;
    background: url(../images/ico_arr.png) center/100% auto no-repeat;
    transform: translateY(-50%);
    transition: .3s ease;
    transform-origin: top center
}

.header .submenu {
    padding: 32px;
    min-width: 420px;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 100%);
    background: url(../images/submenu_bg.png) 0% 100%/485px auto repeat-x, rgba(54, 128, 184, .9);
    box-shadow: 4px 4px 12px 0px rgba(0, 0, 0, .2);
    -webkit-box-shadow: 4px 4px 12px 0px rgba(0, 0, 0, .2);
    -moz-box-shadow: 4px 4px 12px 0px rgba(0, 0, 0, .2);
    opacity: 0;
    visibility: hidden;
    transition: .3s ease
}

.header .submenu_item:not(:last-child) {
    margin-bottom: 14px
}

.header .submenu_item a {
    padding-top: 3px;
    padding-bottom: 3px;
    padding-right: 30px;
    text-wrap: nowrap;
    color: var(--cl-white);
    letter-spacing: .055em;
    font-weight: 500;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20.5px' height='20.5px'%3E%3Cpath fill-rule='evenodd' stroke='rgb(0, 0, 0)' stroke-width='0px' stroke-linecap='butt' stroke-linejoin='miter' fill='rgb(255, 255, 255)' d='M9.1000,-0.000 C15.523,-0.000 20.000,4.477 20.000,9.1000 C20.000,15.523 15.523,20.000 9.1000,20.000 C4.477,20.000 -0.000,15.523 -0.000,9.1000 C-0.000,4.477 4.477,-0.000 9.1000,-0.000 Z'/%3E%3Cpath fill-rule='evenodd' stroke='rgb(54, 128, 184)' stroke-width='1px' stroke-linecap='round' stroke-linejoin='round' fill='none' d='M8.312,7.203 L11.688,10.156 L8.312,13.109 '/%3E%3C/svg%3E") 100% calc(50% - 1px)/20px auto no-repeat
}

.header .submenu_btn {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start
}

.header .submenu_btn a {
    display: inline-flex;
    min-height: 56px;
    border-radius: 10px;
    box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, .2);
    -webkit-box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, .2);
    -moz-box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, .2)
}

.header .submenu_btn a:not(:last-child) {
    margin-bottom: 15px
}

.header .submenu_btn .tel {
    padding: 5px 35px;
    justify-content: center;
    align-items: center;
    width: 100%;
    background: url(../images/ico_submenu.png) calc(100% - 12px) 50%/18px auto no-repeat, var(--cl-2nd);
    font-size: 14px;
    font-weight: 500;
    color: var(--cl-white);
    line-height: 1.4em
}

.header .submenu_btn .tel>span {
    padding: 8px 0 5px 35px;
    background: url(../images/ico_tel.svg) 0% 50%/25px auto no-repeat
}

.header .submenu_btn .line {
    padding: 5px 35px 5px 5px;
    justify-content: center;
    align-items: center;
    width: calc(50% - 9px);
    background: url(../images/ico_submenu.png) calc(100% - 12px) 50%/18px auto no-repeat, #06c755
}

.header .submenu_btn .line>span {
    padding: 8px 0 5px 35px;
    background: url(../images/ico_line.svg) 0% 50%/26px auto no-repeat;
    font-size: 14px;
    font-weight: 500;
    color: var(--cl-white);
    line-height: 1.4em
}

.header .submenu_btn .contact {
    padding: 5px 35px 5px 5px;
    justify-content: center;
    align-items: center;
    width: calc(50% - 9px);
    background: url(../images/ico_arr_btn_blue.png) calc(100% - 12px) 50%/18px auto no-repeat, var(--cl-white);
    border: 2px solid var(--cl-2nd)
}

.header .submenu_btn .contact>span {
    padding: 8px 0 5px 30px;
    background: url(../images/ico_contact.png) 0% 50%/24px auto no-repeat;
    font-size: 14px;
    font-weight: 700;
    color: var(--cl-2nd);
    line-height: 1.4em
}

.header .submenu_close {
    text-align: right
}

.header .submenu_close-btn {
    margin-top: 14px;
    padding: 7px 20px 5px;
    display: inline-block;
    border-radius: 17px;
    background: var(--cl-white);
    box-shadow: 2px 2px 6px 0px rgba(0, 0, 0, .1);
    -webkit-box-shadow: 2px 2px 6px 0px rgba(0, 0, 0, .1);
    -moz-box-shadow: 2px 2px 6px 0px rgba(0, 0, 0, .1);
    transition: .3s ease;
    cursor: pointer
}

.header .submenu_close-btn span {
    position: relative;
    padding-left: 18px;
    font-weight: 500;
    color: #3680b8;
    letter-spacing: .04em;
    white-space: nowrap;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='12px' height='12px'%3E%3Cpath fill-rule='evenodd' stroke='rgb(23, 105, 168)' stroke-width='0px' stroke-linecap='butt' stroke-linejoin='miter' fill='rgb(54, 128, 184)' d='M6.918,5.543 L11.381,10.006 C11.577,10.201 11.577,10.518 11.381,10.713 L11.213,10.882 C11.018,11.077 10.701,11.077 10.505,10.882 L6.043,6.419 L1.580,10.882 C1.385,11.077 1.068,11.077 0.873,10.882 L0.704,10.713 C0.509,10.518 0.509,10.201 0.704,10.006 L5.167,5.543 L0.704,1.080 C0.509,0.884 0.509,0.568 0.704,0.373 L0.873,0.204 C1.068,0.009 1.385,0.009 1.580,0.204 L6.043,4.667 L10.505,0.204 C10.701,0.009 11.018,0.009 11.213,0.204 L11.381,0.373 C11.577,0.568 11.577,0.884 11.381,1.080 L6.918,5.543 Z'/%3E%3C/svg%3E") 0% 50%/11px auto no-repeat
}

h1 {
    width: 100%;
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 10px;
    transition: .3s ease
}

.visual {
    position: relative;
    background: url(../images/visual_01.jpg) center/cover no-repeat
}

.visual::after {
    content: "";
    position: absolute;
    bottom: -54px;
    right: 0;
    transform: translateY(50%);
    width: 542px;
    aspect-ratio: 542/970;
    background: url(../images/visual_02.png) center/100% auto no-repeat
}

.visual_wrap {
    position: relative;
    padding-top: 204px;
    min-height: 1080px;
    display: flex;
    justify-content: space-between;
    z-index: 2
}

.visual_wrap::before {
    content: "";
    position: absolute;
    top: 0;
    left: -3px;
    width: 1028px;
    aspect-ratio: 1028/1052;
    background: url(../images/visual_03.png) center/100% auto no-repeat;
    z-index: -1
}

.visual_left {
    flex-shrink: 0;
    padding-top: 15px;
    position: relative;
    padding-left: 345px
}

.visual_content .sub {
    margin-bottom: 41px;
    position: relative;
    display: inline-block;
    color: #5299cf;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: .06em
}

.visual_content .sub::after {
    content: "";
    position: absolute;
    bottom: -24px;
    left: calc(50% - 2px);
    transform: translateX(-50%);
    width: 464px;
    aspect-ratio: 464/50;
    background: url(../images/visual_06.png) center/100% auto no-repeat;
    z-index: -1
}

.visual_content .heading {
    margin-bottom: 19px;
    color: #3680b8;
    font-size: 58px;
    font-weight: 700;
    letter-spacing: .05em;
    text-shadow: #fff 7px 0px 0px, #fff 6.92869px .996602px 0px, #fff 6.71622px 1.9729px 0px, #fff 6.36692px 2.909px 0px, #fff 5.8879px 3.78584px 0px, #fff 5.28893px 4.58555px 0px, #fff 4.5822px 5.29183px 0px, #fff 3.78212px 5.8903px 0px, #fff 2.90498px 6.36876px 0px, #fff 1.96865px 6.71747px 0px, #fff .992221px 6.92932px 0px, #fff -0.00442571px 7px 0px, #fff -1.00098px 6.92806px 0px, #fff -1.97715px 6.71498px 0px, #fff -2.91303px 6.36508px 0px, #fff -3.78956px 5.88551px 0px, #fff -4.58889px 5.28603px 0px, #fff -5.29472px 4.57885px 0px, #fff -5.89269px 3.77839px 0px, #fff -6.3706px 2.90095px 0px, #fff -6.71871px 1.96441px 0px, #fff -6.92995px .98784px 0px, #fff -6.99999px -0.00885142px 0px, #fff -6.92743px -1.00536px 0px, #fff -6.71372px -1.98139px 0px, #fff -6.36324px -2.91705px 0px, #fff -5.88311px -3.79328px 0px, #fff -5.28313px -4.59223px 0px, #fff -4.57551px -5.29762px 0px, #fff -3.77466px -5.89507px 0px, #fff -2.89692px -6.37243px 0px, #fff -1.96016px -6.71995px 0px, #fff -0.983458px -6.93057px 0px, #fff .0132771px -6.99999px 0px, #fff 1.00974px -6.92679px 0px, #fff 1.98564px -6.71247px 0px, #fff 2.92107px -6.36139px 0px, #fff 3.797px -5.88071px 0px, #fff 4.59557px -5.28022px 0px, #fff 5.30051px -4.57215px 0px, #fff 5.89746px -3.77094px 0px, #fff 6.37426px -2.89289px 0px, #fff 6.72119px -1.95591px 0px, #fff 6.93119px -0.979076px 0px;
    filter: drop-shadow(3px 5px 3px rgba(9, 70, 116, 0.1))
}

.visual_content .heading .--dotted {
    font-size: 68px
}

.visual_content .heading .--dotted .char {
    position: relative
}

.visual_content .heading .--dotted .char::after {
    content: "";
    position: absolute;
    top: -14px;
    left: 50%;
    transform: translateX(-50%);
    width: 10px;
    height: 10px;
    background: #5797cb;
    border-radius: 50%
}

.visual_content .heading .--mid {
    font-size: 64px
}

.visual_content .title {
    margin-bottom: 12px;
    font-size: 42px;
    font-weight: 700;
    line-height: 1.4em;
    letter-spacing: .05em
}

.visual_content .title .--mint {
    margin-right: 8px;
    padding: 0 7px;
    display: inline-block;
    height: 53px;
    color: var(--cl-white);
    background: #59beca
}

.visual_content .title .--blue {
    margin-left: 6px;
    padding: 0 5px 0 10px;
    display: inline-block;
    height: 53px;
    color: var(--cl-white);
    background: #3680b8
}

.visual_content .txt {
    margin-bottom: 50px;
    font-size: 34px;
    font-weight: 700;
    letter-spacing: .055em
}

.visual_content .box {
    padding-left: 116px
}

.visual_content .box_img {
    margin-bottom: 0;
    position: absolute;
    bottom: 0;
    left: 0;
    pointer-events: none
}

.visual_content .box_ballon {
    margin-bottom: 20px;
    padding-left: 10px;
    display: flex
}

.visual_content .box_ballon-item {
    display: flex;
    flex-direction: column;
    align-items: center
}

.visual_content .box_ballon-item:not(:last-child) {
    margin-right: 25px
}

.visual_content .box_ballon-item:nth-child(2) {
    margin-top: 20px
}

.visual_content .box_ballon .ballon_title {
    margin-bottom: 0;
    padding-bottom: 5px;
    position: relative;
    background: var(--cl-white);
    width: 134px;
    aspect-ratio: 1/1;
    border: 4px solid #5797cb;
    border-radius: 50%;
    line-height: 1em;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #048999;
    font-size: 42px;
    font-weight: 700;
    overflow: hidden
}

.visual_content .box_ballon .ballon_title::before {
    content: "";
    position: absolute;
    top: 8px;
    left: 8px;
    width: calc(100% - 6px);
    height: calc(100% - 6px);
    background: #1769a8;
    opacity: .05;
    border-radius: 50%
}

.visual_content .box_ballon .ballon_txt {
    position: relative;
    padding: 5px 10px 2px;
    min-width: 124px;
    color: var(--cl-white);
    font-size: 20px;
    font-weight: 700;
    letter-spacing: .055em;
    line-height: 1.25em;
    text-align: center;
    background: #5797cb;
    border: 4px solid var(--cl-white);
    border-radius: 3px;
    z-index: 2
}

.visual_content .box_ballon .ballon_txt::before {
    content: "";
    position: absolute;
    top: 7px;
    left: 50%;
    transform: translate(-50%, -100%);
    width: 28px;
    aspect-ratio: 28/48;
    background: url(../images/ico_tree.png) center/100% auto no-repeat;
    z-index: -1
}

.visual_content .box_desc {
    font-size: 24px;
    font-weight: 700;
    letter-spacing: .065em;
    line-height: 1.925em;
    text-shadow: #fff 4px 0px 0px, #fff 3.87565px .989616px 0px, #fff 3.51033px 1.9177px 0px, #fff 2.92676px 2.72656px 0px, #fff 2.16121px 3.36588px 0px, #fff 1.26129px 3.79594px 0px, #fff .282949px 3.98998px 0px, #fff -0.712984px 3.93594px 0px, #fff -1.66459px 3.63719px 0px, #fff -2.51269px 3.11229px 0px, #fff -3.20457px 2.39389px 0px, #fff -3.69721px 1.52664px 0px, #fff -3.95997px .56448px 0px, #fff -3.97652px -0.432781px 0px, #fff -3.74583px -1.40313px 0px, #fff -3.28224px -2.28625px 0px, #fff -2.61457px -3.02721px 0px, #fff -1.78435px -3.57996px 0px, #fff -0.843183px -3.91012px 0px, #fff .150409px -3.99717px 0px, #fff 1.13465px -3.8357px 0px, #fff 2.04834px -3.43574px 0px, #fff 2.83468px -2.82216px 0px, #fff 3.44477px -2.03312px 0px, #fff 3.84068px -1.11766px 0px, #fff 3.9978px -0.132717px 0px
}

.visual_content .box_desc .--mint {
    font-size: 28px;
    color: #048999
}

.visual_right {
    padding-right: 96px
}

.visual_chart {
    position: relative;
    width: 696px;
    aspect-ratio: 696/685;
    background: url(../images/visual_04.png) center/100% auto no-repeat;
    display: flex;
    justify-content: center;
    align-items: center
}

.visual_chart .chart_title {
    margin-bottom: 0;
    position: absolute;
    top: -61px;
    left: calc(50% - 12px);
    transform: translateX(-50%)
}

.visual_chart .chart_title>span {
    padding: 9px 32px 10px 38px;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.4em;
    letter-spacing: .055em;
    text-align: center;
    white-space: nowrap;
    background: rgba(255, 255, 255, .7);
    clip-path: polygon(calc(100% - 20px) 0, 100% 50%, calc(100% - 20px) 100%, 20px 99%, 0 50%, 20px 0)
}

.visual_chart .chart_title::before {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 50%;
    transform: translateX(-50%);
    width: calc(100% - 66px);
    height: 2px;
    background: #3680b8;
    z-index: 2
}

.visual_chart .chart_title::after {
    content: "";
    position: absolute;
    bottom: -1px;
    left: calc(50% - 43px);
    transform: translateX(-50%);
    width: 30px;
    height: 2px;
    rotate: -130deg;
    background: #3680b8
}

.visual_chart .chart_sub {
    margin-bottom: 0;
    position: absolute;
    top: 25px;
    right: -71px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5em;
    letter-spacing: .055em;
    text-align: center;
    rotate: 11.45deg;
    z-index: 2
}

.visual_chart .chart_sub::before {
    content: "";
    position: absolute;
    top: -63px;
    left: calc(50% - 5px);
    transform: translateX(-50%);
    width: 249px;
    aspect-ratio: 249/132;
    background: url(../images/visual_07.png) center/100% auto no-repeat;
    rotate: -11.45deg;
    z-index: -1
}

.visual_chart .chart_list-item {
    position: absolute;
    color: var(--cl-white);
    font-size: 24px;
    font-weight: 700;
    text-align: center
}

.visual_chart .chart_list-item:nth-child(1) {
    top: 5%;
    left: 39.6%
}

.visual_chart .chart_list-item:nth-child(2) {
    top: 19%;
    right: 19.6%
}

.visual_chart .chart_list-item:nth-child(3) {
    top: 38.25%;
    right: 8.8%
}

.visual_chart .chart_list-item:nth-child(4) {
    bottom: 30.8%;
    right: 12.8%
}

.visual_chart .chart_list-item:nth-child(5) {
    bottom: 12%;
    right: 32.5%
}

.visual_chart .chart_list-item:nth-child(6) {
    bottom: 14.75%;
    left: 30.5%
}

.visual_chart .chart_list-item:nth-child(7) {
    bottom: 25.6%;
    left: 11%
}

.visual_chart .chart_list-item:nth-child(8) {
    top: 38.25%;
    left: 10%
}

.visual_chart .chart_list-item:nth-child(9) {
    top: 16.63%;
    left: 21.75%
}

.visual_chart .chart_list-item .sm {
    margin-top: 3px;
    display: inline-block;
    font-size: 16px;
    line-height: 1.4em
}

.visual_chart .chart_center {
    margin-bottom: 36px;
    display: flex;
    flex-direction: column;
    align-items: center
}

.visual_chart .chart_center-title {
    margin-bottom: 8px;
    padding: 6px 18px 4px;
    font-size: 32px;
    font-weight: 700;
    color: #3680b8;
    line-height: 1.25em;
    border: 2px solid #3680b8
}

.adv {
    padding: 96px 0 220px;
    background: url(../images/adv_bg.png) center bottom/1920px auto no-repeat
}

.adv_title {
    margin-bottom: 21px;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.75em;
    letter-spacing: .055em;
    text-align: center
}

.adv_desc {
    margin-bottom: 54px
}

.adv_desc p {
    text-align: center;
    letter-spacing: .06em;
    font-weight: 500;
    line-height: 2em
}

.adv_list {
    display: flex
}

.adv_list:not(:last-child) {
    margin-bottom: 20px
}

.adv_list-item {
    flex: 0 0 25%;
    /* padding: 14px 19px 16px; */
    padding: 14px 10px 16px;
    border-radius: 10px;
    transition: .3s ease
}

.adv_list-img {
    margin-bottom: 25px
}

.adv_list-title {
    margin-bottom: 23px;
    color: var(--cl-primary);
    font-size: 20px;
    font-weight: 700;
    letter-spacing: .055em;
    text-align: center
}

.adv_list-desc {
    font-weight: 500;
    letter-spacing: .06em;
    line-height: 2em
}

.case {
    margin-top: -48px;
    padding: 70px 0 184px;
    background: url(../images/case_bg.png) center top/1920px auto no-repeat
}

.case_heading {
    position: relative;
    margin-bottom: 42px
}

.case_heading::before {
    content: "";
    position: absolute;
    top: 35px;
    left: 4px;
    width: 176px;
    aspect-ratio: 176/81;
    background: url(../images/case_03.png) center/100% auto no-repeat
}

.case_heading::after {
    content: "";
    position: absolute;
    top: -6px;
    left: 204px;
    width: 118px;
    aspect-ratio: 118/127;
    background: url(../images/case_04.png) center/100% auto no-repeat
}

.case_box {
    position: relative;
    margin-bottom: 40px;
    padding: 65px 0;
    z-index: 2
}

.case_box::before {
    content: "";
    position: absolute;
    top: 0;
    right: -210px;
    width: max(100vw, 1920px);
    height: 100%;
    background: var(--cl-white);
    box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, .1);
    -webkit-box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, .1);
    -moz-box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, .1);
    z-index: -1
}

.case_box::after {
    content: "";
    position: absolute;
    bottom: -25px;
    right: -301px;
    width: 252px;
    aspect-ratio: 252/240;
    background: url(../images/case_02.png) center/100% auto no-repeat
}

.case_slider {
    margin-bottom: 68px !important
}

.case_slider.slick-initialized .case_slider-item {
    display: flex !important
}

.case_slider .slick-list {
    overflow: visible
}

.case_slider .slick-dots {
    left: -2px;
    bottom: -6px;
    text-align: left
}

.case_slider .slick-dots li {
    margin: 0;
    padding-top: 14px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 76px;
    height: auto;
    aspect-ratio: 77/72;
    background: url(../images/ico_house.svg) center/100% auto no-repeat;
    transition: .6s;
    font-size: 28px;
    font-family: var(--font-serif);
    font-weight: 600;
    color: var(--cl-primary);
    letter-spacing: .055em;
    line-height: 1em
}

.case_slider .slick-dots li.slick-active {
    width: 75px;
    aspect-ratio: 74/69;
    background-image: url(../images/ico_house_active.svg);
    color: var(--cl-white);
    pointer-events: none;
    cursor: default
}

.case_slider .slick-dots li:not(:last-child) {
    margin-right: 14px
}

.case_slider-item {
    display: flex;
    align-items: flex-start;
    column-gap: 66px
}

.case_slider-content {
    padding: 6px 0 65px;
    width: 694px
}

.case_slider-content .num {
    margin-bottom: 12px;
    position: relative;
    display: inline-block;
    color: #1769a8;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: .04em;
    z-index: 2
}

.case_slider-content .num::before {
    content: "";
    position: absolute;
    top: calc(50% + 12px);
    left: calc(50% - 2px);
    transform: translate(-50%, -50%);
    width: 110px;
    aspect-ratio: 111/35;
    background: url(../images/ico_num.png) center/100% auto no-repeat;
    z-index: -1
}

.case_slider-content .num .sm {
    font-size: 16px
}

.case_slider-content .title {
    margin-bottom: 23px;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: .055em;
    line-height: 1.6em
}

.case_slider-content .subtitle {
    padding: 11px 0 9px;
    color: var(--cl-primary);
    font-size: 20px;
    font-weight: 700;
    letter-spacing: .055em;
    line-height: 1.6em;
    border-top: 1px solid var(--cl-primary);
    border-bottom: 1px solid var(--cl-primary)
}

.case_slider-content .desc p {
    font-weight: 500;
    line-height: 2em;
    letter-spacing: .055em
}

.case_slider-img {
    position: relative;
    width: 340px;
    aspect-ratio: 340/420;
    border-radius: 10px;
    box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, .1);
    -webkit-box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, .1);
    -moz-box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, .1);
    filter: drop-shadow(20px 20px 0px rgba(89, 153, 202, 0.1));
    overflow: hidden
}

.case_slider-img img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.blog {
    position: relative;
    padding: 10px 25px;
    display: flex;
    min-height: 59px;
    background: var(--cl-white);
    border-radius: 30px 6px 6px 30px;
    box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, .1);
    -webkit-box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, .1);
    -moz-box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, .1)
}

.blog.st02 {
    border: 1px solid var(--cl-gray);
    min-height: 60px
}

.blog_title {
    flex-shrink: 0;
    padding-right: 23px;
    display: flex;
    align-items: center;
    font-family: var(--font-yugothic);
    font-size: 20px;
    font-weight: 700;
    letter-spacing: .055em;
    line-height: 1.5em;
    border-right: 1px solid var(--cl-gray)
}

.blog_list {
    align-self: center;
    padding: 2px 23px 0
}

.blog_list-item a {
    font-weight: 500;
    letter-spacing: .06em;
    text-decoration: underline;
    text-underline-offset: 4px;
    display: -webkit-inline-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    overflow: hidden
}

.blog_btn a {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate(50%, -50%);
    display: inline-block;
    width: 32px;
    height: 32px;
    background: url(../images/ico_arr_btn.png) calc(50% + 1px) calc(50% - 1px)/7px auto no-repeat, var(--cl-2nd);
    border-radius: 50%
}

.sell {
    padding: 96px 0;
    background: url(../images/sell_bg.jpg) center/1920px auto no-repeat
}

.sell_wrap {
    display: flex;
    justify-content: space-between;
    column-gap: 60px
}

.sell_heading {
    flex-shrink: 0;
    width: 310px;
    position: relative;
    margin-bottom: 0;
    margin-left: -2px;
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-start;
    column-gap: 23px;
    z-index: 2
}

.sell_heading::before {
    content: "";
    position: absolute;
    top: 72px;
    left: -285px;
    width: 414px;
    aspect-ratio: 414/464;
    background: url(../images/sell_01.png) center/100% auto no-repeat;
    z-index: -1
}

.sell_heading .sm {
    -webkit-writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -webkit-text-orientation: mixed;
    -moz-text-orientation: mixed;
    -ms-text-orientation: mixed;
    text-orientation: mixed;
    color: var(--cl-white);
    font-size: 48px;
    font-weight: 700;
    line-height: 1em;
    letter-spacing: .05em
}

.sell_heading .main {
    position: relative;
    padding: 19px 16px;
    display: inline-block;
    background: var(--cl-white);
    -webkit-writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -webkit-text-orientation: mixed;
    -moz-text-orientation: mixed;
    -ms-text-orientation: mixed;
    text-orientation: mixed;
    color: var(--cl-2nd);
    font-size: 88px;
    font-weight: 700;
    line-height: 1em;
    letter-spacing: .05em;
    box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, .2);
    -webkit-box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, .2);
    -moz-box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, .2)
}

.sell_heading .main::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 30px;
    aspect-ratio: 1/1;
    background: url(../images/ico_triangle.png) center/100% auto no-repeat;
    z-index: 2
}

.sell_heading .sub {
    -webkit-writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -webkit-text-orientation: mixed;
    -moz-text-orientation: mixed;
    -ms-text-orientation: mixed;
    text-orientation: mixed;
    color: var(--cl-white);
    font-size: 64px;
    font-weight: 700;
    line-height: 1em;
    letter-spacing: .05em
}

.sell_content {
    position: relative;
    width: 732px
}

.sell_content::after {
    content: "";
    position: absolute;
    bottom: -65px;
    right: -284px;
    width: 236px;
    aspect-ratio: 236/293;
    background: url(../images/sell_02.png) center/100% auto no-repeat
}

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

.sell_list-btn {
    padding-top: 24px
}

.sell_list-btn:not(:last-child) {
    margin-bottom: 24px
}

.sell_list-btn a {
    position: relative;
    padding: 30px 80px 20px 40px;
    display: inline-flex;
    align-items: center;
    background: var(--cl-white);
    border-radius: 10px;
    width: 100%;
    min-height: 116px;
    box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, .2);
    -webkit-box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, .2);
    -moz-box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, .2);
    transition: .3s ease
}

.sell_list-btn a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 24px;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    background: url(../images/ico_arr_btn.png) calc(50% + 1px) calc(50% - 1px)/7px auto no-repeat, var(--cl-2nd);
    border-radius: 50%
}

.sell_list-btn a .sub {
    position: absolute;
    top: 0;
    left: 31px;
    transform: translateY(-50%);
    color: var(--cl-white);
    font-size: 18px;
    font-weight: 700;
    letter-spacing: .055em;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 160px;
    height: 49px;
    background: var(--cl-primary);
    border-radius: 25px;
    box-shadow: 0 0 0 5px var(--cl-white);
    -webkit-box-shadow: 0 0 0 5px var(--cl-white);
    -moz-box-shadow: 0 0 0 5px var(--cl-white);
    z-index: 2
}

.sell_list-btn a .main {
    color: var(--cl-2nd);
    font-size: 28px;
    font-weight: 700;
    letter-spacing: .06em
}

.sell_desc p {
    color: var(--cl-white);
    font-size: 18px;
    font-weight: 500;
    letter-spacing: .06em;
    line-height: 1.85em
}

.solution {
    padding: 96px 0;
    background: url(../images/solution_bg.jpg) center/1920px auto no-repeat
}

.solution_wrap {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: start;
    column-gap: 60px
}

.solution_heading {
    flex-shrink: 0;
    position: relative;
    margin-bottom: 0;
    margin-right: -2px;
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-start;
    column-gap: 23px;
    z-index: 2
}

.solution_heading::after {
    content: "";
    position: absolute;
    bottom: -232px;
    left: -178px;
    width: 886px;
    aspect-ratio: 443/150;
    background: url(../images/solution_01.png) center/100% auto no-repeat;
    z-index: -1
}

.solution_heading .sm {
    -webkit-writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -webkit-text-orientation: mixed;
    -moz-text-orientation: mixed;
    -ms-text-orientation: mixed;
    text-orientation: mixed;
    color: var(--cl-white);
    font-size: 48px;
    font-weight: 700;
    line-height: 1em;
    letter-spacing: .05em
}

.solution_heading .main {
    position: relative;
    padding: 19px 16px;
    display: inline-block;
    background: var(--cl-white);
    -webkit-writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -webkit-text-orientation: mixed;
    -moz-text-orientation: mixed;
    -ms-text-orientation: mixed;
    text-orientation: mixed;
    color: var(--cl-2nd);
    font-size: 88px;
    font-weight: 700;
    line-height: 1em;
    letter-spacing: .05em;
    box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, .2);
    -webkit-box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, .2);
    -moz-box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, .2)
}

.solution_heading .main::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 30px;
    aspect-ratio: 1/1;
    background: url(../images/ico_triangle.png) center/100% auto no-repeat;
    z-index: 2
}

.solution_heading .sub {
    -webkit-writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -webkit-text-orientation: mixed;
    -moz-text-orientation: mixed;
    -ms-text-orientation: mixed;
    text-orientation: mixed;
    color: var(--cl-white);
    font-size: 64px;
    font-weight: 700;
    line-height: 1em;
    letter-spacing: .05em
}

.solution_content {
    position: relative;
    width: 732px;
    z-index: 2
}

.solution_content::after {
    content: "";
    position: absolute;
    bottom: -56px;
    left: -296px;
    width: 249px;
    aspect-ratio: 249/285;
    background: url(../images/solution_02.png) center/100% auto no-repeat
}

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

.solution_list-btn:not(:last-child) {
    margin-bottom: 24px
}

.solution_list-btn a {
    position: relative;
    padding: 24px 80px 20px 40px;
    display: inline-flex;
    align-items: center;
    background: var(--cl-white);
    border-radius: 10px;
    width: 100%;
    min-height: 105px;
    box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, .2);
    -webkit-box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, .2);
    -moz-box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, .2);
    transition: .3s ease;
    color: var(--cl-2nd);
    font-size: 28px;
    font-weight: 700;
    letter-spacing: .06em
}

.solution_list-btn a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 24px;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    background: url(../images/ico_arr_btn.png) calc(50% + 1px) calc(50% - 1px)/7px auto no-repeat, var(--cl-2nd);
    border-radius: 50%
}

.solution_desc p {
    color: var(--cl-white);
    font-size: 18px;
    font-weight: 500;
    letter-spacing: .06em;
    line-height: 1.865em
}

.knowledge {
    padding: 96px 0 115px
}

.knowledge_heading {
    margin-bottom: 42px
}

.knowledge_list {
    margin-bottom: 62px;
    display: flex;
    flex-wrap: wrap;
    gap: 30px 36px
}

.knowledge_list-item {
    flex: 0 0 calc((100% - 108px)/4)
}

.knowledge_list-item a {
    display: block;
    height: 100%
}

.knowledge_list-item .img {
    position: relative;
    display: block;
    border-radius: 8px;
    overflow: hidden
}

.knowledge_list-item .img img {
    width: 100%
}

.knowledge_list-item .stt {
    position: relative;
    margin: -24px 0 2px -4px;
    padding-top: 7px;
    display: block;
    color: var(--cl-2nd);
    font-weight: 700;
    line-height: 1em;
    letter-spacing: .055em;
    width: 110px;
    aspect-ratio: 110/45;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='113.5px' height='46px'%3E%3Cpath fill-rule='evenodd' stroke='rgb(23, 105, 168)' stroke-width='0px' stroke-linecap='butt' stroke-linejoin='miter' fill-opacity='0.902' fill='rgb(255, 255, 255)' d='M57.500,-0.000 C93.718,-0.000 108.500,7.163 108.500,16.000 C108.500,24.837 101.946,31.1000 57.500,31.1000 C13.053,31.1000 6.500,24.837 6.500,16.000 C6.500,7.163 21.283,-0.000 57.500,-0.000 Z'/%3E%3Cpath fill-rule='evenodd' stroke='rgb(23, 105, 168)' stroke-width='1px' stroke-linecap='butt' stroke-linejoin='miter' fill='none' d='M9.500,12.001 C9.500,12.001 -0.387,13.624 2.500,24.000 C5.388,34.376 45.661,33.799 52.242,35.138 C58.363,36.383 65.532,44.003 65.500,43.999 C65.500,43.999 61.288,35.495 65.500,33.001 C69.712,30.506 107.317,32.983 110.500,21.1000 C113.682,11.017 105.500,9.1000 105.500,9.1000 '/%3E%3C/svg%3E") center/100% auto no-repeat;
    text-align: center;
    z-index: 2
}

.knowledge_list-item .stt_num {
    font-size: 20px
}

.knowledge_list-item .title {
    position: relative;
    padding-right: 40px;
    display: block;
    color: var(--cl-black);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.6em;
    letter-spacing: .06em
}

.knowledge_list-item .title::after {
    content: "";
    position: absolute;
    top: 6px;
    right: 0;
    display: inline-block;
    width: 32px;
    height: 32px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='32.75px' height='32.75px'%3E%3Cpath fill-rule='evenodd' stroke='rgb(0, 0, 0)' stroke-width='0px' stroke-linecap='butt' stroke-linejoin='miter' fill='rgb(23, 105, 168)' d='M15.1000,-0.000 C24.837,-0.000 31.1000,7.164 31.1000,15.1000 C31.1000,24.837 24.837,31.1000 15.1000,31.1000 C7.163,31.1000 0.000,24.837 0.000,15.1000 C0.000,7.164 7.163,-0.000 15.1000,-0.000 Z'/%3E%3Cpath fill-rule='evenodd' stroke='rgb(255, 255, 255)' stroke-width='1.5px' stroke-linecap='round' stroke-linejoin='round' fill='none' d='M13.300,11.525 L18.700,16.251 L13.300,20.975 '/%3E%3C/svg%3E") calc(50% + 1px) 50%/100% auto no-repeat, var(--cl-2nd);
    border-radius: 50%
}

.knowledge_banner {
    position: relative;
    margin: 0 auto 64px;
    width: 800px;
    max-width: 100%;
    border-radius: 8px;
    overflow: hidden
}

.knowledge_banner::after {
    content: "";
    position: absolute;
    top: -46px;
    right: 60px;
    width: 148px;
    aspect-ratio: 148/197;
    background: url(../images/knowledge_05.png) center/100% auto no-repeat;
    pointer-events: none
}

.knowledge_banner a {
    position: relative;
    padding: 12px 205px 18px 30px;
    display: block;
    background: var(--cl-2nd);
    border-radius: 8px;
    transition: .3s ease
}

.knowledge_banner a::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 16px;
    transform: translateY(-50%);
    width: 32px;
    aspect-ratio: 1/1;
    background: url(../images/ico_submenu.png) center/100% auto no-repeat;
    z-index: 2
}

.knowledge_banner a::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../images/knowledge_06.jpg) 50% calc(50% + 9px)/cover no-repeat;
    opacity: .3
}

.knowledge_banner .content {
    position: relative;
    display: block;
    z-index: 3
}

.knowledge_banner .content_title {
    position: relative;
    margin-bottom: 1px;
    padding: 10px 23px 10px 0;
    display: inline-block;
    color: var(--cl-white);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4em;
    letter-spacing: .055em
}

.knowledge_banner .content_title::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: calc(100% + 30px);
    height: 100%;
    background: var(--cl-2nd);
    z-index: -1
}

.knowledge_banner .content_desc {
    display: block;
    color: var(--cl-white);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.925em;
    letter-spacing: .06em
}

.company {
    position: relative
}

.company_gallery {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    padding-left: 20px;
    display: grid;
    grid-template-columns: 138fr 50fr;
    grid-template-rows: auto;
    grid-template-areas: "r1 r2" "r1 r3";
    align-items: end;
    gap: 20px
}

.company_gallery-img:nth-child(1) {
    grid-area: r1;
    opacity: .9
}

.company_gallery-img:nth-child(2) {
    margin-bottom: -20px;
    grid-area: r2;
    opacity: .9
}

.company_gallery-img:nth-child(3) {
    padding-right: 20px;
    grid-area: r3
}

.company_gallery-img .img {
    display: inline-block;
    box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, .2);
    -webkit-box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, .2);
    -moz-box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, .2)
}

.company_wrap {
    padding: 70px 0 191px
}

.company_content {
    position: relative
}

.company_content::after {
    content: "";
    position: absolute;
    bottom: -95px;
    right: -210px;
    width: max(100vw, 1920px);
    height: calc(100% - 195px);
    background: #d4e1e9;
    border-bottom-right-radius: 120px;
    z-index: -1
}

.company_box {
    position: relative;
    margin-bottom: 100px;
    padding: 0 80px 64px;
    background: var(--cl-white);
    border-radius: 10px;
    box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, .2);
    -webkit-box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, .2);
    -moz-box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, .2);
    z-index: 2
}

.company_box::before {
    content: "";
    position: absolute;
    bottom: 20px;
    left: 20px;
    width: calc(100% - 20px);
    height: calc(100% - 20px);
    border-left: 1px solid var(--cl-primary);
    border-bottom: 1px solid var(--cl-primary);
    border-bottom-left-radius: 10px;
    pointer-events: none
}

.company_box::after {
    content: "";
    position: absolute;
    top: 20px;
    right: 20px;
    width: 412px;
    height: calc(100% - 60px);
    border-right: 1px solid var(--cl-primary);
    border-top: 1px solid var(--cl-primary);
    border-top-right-radius: 10px;
    pointer-events: none
}

.company_logo {
    margin-bottom: 14px;
    text-align: center;
    transform: translateY(-30px)
}

.company_title {
    margin-bottom: 30px;
    font-size: 28px;
    font-weight: 700;
    text-align: center;
    letter-spacing: .055em
}

.company_title .--blue {
    color: #5496cd
}

.company_desc {
    margin-bottom: 48px
}

.company_desc p {
    font-weight: 500;
    line-height: 2em;
    letter-spacing: .06em;
    text-align: center
}

.company_banner {
    margin-bottom: 40px;
    text-align: center
}

.company_banner a {
    display: inline-block;
    box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, .2);
    -webkit-box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, .2);
    -moz-box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, .2)
}

.footer {
    position: relative;
    padding: 96px 0 192px;
    background: var(--cl-primary)
}

.footer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../images/footer_bg.png) center top/1920px auto no-repeat;
    mix-blend-mode: multiply
}

.footer::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../images/footer_overlay.png) center bottom/1920px auto no-repeat
}

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

.footer_heading {
    margin-bottom: 43px
}

.footer_btn {
    margin-bottom: 32px;
    padding: 34px 40px 38px;
    display: flex;
    column-gap: 16px;
    background: rgba(255, 255, 255, .9);
    border-radius: 10px
}

.footer_btn-item {
    width: 320px
}

.footer_btn-item:last-child {
    flex-grow: 1
}

.footer_btn-item a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 148px;
    border-radius: 10px;
    box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, .2);
    -webkit-box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, .2);
    -moz-box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, .2);
    transition: .3s ease
}

.footer_btn-item .tel {
    padding: 5px 20px 9px;
    align-items: center;
    background: var(--cl-2nd)
}

.footer_btn-item .tel_sub {
    margin-bottom: 5px;
    color: var(--cl-white);
    font-weight: 500;
    letter-spacing: .055em;
    line-height: 1.55em;
    text-align: center
}

.footer_btn-item .tel_num {
    padding-left: 35px;
    font-size: 28px;
    font-family: var(--font-serif);
    font-weight: 600;
    color: var(--cl-white);
    letter-spacing: .1em;
    background: url(../images/ico_tel.svg) 0% calc(50% + 1px)/26px auto no-repeat
}

.footer_btn-item .line {
    padding: 5px 20px 7px;
    background: #06c755;
    align-items: center
}

.footer_btn-item .line_sub {
    margin-bottom: 13px;
    color: var(--cl-white);
    font-weight: 700;
    letter-spacing: .055em;
    line-height: 1.75em
}

.footer_btn-item .line_txt {
    position: relative;
    padding-left: 48px;
    padding-right: 71px;
    color: var(--cl-white);
    font-size: 28px;
    letter-spacing: .055em;
    font-weight: 700;
    background: url(../images/ico_line.svg) 0% calc(50% - 1px)/40px auto no-repeat
}

.footer_btn-item .line_txt::after {
    content: "";
    position: absolute;
    top: calc(50% - 12px);
    right: 0px;
    transform: translateY(-50%);
    width: 58px;
    aspect-ratio: 58/68;
    background: url(../images/ico_tel_02.png) center/100% auto no-repeat
}

.footer_btn-item .contact {
    justify-content: flex-start;
    position: relative;
    padding: 16px 16px 5px;
    background: var(--cl-white);
    border: 4px solid var(--cl-2nd)
}

.footer_btn-item .contact_txt {
    margin-bottom: 13px;
    position: relative
}

.footer_btn-item .contact_txt-main .char {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 34px;
    aspect-ratio: 1/1;
    color: var(--cl-white);
    font-size: 24px;
    font-weight: 700;
    background: var(--cl-primary)
}

.footer_btn-item .contact_txt-main .char:not(:last-child) {
    margin-right: 4px
}

.footer_btn-item .contact_txt-sub {
    position: absolute;
    top: -31px;
    left: 7px;
    color: var(--cl-black);
    font-weight: 700;
    line-height: 1em;
    letter-spacing: .055em;
    z-index: 2
}

.footer_btn-item .contact_txt-sub::after {
    content: "";
    position: absolute;
    top: -8px;
    left: -15px;
    width: 133px;
    aspect-ratio: 133/48;
    background: url(../images/ico_num_03.png) center/100% auto no-repeat;
    z-index: -1
}

.footer_btn-item .contact_title {
    position: relative;
    width: fit-content;
    color: var(--cl-black);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.65em;
    letter-spacing: .055em
}

.footer_btn-item .contact_title .blue {
    font-size: 16px;
    color: var(--cl-2nd)
}

.footer_btn-item .contact_title::after {
    content: "";
    position: absolute;
    top: -6px;
    right: -88px;
    width: 82px;
    aspect-ratio: 82/61;
    background: url(../images/logo.png) center/100% auto no-repeat
}

.footer_btn-item .contact_sub {
    padding: 9px 25px 9px 22px;
    position: absolute;
    bottom: -2px;
    right: 6px;
    transform: translateY(50%);
    border-radius: 20px;
    box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, .2);
    -webkit-box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, .2);
    -moz-box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, .2);
    z-index: 2
}

.footer_btn-item .contact_sub>span {
    position: relative;
    padding-right: 14px;
    color: var(--cl-white);
    font-size: 14px;
    letter-spacing: .055em;
    font-weight: 700;
    white-space: nowrap;
    background: url(../images/ico_arr_contact.png) 100% 50%/6px auto no-repeat;
    z-index: 2
}

.footer_btn-item .contact_sub::before {
    content: "";
    position: absolute;
    bottom: 22px;
    right: 5px;
    width: 99px;
    aspect-ratio: 99/98;
    background: url(../images/ico_btn_contact.png) center/100% auto no-repeat;
    z-index: -1
}

.footer_btn-item .contact_sub::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--cl-2nd);
    border-radius: 20px
}

.footer_address {
    margin-bottom: 24px;
    padding: 40px 40px 31px;
    display: flex;
    flex-direction: column-reverse;
    background: var(--cl-white);
    border-radius: 10px
}

.footer_address-map {
    position: relative;
    width: 100%;
    aspect-ratio: 102/48;
    overflow: hidden
}

.footer_address-map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.footer_address-content {
    margin-bottom: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    column-gap: 25px
}

.footer_address-content .logo {
    flex-shrink: 0;
    margin-bottom: 0
}

.footer_address-content .txt {
    font-size: 18px;
    font-weight: 700;
    letter-spacing: .055em
}

.footer_menu {
    margin-bottom: 56px
}

.footer_menu-item {
    padding: 37px 8px 20px;
    display: flex;
    column-gap: 30px;
    border-bottom: 1px solid var(--cl-white)
}

.footer_menu-item:nth-child(2) .submenu {
    max-width: 700px
}

.footer_menu-item:nth-child(4) .submenu {
    max-width: 550px
}

.footer_menu-item>span,
.footer_menu-item>a {
    flex-shrink: 0;
    display: inline-block;
    width: 227px;
    color: var(--cl-white);
    font-size: 20px;
    font-weight: 700;
    letter-spacing: .055em
}

.footer_menu .btn_item>span,
.footer_menu .btn_item>a {
    width: 175px
}

.footer .submenu {
    padding-top: 3px;
    display: flex;
    flex-wrap: wrap;
    gap: 19px 32px
}

.footer .submenu_item a:not([class]) {
    padding-right: 28px;
    color: var(--cl-white);
    font-weight: 500;
    letter-spacing: .055em;
    background: url(../images/ico_arr_btn_blue.png) 100% 50%/20px auto no-repeat;
    transition: .3s ease
}

.footer .submenu_btn {
    margin-bottom: 6px;
    width: 100%;
    display: flex
}

.footer .submenu_btn a {
    position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-height: 62px;
    max-width: 100%;
    border-radius: 10px;
    box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, .2);
    -webkit-box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, .2);
    -moz-box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, .2);
    transition: .3s ease
}

.footer .submenu_btn a:not(:last-child) {
    margin-right: 16px
}

.footer .submenu_btn .tel {
    padding: 7px 50px 5px;
    width: 317px;
    background: url(../images/ico_submenu.png) calc(100% - 24px) 50%/20px auto no-repeat, var(--cl-2nd)
}

.footer .submenu_btn .tel>span {
    position: relative;
    color: var(--cl-white);
    font-weight: 500;
    letter-spacing: .055em;
    line-height: 1.4em
}

.footer .submenu_btn .tel>span::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: -33px;
    width: 21px;
    aspect-ratio: 21/18;
    background: url(../images/ico_tel.svg) center/100% auto no-repeat
}

.footer .submenu_btn .line {
    padding: 7px 50px 5px;
    width: 223px;
    background: url(../images/ico_submenu.png) calc(100% - 24px) 50%/20px auto no-repeat, #06c755
}

.footer .submenu_btn .line>span {
    padding-left: 5px;
    position: relative;
    color: var(--cl-white);
    font-weight: 500;
    letter-spacing: .055em;
    line-height: 1.4em
}

.footer .submenu_btn .line>span::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: -39px;
    width: 32px;
    aspect-ratio: 32/30;
    background: url(../images/ico_line.svg) center/100% auto no-repeat
}

.footer .submenu_btn .contact {
    padding: 7px 50px 5px;
    width: 231px;
    border: 2px solid var(--cl-2nd);
    background: url(../images/ico_arr_btn_blue.png) calc(100% - 24px) 50%/20px auto no-repeat, var(--cl-white)
}

.footer .submenu_btn .contact>span {
    position: relative;
    color: var(--cl-2nd);
    font-weight: 700;
    letter-spacing: .055em;
    line-height: 1.4em
}

.footer .submenu_btn .contact>span::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: -40px;
    width: 30px;
    aspect-ratio: 1/1;
    background: url(../images/ico_contact.png) center/100% auto no-repeat
}

.footer_social {
    margin-bottom: 40px;
    display: flex;
    justify-content: center;
    align-items: center
}

.footer_social-item:not(:last-child) {
    margin-right: 16px
}

.footer_partner {
    margin: 0 auto 64px;
    width: 768px;
    max-width: 100%;
    display: grid;
    grid-template-columns: 208px 248px 248px;
    gap: 25px 32px;
    grid-template-areas: " r1 r2 r3 " " r1 r4 r5 "
}

.footer_partner-item:nth-child(1) {
    grid-area: r1;
    margin-right: 8px
}

.footer_partner-item:nth-child(2) {
    grid-area: r2
}

.footer_partner-item:nth-child(3) {
    grid-area: r3
}

.footer_partner-item:nth-child(4) {
    grid-area: r4
}

.footer_partner-item:nth-child(5) {
    grid-area: r5
}

.footer_partner-item a {
    position: relative;
    display: inline-block
}

.footer_partner-item a .sub {
    position: absolute;
    top: -7px;
    left: calc(50% + 2px);
    transform: translateX(-50%);
    color: var(--cl-black);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .055em;
    z-index: 2
}

.footer_partner-item a .sub::before {
    content: "";
    position: absolute;
    top: -6px;
    left: -17px;
    width: 105px;
    aspect-ratio: 105/41;
    background: url(../images/ico_num_04.png) center/100% auto no-repeat;
    z-index: -1
}

.footer address {
    color: var(--cl-white);
    font-size: 14px;
    font-weight: 500;
    letter-spacing: .055em;
    text-align: center
}

@-moz-document url-prefix() {}