@charset "UTF-8";
body {
	color: #313131;
	background-color: #FFFFFF;
	letter-spacing: 0.05em;
}
#header img {
    transition: .2s;
}
#header {
    width: 100%;
    z-index: 99;
	transition: .2s;
}
#header.offset #header.fixed {
    background-color: rgba(255, 252, 238, 0.94);
}
#header .logo-wrap > a  {
    display: block;
}


.home #header #subBtn .nav > .nav-item > a {
    color: var(--white);
}
#header #subBtn .nav > .nav-item > a,
.lower #header #subBtn .nav > .nav-item > a,
#header.fixed #subBtn .nav > .nav-item > a {
    color: var(--blue);
}

main p {
    line-height: 2.0;
    letter-spacing: 0.065em;
    margin-bottom: 0.85em;
}
.nav-link-off {
	opacity: .8;
}
.tel img {
    max-height: 20px;
}
.list-h1 > li::marker,
h1, .h1 {
    font-size: 1.9rem;
}
.list-h2 > li::marker,
h2, .h2 {
    font-size: 1.75rem;
}
.list-h3 > li::marker,
h3, .h3 {
    font-size: 1.55rem;
}
.list-h4 > li::marker,
h4, .h4 {
    font-size: 1.35rem;
}
.list-h5 > li::marker,
h5, .h5 {
    font-size: 1.15rem;
}
.list-h6 > li::marker,
h6, .h6 {
    font-size: 1.0rem;
}
.bg-stripe .ttl {
    font-size: 1.6rem;
}
.lead {
    font-size: 1.225rem;
    font-weight: 400;
    line-height: 2;
}
.lead.bold,
.lead.strong {
    font-weight: 600 !important;
}
main h2.ttl.no-border,
main .ttl.no-border.h2 {
    border-left: 0;
    padding-left: 0;
}
main h2.ttl.no-border::before,
main .ttl.no-border.h2::before {
    content: none;
}
/*
main .bg-img-blue h2.ttl,
main .bg-img-blue .ttl.h2 {
    border-color: var(--white-tp05);
}
main .bg-img-blue h2.ttl::before,
main .bg-img-blue .ttl.h2::before {
    background-color: var(--white);
    bottom: inherit;
    top: 0;
}
*/

.rounded-num {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.6em;
    height: 1.6em;
    border-radius: 50%;
    margin-bottom: 0;
    margin-right: .5em;
}
.rounded-md {
    border-radius: 0.65rem !important;
}
.rounded-10 {
    border-radius: 10px !important;
}
.rounded-20 {
    border-radius: 20px !important;
}
.ttl, .ttl-sub {
    display: block;
    letter-spacing: 0.1em;
}
.ttl {
    line-height: 1.5;
    font-weight: 600;
}
.ttl-wrap,
.ttl {
    margin-bottom: 1.65rem;
}
.ttl-wrap .ttl {
    margin-top: 0;
    margin-bottom: 0;
}
.ttl-sub {
    font-size: 1rem;
    margin-bottom: .5rem;
}
.ttl-wrap > .ttl-sub {
    padding-top: .5rem;
    margin-bottom: 0;
    font-weight: 600;
}
.ttl.ttl-rounded {
    font-size: 1.35rem;
    background-color: var(--lblue);
    color: var(--blue);
    border-radius: 1rem;
    padding: 1rem 1rem;
    margin-bottom: 1.5rem;
    text-align: center;
}
/* 
.ttl-rounded-green {
    background-color: var(--green);
    color: var(--white);
    padding: .35rem 2.5rem;
}
.ttl-rounded-lgreen {
    background-color: var(--lGreen);
    color: var(--green);
    padding: .25rem 1rem;
    display: flex;
    align-items: center;
}
.ttl-rounded-lgreen .rounded-num {
    font-size: 120%;
    background-color: var(--green);
    color: var(--white);
} */
/*

.font-min {
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
}
.font-maru {
    font-family: 'Kosugi Maru', sans-serif;;
}
*/
.bg {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}
a.btn {
    padding-left: 1rem;
    padding-right: 1rem;
}
.ttl {
    display: block;
    line-height: 1.5;
    font-weight: 500;
    margin-bottom: 1.5rem;
    color: var(--dgray);
    letter-spacing: 0.025em;
}
a .ttl {
    color: var(--lblue);
}
.ttl-wrap {
    margin-bottom: 2rem;
}
.ttl-sub {
    font-size: 1.1rem;
    margin-bottom: .5rem;
    line-height: 1.1;
}
.ttl-wrap.font-min > .ttl,
.ttl.font-min,
h1.font-min,
h2.font-min,
.h1.font-min,
.h2.font-min {
	font-weight: normal;
}
/*.list-links > li,*/
.card .ttl-wrap,
.box .ttl-wrap {
    margin-bottom: 2rem;
}
.box > p:nth-last-child(1),
.list-links > li:nth-last-child(1) {
    margin-bottom: 0;
}
.ttl-wrap .ttl {
    margin-bottom: 0;
}
.ttl-wrap.ttl-wrap-lblue {
    background-color: var(--lblue);
    color: var(--blue);
    border-radius: 1rem;
    padding: .5rem .75rem;
    margin-bottom: 1.5rem;
}

