@charset "utf-8";

/* ===== style.css ===== */
/* -- font -- */
@import url('https://fonts.googleapis.com/css2?family=League+Spartan:wght@100;400;500;600;700&family=Shippori+Mincho&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Jost:wght@500&display=swap');


/* -- body -- */
body {
	font: 18px/2.55 "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
}
body:not(#top) {
    background: #F5F5F5 url(../img/top/top_bg01.png) no-repeat top center;
    background-size: 100% auto;
}
body.modaal-noscroll {
    overflow: visible;
}



/* -- body -- */
.wrapper {
    position: relative;
    overflow-x: hidden;
    height: 100%;
}


/* -- inner -- */
.inner {
    margin: 0 auto;
    max-width: 1180px;
    box-sizing: border-box;
}
@media screen and ( max-width: 1210px ) {
    .inner {
        margin: 0 15px;
        width: auto;
    }
}


/*
    tag
*/
a {
    text-decoration: none;
    color: #000;
}
@media screen and ( min-width: 769px ) {
    a {
        transition: opacity 0.4s;
    }
    a:hover {
        opacity: 0.6;
    }
}

img {
    vertical-align: bottom;
    width: 100%;
    height: auto;
}

video {
    width: 100%;
    height: auto;
}

input,
select,
textarea,
button {
    outline: none;
    cursor: pointer;
    position: relative;
    width: 100%;
    padding: 0;
    text-decoration: none;
    font-size: 15px;
    line-height: 1.15;
    font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    border: none;
    border-radius: 0;
    background: none;
    z-index: 20;
    box-sizing: border-box;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}
select::-ms-expand {
    display: none;
}
label {
    cursor: pointer;
}

/* text */
input[type="text"] {
    font-size: 14px;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.03em;
    display: block;
    padding: 7px 20px;
    height: 50px;
    border: 1px solid #EAE9E6;
    border-radius: 3px;
    background: #fff;
}
input[type="text"]::-webkit-input-placeholder { color: #989898; }
input[type="text"]:-moz-placeholder {
    color: #989898;
    opacity: 1;
}
input[type="text"]::-moz-placeholder {
    color: #989898;
    opacity: 1;
}
input[type="text"]:-ms-input-placeholder { color: #989898; }
input[type="text"]::-ms-input-placeholder { color: #989898; }

/* radio */
.radio_outer {
    display: flex;
    flex-wrap: wrap;
    margin: 8px 0 0;
}
.radio_outer > p {
    margin-bottom: 9px;
    width: 100%;
}
.radio_outer label {
    font-size: 15px;
    font-weight: bold;
    line-height: 1.5;
    margin: 6px 30px 7px 0;
}
.radio_outer label:last-child {
    margin-right: 0;
}
input[type="radio"] {
    vertical-align: middle;
    position: relative;
    top: -1px;
    margin: 0 10px 0 0;
    width: 20px;
    height: 20px;
    background-color: #fff;
    border: 1px solid #EAE9E6;
    border-radius: 50%;
}
input[type="radio"]:checked {
    background-image: url(../img/common/radio_checked.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: auto 8px;
}
@media screen and ( max-width: 768px ) {
    .radio_outer label {
        margin-right: 24px;
    }
}

/* checkbox */
.checkbox_outer {
    display: flex;
    flex-wrap: wrap;
    margin: 8px 0 9px;
}
.checkbox_outer > p {
    margin-bottom: 9px;
    width: 100%;
}
.checkbox_outer label {
    font-size: 15px;
    font-weight: bold;
    line-height: 1.5;
    margin: 6px 30px 7px 0;
    width: 34.1%;
}
.checkbox_outer label:last-child {
    margin-right: 0;
}
input[type="checkbox"] {
    vertical-align: middle;
    position: relative;
    top: -2px;
    margin: 0 12px 0 0;
    width: 20px;
    height: 20px;
    border: 1px solid #EAE9E6;
    border-radius: 3px;
    background: #fff;
}
input[type="checkbox"]:checked {
    background-image: url(../img/common/checkbox_checked.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: auto 8px;
}
@media screen and ( max-width: 920px ) {
    .checkbox_outer label {
        width: 100%;
    }
}
@media screen and ( max-width: 768px ) {
    .checkbox_outer label {
        margin-right: 24px;
    }
}

/* textarea */
textarea {
    font-size: 14px;
    font-weight: 500;
    line-height: 2;
    display: block;
    padding: 13px 19px;
    height: 189px;
    border: 1px solid #EAE9E6;
    border-radius: 3px;
    background: #fff;
}
textarea::-webkit-input-placeholder { color: #989898; }
textarea:-moz-placeholder {
    color: #989898;
    opacity: 1;
}
textarea::-moz-placeholder {
    color: #989898;
    opacity: 1;
}
textarea:-ms-input-placeholder { color: #989898; }


/* -- hide -- */
@media screen and ( min-width: 769px ) {
    .pc_hide { display: none!important; }
}
@media screen and ( max-width: 768px ) {
    .sp_hide { display: none!important; }
}

/* -- youtube -- */
.youtube {
    position: relative;
    padding-top: 56.25%;
    width: 100%;
}
.youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
}

/* -- gmap -- */
.gmap {
    overflow: hidden;
    line-height: 0;
}
.gmap_inner {
    overflow: hidden;
    position: relative;
    padding-top: 360px;
    height: 0;
}
.gmap iframe,
.gmap object,
.gmap embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* -- background -- */
.bgGray { background: #F6F6F6; }
.bgImg01 {
    margin-top: 80px;
    padding-top: 72px;
    background: url(../img/top/top_bg01.png) no-repeat top center;
    background-size: 100% auto;
}

/* -- text-align -- */
.taC { text-align: center; }
.taL { text-align: left; }
.taR { text-align: right; }

/* -- color -- */
.fcGray { color: #CBCBCB; }
.fcRed { color: #E4358B; }


/*
	header
*/
header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    margin: 0 auto;
    z-index: 990;
    transition: transform 0.6s;
}
header.act {
    position: fixed;
}
#header_logo {
    margin-left: 20px;
    padding-top: 30px;
    width: 170px;
    transition: opacity 0.4s;
}
body#top header {
    opacity: 0;
}
.act #header_logo {
    opacity: 1;
}
#gnav {
    margin-right: 57px;
    padding-top: 57px;
}
.gnav_contents_link {
    font-family: 'League Spartan', sans-serif;
    font-weight: 400;
    font-size: 19px;
    letter-spacing: 0.1em;
    display: flex;
    flex-wrap: wrap;
}
.gnav_contents_link > :not(:last-child) {
    margin-right: 29px;
}
.gnav_contents_link a {
    color: #000;
    display: block;
    position: relative;
}
.gnav_contents_link a.act:after {
    display: block;
    position: absolute;
    bottom: -6px;
    right: 0;
    left: 0;
    margin: 0 auto;
    width: 7px;
    height: 7px;
    background: #E4358B;
    border-radius: 50%;
    content: "";
}
@media screen and ( min-width: 769px ) {
    header.act {
        transform: translateY(-100%);
    }
    header.on {
        position: fixed;
        transform: translateY(0);
    }
}
@media screen and ( min-width: 981px ) {
    .gnav_contents_linkOther {
        display: none;
    }
    .gnav_contents_sns {
        display: none;
    }
    body#top .gnav_contents_link a {
        color: #FFF;
    }
    body#top .act .gnav_contents_link a {
        color: #000;
    }
}
@media screen and ( max-width: 980px ) {
    header {
        position: fixed;
    }
    body:not(#top) header {
        height: 94px;
        background: #fff;
    }
    #header_logo {
        position: fixed;
        top: 15px;
        left: 15px;
        margin-left: 0;
        padding-top: 0;
        width: 100px;
        z-index: 20;
    }
    body#top #header_logo {
        /*display: none;*/
    }
    header.open #header_logo {
        display: block;
        opacity: 1;
    }
    #gnav {
        margin-left: auto;
        margin-right: 19px;
        padding-top: 31px;
    }
    #gnav_btn {
        position: relative;
        z-index: 20;
    }
    #gnav_btn a {
        display: block;
        position: relative;
        margin-left: auto;
        width: 40px;
        height: 30px;
    }
    #gnav_btn span {
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        margin: auto;
        width: 40px;
        height: 2px;
        background: #000;
    }
    body#top #gnav_btn span {
        background: #fff;
    }
    #gnav_btn span:nth-child(1) {
        top: 9px;
        bottom: auto;
    }
    #gnav_btn span:nth-child(2) {
        top: auto;
        bottom: 9px;
    }
    header.act #gnav_btn span {
        background: #000;
    }
    header.open #gnav_btn span {
        top: 0;
        bottom: 0;
        width: 40px;
        background: #000;
    }
    header.open #gnav_btn span:nth-child(1) {
        transform: rotate(14deg);
    }
    header.open #gnav_btn span:nth-child(2) {
        transform: rotate(-14deg);
    }
    #gnav_contents {
        position: absolute;
        overflow-y: scroll;
        top: 0;
        left: 100vw;
        padding: 145px 46px 45px;
        width: 100vw;
        min-height: 100vh;
        height: 100vh;
        box-sizing: border-box;
        background: #F2F2F2 url(../img/common/gnavi_bg.png) no-repeat center;
        background-size: cover;
        transition: left 0.4s;
    }
    header.open  #gnav_contents {
        left: 0;
    }
    .gnav_contents_link {
        font-weight: 500;
        font-size: 25px;
        line-height: 2.4;
        display: block;
    }
    .gnav_contents_link > :not(:last-child) {
        margin: 0 0 0;
    }
    .gnav_contents_link a {
        color: #000;
    }
    .gnav_contents_linkOther {
        font-size: 15px;
        margin-top: 27px;
        line-height: 2.8;
    }
    .gnav_contents_sns {
        margin: 9px -2px 0 auto;
        width: 20px;
    }
    .gnav_contents_link a.act:after {
        display: inline-block;
        position: relative;
        top: -5px;
        bottom: auto;
        left: 5px;
    }
}


