@charset "utf-8";

.only_sp {
    display: none;
}

html {
    min-width: 1032px;
    word-break: break-all;
    color: #1a1311;
    font-family: "YakuHanJP", "Noto Sans JP", sans-serif;
    font-size: 16px;
}

html * {
    line-height: 150%;
}

header {
    position: fixed;
    z-index: 40;
    top: 0;
    left: 50%;
    width: 100%;
    transform: translateX(-50%);
    background-color: #fff;
}

a,
a * {
    transition: opacity .5s;
}

a:hover,
a:hover * {
    opacity: .6;
}

img {
    max-width: 100%;
}

main {
    max-width: 1032px;
    margin: 3px auto 100px;
    padding: 194px 16px 0;
}

.inner {
    width: 1000px;
    margin: auto;
}

@media screen and (min-width: 768px) and (max-width: 1000px) {
    header {
        left: 0;
        transform: translateX(0);
    }
}

@media screen and (max-width: 767px) {
    .only_pc {
        display: none !important;
    }

    .only_sp {
        display: block;
    }

    html {
        min-width: 0;
        font-size: 14px;
    }

    main {
        margin-top: 65px;
        margin-bottom: 50px;
        padding: 0 16px;
    }

    .inner {
        width: 100%;
        margin: auto;
        padding: 0 16px;
    }

    .main_content {
        padding-top: 20px;
    }
}


/* ------------------------------
header
------------------------------ */
header .inner {
    display: flex;
    justify-content: space-between;
    height: 150px;
    margin: auto;
}

.header_logo {
    display: inline-flex;
    align-items: center;
    width: 455px;
}

.header_logo img {
    width: 455px;
}

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

.header_contact {
    display: flex;
    align-items: center;
    flex-flow: column;
    margin-right: 20px;
}

.header_contact_mail {
    position: relative;
    margin-bottom: 5px;
    padding: 7px 63px 7px 29px;
    color: #fff;
    border-radius: 20px;
    background-color: #f48e96;
    font-size: 17px;
    font-weight: 500;
}

.header_contact_mail::after {
    content: "";
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 24px;
    height: 18px;
    margin-left: 10px;
    transform: translateY(-50%);
    vertical-align: baseline;
    background-image: url("../../images/common/icon_mail.svg");
    background-size: contain;
}

.header_contact_tel img {
    width: 194px;
}

.header_logo_duskin {
    width: 135px;
}

.sp_menu_btn {
    display: none;
}

.recruit_btn {
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    width: 74px;
    height: 74px;
    padding: 8px 0;
    color: #fff;
    border: 1px solid #8ae0d3;
    border-radius: 8px;
    background-color: #2cb2b4;
    font-size: 15px;
    font-weight: 600;
}

.recruit_btn::before {
    content: "";
    position: absolute;
    top: 8px;
    left: 50%;
    width: 42px;
    height: 30px;
    transform: translateX(-50%);
    background-image: url("../../images/common/icon_recruit.svg");
    background-repeat: no-repeat;
    background-size: contain;
}

@media screen and (max-width: 767px) {
    header .inner {
        height: 67px;
        padding: 0;
    }

    .header_contact,
    .recruit_btn {
        display: none;
    }

    .header_logo_duskin {
        display: none;
    }

    .header_logo {
        width: 261px;
        margin-left: 19px;
    }

    .header_logo img {
        width: 261px;
    }

    .sp_menu_btn {
        position: fixed;
        z-index: 60;
        top: 0;
        right: 0;
        display: flex;
        flex-flow: column;
        width: 65px;
        height: 65px;
        padding: 25px 0 12px;
        text-align: center;
        background-color: #199092;
    }

    .sp_menu_btn .menu_text {
        margin-top: auto;
        color: #fff;
        font-size: 10px;
        font-weight: 600;
    }

    .sp_menu_btn .menu_line {
        position: relative;
        display: inline-block;
        width: 30px;
        height: 2px;
        margin: 0 auto;
        transition: all .5s;
        background: #fff;
    }

    .sp_menu_btn .menu_line::before,
    .sp_menu_btn .menu_line::after {
        content: "";
        position: absolute;
        left: 0;
        width: 30px;
        height: 2px;
        transition: all .5s;
        background: #fff;
    }

    .sp_menu_btn .menu_line::before {
        top: -6px;
    }

    .sp_menu_btn .menu_line::after {
        top: 6px;
    }

    .sp_menu_btn.open .menu_line {
        background-color: transparent;
    }

    .sp_menu_btn.open .menu_line::after {
        top: 0;
        transform: rotate(45deg);
    }

    .sp_menu_btn.open .menu_line::before {
        top: 0;
        transform: rotate(-45deg);
    }
}

