@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');

*,
*:before,
*:after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html,
body {
    font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo,
        "Helvetica Neue", Arial, "Noto Sans JP", sans-serif;
    font-size: 62.5%;
    color: #333;
    overflow-x: hidden;
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    font-family: "Noto Sans JP", sans-serif;
}

p {
    font-size: 1.6rem;
    font-weight: 400;
}

a {
    transition: .3s;
}

.mt10 {
    margin-top: 10px;
}

.mt20 {
    margin-top: 20px;
}

.mt30 {
    margin-top: 30px;
}

.mt40 {
    margin-top: 40px;
}

.mt60 {
    margin-top: 60px;
}

.mt100 {
    margin-top: 100px;
}

.mb10 {
    margin-bottom: 10px;
}

.mb12 {
    margin-bottom: 12px;
}

.mb20 {
    margin-bottom: 20px;
}

.mb30 {
    margin-bottom: 30px;
}

.mb40 {
    margin-bottom: 40px;
}

.mb60 {
    margin-bottom: 60px;
}

.mb100 {
    margin-bottom: 100px;
}

.mb150 {
    margin-bottom: 150px;
}

.mb200 {
    margin-bottom: 150px;
}

.br480u {
    display: none;
}

@media (max-width: 480px) {
    p {
        font-size: 1.4rem;
    }

    .br480u {
        display: block;
    }
}

/*　//////////////////////////////////////////////////
　fadeup
//////////////////////////////////////////////////　*/

.fadeUp {
    animation-name: fadeUpAnime;
    animation-duration: .8s;
    animation-fill-mode: forwards;
    opacity: 0
}