main > article,
main > * > article {
    position: relative;
    padding-top: 3rem;
    padding-bottom: 3rem;
}
main > article:nth-last-of-type(1) {
    padding-bottom: 4rem;
}
main article aside:nth-last-of-type(1) {
    padding-bottom: 0;
}
.frame {
    border: 8px solid #fff;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.20);
}
.text-shadow {
    text-shadow: 0 3px 6px rgba(0, 0, 0, 0.20);
}
.text-shadow-white {
    text-shadow: 2px 2px 4px rgba(255, 255, 255, 0.8);
}
.bg-shadow {
    box-shadow: 0px 2px 8px rgba(0, 0, 0, 0.10);
}
.box-shadow {
    position: relative;
    z-index: 0;
    height: 100%;
}
.box-shadow::after {
    content: "";
    width: 100%;
    height: 100%;
    background-color: var(--blue);
    display: block;
    position: absolute;
    right: -30px;
    bottom: -30px;
    z-index: -1;
}
figure.box-shadow {
    margin-bottom: 0;
}
.box-shadow-blue::after {
    background-color: var(--blue);
}
.box-shadow-lblue::after {
    background-color: var(--lblue);
}
.list-bn > li .card, .list-links .card {
    box-shadow: 0px 2px 8px rgba(0, 0, 0, 0.012);
}
.box {
    position: relative;
    padding: 3rem 3rem;
    background-color: rgba(255, 255, 255, 1);
    /* border-radius: 1rem; */
}
.rounded-20 {
    border-radius: 20px !important;
}
li > .box {
    height: 100%;
}
.card {
    border: 1px solid #E3E0E0;
}
.card .card-img {
    border-bottom: 1px solid #E3E0E0;
    margin-bottom: 0px;
}
.card .card-body p:last-child {
    margin-bottom: 0;
}
.mv {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}
.mv > * {
    position: relative;
    height: 100%;
}
.mv.mv-voice .row > * img {
    object-fit: cover;
    height: 100%;
    width: 100%;
}
.mv .mv-ttl-wrap {
    padding-left: 15px;
    position: absolute;
    left: 5px;
    top: 50%; 
    transform: translateY(-50%);
    z-index: 1;
}
.mv .mv-ttl {
    display: inline-block;
    background-color: var(--white);
    color: var(--blue);
    text-align: left;
    font-size: 2rem;
    transform:skewX(-20deg);
    padding: .15rem 1rem;
    margin-bottom: 0.75rem;
}
.mv .mv-ttl:nth-of-type(2) {
    top: calc(20% + 60px);
}
.mv .mv-ttl span {
    display: block;
    transform:skewX(20deg);
}
.mv.page-header {
    position: relative;
    /* height: 400px; */
}
#voiceHeader .mv.page-header {
    height: 400px;
}
.mv.page-header .ttl-wrap,
.mv.page-header .ttl {
    color: #fff;
    text-align: center;
}
.mv.page-header > *:nth-child(1) > .row {
    height: 100%;
    justify-content: center;
    align-items: center;
}
.mv .ttl-wrap {
    width: 100%;
    text-align: center;
    margin-bottom: 0;
    text-shadow: 1px 1px 10px rgb(0 0 0 / 25%);
}