/*
	footer
*/
footer {
    padding: 122px 0 99px;
    color: #fff;
    background: #000;
}
.footer_inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    margin: 0 auto;
    max-width: 1260px;
    box-sizing: border-box;
}
.footer_boxL {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    width: 35.6%;
}
.footer_boxL_logo {
    margin-top: 10px;
    width: 190px;
}
.footer_boxL_address {
    font-weight: 500;
    font-size: 11px;
    line-height: 1.36;
    letter-spacing: 0.28px;
    color: #D9D9D9;
    margin-top: 13px;
    width: 190px;
}
.footer_boxR {
    margin-top: 14px;
    width: 60%;
}
.footer_boxR a {
    color: #fff;
}
.footer_boxR_link {
    font-family: 'League Spartan', sans-serif;
    font-weight: 300;
    font-size: 20px;
    line-height: 1.18;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.footer_boxR_link > :not(:last-child) {
    margin-right: 47px;
}
.footer_boxR_linkOther {
    font-weight: 500;
    font-size: 13px;
    line-height: 1.76;
    letter-spacing: 0.33px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    margin-top: 81px;
}
.footer_boxR_linkOther > :not(:last-child) {
    margin-right: 25px;
}
.copyright {
    font-family: 'League Spartan', sans-serif;
    font-size: 14px;
    letter-spacing: 0.28px;
    margin-top: 24px;
    width: 100%;
}
@media screen and ( max-width: 1290px ) {
    .footer_inner {
        display: block;
        padding: 0 15px;
    }
    .footer_boxL {
        margin: 0 auto;
    }
    .footer_boxR {
        margin-top: 57px;
        width: 100%;
    }
    .footer_boxR_link {
        justify-content: center;
    }
    .footer_boxR_linkOther {
        justify-content: center;
    }
    .copyright {
        text-align: center;
    }
}
@media screen and ( max-width: 800px ) {
    footer {
        padding: 52px 0 14px;
    }
    .footer_boxL {
        width: 100%;
    }
    .footer_boxL_logo {
        margin-top: 0;
        width: 130px;
    }
    .footer_boxL_address {
        margin-top: 6px;
    }
    .footer_boxR img {
        margin-top: 15px;
        width: auto;
        height: 22px;
    }
    .footer_boxR_link {
        letter-spacing: 0.1em;
        padding: 0 32px;
        justify-content: flex-start;
    }
    .footer_boxR_link > *,
    .footer_boxR_link > :not(:last-child) {
        margin: 0 0 22px;
        width: 33.3%;
    }
    .footer_boxR_linkOther {
        justify-content: flex-start;
        margin-top: 4px;
        padding: 0 8px 0 32px;
    }
    .footer_boxR_linkOther > :not(:last-child) {
        margin-bottom: 2px;
    }
    .copyright {
        text-align: left;
        margin-top: 21px;
        padding: 0 32px;
        box-sizing: border-box;
    }
}


/*
    contents
*/
#contents {
    position: relative;
    padding: 162px 0 80px;
}
.contents_img {
    position: absolute;
    top: -14px;
    right: 0;
    left: 0;
    margin: 0 auto;
    z-index: -20;
}
.contents_img_bg {
    position: absolute;
    top: 0;
    right: -1px;
    left: 0;
    margin: 0 auto;
    z-index: -10;
}
.contents_img_bg:after {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    margin: 0 auto;
    height: 50%;
    background: #F5F5F5;
    content: "";
}
.contents_img_bg img {
    position: relative;
    z-index: 20;
}
@media screen and ( max-width: 768px ) {
    #contents {
        padding: 125px 0 40px;
    }
    .contents_img {
        top: 225px;
    }
    .contents_img_bg {
        top: 155px;
    }
}