@keyframes fadeUpAnime {
    from {
        opacity: 0;
        transform: translateY(100px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

@keyframes zoomInAnime {
    0% {
        transform: scale(0.2);
        opacity: 0
    }

    50% {
        transform: scale(1.5);
        opacity: 1
    }

    100% {
        transform: scale(1);
        opacity: 1
    }
}

.box {
    opacity: 0;
}

.fade02 {
    animation-delay: 0.2s;
}

.fade04 {
    animation-delay: 0.4s;
}

.fade06 {
    animation-delay: 0.6s;
}

.fade08 {
    animation-delay: 0.8s;
}

.fade10 {
    animation-delay: 1s;
}

.fade12 {
    animation-delay: 1.2s;
}

.fadeup {
    animation-name: fadeUpAnime2;
    animation-duration: 0.8s;
    animation-fill-mode: forwards;
    opacity: 0;
}

@keyframes fadeUpAnime2 {
    from {
        opacity: 0;
        transform: translateY(100px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/*　//////////////////////////////////////////////////
　header
//////////////////////////////////////////////////　*/

header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 999;
}

.header_toppage {
    transition: .3s ease;
    background: #fff;
}

.header_toppage.transform {
    background: rgba(255, 255, 255, .8);
    transition: .6s ease;
    box-shadow: 0 0 5px rgba(0, 0, 0, .2);
}

.header_page {
    /* background-color: #fff; */
    box-shadow: 0 0 5px rgba(0, 0, 0, .2);
}

.header-in {
    position: relative;
    max-width: 1200px;
    width: 90%;
    height: 80px;
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
}

.header_logo {
    width: 340px;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    z-index: 20;
}

.header_logo_in {
    display: flex;
    justify-content: start;
}

.header_logo_l,
.header_logo_r {
    margin-right: 40px;
}

.header_logo_l a,
.header_logo_r a {
    display: inline-block;
}

.header_logo_l img {
    padding-top: 10px;
    width: 150px;
}

.header_logo_r img {
    width: 150px;
}

.header_nav {
    width: 100%;
    display: flex;
    justify-content: end;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit-transform: translateY(-50%) translateX(-50%);
}

.header_form {
    display: flex;
}

.header_tel {
    width: 160px;
    height: 40px;
}

.header_tel_btn {
    width: 100%;
    height: 100%;
    font-family: "Roboto", sans-serif;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1em;
    position: relative;
    display: inline-block;
    cursor: pointer;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
}

.header_tel_btn span {
    position: absolute;
    padding-left: 12px;
    width: 100%;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit-transform: translateY(-50%) translateX(-50%);
    color: #0087DC;
}

.header_tel_btn span::before {
    position: absolute;
    top: 2px;
    left: 10px;
    content: '\f879';
    font-family: 'Font Awesome 5 Free';
    font-size: 1.4rem;
    font-weight: 900;
    color: #0087DC;
}

.header_tel_btn:hover span,
.header_tel_btn:hover span::before {
    color: #5CB0FB;
    transition: .3s;
}

.header_contact {
    width: 150px;
    height: 40px;
    background-color: #2a97d3;
    border: 1px solid #0087DC;
    border-radius: 99px;
}

.header_contact_btn {
    width: 100%;
    height: 100%;
    background: #0087DC;
    border: 1px solid #0087DC;
    color: #fff;
    font-size: 1.4rem;
    font-weight: 400;
    position: relative;
    display: inline-block;
    cursor: pointer;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    border-radius: 99px;
}

.header_contact_btn span {
    position: absolute;
    width: 100%;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit-transform: translateY(-50%) translateX(-50%);
    color: #fff;
}

.header_contact_btn span::before {
    padding-right: 6px;
    content: '\f0e0';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    color: #fff;
}

.header_contact_btn:hover {
    width: 100%;
    height: 100%;
    background: #fff;
    border: 1px solid #0087DC;
    color: #0087DC;
    font-size: 1.4rem;
    font-weight: 400;
    position: relative;
    display: inline-block;
    cursor: pointer;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    border-radius: 99px;
}

.header_contact_btn:hover span {
    color: #0087DC;
}

.header_contact_btn:hover span::before {
    color: #0087DC;
}

.header_menu {
    width: calc(90% - 560px);
    margin-top: 10px;
}

.header_menu .header_menu_in .header_menu_item {
    display: flex;
    justify-content: center;
}

.header_menu .header_menu_in .header_menu_item {
    position: relative;
    display: inline-block;
    transition: .3s;
    font-size: 1.4rem;
    cursor: pointer;
    margin-right: 35px;
    padding-bottom: 10px;
}

.header_menu .header_menu_in .header_menu_item a {
    display: block;
    text-decoration: none;
}

.header_menu .header_menu_in .header_menu_item span {
    position: relative;
    padding-bottom: 30px;
    color: #333;
    white-space: nowrap;
}

.header_menu .header_menu_in .header_menu_item span::after {
    position: absolute;
    bottom: 0px;
    left: 50%;
    content: '';
    width: 0;
    height: 2px;
    background-color: #5CB0FB;
    transition: .3s;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

.header_menu .header_menu_in .header_menu_item span:hover::after {
    width: 100%;
}

/* ドロップダウンメニュー */
.menu_nav_container {
    width: 100%;
    position: relative;
    visibility: hidden;
    padding: 0;
    opacity: 1;
    transition: .3s;
    transition-duration: .6s;
    animation: fadeOut 1s ease 0s 1 normal backwards;
}

/* メニューアイテムのホバースタイル */
.menu_nav_container.header_menu_servise_nav,
.menu_nav_container.header_menu_works_nav,
.menu_nav_container.header_menu_column_nav,
.menu_nav_container.header_menu_company_nav,
.menu_nav_container.header_menu_recruit_nav {
    visibility: visible;
    opacity: 1;
    /* transition: .3s; */
    animation: fadeIn .5s ease 0s 1 normal backwards;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes fadeOut {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
    }
}

.menu_nav_container ul {
    display: flex;
    justify-content: center;
    position: absolute;
    width: 100%;
    left: 0;
    top: 0;
    z-index: 0;
    list-style: none;
    text-align: center;
}

.menu_nav_container ul li {
    width: 100%;
}

.menu_nav_container ul li a {
    position: relative;
    display: inline-block;
    width: 100%;
    padding: 30px 20px;
    font-size: 1.4rem;
    color: #333;
    text-decoration: none;
    transition: .3s;
    background-color: #fff;
}

.menu_nav_container ul li a:hover {
    color: #fff;
    background-color: #5CB0FB;
}


@media (max-width: 1400px) {
    .header_menu {
        width: calc(90% - 540px);
    }

    .header_logo_l {
        margin-right: 20px;
    }
}

@media (max-width: 1340px) {
    .header_menu .header_menu_in {
        display: flex;
        justify-content: space-between;
        margin-left: 20px;
        margin-right: 10px;
    }

    .header_menu .header_menu_in .header_menu_item {
        margin-right: 2.5rem;
    }
}

@media (max-width: 1300px) {
    .header_menu {
        width: calc(90% - 540px);
    }

    .header_menu .header_menu_in .header_menu_item {
        margin-right: 2rem;
    }
}

@media (max-width: 1230px) {
    .header_menu {
        width: calc(90% - 530px);
    }
}

@media (max-width: 1200px) {
    .header-in {
        height: 65px;
        width: 95%;
    }

    .header_nav {
        width: 100%;
    }

    .header_logo_l img,
    .header_logo_r img {
        width: 120px;
    }

    .header_menu {
        width: calc(90% - 460px);
    }

    .header_menu .header_menu_in .header_menu_item {
        margin-right: 10px;
    }

    .header_title h1 {
        top: 40px;
        left: 172px;
        font-size: 1.4rem;
    }

    .header_menu .header_menu_in .header_menu_item span::after {
        position: absolute;
        bottom: 7.5px;
        left: 50%;
        content: '';
        width: 0;
        height: 2px;
        background-color: #5CB0FB;
        transition: .3s;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
    }

}

@media (max-width: 1020px) {
    .header_menu .header_menu_in {
        margin-left: 10px;
        margin-right: 0px;
    }
}

@media (max-width: 980px) {
    .header-in {
        width: 100%;
    }

    .header_logo {
        margin-left: 20px;
    }

    .header_logo_l img,
    .header_logo_r img {
        width: 140px;
    }

    .header_contact,
    .header_menu,
    .header_tel {
        display: none;
    }

    .header_tel {
        display: none;
    }
}

@media (max-width: 500px) {
    .header_logo_l {
        margin: 30px 0;
    }

    .header_logo_l img {
        padding-top: 2px;
        width: 120px;
    }

    .header_logo_r {
        margin: 25px 15px;
    }

    .header_logo_r img {
        width: 120px;
    }

}

@media (max-width: 430px) {
    .header_title h1 {
        top: 32px;
        left: 140px;
        font-size: 1.2rem;
    }
}

/*　//////////////////////////////////////////////////
  　hamburger menu
  //////////////////////////////////////////////////　*/

.hamburger-menu {
    display: none;
}

.menu-btn {
    position: absolute;
    top: -32.5px;
    right: 0;
    display: flex;
    height: 65px;
    width: 65px;
    justify-content: center;
    align-items: center;
    z-index: 90;
    background-color: #0087DC;
}

.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
    content: '';
    display: block;
    height: 3px;
    width: 28px;
    border-radius: 3px;
    background-color: #ffffff;
    position: absolute;
    -webkit-transition: .2s ease-in-out;
    transition: .2s ease-in-out;
}

.menu-btn span:before {
    bottom: 10px;
}

.menu-btn span:after {
    top: 10px;
}

.menu-btn.open_btn {
    position: fixed;
}

.menu-btn.open_btn span {
    background-color: rgba(255, 255, 255, 0);
    -webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}

.menu-btn.open_btn span::before {
    bottom: 0;
    transform: rotate(45deg);
    -webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}

.menu-btn.open_btn span::after {
    top: 0;
    transform: rotate(-45deg);
    -webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}

.menu-content {
    width: 100vw;
    padding: 20px;
    height: calc(100vh - 60px);
    position: fixed;
    top: 30px;
    left: 100%;
    z-index: 20;
    background-color: #fff;
    transition: all 0.5s;
}

.menu-content.open {
    left: 0;
}

.p-accordion {
    margin-inline: auto;
}

.p-accordion__head {
    cursor: pointer;
    display: block;
    color: #0087DC;
    font-size: 1.6rem;
    font-weight: 400;
    padding: 7px 20px;
    margin-top: 10px;
    border-bottom: solid 1px #0087DC;
}

.p-accordion__head-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
}

.p-accordion__head-inner a {
    display: inline-block;
    width: 100%;
    color: #0087DC;
    font-size: 1.6rem;
    font-weight: 400;
    text-decoration: none;
}

.p-accordion__icon,
.p-accordion__icon_r {
    display: block;
    position: relative;
    width: 16px;
    margin-bottom: 10px;
    transition: transform 0.25s;
}

.p-accordion__icon:before {
    position: absolute;
    display: block;
    top: -12px;
    right: -10px;
    margin: 10px;
    content: '\f077';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    width: 15px;
    color: #0087DC;
}

.p-accordion__icon_r:before {
    position: absolute;
    display: block;
    top: -12px;
    right: -10px;
    margin: 10px;
    content: '\f054';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    width: 15px;
    color: #0087DC;
}

.p-accordion__input input[name=p-accordion__block] {
    display: none;
}

.p-accordion__input .p-accordion__block {
    cursor: pointer;
}

.p-accordion__input .p-accordion__content {
    height: 0;
    padding: 0 20px;
    overflow: hidden;
    opacity: 0.5;
    transition: padding 0.25s ease, opacity 0.3s ease 0s;
}

.p-accordion__content ul {
    width: 100%;
    list-style: none;
}

.p-accordion__content ul li a {
    font-family: 'Noto Sans JP', sans-serif;
    display: inline-block;
    margin-bottom: 10px;
    width: 100%;
    font-size: 1.6rem;
    font-weight: 400;
    color: #333;
    text-decoration: none;
}

.p-accordion__input input[name=p-accordion__block]:checked+.p-accordion__head>.p-accordion__head-inner .p-accordion__icon:before {
    transform: rotate(-180deg);
    transform-origin: 50% 50%;
}

.p-accordion__input input[name=p-accordion__block]:checked+.p-accordion__head+.p-accordion__content {
    /*開閉時*/
    height: auto;
    opacity: 1;
    padding: 20px;
}

.form_btn {
    margin-top: 20px;
}

.header_sp_contact {
    width: 80%;
    height: 45px;
    margin: 18px auto;
}

.header_sp_contact_btn {
    width: 100%;
    height: 100%;
    position: relative;
    display: inline-block;
    text-align: center;
    vertical-align: middle;
    overflow: hidden;
    color: #fff;
    background-color: #0087DC;
    border-radius: 99px;
    font-size: 1.6rem;
    font-weight: 400;
    text-decoration: none;
}

.header_sp_contact_btn span {
    position: absolute;
    width: 100%;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit-transform: translateY(-50%) translateX(-50%);
}

.header_sp_contact_btn span::before {
    padding-right: 6px;
    content: '\f0e0';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
}

.header_sp_contact_btn:hover {
    color: #fff;
    background-color: #5CB0FB;
}

.header_sp_tel {
    width: 80%;
    height: 45px;
    margin: 18px auto;
}

.header_sp_tel_btn {
    width: 100%;
    height: 100%;
    position: relative;
    display: inline-block;
    text-align: center;
    vertical-align: middle;
    overflow: hidden;
    font-size: 1.6rem;
    font-weight: 600;
    color: #0087DC;
    text-decoration: none;
}

.header_sp_tel_btn span {
    position: absolute;
    width: 100%;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit-transform: translateY(-50%) translateX(-50%);
}

.header_sp_tel_btn span::before {
    padding-right: 6px;
    content: '\f879';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
}

.header_sp_tel_btn:hover {
    color: #5CB0FB;
}

@media (max-width: 980px) {
    .hamburger-menu {
        display: block;
    }
}

@media (max-width:535px) {
    .hum_search input[type=text] {
        width: 100%;
    }
}

@media (max-width:523px) {
    .p-accordion__content ul li {
        width: 48%;
    }
}

@media (max-width: 480px) {

    .header_sp_recruit,
    .header_sp_contact {
        margin-top: 18px;
        margin-bottom: 0px;
    }
}

@media (max-width: 420px) {
    .p-accordion__content ul li a p br {
        display: none;
    }
}

.animation {
    opacity: 0;
    visibility: hidden;
    transition: 1s;
    transform: translateY(30px);
}

/*アニメーション要素までスクロールした時のスタイル*/
.active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/*　//////////////////////////////////////////////////
　SLIDER
//////////////////////////////////////////////////　*/

.fadeIn {
    animation-name: fadeInAnime;
    animation-duration: 3s;
    animation-fill-mode: forwards;
    opacity: 0;
}

@keyframes fadeInAnime {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.slider_b {
    margin-top: 80px;
    height: 600px;
    overflow: hidden;
    position: relative;
}

.slider_b__inner {
    margin: 0 auto;
    width: 100%;
    height: 100%;
}

.slider_b-slide__item:nth-of-type(1) .slider_b-slide__img {
    animation-delay: 0s;
}

.slider_b-slide__item:nth-of-type(2) .slider_b-slide__img {
    animation-delay: 5s;
}

.slider_b-slide__item:nth-of-type(3) .slider_b-slide__img {
    animation-delay: 10s;
}

.slider_b-slide__item {
    bottom: 0;
    height: 100%;
    position: absolute;
    right: -10%;
    width: 110%;
}

.slider_b-slide__img {
    animation-duration: 15s;
    animation-iteration-count: infinite;
    animation-name: slideAnime;
    animation-timing-function: ease;
    display: inline-block;
    height: 600px;
    object-fit: cover;
    opacity: 0;
    width: 100%;
}

@keyframes slideAnime {
    0% {
        opacity: 0;
    }

    16% {
        opacity: 1;
    }

    33% {
        opacity: 1;
    }

    49% {
        opacity: 0;
    }

    100% {
        opacity: 0;
        transform: translateX(-10%);
    }
}

.slider_b__heading {
    width: 100%;
    max-width: 1200px;
    display: flex;
    justify-content: space-between;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
}

.slider_b__title {
    height: auto;
    position: relative;
}

.slider_b__title_in {
    width: 420px;
    max-width: 420px;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
}

.slider_b__title h2 {
    font-size: 4rem;
    font-weight: 600;
    color: #fff;
    text-shadow: 1px 1px 2px #333;
}

.slider_b__title p {
    font-size: 1.4rem;
    font-weight: 400;
    color: #fff;
    text-shadow: 1px 1px 2px #333;
}

.slider_b__topic {
    margin-bottom: 20px;
    padding: 20px;
    background-color: #fff;
    border-radius: 20px;
}

.slider_b__topic:last-child {
    margin-bottom: 0px;
}

.slider_b__topic h3 {
    margin-bottom: 5px;
    font-size: 2rem;
    font-weight: 600;
    font-style: italic;
    color: #0087DC;
}

.slider_b__topic p {
    font-size: 1.2rem;
    font-weight: 400;
}

.slider_b__topic1 h3 .h3_small,
.slider_b__topic2 h3 .h3_small {
    font-size: 1.8rem;
}

.slider_b__topic1 h3 .h3_big,
.slider_b__topic2 h3 .h3_big {
    font-size: 2.2rem;
}

.slider_b__topic2 h3 strong {
    font-size: 3.2rem;
}

.slider_b__topic1 p {
    font-size: 1.4rem;
    font-weight: 400;
}

.slider_b__topic1 .p_big {
    font-size: 1.6rem;
    font-weight: 400;
}

.slider_b__topic1 strong {
    font-size: 1.8rem;
    font-weight: 600;
}

.slider_b__topic2 h3 {
    line-height: 2.8rem;
}

.slider_b__topic2 p {
    line-height: 2rem;
}

.slider_b__topic2 strong {
    font-size: 2.5rem;
    font-weight: 600;
}

.slider_b__topic2 .bg_yellow,
.slider_b__topic3 .bg_yellow {
    font-size: 1.6rem;
    font-weight: 500;
}

.slider_b__topic2 .bg_yellow .p_small {
    font-size: 1.4rem;
    font-weight: 400;
}

.bg_yellow {
    background-image: linear-gradient(#FFFF00, #FFFF00);
    /* 単色 */
    background-size: 0 20px;
    /* 幅(0=見えない状態) | 高さ(=線の太さ) */
    background-position: bottom right;
    /* 右下に配置 */
    background-repeat: no-repeat;
    transition: background-size 0.3s ease-out;
}

.bg_yellow.top_topics {
    background-size: 100% 20px;
    /* 幅(100%=文字の長さ) | 高さ(=線の太さ) */
    background-position: bottom left;
    /* 左下に配置 */
    box-decoration-break: slice;
    /* Firefox用に指定 */
    -webkit-box-decoration-break: slice;
    /* Firefox以外のブラウザ用に指定 */
    transition: background-size 1.2s ease-out;
}

.bg_black {
    background-image: linear-gradient(#000, #000);
    /* 単色 */
    background-size: 0 27px;
    /* 幅(0=見えない状態) | 高さ(=線の太さ) */
    background-position: bottom right;
    /* 右下に配置 */
    background-repeat: no-repeat;
    transition: background-size 0.3s ease-out;
}

.bg_black.top_topics {
    background-size: 100% 27px;
    /* 幅(100%=文字の長さ) | 高さ(=線の太さ) */
    background-position: bottom left;
    /* 左下に配置 */
    box-decoration-break: slice;
    /* Firefox用に指定 */
    -webkit-box-decoration-break: slice;
    /* Firefox以外のブラウザ用に指定 */
    transition: background-size 1.2s ease-out;
}

.slider_b__topic2 .p_small {
    font-size: 1rem;
    font-weight: 400;
}

.slider_b__topic3 h3 {
    font-size: 2rem;
    line-height: 2.8rem;
}

.slider_b__topic3 .h3_small {
    font-size: 1.8rem;
}

.slider_b__topic3 h3 strong {
    font-size: 3.2rem;
    font-weight: 600;
}

.slider_b__topics br.br_430 {
    display: none;
}

@media (max-width: 1200px) {
    .slider_b__heading {
        width: 95%;
    }

    .slider_b {
        margin-top: 65px;
    }
}

@media (max-width: 980px) {
    .slider_b {
        height: 800px;
        margin-top: 65px;
    }

    .slider_b-slide__img {
        height: 800px;
    }

    .slider_b__heading {
        flex-wrap: wrap;
    }

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

    .slider_b__title_in {
        width: 100%;
        display: contents;
    }

    .slider_b__topics {
        width: 100%;
    }

    .slider_b__topics br {
        display: none;
    }

    .slider_b__topics br.br_480 {
        display: block;
    }
}

@media (max-width: 480px) {

    .slider_b,
    .slider_b-slide__img {
        height: 900px;
    }
}

@media (max-width: 430px) {

    .slider_b,
    .slider_b-slide__img {
        height: 1200px;
    }

    .slider_b,
    .slider_b-slide__img {
        height: 900px;
    }

    .slider_b__topics br.br_430 {
        display: block;
    }
}

@media (max-width: 420px) {

    .slider_b,
    .slider_b-slide__img {
        height: 900px;
    }
}

@media (max-width: 400px) {

    .slider_b,
    .slider_b-slide__img {
        height: 1000px;
    }
}

/*　//////////////////////////////////////////////////
　TOPPAGE - MAIN
//////////////////////////////////////////////////　*/

section {
    width: 1200px;
    margin: 0 auto;
}

.col_3_area {
    display: flex;
    justify-content: space-between;
}

.col_3_item {
    width: 31.5%;
}

.link_arrow {
    display: inline-block;
    content: '';
    width: 40px;
    height: 40px;
    font-size: 0;
    background: url('../img/common/button_arrow.svg');
    background-size: contain;
}

.top_topic_title {
    display: flex;
    justify-content: space-between;
}

.top_topic_arrow {
    display: flex;
    justify-content: center;
    height: fit-content;
}

.top_topic_arrow a {
    display: flex;
    text-decoration: none;
}

.top_topic_arrow p {
    padding-top: 8px;
    padding-right: 10px;
    color: #333;
}

.top_topic_arrow a:hover .link_arrow {
    background: url('../img/common/button_arrow_hover.svg');
    background-size: contain;
    transition: .3s;
    transform: scale(1.1);
}

.midashi1 {
    font-size: 2rem;
    font-weight: 500;
    color: #0087DC;
}

.midashi1 br {
    display: none;
}

.top_midashi1 {
    font-size: 3rem;
    font-weight: 600;
    line-height: 2.5rem;
}

.top_midashi1 span {
    font-family: "Roboto", sans-serif;
    font-size: 1.2rem;
    font-weight: 400;
    letter-spacing: 0.5rem;
    color: #0087DC;
}

.top_midashi2 {
    font-size: 3rem;
    font-weight: 500;
    line-height: 2.5rem;
    color: #fff;
}

/* top_reason_area */

.top_reason_area {
    margin-top: 100px;
    margin-bottom: 150px;
    text-align: center;
}

.top_reason_midashi {
    width: 512px;
}

.top_reason_txt {
    font-weight: 400;
    line-height: 3.5rem;
}

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

.top_reason_link {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    flex-grow: 1;
}

.top_reason_link .link_arrow {
    margin: 0 auto;
}

.top_reason_link:hover {
    transition: .3s;
    transform: scale(1.1);
}

.top_reason_link:hover .link_arrow {
    background: url('../img/common/button_arrow_hover.svg');
    background-size: contain;
    transition: .3s;
}

.top_reason_link img {
    width: 100%;
    object-fit: contain;
}

.top_reason_link p {
    flex-grow: 1;
    color: #333;
}

/* top_service_area */

.top_service_area {
    margin-bottom: 150px;
}

.top_service_links {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    row-gap: 3.5rem;
}

.top_service_link {
    width: 48.5%;
    position: relative;
    text-align: center;
    max-height: 250px;
    height: 18vw;
    object-fit: cover;
}

.top_service_link a {
    display: inline-block;
    width: 100%;
    height: 100%;
    text-decoration: none;
    border-radius: 10px;
}

.top_service_link.top_service_link1 a {
    background: linear-gradient(rgba(35, 32, 72, .65) 0%, rgba(35, 32, 72, .65) 100%), url('../img/index/top_service1.png');
    background-size: cover;
}

.top_service_link.top_service_link1 a:hover {
    background-image: linear-gradient(rgba(80, 100, 165, .65), rgba(80, 100, 165, .65)), url('../img/index/top_service1.png');
    background-size: cover;
    transition: .3s;
    transform: scale(1.1);
}

.top_service_link.top_service_link2 a {
    background-image: linear-gradient(rgba(35, 32, 72, .65) 0%, rgba(35, 32, 72, .65) 100%), url('../img/index/top_service2.png');
    background-size: cover;
}

.top_service_link.top_service_link2 a:hover {
    background-image: linear-gradient(rgba(80, 100, 165, .65), rgba(80, 100, 165, .65)), url('../img/index/top_service2.png');
    background-size: cover;
    transition: .3s;
    transform: scale(1.1);
}

.top_service_link.top_service_link3 a {
    background-image: linear-gradient(rgba(35, 32, 72, .65) 0%, rgba(35, 32, 72, .65) 100%), url('../img/index/top_service3.png');
    background-size: cover;

}

.top_service_link.top_service_link3 a:hover {
    background-image: linear-gradient(rgba(80, 100, 165, .65), rgba(80, 100, 165, .65)), url('../img/index/top_service3.png');
    background-size: cover;
    transition: .3s;
    transform: scale(1.1);
}

.top_service_link.top_service_link4 a {
    background-image: linear-gradient(rgba(35, 32, 72, .65) 0%, rgba(35, 32, 72, .65) 100%), url('../img/index/top_service4.png');
    background-size: cover;
}

.top_service_link.top_service_link4 a:hover {
    background-image: linear-gradient(rgba(80, 100, 165, .65), rgba(80, 100, 165, .65)), url('../img/index/top_service4.png');
    background-size: cover;
    transition: .3s;
    transform: scale(1.1);
}

.top_service_link_in {
    width: 80%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 2rem;
    font-weight: 400;
    color: #fff;
}

.top_service_link_in h5 {
    margin-bottom: 20px;
    font-size: 2.5rem;
    font-weight: 600;
    line-height: 4rem;
}

.top_service_link_in p {
    line-height: 3rem;
}

/* top_news_area */
.top_news_area,
.top_works_area,
.top_column_area,
.top_recommended_area {
    margin-bottom: 150px;
}

/* top_works_area */
.top_works_list,
.top_column_list {
    display: flex;
    justify-content: left;
    flex-wrap: wrap;
    list-style: none;
    column-gap: 2.75%;
    row-gap: 3.5rem;
}

.top_works_list li {
    width: 31.5%;
    display: flex;
    flex-direction: column;
}

.top_works_list li a {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    text-align: center;
    text-decoration: none;
    border-right: solid 2px #0087DC;
    border-bottom: solid 2px #0087DC;
}

.top_works_list li a:hover {
    transform: scale(1.1);
}

.top_works_list li a:hover h4 {
    background-color: #2a97d3;
}

.top_works_list li a:hover img {
    opacity: .8;
}

.top_works_list li a h4 {
    padding: 10px;
    font-size: 1.8rem;
    font-weight: 400;
    color: #fff;
    background-color: #0087DC;
}

.top_works_list li img {
    margin: 20px auto;
    height: auto;
    width: 50%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 999px;
}

.works_cat {
    margin: 0 auto;
    padding: 5px 20px;
    font-size: 1.4rem;
    font-weight: 400;
    color: #fff;
    background-color: #0087DC;
    border-radius: 999px;
}


.top_works_list li p {
    margin: 20px;
    font-size: 1.4rem;
    color: #333;
    flex-grow: 1;
    line-height: 2.5rem;
    text-align: left;
}

.top_works_list li .works_date {
    margin-left: 20px;
    margin-bottom: 20px;
    font-size: 1.2rem;
    color: #888888;
    text-align: left;
}

/* top_column_area */
.top_column_list li {
    width: 31.5%;
}

.top_column_list li a {
    width: 100%;
    display: inline-block;
    text-decoration: none;
}

.top_column_list li a img {
    width: 100%;
    object-fit: cover;
}

.top_column_list li a:hover {
    transform: scale(1.1);
}

.top_column_list li a:hover img {
    opacity: .8;
}

.column_cat {
    display: inline-block;
    margin: 20px 0;
    padding: 5px 20px;
    font-size: 1.4rem;
    font-weight: 400;
    color: #fff;
    background-color: #0087DC;
    border-radius: 999px;
    text-align: center;
}

.top_column_list li .column_date {
    margin-left: 20px;
    margin-bottom: 20px;
    font-size: 1.2rem;
    color: #888888;
    text-align: left;
}

.top_column_list li p {
    font-size: 1.4rem;
    color: #333;
    flex-grow: 1;
    line-height: 2.5rem;
    text-align: left;
}

/* top_recommended_area */
.top_recommended_list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    row-gap: 3rem;
    list-style: none;
}

.top_recommended_list li {
    width: 22.5%;
}

.top_recommended_list li a img {
    width: 100%;
    box-shadow: 5px 5px 0 rgba(51, 51, 51, .15);
    border-radius: 20px;
}

.top_recommended_list li a:hover img {
    opacity: .8;
    transform: scale(1.1);
    transition: .3s;
}

/* top_contact_area */
.top_contact_area {
    width: 100%;
    padding: 150px 20px;
    background-image: linear-gradient(rgba(32, 31, 49, .6), rgba(32, 31, 49, .6)), url('../img/index/top_contact_bg.png');
    background-size: cover;
    background-position: center;
    color: #fff;
    text-align: center;
}

.top_contact_links {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    column-gap: 6rem;
    row-gap: 3rem;
}

.top_contact_link_l a {
    color: #fff;
    text-decoration: none;
}

.top_contact_link_l p {
    font-family: "Roboto", sans-serif;
    font-size: 3rem;
    font-weight: 500;
    line-height: 2.5rem;
}

.top_contact_link_l p::before {
    padding-right: 10px;
    display: inline-block;
    font-family: 'Font Awesome 5 Free';
    content: '\f879';
    font-size: 2.5rem;
    font-weight: 900;
    color: #fff;
}

.top_contact_link_l p span {
    font-size: 1.2rem;
    font-weight: 400;
}

.top_contact_link_r a {
    display: inline-block;
    padding: 10px 40px;
    border: solid 1px #fff;
    border-radius: 99px;
    color: #fff;
    text-decoration: none;
}

.top_contact_link_r a p {
    padding-left: 40px;
    position: relative;
    font-size: 2rem;
    font-weight: 500;
}

.top_contact_link_r a p::before {
    position: absolute;
    top: 4px;
    left: 0;
    display: inline-block;
    font-family: 'Font Awesome 5 Free';
    content: '\f0e0';
    font-size: 2.5rem;
    font-weight: 900;
    color: #fff;
}

.top_contact_link_r a:hover {
    color: #201F31;
    background-color: #fff;
    transform: scale(1.1);
}

.top_contact_link_r a:hover p::before {
    color: #201F31;
}

@media (max-width: 1200px) {
    section {
        width: 95%;
    }

    .top_reason_link .midashi1 {
        height: 58px;
    }

    .midashi1 br {
        display: block;
    }

    .top_service_link_in h5 {
        margin-bottom: 10px;
    }

    .top_service_link_in h5 br {
        display: none;
    }

    .top_service_link_in p {
        line-height: 2.5rem;
    }
}

@media (max-width: 980px) {
    section {
        width: 90%;
    }

    .col_3_area {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        row-gap: 40px;
    }

    .top_reason_link .midashi1 {
        height: auto;
        font-size: 1.7rem;
    }

    .top_service_link {
        width: 47.5%;
        max-height: 250px;
        min-height: 200px;
        height: 40vw;
    }

    .top_service_link_in h5 br {
        display: block;
    }

    .top_works_list,
    .top_column_list {
        column-gap: 5%;
    }

    .top_works_list li,
    .top_column_list li,
    .top_recommended_list li {
        width: 47.5%;
    }
}

@media (max-width: 768px) {

    .col_3_item {
        width: 100%;
    }

    .top_service_link {
        width: 100%;
    }

    .top_service_link_in h5 {
        margin-bottom: 20px;
    }

    .top_service_link_in p {
        line-height: 3rem;
    }

    .top_works_list li,
    .top_column_list li {
        width: 100%;
    }

    .top_works_list li a {
        min-width: 200px;
    }

    .br_768 {
        display: none;
    }

    .top_reason_link .midashi1 {
        font-size: 2rem;
    }

    .midashi1 br {
        display: none;
    }
}

@media (max-width: 600px) {
    .top_reason_midashi {
        width: 100%;
    }
}

@media (max-width: 500px) {
    .top_topic_title {
        flex-wrap: wrap;
    }

    .top_topic_title .top_midashi1,
    .top_topic_arrow {
        width: 100%;
    }

    .top_topic_arrow {
        margin-bottom: 10px;
    }

    .top_topic_arrow a {
        justify-content: right;
    }

    .top_service_link_in {
        width: 90%;
    }

    .top_service_link_in h5 {
        font-size: 2rem;
        line-height: 3rem;
    }

    .top_service_link_in p {
        line-height: 2rem;
    }
}

@media (max-width: 420px) {
    .midashi1 br {
        display: block;
    }
}

/*　//////////////////////////////////////////////////
　news-single,archive
//////////////////////////////////////////////////　*/

.news-in {
    list-style: none;
}

.news-in li {
    display: flex;
    flex-wrap: wrap;
    padding: 12px;
    font-size: 1.6rem;
    font-weight: 400;
    border-bottom: 1px solid #9BC7DF;
}

.news-in li span {
    font-family: "Roboto", sans-serif;
    display: flex;
    width: 100px;
    color: #333;
    font-size: 1.6rem;
    font-weight: 400;
    align-items: center;
}

.news-in li span.top_news_cat {
    font-family: 'Noto Sans JP', sans-serif;
    width: 120px;
    margin: 0 10px;
    padding: 5px 10px;
    color: #fff;
    justify-content: center;
    border-radius: 999px;
}

.post_cat {
    font-family: 'Noto Sans JP', sans-serif;
    margin: 0 10px 50px 0 !important;
    padding: 5px 10px;
    color: #fff;
    background-color: #000000;
    justify-content: center;
    border-radius: 999px;
    font-size: 1.2rem;
}

.news-in li a {
    margin-left: 20px;
    line-height: 2em;
    font-size: 1.6rem;
    font-weight: 400;
    text-decoration: none;
    color: #333;
}

.news-in li a:hover {
    text-decoration: underline;
}

.news_in_top {
    display: flex;
    align-items: center
}

.news_prevnext {
    display: flex;
    justify-content: space-between;
    margin-top: 40px;
}

.news_prevnext .link_arrow_l {
    transform: rotate(-180deg);
}

.top_topic_arrow a:hover .link_arrow.link_arrow_l {
    transform: scale(1.1) rotate(-180deg);
}

.news_page_area {
    margin-top: 100px;
    margin-bottom: 150px;
}

.news_midashi_area {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
}

.news_midashi {
    margin-bottom: 20px;
    font-size: 2.5rem;
    font-weight: 600;
}

.news_sub_midashi {
    position: relative;
    padding-left: 30px;
    margin-bottom: 20px;
    font-size: 2rem;
    font-weight: 400;
    vertical-align: middle;
}

.news_sub_midashi::before {
    position: absolute;
    top: 5px;
    left: 0;
    display: inline-block;
    content: '◼︎';
    font-size: 3rem;
    font-weight: 400;
    color: #0087DC;
    line-height: 2rem;
}

.news_date {
    font-family: "Roboto", sans-serif;
    font-weight: 400;
}

.news_sub_midashi .news_page_area p {
    margin-bottom: 20px;
}

.licircle_num li::before {
    font-family: "Roboto", sans-serif;
    line-height: 1.6em !important;
}

@media (max-width: 1200px) {
    .news-in li span {
        font-size: 1.3rem;
        vertical-align: middle;
    }

    .news-in li a {
        font-size: 1.3rem;
    }
}

@media (max-width: 980px) {
    .news_in_top {
        width: 100%;
    }

    .news_in_top {
        margin-bottom: 10px;
    }

    .news-in li a {
        margin-left: 0;
    }

    .news-in li p::before {
        padding-right: .7em;
    }

}

@media (min-width: 981px) {
    .news-in li p {
        width: calc(100% - 240px);
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

}

@media (max-width: 500px) {
    .news_midashi_area {
        flex-wrap: wrap;
        flex-direction: column-reverse;
    }

    .news_midashi,
    .news_date {
        width: 100%;
    }

    .news_date {
        margin-bottom: 10px;
        text-align: right;
    }

}


/*　//////////////////////////////////////////////////
　下層ページ共通
//////////////////////////////////////////////////　*/

.page_top {
    height: 450px;
    width: 100%;
    margin-top: 80px;
    position: relative;
    background: linear-gradient(rgba(32, 31, 49, .6), rgba(32, 31, 49, .6)), url('../img/index/top_contact_bg.png');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.page_top2,
.news_top,
.post_top,
.privacy-policy_top {
    height: 200px;
    width: 100%;
    margin-top: 80px;
    background: linear-gradient(175deg, #072956 0%, #072956 50%, #041E4A 50%, #041E4A 100%);
    position: relative;
}

.page_top2 .top_midashi1 span {
    color: #fff;
}

.page_top_title {
    position: absolute;
    width: 80%;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    color: #fff;
    text-align: center;
}

.page_top_title h2 {
    font-size: 3rem;
    font-weight: 500;
}

.page_top_title p {
    line-height: 3rem;
}

.page_bg {
    position: relative;
}

.page_bg_img {
    position: absolute;
    top: 20%;
    left: -20%;
}

.col_2_area {
    display: flex;
    justify-content: space-between;
}

.col_2_item {
    width: 48.5%;
}

.col_2_item img {
    width: 100%;
}

.col_2_area_img .col_2_item_l {
    width: 50%;
}

.col_2_area_img .col_2_item_r {
    width: 47.5%;
    position: relative;
}

.col_2_area_img .col_2_item_l img {
    width: 100%;
}

.col_2_area_img .col_2_item_r img {
    width: 100%;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

.col_2_area3 {
    width: 70%;
    margin: 0 auto;
}

.col_2_area3 .col_2_item_l {
    width: 70%;
}

.col_2_area3 .col_2_item_r {
    width: 30%;
    position: relative;
}

.col_2_area3 .col_2_item_r img {
    width: 80%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
}

.col_4_area {
    display: flex;
    justify-content: space-between;
    gap: 2rem;
}

.col_4_item {
    width: calc(95% / 4);
}

.col_4_item img {
    width: 100%;
}

.midashi2 {
    font-size: 2.5rem;
    font-weight: 600;
    color: #0087DC;
    text-align: center;
}

.midashi2_l {
    font-size: 2.5rem;
    font-weight: 600;
    color: #0087DC;
}

.midashi2_b {
    font-size: 2.5rem;
    font-weight: 600;
    color: #333;
    text-align: center;
}

.midashi3 {
    font-size: 3.5rem;
    font-weight: 600;
    color: #0087DC;
    text-align: center;
}

.midashi3::after {
    margin-top: 5px;
    display: block;
    content: '';
    width: 100%;
    height: 20px;
    background-image: url(../img/common/page_title_dot.svg);
    background-repeat: no-repeat;
    background-position: center;
}

.midashi4 {
    font-size: 2.5rem;
    font-weight: 600;
    color: #333;
}

.midashi5 {
    width: fit-content;
    margin: 0 auto;
    position: relative;
    font-size: 2.2rem;
    font-weight: 500;
    color: #0087DC;
}

.midashi5::after {
    content: '';
    width: 100%;
    height: 5px;
    display: inline-block;
    background-color: #FFE246;
    position: absolute;
    bottom: -2px;
    left: 0;
    z-index: 0;
}

.midashi6 {
    font-size: 2.5rem;
    font-weight: 600;
    color: #0087DC;
}

.midashi7 {
    font-size: 2rem;
    font-weight: 600;
}

.midashi7 span {
    color: #0087DC;
}

.midashi8 {
    font-size: 2.4rem;
    font-weight: 600;
    text-align: center;
}

.midashi8 span {
    font-family: "Roboto", sans-serif;
    font-size: 3.4rem;
    color: #0087DC;
}

.midashi9 {
    font-size: 2.4rem;
    font-weight: 600;
    color: #0087DC;
}

.midashi10 {
    font-size: 2rem;
    font-weight: 600;
    text-align: center;
}

.link_btn {
    display: inline-block;
    content: '';
    width: 40px;
    height: 40px;
    font-size: 0;
    background: url('../img/common/button_link.svg');
    background-size: contain;
}

.top_topic_arrow a:hover .link_btn {
    background: url('../img/common/button_link_hover.svg');
    background-size: contain;
    transition: .3s;
    transform: scale(1.1);
}

.page_step {
    width: 80%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}

.margin_c {
    margin: 0 auto;
}

.page_step_l {
    width: 80%;
}

.service_chart tr {
    display: flex;
}

.service_chart th {
    width: 72.5px;
    position: relative;
    display: block;
    padding: 10px;
    margin: 20px 0;
    aspect-ratio: 1 / 1;
    font-family: "Roboto", sans-serif;
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 2.2rem;
    color: #0087DC;
    background-color: #fff;
    border: 1px solid #0087DC;
    border-radius: 99px;
}

.service_chart th::after {
    content: "";
    display: block;
    width: 1px;
    height: calc(100% - 15px);
    position: absolute;
    top: 70px;
    left: 34.5px;
    background: #0087DC;
    z-index: -1;
}

.service_chart tr:last-child th::after {
    display: none;
}

.service_chart tr:first-child th {
    margin: 0px 0 20px 0;
}

.service_chart tr:last-child th {
    margin: 20px 0 0px 0;
}

.service_chart th span {
    font-size: 32px;
    font-weight: 600;
}

.service_chart td {
    width: calc(57vw - 72.5px);
    max-width: 660px;
    position: relative;
    display: block;
    padding: 20px;
    margin-left: 20px;
    border-bottom: 1px solid #333;
}

.service_chart td p {
    width: 100%;
    position: absolute;
    top: 50%;
    left: 20px;
    transform: translateY(-50%);
}

.service_chart td p {
    font-size: 1.8rem;
    font-weight: 500;
    color: #0087DC;
}

.service_chart td p span {
    display: inline-block;
    content: '→';
    font-size: 1.6rem;
    font-weight: 400;
    color: #333;
    text-indent: -1rem;
    padding-left: 2.1rem;
}

.service_chart td p span::before {
    display: inline-block;
    content: '→';
}

.service_chart tr:first-child td p {
    top: 40%;
}

.service_chart tr:last-child td {
    border-bottom: 0px;
}

.service_chart tr:last-child td p {
    top: 60%;
}

.page_step_r {
    width: 18.5%;
    display: flex;
    justify-content: space-between;
    flex-flow: column;
    row-gap: 2rem;
}

.page_step_r img {
    width: 100%;
}

.text_b {
    color: #0087DC;
}

.page_list {
    list-style: none;
    list-style-position: inside;
}

.page_list li {
    position: relative;
    margin-bottom: 5px;
    font-size: 1.6rem;
    font-weight: 400;
    padding-left: 2rem;
    text-indent: -0rem;
}

.page_list li span {
    color: #0087DC;
}

.page_list li::before {
    position: absolute;
    top: -12px;
    left: -7px;
    content: '◼︎';
    font-size: 3rem;
    color: #0087DC;
}

.page_text50 {
    width: 50%;
    display: block;
    margin: 0 auto;
    line-height: 3rem;
}

.page_text50 span {
    color: #0087DC;
}

.page_text50_b span {
    font-weight: 600;
    color: #0087DC;
}

@media (max-width: 1200px) {

    .reason_top,
    .page_top,
    .page_top2 {
        margin-top: 65px !important;
    }
}

@media (max-width: 980px) {

    .page_step {
        width: 100%;
    }

    .service_chart td {
        width: calc(68vw - 72.5px);
        max-width: 580px;
    }

    .midashi4,
    .midashi5 {
        font-size: 2rem;
    }

    .col_2_area3 {
        width: 90%;
    }

    .page_text50 {
        width: 70%;
    }
}

@media (max-width: 768px) {
    .page_bg_img {
        top: 80px;
        left: -200px;
    }

    .page_top_title {
        width: 90%;
    }

    .page_top_title h2 {
        font-size: 2.5rem;
    }

    .col_2_area {
        flex-wrap: wrap;
    }

    .col_4_area {
        flex-wrap: wrap;
        column-gap: 10px;
    }

    .col_4_item {
        width: calc(98% / 2);
    }

    .col_2_item {
        width: 100%;
    }

    .page_step {
        width: 100%;
        flex-wrap: wrap;
    }

    .page_step_l {
        width: 100%;
        margin-bottom: 60px;
    }

    .page_step_r {
        width: 100%;
    }

    .service_chart td {
        width: calc(87.5vw - 92.5px);
        max-width: 575px;
    }

    .col_2_area_img .col_2_item_l,
    .col_2_area_img .col_2_item_r {
        width: 100%;
    }

    .col_2_area_img .col_2_item_r img {
        position: relative;
    }

    .col_2_area3 {
        flex-wrap: wrap;
        width: 100%;
    }

    .col_2_area3 .col_2_item_l,
    .col_2_area3 .col_2_item_r {
        width: 100%;
    }

    .col_2_area3 .col_2_item_r img {
        width: 30%;
        position: relative;
    }

    .midashi6 br {
        display: none;
    }

    .midashi4 {
        font-size: 2.2rem;
    }

    .page_text50 {
        width: 100%;
    }
}

@media (max-width: 570px) {
    .col_4_item {
        width: calc(97% / 2);
    }
}

@media (max-width: 550px) {
    .service_chart td p {
        width: calc(100% - 40px);
        font-size: 1.6rem;
    }

    .service_chart td p span {
        font-size: 1.4rem;
        text-indent: -0.9rem;
    }

    .service_chart td {
        width: calc(86.5vw - 92.5px);
        max-width: 480px;
    }

    .midashi2_l {
        font-size: 2rem;
    }
}

@media (max-width: 385px) {
    .col_4_item {
        width: calc(96% / 2);
    }
}

/*　//////////////////////////////////////////////////
　TENKEN
//////////////////////////////////////////////////　*/

.tenken_top {
    background: linear-gradient(rgba(32, 31, 49, .6), rgba(32, 31, 49, .6)), url('../img/tenken_top.png');
    background-size: auto 200px;
    background-repeat: no-repeat;
    background-position: center;
}

.top_reason_text_u {
    display: inline;
    padding-bottom: 1px;
    background: linear-gradient(transparent 93%, #0087DC 0%);
}

.fukidashi_1 {
    width: 70%;
    margin: 0 auto;
    margin-bottom: 20px;
    padding-left: 30px;
}

.fukidashi_1 p {
    position: relative;
    width: fit-content;
    padding: 8px 20px;
    font-family: "Roboto", sans-serif;
    font-size: 1.4rem;
    color: #ffffff;
    background-color: #0087DC;
    border-radius: 99px;
}

.fukidashi_1 p::after {
    content: "";
    position: absolute;
    bottom: -7px;
    left: 50%;
    z-index: -1;
    width: 10px;
    height: 10px;
    transform: translateX(-50%);
    box-sizing: border-box;
    background-color: #0087DC;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.tenken_chart {
    width: 70%;
    margin: 0 auto;
}

.tenken_chart_item {
    display: flex;
    line-height: 1.5;
    font-size: 16px;
}

.tenken_chart_item:last-child {
    position: relative;
}

.tenken_chart_item:last-child::after {
    position: absolute;
    left: 83px;
    bottom: -2px;
    content: '';
    display: inline-block;
    vertical-align: middle;
    color: #0087DC;
    line-height: 1;
    width: 1em;
    height: 1em;
    border: 2px solid currentColor;
    border-left: 0;
    border-bottom: 0;
    box-sizing: border-box;
    transform: translateY(-25%) rotate(135deg);
}

.tenken_chart_item .tenken_chart_date {
    font-family: "Roboto", sans-serif;
    width: 90px;
    padding-right: 30px;
    font-size: 2rem;
    color: #0087DC;
    font-weight: 600;
    text-align: right;
}

.tenken_chart_item .tenken_chart_date small {
    font-size: 1.4rem;
}

.tenken_chart_item .tenken_chart_content {
    position: relative;
    width: calc(100% - 90px);
    padding: 0 0px 60px 30px;
}

.tenken_chart_item .tenken_chart_content::before {
    content: "";
    position: absolute;
    top: 5px;
    left: -9px;
    width: 20px;
    height: 20px;
    background-color: #0087DC;
    border-radius: 10px;
}

.tenken_chart_item .tenken_chart_content::after {
    content: "";
    position: absolute;
    width: 2px;
    height: calc(100% - 5px);
    top: 11px;
    left: 0px;
    background-color: #0087DC;
}

.tenken_chart_item:last-child .tenken_chart_content::after {
    top: 5px;
}

.tenken_chart_item .tenken_chart_content h5 {
    font-size: 1.6rem;
    font-weight: 600;
}

.tenken_chart_item .tenken_chart_content p span {
    color: #0087DC;
}

.tenken_table tr th {
    border-right: 20px solid #fff;
    border-bottom: 20px solid #fff;
    padding: 20px 30px;
    font-size: 1.6rem;
    font-weight: 600;
    color: #fff;
    background-color: #0087DC;
    white-space: nowrap;
}

.tenken_table tr td {
    border-bottom: 20px solid #fff;
}

.tenken_table_bg {
    padding: 20px;
    background-color: rgba(0, 135, 220, 0.05);
}

.tenken_table tr td p span {
    font-weight: 400;
}

.tenken_table tr td p span.tenken_table_midashi_r {
    font-weight: 600;
    color: #DA4D4D;
}

.tenken_table tr td p span.tenken_table_midashi_b {
    font-weight: 600;
    color: #0087DC;
}

.tenken_table tr td p span.tenken_table_text_u {
    position: relative;
    font-weight: 600;
}

.tenken_table tr td p span.tenken_table_text_u::after {
    position: absolute;
    bottom: -1px;
    left: 0;
    content: '';
    display: block;
    width: 100%;
    height: 3px;
    background-color: #FFDC00;
}

.tenken_col_area {
    display: flex;
    justify-content: space-between;
}

.tenken_col_item_l {
    padding: 20px;
    width: 35%;
    background-color: rgba(218, 77, 77, 0.05);
    border: 2px solid #DA4D4D;
    border-radius: 15px;
}

.tenken_col_item_l .tenken_topic {
    display: inline-block;
    padding: 5px 20px;
    font-size: 1.8rem;
    font-weight: 600;
    color: #fff;
    background-color: #DA4D4D;
    border-radius: 99px;
}

.tenken_col_item_r {
    padding: 20px;
    width: 63%;
    background-color: rgba(0, 135, 220, 0.05);
    border: 2px solid #0087DC;
    border-radius: 15px;
}

.tenken_col_item_r .tenken_topic {
    display: inline-block;
    padding: 5px 20px;
    font-size: 1.8rem;
    font-weight: 600;
    color: #fff;
    background-color: #0087DC;
    border-radius: 99px;
}

.tenken_col_midashi {
    font-size: 3.2rem;
    font-weight: 600;
}

.tenken_col_area h6 {
    position: relative;
    margin-bottom: 5px;
    font-size: 1.6rem;
    font-weight: 600;
    padding-left: 2rem;
    text-indent: -0rem;
}

.tenken_col_area h6::before {
    position: absolute;
    top: -12px;
    left: -7px;
    content: '◼︎';
    font-size: 3rem;
}

.tenken_col_area .tenken_col_item_l h6,
.tenken_col_area .tenken_col_item_l h6::before {
    color: #DA4D4D;
}

.tenken_col_area .tenken_col_item_r h6,
.tenken_col_area .tenken_col_item_r h6::before {
    color: #0087DC;
}

.tenken_col_item_l p {
    font-weight: 400;
}

.tenken_col_area h6::before {
    position: absolute;
    top: -12px;
    left: -7px;
    content: '◼︎';
    font-size: 3rem;
    color: #0087DC;
}

.tenken_num {
    list-style: none;
    font-size: 1.6rem;
    font-weight: 400;
}

.tenken_num li {
    text-indent: -1em;
    padding-left: 1em;
}

.tenken_col_table {
    width: 100%;
    font-size: 1.6rem;
    font-weight: 600;
    text-align: center;
    border-collapse: collapse;
}

.tenken_col_table tr th {
    padding: 10px 20px;
    color: #fff;
    background-color: #0087DC;
    border-right: 1px solid #fff;
}

.tenken_col_table tr td {
    padding: 10px 20px;
    background-color: #fff;
    border-right: 1px solid #5CB0FB;
    border-bottom: 1px solid #5CB0FB;
}

.tenken_col_table tr th:last-child,
.tenken_col_table tr td:last-child {
    border-right: 0px;
}

.tenken_col_table tr:last-child td {
    border-bottom: 0;
}

.tenken_col_table tr td p {
    display: inline;
    padding-bottom: 1px;
    font-weight: 600;
    background: linear-gradient(transparent 85%, #FFDC00 0%);
}

.tenken_col_table tr td p span,
.tenken_col_table tr td span {
    font-weight: 400;
}

.tenken_col_list {
    font-size: 1.6rem;
    font-weight: 400;
    list-style-position: inside;
}

.tenken_col_list li {
    text-indent: -1.4em;
    padding-left: 1.4em;
}

.tenken_col_list li::marker {
    font-size: 80%;
}

.tenken_col_list li span {
    font-weight: 400;
}

.tenken_caution_area {
    margin: 0 auto;
    margin-top: 100px;
    padding: 30px;
    width: 56%;
    border: 2px dotted #DA4D4D;
    border-radius: 20px;
}

.tenken_caution_area p {
    font-weight: 400;
}

.tenken_caution_area p.caution_topic {
    padding: 5px 8px;
    font-weight: 600;
    display: inline-block;
    background-color: #FFE246;
}

.caution_topic::before {
    display: inline-block;
    content: '';
    width: 16px;
    height: 16px;
    background-image: url(../img/common/precautions.svg);
    background-repeat: no-repeat;
    transform: translateY(3px);
}

.tenken_caution_list {
    font-size: 1.6rem;
    font-weight: 400;
    list-style-position: inside;
}

.tenken_caution_list li {
    text-indent: -1em;
    padding-left: 1em;
}

.tenken_caution_list li::marker {
    font-size: 80%;
}

.tenken_caution_list li span {
    color: #DA4D4D;
}

@media (max-width: 980px) {

    .fukidashi_1,
    .tenken_chart {
        width: 90%;
    }

    .tenken_col_area {
        flex-wrap: wrap;
        row-gap: 2rem;
    }

    .tenken_col_item_l,
    .tenken_col_item_r {
        width: 100%;
    }

    .tenken_caution_area {
        width: 78%;
    }
}

@media (max-width: 768px) {

    .fukidashi_1,
    .tenken_chart {
        width: 100%;
    }

    .tenken_table tr th,
    .tenken_table tr td {
        display: block;
        width: 100%;
    }

    .tenken_table tr th {
        border-right: 0;
    }

    .tenken_caution_area {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .tenken_col_table {
        font-size: 1.4rem;
    }

    .tenken_col_table tr th,
    .tenken_col_table tr td {
        padding: 10px;
    }
}

/*　//////////////////////////////////////////////////
　Dfct
//////////////////////////////////////////////////　*/

.dfct_top {
    background: linear-gradient(rgba(32, 31, 49, .6), rgba(32, 31, 49, .6)), url('../img/dfct/dfct_top.png');
    background-size: auto 200px;
    background-repeat: no-repeat;
    background-position: center;
}

.top_reason_text h4,
.dfct_topic_content_r h4 {
    font-size: 2rem;
    color: #0087DC;
}

.dfct_topic_area {
    margin: 0 auto;
    width: 70%;
}

.dfct_topic_content {
    padding: 30px 40px;
    display: flex;
    background-color: rgba(0, 135, 220, 0.05);
    border: 2px solid #0087DC;
    border-radius: 10px;
}

.dfct_topic_content_l {
    width: 80px;
    margin-right: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.dfct_topic_content_l img {
    width: 80px;
}

/* form-nav */

.progressbar {
    width: 100%;
    max-width: 1200px;
    height: 210px;
    position: relative;
}

.progressbar .item {
    position: absolute;
    top: 0;
    width: 27.5%;
    text-align: center;
    align-items: center;
    padding: 40px 20px;
    line-height: 1.5;
    clip-path: polygon(0 0, 85% 0%, 100% 50%, 85% 100%, 0 100%, 15% 50%);
    background: #0087DC;
    color: #fff;
}

.progressbar .item p {
    font-weight: 600;
}

.progressbar .item.item1 {
    left: 0;
    clip-path: polygon(0 0, 85% 0%, 100% 50%, 85% 100%, 0 100%, 0 50%);
    background-color: rgba(0, 135, 220, 0.5);
    border-radius: 10px 0 0 10px;
}

.progressbar .item.item2 {
    left: 24%;
    background-color: rgba(0, 135, 220, 0.75);
}

.progressbar .item.item3 {
    left: 48%;
    background-color: rgba(0, 135, 220, 0.9);
}

.progressbar .item.item4 {
    left: 72%;
    background-color: rgba(0, 135, 220, 0.9);
}

.progressbar_num {
    width: 72.5px;
    display: block;
    padding: 10px;
    margin: 0 auto;
    margin-bottom: 20px;
    aspect-ratio: 1 / 1;
    font-family: "Roboto", sans-serif;
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 2.2rem;
    color: #0087DC;
    background-color: #fff;
    border: 1px solid #0087DC;
    border-radius: 99px;
}

.progressbar_num span {
    font-size: 32px;
    font-weight: 600;
}

.dfct_container {
    display: flex;
    padding: 0 !important;
    background-color: rgba(0, 135, 220, 0.1);
}

.dfct_col_area {
    width: 80%;
    margin: 60px auto;
    display: flex;
    justify-content: space-between;
}

.dfct_col_item_l {
    width: 320px;
    position: relative;
}

.dfct_col_item_l img {
    width: 100%;
    position: absolute;
    bottom: -60px;
    left: 0;
}

.dfct_col_item_r {
    width: calc(95% - 320px);
}

.dfct_col_item_r p span {
    font-weight: 600;
}

.dfct_app_link {
    display: flex;
    align-items: center;
    column-gap: 2rem;
}

.dfct_app_link .dfct_app_link_icon {
    width: 80px;
}

.dfct_app_btn {
    display: inline-block;
    height: 100%;
}

.dfct_app_btn:hover {
    opacity: .6;
    transform: scale(1.1);
}

.dfct_app_btn img {
    height: 60px;
}

.dfct_link_btn {
    display: inline-block;
    padding: 10px 30px;
    font-size: 1.6rem;
    color: #fff;
    background-color: #0087DC;
    text-decoration: none;
    border-radius: 10px;
}

.dfct_link_btn:hover {
    opacity: .6;
    transform: scale(1.1);
}

@media (max-width: 980px) {
    .dfct_topic_area {
        width: 90%;
    }

    .progressbar {
        height: 800px;
    }

    .progressbar .item {
        top: 0;
        height: 250px;
        width: 100%;
        padding: 80px 20px 40px 20px;
        clip-path: polygon(50% 25%, 100% 0, 100% 75%, 50% 100%, 50% 100%, 0 75%, 0 0);
    }

    .progressbar .item.item1 {
        left: 0;
        height: 220px;
        padding: 30px 20px;
        clip-path: polygon(50% 0, 100% 0, 100% 72%, 50% 100%, 50% 100%, 0 72%, 0 0);
        border-radius: 10px 10px 0 0;
    }

    .progressbar .item.item2 {
        top: 170px;
        left: 0;
    }

    .progressbar .item.item3 {
        top: 370px;
        left: 0;
    }

    .progressbar .item.item4 {
        top: 570px;
        left: 0;
    }

    .dfct_col_area {
        width: 100%;
    }
}

@media (max-width: 768px) {
    .dfct_topic_area {
        width: 100%;
    }

    .dfct_col_area {
        flex-wrap: wrap;
        flex-direction: column-reverse;
    }

    .dfct_col_item_l {
        width: 100%;
        text-align: center;
    }

    .dfct_col_item_l img {
        position: relative;
        width: 50%;
    }

    .dfct_col_item_r {
        width: 100%;
    }
}

@media (max-width: 500px) {
    .dfct_topic_content {
        flex-wrap: wrap;
        row-gap: 2rem;
    }

    .dfct_topic_content_l,
    .dfct_topic_content_r {
        width: 100%;
    }

    .dfct_topic_content_l {
        margin: 0;
    }

    .progressbar {
        height: 850px;
    }

    .progressbar .item {
        padding: 80px 20px 40px 20px;
        clip-path: polygon(50% 20%, 100% 0, 100% 80%, 50% 100%, 50% 100%, 0 80%, 0 0);
    }

    .progressbar .item.item1 {
        clip-path: polygon(50% 0, 100% 0, 100% 77%, 50% 100%, 50% 100%, 0 77%, 0 0);
        border-radius: 10px 10px 0 0;
    }

    .progressbar .item.item2 {
        top: 180px;
    }

    .progressbar .item.item3 {
        top: 390px;
    }

    .progressbar .item.item4 {
        top: 600px;
    }
}

/*　//////////////////////////////////////////////////
　HOJOKIN
//////////////////////////////////////////////////　*/

.hojokin_top {
    background: linear-gradient(rgba(32, 31, 49, .6), rgba(32, 31, 49, .6)), url('../img/hojokin/hojokin_top.png');
    background-size: auto 200px;
    background-repeat: no-repeat;
    background-position: center;
}

.hojokin_img {
    width: 100%;
}

.hojokin_content {
    width: 40%;
    position: relative;
    margin: 0 auto;
    margin-top: 60px;
    padding: 40px 20px 20px 20px;
    text-align: center;
    border: 1px solid #333;
}

.hojokin_content_midashi {
    width: 300px;
    position: absolute;
    top: -26px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #fff;
}

.hojokin_content_tel,
.hojokin_content_tel a {
    font-size: 3rem;
    font-weight: 500;
    line-height: 2.5rem;
    color: #0087DC;
    text-decoration: none;
}

.hojokin_content_tel span {
    font-size: 1.2rem;
    font-weight: 400;
    color: #333;
}

.hojokin_content_tel::before {
    padding-right: 10px;
    display: inline-block;
    font-family: 'Font Awesome 5 Free';
    content: '\f879';
    font-size: 2.5rem;
    font-weight: 900;
    color: #0087DC;
}

.hojokin_midashi {
    padding: 10px;
    font-size: 2.4rem;
    font-weight: 600;
    color: #fff;
    background-color: #0087DC;
    text-align: center;
}

.hojokin_chart_item {
    position: relative;
    width: 100%;
    height: 228.92px;
}

.hojokin_chart_item:first-child {
    position: relative;
    width: 100%;
    height: 402.49px;
}

.hojokin_chart_item:first-child img {
    position: relative;
}

.hojokin_chart_item:not(:first-child) img {
    position: absolute;
    top: -66px;
    left: 0;
}

.hojokin_chart_item:nth-child(2) img {
    z-index: -1;
}

.hojokin_chart_item:nth-child(3) img {
    z-index: -2;
}

.hojokin_chart_item:nth-child(4) img {
    z-index: -3;
}

.hojokin_chart_item:nth-child(5) img {
    z-index: -4;
}

.hojokin_chart_item img {
    width: 100%;
}

@media (max-width: 1200px) {
    .hojokin_chart_item {
        height: 18vw;
    }

    .hojokin_chart_item:first-child {
        height: 100%;
    }

    .hojokin_chart_item:nth-child(2) img {
        top: -5.2vw;
    }

    .hojokin_chart_item:nth-child(2) {
        height: 18.5vw;
    }

    .hojokin_chart_item:nth-child(5) img {
        top: -8vw;
    }
}

@media (max-width: 980px) {
    .hojokin_content {
        width: 60%;
    }

    .hojokin_chart_item:nth-child(3) {
        height: 17vw;
    }

}

@media (max-width: 940px) {
    .hojokin_chart_item:nth-child(5) img {
        top: -9vw;
    }

}

@media (max-width: 900px) {
    .hojokin_chart_item:nth-child(2) {
        height: 19vw;
    }
}

@media (max-width: 800px) {
    .hojokin_chart_item:nth-child(5) img {
        top: -10vw;
    }
}

@media (max-width: 768px) {
    .hojokin_chart_item:nth-child(2) {
        height: 20vw;
    }
}

@media (max-width: 740px) {
    .hojokin_chart_item:nth-child(2) {
        height: 21vw;
    }

    .hojokin_chart_item:nth-child(5) img {
        top: -11vw;
    }
}

@media (max-width: 660px) {
    .hojokin_chart_item:nth-child(2) {
        height: 22vw;
    }

    .hojokin_chart_item:nth-child(5) img {
        top: -12vw;
    }
}

@media (max-width: 600px) {
    .hojokin_chart_item:nth-child(5) img {
        top: -13vw;
    }
}

@media (max-width: 570px) {
    .hojokin_chart_item:nth-child(2) {
        height: 23vw;
    }

    .hojokin_chart_item:nth-child(5) img {
        top: -14vw;
    }

}

@media (max-width: 500px) {
    .hojokin_chart_item:nth-child(2) {
        height: 25vw;
    }

    .hojokin_chart_item:nth-child(5) img {
        top: -15vw;
    }

}

@media (max-width: 460px) {
    .hojokin_chart_item:nth-child(2) {
        height: 26vw;
    }

    .hojokin_chart_item:nth-child(5) img {
        top: -16vw;
    }

}

@media (max-width: 440px) {
    .hojokin_chart_item:nth-child(2) {
        height: 27vw;
    }

    .hojokin_chart_item:nth-child(5) img {
        top: -17vw;
    }

}

@media (max-width: 430px) {
    .hojokin_content {
        width: 100%;
    }
}

@media (max-width: 400px) {
    .hojokin_chart_item:nth-child(2) {
        height: 28vw;
    }

    .hojokin_chart_item:nth-child(3) img {
        top: -16.5vw;

    }

    .hojokin_chart_item:nth-child(5) img {
        top: -18vw;
    }

}

/*　//////////////////////////////////////////////////
　SHOENE
//////////////////////////////////////////////////　*/

.shoene_top {
    background: linear-gradient(rgba(32, 31, 49, .6), rgba(32, 31, 49, .6)), url('../img/shoene_top.png');
    background-size: auto 200px;
    background-repeat: no-repeat;
    background-position: center;
}

.shoene_img {
    display: block;
    width: 60%;
    margin: 0 auto;
    margin-top: 40px;
}

.shoene_img1 {
    display: block;
    width: 360px;
    margin: 0 auto;
}

.shoene_accordion details {
    &::details-content {
        transition:
            height 0.4s,
            opacity 0.4s,
            content-visibility 0.4s allow-discrete;
        height: 0;
        opacity: 0;
        overflow: clip;
    }

    &[open]::details-content {
        opacity: 1;
    }

    &[open] .icon {
        transform: rotate(180deg);
    }
}

.shoene_accordion details summary {
    padding: 15px 20px;
    position: relative;
    display: block;
    list-style-type: none;
    font-size: 1.6rem;
    font-weight: 600;
    color: #fff;
    background-color: #5CB0FB;
}

.shoene_accordion details summary::marker {
    content: "";
}

.shoene_accordion details summary::-webkit-details-marker {
    display: none;
}

.shoene_accordion details summary::before,
.shoene_accordion details summary::after {
    content: "";
    display: block;
    margin-left: 10px;
    position: absolute;
    right: 20px;
    width: 15px;
    height: 2px;
    background-color: #fff;
    top: 52%;
}

.shoene_accordion details summary::after {
    top: 50%;
}

.shoene_accordion details summary::before {
    transition: transform 0.5s linear;
    transform: translateY(-50%) rotate(90deg);
}

.open::before {
    transform: translateY(-50%) rotate(0deg) !important;
}

.content {
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    background-color: #fff;
}

@supports (interpolate-size: allow-keywords) {
    :root {
        interpolate-size: allow-keywords;
    }

    details[open]::details-content {
        height: auto;
    }
}

@supports not (interpolate-size: allow-keywords) {
    details[open]::details-content {
        height: 150px;
        overflow-y: scroll;
    }
}

.shoene_content1 {
    text-align: center;
}

.shoene_content1 .shoene_img {
    width: 50%;
}

.shoene_content1 .top_topic_arrow a img {
    height: 40px;
    padding-right: 10px;
}

.shoene_chart_area {
    display: flex;
    justify-content: space-between;
    gap: 43px;
}

.shoene_chart_item {
    position: relative;
    width: calc(90% / 4);
    padding: 60px 30px 30px 30px;
    border: 2px solid #0087DC;
    border-radius: 10px;
    text-align: center;
}

.shoene_chart_item p {
    font-weight: 500;
    color: #0087DC;
}

.shoene_chart_item::after {
    position: absolute;
    top: 50%;
    right: -43px;
    transform: translateY(-50%);
    content: '';
    display: inline-block;
    width: 43px;
    height: 17px;
    background-image: url(../img/common/chart_arrow.svg);
    background-repeat: no-repeat;
}

.shoene_chart_item:last-child:after {
    display: none;
}

.shoene_chart_item p.shoene_chart_topic {
    position: absolute;
    top: -60px;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    width: 72.5px;
    display: block;
    padding: 10px;
    margin: 20px 0;
    aspect-ratio: 1 / 1;
    font-family: "Roboto", sans-serif;
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 2.2rem;
    color: #fff;
    background-color: #0087DC;
    border-radius: 99px;
}

.shoene_chart_item p span {
    font-size: 32px;
    font-weight: 600;
}

@media (max-width: 1163px) {
    .shoene_chart_item p br {
        display: none;
    }

    .shoene_chart_item p.shoene_chart_topic br {
        display: block;
    }
}

@media (max-width: 980px) {
    .shoene_img {
        width: 100%;
    }

    .shoene_content1 .shoene_img {
        width: 70%;
    }

    .shoene_chart_area {
        flex-wrap: wrap;
        gap: 80px;
    }

    .shoene_chart_item {
        width: 100%;
    }

    .shoene_chart_item::after {
        position: absolute;
        top: auto;
        right: auto;
        bottom: -32px;
        left: 50%;
        transform: translateX(-50%) rotate(90deg);
        content: '';
        display: inline-block;
        width: 43px;
        height: 17px;
        background-image: url(../img/chart_arrow.svg);
        background-repeat: no-repeat;
    }
}

@media (max-width: 768px) {
    .shoene_content1 .shoene_img {
        width: 100%;
    }
}

@media (max-width: 360px) {
    .shoene_img1 {
        width: 100%;
    }
}

/*　//////////////////////////////////////////////////
　REASONS
//////////////////////////////////////////////////　*/

.reasons_top {
    height: 450px;
    width: 100%;
    margin-top: 80px;
    position: relative;
    background-image: url(../img/reasons/reasons_top_bg.png);
    background-size: auto 450px;
    background-repeat: no-repeat;
    background-position: center;
}

.reasons_top img {
    width: 512px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
}

.reasons_1_area {
    margin-top: 100px;
    margin-bottom: 150px;
}

.reasons_2_area,
.reasons_3_area {
    margin-bottom: 150px;
}

.reasons_content {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.reasons_content_l {
    width: 47.5%;
}

.reasons_content_r {
    width: 47.5%;
    position: relative;
}

.reasons_midashi {
    display: flex;
    column-gap: 40px;
}

.reasons_midashi img {
    width: 100px;
}

.reasons_midashi h3 {
    font-size: 3rem;
    font-weight: 500;
    line-height: 4.5rem;
    color: #0087DC;
}

.reasons_content_r .reasons_midashi {
    justify-content: end;
    text-align: right;
}

.top_reasons_text span {
    font-weight: 500;
    color: #0087DC;
}

.top_reasons_text2 span {
    font-weight: 500;
    color: #333;
}

.reasons_content_r .reasons_1_img1 {
    position: absolute;
    width: 60%;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
}

.reasons_1_img2 {
    width: 100%;
}

.reasons_2_content2 .reasons_content_l {
    display: flex;
    justify-content: end;
}

.reasons_2_img1 {
    width: 100%;
}

.reasons_2_table {
    width: 70%;
    font-size: 1.4rem;
}

.reasons_2_table tr {
    display: flex;
    width: 100%;
    border-bottom: 1px solid #333;
}

.reasons_2_table tr.reasons_2_table_midashi {
    border-bottom: 0px solid #333;
}

.reasons_2_table tr th {
    display: inline-block;
    width: 100%;
    text-align: left;
    padding: 10px 20px;
    color: #0087DC;
    font-weight: 500;
    border: 1px solid #0087DC;
}

.reasons_2_table tr td {
    width: 80%;
    padding: 15px;
}

.reasons_2_table tr td:nth-child(2n) {
    width: 20%;
    text-align: right;
}

.reasons_2_table tr:last-child {
    border-bottom: 0px solid #333;
}

.reasons_2_content2 .reasons_content_r .reasons_2_img1 {
    position: absolute;
    width: 100%;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

.reasons_3_content1 .top_reasons_text strong {
    font-size: 2rem;
    color: #0087DC;
    font-weight: 500;
}

.reasons_3_content1 .top_reasons_text span {
    text-decoration: underline;
    text-decoration-color: #0087DC;
}

.reasons_3_content1 .reasons_content_r .reasons_3_img1 {
    position: absolute;
    width: 50%;
    bottom: -40px;
    left: 50%;
    transform: translateX(-50%);
}

.reasons_3_content2 .reasons_content_l .reasons_3_img2 {
    width: 137%;
}

.reasons_3_content2 .reasons_content_r .top_reasons_text {
    margin-top: 40px;
}

@media (max-width: 1120px) {

    .reason_2_content1 .reasons_midashi h3,
    .reason_3_content1 .reasons_midashi h3 {
        font-size: 2.5rem;
    }
}

@media (max-width: 1010px) {
    .reasons_3_content1 .reasons_content_l .reasons_midashi h3 br {
        display: none;
    }

    .reasons_3_content2 .reasons_content_l .reasons_3_img2 {
        width: 100%;
    }
}

@media (max-width: 980px) {
    .reasons_top {
        margin-top: 80px;
    }

    .reasons_content_r .reasons_1_img1,
    .reasons_3_content1 .reasons_content_r .reasons_3_img1 {
        width: 90%;
    }

    .reasons_midashi h3 {
        font-size: 2.8rem;
    }

    .reasons_2_table {
        width: 100%;
    }

    .reasons_2_content2 .reasons_content_r .reasons_2_img1 {
        width: 90%;
    }
}

@media (max-width: 870px) {

    .reasons_2_content1 .reasons_midashi h3,
    .reasons_3_content1 .reasons_midashi h3 {
        padding-top: 5px;
        font-size: 2rem;
    }
}

@media (max-width: 768px) {

    .reasons_content_l {
        margin-bottom: 40px;
        width: 100%;
    }

    .reasons_content_r {
        width: 100%;
    }

    .reasons_2_content1 {
        flex-direction: column-reverse;
    }

    .reasons_2_content1 .reasons_midashi {
        justify-content: start;
        flex-direction: row-reverse;
    }

    .reasons_2_content1 .reasons_midashi h3 {
        text-align: left;
    }

    .reasons_2_content1 .top_reasons_text2 {
        margin-bottom: 40px;
    }

    .reasons_content_r .reasons_1_img1 {
        width: 60%;
        position: relative;
    }

    .reasons_2_content2 .reasons_content_r .reasons_2_img1 {
        width: 80%;
        position: relative;
    }

    .reasons_2_content1 .reasons_midashi h3,
    .reasons_3_content1 .reasons_midashi h3 {
        padding-top: 0px;
        font-size: 2.8rem;
    }

    .reasons_3_content1 .reasons_content_r {
        height: fit-content;
        display: inline-block;
    }

    .reasons_3_content1 .reasons_content_l {
        margin-bottom: 0;
    }

    .reasons_3_content1 .reasons_content_r .reasons_3_img1 {
        width: 60%;
        position: relative;
        margin-bottom: 40px;
    }

    .reasons_3_content2 .reasons_content_r .top_reasons_text {
        margin-top: 0;
    }
}

@media (max-width: 600px) {
    .reasons_top {
        height: 300px;
        background-size: auto 300px;
    }

    .reasons_top img {
        padding: 0 20px;
        width: 100%;
    }

    .reasons_2_content2 .reasons_content_r .reasons_2_img1 {
        width: 100%;
    }
}

@media (max-width: 480px) {

    .reasons_2_content1 .reasons_midashi h3,
    .reasons_3_content1 .reasos_midashi h3 {
        font-size: 2.5rem;
    }
}

@media (max-width: 430px) {

    .reasons_2_content1 .reasons_midashi h3,
    .reasons_3_content1 .reasons_midashi h3 {
        padding-top: 5px;
        font-size: 2.2rem;
    }
}

/*　//////////////////////////////////////////////////
　SERVICE
//////////////////////////////////////////////////　*/
.service_top {
    background: linear-gradient(rgba(32, 31, 49, .6), rgba(32, 31, 49, .6)), url('../img/service/service_top.png');
}

.service_midashi h3 {
    font-size: 3.5rem;
    font-weight: 600;
    line-height: 4.5rem;
    color: #0087DC;
}

.service_5_area,
.service_6_area {
    margin-top: 100px;
    margin-bottom: 150px;
}

.service_text span {
    font-weight: 500;
    color: #0087DC;
}

.service_2_area {
    margin-top: 100px;
    margin-bottom: 150px;
}

.service_3_area {
    margin-bottom: 150px;
}

.service_1_img2 {
    width: 60%;
    height: auto;
    margin: 0 auto;
    display: block;
}


.service_2_content {
    position: relative;
    padding: 40px 20px 20px 20px;
    text-align: center;
    border: 1px solid #333;
}

.service_2_content_midashi {
    width: 300px;
    position: absolute;
    top: -26px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #fff;
}

.service_2_content_tel,
.service_2_content_tel a {
    font-size: 3rem;
    font-weight: 500;
    line-height: 2.5rem;
    color: #0087DC;
    text-decoration: none;
}

.service_2_content_tel span {
    font-size: 1.2rem;
    font-weight: 400;
    color: #333;
}

.service_2_content_tel::before {
    padding-right: 10px;
    display: inline-block;
    font-family: 'Font Awesome 5 Free';
    content: '\f879';
    font-size: 2.5rem;
    font-weight: 900;
    color: #0087DC;
}

.service_2_list {
    width: 70%;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2rem;
    list-style: none;
}

.service_2_list_m {
    margin: 60px auto;
}

.service_2_list li {
    display: contents;
}

.service_2_list li a {
    padding: 5px 20px;
    font-size: 1.4rem;
    color: #333;
    border: 1px solid #333;
    border-radius: 99px;
    text-decoration: none;
}

.service_2_list li a:hover {
    color: #fff;
    background-color: #333;
    border: 1px solid #333;
    transform: scale(1.1);
    transition: .3s;
}

.tips_text {
    text-indent: -1em;
    padding-left: 1em;
    text-align: center;
}

.tips_text_area {
    margin: 0 auto;
    width: fit-content;
    display: flex;
    flex-flow: column;
    justify-content: center;
}

.tips_text_area .tips_text {
    display: inline-block;
    width: fit-content;
    text-align: left;
}

.tips_text_l {
    text-indent: -1em;
    padding-left: 1em;
}

.service_midashi_img {
    width: 40%;
    min-width: 300px;
    display: block;
    margin: 0 auto;
    margin-bottom: 40px;
}

.service_midashi_img2 {
    width: 30%;
    min-width: 300px;
    display: block;
    margin: 0 auto;
    margin-bottom: 60px;
}

.service_text1 {
    width: 50%;
    display: block;
    margin: 0 auto;
    line-height: 3rem;
}

.service_2_list2 {
    counter-reset: number;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    row-gap: 2rem;
    list-style: none;
}

.service_2_list2 li {
    position: relative;
    width: 31.5%;
    padding: 80px 20px 20px 20px;
    border: 2px dashed #0087DC;
    border-radius: 10px;
    text-align: center;
}

.service_2_list2 li::before {
    counter-increment: number 1;
    content: counter(number, decimal-leading-zero);
    width: 50px;
    height: 50px;
    display: block;
    position: absolute;
    top: 34px;
    left: 50%;
    transform: translateX(-50%);
    font-family: "Roboto", sans-serif;
    font-size: 2rem;
    color: #fff;
    z-index: 2;
}

.service_2_list2 li::after {
    content: '';
    width: 50px;
    height: 50px;
    display: block;
    position: absolute;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #0087DC;
    border-radius: 99px;
}

.service_2_list2 li h5 {
    display: inline-block;
    margin-bottom: 10px;
    padding-bottom: 2px;
    font-size: 2rem;
    font-weight: 500;
    color: #0087DC;
    border-bottom: 5px solid #FFE246;
}

.service_2_area .top_topic_arrow,
.service_4_area .top_topic_arrow {
    display: flex;
    justify-content: center;
}

.service_1_area_bg,
.service_3_area_bg,
.service_4_area_bg,
.company_2_area_bg {
    height: 100%;
    width: 100%;
    background: linear-gradient(rgba(155, 199, 223, .1), rgba(85, 184, 226, .1), rgba(92, 176, 251, .1));
}

.service_1_area_bg .service_1_area,
.service_3_area_bg .service_3_area,
.service_4_area_bg .service_4_area,
.company_2_area_bg .company_2_area {
    padding-top: 100px;
    padding-bottom: 100px;
}

.service_3_img1 {
    width: 100%;
}

.col_2_item_c {
    position: relative;
}

.col_2_item_c .col_2_item_in {
    width: 100%;
    max-width: 350px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
}

.col_2_item_c .col_2_item_logo {
    margin-bottom: 40px;
    width: 100%;
    max-width: 350px;
}

.col_2_item iframe {
    width: 100%;
    aspect-ratio: 16 / 9;
}

.col_2_item_container {
    width: 100%;
    height: 100%;
    min-height: 150px;
    position: relative;
    padding: 30px 20px 30px 20px;
    border: 1px solid #0087DC;
    background-color: #fff;
    text-align: center;
}

.col_2_item_point {
    position: absolute;
    top: -23px;
    left: 50%;
    transform: translateX(-50%);
}

.col_2_item_point h5 {
    position: relative;
    width: fit-content;
    padding: 8px 20px;
    font-family: "Roboto", sans-serif;
    font-size: 1.4rem;
    color: #ffffff;
    background-color: #0087DC;
}

.col_2_item_point h5 span {
    font-size: 1.8rem;
}

.col_2_item_point h5::after {
    content: "";
    position: absolute;
    bottom: -7px;
    left: 50%;
    z-index: -1;
    width: 10px;
    height: 10px;
    transform: translateX(-50%);
    box-sizing: border-box;
    background-color: #0087DC;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.col_2_item_container .col_2_item_text {
    width: 90%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    font-size: 1.8rem;
}

.col_2_item_container .col_2_item_text span {
    position: relative;
    font-size: 2.2rem;
    font-weight: 500;
}

.col_2_item_container .col_2_item_text span::after {
    content: '';
    width: 100%;
    height: 5px;
    display: inline-block;
    background-color: #FFE246;
    position: absolute;
    bottom: 0px;
    left: 0;
    z-index: -1;
}

.service_4_content {
    padding: 10px 20px;
    font-size: 1.4rem;
    border: 1px solid #0087DC;
}

.service_4_content_midashi {
    margin-bottom: 10px;
    font-size: 1.4rem;
    font-weight: 600;
}

.service_4_content_list {
    list-style: none;
}

.service_4_content_list li {
    position: relative;
    margin-bottom: 5px;
    padding-left: 2.5rem;
    text-indent: -0em;
}

.service_4_content_list li span {
    color: #0087DC;
}

.service_4_content_list li::before {
    position: absolute;
    top: -12px;
    left: -7px;
    content: '◼︎';
    font-size: 3rem;
    color: #0087DC;
}

.service_4_area {
    margin-top: 100px;
    margin-bottom: 150px;
}

.service_4_area_bg .service_4_area {
    margin-top: 0;
    margin-bottom: 0;
}

.midashi2_topic {
    width: 100%;
    max-width: 350px;
    display: flex;
    justify-content: center;
    padding: 5px 30px;
    margin: 0 auto;
    margin-top: 40px;
    margin-bottom: 40px;
    font-weight: 400;
    border: 1px solid #333;
}

@media (max-width: 1074px) {
    .service_midashi h3 {
        font-size: 3rem;
    }

    .col_2_item_container .col_2_item_text {
        font-size: 1.6rem;
    }

    .col_2_item_container .col_2_item_text span {
        font-size: 2rem;
    }
}

@media (max-width: 980px) {
    .service_midashi h3 br {
        display: none;
    }

    .service_1_img2 {
        width: 80%;
    }

    .service_2_img1 {
        margin-bottom: 40px;
    }

    .service_text1 {
        width: 70%;
    }

    .service_2_list2 li {
        width: 48.5%;
    }

    .col_2_item_c .col_2_item_in {
        width: 90%;
    }

    .col_2_item_container .col_2_item_text {
        font-size: 1.4rem;
    }

    .col_2_item_container .col_2_item_text span {
        font-size: 1.8rem;
        white-space: nowrap;
    }
}

@media (max-width: 870px) {

    .col_2_item_container .col_2_item_text br {
        display: none;
    }

    .col_2_item_c p br {
        display: none;
    }
}

@media (max-width: 768px) {
    .service_1_img2 {
        width: 100%;
    }

    .service_2_list {
        width: 100%;
    }

    .service_midashi_img {
        width: 60%;
    }

    .service_text1 {
        width: 100%;
    }

    .service_2_list2 li {
        width: 100%;
    }

    .service_2_list2 li p br {
        display: none;
    }

    .col_2_item_c {
        margin-bottom: 40px;
    }

    .col_2_item_c .col_2_item_in {
        position: relative;
    }

    .col_2_item_r {
        margin-top: 40px;
    }

    .col_2_item_container2 {
        margin-top: 60px;
    }

    .col_2_area2 {
        row-gap: 4rem;
    }

    .service_2_area .top_topic_arrow,
    .service_3_area .top_topic_arrow {
        margin-top: 100px;
    }
}

/*　//////////////////////////////////////////////////
　MAINTENANCE
//////////////////////////////////////////////////　*/

.maintenance_top {
    background: linear-gradient(rgba(32, 31, 49, .6), rgba(32, 31, 49, .6)), url('../img/service/maintenance_top.png');
}

.col_2_area_80 {
    width: 80%;
    margin: 0 auto;
    margin-top: 40px;
}

.col_2_area_80 .col_2_item {
    width: 49.2%;
}

.col_2_area_80 .col_2_item img {
    width: 100%;
}

.col_2_item_l {
    width: 27.5%;
}

.col_2_item_l img {
    width: 100%;
}

.col_2_item_r {
    width: 70%;
}

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

.service_footer_content {
    width: 80%;
    margin: 0 auto;
}

.service_footer_content .col_2_item_l {
    width: 30.5%;
}

.service_footer_content .col_2_item_r {
    width: 65%;
}

.top_topic_arrow_c {
    display: flex;
    justify-content: center;
}

.service_chart_area {
    width: 60%;
    margin: 0 auto;
    margin-top: 40px;
    display: flex;
    justify-content: space-between;
    column-gap: 4rem;
}

.service_chart_img {
    width: calc(95% / 3);
    position: relative;
}

.service_chart_img::after {
    position: absolute;
    top: 50%;
    right: -35px;
    transform: translateY(-50%);
    content: '';
    display: inline-block;
    width: 30px;
    height: 40px;
    background: #0087DC;
    clip-path: polygon(0 31%, 38.7% 31%, 38.7% 0, 100% 50%, 38.7% 100%, 38.7% 69%, 0 69%);
}

.service_chart_img:last-child:after {
    display: none;
}

.service_chart_img img {
    width: 100%;
}

@media (max-width: 980px) {

    .col_2_area_80,
    .service_footer_content {
        width: 90%;
    }

    .service_chart_area {
        width: 80%;
    }
}

@media (max-width: 768px) {
    .col_2_area_80 {
        width: 100%;
        row-gap: 10px;
    }

    .col_2_area_80 .col_2_item,
    .col_2_area_80 .col_2_item_l,
    .col_2_area_80 .col_2_item_r,
    .service_footer_content .col_2_item_l,
    .service_footer_content .col_2_item_r {
        width: 100%;
    }

    .service_footer_content .col_2_item_l {
        text-align: center;
    }

    .service_footer_content .col_2_item_l img {
        width: 40%;
    }

    .service_chart_img,
    .service_footer_content {
        width: 100%;
    }

    .service_chart_area {
        width: 100%;
        flex-wrap: wrap;
        row-gap: 4rem;
    }

    .service_chart_img::after {
        top: auto;
        bottom: -38px;
        right: 50%;
        transform: translateY(0) translateX(-50%);
        transform: rotate(90deg);
    }
}

@media (max-width: 600px) {

    .service_footer_content .col_2_item_l img {
        width: 60%;
    }
}

/*　//////////////////////////////////////////////////
　BUSINESS
//////////////////////////////////////////////////　*/

.business_top {
    background: linear-gradient(rgba(32, 31, 49, .6), rgba(32, 31, 49, .6)), url('../img/service/business_top.png');
    background-position: 50% 100%;
}

.business_midashi7 {
    width: 50%;
    margin: 40px auto;
}

.business_tips_text {
    margin-top: 20px;
    font-size: 1.4rem;
    line-height: 2rem;
    text-indent: -1em;
    padding-left: 1em;
}

.business_3_area_bg {
    height: 100%;
    width: 100%;
    background: linear-gradient(170deg, #072956 0%, #072956 50%, #041E4A 50%, #041E4A 100%);
}

.business_3_area_bg .service_3_area {
    margin-top: 100px;
    margin-bottom: 100px;
}

.business_3_logo {
    width: 50%;
    margin: 0 auto;
    margin-bottom: 40px;
}

.business_3_logo img {
    width: 100%;
}

.business_3_movie {
    width: 50%;
    margin: 0 auto;
    margin-bottom: 40px;
}

.business_3_movie iframe {
    width: 100%;
    aspect-ratio: 16 / 9;
}

.business_col {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    column-gap: 2rem;
    row-gap: 4rem;
}

.business_col .col_2_item_container {
    width: 100%;
    height: 100%;
    min-height: 150px;
    position: relative;
    padding: 30px 20px 30px 20px;
    border: 1px solid #ECD098;
    background-color: #fff;
    text-align: center;
    border-radius: 20px 0 20px 0;
}

.business_col .col_2_item_point {
    position: absolute;
    top: -23px;
    left: 50%;
    transform: translateX(-50%);
}

.business_col .col_2_item_point h5 {
    position: relative;
    width: fit-content;
    padding: 8px 20px;
    font-family: "Roboto", sans-serif;
    font-size: 1.4rem;
    color: #333;
    background-color: #ECD098;
}

.business_col .col_2_item_point h5 span {
    font-size: 1.8rem;
}

.business_col .col_2_item_point h5::after {
    content: "";
    position: absolute;
    bottom: -7px;
    left: 50%;
    z-index: -1;
    width: 10px;
    height: 10px;
    transform: translateX(-50%);
    box-sizing: border-box;
    background-color: #ECD098;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.business_col .col_2_item_container img {
    margin-top: 15px;
    height: 50px;
    width: auto;
}

.business_col .col_2_item_container .col_2_item_text {
    width: 90%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    font-size: 1.8rem;
}

.business_col .col_2_item_container .midashi5 {
    position: relative;
    font-size: 2.2rem;
    font-weight: 500;
}

.business_col .col_2_item_container .midashi5::after {
    content: '';
    width: 100%;
    height: 5px;
    display: inline-block;
    background-color: #ECD098;
    position: absolute;
    bottom: -4px;
    left: 0;
    z-index: 1;
}

.business_col .col_2_item_container p {
    font-size: 1.4rem;
}

.business_3_area_bg .top_topic_arrow a p {
    color: #fff;
}

.business_table {
    width: 80%;
    min-width: 600px;
    margin: 0 auto;
    font-size: 1.6rem;
}

.business_table tr {
    border: 1px solid #fff;
    height: 60px;
    text-align: center;
    align-items: baseline;
}

.business_table tr th.business_table_th_b {
    width: calc(100% / 4);
    padding: 10px;
    font-weight: 400;
    color: #fff;
    background-color: #0087DC;
}

.business_table tr th.business_table_th_s {
    width: calc(100% / 4);
    padding: 10px;
    font-weight: 400;
    color: #fff;
    background-color: #55B8E2;
}

.business_table tr td {
    padding: 10px;
    background-color: #EFF7FF;
}

.business_table tr td strong {
    font-family: "Roboto", sans-serif;
    font-size: 2.5rem;
    font-weight: 600;
}

.business_table tr td.business_table_td_b {
    font-weight: 600;
}

.business_table tr td span {
    font-size: 1.4rem;
    font-weight: 400;
}

.business_topics_area {
    margin: 0 auto;
    width: 80%;
    display: flex;
    justify-content: space-between;
}

.business_topics {
    text-align: center;
}

.business_topics_text p {
    height: 52px;
}

.business_topics_text p span {
    font-size: 2rem;
    font-weight: 500;
    color: #0087DC;
}

.business_topics_text p span small {
    font-size: 1.6rem;
}

.business_topics img {
    width: 35px;
}

.business_topics_title {
    width: 180px;
    margin: 0 auto;
    padding: 10px;
    font-size: 2rem;
    font-weight: 400;
    color: #fff;
    background-color: #0087DC;
}

@media (max-width: 980px) {

    .business_midashi7,
    .business_3_movie {
        width: 70%;
    }

    .business_col .col_3_item {
        width: 48%;
    }

    .business_table,
    .business_topics_area {
        width: 100%;
    }

}

@media (max-width: 768px) {

    .business_midashi7,
    .business_3_movie {
        width: 100%;
    }

    .business_3_logo {
        width: 80%;
    }

    .business_col {
        row-gap: 0;
    }

    .business_col .col_3_item {
        width: 100%;
    }

    .business_table {
        font-size: 1.4rem;
    }

    .business_table tr td span {
        font-size: 1.2rem;
    }

    .business_topics_area {
        flex-wrap: wrap;
        row-gap: 2rem;
    }

    .business_topics {
        width: 100%;
    }
}

@media (max-width: 600px) {
    .business_table_area {
        overflow-x: scroll;
    }

    .business_table {
        margin-bottom: 10px;
        border-collapse: collapse;
        white-space: nowrap;
    }
}

/*　//////////////////////////////////////////////////
　INDIVIDUALS
//////////////////////////////////////////////////　*/
.individuals_top {
    background: linear-gradient(rgba(32, 31, 49, .6), rgba(32, 31, 49, .6)), url('../img/service/individuals_top.png');
    background-position: 0% 50%;
}

/*　//////////////////////////////////////////////////
　COMPANY
//////////////////////////////////////////////////　*/
.company_top {
    background: linear-gradient(rgba(32, 31, 49, .6), rgba(32, 31, 49, .6)), url('../img/company/company_top.png');
    background-position: 0% 50%;
}

.company_name {
    font-size: 1.6rem;
    font-weight: 400;
}

.company_rep_name {
    font-size: 2rem;
    font-weight: 400;
}

.company_img2 {
    display: block;
    margin: 0 auto;
    height: auto;
    width: 50%;
}

.company_content {
    margin: 0 auto;
    margin-bottom: 60px;
    display: flex;
    justify-content: center;
    width: 50%;
    padding: 40px 20px;
    border: 1px solid #0087DC;
    background-color: #fff;
    text-align: center;
}

.company_content p {
    font-size: 2rem;
    line-height: 3.5rem;
}

.company_list {
    list-style: none;
    list-style-position: inside;
}

.company_list li {
    display: flex;
    font-size: 2rem;
    font-weight: 400;
    text-align: left;
}

.company_list li::before {
    display: block;
    content: '一、';
    font-size: 2rem;
}

.company_list2 li a[href^="tel:"] {
    pointer-events: none;
}

.company_table a {
    color: #333;
}

.company_table2 {
    width: 100%;
    font-size: 1.6rem;
    font-weight: 400;
}

.company_table2 tr {
    display: flex;
    width: 100%;
    border-bottom: 1px solid #333;
}

.company_table2 tr:first-child th,
.company_table2 tr:first-child td {
    padding-top: 0;
}

.company_table2 tr th {
    display: inline-block;
    width: 100%;
    text-align: left;
    padding: 10px 20px;
    color: #0087DC;
    font-weight: 400;
    border: 1px solid #0087DC;
}

.company_table2 tr td {
    width: 80%;
    padding: 15px;
}

.company_table2 tr td:nth-child(2n) {
    width: 20%;
    text-align: right;
}

.company_table2 tr:last-child {
    border-bottom: 0px solid #333;
}

.page_table.company_table_80 {
    margin: 0 auto;
    margin-bottom: 100px;
    width: 70%;
}

.map_area iframe {
    height: 400px;
    width: 100%;
}

.col_2_item_in {
    text-align: center;
}

.col_2_item img.company_img {
    width: 70%;
}

@media (max-width: 980px) {
    .company_content {
        width: 70%;
    }

    .col_2_item img.company_img {
        width: 100%;
    }

    .company_img2 {
        width: 70%;
    }

    .page_table.company_table_80 {
        width: 90%;
    }
}

@media (max-width: 768px) {
    .company_content {
        width: 100%;
    }

    .col_2_item_b {
        margin-bottom: 60px;
    }

    .col_2_item img.company_img {
        width: 70%;
    }

    .company_img2 {
        width: 100%;
    }

    .page_table.company_table_80 {
        width: 100%;
    }
}

@media (max-width: 500px) {
    .col_2_item img.company_img {
        width: 100%;
    }
}

@media (max-width: 400px) {
    .company_content p {
        font-size: 1.8rem;
        line-height: 3rem;
    }
}

/*　//////////////////////////////////////////////////
　WORKS
//////////////////////////////////////////////////　*/
.works_top,
.workslist_top,
.office_top,
.building_top,
.chuteion_top,
.house_top,
.kanki_top,
.hojokin_top {
    background: linear-gradient(rgba(32, 31, 49, .6), rgba(32, 31, 49, .6)), url('../img/works/works_top.png');
    background-position: 50% 50%;
}

.works_table {
    font-size: 1.6rem;
}

.works_table tr th {
    text-align: justify;
    text-align-last: justify;
    font-weight: 600;
    color: #0087DC;
    white-space: nowrap;
}

.works_table tr td {
    margin-bottom: 10px;
    font-weight: 400;
}

@media (max-width: 768px) {
    .works_table {
        border-collapse: collapse;
        width: 100%;
    }

    .works_table tr th {
        width: 96px;
    }

    .works_table tr th,
    .works_table tr td {
        display: block;
    }
}

.works_txtearea {

    font-size: 1.6rem;
    /* 必要に応じてpxでもOK（例: 16px） */
    line-height: 1.6;

}

.works_txtearea p {
    padding: 0 0 2em 0 !important;
}

/*　//////////////////////////////////////////////////
　COLUMN
//////////////////////////////////////////////////　*/
.column_top,
.columnlist_top,
.useful_top,
.feedback_top,
.latest_top {
    background: linear-gradient(rgba(32, 31, 49, .6), rgba(32, 31, 49, .6)), url('../img/column/column_top.png');
    background-position: 50% 50%;
}

/*　//////////////////////////////////////////////////
　RECRUIT
//////////////////////////////////////////////////　*/
.recruit_top {
    background: linear-gradient(rgba(32, 31, 49, .6), rgba(32, 31, 49, .6)), url('../img/recruit/recruit_top.png');
    background-position: 50% 50%;
}

.message_top {
    background: linear-gradient(rgba(32, 31, 49, .6), rgba(32, 31, 49, .6)), url('../img/recruit/message_top.png');
    background-position: 50% 50%;
}

.requirements_top {
    background: linear-gradient(rgba(32, 31, 49, .6), rgba(32, 31, 49, .6)), url('../img/recruit/requirements_top.png');
    background-position: 50% 50%;
}

.recruit_top p span.bg_black,
.message_top p span.bg_black,
.requirements_top p span.bg_black {
    margin-bottom: 10px;
    font-size: 2rem;
    font-weight: 500;
}

.recruit_top p strong,
.message_top p strong,
.requirements_top p strong {
    font-weight: 500;
    color: #FFFF00;
}

.message_midashi {
    font-size: 2.5rem;
    font-weight: 500;
    color: #333;
}

.message_link img {
    margin: 0 auto;
    width: 80%;
    height: auto;
    border-radius: 999px;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.top_reason_link p.interview_title {
    font-family: "Roboto", sans-serif;
    font-size: 1.4rem;
    font-weight: 400;
    color: #0087DC;
}

.interview_title {
    font-family: "Roboto", sans-serif;
    font-size: 2rem;
    font-weight: 400;
    color: #0087DC;
}

.interview_title span {
    padding: 5px 6px;
    font-size: 1.8rem;
    color: #fff;
    background-color: #0087DC;
    border-radius: 99px;
}

.message_col .col_2_item_l {
    width: 68%;
}

.message_col .col_2_item_r {
    width: 30%;
}

.message_col .col_2_item_r img {
    width: 100%;
}

.message_left {
    position: relative;
    display: inline-block;
    margin: 1.5em 0 1.5em 15px;
    padding: 20px;
    width: calc(100% - 15px);
    color: #FFF;
    background: #55B8E2;
    border-radius: 10px;
}

.message_left:before {
    content: "";
    position: absolute;
    top: 50%;
    left: -25px;
    margin-top: -10px;
    border: 10px solid transparent;
    border-right: 15px solid #55B8E2;
}

.message_right {
    position: relative;
    display: inline-block;
    margin: 1.5em 15px 40px 0;
    padding: 20px;
    padding-left: 30px;
    width: calc(100% - 15px);
    color: #333;
    background: #EFF7FF;
    border-radius: 10px;
}

.message_right:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 100%;
    margin-top: -10px;
    border: 10px solid transparent;
    border-left: 15px solid #EFF7FF;
}

.slider img {
    width: 100%;
    height: auto
}

.slick-slide {
    margin: 0 10px
}

@media (max-width: 768px) {

    .message_col,
    .recruit_col {
        row-gap: 40px;
        flex-direction: column-reverse;
    }

    .message_link img {
        width: 50%;
    }

    .message_col .col_2_item_l {
        width: 100%;
    }

    .message_col .col_2_item_r {
        text-align: center;
        width: 100%;
    }

    .message_col .col_2_item_r img {
        width: 70%;
    }
}

@media (max-width: 500px) {
    .message_link img {
        width: 70%;
    }
}

/*　//////////////////////////////////////////////////
　CONTACT
//////////////////////////////////////////////////　*/
.contact_top {
    background: linear-gradient(rgba(32, 31, 49, .6), rgba(32, 31, 49, .6)), url('../img/common/contact_top.png');
    background-position: 0% 50%;
}

.link_text {
    color: #0087DC;
}

.link_text:hover {
    color: #5CB0FB;
}

.page_table {
    width: 100%;
    border-collapse: collapse;
    font-size: 1.6rem;
    font-weight: 400;
    color: #333;
}

.page_table tr {
    border-bottom: 1px solid #9BC7DF;
}

.page_table tr:last-child {
    border-bottom: 1px solid #9BC7DF;
}

.page_table tr th {
    width: 25%;
    padding: 10px 20px;
    font-size: 1.6rem;
    font-weight: 400;
    color: #333;
    text-align: center;
    white-space: nowrap;
}

.page_table tr th span,
.page_table tr td span {
    font-size: 1.4rem;
    color: #9d0718;
    font-weight: 400;
    vertical-align: top;
}

.page_table tr td {
    width: 75%;
    background-color: #fff;
    padding: 10px 20px;
}

.page_table tr th a {
    color: #0a5d8c;
    text-decoration: none;
}

.page_table tr td a {
    color: #333;
}

.page_table tr td input[type=text],
.page_table tr td input[type=email],
.page_table tr td input[type=tel] {
    width: 100%;
    padding: 10px 20px;
    border: 1px solid #bfc2c8;
    border-radius: 99px;
}

.page_table tr td textarea {
    width: 100%;
    padding: 10px 20px;
    border: 1px solid #bfc2c8;
    border-radius: 20px;
}

.page_table tr td input.p-postal-code {
    width: 30%;
    margin: 0 5px;
    padding: 10px 20px;
    border: 1px solid #bfc2c8;
    border-radius: 99px;
}

.page_table tr td input[type=radio] {
    display: none;
}

.contact_label {
    position: relative;
    padding: 0 0 0 42px;
}

.contact_label {
    display: block;
    float: left;
    margin-right: 20px;
    padding: 5px 20px;
    font-size: 1.4rem;
    color: #333;
    text-align: center;
    cursor: pointer;
    border: 1px solid #333;
    border-radius: 99px;
}

.page_table tr td input[type=radio]:checked+label {
    background-color: #333;
    color: #ffffff;
}

.contact_label:hover {
    color: #ffffff;
    background-color: #333;
    transform: scale(1.1);
    transition: .3s;
}

.contact_btn {
    text-align: center;
}

.contact_btn button {
    width: 200px;
    height: 40px;
    padding: 5px 20px;
    font-size: 1.6rem;
    color: #fff;
    border: 0;
    background-color: #0087DC;
    text-align: center;
    cursor: pointer;
    border-radius: 99px;
}

.contact_btn button:hover {
    background-color: #5CB0FB;
    color: #ffffff;
    transform: scale(1.1);
    transition: .3s;
}

@media (max-width: 768px) {

    .page_table tr th,
    .page_table tr td {
        width: 100%;
        display: inline-block;
    }

    .page_table tr th {
        background-color: #EFF7FF;
    }

    .page_table tr:first-child th {
        border-top: 1px solid #9BC7DF;
    }

    .page_table tr th small br {
        display: none;
    }
}

/*　//////////////////////////////////////////////////
　FAQ
//////////////////////////////////////////////////　*/
.faq_top {
    background: linear-gradient(rgba(32, 31, 49, .6), rgba(32, 31, 49, .6)), url('../img/common/faq_top.png');
    background-position: 80% 50%;
}

.faq_area {
    counter-reset: question-counter;
}

.qa-1 {
    width: 100%;
    margin-bottom: 10px;
    border-right: 2px solid #0087DC;
    border-bottom: 2px solid #0087DC;
}

.qa-1 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: .3em 50px 1em 65px;
    font-size: 1.6rem;
    font-weight: 400;
    color: #333333;
    cursor: pointer;
}

.qa-1 summary::before,
.qa-1 p::before {
    position: absolute;
    left: 1em;
    font-weight: 600;
    font-size: 1.6rem;
}

.qa-1 summary::before {
    position: absolute;
    top: -4%;
    left: 15px;
    font-family: "Roboto", sans-serif;
    padding: 10px;
    counter-increment: question-counter;
    content: "Q" counter(question-counter);
    color: #fff;
    background-color: #0087DC;
    border-radius: 99px;
}

.qa-1 summary::after {
    position: absolute;
    top: 30%;
    right: 30px;
    transform: translateY(-25%) rotate(45deg);
    width: 13px;
    height: 13px;
    margin-left: 20px;
    border-bottom: 2px solid #0087DC;
    border-right: 2px solid #0087DC;
    content: '';
    transition: transform .5s;
}

.qa-1[open] summary::after {
    transform: rotate(225deg);
}

.qa-1 p {
    position: relative;
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: .3em 50px 1em 65px;
    color: #333;
    transition: transform .5s, opacity .5s;
}

.qa-1[open] p {
    transform: none;
    opacity: 1;
}

.qa-1 p::before {
    position: absolute;
    top: -5%;
    left: 15px;
    font-family: "Roboto", sans-serif;
    padding: 10px;
    content: "A" counter(question-counter);
    color: #fff;
    background-color: #FF7373;
    border-radius: 99px;
}

.faq_link_area {
    display: flex;
    justify-content: center;
}

.faq_link_area a {
    position: relative;
    width: 80%;
    display: flex;
    padding: 20px;
    background: linear-gradient(rgba(155, 199, 223, .1), rgba(85, 184, 226, .1), rgba(92, 176, 251, .1));
    text-decoration: none;
}

.faq_link_area a:hover {
    opacity: 0.6;
    transform: scale(1.1);
}

.faq_link_area img {
    width: 100%;
    max-width: 107px;
}

.faq_link_area .faq_link_text {
    position: absolute;
    left: 127px;
    top: 50%;
    transform: translateY(-50%);
    width: calc(100% - 250px);
    margin-left: 10px;
    font-size: 2.5rem;
    font-weight: 600;
    color: #333;
}

.faq_link_area .top_topic_arrow {
    margin-bottom: 0;
    position: absolute;
    bottom: 0;
    right: 0;
    justify-content: end;
}

.faq_link_area a:hover .top_topic_arrow .link_arrow {
    transform: scale(1);
}

@media (max-width: 1200px) {
    .faq_link_area a {
        width: 90%;
    }

    .faq_link_area .faq_link_text {
        font-size: 2rem;
    }
}

@media (max-width: 980px) {
    .faq_link_area a {
        width: 100%;
    }
}

@media (max-width: 700px) {
    .faq_link_area .faq_link_text br {
        display: none;
    }

    .faq_link_area .faq_link_text {
        width: calc(100% - 157px);
        font-size: 1.8rem;
    }
}

@media (max-width: 480px) {
    .qa-1 summary {
        font-size: 1.4rem;
    }
}

/*　//////////////////////////////////////////////////
　SOUDAN
//////////////////////////////////////////////////　*/
.soudan_top {
    background: linear-gradient(rgba(32, 31, 49, .6), rgba(32, 31, 49, .6)), url('../img/common/soudan_top.png');
    background-position: 100% 50%;
}

.soudan_chart tr {
    display: flex;
}

.soudan_chart th {
    position: relative;
}

.soudan_chart th .chart_num {
    width: 72.5px;
    display: block;
    padding: 10px;
    margin: 20px 0;
    aspect-ratio: 1 / 1;
    font-family: "Roboto", sans-serif;
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 2.2rem;
    color: #0087DC;
    background-color: #fff;
    border: 1px solid #0087DC;
    border-radius: 99px;
}

.soudan_chart th::after {
    content: "";
    display: block;
    width: 1px;
    height: calc(100% - 15px);
    position: absolute;
    top: 70px;
    left: 34.5px;
    background: #0087DC;
    z-index: -1;
}

.soudan_chart tr:last-child th::after {
    display: none;
}

.soudan_chart th span {
    font-size: 32px;
    font-weight: 600;
}

.soudan_chart td {
    width: calc(57vw - 72.5px);
    max-width: 660px;
    display: block;
    padding: 20px;
    margin-left: 20px;
    border-bottom: 1px solid #333;
}

.soudan_chart td p {
    width: 100%;
    font-size: 1.8rem;
    font-weight: 500;
    color: #0087DC;
}

.soudan_chart td p span {
    padding-top: 10px;
    display: inline-block;
    font-size: 1.6rem;
    font-weight: 400;
    color: #333;
}

.soudan_chart tr:last-child td {
    border-bottom: 0px;
}

@media (max-width: 980px) {
    .soudan_chart td {
        width: calc(68vw - 72.5px);
        max-width: 580px;
    }
}

@media (max-width: 768px) {

    .soudan_chart td {
        width: calc(87.5vw - 92.5px);
        max-width: 575px;
    }

}

@media (max-width: 550px) {
    .soudan_chart td p {
        width: calc(100% - 40px);
        font-size: 1.6rem;
    }

    .soudan_chart td p span {
        font-size: 1.4rem;
    }

    .soudan_chart td {
        width: calc(86.5vw - 92.5px);
        max-width: 480px;
    }
}

/*　//////////////////////////////////////////////////
　SITE MAP
//////////////////////////////////////////////////　*/

.sitemap_top {
    height: 200px;
    width: 100%;
    margin-top: 80px;
    background: linear-gradient(175deg, #072956 0%, #072956 50%, #041E4A 50%, #041E4A 100%);
    position: relative;
}

.sitemap_col {
    display: flex;
    flex-wrap: wrap;
    column-gap: 3rem;
    row-gap: 3rem;
}

.sitemap_col_in {
    width: calc(92% / 4);
}

.sitemap_col_in p a {
    position: relative;
    display: block;
    padding: 10px 20px;
    font-size: 1.8rem;
    font-weight: 400;
    color: #0087DC;
    border: 1px solid #0087DC;
    text-decoration: none;
}

.sitemap_col_in p a:hover {
    color: #fff;
    background-color: #5CB0FB;
    border: 1px solid #5CB0FB;
    transform: scale(1.1);
}

.sitemap_col_in p a::before {
    position: absolute;
    display: inline-block;
    content: '';
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 1px;
    background: #0087DC;
}

.sitemap_col_in p a:hover::before {
    background: #fff;
}

.sitemap_col_in p a::after {
    position: absolute;
    display: inline-block;
    content: '';
    right: 20px;
    top: 50%;
    width: 10px;
    height: 10px;
    border-top: 1px solid #0087DC;
    border-right: 1px solid #0087DC;
    -webkit-transform: rotate(45deg);
    transform: translateY(-50%) rotate(45deg);
}

.sitemap_col_in p a:hover::after {
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
}

.sitemap_col_in p.sitemap_link_btn a::before {
    height: auto;
    position: absolute;
    top: 50%;
    right: 20px;
    content: '\f35d';
    font-family: 'Font Awesome 5 Free';
    font-size: 1.8rem;
    font-weight: 900;
    background: 0;
    color: #0087DC;
    transform: translateY(-50%);
    -webkit-font-smoothing: antialiased;
    -webkit-text-stroke-color: #fff;
    -webkit-text-stroke-width: 1.3px
}

.sitemap_col_in p.sitemap_link_btn a:hover::before {
    color: #fff;
    -webkit-text-stroke-color: #5CB0FB;
}

.sitemap_col_in p.sitemap_link_btn a::after {
    border: 0;
}

.sitemap_col_in ul {
    list-style: none;
}

.sitemap_col_in ul li {
    margin-bottom: 20px;
}

.sitemap_col_in ul li a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 1.4rem;
    font-weight: 400;
    color: #333;
    text-decoration: none;
}

.sitemap_col_in ul li a span {
    position: relative;
    display: block;
    font-size: 0;
    height: 30px;
    width: 30px;
    background-color: #0087DC;
}

.sitemap_col_in ul li a:hover span {
    background-color: #5CB0FB;
    transform: scale(1.1);
    transition: .3s;
}

.sitemap_col_in ul li a span::before {
    position: absolute;
    display: inline-block;
    content: '';
    right: 9px;
    top: 50%;
    transform: translateY(-50%);
    width: 12px;
    height: 1px;
    background: #fff;
}

.sitemap_col_in ul li a span::after {
    position: absolute;
    display: inline-block;
    content: '';
    right: 10px;
    top: 50%;
    width: 8px;
    height: 8px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: translateY(-50%) rotate(45deg);
}

.sitemap_col_in ul li.sitemap_link_btn a span::before {
    height: auto;
    position: absolute;
    top: 50%;
    right: 10px;
    content: '\f35d';
    font-family: 'Font Awesome 5 Free';
    font-size: 1.4rem;
    font-weight: 900;
    background: 0;
    color: #fff;
    transform: translateY(-50%);
    -webkit-font-smoothing: antialiased;
    -webkit-text-stroke-color: #0087DC;
    -webkit-text-stroke-width: 1px
}

.sitemap_col_in ul li.sitemap_link_btn a:hover span::before {
    -webkit-text-stroke-color: #5CB0FB;
}

.sitemap_col_in ul li.sitemap_link_btn a span::after {
    border: 0;
}

@media (max-width: 1200px) {
    .sitemap_col_in {
        width: calc(88vw / 3);
    }

}

@media (max-width: 1060px) {
    .sitemap_col_in {
        width: calc(87vw / 3);
    }

}

@media (max-width: 980px) {
    .sitemap_col_in {
        width: calc(85vw / 2);
    }

}

@media (max-width: 870px) {
    .sitemap_col_in {
        width: calc(84vw / 2);
    }

}

@media (max-width: 768px) {
    .sitemap_col_in {
        width: 100%;
    }

}

/*　//////////////////////////////////////////////////
　FOOTER
//////////////////////////////////////////////////　*/

footer {
    width: 100%;
    margin-bottom: 0;
    margin-top: auto;
    background: url(../img/common/footer_bg.png) no-repeat 40% 40%, linear-gradient(100deg, #ffffff 0%, #ffffff 100%);
    background-blend-mode: darken;
}

.footer-in {
    position: relative;
    width: 1200px;
    margin: 0 auto;
    padding: 40px 0 20px 0;
}

.footer_in_col {
    display: flex;
}

.footer_in_col_l {
    width: 30%;
}

.footer_in_col_r {
    width: 70%;
}

.footer_in_col_r_in {
    width: 80%;
    margin: 0 auto;
    display: flex;
    justify-content: space-around;
}

.footer_in_col_r_in_sp {
    display: none;
}


.footer_logo {
    margin-bottom: 20px;
}

.footer_logo img {
    width: 200px;
    margin-right: 20px;
}

.footer_column {
    margin-bottom: 20px;
}

.footer_adress {
    color: #333;
    font-size: 1.4rem;
    font-weight: 400;
}

.footer_adress a {
    color: #2a97d3;
}

.footer_d_logo {
    margin: 30px 0;
}

.footer_d_logo img {
    width: 200px;
}

.footer_d_logo_sp {
    display: none;
}

.footer_nav {
    font-size: 1.4rem;
    font-weight: 400;
    color: #333;
    list-style: none;
}

.footer_nav li {
    padding-bottom: 20px;
    position: relative;
    transition: .3s;
    cursor: pointer;
}

.footer_nav li a {
    display: block;
    font-size: 1.4rem;
    color: #333;
    text-decoration: none;
}

.footer_nav li a span {
    position: relative;
    color: #333;
}

.footer_nav li a span::after {
    position: absolute;
    bottom: -5px;
    left: 50%;
    content: '';
    width: 0;
    height: 2px;
    background-color: #5CB0FB;
    transition: .3s;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

.footer_nav li a span:hover::after {
    width: 100%;
}

.footer_copy {
    color: #333;
    font-size: 1.2rem;
    font-weight: 400;
    text-align: center;
}

#page_top {
    width: 50px;
    height: 50px;
    position: fixed;
    right: calc(50% - 600px);
    bottom: 163px;
    transition: 0.3s;
    background-color: #0087DC;
    z-index: 10;
    opacity: 0;
    transition-duration: .6s;
}

#page_top a {
    position: relative;
    display: block;
    width: 50px;
    height: 50px;
    text-decoration: none;
}

#page_top a::before {
    position: absolute;
    width: 25px;
    height: 25px;
    top: 8px;
    bottom: 0;
    right: 0;
    left: 0px;
    content: '';
    width: 15px;
    height: 15px;
    border: 0;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    transform: rotate(-45deg);
    margin: auto;
    text-align: center;
}

#page_top:hover {
    background: #5CB0FB;
    transition: 0.3s;
}

.page_top_view {
    opacity: 1 !important;
}

@media (max-width: 1200px) {
    .footer-in {
        width: 95%;
    }

    #page_top {
        right: 5%;
    }

}

@media (max-width: 980px) {
    .footer_in_col {
        flex-wrap: wrap;
    }

    .footer_in_col_l,
    .footer_in_col_r {
        width: 100%;
    }

    .footer_logo_area {
        display: flex;
    }

    .footer_logo {
        margin-top: 8px;
    }

    .footer_d_logo_sp {
        display: block;
        margin-bottom: 20px;
    }

    .footer_d_logo_sp img {
        width: 200px;
    }

    .footer_d_logo {
        display: none;
    }

    .footer_in_col_r_in {
        display: none;
    }

    .footer_in_col_r_in_sp {
        width: 100%;
        margin-bottom: 40px;
        display: block;
    }

    .footer_in_col_r_in_sp .footer_nav {
        display: flex;
        flex-wrap: wrap;
        justify-content: left;
    }

    .footer_in_col_r_in_sp .footer_nav li {
        width: 25%;
        padding-bottom: 15px;
    }

    .footer_copy {
        font-size: 1rem;
        text-align: center;
    }

    #page_top {
        bottom: 205px;
    }
}

@media (max-width: 780px) {

    .footer_adress {
        font-size: 1.4rem;
    }

}

@media (max-width: 678px) {
    .footer_in_col_r_in_sp .footer_nav li {
        width: 33%;
    }
}

@media (max-width: 650px) {
    #page_top {
        bottom: 120px;
    }
}

@media (max-width: 540px) {
    .footer_in_col_r_in_sp .footer_nav li {
        width: 50%;
    }

    .footer_logo,
    .footer_d_logo_sp {
        width: 48%;
    }

    .footer_logo img,
    .footer_d_logo_sp img {
        width: 100%;
    }

    #page_top {
        bottom: 40px;
    }
}