/* main article > .mv, main .article > .mv {
    margin-top: -4rem;
    margin-bottom: 4rem;
} */
main article:last-child {
    padding-bottom: 60px;
}
.bg-fixed {
    background-position: 0 0;
    background-size: auto 100%;
    background-repeat: no-repeat;
    background-attachment: fixed;
}
.bg-slant {
    margin-top: 200px;
    position: relative;
    padding-top: 0;
}
.bg-slant::before {
    content: '';
    position: absolute;
    top: -150px;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: var(--lblue);
    transform: skewY(-5deg) translateY(50px);
    z-index: -1;
}
.bg-slant-blue,
.bg-slant-blue::before {
    background-color: var(--blue);
}
.bg-slant-lblue,
.bg-slant-lblue::before {
    background-color: var(--lblue);
}
.pan-list {
    background-color: var(--white);
    font-size: 0.9rem;
    line-height: 1.65;
    height: auto;
    transition: .6s;
    width: 100%;
    padding: .25rem 0;
}
/*
.mv .pan-list {
    position: absolute;
    bottom: 0;
    left: 0;
    padding: .35rem 0;
}
*/
.pan-list ul {
    margin-bottom: 0;
}
.pan-list {
    color: var(--dark);
}
.pan-list li::after {
    font-family: "Font Awesome 5 Free";
    content: "\f054";
    font-weight: bold;
    padding-left: .65em;
    font-size: 0.8rem;
}
.pan-list li:nth-last-child(1)::after {
    content: "";
}
.nav li.dropdown {}
/*== 2・3階層目の共通設定 */
/*下の階層を持っているulの指定*/
.nav li.dropdown ul {
    position: absolute;
    left: 0;
    top: 30px;
    z-index: 4;
	background-color: rgba(0,90,167,.93);
    width: 100%;
    min-width: 140px;
    visibility: hidden;
    opacity: 0;
    transition: all .3s;
}
#gNavi .nav li.dropdown ul .nav-link {
    padding: .65rem 1rem;
}
/*hoverしたら表示*/
.nav li.dropdown:hover > ul, .nav li.dropdown ul li:hover > ul, .nav li.dropdown:active > ul, .nav li.dropdown ul li:active > ul {
    visibility: visible;
    opacity: 1;
}
/*ナビゲーションaタグの形状*/
.nav li.dropdown ul li span, .nav li.dropdown ul li a {
    display: block;
    text-decoration: none;
    border-bottom: solid 1px rgba(255, 255, 255, 0.6);
    padding: 0.8rem 1rem;
    color: #fff;
}
.nav li.dropdown ul li span {
    color: rgba(255, 255, 255, 0.68);
}
.drawer-nav li li a::before,
.nav li.dropdown ul li span::before, .nav li.dropdown ul li a::before {
    content: "\f054";
    font-size: 0.6rem;
    font-weight: bold;
    padding-right: 0.8rem;
    display: inline-block;
    font-family: "Font Awesome 5 Free";
}
.nav li.dropdown ul li:last-child a {
    border-bottom: none;
}
.nav li.dropdown ul li a:hover, .nav li.dropdown ul li a:active {
    background-color: rgba(255, 255, 255, 0.3);
}
#footer {
    position: relative;
    background-color: var(--blue);
}
#footer,
#footer a {
    color: var(--white);
}
footer .nav-item .nav-link {
    padding: 0;
    margin-bottom: .75rem;
}
footer .nav-item ul  {
    padding: .25rem 0 0 .5rem;
}