/* -- h --*/
/* h2 */
h2 {
    font-family: 'League Spartan', sans-serif;
    font-weight: 500;
    font-size: 84px;
    line-height: 1.18;
    margin-top: 76px;
}
body#top h2 {
    font-size: 101px;
    margin-top: 0;
}
h2.mbL {
    margin-bottom: 35.6vw;
}
@media screen and ( max-width: 768px ) {
    h2,
    body#top h2 {
        font-size: 45px;
        margin-top: 45px;
    }
    h2.mbL {
        margin-bottom: 52vw;
    }
}

/* h3 */
h3 {
    font-family: 'League Spartan', sans-serif;
    font-weight: 400;
    font-size: 37px;
    line-height: 1.2;
    letter-spacing: 0.06em;
    margin: 52px 0 25px;
}
@media screen and ( max-width: 768px ) {
    h3 {
        font-size: 25px;
        margin: 38px 0 18px;
    }
}


/* -- tit -- */
.tit {
    font-weight: bold;
    font-size: 30px;
    line-height: 2;
    letter-spacing: 0.05em;
    margin: 62px 0 37px;
}
@media screen and ( max-width: 768px ) {
    .tit {
        font-size: 22px;
        line-height: 1.8;
        margin: 20px 0 30px;
    }
    .taR.tit {
        text-align: left;
    }
}

/* titMincho */
.titMincho {
    font-family: 'Shippori Mincho', serif;
    font-size: 46px;
    line-height: 1.39;
    margin: 175px 0 174px;
    letter-spacing: 0;
}
@media screen and ( max-width: 768px ) {
    .titMincho {
        font-size: 32px;
        margin: 35px 0 25px;
    }
}

/* titEn */
.titEn h3 {
    font-family: 'League Spartan', sans-serif;
    font-weight: 600;
    font-size: 56px;
    line-height: 1.19;
    letter-spacing: 0.03em;
    margin: 0;
}
.titEn_subtit {
    font-weight: bold;
    font-size: 16px;
    letter-spacing: 0.8px;
    color: rgba(0,0,0,0.8);
    position: relative;
    margin-top: -6px;
    padding-left: 102px;
}
.titEn_subtit:before {
    position: absolute;
    top: 20px;
    left: 0;
    width: 90px;
    height: 1px;
    background: #CBCBCB;
    content: "";
}
/* taR */
.taR .titEn_subtit {
    padding-left: 0;
    padding-right: 102px;
}
.taR .titEn_subtit:before {
    right: 0;
    left: auto;
}
/* taC */
.taC .titEn_subtit {
    padding-left: 0;
}
.taC .titEn_subtit:before,
.taC .titEn_subtit:after {
    display: inline-block;
    position: relative;
    top: -4px;
    margin: 0 10px;
    width: 90px;
    height: 1px;
    background: #CBCBCB;
    content: "";
}
@media screen and ( max-width: 768px ) {
    .titEn h3 {
        font-size: 32px;
    }
    .titEn_subtit {
        font-size: 14px;
        margin-top: -3px;
        padding-left: 50px;
    }
    .titEn_subtit:before {
        top: 16px;
        width: 40px;
    }
    /* taR */
    .taR.titEn {
        text-align: left;
    }
    .taR .titEn_subtit {
        padding-left: 50px;
        padding-right: 0;
    }
    .taR .titEn_subtit:before {
        right: auto;
        left: 0;
    }
}


/* -- txtBox --*/
/* txtBox */
.txtBox {
    letter-spacing: 0.03em;
    margin-top: 45px;
}
/* w450 */
.w450.txtBox {
    max-width: 450px;
}
@media screen and ( max-width: 768px ) {
    .txtBox {
        margin-top: 25px;
    }
}
/* txtBox_copy */
.txtBox_copy {
    font-size: 16px;
    font-weight: 500;
    line-height: 2.25;
    letter-spacing: 0.03em;
    margin-top: 163px;
}
@media screen and ( max-width: 768px ) {
    .txtBox_copy {
        font-size: 14px;
        margin-top: 20px;
    }
}