/* ------------------------------
g_nav
------------------------------ */
.g_nav {
    position: fixed;
    z-index: 50;
    top: 150px;
    left: 50%;
    width: 1000px;
    transform: translateX(-50%);
    color: #fff;
    font-size: 15px;
}

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

.g_nav .inner>li {
    position: relative;
    width: 16.5%;
    height: 44px;
    cursor: pointer;
}

.g_nav .inner>li span::after {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: .6s;
    opacity: 0;
    background-color: #aedbf7;
}

.g_nav .inner>li:not(.current) {
    background-image: url("../../images/common/gnav_bg.webp");
    background-repeat: no-repeat;
    background-position: right;
    background-size: cover;
}

.g_nav .inner>li span:hover::after {
    opacity: 1;
}

.g_nav .inner>li:nth-child(3) .submenu li:first-child {
    letter-spacing: -.1em;
}

.g_nav .inner>li span {
    position: relative;
    z-index: 5;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.g_nav .inner>li span.only_sp {
    display: none;
}

.g_nav .inner>li.current span {
    background-color: #0f6396;
    background-image: none;
}

.g_nav .submenu {
    position: absolute;
    top: 44px;
    display: none;
    width: 100%;
}

.g_nav .submenu li {
    text-align: center;
    letter-spacing: -.05em;
    color: #fff;
    background-color: #fff;
    font-size: 13px;
}

.g_nav .submenu a {
    display: block;
    padding: 12px 0;
    border: 1px solid #86bcdd;
    background: #0a5983;
}

.gnav_bg {
    display: none;
}

@media screen and (min-width: 768px) and (max-width: 1000px) {
    .g_nav {
        left: 16px;
        transform: translateX(0);
    }
}

@media screen and (max-width: 767px) {
    .g_nav {
        position: fixed;
        z-index: 50;
        top: 67px;
        display: none;
        width: 100%;
        background-color: rgba(9, 7, 59, 0);
    }

    .g_nav .inner {
        overflow-y: scroll;
        flex-flow: column;
        max-height: calc(100vh - 105px);
        padding: 0;
    }

    .g_nav .inner>li {
        width: 100%;
        height: auto;
    }

    .g_nav .inner>li.link_tel {
        height: 55.5px;
        background-color: #fff !important;
    }

    .g_nav .inner>li.link_tel a {
        padding: 0 16px 0 16px !important;
    }

    .g_nav .inner>li.link_tel img {
        display: block;
        height: 55.5px;
        margin: 0 auto;
    }

    .g_nav .inner>li.link_home {
        border: 1px solid #6590b7;
        border-bottom: 0;
        background-image: url("../../images/common/gnav_bg.webp");
        background-repeat: no-repeat;
        background-position: right;
        background-size: 100%;
    }

    .g_nav .inner>li:nth-child(3) .submenu li:first-child {
        letter-spacing: inherit;
    }

    .g_nav .inner>li:not(.has_submenu):not(.link_home, .link_tel) a::after {
        content: "＞";
        padding-left: 5px;
    }

    .g_nav .inner>li:not(.link_home) {
        background-color: #144d81;
        background-image: none;
    }

    .g_nav .inner>li span {
        justify-content: flex-start;
    }

    .g_nav .inner>li.current span {
        background-color: transparent;
    }

    .g_nav .inner>li .submenu span.only_sp {
        display: inline;
        width: auto;
        padding: 0;
        border-bottom: 0;
    }

    .g_nav .inner>.has_submenu span {
        height: auto;
        padding: 16px 16px 16px 32px;
        border-bottom: 1px solid #6590b7;
    }

    .g_nav .inner>li:not(.has_submenu) {
        border-bottom: 1px solid #6590b7;
    }

    .g_nav .inner>li:not(.has_submenu) a {
        display: block;
        padding: 16px 16px 16px 32px;
    }

    .g_nav .inner>li span::after {
        display: none;
    }

    .g_nav .inner>li.has_submenu {
        position: relative;
    }

    .g_nav .inner>li:not(.has_submenu) span {
        display: inline;
    }

    .g_nav .inner>li.has_submenu::before,
    .g_nav .inner>li.has_submenu::after {
        content: "";
        position: absolute;
        top: 26px;
        right: 16px;
        width: 25px;
        height: 2px;
        pointer-events: none;
        background-color: #6590b7;
    }

    .g_nav .inner>li.has_submenu::after {
        transform: rotate(90deg);
    }

    .g_nav .has_submenu.acc_open::after {
        display: none;
    }

    .g_nav .submenu {
        position: inherit;
        top: 0;
        display: none;
        visibility: visible;
        padding: 30px 0 30px 48px;
        opacity: 1;
        border-bottom: 1px solid #6590b7;
        background-color: #1f5889;
    }

    .g_nav .submenu li {
        text-align: left;
        background-color: transparent;
    }

    .g_nav .submenu a {
        padding: 0;
        border: 0;
        background: transparent;
    }

    .g_nav .submenu li:not(:last-child) a {
        margin-bottom: 30px;
    }

    .gnav_bg {
        position: fixed;
        z-index: 40;
        top: 105px;
        left: 0;
        width: 100%;
        height: calc(100vh - 105px);
        background-color: #09073b;
    }
}

@media screen and (min-width: 768px) {
    .g_nav {
        display: block !important;
    }
}


/* ------------------------------
breadcrumb
------------------------------ */
.breadcrumb {
    display: flex;
    margin: 8px 0 60px;
    font-size: 14px;
    font-weight: 300;
}

.breadcrumb li:not(:last-child)::after {
    content: "＞";
}

@media screen and (max-width: 767px) {
    .breadcrumb {
        display: none;
    }
}


/* ------------------------------
footer
------------------------------ */
.fotter_nav {
    padding: 34px 0 30px;
    color: #fff;
    background-color: #144d81;
}

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

.fotter_nav .inner>li:not(:last-child) {
    margin-right: 3.4%;
}

.fotter_nav .submenu li:not(:last-child) {
    margin-bottom: 10px;
}

.fotter_nav .has_submenu span {
    display: block;
    margin-bottom: 7px;
}

.fotter_nav .submenu {
    font-size: 14px;
    font-weight: 300;
}

.fotter_nav .etc_link li:not(:last-child) {
    margin-bottom: 6px;
}

.fotter_nav .etc_link a::after {
    content: "＞";
    padding-left: 5px;
}

.copyright {
    padding: 22px 0;
    text-align: center;
    color: #fff;
    background-color: #09073b;
}

@media screen and (max-width: 767px) {
    .fotter_nav {
        padding: 0;
    }

    .fotter_nav .inner {
        flex-flow: column;
        padding: 0;
    }

    .fotter_nav .inner>li {
        width: 100%;
        height: auto;
    }

    .fotter_nav .inner>li span {
        justify-content: flex-start;
        margin-bottom: 0;
        font-size: 16px;
    }

    .fotter_nav .has_submenu span {
        padding: 16px 16px 16px 32px;
        border-bottom: 1px solid #6590b7;
    }

    .fotter_nav .inner>.etc_link li:not(.has_submenu) {
        padding: 16px 16px 16px 32px;
        border-bottom: 1px solid #6590b7;
    }

    .fotter_nav .inner>li span::after {
        display: none;
    }

    .fotter_nav .has_submenu {
        position: relative;
    }

    .fotter_nav .has_submenu::before,
    .fotter_nav .has_submenu::after {
        content: "";
        position: absolute;
        top: 26px;
        right: 16px;
        width: 25px;
        height: 2px;
        pointer-events: none;
        background-color: #6590b7;
    }

    .fotter_nav .has_submenu::after {
        transform: rotate(90deg);
    }

    .fotter_nav .has_submenu.acc_open::after {
        display: none;
    }

    .fotter_nav .submenu {
        position: inherit;
        top: 0;
        display: none;
        visibility: visible;
        padding: 30px 0 30px 48px;
        opacity: 1;
        border-bottom: 1px solid #6590b7;
        background-color: #1f5889;
        font-weight: 400;
    }

    .fotter_nav .submenu li {
        text-align: left;
        background-color: transparent;
    }

    .fotter_nav .submenu li:not(:last-child) {
        margin-bottom: 0;
    }

    .fotter_nav .submenu a {
        padding: 0;
        border: 0;
        background: transparent;
    }

    .fotter_nav .submenu li:not(:last-child) a {
        display: inline-block;
        margin-bottom: 30px;
    }

    .fotter_nav .etc_link li:not(:last-child) {
        margin-bottom: 0;
    }

    .copyright {
        padding: 20px 0;
        letter-spacing: 1px;
        font-size: 12px;
    }

    .fotter_nav .inner>li.etc_link .submenu li {
        padding: 0;
        border-bottom: 0;
    }

    .fotter_nav .inner>li.etc_link .submenu a::after {
        display: none;
    }
}

@media screen and (min-width: 768px) {
    .fotter_nav .inner>li.has_submenu .submenu {
        display: block !important;
    }
}


/* ------------------------------
pagetop
------------------------------ */
.pagetop {
    position: fixed;
    z-index: 20;
    right: 20px;
    bottom: 20px;
    display: none;
}

.pagetop a {
    display: block;
    align-content: center;
    justify-content: center;
    padding: 15px;
    vertical-align: middle;
    border: 2px solid #f0f3f5;
    border-radius: 10px;
    background: rgba(250, 250, 250, .749);
    font-size: 0;
}

@media screen and (min-width: 1140px) {
    .pagetop {
        right: calc(50% - 570px);
    }
}



.pagetop img {
    width: 16px;
}


/* ------------------------------
link
------------------------------ */
.text_link {
    text-decoration: underline;

    text-underline-offset: 2px;
}

.icon_window::after {
    content: "";
    display: inline-block;
    width: 19px;
    height: 16px;
    margin-left: 12px;
    background-image: url("../../images/common/icon_window.svg");
    background-repeat: no-repeat;
    background-size: contain;
}

.icon_pdf::after {
    content: "";
    display: inline-block;
    width: 19px;
    height: 19px;
    margin-left: 12px;
    vertical-align: middle;
    background-image: url("../../images/common/icon_pdf.svg");
    background-repeat: no-repeat;
    background-size: contain;
}


@media screen and (max-width: 767px) {}

/* ------------------------------
list
------------------------------ */
.list_circle {
    padding-left: 43px;
}

.list_circle li {
    position: relative;
}

.list_circle li:not(:last-child) {
    margin-bottom: 10px;
}

.list_circle li::before {
    content: "●";
    position: absolute;
    left: -43px;
    color: #aee5f2;
    font-size: 18px;
}

.list_circle_double li {
    padding-left: 42px;
    text-indent: -42px;
}

.list_circle_double li::before {
    content: "";
    display: inline-block;
    width: 30px;
    height: 30px;
    margin-right: 12px;
    vertical-align: middle;
    border: 5px solid #c6e4f7;
    border-radius: 50%;
    background: radial-gradient(#1395e5 0%, #1f75aa 100%);
}

.list_circle_double li:not(:last-child) {
    margin-bottom: 10px;
}

.list_circle_double.cirle_small {
    width: 26px;
    height: 26px;
}

.list_decimal {
    counter-reset: number 0;
}

.list_decimal li {
    margin-left: 1em;
    text-indent: -1em;
}

.list_decimal li:before {
    content: counter(number) ".";
    display: inline-block;
    margin-left: 1em;
    counter-increment: number 1;
}

_::-webkit-full-page-media,
_:future,
:root .list_decimal li {
    margin-left: .9em;
    text-indent: -.9em;
}

_::-webkit-full-page-media,
_:future,
:root .list_decimal li:before {
    display: inline;
    margin-left: 0;
}

.list_asterisk {
    margin-left: 1em;
    text-indent: -1em;
}

.list_asterisk li::before {
    content: "※";
}

@media screen and (max-width: 767px) {
    .list_circle {
        padding-left: 24px;
    }

    .list_circle li::before {
        left: -24px;
        font-size: 14px;
    }
}


/* ------------------------------
btn
------------------------------ */
a[class^=btn] {
    display: inline-block;
    padding: 16px 10px;
    text-align: center;
    border: 1px solid #fff;
    box-shadow: 0 2px 4px rgba(0, 0, 0, .16);
    font-size: 20px;
    font-weight: 600;
}

a[class^=btn]::after {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-right: 5px;
    transform: rotate(-45deg);
    border-top: 3px solid transparent;
    border-right: 3px solid #fff;
    border-bottom: 3px solid #fff;
    border-left: 3px solid transparent;
}

.btn_blue01 {
    color: #fff;
    background: linear-gradient(#0869b3 0%, #0d436f 100%);
}

.btn_blue02 {
    color: #fff;
    background: linear-gradient(#2cb1da 0%, #127a96 100%);
}

.btn_blue03 {
    color: #fff;
    background: linear-gradient(#85beef 0%, #4c7da8 100%);
}

.btn_green01 {
    color: #fff;
    background: linear-gradient(#85efd2 0%, #429380 100%);
}

.btn_green02 {
    color: #fff;
    background: linear-gradient(#348884 0%, #17604f 100%);
}

.btn_green03 {
    color: #fff;
    background: linear-gradient(#7ec35a 0%, #3d9032 100%);
}

.btn_gray01 {
    color: #fff;
    background: linear-gradient(#a7a7a7 0%, #626262 100%);
}

.btn_parple01 {
    color: #fff;
    background: linear-gradient(#7f92cc 0%, #465ea5 100%);
}

@media screen and (max-width: 767px) {
    a[class^=btn] {
        position: relative;
        padding: 10px;
        font-size: 16px;
    }

    a[class^=btn]::after {
        position: absolute;
        top: 50%;
        right: 7px;
        width: 13px;
        height: 13px;
        margin-right: 0;
        transform: translateY(-50%);
        transform: rotate(-45deg) translateY(-50%);
        border-width: 2px;
    }
}


/* ------------------------------
スクロール時アニメーション
------------------------------ */
.scroll_fade_in {
    transition: opacity 1s ease-in, transform 1s ease-in;
    transform: translateY(60px);
    opacity: 0;
    ;
}

.scroll_fade_in.block_in {
    transform: translateY(0);
    opacity: 1;
}


/* ------------------------------
汎用class
------------------------------ */
.ff_serif {
    font-family: "Noto Serif JP", serif;
}

.fs_small {
    font-size: 14px;
}

.t_center {
    text-align: center;
}

.t_left {
    text-align: left;
}

.t_right {
    text-align: right;
}

.t_normal {
    font-weight: 400;
}

.t_bold {
    font-weight: 500;
}

.t_ex_bold {
    font-weight: 600;
}

.m_auto {
    margin: auto;
}

.m00 {
    margin: 0 !important;
}

.m10 {
    margin: 10px !important;
}

.m20 {
    margin: 20px !important;
}

.m30 {
    margin: 30px !important;
}

.m40 {
    margin: 40px !important;
}

.m50 {
    margin: 50px !important;
}

.mb_auto {
    margin-bottom: auto;
}

.mb00 {
    margin-bottom: 0 !important;
}

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

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

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

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

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

.mb55 {
    margin-bottom: 55px !important;
}

.mt_auto {
    margin-top: auto;
}

.mt00 {
    margin-top: 0 !important;
}

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

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

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

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

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

.mt80 {
    margin-top: 80px !important;
}

.ml_auto {
    margin-left: auto;
}

.ml00 {
    margin-left: 0 !important;
}

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

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

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

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

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

.mr_auto {
    margin-right: auto;
}

.mr00 {
    margin-right: 0 !important;
}

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

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

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

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

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

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

.pb10 {
    padding-bottom: 10px !important;
}

.pb20 {
    padding-bottom: 20px !important;
}

.pb30 {
    padding-bottom: 30px !important;
}

.pb40 {
    padding-bottom: 40px !important;
}

.pb50 {
    padding-bottom: 50px !important;
}

.pt00 {
    padding-top: 0 !important;
}

.pt10 {
    padding-top: 10px !important;
}

.pt20 {
    padding-top: 20px !important;
}

.pt30 {
    padding-top: 30px !important;
}

.pt40 {
    padding-top: 40px !important;
}

.pt50 {
    padding-top: 50px !important;
}

.pl00 {
    padding-left: 0 !important;
}

.pl10 {
    padding-left: 10px !important;
}

.pl20 {
    padding-left: 20px !important;
}

.pl30 {
    padding-left: 30px !important;
}

.pl40 {
    padding-left: 40px !important;
}

.pl50 {
    padding-left: 50px !important;
}

.pr00 {
    padding-right: 0 !important;
}

.pr10 {
    padding-right: 10px !important;
}

.pr20 {
    padding-right: 20px !important;
}

.pr30 {
    padding-right: 30px !important;
}

.pr40 {
    padding-right: 40px !important;
}

.pr50 {
    padding-right: 50px !important;
}

.wid10 {
    width: 10px !important;
}

.wid50 {
    width: 50px !important;
}

.wid100 {
    width: 100px !important;
}

.wid150 {
    width: 150px !important;
}

.wid200 {
    width: 200px !important;
}

.wid250 {
    width: 250px !important;
}

.wid300 {
    width: 300px !important;
}

.wid350 {
    width: 350px !important;
}

.wid400 {
    width: 400px !important;
}

.wid450 {
    width: 450px !important;
}

.wid500 {
    width: 500px !important;
}

.wid05p {
    width: 5% !important;
}

.wid10p {
    width: 10% !important;
}

.wid15p {
    width: 15% !important;
}

.wid20p {
    width: 20% !important;
}

.wid25p {
    width: 25% !important;
}

.wid30p {
    width: 30% !important;
}

.wid35p {
    width: 35% !important;
}

.wid40p {
    width: 40% !important;
}

.wid45p {
    width: 45% !important;
}

.wid50p {
    width: 50% !important;
}

.wid55p {
    width: 55% !important;
}

.wid60p {
    width: 60% !important;
}

.wid65p {
    width: 65% !important;
}

.wid70p {
    width: 70% !important;
}

.wid75p {
    width: 75% !important;
}

.wid80p {
    width: 80% !important;
}

.wid85p {
    width: 85% !important;
}

.wid90p {
    width: 90% !important;
}

.wid95p {
    width: 95% !important;
}

.wid100p {
    width: 100% !important;
}