ul.list-sns li > a {
    align-items: center;
    font-weight: bold;
    text-decoration: none;
}
ul.list-sns li > a > i {
    font-size: 2.5rem;
    margin-right: .5rem;
}
#subBtn .nav > .nav-item > a {
    font-weight: bold;
}
#subBtn .nav > .nav-item > a:hover {
    text-decoration: none;
    background-color: rgba(255, 255, 255, 0.25);
}
#subBtn .btn {
    font-size: 0.8rem;
    padding: 0.25rem 0.6rem;
    color: #fff;
}
#subBtn ul, #subBtn {
    margin-bottom: 0;
}
.fix-nav {
    display: block;
    position: fixed;
    z-index: 10;
}
.list-bn > li {
	margin-bottom: 2rem;
}
.list-bn > li a img {
	width: 100%;
	max-width: 620px;
}
.list-bn > li a img,
.list-links .card {
    box-shadow: 0px 2px 8px rgba(0, 0, 0, 0.10);
}
.list-links .card .link-card,
.list-links .card .link_card {
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 1;
}
.list-links .btn {
	border-radius: 0;
	display: flex;
	width: 100%;
	height: 100%;
	justify-content: center;
	text-align: center;
}
.list-links .btn i {
	align-self: center;
}
.list-links-1col .btn i {
	font-size: 1.15rem;
}
.list-links > li {
	margin-bottom: 2rem;
}
.list-links .card {
	border: 0;
	border-radius: 0;
/*	font-size: .9rem;*/
}
.list-links .card p,
.list-links .card li {
	font-size: .9rem;
    line-height: 1.85;
}
.list-links .card-body {
	padding: 15px;
}
.list-links .card-body .ttl a {
	text-decoration: none;
}
.list-links-1col .card-body {
	padding: 1.5rem;
}
.list-links figure.card-img {
	margin-bottom: 0;
	background-color: rgba(0,0,0,0.10);
	text-align: center;
}
.list-links .swiper-slide figure {
	background-color: #fff;
}
.list-links figure.card-img a {
	width: 100%;
}
#voiceHeader,
.list-voice {
    .card, figure img {
        box-shadow: none !important;
        border-radius: 0.75rem;
    }
    .card figure {
        position: relative;
        overflow: hidden;
        margin-bottom: 0;
    }
    .card figure::before {
        content: "";
        position: absolute;
        bottom: -17px;
        left: 0;
        right: 0;
        background-color: var(--white);
        transform: skewY(-5deg) translateY(50px);
        height: 80px;
    }
    .card .ttl {
        font-size: 1.85rem;
        font-weight: 300;
        text-transform: uppercase;
        margin-bottom: 0.5rem;
        text-align: left;
    }
    .card .ttl-sub {
        font-size: 1.25rem;
        margin-bottom: 1.25rem;
    }
}
.list-voice {
    .card .ttl,
    .card .ttl-sub {
        color: var(--blue);
    }
}
#voiceHeader {
    .card .ttl-sub {
        font-size: 1.25rem;
        margin-bottom: 1.25rem;
    }
    .mv .card {
        position: absolute;
        bottom: 0;
        transform: translateY(50%);
        left: 15px;
        background-color: var(--blue);
        color: var(--white);
        padding: 0 .5rem;
        border-radius: 0;
        border: none;
        z-index: 1;
        max-height: 200px;
    }
}
#voiceContent {
    padding-top: calc(3rem + 50px);
}
/* #voiceContent figure img {
    max-width: 300px;
} */

.table {
    line-height: 1.65;
}
.table th {
    vertical-align: top;
}

dl.table-company > dt,
dl.table-company > dd {
    padding: 1.5rem 1rem;
    border-top: 1px dotted #bababa;
    margin-bottom: 0;
}
dl.table-recruit > dt,
dl.table-recruit > dd {
    margin-bottom: 0;
}
dl.table-recruit > dt {
    border-bottom: 1px dotted #bababa;
    color: var(--blue);
    padding: 0.85rem 0.25rem;
}
dl.table-recruit > dd {
    padding: 0.85rem 0.25rem 2rem 0.25rem;
}

.table-form th {
    vertical-align: middle;
    font-size: 1.1rem;
}

.table-form tr:nth-last-child(1) {
    border-bottom: 1px solid var(--lGray);
}


.pagination {
    font-size: 1.1rem;
}
main .pagination a:link {
    text-decoration: none;
}

/* 背景動画のスタイル */
#topMainVideo {
    position: relative;
}
#topMainVideo.video-container {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
}
#topMainVideo .video-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity 1.3s ease; /* クロスフェード */
}
#topMainVideo .video-bg.active {
    opacity: 1;
}
#topMainVideo .top-mv-catch,
#topMainVideo .top-mv-ft-catch {
    position: absolute;
    z-index: 1;
}
#topMainVideo .top-mv-catch {
    bottom: calc(50% - 100px);
    left: 10%;
    /* transform: translateX(-50%); */
    max-width: 400px;
}
#topMainVideo .top-mv-ft-catch {
    bottom: 5%;
    right: 5%;
    /* transform: translateX(-50%); */
    max-width: 400px;
}
#topMainVideo .bg-slant {
    margin-top: 0;
    position: absolute;
    bottom: -50px;
    left: 0;
    right: 0;
    height: 0px;
    z-index: 0;
}
#topMainVideo .bg-slant::before {
    z-index: 0;
}