/* -- btn --*/
.btn {
    margin: 77px auto 0;
    max-width: 311px;
    text-align: left;
}
.taL.btn {
    margin-left: 0;
}
.taR.btn {
    margin-right: 0;
}
.btn a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
}
.white.btn a {
    color: #fff;
}
.btn_txt {
    font-family: 'League Spartan', sans-serif;
    font-weight: 500;
    font-size: 19px;
    line-height: 1.86;
    letter-spacing: 0.38px;
    position: relative;
    width: calc(100% - 112px);
}
.fsS .btn_txt {
    font-weight: bold;
    font-size: 15px;
    letter-spacing: 0.38px;
}
.btn_txt:after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    height: 1px;
    background: #939393;
    content: "";
}
.white .btn_txt:after {
    left: 55%;
}
.btn_txt span {
    position: relative;
    padding-right: 29px;
    background: #F6F6F6;
    z-index: 10;
}
.white .btn_txt span {
    background: none;
}
.btn_icon {
    position: relative;
    width: 68px;
    height: 68px;
}
.btn_icon img {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -1px;
    width: 16px;
    z-index: 30;
    transform: translate(-50%, -50%);
    transition: width 0.3s;
}
.btn_icon:before {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 50%;
    height: 50%;
    border: 1px solid #BBB;
    border-radius: 50%;
    content: "";
    z-index: 10;
    opacity: 0;
    filter: blur(2px);
    transform: translate(-50%, -50%);
    transition: width 0.6s, height 0.6s, opacity 0.8s;
}
.btn_icon:after {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 100%;
    height: 100%;
    background: #000;
    border-radius: 50%;
    content: "";
    z-index: 20;
    transform: translate(-50%, -50%);
    transition: width 0.4s, height 0.4s;
}
.white .btn_icon:after {
    background: #fff;
}
@media screen and ( min-width: 769px ) {
    .btn a:hover {
        opacity: 1;
    }
    .btn a:hover .btn_icon img {
        width: 22px;
    }
    .btn a:hover .btn_icon:before {
        opacity: 1;
        width: 155%;
        height: 155%;
    }
    .btn a:hover .btn_icon:after {
        width: 120%;
        height: 120%;
    }
}
@media screen and ( max-width: 768px ) {
    .btn {
        margin: 66px auto 0;
        max-width: 281px;
    }
    .taL.btn {
        margin-left: 0;
    }
    .taR.btn {
        margin-right: 0;
    }
    .btn a {
        display: flex;
        align-items: center;
        justify-content: space-between;
        position: relative;
    }
    .white.btn a {
        color: #fff;
    }
    .btn_txt {
        font-family: 'League Spartan', sans-serif;
        font-weight: 500;
        font-size: 19px;
        line-height: 1.86;
        letter-spacing: 0.38px;
        position: relative;
        width: calc(100% - 112px);
    }
    .btn_txt:after {
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        left: 0;
        margin: auto;
        height: 1px;
        background: #939393;
        content: "";
    }
    .white .btn_txt:after {
        left: 71%;
    }
    .btn_txt span {
        position: relative;
        padding-right: 29px;
        background: #F6F6F6;
        z-index: 10;
    }
    .white .btn_txt span {
        background: none;
    }
    .btn_icon {
        position: relative;
        width: 68px;
        height: 68px;
    }
    .btn_icon img {
        position: absolute;
        top: 50%;
        left: 50%;
        margin-top: -1px;
        width: 16px;
        z-index: 30;
        transform: translate(-50%, -50%);
        transition: width 0.3s;
    }
    .btn_icon:before {
        position: absolute;
        top: 50%;
        left: 50%;
        display: block;
        width: 50%;
        height: 50%;
        border: 1px solid #BBB;
        border-radius: 50%;
        content: "";
        z-index: 10;
        opacity: 0;
        filter: blur(2px);
        transform: translate(-50%, -50%);
        transition: width 0.6s, height 0.6s, opacity 0.8s;
    }
    .btn_icon:after {
        position: absolute;
        top: 50%;
        left: 50%;
        display: block;
        width: 100%;
        height: 100%;
        background: #000;
        border-radius: 50%;
        content: "";
        z-index: 20;
        transform: translate(-50%, -50%);
        transition: width 0.4s, height 0.4s;
    }
    .white .btn_icon:after {
        background: #fff;
    }
}