.table-bukken-detail > dl, dl.table-bukken-detail, .block-bukkenList-full .item-footer table {
    background-color: #fff;
    width: 100%;
    margin-bottom: 1px
}
.table-bukken-detail > dl > *, dl.table-bukken-detail > *, .table-bukken-list > * {
    margin-bottom: 0
}
dl.table-bukken-detail > dt, dl.table-bukken-list > dt, .table-bukken-detail > dl > dt, .table-bukken-list > dl > dt, dl.list-table > dt, dl.list-bukken-detail > dt, .table-bukken-detail th, .table-bukken-list th {
    background-color: var(--lGray);
    font-weight: 400
}
.table-bukken-detail > dl > dt, .table-bukken-list > dl > dt, dl.table-bukken-detail > dt, dl.table-bukken-list > dt, .table-bukken-detail th, .table-bukken-list th {
    width: auto;
    max-width: 15em
}
.page-detail .table-bukken-detail > dl > dt, .block-bukkenList-full .table-bukken-list > dl > dt, .page-detail dl.table-bukken-detail > dt, .block-bukkenList-full dl.table-bukken-list > dt, .page-detail .table-bukken-detail th, .block-bukkenList-full .table-bukken-list th {
    width: 8em;
    max-width: 8em;
    min-width: 8em
}
#bukkenSheet .table-bukken-detail > dl > dt, #bukkenSheet dl.table-bukken-detail > dt, #bukkenSheet dl.table-bukken-detail th {
    width: 10em;
    max-width: 10em;
    min-width: 10em;
    white-space: normal
}
.table-bukken-detail > dl > *, .table-bukken-list > dl > *, dl.table-bukken-detail > *, dl.table-bukken-list > *, .table-bukken-detail th, .table-bukken-detail td, .table-bukken-list th, .table-bukken-list td {
    padding: 0.75rem
}
.block-bukkenList-full .table-bukken-detail > dl > *, .block-bukkenList-full .table-bukken-list > dl > *, .block-bukkenList-full dl.table-bukken-detail > *, .block-bukkenList-full dl.table-bukken-list > *, .block-bukkenList-full .table-bukken-detail th, .block-bukkenList-full .table-bukken-detail td, .block-bukkenList-full .table-bukken-list th, .block-bukkenList-full .table-bukken-list td {
    padding: .3rem .5rem
}
.block-bukkenList-full .table-bukken-detail > dl > dt, .block-bukkenList-full .table-bukken-list > dl > dt, .block-bukkenList-full dl.table-bukken-detail > dt, .block-bukkenList-full dl.table-bukken-list > dt, .block-bukkenList-full .table-bukken-detail th, .block-bukkenList-full .table-bukken-list th {
    padding-right: 0;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex
}
.list-table > dl > *, .list-bukken-detail > dl > *, dl.list-table > *, dl.list-bukken-detail > * {
    padding: 1.25rem ;
    margin-bottom: 1px
}
.table-bukken-detail > dl, .table-bukken-list > dl, dl.table-bukken-detail, dl.table-bukken-list, dl.list-bukken-detail > *, .table-bukken-detail tr, .table-bukken-list tr {
    border-bottom: 1px dotted #bababa
}
.table-bukken-detail dl:after, dl.table-bukken-detail:after, .table-bukken-detail tr:after {
    content: '';
    height: 1px;
    border-bottom: 1px dotted #fff
}
.table-wrap .list-bukken-detail > dl:nth-last-of-type(1) > *:nth-last-of-type(1), .table-wrap dl.list-bukken-detail:nth-last-of-type(1) > *:nth-last-of-type(1), form dl.list-bukken-detail:nth-last-of-type(1) > dt:nth-last-of-type(1), form dl.list-bukken-detail:nth-last-of-type(1) > dd:nth-last-of-type(1) {
    border-bottom: 0
}
.list-bukken-detail > dl > dt .badge, dl.list-bukken-detail > dt .badge {
    vertical-align: text-bottom;
    border-radius: 3px;
    margin: 0 0.5rem;
    background-color: var(--blue);
    color: #fff;
    font-weight: 400;
    padding: 0.20rem 0.75rem;
    /* float: left; */
}
.list-bukken-detail .reserve-type {
    flex-basis: auto
}
/* list-flow */
.list-flow {
    list-style: none;
    counter-reset: flow-counter;
    padding-left: 0;
}
.list-flow > li {
    margin-bottom: 2rem;
}
.list-flow > li:last-child {
    margin-bottom: 0;
}
.list-flow .num {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    background-color: var(--blue);
    color: #fff;
    font-size: 1.5rem;
    font-weight: bold;
    margin-bottom: 0;
}
.list-flow .num-none {
    background-color: transparent !important;
    color: transparent !important;
}
.list-flow .ttl-wrap {
    /* margin-bottom: 1rem;
    background-color: var(--lblue);
    border-radius: 1.5rem;
    padding: .5rem .75rem; */
}
.list-flow .ttl {
    font-size: 1.35rem;
    font-weight: 600;
    align-items: center;
    padding: .5rem 1rem;
    color: var(--blue);
}
.list-flow .desc {
    line-height: 1.85;
    font-size: .95rem;
    padding-left: 4.5rem;
    padding-bottom: .25rem;
}