/* -- topNews_box_pickUp_slider -- */
.topNews_box_pickUp_slider_outer {
    position: relative;
    margin-top: 50px;
    padding: 231px 0 34px;
}
.topNews_box_pickUp_slider_outer > * {
    position: relative;
    z-index: 20;
}
.topNews_box_pickUp_slider_outer:after {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    margin: 0 auto;
    height: 100%;
    background: url(../img/top/topService_space_bg.png) no-repeat top center;
    background-size: 100% auto;
    content: "";
    z-index: 10;
    transform: scale(-1, 1);
}
.topNews_box_pickUp_slider_outer_tit {
    text-align: center;
    font-weight: 600;
    font-size: 37px;
    font-family: 'League Spartan', sans-serif;
}
.topNews_box_pickUp_slider_outer .topNews_box_pickUp_slider {
    margin-top: 10px;
}
.topNews_box_pickUp_slider_outer .topNews_box_pickUp_slider > div {
    margin-bottom: 0;
    width: 100%;
}
.topNews_box_pickUp_slider_outer .slick-slide {
    width: 406px;
}
.topNews_box_pickUp_slider_outer .slick-slide a {
    display: block;
    margin: 0 20px;
}
.topNews_box_pickUp_slider {
    display: flex;
    flex-wrap: wrap;
    justify-content: stretch;
    margin-top: 172px;
				gap: 16px;
}
.topNews_box_pickUp_slider > div {
    margin-bottom: 54px;
    width: calc(100% / 3 - 16px);
}
.topNews_box_pickUp_img {
    position: relative;
    padding-top: 66.6%;
}
.topNews_box_pickUp_img img {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: translate(-50%,-50%);
}
.topNews_box_pickUp_day {
    font-family: 'League Spartan', sans-serif;
    font-weight: 400;
    font-size: 13px;
    line-height: 1.3;
    color: #888;
    margin-top: 18px;
}
body:not(#top) .topNews_box_pickUp_day {
    text-align: right;
    position: relative;
    padding-left: 50%;
    margin-top: 25px;
}
.topNews_box_pickUp_day span {
    font-weight: 400;
}
body:not(#top) .topNews_box_pickUp_day span {
    text-align: left;
    font-size: 15px;
    position: absolute;
    top: -2px;
    left: 2px;
    width: 50%;
}
.news .topNews_box_pickUp_day span { color: #6C6C6C; }
.event .topNews_box_pickUp_day span { color: #FF690B; }
.column .topNews_box_pickUp_day span { color: #E4358B; }
.topNews_box_pickUp_txt {
    font-weight: 500;
    font-size: 15px;
    line-height: 1.8;
    letter-spacing: 0.75px;
    margin-top: 5px;
}
body:not(#top) .topNews_box_pickUp_txt {
    margin-top: 11px;
}

@media screen and ( max-width: 768px ) {
    .topNews_box_pickUp_slider_outer {
        margin-top: 0;
        padding: 50px 0 34px;
    }
    .topNews_box_pickUp_slider_outer_tit {
        font-size: 30px;
    }
    .topNews_box_pickUp_slider_outer .topNews_box_pickUp_slider {
        margin-top: 0;
    }
    .topNews_box_pickUp_slider_outer .slick-slide {
        width: 250px;
    }
    .topNews_box_pickUp_slider_outer .slick-slide a {
        margin: 0 15px;
    }
    .topNews_box_pickUp_slider {
        display: block;
        margin: 20px 0 0;
        width: 100%;
    }
    .topNews_box_pickUp_slider > div {
        margin-bottom: 50px;
        width: 100%!important;
    }
    .topNews_box_pickUp a {
        display: block;
        padding: 0 20px;
    }
    .topNews_box_pickUp_img {
        position: relative;
        width: 100%;
    }
    .topNews_box_pickUp_day {
        margin-top: 16px;
    }
    .topNews_box_pickUp_day span {
        font-weight: 400;
    }
    .topNews_box_pickUp_day span:before {
        top: -3px;
        margin: 0 11px 0 4px;
    }
    .topNews_box_pickUp_txt {
        font-size: 14px;
        margin-top: 12px;
    }
}


/* -- pager -- */
.pager {
    font-family: 'League Spartan', sans-serif;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 73px;
}
.pager li {
    margin: 0 2px;
}
.pager a {
    text-align: center;
    font-size: 20px;
    line-height: 40px;
    color: #C3C3C3;
    display: block;
    width: 28px;
    height: 38px;
    border: 1px solid transparent;
}
.pager li.act a {
    color: #1F1F1F;
}
.pager li.last {
    position: relative;
    margin-left: 18px;
}
.pager .last:before {
    color: #6A6A6A;
    font-size: 15px;
    position: absolute;
    top: -5px;
    left: -17px;
    content: "…";
}
.pager li.prev {
    margin-right: 28px;
}
.pager li.next {
    margin-left: 28px;
}
.pager .prev a,
.pager .next a {
    color: #FFF;
    position: relative;
    width: 38px;
    background: #000;
    border: 1px solid #000;
    border-radius: 50%;
}
.pager .prev a:before,
.pager .next a:before {
    position: absolute;
    top: 0;
    bottom: 0;
    right: -4px;
    left: 0;
    margin: auto;
    width: 5px;
    height: 5px;
    border-bottom: 2px solid #fff;
    border-left: 2px solid #fff;
    content: "";
    transform: rotate(45deg);
}
.pager .next a:before {
    right: 0;
    left: -4px;
    border: none;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
}
@media screen and ( max-width: 768px ) {
    .pager {
        margin-top: 20px;
    }
    .pager li {
        margin: 0 1px;
    }
    .pager a {
        line-height: 24px;
        width: 24px;
        height: 24px;
        border-radius: 2px;
    }
    .pager li.last {
        margin-left: 15px;
    }
    .pager .last:before {
        font-size: 10px;
        top: 2px;
        left: -13px;
    }
    .pager li.prev {
        margin-right: 14px;
    }
    .pager li.next {
        margin-left: 14px;
    }
    .pager .prev a,
    .pager .next a {
        width: 24px;
    }
}


/* -- topContact -- */
#topContact {
    position: relative;
    background: #F6F6F6;
    z-index: 10;
}
#topContact > * {
    position: relative;
}
.topContact_h2 {
    background: url(../img/top/topContact_h2_bg.webp) no-repeat center;
    background-size: cover;
    z-index: 10;
}
.topContact_h2:before {
    position: absolute;
    top: -1.7vw;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    background: url(../img/top/top_bg02_02.png) no-repeat top center;
    background-size: 100% auto;
    content: "";
}
.topContact_h2_inner {
    color: #fff;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    position: relative;
    margin: 0 auto;
    padding: 311px 0 170px;
    max-width: 1183px;
    z-index: 30;
    box-sizing: border-box;
}
body#top .topContact_h2_inner {
    padding-top: 270px;
    padding-bottom: 220px;
}
#topContact.none .topContact_h2_inner {
    padding-top: 163px;
    padding-bottom: 166px;
}
.topContact_h2_inner h2 {
    width: calc(100% - 470px);
}
body:not(#top) .topContact_h2_inner h2 {
    font-size: 96px;
}
.topContact_h2_box {
    padding: 81px 69px 68px;
    width: 470px;
    border: 1px solid #fff;
    box-sizing: border-box;
}
.topContact_h2_box_txt {
    font-size: 18px;
    line-height: 2.5;
    letter-spacing: 0.45px;
    color: #FFF;
}
.topContact_h2_box .btn {
    margin-top: 61px;
}
@media screen and ( max-width: 1213px ) {
    .topContact_h2_inner {
        padding: 311px 15px 179px;
    }
}
@media screen and ( max-width: 980px ) {
    .topContact_h2 {
        background: url(../img/top/topContact_h2_bg_sp.png) no-repeat center;
        background-size: cover;
    }
    .topContact_h2_inner {
        padding: 156px 40px 93px;
    }
    body#top .topContact_h2_inner {
        padding-top: 150px;
        padding-bottom: 100px;
    }
    #topContact.none .topContact_h2_inner {
        padding-top: 40px;
        padding-bottom: 93px;
    }
    .topContact_h2_inner h2 {
        text-align: center;
        width: 100%;
    }
    body:not(#top) .topContact_h2_inner h2 {
        font-size: 45px;
    }
    .topContact_h2_box {
        margin: 33px auto 0;
        padding: 67px 23px 42px;
    }
    .topContact_h2_box_txt {
        text-align: left;
        font-size: 15px;
        line-height: 2;
        letter-spacing: 0.38px;
    }
    .topContact_h2_box .btn {
        margin-top: 42px;
    }
}
@media screen and ( max-width: 768px ) {
    body#top .topContact_h2_inner {
        padding-top: 120px;
    }
}


/* -- articleBox -- */
.articleBox {
    font-size: 15px;
    letter-spacing: 0.03em;
    line-height: 2;
    margin: 0 auto;
    max-width: 880px;
}
body:not(#top) .articleBox .topNews_box_pickUp_day {
    text-align: left;
    font-size: 16px;
    margin-top: 29px;
    padding-left: 0;
}
body:not(#top) .articleBox .topNews_box_pickUp_day span {
    position: static;
    margin-left: 20px;
    width: auto;
}
.articleBox h1 {
    font-size: 26px;
    font-weight: bold;
    margin: 20px 0 103px;
    letter-spacing: 0.05em;
    line-height: 1.8;
}
.articleBox h2 {
    font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
    font-size: 26px;
    font-weight: bold;
    position: relative;
    margin: 147px 0 35px;
    padding-bottom: 22px;
    letter-spacing: 0.05em;
    line-height: 1.8;
}
.articleBox h2:before {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 50px;
    height: 3px;
    background: #000;
    content: "";
}
.articleBox h3 {
    font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.25;
    letter-spacing: 0.05em;
    position: relative;
    margin: 139px 0 40px;
    padding-left: 21px;
}
.articleBox h3:before {
    position: absolute;
    top: -4px;
    left: 0;
    width: 4px;
    height: 34px;
    background: #000;
    content: "";
}
.articleBox a[target="_blank"]:after {
    display: inline-block;
    margin-left: 5px;
    width: 12px;
    height: 10px;
    background: url(../img/common/icon_blank.png) no-repeat 0 0;
    background-size: 100% auto;
    content: "";
}
.articleBox table {
    text-align: left;
    margin-top: 120px;
    width: 100%;
}
.articleBox th {
    font-weight: bold;
    font-size: 15px;
    line-height: 1.66;
    letter-spacing: 0.01em;
    padding: 20px 0 0 21px;
    width: 185px;
    border-top: 1px solid #BEBEBE;
    border-bottom: 1px solid #BEBEBE;
}
.articleBox td {
    padding: 0 20px 19px 30px;
    line-height: 1.65;
    border-top: 1px solid #DCDCDC;
    border-bottom: 1px solid #DCDCDC;
    word-break: break-all;
}
.articleBox td .gmap {
    margin: 20px 0 26px;
}
/* articleBox_list */
.articleBox_list {
    position: relative;
    margin: 56px 20px 0;
    border: 1px solid rgba(0,0,0,0.2);
}
.articleBox_list_tit {
    position: absolute;
    top: -14px;
    left: -6px;
    padding: 0 14px 12px 0;
    font-size: 14px;
    font-weight: bold;
    background: #F5F5F5;
}
.articleBox_list_tit:before {
    display: inline-block;
    position: relative;
    top: 1px;
    margin-right: 6px;
    width: 15px;
    height: 12px;
    background: url(../img/common/articleBox_list_tit_img.png) no-repeat 0 0;
    background-size: 100% auto;
    content: "";
}
.articleBox_list ol {
    font-weight: 500;
    font-size: 16px;
    line-height: 1.68;
    letter-spacing: 0.8px;
    padding: 42px 47px 36px;
    counter-reset: item;
}
.articleBox_list li:not(:last-child) {
    margin-bottom: 12px;
}
.articleBox_list li:before {
    font-family: 'Jost', sans-serif;
    font-weight: 500;
    margin-right: 8px;
    counter-increment: item;
    content: counter(item)'.';
}
.articleBox_list span {
    text-decoration: underline;
}
/* articleBox_img */
.articleBox_img {
    margin-top: 72px;
}
/* articleBox_caption */
.articleBox_caption {
    font-weight: 500;
    font-size: 12px;
    line-height: 1.4;
    letter-spacing: 0.04em;
    margin-top: 18px;
}
/* articleBox_crm */
.articleBox_crm {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.articleBox_crm > * {
    width: 53%;
}
.articleBox_crm_img {
    margin-top: 7px;
    width: 43%;
}
/* articleBox_emphasize */
.articleBox_emphasize {
    line-height: 1.8;
    letter-spacing: 0.024em;
    position: relative;
    margin-top: 69px;
    padding: 27px 0 0 35px;
}
.articleBox_emphasize:before {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 32px;
    height: 23px;
    background: url(../img/common/articleBox_emphasize_img.png) no-repeat 0 0;
    background-size: 100% auto;
    content: "";
}
.articleBox_emphasize:after {
    display: block;
    position: absolute;
    top: 33px;
    bottom: 0;
    left: 16px;
    margin: auto;
    width: 4px;
    background: #E6E6E6;
    content: "";
}
/* articleBox_introduction */
.articleBox_introduction {
    margin-top: 79px;
}
.articleBox_introduction dt {
    font-weight: bold;
    font-size: 16px;
    line-height: 1.43;
    letter-spacing: 0.05em;
    padding: 13px 18px 18px;
    background: #E6E6E6;
}
.articleBox_introduction dt:before {
    display: inline-block;
    position: relative;
    top: 5px;
    margin-right: 8px;
    width: 22px;
    height: 22px;
    background: url(../img/common/articleBox_introduction_img.png) no-repeat 0 0;
    background-size: 100% auto;
    content: "";
}
.articleBox_introduction dd {
    padding: 33px 26px 30px;
    background: #fff;
}
.articleBox_introduction_btn {
    margin-top: 29px;
}
.articleBox_introduction_btn a {
    text-align: center;
    font-weight: bold;
    font-size: 15px;
    line-height: 1.86;
    letter-spacing: 0.38px;
    color: #FFF;
    display: block;
    padding: 16px;
    background: #000;
    border-radius: 6px;
}
.articleBox_introduction_btn a:after {
    display: none!important;
}
/* articleBox_link */
.articleBox_link {
    margin-top: 95px;
}
.articleBox_link_tit {
    font-weight: 500;
    font-size: 16px;
    line-height: 1.87;
    letter-spacing: 0.03em;
}
/* articleBox_comments */
.articleBox_comments {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 92px;
}
.articleBox_comments_icon {
    overflow: hidden;
    width: 84px;
    height: 84px;
    border-radius: 50%;
}
.articleBox_comments_txt {
    position: relative;
    padding: 23px 31px 22px;
    width: calc(100% - 120px);
    background: #FFF;
    border-radius: 10px;
    box-sizing: border-box;
}
.articleBox_comments_txt:before {
    position: absolute;
    top: 20px;
    left: -19px;
    width: 0;
    height: 0;
    border: 23px solid transparent;
    border-top: 19px solid #fff;
    content: "";
    box-sizing: border-box;
}
/* articleBox_footer */
.articleBox_footer {
    margin-top: 110px;
}
.articleBox_footer_sns {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.articleBox_footer_sns li:not(:last-child) {
    margin-right: 9px;
}
.articleBox_footer_sns a {
    display: block;
    position: relative;
    overflow: hidden;
    width: 40px;
    height: 40px;
    background: #545454;
    border-radius: 50%;
}
.articleBox_footer_sns img {
    position: absolute;
    top: 50%;
    left: 50%;
    max-width: 16px;
    max-height: 16px;
    width: auto;
    transform: translate(-50%,-50%);
}
.articleBox_footer_btn {
    margin: 58px auto 0;
    max-width: 320px;
}
.articleBox_footer_btn a {
    text-align: center;
    font-weight: bold;
    font-size: 15px;
    line-height: 1.86;
    letter-spacing: 0.38px;
    color: #FFF;
    display: block;
    padding: 18px;
    background: #000;
    border-radius: 6px;
}
.articleBox_footer_btn a:after {
    display: none!important;
}
@media screen and ( max-width: 768px ) {
    .articleBox {
        font-size: 14px;
    }
    body:not(#top) .articleBox .topNews_box_pickUp_day {
        font-size: 14px;
        margin-top: 29px;
    }
    body:not(#top) .articleBox .topNews_box_pickUp_day span {
        font-size: 14px;
        margin-left: 15px;
    }
    .articleBox h1 {
        font-size: 22px;
        margin: 10px 0 40px;
    }
    .articleBox h2 {
        font-size: 20px;
        margin: 60px 0 25px;
        padding-bottom: 16px;
    }
    .articleBox h3 {
        font-size: 18px;
        line-height: 1.8;
        margin: 40px 0 20px;
        padding-left: 13px;
    }
    .articleBox h3:before {
        top: 4px;
        width: 3px;
        height: 22px;
    }
    .articleBox table {
        display: block;
        margin-top: 60px;
    }
    .articleBox table tbody,
    .articleBox table tr {
        display: block;
    }
    .articleBox th {
        font-size: 14px;
        display: block;
        padding: 10px 12px 8px;
        width: 100%;
        background: #BEBEBE;
        box-sizing: border-box;
    }
    .articleBox td {
        display: block;
        padding: 10px 12px 30px;
        width: 100%;
        box-sizing: border-box;
    }
    /* articleBox_list */
    .articleBox_list {
        margin: 45px 9px 0;
    }
    .articleBox_list ol {
        font-size: 14px;
        padding: 32px 33px 24px;
    }
    /* articleBox_img */
    .articleBox_img {
        margin-top: 30px;
    }
    /* articleBox_caption */
    .articleBox_caption {
        margin-top: 12px;
    }
    /* articleBox_crm */
    .articleBox_crm > * {
        width: 100%;
    }
    .articleBox_crm > :not(:last-child) {
        margin-bottom: 15px;
    }
    .articleBox_crm_img {
        margin-top: 0;
        width: 100%;
    }
    /* articleBox_emphasize */
    .articleBox_emphasize {
        margin-top: 40px;
        padding: 20px 0 0 30px;
    }
    .articleBox_emphasize:before {
        width: 20px;
    }
    .articleBox_emphasize:after {
        top: 25px;
        left: 8px;
        width: 3px;
    }
    /* articleBox_introduction */
    .articleBox_introduction {
        margin-top: 40px;
    }
    .articleBox_introduction dt {
        font-size: 14px;
        padding: 11px 18px 15px;
    }
    .articleBox_introduction dt:before {
        top: 3px;
        margin-right: 4px;
        width: 17px;
        height: 17px;
    }
    .articleBox_introduction dd {
        padding: 16px 22px 23px;
    }
    .articleBox_introduction_btn {
        margin-top: 18px;
    }
    /* articleBox_link */
    .articleBox_link {
        margin-top: 40px;
    }
    .articleBox_link_tit {
        font-size: 14px;
    }
    /* articleBox_comments */
    .articleBox_comments {
        margin-top: 40px;
    }
    .articleBox_comments_icon {
        width: 74px;
        height: 74px;
    }
    .articleBox_comments_txt {
        padding: 14px 22px 16px;
        width: calc(100% - 95px);
    }
    .articleBox_comments_txt:before {
        top: 26px;
        left: -16px;
    }
    /* articleBox_footer */
    .articleBox_footer {
        margin-top: 60px;
    }
    .articleBox_footer_btn {
        margin: 25px auto 0;
    }
}


/* -- boxPopup -- */
.boxPopup {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 85px;
}
.boxPopup > * {
    margin-top: -50px;
    padding-top: 50px;
    margin-bottom: 40px;
}
.boxPopup a {
    text-align: center;
    color: #FFF;
    display: block;
    position: relative;
    padding-top: 100%;
}
.boxPopup a:before {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    background: rgba(0,0,0,0.6);
    content: "";
    z-index: 30;
}
.boxPopup a:after {
    position: absolute;
    right: 15px;
    bottom: 18px;
    width: 27px;
    height: 27px;
    background: url(../img/common/icon_search.png) no-repeat 0 0;
    background-size: 100% auto;
    content: "";
    z-index: 40;
}
.boxPopup_img {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    z-index: 10;
}
.boxPopup_img img {
    position: absolute;
    top: 50%;
    left: 50%;
    height: 100%;
    transform: translate(-50%,-50%);
    object-fit: cover;
}
.boxPopup_num {
    font-family: 'League Spartan', sans-serif;
    font-weight: 600;
    font-size: 16px;
    position: absolute;
    top: 17px;
    right: 0;
    left: 0;
    margin: 0 auto;
    z-index: 30;
}
.boxPopup_txtBox {
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    margin: 0 auto;
    padding-bottom: 17px;
    transform: translateY(-50%);
    z-index: 30;
}
.boxPopup_txtBox_jp {
    font-weight: bold;
    font-size: 15px;
    line-height: 1.73;
    letter-spacing: 0.02em;
}
.boxPopup_txtBox_en {
    font-family: 'League Spartan', sans-serif;
    font-weight: 600;
    font-size: 37px;
    line-height: 1.13;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    margin-top: 9px;
}
/* crm2 */
.crm2.boxPopup > * {
    width: 48.31%;
}
.crm2.boxPopup a {
    padding-top: 66.6%;
}
.crm2.boxPopup .boxPopup_txtBox {
    padding-top: 43px;
    padding-bottom: 0;
}
.crm2.boxPopup .boxPopup_txtBox_jp {
    font-size: 36px;
}
.crm2.boxPopup .boxPopup_txtBox_en {
    font-size: 19px;
    letter-spacing: 0.06em;
    margin-top: 13px;
}
/* crm3 */
.crm3.boxPopup > * {
    width: 31.02%;
}
@media screen and ( max-width: 768px ) {
    .boxPopup {
        margin-top: 40px;
    }
    .boxPopup > * {
        margin-bottom: 2%;
    }
    .boxPopup a {
        padding-top: 100%;
    }
    .boxPopup a:after {
        right: 9px;
        bottom: 9px;
        width: 20px;
        height: 20px;
    }
    .boxPopup_num {
        font-size: 14px;
        top: 3px;
    }
    .boxPopup_txtBox {
        padding: 6px 0 0;
    }
    .boxPopup_txtBox_jp {
        font-size: 14px;
    }
    .boxPopup_txtBox_en {
        font-size: 25px;
        margin-top: 2px;
    }
    /* crm2 */
    .crm2.boxPopup > * {
        width: 100%;
    }
    .crm2.boxPopup .boxPopup_txtBox {
        padding-bottom: 0;
    }
    .crm2.boxPopup .boxPopup_txtBox_jp {
        font-size: 14px;
    }
    .crm2.boxPopup .boxPopup_txtBox_en {
        font-size: 32px;
        margin-top: 4px;
    }
    /* crm3 */
    .crm3.boxPopup > * {
        width: 49%;
    }
}


/* -- boxPopupModal -- */
.boxPopupModal {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
}
.boxPopupModal_img {
    width: 57.8%;
}
.boxPopupModal_img li.slick-slide {
    position: relative;
    height: 370px;
}
.boxPopupModal_img img {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: translate(-50%,-50%);
}
.boxPopupModal_img.slick-dotted.slick-slider {
    margin-bottom: 40px;
}
.boxPopupModal_img .slick-dots {
    bottom: -52px;
}
.boxPopupModal_img .slick-dots li {
    width: 9px;
    height: 9px;
}
.boxPopupModal_img .slick-dots li button {
    width: 9px;
    height: 9px;
}
.boxPopupModal_img .slick-dots li button:before {
    font-size: 0;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #BCBCBC;
    opacity: 1!important;
}
.boxPopupModal_img .slick-dots li.slick-active button:before {
    background: #E4358B;
}
.boxPopupModal_txtBox {
    width: 36.8%;
}
.boxPopupModal_txtBox_subtit {
    font-family: 'League Spartan', sans-serif;
    font-weight: 600;
    font-size: 18px;
    line-height: 1.5;
    letter-spacing: 0.01em;
    margin: 22px 0 8px;
}
.boxPopupModal_txtBox_tit {
    font-weight: bold;
    font-size: 30px;
    line-height: 1.4;
    letter-spacing: 1.5px;
    margin-bottom: 37px;
}
.boxPopupModal_txtBox_txt {
    font-weight: 500;
    font-size: 15px;
    line-height: 2;
    letter-spacing: 0.38px;
}
.boxPopupModal_txtBox .btn {
    margin-top: 50px;
}
.boxPopupModal_txtBox .btn_txt span {
    font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
    background: #fff;
}
@media screen and ( max-width: 768px ) {
    .boxPopupModal_img {
        width: 100%;
    }
    .boxPopupModal_img li.slick-slide {
        position: relative;
        min-height: 185px;
        height: 30vh;
    }
    .boxPopupModal_img.slick-dotted.slick-slider {
        margin-bottom: 70px;
    }
    .boxPopupModal_txtBox {
        width: 100%;
    }
    .boxPopupModal_txtBox_subtit {
        font-size: 16px;
        margin: 22px 0 8px;
    }
    .boxPopupModal_txtBox_tit {
        font-size: 25px;
        margin-bottom: 37px;
    }
    .boxPopupModal_txtBox_txt {
        font-size: 14px;
    }
    .boxPopupModal_txtBox .btn {
        margin-top: 50px;
    }
}

/* -- footBox -- */
.footBox {
    position: relative;
    margin-top: 14px;
    padding: 222px 0 34px;
}
.footBox > * {
    position: relative;
    z-index: 20;
}
.footBox:after {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    margin: 0 auto;
    height: 100%;
    background: url(../img/top/topService_space_bg.webp) no-repeat top center;
    background-size: 100% auto;
    content: "";
    z-index: 10;
    transform: scale(-1, 1);
}
.footBox_tit {
    font-size: 30px;
    font-weight: bold;
    letter-spacing: 0.05em;
    text-align: center;
}
.footBox .inner > * {
    margin-top: 36px;
}
.footBox .inner > .btn {
    margin-top: 99px;
}
@media screen and ( max-width: 768px ) {
    .footBox {
        margin-top: 14px;
        padding: 50px 0 34px;
    }
    .footBox_tit {
        font-size: 26px;
    }
    .footBox .inner > * {
        margin-top: 5px;
        margin-bottom: 0;
    }
    .footBox .inner > .btn {
        margin-top: 60px;
    }
    .footBox_slider_sp .splide__track {
        width: 120%;
    }
}


/*
    js
*/
/* フェードイン */
.fadeInD {   
    opacity: 0;
    transform: translateY(-50px); 
    transition: opacity 0.8s, transform 0.8s;
}
.fadeInU {   
    opacity: 0;
    transform: translateY(50px); 
    transition: opacity 0.8s, transform 0.8s;
}
.on.fadeInD,
.on.fadeInU {
    transform: translateY(0); 
    opacity: 1;
}
/* スライドイン */
.slideInL {   
    opacity: 0;
    transform: translateX(-50px); 
    transition: opacity 0.8s, transform 0.8s;
}
.slideInR {   
    opacity: 0;
    transform: translateX(50px); 
    transition: opacity 0.8s, transform 0.8s;
}
.on.slideInL,
.on.slideInR {
    transform: translateX(0); 
    opacity: 1;
}

/* -- 'Modaal' モーダルウインドウプラグイン -- */
.modal_contents {
    display: none;
}
.modaal-wrapper .modaal-container {
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.16);
    border-radius: 10px;
}
.modaal-content-container {
    margin: 0 auto;
    max-width: 980px;
    padding: 75px 15px 75px 30px!important;
}
.modaal-wrapper .modaal-close {
    position: absolute;
    right: 0;
    top: 0;
    width: 55px;
    height: 55px;
    border-radius: 0;
    background: none!important;
}
.modaal-wrapper .modaal-close:after,
.modaal-wrapper .modaal-close:before {
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    width: 2px;
    height: 20px;
    border-radius: 0;
    background: #000;
}
.modaal-close:after {
    transform: rotate(59deg);
}
.modaal-close:before {
    transform: rotate(-59deg);
}
@media screen and ( max-width: 1030px ) {
    .modaal-inner-wrapper {
        padding-right: 0!important;
        padding-left: 0!important;
    }
    .modaal-container {
        width: 90vw!important;
    }
}
@media screen and ( max-width: 768px ) {
    .modaal-content-container {
        padding: 30px!important;
    }
    .modaal-wrapper .modaal-close {
        width: 30px;
        height: 30px;
    }
    .modaal-close:after,
    .modaal-close:before {
        height: 20px;
    }
}